IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートの特許一覧 ▶ ユニバーシティ−インダストリー コーオペレイション グループ オブ キョンヒ ユニバーシティの特許一覧

特開2024-38230映像符号化方法及び装置、並びに映像復号化方法及び装置
<>
  • 特開-映像符号化方法及び装置、並びに映像復号化方法及び装置 図1
  • 特開-映像符号化方法及び装置、並びに映像復号化方法及び装置 図2
  • 特開-映像符号化方法及び装置、並びに映像復号化方法及び装置 図3
  • 特開-映像符号化方法及び装置、並びに映像復号化方法及び装置 図4
  • 特開-映像符号化方法及び装置、並びに映像復号化方法及び装置 図5
  • 特開-映像符号化方法及び装置、並びに映像復号化方法及び装置 図6
  • 特開-映像符号化方法及び装置、並びに映像復号化方法及び装置 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024038230
(43)【公開日】2024-03-19
(54)【発明の名称】映像符号化方法及び装置、並びに映像復号化方法及び装置
(51)【国際特許分類】
   H04N 19/124 20140101AFI20240312BHJP
   H04N 19/157 20140101ALI20240312BHJP
   H04N 19/176 20140101ALI20240312BHJP
   H04N 19/70 20140101ALI20240312BHJP
【FI】
H04N19/124
H04N19/157
H04N19/176
H04N19/70
【審査請求】有
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2023223621
(22)【出願日】2023-12-28
(62)【分割の表示】P 2022089918の分割
【原出願日】2013-07-02
(31)【優先権主張番号】10-2012-0071938
(32)【優先日】2012-07-02
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2013-0077047
(32)【優先日】2013-07-02
(33)【優先権主張国・地域又は機関】KR
(71)【出願人】
【識別番号】596099882
【氏名又は名称】エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュート
【氏名又は名称原語表記】ELECTRONICS AND TELECOMMUNICATIONS RESEARCH INSTITUTE
(71)【出願人】
【識別番号】512139102
【氏名又は名称】ユニバーシティ-インダストリー コーオペレイション グループ オブ キョンヒ ユニバーシティ
【氏名又は名称原語表記】UNIVERSITY-INDUSTRY COOPERATION GROUP OF KYUNG HEE UNIVERSITY
(74)【代理人】
【識別番号】100120031
【弁理士】
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100107582
【弁理士】
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100096921
【弁理士】
【氏名又は名称】吉元 弘
(72)【発明者】
【氏名】キム、フイ、ヨン
(72)【発明者】
【氏名】リム、ソン、チャン
(72)【発明者】
【氏名】リー、ジン、ホ
(72)【発明者】
【氏名】チェ、ジン、ス
(72)【発明者】
【氏名】キム、ジン、ウン
(72)【発明者】
【氏名】パク、クワン、フン
(72)【発明者】
【氏名】キム、キョン、ヨン
(57)【要約】      (修正有)
【課題】変換スキップブロックに対してはブロック内の変換係数の位置に関係なく同じようにスケールファクタを適用することによって、符号化及び復号化効率を増加させる映像符号化/復号化方法及び装置を提供する。
【解決手段】映像復号化方法は、現在ブロックが変換スキップブロックであるかどうかによって現在ブロックに対するスケールファクタを導出するステップ及びスケールファクタに基づいて現在ブロックに対するスケーリングを実行するステップを含む。現在ブロックに対するスケールファクタは、現在ブロック内の変換係数の位置に基づいて導出され、変換スキップブロックは、現在ブロックに対して変換を適用しないブロックであり、現在ブロックに対して逆変換を適用するかどうかを示す情報に基づいて特定される。
【選択図】図6
【特許請求の範囲】
【請求項1】
復号化装置を伴う映像復号化方法であって、
現在ブロックが変換スキップブロックであるかどうかに基づいて、前記現在ブロックに対するスケールファクタを導出するステップ;
前記スケールファクタに基づいて、前記現在ブロックの変換係数にスケーリングを実行するステップ;
前記スケーリングされた変換係数に逆変換を選択的に実行することによって、前記現在ブロックの残差サンプルを取得するステップ;
前記現在ブロックに対する予測を実行して予測ブロックを生成するステップ;
前記残差サンプルと前記予測ブロックとを加算することで前記現在ブロックを復元するステップ;
を含み、
前記現在ブロックが変換スキップブロックではない場合、前記現在ブロックに対するスケールファクタは、前記復号化装置で定義された量子化行列と、前記現在ブロック内の変換係数の位置とに基づいて導出され、
前記現在ブロックが前記変換スキップブロックである場合、前記現在ブロックに対する前記スケールファクタは、前記現在ブロック内の前記変換係数の前記位置に関係なく、固定定数値に等しく導出され、
前記変換スキップブロックは、前記現在ブロックに逆変換を適用するか否かを示す情報に基づいて特定されることを特徴とする映像復号化方法。
【請求項2】
前記固定定数値は、16であることを特徴とする請求項1に記載の映像復号化方法。
【請求項3】
符号化装置を伴う映像符号化方法であって、
現在ブロックに対する予測を実行して予測ブロックを生成するステップ;
前記現在ブロックから前記予測ブロックを減算することによって、前記現在ブロックの残差サンプルを生成するステップと、
前記現在ブロックの前記残差サンプルに対して選択的に変換を実行することによって、変換係数を取得するステップと、
前記現在ブロックが変換スキップブロックであるかどうかに応じて、前記現在ブロックに対するスケールファクタを決定するステップと、
前記スケールファクタに基づいて、前記現在ブロックの前記変換係数に量子化を実行するステップ;
を含み、
前記現在ブロックが前記変換スキップブロックでない場合、前記現在ブロックに対する前記スケールファクタは、前記符号化装置で定義された量子化行列と、前記現在ブロック内の変換係数の位置とに基づいて決定され、
前記現在ブロックが前記変換スキップブロックである場合、前記現在ブロックに対する前記スケールファクタは、前記現在ブロック内の前記変換係数の前記位置に関係なく、固定定数値に等しく決定され、
前記変換スキップブロックの指示は、前記現在ブロックに逆変換を適用するかどうかを示す情報を用いて符号化されることを特徴とする映像符号化方法。
【請求項4】
前記固定定数値は、16であることを特徴とする請求項3に記載の映像符号化方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、映像の符号化並びに復号化に関し、より詳しくは、変換係数に対するスケー
リング方法及び装置に関する。
【背景技術】
【0002】
最近、HD(High Definition)解像度(1280×1024または192
0×1080)を有する放送サービスが韓国内だけでなく、世界的に拡大されている。そ
れによって、多くのユーザが高解像度、高画質の映像に慣れており、それに応えて多くの
機関が次世代映像機器に対する開発に拍車を掛けている。また、HDTVと共にHDTV
の4倍以上の解像度を有するUHD(Ultra High Definition)に対す
る関心が増大するにつれて、動映像標準化団体は、より高い解像度、高画質の映像に対す
る圧縮機術の必要性を認識するようになった。また、現在HDTV、携帯電話、ブルーレ
イプレーヤに使われるH.264/AVCより高い圧縮効率を介して同じ画質を維持すると
同時に、周波数帯域や格納側面で多くの利得を得ることができる新しい標準が切実な状況
である。
【0003】
現在MPEG(Moving Picture Experts Group)とVCEG(
Video Coding Experts Group)は、共同に次世代ビデオコーデッ
クであるHEVC(High Efficiency Video Coding)を標準化
しており、UHD映像まで含む映像をH.264/AVC対比2倍の圧縮効率で符号化をす
ることを目標としている。これはHD、UHD映像だけでなく、3D放送及び移動通信ネ
ットワークでも現在より低い周波数で高画質の映像を提供することができる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明は、符号化/復号化効率を向上させることができる映像符号化/復号化方法及び装
置を提供する。
【0005】
本発明は、符号化/復号化効率を向上させることができる変換係数(または、残余信号)
のスケーリング方法及び装置を提供する。
【0006】
本発明は、符号化/復号化効率を向上させることができる変換スキップブロックに対す
る量子化/逆量子化方法及び装置を提供する。
【課題を解決するための手段】
【0007】
本発明の一態様によると、映像復号化方法が提供される。前記映像復号化方法は、現在
ブロックが変換スキップブロックであるかどうかによって前記現在ブロックに対するスケ
ールファクタを導出するステップ、及び前記スケールファクタに基づいて前記現在ブロッ
クに対するスケーリングを実行するステップを含む。
【0008】
前記現在ブロックに対するスケールファクタは、前記現在ブロック内の変換係数の位置
に基づいて導出され、前記変換スキップブロックは、前記現在ブロックに対して変換を適
用しないブロックであり、前記現在ブロックに対して逆変換を適用するかどうかを示す情
報に基づいて特定される。
【0009】
前記現在ブロックに対するスケールファクタを導出するステップでは、前記現在ブロッ
クが変換スキップブロックの場合、前記現在ブロック内の変換係数の位置に関係なく基本
スケールファクタを導出する。
【0010】
前記基本スケールファクタは、所定のスケールファクタ値を有し、前記所定のスケール
ファクタ値は、16である。
【0011】
前記基本スケールファクタは、前記現在ブロックが量子化行列を使用するかどうかによ
って異なるスケールファクタ値を有する。
【0012】
前記基本スケールファクタは、前記現在ブロックが輝度ブロックであるか、または色差
ブロックであるかによって異なるスケールファクタ値を有する。
【0013】
前記現在ブロックを含む映像に変換スキップアルゴリズムが使われるかどうかを示すフ
ラグがPPS(Picture Parameter Set)を介してシグナリングされる
【0014】
前記基本スケールファクタは、輝度信号と色差信号に対するスケールファクタ情報を含
む。
【0015】
前記現在ブロックに対するスケールファクタを導出するステップでは、前記現在ブロッ
クが変換スキップブロックであり、または前記現在ブロックが量子化行列を使用しない場
合、前記現在ブロック内の変換係数の位置に関係なく基本スケールファクタを導出する。
【0016】
前記現在ブロックに対するスケールファクタを導出するステップでは、前記現在ブロッ
クが変換スキップブロックでない場合、前記現在ブロック内の変換係数の位置に基づいて
量子化行列を利用して前記現在ブロックに対するスケールファクタを導出する。
【0017】
本発明の他の態様によると、映像復号化装置が提供される。前記映像復号化装置は、現
在ブロックが変換スキップブロックであるかどうかによって前記現在ブロックに対するス
ケールファクタを導出し、前記スケールファクタに基づいて前記現在ブロックに対するス
ケーリングを実行する逆量子化部を含む。
【0018】
前記現在ブロックに対するスケールファクタは、前記現在ブロック内の変換係数の位置
に基づいて導出され、前記変換スキップブロックは、前記現在ブロックに対して変換を適
用しないブロックであり、前記現在ブロックに対して変換を適用するかどうかを示す情報
に基づいて特定される。
【0019】
本発明の他の態様によると、映像符号化方法が提供される。前記映像符号化方法は、現
在ブロックが変換スキップブロックであるかどうかによって前記現在ブロックに対するス
ケールファクタを導出するステップ、及び前記スケールファクタに基づいて前記現在ブロ
ックに対するスケーリングを実行するステップを含む。
【0020】
前記現在ブロックに対するスケールファクタは、前記現在ブロック内の変換係数の位置
に基づいて導出され、前記変換スキップブロックは、前記現在ブロックに対して変換を適
用しないブロックであり、前記現在ブロックに対して変換を適用するかどうかを示す情報
に基づいて特定される。
【0021】
前記現在ブロックに対するスケールファクタを導出するステップでは、前記現在ブロッ
クが変換スキップブロックの場合、前記現在ブロック内の変換係数の位置に関係なく基本
スケールファクタを導出する。
【0022】
前記基本スケールファクタは、所定のスケールファクタ値を有し、前記所定のスケール
ファクタ値は、16である。
【0023】
前記基本スケールファクタは、前記現在ブロックが量子化行列を使用するかどうかによ
って異なるスケールファクタ値を有する。
【0024】
前記基本スケールファクタは、前記現在ブロックが輝度ブロックであるか、または色差
ブロックであるかによって異なるスケールファクタ値を有する。
【0025】
前記現在ブロックを含む映像に変換スキップアルゴリズムが使われるかどうかを示すフ
ラグがPPS(Picture Parameter Set)を介してシグナリングされる
【0026】
前記基本スケールファクタは、輝度信号と色差信号に対するスケールファクタ情報を含
む。
【0027】
前記現在ブロックに対するスケールファクタを導出するステップでは、前記現在ブロッ
クが変換スキップブロックであり、または前記現在ブロックが量子化行列を使用しない場
合、前記現在ブロック内の変換係数の位置に関係なく基本スケールファクタを導出する。
【0028】
前記現在ブロックに対するスケールファクタを導出するステップでは、前記現在ブロッ
クが変換スキップブロックでない場合、前記現在ブロック内の変換係数の位置に基づいて
量子化行列を利用して前記現在ブロックに対するスケールファクタを導出する。
【0029】
本発明の他の態様によると、映像符号化装置が提供される。前記映像符号化装置は、現
在ブロックが変換スキップブロックであるかどうかによって前記現在ブロックに対するス
ケールファクタを導出し、前記スケールファクタに基づいて前記現在ブロックに対するス
ケーリングを実行する量子化部を含む。
【0030】
前記現在ブロックに対するスケールファクタは、前記現在ブロック内の変換係数の位置
に基づいて導出され、前記変換スキップブロックは、前記現在ブロックに対して変換を適
用しないブロックであり、前記現在ブロックに対して変換を適用するかどうかを示す情報
に基づいて特定される。
【発明の効果】
【0031】
変換スキップアルゴリズムが適用されたブロックは、変換/逆変換過程を実行しないた
め、既存の変換/逆変換過程を実行したブロックとは互いに異なる変換係数特性を有する
。即ち、既存の変換/逆変換過程を実行したブロックに適用したスケーリング方法をその
まま変換スキップブロックに適用する場合、符号化/復号化効率を減少させることができ
る。したがって、変換スキップブロックに対してはブロック内の変換係数の位置に関係な
く同じようにスケールファクタを適用することによって、符号化及び復号化効率を増加さ
せることができる。
【図面の簡単な説明】
【0032】
図1】本発明が適用される映像符号化装置の一実施例に係る構成を示すブロック図である。
図2】本発明が適用される映像復号化装置の一実施例に係る構成を示すブロック図である。
図3】映像を符号化する時、映像の分割構造を概略的に示す図である。
図4】コーディングユニット(CU)が含むことができる予測ユニット(PU)の形態を示す図である。
図5】コーディングユニット(CU)が含むことができる変換ユニット(TU)の形態を示す図である。
図6】本発明の一実施例に係る残余信号(または、変換係数)に対するスケーリング方法を示す流れ図である。
図7】本発明の他の実施例に係る残余信号(または、変換係数)に対するスケーリング方法を示す流れ図である。
【発明を実施するための形態】
【0033】
以下、図面を参照して本発明の実施形態に対して具体的に説明する。本明細書の実施例
を説明するにあたって、関連した公知構成または機能に対する具体的な説明が本明細書の
要旨を不明にすると判断される場合は該当説明を省略することもできる。
【0034】
本明細書において、一構成要素が他の構成要素に連結されている、または接続されてい
ると言及された場合、その他の構成要素に直接的に連結されている、または接続されてい
ることを意味し、または中間に他の構成要素が存在することを意味する。併せて、本明細
書において、特定構成を含むと記述する内容は、該当構成以外の構成を排除するものでは
なく、追加的な構成が本発明の実施または本発明の技術的思想の範囲に含まれることがで
きることを意味する。
【0035】
第1、第2などの用語は、多様な構成を説明するときに使われることができるが、前記
構成は、前記用語により限定されるものではない。前記用語は、一つの構成を他の構成か
ら区別する目的として使われる。例えば、本発明の権利範囲を外れない限り、第1の構成
は第2の構成と命名することができ、同様に、第2の構成も第1の構成と命名することが
できる。
【0036】
また、本発明の実施例に示す構成部は、互いに異なる特徴的な機能を示すために独立的
に図示されるものであって、各構成部が分離されたハードウェアや一つのソフトウェア構
成単位に構成されることを意味しない。即ち、各構成部は、説明の便宜上、それぞれの構
成部として羅列して含むものであって、各構成部のうち少なくとも二つの構成部が統合さ
れて一つの構成部からなり、または一つの構成部が複数個の構成部に分けられて機能を遂
行することができる。各構成部の統合された実施例及び分離された実施例も、本発明の本
質から外れない限り、本発明の権利範囲に含まれる。
【0037】
また、一部の構成要素は、本発明で本質的な機能を遂行する必須的構成要素ではなく、
単に性能を向上させるための選択的構成要素である。本発明は、単に性能向上のために使
われる構成要素を除いた本発明の本質具現に必須的構成部のみを含むことができ、単に性
能向上のために使われる選択的構成要素を除いた必須的構成要素のみを含む構造も本発明
の権利範囲に含まれる。
【0038】
まず、説明の便宜及び発明の理解のために、本明細書で使われる用語に対して簡略に説
明する。
【0039】
ユニット(unit)は、映像符号化及び復号化の単位を意味する。即ち、映像符号化/
復号化において、符号化または復号化単位とは、一つの映像を細分化されたユニットに分
割して符号化または復号化する時、その分割された単位を意味する。ブロック(bloc
k)、マクロブロック(Macro Block;MB)、符号化ユニット(Coding U
nit;CU)、予測ユニット(Prediction Unit;PU)、変換ユニット(
Transform Unit;TU)、符号化ブロック(Coding Block;CB
)、予測ブロック(Prediction Block;PB)、変換ブロック(Trans
form Block;TB)などとも呼ばれる。また、一つのユニットは、大きさが小さ
い下位ユニットに分割されることができる。
【0040】
ブロック(block)は、サンプル(sample)のM×N配列を意味し、MとNは、
正の整数値を有する。また、ブロックは、2次元形態の配列を意味する。
【0041】
変換ユニット(Transform Unit;TU)は、変換、逆変換、量子化、逆量
子化、変換係数符号化/復号化のように残余信号(residual signal)の符号
化/復号化を実行する時の基本ユニットであり、一つの変換ユニットは、大きさが小さい
複数の変換ユニットに分割されることができる。このとき、残余信号(residual
signal)がブロック形態で存在する場合、残余ブロック(residual blo
ck)ということができる。
【0042】
量子化行列(quantization matrix)は、映像の主観的画質または客
観的画質を向上させるために量子化または逆量子化過程で利用する行列を意味する。量子
化行列は、スケーリングリスト(scaling list)とも呼ばれる。
【0043】
量子化行列は、基本行列(default matrix)、非基本行列(non-def
ault matrix)、平面行列(flat matrix)に分けられることができる
。基本行列は、符号化器と復号化器で予め定義されている所定の量子化行列を意味する。
非基本行列は、符号化器と復号化器で予め定義されておらずに、ユーザにより送信/受信
される量子化行列を意味する。平面行列は、行列内の全ての元素が同じ値を有する行列を
意味する。
【0044】
スケーリング(scaling)は、変換係数レベルに因数をかける過程を意味し、その
結果、変換係数を生成する。スケーリングは、逆量子化(dequantization)
ともいう。
【0045】
変換係数(transform coefficient)は、変換を実行した後に生成
された係数値を意味する。本明細書では、変換係数に量子化を適用した、量子化された変
換係数レベル(transform coefficient level)も変換係数と通
称して使用する。
【0046】
量子化媒介変数(quantization parameter)は、量子化及び逆量
子化で変換係数レベルをスケーリングする時に使われる値を意味する。このとき、量子化
媒介変数は、量子化ステップ大きさ(step size)にマッピングされた値である。
【0047】
パラメータセット(parameter set)は、ビットストリーム内の構造のうち
ヘッダ情報に該当し、シーケンスパラメータセット(sequence paramete
r set)、映像パラメータセット(picture parameter set)、適応
パラメータセット(adaptation parameter set)などを通称する。
【0048】
図1は、本発明が適用される映像符号化装置の一実施例に係る構成を示すブロック図で
ある。
【0049】
図1を参照すると、映像符号化装置100は、動き予測部111、動き補償部112、
イントラ予測部120、スイッチ115、減算器125、変換部130、量子化部140
、エントロピー符号化部150、逆量子化部160、逆変換部170、加算器175、フ
ィルタ部180、及び参照映像バッファ190を含む。
【0050】
映像符号化装置100は、入力映像に対してイントラ(intra)モードまたはインタ
ー(inter)モードに符号化を実行することで、ビットストリームを出力することがで
きる。イントラモードである場合、スイッチ115がイントラに切り替えられ、インター
モードである場合、スイッチ115がインターに切り替えられることができる。イントラ
予測は、画面内予測を意味し、インター予測は、画面間予測を意味する。映像符号化装置
100は、入力映像の入力ブロックに対する予測ブロックを生成した後、入力ブロックと
予測ブロックとの差分(residual)を符号化することができる。このとき、入力映
像は、原映像(original picture)を意味する。
【0051】
イントラモードである場合、イントラ予測部120は、現在ブロック周辺の既に符号化
/復号化されたブロックのピクセル値を利用して空間的予測を実行することで、予測ブロ
ックを生成することができる。
【0052】
インターモードである場合、動き予測部111は、動き予測過程で参照映像バッファ1
90に格納されている参照映像で入力ブロックと最もよくマッチされる領域を探して動き
ベクトルを求めることができる。動き補償部112は、動きベクトルを利用して動き補償
を実行することによって予測ブロックを生成することができる。ここで、動きベクトルは
、インター予測に使われる2次元ベクトルであり、現在符号化/復号化対象映像と参照映
像との間のオフセットを示すことができる。
【0053】
減算器125は、入力ブロックと生成された予測ブロックとの差分により残差ブロック
(residual block)を生成することができる。
【0054】
変換部130は、残差ブロックに対して変換(transform)を実行することで、
変換係数(transform coefficient)を出力することができる。そし
て、量子化部140は、入力された変換係数を量子化パラメータ(quantizati
on parameter、または、量子化媒介変数)によって量子化することで、量子化
された係数(quantized coefficient)を出力することができる。
【0055】
エントロピー符号化部150は、量子化部140で算出された値または符号化過程で算
出された符号化パラメータ値などに基づいてエントロピー符号化を実行することで、ビッ
トストリーム(bit stream)を出力することができる。エントロピー符号化が適
用される場合、高い発生確率を有するシンボル(symbol)に少ない数のビットが割り
当てられ、低い発生確率を有するシンボルに多い数のビットが割り当てられてシンボルが
表現されることによって、符号化対象シンボルに対するビット列の大きさが減少されるこ
とができる。したがって、エントロピー符号化を介して映像符号化の圧縮性能が高まるこ
とができる。エントロピー符号化部150は、エントロピー符号化のために、指数-ゴロ
ム(Exponential-Golomb)、CAVLC(Context-Adapt
ive Variable Length Coding)、CABAC(Context-
Adaptive Binary Arithmetic Coding)のような符号化方
法を使用することができる。
【0056】
図1の実施例による映像符号化装置100は、インター予測符号化、即ち、画面間予測
符号化を実行するため、現在符号化された映像は、参照映像として使われるために復号化
されて格納される必要がある。したがって、量子化された係数は、逆量子化部160で逆
量子化され、逆変換部170で逆変換される。逆量子化、逆変換された係数は、加算器1
75を介して予測ブロックと加えられて復元ブロックが生成される。
【0057】
復元ブロックは、フィルタ部180を経て、フィルタ部180は、デブロッキングフィ
ルタ(deblocking filter)、SAO(Sample Adaptive O
ffset)、ALF(Adaptive Loop Filter)のうち少なくとも一つ
以上を復元ブロックまたは復元映像に適用することができる。フィルタ部180は、適応
的インループ(in-loop)フィルタとも呼ばれる。デブロッキングフィルタは、ブロ
ック間の境界に発生したブロック歪曲を除去することができる。SAOは、コーディング
エラーを補償するためにピクセル値に適正オフセット(offset)値を加えることがで
きる。ALFは、復元された映像と原映像を比較した値に基づいてフィルタリングを実行
することができる。フィルタ部180を経た復元ブロックは、参照映像バッファ190に
格納されることができる。
【0058】
図2は、本発明が適用される映像復号化装置の一実施例に係る構成を示すブロック図で
ある。
【0059】
図2を参照すると、映像復号化装置200は、エントロピー復号化部210、逆量子化
部220、逆変換部230、イントラ予測部240、動き補償部250、加算器255、
フィルタ部260、及び参照映像バッファ270を含む。
【0060】
映像復号化装置200は、符号化器で出力されたビットストリームの入力を受けてイン
トラモードまたはインターモードに復号化を実行することで、再構成された映像、即ち、
復元映像を出力することができる。イントラモードである場合、スイッチがイントラに切
り替えられ、インターモードである場合、スイッチがインターに切り替えられることがで
きる。
【0061】
映像復号化装置200は、入力されたビットストリームから復元された残差ブロック(
reconstructed residual block)を得て、予測ブロックを生
成した後、復元された残差ブロックと予測ブロックを加えて再構成されたブロック、即ち
、復元ブロックを生成することができる。
【0062】
エントロピー復号化部210は、入力されたビットストリームを確率分布によってエン
トロピー復号化し、量子化された係数(quantized coefficient)形
態のシンボルを含むシンボルを生成することができる。
【0063】
エントロピー復号化方法が適用される場合、高い発生確率を有するシンボルに少ない数
のビットが割り当てられ、低い発生確率を有するシンボルに多い数のビットが割り当てら
れてシンボルが表現されることによって、各シンボルに対するビット列の大きさが減少さ
れることができる。
【0064】
量子化された係数は、逆量子化部220で逆量子化され、逆変換部230で逆変換され
、量子化された係数が逆量子化/逆変換された結果、復元された残差ブロックが生成され
ることができる。
【0065】
イントラモードである場合、イントラ予測部240は、現在ブロック周辺の既に復号化
されたブロックのピクセル値を利用して空間的予測を実行することで、予測ブロックを生
成することができる。インターモードである場合、動き補償部250は、動きベクトル及
び参照映像バッファ270に格納されている参照映像を利用して動き補償を実行すること
によって予測ブロックを生成することができる。
【0066】
残差ブロックと予測ブロックは、加算器255を介して加えられ、加えられたブロック
は、フィルタ部260を経ることができる。フィルタ部260は、デブロッキングフィル
タ、SAO、ALFのうち少なくとも一つ以上を復元ブロックまたは復元映像に適用する
ことができる。フィルタ部260は、再構成された映像、即ち、復元映像を出力すること
ができる。復元映像は、参照映像バッファ270に格納されてインター予測に使われるこ
とができる。
【0067】
図3は、映像を符号化する時、映像の分割構造を概略的に示す。
【0068】
HEVC(High Efficiency Video Coding)では映像を効率
的に分割するために、コーディングユニット(Coding Unit;CU)に符号化を
実行する。
【0069】
図3を参照すると、HEVCでは映像300を最大コーディングユニット(Large
st Coding Unit;LCU)(以下、LCUという)単位に順次に分割した後、
LCU単位に分割構造を決定する。分割構造は、LCU310内で映像を効率的に符号化
するためのコーディングユニット(以下、CUという)の分布を意味し、このような分布は
、一つのCUをその縦横に半分ずつ減少された4個のCUに分割するかどうかによって決
定されることができる。分割されたCUは、同じ方式に分割されたCUに対し、その縦横
に半分ずつ減少された4個のCUに再帰的に分割されることができる。
【0070】
このとき、CUの分割は、予め定義された深さまで再帰的に分割されることができる。
深さ情報は、CUの大きさを示す情報であって、各CU毎に格納されている。例えば、L
CUの深さは0であり、SCU(Smallest Coding Unit)の深さは予め
定義された最大深さである。ここで、LCUは、前述したように、最大コーディングユニ
ット大きさを有するコーディングユニットであり、SCU(Smallest Codin
g Unit)は、最小コーディングユニット大きさを有するコーディングユニットである
【0071】
LCU310から横縦に半分ずつ分割を実行するたびにCUの深さは、1ずつ増加する
。それぞれの深さ別に、分割を実行しないCUの場合は、2N×2N大きさを有し、分割
を実行するCUの場合は、2N×2N大きさのCUからN×N大きさを有する4個のCU
に分割される。Nの大きさは、深さが1ずつ増加するたびに半分に減少する。
【0072】
図3を参照すると、最小深さが0であるLCUの大きさは、64×64画素であり、最
大深さが3であるSCUの大きさは、8×8画素である。このとき、64×64画素のC
U(LCU)は深さ0で表現され、32×32画素のCUは深さ1で表現され、16×16
画素のCUは深さ2で表現され、8×8画素のCU(SCU)は深さ3で表現されることが
できる。
【0073】
また、特定CUを分割するかどうかに対する情報は、CU毎に1ビットの分割情報を介
して表現されることができる。この分割情報は、SCUを除いた全てのCUに含まれるこ
とができ、例えば、CUを分割しない場合は、分割情報に0を格納することができ、CU
を分割する場合は、分割情報に1を格納することができる。
【0074】
一方、LCUから分割されたCUは、予測のための基本単位である予測ユニット(Pr
ediction Unit;PUまたはPrediction Block;PB)と、
変換のための基本単位である変換ユニット(Transform Unit;TUまたはT
ransform Block;TB)とで構成されることができる。
【0075】
図4は、コーディングユニット(CU)が含むことができる予測ユニット(PU)の形態を
示す。
【0076】
LCUから分割されたCUのうち、それ以上分割されないCUは、一つ以上の予測ユニ
ットに分割され、この行為自体も分割(partition)(または、パーティション)と
いう。予測ユニット(以下、PUという)は、予測を実行する基本単位であって、スキップ
(skip)モード、インター(inter)モード、イントラ(intra)モードのうちい
ずれか一つに符号化され、各モードによって多様な形態でパーティションされることがで
きる。
【0077】
図4を参照すると、スキップモードの場合、CU内でパーティションなく、CUと同じ
大きさを有する2N×2Nモード410をサポートすることができる。
【0078】
インターモードの場合、CU内で8種類のパーティションされた形態、例えば、2N×
2Nモード410、2N×Nモード415、N×2Nモード420、N×Nモード425
、2N×nUモード430、2N×nDモード435、nL×2Nモード440、nR×
2Nモード445をサポートすることができる。
【0079】
イントラモードの場合、CU内で2N×2Nモード410、N×Nモード425をサポ
ートすることができる。
【0080】
図5は、コーディングユニット(CU)が含むことができる変換ユニット(TU)の形態を
示す。
【0081】
変換ユニット(以下、TUという)は、CU内で空間変換と量子化/逆量子化(スケーリン
グ)過程のために使われる基本単位である。TUは、正方形または長方形の形態を有する
ことができる。LCUから分割されたCUのうち、それ以上分割されないCUは、一つま
たはそれ以上のTUに分割されることができる。
【0082】
このとき、TUの分割構造は、クワッドツリー(quad-tree)構造である。例え
ば、図5に示すように、一つのCU510がクワッドツリー構造によって一回またはそれ
以上分割され、多様な大きさのTUで構成されることができる。
【0083】
一方、HEVCでは、H.264/AVCのように画面内予測(以下、イントラ予測)符号
化を実行することができる。このとき、現在ブロックの周辺に位置した周辺ブロックから
現在ブロックのイントラ予測モード(または、予測方向性)を誘導して符号化することがで
きる。
【0084】
前記のように、イントラ予測モードに基づいて予測が実行されることによって取得され
た信号に対する予測映像は、原映像との差分値を有することができる。このような予測映
像と原映像との間の差分値を有する差分映像は、周波数領域変換と量子化を経てエントロ
ピー符号化されることができる。このとき、周波数領域変換の符号化効率を上げるために
、整数変換、整数離散余弦変換(Discrete Cosine Transform;
DCT)、整数離散正弦変換(Discrete Sine Transform;DST)
、またはイントラ予測モード従属的なDCT/DSTなどをブロック大きさによって選択
的、適応的に適用することができる。
【0085】
また、文書映像またはパワーポイントのプレゼンテイション映像のようなスクリーンコ
ンテンツ(screen contents)で符号化効率を上げるために、変換スキップ(
Transform SKIP)アルゴリズムを適用することができる。
【0086】
変換スキップアルゴリズムを適用する場合、符号化器では、原映像と予測映像との間の
差分値を有する差分映像(残余ブロック)を周波数変換過程無く量子化して残余ブロックに
対してエントロピー符号化を実行する。そして、復号化器では、残余ブロックに対してエ
ントロピー復号化し、逆量子化(スケーリング)を実行することで復元された残余ブロック
を生成する。したがって、このような変換スキップアルゴリズムが適用されたブロックは
、周波数変換/逆変換過程を飛び越えるようになる。
【0087】
量子化/逆量子化過程では、映像の主観的画質向上のために、ブロック内の変換係数の
位置によってスケールファクタ(scale factor)を異なるように適用すること
ができる。それに対し、量子化/逆量子化を実行する時、ブロック内の変換係数の位置に
関係なくスケールファクタを同じように適用する方法がある。このような方法の適用可否
は、ビットストリームのSPS(Sequence Parameter Set)またはP
PS(Picture Parameter Set)を介してシグナリングされることがで
きる。
【0088】
前記過程の一実施例として、変換係数のスケーリング過程(Scaling Proce
ss for transform coefficients)は、下記のように実行され
ることができる。
【0089】
変換係数のスケーリング過程
【0090】
ここでの入力は、下記の通りである。
【0091】
-現在変換ブロックの幅Width;nW
【0092】
-現在変換ブロックの高さHeight;nH
【0093】
-要素(element)cijを有する変換係数の配列;(nW×nH)array d
【0094】
-現在ブロックの輝度信号及び色差信号に対するインデックス;cIdx
【0095】
もし、cIdxが‘0’の場合、輝度信号を意味し、cIdxが‘1’であり、または
cIdxが‘2’の場合、色差信号を意味する。また、cIdxが‘1’の場合、色差信
号でCbを意味し、cIdxが‘2’の場合、色差信号でCrを意味する。
【0096】
-量子化パラメータ;qP
【0097】
ここでの出力は、下記の通りである。
【0098】
-スケールされた変換係数に対する配列;(nW×nH)array dij
【0099】
変数log2TrSizeは、log2TrSize=(Log2(nW)+Log2(n
H))>>1を介して誘導される。変数shiftは、cIdxによって異なるように誘導さ
れる。cIxが‘0’の場合(輝度信号の場合)、shift=BitDepth+lo
g2TrSize-5から誘導され、その以外の場合(色差信号の場合)、shift=B
itDepth+log2TrSize-5から誘導される。ここで、BitDept
とBitDepthは、現在映像に対するサンプルのビット数(例えば、8ビット)
を意味する。
【0100】
スケーリング変数に対する配列levelScale[]は、以下の数式1の通りである
【0101】
【数1】
【0102】
スケールされた変換係数は、下記の過程を介して計算される。
【0103】
まず、スケールファクタmijは、下記の過程を介して誘導される。
【0104】
-もし、scaling_list_enable_flagが‘0’の場合、mij
、以下の数式2のように誘導される。
【0105】
【数2】
【0106】
-その以外の場合、mijは、以下の数式3のように誘導される。
【0107】
【数3】
【0108】
ここで、SizeIDは、変換ブロックの大きさによって以下の表1を介して誘導され
、RefMatrixID、そしてtrafoTypeは、以下の数式4及び数式5から
各々誘導される。また、数式4において、scaling_list_pred_matr
ix_id_deltaは、ビットストリームのSPS(Sequence Paramet
er Set)またはPPS(Picture Parameter Set)を介してシグナ
リングされる。
【0109】
【数4】
【0110】
【数5】
【0111】
表1は、変換ブロックの大きさによるSizeID値を示す一例である。
【0112】
【表1】
【0113】
次に、スケールされた変換係数dijは、以下の数式6から誘導される。
【0114】
【数6】
【0115】
一方、前述したように、変換スキップアルゴリズムが適用されたブロック(以下、変換
スキップブロックという)は、周波数変換過程を実行しない。したがって、既存の周波数
変換過程を実行したブロックと変換スキップブロックは、互いに異なる変換係数特性を有
することができる。即ち、既存の周波数変換過程を実行したブロックに適用したスケーリ
ング方法をそのまま変換スキップブロックに適用する場合、符号化効率を減少させること
ができる。
【0116】
したがって、本発明では、変換スキップブロックの場合を考慮してスケーリングを実行
する方法を提供する。
【0117】
符号化器と復号化器で映像の主観的画質を向上させるために量子化行列(基本行列及び
非基本行列)を使用する場合、ブロック内の変換係数(transform coeffi
cient)の位置によって量子化行列から誘導されたスケールファクタ(scale f
actor)が異なるように適用されることができる。このような方法は、ブロックの変
換(transform)時、残余ブロックのエネルギーがブロックの左側上端位置(低周
波数領域)に圧縮される特性を利用することで、一般的に人間の目に敏感な低周波数領域
よりは人間の目に敏感でない高周波数領域に対してより大きい量子化ステップ大きさ(s
tep size)で量子化を実行する。このような方法を介して映像符号化時、人間の目
に敏感な領域に対して主観的画質を向上させることができる。
【0118】
しかし、変換スキップが適用された場合、残余ブロックは、周波数領域変換/逆変換を
実行しないため、ブロック内で低周波数領域側に圧縮されない。このような場合、既存の
周波数領域に使用する量子化/逆量子化方法を適用すると、映像またはブロック内の歪曲
が激しくなるという短所がある。したがって、映像内で量子化行列を使用する場合、周波
数領域変換/逆変換を実行しないブロック(変換スキップブロック)に対しては映像または
ブロック内の歪曲を最小化することができるスケーリング(量子化/逆量子化)方法が必要
である。例えば、変換スキップブロックに対しては量子化行列が適用されないようにする
方法がある。このような方法は、ブロック内の変換係数の位置に関係なく基本スケールフ
ァクタを同じように適用することができる。
【0119】
[実施例1]変換スキップブロックに対してブロック内の変換係数の位置に関係なくスケ
ールファクタを同じように適用する方法及び装置
【0120】
図6は、本発明の一実施例に係る残余信号(または、変換係数)に対するスケーリング方
法を示す流れ図である。
【0121】
図6の方法は、前述した図1の符号化装置または前述した図2の復号化装置で実行され
ることができる。より具体的には、図1または図2の量子化部または逆量子化部で実行さ
れることができる。図6の実施例では、説明の便宜のために、図6の方法が符号化装置で
実行されると説明するが、これは復号化装置でも同じように適用されることができる。
【0122】
図6を参照すると、現在ブロックの残余信号(または、変換係数)に対するスケーリング
(量子化または逆量子化)時に適用されるスケールファクタ(mij)は、現在ブロックが変
換スキップブロックであるかどうかによって誘導されることができる。
【0123】
符号化装置は、現在ブロックが変換スキップブロックであるかどうかを判断する(S6
00)。
【0124】
このとき、現在ブロックが変換スキップブロックであるかどうかは、変換スキップブロ
ックであるかどうかを指示する情報を介して判断されることができる。例えば、変換スキ
ップブロックであるかどうかを指示する情報は、フラグ(transSkipFlag)で
ある。このようなフラグtransSkipFlag値は、ビットストリーム内の変換ス
キップブロックに対する情報をエントロピー復号化して誘導されることができる。もし、
現在ブロックが変換スキップブロックの場合、transSkipFlag値が1であり
、現在ブロックが変換スキップブロックでない場合、transSkipFlag値が0
である。
【0125】
もし、現在ブロックが変換スキップブロックの場合(例えば、transSkipFl
ag値が1の場合)、符号化装置は、現在ブロック内の残余信号(または、変換係数)の位
置に関係なくスケールファクタ(mij)を誘導する(S610)。
【0126】
このとき、図6に示すように、スケールファクタ(mij)は、所定の基本スケールファ
クタ値(T)に設定されることができる。例えば、所定の基本スケールファクタ値(T)は、
16である。
【0127】
それに対し、現在ブロックが変換スキップブロックでない場合(例えば、transS
kipFlag値が0の場合)、符号化装置は、現在ブロック内の残余信号(または、変換
係数)の位置に基づいてスケールファクタ(mij)を誘導する(S620)。
【0128】
このとき、スケールファクタ(mij)は、量子化行列を利用して現在ブロック内の残余
信号(または、変換係数)の位置によって異なるように設定されることができ、図6に示す
ように、以下の数式7のように誘導されることができる。
【0129】
【数7】
【0130】
ここで、ScalingFactorは、スケールファクタを格納している配列である
。SizeIDは、現在ブロック(変換ブロックまたは量子化行列)の大きさを示すための
値であり、前述した表1のように現在ブロック(変換ブロック)の大きさによってSize
ID値が誘導されることができる。RefMatrixIDとtrafoTypeは、以
下の数式8及び数式9から各々誘導されることができる。nWは、現在ブロックの幅を意
味する。
【0131】
【数8】
【0132】
ここで、MatrixID値は、予測モード及び色成分(color componen
t)による量子化行列の種類を意味し、一例として、以下の表2のようにMatrixI
D値が誘導されることができる。scaling_list_pred_matrix_id
_deltaは、ビットストリームのSPS(Sequence Parameter Se
t)またはPPS(Picture Parameter Set)を介してシグナリングさ
れる。
【0133】
【数9】
【0134】
ここで、nWは、現在ブロックの幅を意味し、nHは、現在ブロックの高さを意味する
【0135】
表2は、予測モード及び色成分によるMatrixID値を示す。
【0136】
【表2】
【0137】
図7は、本発明の他の実施例に係る残余信号(または、変換係数)に対するスケーリング
方法を示す流れ図である。
【0138】
図7の方法は、前述した図1の符号化装置または前述した図2の復号化装置で実行され
ることができる。より具体的には、図1または図2の量子化部または逆量子化部で実行さ
れることができる。図7の実施例では、説明の便宜のために、図7の方法が符号化装置で
実行されると説明するが、これは復号化装置でも同じように適用されることができる。
【0139】
図7を参照すると、現在ブロックの残余信号(または、変換係数)に対するスケーリング
(量子化または逆量子化)時に適用されるスケールファクタ(mij)は、現在ブロックが変
換スキップブロックであるかどうか、及び量子化行列の使用可否によって誘導されること
ができる。
【0140】
符号化装置は、現在ブロックが量子化行列を使用するかどうか、及び変換スキップブロ
ックであるかどうかを判断する(S700)。
【0141】
このとき、現在ブロックが量子化行列を使用するかどうかは、量子化行列の使用可否を
指示する情報を介して判断することができる。例えば、量子化行列の使用可否を指示する
情報は、フラグ(scaling_list_enable_flag)である。このような
フラグscaling_list_enable_flag値は、ビットストリーム内の量
子化行列の使用に対する情報をエントロピー復号化して誘導されることができる。もし、
現在ブロックが量子化行列を使用する場合、scaling_list_enable_f
lag値は1であり、現在ブロックが量子化行列を使用しない場合、scaling_l
ist_enable_flag値は0である。
【0142】
また、現在ブロックが変換スキップブロックであるかどうかは、変換スキップブロック
であるかどうかを指示する情報を介して判断されることができる。例えば、変換スキップ
ブロックであるかどうかを指示する情報は、フラグ(transSkipFlag)である
。このようなフラグtransSkipFlag値は、ビットストリーム内の変換スキッ
プブロックに対する情報をエントロピー復号化して誘導されることができる。もし、現在
ブロックが変換スキップブロックの場合、transSkipFlag値が1であり、現
在ブロックが変換スキップブロックでない場合、transSkipFlag値が0であ
る。
【0143】
もし、現在ブロックが変換スキップブロックであり、または量子化行列を使用しない場
合(例えば、transSkipFlag==1 or scaling_list_ena
ble_flag==0)、符号化装置は、現在ブロック内の残余信号(または、変換係数)
の位置に関係なくスケールファクタ(mij)を誘導する(S710)。
【0144】
このとき、図7に示すように、スケールファクタ(mij)は、所定の基本スケールファ
クタ値(T)に設定されることができる。例えば、所定の基本スケールファクタ値(T)は、
16である。
【0145】
その以外の場合(現在ブロックが変換スキップブロックでない、且つ量子化行列を使用
する場合)、符号化装置は、現在ブロック内の残余信号(または、変換係数)の位置に基づ
いてスケールファクタ(mij)を誘導する(S720)。
【0146】
このとき、スケールファクタ(mij)は、量子化行列を利用して現在ブロック内の残余
信号(または、変換係数)の位置によって異なるように設定されることができ、図7のステ
ップS720に示す数式のように誘導されることができる。ステップS720に示す数式
を介して誘導されるスケールファクタ(mij)は、図6(ステップS620)での説明と同
じであるため、ここでは説明を省略する。
【0147】
図6及び図7を介して前述したように、現在ブロック(現在符号化または復号化対象ブ
ロック)が変換スキップブロックの場合、現在ブロック内の係数(または、信号)の位置に
関係なく現在ブロック(変換スキップブロック)に対して所定の値(T)を有するスケールフ
ァクタを適用した。このとき、本発明の実施例によるスケールファクタ値は、該当ブロッ
クに適用される多様な符号化パラメータによって異なるように設定されることができる。
【0148】
一例として、該当ブロックに適用されるスケールファクタ値は、量子化行列の使用可否
を示すパラメータ(例えば、scaling_list_enable_flag)値によっ
て下記のように設定されることができる。
【0149】
-量子化行列を使用する場合(例えば、scaling_list_enable_fla
g==1)、基本スケールファクタ値は、‘T1’に設定(mij=T1)
【0150】
-量子化行列を使用しない場合(例えば、scaling_list_enable_fl
ag==0)、基本スケールファクタ値は、‘T2’に設定(mij=T2)
【0151】
ここで、T1及び/またはT2値は、符号化器が決定してシグナリングしてもよく、予
め決められた値を使用してもよい。ビットストリームを介してシグナリングされる場合、
復号化器は、ビットストリームをパーシングしてT1及び/またはT2値を求めることが
できる。
【0152】
他の例として、該当ブロックに適用されるスケールファクタ値は、該当ブロックの信号
に対する色相特性を誘導することができる情報(例えば、色相成分インデックスcIdx)
値によって下記のように設定されることができる。色相成分インデックスcIdxは、そ
の値によって輝度信号(Y信号)または色差信号(Cb信号またはCr信号)を示す。
【0153】
-例1:該当ブロックの信号が明るさ信号(輝度信号)であるかどうかによって基本スケ
ールファクタ値を‘Ty’または‘Tc’に設定する。例えば、明るさ信号の場合、基本
スケールファクタ値を‘Ty’に設定し、明るさ信号でない場合(色差信号の場合)、基本
スケールファクタ値を‘Tc’に設定する。
【0154】
-例2:該当ブロックの色相成分別に基本スケールファクタ値を設定する。例えば、輝
度信号(Y信号)の場合、基本スケールファクタ値を‘Ty’に設定し、色差信号がCb信
号の場合、基本スケールファクタ値を‘Tcb’に設定し、色差信号がCr信号の場合、
基本スケールファクタ値を‘Tcr’に設定する。
【0155】
ここで、Ty、Tc、Tcb及び/またはTcr値は、符号化器が決定してシグナリン
グしてもよく、予め決められた値を使用してもよい。ビットストリームを介してシグナリ
ングされる場合、復号化器は、ビットストリームをパーシングしてTy、Tc、Tcb及
び/またはTcr値を求めることができる。
【0156】
前述した本発明の実施例による符号化パラメータによって基本スケールファクタを決定
する方法は、独立的に適用されてもよく、組み合わせて適用されてもよいが、同じ変換ス
キップブロックに対してはブロック(符号化または復号化対象ブロック)内の係数(または
、信号)の位置に関係なく常に同じスケールファクタ値が適用されなければならない。
【0157】
前述した本発明の実施例を反映した変換係数のスケーリング過程(Scaling Pr
ocess for transform coefficients)は、下記のように実
行されることができる。
【0158】
変換係数のスケーリング過程
【0159】
ここでの入力は、下記の通りである。
【0160】
-現在変換ブロックの幅Width;nW
【0161】
-現在変換ブロックの高さHeight;nH
【0162】
-要素(element)cijを有する変換係数の配列;(nW×nH)array d
【0163】
-現在変換ブロックの変換スキップ適用可否情報
【0164】
-現在ブロックの輝度信号及び色差信号に対するインデックス;cIdx
【0165】
もし、cIdxが‘0’の場合、輝度信号を意味し、cIdxが‘1’であり、または
cIdxが‘2’の場合、色差信号を意味する。また、cIdxが‘1’の場合、色差信
号でCbを意味し、cIdxが‘2’の場合、色差信号でCrを意味する。
【0166】
-量子化パラメータ;qP
【0167】
ここでの出力は、下記の通りである。
【0168】
-スケールされた変換係数に対する配列;(nW×nH)array dij
【0169】
変数log2TrSizeは、log2TrSize=(Log2(nW)+Log2(n
H))>>1を介して誘導される。変数shiftは、cIdxによって異なるように誘導さ
れる。cIxが‘0’の場合(輝度信号の場合)、shift=BitDepth+lo
g2TrSize-5から誘導され、その以外の場合(色差信号の場合)、shift=B
itDepth+log2TrSize-5から誘導される。ここで、BitDept
とBitDepthは、現在映像に対するサンプルのビット数(例えば、8ビット)
を意味する。
【0170】
スケーリング変数の配列levelScale[]は、以下の数式10の通りである。
【0171】
【数10】
【0172】
スケールされた変換係数は、下記の過程を介して計算される。
【0173】
まず、スケールファクタmijは、下記の過程を介して誘導される。
【0174】
-もし、scaling_list_enable_flagが‘0’であり、または現
在変換ブロックが変換スキップブロックの場合、mijは、以下の数式11のように誘導
される。
【0175】
【数11】
【0176】
-その以外の場合、mijは、以下の数式12のように誘導される。
【0177】
【数12】
【0178】
ここで、SizeIDは、ブロックの大きさによって前述した表1を介して誘導され、
RefMatrixID、そしてtrafoTypeは、以下の数式13及び数式14か
ら各々誘導される。また、数式13において、scaling_list_pred_ma
trix_id_deltaは、ビットストリームのSPS(Sequence Param
eter Set)を介してシグナリングされる。
【0179】
【数13】
【0180】
【数14】
【0181】
次に、スケールされた変換係数dijは、以下の数式15から誘導される。
【0182】
【数15】
【0183】
一方、前記のように、スケーリング過程を介してスケールされた変換係数は、逆変換過
程を実行する。このとき、変換スキップが適用された現在変換ブロックは、逆変換過程を
実行せずに、下記のような‘shift’演算過程のみを実行する。
【0184】
1.もし、現在ブロックのcIdxが‘0’の場合(輝度信号の場合)、shift=1
3-BitDepthであり、その以外の場合(色差信号の場合)、shift=13-
BitDepthである。
【0185】
2.残余ブロックに対する配列rij(i=0..(nW)-1,j=0..(nH)-1)は、
下記のように設定する。
【0186】
もし、shiftが‘0’より大きい場合、rij=(dij+(1<<(shift-1)
))>>shiftであり、その以外の場合、rij=(dij<<(-shift)である。
【0187】
ここで、dijは、スケールされた変換係数に対する配列であり、rijは、スケール
された変換係数を逆変換して求められた残余ブロックに対する配列を意味する。
【0188】
前述したスケールされた変換係数の逆変換過程を反映した実施例として、スケールされ
た変換係数のための変換過程(Transformation process for s
caled transform coefficients)部分は、下記のように実行
されることができる。
【0189】
スケールされた変換係数のための変換過程
【0190】
ここでの入力は、下記の通りである。
【0191】
-現在変換ブロックの幅Width;nW
【0192】
-現在変換ブロックの高さHeight;nH
【0193】
-要素(element)dijを有するスケールされた変換係数の配列;(nW×nH)
array d
【0194】
-現在ブロックに対する変換スキップ適用可否情報
【0195】
-現在ブロックの輝度信号及び色差信号に対するインデックス;cIdx
【0196】
もし、cIdxが‘0’の場合、輝度信号を意味し、cIdxが‘1’であり、または
cIdxが‘2’の場合、色差信号を意味する。また、cIdxが‘1’の場合、色差信
号でCbを意味し、cIdxが‘2’の場合、色差信号でCrを意味する。
【0197】
ここでの出力は、下記の通りである。
【0198】
-スケールされた変換係数を逆変換して求められた残余ブロックに対する配列;(nW
×nH)array r
【0199】
現在ブロックに対する符号化モード(PredMode)が画面内予測モード(Intr
a)であり、Log2(nW*nH)値が‘4’であり、cIdx値が‘0’の場合、輝度
信号の画面内予測方向モード(イントラ予測モード)によって、変数horizTrTyp
eとvertTrTypeは、以下の表3を介して求められる。もし、その以外の場合、
変数horizTrTypeとvertTrTypeは、‘0’に設定する。
【0200】
表3は、イントラ予測モードによるhorizTrTypeとvertTrType値
の一例を示す。
【0201】
【表3】
【0202】
現在ブロックに対する残余信号は、下記のような順序に求められる。
【0203】
まず、もし、現在ブロックに対する変換スキップが適用された場合は、下記を適用する
【0204】
1.もし、cIdxが‘0’の場合、shift=13-BitDepthであり、
その以外の場合、shift=13-BitDepthである。
【0205】
2.残余ブロックに対する配列rij(i=0..(nW)-1,j=0..(nH)-1)は、
下記のように設定する。
【0206】
-もし、shiftが‘0’より大きい場合、rij=(dij+(1<<(shift-
1)))>>shiftであり、その以外の場合、rij=(dij<<(-shift)である。
【0207】
もし、現在ブロックに対する変換スキップが適用されない場合は、下記を適用する。
【0208】
1.変数horizTrTypeとvertTrType値を有してスケールされた変
換係数に対する逆変換過程を実行する。まず、現在ブロックの大きさ(nW,nH)とスケ
ールされた変換係数配列(nW×nH array d)、変数horizTrTypeの入
力を受けて水平方向に1次元逆変換を実行することで、配列(nW×nH array e)
を出力する。
【0209】
2.次に、配列(nW×nH array e)の入力を受けて配列(nW×nH arra
y g)を以下の数式16のように誘導する。
【0210】
【数16】
【0211】
3.次に、現在ブロックの大きさ(nW,nH)と配列(nW×nH array g)、変
数vertTrTypeの入力を受けて垂直方向に1次元逆変換を実行する。
【0212】
4.次に、cIdxによって残余ブロックに対する配列(nW×nH)array rを
以下の数式17のように設定する。
【0213】
【数17】
【0214】
ここで、shiftは、cIdxが‘0’の場合、shift=20-BitDept
であり、その以外の場合、shift=20-BitDepth値を有する。Bi
tDepthは、現在映像に対するサンプルのビット数(例えば、8ビット)を意味する。
【0215】
前述したような変換係数のスケーリング過程及びスケールされた変換係数のための変換
過程を実行することによって、復元された残余ブロックを生成することができる。そして
、復元された残余ブロックに、イントラ予測またはインター予測を介して生成された予測
ブロックを加算することによって、復元ブロックを生成することができる。このとき、復
元ブロックは、ループフィルタが適用されたブロックであってもよく、ループフィルタが
適用されないブロックであってもよい。
【0216】
以下、本発明では、変換スキップブロックであるかどうかによって誘導される基本スケ
ールファクタをシグナリングする方法を提供する。
【0217】
本発明の一実施例によると、変換スキップブロックであるかどうかによって誘導される
基本スケールファクタは、SPS(Sequence Parameter Set)を介し
てシグナリングされることができる。
【0218】
表4は、本発明の一実施例による基本スケールファクタ情報をシグナリングするための
SPSシンタックスの一例を示す。
【0219】
【表4】
【0220】
表4を参照すると、transform_skip_enabled_flagは、現在
シーケンスに変換スキップアルゴリズムを使用するかどうかを示す。
【0221】
もし、変換スキップアルゴリズムが使われる場合、flat_scale_factor
_y_minus16、flat_scale_factor_cb_minus16、fla
t_scale_factor_cr_minus16がシグナリングされる。ここで、この
値は、正数または負数符号を有する形態で符号化(se(v))されることができる。または
、この値は、0と正数符号を有する形態で符号化(ue(v))されることができる。
【0222】
flat_scale_factor_y_minus16は、輝度信号に対するスケール
ファクタを意味する。例えば、flat_scale_factor_y_minus16値
が‘0’の場合、輝度信号に対するスケールファクタは、前記‘0’に‘16’を加えて
‘16’値を有する。
【0223】
flat_scale_factor_cb_minus16は、色差信号Cbに対するス
ケールファクタを意味し、flat_scale_factor_cr_minus16は、
色差信号Crに対するスケールファクタを意味する。
【0224】
これと関連して、輝度信号または色差信号に対するスケールファクタは、以下の数式1
8乃至数式20のように誘導されることができる。
【0225】
ここで、基本スケールファクタFlatScalingFactor[cIdx]は、輝
度信号と色差信号に対するスケールファクタを格納している。例えば、色相成分インデッ
クスcIdxが0の場合は輝度(Y)信号、1の場合はCb色差信号、2の場合はCr色差
信号を指示することができる。また、FlatScalingFactor[cIdx]値
は、任意の値の範囲を有することができ、一例として、8ビット信号の場合、‘-15’
から‘255-16’の値を有することができる。
【0226】
輝度信号に対する基本スケールファクタは、数式18のように誘導されることができる
【0227】
【数18】
【0228】
Cb色差信号に対する基本スケールファクタは、数式19のように誘導されることがで
きる。
【0229】
【数19】
【0230】
Cr色差信号に対する基本スケールファクタは、数式20のように誘導されることがで
きる。
【0231】
【数20】
【0232】
前述した本発明の一実施例による変換スキップブロックであるかどうかによって誘導さ
れる基本スケールファクタをシグナリングする方法を反映することで、変換係数のスケー
リング過程(Scaling Process for transform coeffi
cients)を下記のように実行することができる。
【0233】
変換係数のスケーリング過程
【0234】
ここでの入力は、下記の通りである。
【0235】
-現在変換ブロックの幅Width;nW
【0236】
-現在変換ブロックの高さHeight;nH
【0237】
-要素(element)cijを有する変換係数の配列;(nW×nH)array d
【0238】
-現在変換ブロックの変換スキップ適用可否情報;transSkipFlag
【0239】
transSkipFlag値が1の場合、現在ブロックに変換スキップが適用された
ことを示し、transSkipFlag値が0の場合、現在ブロックに変換スキップが
適用されないことを示す。
【0240】
-現在ブロックの輝度信号及び色差信号に対するインデックス;cIdx
【0241】
もし、cIdxが‘0’の場合、輝度信号を意味し、cIdxが‘1’であり、または
cIdxが‘2’の場合、色差信号を意味する。また、cIdxが‘1’の場合、色差信
号でCbを意味し、cIdxが‘2’の場合、色差信号でCrを意味する。
【0242】
-量子化パラメータ;qP
【0243】
ここでの出力は、下記の通りである。
【0244】
-スケールされた変換係数に対する配列;(nW×nH)array dij
【0245】
変数log2TrSizeは、log2TrSize=(Log2(nW)+Log2(n
H))>>1を介して誘導される。変数shiftは、cIdxによって異なるように誘導さ
れる。cIxが‘0’の場合(輝度信号の場合)、shift=BitDepth+lo
g2TrSize-5から誘導され、その以外の場合(色差信号の場合)、shift=B
itDepth+log2TrSize-5から誘導される。ここで、BitDept
とBitDepthは、現在映像に対するサンプルのビット数(例えば、8ビット)
を意味する。
【0246】
スケーリング変数の配列levelScale[]は、以下の数式21の通りである。
【0247】
【数21】
【0248】
スケールされた変換係数は、下記の過程を介して計算される。
【0249】
まず、スケールファクタmijは、下記の過程を介して誘導される。
【0250】
-もし、scaling_list_enable_flagが‘0’の場合、mij
、以下の数式22のように誘導される。
【0251】
【数22】
【0252】
-その以外の場合(即ち、scaling_list_enable_flagが‘1’の
場合、mijは、以下の数式23のように誘導される。
【0253】
【数23】
【0254】
ここで、SizeIDは、ブロックの大きさによって前述した表1を介して誘導され、
RefMatrixID、そしてtrafoTypeは、以下の数式24及び数式25か
ら各々誘導される。数式24において、scaling_list_pred_matri
x_id_deltaは、ビットストリームのSPS(Sequence Paramete
r Set)を介してシグナリングされる。
【0255】
【数24】
【0256】
【数25】
【0257】
次に、スケールされた変換係数dijは、以下の数式26から誘導される。
【0258】
【数26】
【0259】
一方、本発明の実施例による変換スキップブロックであるかどうかによって誘導される
基本スケールファクタは、前述したSPSだけでなく、PPS(Picture Para
meter Set)またはスライスヘッダ(SliceHeader)を介してシグナリン
グされることができる。また、CU単位またはTU単位にシグナリングされることもでき
る。
【0260】
前述したSPSでシグナリングされるflat_scale_factor_y_minu
s16、flat_scale_factor_cb_minus16、flat_scal
e_factor_cr_minus16値は、PPS(または、SliceHeader、
CU、TU)で更新して使用することができる。
【0261】
表5は、本発明の他の実施例による基本スケールファクタ情報をシグナリングするため
のPPSシンタックスの一例を示す。
【0262】
【表5】
【0263】
表5を参照すると、transform_skip_enabled_flagは、現在
映像に変換スキップアルゴリズムを使用するかどうかを示す。もし、変換スキップアルゴ
リズムが使われる場合、pps_flat_scaling_factor_present
_flag値がシグナリングされる。
【0264】
例えば、もし、pps_flat_scaling_factor_present_fl
ag値が‘0’の場合、前述したSPSで適用したflat_scale_factor_
y_minus16、flat_scale_factor_cb_minus16、fla
t_scale_factor_cr_minus16を変換スキップブロックのためのスケ
ールファクタとして使用する。それに対し、もし、pps_flat_scaling_f
actor_present_flag値が‘1’の場合、前述したSPSで適用したfl
at_scale_factor_y_minus16、flat_scale_factor
_cb_minus16、flat_scale_factor_cr_minus16値を更
新するために該当値がシグナリングされる。
【0265】
シグナリングされたflat_scale_factor_y_minus16、flat
_scale_factor_cb_minus16、flat_scale_factor_
cr_minus16値は、現在映像の変換スキップブロックに対するスケールファクタ
として使われる。このとき、この値は、再変更されない時まで持続的に使われることがで
きる。または、この値は、現在映像にのみ適用して使用し、次の映像ではSPSで使用し
たスケールファクタ値を適用することができる。
【0266】
ここで、flat_scale_factor_y_minus16、flat_scal
e_factor_cb_minus16、flat_scale_factor_cr_mi
nus16は、正数または負数符号を有する形態で符号化(se(v))されることができる
。または、この値は、0と正数符号を有する形態で符号化(ue(v))されることができる
【0267】
flat_scale_factor_y_minus16、flat_scale_fac
tor_cb_minus16、flat_scale_factor_cr_minus16
値は、輝度信号及び色差信号毎に各々異なる値を有して各々シグナリングされることがで
きる。例えば、flat_scale_factor_y_minus16値は輝度信号に対
するスケールファクタ、flat_scale_factor_cb_minus16値はC
b色差信号に対するスケールファクタ、flat_scale_factor_cr_min
us16値はCr色差信号に対するスケールファクタをシグナリングするときに使われる
ことができる。または、輝度信号に対するスケールファクタとしてflat_scale_
factor_y_minus16、色差信号に対するスケールファクタとしてflat_
scale_factor_cb_cr_minus16を利用してシグナリングすることも
できる。または、輝度信号及び色差信号に対するスケールファクタとして一つの値fla
t_scale_factor_y_cb_cr_minus16を利用してシグナリングする
こともできる。
【0268】
前述したように、SPSまたはPPSでシグナリングされるflat_scale_fa
ctor_y_minus16、flat_scale_factor_cb_minus16
、flat_scale_factor_cr_minus16値は、SliceHeade
r(または、CU、TU)で更新して使用することができる。
【0269】
表6は、本発明の他の実施例による基本スケールファクタ情報をシグナリングするため
のスライスヘッダ(SliceHeader)シンタックスの一例を示す。
【0270】
【表6】
【0271】
表6を参照すると、transform_skip_enabled_flagは、現在
スライスに変換スキップアルゴリズムを使用するかどうかを示す。もし、変換スキップア
ルゴリズムが使われる場合、flat_scaling_factor_override_
flag値がシグナリングされる。
【0272】
例えば、もし、flat_scaling_factor_override_flag値
が‘0’の場合、前述したSPSまたはPPSで適用したflat_scale_fact
or_y_minus16、flat_scale_factor_cb_minus16、f
lat_scale_factor_cr_minus16を変換スキップブロックのための
スケールファクタとして使用する。それに対し、もし、flat_scaling_fac
tor_override_flag値が‘1’の場合、前述したSPSまたはPPSで適
用したflat_scale_factor_y_minus16、flat_scale_f
actor_cb_minus16、flat_scale_factor_cr_minus
16値を更新するために該当値がシグナリングされる。
【0273】
flat_scale_factor_y_delta、flat_scale_facto
r_cb_delta、flat_scale_factor_cr_delta値は、現在ス
ライスの変換スキップブロックに対するスケールファクタとして使われる。
【0274】
ここで、flat_scale_factor_y_delta、flat_scale_f
actor_cb_delta、flat_scale_factor_cr_delta値は
、正数または負数符号を有する形態で符号化(se(v))されることができる。または、こ
の値は、0と正数符号を有する形態で符号化(ue(v))されることができる。
【0275】
flat_scale_factor_y_delta、flat_scale_facto
r_cb_delta、flat_scale_factor_cr_delta値は、輝度信
号及び色差信号毎に各々異なる値を有して各々シグナリングされることができる。例えば
、flat_scale_factor_y_delta値は輝度信号に対するスケールファ
クタ、flat_scale_factor_cb_delta値はCb色差信号に対するス
ケールファクタ、flat_scale_factor_cr_delta値はCr色差信号
に対するスケールファクタをシグナリングするときに使われることができる。または、輝
度信号に対するスケールファクタとしてflat_scale_factor_y_delt
a、色差信号に対するスケールファクタとしてflat_scale_factor_cb_
cr_deltaを利用してシグナリングすることもできる。または、輝度信号及び色差
信号に対するスケールファクタとして一つの値flat_scale_factor_y_c
b_cr_deltaを利用してシグナリングすることもできる。
【0276】
前記のように、シグナリングされたflat_scale_factor_y_delta
、flat_scale_factor_cb_delta、flat_scale_fact
or_cr_delta値を利用して以下の数式27乃至数式29のように基本スケールフ
ァクタを誘導することができる。
【0277】
ここで、基本スケールファクタFlatScalingFactor[cIdx]は、輝
度信号と色差信号に対するスケールファクタを格納している。例えば、色相成分インデッ
クスcIdxが0の場合は輝度(Y)信号、1の場合はCb色差信号、2の場合はCr色差
信号を指示することができる。また、FlatScalingFactor[cIdx]値
は、任意の値の範囲を有することができ、一例として、8ビット信号の場合‘-15’か
ら‘255-16’の値を有することができる。
【0278】
輝度信号に対する基本スケールファクタは、flat_scale_factor_y_d
eltaを利用して数式27のように誘導されることができる。
【0279】
【数27】
【0280】
Cb色差信号に対する基本スケールファクタは、flat_scale_factor_
cb_deltaを利用して数式28のように誘導されることができる。
【0281】
【数28】
【0282】
Cr色差信号に対する基本スケールファクタは、flat_scale_factor_
cr_deltaを利用して数式29のように誘導されることができる。
【0283】
【数29】
【0284】
一方、前述した実施例は、ブロック大きさまたはCU深さまたはTU深さによって適用
範囲を異なるようにすることができる。このように適用範囲を決定する変数(例えば、ブ
ロックの大きさまたは深さ情報)は、符号化器及び復号化器が予め決められた値を使用す
るように設定してもよく、プロファイルまたはレベルによって決められた値を使用するよ
うに設定してもよく、符号化器が変数値をビットストリームに記載すると、復号化器がビ
ットストリームからこの値を求めて使用するように設定してもよい。
【0285】
CU深さによって適用範囲を異なるようにする時は、表7に例示したように、次の三つ
の方法が適用されることができる。方法Aは、与えられた深さ以上の深さにのみ適用する
方式であり、方法Bは、与えられた深さ以下にのみ適用する方式であり、方法Cは、与え
られた深さにのみ適用する方式である。
【0286】
表7は、CU(または、TU)深さによって本発明の方法を適用する範囲を決定する方法
の一例を示す。表7において、‘O’表記は、CU(または、TU)の該当深さに該当方法
を適用することを意味し、‘X’表記は、CU(または、TU)の該当深さに該当方法を適
用しないことを意味する。
【0287】
【表7】
【0288】
表7を参照すると、CU(または、TU)深さが2の場合、本発明の実施例に対して方法
A、方法B、方法Cを全部適用することができる。
【0289】
CU(または、TU)の全ての深さに対して本発明の実施例を適用しない場合、任意の指
示子(例えば、flag)を使用して表現することもでき、CU深さの最大値より一つ大き
い値を、適用範囲を示すCU深さ値としてシグナリングすることで表現することもできる
【0290】
また、前述したCU(または、TU)深さによって本発明の方法を適用する範囲を決定す
る方法は、輝度ブロックと色差ブロックの大きさによって異なるように適用することがで
き、また、輝度映像及び色差映像に異なるように適用することができる。
【0291】
表8は、輝度ブロック及び色差ブロックの大きさによって適用範囲を決定する方法の組
合せを概略的に示す一例である。
【0292】
【表8】
【0293】
表8の方法のうち、方法“ト1”をみると、輝度ブロックの大きさが8(8×8、8×
4、2×8等)の場合、且つ色差ブロックの大きさが4(4×4、4×2、2×4)の場合
、本発明の実施例1(ト1-実施例1)を輝度信号及び色差信号、並びに水平信号及び垂直
信号に適用することができる。
【0294】
前述した実施例において、方法は、一連のステップまたはブロックで流れ図に基づいて
説明されているが、本発明は、ステップの順序に限定されるものではなく、あるステップ
は、前述と異なるステップと、異なる順序にまたは同時に発生できる。また、当該技術分
野において、通常の知識を有する者であれば、流れ図に示すステップが排他的でなく、他
のステップが含まれ、または流れ図の一つまたはそれ以上のステップが本発明の範囲に影
響を及ぼさずに削除可能であることを理解することができる。
【0295】
以上の説明は、本発明の技術思想を例示的に説明したものに過ぎず、本発明が属する技
術分野において、通常の知識を有する者であれば、本発明の本質的な特性から外れない範
囲で多様な修正及び変形が可能である。したがって、本発明に開示された実施例は、本発
明の技術思想を限定するためのものではなく、説明するためのものであり、このような実
施例により本発明の技術思想の範囲が限定されるものではない。本発明の保護範囲は、特
許請求の範囲により解釈されなければならず、それと同等な範囲内にある全ての技術思想
は、本発明の権利範囲に含まれると解釈されなければならない。
図1
図2
図3
図4
図5
図6
図7