(57)【要約】      （修正有）【課題】デジタル画像のブロックを処理するためのシステムおよび方法を提供する。【解決手段】フレームまたはその一部の中のブロックを符号化するための変換係数のセットを生成するための装置であって、フレームまたはその一部を受信するように適合されているデータインターフェースに結合されているメディアエンコーダを備える。メディアエンコーダは、ブロックとしてのサイズおよび形状を有する多次元空間内の複数の異なる回転対称を定義する複数の回転対称マスクからブロックに対する回転対称マスクを選択し、ブロックを回転対称マスクに基づき2つの相補的部分に分割し、2つの相補的部分のうちの1つを各々有する一対の回転対称ブロックを生成し、回転対称ブロックの対の少なくとも1つのメンバーに対する少なくとも1つの変換係数を計算するように適合される。【選択図】図１
2019134457.tif 000002
【特許請求の範囲】
【請求項１】
フレームまたはその一部の中のブロックを符号化するための変換係数のセットを生成するように適合されている装置であって、
フレームまたはその一部を受信するように適合されているデータインターフェースに結合されているメディアエンコーダを備え、前記メディアエンコーダは、
前記ブロックとしてのサイズおよび形状を有する多次元空間内の複数の異なる回転対称を定義する複数の回転対称マスクから前記ブロックに対する回転対称マスクを選択し、
前記ブロックを前記回転対称マスクに基づき2つの相補的部分に分割し、
前記2つの相補的部分のうちの1つを各々有する一対の回転対称ブロックを生成し、
回転対称ブロックの前記対の少なくとも1つのメンバーに対する少なくとも1つの変換係数を計算するように適合される装置。
【請求項２】
前記メディアエンコーダは、前記2つの相補的部分のうちの一方および前記ブロックのサイズおよび形状を形成するように追加された前記それぞれの部分の2次元(2D)鏡像によって回転対称ブロックの前記対の各メンバーを生成するように適合される請求項1に記載の装置。
【請求項３】
前記複数の回転対称マスクは、回転対称マスクライブラリ内にあり、前記メディアエンコーダは、前記ブロックのサイズおよび形状のうちの少なくとも一方に基づき複数の回転対称マスクライブラリから前記回転対称マスクライブラリを選択するように適合される請求項1または2に記載の装置。
【請求項４】
前記メディアエンコーダは、前記ブロックに対する圧縮プリファレンスに基づき複数の回転対称マスクライブラリから前記回転対称マスクライブラリを選択するように適合される請求項3に記載の装置。
【請求項５】
前記メディアエンコーダは、前記フレームまたはその一部を含むビデオデータの分類に基づき複数の回転対称マスクライブラリから前記回転対称マスクライブラリを選択するように適合される請求項3または4に記載の装置。
【請求項６】
前記多次元空間は、2次元空間であり、前記複数の異なる回転対称マスクは複数の行列を備え、各々前記2次元空間の対向するエッジを結ぶ異なる線を定義して、前記2次元空間を2つの相補的部分に分割する請求項3から5のいずれか一項に記載の装置。
【請求項７】
前記メディアエンコーダは、前記ブロックの前記2つの相補的部分のうちの少なくとも一方に適合されている少なくとも1つの空間的予測因子を使用して前記少なくとも1つの変換係数を符号化するように適合される請求項1から6のいずれか一項に記載の装置。
【請求項８】
前記メディアエンコーダは、前記ブロックの前記2つの相補的部分のうちの少なくとも一方に適合されている少なくとも1つの時間的予測因子を使用して前記少なくとも1つの変換係数を符号化するように適合される請求項1から7のいずれか一項に記載の装置。
【請求項９】
前記メディアエンコーダは、前記2つの相補的部分のうちのそれぞれの1つに関係する空間的予測因子を使用して回転対称ブロックの前記対の各々の前記変換係数のうちの少なくとも1つを符号化するように適合される請求項1から8のいずれか一項に記載の装置。
【請求項１０】
前記メディアエンコーダは、前記2つの相補的部分のうちのそれぞれの1つに関係する運動ベクトルを使用して回転対称ブロックの前記対の各々の前記変換係数のうちの少なくとも1つを符号化するように適合される請求項1から9のいずれか一項に記載の装置。
【請求項１１】
前記メディアエンコーダは、変換プロセスの結果、および/または前記2つの回転対称ブロックのうちの少なくとも一方に適用される変換プロセスの結果の推定に基づき前記回転対称マスクを選択するように適合される請求項1から10のいずれか一項に記載の装置。
【請求項１２】
前記メディアエンコーダは、回転対称ブロックの前記対の少なくとも1つのメンバーに対する前記少なくとも1つの変換係数に適用される量子化プロセスおよび符号化プロセスのうちの少なくとも一方の結果および/または結果の推定に基づき前記回転対称マスクを選択するように適合される請求項1から11のいずれか一項に記載の装置。
【請求項１３】
前記メディアエンコーダは、前記ブロック内のピクセル値のパターンに従って前記回転対称マスクを選択するように適合される請求項1から12のいずれか一項に記載の装置。
【請求項１４】
前記メディアエンコーダは、前記ブロックの空間的隣接ブロックおよび前記ブロックの時間的隣接ブロックのうちの少なくとも1つから抽出されたコンテンツに基づき前記回転対称マスクを選択するように適合される請求項1から13のいずれか一項に記載の装置。
【請求項１５】
前記メディアエンコーダは回転対称マスクを選択するように適合され、前記ブロックの空間的隣接ブロックおよび前記ブロックの時間的隣接ブロックのうちの少なくとも1つに関連付けられている情報に基づき実行される請求項1から14のいずれか一項に記載の装置。
【請求項１６】
空間的および時間的隣接ブロックからなる群の少なくとも1つに関連付けられている前記情報は、予測に関係する請求項15に記載の装置。
【請求項１７】
前記メディアエンコーダは回転対称マスクを選択するように適合され、前記ブロックに対する圧縮プリファレンスに基づき実行される請求項1から16のいずれか一項に記載の装置。
【請求項１８】
前記回転対称マスクは、矩形の対向するエッジを結ぶ線を定義して、矩形ブロックを2つの2D鏡像相補的部分に分割するように適合されている請求項1から17のいずれか一項に記載の装置。
【請求項１９】
前記データインターフェースは、回転対称ブロックの対の少なくとも1つのメンバーを表す少なくとも1つの変換係数と、関連付けられている選択された回転対称マスクを表す信号であって、前記回転対称マスクは、フレームまたはその一部のブロックとしてのサイズおよび形状を有する多次元空間内の回転対称を定義する、信号とを受信するようにさらに適合され、
前記メディアエンコーダは、
前記受信された少なくとも1つの変換係数の逆変換に基づき回転対称ブロックの前記対を計算することであって、回転対称ブロックの前記対の各メンバーは2つの相補的部分のうちの一方を有する、計算することと、
前記回転対称マスクに基づき、前記2つの相補的部分からブロックを再構成することとを行うようにさらに適合される請求項1から18のいずれか一項に記載の装置。
【請求項２０】
フレームまたはその一部におけるブロックの変換係数のセットを生成するための方法であって、
前記ブロックとしてのサイズおよび形状を有する多次元空間内の複数の異なる回転対称を定義する複数の異なる回転対称マスクを含む回転対称マスクライブラリから回転対称マスクを選択するステップと、
前記ブロックを前記回転対称マスクに基づき2つの相補的部分に分割するステップと、
前記2つの相補的部分のうちの1つを各々有する一対の回転対称ブロックを生成するステップと、
回転対称ブロックの前記対の各メンバーに対する少なくとも1つの変換係数を計算するステップとを含み、
前記方法は、請求項1から19のいずれか一項に記載の装置を動作させるように特に適合される方法。
【請求項２１】
フレームまたはその一部のブロックを復号するように適合されている装置であって、
回転対称ブロックの対の少なくとも1つのメンバーを表す少なくとも1つの変換係数と、関連付けられている選択された回転対称マスクを表す信号であって、前記回転対称マスクはフレームまたはその一部のブロックとしてのサイズおよび形状を有する多次元空間内の回転対称を定義する、信号とを受信するように適合されているデータインターフェースに結合されたメディアデコーダを備え、前記メディアデコーダは、
前記受信された少なくとも1つの変換係数の逆変換に基づき回転対称ブロックの前記対を計算することであって、回転対称ブロックの前記対の各メンバーは2つの相補的部分のうちの一方を有する、計算することと、
前記回転対称マスクに基づき、前記2つの相補的部分からブロックを再構成することとを行うように適合され、
前記装置は、請求項1から19のいずれか一項に記載の装置によって符号化されたフレームまたはその一部のブロックを復号するように特に適合されている装置。
【請求項２２】
フレームまたはその一部のブロックを再構成するための方法であって、
一対の回転対称ブロックの少なくとも1つのメンバーを表す少なくとも1つの変換係数と、関連付けられている選択された回転対称マスクを表す信号であって、前記回転対称マスクはフレームまたはその一部のブロックとしてのサイズおよび形状を有する多次元空間内の回転対称を定義する、信号とを受信するステップと、
前記受信された少なくとも1つの変換係数の逆変換に基づき回転対称ブロックの前記対を計算するステップであって、回転対称ブロックの前記対の各メンバーは2つの相補的部分のうちの一方を有する、ステップと、
前記回転対称マスクに基づき、前記2つの相補的部分からブロックを再構成するステップとを含み、
前記方法は、請求項21に記載の装置を動作させるように特に適合される方法。
【請求項２３】
コンピュータ上で実行されたときに請求項20または22に記載の方法を実行するように構成されているコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、そのいくつかの実施形態において、デジタル画像および/またはビデオ圧縮のためのシステムおよび方法に関し、より詳細には、限定はしないが、デジタル画像のブロックを処理する変換係数のセットを生成するためのシステムおよび方法に関する。
【背景技術】
【０００２】
デジタルカメラおよびデジタルビデオによって取得された静止画像などの、デジタル画像は、非圧縮方式で記憶され、フルデータセットで表されるときには、著しいメモリリソースを必要とする。デジタル画像および/またはビデオを表すフルデータセットを伝送する場合には、通信帯域幅などの、かなり大きいネットワークリソースが必要になる。ビデオは、単一のビデオでも数千もの個別フレームを含み得るので、特に問題になる。画像毎にフルデータセットを保存および/または伝送することは、多くの場合において可能でないか、または可能であるとしても、処理およびネットワークリソースを圧倒する可能性がある。
【０００３】
さらに、両方のカメラ(スチルカメラおよびビデオカメラ)および表示画面における画質および解像度の向上とともに、画像毎に生成されるデータの量は、増加する一方である。ビデオの伝送に頼るモバイルデバイス(たとえば、スマートフォンおよびタブレットコンピュータ)を実行しているビデオベースのアプリケーションは、大量のネットワークトラフィックを発生するが、これは特にワイヤレスネットワークの場合に問題になる。
【０００４】
画像およびビデオデータのサイズを縮小し、それによって必要なストレージリソース(storage resource)およびネットワークリソースを低減することを目的として、静止デジタル画像およびデジタルビデオの圧縮のためのさまざまなソリューションが開発されてきた。
【０００５】
たとえば、Sullivanら、「Overview of the High Efficiency Video Coding (HEVC) Standard」IEEE Transactions on Circuits and Systems for Video Technology  第22巻、第12号、2012年12月において、「高効率ビデオコーディング(HEVC)は、現在、ITU-Tビデオ符号化専門家グループおよびISO/IEC動画像符号化専門家グループの最新ビデオ符号化標準として準備されている。HEVC標準化作業の主目標は、既存の標準に関して大幅に改善された-等しい知覚ビデオ画質に対して50%のビットレート削減の範囲内の-圧縮性能を使用可能にすることである。」と説明している。
【発明の概要】
【課題を解決するための手段】
【０００６】
本発明の目的は、改善されたビデオ圧縮技術を実現することである。
【０００７】
この目的は、独立請求項において提示されているソリューションによって達成される。有利な実装形態は、それぞれの従属請求項でさらに定義される。
【０００８】
第1の態様によれば、フレームまたはその一部の中のブロックを符号化するための変換係数のセットを生成するように適合されている装置は、フレームまたはその一部を受信するように適合されているデータインターフェースに結合されているメディアエンコーダを備え、メディアエンコーダは、ブロックとしてのサイズおよび形状を有する多次元空間内の複数の異なる回転対称を定義する複数の回転対称マスクからブロックに対する回転対称マスクを選択し、ブロックを回転対称マスクに基づき2つの相補的部分に分割し、2つの相補的部分のうちの1つを各々有する一対の回転対称ブロックを生成し、回転対称ブロックの対の少なくとも1つのメンバーに対する少なくとも1つの変換係数を計算するように適合される。
【０００９】
第2の態様によれば、フレームまたはその一部におけるブロックの変換係数のセットを生成するための方法は、ブロックとしてのサイズおよび形状を有する多次元空間内の複数の異なる回転対称を定義する複数の異なる回転対称マスクを含む回転対称マスクライブラリから回転対称マスクを選択するステップと、ブロックを回転対称マスクに基づき2つの相補的部分に分割するステップと、2つの相補的部分のうちの1つを各々有する一対の回転対称ブロックを生成するステップと、回転対称ブロックの対の各メンバーに対する少なくとも1つの変換係数を計算するステップとを含む。この方法は、第1の態様により装置を動作させるように構成され得る。
【００１０】
第3の態様によれば、フレームまたはその一部のブロックを復号するように適合されている装置は、回転対称ブロックの対の少なくとも1つのメンバーを表す少なくとも1つの変換係数と、関連付けられている選択された回転対称マスクを表す信号であって、回転対称マスクはフレームまたはその一部のブロックとしてのサイズおよび形状を有する多次元空間内の回転対称を定義する、信号とを受信するように適合されているデータインターフェースに結合されたメディアデコーダを備え、メディアデコーダは、受信された少なくとも1つの変換係数の逆変換に基づき回転対称ブロックの対を計算することであって、回転対称ブロックの対の各メンバーは2つの相補的部分のうちの一方を有する、計算することと、回転対称マスクに基づき2つの相補的部分からブロックを再構成することとを行うように適合される。第3の態様による装置は、第1の態様による装置によって符号化されたフレームまたはその一部のブロックを復号するように適合され得る。
【００１１】
第4の態様によれば、フレームまたはその一部のブロックを再構成するための方法は、一対の回転対称ブロックの少なくとも1つのメンバーを表す少なくとも1つの変換係数と、関連付けられている選択された回転対称マスクを表す信号であって、回転対称マスクはフレームまたはその一部のブロックとしてのサイズおよび形状を有する多次元空間内の回転対称を定義する、信号とを受信するステップと、受信された少なくとも1つの変換係数の逆変換に基づき回転対称ブロックの対を計算するステップであって、回転対称ブロックの対の各メンバーは2つの相補的部分のうちの一方を有する、ステップと、回転対称マスクに基づき2つの相補的部分からブロックを再構成するステップとを含む。第4の態様による方法は、第3の態様により装置を動作させるように適合され得る。
【００１２】
第5の態様によれば、コンピュータプログラムは、コンピュータ上で実行されたときに1つの第1から第4の態様による方法を実行するように構成されている。コンピュータプログラムは、フレームまたはその一部の中のブロックを符号化するためにメディアエンコーダで使用するように構成されるものとしてよく、プログラムコードは、ブロックとしてのサイズおよび形状を有する多次元空間内の複数の異なる回転対称を定義する複数の異なる回転対称マスクを含む回転対称マスクライブラリから回転対称マスクを選択するための命令と、ブロックを回転対称マスクに基づき2つの相補的部分に分割するための命令と、2つの相補的部分のうちの1つを各々有する一対の回転対称ブロックを生成するための命令と、回転対称ブロックの対の各メンバーに対する少なくとも1つの変換係数を計算するための命令とを含む。
【００１３】
明確にするために、符号化装置、符号化方法、および/または符号化コンピュータプログラム製品の詳細について、ここで説明する。各説明されている符号化機能および/または構造について、対応する復号機能および/または構造が暗示されている。簡潔にし、明確にするために、説明されている符号化機能および/または構造要素に対応する復号機能および/または構造要素の言い回しは省略されている。明確にするために、メディアエンコーダという用語は、方法およびコンピュータプログラム製品も指している。たとえば、ザメディアエンコーダという語句は方法がさらに含む適合されたオルソー手段であり、コンピュータプログラム製品はそのための命令をさらに含む。
【００１４】
すべての態様は、画像および/またはビデオの圧縮のために効率を改善し、および/またはリソース要求条件(たとえば、メモリおよび/またはプロセッサ)を低減することによってシステム性能を改善する。
【００１５】
第1の態様による装置の第1の可能な実装において、メディアエンコーダは、2つの相補的部分のうちの一方およびブロックのサイズおよび形状を形成するように追加されたそれぞれの部分の2次元(2D)鏡像によって回転対称ブロックの対の各メンバーを生成するように適合される。
【００１６】
そのようなものとしての第1の態様による、または第1の実装形態による、装置の第2の可能な実装形態において、複数の回転対称マスクは、回転対称マスクライブラリ内にあり、メディアエンコーダは、ブロックのサイズおよび形状のうちの少なくとも一方に基づき複数の回転対称マスクライブラリから回転対称マスクライブラリを選択するように適合される。
【００１７】
ステップ毎選択は、各ステップにおける選択に対してセットのサイズを縮小することによって探索範囲を絞り込み、選択のためのリソースおよび/または計算を節減することができる。候補マスクのより大きいセットからではなくライブラリ(またはマスクサブセット)からマスクを選択することで、デコーダに選択されたマスクをシグナリングし、および/または計算複雑度および/またはメモリリソースおよび/またはプロセッサリソースを低減するために使用される符号化されるビットの数を減らす。
【００１８】
そのようなものとしての第1の態様による、または前記実装形態のいずれかによる、装置の第3の可能な実装形態において、メディアエンコーダは、ブロックに対する圧縮プリファレンスに基づき複数の回転対称マスクライブラリから回転対称マスクライブラリを選択するように適合される。
【００１９】
圧縮プリファレンスは、圧縮パラメータがいくつかのトレードオフ、たとえば、画質の低下と引き換えにサイズを縮小することを伴うときにマスク選択を助けることができる。推定複雑度尺度がより低いマスクは、必要とするリソース(たとえば、プロセッサおよび/またはメモリ)がより少ないと推定される。
【００２０】
そのようなものとしての第1の態様による、または前記実装形態のいずれかによる、装置の第4の可能な実装形態において、圧縮プリファレンスは、圧縮複雑度プリファレンス、圧縮品質プリファレンス、および圧縮サイズプリファレンスからなる群から選択される。
【００２１】
そのようなものとしての第1の態様による、または前記実装形態のいずれかによる、装置の第5の可能な実装形態において、メディアエンコーダは、フレームまたはその一部からなるビデオデータを前処理することによって回転対称マスクライブラリを自動的に生成し、圧縮複雑度プリファレンス、圧縮サイズプリファレンス、および圧縮品質プリファレンスの前処理の結果のうちの少なくとも1つにより異なる回転対称マスクのリポジトリから複数の異なる回転対称マスクを選択するように適合される。
【００２２】
生成されたライブラリ内のマスクの数は、可能なすべての順列を生成する場合よりも小さいものとしてよいが、それは圧縮基準を満たすマスクのみが含まれるからである。
【００２３】
ビデオデータの前処理は、エンコーダの性能を改善し得る。リソースを大量に消費する計算は、圧縮のときではなく、事前に実行され得る。マスク選択のための基準として使用されるデータは、圧縮プロセスにおいてマスク選択計算を実行する代わりに、ブロック圧縮プロセスにおいてより高速なマスク選択を可能にするように、すぐに使えるようになっているものとしてよい。
【００２４】
そのようなものとしての第1の態様による、または前記実装形態のいずれかによる、装置の第6の可能な実装形態において、メディアエンコーダは、ブロック圧縮複雑度、ブロック圧縮サイズ、およびブロック圧縮品質に対するプリファレンスからなる群のメンバーに従って回転対称マスクライブラリを自動的に生成するように適合される。
【００２５】
そのようなものとしての第1の態様による、または前記実装形態のいずれかによる、装置の第7の可能な実装形態において、メディアエンコーダは、フレームまたはその一部を含むビデオデータの分類に基づき複数の回転対称マスクライブラリから回転対称マスクライブラリを選択するように適合される。
【００２６】
事前分類されたビデオデータは、システム性能を改善するが、それは、マスクが、より効率的に、および/または分類に基づきより少ないリソースを使用して選択され得るからである。
【００２７】
第1の態様による、または前記実装形態のいずれかによる、装置の第8の可能な実装形態において、多次元空間は、2次元空間であり、複数の異なる回転対称マスクは複数の行列を備え、2次元空間の対向するエッジを結ぶ異なる線を各々定義し、2次元空間を2つの相補的部分に分割する。
【００２８】
回転対称マスクは、多次元空間および/またはデータを分割するように適合されるものとしてよく、これは、多次元空間に基づく異なる画像および/またはビデオ標準により本明細書おいて説明されているシステムおよび/または方法の統合をもたらす。
【００２９】
そのようなものとしての第1の態様による、または前記実装形態のいずれかによる、装置の第9の可能な実装形態において、複数の異なる回転対称マスクの各々は、2次元空間のエッジに関するそれぞれの線の角度に従って階層配置構成でマップされ、メディアエンコーダは、階層配置構成に従って定義されている順序で複数の異なる回転対称マスクのうちの少なくともいくつかの繰り返しマスク選択で回転対称マスクを選択するように適合されている。
【００３０】
階層配置構成は、最良のマスクを識別するための処理時間および/またはリソースを減らすことができる。
【００３１】
そのようなものとしての第1の態様による、または前記実装形態のいずれかによる、装置の第10の可能な実装形態において、複数の異なる回転対称マスクは、ブロックとしてのサイズおよび形状を有する矩形のマスクである。
【００３２】
矩形ブロックを処理することで、本明細書で説明されているシステムおよび/または方法とフレーム(またはその部分領域)をパーティションに区切って矩形ブロックにすることを可能にする標準との互換性が改善される。
【００３３】
そのようなものとしての第1の態様による、または前記実装形態のいずれかによる、装置の第11の可能な実装形態において、メディアエンコーダは、ブロックの2つの相補的部分のうちの少なくとも一方に適合されている少なくとも1つの空間的予測因子を使用して少なくとも1つの変換係数を符号化するように適合される。
【００３４】
予測因子に基づく符号化は、システム効率を改善し、および/またはより少ないリソースを利用する。
【００３５】
そのようなものとしての第1の態様による、または前記実装形態のいずれかによる、装置の第12の可能な実装形態において、メディアエンコーダは、ブロックの2つの相補的部分のうちの少なくとも一方に適合されている少なくとも1つの時間的予測因子を使用して少なくとも1つの変換係数を符号化するように適合される。
【００３６】
そのようなものとしての第1の態様による、または前記実装形態のいずれかによる、装置の第13の可能な実装形態において、メディアエンコーダは、2つの相補的部分のうちのそれぞれの1つに関係する空間的予測因子を使用して回転対称ブロックの対の各々の変換係数のうちの少なくとも1つを符号化するように適合される。
【００３７】
そのようなものとしての第1の態様による、または前記実装形態のいずれかによる、装置の第14の可能な実装形態において、メディアエンコーダは、2つの相補的部分のうちのそれぞれの1つに関係する運動ベクトルを使用して回転対称ブロックの対の各々の変換係数のうちの少なくとも1つを符号化するように適合される。
【００３８】
そのようなものとしての第1の態様による、または前記実装形態のいずれかによる、装置の第15の可能な実装形態において、メディアエンコーダは、回転対称マスクに適合されたエントロピーコンテキストモデルを使用して少なくとも1つの変換係数を符号化するように適合される。
【００３９】
そのようなものとしての第1の態様による、または前記実装形態のいずれかによる、装置の第16の可能な実装形態において、メディアエンコーダは、変換プロセスの結果、および/または2つの回転対称ブロックのうちの少なくとも一方に適用される変換プロセスの結果の推定に基づき回転対称マスクを選択するように適合される。
【００４０】
結果および/または推定される結果に基づくマスク選択は、システム効率を改善し、および/またはより少ないリソースを利用する。
【００４１】
第1の態様による、または前記実装形態のいずれかによる、装置の第17の可能な実装形態において、メディアエンコーダは、回転対称ブロックの対の少なくとも1つのメンバーに対する少なくとも1つの変換係数に適用される量子化プロセスおよび符号化プロセスのうちの少なくとも一方の結果および/または結果の推定に基づき回転対称マスクを選択するように適合される。
【００４２】
そのようなものとしての第1の態様による、または前記実装形態のいずれかによる、装置の第18の可能な実装形態において、複数の異なる回転対称マスクの各1つは、複数のマスクのうちの特定のそれぞれのマスクがそのサイズおよび形状を有する例示的なブロックに適用されるときに送信されるビットの数を示す推定速度尺度に関連付けられる。
【００４３】
速度尺度は、各マスクとともに記憶されるものとしてよく、推定速度尺度値に基づきマスクの素早い選択を可能にする。速度尺度は、実行時に再計算される代わりに、マスク毎に予め計算されてよく、それによって、選択に必要な計算を減らす。
【００４４】
そのようなものとしての第1の態様による、または前記実装形態のいずれかによる、装置の第19の可能な実装形態において、複数の異なる回転対称マスクの各1つは、複数のマスクのうちの特定のそれぞれのマスクをそのサイズおよび形状を有する例示的なブロックに適用する計算複雑度を示す推定複雑度尺度に関連付けられる。
【００４５】
推定される複雑度尺度に基づくマスク選択は、システム効率を改善し、および/またはより少ないリソースを利用する。
【００４６】
そのようなものとしての第1の態様による、または前記実装形態のいずれかによる、装置の第20の可能な実装形態において、複数の異なる回転対称マスクの各1つは、複数のマスクのうちの特定のそれぞれのマスクをそのサイズおよび形状を有する例示的なブロックに適用することから生じる圧縮アーチファクトを示す推定歪み尺度に関連付けられる。
【００４７】
推定歪み尺度がより低いマスクは、ターゲットの圧縮アーチファクトを達成しながら必要とするリソース(たとえば、プロセッサおよび/またはメモリ)がより少ないと推定される。
【００４８】
そのようなものとしての第1の態様による、または前記実装形態のいずれかによる、装置の第21の可能な実装形態において、メディアエンコーダは、ブロック内のピクセル値のパターンに従って回転対称マスクを選択するように適合される。
【００４９】
ピクセル値のパターンに基づく選択は、各それぞれの部分内のピクセルが互いに類似する、たとえば、類似する強度および/または色を有する2つの相補的部分を生み出す。
【００５０】
そのようなものとしての第1の態様による、または前記実装形態のいずれかによる、装置の第22の可能な実装形態において、メディアエンコーダは、複数の異なる回転対称マスクのうちの少なくともいくつかを適用した結果をログにとるトレーニングセットの分析によって生成された統計的分類子に基づき回転対称マスクを選択するように適合される。
【００５１】
統計的分類子は、複数の異なる所望の結果を含む結果の予測に基づきマスクの選択を改善し得る。
【００５２】
そのようなものとしての第1の態様による、または第1のものの前記実装形態のいずれかによる、装置の第23の可能な実装形態において、メディアエンコーダは、ブロックの空間的隣接ブロックおよびブロックの時間的隣接ブロックのうちの少なくとも1つから抽出されたコンテンツに基づき回転対称マスクを選択するように適合される。
【００５３】
適宜、近傍は、すでに処理されているブロックを含む。以前に処理されたブロックは、現在処理されているブロックに対するマスクの選択のための予測因子として使用され得る。
【００５４】
そのようなものとしての第1の態様による、または前記実装形態のいずれかによる、装置の第24の可能な実装形態において、抽出されるコンテンツは、空間的および時間的隣接ブロックのうちの少なくとも1つの中のピクセル値のパターンに従う。
【００５５】
予測因子として使用される類似のピクセルパターンを含む隣接ブロックは、システム性能を改善し、および/またはより少ないリソースを必要とする。
【００５６】
そのようなものとしての第1の態様による、または前記実装形態のいずれかによる、装置の第25の可能な実装形態において、メディアエンコーダは回転対称マスクを選択するように適合され、ブロックの空間的隣接ブロックおよびブロックの時間的隣接ブロックのうちの少なくとも1つに関連付けられている情報に基づき実行される。
【００５７】
そのようなものとしての第1の態様による、または前記実装形態のいずれかによる、装置の第26の可能な実装形態において、空間的および時間的隣接ブロックからなる群の少なくとも1つに関連付けられている情報は、予測に関係する。
【００５８】
そのようなものとしての第1の態様による、または前記実装形態のいずれかによる、装置の第27の可能な実装形態において、メディアエンコーダは回転対称マスクを選択するように適合され、ブロックに対する圧縮プリファレンスに基づき実行される。
【００５９】
そのようなものとしての第1の態様による、または前記実装形態のいずれかによる、装置の第28の可能な実装形態において、圧縮プリファレンスは、圧縮複雑度プリファレンス、圧縮品質プリファレンス、および圧縮サイズプリファレンスからなる群から選択される。
【００６０】
そのようなものとしての第1の態様による、または前記実装形態のいずれかによる、装置の第29の可能な実装形態において、回転対称ブロックの対の各メンバーは、主対角線の周りで2D鏡像になっている値を有する行列によって表される。
【００６１】
そのようなものとしての第1の態様による、または前記実装形態のいずれかによる、装置の第30の可能な実装形態において、回転対称マスクは、矩形の対向するエッジを結ぶ線を定義して、矩形のブロックを2つの2D鏡像相補的部分に分割するように適合されている。
【００６２】
鏡像特性は、ブロックの効率的な圧縮を実現する。
【００６３】
そのようなものとしての第1の態様による、または前記実装形態のいずれかによる、装置の第31の可能な実装形態において、矩形の対向するエッジを結ぶ複数の線が、回転対称マスクライブラリを形成するように適合される。
【００６４】
そのようなものとしての第1の態様による、または前記実装形態のいずれかによる、装置の第32の可能な実装形態において、データインターフェースは、回転対称ブロックの対の少なくとも1つのメンバーを表す少なくとも1つの変換係数と、関連付けられている選択された回転対称マスクを表す信号であって、回転対称マスクはフレームまたはその一部のブロックとしてのサイズおよび形状を有する多次元空間内の回転対称を定義する、信号とを受信するようにさらに適合され、メディアエンコーダは、受信された少なくとも1つの変換係数の逆変換に基づき回転対称ブロックの対を計算することであって、回転対称ブロックの対の各メンバーは2つの相補的部分のうちの一方を有する、計算することと、回転対称マスクに基づき2つの相補的部分からブロックを再構成することとを行うようにさらに適合される。
【００６５】
断りのない限り、本明細書で使用されるすべての技術および/または科学用語は、本発明が関係している技術分野の当業者に通常理解される意味と同じ意味を有する。本明細書で説明されているものと類似のまたは同等の多数の方法および材料が本発明の実施形態を実施または試験する際に使用され得るけれども、例示的な方法および/または材料について以下で説明される。食い違いがある場合、本特許明細書が、定義も含めて、優先する。それに加えて、材料、方法、および実施例は、例示にすぎず、必ず制限するものであることを意図されていない。
【００６６】
本発明のいくつかの実施形態は、例にすぎないが、添付図面を参照しつつ、本明細書において説明される。次に、図面を詳細に特に参照しつつ、図示されている詳細は例示的であり、また本発明の実施形態の例示的な説明を目的としていることに留意されたい。この点に関して、図面に伴う説明は、本発明の実施形態が実施され得る仕方を当業者に対して明確にするものである。
【図面の簡単な説明】
【００６７】
【図１】本発明のいくつかの実施形態による、フレーム内のブロックを符号化し、および/または処理するための変換係数のセットを生成するための方法のフローチャートである。
【図２】本発明のいくつかの実施形態による、フレーム内のブロックを符号化し、および/または処理するための変換係数のセットを生成するように適合されているメディアエンコーダの変換部分のブロック図である。
【図３】本発明のいくつかの実施形態による、単純な回転対称マスクのいくつかの例を示す概略図である。
【図４】本発明のいくつかの実施形態による、ブロックに対する回転対称マスクの選択を示す概略図である。
【図５Ａ】本発明のいくつかの実施形態による、回転対称マスクを定義するためのピクセル2D鏡像を示す概略図である。
【図５Ｂ】本発明のいくつかの実施形態による、回転対称マスクを定義するためのピクセル2D鏡像を示す概略図である。
【図５Ｃ】本発明のいくつかの実施形態による、回転対称マスクを定義するためのピクセル2D鏡像を示す概略図である。
【図６Ａ】本発明のいくつかの実施形態による、回転対称マスクライブラリのいくつかの例を示す図である。
【図６Ｂ】本発明のいくつかの実施形態による、回転対称マスクライブラリのいくつかの例を示す図である。
【図６Ｃ】本発明のいくつかの実施形態による、回転対称マスクライブラリのいくつかの例を示す図である。
【図７】本発明のいくつかの実施形態による、回転対称マスクの階層配置構成をグラフで示す概略図である。
【図８】本発明のいくつかの実施形態による、回転対称マスクの生成および/または表現を示す概略図である。
【図９】本発明のいくつかの実施形態による、ブロックを分割するために回転対称マスクを選択するためのコンピュータを用いた基準および/または方法のリストである。
【図１０】本発明のいくつかの実施形態による、図1および/または図2に基づく係数エンコーダ/デコーダを組み込んでいる画像データ圧縮および復元のための例示的なシステムのブロック図である。
【図１１】本発明のいくつかの実施形態による、フレーム内のブロックを符号化する変換係数のセットを復号するための方法のフローチャートである。
【図１２Ａ】本明細書で説明されている方法および/またはシステムを実行した実験的結果の画像およびグラフを含む図である。
【図１２Ｂ】本明細書で説明されている方法および/またはシステムを実行した実験的結果の画像およびグラフを含む図である。
【図１２Ｃ】本明細書で説明されている方法および/またはシステムを実行した実験的結果の画像およびグラフを含む図である。
【図１２Ｄ】本明細書で説明されている方法および/またはシステムを実行した実験的結果の画像およびグラフを含む図である。
【図１２Ｅ】本明細書で説明されている方法および/またはシステムを実行した実験的結果の画像およびグラフを含む図である。
【図１２Ｆ】本明細書で説明されている方法および/またはシステムを実行した実験的結果の画像およびグラフを含む図である。
【図１２Ｇ】本明細書で説明されている方法および/またはシステムを実行した実験的結果の画像およびグラフを含む図である。
【図１２Ｈ】本明細書で説明されている方法および/またはシステムを実行した実験的結果の画像およびグラフを含む図である。
【図１２Ｉ】本明細書で説明されている方法および/またはシステムを実行した実験的結果の画像およびグラフを含む図である。
【発明を実施するための形態】
【００６８】
本発明のいくつかの実施形態の一態様は、フレームまたはその一部のブロックを符号化するために変換係数のセットを生成するための方法および/またはシステムに関するものであり、符号化は特定の選択された回転対称マスクに基づきブロックを分割することによって得られる2つの相補的部分上で実行される。これらの方法および/またはシステムは、画質を著しく落とすことなく、ブロックの圧縮率を改善することによって、ブロックを記憶し、および/または送信するために必要なサイズ(たとえば、ビット数)を低減する。画質低減は、本明細書で説明されている方法なしで標準的な方法を使用して画質低減に対する事前定義された許容可能な限度内にあり、および/またはそれに類似しており、たとえば、画質を定義するための客観的尺度としてピーク信号対雑音比(PSNR)が使用され得る。
【００６９】
本明細書で説明されているように、フレームまたは画像という用語は、フレームの一部または画像の一部を指す。変換係数は、フレーム(および/または画像)全体について、および/またはフレーム(および/または画像)の一部について計算されるものとしてよく、たとえば、変換係数は、たとえば、圧縮標準によって定義されているフレームの一部分であるスライスおよび/またはタイルについて計算される。
【００７０】
これらの方法および/またはシステムは、ブロックに対する好適な回転対称マスクを選択し、マスクに基づきブロックを2つの相補的部分に分割し、それらの部分の各々から一対の回転対称ブロックを生成し、回転対称ブロックのうちの一方または両方に対する変換係数を計算することにより、ブロックを符号化するためのエンコーダを備える。
【００７１】
これらの方法および/またはシステムは、変換係数を復号し、ブロックを再構成するためのデコーダを備える。変換係数は、回転対称ブロックの対を再構成するように復号される。この対の各メンバーは、2つの相補的部分のうちのそれぞれ一方に変換されて戻される(たとえば、逆変換計算に基づき)。これら2つの相補的部分は接続され戻されて一緒にされブロックを形成するが、これは回転対称マスクによってガイドされる。
【００７２】
明確にするために、エンコーダの詳細がここで説明される。各説明されている符号化機能および/または構造について、対応する復号機能および/または構造が暗示されている。簡潔にし、明確にするために、符号化機能および/または構造要素に対応する復号機能および/または構造要素は説明から省略されている。
【００７３】
適宜、マスクは、ブロックを、ブロック全体の圧縮と比較して、またはブロックに対する標準的な分割方法の圧縮と比較してより圧縮率の高い2つの相補的部分に分割するように選択される(たとえば、4つの正方形、たとえば、高効率ビデオ符号化(HEVC)および/またはH.265標準で定義されているように)。
【００７４】
適宜、マスクは、ブロックの画像内の1つまたは複数の視覚的特徴に基づきブロックを分割するように選択される。ブロックは、視覚的特徴、たとえば、ブロックを横切って示されている傾いた線またはエッジによって分離された異なるタイプのコンテンツを含み得る。マスクは、ブロックがその視覚的特徴と異なる配置で分割されるときに形成されるのと比べて各々互いにより均一である(すなわち、各々コンテンツのタイプのうちの1つを一般的に示す)2つの相補的部分を生成するように実質的に視覚的特徴に沿ってブロックを、たとえば、HEVC標準によって指定されているように4つの等しいブロックに分割するものとしてよい。
【００７５】
適宜、異なるブロックに対して異なるマスクが選択される。マスクは、たとえば、ブロック内のコンテンツに基づき、ブロックに対して独立して選択され得る。各ブロックの圧縮は、カスタマイズされたマスク選択によって改善される。
【００７６】
各それぞれのブロックに適用される各それぞれのマスクは、それぞれのブロックについて計算された変換係数のセットに関連付けられる。たとえば、各ブロックに使用されるマスクは、計算された変換係数とともに送信され、および/またはどのマスク(たとえば、可能なマスクのライブラリからの)が変換係数に関連付けられていることを指示する信号が送信される。
【００７７】
マスクは、回転対称であるという特性を有する。適宜、マスクは、ブロックの形状、および分割がブロックの中心に関してブロックの180度回転の下で不変であるように2つの相補的部分へのブロックの分割を定義する。マスクは、バイナリマスク(本明細書で説明されているような)であってよい。回転対称は、好適な直交変換方法、たとえば、2D離散コサイン変換(DCT)を使用して直交変換係数の計算を2次元で行うことを可能にする。直交変換係数は、非直交変換係数に比べてより効率的に圧縮される。
【００７８】
2つの相補的部分の各1つは、ブロックのそれぞれの部分内の元の画像コンテンツの2次元トポロジーを保持し、同じ画像の再構成を可能にする。
【００７９】
本発明の少なくとも1つの実施形態を詳しく説明する前に、本発明が、その応用例において、以下の説明で述べられ、および/または図面および/または例に示されている構造の詳細および構成要素および/または方法の配置構成に必ずしも制限されないことは理解されるであろう。本発明は、他の実施形態を利用することができるか、またはさまざまな仕方で実施されるか、または実行され得る。
【００８０】
本発明は、システム、方法、および/またはコンピュータプログラム製品であってよい。コンピュータプログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令が収められているコンピュータ可読ストレージ媒体(またはメディア)を備え得る。
【００８１】
コンピュータ可読ストレージ媒体は、命令実行デバイスによる使用のために命令を保持し、記憶することができる有形のデバイスとすることができる。コンピュータ可読ストレージ媒体は、たとえば、限定はしないが、電子ストレージデバイス、磁気ストレージデバイス、光学式ストレージデバイス、電磁気ストレージデバイス、半導体ストレージデバイス、または前記デバイスの任意の適当な組合せであり得る。コンピュータ可読ストレージ媒体のより具体的な例の非網羅的なリストは、ポータブルコンピュータ用ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、消去可能プログラム可能リードオンリーメモリ(EPROMまたはフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、ポータブル・コンパクト・ディスク・リードオンリー・メモリ(CD-ROM)、デジタル多目的ディスク(DVD)、メモリスティック、フロッピィディスク、および前記の任意の好適な組合せを含む。本明細書で使用されているような、コンピュータ可読ストレージ媒体は、電波もしくは他の自由に伝搬する電磁波、導波路もしくは他の伝送媒体を通って伝搬する電磁波(たとえば、光ファイバーケーブルを通過する光パルス)、または電線を通して伝送される電気信号など、本質的に一時的信号であると解釈されるべきでない。
【００８２】
本明細書で説明されているコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体からそれぞれのコンピューティング/処理デバイスに、またはネットワーク、たとえば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、および/またはワイヤレスネットワークを介して外部コンピュータもしくは外部ストレージデバイスにダウンロードされ得る。ネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス伝送、ルーター、ファイアウォール、スイッチ、ゲートウェイコンピュータ、および/またはエッジサーバを含み得る。各コンピューティング/処理デバイスにおけるネットワークアダプタカードまたはネットワークインターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、それぞれのコンピューティング/処理デバイス内のコンピュータ可読ストレージ媒体に記憶するためにコンピュータ可読プログラム命令を転送する。
【００８３】
本発明のオペレーションを実行するためのコンピュータ可読プログラム命令は、Smalltalk、C++、または同様のものなどのオブジェクト指向プログラミング言語、および「C」プログラミング言語または類似のプログラミング言語などの伝統的な手続き型プログラミング言語を含む、1つまたは複数のプログラミング言語の任意の組合せで書かれた、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、機械語命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはソースコードもしくはオブジェクトコードのいずれかであってよい。コンピュータ可読プログラム命令は、完全にユーザのコンピュータ上で実行してもよいし、部分的にユーザのコンピュータ上で実行してもよいし、独立型ソフトウェアパッケージとして実行してもよいし、一部はユーザのコンピュータ上で、一部はリモートコンピュータ上で実行するか、または完全にリモートコンピュータもしくはサーバ上で実行してもよい。後者のシナリオでは、リモートコンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含む、任意のタイプのネットワークを介してユーザのコンピュータに接続されるか、または接続は、外部コンピュータに対して(たとえば、インターネットサービスプロバイダを用いてインターネットを介して)行われてもよい。いくつかの実施形態において、たとえば、プログラマブルロジック回路、フィールドプログラマブルゲートアレイ(FPGA)、またはプログラマブルロジックアレイ(PLA)を含む、電子回路は、本発明の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路を個人化することによってコンピュータ可読プログラム命令を実行し得る。
【００８４】
本発明の態様は、本発明の実施形態による方法、装置(システム)、およびコンピュータプログラム製品のフローチャート図解および/またはブロック図を参照しつつ本明細書において説明されている。フローチャートおよび/またはブロック図の各ブロック、ならびにフローチャートおよび/またはブロック図中のブロックの組合せは、コンピュータ可読プログラム命令によって実施され得ることは理解されるであろう。
【００８５】
これらのコンピュータ可読プログラム命令は、汎用コンピュータ、特殊目的コンピュータ、または他のプログラマブルデータ処理装置のプロセッサに提供されて機械を生成して、その命令が、そのコンピュータまたは他のプログラマブルデータ処理装置のプロセッサを介して実行されて、フローチャートおよび/またはブロック図の1つまたは複数のブロックに指定される機能/作用を実施するための手段を生成するようにすることができる。これらのコンピュータ可読プログラム命令は、コンピュータ、プログラマブルデータ処理装置、および/または他のデバイスに特定の方式で機能することを指令することができるコンピュータ可読ストレージ媒体にも記憶されるものとしてよく、それにより、命令が記憶されているコンピュータ可読ストレージ媒体は、フローチャートおよび/またはブロック図の1つまたは複数のブロックにおいて指定されている機能/活動の態様を実装する命令を含む製造品を含む。
【００８６】
コンピュータ可読プログラム命令は、コンピュータ、他のプログラマブル装置、または他のデバイス上で実行される命令が、フローチャートおよび/またはブロック図の1つまたは複数のブロックに指定されている機能/活動を実装するように、コンピュータ、他のプログラマブル装置、または他のデバイス上で一連の動作ステップが実行されコンピュータ実装プロセスを生成することを引き起こすように、コンピュータ、他のプログラマブルデータ処理装置、または他のデバイスにもロードされ得る。
【００８７】
図内のフローチャートおよびブロック図は、本発明のさまざまな実施形態によるシステム、方法、およびコンピュータプログラム製品の考えられる実装のアーキテクチャ、機能、およびオペレーションを示している。この点に関して、フローチャートまたはブロック図中の各ブロックは、モジュール、セグメント、または命令の一部を表するものとしてよく、これは指定された論理機能を実装するための1つまたは複数の実行可能命令を含む。いくつかの代替的実装において、ブロック中に記載されている機能は、図示されている順序と違う順序で実行され得る。たとえば、連続して示されている2つのブロックは、実際には、実質的に同時に実行され得るか、またはそれらのブロックは、関連する機能に応じて、逆順に実行され得ることもある。ブロック図および/またはフローチャート図解の各ブロック、ならびにブロック図および/またはフローチャート図解中のブロックの組合せは、指定された機能もしくは活動を実行するか、または専用ハードウェアとコンピュータ命令との組合せを実行する専用ハードウェアベースのコンピュータシステムによって実装され得ることにも留意されたい。
【００８８】
次に、本発明のいくつかの実施形態による、フレーム内のブロックを符号化するための変換係数のセットを生成するための方法のフローチャートである図1への参照がなされている。本発明のいくつかの実施形態による、フレーム内のブロックを符号化するための変換係数のセットを生成するように適合されているメディアエンコーダ202の変換部分のブロック図である図2への参照もなされる。図2のメディアエンコーダは、図1の方法の1つまたは複数のブロックを実行するように構成される。図2のメディアエンコーダによって実行される図1の方法は、たとえば、図12A〜図12Iを参照しつつ説明されているように、画質を著しく下げることなく、ビデオおよび/または静止画フォーマットのデジタル画像の圧縮性能を改善する。エンコーダ202は、係数デコーダとして、説明されている符号化機能に加えて、または説明されている符号化機能の代わりに働き得ることに留意されたい。復号機能は、説明されている符号化機能に基づくが、明確にし、簡潔にするために省略されている。
【００８９】
明確にし、簡潔にするために、メディアエンコーダ202は、変換係数(本明細書において説明されているような)の計算のための要素および/または方法を参照しつつ説明されていることに留意されたい。メディアエンコーダ202は、他の符号化コンポーネント、たとえば、図10の画像エンコーダ/デコーダ1004を含み、かつ/またはそれらと通信するものとしてよい。
【００９０】
メディアエンコーダ202は、プロセッサ204によって実行されるプログラム命令を記憶する1つまたは複数のメモリ206(または他のタイプのコンピュータ可読ストレージ媒体)と通信する1つまたは複数のプロセッサ204を備える。メモリ206は、本明細書で説明されているように、処理中に使用するためにデータを記憶することができる。メディアエンコーダ202は、画像データ圧縮のための既存のハードウェアと統合されているチップ、画像データ圧縮を改善するための既存のデバイスに差し込む別のボックス、またはこれらの組合せとして既存の画像データ圧縮ソフトウェアプログラム内に実装されているソフトウェアモジュールとして実装され得る。プロセッサ204は、並列処理技術に基づく方法のステップを実行することができ、単一のプロセッサが使用されるものとしてよく、および/またはプロセッサは、リモートに配置され得る。並列処理は、ブロックを分割する最良のマスクを選択するために回転対称マスクの事前定義済みのセットにおけるさまざまな候補マスクに対して使用され得る。メモリ206のうちの1つまたは複数がリモートに配置され得る。
【００９１】
メディアエンコーダ202は、画像および/またはビデオの圧縮のために効率を改善し、および/またはリソース要求条件(たとえば、メモリおよび/またはプロセッサ)を低減することによってシステム性能を改善する。
【００９２】
102において、フレームおよび/またはブロックが受信される。メディアエンコーダ202は、フレーム210および/またはフレームのブロックを受信するように適合されている入力データインターフェース208に結合される。フレーム210は、静止デジタル画像として、または複数のフレームを含むビデオの一部として受信され得る。フレーム210が、ビデオから受信されるときに、画像間圧縮技術は、本明細書で説明されているように適用され得る。
【００９３】
メディアエンコーダ202は、フレーム内のパーティションに区切られたブロックを指定するように適合される。適宜、ブロックデジグネータモジュール212Aは、メディアエンコーダ202が本明細書で説明されているように指定を実行するためのプログラム命令を含む。
【００９４】
フレームは、たとえば、ビデオおよび/または静止画像標準、たとえば、HEVC、動画専門家グループ(MPEG)、および合同静止画専門家グループ(JPEG)に基づき複数のブロックに分割され得る。
【００９５】
ブロックは、標準サイズ、たとえば、64×64ピクセル、32×32ピクセル、16×16ピクセル、8×8ピクセル、4×4ピクセル、または他のサイズを有し得る。
【００９６】
ブロックは、正方形(L×Lピクセル)または矩形(M×Nピクセル)であってよい。
【００９７】
ブロックは、輝度および/または彩度データを表し得る。
【００９８】
104において、回転対称マスクが選択される。マスクセレクタモジュール212Bは、メディアエンコーダ202が本明細書で説明されているようにマスク選択を実行するためのプログラム命令を含む。
【００９９】
適宜、回転対称マスクは、マスクのブロックの中心に関して次数2(ときには本明細書においてC2と称され、回転対称が360/2=180度について成り立つことを示す)の回転対称を有する。
【０１００】
次に、本発明のいくつかの実施形態による、回転対称マスクのいくつかの例の概略図、たとえば、直角台形302、直角三角形304、矩形306、および正方形308を示す図3への参照がなされる。
【０１０１】
次に再び図1を参照すると、メディアエンコーダは、ブロックとしてのサイズおよび形状を有する多次元空間内の複数の異なる回転対称を定義する複数の回転対称マスクから指定されたブロックに対する回転対称マスクを選択するように適合されている。
【０１０２】
次に、本発明のいくつかの実施形態による、フレーム406内のブロック404に対する特定の回転対称マスク402の選択を図示する概略図である図4への参照がなされている。フレーム406は、家の画像を含む。ブロック404は、家の屋根の一部、および空の別の部分を含む。マスク402は、特定の圧縮プリファレンス尺度(たとえば、速度歪み)および/または空を家から最もよく隔てる視覚的特徴境界および/またはエッジに基づき複数の利用可能なマスク410のセットから選択される。非選択マスクの視覚的検査で明らかになるように、他のマスクのうちのどれかを適用した結果、マスク402を使用した場合と比較して、空のより多くの部分が屋根部分の中に含まれ、屋根のより多くの部分が空部分に含まれることになる。マスク402によるブロック404の分割は、標準的なパーティション408による、または別のマスクによるブロック全体404の圧縮と比較して画像データ圧縮を改善する。
【０１０３】
次に図2に戻って参照すると、回転対称マスクは、回転対称マスクライブラリ212Fに記憶され、適宜メモリ206に記憶され、プロセッサ204と通信する別のコンピュータ可読ストレージ媒体に記憶されている複数のマスクから選択され得る。
【０１０４】
ライブラリ212Fは、回転対称マスクの複数の異なるライブラリを記憶し得る。各ライブラリは、ブロックのサイズおよび/または形状に基づき得る。たとえば、サイズ16×16ピクセルのブロックのマスクに対する1つのライブラリ、およびサイズ8×8ピクセルに対する別のライブラリ。
【０１０５】
適宜、異なる回転対称マスクは、ブロックとしてのサイズおよび形状を有する正方形のマスク(すなわち、L×Lピクセル)である。代替的に、異なる回転対称マスクは、ブロックとしてのサイズおよび形状を有する矩形のマスク(すなわち、M×Nピクセル)である。
【０１０６】
回転対称マスクは、矩形または正方形の対向するエッジを結ぶ線を定義し、対応する矩形または正方形のブロックを2つの2D鏡像相補的部分に分割するように適合されている。異なる線は、2次元鏡像条件に基づき定義され得る。線は、直線状または他の形態、たとえば、階段状または他の任意の形状であってよい。線は、0から359度までの任意の角度またはその一部で傾斜しているものとしてよい。2D鏡像特性は、ブロックの効率的な圧縮を実現する。
【０１０７】
次に、本発明のいくつかの実施形態による、回転対称マスクを定義するためのピクセル2D鏡像を示す概略図である図5Aから図5Cへの参照がなされる
【０１０８】
図5Aは、一般的な2D鏡像概念を示している。サイズ8ピクセル×8ピクセルのブロック502は、例示を目的として図示されている。領域Aおよび領域Bは、ブロック502の真ん中を通って水平に位置決めされた仮想線504によって分離される。領域Aおよび領域Bにおいて同じ数を有するピクセルは、互いの2D鏡像である。ピクセル2D鏡像は、M×Nの矩形に対して一般化されるものとしてよく、ピクセル(m,n)が領域A内にあるときに、ピクセル(M-1-m,N-1-n)は領域B内にある。
【０１０９】
2D鏡像概念は、異なるサイズの他の正方形または矩形のブロックに適用され得ることは理解されるであろう。2D鏡像概念は、異なる傾斜で、たとえば、垂直に引かれた他の仮想線について示されるものとしてよく、領域AおよびBは、ブロック502の真ん中を通って垂直に位置決めされた仮想線によって定義され、分離されることは理解されるであろう。
【０１１０】
ブロック502の対向するエッジを結び、ブロック502の中心点を交差する複数の異なる線は、図5Bおよび図5Cに示されているように、回転対称マスクライブラリを形成するように適合される。各個別の線は、個別のマスクを定める。各線は、ブロック502を2つの相補的部分領域Aと領域Bとに分割する。
【０１１１】
適宜、異なる回転対称マスクは、それぞれの行列によって定義される(たとえば、各ピクセル位置は、行列内の位置によって表される)。各行列は、領域AおよびBの異なる仕切りを定義し、たとえば、2次元空間の対向するエッジを結ぶ線を定義し、2次元空間を2つの相補的部分に分割する。
【０１１２】
他の次元の空間、たとえば、3次元、4次元、またはそれ以上の次元の空間が使用されてもよいことに留意されたい。回転対称マスクは、それぞれの多次元空間、たとえば、平面を分割して3次元空間を分割するように定義される。
【０１１３】
線がサンプルの位置を通るときに、フルサンプルが領域Aに割り当てられ、領域Bから取り除かれ得るので、サブサンプリングの必要はないことに留意されたい。計算リソース(たとえば、プロセッサおよび/またはメモリ)は、たとえば、各それぞれの領域について計算の完全なセットを実行する代わりに、領域Aへの追加および領域Bからの除去によって削減され得る。
【０１１４】
次に、本発明のいくつかの実施形態による、回転対称マスクライブラリのいくつかの例を示す図6A〜図6Cへの参照がなされる。図6Aは、サイズ32×32ピクセルのブロックを分割するためのマスクのライブラリの一例である。図6Bは、サイズ16×16ピクセルのブロックを分割するためのマスクのライブラリの一例である。図6Cは、サイズ8×8ピクセルのブロックを分割するためのマスクのライブラリの一例である。
【０１１５】
図6A〜図6Cの回転対称マスクライブラリは、傾斜した線に基づいており、この線はブロックを2つの台形領域に分割し、これらの領域はマスクの暗領域602(たとえば、青色)とマスクの明領域(604)(たとえば、赤色)によって表される。ライブラリ内の各マークは、線のわずかに異なる傾斜を有する。それとともに、すべてのマスクは、ブロック内で傾斜した線のすべての異なる順列を定義する。傾斜した切断された線に基づき、サイズL×Lの正方形を区切るために2×(L-1)の異なる仕方がある。
【０１１６】
図6Bにおいて、マスク606Aおよび606Bは、それらを通る平行線を有し、これはマスク606Aおよび606Bを32個のマスクのセットから除去することを表し、前の段落における式に基づき30個のマスクのセットを形成する。2つのマスクは、鏡像対称により既存のマスクのダブルであり、したがって、生成されたセットから除去され得る。同様に、図6Cにおいて、2つのダブルマスクは、平行線とともに示され、これは冗長マスクをそのセットから除去することを表す。
【０１１７】
適宜、異なる回転対称マスクの各々(1つまたは複数のライブラリとして記憶され得る)は、階層配置構成にマップされる。階層配置構成は、最良のマスクを識別するための処理時間および/またはリソースを減らすことができる。
【０１１８】
各ライブラリは、独立してマップされるものとしてよく、各それぞれのライブラリのマスクは、階層配置構成にマップされ得る。代替的に、1つまたは複数のライブラリは、同じ階層配置構成に基づき一緒にマップされる。各ライブラリ内のマスクは、同じ共通階層配置構成に基づきマップされる。
【０１１９】
マスクのセットは、分離したバラバラのセクションに分割される。階層配置構成は、2次元空間のエッジに関する線の角度に従うものとしてよく、たとえば、階層配置構成は、図6A〜図6Cの線を、たとえば、0〜60度、61〜120度、および121〜180度のグループにマップするものとしてよい。階層配置構成は、線が対称的および/または非対称的であるときに、181〜240度、241〜300度、および301〜360度をマップするために継続し得る。階層配置構成は、層化されてもよく、たとえば、0〜60度のグループは、0〜15、16〜30、31〜45、および46〜60度のグループにさらに細分される。
【０１２０】
次に本発明のいくつかの実施形態による、階層配置構成をグラフで示す概略図である図7への参照がなされる。
【０１２１】
分割された円702は、マスクライブラリ706に対する階層配置構成の一例をグラフで示している。ライブラリ706は、図6Bを参照しつつ説明されているように、サイズ16×16のブロックに対する傾斜した線のマスクを含む。円702は、領域704A〜704Hに分割され、各々45度の線の傾斜を表す。階層配置構成は、傾斜した線マスクの対称性により簡素化され、セクタ704Aを704Eと一緒にグループ化し(セクタ708Cとして示されている)、セクタ704Bを704Fと一緒にグループ化し(セクタ708Bとして示されている)、セクタ704Cを704Gと一緒にグループ化し(セクタ708Aとして示されている)、セクタ704Dを704Hと一緒にグループ化する(セクタ708Dとして示されている)。各セクタ708A〜708Dは、それぞれの角度範囲内に線傾斜角度が収まる8または7個のマスクを含む。
【０１２２】
適宜、メディアエンコーダは、階層配置構成に従って定義されている順序で異なる回転対称マスクのうちの少なくともいくつかの繰り返しマスク選択で回転対称マスクを選択するように適合されている。たとえば、図7を参照すると、式22.5+45kによって定義されている中心角度を有する4つの代表的パーティション708A〜708Dの間で探索が実行され、ただし、k=0、1、2、3、であり、スパンは45度である。セクションは、好適な関数、たとえば、最小速度歪み尺度によって計算される最低コストに基づき選択され得る。選択されたセクション内のマスクは、同様の仕方で選択され得る。階層配置構成が、追加のレベルを含むときに、マスクが識別されるまで繰り返し方式で追加のレベルが探索され得る。
【０１２３】
次に、本発明のいくつかの実施形態による、回転対称マスクの生成および/または表現を示す概略図である図8への参照がなされる。適宜、マスクのライブラリが、マスクを含むブロック内の異なる順列に基づき生成される。
【０１２４】
例示的な目的に関して、サイズL×Lのブロックに対するマスク生成が説明されるが、これはM×Nの場合に拡張され得る。マスクは、左上隅から始まって、ブロックの中心の方へ進むようにして生成され得る。移動の組合せは、2D鏡像化され、それにより、ブロックの中心から右下までの残りのマスクパターンを取得し得る。
【０１２５】
マスクは、移動毎に2進表現によって表され得る。各移動は、水平(すなわち、左から右)または垂直(すなわち、上から下)のいずれかであり、1(たとえば、1ステップ右へ)または0(たとえば、1ステップ下)で表される。バイナリマスク表現は、そのまま送信されるか、またはさらに圧縮され得る。2進表現は、たとえば、エンコーダからデコーダへの、マスクの効率的な(すなわち、プロセッサおよび/またはメモリリソース利用に関して)伝送を実現する。
【０１２６】
セット内の各順列は、合計2×Lの移動によって定義され得る。
【０１２７】
マスク802は、2進パターン804によって表される。マスク806は、2進パターン808によって表される。
【０１２８】
次に、本発明のいくつかの実施形態による、ブロックを分割するために回転対称マスクおよび/またはマスクライブラリを選択するためのコンピュータを用いた方法のリスト(たとえば、フローチャート)である図9への参照がなされる。マスクおよび/またはマスクライブラリは、選択されるのではなく、および/または選択されることに加えて、ブロックに基づき(たとえば、予め、および/または動的に)生成され得る。メディアエンコーダ202は、方法の1つまたは複数のブロックを実行するように適合される。方法の1つまたは複数のブロックは、マスク選択のために実行され得る。ブロックは、任意の順序で、および/または同時に実行され得る。
【０１２９】
本明細書で説明されている選択の1つまたは複数の方法(順次および/または並列に、適宜組み合わせて実行される)は、マスクのライブラリ内の特定のマスクの選択に対する基準として使用され得る。代替的に、またはそれに加えて、選択の方法は、複数のマスクライブラリから特定のマスクライブラリを、および/またはライブラリからマスクのサブセットを最初に選択するために使用され得る。この特定のマスクは、選択されたライブラリおよび/または選択されたサブセットから選択され得る。ステップ毎のおよび/または階層的な選択は、各ステップにおける選択に対してセットのサイズを縮小することによって探索範囲を絞り込み、選択のためのリソースおよび/または計算を節減することができる。
【０１３０】
候補マスクのより大きいセットからではなくライブラリ(またはマスクサブセット)からマスクを選択することで、デコーダに選択されたマスクをシグナリングし、および/または計算複雑度および/またはメモリリソースおよび/またはプロセッサリソースを低減するために使用される符号化されるビットの数を減らす。
【０１３１】
適宜、902において、ライブラリおよび/またはマスクは、ブロックのサイズおよび/または形状に基づき選択される。マスクは、本明細書で説明されているように選択されたライブラリ内から選択され得る。
【０１３２】
代替的に、またはそれに加えて、904において、メディアエンコーダは、限定しないが、ブロック、スライス、タイル、フレーム、およびシーケンスのリストに含まれるうちの1つまたは複数に対する圧縮プリファレンスに基づき複数の回転対称マスクおよび/またはマスクライブラリから回転対称マスクおよび/またはマスクライブラリを選択するように適合される。
【０１３３】
圧縮プリファレンスは、特定のマスクが適用されるときにブロックの圧縮性能を定義する1つまたは複数のパラメータを含む。圧縮プリファレンスは、マスク毎におよび/またはマスクライブラリ毎に定義され得る。
【０１３４】
圧縮プリファレンスは、たとえば、マスクおよび/またはライブラリに対するすでに収集されている統計データに基づき、推定され得る。代替的に、圧縮プリファレンスは、たとえば、候補マスクのうちの1つまたは複数をブロックに適用することによって計算され得る。
【０１３５】
圧縮プリファレンスは、圧縮パラメータがいくつかのトレードオフ、たとえば、画質の低下と引き換えにサイズを縮小することを伴うときにマスク選択を助けることができる。
【０１３６】
圧縮プリファレンスは、次のうちの1つまたは複数から、個別に、または組み合わせて選択される。
【０１３７】
*圧縮複雑度プリファレンス:マスクに基づき圧縮を実行するための処理リソース、たとえば、計算回数、プロセッサリソース、および/またはメモリリソースに関係する尺度。この尺度は、方法を実行する特定のコンピュータに依存し得る。
【０１３８】
*圧縮品質プリファレンス(たとえば、画像歪み):マスクに基づく圧縮は、不可逆オペレーションであり、その結果、ブロックの画質は低下する。画質低下は、人間の目で見て視覚的に認識できる場合もできない場合もある。圧縮品質プリファレンスは、マスクに基づく圧縮による情報の喪失に関係する尺度、たとえば、ピーク信号対雑音比(PSNR)、および/または構造的類似性(SSIM)に基づき決定され得る。
【０１３９】
*圧縮サイズプリファレンス:選択されたマスクに基づく圧縮後のブロックのサイズ(たとえば、ビット数)。
【０１４０】
適宜、メディアエンコーダは、ブロック圧縮複雑度、ブロック圧縮サイズ、およびブロック圧縮品質に対するプリファレンスからなる群のメンバーに従って回転対称マスクライブラリを自動的に生成するように適合される。生成されたマスクライブラリは、知られている圧縮プリファレンス基準を有し、これはライブラリを容易に、および/または素早く選択することを可能にする。生成されたライブラリ内のマスクの数は、可能なすべての順列を生成する場合よりも小さいものとしてよいが、それは圧縮基準を満たすマスクのみが含まれるからである。
【０１４１】
各マスクは、圧縮プリファレンスに関連付けられる、たとえば、記憶される、マッチングされる、および/または圧縮プリファレンス値でタグ付けされるものとしてよい。各マスクは、圧縮複雑度プリファレンス、圧縮品質プリファレンス、および/または圧縮サイズプリファレンスを計算するための1つまたは複数の尺度に関連付けられ得る。
【０１４２】
適宜、異なる回転対称マスクの各1つは、それぞれのマスクのサイズおよび形状を有する例示的なブロック上でそれぞれのマスクを適用する計算複雑度を示す推定複雑度尺度に関連付けられる。推定複雑度尺度がより低いマスクは、必要とするリソース(たとえば、プロセッサおよび/またはメモリ)がより少ないと推定される。推定される結果に基づくマスク選択は、システム効率を改善し、および/またはより少ないリソースを利用する。
【０１４３】
適宜、異なる回転対称マスクの各1つは、それぞれのマスクのサイズおよび形状を有する例示的なブロック上でそれぞれのマスクを適用することから生じる計算歪みレベルを示す推定歪み尺度に関連付けられる。推定歪み尺度は、たとえば、画像のより高い圧縮も引き起こす視覚的に区別できない圧縮歪みレベルを有するマスクを選択するために、不可逆圧縮トレードオフに基づきマスクを選択する際に役立つ。推定歪み尺度がより低いマスクは、ターゲットの圧縮歪みレベルを達成しながら必要とするリソース(たとえば、プロセッサおよび/またはメモリ)がより少ないと推定される。
【０１４４】
適宜、メディアエンコーダは、ブロックに対する圧縮プリファレンスに基づき回転対称マスクを選択するように適合される。適宜、圧縮プリファレンスは、圧縮複雑度プリファレンス、圧縮品質プリファレンス、および圧縮サイズプリファレンスのうちの1つまたは複数から選択される。
【０１４５】
代替的に、またはそれに加えて、906において、マスク選択は、受信されたフレームを含む前処理されたビデオデータに基づく。ビデオデータの前処理は、メディアエンコーダ、メディアエンコーダに接続されている別のコンピュータ、またはメディアエンコーダから独立している別のコンピュータ(たとえば、リモートに配置されている)によって実行され得る。前処理されたデータは、フレームとは無関係に、および/またはフレームとともにメディアエンコーダに送信され得る(たとえば、フレームにタグ付けされる)。
【０１４６】
前処理は、ビデオのフレームのコンテンツの1つまたは複数の識別された特徴、たとえば、ピクセルパターンの統計的分布、エッジ、ピクセル強度、およびピクセル色に基づくものとしてよい。ビデオデータは、前処理の結果に基づき事前分類され得る。分類は、マスクおよび/またはマスクライブラリの選択を可能にするように識別された特徴に基づき得る。事前分類されたビデオデータは、システム性能を改善するが、それは、マスクが、より効率的に、および/または分類に基づきより少ないリソースを使用して選択され得るからである。
【０１４７】
適宜、メディアエンコーダは、ビデオデータの分類に基づき、複数の候補回転対称マスクおよび/またはマスクライブラリから回転対称マスクおよび/またはマスクライブラリを選択するように適合される。たとえば、前処理は、ビデオが多数の直線を有するフレーム、たとえば、家、自動車、または他の人工的構造物の画像を含んでいることを識別し得る。ビデオデータは、直線を含んでいるとして分類され得る。直線(すなわち、異なる角度)のマスクライブラリが選択され得る。別の例では、前処理は、ビデオが多数の曲線を有するフレーム、たとえば、木、枝、および地形の画像を含んでいることを識別し得る。ビデオデータは、曲線を含んでいるとして分類され得る。曲線のマスクライブラリ(すなわち、曲線の離散化に基づく階段状の線が選択され得る)。
【０１４８】
コンテンツの前処理は、本明細書で説明されているように、予測に基づき符号化するための情報を提供し得る。
【０１４９】
適宜、メディアエンコーダは、前処理されたビデオデータに基づき回転対称マスクおよび/またはマスクライブラリを自動的に生成するように適合される。異なる回転対称マスクは、1つまたは複数の圧縮パラメータ、すなわち、圧縮複雑度プリファレンス、圧縮サイズプリファレンス、および/または圧縮品質プリファレンスの前処理の結果による異なる回転対称マスクのマスクリポジトリから選択され得る。圧縮パラメータは、ビデオデータから事前計算され得る。
【０１５０】
ビデオデータの前処理は、エンコーダの性能を改善し得る。リソースを大量に消費する計算は、圧縮のときではなく、事前に実行され得る。マスク選択のための基準として使用されるデータは、圧縮プロセスにおいてマスク選択計算を実行する代わりに、ブロック圧縮プロセスにおいてより高速なマスク選択を可能にするように、すぐに使えるようになっているものとしてよい。
【０１５１】
代替的に、またはそれに加えて、908において、メディアエンコーダは、変換プロセスの結果、および/または2つの相補的部分のうちの少なくとも一方に適用される変換プロセスの結果の推定に基づき回転対称マスクを選択するように適合される。結果および/または推定される結果に基づくマスク選択は、システム効率を改善し、および/またはより少ないリソースを利用する。
【０１５２】
変換プロセスの結果は、変換プロセスの後の相補的部分のうちの一方または両方のサイズ(たとえば、特定の閾値よりも高い変換係数の絶対値の数および/または総和)を含み得る。結果として変換プロセスの後のその部分の最小サイズをもたらすマスクが選択され得る。サイズは、両方の部分のサイズの総和などの、一方または両方の部分について計算され得る。
【０１５３】
変換プロセスの結果の推定は、変換プロセスへの入力である残差データの絶対差総和(SAD)を含み得る。
【０１５４】
変換プロセスの結果の推定は、残差データの水平および/または垂直方向に沿った一階、二階、および/または高階微分の絶対値の総和を含み得る。
【０１５５】
推定は、同じマスクを使用してすでに符号化されている部分からの値に基づき得る。
【０１５６】
変換プロセスの結果は、知られている変換プロセス、たとえば、圧縮標準によって定義されている変換プロセスによって推定され得る。
【０１５７】
代替的に、またはそれに加えて、910において、メディアエンコーダは、回転対称ブロックの対の少なくとも1つのメンバーに対する変換係数に適用される量子化プロセスおよび/またはエントロピー符号化プロセスの結果および/または結果の推定に基づき回転対称マスクを選択するように適合される。
【０１５８】
結果として量子化および/またはエントロピー符号化プロセスの後に部分の最小サイズをもたらすマスク、たとえば、量子化の後の非ゼロ係数の数、および/または生成されたビットにおけるサイズが、それぞれ、選択され得る。サイズは、両方の部分のサイズの総和などの、一方または両方の部分について計算され得る。
【０１５９】
推定は、同じマスクを使用してすでに量子化および/またはエントロピー符号化されている部分からの値に基づき得る。
【０１６０】
代替的に、またはそれに加えて、912において、メディアエンコーダは、ブロック内のピクセル値のパターンに従って回転対称マスクを選択するように適合される。ピクセル値のパターンは、ブロックから、たとえば、境界および/またはエッジを特定するための方法などの画像セグメント分割方法によって、たとえば、強度閾値化、エッジ検出、または他の好適な方法に基づき、抽出され得る。ピクセル値のパターンは、ブロック内の識別された線の方向、および/または線(もしくは曲線)のパターンを含み得る。抽出されたピクセルパターンは、特定の対称マスクに、たとえば、ブロックの識別された線と同じ方向および/またはパターンを有するマッチングマスクなどの、抽出されたピクセルパターンに最もよく類似しているパターンを持つマスクを識別する最低費用関数に基づき、マッチングされ得る。ピクセル値のパターンに基づく選択は、各それぞれの部分内のピクセルが互いに類似する、たとえば、類似する強度および/または色を有する2つの相補的部分を生み出す。
【０１６１】
たとえば、図4を再び参照すると、ブロック404内の屋根と空との間のエッジは、エッジ検出方法に基づき抽出される。検出されたエッジは、費用関数に基づきマスク402にマップされる。マスク402内のパターンは、マスクライブラリからの、抽出されたエッジに最もよく類似しているパターンである。
【０１６２】
代替的に、またはそれに加えて、914において、回転対称マスクは、特定の回転マスクが処理されているブロックのサイズおよび/または形状を有する例示的なブロックに適用されるときに送信されるビットの数を示す推定速度尺度に基づき選択される。ビットの数は少なければ少ないほど、特定のマスクによる圧縮がより効率的になる。異なる回転対称マスクの各1つは、マスクがサイズおよび形状を有する例示的なブロックに適用されるときに送信されるビットの数を示す推定速度尺度に関連付けられる。
【０１６３】
速度尺度は、各マスクとともに記憶されるものとしてよく、推定速度尺度値に基づきマスクの素早い選択を可能にする。速度尺度は、実行時に再計算される代わりに、マスク毎に予め計算されてよく、それによって、選択に必要な計算を減らす。速度尺度は、ブロックの前のサンプルの平均(または他の尺度)に基づく事前定義されたブロックであってよい、例示的なブロックに基づき計算されるものとしてよい。例示的なブロックは、処理されるブロックの類似性に基づき、たとえば、費用関数に基づき、ブロックのライブラリから選択され得る。
【０１６４】
代替的に、またはそれに加えて、916において、メディアエンコーダは、統計的分類子に基づき回転対称マスクを選択するように適合される。統計的分類子は、異なる回転対称マスクのうちの少なくともいくつかを適用した結果をログにとるトレーニングセットの分析によって生成される。結果(加重されてよい)は、たとえば、圧縮性能測定基準(たとえば、サイズ、複雑度、品質)、プロセッサリソース利用度、メモリ利用度を含み得る。統計的分類子は、複数の異なる所望の結果を含む結果の予測に基づきマスクの選択を改善し得る。
【０１６５】
トレーニングセットは、システムによって処理された実際のフレームの履歴に基づき取得され得る。代替的に、トレーニングセットは、処理されることになっているフレームのタイプの予測に基づき取得されるものとしてよく、たとえば、自然のチャネルは、自然のビデオで分類子をトレーニングするものとしてよい。
【０１６６】
分類の結果は、分類子をさらにトレーニングし更新するための入力として使用され得る。
【０１６７】
統計的分類子は、教師あり学習方法および/または教師なし学習方法に基づきトレーニングされ得る。
【０１６８】
分類子は、ブロック内のピクセルを2つのグループのうちの一方に分類するために、ブロックそれ自体に適用され得る。2つのグループは、回転対称マスクの回転対称制約に基づき分割され得る。マスクは、ブロック内の2つのグループの配置構成をマッチングするように選択される。2つの相補的部分の各部分は、それぞれのグループからのマスクインクルードピクセルを使用してブロックの分割から生じる。
【０１６９】
代替的に、またはそれに加えて、918において、メディアエンコーダは、ブロックの空間的および/または時間的隣接ブロックから抽出されたコンテンツに基づき回転対称マスクを選択するように適合される。近傍は、画像内および/または画像間ブロックであってよい。空間的ブロックは、ブロックに関して1つまたは複数もしくはすべての方向のブロックの近傍であってよい。時間的隣接ブロックは、前のフレーム(たとえば、時間的に前)および/またはその後のフレーム(たとえば、時間的に後)内の隣接ブロックからのものとしてよい。ブロックは、直接近傍であり得るか、またはブロック(またはフレーム)を2個以上離して配置されてもよい。予測因子として使用される類似のピクセルパターンを含む隣接ブロックは、システム性能を改善し、および/またはより少ないリソースを必要とする。
【０１７０】
適宜、近傍は、すでに処理されているブロックを含む。以前に処理されたブロックは、現在処理されているブロックに対するマスクの選択のための予測因子として使用され得る。適宜、回転対称マスクの選択は、ブロックの空間的および/または時間的隣接ブロックに関連付けられている情報に基づき実行される。適宜、空間的および/または時間的隣接ブロックに関連付けられている情報は、予測に関係する。たとえば、情報は、処理されている現在のブロックと近傍のうちの1つまたは複数との間の差を小さくするためのデータを含むものとしてよく、冗長情報は除外される。マスクは、差分データに基づき選択され得る。
【０１７１】
適宜、抽出されるコンテンツは、空間的および/または時間的隣接ブロック内のピクセル値のパターンに従う。隣接ブロックのピクセルパターンは、現在のブロック内のマスクの選択のための予測因子として働き得る。たとえば、ピクセルパターンは、屋根と空との間の境界および/またはエッジを含む(図4を参照しつつ説明されているように)。屋根と空との間のエッジは、引き続きいくつかの隣接ブロックを横切る。
【０１７２】
予測因子に基づく符号化は、システム効率を改善し、および/またはより少ないリソースを利用する。
【０１７３】
次に図1を再び参照すると、106において、ブロックは、回転対称マスクに基づき2つの相補的部分に分割されている。適宜、ブロックスプリッタモジュール212Cは、メディアエンコーダ202が本明細書で説明されているようにブロック分割を実行するためのプログラム命令を含む。
【０１７４】
108において、2つの相補的部分のうちの1つを各々有する一対の回転対称ブロックが生成される。適宜、対生成器モジュール212Dは、メディアエンコーダ202が本明細書で説明されているように対生成を実行するためのプログラム命令を含む。
【０１７５】
メディアエンコーダは、2つの相補的部分のうちの一方およびブロックのサイズおよび/または形状を有するブロックを形成するために追加される別の部分に基づき回転対称ブロックの対の各メンバーを生成するように適合される。
【０１７６】
適宜、追加される部分は、回転対称ブロックが構成される際にもとになる部分の2D鏡像である。
【０１７７】
適宜、追加される部分は、回転対称ブロックが構成される際にもとになる部分の2D鏡像であるが、負の符号が追加されている。この場合、回転対称ブロックは、2つの反対称部分を含む。
【０１７８】
適宜、追加される部分は、事前定義されたシーケンス、たとえばすべてゼロのパッディングを含む。
【０１７９】
適宜、追加される部分は、回転対称ブロックが構成される際にもとになる部分の180度回転に基づき生成される。
【０１８０】
適宜、追加される部分の次元は、相補的部分の次元、たとえば、2次元に基づく。
【０１８１】
回転対称ブロックの生成される対の各メンバーは、選択されたマスクに基づき主対角線または他の切断線パターンの周りで2D鏡像になっている値を有する行列によって表される。
【０１８２】
110において、回転対称ブロックの対の一方または両方のメンバーに対する1つまたは複数の変換係数が計算される。適宜、変換係数は、回転対称ブロックの各1つについて計算される。適宜、係数計算モジュール212Eは、メディアエンコーダ202が本明細書で説明されているように変換係数計算を実行するためのプログラム命令を含む。
【０１８３】
変換係数の計算は、1つまたは複数の標準ベースの計算方法に基づき、1つまたは複数の符号化技術に基づき、および/または専用の方法に基づき実行され得る。符号化技術の一例は、2次元離散コサイン変換(DCT)を含み、これは、たとえば、各次元に沿って適用される2つの分離可能な高速DCTに基づき計算されるものとしてよく、たとえば、回転対称ブロックが、行列として表されるときに、2D-DCTは、行に沿って次いで列に沿って、または列に沿って次いで行に沿って計算され得る。変換方法の他の例は、2D離散サイン変換(DST)、ならびに鏡像条件を維持する他の直交および/または直交変換方式を含み、たとえば、以下のとおりである。
Tp,q(M-m-1,N-n-1)=(-1)(p+q)Tp,q(m,n)、
ただし、{Tp,q(m,n)}は、2D変換ベースであり、(m,n)はピクセル位置であり、m=0,1,...,M-1、n=0,1,...,N-1であり、pおよびqは、空間周波数であり、p=0,1,...,M-1であり、q=0,1,...,N-1であり、p+qは、対称の場合および反対称の場合についてそれぞれ偶数または奇数である。
【０１８４】
標準ベースの符号化技術の一例は、整数変換および/または逆変換に対するHEVCおよび/またはH.265標準である。
【０１８５】
適宜、係数の直交変換セットは、2D鏡像部分が負の符号とともに追加されるときに2つの相補的部分のうちの各1つについて計算される(すなわち、反対称)。変換係数の計算のための対称変換関数および反対称変換関数に対するセットは、異なり得る。変換係数を計算するときに、それぞれの対称または反対称変換関数が使用される。
【０１８６】
適宜、メディアエンコーダは、回転対称マスクのそれぞれの部分に適合された1つまたは複数の空間的予測因子を使用して変換係数を符号化するように適合される。変換は、予測ブロックについて、予測ベクトルについて、予測誤差について、および/または予測残差について計算され得る。予測残差は、処理されている回転対称ブロック内の部分と対応する予測ブロックとの間の差に基づき時間的および/または空間的ブロック(すなわち、画像間および/または画像内ブロック)について計算され得る。
【０１８７】
適宜、メディアエンコーダは、回転対称マスクのそれぞれの部分に適合された1つまたは複数の時間的予測因子を使用して変換係数を符号化するように適合される。代替的に、またはそれに加えて、メディアエンコーダは、それぞれの対応する部分に関係する空間的予測因子を使用して回転対称ブロックの各々の変換係数を符号化するようにさらに適合される。代替的に、またはそれに加えて、メディアエンコーダは、それぞれの対応する部分に関係する運動ベクトルを使用して回転対称ブロックの対の各々の変換係数を符号化するようにさらに適合される。運動ベクトルは、時間的予測を計算するために使用され得る。
【０１８８】
変換係数は、すべての変換係数に対する1つの方法、異なる変換係数(または変換係数のセット)に対する異なる方法、および/または方法の組合せに基づき計算され得ることに留意されたい。
【０１８９】
適宜、メディアエンコーダは、回転対称マスクに適合されたエントロピーコンテキストモデルを使用して変換係数を符号化するように適合される。エントロピーコンテキストモデルは、たとえば、ハフマン符号化および/または算術符号化に基づき、可逆データ圧縮により変換係数を符号化するために、選択されたマスクの知識に基づき定義され得る。マスクのエントロピー特性は、予めエンコーダに知られているので、より単純な符号が計算され得る。
【０１９０】
エントロピーコンテキストモデルは、専用設計モデル、および/または標準ベースのモデル、たとえば、H.265のCABAC/HEVC, H.264/MPEG-4または他の標準などのコンテキスト適応2値算術符号化(CABAC)方式であってよい。
【０１９１】
112において、計算された変換係数は、さらなる処理、ストレージへの保存、および/または伝送のために用意される。適宜、メディアエンコーダ202に結合されている出力入力インターフェース214は、本明細書で説明されているように、計算された変換係数216を供給するように適合される。
【０１９２】
適宜、114において、ブロック102〜112は、フレーム内の他のブロックについて繰り返される。ブロック102〜112は、他のフレームについて繰り返され得る。特定のフレームのブロックが並列で処理され得ることに留意されたい。
【０１９３】
次に、本発明のいくつかの実施形態による、係数エンコーダ/デコーダ1002を組み込んでいる画像データ圧縮および復元のための例示的なシステム1000のブロック図である図10への参照がなされる。エンコーダ/デコーダ1002は、図2を参照しつつ説明されているようなメディアエンコーダ202の変換部分、エンコーダ202の変更形態(たとえば、プロセッサ204なし、別のエンコーダ/デコーダのプロセッサを使用する)、および/または図1の方法の別の実装を含み得る。システム1000内にエンコーダ1002を組み込むことは、画像および/またはビデオの符号化効率を改善し、これはたとえば、圧縮性能を改善すること、プロセッサリソース要求条件、送信機/受信機要求条件、および/またはメモリ要求条件を低減することによってシステム1000の全体的性能を改善する。エンコーダ1002をシステム1000内に統合することで、画質を高め、画像解像度を高め、および/または同じリソースを使用して処理される画像の数を増やすことができる。
【０１９４】
係数エンコーダ/デコーダ1002は、デジタル画像および/またはビデオに関連付けられているデバイスおよび/またはシステム内に、たとえば、デジタルカメラ内に、テレビ(たとえば、ハイビジョンテレビ)内に、デジタルカムコーダー内に、テレビ放送ユニット内に、スマートフォン(または他のモバイルデバイス)内に、ウェブブラウザ内に、画像および/またはビデオを視聴し、および/または編集するためのコンピュータソフトウェア内に、ネットワークデバイス内に(ネットワーク性能を改善するために)、リアルタイム変換アプリケーション(たとえば、ビデオチャット、ビデオ会議、およびテレプレゼンスシステム)内に実装され得る。エンコーダ/デコーダ1002の実装は、リソース要求条件(たとえば、メモリ)を引き下げる、たとえば、より多くの画像および/またはビデオをメモリ上に保存できるようにする、より高い画質および/または解像度の画像および/またはビデオを保存できるようにする、各画像および/またはビデオのサイズを縮小し、それによりネットワーク接続で画像および/またはビデオの伝送を高速化できるようにすることによってデバイスおよび/またはシステムの性能を改善し得る。
【０１９５】
エンコーダ/デコーダ1002は、圧縮および/または復元によって画像および/またはビデオを符号化し、および/または復号するように構成されている画像エンコーダ/デコーダ1004と統合される。エンコーダ/デコーダ1004は、標準(たとえば、HVEC、MPEG-4、JPEG)に基づき、および/または1つもしくは複数の専用プロトコルに基づき得る。係数エンコーダ/デコーダ1002は、画像エンコーダ/デコーダ1004と、たとえば、エンコーダ/デコーダ1004のハードウェア内に組み込まれるチップまたは他のハードウェア要素として、エンコーダ/デコーダ1004内に差し込まれるチップまたは他のハードウェア要素として、外部ソフトウェアモジュールとして、エンコーダ/デコーダ1004のコード内に組み込まれたソフトウェアモジュールとして、および/またはこれらの組合せとして統合され得る。
【０１９６】
画像エンコーダ/デコーダ1004は、符号化および/または復号コンポーネント、たとえば、量子化(たとえば、量子化モジュールによる)、係数スキャン(たとえば、係数スキャンモジュールによる)、エントロピー符号化(たとえば、エントロピー符号化モジュールによる)、画像内および/または画像間予測(たとえば、予測モジュールによる)のうちの1つまたは複数を含み得る。
【０１９７】
システム1000は、たとえば、画像生成器1008から、送信機/受信機1010から(たとえば、ネットワークインターフェース、テレビジョンケーブル、ワイヤレストランシーバ)、および/または画像を記憶しているメモリ1012から、1つまたは複数の画像を受信するように構成されている、画像エンコーダ/デコーダ1004に結合されているデータインターフェース1006を備える。
【０１９８】
受信された画像は、画像エンコーダ/デコーダ1004によって処理され、変換係数は図1および/または図2を参照しつつ説明されているような1つまたは複数の画像フレームの1つまたは複数のブロックについて生成される。
【０１９９】
圧縮された画像は、メモリ1012に記憶され、および/または送信機/受信機1010を使用して伝送され得る。
【０２００】
復号されるときに、画像は、メモリ1012上の記憶ストレージから取り出され、および/または送信機/受信機1010から受信され得る。復号は、画像エンコーダ/デコーダ1004によって行われ、本明細書で説明されているように係数エンコーダ/デコーダ1002によって変換係数の復号が行われる。復号された画像は、ディスプレイ1014上に表示され、送信機受信機1010によって伝送され、および/またはメモリ1012上に記憶され得る。
【０２０１】
次に、本発明のいくつかの実施形態による、変換係数のセットからフレーム内にブロックを再構成するための方法のフローチャートである図11への参照がなされている。図11の方法は、図1の方法に基づき、その方法に対して相補的である。図1の方法は、ブロックを変換することを示しており、これは図11の方法に基づく逆変換である。図11の方法は、メディアデコーダの逆変換部分として働くように構成されているメディアエンコーダの図2の変換部分202によって実行され得る。逆変換は、それぞれ変換モジュールによって、および/または逆変換処理コンポーネントのうちの1つまたは複数を実行するように構成されている他のモジュールによって実行され得る。
【０２０２】
1102において、回転対称ブロックの対の1つまたは複数のメンバーを表す変換係数が受信される。いくつかの場合において、係数のない1つまたは複数の回転対称ブロックが受信され、および/または受信されない場合があり(たとえば、係数のないブロックはスキップされ得る)、たとえば、回転対称ブロックを表す変換係数を表さない信号が受信され得ることに留意されたい。代替的に、またはそれに加えて、いくつかの場合において、ブロック全体についてただ1つの係数が受信されることに留意されたい(たとえば、DC係数)。
【０２０３】
関連付けられている選択された回転対称マスクを表す信号は、受信されるか、または故意に受信されなかったときに知られているとみなされ得る(たとえば、マスクは予測因子の指示から推論される)。回転対称マスクは、フレームの復号されたブロックとしてのサイズおよび/または形状を有する多次元空間内の回転対称を定義する。
【０２０４】
1104において、回転対称ブロックの対は、受信された変換係数に基づき計算される。回転対称ブロックの対の各メンバーは、2つの相補的部分のうちの一方を含む。
【０２０５】
1106において、2つの相補的部分の各部分は、回転対称ブロックの対の各それぞれのメンバーから抽出される。
【０２０６】
1108において、2つの相補的部分からブロックが再構成される。再構成は、回転対称マスクに基づきガイドされ得る。代替的に、ブロックは、マスクなしでそれらの部分から再構成され、正方形または矩形のブロックを形成することに基づきガイドされ、たとえば、パズルピースのように2つの部分を繋ぎ合わせる。
【０２０７】
適宜、ブロックは、フレーム内で指定される。
【０２０８】
1112において、さらなる処理、記憶のために復号されたブロックが用意され、および/または伝送される。フレームは、再構成されたブロックから再構成されるものとしてよい。フレームは、画面に、たとえば、ビデオの一部として表示され得る。
【０２０９】
次に、本明細書で説明されている方法および/またはシステムを実行した実験的結果の画像およびグラフを含む図である図12A〜図12Iへの参照がなされる。このグラフは、圧縮標準に基づく方法を使用する画像データ圧縮に関して、本明細書において説明されているシステムおよび/または方法を使用する性能の改善を示している。これらの実験は、フレーム内符号化方法を使用する個別のフレームに基づく。
【０２１０】
これらの実験は、次のように実行される。
【０２１１】
各YUVビデオシーケンスからの1つのフレームが取得される。さまざまなフレームサイズが使用され、これは、共通中間フォーマット(CIF)、1/4-CIF(QCIF)、および高解像度(HD)を含む、異なる標準によって定義されている。各フレームは、8×8、16×16、および32×32ピクセルのサイズを含む、均一にパーティションに区切られ固定されたN×Nサイズのブロックにされる。
【０２１２】
マスク選択および適用に対して、2×(N-1)の異なる線配向を含む回転対称マスクライブラリが生成される。
【０２１３】
整数変換、スケーリング、および量子化方式は、H.265標準に基づき適用される。
【０２１４】
係数スキャンは、変換係数のN×N行列を変換係数の4×4の部分行列に細分することによって実行される。係数スキャンは、ゼロ係数をスキップしながら各4×4行列においてジグザグスキャンを使用して実行される。
【０２１５】
変換係数は、H.264 CAVLC標準に基づき符号化され、これは予測モード、マスクタイプ、およびMBtype(本明細書では選択された符号化されたブロックとして定義される(すなわち、標準N×Nブロックまたは本明細書で説明されているように2つの相補的部分に分割されたブロック))に対する信号も定義した。
【０２１６】
N×Nブロックに対するブロックイントラ予測は、4つのモード、すなわち、垂直(V)、水平(H)、DC(すなわち、フラット)(D)、および平面(P)に基づく。回転対称ブロックの対の符号化メンバーは、別個の、および/または共通のイントラ予測因子に基づく。共通イントラ予測因子は、4つのイントラモード、すなわち、V、H、D、およびPを含む。別個のイントラ予測因子は、4つのイントラモードの組合せの順列、VV、VH、...、およびPPに基づく16個のイントラモードを含む。
【０２１７】
標準N×N符号化方法に基づき特定のブロックを符号化するかどうか、または回転対称マスクを適用し回転対称ブロック(本明細書で説明されているような)の対を符号化するかどうかを決定することは、SSE+lambda*Bitsとして定義されている速度歪み(RD)費用関数に基づいており、ここで、SSEは、再構成されたブロックと入力ブロックとの間の平方誤差の総和を表し、lambdaは、量子化パラメータ(Qp)に依存する項を表し、Bitsは、シグナリングビットを含むブロック内の符号化されたビットの数を表す。符号化決定は、また、非ゼロ係数のパーセンテージに基づくようにもされた(PerNZ Coeffによってグラフにおいて表される)。
【０２１８】
結果は、次のように要約される。
【０２１９】
同じPSNRに対する最大15%までのビットレートの削減が示されている。35個のQCIFシーケンスフレームについて、サイズ16×16のブロックに分割されると、35〜45dBのPSNR範囲に対してビットレートの約7%の平均的削減が得られた。サイズ16×16のブロックに分割される、10個のより大きいサイズのシーケンスフレームについて、約7.5%の平均削減が達成された。
【０２２０】
図12Aは、本明細書で説明されている実験の一部として本明細書で説明されているシステムおよび/または方法により処理される画像(たとえば、フレーム)の一例である。画像は、akiyo.cifという名前のCIFシーケンスの10番目のフレームに対応する。CIFフレームは、サイズ352×288ピクセルを有する。フレームは、正方形N×Nブロックに基づき均一にパーティション区切られてブロックにされ、ただしN=16ピクセルである(例示的ブロックは、1202で表されている)。フレームは、Qp=30を使用して符号化される。2(N-1)=30の異なる線配向を含む回転対称マスクライブラリは、ブロックを分割するためのマスクの選択の基準をもたらす。選択されたマスクを線配向と関連付けているブロックが図に示されており、たとえば、マスク1204を有するブロックである。多くの場合において、マスク線は、ブロック内のエッジに従う。マスクが選択されなかったブロックは、単一のN×Nブロックとして符号化され、マスクなしの画像、たとえば、ブロック1202内に示された。
【０２２１】
図12B〜図12Iのグラフは、図12Aの処理に基づく実験結果を含む。
【０２２２】
図12Bは、同じ客観的画質レベル(PSNRで表されている)で、標準N×N変換ブロックを使用して図12Aの符号化画像上で、符号化するための2つの相補的部分にブロックを分割するようにマスクが選択されたときの図12Aのフレーム全体に対するビットレートに関する改善を示すグラフである。グラフは、ビットレート改善のパーセントをPSNRの関数として示している。本明細書で説明されているシステムおよび/または方法を使用する図12Aの画像について10%を超えるビットレートの改善が達成されたことに留意されたい。
【０２２３】
図12Cは、同じ客観的画質レベル(PSNRで表されている)で、標準N×N変換ブロックを使用して図12Aの符号化画像上で、符号化するための2つの相補的部分にブロックを分割するようにマスクが選択されたときの図12Aのフレーム全体に対する非ゼロ毎の(PerNZ)係数に関する改善を示すグラフである。量子化の後の非ゼロである変換係数の数は、変換係数を符号化するための符号化されたビットの数を推定するために使用される。非ゼロ係数尺度は、シグナリングビットのオーバーヘッドを含まない(たとえば、予測モード、マスク選択モード、およびMBタイプ)ことに留意されたい。グラフは、本明細書で説明されているシステムおよび/または方法を使用して約15%の非ゼロ変換係数のパーセンテージに関する改善を示している。
【０２２４】
図12Dは、C2処理方式およびN×N処理方式に対する、ビットレートの関数としてY-PSNRを示すグラフである。C2処理方式は、変換ブロックに対する2つの相補的部分のマスク選択および生成のいずれかに基づき本明細書で説明されている方法および/またはシステムであるか、または標準方法を使用してN×Nブロックを符号化する。マスクベースの符号化またはN×Nブロックベースの符号化の選択は、各マスクベースのパーティションおよび各N×Nブロックに関連付けられている特定の尺度に基づく。N×N処理方式は、単一のN×Nブロックとして各ブロックを符号化する標準方法に基づく。グラフは、C2方法が、同じビットレートに対して改善された画質を表す、同じPSNR値に対する、N×N方法よりも低いビットレートを達成したことを示している。
【０２２５】
図12Eは、C2方法およびN×N方法に基づく、フレーム全体に対する非ゼロ変換係数のパーセントの関数としてY-PSNRを示すグラフである。グラフは、非ゼロ変換係数の同じパーセンテージに対する改善された画質を表す、同じPSNRに対する非ゼロ変換係数のより低いパーセンテージに関する、C2方法(すなわち、本明細書で説明されているシステムおよび/または方法)に基づく改善された圧縮性能を示している。
【０２２６】
図12Fは、N×Nの標準的な場合に対するイントラ予測モードの適用の頻度を示すヒストグラムである。x軸では、1は予測なしを表し、2は垂直予測を表し、3は水平予測を表し、4はDC予測を表し、5は平面予測を表す。
【０２２７】
図12Gは、16個の別々の予測因子モードに対する、本明細書において説明されている方法および/またはシステムのC2方式に対するイントラ予測モードの適用の頻度を示すヒストグラムであり、1は予測なしを表し、2はVV予測を表し、3はVH予測を表し、4はVD予測を表し、5はVP予測を表し、6はHV予測を表し、...、17はPP予測を表す。
【０２２８】
図12Hは、30個の回転対称マスクのライブラリの各マスクの適用の頻度を示すヒストグラムである。
【０２２９】
図12Iは、Qpの関数としての3つの変数の比を示すグラフである。
【０２３０】
線1214は、C2方法が画像のブロックに対する標準のN×N方法の上で選択されたブロックのパーセンテージを示す。たとえば、Qp=30において、フレーム内のブロックの約35%が、C2方法に基づき(マスク選択および2つの相補的部分の符号化に基づき)符号化されているが、残り(約65%)は、単一の16×16ブロックとして符号化された。
【０２３１】
線1212は、C2方法に基づき符号化されたフレームのビットのパーセンテージを示す。たとえば、Qp=30において、フレーム内のビットの約45%は、C2方法に基づき符号化された。
【０２３２】
線1210は、C2方法を使用して符号化されたフレームの非ゼロ毎の変換係数のパーセンテージを示す。たとえば、Qp=30において、フレーム内の非ゼロ毎の変換係数の45%超は、C2方法を使用して符号化された。
【０２３３】
本発明のさまざまな実施形態の説明は、例示を目的として提示されているが、網羅的であること、または開示されている実施形態に制限されることを意図されていない。多くの修正形態および変更形態は、説明されている実施形態の範囲および精神から逸脱することなく当業者には明らかであろう。本明細書で使用されている用語は、実施形態の原理、市場に見られる技術に勝る実用用途または技術的改善を最もよく説明するか、または他の当業者が本明細書で開示されている実施形態を理解できるように選択された。
【０２３４】
本出願から成熟する特許の存続期間中に、多くの関連する画像エンコーダおよび/または画像デコーダが開発されることが予想され、エンコーダという用語の範囲は、そのようなすべての新しい技術を先験的に含むことが意図されている。
【０２３５】
本明細書で使用されているように、「約」という語は、±10%を指す。
【０２３６】
「備える」、「備えている」、「含む」、「含んでいる」、「有している」、およびそれらの活用形は、「限定はしないが含む」ことを意味する。この言い回しは、「〜からなる」および「本質的に〜からなる」という言い回しを包含する。
【０２３７】
「本質的に〜からなる」という語句は、組成または方法が、追加の材料および/またはステップを含むが、追加の材料および/またはステップが請求されている組成または方法の基本的な、および新規性のある特性を実質的に変えない場合に限ることを意味する。
【０２３８】
本明細書の英語原文で使用されているように、英文中の単数形の「a」、「an」、および「the」は、文脈上明らかに他の意味に解すべき場合を除き、複数の指示対象を含む。たとえば、「化合物」または「少なくとも1つの化合物」という言い回しは、その混合物を含めて、複数の化合物を含み得る。
【０２３９】
「例示的な」という単語は、本明細書では、「一例、事例、または例示として使用する」ことを意味するために使用される。「例示的な」として記述される実施形態は、必ずしも、他の実施形態よりも好ましい、または有利であると解釈される、および/または他の実施形態から特徴の組み込みを除外する、ことをしない。
【０２４０】
「適宜」という言い回しは、本明細書では、「いくつかの実施形態において提供され、他の実施形態では提供されない」ことを意味するために使用される。本発明の特定の実施形態は、このような特徴が食い違うことがない限り複数の「オプションの」特徴を含み得る。
【０２４１】
本出願全体を通して、本発明のさまざまな実施形態が、範囲形式で提示され得る。範囲形式の説明は、単に簡潔にするための便宜上のものであり、本発明の範囲に対する柔軟性のない制限として解釈されるべきでないことは理解されるであろう。したがって、範囲の説明は、特に開示されているすべての可能な部分範囲さらにはその範囲内の個別の数値を有するものとして考えられるべきである。たとえば、1から6までのなどの範囲の説明は、1から3まで、1から4まで、1から5まで、2から4まで、2から6まで、3から6までなどの特に開示されている部分範囲、さらには、その範囲内の個別の数、たとえば、1、2、3、4、5、および6を有すると考えられるべきである。これは、範囲の広さに関係なく適用される。
【０２４２】
数値範囲が、本明細書で指示されている場合には、必ず、指示された範囲内に引用される数(分数または整数)を含めることが意図されている。第1の指示する数と第2の指示する数と「の間の範囲にある/範囲」および第1の指示する数「から」第2の指示する数「までの範囲にある/範囲」という言い回しは、本明細書では交換可能に使用され、第1および第2の指示された数と、それらの間のすべて分数および整数とを含むことが意図されている。
【０２４３】
わかりやすくするために、別々の実施形態の背景状況において説明されている、本発明のいくつかの特徴も、単一の実施形態において組み合わせて実装され得ることは理解されるであろう。逆に、簡潔にするため、単一の実施形態の背景状況において説明されている、本発明のさまざまな特徴も、別々に、または適当な部分組合せで、または本発明の他の説明されている実施形態において適切なように提供され得る。さまざまな実施形態の背景において説明されているいくつかの特徴は、実施形態がこれらの要素がないと動作不能にならない限り、これらの実施形態の本質的な特徴と考えられるべきでない。
【０２４４】
本発明は、その特定の実施形態と併せて説明されているけれども、多くの代替的形態、修正形態、および変更形態が、当業者には明らかであることは明白である。したがって、本発明は、付属の請求項の精神と広い範囲内に収まるすべてのそのような代替的形態、修正形態、および変更形態を包含することが意図されている。
【０２４５】
本明細書で言及されているすべての刊行物、特許、および特許出願は、それぞれの個別の刊行物、特許、または特許出願が、参照により本明細書に組み込まれることが特に、また個別に指示されている場合と同じ範囲にわたって、その全体が参照により本明細書に組み込まれる。それに加えて、本出願における文献の引用または識別は、そのような文献が本発明への従来技術として利用可能であることを認めるものとして解釈されないものとする。節の見出しが使用される限り、これらは、必要な制限と解釈されるべきでない。
【符号の説明】
【０２４６】
202  メディアエンコーダ
204  プロセッサ
206  メモリ
208  入力データインターフェース
210  フレーム
212A  ブロックデジグネータモジュール
212B  マスクセレクタモジュール
212C  ブロックスプリッタモジュール
212D  対生成器モジュール
212E  係数計算モジュール
212F  回転対称マスクライブラリ
212G  予測モジュール
212H  対データセットリポジトリ
214  出力入力インターフェース
216  変換係数
302  直角台形
304  直角三角形
306  矩形
308  正方形
402  回転対称マスク
406  フレーム
410  マスク
504  仮想線
602  暗領域
604  明領域
606A、606B  マスク
702  分割された円
704A〜704H  領域
706  マスクライブラリ
802  マスク
804  2進パターン
806  マスク
808  2進パターン
1000  システム
1002  係数エンコーダ/デコーダ
1004  画像エンコーダ/デコーダ
1006  データインターフェース
1008  画像生成器
1010  送信機/受信機
1012  メモリ
1014  ディスプレイ
1204  マスク
1212  線
1214  線
【図１】
2019134457.tif 000003
【図２】
2019134457.tif 000004
【図３】
2019134457.tif 000005
【図４】
2019134457.tif 000006
【図５Ａ】
2019134457.tif 000007
【図５Ｂ】
2019134457.tif 000008
【図５Ｃ】
2019134457.tif 000009
【図６Ａ】
2019134457.tif 000010
【図６Ｂ】
2019134457.tif 000011
【図６Ｃ】
2019134457.tif 000012
【図７】
2019134457.tif 000013
【図８】
2019134457.tif 000014
【図９】
2019134457.tif 000015
【図１０】
2019134457.tif 000016
【図１１】
2019134457.tif 000017
【図１２Ａ】
2019134457.tif 000018
【図１２Ｂ】
2019134457.tif 000019
【図１２Ｃ】
2019134457.tif 000020
【図１２Ｄ】
2019134457.tif 000021
【図１２Ｅ】
2019134457.tif 000022
【図１２Ｆ】
2019134457.tif 000023
【図１２Ｇ】
2019134457.tif 000024
【図１２Ｈ】
2019134457.tif 000025
【図１２Ｉ】
2019134457.tif 000026
【手続補正書】
【提出日】平成31年4月10日(2019.4.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
フレームまたはその一部の中のブロックを符号化するための変換係数のセットを生成するように適合されている装置であって、
フレームまたはその一部を受信するように適合されているデータインターフェースに結合されているメディアエンコーダを備え、前記メディアエンコーダは、
前記ブロックとしてのサイズおよび形状を有する多次元空間内の複数の異なる回転対称を定義する複数の回転対称マスクから前記ブロックに対する回転対称マスクを選択し、
前記ブロックを前記選択された回転対称マスクに基づき2つの相補的部分に分割し、
前記2つの相補的部分のうちの1つを各々有する一対の回転対称ブロックを生成し、
回転対称ブロックの前記対の少なくとも1つのメンバーに対する少なくとも1つの変換係数を計算する
ように適合される装置。
【請求項２】
前記メディアエンコーダは、前記2つの相補的部分のうちの一方および前記ブロックのサイズおよび形状を形成するように追加された前記それぞれの部分の2次元(2D)鏡像によって回転対称ブロックの前記対の各メンバーを生成するように適合される請求項1に記載の装置。
【請求項３】
前記複数の回転対称マスクは、回転対称マスクライブラリ内にあり、前記メディアエンコーダは、前記ブロックのサイズおよび形状のうちの少なくとも一方に基づき複数の回転対称マスクライブラリから前記回転対称マスクライブラリを選択するように適合される請求項1または2に記載の装置。
【請求項４】
前記メディアエンコーダは、前記ブロックに対する圧縮プリファレンスに基づき複数の回転対称マスクライブラリから前記回転対称マスクライブラリを選択するように適合される請求項3に記載の装置。
【請求項５】
前記メディアエンコーダは、前記フレームまたはその一部を含むビデオデータの分類に基づき複数の回転対称マスクライブラリから前記回転対称マスクライブラリを選択するように適合される請求項3または4に記載の装置。
【請求項６】
前記多次元空間は、2次元空間であり、前記複数の異なる回転対称マスクは複数の行列を備え、各々前記2次元空間の対向するエッジを結ぶ異なる線を定義して、前記2次元空間を2つの相補的部分に分割する請求項3から5のいずれか一項に記載の装置。
【請求項７】
前記メディアエンコーダは、前記ブロックの前記2つの相補的部分のうちの少なくとも一方に適合されている少なくとも1つの空間的予測因子を使用して前記少なくとも1つの変換係数を符号化するように適合される請求項1から6のいずれか一項に記載の装置。
【請求項８】
前記メディアエンコーダは、前記ブロックの前記2つの相補的部分のうちの少なくとも一方に適合されている少なくとも1つの時間的予測因子を使用して前記少なくとも1つの変換係数を符号化するように適合される請求項1から7のいずれか一項に記載の装置。
【請求項９】
前記メディアエンコーダは、前記2つの相補的部分のうちのそれぞれの1つに関係する空間的予測因子を使用して回転対称ブロックの前記対の各々の前記変換係数のうちの少なくとも1つを符号化するように適合される請求項1から8のいずれか一項に記載の装置。
【請求項１０】
前記メディアエンコーダは、前記2つの相補的部分のうちのそれぞれの1つに関係する運動ベクトルを使用して回転対称ブロックの前記対の各々の前記変換係数のうちの少なくとも1つを符号化するように適合される請求項1から9のいずれか一項に記載の装置。
【請求項１１】
前記メディアエンコーダは、変換プロセスの結果、および/または前記2つの回転対称ブロックのうちの少なくとも一方に適用される変換プロセスの結果の推定に基づき前記回転対称マスクを選択するように適合される請求項1から10のいずれか一項に記載の装置。
【請求項１２】
前記メディアエンコーダは、回転対称ブロックの前記対の少なくとも1つのメンバーに対する前記少なくとも1つの変換係数に適用される量子化プロセスおよび符号化プロセスのうちの少なくとも一方の結果および/または結果の推定に基づき前記回転対称マスクを選択するように適合される請求項1から11のいずれか一項に記載の装置。
【請求項１３】
前記メディアエンコーダは、前記ブロック内のピクセル値のパターンに従って前記回転対称マスクを選択するように適合される請求項1から12のいずれか一項に記載の装置。
【請求項１４】
前記メディアエンコーダは、前記ブロックの空間的隣接ブロックおよび前記ブロックの時間的隣接ブロックのうちの少なくとも1つから抽出されたコンテンツに基づき前記回転対称マスクを選択するように適合される請求項1から13のいずれか一項に記載の装置。
【請求項１５】
前記メディアエンコーダは回転対称マスクを選択するように適合され、前記ブロックの空間的隣接ブロックおよび前記ブロックの時間的隣接ブロックのうちの少なくとも1つに関連付けられている情報に基づき実行される請求項1から14のいずれか一項に記載の装置。
【請求項１６】
空間的および時間的隣接ブロックからなる群の少なくとも1つに関連付けられている前記情報は、予測に関係する請求項15に記載の装置。
【請求項１７】
前記メディアエンコーダは回転対称マスクを選択するように適合され、前記ブロックに対する圧縮プリファレンスに基づき実行される請求項1から16のいずれか一項に記載の装置。
【請求項１８】
前記回転対称マスクは、矩形の対向するエッジを結ぶ線を定義して、矩形ブロックを2つの2D鏡像相補的部分に分割するように適合されている請求項1から17のいずれか一項に記載の装置。
【請求項１９】
前記データインターフェースは、回転対称ブロックの対の少なくとも1つのメンバーを表す少なくとも1つの変換係数と、関連付けられている選択された回転対称マスクを表す信号であって、前記回転対称マスクは、フレームまたはその一部のブロックとしてのサイズおよび形状を有する多次元空間内の回転対称を定義する、信号とを受信するようにさらに適合され、
前記メディアエンコーダは、
前記受信された少なくとも1つの変換係数の逆変換に基づき回転対称ブロックの前記対を計算することであって、回転対称ブロックの前記対の各メンバーは2つの相補的部分のうちの一方を有する、計算することと、
前記回転対称マスクに基づき、前記2つの相補的部分からブロックを再構成することと、
を行うようにさらに適合される請求項1から18のいずれか一項に記載の装置。
【請求項２０】
前記選択された回転対称マスクは、直角三角形304であり、前記2つの相補的部分は、2つの三角形状部分である、請求項1から19のいずれか一項に記載の装置。
【請求項２１】
フレームまたはその一部におけるブロックの変換係数のセットを生成するための方法であって、
前記ブロックとしてのサイズおよび形状を有する多次元空間内の複数の異なる回転対称を定義する複数の異なる回転対称マスクを含む回転対称マスクライブラリから回転対称マスクを選択するステップと、
前記ブロックを前記選択された回転対称マスクに基づき2つの相補的部分に分割するステップと、
前記2つの相補的部分のうちの1つを各々有する一対の回転対称ブロックを生成するステップと、
回転対称ブロックの前記対の各メンバーに対する少なくとも1つの変換係数を計算するステップと、
を含む方法。
【請求項２２】
前記選択された回転対称マスクは、直角三角形304であり、前記2つの相補的部分は、2つの三角形状部分である、請求項21に記載の方法。
【請求項２３】
フレームまたはその一部のブロックを復号するように適合されている装置であって、
回転対称ブロックの対の少なくとも1つのメンバーを表す少なくとも1つの変換係数と、回転対称マスクを表す信号であって、前記回転対称マスクはフレームまたはその一部のブロックとしてのサイズおよび形状を有する多次元空間内の回転対称を定義する、信号とを受信するように適合されているデータインターフェースに結合されたメディアデコーダを備え、前記メディアデコーダは、
前記受信された少なくとも1つの変換係数の逆変換に基づき回転対称ブロックの前記対を計算することであって、回転対称ブロックの前記対の各メンバーは2つの相補的部分のうちの一方を有する、計算することと、
前記回転対称マスクに基づき、前記2つの相補的部分からブロックを再構成することと、
を行うように適合されている装置。
【請求項２４】
前記回転対称マスクは、直角三角形304であり、前記2つの相補的部分は、2つの三角形状部分である、請求項23に記載の装置。
【請求項２５】
フレームまたはその一部のブロックを再構成するための方法であって、
一対の回転対称ブロックの少なくとも1つのメンバーを表す少なくとも1つの変換係数と、回転対称マスクを表す信号であって、前記回転対称マスクはフレームまたはその一部のブロックとしてのサイズおよび形状を有する多次元空間内の回転対称を定義する、信号とを受信するステップと、
前記受信された少なくとも1つの変換係数の逆変換に基づき回転対称ブロックの前記対を計算するステップであって、回転対称ブロックの前記対の各メンバーは2つの相補的部分のうちの一方を有する、ステップと、
前記回転対称マスクに基づき、前記2つの相補的部分からブロックを再構成するステップと、
を含む、方法。
【請求項２６】
前記回転対称マスクは、直角三角形304であり、前記2つの相補的部分は、2つの三角形状部分である、請求項25に記載の方法。
【請求項２７】
コンピュータ上で実行されたときに請求項21または25に記載の方法を実行するように構成されているコンピュータプログラム。
【外国語明細書】
2019134457000001.pdf