(57)【要約】      （修正有）【課題】組み込みコーデックのためのサブブロックベースのエントロピー符号化装置及び符号化方法を提供する。【解決手段】サブブロックベースのエントロピー符号化は、コンテンツブロックを複数のサブブロックに区分化するステップと、複数の符号化サブブロックを生成するよう、複数の可変長符号化テーブルを用いて複数のサブブロックのうちの少なくとも１つのサブブロックを符号化するステップと、複数の符号化サブブロックのうちどの符号化サブブロックが最少ビット量を含むかに基づいて、複数の符号化サブブロックの中から１つの符号化サブブロックを選択するステップと、を備える。【選択図】図１
2020145666.tif 000002
【特許請求の範囲】
【請求項１】
デバイスの非一時的メモリ内にプログラミングされる方法であって、
コンテンツブロックを複数のサブブロックに区分化するステップと、
複数の符号化サブブロックを生成するよう、複数の可変長符号化テーブルを用いて前記複数のサブブロックのうちの少なくとも１つのサブブロックを符号化するステップと、
前記複数の符号化サブブロックのうちどの符号化サブブロックが最少ビット量を含むかに基づいて、前記複数の符号化サブブロックの中から１つの符号化サブブロックを選択するステップと、
を含む、方法。
【請求項２】
前記複数のサブブロックがルーマサブブロックを含み、前記ルーマサブブロックの第１列が第１符号化テーブルを用いて符号化され、前記ルーマサブブロックの第２列が、第１符号化テーブル、第２符号化テーブル又は第３符号化テーブルを用いて各々が符号化された２つのサブブロックを含み、前記２つのサブブロックが、同じ符号化テーブル又は異なる符号化テーブルを用いて符号化される、請求項１に記載の方法。
【請求項３】
前記複数のサブブロックのうちの少なくとも１つのサブブロックを符号化するステップは、前記ルーマサブブロックの符号化がオンであるか又はオフであるかを信号送信するビットと、前記ルーマサブブロックの符号化に使用される符号化テーブルを指定するルーマサブブロックタイプを信号送信するビットと、を含む、請求項１に記載の方法。
【請求項４】
前記複数のサブブロックがクローマサブブロックを含み、前記クローマサブブロックが、水平パーティションによって区分化され、Ｕブロックが２つのサブブロックを含み、Ｖブロックが２つのサブブロックを含み、
前記Ｕブロックの前記２つのサブブロックの第１のサブブロックが、第１符号化テーブル又は第２符号化テーブルを用いて符号化され、前記Ｕブロックの前記２つのサブブロックの第２のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、前記第１符号化テーブル又は前記第２符号化テーブルを用いて符号化され、
前記Ｖブロックの前記２つのサブブロックの第１のサブブロックが、第１符号化テーブル又は第２符号化テーブルを用いて符号化され、前記Ｖブロックの前記２つのサブブロックの第２のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、前記第１符号化テーブル又は前記第２符号化テーブルを用いて符号化される、請求項１に記載の方法。
【請求項５】
前記複数のサブブロックがクローマサブブロックを含み、前記クローマサブブロックが垂直パーティションによって区分化されるときに、Ｕブロックが２つのサブブロックを含み、Ｖブロックが２つのサブブロックを含み、
前記Ｕブロックの前記２つのサブブロックの第１のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、第１符号化テーブル又は第２符号化テーブルを用いて符号化され、前記Ｕブロックの前記２つのサブブロックの第２のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、前記第１符号化テーブル又は前記第２符号化テーブルを用いて符号化され、
前記Ｖブロックの前記２つのサブブロックの第１のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、前記第１符号化テーブル又は前記第２符号化テーブルを用いて符号化され、前記Ｖブロックの前記２つのサブブロックの第２のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、前記第１符号化テーブル又は前記第２符号化テーブルを用いて符号化される、請求項１に記載の方法。
【請求項６】
前記複数のサブブロックがクローマサブブロックを含み、前記クローマサブブロックが垂直パーティションによって区分化されるときに、Ｕブロックが４つのサブブロックを含み、Ｖブロックが４つのサブブロックを含み、
前記Ｕブロックの前記４つのサブブロックの各サブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、第１符号化テーブル又は第２符号化テーブルを用いて符号化され、
前記Ｖブロックの前記４つのサブブロックの各サブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、前記第１符号化テーブル又は前記第２符号化テーブルを用いて符号化される、請求項１に記載の方法。
【請求項７】
前記複数のサブブロックのうちの少なくとも１つのサブブロックを符号化するステップは、前記クローマサブブロックの符号化がオンであるか又はオフであるかを信号送信するビットと、水平区分化又は垂直区分化を信号送信する第２のビットと、前記クローマサブブロックの符号化に使用される符号化テーブルを指定するクローマサブブロックタイプを信号送信するビットのセットと、を含む、請求項１に記載の方法。
【請求項８】
コンテンツブロックを複数のサブブロックに区分化するステップと、
複数の符号化サブブロックを生成するよう、複数の可変長符号化テーブルを用いて前記複数のサブブロックのうちの少なくとも１つのサブブロックを符号化するステップと、
前記複数の符号化サブブロックのうちどの符号化サブブロックが最少ビット量を含むかに基づいて、前記複数の符号化サブブロックの中から１つの符号化サブブロックを選択するステップと、
を行うアプリケーションを格納する非一時的メモリと、
前記メモリに結合され、前記アプリケーションを処理するように構成されたプロセッサと、
を備える、装置。
【請求項９】
前記複数のサブブロックがルーマサブブロックを含み、前記ルーマサブブロックの第１列が第１符号化テーブルを用いて符号化され、前記ルーマサブブロックの第２列が、第１符号化テーブル、第２符号化テーブル又は第３符号化テーブルを用いて各々が符号化された２つのサブブロックを含み、前記２つのサブブロックが、同じ符号化テーブル又は異なる符号化テーブルを用いて符号化される、請求項８に記載の装置。
【請求項１０】
前記複数のサブブロックのうちの少なくとも１つのサブブロックを符号化するステップは、前記ルーマサブブロックの符号化がオンであるか又はオフであるかを信号送信するビットと、前記ルーマサブブロックの符号化に使用される符号化テーブルを指定するルーマサブブロックタイプを信号送信するビットと、を含む、請求項８に記載の装置。
【請求項１１】
前記複数のサブブロックがクローマサブブロックを含み、前記クローマサブブロックが、水平パーティションによって区分化され、Ｕブロックが２つのサブブロックを含み、Ｖブロックが２つのサブブロックを含み、
前記Ｕブロックの前記２つのサブブロックの第１のサブブロックが、第１符号化テーブル又は第２符号化テーブルを用いて符号化され、前記Ｕブロックの前記２つのサブブロックの第２のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、前記第１符号化テーブル又は前記第２符号化テーブルを用いて符号化され、
前記Ｖブロックの前記２つのサブブロックの第１のサブブロックが、第１符号化テーブル又は第２符号化テーブルを用いて符号化され、前記Ｖブロックの前記２つのサブブロックの第２のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、前記第１符号化テーブル又は前記第２符号化テーブルを用いて符号化される、請求項８に記載の装置。
【請求項１２】
前記複数のサブブロックがクローマサブブロックを含み、前記クローマサブブロックが垂直パーティションによって区分化されるときに、Ｕブロックが２つのサブブロックを含み、Ｖブロックが２つのサブブロックを含み、
前記Ｕブロックの前記２つのサブブロックの第１のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、第１符号化テーブル又は第２符号化テーブルを用いて符号化され、前記Ｕブロックの前記２つのサブブロックの第２のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、前記第１符号化テーブル又は前記第２符号化テーブルを用いて符号化され、
前記Ｖブロックの前記２つのサブブロックの第１のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、前記第１符号化テーブル又は前記第２符号化テーブルを用いて符号化され、前記Ｖブロックの前記２つのサブブロックの第２のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、前記第１符号化テーブル又は前記第２符号化テーブルを用いて符号化される、請求項８に記載の装置。
【請求項１３】
前記複数のサブブロックがクローマサブブロックを含み、前記クローマサブブロックが垂直パーティションによって区分化されるときに、Ｕブロックが４つのサブブロックを含み、Ｖブロックが４つのサブブロックを含み、
前記Ｕブロックの前記４つのサブブロックの各サブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、第１符号化テーブル又は第２符号化テーブルを用いて符号化され、
前記Ｖブロックの前記４つのサブブロックの各サブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、前記第１符号化テーブル又は前記第２符号化テーブルを用いて符号化される、請求項８に記載の装置。
【請求項１４】
前記複数のサブブロックのうちの少なくとも１つのサブブロックを符号化するステップは、前記クローマサブブロックの符号化がオンであるか又はオフであるかを信号送信するビットと、水平区分化又は垂直区分化を信号送信する第２のビットと、前記クローマサブブロックの符号化に使用される符号化テーブルを指定するクローマサブブロックタイプを信号送信するビットのセットと、を含む、請求項８に記載の装置。
【請求項１５】
コンテンツブロックを複数のサブブロックに区分化し、
複数の符号化サブブロックを生成するよう、複数の可変長符号化テーブルを用いて前記複数のサブブロックのうちの少なくとも１つのサブブロックを符号化し、
前記複数の符号化サブブロックのうちどの符号化サブブロックが最少ビット量を含むかに基づいて、前記複数の符号化サブブロックの中から１つの符号化サブブロックを選択する、
ように構成された第１のコンピュータデバイスと、
符号化された前記少なくとも１つのサブブロックを復号するよう構成された第２のコンピュータデバイスと、
を備える、システム。
【請求項１６】
前記複数のサブブロックがルーマサブブロックを含み、前記ルーマサブブロックの第１列が第１符号化テーブルを用いて符号化され、前記ルーマサブブロックの第２列が、第１符号化テーブル、第２符号化テーブル又は第３符号化テーブルを用いて各々が符号化された２つのサブブロックを含み、前記２つのサブブロックが、同じ符号化テーブル又は異なる符号化テーブルを用いて符号化される、請求項１５に記載のシステム。
【請求項１７】
前記複数のサブブロックのうちの少なくとも１つのサブブロックを符号化するステップは、前記ルーマサブブロックの符号化がオンであるか又はオフであるかを信号送信するビットと、前記ルーマサブブロックの符号化に使用される符号化テーブルを指定するルーマサブブロックタイプを信号送信するビットと、を含む、請求項１５に記載のシステム。
【請求項１８】
前記複数のサブブロックがクローマサブブロックを含み、前記クローマサブブロックが、水平パーティションによって区分化され、Ｕブロックが２つのサブブロックを含み、Ｖブロックが２つのサブブロックを含み、
前記Ｕブロックの前記２つのサブブロックの第１のサブブロックが、第１符号化テーブル又は第２符号化テーブルを用いて符号化され、前記Ｕブロックの前記２つのサブブロックの第２のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、前記第１符号化テーブル又は前記第２符号化テーブルを用いて符号化され、
前記Ｖブロックの前記２つのサブブロックの第１のサブブロックが、第１符号化テーブル又は第２符号化テーブルを用いて符号化され、前記Ｖブロックの前記２つのサブブロックの第２のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、前記第１符号化テーブル又は前記第２符号化テーブルを用いて符号化される、請求項１５に記載のシステム。
【請求項１９】
前記複数のサブブロックがクローマサブブロックを含み、前記クローマサブブロックが垂直パーティションによって区分化されるときに、Ｕブロックが２つのサブブロックを含み、Ｖブロックが２つのサブブロックを含み、
前記Ｕブロックの前記２つのサブブロックの第１のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、第１符号化テーブル又は第２符号化テーブルを用いて符号化され、前記Ｕブロックの前記２つのサブブロックの第２のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、前記第１符号化テーブル又は前記第２符号化テーブルを用いて符号化され、
前記Ｖブロックの前記２つのサブブロックの第１のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、前記第１符号化テーブル又は前記第２符号化テーブルを用いて符号化され、前記Ｖブロックの前記２つのサブブロックの第２のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、前記第１符号化テーブル又は前記第２符号化テーブルを用いて符号化される、請求項１５に記載のシステム。
【請求項２０】
前記複数のサブブロックがクローマサブブロックを含み、前記クローマサブブロックが垂直パーティションによって区分化されるときに、Ｕブロックが４つのサブブロックを含み、Ｖブロックが４つのサブブロックを含み、
前記Ｕブロックの前記４つのサブブロックの各サブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、第１符号化テーブル又は第２符号化テーブルを用いて符号化され、
前記Ｖブロックの前記４つのサブブロックの各サブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、前記第１符号化テーブル又は前記第２符号化テーブルを用いて符号化される、請求項１５に記載のシステム。
【請求項２１】
前記複数のサブブロックのうちの少なくとも１つのサブブロックを符号化するステップは、前記クローマサブブロックの符号化がオンであるか又はオフであるかを信号送信するビットと、水平区分化又は垂直区分化を信号送信する第２のビットと、前記クローマサブブロックの符号化に使用される符号化テーブルを指定するクローマサブブロックタイプを信号送信するビットのセットと、を含む、請求項１５に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオ符号化に関する。より具体的には、本発明は、サブブロックを用いたエントロピー符号化に関する。
【背景技術】
【０００２】
ビデオ符号化は、量子化、差分パルス符号変調（ＤＰＣＭ）、エントロピー符号化、及びリファインメントを含む。エントロピー符号化は、固定長の入力シンボルを対応する可変長の出力コードワードで置き換えることによりデータを圧縮するロスレス（無損失）データ圧縮方式である。
【発明の概要】
【課題を解決するための手段】
【０００３】
サブブロックベースのエントロピー符号化は、コンテンツのサブブロックにとって最良の符号化方式を選択することにより、コンテンツの符号化及び復号化を効率的に行う。コンテンツの各サブブロックに対する符号化方式を比較して、最小数のビットを利用する符号化方式を選択することにより、より効率的にコンテンツが復号化される。
【０００４】
１つの態様において、デバイスの非一時的メモリ内にプログラミングされる方法は、コンテンツブロックを複数のサブブロックに区分化するステップと、複数の符号化サブブロックを生成するよう、複数の可変長符号化テーブルを用いて複数のサブブロックのうちの少なくとも１つのサブブロックを符号化するステップと、複数の符号化サブブロックのうちどの符号化サブブロックが最少ビット量を含むかに基づいて、複数の符号化サブブロックの中から１つの符号化サブブロックを選択するステップと、を含む。複数のサブブロックがルーマサブブロックを含み、ルーマサブブロックの第１列が第１符号化テーブルを用いて符号化され、ルーマサブブロックの第２列が、第１符号化テーブル、第２符号化テーブル又は第３符号化テーブルを用いて各々が符号化された２つのサブブロックを含み、２つのサブブロックが、同じ符号化テーブル又は異なる符号化テーブルを用いて符号化される。複数のサブブロックのうちの少なくとも１つのサブブロックを符号化するステップは、ルーマサブブロックの符号化がオンであるか又はオフであるかを信号送信するビットと、ルーマサブブロックの符号化に使用される符号化テーブルを指定するルーマサブブロックタイプを信号送信するビットと、を含む。複数のサブブロックがクローマサブブロックを含み、クローマサブブロックが、水平パーティションによって区分化され、Ｕブロックが２つのサブブロックを含み、Ｖブロックが２つのサブブロックを含み、Ｕブロックの前記２つのサブブロックの第１のサブブロックが、第１符号化テーブル又は第２符号化テーブルを用いて符号化され、Ｕブロックの２つのサブブロックの第２のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、第１符号化テーブル又は第２符号化テーブルを用いて符号化され、Ｖブロックの２つのサブブロックの第１のサブブロックが、第１符号化テーブル又は第２符号化テーブルを用いて符号化され、Ｖブロックの前記２つのサブブロックの第２のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、第１符号化テーブル又は第２符号化テーブルを用いて符号化される。複数のサブブロックがクローマサブブロックを含み、クローマサブブロックが垂直パーティションによって区分化されるときに、Ｕブロックが２つのサブブロックを含み、Ｖブロックが２つのサブブロックを含み、Ｕブロックの前記２つのサブブロックの第１のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、第１符号化テーブル又は第２符号化テーブルを用いて符号化され、Ｕブロックの前記２つのサブブロックの第２のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、第１符号化テーブル又は第２符号化テーブルを用いて符号化され、Ｖブロックの前記２つのサブブロックの第１のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、第１符号化テーブル又は第２符号化テーブルを用いて符号化され、Ｖブロックの前記２つのサブブロックの第２のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、第１符号化テーブル又は第２符号化テーブルを用いて符号化される。複数のサブブロックがクローマサブブロックを含み、クローマサブブロックが垂直パーティションによって区分化されるときに、Ｕブロックが４つのサブブロックを含み、Ｖブロックが４つのサブブロックを含み、Ｕブロックの４つのサブブロックの各サブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、第１符号化テーブル又は第２符号化テーブルを用いて符号化され、Ｖブロックの前記４つのサブブロックの各サブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、第１符号化テーブル又は第２符号化テーブルを用いて符号化される。複数のサブブロックのうちの少なくとも１つのサブブロックを符号化するステップは、クローマサブブロックの符号化がオンであるか又はオフであるかを信号送信するビットと、水平区分化又は垂直区分化を信号送信する第２のビットと、クローマサブブロックの符号化に使用される符号化テーブルを指定するクローマサブブロックタイプを信号送信するビットのセットと、を含む。
【０００５】
別の態様において、装置は、コンテンツブロックを複数のサブブロックに区分化するステップと、複数の符号化サブブロックを生成するよう、複数の可変長符号化テーブルを用いて複数のサブブロックのうちの少なくとも１つのサブブロックを符号化するステップと、複数の符号化サブブロックのうちどの符号化サブブロックが最少ビット量を含むかに基づいて、複数の符号化サブブロックの中から１つの符号化サブブロックを選択するステップと、を行うアプリケーションを格納する非一時的メモリと、メモリに結合され、アプリケーションを処理するように構成されたプロセッサと、を備える。複数のサブブロックがルーマサブブロックを含み、ルーマサブブロックの第１列が第１符号化テーブルを用いて符号化され、ルーマサブブロックの第２列が、第１符号化テーブル、第２符号化テーブル又は第３符号化テーブルを用いて各々が符号化された２つのサブブロックを含み、２つのサブブロックが、同じ符号化テーブル又は異なる符号化テーブルを用いて符号化される。複数のサブブロックのうちの少なくとも１つのサブブロックを符号化するステップは、ルーマサブブロックの符号化がオンであるか又はオフであるかを信号送信するビットと、ルーマサブブロックの符号化に使用される符号化テーブルを指定するルーマサブブロックタイプを信号送信するビットと、を含む。複数のサブブロックがクローマサブブロックを含み、クローマサブブロックが、水平パーティションによって区分化され、Ｕブロックが２つのサブブロックを含み、Ｖブロックが２つのサブブロックを含み、Ｕブロックの２つのサブブロックの第１のサブブロックが、第１符号化テーブル又は第２符号化テーブルを用いて符号化され、Ｕブロックの前記２つのサブブロックの第２のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、第１符号化テーブル又は第２符号化テーブルを用いて符号化され、Ｖブロックの２つのサブブロックの第１のサブブロックが、第１符号化テーブル又は第２符号化テーブルを用いて符号化され、Ｖブロックの２つのサブブロックの第２のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、第１符号化テーブル又は第２符号化テーブルを用いて符号化される。複数のサブブロックがクローマサブブロックを含み、クローマサブブロックが垂直パーティションによって区分化されるときに、Ｕブロックが４つのサブブロックを含み、Ｖブロックが４つのサブブロックを含み、Ｕブロックの前記４つのサブブロックの各サブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、第１符号化テーブル又は第２符号化テーブルを用いて符号化され、Ｖブロックの４つのサブブロックの各サブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、第１符号化テーブル又は第２符号化テーブルを用いて符号化される。複数のサブブロックのうちの少なくとも１つのサブブロックを符号化するステップは、クローマサブブロックの符号化がオンであるか又はオフであるかを信号送信するビットと、水平区分化又は垂直区分化を信号送信する第２のビットと、クローマサブブロックの符号化に使用される符号化テーブルを指定するクローマサブブロックタイプを信号送信するビットのセットと、を含む。
【０００６】
別の態様において、システムは、コンテンツブロックを複数のサブブロックに区分化し、複数の符号化サブブロックを生成するよう、複数の可変長符号化テーブルを用いて複数のサブブロックのうちの少なくとも１つのサブブロックを符号化し、複数の符号化サブブロックのうちどの符号化サブブロックが最少ビット量を含むかに基づいて、複数の符号化サブブロックの中から１つの符号化サブブロックを選択する、ように構成された第１のコンピュータデバイスと、符号化された少なくとも１つのサブブロックを復号するよう構成された第２のコンピュータデバイスと、を備える。複数のサブブロックがルーマサブブロックを含み、ルーマサブブロックの第１列が第１符号化テーブルを用いて符号化され、ルーマサブブロックの第２列が、第１符号化テーブル、第２符号化テーブル又は第３符号化テーブルを用いて各々が符号化された２つのサブブロックを含み、２つのサブブロックが、同じ符号化テーブル又は異なる符号化テーブルを用いて符号化される。複数のサブブロックのうちの少なくとも１つのサブブロックを符号化するステップは、ルーマサブブロックの符号化がオンであるか又はオフであるかを信号送信するビットと、ルーマサブブロックの符号化に使用される符号化テーブルを指定するルーマサブブロックタイプを信号送信するビットと、を含む。複数のサブブロックがクローマサブブロックを含み、Ｕブロックの２つのサブブロックの第１のサブブロックが、複数のサブブロックがクローマサブブロックを含み、クローマサブブロックが、水平パーティションによって区分化され、Ｕブロックが２つのサブブロックを含み、Ｖブロックが２つのサブブロックを含み、Ｕブロックの２つのサブブロックの第１のサブブロックが、第１符号化テーブル又は第２符号化テーブルを用いて符号化され、Ｕブロックの２つのサブブロックの第２のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、第１符号化テーブル又は第２符号化テーブルを用いて符号化され、Ｖブロックの２つのサブブロックの第１のサブブロックが、第１符号化テーブル又は第２符号化テーブルを用いて符号化され、Ｖブロックの２つのサブブロックの第２のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、第１符号化テーブル又は第２符号化テーブルを用いて符号化される。複数のサブブロックがクローマサブブロックを含み、クローマサブブロックが垂直パーティションによって区分化されるときに、Ｕブロックが４つのサブブロックを含み、Ｖブロックが４つのサブブロックを含み、Ｕブロックの４つのサブブロックの各サブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、第１符号化テーブル又は第２符号化テーブルを用いて符号化され、Ｖブロックの４つのサブブロックの各サブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、第１符号化テーブル又は前記第２符号化テーブルを用いて符号化される。複数のサブブロックのうちの少なくとも１つのサブブロックを符号化するステップは、クローマサブブロックの符号化がオンであるか又はオフであるかを信号送信するビットと、水平区分化又は垂直区分化を信号送信する第２のビットと、クローマサブブロックの符号化に使用される符号化テーブルを指定するクローマサブブロックタイプを信号送信するビットのセットと、を含む。
【図面の簡単な説明】
【０００７】
【図１】一部の実施形態による、コーデックを実装する方法のフローチャートを示す。
【図２】一部の実施形態による、ＶＬＣテーブルの概略図を示す。
【図３】一部の実施形態による、ルーマ（輝度）サブブロックエントロピー符号化に関する概略図を示す。
【図４】一部の実施形態による、ルーマサブブロックのテーブルを示す。
【図５】一部の実施形態による、ＹＵＶ４２２に対するクローマ（色差）サブブロック符号化の概略図を示す。
【図６】一部の実施形態による、ＹＵＶ４４４に対するクローマサブブロック符号化の概略図を示す。
【図７】一部の実施形態による、クローマサブブロック符号化の概略図を示す。
【図８】一部の実施形態による、サブブロックベースのエントロピー符号化を実装するよう構成された例示的なコンピュータデバイスのブロック図を示す。
【図９】一部の実施形態による、デバイスのネットワークの概略図を示す。
【発明を実施するための形態】
【０００８】
符号器／復号器（「コーデック」）を改善するために、エントロピー符号化が最適化される。エントロピー符号化は、データを圧縮するのに利用される二値化であり、この圧縮は、ブロック毎に実施することができる。例えば、１６ｘ２画像ブロックが符号化され、その結果が、ヘッダービット、エントロピー符号化ビット及びリファインメントビットを含むようになる。
【０００９】
図１は、一部の実施形態によるコーデックを実装する方法のフローチャートを示す。ステップ１００において、画像ブロック（例えば、１６ｘ２入力画像ブロック）が量子化される。量子化は、ある範囲の値を単一の量子値に圧縮することによるロッシー圧縮技術である。ステップ１０２において、差分パルス符号変調（ＤＰＣＭ）が利用され、予測を用いたサンプル値信号をデジタル表現する。ＤＰＣＭベース符号化において、近隣の量子化画素値を差分計算することによって、残差信号が生成される。ステップ１０４において、修正エントロピー符号化が実装されてデータを圧縮する。修正エントロピー符号化について、本明細書で更に説明する。ステップ１０６において、圧縮データがリファインメントされる。リファインメント後、ヘッダービット、エントロピー符号化ビット及びリファインメントビットを含む、符号化ビットストリームが利用可能となる。
【００１０】
図２は、一部の実施形態によるＶＬＣテーブルの概略側面図を示す。２つのカラー符号化フォーマット（ＹＵＶ４２２及びＹＵＶ４４４）が図示されているが、あらゆるカラー符号化フォーマットが利用可能である。周知のように、ＹＵＶ４４４は、４：４：４サブサンプリング（例えば、Ｙ、Ｕ及びＶが同じサンプリングレートを有する）に等しく、ＹＵＶ４２２は、４：２：２サブサンプリング（Ｕ及びＶは、Ｙの半分のレートでサンプリングされる）に等しい。Ｙはルーマ（輝度）を示し、Ｕ及びＶはクローマ（色差）を示す。
【００１１】
従来、同じエントロピー符号化方式が、全体ブロック（例えば、１６ｘ２ブロック）に対して使用された。本明細書で記載されるようなサブブロックベースのエントロピー符号化は、１ブロックに対して２つ（又はそれ以上）の異なるエントロピー符号化を用いる。例えば、ＹＵＶ４２２（２００）において、Ｙの１６ｘ２ブロックは、第１エントロピー符号化テーブル／方式（例えば、ＥＣＸ２３０）を使用し、８ｘ２ブロックＵ及び８ｘ２ブロックＶは、第２エントロピー符号化テーブル／方式（例えば、ＥＣｌ２２０）を使用する。別の実施例において、ＹＵＶ４４４（２１０）において、Ｙの１６ｘ２ブロックは、第１エントロピー符号化方式（例えば、ＥＣＸ）を使用し、１６ｘ２ブロックＵ及び１６ｘ２ブロックＶは、第２エントロピー符号化方式（例えば、ＥＣ１）を使用する。
【００１２】
第２エントロピー符号化方式（例えば、ＥＣ１）を用いると、各入力に対して、固有のバイナリコードワードが存在する。例えば、入力０はコードワード１をもたらし、図示のように以下同様である。
【００１３】
従って、ブロックは、サブブロックに分割され、次いで、サブブロックは、本明細書で記載されるような対応するエントロピー符号化方式（例えば、Ｙに対してＥＣＸ及びＵ，Ｖに対してＥＣ１）を用いてエントロピー符号化される。一部の実施形態において、各サブブロックに対して各エントロピー符号化方式が使用され、各サブブロックに対して最良のエントロピー符号化方式が選択され、ここで最良とは、最少数のビットをもたらすエントロピー符号化方式を意味する。例えば、第１のサブブロックは、第１エントロピー符号化方式及び第２エントロピー符号化方式を用いて符号化され、次いで、各結果に対するビットの数が比較されて、より少い方の（又はより多くのエントロピー符号化方式が使用される場合は最少数）のビットを有する結果が使用される（例えば、復号器に信号が送信され、その結果、復号器は、データを復号するのにどのエントロピー符号化方式を使用するのかを認知するようになる）。
【００１４】
図３は、一部の実施形態による、ルーマ（輝度）サブブロックエントロピー符号化に関する概略図を示す。サブブロックがオフ３００の場合、１６ｘ２ブロックのＹ成分全体が１つの符号化方式（例えば、ＥＣＸ）のみを用いて符号化される。サブブロックがオン３１０の場合、各ルーマサブブロックは、異なる可変長符号化（ＶＬＣ）テーブル又は方式を用いることができる。ＥＣＸエントロピー符号化を用いて、ルーマの第２列は、２つのサブブロック３１４、３１６、すなわち、左８サンプル（例えば、サブブロック０）及び右８サンプル（例えば、サブブロック１）を有しており、ここで第２列の各サブブロックは、複数の可能性（例えば、テーブル１（３２０）、テーブル２（３３０）又はＥＣＸ（２３０））の中から１つのテーブルを用いる。テーブル１及びテーブル２は、例示的なＶＬＣテーブルである。テーブル１はまた、残差レベルの絶対値が１よりも大きい場合、テーブル１は選択されないことを示しており、テーブル２は、残差レベルの絶対値が２よりも大きい場合、テーブル１は選択されないことを示している。図３は、第１列、サブブロック０及びサブブロック１に分割されたブロックを示しているが、ブロックは、各々が４つのサンプルを有するサブブロックなど、あらゆる方式で分割することができる。
【００１５】
図４は、一部の実施形態による、ルーマサブブロック符号化のためのテーブルを示している。各サブブロックについて、符号器は、エントロピー符号化方式が使用される復号器に信号送信する。１ビットは、ルーマサブブロックがオンであるか、又はオフであるかを信号送信するのに使用される。ルーマサブブロックがオンである場合、ルーマサブブロックのタイプ／方式（例えば、テーブル１、テーブル２、又はＥＣＸ）を信号送信するために、追加のヘッダーが送られる。一部の実施形態において、右サブブロックタイプを信号送信するために特別な条件が存在する。左サブブロックのサブブロックタイプがＥＣＸである場合、右サブブロックタイプをＥＣＸにする機会は存在しない（そうであれば、サブブロックオフと同じになるため）。この特別な条件では、以下の信号伝達が使用され、すなわち、テーブル１：信号０及びテーブル２：信号１である。
【００１６】
テーブル４００は、ルーマサブブロックのオン又はオフを信号送信する１ビットを示している。例えば、コードワードが０である場合、サブブロックの使用がオフであり、コードワードが１である場合、サブブロックの使用がオンである。テーブル４０２は、サブブロックのフラグ／ビットがオンであるときに、ルーマサブブロックタイプを信号送信するヘッダービットを示している。例えば、コードワード１０は、テーブル１方式／タイプを用いることを示し、コードワード０は、テーブル１方式／タイプを用いることを示し、コードワード１１は、ＥＣＸ方式を使用することを示している。
【００１７】
クローマもまた、サブブロックに分割される。水平クローマサブブロックサイズは、ＹＵＶ４２２に対して８ｘ１（Ｕに対して２サブブロック及びＶに対して２サブブロック）、ＹＵＶ４４４に対に対して１６ｘ１（Ｕに対して２サブブロック及びＶに対して２サブブロック）である。垂直クローマサブブロックサイズは、ＹＵＶ４２２に対して４ｘ２（Ｕに対して２サブブロック及びＶに対して２サブブロック）、ＹＵＶ４４４に対に対して４ｘ２（Ｕに対して４サブブロック及びＶに対して４サブブロック）である。
【００１８】
図５は、一部の実施形態による、ＹＵＶ４２２に対するクローマ（色差）サブブロック符号化の概略図を示す。ボックス５００において、サブブロックフラグ／信号がオフ（例えば、信号０）である場合、Ｕ及びＶ（クローマ）に対する８ｘ２ブロックにおいて、第２の符号化方式／テーブル（例えば、ＥＣ１）が使用される。
【００１９】
ボックス５０２において、サブブロックがオンで、パーティション（区分化）が水平方向（例えば、信号１１）である場合、Ｕに対する８ｘ２ブロックが、テーブル１又はＥＣＸ（１ビット信号）を用いて符号化された８ｘ１サブブロックと、ＡｌｌＺｅｒｏ、テーブル１又はＥＣＸ（１又は２ビット信号）を用いた別の８ｘ１サブブロックとを有し、Ｖに対する８ｘ２ブロックが、テーブル１又はＥＣＸ（１ビット信号）を用いて符号化された８ｘ１サブブロックと、ＡｌｌＺｅｒｏ、テーブル１又はＥＣＸ（１又は２ビット信号）を用いた別の８ｘ１サブブロックと、を有する。ＡｌｌＺｅｒｏは、サブブロックの第１パルス符号変調（ＰＣＭ）係数を除く係数の全てがゼロであることを意味する。
【００２０】
ボックス５０４において、サブブロックがオンで、パーティションが垂直方向（例えば、信号１０）である場合、Ｕに対する８ｘ２ブロックが、ＡｌｌＺｅｒｏ、テーブル１又はＥＣＸ（１又は２ビット信号）を用いて符号化された４ｘ２サブブロックと、ＡｌｌＺｅｒｏ、テーブル１又はＥＣＸ（１又は２ビット信号）を用いて符号化された別の４ｘ２サブブロックとを有し、Ｖに対する８ｘ２ブロックが、ＡｌｌＺｅｒｏ、テーブル１又はＥＣＸ（１又は２ビット信号）を用いて符号化された４ｘ２サブブロックと、ＡｌｌＺｅｒｏ、テーブル１又はＥＣＸ（１又は２ビット信号）を用いて符号化された別の４ｘ２サブブロックと、を有する。
【００２１】
図６は、一部の実施形態による、ＹＵＶ４４４に対するクローマサブブロック符号化の概略図を示す。ボックス６００において、サブブロックフラグ／信号がオフ（例えば、信号０）である場合、Ｕ及びＶ（クローマ）に対する１６ｘ２ブロックにおいて、第２の符号化方式／テーブル（例えば、ＥＣ１）が使用される。
【００２２】
ボックス６０２において、サブブロックがオンで、パーティションが水平方向（例えば、信号１１）である場合、Ｕに対する１６ｘ２ブロックが、テーブル１又はＥＣＸ（１ビット信号）を用いて符号化された１６ｘ１サブブロックと、ＡｌｌＺｅｒｏ（オールゼロ）、テーブル１又はＥＣＸ（１又は２ビット信号）を用いた別の１６ｘ１サブブロックとを有し、Ｖに対する１６ｘ２ブロックが、テーブル１又はＥＣＸ（１ビット信号）を用いて符号化された１６ｘ１サブブロックと、ＡｌｌＺｅｒｏ、テーブル１又はＥＣＸ（１又は２ビット信号）を用いた別の１６ｘ１サブブロックと、を有する。ＡｌｌＺｅｒｏは、サブブロックの第１ＰＣＭ係数を除く係数の全てがゼロであることを意味する。
【００２３】
ブロック６０４において、サブブロックがオンで、パーティションが垂直方向（例えば、信号１０）である場合、Ｕに対する１６ｘ２ブロックが、ＡｌｌＺｅｒｏ、テーブル１又はＥＣＸ（１又は２ビット信号）を用いて符号化された４つの４ｘ２サブブロックを有し、Ｖに対する１６ｘ２ブロックが、ＡｌｌＺｅｒｏ、テーブル１又はＥＣＸ（１又は２ビット信号）を用いて符号化された４つの４ｘ２サブブロックを有する。
【００２４】
クローマサブブロック符号化では、クローマサブブロックがオンであるか又はオフであるか（例えば、０はクローマサブブロックがオフであることを意味し、１はロマサブブロックがオンであることを意味する）を信号送信するのに、１ビット信号伝達が使用される。クローマサブブロック符号化では、クローマサブブロックがオンであるか又はオフであるか（例えば、０はクローマサブブロックがオフであることを意味し、１はロマサブブロックがオンであることを意味する）を信号送信するのに、１ビット信号伝達が使用される。
クローマサブブロックがオンである場合、水平又は垂直パーティション（例えば、０は垂直パーティションを意味し、１は垂直パーティション）を信号送信するのに追加の１ビット信号伝達が使用される。
【００２５】
図７は、一部の実施形態によるクローマサブブロックのブロック図を示す。ボックス７００において、サブブロックがオフ（例えば、信号０）である場合、８ｘ２ブロックＵ及び８ｘ２ブロックＶにおいて、第２の符号化方式（例えば、ＥＣ１）が使用される。
【００２６】
ボックス７０２において、サブブロックがオンで、パーティションが水平方向（例えば、信号１１）である場合、Ｕに対する８ｘ２ブロックが、テーブル１又はＥＣＸ（１ビット信号）を用いて符号化された８ｘ１サブブロック０と、ＡｌｌＺｅｒｏ（オールゼロ）、テーブル１又はＥＣＸ（１又は２ビット信号）を用いた別の８ｘ１サブブロック１とを有し、Ｖに対する８ｘ２ブロックが、テーブル１又はＥＣＸ（１ビット信号）を用いて符号化された８ｘ１サブブロック０と、ＡｌｌＺｅｒｏ、テーブル１又はＥＣＸ（１又は２ビット信号）を用いた８ｘ１サブブロック１と、を有する。
【００２７】
ブロック７０４において、サブブロックがオンで、パーティションが垂直方向（例えば、信号１０）である場合、Ｕに対する８ｘ２ブロックが、ＡｌｌＺｅｒｏ、テーブル１又はＥＣＸ（１又は２ビット信号）を用いて符号化された４ｘ２サブブロック０と、ＡｌｌＺｅｒｏ、テーブル１又はＥＣＸ（１又は２ビット信号）を用いて符号化された４ｘ２サブブロック１と、を有し、Ｖに対する８ｘ２ブロックが、ＡｌｌＺｅｒｏ、テーブル１又はＥＣＸ（１又は２ビット信号）を用いて符号化された４ｘ２サブブロック０と、ＡｌｌＺｅｒｏ、テーブル１又はＥＣＸ（１又は２ビット信号）を用いて符号化された４ｘ２サブブロック１と、を有する。
【００２８】
各ルーマサブブロックのルーマサブブロックタイプを選択するために、第２列の各サブブロックにおいて、モード選択部は、方式の選択肢（例えば、テーブル１、テーブル２、又はＥＣＸ）から最良のもの（例えば、最少数ビットを有する結果）を選択する。ルーマサブブロックのタイプを選択する例示的な疑似コードは、以下である。
Ｆｏｒ  ｅａｃｈ  ｓｕｂ−ｂｌｏｃｋ  ｉｎ  ２nd  ｒｏｗ：
Ｎ  ＝  Ｔｏｔａｌ  ｃｏｅｆｆｉｃｉｅｎｔｓ  ＝  ８；
Ｎ０  ＝  Ｎｕｍｂｅｒ  ｏｆ  ｚｅｒｏｓ；
Ｎ１  ＝  Ｎｕｍｂｅｒ  ｏｆ  ＋／−  １；
Ｎ２  ＝  Ｎｕｍｂｅｒ  ｏｆ  ＋／−２；
ｉｆ  （（Ｎ０  ＋  Ｎ１）  ＝＝  Ｎ）
Ｓｕｂ−ｂｌｏｃｋ−Ｔｙｐｅ  ＝  Ｔａｂｌｅ１；
ｅｌｓｅ  ｉｆ  （（Ｎ０  ＋  Ｎ１  ＋  Ｎ２）  ＝＝  Ｎ）
Ｓｕｂ−ｂｌｏｃｋ−Ｔｙｐｅ  ＝  Ｔａｂｌｅ２；
ｅｌｓｅ
Ｓｕｂ−ｂｌｏｃｋ−Ｔｙｐｅ  ＝  ＥＣＸ；
Ｅｎｄ  ｆｏｒ
【００２９】
各クローマサブブロックのクローマサブブロックタイプを選択するために、各サブブロックにおいて、モード選択部は、方式の選択肢（例えば、ＡｌｌＺｅｒｏ、テーブル１、又はＥＣＸ）から最良のもの（例えば、最少数ビットを有する結果）を選択する。クローマサブブロックのタイプを選択する例示的な疑似コードは、以下である。
Ｎ  ＝  Ｔｏｔａｌ  ｃｏｅｆｆｉｃｉｅｎｔｓ；
Ｎ０  ＝  Ｎｕｍｂｅｒ  ｏｆ  ｚｅｒｏｓ；
Ｎ１  ＝  Ｎｕｍｂｅｒ  ｏｆ  ＋／−  １；
ｉｆ  （Ｎ０  ＝＝  Ｎ）
Ｓｕｂ−ｂｌｏｃｋ−Ｔｙｐｅ  ＝  ＡｌｌＺｅｒｏ；
ｅｌｓｅ  ｉｆ  （（Ｎ０  ＋  Ｎ１）  ＝＝  Ｎ）
Ｓｕｂ−ｂｌｏｃｋ−Ｔｙｐｅ  ＝  Ｔａｂｌｅ１；
ｅｌｓｅ
Ｓｕｂ−ｂｌｏｃｋ−Ｔｙｐｅ  ＝  ＥＣＸ；
Ｅｎｄ  ｆｏｒ
【００３０】
図８は、一部の実施形態による、サブブロックベースのエントロピー符号化を実装するよう構成された例示的なコンピュータデバイスのブロック図を示す。コンピュータデバイス８００は、画像及びビデオのような情報を取得、格納、コンピュータ計算、加工処理、通信及び／又は表示するのに用いることができる。コンピュータデバイス８００は、符号化及び／又は復号化のようなサブブロックベースのエントロピー符号化の態様の何れかを実装することができる。一般に、コンピュータデバイス８００を実装するのに好適なハードウェア構造は、ネットワークインタフェース８０２、メモリ８０４、プロセッサ８０６、１又は複数のＩ／Ｏデバイス８０８、バス８０１及びストレージデバイス８１２を含む。十分な速度を有する好適なプロセッサが選択される限り、プロセッサの選択はそれ程重要ではない。メモリ８０４は当該技術分野で周知の何らかの従来のコンピュータメモリとすることができる。ストレージデバイス８１２は、ハードドライブ、ＣＤ−ＲＯＭ、ＣＤ−ＲＷ、ＤＶＤ、ＤＶＤ−ＲＷ、高解像度ディスク／ドライブ、超ＨＤドライブ、フラッシュメモリカード又は他の何れかのストレージデバイスを含むことができる。コンピュータデバイス８００は、１又は２以上のネットワークインタフェース８０２を含むことができる。ネットワークインタフェース８０２の実施例は、Ｅｔｈｅｒｎｅｔ又はＬＡＮの他のタイプに接続されるネットワークカードを含む。１又は複数のＩ／Ｏデバイス８０８は、以下：キーボード、マウス、モニタ、スクリーン、プリンタ、モデム、タッチスクリーン、ボタンインタフェース及び他のデバイスのうちの１又は２以上を含むことができる。サブブロックベースのエントロピー符号化を実装するのに使用される、１又は複数のサブブロックベースのエントロピー符号化アプリケーション８３０は、ストレージデバイス８１２及びメモリ８０４に格納され、アプリケーションが通常処理されるように処理することができる。図８に示された構成要素よりも多い又は少ない構成要素をコンピュータデバイス８００に含めることができる。一部の実施形態において、サブブロックベースのエントロピー符号化ハードウェア８２０が含まれる。図８におけるコンピュータデバイス８００は、サブブロックベースのエントロピー符号化のためのアプリケーション８３０及びハードウェア８２０を含むが、サブブロックベースのエントロピー符号化は、コンピュータデバイス上にハードウェア、ファームウェア、ソフトウェア、又はこれらの何れかの組み合わせで実装することができる。例えば、一部の実施形態において、サブブロックベースのエントロピー符号化アプリケーション８３０は、メモリ内にプログラミングされて、プロセッサを用いて実行される。別の実施例では、一部の実施形態において、サブブロックハードウェア８２０は、サブブロックベースのエントロピー符号化を実装するよう特別に設計されたゲートを含むプログラミングされたハードウェアロジックである。
【００３１】
一部の実施形態において、サブブロックベースのエントロピー符号化アプリケーション８３０は、複数のアプリケーション及び／又はモジュールを含む。一部の実施形態において、モジュールは、１又は２以上のサブモジュールも含む。一部の実施形態において、より少ない又は追加のモジュールを含めることができる。
【００３２】
一部の実施形態において、サブブロックベースのエントロピー符号化ハードウェア８２０は、レンズ、画像センサ、及び／又は他の何れかのカメラ構成要素などのカメラ構成要素を含む。
【００３３】
好適なコンピュータ装置の例としては、パーソナルコンピュータ、ラップトップコンピュータ、コンピュータワークステーション、サーバ、メインフレームコンピュータ、ハンドヘルドコンピュータ、携帯情報端末、セルラー／携帯電話機、スマート家電、ゲーム機、デジタルカメラ、デジタルカムコーダ、カメラ付き電話機、スマートフォン、ポータブル音楽プレーヤ、タブレットコンピュータ、モバイル装置、ビデオプレーヤ、ビデオディスクライタ／プレーヤ（ＤＶＤライタ／プレーヤ、高精細ディスクライタ／プレーヤ、超高精細ディスクライタ／プレーヤなど）、テレビジョン、家庭用エンターテイメントシステム、拡張現実装置、仮想現実装置、スマートジュエリ（例えば、スマートウォッチ）、車両（例えば、自動運転車両）、又はその他のあらゆる好適なコンピュータ装置が挙げられる。
【００３４】
図９は、一部の実施形態によるデバイスのネットワークの概略図を示す。ビデオコンテンツは、１又は２以上のエンコーダ（符号器）デバイス９００にて符号化される。符号化されたコンテンツは、ネットワーク９０２（例えば、インターネット、セルラーネットワーク、又は他の何れかのネットワーク）を通じて１又は２以上のデコーダ（復号器）デバイス９０４に送信／ストリーミングされる。一部の実施形態において、コンテンツは、ネットワークなしで１又は２以上のデコーダ（復号器）デバイス９０４に直接送信される。デバイスのネットワークの１又は２以上のデバイス（例えば、エンコーダデバイス、デコーダデバイス）は、本明細書で記載されるサブブロックベースのエントロピー符号化実施構成を実装するよう構成される。１又は２以上のエンコーダデバイス９００及び１又は２以上のデコーダデバイス９０４は、サーバ、パーソナルコンピュータ、スマートフォン、テレビジョン、ゲーミングシステム、車両、又は本明細書で記載されるデバイスの何れか或いは本明細書で記載されるデバイスの何れかの組み合わせなどのあらゆるデバイスとすることができる。
【００３５】
本明細書で記載されるサブブロックベースのエントロピー符号化を利用するために、コンテンツを取得するのにデジタルカメラ／カムコーダなどのデバイスが使用される。サブブロックベースのエントロピー符号化は、ユーザ支援によって、ユーザが関与することなく自動的に実装されて、効率的に符号化、送信、及び復号化をすることができる。
【００３６】
作動時には、サブブロックベースのエントロピー符号化は、コンテンツのサブブロックに対して最良の符号化方式を選択することによって、コンテンツの符号化及び復号化をより効率的に行う。
【００３７】
組み込みコーデックのためのサブブロックベースのエントロピー符号化の一部の実施形態。
【００３８】
デバイスの非一時的メモリ内にプログラミングされる方法であって、
コンテンツブロックを複数のサブブロックに区分化するステップと、
複数の符号化サブブロックを生成するよう、複数の可変長符号化テーブルを用いて上記複数のサブブロックのうちの少なくとも１つのサブブロックを符号化するステップと、
上記複数の符号化サブブロックのうちどの符号化サブブロックが最少ビット量を含むかに基づいて、上記複数の符号化サブブロックの中から１つの符号化サブブロックを選択するステップと、
を含む、方法。
【００３９】
上記複数のサブブロックがルーマサブブロックを含み、上記ルーマサブブロックの第１列が第１符号化テーブルを用いて符号化され、上記ルーマサブブロックの第２列が、第１符号化テーブル、第２符号化テーブル又は第３符号化テーブルを用いて各々が符号化された２つのサブブロックを含み、上記２つのサブブロックが、同じ符号化テーブル又は異なる符号化テーブルを用いて符号化される、条項１に記載の方法。
【００４０】
上記複数のサブブロックのうちの少なくとも１つのサブブロックを符号化するステップは、上記ルーマサブブロックの符号化がオンであるか又はオフであるかを信号送信するビットと、上記ルーマサブブロックの符号化に使用される符号化テーブルを指定するルーマサブブロックタイプを信号送信するビットと、を含む、条項１に記載の方法。
【００４１】
上記複数のサブブロックがクローマサブブロックを含み、上記クローマサブブロックが、水平パーティションによって区分化され、Ｕブロックが２つのサブブロックを含み、Ｖブロックが２つのサブブロックを含み、
上記Ｕブロックの上記２つのサブブロックの第１のサブブロックが、第１符号化テーブル又は第２符号化テーブルを用いて符号化され、上記Ｕブロックの上記２つのサブブロックの第２のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、上記第１符号化テーブル又は上記第２符号化テーブルを用いて符号化され、
上記Ｖブロックの上記２つのサブブロックの第１のサブブロックが、第１符号化テーブル又は第２符号化テーブルを用いて符号化され、上記Ｖブロックの上記２つのサブブロックの第２のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、上記第１符号化テーブル又は上記第２符号化テーブルを用いて符号化される、条項１に記載の方法。
【００４２】
上記複数のサブブロックがクローマサブブロックを含み、上記クローマサブブロックが垂直パーティションによって区分化されるときに、Ｕブロックが２つのサブブロックを含み、Ｖブロックが２つのサブブロックを含み、上記Ｕブロックの上記２つのサブブロックの第１のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、第１符号化テーブル又は第２符号化テーブルを用いて符号化され、上記Ｕブロックの上記２つのサブブロックの第２のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、上記第１符号化テーブル又は上記第２符号化テーブルを用いて符号化され、上記Ｖブロックの上記２つのサブブロックの第１のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、上記第１符号化テーブル又は上記第２符号化テーブルを用いて符号化され、上記Ｖブロックの上記２つのサブブロックの第２のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、上記第１符号化テーブル又は上記第２符号化テーブルを用いて符号化される、条項１に記載の方法。
【００４３】
上記複数のサブブロックがクローマサブブロックを含み、上記クローマサブブロックが垂直パーティションによって区分化されるときに、Ｕブロックが４つのサブブロックを含み、Ｖブロックが４つのサブブロックを含み、上記Ｕブロックの上記４つのサブブロックの各サブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、第１符号化テーブル又は第２符号化テーブルを用いて符号化され、上記Ｖブロックの上記４つのサブブロックの各サブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、上記第１符号化テーブル又は上記第２符号化テーブルを用いて符号化される、条項１に記載の方法。
【００４４】
上記複数のサブブロックのうちの少なくとも１つのサブブロックを符号化するステップは、上記クローマサブブロックの符号化がオンであるか又はオフであるかを信号送信するビットと、水平区分化又は垂直区分化を信号送信する第２のビットと、上記クローマサブブロックの符号化に使用される符号化テーブルを指定するクローマサブブロックタイプを信号送信するビットのセットと、を含む、条項１に記載の方法。
【００４５】
コンテンツブロックを複数のサブブロックに区分化するステップと、複数の符号化サブブロックを生成するよう、複数の可変長符号化テーブルを用いて上記複数のサブブロックのうちの少なくとも１つのサブブロックを符号化するステップと、上記複数の符号化サブブロックのうちどの符号化サブブロックが最少ビット量を含むかに基づいて、上記複数の符号化サブブロックの中から１つの符号化サブブロックを選択するステップと、を行うアプリケーションを格納する非一時的メモリと、
上記メモリに結合され、上記アプリケーションを処理するように構成されたプロセッサと、
を備える、装置。
【００４６】
上記複数のサブブロックがルーマサブブロックを含み、上記ルーマサブブロックの第１列が第１符号化テーブルを用いて符号化され、上記ルーマサブブロックの第２列が、第１符号化テーブル、第２符号化テーブル又は第３符号化テーブルを用いて各々が符号化された２つのサブブロックを含み、上記２つのサブブロックが、同じ符号化テーブル又は異なる符号化テーブルを用いて符号化される、条項８に記載の装置。
【００４７】
上記複数のサブブロックのうちの少なくとも１つのサブブロックを符号化するステップは、上記ルーマサブブロックの符号化がオンであるか又はオフであるかを信号送信するビットと、上記ルーマサブブロックの符号化に使用される符号化テーブルを指定するルーマサブブロックタイプを信号送信するビットと、を含む、条項８に記載の装置。
【００４８】
上記複数のサブブロックがクローマサブブロックを含み、上記クローマサブブロックが、水平パーティションによって区分化され、Ｕブロックが２つのサブブロックを含み、Ｖブロックが２つのサブブロックを含み、
上記Ｕブロックの上記２つのサブブロックの第１のサブブロックが、第１符号化テーブル又は第２符号化テーブルを用いて符号化され、上記Ｕブロックの上記２つのサブブロックの第２のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、上記第１符号化テーブル又は上記第２符号化テーブルを用いて符号化され、
上記Ｖブロックの上記２つのサブブロックの第１のサブブロックが、第１符号化テーブル又は第２符号化テーブルを用いて符号化され、上記Ｖブロックの上記２つのサブブロックの第２のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、上記第１符号化テーブル又は上記第２符号化テーブルを用いて符号化される、条項８に記載の装置。
【００４９】
上記複数のサブブロックがクローマサブブロックを含み、上記クローマサブブロックが垂直パーティションによって区分化されるときに、Ｕブロックが２つのサブブロックを含み、Ｖブロックが２つのサブブロックを含み、上記Ｕブロックの上記２つのサブブロックの第１のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、第１符号化テーブル又は第２符号化テーブルを用いて符号化され、上記Ｕブロックの上記２つのサブブロックの第２のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、上記第１符号化テーブル又は上記第２符号化テーブルを用いて符号化され、上記Ｖブロックの上記２つのサブブロックの第１のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、上記第１符号化テーブル又は上記第２符号化テーブルを用いて符号化され、上記Ｖブロックの上記２つのサブブロックの第２のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、上記第１符号化テーブル又は上記第２符号化テーブルを用いて符号化される、条項８に記載の装置。
【００５０】
上記複数のサブブロックがクローマサブブロックを含み、上記クローマサブブロックが垂直パーティションによって区分化されるときに、Ｕブロックが４つのサブブロックを含み、Ｖブロックが４つのサブブロックを含み、上記Ｕブロックの上記４つのサブブロックの各サブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、第１符号化テーブル又は第２符号化テーブルを用いて符号化され、上記Ｖブロックの上記４つのサブブロックの各サブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、上記第１符号化テーブル又は上記第２符号化テーブルを用いて符号化される、条項８に記載の装置。
【００５１】
上記複数のサブブロックのうちの少なくとも１つのサブブロックを符号化するステップは、上記クローマサブブロックの符号化がオンであるか又はオフであるかを信号送信するビットと、水平区分化又は垂直区分化を信号送信する第２のビットと、上記クローマサブブロックの符号化に使用される符号化テーブルを指定するクローマサブブロックタイプを信号送信するビットのセットと、を含む、条項８に記載の装置。
【００５２】
コンテンツブロックを複数のサブブロックに区分化し、複数の符号化サブブロックを生成するよう、複数の可変長符号化テーブルを用いて上記複数のサブブロックのうちの少なくとも１つのサブブロックを符号化し、上記複数の符号化サブブロックのうちどの符号化サブブロックが最少ビット量を含むかに基づいて、上記複数の符号化サブブロックの中から１つの符号化サブブロックを選択する、ように構成された第１のコンピュータデバイスと、
符号化された上記少なくとも１つのサブブロックを復号するよう構成された第２のコンピュータデバイスと、
を備える、システム。
【００５３】
上記複数のサブブロックがルーマサブブロックを含み、上記ルーマサブブロックの第１列が第１符号化テーブルを用いて符号化され、上記ルーマサブブロックの第２列が、第１符号化テーブル、第２符号化テーブル又は第３符号化テーブルを用いて各々が符号化された２つのサブブロックを含み、上記２つのサブブロックが、同じ符号化テーブル又は異なる符号化テーブルを用いて符号化される、条項１５に記載のシステム。
【００５４】
上記複数のサブブロックのうちの少なくとも１つのサブブロックを符号化するステップは、上記ルーマサブブロックの符号化がオンであるか又はオフであるかを信号送信するビットと、上記ルーマサブブロックの符号化に使用される符号化テーブルを指定するルーマサブブロックタイプを信号送信するビットと、を含む、条項１５に記載のシステム。
【００５５】
上記複数のサブブロックがクローマサブブロックを含み、上記クローマサブブロックが、水平パーティションによって区分化され、Ｕブロックが２つのサブブロックを含み、Ｖブロックが２つのサブブロックを含み、
上記Ｕブロックの上記２つのサブブロックの第１のサブブロックが、第１符号化テーブル又は第２符号化テーブルを用いて符号化され、上記Ｕブロックの上記２つのサブブロックの第２のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、上記第１符号化テーブル又は上記第２符号化テーブルを用いて符号化され、
上記Ｖブロックの上記２つのサブブロックの第１のサブブロックが、第１符号化テーブル又は第２符号化テーブルを用いて符号化され、上記Ｖブロックの上記２つのサブブロックの第２のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、上記第１符号化テーブル又は上記第２符号化テーブルを用いて符号化される、条項１５に記載のシステム。
【００５６】
上記複数のサブブロックがクローマサブブロックを含み、上記クローマサブブロックが垂直パーティションによって区分化されるときに、Ｕブロックが２つのサブブロックを含み、Ｖブロックが２つのサブブロックを含み、上記Ｕブロックの上記２つのサブブロックの第１のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、第１符号化テーブル又は第２符号化テーブルを用いて符号化され、上記Ｕブロックの上記２つのサブブロックの第２のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、上記第１符号化テーブル又は上記第２符号化テーブルを用いて符号化され、上記Ｖブロックの上記２つのサブブロックの第１のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、上記第１符号化テーブル又は上記第２符号化テーブルを用いて符号化され、上記Ｖブロックの上記２つのサブブロックの第２のサブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、上記第１符号化テーブル又は上記第２符号化テーブルを用いて符号化される、条項１５に記載のシステム。
【００５７】
上記複数のサブブロックがクローマサブブロックを含み、上記クローマサブブロックが垂直パーティションによって区分化されるときに、Ｕブロックが４つのサブブロックを含み、Ｖブロックが４つのサブブロックを含み、
上記Ｕブロックの上記４つのサブブロックの各サブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、第１符号化テーブル又は第２符号化テーブルを用いて符号化され、
上記Ｖブロックの上記４つのサブブロックの各サブブロックが、係数としてＡｌｌＺｅｒｏ（オールゼロ）、上記第１符号化テーブル又は上記第２符号化テーブルを用いて符号化される、条項１５に記載のシステム。
【００５８】
上記複数のサブブロックのうちの少なくとも１つのサブブロックを符号化するステップは、上記クローマサブブロックの符号化がオンであるか又はオフであるかを信号送信するビットと、水平区分化又は垂直区分化を信号送信する第２のビットと、上記クローマサブブロックの符号化に使用される符号化テーブルを指定するクローマサブブロックタイプを信号送信するビットのセットと、を含む、条項１５に記載のシステム。
【００５９】
本発明の構成及び動作の原理を容易に理解できるように、詳細を含む特定の実施形態に関して本発明を説明した。本明細書におけるこのような特定の実施形態及びこれらの実施形態の詳細についての言及は、本明細書に添付する特許請求の範囲を限定することを意図したものではない。当業者には、特許請求の範囲によって定められる本発明の趣旨及び範囲から逸脱することなく、例示のために選択した実施形態において他の様々な修正を行えることが容易に明らかになるであろう。
【符号の説明】
【００６０】
１００  量子化
１０２  ＤＰＣＭ（差分パルス符号変調）
１０４  エントロピー符号化
１０６  リファインメント
【図１】
2020145666.tif 000003
【図２】
2020145666.tif 000004
【図３】
2020145666.tif 000005
【図４】
2020145666.tif 000006
【図５】
2020145666.tif 000007
【図６】
2020145666.tif 000008
【図７】
2020145666.tif 000009
【図８】
2020145666.tif 000010
【図９】
2020145666.tif 000011
【外国語明細書】
2020145666000001.pdf