JP6993621B2 - 組み込みコーデックのためのサブブロックベースのエントロピー符号化法 - Google Patents

組み込みコーデックのためのサブブロックベースのエントロピー符号化法 Download PDF

Info

Publication number
JP6993621B2
JP6993621B2 JP2019187649A JP2019187649A JP6993621B2 JP 6993621 B2 JP6993621 B2 JP 6993621B2 JP 2019187649 A JP2019187649 A JP 2019187649A JP 2019187649 A JP2019187649 A JP 2019187649A JP 6993621 B2 JP6993621 B2 JP 6993621B2
Authority
JP
Japan
Prior art keywords
subblocks
subblock
block
encoded
coded
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019187649A
Other languages
English (en)
Other versions
JP2020145666A (ja
Inventor
ゴラム サーヴァー モハメド
タバタバイ アリ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Sony Group Corp
Original Assignee
Sony Corp
Sony Group Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp, Sony Group Corp filed Critical Sony Corp
Publication of JP2020145666A publication Critical patent/JP2020145666A/ja
Application granted granted Critical
Publication of JP6993621B2 publication Critical patent/JP6993621B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Description

本発明は、ビデオ符号化に関する。より具体的には、本発明は、サブブロックを用いたエントロピー符号化に関する。
ビデオ符号化は、量子化、差分パルス符号変調(DPCM)、エントロピー符号化、及びリファインメントを含む。エントロピー符号化は、固定長の入力シンボルを対応する可変長の出力コードワードで置き換えることによりデータを圧縮するロスレス(無損失)データ圧縮方式である。
サブブロックベースのエントロピー符号化は、コンテンツのサブブロックにとって最良の符号化方式を選択することにより、コンテンツの符号化及び復号化を効率的に行う。コンテンツの各サブブロックに対する符号化方式を比較して、最小数のビットを利用する符号化方式を選択することにより、より効率的にコンテンツが復号化される。
1つの態様において、デバイスの非一時的メモリ内にプログラミングされる方法は、コンテンツブロックを複数のサブブロックに区分化するステップと、複数の符号化サブブロックを生成するよう、複数の可変長符号化テーブルを用いて複数のサブブロックのうちの少なくとも1つのサブブロックを符号化するステップと、複数の符号化サブブロックのうちどの符号化サブブロックが最少ビット量を含むかに基づいて、複数の符号化サブブロックの中から1つの符号化サブブロックを選択するステップと、を含む。複数のサブブロックがルーマサブブロックを含み、ルーマサブブロックの第1列が第1符号化テーブルを用いて符号化され、ルーマサブブロックの第2列が、第1符号化テーブル、第2符号化テーブル又は第3符号化テーブルを用いて各々が符号化された2つのサブブロックを含み、2つのサブブロックが、同じ符号化テーブル又は異なる符号化テーブルを用いて符号化される。複数のサブブロックのうちの少なくとも1つのサブブロックを符号化するステップは、ルーマサブブロックの符号化がオンであるか又はオフであるかを信号送信するビットと、ルーマサブブロックの符号化に使用される符号化テーブルを指定するルーマサブブロックタイプを信号送信するビットと、を含む。複数のサブブロックがクローマサブブロックを含み、クローマサブブロックが、水平パーティションによって区分化され、Uブロックが2つのサブブロックを含み、Vブロックが2つのサブブロックを含み、Uブロックの前記2つのサブブロックの第1のサブブロックが、第1符号化テーブル又は第2符号化テーブルを用いて符号化され、Uブロックの2つのサブブロックの第2のサブブロックが、係数としてAllZero(オールゼロ)、第1符号化テーブル又は第2符号化テーブルを用いて符号化され、Vブロックの2つのサブブロックの第1のサブブロックが、第1符号化テーブル又は第2符号化テーブルを用いて符号化され、Vブロックの前記2つのサブブロックの第2のサブブロックが、係数としてAllZero(オールゼロ)、第1符号化テーブル又は第2符号化テーブルを用いて符号化される。複数のサブブロックがクローマサブブロックを含み、クローマサブブロックが垂直パーティションによって区分化されるときに、Uブロックが2つのサブブロックを含み、Vブロックが2つのサブブロックを含み、Uブロックの前記2つのサブブロックの第1のサブブロックが、係数としてAllZero(オールゼロ)、第1符号化テーブル又は第2符号化テーブルを用いて符号化され、Uブロックの前記2つのサブブロックの第2のサブブロックが、係数としてAllZero(オールゼロ)、第1符号化テーブル又は第2符号化テーブルを用いて符号化され、Vブロックの前記2つのサブブロックの第1のサブブロックが、係数としてAllZero(オールゼロ)、第1符号化テーブル又は第2符号化テーブルを用いて符号化され、Vブロックの前記2つのサブブロックの第2のサブブロックが、係数としてAllZero(オールゼロ)、第1符号化テーブル又は第2符号化テーブルを用いて符号化される。複数のサブブロックがクローマサブブロックを含み、クローマサブブロックが垂直パーティションによって区分化されるときに、Uブロックが4つのサブブロックを含み、Vブロックが4つのサブブロックを含み、Uブロックの4つのサブブロックの各サブブロックが、係数としてAllZero(オールゼロ)、第1符号化テーブル又は第2符号化テーブルを用いて符号化され、Vブロックの前記4つのサブブロックの各サブブロックが、係数としてAllZero(オールゼロ)、第1符号化テーブル又は第2符号化テーブルを用いて符号化される。複数のサブブロックのうちの少なくとも1つのサブブロックを符号化するステップは、クローマサブブロックの符号化がオンであるか又はオフであるかを信号送信するビットと、水平区分化又は垂直区分化を信号送信する第2のビットと、クローマサブブロックの符号化に使用される符号化テーブルを指定するクローマサブブロックタイプを信号送信するビットのセットと、を含む。
別の態様において、装置は、コンテンツブロックを複数のサブブロックに区分化するステップと、複数の符号化サブブロックを生成するよう、複数の可変長符号化テーブルを用いて複数のサブブロックのうちの少なくとも1つのサブブロックを符号化するステップと、複数の符号化サブブロックのうちどの符号化サブブロックが最少ビット量を含むかに基づいて、複数の符号化サブブロックの中から1つの符号化サブブロックを選択するステップと、を行うアプリケーションを格納する非一時的メモリと、メモリに結合され、アプリケーションを処理するように構成されたプロセッサと、を備える。複数のサブブロックがルーマサブブロックを含み、ルーマサブブロックの第1列が第1符号化テーブルを用いて符号化され、ルーマサブブロックの第2列が、第1符号化テーブル、第2符号化テーブル又は第3符号化テーブルを用いて各々が符号化された2つのサブブロックを含み、2つのサブブロックが、同じ符号化テーブル又は異なる符号化テーブルを用いて符号化される。複数のサブブロックのうちの少なくとも1つのサブブロックを符号化するステップは、ルーマサブブロックの符号化がオンであるか又はオフであるかを信号送信するビットと、ルーマサブブロックの符号化に使用される符号化テーブルを指定するルーマサブブロックタイプを信号送信するビットと、を含む。複数のサブブロックがクローマサブブロックを含み、クローマサブブロックが、水平パーティションによって区分化され、Uブロックが2つのサブブロックを含み、Vブロックが2つのサブブロックを含み、Uブロックの2つのサブブロックの第1のサブブロックが、第1符号化テーブル又は第2符号化テーブルを用いて符号化され、Uブロックの前記2つのサブブロックの第2のサブブロックが、係数としてAllZero(オールゼロ)、第1符号化テーブル又は第2符号化テーブルを用いて符号化され、Vブロックの2つのサブブロックの第1のサブブロックが、第1符号化テーブル又は第2符号化テーブルを用いて符号化され、Vブロックの2つのサブブロックの第2のサブブロックが、係数としてAllZero(オールゼロ)、第1符号化テーブル又は第2符号化テーブルを用いて符号化される。複数のサブブロックがクローマサブブロックを含み、クローマサブブロックが垂直パーティションによって区分化されるときに、Uブロックが4つのサブブロックを含み、Vブロックが4つのサブブロックを含み、Uブロックの前記4つのサブブロックの各サブブロックが、係数としてAllZero(オールゼロ)、第1符号化テーブル又は第2符号化テーブルを用いて符号化され、Vブロックの4つのサブブロックの各サブブロックが、係数としてAllZero(オールゼロ)、第1符号化テーブル又は第2符号化テーブルを用いて符号化される。複数のサブブロックのうちの少なくとも1つのサブブロックを符号化するステップは、クローマサブブロックの符号化がオンであるか又はオフであるかを信号送信するビットと、水平区分化又は垂直区分化を信号送信する第2のビットと、クローマサブブロックの符号化に使用される符号化テーブルを指定するクローマサブブロックタイプを信号送信するビットのセットと、を含む。
別の態様において、システムは、コンテンツブロックを複数のサブブロックに区分化し、複数の符号化サブブロックを生成するよう、複数の可変長符号化テーブルを用いて複数のサブブロックのうちの少なくとも1つのサブブロックを符号化し、複数の符号化サブブロックのうちどの符号化サブブロックが最少ビット量を含むかに基づいて、複数の符号化サブブロックの中から1つの符号化サブブロックを選択する、ように構成された第1のコンピュータデバイスと、符号化された少なくとも1つのサブブロックを復号するよう構成された第2のコンピュータデバイスと、を備える。複数のサブブロックがルーマサブブロックを含み、ルーマサブブロックの第1列が第1符号化テーブルを用いて符号化され、ルーマサブブロックの第2列が、第1符号化テーブル、第2符号化テーブル又は第3符号化テーブルを用いて各々が符号化された2つのサブブロックを含み、2つのサブブロックが、同じ符号化テーブル又は異なる符号化テーブルを用いて符号化される。複数のサブブロックのうちの少なくとも1つのサブブロックを符号化するステップは、ルーマサブブロックの符号化がオンであるか又はオフであるかを信号送信するビットと、ルーマサブブロックの符号化に使用される符号化テーブルを指定するルーマサブブロックタイプを信号送信するビットと、を含む。複数のサブブロックがクローマサブブロックを含み、Uブロックの2つのサブブロックの第1のサブブロックが、複数のサブブロックがクローマサブブロックを含み、クローマサブブロックが、水平パーティションによって区分化され、Uブロックが2つのサブブロックを含み、Vブロックが2つのサブブロックを含み、Uブロックの2つのサブブロックの第1のサブブロックが、第1符号化テーブル又は第2符号化テーブルを用いて符号化され、Uブロックの2つのサブブロックの第2のサブブロックが、係数としてAllZero(オールゼロ)、第1符号化テーブル又は第2符号化テーブルを用いて符号化され、Vブロックの2つのサブブロックの第1のサブブロックが、第1符号化テーブル又は第2符号化テーブルを用いて符号化され、Vブロックの2つのサブブロックの第2のサブブロックが、係数としてAllZero(オールゼロ)、第1符号化テーブル又は第2符号化テーブルを用いて符号化される。複数のサブブロックがクローマサブブロックを含み、クローマサブブロックが垂直パーティションによって区分化されるときに、Uブロックが4つのサブブロックを含み、Vブロックが4つのサブブロックを含み、Uブロックの4つのサブブロックの各サブブロックが、係数としてAllZero(オールゼロ)、第1符号化テーブル又は第2符号化テーブルを用いて符号化され、Vブロックの4つのサブブロックの各サブブロックが、係数としてAllZero(オールゼロ)、第1符号化テーブル又は前記第2符号化テーブルを用いて符号化される。複数のサブブロックのうちの少なくとも1つのサブブロックを符号化するステップは、クローマサブブロックの符号化がオンであるか又はオフであるかを信号送信するビットと、水平区分化又は垂直区分化を信号送信する第2のビットと、クローマサブブロックの符号化に使用される符号化テーブルを指定するクローマサブブロックタイプを信号送信するビットのセットと、を含む。
一部の実施形態による、コーデックを実装する方法のフローチャートを示す。 一部の実施形態による、VLCテーブルの概略図を示す。 一部の実施形態による、ルーマ(輝度)サブブロックエントロピー符号化に関する概略図を示す。 一部の実施形態による、ルーマサブブロックのテーブルを示す。 一部の実施形態による、YUV422に対するクローマ(色差)サブブロック符号化の概略図を示す。 一部の実施形態による、YUV444に対するクローマサブブロック符号化の概略図を示す。 一部の実施形態による、クローマサブブロック符号化の概略図を示す。 一部の実施形態による、サブブロックベースのエントロピー符号化を実装するよう構成された例示的なコンピュータデバイスのブロック図を示す。 一部の実施形態による、デバイスのネットワークの概略図を示す。
符号器/復号器(「コーデック」)を改善するために、エントロピー符号化が最適化される。エントロピー符号化は、データを圧縮するのに利用される二値化であり、この圧縮は、ブロック毎に実施することができる。例えば、16x2画像ブロックが符号化され、その結果が、ヘッダービット、エントロピー符号化ビット及びリファインメントビットを含むようになる。
図1は、一部の実施形態によるコーデックを実装する方法のフローチャートを示す。ステップ100において、画像ブロック(例えば、16x2入力画像ブロック)が量子化される。量子化は、ある範囲の値を単一の量子値に圧縮することによるロッシー圧縮技術である。ステップ102において、差分パルス符号変調(DPCM)が利用され、予測を用いたサンプル値信号をデジタル表現する。DPCMベース符号化において、近隣の量子化画素値を差分計算することによって、残差信号が生成される。ステップ104において、修正エントロピー符号化が実装されてデータを圧縮する。修正エントロピー符号化について、本明細書で更に説明する。ステップ106において、圧縮データがリファインメントされる。リファインメント後、ヘッダービット、エントロピー符号化ビット及びリファインメントビットを含む、符号化ビットストリームが利用可能となる。
図2は、一部の実施形態によるVLCテーブルの概略側面図を示す。2つのカラー符号化フォーマット(YUV422及びYUV444)が図示されているが、あらゆるカラー符号化フォーマットが利用可能である。周知のように、YUV444は、4:4:4サブサンプリング(例えば、Y、U及びVが同じサンプリングレートを有する)に等しく、YUV422は、4:2:2サブサンプリング(U及びVは、Yの半分のレートでサンプリングされる)に等しい。Yはルーマ(輝度)を示し、U及びVはクローマ(色差)を示す。
従来、同じエントロピー符号化方式が、全体ブロック(例えば、16x2ブロック)に対して使用された。本明細書で記載されるようなサブブロックベースのエントロピー符号化は、1ブロックに対して2つ(又はそれ以上)の異なるエントロピー符号化を用いる。例えば、YUV422(200)において、Yの16x2ブロックは、第1エントロピー符号化テーブル/方式(例えば、ECX230)を使用し、8x2ブロックU及び8x2ブロックVは、第2エントロピー符号化テーブル/方式(例えば、ECl220)を使用する。別の実施例において、YUV444(210)において、Yの16x2ブロックは、第1エントロピー符号化方式(例えば、ECX)を使用し、16x2ブロックU及び16x2ブロックVは、第2エントロピー符号化方式(例えば、EC1)を使用する。
第2エントロピー符号化方式(例えば、EC1)を用いると、各入力に対して、固有のバイナリコードワードが存在する。例えば、入力0はコードワード1をもたらし、図示のように以下同様である。
従って、ブロックは、サブブロックに分割され、次いで、サブブロックは、本明細書で記載されるような対応するエントロピー符号化方式(例えば、Yに対してECX及びU,Vに対してEC1)を用いてエントロピー符号化される。一部の実施形態において、各サブブロックに対して各エントロピー符号化方式が使用され、各サブブロックに対して最良のエントロピー符号化方式が選択され、ここで最良とは、最少数のビットをもたらすエントロピー符号化方式を意味する。例えば、第1のサブブロックは、第1エントロピー符号化方式及び第2エントロピー符号化方式を用いて符号化され、次いで、各結果に対するビットの数が比較されて、より少い方の(又はより多くのエントロピー符号化方式が使用される場合は最少数)のビットを有する結果が使用される(例えば、復号器に信号が送信され、その結果、復号器は、データを復号するのにどのエントロピー符号化方式を使用するのかを認知するようになる)。
図3は、一部の実施形態による、ルーマ(輝度)サブブロックエントロピー符号化に関する概略図を示す。サブブロックがオフ300の場合、16x2ブロックのY成分全体が1つの符号化方式(例えば、ECX)のみを用いて符号化される。サブブロックがオン310の場合、各ルーマサブブロックは、異なる可変長符号化(VLC)テーブル又は方式を用いることができる。ECXエントロピー符号化を用いて、ルーマの第2列は、2つのサブブロック314、316、すなわち、左8サンプル(例えば、サブブロック0)及び右8サンプル(例えば、サブブロック1)を有しており、ここで第2列の各サブブロックは、複数の可能性(例えば、テーブル1(320)、テーブル2(330)又はECX(230))の中から1つのテーブルを用いる。テーブル1及びテーブル2は、例示的なVLCテーブルである。テーブル1はまた、残差レベルの絶対値が1よりも大きい場合、テーブル1は選択されないことを示しており、テーブル2は、残差レベルの絶対値が2よりも大きい場合、テーブル1は選択されないことを示している。図3は、第1列、サブブロック0及びサブブロック1に分割されたブロックを示しているが、ブロックは、各々が4つのサンプルを有するサブブロックなど、あらゆる方式で分割することができる。
図4は、一部の実施形態による、ルーマサブブロック符号化のためのテーブルを示している。各サブブロックについて、符号器は、エントロピー符号化方式が使用される復号器に信号送信する。1ビットは、ルーマサブブロックがオンであるか、又はオフであるかを信号送信するのに使用される。ルーマサブブロックがオンである場合、ルーマサブブロックのタイプ/方式(例えば、テーブル1、テーブル2、又はECX)を信号送信するために、追加のヘッダーが送られる。一部の実施形態において、右サブブロックタイプを信号送信するために特別な条件が存在する。左サブブロックのサブブロックタイプがECXである場合、右サブブロックタイプをECXにする機会は存在しない(そうであれば、サブブロックオフと同じになるため)。この特別な条件では、以下の信号伝達が使用され、すなわち、テーブル1:信号0及びテーブル2:信号1である。
テーブル400は、ルーマサブブロックのオン又はオフを信号送信する1ビットを示している。例えば、コードワードが0である場合、サブブロックの使用がオフであり、コードワードが1である場合、サブブロックの使用がオンである。テーブル402は、サブブロックのフラグ/ビットがオンであるときに、ルーマサブブロックタイプを信号送信するヘッダービットを示している。例えば、コードワード10は、テーブル1方式/タイプを用いることを示し、コードワード0は、テーブル1方式/タイプを用いることを示し、コードワード11は、ECX方式を使用することを示している。
クローマもまた、サブブロックに分割される。水平クローマサブブロックサイズは、YUV422に対して8x1(Uに対して2サブブロック及びVに対して2サブブロック)、YUV444に対に対して16x1(Uに対して2サブブロック及びVに対して2サブブロック)である。垂直クローマサブブロックサイズは、YUV422に対して4x2(Uに対して2サブブロック及びVに対して2サブブロック)、YUV444に対に対して4x2(Uに対して4サブブロック及びVに対して4サブブロック)である。
図5は、一部の実施形態による、YUV422に対するクローマ(色差)サブブロック符号化の概略図を示す。ボックス500において、サブブロックフラグ/信号がオフ(例えば、信号0)である場合、U及びV(クローマ)に対する8x2ブロックにおいて、第2の符号化方式/テーブル(例えば、EC1)が使用される。
ボックス502において、サブブロックがオンで、パーティション(区分化)が水平方向(例えば、信号11)である場合、Uに対する8x2ブロックが、テーブル1又はECX(1ビット信号)を用いて符号化された8x1サブブロックと、AllZero、テーブル1又はECX(1又は2ビット信号)を用いた別の8x1サブブロックとを有し、Vに対する8x2ブロックが、テーブル1又はECX(1ビット信号)を用いて符号化された8x1サブブロックと、AllZero、テーブル1又はECX(1又は2ビット信号)を用いた別の8x1サブブロックと、を有する。AllZeroは、サブブロックの第1パルス符号変調(PCM)係数を除く係数の全てがゼロであることを意味する。
ボックス504において、サブブロックがオンで、パーティションが垂直方向(例えば、信号10)である場合、Uに対する8x2ブロックが、AllZero、テーブル1又はECX(1又は2ビット信号)を用いて符号化された4x2サブブロックと、AllZero、テーブル1又はECX(1又は2ビット信号)を用いて符号化された別の4x2サブブロックとを有し、Vに対する8x2ブロックが、AllZero、テーブル1又はECX(1又は2ビット信号)を用いて符号化された4x2サブブロックと、AllZero、テーブル1又はECX(1又は2ビット信号)を用いて符号化された別の4x2サブブロックと、を有する。
図6は、一部の実施形態による、YUV444に対するクローマサブブロック符号化の概略図を示す。ボックス600において、サブブロックフラグ/信号がオフ(例えば、信号0)である場合、U及びV(クローマ)に対する16x2ブロックにおいて、第2の符号化方式/テーブル(例えば、EC1)が使用される。
ボックス602において、サブブロックがオンで、パーティションが水平方向(例えば、信号11)である場合、Uに対する16x2ブロックが、テーブル1又はECX(1ビット信号)を用いて符号化された16x1サブブロックと、AllZero(オールゼロ)、テーブル1又はECX(1又は2ビット信号)を用いた別の16x1サブブロックとを有し、Vに対する16x2ブロックが、テーブル1又はECX(1ビット信号)を用いて符号化された16x1サブブロックと、AllZero、テーブル1又はECX(1又は2ビット信号)を用いた別の16x1サブブロックと、を有する。AllZeroは、サブブロックの第1PCM係数を除く係数の全てがゼロであることを意味する。
ブロック604において、サブブロックがオンで、パーティションが垂直方向(例えば、信号10)である場合、Uに対する16x2ブロックが、AllZero、テーブル1又はECX(1又は2ビット信号)を用いて符号化された4つの4x2サブブロックを有し、Vに対する16x2ブロックが、AllZero、テーブル1又はECX(1又は2ビット信号)を用いて符号化された4つの4x2サブブロックを有する。
クローマサブブロック符号化では、クローマサブブロックがオンであるか又はオフであるか(例えば、0はクローマサブブロックがオフであることを意味し、1はロマサブブロックがオンであることを意味する)を信号送信するのに、1ビット信号伝達が使用される。クローマサブブロック符号化では、クローマサブブロックがオンであるか又はオフであるか(例えば、0はクローマサブブロックがオフであることを意味し、1はロマサブブロックがオンであることを意味する)を信号送信するのに、1ビット信号伝達が使用される。
クローマサブブロックがオンである場合、水平又は垂直パーティション(例えば、0は垂直パーティションを意味し、1は垂直パーティション)を信号送信するのに追加の1ビット信号伝達が使用される。
図7は、一部の実施形態によるクローマサブブロックのブロック図を示す。ボックス700において、サブブロックがオフ(例えば、信号0)である場合、8x2ブロックU及び8x2ブロックVにおいて、第2の符号化方式(例えば、EC1)が使用される。
ボックス702において、サブブロックがオンで、パーティションが水平方向(例えば、信号11)である場合、Uに対する8x2ブロックが、テーブル1又はECX(1ビット信号)を用いて符号化された8x1サブブロック0と、AllZero(オールゼロ)、テーブル1又はECX(1又は2ビット信号)を用いた別の8x1サブブロック1とを有し、Vに対する8x2ブロックが、テーブル1又はECX(1ビット信号)を用いて符号化された8x1サブブロック0と、AllZero、テーブル1又はECX(1又は2ビット信号)を用いた8x1サブブロック1と、を有する。
ブロック704において、サブブロックがオンで、パーティションが垂直方向(例えば、信号10)である場合、Uに対する8x2ブロックが、AllZero、テーブル1又はECX(1又は2ビット信号)を用いて符号化された4x2サブブロック0と、AllZero、テーブル1又はECX(1又は2ビット信号)を用いて符号化された4x2サブブロック1と、を有し、Vに対する8x2ブロックが、AllZero、テーブル1又はECX(1又は2ビット信号)を用いて符号化された4x2サブブロック0と、AllZero、テーブル1又はECX(1又は2ビット信号)を用いて符号化された4x2サブブロック1と、を有する。
各ルーマサブブロックのルーマサブブロックタイプを選択するために、第2列の各サブブロックにおいて、モード選択部は、方式の選択肢(例えば、テーブル1、テーブル2、又はECX)から最良のもの(例えば、最少数ビットを有する結果)を選択する。ルーマサブブロックのタイプを選択する例示的な疑似コードは、以下である。
For each sub-block in 2nd row:
N = Total coefficients = 8;
N0 = Number of zeros;
N1 = Number of +/- 1;
N2 = Number of +/-2;
if ((N0 + N1) == N)
Sub-block-Type = Table1;
else if ((N0 + N1 + N2) == N)
Sub-block-Type = Table2;
else
Sub-block-Type = ECX;
End for
各クローマサブブロックのクローマサブブロックタイプを選択するために、各サブブロックにおいて、モード選択部は、方式の選択肢(例えば、AllZero、テーブル1、又はECX)から最良のもの(例えば、最少数ビットを有する結果)を選択する。クローマサブブロックのタイプを選択する例示的な疑似コードは、以下である。
N = Total coefficients;
N0 = Number of zeros;
N1 = Number of +/- 1;
if (N0 == N)
Sub-block-Type = AllZero;
else if ((N0 + N1) == N)
Sub-block-Type = Table1;
else
Sub-block-Type = ECX;
End for
図8は、一部の実施形態による、サブブロックベースのエントロピー符号化を実装するよう構成された例示的なコンピュータデバイスのブロック図を示す。コンピュータデバイス800は、画像及びビデオのような情報を取得、格納、コンピュータ計算、加工処理、通信及び/又は表示するのに用いることができる。コンピュータデバイス800は、符号化及び/又は復号化のようなサブブロックベースのエントロピー符号化の態様の何れかを実装することができる。一般に、コンピュータデバイス800を実装するのに好適なハードウェア構造は、ネットワークインタフェース802、メモリ804、プロセッサ806、1又は複数のI/Oデバイス808、バス801及びストレージデバイス812を含む。十分な速度を有する好適なプロセッサが選択される限り、プロセッサの選択はそれ程重要ではない。メモリ804は当該技術分野で周知の何らかの従来のコンピュータメモリとすることができる。ストレージデバイス812は、ハードドライブ、CD-ROM、CD-RW、DVD、DVD-RW、高解像度ディスク/ドライブ、超HDドライブ、フラッシュメモリカード又は他の何れかのストレージデバイスを含むことができる。コンピュータデバイス800は、1又は2以上のネットワークインタフェース802を含むことができる。ネットワークインタフェース802の実施例は、Ethernet又はLANの他のタイプに接続されるネットワークカードを含む。1又は複数のI/Oデバイス808は、以下:キーボード、マウス、モニタ、スクリーン、プリンタ、モデム、タッチスクリーン、ボタンインタフェース及び他のデバイスのうちの1又は2以上を含むことができる。サブブロックベースのエントロピー符号化を実装するのに使用される、1又は複数のサブブロックベースのエントロピー符号化アプリケーション830は、ストレージデバイス812及びメモリ804に格納され、アプリケーションが通常処理されるように処理することができる。図8に示された構成要素よりも多い又は少ない構成要素をコンピュータデバイス800に含めることができる。一部の実施形態において、サブブロックベースのエントロピー符号化ハードウェア820が含まれる。図8におけるコンピュータデバイス800は、サブブロックベースのエントロピー符号化のためのアプリケーション830及びハードウェア820を含むが、サブブロックベースのエントロピー符号化は、コンピュータデバイス上にハードウェア、ファームウェア、ソフトウェア、又はこれらの何れかの組み合わせで実装することができる。例えば、一部の実施形態において、サブブロックベースのエントロピー符号化アプリケーション830は、メモリ内にプログラミングされて、プロセッサを用いて実行される。別の実施例では、一部の実施形態において、サブブロックハードウェア820は、サブブロックベースのエントロピー符号化を実装するよう特別に設計されたゲートを含むプログラミングされたハードウェアロジックである。
一部の実施形態において、サブブロックベースのエントロピー符号化アプリケーション830は、複数のアプリケーション及び/又はモジュールを含む。一部の実施形態において、モジュールは、1又は2以上のサブモジュールも含む。一部の実施形態において、より少ない又は追加のモジュールを含めることができる。
一部の実施形態において、サブブロックベースのエントロピー符号化ハードウェア820は、レンズ、画像センサ、及び/又は他の何れかのカメラ構成要素などのカメラ構成要素を含む。
好適なコンピュータ装置の例としては、パーソナルコンピュータ、ラップトップコンピュータ、コンピュータワークステーション、サーバ、メインフレームコンピュータ、ハンドヘルドコンピュータ、携帯情報端末、セルラー/携帯電話機、スマート家電、ゲーム機、デジタルカメラ、デジタルカムコーダ、カメラ付き電話機、スマートフォン、ポータブル音楽プレーヤ、タブレットコンピュータ、モバイル装置、ビデオプレーヤ、ビデオディスクライタ/プレーヤ(DVDライタ/プレーヤ、高精細ディスクライタ/プレーヤ、超高精細ディスクライタ/プレーヤなど)、テレビジョン、家庭用エンターテイメントシステム、拡張現実装置、仮想現実装置、スマートジュエリ(例えば、スマートウォッチ)、車両(例えば、自動運転車両)、又はその他のあらゆる好適なコンピュータ装置が挙げられる。
図9は、一部の実施形態によるデバイスのネットワークの概略図を示す。ビデオコンテンツは、1又は2以上のエンコーダ(符号器)デバイス900にて符号化される。符号化されたコンテンツは、ネットワーク902(例えば、インターネット、セルラーネットワーク、又は他の何れかのネットワーク)を通じて1又は2以上のデコーダ(復号器)デバイス904に送信/ストリーミングされる。一部の実施形態において、コンテンツは、ネットワークなしで1又は2以上のデコーダ(復号器)デバイス904に直接送信される。デバイスのネットワークの1又は2以上のデバイス(例えば、エンコーダデバイス、デコーダデバイス)は、本明細書で記載されるサブブロックベースのエントロピー符号化実施構成を実装するよう構成される。1又は2以上のエンコーダデバイス900及び1又は2以上のデコーダデバイス904は、サーバ、パーソナルコンピュータ、スマートフォン、テレビジョン、ゲーミングシステム、車両、又は本明細書で記載されるデバイスの何れか或いは本明細書で記載されるデバイスの何れかの組み合わせなどのあらゆるデバイスとすることができる。
本明細書で記載されるサブブロックベースのエントロピー符号化を利用するために、コンテンツを取得するのにデジタルカメラ/カムコーダなどのデバイスが使用される。サブブロックベースのエントロピー符号化は、ユーザ支援によって、ユーザが関与することなく自動的に実装されて、効率的に符号化、送信、及び復号化をすることができる。
作動時には、サブブロックベースのエントロピー符号化は、コンテンツのサブブロックに対して最良の符号化方式を選択することによって、コンテンツの符号化及び復号化をより効率的に行う。
組み込みコーデックのためのサブブロックベースのエントロピー符号化の一部の実施形態。
デバイスの非一時的メモリ内にプログラミングされる方法であって、
コンテンツブロックを複数のサブブロックに区分化するステップと、
複数の符号化サブブロックを生成するよう、複数の可変長符号化テーブルを用いて上記複数のサブブロックのうちの少なくとも1つのサブブロックを符号化するステップと、
上記複数の符号化サブブロックのうちどの符号化サブブロックが最少ビット量を含むかに基づいて、上記複数の符号化サブブロックの中から1つの符号化サブブロックを選択するステップと、
を含む、方法。
上記複数のサブブロックがルーマサブブロックを含み、上記ルーマサブブロックの第1列が第1符号化テーブルを用いて符号化され、上記ルーマサブブロックの第2列が、第1符号化テーブル、第2符号化テーブル又は第3符号化テーブルを用いて各々が符号化された2つのサブブロックを含み、上記2つのサブブロックが、同じ符号化テーブル又は異なる符号化テーブルを用いて符号化される、条項1に記載の方法。
上記複数のサブブロックのうちの少なくとも1つのサブブロックを符号化するステップは、上記ルーマサブブロックの符号化がオンであるか又はオフであるかを信号送信するビットと、上記ルーマサブブロックの符号化に使用される符号化テーブルを指定するルーマサブブロックタイプを信号送信するビットと、を含む、条項1に記載の方法。
上記複数のサブブロックがクローマサブブロックを含み、上記クローマサブブロックが、水平パーティションによって区分化され、Uブロックが2つのサブブロックを含み、Vブロックが2つのサブブロックを含み、
上記Uブロックの上記2つのサブブロックの第1のサブブロックが、第1符号化テーブル又は第2符号化テーブルを用いて符号化され、上記Uブロックの上記2つのサブブロックの第2のサブブロックが、係数としてAllZero(オールゼロ)、上記第1符号化テーブル又は上記第2符号化テーブルを用いて符号化され、
上記Vブロックの上記2つのサブブロックの第1のサブブロックが、第1符号化テーブル又は第2符号化テーブルを用いて符号化され、上記Vブロックの上記2つのサブブロックの第2のサブブロックが、係数としてAllZero(オールゼロ)、上記第1符号化テーブル又は上記第2符号化テーブルを用いて符号化される、条項1に記載の方法。
上記複数のサブブロックがクローマサブブロックを含み、上記クローマサブブロックが垂直パーティションによって区分化されるときに、Uブロックが2つのサブブロックを含み、Vブロックが2つのサブブロックを含み、上記Uブロックの上記2つのサブブロックの第1のサブブロックが、係数としてAllZero(オールゼロ)、第1符号化テーブル又は第2符号化テーブルを用いて符号化され、上記Uブロックの上記2つのサブブロックの第2のサブブロックが、係数としてAllZero(オールゼロ)、上記第1符号化テーブル又は上記第2符号化テーブルを用いて符号化され、上記Vブロックの上記2つのサブブロックの第1のサブブロックが、係数としてAllZero(オールゼロ)、上記第1符号化テーブル又は上記第2符号化テーブルを用いて符号化され、上記Vブロックの上記2つのサブブロックの第2のサブブロックが、係数としてAllZero(オールゼロ)、上記第1符号化テーブル又は上記第2符号化テーブルを用いて符号化される、条項1に記載の方法。
上記複数のサブブロックがクローマサブブロックを含み、上記クローマサブブロックが垂直パーティションによって区分化されるときに、Uブロックが4つのサブブロックを含み、Vブロックが4つのサブブロックを含み、上記Uブロックの上記4つのサブブロックの各サブブロックが、係数としてAllZero(オールゼロ)、第1符号化テーブル又は第2符号化テーブルを用いて符号化され、上記Vブロックの上記4つのサブブロックの各サブブロックが、係数としてAllZero(オールゼロ)、上記第1符号化テーブル又は上記第2符号化テーブルを用いて符号化される、条項1に記載の方法。
上記複数のサブブロックのうちの少なくとも1つのサブブロックを符号化するステップは、上記クローマサブブロックの符号化がオンであるか又はオフであるかを信号送信するビットと、水平区分化又は垂直区分化を信号送信する第2のビットと、上記クローマサブブロックの符号化に使用される符号化テーブルを指定するクローマサブブロックタイプを信号送信するビットのセットと、を含む、条項1に記載の方法。
コンテンツブロックを複数のサブブロックに区分化するステップと、複数の符号化サブブロックを生成するよう、複数の可変長符号化テーブルを用いて上記複数のサブブロックのうちの少なくとも1つのサブブロックを符号化するステップと、上記複数の符号化サブブロックのうちどの符号化サブブロックが最少ビット量を含むかに基づいて、上記複数の符号化サブブロックの中から1つの符号化サブブロックを選択するステップと、を行うアプリケーションを格納する非一時的メモリと、
上記メモリに結合され、上記アプリケーションを処理するように構成されたプロセッサと、
を備える、装置。
上記複数のサブブロックがルーマサブブロックを含み、上記ルーマサブブロックの第1列が第1符号化テーブルを用いて符号化され、上記ルーマサブブロックの第2列が、第1符号化テーブル、第2符号化テーブル又は第3符号化テーブルを用いて各々が符号化された2つのサブブロックを含み、上記2つのサブブロックが、同じ符号化テーブル又は異なる符号化テーブルを用いて符号化される、条項8に記載の装置。
上記複数のサブブロックのうちの少なくとも1つのサブブロックを符号化するステップは、上記ルーマサブブロックの符号化がオンであるか又はオフであるかを信号送信するビットと、上記ルーマサブブロックの符号化に使用される符号化テーブルを指定するルーマサブブロックタイプを信号送信するビットと、を含む、条項8に記載の装置。
上記複数のサブブロックがクローマサブブロックを含み、上記クローマサブブロックが、水平パーティションによって区分化され、Uブロックが2つのサブブロックを含み、Vブロックが2つのサブブロックを含み、
上記Uブロックの上記2つのサブブロックの第1のサブブロックが、第1符号化テーブル又は第2符号化テーブルを用いて符号化され、上記Uブロックの上記2つのサブブロックの第2のサブブロックが、係数としてAllZero(オールゼロ)、上記第1符号化テーブル又は上記第2符号化テーブルを用いて符号化され、
上記Vブロックの上記2つのサブブロックの第1のサブブロックが、第1符号化テーブル又は第2符号化テーブルを用いて符号化され、上記Vブロックの上記2つのサブブロックの第2のサブブロックが、係数としてAllZero(オールゼロ)、上記第1符号化テーブル又は上記第2符号化テーブルを用いて符号化される、条項8に記載の装置。
上記複数のサブブロックがクローマサブブロックを含み、上記クローマサブブロックが垂直パーティションによって区分化されるときに、Uブロックが2つのサブブロックを含み、Vブロックが2つのサブブロックを含み、上記Uブロックの上記2つのサブブロックの第1のサブブロックが、係数としてAllZero(オールゼロ)、第1符号化テーブル又は第2符号化テーブルを用いて符号化され、上記Uブロックの上記2つのサブブロックの第2のサブブロックが、係数としてAllZero(オールゼロ)、上記第1符号化テーブル又は上記第2符号化テーブルを用いて符号化され、上記Vブロックの上記2つのサブブロックの第1のサブブロックが、係数としてAllZero(オールゼロ)、上記第1符号化テーブル又は上記第2符号化テーブルを用いて符号化され、上記Vブロックの上記2つのサブブロックの第2のサブブロックが、係数としてAllZero(オールゼロ)、上記第1符号化テーブル又は上記第2符号化テーブルを用いて符号化される、条項8に記載の装置。
上記複数のサブブロックがクローマサブブロックを含み、上記クローマサブブロックが垂直パーティションによって区分化されるときに、Uブロックが4つのサブブロックを含み、Vブロックが4つのサブブロックを含み、上記Uブロックの上記4つのサブブロックの各サブブロックが、係数としてAllZero(オールゼロ)、第1符号化テーブル又は第2符号化テーブルを用いて符号化され、上記Vブロックの上記4つのサブブロックの各サブブロックが、係数としてAllZero(オールゼロ)、上記第1符号化テーブル又は上記第2符号化テーブルを用いて符号化される、条項8に記載の装置。
上記複数のサブブロックのうちの少なくとも1つのサブブロックを符号化するステップは、上記クローマサブブロックの符号化がオンであるか又はオフであるかを信号送信するビットと、水平区分化又は垂直区分化を信号送信する第2のビットと、上記クローマサブブロックの符号化に使用される符号化テーブルを指定するクローマサブブロックタイプを信号送信するビットのセットと、を含む、条項8に記載の装置。
コンテンツブロックを複数のサブブロックに区分化し、複数の符号化サブブロックを生成するよう、複数の可変長符号化テーブルを用いて上記複数のサブブロックのうちの少なくとも1つのサブブロックを符号化し、上記複数の符号化サブブロックのうちどの符号化サブブロックが最少ビット量を含むかに基づいて、上記複数の符号化サブブロックの中から1つの符号化サブブロックを選択する、ように構成された第1のコンピュータデバイスと、
符号化された上記少なくとも1つのサブブロックを復号するよう構成された第2のコンピュータデバイスと、
を備える、システム。
上記複数のサブブロックがルーマサブブロックを含み、上記ルーマサブブロックの第1列が第1符号化テーブルを用いて符号化され、上記ルーマサブブロックの第2列が、第1符号化テーブル、第2符号化テーブル又は第3符号化テーブルを用いて各々が符号化された2つのサブブロックを含み、上記2つのサブブロックが、同じ符号化テーブル又は異なる符号化テーブルを用いて符号化される、条項15に記載のシステム。
上記複数のサブブロックのうちの少なくとも1つのサブブロックを符号化するステップは、上記ルーマサブブロックの符号化がオンであるか又はオフであるかを信号送信するビットと、上記ルーマサブブロックの符号化に使用される符号化テーブルを指定するルーマサブブロックタイプを信号送信するビットと、を含む、条項15に記載のシステム。
上記複数のサブブロックがクローマサブブロックを含み、上記クローマサブブロックが、水平パーティションによって区分化され、Uブロックが2つのサブブロックを含み、Vブロックが2つのサブブロックを含み、
上記Uブロックの上記2つのサブブロックの第1のサブブロックが、第1符号化テーブル又は第2符号化テーブルを用いて符号化され、上記Uブロックの上記2つのサブブロックの第2のサブブロックが、係数としてAllZero(オールゼロ)、上記第1符号化テーブル又は上記第2符号化テーブルを用いて符号化され、
上記Vブロックの上記2つのサブブロックの第1のサブブロックが、第1符号化テーブル又は第2符号化テーブルを用いて符号化され、上記Vブロックの上記2つのサブブロックの第2のサブブロックが、係数としてAllZero(オールゼロ)、上記第1符号化テーブル又は上記第2符号化テーブルを用いて符号化される、条項15に記載のシステム。
上記複数のサブブロックがクローマサブブロックを含み、上記クローマサブブロックが垂直パーティションによって区分化されるときに、Uブロックが2つのサブブロックを含み、Vブロックが2つのサブブロックを含み、上記Uブロックの上記2つのサブブロックの第1のサブブロックが、係数としてAllZero(オールゼロ)、第1符号化テーブル又は第2符号化テーブルを用いて符号化され、上記Uブロックの上記2つのサブブロックの第2のサブブロックが、係数としてAllZero(オールゼロ)、上記第1符号化テーブル又は上記第2符号化テーブルを用いて符号化され、上記Vブロックの上記2つのサブブロックの第1のサブブロックが、係数としてAllZero(オールゼロ)、上記第1符号化テーブル又は上記第2符号化テーブルを用いて符号化され、上記Vブロックの上記2つのサブブロックの第2のサブブロックが、係数としてAllZero(オールゼロ)、上記第1符号化テーブル又は上記第2符号化テーブルを用いて符号化される、条項15に記載のシステム。
上記複数のサブブロックがクローマサブブロックを含み、上記クローマサブブロックが垂直パーティションによって区分化されるときに、Uブロックが4つのサブブロックを含み、Vブロックが4つのサブブロックを含み、
上記Uブロックの上記4つのサブブロックの各サブブロックが、係数としてAllZero(オールゼロ)、第1符号化テーブル又は第2符号化テーブルを用いて符号化され、
上記Vブロックの上記4つのサブブロックの各サブブロックが、係数としてAllZero(オールゼロ)、上記第1符号化テーブル又は上記第2符号化テーブルを用いて符号化される、条項15に記載のシステム。
上記複数のサブブロックのうちの少なくとも1つのサブブロックを符号化するステップは、上記クローマサブブロックの符号化がオンであるか又はオフであるかを信号送信するビットと、水平区分化又は垂直区分化を信号送信する第2のビットと、上記クローマサブブロックの符号化に使用される符号化テーブルを指定するクローマサブブロックタイプを信号送信するビットのセットと、を含む、条項15に記載のシステム。
本発明の構成及び動作の原理を容易に理解できるように、詳細を含む特定の実施形態に関して本発明を説明した。本明細書におけるこのような特定の実施形態及びこれらの実施形態の詳細についての言及は、本明細書に添付する特許請求の範囲を限定することを意図したものではない。当業者には、特許請求の範囲によって定められる本発明の趣旨及び範囲から逸脱することなく、例示のために選択した実施形態において他の様々な修正を行えることが容易に明らかになるであろう。
100 量子化
102 DPCM(差分パルス符号変調)
104 エントロピー符号化
106 リファインメント

Claims (18)

  1. デバイスの非一時的メモリ内にプログラミングされる方法であって、
    コンテンツブロックを複数のサブブロックに区分化するステップと、
    複数の可変長符号化テーブルを用いて前記複数のサブブロックのうちの2以上のサブブロックの各々を符号化するステップであって、これにより、前記2以上のサブブロックの各々について複数の符号化サブブロックを生成する、ステップと、
    前記複数の符号化サブブロックのうちどの符号化サブブロックが最少ビット量を含むかに基づいて、前記複数の符号化サブブロックの中から1つの符号化サブブロックを選択するステップと、
    を含み、
    前記複数のサブブロックがルーマサブブロックを含み、前記ルーマサブブロックの第1列が第1符号化テーブルを用いて符号化され、前記ルーマサブブロックの第2列が、第2符号化テーブル又は第3符号化テーブルを用いて各々が符号化された2つのサブブロックを含み、前記2つのサブブロックが、同じ符号化テーブル又は異なる符号化テーブルを用いて符号化される、方法。
  2. 前記複数のサブブロックのうちの少なくとも2以上のサブブロックの各々を符号化するステップは、前記ルーマサブブロックの符号化がオンであるか又はオフであるかを信号送信するビットと、前記ルーマサブブロックの符号化に使用される符号化テーブルを指定するルーマサブブロックタイプを信号送信するビットと、を含む、請求項1に記載の方法。
  3. 前記複数のサブブロックがクローマサブブロックを含み、前記クローマサブブロックが、水平パーティションによって区分化され、Uブロックが2つのサブブロックを含み、Vブロックが2つのサブブロックを含み、
    前記Uブロックの前記2つのサブブロックの第1のサブブロックが、第1符号化テーブル又は第2符号化テーブルを用いて符号化され、前記Uブロックの前記2つのサブブロックの第2のサブブロックが、係数としてAllZero(オールゼロ)、前記第1符号化テーブル又は前記第2符号化テーブルを用いて符号化され、
    前記Vブロックの前記2つのサブブロックの第1のサブブロックが、第1符号化テーブル又は第2符号化テーブルを用いて符号化され、前記Vブロックの前記2つのサブブロックの第2のサブブロックが、係数としてAllZero(オールゼロ)、前記第1符号化テーブル又は前記第2符号化テーブルを用いて符号化される、請求項1に記載の方法。
  4. 前記複数のサブブロックがクローマサブブロックを含み、前記クローマサブブロックが垂直パーティションによって区分化されるときに、Uブロックが2つのサブブロックを含み、Vブロックが2つのサブブロックを含み、
    前記Uブロックの前記2つのサブブロックの第1のサブブロックが、係数としてAllZero(オールゼロ)、第1符号化テーブル又は第2符号化テーブルを用いて符号化され、前記Uブロックの前記2つのサブブロックの第2のサブブロックが、係数としてAllZero(オールゼロ)、前記第1符号化テーブル又は前記第2符号化テーブルを用いて符号化され、
    前記Vブロックの前記2つのサブブロックの第1のサブブロックが、係数としてAllZero(オールゼロ)、前記第1符号化テーブル又は前記第2符号化テーブルを用いて符号化され、前記Vブロックの前記2つのサブブロックの第2のサブブロックが、係数としてAllZero(オールゼロ)、前記第1符号化テーブル又は前記第2符号化テーブルを用いて符号化される、請求項1に記載の方法。
  5. 前記複数のサブブロックがクローマサブブロックを含み、前記クローマサブブロックが垂直パーティションによって区分化されるときに、Uブロックが4つのサブブロックを含み、Vブロックが4つのサブブロックを含み、
    前記Uブロックの前記4つのサブブロックの各サブブロックが、係数としてAllZero(オールゼロ)、第1符号化テーブル又は第2符号化テーブルを用いて符号化され、
    前記Vブロックの前記4つのサブブロックの各サブブロックが、係数としてAllZero(オールゼロ)、前記第1符号化テーブル又は前記第2符号化テーブルを用いて符号化される、請求項1に記載の方法。
  6. 前記複数のサブブロックのうちの少なくとも2以上のサブブロックの各々を符号化するステップは、前記クローマサブブロックの符号化がオンであるか又はオフであるかを信号送信するビットと、水平区分化又は垂直区分化を信号送信する第2のビットと、前記クローマサブブロックの符号化に使用される符号化テーブルを指定するクローマサブブロックタイプを信号送信するビットのセットと、を含む、請求項3~5のいずれか1項に記載の方法。
  7. コンテンツブロックを複数のサブブロックに区分化するステップと、
    複数の可変長符号化テーブルを用いて前記複数のサブブロックのうちの2以上のサブブロックの各々を符号化するステップであって、これにより、前記2以上のサブブロックの各々について複数の符号化サブブロックを生成する、ステップと、
    前記複数の符号化サブブロックのうちどの符号化サブブロックが最少ビット量を含むかに基づいて、前記複数の符号化サブブロックの中から1つの符号化サブブロックを選択するステップと、
    を行うアプリケーションを格納する非一時的メモリと、
    前記メモリに結合され、前記アプリケーションを処理するように構成されたプロセッサと、
    を備え、
    前記複数のサブブロックがルーマサブブロックを含み、前記ルーマサブブロックの第1列が第1符号化テーブルを用いて符号化され、前記ルーマサブブロックの第2列が、第2符号化テーブル又は第3符号化テーブルを用いて各々が符号化された2つのサブブロックを含み、前記2つのサブブロックが、同じ符号化テーブル又は異なる符号化テーブルを用いて符号化される、装置。
  8. 前記複数のサブブロックのうちの少なくとも2以上のサブブロックの各々を符号化するステップは、前記ルーマサブブロックの符号化がオンであるか又はオフであるかを信号送信するビットと、前記ルーマサブブロックの符号化に使用される符号化テーブルを指定するルーマサブブロックタイプを信号送信するビットと、を含む、請求項7に記載の装置。
  9. 前記複数のサブブロックがクローマサブブロックを含み、前記クローマサブブロックが、水平パーティションによって区分化され、Uブロックが2つのサブブロックを含み、Vブロックが2つのサブブロックを含み、
    前記Uブロックの前記2つのサブブロックの第1のサブブロックが、第1符号化テーブル又は第2符号化テーブルを用いて符号化され、前記Uブロックの前記2つのサブブロックの第2のサブブロックが、係数としてAllZero(オールゼロ)、前記第1符号化テーブル又は前記第2符号化テーブルを用いて符号化され、
    前記Vブロックの前記2つのサブブロックの第1のサブブロックが、第1符号化テーブル又は第2符号化テーブルを用いて符号化され、前記Vブロックの前記2つのサブブロックの第2のサブブロックが、係数としてAllZero(オールゼロ)、前記第1符号化テーブル又は前記第2符号化テーブルを用いて符号化される、請求項7に記載の装置。
  10. 前記複数のサブブロックがクローマサブブロックを含み、前記クローマサブブロックが垂直パーティションによって区分化されるときに、Uブロックが2つのサブブロックを含み、Vブロックが2つのサブブロックを含み、
    前記Uブロックの前記2つのサブブロックの第1のサブブロックが、係数としてAllZero(オールゼロ)、第1符号化テーブル又は第2符号化テーブルを用いて符号化され、前記Uブロックの前記2つのサブブロックの第2のサブブロックが、係数としてAllZero(オールゼロ)、前記第1符号化テーブル又は前記第2符号化テーブルを用いて符号化され、
    前記Vブロックの前記2つのサブブロックの第1のサブブロックが、係数としてAllZero(オールゼロ)、前記第1符号化テーブル又は前記第2符号化テーブルを用いて符号化され、前記Vブロックの前記2つのサブブロックの第2のサブブロックが、係数としてAllZero(オールゼロ)、前記第1符号化テーブル又は前記第2符号化テーブルを用いて符号化される、請求項7に記載の装置。
  11. 前記複数のサブブロックがクローマサブブロックを含み、前記クローマサブブロックが垂直パーティションによって区分化されるときに、Uブロックが4つのサブブロックを含み、Vブロックが4つのサブブロックを含み、
    前記Uブロックの前記4つのサブブロックの各サブブロックが、係数としてAllZero(オールゼロ)、第1符号化テーブル又は第2符号化テーブルを用いて符号化され、
    前記Vブロックの前記4つのサブブロックの各サブブロックが、係数としてAllZero(オールゼロ)、前記第1符号化テーブル又は前記第2符号化テーブルを用いて符号化される、請求項7に記載の装置。
  12. 前記複数のサブブロックのうちの少なくとも2以上のサブブロックの各々を符号化するステップは、前記クローマサブブロックの符号化がオンであるか又はオフであるかを信号送信するビットと、水平区分化又は垂直区分化を信号送信する第2のビットと、前記クローマサブブロックの符号化に使用される符号化テーブルを指定するクローマサブブロックタイプを信号送信するビットのセットと、を含む、請求項9~11のいずれか1項に記載の装置。
  13. コンテンツブロックを複数のサブブロックに区分化し、
    複数の可変長符号化テーブルを用いて前記複数のサブブロックのうちの少なくとも1つのサブブロックを符号化し、これにより、複数の符号化サブブロックを生成し、
    前記複数の符号化サブブロックのうちどの符号化サブブロックが最少ビット量を含むかに基づいて、前記複数の符号化サブブロックの中から1つの符号化サブブロックを選択する、
    ように構成された第1のコンピュータデバイスと、
    符号化された前記少なくとも1つのサブブロックを復号するよう構成された第2のコンピュータデバイスと、
    を備え、
    前記複数のサブブロックがルーマサブブロックを含み、前記ルーマサブブロックの第1列が第1符号化テーブルを用いて符号化され、前記ルーマサブブロックの第2列が、第2符号化テーブル又は第3符号化テーブルを用いて各々が符号化された2つのサブブロックを含み、前記2つのサブブロックが、同じ符号化テーブル又は異なる符号化テーブルを用いて符号化される、システム。
  14. 前記複数のサブブロックのうちの少なくとも1つのサブブロックを符号化するステップは、前記ルーマサブブロックの符号化がオンであるか又はオフであるかを信号送信するビットと、前記ルーマサブブロックの符号化に使用される符号化テーブルを指定するルーマサブブロックタイプを信号送信するビットと、を含む、請求項13に記載のシステム。
  15. 前記複数のサブブロックがクローマサブブロックを含み、前記クローマサブブロックが、水平パーティションによって区分化され、Uブロックが2つのサブブロックを含み、Vブロックが2つのサブブロックを含み、
    前記Uブロックの前記2つのサブブロックの第1のサブブロックが、第1符号化テーブル又は第2符号化テーブルを用いて符号化され、前記Uブロックの前記2つのサブブロックの第2のサブブロックが、係数としてAllZero(オールゼロ)、前記第1符号化テーブル又は前記第2符号化テーブルを用いて符号化され、
    前記Vブロックの前記2つのサブブロックの第1のサブブロックが、第1符号化テーブル又は第2符号化テーブルを用いて符号化され、前記Vブロックの前記2つのサブブロックの第2のサブブロックが、係数としてAllZero(オールゼロ)、前記第1符号化テーブル又は前記第2符号化テーブルを用いて符号化される、請求項13に記載のシステム。
  16. 前記複数のサブブロックがクローマサブブロックを含み、前記クローマサブブロックが垂直パーティションによって区分化されるときに、Uブロックが2つのサブブロックを含み、Vブロックが2つのサブブロックを含み、
    前記Uブロックの前記2つのサブブロックの第1のサブブロックが、係数としてAllZero(オールゼロ)、第1符号化テーブル又は第2符号化テーブルを用いて符号化され、前記Uブロックの前記2つのサブブロックの第2のサブブロックが、係数としてAllZero(オールゼロ)、前記第1符号化テーブル又は前記第2符号化テーブルを用いて符号化され、
    前記Vブロックの前記2つのサブブロックの第1のサブブロックが、係数としてAllZero(オールゼロ)、前記第1符号化テーブル又は前記第2符号化テーブルを用いて符号化され、前記Vブロックの前記2つのサブブロックの第2のサブブロックが、係数としてAllZero(オールゼロ)、前記第1符号化テーブル又は前記第2符号化テーブルを用いて符号化される、請求項13に記載のシステム。
  17. 前記複数のサブブロックがクローマサブブロックを含み、前記クローマサブブロックが垂直パーティションによって区分化されるときに、Uブロックが4つのサブブロックを含み、Vブロックが4つのサブブロックを含み、
    前記Uブロックの前記4つのサブブロックの各サブブロックが、係数としてAllZero(オールゼロ)、第1符号化テーブル又は第2符号化テーブルを用いて符号化され、
    前記Vブロックの前記4つのサブブロックの各サブブロックが、係数としてAllZero(オールゼロ)、前記第1符号化テーブル又は前記第2符号化テーブルを用いて符号化される、請求項13に記載のシステム。
  18. 前記複数のサブブロックのうちの少なくとも1つのサブブロックを符号化するステップは、前記クローマサブブロックの符号化がオンであるか又はオフであるかを信号送信するビットと、水平区分化又は垂直区分化を信号送信する第2のビットと、前記クローマサブブロックの符号化に使用される符号化テーブルを指定するクローマサブブロックタイプを信号送信するビットのセットと、を含む、請求項15~17のいずれか1項に記載のシステム。
JP2019187649A 2019-03-08 2019-10-11 組み込みコーデックのためのサブブロックベースのエントロピー符号化法 Active JP6993621B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/297,515 2019-03-08
US16/297,515 US10666986B1 (en) 2019-03-08 2019-03-08 Sub-block based entropy coding for embedded image codec

Publications (2)

Publication Number Publication Date
JP2020145666A JP2020145666A (ja) 2020-09-10
JP6993621B2 true JP6993621B2 (ja) 2022-01-13

Family

ID=70775194

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019187649A Active JP6993621B2 (ja) 2019-03-08 2019-10-11 組み込みコーデックのためのサブブロックベースのエントロピー符号化法

Country Status (4)

Country Link
US (1) US10666986B1 (ja)
JP (1) JP6993621B2 (ja)
KR (1) KR102267212B1 (ja)
CN (1) CN111669590B (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116074514B (zh) * 2023-04-06 2023-06-02 深圳市银河通信科技有限公司 一种多媒体数据的安全通信云广播系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013180023A1 (ja) 2012-06-01 2013-12-05 シャープ株式会社 算術復号装置、画像復号装置、算術符号化装置、および画像符号化装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5227878A (en) * 1991-11-15 1993-07-13 At&T Bell Laboratories Adaptive coding and decoding of frames and fields of video
DE69614675T2 (de) * 1996-06-28 2001-12-06 St Microelectronics Srl MPEG-2 Dekodierung mit reduziertem RAM Bedürfnis durch ADPCM Rekomprimierung vor der Speicherung von dekomprimierten MPEG-2 Daten, wahlweise nach einem Unterabtastungsalgorithmus
US6882753B2 (en) * 2001-06-04 2005-04-19 Silicon Integrated Systems Corp. Adaptive quantization using code length in image compression
CN101448162B (zh) 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
US8483282B2 (en) 2007-10-12 2013-07-09 Qualcomm, Incorporated Entropy coding of interleaved sub-blocks of a video block
US8942282B2 (en) 2010-04-12 2015-01-27 Qualcomm Incorporated Variable length coding of coded block pattern (CBP) in video compression
ES2618917T3 (es) 2010-04-23 2017-06-22 M&K Holdings Inc. Aparato de codificación de imagen
US9516316B2 (en) * 2011-06-29 2016-12-06 Qualcomm Incorporated VLC coefficient coding for large chroma block
US9787982B2 (en) * 2011-09-12 2017-10-10 Qualcomm Incorporated Non-square transform units and prediction units in video coding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013180023A1 (ja) 2012-06-01 2013-12-05 シャープ株式会社 算術復号装置、画像復号装置、算術符号化装置、および画像符号化装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WD4: Working Draft 4 of High-Efficiency Video Coding,Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11,JCTVC-F803_d6,2011年11月,pp.35-36, 40-46, 72-77, 155-169

Also Published As

Publication number Publication date
CN111669590A (zh) 2020-09-15
US10666986B1 (en) 2020-05-26
JP2020145666A (ja) 2020-09-10
KR102267212B1 (ko) 2021-06-22
KR20200107745A (ko) 2020-09-16
CN111669590B (zh) 2022-06-10

Similar Documents

Publication Publication Date Title
US11750841B2 (en) Methods and apparatuses for coding transform blocks
TWI685245B (zh) 資料編碼及解碼
US7486211B2 (en) Method and system for entropy coding
CN1656817B (zh) 上下文自适应的可变长度码字vlc视频变换系数编码和解码方法与设备
JP4491349B2 (ja) ビデオ・データのイントラ符号化方法及び装置
US9877035B2 (en) Quantization processes for residue differential pulse code modulation
US8873871B2 (en) Image processing apparatus and method
WO2012046996A2 (ko) 쿼드 트리를 이용한 블록 정보 부/복호화 방법 및 이러한 방법을 사용하는 장치
JP5944510B2 (ja) 構文要素のコンテキスト−適応バイナリ算術符号化(Context−AdaptiveBinaryArithmeticCoding)の方法と装置
CA2950180C (en) Acceleration of context adaptive binary arithmetic coding (cabac) in video codecs
US10887616B2 (en) Image processing devices having enhanced frame buffer compressors therein
TWI815936B (zh) 在顯示介面壓縮技術中形成熵編碼組的方法和系統
JP6993621B2 (ja) 組み込みコーデックのためのサブブロックベースのエントロピー符号化法
TWI626843B (zh) 解碼器、編碼器及其使用方法
US20110122003A1 (en) Method and device for encoding and decoding of data in unique number values
US10873747B2 (en) Residual mapping method for image/video compression
KR102267206B1 (ko) 이미지 압축을 위한 하이브리드 팔레트-dpcm 코딩
US10666985B1 (en) Sub-block based entropy coding for image coding
EP3149948A1 (en) Acceleration of context adaptive binary arithmetic coding (cabac) in video codecs

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191028

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210310

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210416

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210803

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20211001

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211019

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211123

R151 Written notification of patent or utility model registration

Ref document number: 6993621

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151