(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-26
(45)【発行日】2023-06-05
(54)【発明の名称】符号化方法、復号化方法、デコーダ、エンコーダー及び記憶媒体
(51)【国際特許分類】
H04N 19/91 20140101AFI20230529BHJP
H04N 19/625 20140101ALI20230529BHJP
【FI】
H04N19/91
H04N19/625
(21)【出願番号】P 2021549391
(86)(22)【出願日】2020-03-09
(86)【国際出願番号】 CN2020078486
(87)【国際公開番号】W WO2020182102
(87)【国際公開日】2020-09-17
【審査請求日】2021-08-20
(31)【優先権主張番号】201910177580.4
(32)【優先日】2019-03-09
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】508219313
【氏名又は名称】杭州海康威視数字技術股▲フン▼有限公司
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】曹 小▲強▼
(72)【発明者】
【氏名】▲陳▼ 方▲棟▼
(72)【発明者】
【氏名】王 莉
【審査官】田中 純一
(56)【参考文献】
【文献】特表2021-513755(JP,A)
【文献】特表2022-531435(JP,A)
【文献】米国特許出願公開第2020/0260070(US,A1)
【文献】米国特許出願公開第2018/0332289(US,A1)
【文献】B. Bross, T. Nguyen, P. Keydel, H. Schwarz, D. Marpe, T. Wiegand,Non-CE8: Unified Transform Type Signalling and Residual Coding for Transform Skip [online], JVET-M JVET-M0464-v1,ITU-T インターネット<URL:http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/13_Marrakech/wg11/JVET-M0464-v1.zip>,2019年10月17日,1-11
(58)【調査した分野】(Int.Cl.,DB名)
H04N 7/12
H04N 19/00 - 19/98
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
現在のブロックの符号化データを取得することと、
前記現在のブロックの高さと幅がいずれもプリセット閾値以下であり、且つ前記現在のブロックが輝度ブロックであると確定することと、
前記符号化データから前記現在のブロックの変換カーネルペアインデックスを取得し、ここで、前記変換カーネルペアインデックスが5つのインデックス値を含む場合、前記変換カーネルペアインデックスのインデックス値が第1のインデックス値であると、前記変換カーネルペアインデックスによってマップされた変換カーネルペアが(DCT2、DCT2)であり、前記変換カーネルペアインデックスのインデックス値が第2のインデックス値であると、前記変換カーネルペアインデックスによってマップされた変換カーネルペアが(DST7、DST7)であり、前記変換カーネルペアインデックスのインデックス値が第3のインデックス値であると、前記変換カーネルペアインデックスによってマップされた変換カーネルペアが(DCT8、DST7)であり、前記変換カーネルペアインデックスのインデックス値が第4のインデックス値であると、前記変換カーネルペアインデックスによってマップされた変換カーネルペアが(DST7、DCT8)であり、前記変換カーネルペアインデックスのインデックス値が第5のインデックス値であると、前記変換カーネルペアインデックスによってマップされた変換カーネルペアが(DCT8、DCT8)であり、前記変換カーネルペアインデックスに対応する二値化コードワードは、最大4ビットを占め、前記変換カーネルペアインデックスに対応する二値化コードワードの一番目のビットは、第1のインデックス値によってマップされた変換カーネルペアを使用するかどうかを示すためのものであり、一番目のビットの値が第1の値である場合、第1のインデックス値によってマップされた変換カーネルペア(DCT2、DCT2)が使用されたことを示し、一番目のビットの値が第2の値である場合、残りのインデックス値のうちの1つのインデックス値によってマップされた変換カーネルペアを使用し、前記変換カーネルペアインデックスに対応する二値化コードワードの一番目のビットは、1つのコンテキストモデルに基づいて適応バイナリ算術符号化が行われたことにより復号化され
、前記変換カーネルペアインデックスの二値化コードワードが前記一番目のビット以外の他のビットをさらに含む場合、前記他のビットは、コンテキストモデルに基づく適応バイナリ算術符号化(CABAC)を行うことにより復号化されることと、
前記変換カーネルペアインデックスに基づいて、前記現在のブロックに対応する変換カーネルペアを確定し、ここで、前記変換カーネルペアは、水平変換カーネルと垂直変換カーネルとを含むことと、
を含む、
ことを特徴とする復号化方法。
【請求項2】
前記変換カーネルペアインデックスに基づいて、前記現在のブロックに対応する変換カーネルペアを確定することは、
前記現在のブロックの変換カーネルペアインデックス、および予め設定された変換カーネルペアインデックスと変換カーネルペアとの対応関係に基づいて、前記現在のブロックに対応する変換カーネルペアを確定することを含み、ここで、前記対応関係は、5つの変換カーネルペアインデックスのインデックス値と5つの変換カーネルペアとのマッピング関係を含む、
請求項1に記載の方法。
【請求項3】
一番目のビットの値が第2の値である場合、一番目のビットは、残りのインデックス値のうちの1つのインデックス値によってマップされた変換カーネルペアを使用することを示すために使用され、前記残りのインデックス値のうちの1つのインデックス値によってマップされた変換カーネルペアは、4つの変換カーネルペア(DST7、DST7)、(DCT8、DST7)、(DST7、DCT8)、(DCT8、DCT8)のうちの1つであり、
前記二値化コードワードの二番目のビットの値は、現在のブロックによって使用された変換カーネルペアが(DST7、DST7)であるか、他の変換カーネルペア(DCT8、DST7)、(DST7、DCT8)、(DCT8、DCT8)のうちの1つであるかを区別するためのものであり、
前記二値化コードワードの三番目のビットの値は、現在のブロックによって使用された変換カーネルペアが(DCT8、DST7)であるか、変換カーネルペア(DST7、DCT8)、(DCT8、DCT8)のうちの1つであるかを区別するためのものであり、
前記二値化コードワードの四番目のビットの値は、現在のブロックによって使用された変換カーネルペアが(DST7、DCT8)であるか、変換カーネルペア(DCT8、DCT8)であるかを区別するためのものである、
請求項1に記載の方法。
【請求項4】
前記変換カーネルペアインデックスに基づいて、現在のブロックに対応する変換カーネルペアを確定することは、
一番目のビットが0である場合、前記現在のブロックに対応する変換カーネルペアが(DCT2、DCT2)であると確定することと、
一番目のビットが1であり、二番目のビットが0である場合、前記現在のブロックに対応する変換カーネルペアが(DST7、DST7)であると確定することと、
一番目のビットが1であり、二番目のビットが1であり、三番目のビットが0である場合、前記現在のブロックに対応する変換カーネルペアが(DCT8、DST7)であると確定することと、
一番目のビットが1であり、二番目のビットが1であり、三番目のビットが1であり、四番目のビットが0である場合、前記現在のブロックに対応する変換カーネルペアが(DST7、DCT8)であると確定することと、
一番目のビットが1であり、二番目のビットが1であり、三番目のビットが1であり、四番目のビットが1である場合、前記現在のブロックに対応する変換カーネルペアが(DCT8、DCT8)であると確定することと、
を含む、
請求項1に記載の方法。
【請求項5】
前記符号化データから前記現在のブロックの変換カーネルペアインデックスを取得する前に、符号化側からの前記符号化データにターゲット識別子が含まれるかどうかを判断することをさらに含み、前記ターゲット識別子は、明示的なマルチコア変換処理を行うことを示すために使用される
請求項1に記載の方法。
【請求項6】
前記符号化データから前記現在のブロックの変換カーネルペアインデックスを取得することは、
前記現在のブロックが輝度ブロックであり、且つ前記現在のブロックの高さと幅がいずれも32以下であると確定した場合、前記符号化データから前記現在のブロックの変換カーネルペアインデックスを取得するステップを実行することと、
前記現在のブロックが輝度ブロックではない、または前記現在のブロックの高さ又は幅が32より大きいと確定した場合、前記現在のブロックの変換カーネルペアインデックスを復号化せずに、直接に(DCT2、DCT2)を前記現在のブロックによって使用された変換カーネルペアとすることと、
を含む、
請求項1に記載の方法。
【請求項7】
前記変換カーネルペアインデックスに対応する二値化コードワードの一番目のビットの第1の値は、0であり、前記変換カーネルペアインデックスに対応する二値化コードワードの一番目のビットの第2の値は、1であり、
前記第1のインデックス値の二値化コードワードは、0であり、前記第2のインデックス値の二値化コードワードは、10であり、前記第3のインデックス値の二値化コードワードは、110であり、前記第4のインデックス値の二値化コードワードは、1110であり、前記第5のインデックス値の二値化コードワードは、1111であ
る、
ことを特徴とする請求項1に記載の方法。
【請求項8】
現在のブロックの高さと幅がいずれもプリセット閾値以下であり、且つ前記現在のブロックが輝度ブロックであると確定することと、
前記現在のブロックに対応する変換カーネルペアおよび前記現在のブロックに対応する変換カーネルペアインデックスを確定し、前記変換カーネルペアインデックスが5つのインデックス値を含む場合、前記変換カーネルペアインデックスのインデックス値が第1のインデックス値であると、前記変換カーネルペアインデックスによってマップされた変換カーネルペアが(DCT2、DCT2)であり、前記変換カーネルペアインデックスのインデックス値が第2のインデックス値であると、前記変換カーネルペアインデックスによってマップされた変換カーネルペアが(DST7、DST7)であり、前記変換カーネルペアインデックスのインデックス値が第3のインデックス値であると、前記変換カーネルペアインデックスによってマップされた変換カーネルペアが(DCT8、DST7)であり、前記変換カーネルペアインデックスのインデックス値が第4のインデックス値であると、前記変換カーネルペアインデックスによってマップされた変換カーネルペアが(DST7、DCT8)であり、前記変換カーネルペアインデックスのインデックス値が第5のインデックス値であると、前記変換カーネルペアインデックスによってマップされた変換カーネルペアが(DCT8、DCT8)であり、前記変換カーネルペアインデックスに対応する二値化コードワードは、最大4ビットを占め、前記変換カーネルペアインデックスに対応する二値化コードワードの一番目のビットは、第1のインデックス値によってマップされた変換カーネルペアを使用するかどうかを示すためのものであり、一番目のビットの値が第1の値である場合、第1のインデックス値によってマップされた変換カーネルペア(DCT2、DCT2)が使用されたことを示し、一番目のビットの値が第2の値である場合、残りのインデックス値のうちの1つのインデックス値によってマップされた変換カーネルペアを使用
し、前記変換カーネルペアインデックスの二値化コードワードが前記一番目のビット以外の他のビットをさらに含む場合、前記他のビットは、コンテキストモデルに基づく適応バイナリ算術符号化(CABAC)を行うことにより復号化されることと、
前記変換カーネルペアインデックスに対応する二値化コードワードの一番目のビットに対して、1つのコンテキストモデルに基づいて適応バイナリ算術符号化を行う方式に従って、前記変換カーネルペアインデックスを符号化し、前記現在のブロックの符号化データに追加することと、
を含む、
ことを特徴とする符号化方法。
【請求項9】
前記現在のブロックに対応する変換カーネルペアおよび前記現在のブロックに対応する変換カーネルペアインデックスを確定することは、前記現在のブロックに対応する変換カーネルペアを確定することと、前記変換カーネルペア、および予め設定された変換カーネルペアインデックスと変換カーネルペアとの対応関係に基づいて、前記現在のブロックの変換カーネルペアインデックスを確定することとを含み、ここで、前記対応関係は、5つの変換カーネルペアインデックスのインデックス値と5つの変換カーネルペアとのマッピング関係を含む、
請求項8に記載の方法。
【請求項10】
前記一番目のビットの値が第2の値である場合、残りのインデックス値のうちの1つのインデックス値によってマップされた変換カーネルペアを使用することは、一番目のビットの値が第2の値である場合、一番目のビットが、残りのインデックス値のうちの1つのインデックス値によってマップされた変換カーネルペアを使用することを示すために使用されることを含み、前記残りのインデックス値のうちの1つのインデックス値によってマップされた変換カーネルペアは、4つの変換カーネルペア(DST7、DST7)、(DCT8、DST7)、(DST7、DCT8)、(DCT8、DCT8)のうちの1つであり、
ここで、前記二値化コードワードの二番目のビットの値は、現在のブロックによって使用された変換カーネルペアが(DST7、DST7)であるか、他の変換カーネルペア(DCT8、DST7)、(DST7、DCT8)、(DCT8、DCT8)のうちの1つであるかを区別するためのものであり、
ここで、前記二値化コードワードの三番目のビットの値は、現在のブロックによって使用された変換カーネルペアが(DCT8、DST7)であるか、変換カーネルペア(DST7、DCT8)、(DCT8、DCT8)のうちの1つであるかを区別するためのものであり、
ここで、前記二値化コードワードの四番目のビットの値は、現在のブロックによって使用された変換カーネルペアが(DST7、DCT8)であるか、変換カーネルペア(DCT8、DCT8)であるかを区別するためのものであり、
ここで、前記現在のブロックに対応する変換カーネルペアが(DCT2、DCT2)である場合、前記二値化コードワードの一番目のビットが0であり、
前記現在のブロックに対応する変換カーネルペアが(DST7、DST7)である場合、前記二値化コードワードの一番目のビットが1であり、二番目のビットが0であり、
前記現在のブロックに対応する変換カーネルペアが(DCT8、DST7)である場合、前記二値化コードワードの一番目のビットが1であり、二番目のビットが1であり、三番目のビットが0であり、
前記現在のブロックに対応する変換カーネルペアが(DST7、DCT8)である場合、前記二値化コードワードの一番目のビットが1であり、二番目のビットが1であり、三番目のビットが1であり、四番目のビットが0であり、
前記現在のブロックに対応する変換カーネルペアが(DCT8、DCT8)である場合、前記二値化コードワードの一番目のビットが1であり、二番目のビットが1であり、三番目のビットが1であり、四番目のビットが1である、
請求項8に記載の方法。
【請求項11】
プロセッサとプロセッサ実行可能命令を記憶するためのメモリとを含み、ここで、前記プロセッサは、請求項1から7の何れか一項に記載の復号化方法を実行するように構成されることを特徴とするデコーダ。
【請求項12】
プロセッサとプロセッサ実行可能命令を記憶するためのメモリとを含み、ここで、前記プロセッサは、請求項8から10の何れか一項に記載の符号化方法を実行するように構成されることを特徴とするエンコーダ。
【請求項13】
請求項1から7の何れか一項に記載の復号化方法を実行するように構成されることを特徴とする復号化装置。
【請求項14】
請求項8から10の何れか一項に記載の符号化方法を実行するように構成されることを特徴とする符号化装置。
【請求項15】
プロセッサによって実行可能な機器実行可能命令が記憶される機器可読記憶媒体であって、請求項1から7または8から10の何れか一項に記載の方法を実現するために、前記プロセッサは、機器実行可能命令を実行するために使用される機器可読記憶媒体である。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、2019年03月09日に提出された出願番号201910177580.4、発明名称「符号化及び復号化するための方法、復号化側、符号化側およびシステム」の中国特許出願の優先権を主張し、その全ての内容は参照により本明細書に援用する。
【0002】
本発明は、オーディオ・ビデオ技術の分野に関し、特に符号化方法、復号化方法、デコーダ、エンコーダー及び記憶媒体に関するものである。
【背景技術】
【0003】
インターネット技術やコンピュータ技術の発展に伴い、ビデオアプリケーションがますます増え、ビデオアプリケーションでの高精細度ビデオに対するユーザーの要求がますます高まているが、高精細度ビデオのデータ量が比較的多いため、高精細度ビデオが限られたネットワーク帯域幅で伝送されるには、高精細度ビデオに対して符号化処理を行なう必要がある。一般的に、符号化処理は、イントラ予測(またはインター予測)、変換、量子化、エントロピー符号化、ループ内フィルタリングなどを含む。符号化処理を行う際に、イントラ予測によって残差ブロック(TU(Transmission Unit、変換ユニット)と称することができ、現在のブロックの残差信号と称することができる)を取得し、TUを変換する(変換とは、空間領域における画素の形で記述される画像を変換領域に変換し、変換係数の形で表現することを指す)ことにより、変換係数を得る。次に、変換係数に対して量子化及びエントロピー符号化を行なうことにより、符号化データを得る。
【発明の概要】
【課題を解決するための手段】
【0004】
本開示の実施例は、符号化方法、復号化方法、デコーダ、エンコーダー及び記憶媒体を提供する。技術案は以下の通りである。
【0005】
第1の側面において、現在のブロックの符号化データを取得することと、
前記現在のブロックの高さと幅がいずれもプリセット閾値以下であり、且つ前記現在のブロックが輝度ブロックであると確定することと、
前記符号化データから前記現在のブロックの変換カーネルペアインデックスを取得し、ここで、前記変換カーネルペアインデックスが5つのインデックス値を含む場合、前記変換カーネルペアインデックスのインデックス値が第1のインデックス値であると、前記変換カーネルペアインデックスによってマップされた変換カーネルペアが(DCT2、DCT2)であり、前記変換カーネルペアインデックスのインデックス値が第2のインデックス値であると、前記変換カーネルペアインデックスによってマップされた変換カーネルペアが(DST7、DST7)であり、前記変換カーネルペアインデックスのインデックス値が第3のインデックス値であると、前記変換カーネルペアインデックスによってマップされた変換カーネルペアが(DCT8、DST7)であり、前記変換カーネルペアインデックスのインデックス値が第4のインデックス値であると、前記変換カーネルペアインデックスによってマップされた変換カーネルペアが(DST7、DCT8)であり、前記変換カーネルペアインデックスのインデックス値が第5のインデックス値であると、前記変換カーネルペアインデックスによってマップされた変換カーネルペアが(DCT8、DCT8)であり、前記変換カーネルペアインデックスに対応する二値化コードワードは、最大4ビットを占め、前記変換カーネルペアインデックスに対応する二値化コードワードの一番目のビットは、第1のインデックス値によってマップされた変換カーネルペアを使用するかどうかを示すためのものであり、一番目のビットの値が第1の値である場合、第1のインデックス値によってマップされた変換カーネルペア(DCT2、DCT2)が使用されたことを示し、一番目のビットの値が第2の値である場合、残りのインデックス値のうちの1つのインデックス値によってマップされた変換カーネルペアを使用し、前記変換カーネルペアインデックスに対応する二値化コードワードの一番目のビットは、1つのコンテキストモデルに基づいて適応バイナリ算術符号化が行われたことにより復号化されたものであることと、
前記変換カーネルペアインデックスに基づいて、前記現在のブロックに対応する変換カーネルペアを確定し、ここで、前記変換カーネルペアは、水平変換カーネルと垂直変換カーネルとを含むことと、
を含む、
復号化方法に関する。
【0006】
本開示の1つの可能な実施形態において、前記変換カーネルペアインデックスに基づいて、前記現在のブロックに対応する変換カーネルペアを確定することは、前記現在のブロックの変換カーネルペアインデックス、および予め設定された変換カーネルペアインデックスと変換カーネルペアとの対応関係に基づいて、前記現在のブロックに対応する変換カーネルペアを確定することを含み、ここで、前記対応関係は、5つの変換カーネルペアインデックスのインデックス値と5つの変換カーネルペアとのマッピング関係を含む。
【0007】
本開示の1つの可能な実施形態において、一番目のビットの値が第2の値である場合、一番目のビットは、残りのインデックス値のうちの1つのインデックス値によってマップされた変換カーネルペアを使用することを示すために使用され、前記残りのインデックス値のうちの1つのインデックス値によってマップされた変換カーネルペアは、4つの変換カーネルペア(DST7、DST7)、(DCT8、DST7)、(DST7、DCT8)、(DCT8、DCT8)のうちの1つであり、
前記二値化コードワードの二番目のビットの値は、現在のブロックによって使用された変換カーネルペアが(DST7、DST7)であるか、他の変換カーネルペア(DCT8、DST7)、(DST7、DCT8)、(DCT8、DCT8)のうちの1つであるかを区別するためのものであり、
前記二値化コードワードの三番目のビットの値は、現在のブロックによって使用された変換カーネルペアが(DCT8、DST7)であるか、変換カーネルペア(DST7、DCT8)、(DCT8、DCT8)のうちの1つであるかを区別するためのものであり、
前記二値化コードワードの四番目のビットの値は、現在のブロックによって使用された変換カーネルペアが(DST7、DCT8)であるか、変換カーネルペア(DCT8、DCT8)であるかを区別するためのものである。
【0008】
本開示の1つの可能な実施形態において、前記変換カーネルペアインデックスに基づいて、現在のブロックに対応する変換カーネルペアを確定することは、
一番目のビットが0である場合、前記現在のブロックに対応する変換カーネルペアが(DCT2、DCT2)であると確定することと、
一番目のビットが1であり、二番目のビットが0である場合、前記現在のブロックに対応する変換カーネルペアが(DST7、DST7)であると確定することと、
一番目のビットが1であり、二番目のビットが1であり、三番目のビットが0である場合、前記現在のブロックに対応する変換カーネルペアが(DCT8、DST7)であると確定することと、
一番目のビットが1であり、二番目のビットが1であり、三番目のビットが1であり、四番目のビットが0である場合、前記現在のブロックに対応する変換カーネルペアが(DST7、DCT8)であると確定することと、
一番目のビットが1であり、二番目のビットが1であり、三番目のビットが1であり、四番目のビットが1である場合、前記現在のブロックに対応する変換カーネルペアが(DCT8、DCT8)であると確定することと、
を含む。
【0009】
本開示の1つの可能な実施形態において、前記符号化データから前記現在のブロックの変換カーネルペアインデックスを取得する前に、前記方法は、符号化側からの前記符号化データにターゲット識別子が含まれるかどうかを判断することをさらに含み、前記ターゲット識別子は、明示的なマルチコア変換処理を行うことを示すために使用される。
【0010】
本開示の1つの可能な実施形態において、前記符号化データから前記現在のブロックの変換カーネルペアインデックスを取得することは、前記現在のブロックが輝度ブロックであり、且つ前記現在のブロックの高さと幅がいずれも32以下であると確定した場合、前記符号化データから前記現在のブロックの変換カーネルペアインデックスを取得するステップを実行することを含む。
【0011】
本開示の1つの可能な実施形態において、前記方法は、前記現在のブロックが輝度ブロックではない、または前記現在のブロックの高さ又は幅が32より大きいと確定した場合、前記現在のブロックの変換カーネルペアインデックスを復号化せずに、直接に(DCT2、DCT2)を前記現在のブロックによって使用された変換カーネルペアとすることをさらに含む。
【0012】
本開示の1つの可能な実施形態において、前記変換カーネルペアインデックスに対応する二値化コードワードの一番目のビットの第1の値は、0であり、前記変換カーネルペアインデックスに対応する二値化コードワードの一番目のビットの第2の値は、1である。
【0013】
本開示の1つの可能な実施形態において、前記第1のインデックス値の二値化コードワードは、0であり、前記第2のインデックス値の二値化コードワードは、10であり、前記第3のインデックス値の二値化コードワードは、110であり、前記第4のインデックス値の二値化コードワードは、1110であり、前記第5のインデックス値の二値化コードワードは、1111である。
【0014】
本開示の1つの可能な実施形態において、前記変換カーネルペアインデックスの二値化コードワードが前記一番目のビット以外の他のビットをさらに含む場合、前記他のビットに対してコンテキストモデルに基づく適応バイナリ算術符号化CABAC方式を使用して復号化する。
【0015】
本開示の1つの可能な実施形態において、前記現在のブロックの符号化データを取得することは、前記符号化データに対してエントロピ復号化処理を行い、エントロピ復号化結果に対して逆量子化処理を行うことにより、前記現在のブロックの逆量子化されたデータを得ることを含む。
【0016】
本開示の1つの可能な実施形態において、前記現在のブロックに対応する変換カーネルペアを確定した後、前記方法は、前記変換カーネルペアを使用して、前記現在のブロックの逆量子化されたデータに対して逆変換処理を行うことにより、前記現在のブロックに対応する残差信号を得て、この後、前記残差信号を予測信号に加算することにより、前記現在のブロックに対応する再構築情報を得ることをさらに含む。
【0017】
本開示の1つの可能な実施形態において、前記現在のブロックは、変換ユニットであり、前記現在のブロックは、四分木分割、水平二分木分割、垂直二分木分割、水平三分木分割と垂直三分木分割の1つまたは複数を使用して符号化ツリーユニットを分割することにより得られた符号化ユニットである。
【0018】
本開示の1つの可能な実施形態において、前記現在のブロックは、幅が高さより大きい変換ユニットであり、または、前記現在のブロックは、幅が高さに等しい変換ユニットであり、または、前記現在のブロックは、幅が高さより小さい変換ユニットである。
【0019】
別の側面において、現在のブロックの高さと幅がいずれもプリセット閾値以下であり、且つ前記現在のブロックが輝度ブロックであると確定することと、
前記現在のブロックに対応する変換カーネルペアおよび前記現在のブロックに対応する変換カーネルペアインデックスを確定し、前記変換カーネルペアインデックスが5つのインデックス値を含む場合、前記変換カーネルペアインデックスのインデックス値が第1のインデックス値であると、前記変換カーネルペアインデックスによってマップされた変換カーネルペアが(DCT2、DCT2)であり、前記変換カーネルペアインデックスのインデックス値が第2のインデックス値であると、前記変換カーネルペアインデックスによってマップされた変換カーネルペアが(DST7、DST7)であり、前記変換カーネルペアインデックスのインデックス値が第3のインデックス値であると、前記変換カーネルペアインデックスによってマップされた変換カーネルペアが(DCT8、DST7)であり、前記変換カーネルペアインデックスのインデックス値が第4のインデックス値であると、前記変換カーネルペアインデックスによってマップされた変換カーネルペアが(DST7、DCT8)であり、前記変換カーネルペアインデックスのインデックス値が第5のインデックス値であると、前記変換カーネルペアインデックスによってマップされた変換カーネルペアが(DCT8、DCT8)であり、前記変換カーネルペアインデックスに対応する二値化コードワードは、最大4ビットを占め、前記変換カーネルペアインデックスに対応する二値化コードワードの一番目のビットは、第1のインデックス値によってマップされた変換カーネルペアを使用するかどうかを示すためのものであり、一番目のビットの値が第1の値である場合、第1のインデックス値によってマップされた変換カーネルペア(DCT2、DCT2)が使用されたことを示し、一番目のビットの値が第2の値である場合、残りのインデックス値のうちの1つのインデックス値によってマップされた変換カーネルペアを使用することと、
前記変換カーネルペアインデックスに対応する二値化コードワードの一番目のビットに対して、1つのコンテキストモデルに基づいて適応バイナリ算術符号化を行う方式に従って、前記変換カーネルペアインデックスを符号化し、前記現在のブロックの符号化データに追加することと、
を含む、
符号化方法に関する。
【0020】
本開示の1つの可能な実施形態において、前記現在のブロックに対応する変換カーネルペアおよび前記現在のブロックに対応する変換カーネルペアインデックスを確定することは、前記現在のブロックに対応する変換カーネルペアを確定することと、前記変換カーネルペア、および予め設定された変換カーネルペアインデックスと変換カーネルペアとの対応関係に基づいて、前記現在のブロックの変換カーネルペアインデックスを確定することとを含み、ここで、前記対応関係は、5つの変換カーネルペアインデックスのインデックス値と5つの変換カーネルペアとのマッピング関係を含む。
【0021】
本開示の1つの可能な実施形態において、前記一番目のビットの値が第2の値である場合、残りのインデックス値のうちの1つのインデックス値によってマップされた変換カーネルペアを使用することは、一番目のビットの値が第2の値である場合、一番目のビットが、残りのインデックス値のうちの1つのインデックス値によってマップされた変換カーネルペアを使用することを示すために使用されることを含み、前記残りのインデックス値のうちの1つのインデックス値によってマップされた変換カーネルペアは、4つの変換カーネルペア(DST7、DST7)、(DCT8、DST7)、(DST7、DCT8)、(DCT8、DCT8)のうちの1つであり、
ここで、前記二値化コードワードの二番目のビットの値は、現在のブロックによって使用された変換カーネルペアが(DST7、DST7)であるか、他の変換カーネルペア(DCT8、DST7)、(DST7、DCT8)、(DCT8、DCT8)のうちの1つであるかを区別するためのものであり、
ここで、前記二値化コードワードの三番目のビットの値は、現在のブロックによって使用された変換カーネルペアが(DCT8、DST7)であるか、変換カーネルペア(DST7、DCT8)、(DCT8、DCT8)のうちの1つであるかを区別するためのものであり、
ここで、前記二値化コードワードの四番目のビットの値は、現在のブロックによって使用された変換カーネルペアが(DST7、DCT8)であるか、変換カーネルペア(DCT8、DCT8)であるかを区別するためのものでありる。
【0022】
本開示の1つの可能な実施形態において、前記現在のブロックに対応する変換カーネルペアが(DCT2、DCT2)である場合、前記二値化コードワードの一番目のビットが0であり、前記現在のブロックに対応する変換カーネルペアが(DST7、DST7)である場合、前記二値化コードワードの一番目のビットが1であり、二番目のビットが0であり、前記現在のブロックに対応する変換カーネルペアが(DCT8、DST7)である場合、前記二値化コードワードの一番目のビットが1であり、二番目のビットが1であり、三番目のビットが0であり、前記現在のブロックに対応する変換カーネルペアが(DST7、DCT8)である場合、前記二値化コードワードの一番目のビットが1であり、二番目のビットが1であり、三番目のビットが1であり、四番目のビットが0であり、前記現在のブロックに対応する変換カーネルペアが(DCT8、DCT8)である場合、前記二値化コードワードの一番目のビットが1であり、二番目のビットが1であり、三番目のビットが1であり、四番目のビットが1である。
【0023】
本開示の1つの可能な実施形態において、前記方法は、前記符号化データにターゲット識別子を追加することをさらに含み、ターゲット識別子は、明示的なマルチコア変換処理を行うことを示すために使用される。
【0024】
本開示の1つの可能な実施形態において、前記現在のブロックに対応する変換カーネルペアおよび前記現在のブロックに対応する変換カーネルペアインデックスを確定することは、
前記現在のブロックが輝度ブロックであり、且つ前記現在のブロックの高さと幅がいずれも32以下であると確定した場合、前記現在のブロックに対応する変換カーネルペアおよび前記現在のブロックに対応する変換カーネルペアインデックスを確定するステップを実行することを含む。
【0025】
本開示の1つの可能な実施形態において、前記符号化方法は、前記現在のブロックが輝度ブロックではない、または前記現在のブロックの高さ又は幅が32より大きいと確定した場合、前記現在のブロックの変換カーネルペアインデックスを符号化せずに、直接に(DCT2、DCT2)を前記現在のブロックによって使用された変換カーネルペアとすることをさらに含む。
【0026】
本開示の1つの可能な実施形態において、前記変換カーネルペアインデックスに対応する二値化コードワードの一番目のビットの第1の値は、0であり、前記変換カーネルペアインデックスに対応する二値化コードワードの一番目のビットの第2の値は、1である。
【0027】
本開示の1つの可能な実施形態において、前記第1のインデックス値の二値化コードワードは、0であり、前記第2のインデックス値の二値化コードワードは、10であり、前記第3のインデックス値の二値化コードワードは、110であり、前記第4のインデックス値の二値化コードワードは、1110であり、前記第5のインデックス値の二値化コードワードは、1111である。
【0028】
本開示の1つの可能な実施形態において、前記符号化方法は、前記変換カーネルペアインデックスの二値化コードワードが前記一番目のビット以外の他のビットをさらに含む場合、前記他のビットに対してコンテキストモデルに基づく適応バイナリ算術符号化CABAC方式を使用して復号化することをさらに含む。
【0029】
本開示の1つの可能な実施形態において、前記符号化方法は、前記変換カーネルペアに基づいて、前記現在のブロックを変換することにより、変換係数を得て、前記変換係数に対して量子化処理を行うことにより、量子化係数を得て、前記量子化係数に対してエントロピー符号化処理を行うことにより、前記現在のブロックの符号化データを得ることをさらに含む。
【0030】
本開示の1つの可能な実施形態において、前記現在のブロックに対応する変換カーネルペアを確定した後、前記方法は、前記変換カーネルペアに基づいて、前記現在のブロックの残差信号を変換することにより、変換係数を得て、前記変換係数に対して量子化処理を行うことにより、量子化係数を得て、前記量子化係数に対してエントロピー符号化処理を行うことにより、前記現在のブロックの符号化データを得ることと、符号化された前記変換カーネルペアインデックスを前記符号化データに追加することとをさらに含む。
【0031】
本開示の1つの可能な実施形態において、前記現在のブロックは、変換ユニットであり、前記現在のブロックは、四分木分割、水平二分木分割、垂直二分木分割、水平三分木分割と垂直三分木分割の1つまたは複数を使用して符号化ツリーユニットを分割することにより得られた符号化ユニットである。
【0032】
本開示の1つの可能な実施形態において、前記現在のブロックは、幅が高さより大きい変換ユニットであり、または、前記現在のブロックは、幅が高さに等しい変換ユニットであり、または、前記現在のブロックは、幅が高さより小さい変換ユニットである。
【0033】
別の側面において、プロセッサとプロセッサ実行可能命令を記憶するためのメモリとを含み、ここで、前記プロセッサは、上記のいずれかの実施例に記載の復号化方法を実行するように構成されるデコーダに関する。
【0034】
別の側面において、プロセッサとプロセッサ実行可能命令を記憶するためのメモリとを含み、ここで、前記プロセッサは、上記のいずれかの実施例に記載の符号化方法を実行するように構成されるエンコーダに関する。
【0035】
別の側面において、上記のいずれかの実施例に記載の復号化方法を実行するように構成される復号化装置に関する。
【0036】
別の側面において、上記のいずれかの実施例に記載の符号化方法を実行するように構成される符号化装置に関する。
【0037】
別の側面において、プロセッサによって実行可能な機器実行可能命令が記憶される機器可読記憶媒体であって、上記のいずれかの実施例に記載の復号化方法または上記のいずれかの実施例に記載の符号化方法を実現するために、前記プロセッサは、機器実行可能命令を実行するために使用される機器可読記憶媒体に関する。
【図面の簡単な説明】
【0038】
【
図1】本開示の実施例によるブロックの分割タイプの概略図である。
【
図2】本開示の実施例によるCTUをCUに分割する概略図である。
【
図3】本開示の実施例による通常の3種類のブロックの概略図である。
【
図4】本開示の実施例によるイントラ予測を行う場合の方向概略図である。
【
図5】本開示の実施例による符号化の概略図である。
【
図6】本開示の実施例による分布信号の概略図である。
【
図7】本開示の実施例による残差信号分布の概略図である。
【
図8】本開示の実施例による符号化するための方法のフローチャートである。
【
図9】本開示の実施例による復号化するための方法のフローチャートである。
【
図10】本開示の実施例による符号化するための方法のフローチャートである。
【
図11】本開示の実施例による復号化するための方法のフローチャートである。
【
図12】本開示の実施例による符号化するための方法のフローチャートである。
【
図13】本開示の実施例による復号化するための方法のフローチャートである。
【
図14】本開示の実施例による復号化側の構造概略図である。
【
図15】本開示の実施例による符号化側の構造概略図である。
【
図16】本開示の実施例による復号化側の構造概略図である。
【
図17】本開示の実施例による符号化側の構造概略図である。
【
図18】本開示の実施例による復号化側の構造概略図である。
【
図19】本開示の実施例による符号化側の構造概略図である。
【
図20】本開示の実施例による符号化側の構造概略図である。
【
図21】本開示の実施例による復号化側の構造概略図である。
【発明を実施するための形態】
【0039】
本開示の目的、技術案および利点をより明確にするために、以下、図面を参照して本開示の実施形態をさらに詳細に説明する。
【0040】
関連技術では、変換する際に、通常、あるプリセット変換カーネルペア(変換カーネルペアは、水平変換カーネルと垂直変換カーネルからなるものである)を選択して、TUに対して変換処理を行なうことにより、変換係数を得る。相応的に、復号化する際にも、符号化する際に使用されたプリセット変換カーネルペアを選択して、TUに対して逆変換処理を行なうことにより、残差信号を得る。
【0041】
このように、異なる変換カーネルペアを使用して同一のTUを変換することで、圧縮効果が大きく異なるため、同一のプリセット変換カーネルペアを使用して、すべてのTUに対して変換処理を行なうと、符号化及び復号化の性能が低下する可能性がある。
【0042】
本開示は、符号化および復号化するための方法を提供し、符号化するための方法の実行主体は、符号化側であり、復号化するための方法の実行主体は、復号化側であってもよく、ここで、符号化側または復号化側は、サーバ、コンピュータ、携帯電話などのビデオデータを符号化および/または復号化することができる装置であってもよい。
【0043】
ここで、符号化側または復号化側には、プロセッサ、メモリ、送受信機などが設けられてもよく、プロセッサは、符号化処理および/または復号化処理を行うために使用されてもよく、メモリは、符号化および/または復号化するプロセスに必要なデータおよび生成されたデータを記憶するために使用されてもよく、送受信機は、ビデオデータを取得するなど、データを受信および送信するために使用されてもよい。
【0044】
実施の前に、まず本開示の実施例に係る概念について説明する。
【0045】
「変換カーネル(transform kernel)」
【0046】
ビデオ符号化では、変換は、ビデオデータの圧縮を実現するために不可欠な段階であり、信号のエネルギーをより集中させることができ、DCT(Discrete Cosine Transform、離散コサイン変換)/ DST(Discrete Sine Transform、離散サイン変換)に基づく変換技術は、ビデオ符号化の主な変換技術である。DCTとDSTは、基底関数の違いに応じてさらに具体的に複数種類の変換カーネルに分けられ、表1には一般的に使用される3種類の変換カーネルの基底関数が示される。
【0047】
【0048】
「正変換(forward transform)と逆変換(inverse transform)」
【0049】
ビデオ符号化では、変換プロセスは、順方向変換および逆方向変換とも呼ばれる正変換および逆変換プロセスを含み、ここで、正変換は、二次元残差信号(残差係数)をエネルギーがより集中した二次元スペクトル信号(変換係数)に変換するものであり、変換係数は、量子化プロセスを経て高周波成分を効果的に除去し、中低周波成分を保持し、圧縮の役割を果たす。式(1)のように行列式で表し、即ち、
【数1】
【0050】
ここで、mは残差ブロック幅、nは残差ブロック高さ、fはNxM次元の元の残差信号、fはNxM次元の周波数領域信号を表す。AおよびBは、MxMおよびNxN次元の変換行列を表し、これらはいずれも直交性を満たす。
【0051】
逆変換は、逆方向変換とも呼ばれ、正変換の逆過程であり、即ち、直交変換行列AおよびBによって周波数領域信号Fを時間領域残差信号fに変換する。式(2)のように行列式で表し、即ち、
【数2】
【0052】
「水平変換(Horizental transform)と垂直変換(Vertical transform)」
【0053】
ビデオ符号化の変換段階では、二次元残差信号が入力され、式(3)に示されるように、
【数3】
【0054】
このため、1つの二次元残差信号の正変換は、2回の一次元の正変換によって実現されることができ、第1回の正変換の後、1つのMxNの信号Xが得られ、二次元残差信号の水平方向の画素間の相関が除去されたので、第1回の正変換は、水平変換と呼ばれ、Aを水平変換行列と呼び、第2回の正変換で二次元残差信号の垂直方向の画素間の相関が除去され、したがって、第2回の正変換は、垂直変換と呼ばれ、Bを垂直変換行列と呼ぶ。
【0055】
「変換カーネルペア(Transform pair)」
【0056】
次世代ビデオ符号化標準規格では、TU(Transmission Unit、変換ユニット)が矩形ブロックをサポートするので、MがNに等しくない可能性があり、したがって、AとBの次元が同じではない可能性があり、これ以外に、次世代ビデオ符号化標準規格が、AとBが同じ変換カーネルによる変換行列ではないこともサポートするので、変換には、AとBに対応する変換カーネルからなる変換カーネルペア{H、V}が存在し、ここで、Hを水平変換カーネルと呼び、Vを垂直変換カーネルと呼ぶ。
【0057】
「ブロック分割技術(Block Partition)」
【0058】
HEVC(High Efficiency Video Coding、高効率ビデオ圧縮)では、四分木を用いて1つの64x64サイズのCTU(Coding Tree Unit、符号化ツリーユニット)をCU(Coding Unit、符号化ユニット)に再帰的に分割する。リーフノードCUレベルでは、イントラ符号化またはインター符号化を使用するかどうかを確定する。CUは、さらに2つまたは4つのPU(Prediction Unit、予測ユニット)に分割されてもよく、同一のPU内で、同じ予測情報を使用する。予測が完了した後に残差信号が得られた後、1つのCUは、さらに4分割されて複数のTUに分割されることができる。
【0059】
しかしながら、新たに提案されたVVC(Versatile Video Coding、汎用ビデオ符号化)におけるブロック分割技術に大きな変化があった。二分木/三分木/四分木((binary/ternary/quaternary)tree(BT/TT/QT))を混合した分割構造は、元の分割モードを取って代わり、元のCU、PU、TUの概念の区分をキャンセルし、CUのより柔軟な分割方式をサポートする。CUは、正方形でもよいし、長方形でもよく、まずCTUに対して四分木の分割を行い、その後、四分木の分割が行われたリーフノードに対して、さらに二分木と三分木の分割を行うことができる。つまり、四分木分割、水平二分木分割、垂直二分木分割、水平三分木分割、垂直三分木分割の5種類の分割タイプがあり、
図1に示すように、5種類の分割タイプが示され、
図1では、(a)は分割しないことを示し、(b)は四分木分割を示し、(c)は水平二分木分割を示し、(d)は垂直二分木分割を示し、(e)は水平三分木分割を示し、(f)は垂直三分木分割を示す。
図2に示すように、CTUをCUに分割する例を示す図が提供される。
【0060】
したがって、上記の分割方式に基づいて、ブロックには通常3種類の形状が存在し、
図3に示すように、
図3において、(a)は幅が高さより大きいブロックを示し、(b)は幅が高さに等しいブロックを示し、(c)は幅が高さより小さいブロックを示す。
【0061】
「イントラ予測」
【0062】
イントラ予測では、画像において、隣接ブロックの間に強い空間領域の相関があることを考慮しているので、周りで再構築された画素を参照画素として使用して、現在の符号化されていないブロックを予測することができ、したがって、元の信号に対して符号化処理を行うのではなく、残差信号(元の信号-予測信号)に対して後の符号化処理を行うだけで、空間領域における冗長性を効果的に除去し、ビデオ信号の圧縮効率を大幅に向上させることができる。そして、イントラ予測では、より密な角度は、より良い予測効果をもたらすことができ、
図4に示すように、VVCにより与えられた67種類のイントラ予測モードによるイントラ予測時の角度方向の模式図が示され、イントラ予測モードの数は、HEVCの33種類から65種類に増加し、モード番号が0である場合、Planar(平面)モードを表し、モード番号が1である場合、DCモード(DCモードとは、現在のブロックの予測画素がいずれも参照画素の平均値であることを指す)を表し、黒い実線は、元のHEVCの角度方向(2、4、6、8、…、64、66)を表し、破線は、新たに追加された角度方向(3、5、7、9、…、63、65)であり、より密な角度方向は、自然なビデオにおける任意の方向の境界をより効果的に捉えることができ、より多くの参照情報を利用してレート歪みコストの選択を行うことにより、現在のブロックをより正確に予測するためのより適切なイントラ予測モードを見つけることができるため、予測ブロックを元のブロックに近づけ、現在のブロックを符号化するために送信する必要のあるビットがより少なくなり、この結果、符号化の性能がより向上する。イントラ予測符号化を行う場合、これら67種類のイントラモードは、輝度成分および色度成分を含むすべてのサイズの符号化ブロックに適用される。
【0063】
図4において、イントラ予測モードのモード番号は2~34であり、角度方向と水平右方向との角度の範囲は-45度~45度であり、イントラ予測モードのモード番号は35~66であり、角度方向と水平右方向との角度の範囲は-135度~-45度である。
【0064】
なお、平面直角座標系において、水平右方向は、x軸の正方向となり、垂直上方向は、y軸の正方向となり、このように、第一象限と第二象限では原点を頂点とする放射線(放射線が原点から離れる方向)とx軸の正方向からなる角は、正の値となり、第三象限と第四象限では原点を頂点とする放射線(放射線が原点から離れる方向)とx軸の正方向からなる角は、負の値となる。例えば、水平右方向と第四象限における対称軸(原点から離れる方向)との角は、-45度である。
【0065】
本開示の実施例は、一般的な符号化フレームを提供し、
図5に示すように、完全なビデオ符号化方法は、一般的に、予測、変換、量子化、エントロピー符号化、ループ内フィルタリングなどを含む。ここで、予測は、具体的にはイントラ予測とインター予測に分けられ、イントラ予測では、画像において、隣接ブロックの間に強い空間領域の相関があることを考慮しているので、周りで再構築された画素を参照画素として使用して、現在の符号化されていないブロックを予測することができ、したがって、元の信号を符号化するのではなく、残差信号(元の信号-予測信号)に対して後の符号化処理を行うだけで、空間領域における冗長性を効果的に除去し、ビデオ信号の圧縮効率を大幅に向上させることができる。インター予測とは、ビデオ時間領域の冗長性を除去する目的を達成するために、ビデオ信号時間領域における相関を利用して、隣接で符号化された画像画素を用いて、現在の画像の画素を予測することを指す。インター予測の場合、ビデオに強い時間領域の相関があり、すなわち、時間領域の隣接する2フレームの画像には多くの類似した画像ブロックがあるため、現在のフレームの画像ブロックに対して、隣接する参照画像において動き探索を行い、参照ブロックとして現在のブロックに最も合致するブロックを見つける。参照ブロックと現在のブロックの類似度が高く、両者の差分が非常に小さいので、差分を符号化するコードレートのオーバヘッドが、通常、現在のブロックの画素値を直接に符号化することによるコードレートのオーバヘッドよりもはるかに小さい。
【0066】
上記の変換プロセスでは、同一のTU(残差ブロックとも呼ばれ、現在のブロックとも呼ばれる)に対して異なる変換カーネルペアを用いて残差ブロックを圧縮し、圧縮の効果は大きく異なる。これは、変換カーネル自身の基底関数によって決定され、
図6に示すように、DCT2、DST7、DCT8の3種類の変換カーネルの基底関数に対応して、入力信号ビットは、64ポイントである。図面におけるゼロオーダ基底関数から分かるように、DCT2は、均一に分布された信号に対して強いエネルギー集中効果を有し、且つ生成された直流成分は、入力信号の平均値の倍数であり、DST7は、振幅が増加する入力信号に対して強いエネルギー集中効果を有し、DCT8は、振幅が減少する入力信号に対して強いエネルギー集中効果を有する。
【0067】
異なる変換カーネルと残差特性の関係をより直感的に感じるために、
図7に示すように、5種類の異なる水平垂直変換カーネルペアは、異なるタイプの残差分布の状況を表し、{DCT2、DCT2}変換カーネルタイプについては、TUの残差が均一に分布することを表し、{DST7、DST7}変換カーネルタイプについては、TUの残差が左から右にかけて、上から下にかけて順次に大きくなるように分布し、TUの右下に主に分布することを表し、同様に、{DCT8、DST7}は、残差がTUの左下に主に分布することを表し、{DST7、DCT8}は、残差がTUの右上に主に分布することを表し、{DCT8、DCT8}は、残差がTUの左上に主に分布することを表す。
【0068】
コンテキストモデルについて、ビデオ符号化において、コンテキストに基づいてシンボル確率を更新するプロセスをコンテキストモデルと呼ぶ。
【0069】
本開示の実施例は、符号化するための方法を提供し、当該方法の実行フローは、
図8に示すようにすることができる。
【0070】
ステップ801において、符号化側は、現在のブロックの残差信号を取得する。
【0071】
実施では、符号化側は、ビデオデータを符号化する際に、まずイントラ予測を行い、残差信号を得て(残差ブロックを得る方法は、既存のビデオ符号化標準規格と一致しており、これ以上説明しない)、次に残差信号を現在処理されようとする現在のブロックの残差信号とする。
【0072】
イントラ予測モードを選択する方法は、次のとおりである。
【0073】
一般的に、符号化効率を評価する2つの指標は、コードレートとPSNR(Peak Signal to Noise Ratio、ピーク信号対雑音比)である。一般的に、ビットストリームが小さいほど、圧縮率が高くなり、PSNRが大きいほど、再構築画像の品質が良くなる。モードを選択する際に、判別式は、実質的には両者を総合的に評価するものである。
【0074】
モードに対応するレート歪みコストは、J(mode)=D+λ*Rである。ここで、Dは、Distortion(歪み)を表し、通常にSSE(Sum of Squares Error、残差平方和)指標を用いて測定されることが多く、SSEとは、再構築ブロックとソース画像との差分の2乗平均和を意味し、λは、ラグランジュの未定乗数であり、Rは、当該イントラ予測モードにおける画像ブロックの符号化に必要な実際のビット数であり、符号化モード情報、動き情報、残差信号などに必要なビット総和を含む。
【0075】
符号化側は、明示的なマルチコア変換構文テーブルを取得し、表2に示すように、1種類のイントラ予測モードを選択すると、表2の各変換カーネルペアを選択して、変換処理、量子化、エントロピー符号化、復号化処理の順に行うことにより、各種類のイントラ予測モードを巡回した後、レート歪みコストが最小になるイントラ予測モードと変換カーネルペアを選択し、当該イントラ予測モードを現在のブロックに対応するイントラ予測モードとして確定する。このようにすると、現在のブロックに対応するイントラ予測モードと変換カーネルペアを確定することができる。例えば、67種類のイントラ予測モードがあり、1種類のイントラ予測モードには5つの変換カーネルペアがあり、このようにすると、67*5の組み合わせがあり、各組み合わせには1種類のイントラ予測モードと1つの変換カーネルペアが含まれ、レート歪みコストが最小になる組み合わせを選択し、最終的なイントラ予測と変換に用いる。
【0076】
【0077】
なお、表2の別の可能な実施形態は、DCT8の代わりにDCT4を使用し、DST7の代わりにDST4を使用し、またはDCT8およびDST7の代わりに他の変換カーネルを使用することもできる。
【0078】
また、表3に示すように、符号化時間を短縮するために、表2に加えて、変換カーネルペア(DCT8、DCT8)を削除することができ、すなわち(DCT8、DCT8)のRDO決定を行わず、このようにすると、上記の組み合わせが67*5から67*4に変更され、RDO決定の回数が減少するので、符号化時間が短縮される。そして、変換カーネルペア(DCT8、DCT8)がないので、変換カーネルペアインデックスに対応する二値化コードワードのビットも4つから3つに減少し、符号化されたビットオーバーヘッドを低減することもできる。
【0079】
【0080】
なお、表3の別の可能な実施形態は、DCT8の代わりにDCT2を使用し、または所定のプリセット形状制限条件を満たす場合、DCT8の代わりにDCT2を使用することもできる。
【0081】
また、表4に示すように、符号化時間を短縮するために、表3に加えて、変換カーネルペア(DST7、DCT8)を削除することができる。すなわち(DST7、DCT8)のRDO決定を行わず、このようにすると、上記の組み合わせが67*4から67*3に変更され、RDO決定の回数が減少するので、符号化時間が短縮される。そして、変換カーネルペア(DCT8、DCT8)、(DST7、DCT8)がないので、変換カーネルペアインデックスに対応する二値化コードワードのビットも3つから2つに減少し、符号化されたビットオーバーヘッドを低減することもできる。
【0082】
【0083】
また、表5に示すように、符号化時間を短縮するために、表3に加えて、変換カーネルペア(DCT8、DST7)を削除することができる。すなわち(DCT8、DST7)のRDO決定を行わず、このようにすると、上記の組み合わせが67*4から67*3に変更され、RDO決定の回数が減少するので、符号化時間が短縮される。そして、変換カーネルペア(DCT8、DCT8)、(DCT8、DST7)がないので、変換カーネルペアインデックスに対応する二値化コードワードのビットも3つから2つに減少し、符号化されたビットオーバーヘッドを低減することもできる。
【0084】
【0085】
また、表6に示すように、符号化時間を短縮するために、表2に加えて、変換カーネルペア(DCT8、DCT8)、(DCT8、DST7)、(DST7、DCT8)を削除することができる。すなわち(DCT8、DCT8)、(DCT8、DST7)、(DST7、DCT8)のRDO決定を行わず、このようにすると、上記の組み合わせが67*5個から67*2個に変更され、RDO決定の回数が減少するので、符号化時間が短縮される。そして、変換カーネルペア(DCT8、DCT8)、(DCT8、DST7)、(DST7、DCT8)がないので、変換カーネルペアインデックスに対応する二値化コードワードのビットも3つから1つに減少し、符号化されたビットオーバーヘッドを低減することもできる。
【0086】
なお、表4と表5の別の可能な実施形態は、DCT8の代わりにDCT2を使用し、または所定のプリセット形状制限条件を満たす場合、DCT8の代わりにDCT2を使用することもできる。
【0087】
【0088】
なお、表4を使用する場合、RDO決定の回数が減少するが、符号化の性能も低下する。
【0089】
また、なお、表2について、変換カーネルペアインデックスに対応する二値化コードワードの一番目のビットは、現在のブロックが変換カーネルペアインデックス1に対応する変換カーネルペアを使用するか、変換カーネルペアインデックス2-5に対応する変換カーネルペアを使用するかを区別するためのものであり、二番目のビットに対する符号化は、現在のブロックが変換カーネルペアインデックス2に対応する変換カーネルペアを使用するか、変換カーネルペアインデックス3-5に対応する変換カーネルペアを使用するかを区別するためのものであり、三番目のビットに対する符号化は、現在のブロックが変換カーネルペアインデックス3に対応する変換カーネルペアを使用するか、変換カーネルペアインデックス4-5に対応する変換カーネルペアを使用するかを区別するためのものであり、四番目のビットに対する符号化は、現在のブロックが変換カーネルペアインデックス4に対応する変換カーネルペアを使用するか、変換カーネルペアインデックス5に対応する変換カーネルペアを使用するかを区別するためのものである。つまり、一番目のビットが0である場合、変換カーネルペア(DCT2、DCT2)が使用されることを示し、一番目のビットが1であり、二番目のビットが0である場合、変換カーネルペア(DST7、DST7)が使用されることを示し、一番目のビットが1であり、二番目のビットが1であり、三番目のビットが0である場合、変換カーネルペア(DCT8、DST7)が使用されることを示し、一番目のビットが1であり、二番目のビットが1であり、三番目のビットが1であり、四番目のビットが0である場合、変換カーネルペア(DST7、DCT8)が使用されることを示し、一番目のビットが1であり、二番目のビットが1であり、三番目のビットが1であり、四番目のビットが1である場合、変換カーネルペア(DCT8、DCT8)が使用されることを示す。
【0090】
また、なお、表3について、変換カーネルペアインデックスに対応する二値化コードワードの一番目のビットは、現在のブロックが変換カーネルペアインデックス1に対応する変換カーネルペアを使用するか、変換カーネルペアインデックス2-4に対応する変換カーネルペアを使用するかを区別するためのものであり、二番目のビットに対する符号化は、現在のブロックが変換カーネルペアインデックス2に対応する変換カーネルペアを使用するか、変換カーネルペアインデックス3-4に対応する変換カーネルペアを使用するかを区別するためのものであり、三番目のビットに対する符号化は、現在のブロックが変換カーネルペアインデックス3に対応する変換カーネルペアを使用するか、変換カーネルペアインデックス4に対応する変換カーネルペアを使用するかを区別するためのものである。つまり、一番目のビットが0である場合、変換カーネルペア(DCT2、DCT2)が使用されることを示し、一番目のビットが1であり、二番目のビットが0である場合、変換カーネルペア(DST7、DST7)が使用されることを示し、一番目のビットが1であり、二番目のビットが1であり、三番目のビットが0である場合、変換カーネルペア(DCT8、DST7)が使用されることを示し、一番目のビットが1であり、二番目のビットが1であり、三番目のビットが1である場合、変換カーネルペア(DST7、DCT8)が使用されることを示す。
【0091】
また、なお、表4について、変換カーネルペアインデックスに対応する二値化コードワードの一番目のビットは、現在のブロックが変換カーネルペアインデックス1に対応する変換カーネルペアを使用するか、変換カーネルペアインデックス2-3に対応する変換カーネルペアを使用するかを区別するためのものであり、二番目のビットに対する符号化は、現在のブロックが変換カーネルペアインデックス2に対応する変換カーネルペアを使用するか、変換カーネルペアインデックス3に対応する変換カーネルペアを使用するかを区別するためのものである。つまり、一番目のビットが0である場合、変換カーネルペア(DCT2、DCT2)が使用されることを示し、一番目のビットが1であり、二番目のビットが0である場合、変換カーネルペア(DST7、DST7)が使用されることを示し、一番目のビットが1であり、二番目のビットが1である場合、変換カーネルペア(DCT8、DST7)が使用されることを示す。
【0092】
また、なお、表5について、変換カーネルペアインデックスに対応する二値化コードワードの一番目のビットは、現在のブロックが変換カーネルペアインデックス1に対応する変換カーネルペアを使用するか、変換カーネルペアインデックス2-3に対応する変換カーネルペアを使用するかを区別するためのものであり、二番目のビットに対する符号化は、現在のブロックが変換カーネルペアインデックス2に対応する変換カーネルペアを使用するか、変換カーネルペアインデックス3に対応する変換カーネルペアを使用するかを区別するためのものである。つまり、一番目のビットが0である場合、変換カーネルペア(DCT2、DCT2)が使用されることを示し、一番目のビットが1であり、二番目のビットが0である場合、変換カーネルペア(DST7、DST7)が使用されることを示し、一番目のビットが1であり、二番目のビットが1である場合、変換カーネルペア(DST7、DCT8)が使用されることを示す。
【0093】
また、なお、表6について、変換カーネルペアインデックスに対応する二値化コードワードの一番目のビットは、現在のブロックが変換カーネルペアインデックス1に対応する変換カーネルペアを使用するか、変換カーネルペアインデックス2に対応する変換カーネルペアを使用するかを区別するためのものである。つまり、一番目のビットが0である場合、変換カーネルペア(DCT2、DCT2)が使用されることを示し、一番目のビットが1である場合、変換カーネルペア(DST7、DST7)が使用されることを示す。
【0094】
ステップ802において、符号化側は、現在のブロックに対応する変換カーネルペア及び現在のブロックに対応する変換カーネルペアインデックスを確定する。
【0095】
ここで、変換カーネルペアは、垂直変換カーネルと水平変換カーネルとを含む。
【0096】
実施では、符号化側は、最終的に選択された変換カーネルペアを取得し、次に表2から表6のいずれかに記載された変換カーネルペアと変換カーネルペアインデックスとの対応関係から、当該変換カーネルペアに対応する変換カーネルペアインデックスを選択することができる。
【0097】
なお、符号化の際には、通常、表2から表6のどちらを使用するかが固定されているので、表2から表6の1つだけを取得することができる。
【0098】
本開示の1つの可能な実施形態において、ステップ802の前に、次のような判断を行ってもよい。
【0099】
符号化側は、現在のブロックの高さ及び幅がプリセット閾値以下であり、且つ現在のブロックが輝度ブロックであると確定する。
【0100】
ここで、プリセット閾値は、プリセットされて符号化側に記憶されることができ、プリセット閾値は、一般にNである(Nは32であってもよい)。
【0101】
実施では、符号化側は、ステップ801の実行を完了したとき、高さ方向における現在のブロックの画素点の数、すなわち現在のブロックの高さを確定し、且つ幅方向における現在のブロックの画素点の数、すなわち現在のブロックの幅を確定することができる。そして、現在のブロックが輝度ブロックであるかどうかを判断することができ、現在のブロックが輝度ブロックであり、且つ現在のブロックの高さと幅がいずれもプリセット閾値以下である場合、ステップ802の処理を実行する。
【0102】
本開示の1つの可能な実施形態において、以下に示すように、イントラ予測モードまたは現在のブロックの形状情報を使用して、変換カーネルペアインデックスを確定することもできる。
【0103】
方式1として、符号化側は、現在のブロックに対応する変換カーネルペアを確定し、現在のブロックのイントラ予測モードと変換カーネルペアに基づいて、現在のブロックに対応する変換カーネルペアインデックスを確定する。
【0104】
実施では、符号化側は、前述のように、変換カーネルペアと現在のブロックのイントラ予測モードを確定し、この後、プリセットされた明示的なマルチコア変換カーネルペアの構文テーブルを取得することができ、当該構文テーブルでは、イントラ予測モードと変換カーネルペアを使用して、現在のブロックに対応する変換カーネルペアインデックスを確定する。
【0105】
本開示の1つの可能な実施形態において、以下のようにして、イントラ予測モードを使用して、変換カーネルペアインデックスを確定し、対応する処理は、以下のようにしてもよい。
【0106】
変換カーネルペアが第1の変換カーネルペアであり、且つ現在のブロックのイントラ予測モードのモード番号がプリセット値以下である場合、現在のブロックに対応する変換カーネルペアインデックスが第1のインデックスであると確定し、変換カーネルペアが第2の変換カーネルペアであり、且つ現在のブロックのイントラ予測モードのモード番号がプリセット値より大きい場合、現在のブロックに対応する変換カーネルペアインデックスが第1のインデックスであると確定し、変換カーネルペアが第2の変換カーネルペアであり、且つ現在のブロックのイントラ予測モードのモード番号がプリセット値以下である場合、現在のブロックに対応する変換カーネルペアインデックスが第2のインデックスであると確定し、変換カーネルペアが第1の変換カーネルペアであり、且つ現在のブロックのイントラ予測モードのモード番号がプリセット値より大きい場合、現在のブロックに対応する変換カーネルペアインデックスが第2のインデックスであると確定する。
【0107】
実施では、プリセットされた明示的なマルチコア変換カーネルペアの構文テーブルは、表7に示すようになる。
【0108】
【0109】
表7において、第1の変換カーネルペアが(DST7、DCT8)であり、イントラ予測モードのモード番号がプリセット値(プリセット値が34である)以下であり、変換カーネルペアインデックスが3であると確定できれば、対応する二値化コードワードのビットが3つあり、順次1、1、0となる。第1の変換カーネルペアが(DCT8、DST7)であり、イントラ予測モードのモード番号が34より大きく、対応する変換カーネルペアインデックスが3であると確定できれば、対応する二値化コードワードのビットが3つあり、順次1、1、0となる。第1の変換カーネルペアが(DCT8、DST7)であり、イントラ予測モードのモード番号が34以下であり、対応する変換カーネルペアインデックスが4であると確定できれば、対応する二値化コードワードのビットが4つあり、順次1、1、1、0となる。第1の変換カーネルペアが(DST7、DCT8)であり、イントラ予測モードのモード番号が34より大きく、変換カーネルペアインデックスが4であると確定できれば、対応する二値化コードワードのビットが4つあり、順次1、1、1、0となる。
【0110】
なお、いくつかの変換カーネルペアが変換カーネルペアインデックスを直接に確定することができるので、方式1の場合に満足される条件は、確定された変換カーネルペアが(DCT2、DCT2)、(DST7、DST7)、(DCT8、DCT8)のいずれでもないことである。
【0111】
なお、表7において、変換カーネルペアインデックスが3である場合、上記のMode=0~34?DST7:DCT8とは、イントラ予測モードのモード番号0から34が真の場合、水平変換カーネルがDST7であり、そうでない場合、水平変換カーネルがDCT8であることを指す。Mode=0~34?DCT8:DST7とは、イントラ予測モードのモード番号0から34が真の場合、垂直変換カーネルがDCT8であり、そうでない場合、垂直変換カーネルがDST7であることを指す。変換カーネルペアインデックスが4である場合、上記のMode=0~34?DCT8:DST7とは、イントラ予測モードのモード番号0から34が真の場合、水平変換カーネルがDCT8であり、そうでない場合、水平変換カーネルがDST7であることを指す。Mode=0~34?DST7:DCT8とは、イントラ予測モードのモード番号0から34が真の場合、垂直変換カーネルがDST7であり、そうでない場合、垂直変換カーネルがDCT8であることを指す。
【0112】
方式2として、符号化側は、現在のブロックに対応する変換カーネルペアを確定し、現在のブロックの形状情報と変換カーネルペアに基づいて、現在のブロックに対応する変換カーネルペアインデックスを確定する。
【0113】
実施では、符号化側は、前述のように、変換カーネルペアと現在のブロックの形状情報を確定し、この後、プリセットされた明示的なマルチコア変換カーネルペアの構文テーブルを取得することができ、当該テーブルでは、変換カーネルペアと現在のブロックの形状情報を使用して、現在のブロックに対応する変換カーネルペアインデックスを確定する。
【0114】
本開示の1つの可能な実施形態において、以下のようにして、現在のブロックの形状情報を参照して、変換カーネルペアインデックスを確定する処理は、以下のようにしてもよい。
【0115】
変換カーネルペアが第1の変換カーネルペアであり、且つ現在のブロックの形状情報がプリセット形状制限条件を満たしている場合、現在のブロックに対応する変換カーネルペアインデックスが第1のインデックスであると確定する。変換カーネルペアが第2の変換カーネルペアであり、且つ現在のブロックの形状情報がプリセット形状制限条件を満たしていない場合、現在のブロックに対応する変換カーネルペアインデックスが第1のインデックスであると確定する。変換カーネルペアが第2の変換カーネルペアであり、且つ現在のブロックの形状情報がプリセット形状制限条件を満たしている場合、現在のブロックに対応する変換カーネルペアインデックスが第2のインデックスであると確定する。変換カーネルペアが第1の変換カーネルペアであり、且つ現在のブロックの形状情報がプリセット形状制限条件を満たしていない場合、現在のブロックに対応する変換カーネルペアインデックスが第2のインデックスであると確定する。
【0116】
ここで、プリセット形状制限条件は、プリセットされ、符号化側に記憶されることができ、プリセット形状制限条件は、幅が高さ以上であることである。
【0117】
実施では、プリセットされた明示的なマルチコア変換カーネルペアの構文テーブルは、表8に示すようになる。
【0118】
【0119】
表8において、第1の変換カーネルペアが(DST7、DCT8)であり、現在のブロックの形状情報が、幅が高さ以上であるということであり、変換カーネルペアインデックスが3であると確定できれば、対応する二値化コードワードのビットが3つあり、順次1、1、0となる。第1の変換カーネルペアが(DCT8、DST7)であり、現在のブロックの形状情報が、幅が高さより小さいことであり、対応する変換カーネルペアインデックスが3であると確定できれば、対応する二値化コードワードのビットが3つあり、順次1、1、0となる。第1の変換カーネルペアが(DCT8、DST7)であり、現在のブロックの形状情報が、幅が高さ以上であるということであり、対応する変換カーネルペアインデックスが4であると確定できれば、対応する二値化コードワードのビットが4つあり、順次1、1、1、0となる。第1の変換カーネルペアが(DST7、DCT8)であり、現在のブロックの形状情報が、幅が高さより小さいことであり、変換カーネルペアインデックスが4であると確定できれば、対応する二値化コードワードのビットが4つあり、順次1、1、1、0となる。
【0120】
表8に基づいて、方式2において、現在のブロックの形状情報が、幅が高さ以上であるということであり、第1の変換カーネルペアが(DST7、DCT8)である場合、第1のインデックスが3であり、現在のブロックの形状情報が、幅が高さより小さいことであり、第1の変換カーネルペアが(DCT8、DST7)であり、第1のインデックスが3であり、現在のブロックの形状情報が、幅が高さより小さいことであり、第1の変換カーネルペアが(DST7、DCT8)であり、第2のインデックスが4であり、現在のブロックの形状情報が、幅が高さ以上であるということであり、第1の変換カーネルペアが(DCT8、DST7)であり、第2のインデックスが4である。
【0121】
なお、いくつかの変換カーネルペアが変換カーネルペアインデックスを直接に確定することができるので、方式2の場合に満足される条件は、確定された変換カーネルペアが(DCT2、DCT2)、(DST7、DST7)、(DCT8、DCT8)のいずれでもないことである。
【0122】
なお、表8において、変換カーネルペアインデックスが3である場合、上述W≧H?DST7:DCT8とは、現在のブロックの幅が高さ以上であるということが真の場合、水平変換カーネルがDST7であり、そうでない場合、水平変換カーネルがDCT8であることを指す。W≧H?DCT8:DST7とは、現在のブロックの幅が高さ以上であるということが真の場合、垂直変換カーネルがDCT8であり、そうでない場合、垂直変換カーネルがDST7であることを指す。変換カーネルペアインデックスが4である場合、上述W≧H?DCT8:DST7とは、現在のブロックの幅が高さ以上であるということが真の場合、水平変換カーネルがDCT8であり、そうでない場合、水平変換カーネルがDST7であることを指す。W≧H?DST7:DCT8とは、現在のブロックの幅が高さ以上であるということが真の場合、垂直変換カーネルがDST7であり、そうでない場合、垂直変換カーネルがDCT8であることを指す。
【0123】
なお、上記の表7において、Modeは、モード番号を表し、上記の表8において、Wは、幅を表し、Hは、高さを表す。
【0124】
このように、上述した現在のブロックの形状情報、イントラ予測モードに基づいて変換カーネルペアの優先度を適応に調整することで、確率の高い変換カーネルペアに対応する二値化コードワード、及び符号化が必要な変換カーネルペアインデックスに対応する二値化コードワードを短くすることができる。
【0125】
また、符号化側は、現在のブロックを取得した後、まず、現在のブロックの高さと幅がN(Nは32であってもよい)以下であるかどうかを判断し、且つ輝度ブロックであるかどうかを判断することができ、現在のブロックの高さと幅がN以下であり、且つ輝度ブロックである場合、ステップ802の実行を継続してもよく、高さと幅がN以下であること、輝度ブロックであることの両方の少なくとも1つが満たされていない場合、プリセット変換カーネルペア(すなわち(DCT2、DCT2))を直接に取得する。
【0126】
ステップ803において、符号化側は、変換カーネルペアに基づいて、現在のブロックの残差信号に対して符号化処理を行い、現在のブロックに対応する符号化データを得る。
【0127】
実施では、符号化側は、現在のブロックに対応する変換カーネルペアを取得した後、変換カーネルペアに基づいて、現在のブロックの残差信号を変換することにより、変換係数を得て、この後、変換係数に対して量子化処理を行うことにより、量子化係数を得て、量子化係数に対してエントロピー符号化処理を行うことにより、現在のブロックに対応する符号化データを得ることができる。
【0128】
ステップ804において、符号化側は、変換カーネルペアインデックスに対応する二値化コードワードの一番目のビットに対して、1つのコンテキストモデルに基づいて適応バイナリ算術符号化を行う方式に従って、変換カーネルペアインデックスを符号化し、現在のブロックの符号化データに追加する。
【0129】
実施では、復号化側が符号化側で使用される変換カーネルペアを知ることができるようにするために、符号化データに変換カーネルペアインデックスを追加する。
【0130】
符号化側は、変換カーネルペアインデックスに対応する二値化コードワードの一番目のビットに対して、1つのコンテキストモデルに基づいて適応バイナリ算術符号化を行い、二値化コードワードが他のビットをさらに含む場合、これらの他のビットに対して、CABAC(Context-based Adaptive Binary Arithmetic Coding、コンテキストに基づく適応バイナリ算術符号化)方式を使用して符号化してもよく、バイパスのバイナリ算術符号化方式を使用して符号化してもよい。この後、符号化側は、符号化された後の変換カーネルペアインデックスを現在のブロックの符号化データに追加する。
【0131】
このようにして、現在のブロックの符号化処理が完了する。
図8に示されるフローに従って、各現在のブロックを処理することにより、ビデオデータのセグメント全体を符号化することができる。
【0132】
本開示の1つの可能な実施形態において、上記の他のビットに対して、バイパスのバイナリ算術符号化方式を使用して符号化することができ、対応する処理は、以下のようにしてもよい。
【0133】
変換カーネルペアインデックスに対応する二値化コードワードが複数のビットを含む場合、一番目のビットに対して、1つのコンテキストモデルに基づいて適応バイナリ算術符号化を行い、且つ複数のビットのうち一番目のビット以外の他のビットの少なくとも1つに対して、バイパスのバイナリ算術符号化方式を採用して復号化し、符号化された後の変換カーネルペアインデックスを現在のブロックの符号化データに追加する。
【0134】
実施では、変換カーネルペアインデックスに対応する二値化コードワードが複数のビットを含む場合、一番目のビットに対して、1つのコンテキストモデルに基づいて適応バイナリ算術符号化を行い、且つ複数のビットのうち一番目のビット以外の他のビットの少なくとも1つに対して、バイパスのバイナリ算術符号化方式を採用して復号化し、この後、符号化された後の変換カーネルペアインデックスを現在のブロックの符号化データに追加することができる。
【0135】
例えば、使用された変換カーネルペアが(DCT8、DCT8)であり、対応するビットが4つあり、順次1、1、1、1となり、一番目のビットを符号化する場合、1つのコンテキストモデルを使用し、後の3つのビットを符号化する場合、いずれもバイパスのバイナリ算術符号化方式を採用して復号化する。このようにして、後のいくつかのビットのコンテキストモデルを記憶する必要がないので、メモリスペースを節約し,符号化と復号化の複雑さを低減することができる。
【0136】
また、復号化側が明示的なマルチコア変換方式を使用することもできるようにするために、符号化データにターゲット識別子を追加してもよく、ターゲット識別子は、明示的なマルチコア変換方式が使用されることを示すために使用される。
【0137】
上述の
図8に示された符号化方式に対して、本開示の実施例は、対応する復号化方式をさらに提供し、
図9に示すように、処理のフローは、次のようになる。
【0138】
ステップ901において、復号化側は、現在のブロックの符号化データを取得する。
【0139】
実施では、復号化側は、復号化すべきである符号化データが存在する場合、符号化データを取得し、この後、符号化データに対してエントロピー復号化処理を行い、エントロピー復号化結果に対して逆量子化処理を行うことにより、現在のブロックの符号化データを得ることができる。
【0140】
ステップ902において、復号化側は、符号化データから現在のブロックの変換カーネルペアインデックスを取得し、ここで、変換カーネルペアインデックスに対応する二値化コードワードの一番目のビットは、1つのコンテキストモデルに基づいて適応バイナリ算術符号化が行われたことにより復号化される。
【0141】
実施では、復号化側は、現在のブロックの符号化データから現在のブロックに対応する変換カーネルペアインデックスを取得することができ、符号化側が現在のブロックの変換カーネルペアインデックスを符号化する際に、変換カーネルペアインデックスに対応する二値化コードワードの一番目のビットは、1つのコンテキストモデルに基づいて適応バイナリ算術符号化が行われたものである。このようにして、一番目のビットを復号化する場合、復号化側も、1つのコンテキストモデルに基づいて適応バイナリ算術符号化が行われたものである。
【0142】
本開示の1つの可能な実施形態において、ステップ902の前に、次のような判断を行ってもよい。
【0143】
復号化側は、現在のブロックの高さ及び幅がプリセット閾値以下であり、且つ現在のブロックが輝度ブロックであると確定する。
【0144】
ここで、プリセット閾値は、プリセットされて復号化側に記憶されることができ、プリセット閾値は、一般にNである(Nは32であってもよい)。
【0145】
実施では、復号化側は、ステップ901の実行を完了したとき、高さ方向における現在のブロックの画素点の数、すなわち現在のブロックの高さを確定し、且つ幅方向における現在のブロックの画素点の数、すなわち現在のブロックの幅を確定することができる。そして、復号化側は、現在のブロックが輝度ブロックであるかどうかを判断することができ、現在のブロックが輝度ブロックであり、且つ現在のブロックの高さと幅がいずれもプリセット閾値以下である場合、ステップ902の処理を実行する。
【0146】
また、ステップ902の処理を実行する前に、符号化データにターゲット識別子が含まれるかどうかを判断してもよく、ターゲット識別子は、明示的なマルチコア変換処理を行うことを示すために使用される。符号化データにターゲット識別子が含まれる場合、明示的なマルチコア変換処理が使用されることを示し、ステップ902の処理を行うことができる。
【0147】
ステップ903において、復号化側は、変換カーネルペアインデックスに基づいて、現在のブロックに対応する変換カーネルペアを確定し、ここで、変換カーネルペアは、水平変換カーネルと垂直変換カーネルとを含む。
【0148】
実施では、復号化側は、現在のブロックの変換カーネルペアインデックスを確定した後、変換カーネルペアインデックスと変換カーネルペアとの対応関係において、現在のブロックに対応する変換カーネルペアを確定することができる。
【0149】
ステップ904において、復号化側は、変換カーネルペアに基づいて、現在のブロックに対して復号化処理を行うことにより、現在のブロックに対応する再構築情報を得る。
【0150】
実施では、復号化側は、現在のブロックに対応する変換カーネルペアを確定した後、当該変換カーネルペアを使用して、現在のブロックの逆量子化された後のデータに対して逆変換処理を行うことにより、現在のブロックに対応する残差信号を得て、この後、残差信号を現在のブロックの予測信号に加算することにより、現在のブロックに対応する再構築情報を得ることができる。
【0151】
このようにして、現在のブロックの復号化処理が完了する。
図9に示されるフローに従って、各現在のブロックを処理することにより、ビデオデータのセグメント全体を復号化することができる。
【0152】
ステップ903において、現在のブロックの変換カーネルペアを確定するための様々な方式があり、以下、様々な可能な方式が示される。
【0153】
方式1として、表2に示すように、変換カーネルペアインデックスが1である場合、使用された変換カーネルペアが(DCT2、DCT2)であることを示し、変換カーネルペアインデックスが2である場合、使用された変換カーネルペアが(DST7、DST7)であることを示し、変換カーネルペアインデックスが3である場合、使用された変換カーネルペアが(DCT8、DST7)であることを示し、変換カーネルペアインデックスが4である場合、使用された変換カーネルペアが(DST7、DCT8)であることを示し、変換カーネルペアインデックスが5である場合、使用された変換カーネルペアが(DCT8、DCT8)であることを示す。
【0154】
方式2として、表3に記載された変換カーネルペアインデックスと変換カーネルペアとの対応関係、及び現在のブロックの変換カーネルペアインデックスを使用して、現在のブロックの変換カーネルペアを確定することができる。
【0155】
方式3として、表4に記載された変換カーネルペアインデックスと変換カーネルペアとの対応関係、及び現在のブロックの変換カーネルペアインデックスを使用して、現在のブロックの変換カーネルペアを確定することができる。
【0156】
方式4として、表5に記載された変換カーネルペアインデックスと変換カーネルペアとの対応関係、及び現在のブロックの変換カーネルペアインデックスを使用して、現在のブロックの変換カーネルペアを確定することができる。
【0157】
方式5として、表6に記載された変換カーネルペアインデックスと変換カーネルペアとの対応関係、及び現在のブロックの変換カーネルペアインデックスを使用して、現在のブロックの変換カーネルペアを確定することができる。
【0158】
本開示の1つの可能な実施形態において、現在のブロックのイントラモード情報または現在のブロックの形状情報を使用して、変換カーネルペアを確定することもでき、対応する処理は、以下のようにしてもよい。
【0159】
復号化側は、現在のブロックのイントラ予測モードと変換カーネルペアインデックスに基づいて、現在のブロックに対応する変換カーネルペアを確定し、または、
復号化側は、変換カーネルペアインデックス、現在のブロックの幅と高さに基づいて、現在のブロックに対応する変換カーネルペアを確定する。
【0160】
実施では、変換カーネルペアインデックスが第1のインデックスであり、且つ現在のブロックのイントラ予測モードのモード番号がプリセット値以下である場合、現在のブロックに対応する変換カーネルペアが第1の変換カーネルペアであると確定し、変換カーネルペアインデックスが第1のインデックスであり、且つ現在のブロックのイントラ予測モードのモード番号がプリセット値より大きい場合、現在のブロックに対応する変換カーネルペアが第2の変換カーネルペアであると確定し、変換カーネルペアインデックスが第2のインデックスであり、且つ現在のブロックのイントラ予測モードのモード番号がプリセット値以下である場合、現在のブロックに対応する変換カーネルペアが第2の変換カーネルペアであると確定し、変換カーネルペアインデックスが第2のインデックスであり、且つ現在のブロックのイントラ予測モードのモード番号がプリセット値より大きい場合、現在のブロックに対応する変換カーネルペアが第1の変換カーネルペアであると確定する。
【0161】
または、変換カーネルペアインデックスが第1のインデックスであり、且つ現在のブロックの形状情報がプリセット形状制限条件を満たす場合、現在のブロックに対応する変換カーネルペアが第1の変換カーネルペアであると確定し、変換カーネルペアインデックスが第1のインデックスであり、且つ現在のブロックの形状情報がプリセット形状制限条件を満たさない場合、現在のブロックに対応する変換カーネルペアが第2の変換カーネルペアであると確定し、変換カーネルペアインデックスが第2のインデックスであり、且つ現在のブロックの形状情報がプリセット形状制限条件を満たす場合、現在のブロックに対応する変換カーネルペアが第2の変換カーネルペアであると確定し、変換カーネルペアインデックスが第2のインデックスであり、且つ現在のブロックの形状情報がプリセット形状制限条件を満たさない場合、現在のブロックに対応する変換カーネルペアが第1の変換カーネルペアであると確定する。(当該プロセスは、ステップ803のプロセスに対応することができ、ここでは説明を省略する)
【0162】
上記のプリセット値は、表7における34であってもよく、第1のインデックスは、3であってもよく、第1の変換カーネルペアが(DST7、DCT8)であり、第2のインデックスは、4であってもよく、第1の変換カーネルペアが(DCT8、DST7)である。
【0163】
本開示の1つの可能な実施形態において、符号化側のメモリスペースを節約するために、符号化側が変換カーネルペアインデックスに対応する二値化コードワードを符号化する際に、変換カーネルペアインデックスに対応する二値化コードワードが複数のビットを含む場合、複数のビットのうち一番目のビット以外の他のビットの少なくとも1つは、バイパスのバイナリ算術符号化方式を採用して復号化される。このようにして、あるビットがバイパスのバイナリ算術符号化方式を採用して復号化される場合、コンテキストモデルを記憶する必要がないので、メモリスペースを節約することができる。同様に、復号化側も、復号化する際に、対応する方式を使用して復号化する。
【0164】
本開示の実施例では、符号化側は、現在のブロックを符号化する際に、プリセット変換カーネルペアを直接に取得するのではなく、現在のブロックに対応する変換カーネルペアを取得して符号化処理を行うことができるので、符号化及び復号化の性能を向上させることができる。符号化側は、変換カーネルペアインデックスに対応する二値化コードワードを符号化する際に、複数のコンテキストモデルを必要とせずに、1つのコンテキストモデルを使用して変換カーネルペアインデックスに対応する二値化コードワードの一番目のビットに対して符号化処理を行うので、メモリスペースを節約することができる。なお、複数のコンテキストモデルを必要としないので、コンテキストを更新する必要もなく、符号化と復号化の複雑さを低減することができる。
【0165】
本開示の別の実施例では、変換カーネルペアインデックスに対応する二値化コードワードが複数のビットを含む場合のメモリスペースの節約を考慮して、
図10に示すように、以下の符号化および復号化プロセスを提供する。
【0166】
ステップ1001において、符号化側は、現在のブロックの残差信号を取得する。
【0167】
実施では、符号化側は、ビデオデータを符号化する際に、まずイントラ予測を行い、残差信号を得て(残差信号が得られる方式は、既存のビデオ符号化標準規格と一致し、説明を省略する)、次に残差信号を現在処理されようとする現在のブロックの残差信号とする。
【0168】
イントラ予測モードを選択する方式は、ステップ801においてイントラ予測モードを選択する方式と同様であり、ステップ801を参照することができ、ここでは説明を省略する。
【0169】
ステップ1002において、符号化側は、現在のブロックに対応する変換カーネルペア及び現在のブロックに対応する変換カーネルペアインデックスを確定する。
【0170】
ここで、変換カーネルペアは、垂直変換カーネルと水平変換カーネルとを含む。
【0171】
実施では、符号化側は、最終的に選択された変換カーネルペアを取得し、次に表2から表6のいずれかの表から、当該変換カーネルペアに対応する変換カーネルペアインデックスを選択する。(この処理プロセスについて、ステップ802のプロセスを参照することができる)。
【0172】
なお、符号化の際には、通常、表2から表6のどちらを使用するかが固定されているので、表2から表6の1つだけを取得することができる。
【0173】
本開示の1つの可能な実施形態において、変換カーネルペアインデックスを確定するための様々な方式があり、以下、2つの実行可能な実施形態が示される。
【0174】
方式1として、符号化側は、現在のブロックに対応する変換カーネルペアを確定し、現在のブロックのイントラ予測モードと変換カーネルペアに基づいて、現在のブロックに対応する変換カーネルペアインデックスを確定する。
【0175】
このプロセスは、ステップ802において表7に示された方式1と完全に同じであり、ここでは説明を省略する。
【0176】
方式2として、符号化側は、現在のブロックに対応する変換カーネルペアを確定し、現在のブロックの形状情報と変換カーネルペアに基づいて、現在のブロックに対応する変換カーネルペアインデックスを確定する。
【0177】
このプロセスは、ステップ802において表8に示された方式2と完全に同じであり、ここでは説明を省略する。
【0178】
また、符号化側は、現在のブロックを取得した後、まず、現在のブロックの高さと幅がN以下であるかどうかを判断し(Nは32であってもよい)、且つ輝度ブロックであるかどうかを判断することができ、現在のブロックの高さと幅が32以下であり、且つ輝度ブロックである場合、ステップ1002の実行を継続してもよく、高さと幅が32以下であること、輝度ブロックであることの両方の少なくとも1つが満たされていない場合、プリセット変換カーネルペア(すなわち(DCT2、DCT2))を直接に取得する。
【0179】
ステップ1003において、符号化側は、変換カーネルペアに基づいて、現在のブロックの残差信号に対して符号化処理を行い、現在のブロックに対応する符号化データを得る。
【0180】
実施では、符号化側は、現在のブロックに対応する変換カーネルペアを取得した後、変換カーネルペアに基づいて、現在のブロックの残差信号を変換することにより、変換係数を得ることができる。この後、符号化側は、変換係数に対して量子化処理を行うことにより、量子化係数を得て、符号化側は、量子化係数に対してエントロピー符号化処理を行うことにより、現在のブロックに対応する符号化データを得る。
【0181】
ステップ1004において、変換カーネルペアインデックスに対応する二値化コードワードが複数のビットを含む場合、符号化側は、複数のビットのうち一番目のビット以外の他のビットの少なくとも1つに対して、バイパスのバイナリ算術符号化方式を採用して符号化し、現在のブロックの符号化データに追加する。
【0182】
実施では、復号化側が符号化側で使用される変換カーネルペアを知ることができるようにするために、符号化データに変換カーネルペアインデックスを追加する。
【0183】
変換カーネルペアインデックスに対応する二値化コードワードが複数のビットを含む場合、符号化側は、変換カーネルペアインデックスに対応する二値化コードワードの一番目のビットに対してCABAC方式を採用して符号化することができ、二値化コードワードには他のビットがさらに含まれる場合、これらの他のビットの少なくとも1つに対して、バイパスのバイナリ算術符号化方式を使用して符号化し、この後、符号化された後の変換カーネルペアインデックスを符号化データに追加する。このようにして、バイパスのバイナリ算術符号化方式では、コンテキストモデルを記憶する必要がないので、バイパスのバイナリ算術符号化方式を使用して符号化する場合、当該ビットについては、コンテキストモデルを記憶する必要がない。
【0184】
このようにして、現在のブロックの符号化処理が完了する。
図10に示されるフローに従って、各現在のブロックを処理することにより、ビデオデータのセグメント全体を符号化することができる。
【0185】
本開示の1つの可能な実施形態において、一番目のビットに対して、1つのコンテキストモデルに基づいて適応バイナリ算術符号化を行う。
【0186】
実施では、CABAC方式を使用して一番目のビットを符号化する際に、複数のコンテキストモデルではなく、1つのコンテキストモデルを使用して適応バイナリ算術符号化を行うことができるので、複数のコンテキストモデルを記憶する必要がなく、メモリスペースを節約することもできる。
【0187】
また、復号化側が明示的なマルチコア変換方式を使用することもできるようにするために、符号化データにターゲット識別子を追加してもよく、ターゲット識別子は、明示的なマルチコア変換方式が使用されることを示すために使用される。
【0188】
図10に示す符号化方式に基づいて、
図11に示すように、本開示の実施例は、対応する復号化方式をさらに提供する。
【0189】
ステップ1101において、復号化側は、現在のブロックの符号化データを取得する。
【0190】
実施では、復号化側は、復号化すべきである符号化データが存在する場合、符号化データを取得し、この後、符号化データに対してエントロピ復号化処理を行うことができる。復号化側は、エントロピ復号化結果に対して逆量子化処理を行うことにより、現在のブロックの符号化データとして符号化データにおける現在のブロックを得る。
【0191】
ステップ1102において、復号化側は、符号化データから変換カーネルペアインデックスを取得し、ここで、変換カーネルペアインデックスに対応する二値化コードワードが複数のビットを含む場合、複数のビットのうち一番目のビット以外の他のビットの少なくとも1つは、バイパスのバイナリ算術復号化方式を採用して復号化される。
【0192】
実施では、復号化側は、符号化データから現在のブロックに対応する変換カーネルペアインデックスを取得することができ、符号化側が現在のブロックの変換カーネルペアインデックスを符号化する際に、変換カーネルペアインデックスに対応する二値化コードワードが複数のビットを含む場合、複数のビットのうち一番目のビット以外の他のビットの少なくとも1つは、バイパスのバイナリ算術符号化方式を採用して復号化される。このようにして、復号化側がバイパスのバイナリ算術符号化方式を使用して符号化されたビットを復号化する場合も、バイパスのバイナリ算術符号化方式を使用して復号化し、復号化側のメモリスペースを節約することもできる。
【0193】
本開示の1つの可能な実施形態において、メモリスペースを節約するために、1つのコンテキストモデルを使用して、複数のビットのうちの一番目のビットを符号化する。
【0194】
本開示の1つの可能な実施形態において、ステップ1102を実行する前に、現在のブロックの高さと幅がいずれも目標値以下であり、現在のブロックが輝度ブロックであると確定する。
【0195】
実施では、目標値は、プリセットされて復号化側に記憶されることができ、一般にNである(Nは32であってもよい)。現在のブロックの高さと幅がいずれもN以下であり、現在のブロックが輝度ブロックである場合、ステップ1102の処理を実行する。そうでない場合、現在のブロックに対応する変換カーネルペアが(DCT2、DCT2)であると確定することができ、その後、当該変換カーネルペアを直接に使用して復号化処理を行うことができる。
【0196】
また、ステップ1102の処理を実行する前に、符号化データにターゲット識別子が含まれるかどうかを判断してもよく、ターゲット識別子は、明示的なマルチコア変換処理を行うことを示すために使用される。符号化データにおけるターゲット識別子が、明示的なマルチコア変換処理が使用されることを示す場合、ステップ1102の処理を行うことができる。
【0197】
ステップ1103において、復号化側は、変換カーネルペアインデックスに基づいて、現在のブロックに対応する変換カーネルペアを確定し、ここで、変換カーネルペアは、水平変換カーネルと垂直変換カーネルとを含む。
【0198】
このプロセスは、ステップ903の処理プロセスと完全に同じであり、ステップ903の処理を参照することができ、ここでは説明を省略する。
【0199】
本開示の1つの可能な実施形態において、変換カーネルペアを確定する際に、現在のブロックの高さと幅、または現在のブロックのイントラ予測モードを使用してもよく、対応する処理は、以下のようにしてもよい。
【0200】
現在のブロックのイントラ予測モードと変換カーネルペアインデックスに基づいて、現在のブロックに対応する変換カーネルペアを確定し、または、現在のブロックの形状情報と変換カーネルペアインデックスに基づいて、現在のブロックに対応する変換カーネルペアを確定し、ここで、変換カーネルペアは、水平変換カーネルと垂直変換カーネルとを含む。
【0201】
実施では、当該プロセスは、ステップ903において現在のブロックの高さと幅、または現在のブロックのイントラ予測モードを使用して変換カーネルペアを確定する方式と同じであり、ステップ903の処理を参照することができ、ここでは説明を省略する。
【0202】
ステップ1104において、復号化側は、変換カーネルペアに基づいて、現在のブロックに対して復号化処理を行うことにより、現在のブロックに対応する再構築情報を得る。
【0203】
実施では、現在のブロックに対応する変換カーネルペアを確定した後、復号化側は、当該変換カーネルペアを使用して、現在のブロックに対応する量子化係数に対して逆変換処理を行うことにより、現在のブロックに対応する残差信号を得ることができる。この後、復号化側は、現在のブロックの周りで再構築された領域内の画素点の画素値を利用し、使用されたイントラ予測モードに従って予測信号を構築し、次に、残差信号を予測信号に加算することにより、現在のブロックに対応する再構築情報を得る。
【0204】
このようにして、現在のブロックの復号化処理が完了する。
図11に示されるフローに従って、各現在のブロックを処理することにより、ビデオデータのセグメント全体を復号化することができる。
【0205】
本開示の実施例では、符号化側は、現在のブロックを符号化する際に、プリセット変換カーネルペアを直接に取得するのではなく、現在のブロックに対応する変換カーネルペアを取得して符号化処理を行うことができるので、符号化及び復号化の性能を向上させることができる。符号化側が変換カーネルペアインデックスを符号化する場合、バイパスのバイナリ算術符号化方式を使用して変換カーネルペアインデックスに対応する二値化コードワードのうち一番目のビット以外の他のビットの少なくとも1つに対して、符号化処理を行い、この少なくとも1つのビットについては、コンテキストモデルを記憶する必要がないので、メモリスペースを節約することができる。また、少なくとも1つのビットがCABAC方式を使用せず、バイパスのバイナリ算術符号化方式を使用し、コンテキストモデルを更新する必要がないので、符号化と復号化の複雑さを低減することもできる。
【0206】
本開示の別の実施例では、
図12に示すように、現在のブロックの形状情報、または現在のブロックのイントラ予測モードに基づいて、変換カーネルペアを確定する処理をさらに提供する。
【0207】
ステップ1201において、符号化側は、現在のブロックの残差信号を取得する。
【0208】
実施では、符号化側は、ビデオデータを符号化する際に、まずイントラ予測を行い、残差信号を得る(残差信号が得られる方式は、既存のビデオ符号化標準規格と一致し、説明を省略する)。この後、符号化側は、残差信号を現在処理すべきである現在のブロックの残差信号とする。
【0209】
なお、本開示の実施例におけるTUは、前述のCUと同様である。
【0210】
イントラ予測モードを選択する方式は、ステップ801においてイントラ予測モードを選択する方式と同様であり、ステップ801を参照することができ、ここでは説明を省略する。
【0211】
ステップ1202において、符号化側は、現在のブロックのイントラ予測モード及び現在のブロックに対応する変換カーネルペア、または、現在のブロックの形状情報及び現在のブロックに対応する変換カーネルペアを取得する。
【0212】
ここで、変換カーネルペアは、垂直変換カーネルと水平変換カーネルとを含む。
【0213】
実施では、符号化側は、ステップ1201で最終的にイントラ予測のときに使用されたイントラ予測モード(すなわち、現在のブロックに対応するイントラ予測モード)、及びレート歪みコストを最小にするときに当該イントラ予測モードに対応する変換カーネルペア(すなわち、現在のブロックに対応する変換カーネルペア)を取得することができる。
【0214】
または、符号化側は、当該現在のブロックの高さと幅(すなわち、高さ方向における現在のブロックの画素点の数、幅方向における現在のブロックの画素点の数)を確定することができ、このようにして、符号化側は、現在のブロックの形状情報を取得し、且つレート歪みコストを最小にするときに使用された変換カーネルペア(すなわち、現在のブロックに対応する変換カーネルペア)を取得することができる。
【0215】
また、符号化側は、現在のブロックを取得した後、まず、現在のブロックの高さと幅がN以下であるかどうかを判断し(Nは32であってもよい)、且つ輝度ブロックであるかどうかを判断することができ、現在のブロックの高さと幅がN以下であり、且つ輝度ブロックである場合、ステップ1202の実行を継続してもよく、高さと幅がN以下であること、輝度ブロックであることの両方の少なくとも1つが満たされていない場合、プリセット変換カーネルペア(すなわち(DCT2、DCT2))を直接に取得する。
【0216】
ステップ1203において、符号化側は、現在のブロックのイントラ予測モードと現在のブロックに対応する変換カーネルペアに基づいて、現在のブロックに対応する変換カーネルペアインデックスを確定し、または、現在のブロックの形状情報と現在のブロックに対応する変換カーネルペアに基づいて、現在のブロックに対応する変換カーネルペアインデックスを確定する。
【0217】
実施では、ステップ1202において確定された変換カーネルペアが(DCT2、DCT2)、(DST7、DST7)、(DCT8、DCT8)のいずれでもない場合、プリセットされた明示的なマルチコア変換カーネルペアの構文テーブル(上記の表7に示すように)を取得することができ、表7から現在のブロックに対応するイントラ予測モードと変換カーネルペアに共通に対応する変換カーネルペアインデックス、すなわち、現在のブロックに対応する変換カーネルペアインデックスを確定することができる。例えば、変換カーネルペアが(DST7、DCT8)であり、現在のブロックに対応するイントラ予測モードのモード番号が32である場合、共通に対応する変換カーネルペアインデックスが3である。
【0218】
または、ステップ1202において確定された変換カーネルペアが(DCT2、DCT2)、(DST7、DST7)、(DCT8、DCT8)のいずれでもない場合、プリセットされた明示的なマルチコア変換カーネルペアの構文テーブル(上記の表8に示すように)を取得することができ、表8から現在のブロックの形状情報、変換カーネルペアに共通に対応する変換カーネルペアインデックス、すなわち、現在のブロックに対応する変換カーネルペアインデックスを確定することができる。例えば、変換カーネルペアが(DST7、DCT8)であり、現在のブロックの幅が高さより大きい場合、共通に対応する変換カーネルペアインデックスが3である。
【0219】
本開示の1つの可能な実施形態において、符号化側は、イントラ予測モードと変換カーネルペアを使用して変換カーネルペアインデックスを確定する場合、次のような方式を使用することができる。
【0220】
変換カーネルペアが第1の変換カーネルペアであり、且つ現在のブロックのイントラ予測モードのモード番号がプリセット値以下である場合、現在のブロックに対応する変換カーネルペアインデックスが第1のインデックスであると確定し、変換カーネルペアが第2の変換カーネルペアであり、且つ現在のブロックのイントラ予測モードのモード番号がプリセット値より大きい場合、現在のブロックに対応する変換カーネルペアインデックスが第1のインデックスであると確定し、変換カーネルペアが第2の変換カーネルペアであり、且つ現在のブロックのイントラ予測モードのモード番号がプリセット値以下である場合、現在のブロックに対応する変換カーネルペアインデックスが第2のインデックスであると確定し、変換カーネルペアが第1の変換カーネルペアであり、且つ現在のブロックのイントラ予測モードのモード番号がプリセット値より大きい場合、現在のブロックに対応する変換カーネルペアインデックスが第2のインデックスであると確定する。
【0221】
実施では、このプロセスは、ステップ802において表7に示された方式1と完全に同じであり、ここでは説明を省略する。
【0222】
本開示の1つの可能な実施形態において、符号化側は、現在のブロックの形状情報、変換カーネルペアを使用して変換カーネルペアインデックスを確定する場合、次のような方式を使用することができる。
【0223】
変換カーネルペアが第1の変換カーネルペアであり、且つ現在のブロックの形状情報がプリセット形状制限条件を満たしている場合、現在のブロックに対応する変換カーネルペアインデックスが第1のインデックスであると確定し、変換カーネルペアが第2の変換カーネルペアであり、且つ現在のブロックの形状情報がプリセット形状制限条件を満たしていない場合、現在のブロックに対応する変換カーネルペアインデックスが第1のインデックスであると確定し、変換カーネルペアが第2の変換カーネルペアであり、且つ現在のブロックの形状情報がプリセット形状制限条件を満たす場合、現在のブロックに対応する変換カーネルペアインデックスが第2のインデックスであると確定し、変換カーネルペアが第1の変換カーネルペアであり、且つ現在のブロックの形状情報がプリセット形状制限条件を満たしていない場合、現在のブロックに対応する変換カーネルペアインデックスが第2のインデックスであると確定する。
【0224】
実施では、このプロセスは、ステップ802において表8に示された方式2と完全に同じであり、ここでは説明を省略する。
【0225】
ステップ1204において、符号化側は、変換カーネルペアに基づいて、現在のブロックの残差信号に対して符号化処理を行い、現在のブロックに対応する符号化データを得る。
【0226】
実施では、符号化側は、現在のブロックに対応する変換カーネルペアを取得した後、変換カーネルペアに基づいて、現在のブロックの残差信号を変換することにより、変換係数を得ることができる。この後、符号化側は、変換係数に対して量子化処理を行うことにより、量子化係数を得て、符号化側は、量子化係数に対してエントロピー符号化処理を行うことにより、現在のブロックに対応する符号化データを得る。
【0227】
ステップ1205において、符号化側は、変換カーネルペアインデックスに対して符号化処理を行い、現在のブロックの符号化データに追加する。
【0228】
実施では、復号化側が符号化側で使用される変換カーネルペアを知ることができるようにするために、符号化データに変換カーネルペアインデックスの二値化コードワードを追加する。
【0229】
符号化側は、変換カーネルペアインデックスに対して符号化処理を行い、この後、符号化処理が行われた後の変換カーネルペアインデックスを符号化データに追加することができる。
【0230】
このようにして、現在のブロックの符号化処理が完了する。
図12に示されるフローに従って、各現在のブロックを処理することにより、ビデオデータのセグメント全体を符号化することができる。
【0231】
本開示の1つの可能な実施形態において、メモリスペースを節約するために、以下の方式に従って、変換カーネルペアインデックスを符号化することができ、対応するステップ1205の処理は、以下のようになる。
【0232】
変換カーネルペアインデックスに対応する二値化コードワードが複数のビットを含む場合、一番目のビットに対して、CABAC方式を使用して符号化し、且つ複数のビットのうち一番目のビット以外の他のビットの少なくとも1つに対して、バイパスのバイナリ算術符号化方式を採用して復号化する。
【0233】
実施では、変換カーネルペアインデックスに対応する二値化コードワードが1つのビットのみを含む場合、CABAC方式を直接に使用して符号化処理を行うことができ、変換カーネルペアインデックスに対応する二値化コードワードが複数のビットを含む場合、一番目のビットに対して、CABAC方式を使用して符号化し、且つ一番目のビット以外の他のビットの少なくとも1つに対して、バイパスのバイナリ算術符号化方式を採用して復号化することができる。この後、符号化側は、符号化された後の変換カーネルペアインデックスを現在のブロックの符号化データに追加する。このようにして、変換カーネルペアインデックスに対応する二値化コードワードが複数のビットを含む場合、いくつかのビットは、バイパスのバイナリ算術符号化方式を採用して復号化され、コンテキストモデルを記憶する必要がないので、メモリスペースを節約することができる。
【0234】
本開示の1つの可能な実施形態において、符号化側は、変換カーネルペアインデックスに対応する二値化コードワードの一番目のビットに対して、1つのコンテキストモデルに基づいて適応バイナリ算術符号化を行う。
【0235】
実施では、符号化側は、変換カーネルペアインデックスに対応する二値化コードワードの一番目のビットに対して、1つのコンテキストモデを採用して符号化することができる。このようにして、1つのコンテキストモデのみを採用するので、1つのコンテキストモデのみを記憶し、占用されたメモリスペースが少なく、符号化側の記憶スペースを節約することができる。
【0236】
また、復号化側が明示的なマルチコア変換方式を使用することもできるようにするために、符号化データにターゲット識別子を追加してもよく、ターゲット識別子は、明示的なマルチコア変換方式が使用されることを示すために使用される。
【0237】
上記の
図12に示された符号化プロセスに基づいて、本開示の実施例では、
図13に示すように、復号化のプロセスをさらに提供する。
【0238】
ステップ1301において、復号化側は、現在のブロックの符号化データを取得する。
【0239】
実施では、復号化すべきである符号化データが存在する場合、復号化側は、符号化データを取得し、この後、符号化データに対してエントロピ復号化処理を行うことができる。復号化側は、エントロピ復号化結果に対して逆量子化処理を行うことにより、現在のブロックの符号化データとして符号化データにおける現在のブロックを得る。
【0240】
ステップ1302において、復号化側は、符号化データから変換カーネルペアインデックスを取得し、且つ現在のブロックのイントラ予測モードまたは現在のブロックの形状情報を取得する。
【0241】
実施では、復号化側は、符号化データから現在のブロックに対応する変換カーネルペアインデックスを取得することができ、現在のブロックの高さ方向に含まれる画素点の数(即ち高さ)を確定することができ、現在のブロックの幅方向に含まれる画素点の数(即ち幅)を確定することができる。この後、復号化側は、現在のブロックの高さと幅の大きさを判断し、すなわち現在のブロックの形状情報を取得する。
【0242】
または、復号化側は、符号化データから現在のブロックに対応する変換カーネルペアインデックスを取得することができ、且つ符号化データのイントラ予測モードのフラグから分析することによりイントラ予測モードのモード番号を得る。
【0243】
本開示の1つの可能な実施形態において、変換カーネルペアインデックスに対応する二値化コードワードは、複数のビットを含み、一番目のビットは、CABAC方式を使用して復号化され、複数のビットのうち一番目のビット以外の他のビットの少なくとも1つは、バイパスのバイナリ算術復号化方式を採用して復号化される。このようにして、符号化側で、変換カーネルペアインデックスが複数のビットを含む場合、いくつかのビットは、バイパスのバイナリ算術符号化方式を採用して符号化され、コンテキストモデルを記憶する必要がないので、メモリスペースを節約することができる。このようにして、バイパスのバイナリ算術符号化方式を使用して符号化されビットに対して、復号化側は、バイパスのバイナリ算術符号化方式を使用して復号化する必要もあり、復号化側は、コンテキストモデルを記憶する必要もなく、メモリスペースを節約することもできる。
【0244】
本開示の1つの可能な実施形態において、変換カーネルペアインデックスの一番目のビットは、1つのコンテキストモデルを採用して復号化される。このようにして、復号化側が1つのコンテキストモデルのみを採用するので、1つのコンテキストモデのみを記憶し、占用されたメモリスペースも少ない。
【0245】
本開示の1つの可能な実施形態において、ステップ1302を実行する前に、現在のブロックの高さと幅がいずれも目標値以下であり、現在のブロックが輝度ブロックであると確定する。
【0246】
実施では、目標値は、プリセットされて復号化側に記憶されることができ、一般にNである(Nが32である)。現在のブロックの高さと幅がいずれもN以下であり、現在のブロックが輝度ブロックである場合、ステップ1302の処理を実行する。そうでない場合、現在のブロックに対応する変換カーネルペアが(DCT2、DCT2)であると確定することができ、その後、当該変換カーネルペアを直接に使用して復号化処理を行うことができる。
【0247】
また、ステップ1302の処理を実行する前に、符号化データにターゲット識別子が含まれるかどうかを判断してもよく、ターゲット識別子は、明示的なマルチコア変換処理を行うことを示すために使用される。符号化データにおけるターゲット識別子が、明示的なマルチコア変換処理が使用されることを示す場合、ステップ1302の処理を行うことができる。
【0248】
ステップ1303において、復号化側は、現在のブロックのイントラ予測モードと変換カーネルペアインデックスに基づいて、現在のブロックに対応する変換カーネルペアを確定し、または、現在のブロックの形状情報と変換カーネルペアインデックスに基づいて、現在のブロックに対応する変換カーネルペアを確定し、ここで、変換カーネルペアは、水平変換カーネルと垂直変換カーネルとを含む。
【0249】
実施では、変換カーネルペアは、水平変換カーネルと垂直変換カーネルとを含む。ステップ1302で確定された変換カーネルペアが(DCT2、DCT2)、(DST7、DST7)、(DCT8、DCT8)のいずれでもない場合、プリセットされた明示的なマルチコア変換カーネルペアの構文テーブル(上記の表7に示すように)を取得することができ、表7から現在のブロックに対応するイントラ予測モードと変換カーネルペアインデックスに共通に対応する変換カーネルペア、すなわち、現在のブロックに対応する変換カーネルペアを確定することができる。例えば、現在のブロックに対応するイントラ予測モードのモード番号が32であり、変換カーネルペアインデックスが3である場合、変換カーネルペアが(DST7、DCT8)である。
【0250】
または、ステップ1302で確定された変換カーネルペアが(DCT2、DCT2)、(DST7、DST7)、(DCT8、DCT8)のいずれでもない場合、プリセットされた明示的なマルチコア変換カーネルペアの構文テーブル(上記の表8に示すように)を取得することができ、表8から現在のブロックの高さと幅、変換カーネルペアインデックスに共通に対応する変換カーネルペア、すなわち、現在のブロックに対応する変換カーネルペアを確定することができる。例えば、現在のブロックの幅が高さより大きく、変換カーネルペアインデックスが3である場合、変換カーネルペアが(DST7、DCT8)である。
【0251】
本開示の1つの可能な実施形態において、イントラ予測モードと変換カーネルペアインデックスを使用して変換カーネルペアを確定する場合、次のような方式を使用することができる。
【0252】
変換カーネルペアインデックスが第1のインデックスであり、且つ現在のブロックのイントラ予測モードのモード番号がプリセット値以下である場合、現在のブロックに対応する変換カーネルペアが第1の変換カーネルペアであると確定し、変換カーネルペアインデックスが第1のインデックスであり、且つ現在のブロックのイントラ予測モードのモード番号がプリセット値より大きい場合、現在のブロックに対応する変換カーネルペアが第2の変換カーネルペアであると確定し、変換カーネルペアインデックスが第2のインデックスであり、且つ現在のブロックのイントラ予測モードのモード番号がプリセット値以下である場合、現在のブロックに対応する変換カーネルペアが第2の変換カーネルペアであると確定し、変換カーネルペアインデックスが第2のインデックスであり、且つ現在のブロックのイントラ予測モードのモード番号がプリセット値より大きい場合、現在のブロックに対応する変換カーネルペアが第1の変換カーネルペアであると確定する。
【0253】
実施では、ステップ1302で確定された変換カーネルペアが(DCT2、DCT2)、(DST7、DST7)、(DCT8、DCT8)のいずれでもない場合、プリセットされた明示的なマルチコア変換カーネルペアの構文テーブル(上記の表7に示すように)を取得することができ、表7から現在のブロックに対応する変換カーネルペアを確定することができる。
【0254】
上記の第1のインデックスが3であり、プリセット値が34であり、第1の変換カーネルペアが(DST7、DCT8)であり、第2のインデックスが4であり、プリセット値が34であり、第1の変換カーネルペアが(DCT8、DST7)である。
【0255】
本開示の1つの可能な実施形態において、現在のブロックの高さと幅、変換カーネルペアインデックスを使用して変換カーネルペアを確定する場合、次のような方式を使用することができる。
【0256】
変換カーネルペアインデックスが第1のインデックスであり、且つ現在のブロックの形状情報がプリセット形状制限条件を満たす場合、現在のブロックに対応する変換カーネルペアが第1の変換カーネルペアであると確定し、変換カーネルペアインデックスが第1のインデックスであり、且つ現在のブロックの形状情報がプリセット形状制限条件を満たさない場合、現在のブロックに対応する変換カーネルペアが第2の変換カーネルペアであると確定し、変換カーネルペアインデックスが第2のインデックスであり、且つ現在のブロックの形状情報がプリセット形状制限条件を満たす場合、現在のブロックに対応する変換カーネルペアが第2の変換カーネルペアであると確定し、変換カーネルペアインデックスが第2のインデックスであり、且つ現在のブロックの形状情報がプリセット形状制限条件を満たさない場合、現在のブロックに対応する変換カーネルペアが第1の変換カーネルペアであると確定する。
【0257】
実施では、ステップ1302で確定された変換カーネルペアが(DCT2、DCT2)、(DST7、DST7)、(DCT8、DCT8)のいずれでもない場合、プリセットされた明示的なマルチコア変換カーネルペアの構文テーブル(上記の表8に示すように)を取得することができ、表8から現在のブロックに対応する変換カーネルペアを確定することができる。
【0258】
上記の第1のインデックスが3であり、W≧Hであり、第1の変換カーネルペアが(DST7、DCT8)であり、第2のインデックスが4であり、W≧Hであり、第1の変換カーネルペアが(DCT8、DST7)である。
【0259】
ステップ1304において、復号化側は、変換カーネルペアに基づいて、現在のブロックに対して復号化処理を行うことにより、現在のブロックに対応する再構築情報を得る。
【0260】
実施では、現在のブロックに対応するターゲット変換カーネルペアを確定した後、ターゲット変換カーネルペアを使用して、現在のブロックに対応する量子化係数に対して逆変換処理を行うことにより、現在のブロックに対応する残差信号を得ることができる。この後、復号化側は、現在のブロックの周りで再構築された領域内の画素点の画素値を利用し、使用されたイントラ予測モードに従って予測信号を構築し、次に、残差信号を予測信号に加算することにより、現在のブロックに対応する再構築情報を得る。
【0261】
このようにして、現在のブロックの復号化処理が完了する。
図13に示されるフローに従って、各現在のブロックを処理することにより、ビデオデータのセグメント全体を復号化することができる。
【0262】
なお、本開示の実施例では、イントラ予測モードまたは現在のブロックの形状情報に基づいて変換カーネルペアの優先度を適応に調整することで、可能な限り確率の高い変換カーネルペア、符号化が必要なコードワードを短くすることができる。
【0263】
本開示の実施例では、符号化側は、符号化する場合、変換カーネルペアを選択する時に、プリセット変換カーネルペアではなく、現在のブロックのイントラ予測モードまたは現在のブロックの形状情報も使用し、相応的に、プリセット変換カーネルペアではなく、現在のブロックのイントラ予測モードまたは現在のブロックの形状情報も使用するので、符号化及び復号化の性能を向上させることができる。
【0264】
同じ技術的概念に基づいて、本開示の実施例は、復号化するための復号化側をさらに提供し、如
図14に示すように、当該復号化側は、
現在のブロックの符号化データを取得し、
前記符号化データから前記現在のブロックの変換カーネルペアインデックスを取得するために使用され、ここで、前記変換カーネルペアインデックスに対応する二値化コードワードの一番目のビットは、1つのコンテキストモデルに基づいて適応バイナリ算術符号化が行われたことにより復号化される取得モジュール1410と、
前記変換カーネルペアインデックスに基づいて、前記現在のブロックに対応する変換カーネルペアを確定するために使用され、ここで、前記変換カーネルペアは、水平変換カーネルと垂直変換カーネルとを含む確定モジュール1420と、
を含む。
【0265】
本開示の1つの可能な実施形態において、前記変換カーネルペアインデックスに対応する二値化コードワードは、複数のビットを含み、前記複数のビットのうち前記一番目のビット以外の他のビットの少なくとも1つは、バイパスのバイナリ算術符号化方式を採用して復号化される。
【0266】
本開示の1つの可能な実施形態において、前記確定モジュール1420は、
前記現在のブロックのイントラ予測モードと前記変換カーネルペアインデックスに基づいて、前記現在のブロックに対応する変換カーネルペアを確定し、または、
前記現在のブロックの形状情報と前記変換カーネルペアインデックスに基づいて、前記現在のブロックに対応する変換カーネルペアを確定するために使用される。
【0267】
同じ技術的概念に基づいて、本開示の実施例は、符号化するための符号化側をさらに提供し、如
図15に示すように、当該符号化側は、
現在のブロックに対応する変換カーネルペア及び前記現在のブロックに対応する変換カーネルペアインデックスを確定するために使用される確定モジュール1510と、
前記変換カーネルペアインデックスに対応する二値化コードワードの一番目のビットに対して、1つのコンテキストモデルに基づいて適応バイナリ算術符号化を行う方式に従って、前記変換カーネルペアインデックスを符号化し、前記現在のブロックの符号化データに追加する符号化モジュール1520と、
を含む。
【0268】
本開示の1つの可能な実施形態において、前記符号化モジュール1520は、
前記変換カーネルペアインデックスに対応する二値化コードワードが複数のビットを含む場合、一番目のビットに対して、1つのコンテキストモデルに基づいて適応バイナリ算術符号化を行い、且つ前記複数のビットのうち前記一番目のビット以外の他のビットの少なくとも1つに対して、バイパスのバイナリ算術符号化方式を採用して符号化し、
符号化された後の変換カーネルペアインデックスを前記符号化データに追加するために使用される。
【0269】
本開示の1つの可能な実施形態において、前記確定モジュール1510は、
前記現在のブロックに対応する変換カーネルペアを確定し、前記現在のブロックのイントラ予測モードと前記変換カーネルペアに基づいて、前記現在のブロックに対応する変換カーネルペアインデックスを確定し、または、
前記現在のブロックに対応する変換カーネルペアを確定し、前記現在のブロックの形状情報と前記変換カーネルペアに基づいて、前記現在のブロックに対応する変換カーネルペアインデックスを確定するために使用される。
【0270】
本開示の実施例では、符号化側は、現在のブロックを符号化する際に、プリセット変換カーネルペアを直接に取得するのではなく、現在のブロックに対応する変換カーネルペアを取得して符号化処理を行うことができるので、符号化及び復号化の性能を向上させることができる。符号化側は、変換カーネルペアインデックスに対応する二値化コードワードを符号化する際に、複数のコンテキストモデルを必要とせずに、1つのコンテキストモデルを使用して変換カーネルペアインデックスに対応する二値化コードワードの一番目のビットに対して符号化処理を行うので、メモリスペースを節約することができる。なお、複数のコンテキストモデルを必要としないので、コンテキストを更新する必要もなく、符号化と復号化の複雑さを低減することができる。
【0271】
同じ技術的概念に基づいて、本開示の実施例は、復号化するための復号化側をさらに提供し、如
図16に示すように、当該復号化側は、
現在のブロックの符号化データを取得し、
前記符号化データから変換カーネルペアインデックスを取得するために使用され、ここで、前記変換カーネルペアインデックスに対応する二値化コードワードが複数のビットを含む場合、前記複数のビットのうち一番目のビット以外の他のビットの少なくとも1つは、バイパスのバイナリ算術符号化方式を採用して復号化される取得モジュール1610と、
前記変換カーネルペアインデックスに基づいて、前記現在のブロックに対応する変換カーネルペアを確定するために使用され、ここで、前記変換カーネルペアは、水平変換カーネルと垂直変換カーネルとを含む確定モジュール1620と、
を含む。
【0272】
本開示の1つの可能な実施形態において、前記変換カーネルペアインデックスに対応する二値化コードワードの一番目のビットは、1つのコンテキストモデルに基づいて適応バイナリ算術符号化が行われたことにより復号化される。
【0273】
本開示の1つの可能な実施形態において、前記確定モジュール1620は、
前記現在のブロックのイントラ予測モードと前記変換カーネルペアインデックスに基づいて、前記現在のブロックに対応する変換カーネルペアを確定し、または、
前記現在のブロックの形状情報と前記変換カーネルペアインデックスに基づいて、前記現在のブロックに対応する変換カーネルペアを確定するために使用され、ここで、所述変換カーネルペアは、水平変換カーネルと垂直変換カーネルとを含む。
【0274】
同じ技術的概念に基づいて、本開示の実施例は、符号化するための符号化側をさらに提供し、如
図17に示すように、当該符号化側は、
現在のブロックに対応する変換カーネルペア及び前記現在のブロックに対応する変換カーネルペアインデックスを確定するために使用される確定モジュール1710と、
前記変換カーネルペアインデックスに対応する二値化コードワードが複数のビットを含む場合、複数のビットのうち前記一番目のビット以外の他のビットの少なくとも1つに対して、バイパスのバイナリ算術符号化方式を採用して符号化し、前記現在のブロックの符号化データに追加するために使用される符号化モジュール1720と、
を含む。
【0275】
本開示の1つの可能な実施形態において、前記符号化モジュール1720は、
前記一番目のビットに対して、1つのコンテキストモデルに基づいて適応バイナリ算術符号化を行うためにも使用される。
【0276】
本開示の1つの可能な実施形態において、前記確定モジュール1710は、
前記現在のブロックに対応する変換カーネルペアを確定し、前記現在のブロックのイントラ予測モードと前記変換カーネルペアに基づいて、前記現在のブロックに対応する変換カーネルペアインデックスを確定し、または、
前記現在のブロックに対応する変換カーネルペアを確定し、前記現在のブロックの形状情報と前記変換カーネルペアに基づいて、前記現在のブロックに対応する変換カーネルペアインデックスを確定するために使用される。
【0277】
本開示の実施例では、符号化側は、現在のブロックを符号化する際に、プリセット変換カーネルペアを直接に取得するのではなく、現在のブロックに対応する変換カーネルペアを取得して符号化処理を行うことができるので、符号化及び復号化の性能を向上させることができる。符号化側が変換カーネルペアインデックスを符号化する場合、バイパスのバイナリ算術符号化方式を使用して変換カーネルペアインデックスに対応する二値化コードワードのうち一番目のビット以外の他のビットの少なくとも1つに対して、符号化処理を行い、この少なくとも1つのビットについては、コンテキストモデルを記憶する必要がないので、メモリスペースを節約することができる。また、少なくとも1つのビットがCABAC方式を使用せず、バイパスのバイナリ算術符号化方式を使用するので、符号化と復号化の複雑さを低減することもできる。
【0278】
同じ技術的概念に基づいて、本開示の実施例は、復号化するための復号化側をさらに提供し、如
図18に示すように、当該復号化側は、
現在のブロックの符号化データを取得し
【0279】
前記符号化データから変換カーネルペアインデックスを取得し、且つ前記現在のブロックのイントラ予測モードまたは前記現在のブロックの形状情報を取得するために使用される取得モジュール1810と、
前記現在のブロックのイントラ予測モードと前記変換カーネルペアインデックスに基づいて、前記現在のブロックに対応する変換カーネルペアを確定し、または、前記現在のブロックの形状情報と前記変換カーネルペアインデックスに基づいて、前記現在のブロックに対応する変換カーネルペアを確定するために使用され、ここで、所述変換カーネルペアは、水平変換カーネルと垂直変換カーネルとを含む確定モジュール1820と、
を含む。
【0280】
本開示の1つの可能な実施形態において、前記確定モジュール1820は、
前記変換カーネルペアインデックスが第1のインデックスであり、且つ前記現在のブロックのイントラ予測モードのモード番号がプリセット値以下である場合、前記現在のブロックに対応する変換カーネルペアが第1の変換カーネルペアであると確定し、
前記変換カーネルペアインデックスが第1のインデックスであり、且つ前記現在のブロックのイントラ予測モードのモード番号がプリセット値より大きい場合、前記現在のブロックに対応する変換カーネルペアが第2の変換カーネルペアであると確定し、
前記変換カーネルペアインデックスが第2のインデックスであり、且つ前記現在のブロックのイントラ予測モードのモード番号がプリセット値以下である場合、前記現在のブロックに対応する変換カーネルペアが第2の変換カーネルペアであると確定し、
前記変換カーネルペアインデックスが第2のインデックスであり、且つ前記現在のブロックのイントラ予測モードのモード番号がプリセット値より大きい場合、前記現在のブロックに対応する変換カーネルペアが第1の変換カーネルペアであると確定するために使用される。
【0281】
本開示の1つの可能な実施形態において、前記確定モジュール1820は、
前記変換カーネルペアインデックスが第1のインデックスであり、且つ前記現在のブロックの形状情報がプリセット形状制限条件を満たす場合、前記現在のブロックに対応する変換カーネルペアが第1の変換カーネルペアであると確定し、
前記変換カーネルペアインデックスが第1のインデックスであり、且つ前記現在のブロックの形状情報がプリセット形状制限条件を満たさない場合、前記現在のブロックに対応する変換カーネルペアが第2の変換カーネルペアであると確定し、
前記変換カーネルペアインデックスが第2のインデックスであり、且つ前記現在のブロックの形状情報がプリセット形状制限条件を満たす場合、前記現在のブロックに対応する変換カーネルペアが第2の変換カーネルペアであると確定し、
前記変換カーネルペアインデックスが第2のインデックスであり、且つ前記現在のブロックの形状情報がプリセット形状制限条件を満たさない場合、前記現在のブロックに対応する変換カーネルペアが第1の変換カーネルペアであると確定するために使用される。
【0282】
本開示の1つの可能な実施形態において、前記変換カーネルペアインデックスに対応する二値化コードワードの一番目のビットは、1つのコンテキストモデルに基づいて適応バイナリ算術符号化が行われたことにより復号化される。
【0283】
本開示の1つの可能な実施形態において、前記変換カーネルペアインデックスに対応する二値化コードワードは、複数のビットを含み、前記複数のビットのうち一番目のビット以外の他のビットの少なくとも1つは、バイパスのバイナリ算術符号化方式を採用して符号化される。
【0284】
同じ技術的概念に基づいて、本開示の実施例は、符号化するための符号化側をさらに提供し、如
図19に示すように、当該符号化側は、
現在のブロックのイントラ予測モード及び前記現在のブロックに対応する変換カーネルペア、または、前記現在のブロックの形状情報及び前記現在のブロックに対応する変換カーネルペアを取得するために使用される取得モジュール1910と、
前記現在のブロックのイントラ予測モードと前記現在のブロックに対応する変換カーネルペアに基づいて、前記現在のブロックに対応する変換カーネルペアインデックスを確定し、または、前記現在のブロックの形状情報と前記現在のブロックに対応する変換カーネルペアに基づいて、前記現在のブロックに対応する変換カーネルペアインデックスを確定するために使用される確定モジュール1920と、
変換カーネルペアインデックスに対して符号化処理を行い、前記現在のブロックの符号化データに追加するために使用される符号化モジュール1930と、
を含む。
【0285】
本開示の1つの可能な実施形態において、前記確定モジュール1920は、
前記変換カーネルペアが第1の変換カーネルペアであり、且つ前記現在のブロックのイントラ予測モードのモード番号がプリセット値以下である場合、前記現在のブロックに対応する変換カーネルペアインデックスが第1のインデックスであると確定し、
前記変換カーネルペアが第2の変換カーネルペアであり、且つ前記現在のブロックのイントラ予測モードのモード番号がプリセット値より大きい場合、前記現在のブロックに対応する変換カーネルペアインデックスが第1のインデックスであると確定し、
前記変換カーネルペアが第2の変換カーネルペアであり、且つ前記現在のブロックのイントラ予測モードのモード番号がプリセット値以下である場合、前記現在のブロックに対応する変換カーネルペアインデックスが第2のインデックスであると確定し、
前記変換カーネルペアが第1の変換カーネルペアであり、且つ前記現在のブロックのイントラ予測モードのモード番号がプリセット値より大きい場合、前記現在のブロックに対応する変換カーネルペアインデックスが第2のインデックスであると確定するために使用される。
【0286】
本開示の1つの可能な実施形態において、前記確定モジュール1920は、
前記変換カーネルペアが第1の変換カーネルペアであり、且つ前記現在のブロックの形状情報がプリセット形状制限条件を満たす場合、前記現在のブロックに対応する変換カーネルペアインデックスが第1のインデックスであると確定し、
前記変換カーネルペアが第2の変換カーネルペアであり、且つ前記現在のブロックの形状情報がプリセット形状制限条件を満たさない場合、前記現在のブロックに対応する変換カーネルペアインデックスが第1のインデックスであると確定し、
前記変換カーネルペアが第2の変換カーネルペアであり、且つ前記現在のブロックの形状情報がプリセット形状制限条件を満たす場合、前記現在のブロックに対応する変換カーネルペアインデックスが第2のインデックスであると確定し、
前記変換カーネルペアが第1の変換カーネルペアであり、且つ前記現在のブロックの形状情報がプリセット形状制限条件を満たさない場合、前記現在のブロックに対応する変換カーネルペアインデックスが第2のインデックスであると確定するために使用される。
【0287】
本開示の1つの可能な実施形態において、前記符号化モジュール1930は、
前記変換カーネルペアインデックスに対応する二値化コードワードの一番目のビットに対して、1つのコンテキストモデルに基づいて適応バイナリ算術符号化を行う方式に従って、符号化するために使用される。
【0288】
本開示の1つの可能な実施形態において、前記符号化モジュール1930は、
前記変換カーネルペアインデックスに対応する二値化コードワードが複数のビットを含む場合、前記複数のビットのうち一番目のビット以外の他のビットの少なくとも1つに対して、バイパスのバイナリ算術符号化方式を採用して復号化するために使用される。
【0289】
本開示の実施例では、符号化側は、符号化する場合、変換カーネルペアを選択する時に、プリセット変換カーネルペアではなく、現在のブロックのイントラ予測モードまたは現在のブロックの形状情報も使用し、相応的に、プリセット変換カーネルペアではなく、現在のブロックのイントラ予測モードまたは現在のブロックの形状情報も使用するので、符号化及び復号化の性能を向上させることができる。
【0290】
なお、上記の実施例による復号化側が復号化する場合、上述した各機能モジュールの分割のみを例に挙げて説明し、実際の応用では、上述した機能の全部または一部を完了するために、必要に応じて異なる機能モジュールによって上述した機能の割り当てを完了し、即ち復号化側の内部構造を異なる機能モジュールに分割することができる。また、上記の実施例による復号化側及び復号化するための方法の実施例は、同じ概念に属し、その具体的な実現プロセスについて、方法の実施例を参照し、ここでは説明を省略する。
【0291】
なお、上記の実施例による符号化側が符号化する場合、上述した各機能モジュールの分割のみを例に挙げて説明し、実際の応用では、上述した機能の全部または一部を完了するために、必要に応じて異なる機能モジュールによって上述した機能の割り当てを完了し、即ち符号化側の内部構造を異なる機能モジュールに分割することができる。また、上記の実施例による符号化側及び符号化するための方法の実施例は、同じ概念に属し、その具体的な実現プロセスについて、方法の実施例を参照し、ここでは説明を省略する。
【0292】
図20は、本発明の実施例による符号化側の構造概略図であり、当該符号化側2000は、構成または性能の違いによって比較的大きな差異を生じる可能性があり、1つ以上のプロセッサ(central processing units、CPU)2001と1つ以上のメモリ2002とを含むことができ、ここで、前記メモリ2002に少なくとも1つの指令が記憶され、前記少なくとも1つの指令が前記プロセッサ2001によってロードされて実行されることにより、上記した符号化するための方法のステップを実現する。
【0293】
図21は、本発明の実施例による復号化側の構造概略図であり、当該復号化側2100は、構成または性能の違いによって比較的大きな差異を生じる可能性があり、1つ以上のプロセッサ(central processing units、CPU)2101と1つ以上のメモリ2102とを含むことができ、ここで、前記メモリ2102に少なくとも1つの指令が記憶され、前記少なくとも1つの指令が前記プロセッサ2101によってロードされて実行されることにより、上記した復号化するための方法のステップを実現する。
【0294】
本開示の実施例において、コンピュータ可読記憶媒体をさらに提供し、前記記憶媒体にコンピュータプログラムが記憶され、前記コンピュータプログラムがプロセッサによって実行されるとき、上記した符号化するための方法及び復号化するための方法のステップを実現する。
【0295】
本開示の実施例において、プロセッサとメモリとを含む符号化側をさらに提供し、ここで、前記メモリは、コンピュータプログラムを記憶するために使用され、前記プロセッサは、前記メモリに記憶されたプログラムを実行するために使用され、上記した符号化するための方法のステップを実現する。
【0296】
本開示の実施例において、プロセッサとメモリとを含む復号化側をさらに提供し、ここで、前記メモリは、コンピュータプログラムを記憶するために使用され、前記プロセッサは、前記メモリに記憶されたプログラムを実行するために使用され、上記した復号化するための方法のステップを実現する。
【0297】
本開示の実施例において、符号化及び復号化するためのシステムをさらに提供し、前記システムは、符号化側と復号化側とを含み、ここで、
前記符号化側は、上述したように符号化処理を行う符号化側であり、
前記復号化側は、上述したように復号化処理を行う復号化側である。
【0298】
当業者にとって、上記の実施例のステップの全部または一部をハードウェアによって完了してもよく、プログラムを利用して関連するハードウェアを指令することにより完了してもよいことを理解することができ、前記プログラムは、コンピュータ可読記憶媒体に記憶されることができ、上記記憶媒体は、読み出し専用メモリ、磁気ディスク、または光ディスク等であってもよい。
【0299】
上記は、本開示の好ましい実施例に過ぎない、本開示を限定するものではなく、本開示の精神および原則内でなされた任意の変更、等効な置換、改善などは、本開示の範囲に含まれるものとする。
【符号の説明】
【0300】
1410 取得モジュール
1420 確定モジュール
1520 符号化モジュール
1610 取得モジュール
1620 確定モジュール
1710 確定モジュール
1720 符号化モジュール
1810 取得モジュール
1820 確定モジュール
1910 取得モジュール
1920 確定モジュール
1930 符号化モジュール
2000 符号化側
2001 プロセッサ
2002 メモリ
2100 復号化側
2101 プロセッサ
2102 メモリ