(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-02-27
(45)【発行日】2023-03-07
(54)【発明の名称】符号化方法及び復号化方法、並びにそれを利用する装置
(51)【国際特許分類】
H04N 19/12 20140101AFI20230228BHJP
H04N 19/129 20140101ALI20230228BHJP
H04N 19/159 20140101ALI20230228BHJP
H04N 19/176 20140101ALI20230228BHJP
H04N 19/186 20140101ALI20230228BHJP
【FI】
H04N19/12
H04N19/129
H04N19/159
H04N19/176
H04N19/186
(21)【出願番号】P 2022012299
(22)【出願日】2022-01-28
(62)【分割の表示】P 2019149161の分割
【原出願日】2013-04-16
【審査請求日】2022-02-03
(31)【優先権主張番号】10-2012-0039444
(32)【優先日】2012-04-16
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2012-0040015
(32)【優先日】2012-04-17
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2012-0039622
(32)【優先日】2012-04-17
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2012-0043456
(32)【優先日】2012-04-25
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2013-0041906
(32)【優先日】2013-04-16
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】596099882
【氏名又は名称】エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュート
【氏名又は名称原語表記】ELECTRONICS AND TELECOMMUNICATIONS RESEARCH INSTITUTE
(73)【特許権者】
【識別番号】512139102
【氏名又は名称】ユニバーシティ-インダストリー コーオペレイション グループ オブ キョンヒ ユニバーシティ
【氏名又は名称原語表記】UNIVERSITY-INDUSTRY COOPERATION GROUP OF KYUNG HEE UNIVERSITY
(74)【代理人】
【識別番号】100091487
【氏名又は名称】中村 行孝
(74)【代理人】
【識別番号】100120031
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100107582
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100096921
【氏名又は名称】吉元 弘
(72)【発明者】
【氏名】キム、フイ、ヨン
(72)【発明者】
【氏名】パク、クワン、フン
(72)【発明者】
【氏名】キム、キョン、ヨン
(72)【発明者】
【氏名】リム、ソン、チャン
(72)【発明者】
【氏名】リー、ジン、ホ
(72)【発明者】
【氏名】チェ、ジン、ス
(72)【発明者】
【氏名】キム、ジン、ウン
【審査官】坂東 大五郎
(56)【参考文献】
【文献】特開2011-223068(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
ビットストリームから現在ブロックの輝度成分に関連する第1の画面内予測モードを取得するステップと、
前記第1の画面内予測モードに基づいて、前記現在ブロックの色差成分に関連する第2の画面内予測モードを取得するステップと、
前記現在ブロックの前記第1の画面内予測モードの方向に基づいて前記現在ブロックの第1のスキャニングタイプを決定するステップと、
前記現在ブロックの前記第2の画面内予測モードの方向に基づいて前記現在ブロックの第2のスキャニングタイプを決定するステップと、
前記現在ブロックの前記輝度成分の変換係数と前記色差成分の変換係数とを取得するステップと、前記輝度成分の前記変換係数は、前記第1のスキャニングタイプに基づいて取得され、前記色差成分の前記変換係数は、前記第2のスキャニングタイプに基づいて取得され、
前記現在ブロックの前記輝度成分の前記変換係数と前記色差成分の前記変換係数に逆量子化を行うステップと、
前記輝度成分の第1の変換タイプと、前記色差成分の第2の変換タイプとを決定するステップと、
前記変換タイプに基づいて、前記現在ブロックの前記輝度成分と前記色差成分の前記逆量子化された変換係数に逆変換を行うステップと、
を備え、
前記変換のタイプは、整数離散余弦変換(DCT)又は整数離散正弦変換(DST)に決定され、
前記現在ブロックのサイズが4×4に対応し、前記現在ブロックのカラー成分は輝度成分であるとき、全ての画面内予測方向モード及び前記現在ブロックの平面モードに対して、前記逆変換は、水平変換方向及び垂直変換方向の整数離散正弦変換(DST)を用いることによって実行されることを特徴とするビデオ復号化方法。
【請求項2】
前記第2の変換のタイプは、前記現在ブロックのサイズ及び前記第2の画面内予測モードにかかわらず前記DCTのみを用いるように決定されることを特徴とする請求項1に記載のビデオ復号化方法。
【請求項3】
現在ブロックの輝度成分に関連する第1の画面内予測モードを決定するステップと、
前記第1の画面内予測モードに基づいて、前記現在ブロックの色差成分に関連する第2の画面内予測モードを決定するステップと、
前記現在ブロックの前記第1の画面内予測モードの方向に基づいて前記現在ブロックの第1のスキャニングタイプを決定するステップと、
前記現在ブロックの前記第2の画面内予測モードの方向に基づいて前記現在ブロックの第2のスキャニングタイプを決定するステップと、
前記現在ブロックの前記輝度成分の変換係数と前記色差成分の変換係数とを取得するステップと、前記輝度成分の前記変換係数は、前記第1のスキャニングタイプに基づいて取得され、前記色差成分の前記変換係数は、前記第2のスキャニングタイプに基づいて取得され、
前記現在ブロックの前記輝度成分の前記変換係数と前記色差成分の前記変換係数に逆量子化を行うステップと、
前記輝度成分の第1の変換タイプと、前記色差成分の第2の変換タイプとを決定するステップと、
前記変換タイプに基づいて、前記現在ブロックの前記輝度成分と前記色差成分の前記逆量子化された変換係数に逆変換を行うステップと、
を備え、
前記変換のタイプは、整数離散余弦変換(DCT)又は整数離散正弦変換(DST)に決定され、
前記現在ブロックのサイズが4×4に対応し、前記現在ブロックのカラー成分は輝度成分であるとき、全ての画面内予測方向モード及び前記現在ブロックの平面モードに対して、前記逆変換は、水平変換方向及び垂直変換方向の整数離散正弦変換(DST)を用いることによって実行されることを特徴とするビデオ符号化方法。
【請求項4】
前記第2の変換のタイプは、前記現在ブロックのサイズ及び前記第2の画面内予測モードにかかわらず前記DCTのみを用いるように決定されることを特徴とする請求項3に記載のビデオ符号化方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、映像符号化及び復号化技術に関し、より具体的には、色差(chroma)信号に対する周波数変換方式及び/又はスキャン方式を決定する方法、並びにそれを利用する装置に関する。
【背景技術】
【0002】
最近、HD(High Definition)解像度を有する放送サービスが韓国内だけでなく、世界的に拡大されている。これによって、多くのユーザが高解像度、高画質の映像に慣れており、多くの機関が次世代映像機器に対する開発に拍車を掛けている。
【0003】
HDTVと共にHDTVの4倍以上の解像度を有するUHD(Ultra High Definition)に対する関心が増大するにつれて、より高い解像度、高画質の映像に対する圧縮機術が要求されている。
【0004】
映像圧縮のために、現在ピクチャのピクセル情報を予測により符号化することができる。例えば、時間的に以前及び/又は以後のピクチャから現在ピクチャに含まれているピクセル値を予測する画面間(inter)予測技術が適用され、現在ピクチャ内のピクセル情報を利用して現在ピクチャに含まれているピクセル値を予測する画面内(intra)予測技術が適用されることができる。
【0005】
ピクセル情報は、輝度(luma)に対する輝度信号と色差(chroma)に対する色差信号があり、人間の視覚が輝度に敏感であるという点を利用して輝度信号と色差信号を異なるように扱うこともでき、同じに扱うこともできる。
【0006】
したがって、色差信号と輝度信号を区分して効果的に扱う方法が問題になる。
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明は、ビデオ符号化/復号化において、符号化/復号化効率を上げる方法及び装置を提供することを目的とする。
【0008】
本発明は、色差信号に対する効率的な周波数変換方法及び装置と、色差信号に対する効率的なスキャン方法及び装置とを提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明の一実施形態において、色差信号に対する周波数変換方式及びスキャン方式を選択するにあたって、色差信号の画面内予測モードによって周波数変換方式を異なるように適用することができ、画面内予測モードによってスキャン方式を異なるように決定することもできる。
【0010】
本発明の他の実施形態において、前記現在ブロックの輝度サンプルに対する画面内予測モードによって前記現在ブロックの輝度信号及び色差信号に対するスキャニングタイプを決定することができる。
【0011】
このとき、色差信号に対するスキャニングタイプは、輝度信号に対するスキャニングタイプとして同一に適用することができる。または、色差信号に対するスキャニングタイプは、輝度信号に対するスキャニングタイプを決定する方法と同じ方法で決定されることもできる。
【発明の効果】
【0012】
本発明によると、ビデオ符号化/復号化において、符号化/復号化効率を上げることができる。具体的に、本発明によると、色差信号に対する周波数変換及び/又はスキャンを効率的に実行することができる。
【0013】
また、本発明によると、色差信号に対して周波数変換方式とスキャニング方法を選択するにあたって、色差信号の画面内予測方向モードによって色差信号に対する周波数変換方式を適用し、また、色差信号に対するスキャニング方向を誘導する方法及び装置を利用することで、色差信号の残余信号に対する符号化効率を上げることができる。
【図面の簡単な説明】
【0014】
【
図1】本発明が適用される映像符号化装置の一実施例に係る構成を示すブロック図である。
【
図2】本発明が適用される映像復号化装置の一実施例に係る構成を示すブロック図である。
【
図3】映像を符号化する時、LCU内でCUを分割する方法の一例を簡単に示す図面である。
【
図4】PUの分割構造に対する例を概略的に説明する図面である。
【
図5】CU内TUの分割構造の一例を簡単に示す図面である。
【
図6】画面内予測のモードを概略的に説明する図面である。
【
図7】数式1の関係を概略的に説明する図面である。
【
図8】重要グループフラグ及び変換係数に対する上段右側方向スキャニングの一例を説明する図面である。
【
図9】画面予測方向によってスキャニング方向を決定する方法の一例を説明するフローチャートである。
【
図10】画面予測方向によってスキャニング方向を決定する方法の他の例を簡単に説明するフローチャートである。
【
図11】残余映像に対する周波数変換方式を選択する方法の一例を説明するフローチャートである。
【
図12】本実施例によって、色差信号に対するスキャニング方向を誘導する方法の一例を説明するフローチャートである。
【
図13】本実施例によって、色差信号に対するスキャニング方向を誘導する方法の他の例を説明するフローチャートである。
【
図14】本実施例によって、色差信号に対するスキャニング方向を誘導する方法の一実施例を示すフローチャートである。
【
図15】本実施例によって、色差信号に対するスキャニング方向を誘導する方法の他の例を説明するフローチャートである。
【
図16】本実施例によって、色差信号の画面内予測方向モードに基づいて色差信号の残余映像に対する周波数変換方式を選択的に誘導する方法の一例を説明するフローチャートである。
【
図17】本実施例によって、色差信号の画面内予測方向モードに基づいて色差信号の残余映像に対する周波数変換方式を選択的に誘導する方法の他の例を説明するフローチャートである。
【
図18】本実施例によって、色差信号のLMモードに対して輝度信号の画面内予測方向モードによって色差信号の残余映像に対する周波数変換方式を選択的に誘導する方法を説明するフローチャートである。
【
図19】本実施例によって、色差信号のIntra_FromLuma(LM)符号化モードに対して輝度信号の画面内予測方向モードによって色差信号の残余映像に対する周波数変換方式を選択的に誘導する方法の他の例を説明するフローチャートである。
【
図20】本実施例によって、画面内予測方向モードに基づいて色差信号の残余映像に対する周波数変換方式を選択的に誘導する方法の一例を説明するフローチャートである。
【
図21】本実施例によって、画面内予測方向モードに基づいて色差信号の残余映像に対する周波数変換方式を選択的に誘導する方法の他の例を説明するフローチャートである。
【
図22】輝度ブロックと色差ブロックとの間の解像度差の一例を示す図面である。
【
図23】輝度ブロックと色差ブロックとの間の解像度差を説明する他の例を示す図面である。
【
図24】本発明による符号化装置の他の例を示す図面である。
【
図25】本発明による復号化装置の他の例を示す図面である。
【発明を実施するための形態】
【0015】
以下、図面を参照して本発明の実施例に対して具体的に説明する。本明細書の実施例を説明するにあたって、関連した公知構成又は機能に対する具体的な説明が本明細書の要旨を不要に不明りょうにすると判断される場合にはその詳細な説明は省略する。
【0016】
本明細書において、一構成要素が他の構成要素に“連結されている”又は“接続されている”と言及された場合、当該他の構成要素に直接的に連結されている、又は接続されていることを意味し、又は中間に他の構成要素が存在することを意味する。また、本明細書において、特定構成を“含む”と記述する内容は、当該構成以外の構成を排除するものではなく、追加的な構成が本発明の実施又は本発明の技術的思想の範囲に含まれることができることを意味する。
【0017】
第1、第2などの用語は、多様な構成の説明に使われることができるが、前記構成は、前記用語により限定されるものではない。前記用語は、一つの構成要素を他の構成要素から区別する目的として使われる。例えば、本発明の権利範囲を外れない限り、第1の構成は第2の構成と命名することができ、同様に、第2の構成も第1の構成と命名することができる。
【0018】
また、本発明の実施例に開示する構成部は、互いに異なる特徴的な機能を示すために独立的に図示されるものであり、各構成部が分離されたハードウェアや一つのソフトウェア構成単位に構成されることを意味しない。即ち、各構成部は、説明の便宜上、それぞれの構成部として羅列して含むものであり、各構成部のうち少なくとも2個の構成部が統合されて一つの構成部からなり、又は一つの構成部が複数個の構成部に分けられて機能を遂行することができる。各構成部の統合された実施例及び分離された実施例も本発明の本質から外れない限り本発明の権利範囲に含まれる。
【0019】
また、一部の構成要素は、本発明で本質的な機能を遂行する必須的構成要素ではなく、単に性能を向上させるための選択的構成要素である。本発明は、単に性能向上のために使われる構成要素を除いた本発明の本質具現に必須的な構成部のみを含んで具現されることができ、単に性能向上のために使われる選択的な構成要素を除いた必須的な構成要素のみを含む構造も本発明の権利範囲に含まれる。
【0020】
図1は、本発明が適用される映像符号化装置の一実施例に係る構成を示すブロック図である。
【0021】
図1を参照すると、前記映像符号化装置100は、動き予測部111、動き補償部112、イントラ予測部120、スイッチ115、減算器125、変換部130、量子化部140、エントロピー符号化部150、逆量子化部160、逆変換部170、加算器175、フィルタ部180、及び参照映像バッファ190を含む。
【0022】
映像符号化装置100は、入力映像に対してイントラ(intra)モード又はインター(inter)モードに符号化を実行することで、ビットストリームを出力することができる。イントラ予測は、画面内予測を意味し、インター予測は、画面間予測を意味する。イントラモードである場合、スイッチ115がイントラに切り替えられ、インターモードである場合、スイッチ115がインターに切り替えられることができる。映像符号化装置100は、入力映像の入力ブロックに対する予測ブロックを生成した後、入力ブロックと予測ブロックとの差分を符号化することができる。このとき、入力映像は、元映像(original picture)を意味する。
【0023】
イントラモードである場合、イントラ予測部120は、現在ブロック周辺の既に符号化されたブロックのピクセル値を利用して空間的予測を実行することで、予測ブロックを生成することができる。
【0024】
インターモードである場合、動き予測部111は、動き予測過程で参照映像バッファ190に格納されている参照映像で入力ブロックと最もよくマッチされる領域を探して動きベクトルを求めることができる。動き補償部112は、動きベクトルを利用して動き補償を実行することによって予測ブロックを生成することができる。ここで、動きベクトルは、インター予測に使われる2次元ベクトルであり、現在ブロックと参照映像内のブロックとの間のオフセットを示すことができる。
【0025】
減算器125は、入力ブロックと生成された予測ブロックとの差分により残差ブロックを生成することができる。変換部130は、残差ブロックに対して変換(transform)を実行することで、変換係数(transform coefficient)を出力することができる。そして、量子化部140は、入力された変換係数を量子化媒介変数と量子化行列のうち少なくとも一つを利用して量子化することで、量子化された係数(quantized coefficient)を出力することができる。このとき、量子化行列は、符号化器に入力され、入力された量子化行列が符号化器で使われると決定されることができる。
【0026】
エントロピー符号化部150は、量子化部140で算出された値又は符号化過程で算出された符号化パラメータ値などに基づいてエントロピー符号化を実行することで、ビットストリーム(bit stream)を出力することができる。エントロピー符号化が適用される場合、高い発生確率を有するシンボル(symbol)に少ない数のビットが割り当てられ、低い発生確率を有するシンボルに多い数のビットが割り当てられてシンボルが表現されることによって、符号化対象シンボルに対するビット列の大きさが減少されることができる。したがって、エントロピー符号化を介して映像符号化の圧縮性能が高まることができる。エントロピー符号化部150は、エントロピー符号化のために、指数-ゴロムコード(Exponential-Golomb Code)、CAVLC(Context-Adaptive Variable Length Coding)、CABAC(Context-Adaptive Binary Arithmetic Coding)のような符号化方法を使用することができる。
【0027】
図1の実施例に係る映像符号化装置は、インター予測符号化、即ち、画面間予測符号化を実行するため、現在符号化された映像は、参照映像として使われるために復号化されて格納される必要がある。したがって、量子化された係数は、逆量子化部160で逆量子化され、逆変換部170で逆変換される。逆量子化及び逆変換された係数は、復元された残差ブロックになって加算器175を介して予測ブロックと加えられて復元ブロックが生成される。
【0028】
復元ブロックは、フィルタ部180を経て、フィルタ部180は、デブロッキングフィルタ(deblocking filter)、SAO(Sample Adaptive Offset)、ALF(Adaptive Loop Filter)のうち少なくとも一つ以上を復元ブロック又は復元ピクチャに適用することができる。フィルタ部180は、インループ(in-loop)フィルタとも呼ばれる。デブロッキングフィルタは、ブロック間の境界に発生したブロック歪曲を除去することができる。SAOは、コーディングエラーを補償するためにピクセル値に適正オフセット(offset)値を加えることができる。ALFは、復元された映像と元来の映像を比較した値に基づいてフィルタリングを実行することができる。フィルタ部180を経た復元ブロックは、参照映像バッファ190に格納されることができる。
【0029】
図2は、本発明が適用される映像復号化装置の一実施例に係る構成を示すブロック図である。
【0030】
図2を参照すると、前記映像復号化装置200は、エントロピー復号化部210、逆量子化部220、逆変換部230、イントラ予測部240、動き補償部250、加算器255、フィルタ部260、及び参照映像バッファ270を含む。
【0031】
映像復号化装置200は、符号化器で出力されたビットストリームの入力を受けてイントラモード又はインターモードに復号化を実行することで、再構成された映像、即ち、復元映像を出力することができる。イントラモードである場合、スイッチがイントラに切り替えられ、インターモードである場合、スイッチがインターに切り替えられることができる。映像復号化装置200は、入力されたビットストリームから復元された残差ブロック(reconstructed residual block)を得、予測ブロックを生成した後、復元された残差ブロックと予測ブロックを加えて再構成されたブロック、即ち、復元ブロックを生成することができる。
【0032】
エントロピー復号化部210は、入力されたビットストリームを確率分布によってエントロピー復号化し、量子化された係数(quantized coefficient)形態のシンボルを含むシンボルを生成することができる。エントロピー復号化方法は、前述したエントロピー符号化方法と同様である。
【0033】
エントロピー復号化方法が適用される場合、高い発生確率を有するシンボルに少ない数のビットが割り当てられ、低い発生確率を有するシンボルに多い数のビットが割り当てられてシンボルが表現されることによって、各シンボルに対するビット列の大きさが減少されることができる。
【0034】
量子化された係数は、逆量子化部220で量子化媒介変数を利用して逆量子化され、逆変換部230で逆変換され、量子化された係数が逆量子化/逆変換された結果、復元された残差ブロックが生成されることができる。
【0035】
逆量子化に使われる量子化行列は、スケーリングリストとも呼ばれる。逆量子化部220は、量子化された係数に量子化行列を適用して逆量子化された係数を生成することができる。
【0036】
このとき、逆量子化部220は、符号化器で適用された量子化に対応して逆量子化を実行することができる。例えば、逆量子化部220は、符号化器で適用された量子化行列を量子化された係数に逆に適用して逆量子化を実行することができる。
【0037】
映像復号化装置200で逆量子化に使われる量子化行列は、ビットストリームから受信されることもでき、符号化器及び/又は復号化器が既に保有した基本行列が使われることもできる。送信される量子化行列の情報は、シーケンスパラメータセット又はピクチャパラメータセットを介して量子化行列大きさ又は量子化行列が適用される変換ブロック大きさ別に受信されることができる。例えば、4×4変換ブロックのための4×4量子化行列が受信され、8×8変換ブロックのための8×8行列が受信され、16×16変換ブロックのための16×16行列が受信され、32×32変換ブロックのための32×32行列が受信されることができる。
【0038】
イントラモードである場合、イントラ予測部240は、現在ブロック周辺の既に復号化されたブロックのピクセル値を利用して空間的予測を実行することで、予測ブロックを生成することができる。インターモードである場合、動き補償部250は、動きベクトル及び参照映像バッファ270に格納されている参照映像を利用して動き補償を実行することによって予測ブロックを生成することができる。
【0039】
復元された残差ブロックと予測ブロックは、加算器255を介して加えられ、加えられたブロックは、フィルタ部260を経ることができる。フィルタ部260は、デブロッキングフィルタ、SAO、ALFのうち少なくとも一つ以上を復元ブロック又は復元ピクチャに適用することができる。フィルタ部260は、再構成された映像、即ち、復元映像を出力することができる。復元映像は、参照映像バッファ270に格納されてインター予測に使われることができる。
【0040】
HEVCでは、映像を効率的に符号化するために、符号化単位(Coding Unit、以下‘CU’という)別に符号化を実行することができる。
【0041】
図3は、映像を符号化する時、最大大きさCU(Largest Coding Unit、以下‘LCU’という)内でCUを分割する方法の一例を簡単に示す。
【0042】
符号化装置に入力された映像は、
図3のように、LCU単位に順次分割された後、LCU単位で分割構造が決定されることができる。
【0043】
分割構造は、LCU内で映像を効率的に符号化するためのCUの分布を意味する。CUの分布は、CUの大きさを縦横に半分減少した4個のCUに分割するかどうかを決定することによって特定されることができる。分割されたCUは、同じ方式により縦横に半分減少した4個のCUに再帰的に分割することができる。
【0044】
このとき、CUの分割は、予め定義された深さまで実行されることもできる。深さ情報は、CUの大きさを示す情報であり、全てのCUに格納されている。基本になるLCUの深さは0であり、最小大きさCU(Smallest Coding Unit、以下‘SCU’という)の深さは、予め定義された最大深さである。
【0045】
LCUから縦横に半分に分割を実行する時毎にCUの深さが1ずつ増加する。それぞれの深さで、分割が実行されないCUの場合には、2N×2Nの大きさを有し、分割が実行される場合、分割前2N×2NのCUは、N×N大きさのCU4個に分割される。
【0046】
CUの大きさは、深さが1ずつ増加する時毎に半分に減少する。
図3では、最小深さが0であるLCUの大きさが64×64画素であり、最大深さが3であるSCUの大きさが8×8画素である場合を例として説明する。
【0047】
図3の例において、64×64画素のCU(LCU)は、深さが0であり、32×32画素のCUは、深さが1であり、16×16画素のCUは、深さが2であり、8×8画素のCU(SCU)は、深さが3である。
【0048】
また、CUを分割するかどうかに対する情報は、CU毎に1ビットの分割情報を介して表現する。この分割情報は、SCUを除外した全てのCUに含まれており、CUを分割しない場合には分割情報の値を0に設定し、分割する場合には分割情報の値を1に設定することができる。
【0049】
予測単位(Prediction Unit、以下‘PU’という)は、予測の単位である。
【0050】
図4は、PUの分割構造に対する例を概略的に説明する図面である。
【0051】
図4の例のように、一つのCUは、複数個のPUに分割されて予測が実行されることができる。
【0052】
変換単位(Transform Unit、以下‘TU’という)は、CU内で空間変換と量子化過程に使われる基本単位である。TUは、正四角形状又は直四角形状を有することができる。
【0053】
各CUは、一つ又はそれ以上のTUブロックを有することができ、これはクワッドツリー(quad-tree)の構造を有する。
【0054】
図5は、CU内TUの分割構造の一例を簡単に示す。図示されているように、CU510内TUは、クワッドツリー構造によって多様な大きさを有することができる。
【0055】
画面内予測(intra prediction)符号化/復号化では、現在ブロックの周辺ブロックから方向性による予測符号化を実行することができる。
【0056】
画面内予測では、33個の方向性予測モードと3個の非方向性予測モードを加えて総36個の予測モードを有して符号化/復号化を実行する。
【0057】
図6は、画面内予測のモードを概略的に説明する図面である。
【0058】
36個の画面内予測方向モードのうち、方向性がない3個のモードとして、平面モード(Planar;Intra_Planar)、平均モード(DC;Intra_DC)、及び復元された輝度信号から色差信号を予測するモード(LM;Intra_FromLuma)が存在する。画面内予測では、この3個の非方向性モードを全部使用することができ、このうち一部のみを利用することもできる。例えば、平面モードと平均モードのみを使用し、LMモードを使用しない。
【0059】
36個の画面内予測方向モードに対する符号化は、輝度信号及び色差信号に各々適用されることができる。輝度信号の場合、LMモードは除外されることができ、色差信号の場合、画面内予測方向モードに対する符号化は、表1のように三つの方法により実行されることができる。
【0060】
【0061】
表1において、1番目に輝度信号の画面内予測方向モードを色差信号の画面内予測方向モードにそのまま適用する誘導されたモード(DM:Derived Mode)が存在し、2番目に実際画面内予測方向モードを適用する符号化モード(EM:Explicit Mode)が存在する。EMモードに符号化される色差信号の画面内予測方向モードは、平面モード(Planar)、平均モード(DC)、水平モード(Hor)、垂直モード(Ver)、垂直方向で8番目位置したモード(Ver+8又は34番モード)が存在する。最後に復元された輝度信号から色差信号を予測するLMモードが存在する。
【0062】
この三つのモードの符号化/復号化方法の中から最も効率が良いものが選択されることができる。
【0063】
色差信号を予測して符号化/復号化する方法により復元された輝度信号サンプルから色差信号を予測する方法(Intra_FromLuma)を利用することもできる。この技術は、色差信号と輝度信号の線形的相関関係を利用する。このとき、利用される線形的相関関係の一例は、数式1の通りである。
【0064】
【0065】
図7は、数式1の関係を概略的に説明する図面である。
【0066】
数式1のPred
c[x,y]は、
図7(a)の色差(chroma)信号の予測値を意味し、Rec
L[x,y]は、色差信号の4:2:0サンプリング比率を合わせるために輝度(luma)信号を数式2を介して計算した値を意味する。
【0067】
【0068】
数式2において、α値とβ値は、ダウンサンプリングされた輝度信号と色差信号との間の加重値(α)及び補償値(β)を示す。
【0069】
数式1及び数式2を介して取得された色差信号に対する予測映像を利用することで、原本映像との差である差分映像が生成されることができる。
【0070】
差分映像は、周波数領域変換と量子化を経てエントロピー符号化される。併せて、周波数領域変換には、整数変換、整数離散余弦変換(DCT)、整数離散正弦変換(DST)、又は画面内予測モード従属的なDCT/DSTなどがある。
【0071】
前述したように、原本映像と予測映像との差分映像は、周波数領域変換と量子化を経た後、エントロピー符号化されることができる。このとき、エントロピー符号化の効率を上げるために、2次元形態の量子化された映像の係数を1次元形態に再整列することができる。
【0072】
既存には、ジグザグスキャニング方法を使用した。これと異なり、本明細書では、量子化係数に対するスキャニング方法として、ジグザグスキャニング方法でない上段右側方向(Up-right)を使用することができる。併せて、周波数領域変換には、整数変換、整数離散余弦変換(DCT)、整数離散正弦変換(DST)、又は画面内予測モード従属的なDCT/DSTなどがある。
【0073】
任意のブロックに対する量子化係数は、4×4大きさのサブブロックのグループに分けられて符号化/復号化されることができる。
【0074】
図8は、重要グループフラグ及び変換係数に対する上段右側方向スキャニングの一例を説明する図面である。
【0075】
図8は、16×16大きさのブロックを4×4大きさのサブブロック16個に分けて符号化する例を示す。
【0076】
図8(a)は、スキャニングの基本的な方法を示し、
図8(b)は、実際量子化係数をスキャニングする場合の例とその結果を簡単に示す。
【0077】
復号化過程で各サブブロックに変換係数が存在するかどうかは、ビットストリームからパーシングされたsignificant_coeff_group_flag(sigGrpFlag)を介して確認することができる。significant_coeff_group_flag値が‘1’の場合、当該4×4サブブロックに量子化された変換係数が一つでも存在することを意味し、それに対し、significant_coeff_group_flag値が‘0’の場合、当該4×4サブブロックに量子化された変換係数が存在しないことを意味する。
図8における4×4サブブロックに対するスキャニング方向及びsignificant_coeff_group_flagに対するスキャニング方向には、両方とも基本的に上段右側(Up-right)スキャニング方向が適用された。
【0078】
図8では、上段右側方向のスキャニング方法が適用されることを説明したが、量子化係数に対するスキャニング方法には、上段右側方向(Up-right)、水平方向(Horizontal)、垂直方向(Vertical)がある。
【0079】
画面間予測では、上段右側方向(Up-right)スキャニング方法を基本的に使用することができ、画面内予測では、上段右側方向(Up-right)、水平方向(Horizontal)、垂直方向(Vertical)を選択的に使用することができる。
【0080】
画面内予測において、スキャニング方向は、画面内予測方向によって異なるように選択されることができる。輝度信号及び色差信号の両方ともに適用されることもできる。
【0081】
表2は、画面予測方向によってスキャニング方向を決定する方法の一例を説明するものである。
【0082】
【0083】
表2において、“IntraPredModeValue”は、画面内予測方向を意味し、輝度信号の場合はIntraPredMode値に該当し、色差信号の場合はIntraPredModeC値に該当する。また、“log2TrafoSize”は、現在変換ブロックの大きさを‘log’を使用して表示したものを意味する。
【0084】
例えば、IntraPredModeValueが‘1’というのは、“Intra_DC”モードを意味し、“log2TrafoSize-2”が‘1’というのは、8×8ブロックを意味する。
【0085】
また、表2において、IntraPredModeValueとlog2TrafoSizeにより決定される数0、1、2は、スキャン方向を特定する。例えば、表2において、2は上段右側スキャン方向(Up-right)を示し、1は水平スキャン方向(Horizontal)を示し、2は垂直スキャン方向(Vertical)を示す。
【0086】
図9は、画面予測方向によってスキャニング方向を決定する方法の一例を説明するフローチャートである。
【0087】
図9において、IntraPredModeは、輝度信号に対する画面内予測方向モードを意味し、IntraPredModeCは、色差信号に対する画面内予測方向モードを意味する。IntraPredMode(C)は、信号の成分によって輝度信号であってもよく、色差信号であってもよい。ScanTypeは、残差信号スキャニング方向を意味し、上段右側方向(DIAG;Up-right=0)、水平方向(HOR;Horizontal=1)、垂直方向(VER;Vertical=2)がある。
【0088】
図9の例は、エンコーダ装置とデコーダ装置で実行されることができる。また、エンコーダ装置とデコーダ装置内の所定のモジュールで実行されることもできる。
【0089】
図10は、画面予測方向によってスキャニング方向を決定する方法の他の例を簡単に説明するフローチャートである。
【0090】
図10の例では、輝度信号に対するスキャニング方法と色差信号に対するスキャニング方法が異なるように表現されている。前記図面において、インデックス(Index)は、変換の大きさを示す指示子であり、各変換大きさによるIndex値は、下記のように求めることができる。
【0091】
変換大きさが64×64の場合にはIndex=1、変換大きさが32×32の場合にはIndex=2、変換大きさが16×16の場合にはIndex=3、変換大きさが8×8の場合にはIndex=4、変換大きさが4×4の場合にはIndex=5、変換大きさが2×2の場合にはIndex=6になる。
【0092】
したがって、前記図面を介して画面内予測方向によるスキャニングは、輝度信号の場合、8×8変換大きさと4×4変換大きさに適用しており、色差信号の場合、最も小さい大きさである4×4変換大きさにのみ適用していることが分かる。また、画面内予測方向によるスキャニングを適用しない場合、全部上段右側方向(DIAG;Up-right=0)スキャニングを適用することができる。
【0093】
画面内予測において、量子化係数を符号化するために表2から求められたスキャニング方向は、8のように、4×4サブブロックに対するスキャニング方向及びsignificant_coeff_group_flagに対するスキャニング方向として使われることができる。
【0094】
前述したように、エンコーディング過程で原本映像と予測映像との差分映像(残余映像)は、周波数領域変換と量子化を経た後、エントロピー符号化される。このとき、周波数領域変換による符号化の効率を上げるために、整数変換、整数離散余弦変換(DCT)、整数離散正弦変換(DST)、又は画面内予測モード従属的なDCT/DSTなどをブロックの大きさによって選択的又は適応的に適用することができる。
【0095】
また、デコーディング過程では、エントロピー復号化、逆量子化、周波数領域の逆変換を経て差分映像が復号化される。このとき、整数逆変換、整数離散余弦役変換、整数離散正弦役変換又は画面内予測モード従属的なDCT/DSTなどをブロック大きさによって選択的又は適応的に利用することができる。
【0096】
図11は、残余映像に対する周波数変換方式を選択する方法の一例を説明するフローチャートである。
【0097】
まず、現在ブロックが画面内符号化(Intra)で符号化され、且つ輝度信号(Luma)のブロックでない場合、現在ブロックの輝度信号及び色差信号の残余映像に対する周波数変換方式は、整数変換又は整数離散余弦変換(DCT)を適用する。
【0098】
そうでない場合(現在ブロックが画面内符号化(Intra)で符号化され、且つ輝度信号(Luma)のブロックである場合)、現在ブロックの輝度信号に対する画面内予測方向モード(IntraPredMode)を取得する。
【0099】
次に、現在ブロックが4×4大きさ(iWidth==4)のブロックであるかどうかを確認する。もし、現在ブロックが4×4大きさ(iWidth==4)のブロックでない場合、現在ブロックの輝度信号及び色差信号の残余映像に対する周波数変換方式は、整数変換又は整数離散余弦変換(DCT)を適用する。
【0100】
そうでない場合(現在ブロックが4×4大きさ(iWidth==4)のブロックである場合)、現在ブロックの画面内予測方向モードを検査する。
【0101】
もし、現在ブロックの画面内予測方向モードが‘2’より大きく且つ‘10’より小さい場合、現在ブロックの輝度信号に対する周波数変換方式として、水平方向には整数離散正弦変換(DST)を適用し、垂直方向には整数離散余弦変換(DCT)を適用する。
【0102】
現在ブロックの色差信号に対する周波数変換方式は、水平垂直方向の両方ともに整数離散余弦変換(DCT)を実行する。
【0103】
一方、もし、現在ブロックの画面内予測方向モードが‘0’であり、又は‘11’より大きく且つ‘25’より小さい場合、現在ブロックの輝度信号に対する周波数変換方式として、水平垂直方向の両方ともに整数離散正弦変換(DST)を適用する。
【0104】
現在ブロックの色差信号に対する周波数変換方式では、水平垂直方向の両方ともに整数離散余弦変換(DCT)を実行する。
【0105】
一方、もし、現在ブロックの画面内予測方向モードが‘26’より大きく且つ‘34’より小さい場合、現在ブロックの輝度信号に対する周波数変換方式として、水平方向には整数離散余弦変換(DCT)を適用し、垂直方向には整数離散正弦変換(DST)を適用する。
【0106】
現在ブロックの色差信号に対する周波数変換方式では、水平垂直方向の両方ともに整数離散余弦変換(DCT)を実行する。
【0107】
そうでない場合、現在ブロックの輝度信号及び色差信号の残余映像に対する周波数変換方式として、水平垂直方向の両方ともに整数離散余弦変換(DCT)を適用する。
【0108】
図11で、iWidthは、変換の大きさを示す指示子であり、各変換大きさによるiWidth値は、下記のように求めることができる。
【0109】
変換大きさが64×64の場合にはiWidth=64、変換大きさが32×32の場合にはiWidth=32、変換大きさが16×16の場合にはiWidth=16、変換大きさが8×8の場合にはiWidth=8、変換大きさが4×4の場合にはiWidth=4、変換大きさが2×2の場合にはiWidth=2になる。
【0110】
図11と関連して、スケールされた変換係数のための変換過程(Transformation process for scaled transform coefficients)は、下記の通りである。
【0111】
<スケールされた変換係数のための変換過程>
【0112】
ここでの入力は、下記の通りである。
【0113】
-現在変換ブロックの幅Width:nW
【0114】
-現在変換ブロックの高さHeight:nH
【0115】
-要素(element)dijを有するスケールされた変換係数の配列:(nW×nH)配列(array)d
【0116】
-現在ブロックの輝度信号及び色差信号に対するインデックス:cIdx
【0117】
-もし、cIdxが‘0’の場合、輝度信号を意味し、cIdxが‘1’であり、又はcIdxが‘2’の場合、色差信号を意味する。また、cIdxが‘1’の場合、色差信号でCbを意味し、cIdxが‘2’の場合、色差信号でCrを意味する。
【0118】
ここでの出力は、下記の通りである。
【0119】
-スケールされた変換係数を逆変換して求められた残余信号に対する配列:(nW×nH)配列(array)r
【0120】
現在ブロックに対する符号化モード(PredMode)が画面内予測モード(Intra)であり、且つLog2(nW*nH)値が‘4’であり、cIdx値が‘0’の場合、輝度信号の画面内予測方向モードによって変数horizTrTypeとvertTrTypeは、以下の表3を介して求められる。もし、そうでない場合、変数horizTrTypeとvertTrTypeは‘0’に設定する。
【0121】
【0122】
変数horizTrTypeとvertTrType値を有してスケールされた変換係数に対する逆変換過程を実行する。まず、現在ブロックの大きさ(nW,nH)とスケールされた変換係数配列(nW×nH array d)、変数horizTrTypeの入力を受け、水平方向に1次元逆変換を実行することで、配列(nW×nH array e)を出力する。
【0123】
次に、配列(nW×nH array e)の入力を受けて配列(nW×nH array g)を数式3のように誘導する。
【0124】
【数3】
g
ij=Clip3(-32768,32767,(e
ij+64)>>7)
【0125】
次に、現在ブロックの大きさ(nW,nH)と配列(nW×nH array g)、変数vertTrTypeの入力を受けて垂直方向に1次元逆変換を実行する。
【0126】
次に、cIdxによって残余信号に対する配列(nW×nH array r)を数式4のように設定する。
【0127】
【0128】
ここで、‘shift’は、cIdxが‘0’の場合、shift=20-BitDepthYであり、そうでない場合、shift=20-BitDepthC値を有し、BitDepthは、現在映像に対するサンプルのビット数(例えば、8ビット)を意味する。
【0129】
前述したように、色差信号を予測する方法により復元された輝度信号サンプルから色差信号を予測する方法(Intra_FromLuma)を利用することもできる。
【0130】
Intra_FromLuma方法を利用して符号化された色差成分に対する残余信号(誤差信号:residual)は、画面内方向モードが存在しないため、基本的に上段右側方向(Up-right=0)にスキャニングされて符号化が実行される。
【0131】
しかし、Intra_FromLuma方法は、輝度信号と色差信号との類似性を利用するため、Intra_FromLuma方法により得られた色差信号に対する残余信号は、輝度信号の残余信号と類似する特性を有する可能性が高い。このような特性を利用して色差信号の残余信号に対する符号化効率を上げることができる。
【0132】
また、4×4輝度信号ブロックに対しては、輝度信号の画面内予測方向モードによって整数離散余弦変換(DCT)及び整数離散正弦変換(DST)を水平垂直方向に異なるように適用して符号化効率を上げた。これに対し、従来4×4色差信号ブロックに対しては整数離散余弦変化(DCT)のみを使用している。
【0133】
色差信号の残余映像に対する特性は、輝度信号の残余映像に対する特性と類似する可能性がある。したがって、輝度信号の残余映像に適用された画面内予測方向モードによる選択的周波数変換方式を色差信号の残余映像にも適用して符号化効率を上げることができる。
【0134】
また、色差信号を予測する方法により復元された輝度信号サンプルから色差信号を予測する方法(Intra_FromLuma)は、輝度信号と色差信号との類似性を利用するため、Intra_FromLuma方法により得られた色差信号に対する残余信号が輝度信号の残余信号と類似する特性を有する可能性が高い。このような特性を利用して色差信号の残余信号に対する選択的周波数変換方式を利用することで、符号化効率を上げることができる。
【0135】
このように、Intra_FromLuma方法は、輝度信号と色差信号との類似性を利用した画面内予測方法である。輝度信号と色差信号が類似するという特性を利用することで、色差信号の残余信号に対するスキャニング方向を輝度信号の画面内予測方向から誘導することができる。
【0136】
本明細書では、以下、色差信号に対するスキャニング方向を誘導する方法及び装置に対して具体的に説明する。
【0137】
[実施例1]色差信号に対するスキャニング方向を輝度信号の画面内予測方向モードに誘導する方法及び装置
【0138】
図12は、本実施例によって、色差信号に対するスキャニング方向を誘導する方法の一例を説明するフローチャートである。
【0139】
図12の例において、色差信号に対するスキャニング方向の誘導は、輝度信号の画面内予測方向モードに決定されることができる。即ち、輝度信号に対するスキャニング方向が色差信号にそのまま適用されることができる。したがって、色差信号のスキャニング方向を誘導するための計算が必要ないため、複雑度減少効果が存在する。
【0140】
図12の動作は、
図1のエンコーディング装置及び
図2のデコーディング装置で実行されることができる。
【0141】
図12を参照すると、現在ブロックの輝度成分が画面内予測されたかどうかが判断される(S1210)。現在ブロックが画面内予測されない場合(画面間予測された場合)現在ブロックの色差成分と輝度成分に対しては上段右側方向のスキャニングが実行される(S1260)。即ち、現在ブロックの輝度成分に対するスキャンタイプと色差成分に対するスキャンタイプが両方とも上段右側方向のスキャンになる。
【0142】
現在ブロックの輝度成分が画面内予測され、現在ブロックの輝度成分に対する画面内予測モードが6以上14以下であるかどうかが判断される(S1220)。即ち、現在ブロックの輝度成分に対する画面内予測モードが水平方向の画面内予測モード又は水平に近い方向の画面内予測モードであるかどうかが判断される(S1220)。
【0143】
現在ブロックの輝度成分に対する画面内予測モードが6以上14以下である場合、現在ブロックに対する輝度成分と色差成分に対しては垂直方向のスキャニングが実行される(S1240)。即ち、現在ブロックの輝度成分に対するスキャンタイプと色差成分に対するスキャンタイプが両方とも垂直方向のスキャンになる。
【0144】
現在ブロックの輝度成分が画面内予測されたが、現在ブロックの輝度成分に対する画面内予測モードが6以上14以下でない場合、現在ブロックの輝度成分に対する画面内予測モードが22以上30以下であるかどうかが判断される(S1230)。即ち、現在ブロックの輝度成分に対する画面内予測モードが垂直方向の画面内予測モード及び垂直に近い方向の画面内予測モードであるかどうかが判断される。
【0145】
現在ブロックの輝度成分に対する画面内予測モードが22以上30以下である場合、現在ブロックに対する輝度成分と色差成分に対しては水平方向のスキャニングが実行される(S1250)。即ち、現在ブロックの輝度成分に対するスキャンタイプと色差成分に対するスキャンタイプが両方とも水平方向のスキャンになる。
【0146】
現在ブロックの輝度成分が画面内予測されたが、現在ブロックの輝度成分に対する画面内予測モードが6以上14以下でも22以上30以下でもない場合には、現在ブロックの輝度成分と色差成分に対して上段右側方向のスキャンが適用される(S1260)。
【0147】
図13は、本実施例によって、色差信号に対するスキャニング方向を誘導する方法の他の例を説明するフローチャートである。
図13の例によると、輝度信号に対するスキャニング方法と色差信号に対するスキャニング方法が統一される効果を得ることができる。
【0148】
図13の動作は、
図1の符号化装置及び
図2の復号化装置で実行されることができる。
【0149】
図13を参照すると、まず、現在ブロックが画面内予測されたかどうかが判断される(S1310)。
【0150】
画面内予測されない場合、現在ブロックの輝度信号及び色差信号に対しては上段右側方向のスキャンが適用される(S1390)。
【0151】
現在ブロックが画面内予測された場合、現在ブロックの大きさがインデックスに転換される(S1320)。例えば、現在ブロックの大きさを特定するインデックスが設定されることができる。
【0152】
次に、現在ブロックの画面内予測モードに対する情報、IntraPredModeが取得されることができる(S1330)。現在ブロックに対する画面内予測モードを指示する情報IntraPredModeは、
図6に基づいて取得されることができる。
【0153】
現在ブロックに対してS1320ステップで設定されたインデックスが3より大きく且つ6より小さいかどうかが判断される(S1340)。現在ブロックに対するインデックスが3より大きく且つ6より小さい場合でないと、現在ブロックの輝度信号及び色差信号に対しては上段右側方向のスキャンが適用される(S1390)。
【0154】
現在ブロックに対するインデックスが3より大きく且つ6より小さい場合、現在ブロックの色差信号に対する画面内予測モードが6以上14以下であるかどうかが判断される(S1350)。現在ブロックの色差信号に対する画面内予測モードが6以上14以下である場合、現在ブロックの色差信号に対して垂直方向のスキャンが適用される(S1370)。
【0155】
現在ブロックの色差信号に対する画面内予測モードが6以上14以下でない場合、現在ブロックの色差信号に対する画面内予測モードが22以上30以下であるかどうかが判断される(S1360)。現在ブロックの色差信号に対する画面内予測モードが22以上30以下である場合、現在ブロックの色差信号に対して水平方向のスキャンが適用される(S1380)。
【0156】
現在ブロックの色差信号に対する画面内予測モードが6以上14以下でも22以上30以下でもない場合、現在ブロックの色差信号に対して上段右側方向のスキャンが適用される(S1390)。
【0157】
図13の例は、
図12の例と異なり、現在ブロックの色差信号に対する画面内予測モードを判断してスキャンタイプを決定するが、
図12の場合と同様に、色差信号と輝度信号のスキャニング方法が同じ方法により決定される。
【0158】
即ち、
図13のフローチャートは、輝度信号のスキャニングにも同一に適用されることができる。S1350ステップとS1360において、括弧を使用してIntraPredMode(C)と表示した理由は、輝度信号に対してはIntraPredModeを介して輝度信号に対する画面内予測モードを特定して適用し、色差信号に対してはIntraPredModeCを介して色差信号に対する画面内予測モードを特定して適用することができるということを意味する。
【0159】
したがって、
図13のフローチャートは、輝度信号と色差信号に同一に適用することができ、輝度信号に対するスキャニングタイプと色差信号に対するスキャニングタイプは同じ方法により各々決定されることができる。このとき、スキャニングタイプは、垂直方向のスキャン、水平方向のスキャン、上段右側方向のスキャンのうちいずれか一つになる。
【0160】
前述した
図12及び
図13の例を変換単位(Transform Unit、以下‘TU’という)に対するシンタックス構造に反映すると、表4の通りである。
【0161】
表4は、本実施例1によるTUシンタックスの一例を示す。
【0162】
【0163】
ここで、Transform_unitは、一つのTUブロックに対するビットストリームの順序を意味する。log2TrafoSizeは、入力されたlog2TrafoWidthとlog2TrafoHeightとの間の和を右側シフト(Shift)演算した結果を意味し、輝度信号に対するTUブロック大きさを意味する。log2TrafoSizeCは、色差信号に対するTUブロック大きさを意味する。
【0164】
PredModeは、現在ブロックに対する符号化モードを意味し、画面内符号化の場合‘Intra’であり、画面間符号化の場合‘Inter’である。scanIdxは、現在TUブロックの輝度信号に対するスキャニング方向情報を示し、上段右側方向(DIAG;Up-right=0)、水平方向(HOR;Horizontal=1)、垂直方向(VER;Vertical=2)がある。
【0165】
scanIdxCは、現在TUブロックの色差信号に対するスキャニング方向情報を示し、上段右側方向(DIAG;Up-right=0)、水平方向(HOR;Horizontal=1)、垂直方向(VER;Vertical=2)がある。
【0166】
ScanType(スキャンタイプ)は、表2の画面予測方向によるスキャニング方向を決定する方法のテーブルに基づいて決定される。
【0167】
IntraPredModeは、輝度信号に対する画面内予測方向情報を意味し、IntraPredModeCは、色差信号に対する画面内予測方向情報を意味する。
【0168】
表4と関連して、変換係数レベルは、transCoeffLevel配列にパーシングされることができる。このとき、PredModeがIntraである場合、画面内予測方向モードによって各々異なるスキャニング方向が適用される。このようなスキャニング方向は、表2のScanType配列から得られることができる。
【0169】
色差信号のスキャニング方向は、輝度信号のスキャニング方向をそのまま使用することができる。
【0170】
[実施例2-1]色差信号の画面内予測方向モードが“Intra_FromLuma”の場合、輝度信号のスキャニング方向を色差信号にそのまま使用する方法及び装置
【0171】
図14は、本実施例によって、色差信号に対するスキャニング方向を誘導する方法の一実施例を示すフローチャートである。
【0172】
図14を参照すると、現在ブロックの色差信号の画面内予測方向モードが画面内予測モードであるかどうかを判断する(S1410)。画面内予測モードが適用されない場合、現在ブロックに対しては上段右側方向のスキャンが適用される。
【0173】
現在ブロックがイントラ予測された場合、現在ブロックの色差信号に対する画面内予測モードがIntra_FromLumaであるかどうかが判断される(S1420)。現在ブロックの色差信号に対する画面内予測モードがIntra_FromLumaの場合、現在ブロックの輝度信号に対する画面内予測モードを現在ブロックの色差信号に対する画面内予測モードに設定する(S1440)。
【0174】
即ち、現在ブロックの色差信号に対する画面内予測モードが“Intra_FromLuma”の場合、色差信号の画面内予測方向モードに輝度信号の画面内予測方向モードを入力して色差信号に対するスキャニング方向を誘導することができる。即ち、色差信号の画面内予測方向モードが“Intra_FromLuma”の場合には、輝度信号のスキャニング方向をそのまま使用することができる。
【0175】
次に、現在ブロックの色差信号に対する画面内予測モードが6以上14以下であるかどうかが判断される(S1430)。現在ブロックの色差信号に対する画面内予測モードが6以上14以下である場合、現在ブロックの色差信号に対して垂直方向のスキャンが適用される(S1460)。
【0176】
現在ブロックの色差信号に対する画面内予測モードが6以上14以下でない場合、現在ブロックの色差信号に対する画面内予測モードが22以上30以下であるかどうかが判断される(S1450)。現在ブロックの色差信号に対する画面内予測モードが22以上30以下である場合、現在ブロックの色差信号に対して水平方向のスキャンが適用される(S1470)。
【0177】
現在ブロックの色差信号に対する画面内予測モードが6以上14以下でも22以上30以下でもない場合、現在ブロックの色差信号に対して上段右側方向のスキャンが適用される(S1480)。
【0178】
[実施例2-2]色差信号の画面内予測方向が輝度信号の画面内予測方向と同じ、又は色差信号の画面内予測モードが“Intra_FromLuma”モードの場合、輝度信号のスキャニング方向を色差信号にそのまま使用する方法及び装置
【0179】
図15は、本実施例によって、色差信号に対するスキャニング方向を誘導する方法の一実施例を説明するフローチャートである。
【0180】
図15を参照すると、DM(輝度信号の画面内予測方向モードを色差信号の画面内予測方向モードとして使用する方法又は色差信号の画面内予測方向が輝度信号の画面内予測方向と同じになる場合を意味)とLM(Intra_FromLuma)方法が一つで統一されることを確認することができる。
【0181】
まず、現在ブロックが画面内予測されたかどうかが判断される(S1505)。画面内予測でない場合、現在ブロックに対して上段右側方向のスキャンが適用される(S1575)。
【0182】
現在ブロックが画面内予測された場合、現在ブロックの幅がインデックスに転換される(S1510)。
【0183】
判断対象サンプルが輝度信号であるかどうかが判断される(S1515)。輝度信号でない場合、現在ブロックにDM又はLMが適用されるかどうかを判断し(S1530)、判断対象が輝度信号の場合、画面内予測モードを指示する情報を取得する(S1520)。
【0184】
応用分野によるプロファイリングのためにLMモードを使用せずにDMモードのみを使用して色差信号の画面内符号化又は復号化を進行するように制限された場合に本発明を適用すると、
図15の例において、S1530ステップを適用する時、LMが適用されるかに対する判断をせずにDNが適用されるかどうかに対してのみ判断することもできる。
【0185】
対象が輝度信号の時、S1525でインデックスが3より大きく且つ6より小さい場合(即ち、変換大きさが8×8又は4×4の場合)、現在ブロックの輝度信号に対する画面内予測モードが6以上14以下であるかどうかを判断する(S1555)。現在ブロックの輝度信号に対する画面内予測モードが6以上14以下である場合、現在ブロックの輝度信号に対して垂直方向のスキャンが適用される(S1565)。
【0186】
また、現在ブロックの輝度信号に対する画面内予測モードが22以上30以下であるかどうかを判断(S1560)し、水平方向のスキャンが適用され(S1570)、又は上段右側方向のスキャンが適用される(S1575)。
【0187】
一方、対象が色差信号である場合、現在ブロックのモードがDM又はLMであるかどうかが判断される(S1530)。現在ブロックの色差信号に対するモードがDM又はLMでない場合、色差信号に対する画面内予測モードを指示する情報を取得し(S1545)、DM又はLMである場合、輝度信号に対する画面内予測モードを指示する情報を取得した後(S1535)、色差信号のスキャン方向決定のために色差信号に対する画面内予測モードを輝度信号に対する画面内予測モードに設定する(S1540)。
【0188】
次に、インデックスが4より大きく且つ7より小さいかどうか(即ち、変換大きさが4×4又は2×2であるかどうか)が判断される(S1550)。インデックスが4より大きく且つ7より小さい場合でないと、現在ブロックの色差信号に上段右側方向のスキャンが適用される(S1575)。
【0189】
インデックスが4より大きく且つ7より小さい場合には、現在ブロックの色差信号に対する画面内予測モードが6以上14以下であるかどうかを判断する(S1555)。現在ブロックの色差信号に対する画面内予測モードが6以上14以下である場合、現在ブロックの色差信号に対して垂直方向のスキャンが適用される(S1565)。
【0190】
また、現在ブロックの色差信号に対する画面内予測モードが22以上30以下であるかどうかを判断(S1560)し、水平方向のスキャンが適用され(S1570)、又は上段右側方向のスキャンが適用される(S1575)。
【0191】
前述した
図14及び
図15の例を変換単位(Transform Unit、以下‘TU’という)に対するシンタックス構造に反映すると、表5の通りである。
【0192】
表5は、本実施例1によるTUシンタックスの一例を示す。
【0193】
【0194】
ここで、Transform_unitは、一つのTUブロックに対するビットストリームの順序を意味する。log2TrafoSizeは、入力されたlog2TrafoWidthとlog2TrafoHeightとの間の和を右側シフト(Shift)演算した結果を意味し、輝度信号に対するTUブロック大きさを意味する。
【0195】
log2TrafoSizeCは、色差信号に対するTUブロック大きさを意味する。PredModeは、現在ブロックに対する符号化モードを意味し、画面内符号化の場合‘Intra’であり、画面間符号化の場合‘Inter’である。
【0196】
scanIdxは、現在TUブロックの輝度信号に対するスキャニング方向情報を示し、上段右側方向(DIAG;Up-right=0)、水平方向(HOR;Horizontal=1)、垂直方向(VER;Vertical=2)がある。
【0197】
scanIdxCは、現在TUブロックの色差信号に対するスキャニング方向情報を示し、上段右側方向(DIAG;Up-right=0)、水平方向(HOR;Horizontal=1)、垂直方向(VER;Vertical=2)がある。
【0198】
ScanTypeは、表2の予測方向によるスキャニング方向を決定する方法に基づいて決定されることができる。
【0199】
IntraPredModeは、輝度信号に対する画面内予測方向情報を意味し、IntraPredModeCは、色差信号に対する画面内予測方向情報を意味する。前記シンタックス表に示すように、もし、IntraPredModeC値がIntra_FromLumaの場合には、輝度信号で使用したスキャニング方向を色差信号にそのまま適用する。
【0200】
表5と関連して、変換係数レベルは、transCoeffLevel配列にパーシングされる。このとき、PredModeがIntraである場合、画面内予測方向モードによって各々異なるスキャニング方向が適用される。このようなスキャニング方向は、以下の表のScanType配列から得られることができる。明るさ信号に対するスキャニング方向指示子であるscanIdxを得ようとする時は、以下の表のIntraPredModeValue値として明るさ信号画面内予測モードを示すIntraPredMode値を使用し、色差信号に対するスキャニング方向指示子であるscanIdxCを得ようとする時は、表6のIntraPredModeValue値として色差信号画面内予測モードを示すIntraPredModeC値を使用する。
【0201】
表6は、スキャンタイプを決定する方法の一例を示す。
【0202】
【0203】
表6において、スキャンタイプScanTypeは、log2TrafoSizeとIntraPredModeValueにより次のように決定されることができる:ScanType[log2TrafoSize-2][IntraPredModeValue]
【0204】
前述したように、変換係数レベルは、transCoeffLevel配列にパーシングされる。このとき、PredModeが‘Intra’である場合、画面内予測方向モードによって各々異なるスキャニング方向が適用される。
【0205】
このとき、ScanType[log2TrafoSize-2][IntraPredModeValue]は、輝度信号変換ブロックの大きさ(log2TrafoSize)と画面内予測方向モード(IntraPredModeValue)によって表7のシンタックスによって設定されることができる。
【0206】
【0207】
輝度信号に対するスキャニング方向指示子であるscanIdxを得ようとする時は、表2のIntraPredModeValue値として輝度信号の画面内予測モードを示すIntraPredMode値を使用し、色差信号に対するスキャニング方向指示子であるscanIdxCを得ようとする時は、表2のIntraPredModeValue値として色差信号画面内予測モードを示すIntraPredModeC値を使用する。
【0208】
本実施例では、現在色差ブロックが“Intra_FromLuma”モードに符号化された時だけでなく、下記のような場合にも適用することができる。
【0209】
1.色差ブロックを予測するにあたって、復元された輝度信号ブロックに加重値をかけた後、オフセットを加える全ての方式に対して本実施例を適用することができる。
【0210】
2.色差ブロックを予測するにあたって、復元された輝度信号ブロックと色差信号ブロックに対するテンプレートシフト(template shift)を利用することで、色差ブロックを予測する全ての方式に対して本実施例を適用することができる。ここで、テンプレートシフトは、輝度信号と色差信号との間の相関性を類推するために使用する。
【0211】
その他、本実施例は、多様に適用することができる。
【0212】
例えば、本実施例は、ブロック大きさ又はCU深さ又はTU深さ等によって適用範囲を異なるようにすることができる。このように適用範囲を決定する変数(即ち、大きさ又は深さ情報)は、符号化器及び復号化器が予め決められた値を使用するように設定することもでき、プロファイル又はレベルによって決められた値を使用するようにすることもでき、符号化器が変数値をビットストリームで記載すると、復号化器は、ビットストリームからこの値を求めて使用することもできる。
【0213】
CU深さによって適用範囲を異なるようにする時は、表8に例示したように、次の三つの方式のうちいずれか一つを適用することができる:方式A)与えられた深さ以上の深さにのみ適用する方式、方式B)与えられた深さ以下にのみ適用する方式、方式C)与えられた深さにのみ適用する方式。
【0214】
表8は、与えられたCU(又は、TU)深さが2の場合、本実施例の各方法を適用する範囲を決定する方式の例を示す。表8において、Oは、当該深さに適用するということを示し、Xは、当該深さに適用しないということを示す。
【0215】
【0216】
全ての深さに対して本発明の方法を適用しない場合は、任意の指示子(flag)を使用して示すこともでき、適用範囲を示すCU深さ値としてCU深さの最大値より一つ大きい値をシグナリングすることで表現することもできる。
【0217】
また、前述した本発明の方法を適用する範囲を決定する方式を、前述した実施例1と後述する実施例に各々又は組合せて適用することもできることに留意する。
【0218】
[実施例3]色差信号の画面内予測方向モードによって色差信号の残余映像に対する周波数変換方式を選択的に誘導する方法及び装置
【0219】
本実施例では、輝度信号の残余映像に適用された画面内予測方向モードによる選択的周波数変換方式を色差信号の残余映像にも適用することによって符号化効率を上げることができる。
【0220】
また、本実施例では、Intra_FromLuma方法により得られた色差信号に対する残余信号は、輝度信号の残余信号と類似する特性を有するという性質を利用して選択的に周波数変換をすることができる。
【0221】
図16は、本実施例によって、色差信号の画面内予測方向モードに基づいて色差信号の残余映像に対する周波数変換方式を選択的に誘導する方法の一例を説明するフローチャートである。
【0222】
図16を参照すると、まず、現在ブロックが画面内符号化(Intra)で符号化され、且つ現在ブロックが4×4大きさ(trafoSize(又は、iWidth)==4)のブロックの場合(S1605)、現在ブロックに対する周波数変換方式は、整数離散正弦変換(DST)又は整数離散余弦変換(DCT)を適用する。そうでない場合(S1605)、現在ブロックの周波数変換方式は、DCTを適用することができる(S1660)。
【0223】
次に、現在ブロックが輝度ブロックの場合(S1610)、輝度信号に対する画面内予測方向モード(IntraPredMode)を取得する(S1620)。ここで、現在ブロックの輝度信号に対する画面内予測方向モードを、輝度信号に対する残余映像の周波数変換方式を誘導するのに使用することができる。
【0224】
もし、色差ブロックの場合(S1610)、DMモードであるかどうかを判断する(S1615)。
【0225】
もし、現在ブロックが色差ブロックであり、且つDMブロックの場合、DCTを適用することができる(S1660)。一方、もし、現在ブロックが色差ブロックであり、且つDMブロックでない場合、色差信号に対する画面内予測方向モードを、色差信号に対する残余映像の周波数変換方式を誘導するのに使用することができる(S1625)。
【0226】
ここで、色差ブロックがDMモードに符号化された場合、DMモードのうち、EMモード(平面モード(Planar)、平均モード(DC)、水平モード(Hor)、垂直モード(Ver)、垂直方向で8番目位置したモード(Ver+8又は34番モード))に該当する画面内予測方向モードは、DST又はDCT又はそれ以外の周波数変換方法を適用することができる。
【0227】
次に、もし、現在ブロック(輝度及び色差信号ブロック)の画面内予測方向モードが‘2’より大きく且つ‘10’より小さい場合(S1620)、現在ブロック(輝度及び色差信号ブロック)に対する周波数変換方式として、水平方向には整数離散正弦変換(DST)を適用し、垂直方向には整数離散余弦変換(DCT)を適用することができる(S1645)。
【0228】
一方、もし、現在ブロック(輝度及び色差信号ブロック)の画面内予測方向モードが‘0’(Planar)であり、又は‘11’より大きく且つ‘25’より小さい場合(S1635)、現在ブロック(輝度及び色差信号ブロック)に対する周波数変換方式として、水平垂直方向の両方ともに整数離散正弦変換(DST)を適用することができる(S1650)。
【0229】
また、もし、現在ブロック(輝度及び色差信号ブロック)の画面内予測方向モードが‘26’より大きく且つ‘34’より小さい場合(S1640)、現在ブロック(輝度及び色差信号ブロック)に対する周波数変換方式として、水平方向には整数離散余弦変換(DCT)を適用し、垂直方向には整数離散正弦変換(DST)を適用することができる(S1655)。
【0230】
そうでない場合、現在ブロック(輝度及び色差信号ブロック)に対する周波数変換方式として、水平垂直方向の両方ともに整数離散余弦変換(DCT)を適用することができる(S1660)。
【0231】
前述した
図16の方法を、スケールされた変換係数のための変換過程(Transformation process for scaled transform coefficients)に下記のように反映することができる。
【0232】
図16の例を反映したスケールされた変換係数のための変換過程
【0233】
ここでの入力は、下記の通りである。
【0234】
-現在変換ブロックの幅Width:nW
【0235】
-現在変換ブロックの高さHeight:nH
【0236】
-要素(element)dijを有するスケールされた変換係数の配列:(nW×nH)配列d
【0237】
現在ブロックの輝度信号及び色差信号に対するインデックス:cIdx
【0238】
-もし、cIdxが‘0’の場合、輝度信号を意味し、cIdxが‘1’であり、又はcIdxが‘2’の場合、色差信号を意味する。また、cIdxが‘1’の場合、色差信号でCbを意味し、cIdxが‘2’の場合、色差信号でCrを意味する。
【0239】
ここでの出力は、下記の通りである。
【0240】
-スケールされた変換係数を逆変換して求められた残余信号に対する配列:(nW×nH)配列r
【0241】
現在ブロックに対する符号化モード(PredMode)が画面内予測モード(Intra)であり、且つLog2(nW*nH)値が‘4’であり、輝度信号の場合には、輝度信号の画面内予測方向モードによって変数horizTrTypeとvertTrTypeは、表9を介して求められる。
【0242】
色差信号の場合には、色差信号の画面内予測符号化モードが‘4’より小さい場合、色差信号の画面内予測方向モードによって変数horizTrTypeとvertTrTypeは、表9を介して求められる。もし、そうでない場合、変数horizTrTypeとvertTrTypeは‘0’に設定される。
【0243】
色差信号の画面内予測方向モードが‘35’の場合には、変数horizTrTypeとvertTrTypeは‘0’に設定される。
【0244】
【0245】
変数horizTrTypeとvertTrType値を有してスケールされた変換係数に対する逆変換過程を実行する。まず、現在ブロックの大きさ(nW,nH)とスケールされた変換係数配列(nW×nH array d)、変数horizTrTypeの入力を受け、水平方向に1次元逆変換を実行することで、配列(nW×nH array e)を出力する。
【0246】
次に、配列(nW×nH array e)の入力を受けて配列(nW×nH array g)を数式5のように誘導する。
【0247】
【0248】
次に、現在ブロックの大きさ(nW,nH)と配列(nW×nH array g)、変数vertTrTypeの入力を受けて垂直方向に1次元逆変換を実行する。
【0249】
次に、cIdxによって残余信号に対する配列(nW×nH array r)を数式6のように設定する。
【0250】
【0251】
ここで、シフト(shift)は、cIdxが‘0’の場合、shift=20-BitDepthYであり、そうでない場合、shift=20-BitDepthC値を有し、BitDepthは、現在映像に対するサンプルのビット数(例えば、8ビット)を意味する。
【0252】
図17は、本実施例によって、色差信号の画面内予測方向モードに基づいて色差信号の残余映像に対する周波数変換方式を選択的に誘導する方法の他の例を説明するフローチャートである。
【0253】
図17を参照すると、まず、現在ブロックが画面内符号化(Intra)で符号化されたかどうかを判断(S1710)し、画面内符号化された場合、現在ブロックに対する周波数変換方式は、整数離散正弦変換(DST)又は整数離散余弦変換(DCT)を適用する(S1755)。
【0254】
そうでない場合(現在ブロックが画面内符号化(Intra)で符号化されない場合)、現在ブロックの輝度又は色差信号に対する画面内予測方向モード(IntraPredMode(C))を取得する(S1715)。ここで、輝度信号に対する周波数変換方式を誘導する時は、IntraPredMode(C)がIntraPredMode(輝度信号に対する画面内予測方向モード)に変更され、色差信号に対する周波数変換方式を誘導する時は、IntraPredMode(C)がIntraPredModeC(色差信号に対する画面内予測方向モード)に変更される。ここで、現在ブロックの輝度信号に対する画面内予測方向モードを、輝度信号に対する残余映像の周波数変換方式を誘導するのに使用することができる。そして、現在ブロックの色差信号に対する画面内予測方向モードを、色差信号に対する残余映像の周波数変換方式を誘導するのに使用することができる。
【0255】
このとき、周波数変換方式を選択するための画面内予測方向モードは、下記の1~3のうちいずれか一つのように多様な方法により取得することができる。
【0256】
1.現在ブロックの輝度信号に対する画面内予測方向モードを、輝度信号及び色差信号に対する残余映像に全部適用して周波数変換方式を誘導するのに使用することができる。
【0257】
2.現在ブロックの色差信号に対する画面内予測方向モードを、輝度信号及び色差信号に対する残余映像に全部適用して周波数変換方式を誘導するのに使用することができる。
【0258】
3.現在ブロックの輝度信号に対しては整数離散余弦変換(DCT)又は整数離散正弦変換(DST)のみを使用することができる。そして、現在ブロックの色差信号に対する画面内予測方向モードを、色差信号に対する残余映像の周波数変換方式を誘導するのに使用することができる。
【0259】
その他、多様な方法により周波数変換方式が誘導されることができる。
【0260】
次に、現在ブロックが4×4大きさ(iWidth==4)のブロックであるかどうかが判断される(S1720)。もし、現在ブロックが4×4大きさ(iWidth==4)のブロックでない場合、現在ブロックに対する周波数変換方式は、整数変換又は整数離散余弦変換(DCT)を適用する(S1755)。
【0261】
そうでない場合(現在ブロックが4×4大きさ(iWidth==4)のブロックである場合)、現在ブロックの画面内予測方向モードを検査する。
【0262】
もし、現在ブロックの画面内予測方向モードが‘2’より大きく且つ‘10’より小さい場合(S1725)、現在ブロックに対する周波数変換方式として、水平方向には整数離散正弦変換(DST)を適用し、垂直方向には整数離散余弦変換(DCT)を適用することができる(S1740)。
【0263】
一方、もし、現在ブロックの画面内予測方向モードが‘0’であり、又は‘11’より大きく且つ‘25’より小さい場合(S1730)、現在ブロックに対する周波数変換方式として、水平垂直方向の両方ともに整数離散正弦変換(DST)を適用することができる(S1745)。
【0264】
一方、もし、現在ブロックの画面内予測方向モードが‘26’より大きく且つ‘34’より小さい場合(S1735)、現在ブロックに対する周波数変換方式として、水平方向には整数離散余弦変換(DCT)を適用し、垂直方向には整数離散正弦変換(DST)を適用することができる(S1750)。
【0265】
そうでない場合、現在ブロックに対する周波数変換方式として、水平垂直方向の両方ともに整数離散余弦変換(DCT)を適用することができる(S1755)。
【0266】
このとき、画面内予測方向モードによる周波数変換方式は、多様に使われることができる。例えば、現在ブロックの画面内予測方向モードが‘2’より大きく且つ‘10’より小さい場合、前記例のように、周波数変換方式を適用することもできる。他の方法として、現在ブロックに対する周波数変換方式として、水平方向には整数離散余弦変換(DCT)を適用し、垂直方向には整数離散正弦変換(DST)を適用することができる。また、他の方法として、現在ブロックに対する周波数変換方式として、水平垂直方向の両方ともに整数離散余弦変換(DCT)を適用することもでき、又は水平垂直方向の両方ともに整数離散正弦変換(DST)を適用することもできる。また、DC(平均値予測、方向性モードでないモード)モードのみを除いて他の全ての水平垂直方向に整数離散正弦変換(DST)を適用することもできる。
【0267】
このように多様な周波数変換方式を多様に適用する方法は、現在ブロックの画面内予測方向モードが‘2’より大きく且つ‘10’より小さい場合だけでなく、それ以外の画面内予測方向モード範囲でも適用することができる。このような内容は、下記の実施例でも同一に適用されることができる。
【0268】
前述した方法を、スケールされた変換係数のための変換過程(Transformation process for scaled transform coefficients)に下記のように反映することができる。
【0269】
図17の例を反映したスケールされた変換係数のための変換過程
【0270】
ここでの入力は、下記の通りである。
【0271】
-現在変換ブロックの幅Width:nW
【0272】
-現在変換ブロックの高さHeight:nH
【0273】
-要素(element)dijを有するスケールされた変換係数の配列;(nW×nH)配列d
【0274】
-現在ブロックの輝度信号及び色差信号に対するインデックス:cIdx
【0275】
もし、cIdxが‘0’の場合、輝度信号を意味し、cIdxが‘1’であり、又はcIdxが‘2’の場合、色差信号を意味する。また、cIdxが‘1’の場合、色差信号でCbを意味し、cIdxが‘2’の場合、色差信号でCrを意味する。
【0276】
ここでの出力は、下記の通りである。
【0277】
スケールされた変換係数を逆変換して求められた残余信号に対する配列:(nW×nH)配列r
【0278】
現在ブロックに対する符号化モード(PredMode)が画面内予測モード(Intra)であり、且つLog2(nW*nH)値が‘4’であり、(1)輝度信号の場合には、輝度信号の画面内予測方向モードによって変数horizTrTypeとvertTrTypeは、表10を介して求められ、(2)色差信号の場合には、色差信号の画面内予測方向モードによって変数horizTrTypeとvertTrTypeは、表10を介して求められる。もし、そうでない場合、変数horizTrTypeとvertTrTypeは‘0’に設定する。
【0279】
【0280】
変数horizTrTypeとvertTrType値を有してスケールされた変換係数に対する逆変換過程を実行する。まず、現在ブロックの大きさ(nW,nH)とスケールされた変換係数配列(nW×nH array d)、変数horizTrTypeの入力を受け、水平方向に1次元逆変換を実行することで、配列(nW×nH array e)を出力する。
【0281】
次に、配列(nW×nH array e)の入力を受けて配列(nW×nH array g)を数式7のように誘導する。
【0282】
【0283】
次に、現在ブロックの大きさ(nW,nH)と配列(nW×nH array g)、変数vertTrTypeの入力を受けて垂直方向に1次元逆変換を実行する。
【0284】
cIdxによって残余信号に対する配列(nW×nH array r)を数式8のように設定する。
【0285】
【0286】
ここで、シフト(shift)は、cIdxが‘0’の場合、shift=20-BitDepthYであり、そうでない場合、shift=20-BitDepthC値を有し、BitDepthは、現在映像に対するサンプルのビット数(例えば、8ビット)を意味する。
【0287】
[実施例4]色差信号のIntra_FromLuma(LM)符号化モードに対して輝度信号の画面内予測方向モードによって色差信号の残余映像に対する周波数変換方式を選択的に誘導する方法及び装置
【0288】
図18は、本実施例によって、色差信号のIntra_FromLuma(LM)符号化モードに対して輝度信号の画面内予測方向モードによって色差信号の残余映像に対する周波数変換方式を選択的に誘導する方法を説明するフローチャートである。
【0289】
図18によると、まず、現在ブロックが画面内符号化(Intra)で符号化され、且つ現在ブロックが4×4大きさ(trafoSize(又は、iWidth)==4)のブロックの場合(S1810)、現在ブロックに対する周波数変換方式は、整数離散正弦変換(DST)又は整数離散余弦変換(DCT)を適用する(S1855)。そうでない場合、現在ブロックの周波数変換方式は、DCTを適用することができる。
【0290】
次に、現在ブロックが輝度ブロック又は色差ブロックであり、且つ色差ブロックの画面内予測方向モードがLMモードの場合(S1815)、輝度信号に対する画面内予測方向モード(IntraPredMode)を取得する(S1820)。
【0291】
ここで、現在ブロックの輝度信号に対する画面内予測方向モードを、輝度信号及び色差信号に対する残余映像の周波数変換方式を誘導するのに使用することができる。
【0292】
もし、ブロック(LMモードでない色差ブロック)の場合、DCTを適用することができる(S1855)。
【0293】
次に、もし、現在ブロック(輝度及び色差信号ブロック)の画面内予測方向モードが‘2’より大きく且つ‘10’より小さい場合(S1825)、現在ブロック(輝度及び色差信号ブロック)に対する周波数変換方式として、水平方向には整数離散正弦変換(DST)を適用し、垂直方向には整数離散余弦変換(DCT)を適用することができる(S1840)。
【0294】
一方、もし、現在ブロック(輝度及び色差信号ブロック)の画面内予測方向モードが‘0’(Planar)であり、又は‘11’より大きく且つ‘25’より小さい場合(S1830)、現在ブロック(輝度及び色差信号ブロック)に対する周波数変換方式として、水平垂直方向の両方ともに整数離散正弦変換(DST)を適用することができる(S1845)。
【0295】
また、もし、現在ブロック(輝度及び色差信号ブロック)の画面内予測方向モードが‘26’より大きく且つ‘34’より小さい場合(S1835)、現在ブロック(輝度及び色差信号ブロック)に対する周波数変換方式として、水平方向には整数離散余弦変換(DCT)を適用し、垂直方向には整数離散正弦変換(DST)を適用することができる(S1850)。そうでない場合、現在ブロック(輝度及び色差信号ブロック)に対する周波数変換方式として、水平垂直方向の両方ともに整数離散余弦変換(DCT)を適用することができる(S1855)。
【0296】
一方、前述した
図18の例に係るスケールされた変換係数のための変換過程(Transformation process for scaled transform coefficients)は、下記の通りである。
【0297】
図18の例に係るスケールされた変換係数のための変換過程
【0298】
ここでの入力は、下記の通りである。
【0299】
-現在変換ブロックの幅Width:nW
【0300】
-現在変換ブロックの高さHeight:nH
【0301】
-要素(element)dijを有するスケールされた変換係数の配列:(nW×nH)配列d
【0302】
-現在ブロックの輝度信号及び色差信号に対するインデックス:cIdx
【0303】
-もし、cIdxが‘0’の場合、輝度信号を意味し、cIdxが‘1’であり、又はcIdxが‘2’の場合、色差信号を意味する。また、cIdxが‘1’の場合、色差信号でCbを意味し、cIdxが‘2’の場合、色差信号でCrを意味する。
【0304】
ここでの出力は、下記の通りである。
【0305】
-スケールされた変換係数を逆変換して求められた残余信号に対する配列;(nW×nH)配列r
【0306】
現在ブロックに対する符号化モード(PredMode)が画面内予測モード(Intra)であり、且つLog2(nW*nH)値が‘4’であり、輝度信号の場合には、輝度信号の画面内予測方向モードによって変数horizTrTypeとvertTrTypeは、表11を介して求められ、色差信号の符号化モードがIntra_FromLuma(LM)の場合には、輝度信号の画面内予測方向モードによって変数horizTrTypeとvertTrTypeは、表11を介して求められる。もし、そうでない場合、変数horizTrTypeとvertTrTypeは‘0’に設定する。
【0307】
【0308】
変数horizTrTypeとvertTrType値を有してスケールされた変換係数に対する逆変換過程を実行する。まず、現在ブロックの大きさ(nW,nH)とスケールされた変換係数配列(nW×nH array d)、変数horizTrTypeの入力を受け、水平方向に1次元逆変換を実行することで、配列(nW×nH array e)を出力する。
【0309】
次に、配列(nW×nH array e)の入力を受けて配列(nW×nH array g)を数式9のように誘導する。
【0310】
【0311】
次に、現在ブロックの大きさ(nW,nH)と配列(nW×nH array g)、変数vertTrTypeの入力を受けて垂直方向に1次元逆変換を実行する。
【0312】
cIdxによって残余信号に対する配列(nW×nH array r)を数式10のように設定する。
【0313】
【0314】
ここで、シフト(shift)は、cIdxが‘0’の場合、shift=20-BitDepthYであり、そうでない場合、shift=20-BitDepthC値を有し、BitDepthは、現在映像に対するサンプルのビット数(例えば、8ビット)を意味する。
【0315】
図19は、本実施例によって、色差信号のIntra_FromLuma(LM)符号化モードに対して輝度信号の画面内予測方向モードによって色差信号の残余映像に対する周波数変換方式を選択的に誘導する方法の他の例を説明するフローチャートである。
【0316】
図19を参照すると、現在ブロックが条件1(画面内符号化(Intra)で符号化され、且つ輝度信号(Luma)のブロック)又は条件2(現在ブロックがLMモードであり、且つ色差(Chroma)信号のブロック)であるかどうかが判断される(S1910)。
【0317】
条件1又は条件2を満たさない場合、現在ブロックの輝度信号及び色差信号に対する周波数変換方式は、整数変換又は整数離散余弦変換(DCT)を適用する(S1955)。
【0318】
そうでない場合(条件1又は条件2を満たす場合)、現在ブロックの輝度信号に対する画面内予測方向モード(IntraPredMode)を取得する(S1915)。
【0319】
ここで、現在ブロックの輝度信号に対する画面内予測方向モードを、輝度信号に対する残余映像の周波数変換方式を誘導するのに使用することができる。そして、現在ブロックの色差信号がLMモードに符号化された場合、現在ブロックの輝度信号に対する画面内予測方向モードを、色差信号に対する残余映像の周波数変換方式を誘導するのに使用することができる。
【0320】
次に、現在ブロックが4×4大きさ(iWidth==4)のブロックであるかどうかを判断する(S1920)。もし、現在ブロックが4×4大きさ(iWidth==4)のブロックでない場合、現在ブロックの輝度信号及び色差信号に対する周波数変換方式は、整数変換又は整数離散余弦変換(DCT)を適用する(S1955)。そうでない場合(現在ブロックが4×4大きさ(iWidth==4)のブロックである場合)、現在ブロックの画面内予測方向モードを検査する。
【0321】
もし、現在ブロックの画面内予測方向モードが‘2’より大きく且つ‘10’より小さい場合(S1925)、現在ブロックの輝度信号に対する周波数変換方式として、水平方向には整数離散正弦変換(DST)を適用し、垂直方向には整数離散余弦変換(DCT)を適用することができる(S1940)。現在ブロックの色差信号がLMモードに符号化された場合、現在ブロックの輝度信号に対する周波数変換方式を、色差信号の残余映像を周波数変換するのに使用することができる。
【0322】
しかし、現在ブロックの色差信号がLMモードに符号化されない場合、現在ブロックの色差信号に対して水平垂直方向の両方ともに整数離散余弦変換(DCT)を実行することができる(S1955)。
【0323】
もし、現在ブロックの画面内予測方向モードが‘0’であり、又は‘11’より大きく且つ‘25’より小さい場合(S1930)、現在ブロックの輝度信号に対する周波数変換方式として、水平垂直方向の両方ともに整数離散正弦変換(DST)を適用することができる(S1945)。現在ブロックの色差信号がLMモードに符号化された場合、現在ブロックの輝度信号に対する周波数変換方式を、色差信号の残余映像を周波数変換するのに使用することができる。一方、現在ブロックの色差信号がLMモードに符号化されない場合、現在ブロックの色差信号に対して水平垂直方向の両方ともに整数離散余弦変換(DCT)を実行することができる(S1955)。
【0324】
一方、もし、現在ブロックの画面内予測方向モードが‘26’より大きく且つ‘34’より小さい場合(S1935)、現在ブロックの輝度信号に対する周波数変換方式として、水平方向には整数離散余弦変換(DCT)を適用し、垂直方向には整数離散正弦変換(DST)を適用することができる(S1950)。現在ブロックの色差信号がLMモードに符号化された場合、現在ブロックの輝度信号に対する周波数変換方式を、色差信号の残余映像を周波数変換するのに使用することができる。そうでない場合、現在ブロックの色差信号がLMモードに符号化されない場合、現在ブロックの色差信号に対して水平垂直方向の両方ともに整数離散余弦変換(DCT)を実行することができる(S1955)。
【0325】
そうでない場合、現在ブロックの輝度信号及び色差信号の残余映像に対する周波数変換方式として、水平垂直方向の両方ともに整数離散余弦変換(DCT)を適用する(S1955)。
【0326】
前述した例を反映したスケールされた変換係数のための変換過程(Transformation process for scaled transform coefficients)は、下記の通りである。
【0327】
図19の例を反映したスケールされた変換係数のための変換過程
【0328】
ここでの入力は、下記の通りである。
【0329】
-現在変換ブロックの幅Width:nW
【0330】
-現在変換ブロックの高さHeight:nH
【0331】
-要素(element)dijを有するスケールされた変換係数の配列:(nW×nH)配列d
【0332】
-現在ブロックの輝度信号及び色差信号に対するインデックス:cIdx
【0333】
-もし、cIdxが‘0’の場合、輝度信号を意味し、cIdxが‘1’であり、又はcIdxが‘2’の場合、色差信号を意味する。また、cIdxが‘1’の場合、色差信号でCbを意味し、cIdxが‘2’の場合、色差信号でCrを意味する。
【0334】
ここでの出力は、下記の通りである。
【0335】
-スケールされた変換係数を逆変換して求められた残余信号に対する配列:(nW×nH)配列r
【0336】
現在ブロックに対する符号化モード(PredMode)が画面内予測モード(Intra)であり、且つLog2(nW*nH)値が‘4’であり、輝度信号の場合には、輝度信号の画面内予測方向モードによって変数horizTrTypeとvertTrTypeは、表12を介して求められ、色差信号の符号化モードがIntra_FromLuma(LM)の場合には、輝度信号の画面内予測方向モードによって変数horizTrTypeとvertTrTypeは、表12を介して求められる。もし、そうでない場合、変数horizTrTypeとvertTrTypeは‘0’に設定する。
【0337】
【0338】
変数horizTrTypeとvertTrType値を有してスケールされた変換係数に対する逆変換過程を実行する。まず、現在ブロックの大きさ(nW,nH)とスケールされた変換係数配列(nW×nH array d)、変数horizTrTypeの入力を受け、水平方向に1次元逆変換を実行することで、配列(nW×nH array e)を出力する。
【0339】
次に、配列(nW×nH array e)の入力を受けて配列(nW×nH array g)を数式11のように誘導する。
【0340】
【0341】
次に、現在ブロックの大きさ(nW,nH)と配列(nW×nH array g)、変数vertTrTypeの入力を受けて垂直方向に1次元逆変換を実行する。
【0342】
cIdxによって残余信号に対する配列(nW×nH array r)を数式12のように設定する。
【0343】
【0344】
ここで、シフト(shift)は、cIdxが‘0’の場合、shift=20-BitDepthYであり、そうでない場合、shift=20-BitDepthC値を有し、BitDepthは、現在映像に対するサンプルのビット数(例えば、8ビット)を意味する。
【0345】
ここで、本実施例は、現在色差ブロックが“Intra_FromLuma”モードに符号化された時だけでなく、下記の1又は2のような多様な場合にも適用されることができる。
【0346】
1.色差ブロックを予測するにあたって、復元された輝度信号ブロックに加重値をかけた後、オフセットを加える全ての方式に対して適用することができる。
【0347】
2.色差ブロックを予測するにあたって、復元された輝度信号ブロックと色差信号ブロックに対するテンプレートシフト(template shift)を利用することで、色差ブロックを予測する全ての方式に対して適用することができる。ここで、テンプレートシフトは、輝度信号と色差信号との間の相関性を類推するために使用する。
【0348】
その他、本実施例は、多様に適用されることができる。
【0349】
[実施例5]画面内予測方向モードによって色差信号の残余映像に対する周波数変換方式を選択的に誘導する方法及び装置
【0350】
図20は、本実施例によって、画面内予測方向モードに基づいて色差信号の残余映像に対する周波数変換方式を選択的に誘導する方法の一例を説明するフローチャートである。
【0351】
図20を参照すると、まず、現在ブロックが画面内符号化(Intra)で符号化され、且つ現在ブロックが4×4大きさ(trafoSize(又は、iWidth)==4)のブロックであるかどうかを判断する(S2010)。まず、現在ブロックが画面内符号化(Intra)で符号化され、且つ現在ブロックが4×4大きさ(trafoSize(又は、iWidth)==4)のブロックの場合、現在ブロックに対する周波数変換方式は、整数離散正弦変換(DST)又は整数離散余弦変換(DCT)を適用する。そうでない場合、現在ブロックの周波数変換方式は、DCTを適用することができる(S2065)。
【0352】
次に、現在ブロックが輝度ブロック又は色差ブロックであり、且つ色差ブロックの画面内予測方向モードがLMモードの場合(S2015)、輝度信号に対する画面内予測方向モード(IntraPredMode)を取得する(S2020)。ここで、現在ブロックの輝度信号に対する画面内予測方向モードを、輝度信号及び色差信号に対する残余映像の周波数変換方式を誘導するのに使用することができる。
【0353】
もし、そうでない場合、色差ブロックがDMモードであるかどうかを判断する(S2025)。
【0354】
もし、現在ブロックが色差ブロックであり、且つDMブロックの場合、DCTを適用することができる(S2065)。一方、もし、現在ブロックが色差ブロックであり、且つDMブロックでない場合、色差信号に対する画面内予測方向モードを、色差信号に対する残余映像の周波数変換方式を誘導するのに使用することができる(S2030)。
【0355】
ここで、色差ブロックがDMモードに符号化された場合、DMモードのうち、EMモード(平面モード(Planar)、平均モード(DC)、水平モード(Hor)、垂直モード(Ver)、垂直方向で8番目位置したモード(Ver+8又は34番モード))に該当する画面内予測方向モードは、DST又はDCT又はそれ以外の周波数変換方法を適用することができる。
【0356】
次に、もし、現在ブロック(輝度及び色差信号ブロック)の画面内予測方向モードが‘2’より大きく且つ‘10’より小さい場合(S2035)、現在ブロック(輝度及び色差信号ブロック)に対する周波数変換方式として、水平方向には整数離散正弦変換(DST)を適用し、垂直方向には整数離散余弦変換(DCT)を適用することができる(S2050)。
【0357】
一方、もし、現在ブロック(輝度及び色差信号ブロック)の画面内予測方向モードが‘0’(Planar)であり、又は‘11’より大きく且つ‘25’より小さい場合(S2040)、現在ブロック(輝度及び色差信号ブロック)に対する周波数変換方式として、水平垂直方向の両方ともに整数離散正弦変換(DST)を適用することができる(S2055)。
【0358】
また、もし、現在ブロック(輝度及び色差信号ブロック)の画面内予測方向モードが‘26’より大きく且つ‘34’より小さい場合(S2045)、現在ブロック(輝度及び色差信号ブロック)に対する周波数変換方式として、水平方向には整数離散余弦変換(DCT)を適用し、垂直方向には整数離散正弦変換(DST)を適用することができる(S2060)。
【0359】
そうでない場合、現在ブロック(輝度及び色差信号ブロック)に対する周波数変換方式として、水平垂直方向の両方ともに整数離散余弦変換(DCT)を適用することができる(S2065)。
【0360】
ここで、周波数変換方法を選択的に適用する方法は、下記1~3のうちいずれか一つのように多様に適用することができる。
【0361】
1.色差ブロックがDMモードに符号化された場合、DMモードのうち、EMモード(平面モード(Planar)、平均モード(DC)、水平モード(Hor)、垂直モード(Ver)、垂直方向で8番目位置したモード(Ver+8又は34番モード))に該当する画面内予測方向モードに対してのみDST又はDCT又はそれ以外の周波数変換方法を適用することができる。
【0362】
2.色差ブロックがLMモードに符号化された場合、輝度信号から誘導された画面内予測方向モードのうち、EMモード(平面モード(Planar)、平均モード(DC)、水平モード(Hor)、垂直モード(Ver)、垂直方向で8番目位置したモード(Ver+8又は34番モード))に該当する画面内予測方向モードに対してのみDST又はDCT又はそれ以外の周波数変換方法を適用することができる。
【0363】
3.画面内予測方向モードがPlanarであり、又はDCの場合にのみ、DST又はDCT又はそれ以外の周波数変換方法を選択的に適用することができ、その他のモードに対してはDST又はDCT又はそれ以外の周波数変換方法を固定的に適用することができる。または、その反対も可能である。
【0364】
その他、多様な方法により周波数変換方法を誘導することができる。
【0365】
前述した
図20の方法を反映してスケールされた変換係数のための変換(Transformation process for scaled transform coefficients)を実行する方法は、下記の通りである。
【0366】
図20の例を反映したスケールされた変換係数のための変換過程
【0367】
ここでの入力は、下記の通りである。
【0368】
-現在変換ブロックの幅Width:nW
【0369】
-現在変換ブロックの高さHeight:nH
【0370】
-要素(element)dijを有するスケールされた変換係数の配列:(nW×nH)配列d
【0371】
-現在ブロックの輝度信号及び色差信号に対するインデックス:cIdx
【0372】
-もし、cIdxが‘0’の場合、輝度信号を意味し、cIdxが‘1’であり、又はcIdxが‘2’の場合、色差信号を意味する。また、cIdxが‘1’の場合、色差信号でCbを意味し、cIdxが‘2’の場合、色差信号でCrを意味する。
【0373】
ここでの出力は、下記の通りである。
【0374】
-スケールされた変換係数を逆変換して求められた残余信号に対する配列:(nW×nH)配列r
【0375】
現在ブロックに対する符号化モード(PredMode)が画面内予測モード(Intra)であり、且つLog2(nW*nH)値が‘4’であり、輝度信号である場合には、輝度信号の画面内予測方向モードによって変数horizTrTypeとvertTrTypeは、以下の表13を介して求められ、色差信号である場合には、色差信号の画面内予測符号化モードが‘4’より小さい場合、色差信号の画面内予測方向モードによって変数horizTrTypeとvertTrTypeは、表13を介して求められる。一方、色差信号の符号化モードがIntra_FromLuma(LM)の場合には、輝度信号の画面内予測方向モードによって、変数horizTrTypeとvertTrTypeは、以下の表を介して求められる。もし、そうでない場合、変数horizTrTypeとvertTrTypeは‘0’に設定する。
【0376】
【0377】
変数horizTrTypeとvertTrType値を有してスケールされた変換係数に対する逆変換過程を実行する。まず、現在ブロックの大きさ(nW,nH)とスケールされた変換係数配列(nW×nH array d)、変数horizTrTypeの入力を受け、水平方向に1次元逆変換を実行することで、配列(nW×nH array e)を出力する。
【0378】
次に、配列(nW×nH array e)の入力を受けて配列(nW×nH array g)を数式13のように誘導する。
【0379】
【0380】
次に、現在ブロックの大きさ(nW,nH)と配列(nW×nH array g)、変数vertTrTypeの入力を受けて垂直方向に1次元逆変換を実行する。
【0381】
cIdxによって残余信号に対する配列(nW×nH array r)を数式14のように設定する。
【0382】
【0383】
ここで、シフト(Shift)は、cIdxが‘0’の場合、shift=20-BitDepthYであり、そうでない場合、shift=20-BitDepthC値を有し、BitDepthは、現在映像に対するサンプルのビット数(例えば、8ビット)を意味する。
【0384】
図21は、本実施例によって、画面内予測方向モードに基づいて色差信号の残余映像に対する周波数変換方式を選択的に誘導する方法の他の例を説明するフローチャートである。
【0385】
図21によると、まず、現在ブロックが画面内符号化(Intra)で符号化されない場合(S2105)、現在ブロックの輝度信号及び色差信号に対する周波数変換方式として整数変換又は整数離散余弦変換(DCT)を適用する(S2160)。
【0386】
そうでない場合(現在ブロックが画面内符号化(Intra)で符号化された場合)、現在ブロックが輝度信号(Luma)のブロックであるか、現在ブロックの符号化モードがLMであるかどうかを判断する(S2110)。
【0387】
もし、現在ブロックが輝度信号でもなく、且つ現在ブロックの符号化モードがLMでもない場合には、色差信号に対する画面内予測方向モードを取得する(S2115)。そうでない場合、輝度信号に対する画面内予測方向モードを取得する(S2120)。
【0388】
ここで、現在ブロックの輝度信号に対する画面内予測方向モードを、輝度信号に対する残余映像の周波数変換方式を誘導するのに使用することができる。ここで、現在ブロックの色差信号に対する画面内予測方向モードを、色差信号に対する残余映像の周波数変換方式を誘導するのに使用することができる。
【0389】
そして、現在ブロックの色差信号がLMモードに符号化された場合、現在ブロックの輝度信号に対する画面内予測方向モードを、色差信号に対する残余映像の周波数変換方式を誘導するのに使用することができる。
【0390】
次に、現在ブロックが4×4大きさ(iWidth==4)のブロックであるかどうかを判断する(S2125)。もし、現在ブロックが4×4大きさ(iWidth==4)のブロックでない場合、現在ブロックの輝度信号及び色差信号に対する周波数変換方式は、整数変換又は整数離散余弦変換(DCT)を適用する(S2160)。そうでない場合(現在ブロックが4×4大きさ(iWidth==4)のブロックである場合)、現在ブロックの画面内予測方向モードを検査する。
【0391】
ここで、輝度信号に対する周波数変換方式を誘導する時は、IntraPredMode(C)がIntraPredMode(輝度信号に対する画面内予測方向モード)に変更され、色差信号に対する周波数変換方式を誘導する時は、IntraPredMode(C)がIntraPredModeC(色差信号に対する画面内予測方向モード)に変更される。
【0392】
もし、現在ブロックの画面内予測方向モードが‘2’より大きく且つ‘10’より小さい場合(S2130)、現在ブロックに対する周波数変換方式として、水平方向には整数離散正弦変換(DST)を適用し、垂直方向には整数離散余弦変換(DCT)を適用することができる(S2145)。
【0393】
一方、もし、現在ブロックの画面内予測方向モードが‘0’であり、又は‘11’より大きく且つ‘25’より小さい場合(S2135)、現在ブロックに対する周波数変換方式として、水平垂直方向の両方ともに整数離散正弦変換(DST)を適用することができる(S2150)。
【0394】
一方、もし、現在ブロックの画面内予測方向モードが‘26’より大きく且つ‘34’より小さい場合(S2140)、現在ブロックに対する周波数変換方式として、水平方向には整数離散余弦変換(DCT)を適用し、垂直方向には整数離散正弦変換(DST)を適用することができる(S2155)。
【0395】
そうでない場合、現在ブロックの輝度信号及び色差信号の残余映像に対する周波数変換方式として、水平垂直方向の両方ともに整数離散余弦変換(DCT)を適用することができる(S2160)。
【0396】
前述した例に係る方法をスケールされた変換係数のための変換(Transformation process for scaled transform coefficients)に反映した方法は、下記の通りである。
【0397】
図21の例を反映したスケールされた変換係数のための変換過程
【0398】
ここでの入力は、下記の通りである。
【0399】
-現在変換ブロックの幅Width:nW
【0400】
-現在変換ブロックの高さHeight:nH
【0401】
-要素(element)dijを有するスケールされた変換係数の配列:(nW×nH)配列d
【0402】
-現在ブロックの輝度信号及び色差信号に対するインデックス:cIdx
【0403】
-もし、cIdxが‘0’の場合、輝度信号を意味し、cIdxが‘1’であり、又はcIdxが‘2’の場合、色差信号を意味する。また、cIdxが‘1’の場合、色差信号でCbを意味し、cIdxが‘2’の場合、色差信号でCrを意味する。
【0404】
ここでの出力は、下記の通りである。
【0405】
-スケールされた変換係数を逆変換して求められた残余信号に対する配列:(nW×nH)配列r
【0406】
現在ブロックに対する符号化モード(PredMode)が画面内予測モード(Intra)であり、且つLog2(nW*nH)値が‘4’であり、輝度信号である場合には、輝度信号の画面内予測方向モードによって変数horizTrTypeとvertTrTypeは、表14を介して求められ、色差信号である場合には、色差信号の画面内予測方向モードによって、変数horizTrTypeとvertTrTypeは、表14を介して求められ、色差信号の符号化モードがIntra_FromLuma(LM)の場合には、輝度信号の画面内予測方向モードによって、変数horizTrTypeとvertTrTypeは、表14を介して求められる。もし、そうでない場合、変数horizTrTypeとvertTrTypeは‘0’に設定する。
【0407】
【0408】
変数horizTrTypeとvertTrType値を有してスケールされた変換係数に対する逆変換過程が実行される。まず、現在ブロックの大きさ(nW,nH)とスケールされた変換係数配列(nW×nH array d)、変数horizTrTypeの入力を受け、水平方向に1次元逆変換を実行することで、配列(nW×nH array e)を出力する。
【0409】
次に、配列(nW×nH array e)の入力を受けて配列(nW×nH array g)を数式15のように誘導する。
【0410】
【0411】
次に、現在ブロックの大きさ(nW,nH)と配列(nW×nH array g)、変数vertTrTypeの入力を受けて垂直方向に1次元逆変換を実行する。
【0412】
次に、cIdxによって残余信号に対する配列(nW×nH array r)を数式16のように設定する。
【0413】
【0414】
ここで、シフト(shift)は、cIdxが‘0’の場合、shift=20-BitDepthYであり、そうでない場合、shift=20-BitDepthC値を有し、BitDepthは、現在映像に対するサンプルのビット数(例えば、8ビット)を意味する。
【0415】
前述した方法は、ブロック大きさ又はCU深さ又はTU深さ等によって適用範囲を異なるようにすることができる。
【0416】
このように適用範囲を決定する変数(即ち、大きさ又は深さ情報)は、符号化器及び復号化器が予め決められた値を使用するように設定することもでき、プロファイル又はレベルによって決められた値を使用するようにすることもでき、符号化器が変数値をビットストリームで記載すると、復号化器は、ビットストリームからこの値を求めて使用することもできる。
【0417】
CU深さによって適用範囲を異なるようにする時は、表15に例示したように、次の三つの方式が適用されることができる:方式A)与えられた深さ以上の深さにのみ適用する方式、方式B)与えられた深さ以下にのみ適用する方式、方式C)与えられた深さにのみ適用する方式
【0418】
表15は、与えられたCU(又はTU)深さが2の場合、本発明の方法を適用する範囲決定方式の例を示す。表15において、Oは、与えられたCU(又は、TU)深さが2の場合、本発明の方法を適用する範囲決定方式の例を示す。表15において、Oは、当該深さに適用可能であるということを示し、Xは、当該深さに適用しないということを示す。
【0419】
【0420】
全ての深さに対して本発明の方法を適用しない場合は、任意の指示子(flag)を使用して示すこともでき、適用範囲を示すCU深さ値としてCU深さの最大値より一つ大きい値をシグナリングすることで表現することもできる。
【0421】
また、前述した方法は、輝度信号と色差信号との間の解像度が異なる場合にも適用することができる。
【0422】
例えば、色差信号が輝度信号の1/4大きさと仮定した時(一例として、輝度信号416×240大きさ、色差信号208×120大きさ)、輝度信号8×8ブロックは、色差信号4×4ブロックと同じである。
【0423】
図22は、輝度ブロックと色差ブロックとの間の解像度差の一例を示す。
図22の例では、輝度信号が8×8ブロック2210であり、色差信号が4×4ブロック2220である場合を例示している。
【0424】
図22の例において、輝度信号2210には4個の4×4ブロックがあり、4×4ブロック毎に各々画面内予測方向モードを有することができる。反面、色差信号2220は、2×2ブロックに分けられない。
【0425】
この場合、色差信号は、4×4ブロックに対して一つの画面内予測方向モードを有することができる。このとき、色差信号がIntra_FromLuma(LM)モードに符号化された場合(又は、色差信号がDM(輝度信号の画面内予測方向モードを色差信号の画面内予測方向モードにそのまま使用するモード)モードに符号化された場合)、色差信号の残余映像に対する周波数変換方式を誘導するための輝度信号の画面内予測方向モードは、4個の4×4ブロックのうち一つが使われることができる。
【0426】
色差信号の残余映像に対して選択的に周波数変換方式を適用するために、画面内予測方向を誘導する方法は、下記1~4のうちいずれか一つのように多様に適用されることができる。
【0427】
1.輝度信号ブロックの左上段に位置したブロックの画面内予測方向モードを使用することができる。
【0428】
2.輝度信号ブロックの右上段又は左下段又は右下段に位置したブロックの画面内予測方向モードを使用することができる。
【0429】
3.4個の輝度信号ブロックの平均値又は中間値を使用することができる。
【0430】
4.現在ブロックの4個の輝度信号ブロックと現在ブロックの周辺ブロックの色差信号ブロックの画面内予測方向モードを利用した平均値又は中間値などを使用することができる。
【0431】
その他、多様な方法により色差信号に対する画面内予測方向モードを誘導することができる。
【0432】
図23は、輝度ブロックと色差ブロックとの間の解像度差を説明する他の例である。
【0433】
図23の例のように、輝度信号2310には1個の16×16ブロックがあり、1個の画面内予測モードを有することができる。反面、色差信号2320は、4個の4×4ブロックに分けられることができ、このとき、4×4ブロックの各々に対して画面内予測方向モードを有することができる。
【0434】
このとき、色差信号がIntra_FromLuma(LM)モードに符号化された場合(又は、色差信号がDM(輝度信号の画面内予測方向モードを色差信号の画面内予測方向モードにそのまま使用するモード)モードに符号化された場合)、1個の輝度信号の画面内予測方向モードが各色差信号の残余映像ブロックに対する周波数変換方式を誘導するために使われることができる。または、色差信号の残余映像ブロックに対する周波数変換方式を誘導するために、現在ブロックの周辺ブロック(輝度ブロック又は色差ブロック)から画面内予測方向モードを誘導して使用することもできる。
【0435】
また、前述した方法は、輝度ブロックの大きさによって色差ブロックに異なるように適用することができ、また、輝度信号映像及び色差映像に異なるように適用することができ、また、周波数変換方式を水平方向及び垂直方向に異なるように適用することができる。
【0436】
表16は、この方法の組合せを概略的に説明するものである。
【0437】
【0438】
表16の変形された方法のうち、方法“ト1”を見ると、輝度ブロックの大きさが8(8×8、8×4、2×8等)であり、色差ブロックの大きさが4(4×4、4×2、2×4)である場合、明細書の実施例1(ト1-実施例1)と、実施例2-1又は実施例2-2(ト1-実施例2-1又は実施例2-2)と、実施例3(ト1-実施例3)とを輝度信号及び色差信号及び水平信号及び垂直信号に適用することができる。
【0439】
前記変形された方法のうち、方法“ヲ2”を見ると、輝度ブロックの大きさが16(16×16、8×16、4×16等)であり、色差ブロックの大きさが4(4×4、4×2、2×4)である場合、明細書の実施例1(ヲ2-実施例1)と、実施例2-1又は実施例2-2(ヲ2-実施例2-1又は実施例2-2)と、実施例3(ヲ2-実施例3)とを輝度信号及び色差信号及び水平信号に適用して垂直信号には適用しない。
【0440】
ここで、前述した方法は、現在色差ブロックが“Intra_FromLuma”モードに符号化された時だけでなく、下記の1又は2のような多様な場合にも適用することができる。
【0441】
1.色差ブロックを予測するにあたって、復元された輝度信号ブロックに加重値をかけた後、オフセットを加える全ての方式に対して適用することができる。
【0442】
2.色差ブロックを予測するにあたって、復元された輝度信号ブロックと色差信号ブロックに対するテンプレートシフト(template shift)を利用することで、色差ブロックを予測する全ての方式に対して適用することができる。ここで、テンプレートシフトは、輝度信号と色差信号との間の相関性を類推するために使用する。
【0443】
その他、多様に適用することができる。
【0444】
[実施例6]色差信号の変換方式及びスキャン方式を統合的に決定する方法及び装置
【0445】
前述したように、色差信号の残余信号(差分映像)に対するスキャニング方法は、色差信号の画面内予測方向モードによって変わることができる。
【0446】
また、色差信号の残余信号(差分映像)に対する周波数変換方式は、色差信号の画面内予測方向モードによって変わることができる。
【0447】
色差信号の残余信号(差分映像)に対するスキャニング方法は、色差信号の残余信号に対する周波数変換方式によって符号化効率が異なることができる。しかし、色差信号の残余信号(差分映像)に対するスキャニング方法と周波数変換方法は、両方とも色差信号の画面内予測方向モードによって変わることができるため、二つの方法は、所定の相関関係を有するということができる。
【0448】
即ち、色差信号の残余信号に対するスキャニング方式と周波数変換方式は、相関関係を有することができ、二つの方式が統合されて最適の組合せで決定されることができる。したがって、実施例1及び実施例2-1/実施例2-2での色差信号に対するスキャニング方法、実施例3及び実施例4、実施例5の周波数変換方式は、表17のように統合的に決定されることができる。
【0449】
表17は、本実施例によって色差信号の残余信号に対するスキャニング方法と周波数変換方式を統合して決定する方法の一例を示す。
【0450】
【0451】
表17は、色差信号の残余信号に対するスキャニング方法と周波数変換方式を統合して決定する方法の組合せを示す。ここで、EM、DM、及びLMモードは、色差信号に対する画面内予測方向モードの符号化方法を示す。
【0452】
輝度信号の画面内予測方向モードを色差信号の画面内予測方向モードとしてそのまま適用して誘導される色差信号に対するモードがDM(Derived Mode)である。実際画面内予測方向モードを符号化する色差信号に対するモードがEM(Explicit Mode)である。EMモードに符号化される色差信号の画面内予測方向モードとして、平面モード(Planar)、平均モード(DC)、水平モード(Hor)、垂直モード(Ver)、垂直方向で8番目位置したモード(Ver+8又は34番モード)が存在する。
【0453】
最後に、復元された輝度信号から色差信号を予測するモードがLM(Intra_FromLuma)モードである。
【0454】
表17において、組合せの一例として、‘A’をみると、色差信号に対する周波数変換方式を決定するために、色差信号の画面内予測方向モードのうち、EMとLMのみが利用され、DMが利用されない。EMとLMを利用して周波数変換方式が決定(実施例3、4、5)され、その後に変換された係数に対するスキャニング方法を決定するために、色差信号の画面内予測方向モードのうち、EMとDMを利用してスキャニング方式(実施例1、2)が決定される。
【0455】
ここでは符号化効率を考慮して、色差信号の画面内予測方向モードの中からDMモードを利用して周波数変換方式を誘導する場合を除外することもできる。例えば、DMモードに符号化される場合、もし、色差信号の画面内予測方向モードが輝度信号の画面内予測方向モードと異なり、色差信号の画面内予測方向モードがEMモード(平面モード(Planar)、平均モード(DC)、水平モード(Hor)、垂直モード(Ver)、垂直方向で8番目位置したモード(Ver+8又は34番モード))には存在しないモードの場合、DMモードに符号化されるよりほかないため、DMモードに符号化された色差信号の画面内予測方向モードは、正確度という側面において劣化することがあり得る。したがって、DMモードが周波数変換方式の決定に使われないこともある。
【0456】
表17において、組合せの他の例として、‘D’をみると、色差信号に対する周波数変換方式を決定するために、色差信号の画面内予測方向モードのうち、EMとLMのみが利用され、DMが利用されない。EMとLMを利用して周波数変換方式が決定(実施例3、4、5)され、その後に変換された係数に対するスキャニング方法を決定するために、色差信号の画面内予測方向モードのうち、EM、DM、及びLMを全部利用してスキャニング方式(実施例1、2)が決定される。
【0457】
ここでは符号化効率を考慮して、色差信号の画面内予測方向モードの中からLMモードを利用してスキャニング方式を誘導する場合が含まれることもできる。実施例1及び2で説明したように、LMモードに符号化された色差信号は、輝度信号と相関関係を有することができる。したがって、LMモードに符号化された色差信号の画面内予測方向モードは、輝度信号の画面内予測方向モードと略同じである。したがって、LMモードに符号化された色差信号の画面内予測方向モードは、輝度信号と類似する特性を有するため、スキャニング方式の決定に使われることができる。
【0458】
表17において、組合せの他の例として、‘T’をみると、色差信号に対する周波数変換方式を決定するために、色差信号の画面内予測方向モードのうち、EM、DM、及びLMが全部利用される。EM、DM、及びLMを利用して周波数変換方式が決定(実施例3、4、5)され、その後に変換された係数に対するスキャニング方法を決定するために、色差信号の画面内予測方向モードのうちEM、DM、及びLMを全部利用してスキャニング方式(実施例1、2)が決定される。
【0459】
表17において、組合の他の例として、‘T’方法を変形すると、色差信号に対する周波数変換方式を決定するために、色差信号の画面内予測方向モードのうち、EM、DM、及びLMモードが利用されることができる。このとき、EM、DM、及びLMモードのうち、実際復元された色差信号に対する画面内予測方向モードがEMモード(平面モード(Planar)、平均モード(DC)、水平モード(Hor)、垂直モード(Ver)、垂直方向で8番目位置したモード(Ver+8又は34番モード))の場合に対してのみ周波数変換方式が決定(実施例3、4、5)されることができる。また、変換された係数に対するスキャニング方法を決定するためにも、EM、DM、及びLMが全部利用されることができる。このとき、EM、DM、及びLMモードのうち、実際復元された色差信号に対する画面内予測方向モードがEMモード(平面モード(Planar)、平均モード(DC)、水平モード(Hor)、垂直モード(Ver)、垂直方向で8番目位置したモード(Ver+8又は34番モード))の場合に対してのみスキャニング方式(実施例1、2)が使われることができる。
【0460】
[実施例7]色差信号の変換方式及びスキャン方式を決定するためのテーブルを統合する方法及び装置
【0461】
色差信号の残余信号(差分映像)に対するスキャニング方法と周波数変換方法は、両方とも色差信号の画面内予測方向モードによって変わることができるため、二つの方法は、密接な相関関係を有するということができる。
【0462】
したがって、本実施例では画面内予測方向モードによって二つの方法を決定するために使われるテーブルを統合して使用することができる。
【0463】
表18は、本実施例によって画面内予測方向モードに基づいて誘導される周波数変換方式及びスキャニング方式の一例を示す。
【0464】
【0465】
また、表19は、本実施例によって画面内予測方向モードに基づいて誘導される周波数変換方式及びスキャニング方式の他の例を示す。
【0466】
【0467】
表20は、本実施例によって画面内予測方向モードに基づいて誘導される周波数変換方式及びスキャニング方式の他の例を示す。
【0468】
【0469】
表21は、本実施例によって画面内予測方向モードに基づいて誘導される周波数変換方式及びスキャニング方式の他の例を示す。
【0470】
【0471】
表18~表21は、画面内予測方向モードによって誘導される周波数変換方式及びスキャニング方式のテーブルを統合した例を示す。
【0472】
例えば、表19を見ると、画面内予測方向モードが2~5の場合には、垂直水平周波数変換方式としてDSTが使われ、スキャニング方法として上段右側方向スキャン(DIAG(up-right))が使われる。画面内予測方向モードが6~14の場合には、垂直周波数変換方式としてDCTが使われ、水平周波数変換方式としてDSTが使われ、スキャニング方法としてVER(垂直)が使われる。
【0473】
画面内予測方向モードが15~21の場合には、垂直水平周波数変換方式としてDSTが使われ、スキャニング方法としてDIAG(up-right)が使われる。画面内予測方向モードが22~30の場合には、垂直周波数変換方式としてDSTが使われ、水平周波数変換方式としてDCTが使われ、スキャニング方法としてHOR(水平)が使われる。
【0474】
画面内予測方向モードが31~34の場合には、垂直水平周波数変換方式としてDSTが使われ、スキャニング方法としてDIAG(up-right)が使われる。
【0475】
このように表19のように、画面内予測方向モードによって周波数変換方式とスキャニング方法が考慮される場合、表18とは異なって、VERとHORによって統一性あるように具現されることができるという長所がある。
【0476】
ここで、前記方法は、現在色差ブロックが“Intra_FromLuma”モードに符号化された時だけでなく、下記の1又は2の場合にも適用することができる。
【0477】
1.色差ブロックを予測するにあたって、復元された輝度信号ブロックに加重値をかけた後、オフセットを加える全ての方式に対して適用することができる。
【0478】
2.色差ブロックを予測するにあたって、復元された輝度信号ブロックと色差信号ブロックに対するテンプレートシフト(template shift)を利用することで、色差ブロックを予測する全ての方式に対して適用することができる。ここで、テンプレートシフトは、輝度信号と色差信号との間の相関性を類推するために使用する。
【0479】
その他、前述した方法は、多様に適用することができる。
【0480】
図24は、本発明によるエンコーディング装置を概略的に説明するブロック図である。
【0481】
図24を参照すると、エンコーディング装置2400は、予測モード特定部2410及びスキャニング部2420を含む。
【0482】
予測モード特定部2410は、現在ブロックに適用された予測モードを特定する。例えば、予測モード特定部2410は、現在ブロックの輝度サンプル及び/又は色差サンプルに適用された画面内予測モードを特定することができる。
【0483】
このとき、予測モード特定部2410は、
図1の画面内予測部より以前に位置して現在ブロックに適用する画面内予測モードを特定することもでき、画面内予測部より上位に位置して現在ブロックに適用された画面内予測モードを特定する情報を出力することもできる。
【0484】
画面内予測モードは、
図6に対する説明などで前述した通りである。
【0485】
スキャニング部2420は、現在ブロックの色差信号及び/又は輝度信号をスキャニングすることができる。このとき、スキャニング部2420は、現在ブロックの画面内予測モードに対応して現在ブロックに適用するスキャニングタイプを決定することができる。
【0486】
現在ブロックに適用するスキャニングタイプ(方法)を決定する具体的な方法は、本明細書の実施例で詳細に説明した通りである。
【0487】
図25は、本発明によるデコーディング装置を概略的に説明するブロック図である。
【0488】
図25を参照すると、デコーディング装置2500は、予測モード特定部2510及びスキャニング部2520を含む。
【0489】
予測モード特定部2510は、現在ブロックに適用された予測モードを特定する。例えば、予測モード特定部2410は、現在ブロックの輝度サンプル及び/又は色差サンプルに適用された画面内予測モードを特定することができる。
【0490】
画面内予測モードは、
図6に対する説明などで前述した通りである。
【0491】
スキャニング部2520は、現在ブロックの色差信号及び/又は輝度信号をスキャニングすることができる。このとき、スキャニング部2520は、現在ブロックの画面内予測モードに対応して現在ブロックに適用するスキャニングタイプを決定することができる。
【0492】
現在ブロックに適用するスキャニングタイプ(方法)を決定する具体的な方法は、本明細書の実施例で詳細に説明した通りである。
【0493】
前述した例示的なシステムにおいて、方法は一連のステップ又はブロックで流れ図に基づいて説明されているが、本発明は、ステップの順序に限定されるものではなく、あるステップは、前述と異なるステップと、異なる順序に又は同時に発生することができる。また、前述した実施例は、多様な態様の例示を含む。例えば、各実施例の組合せも、本発明の一実施例として理解しなければならない。