(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024125421
(43)【公開日】2024-09-18
(54)【発明の名称】画像の符号化/復号化方法及び装置
(51)【国際特許分類】
H04N 19/13 20140101AFI20240910BHJP
H04N 19/18 20140101ALI20240910BHJP
H04N 19/70 20140101ALI20240910BHJP
H04N 19/136 20140101ALI20240910BHJP
【FI】
H04N19/13
H04N19/18
H04N19/70
H04N19/136
【審査請求】有
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2024107527
(22)【出願日】2024-07-03
(62)【分割の表示】P 2022078472の分割
【原出願日】2018-01-31
(31)【優先権主張番号】10-2017-0013637
(32)【優先日】2017-01-31
(33)【優先権主張国・地域又は機関】KR
(31)【優先権主張番号】10-2018-0007285
(32)【優先日】2018-01-19
(33)【優先権主張国・地域又は機関】KR
(71)【出願人】
【識別番号】515289820
【氏名又は名称】インダストリー アカデミー コーオペレイション ファウンデーション オブ セジョン ユニバーシティ
(74)【代理人】
【識別番号】100107582
【弁理士】
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100096921
【弁理士】
【氏名又は名称】吉元 弘
(72)【発明者】
【氏名】ムン、ジュヒ
(72)【発明者】
【氏名】ハ、ジェミン
(72)【発明者】
【氏名】ウォン、ドンジェ
(72)【発明者】
【氏名】リム、ソンウォン
(57)【要約】 (修正有)
【課題】符号化効率を向上させる画像の符号化/復号化方法及び装置を提供する。
【解決手段】画像の符号化方法は、符号化する現在変換ブロック内の基準係数の位置を符号化しS601、基準係数の位置に基づいて選択されたスキップ領域に対するスキップ領域情報を符号化するS602。スキップ領域情報は、スキップ領域内の係数が同じ係数値を有するか否かを示す。スキップ領域を用いてエントロピー符号化または復号化することにより、符号化するデータの量を減少させ、コンテキスト適応算術符号化及び復号化の際に、各シンボルの符号化または復号化に適用される確率情報を効果的に選択することにより、算術符号化及び算術復号化の性能を向上させる。
【選択図】
図6
【特許請求の範囲】
【請求項1】
画像の復号化方法であって、前記方法は、
現在変換ブロックの係数情報を含むビットストリームを受信するステップと、前記係数情報は絶対値情報を含み、前記絶対値情報は、前記現在変換ブロック内の現在変換係数の絶対値が3より大きいか否かを示し、
前記ビットストリームからの前記現在変換係数の前記絶対値情報をエントロピー復号化するステップと、
前記現在変換係数の前記絶対値情報をエントロピー復号化するステップは、
前記現在変換係数の隣接変換係数の有意係数フラグ情報に基づいて、前記現在変換係数の前記絶対値情報の確率情報を決定するステップと、前記有意係数フラグ情報は、前記隣接変換係数がゼロでないか否かを示し、
前記確率情報に基づいて、前記現在変換係数の前記絶対値情報を復号化するステップと、
を備えることを特徴とする画像の復号化方法。
【請求項2】
前記隣接変換係数は、座標が(x+2、y)、(x+1、y+1)及び(x、y+2)である係数を含み、
xとyは、前記現在変換係数の座標を表すことを特徴とする請求項1に記載の画像の復号化方法。
【請求項3】
前記現在変換係数の前記絶対値情報の前記確率情報を決定するために利用可能な隣接変換係数の最大数は、5であることを特徴とする請求項2に記載の画像の復号化方法。
【請求項4】
前記方法は、
前記現在変換ブロック内の複数の領域のうち、前記現在変換係数が属する領域を決定するステップをさらに備え、
前記絶対値情報の前記確率情報は、前記現在変換係数が属する領域の位置をさらに考慮することによって決定されることを特徴とする請求項3に記載の画像の復号化方法。
【請求項5】
前記現在変換ブロックは、前記現在変換ブロック内の左上側コーナー係数からの距離に応じて、前記複数の領域に分割されることを特徴とする請求項4に記載の画像の復号化方法。
【請求項6】
前記方法は、
前記現在変換ブロックの参照係数の位置情報を前記ビットストリームから復号化するステップをさらに備え、
前記絶対値情報の前記確率情報は、前記参照係数の前記位置情報をさらに考慮することによって決定されることを特徴とする請求項5に記載の画像の復号化方法。
【請求項7】
画像の符号化方法であって、前記方法は、
現在変換ブロックの係数情報を取得するステップと、前記係数情報は絶対値情報を含み、前記絶対値情報は、前記現在変換ブロック内の現在変換係数の絶対値が3より大きいか否かを示し、
前記現在変換ブロックの前記係数情報を符号化することによってビットストリームを生成するステップと、
を備え、
前記係数情報を符号化するステップは、前記現在変換係数の前記絶対値情報をエントロピー符号化するステップを備え、
前記現在変換係数の前記絶対値情報をエントロピー符号化するステップは、
前記現在変換係数の隣接変換係数の有意係数フラグ情報に基づいて、前記現在変換係数の前記絶対値情報の確率情報を決定するステップと、前記有意係数フラグ情報は、前記隣接変換係数がゼロでないか否かを示し、
前記確率情報に基づいて、前記現在変換係数の前記絶対値情報を符号化するステップと、
を備えることを特徴とする画像の符号化方法。
【請求項8】
符号化方法によって生成されたビットストリームを送信する方法であって、前記符号化方法は、
現在変換ブロックの係数情報を取得するステップと、前記係数情報は絶対値情報を含み、前記絶対値情報は、前記現在変換ブロック内の現在変換係数の絶対値が3より大きいか否かを示し、
前記現在変換ブロックの前記係数情報を符号化することによって前記ビットストリームを生成するステップと、
を備え、
前記係数情報を符号化するステップは、前記現在変換係数の前記絶対値情報をエントロピー符号化するステップを備え、
前記現在変換係数の前記絶対値情報をエントロピー符号化するステップは、
前記現在変換係数の隣接変換係数の有意係数フラグ情報に基づいて、前記現在変換係数の前記絶対値情報の確率情報を決定するステップと、前記有意係数フラグ情報は、前記隣接変換係数がゼロでないか否かを示し、
前記確率情報に基づいて、前記現在変換係数の前記絶対値情報を符号化するステップと、
を備えることを特徴とする符号化方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像信号符号化/復号化方法及び装置に係り、より具体的には、エントロピー符号化/復号化に関する。
【背景技術】
【0002】
最近、インターネットでは、動画像などのマルチメディアデータの需要が急増している。しかし、チャネル(Channel)の帯域幅(Bandwidth)が発展する速度は、急増しているマルチメディアデータの量に追いつかない状況である。かかる状況を考慮して、国際標準化機構であるITU-TのVCEG(Video Coding Expert Group)とISO/IECのMPEG(Moving Picture Expert Group)は、2014年2月、動画像圧縮標準であるHEV(High Efficiency Videdo Coding)バージョン1を制定した。
【0003】
HEVCでは、画面内(Intra)予測、画面間(Inter)予測、変換、量子化、エントロピー符号化及びインループフィルタ(In-loop filter)などの様々な技術を持っている。エントロピー符号化の入力となる情報は、様々な方法を用いて生成される。符号化または復号化する入力画像または単位ブロックの大きさが大きくなるにつれて、エントロピー符号化するデータが急激に増加する可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【0004】
前述した問題点を解決するために、本発明は、より効率の良いエントロピー符号化及び復号化技術を提供することに主な目的がある。
【0005】
また、本発明は、スキップ領域を用いてエントロピー符号化または復号化することにより、符号化するデータの量を減少させることに主な目的がある。
【0006】
また、本発明は、コンテキスト適応算術符号化及び復号化の際に、各シンボルの符号化または復号化に適用される確率情報を効果的に選択することにより、算術符号化及び算術復号化の性能を向上させることに主な目的がある。
【課題を解決するための手段】
【0007】
本発明の一実施形態に係る画像の符号化方法または符号化装置は、符号化する現在変換ブロック内の基準係数の位置を符号化し、前記基準係数の位置に基づいて選択されたスキップ領域に対するスキップ領域情報を符号化することができる。
【0008】
前記スキップ領域情報は、前記スキップ領域内の係数が同じ係数値を持つか否かを示すことができる。
【0009】
本発明の他の実施形態に係る画像の符号化方法または符号化装置は、変換係数の値を2値化し、2値化された情報を取得し、変換ブロック内での前記変換係数の位置に基づいて、前記2値化された情報の符号化に適用される確率情報を決定することができる。
【0010】
前記2値化された情報の符号化に適用される確率情報は、複数の領域に区分される変換ブロック内で前記変換係数がどの領域に位置するかによって決定できる。
【0011】
本発明の別の実施形態に係る画像の符号化方法または符号化装置は、符号化する現在変換ブロック内の基準係数の位置を符号化し、前記基準係数の位置に基づいて選択されたスキップ領域に対するスキップ領域情報を符号化し、前記スキップ領域に含まれていない変換係数の値を2値化し、2値化された情報を取得し、複数の確率情報テーブルの中から、前記2値化された情報の符号化に適用する確率情報テーブルを選択することができる。
【0012】
前記2値化された情報の符号化に適用する確率情報テーブルは、前記現在変換ブロックの符号化に前記スキップ領域が使用されるか否かによって選択できる。
【0013】
本発明の一実施形態に係る画像の復号化方法または復号化装置は、復号化する現在変換ブロック内の基準係数の位置を復号化し、前記基準係数の位置に基づいて選択されたスキップ領域に対するスキップ領域情報を復号化することができる。
【0014】
前記スキップ領域情報は、前記スキップ領域内の係数が同じ係数値を持つか否かを示すことができる。
【0015】
本発明の他の実施形態に係る画像の復号化方法または復号化装置は、ビットストリームから算術符号化された変換係数の値を取得し、変換ブロック内での前記変換係数の位置に基づいて、前記算術符号化された変換係数の復号化に適用する確率情報を決定することができる。
【0016】
前記算術符号化された変換係数の復号化に適用する確率情報は、複数の領域に区分される変換ブロック内で前記変換係数がどの領域に位置するかによって決定できる。
【0017】
本発明の別の実施形態に係る画像の復号化方法または復号化装置は、復号化する現在変換ブロック内の基準係数の位置を復号化し、前記基準係数の位置に基づいて選択されたスキップ領域に対するスキップ領域情報を復号化し、前記スキップ領域に含まれていない変換係数の算術符号化された値を取得し、複数の確率情報テーブルの中から、前記変換係数の算術符号化された値の復号化に適用する確率情報テーブルを選択することができる。
【0018】
前記変換係数の算術符号化された値の復号化に適用する確率情報テーブルは、前記現在変換ブロックの復号化に前記スキップ領域が使用されるか否かに応じて、前記複数の確率情報テーブルのうちのいずれかが選択できる。
【0019】
本発明の一様相による画像の復号化方法は、現在変換ブロック内の基準係数の位置を復号化するステップと、前記基準係数の位置に基づいて符号化パラメータの確率情報を誘導するステップと、前記誘導された確率情報を用いて前記符号化パラメータを復号化するステップとを含むことができる。
【0020】
前記画像の復号化方法において、前記基準係数は、前記現在変換ブロック内の係数の逆スキャン順における最初の0ではない係数であってもよい。
【0021】
前記画像の復号化方法において、前記現在変換ブロックは、第1領域及び第2領域に分割され、前記符号化パラメータの確率情報は、前記基準係数がどの領域に存在するかに基づいて決定できる。
【0022】
本発明の一様相による画像の復号化方法は、現在変換ブロックのDC係数の部分情報を復号化するステップと、前記DC係数の部分情報に基づいて符号化パラメータの確率情報を誘導するステップと、前記誘導された確率情報を用いて前記符号化パラメータを復号化するステップとを含むことができる。
【0023】
前記画像の復号化方法において、前記DC係数は、前記現在変換ブロックの左上側に位置した係数であってもよい。
【0024】
前記画像の復号化方法において、前記DC係数の部分情報は、前記DC係数を復号化するための情報のうちの少なくとも一つの情報であってもよい。
【0025】
前記画像の復号化方法において、前記現在変換ブロック内の基準係数の位置を復号化するステップをさらに含み、前記符号化パラメータの確率情報は、前記DC係数と前記基準係数との距離情報及び前記DC係数の部分情報に基づいて誘導できる。
【0026】
本発明の一様相による画像の符号化方法は、現在変換ブロック内の基準係数の位置を符号化するステップと、前記基準係数の位置に基づいて符号化パラメータの確率情報を誘導するステップと、前記誘導された確率情報を用いて前記符号化パラメータを符号化するステップとを含むことができる。
【0027】
前記画像の符号化方法において、前記基準係数は、前記現在変換ブロック内の係数の逆スキャン順における最初の0ではない係数であってもよい。
【0028】
前記画像の符号化方法において、前記現在変換ブロックは、第1領域及び第2領域に分割され、前記符号化パラメータの確率情報は、前記基準係数がどの領域に存在するかに基づいて決定できる。
【0029】
前記画像の符号化方法において、現在変換ブロックのDC係数の部分情報を符号化するステップと、前記DC係数の部分情報に基づいて符号化パラメータの確率情報を誘導するステップと、前記誘導された確率情報を用いて前記符号化パラメータを符号化するステップとを含むことができる。
【0030】
前記画像の符号化方法において、前記DC係数は、前記現在変換ブロックの左上側に位置した係数であってもよい。
【0031】
前記画像の符号化方法において、前記DC係数の部分情報は、前記DC係数を符号化するための情報のうちの少なくとも一つの情報であってもよい。
【0032】
前記画像の符号化方法において、前記現在変換ブロック内の基準係数の位置を符号化するステップをさらに含み、前記符号化パラメータの確率情報は、前記DC係数と前記基準係数との距離情報及び前記DC係数の部分情報に基づいて誘導できる。
【発明の効果】
【0033】
本発明によれば、動画像を符号化した結果、生成される符号化情報の量を減らすことができるため、符号化効率を向上させることができる。
【0034】
また、コンテキスト適応算術符号化及び復号化の際に、各シンボルの符号化または復号化に適用される確率情報を効果的に選択することにより、算術符号化及び算術復号化の性能を向上させることができる。
【0035】
本開示で得られる効果は上述した効果に限定されず、上述していない別の効果は以降の記載から本開示の属する技術分野における通常の知識を有する者に明確に理解できるであろう。
【図面の簡単な説明】
【0036】
【
図1】本発明の一実施形態に係る画像符号化装置を示すブロック図である。
【0037】
【
図2】本発明の一実施形態に係る画像復号化装置を示すブロック図である。
【0038】
【
図3】本発明の一実施形態に係る変換ブロックの符号化方法を示す流れ図である。
【0039】
【
図4a】サブブロック単位で対角線方向の逆スキャン、垂直方向の逆スキャン及び水平方向の逆スキャンを示す図である。
【
図4b】サブブロック単位で対角線方向の逆スキャン、垂直方向の逆スキャン及び水平方向の逆スキャンを示す図である。
【
図4c】サブブロック単位で対角線方向の逆スキャン、垂直方向の逆スキャン及び水平方向の逆スキャンを示す図である。
【
図4d】サブブロック単位で対角線方向の逆スキャン、垂直方向の逆スキャン及び水平方向の逆スキャンを示す図である。
【0040】
【
図5】本発明の一実施形態に係る変換ブロックの復号化方法を示す流れ図である。
【0041】
【
図6】本発明の一実施形態によって、スキップ領域を用いた画像符号化方法を示す流れ図である。
【0042】
【
図7】本発明の一実施形態に係るスキップ領域を示す図である。
【0043】
【
図8】本発明の他の実施形態に係るスキップ領域を示す図である。
【0044】
【
図9】本発明の一実施形態に係る追加スキップ領域を示す図である。
【0045】
【
図10】本発明の一実施形態によって、スキップ領域または追加スキップ領域を含む変換ブロックを符号化する方法を示す流れ図である。
【0046】
【
図11】本発明の一実施形態によって、スキップ領域を用いた画像復号化方法を示す流れ図である。
【0047】
【
図12】本発明の一実施形態によって、スキップ領域または追加スキップ領域を含む変換ブロックを復号化する方法を示す流れ図である。
【0048】
【
図13】本発明の一実施形態に係るコンテキスト適応バイナリ算術符号化方法を示す流れ図である。
【0049】
【
図14】本発明の一実施形態に係るコンテキスト適応バイナリ算術復号化方法を示す流れ図である。
【0050】
【
図15a】周辺係数の情報に応じて確率情報を異ならせて適用した一例を示す図である。
【
図15b】周辺係数の情報に応じて確率情報を異ならせて適用した一例を示す図である。
【
図15c】周辺係数の情報に応じて確率情報を異ならせて適用した一例を示す図である。
【0051】
【
図16a】周波数領域の変換ブロックを複数の領域に分割する様々な実施形態を示す図である。
【
図16b】周波数領域の変換ブロックを複数の領域に分割する様々な実施形態を示す図である。
【
図16c】周波数領域の変換ブロックを複数の領域に分割する様々な実施形態を示す図である。
【0052】
【
図17】本発明の一実施形態に係る算術符号化方法を示す流れ図である。
【0053】
【
図18】本発明の一実施形態に係る算術復号化方法を示す流れ図である。
【0054】
【
図19a】本発明の他の実施形態に係る算術符号化及び算術復号化を説明するための図である。
【
図19b】本発明の他の実施形態に係る算術符号化及び算術復号化を説明するための図である。
【
図19c】本発明の他の実施形態に係る算術符号化及び算術復号化を説明するための図である。
【0055】
【
図20】本発明の他の実施形態に係る算術符号化方法または復号化方法を示す流れ図である。
【0056】
【
図21】本発明の一実施形態に係るコンテキスト適応バイナリ算術符号化方法を示す流れ図である。
【0057】
【
図22】本発明の一実施形態に係るコンテキスト適応バイナリ算術復号化方法を示す流れ図である。
【0058】
【
図23a】周辺係数の情報に応じて確率情報を異ならせて適用した一例を示す図である。
【
図23b】周辺係数の情報に応じて確率情報を異ならせて適用した一例を示す図である。
【0059】
【
図24】本発明の一実施形態に係る基準係数に基づいて確率情報を誘導する方法を示す符号化流れ図である。
【0060】
【
図25】本発明の一実施形態に係る基準係数の位置を示す図である。
【0061】
【
図26a】周辺係数の情報に応じて確率情報を異ならせて適用した一例を示す図である。
【
図26b】周辺係数の情報に応じて確率情報を異ならせて適用した一例を示す図である。
【0062】
【
図27】本発明の一実施形態に係る基準係数に基づいて確率情報を誘導する方法を示す復号化流れ図である。
【0063】
【
図28】本発明の一実施形態に係るDCの部分情報に基づいて確率情報を誘導する方法を示す符号化流れ図である。
【0064】
【
図29】DC係数の部分情報を用いて変換ブロック係数を符号化する方法を示す流れ図である。
【0065】
【
図30】本発明の一実施形態に係るDCの部分情報に基づいて確率情報を誘導する方法を示す復号化流れ図である。
【0066】
【
図31】DC係数の部分情報を用いて変換ブロック係数を復号化する方法を示す流れ図である。
【0067】
【
図32】DC係数と基準係数との距離及びDC係数の部分情報に基づいて確率情報を誘導する方法を示す符号化流れ図である。
【0068】
【
図33】周辺係数の情報に応じて確率情報を異ならせて適用した一例を示す図である。
【0069】
【
図34】DC係数と基準係数との距離及びDC係数の部分情報に基づいて確率情報を誘導する方法を示す復号化流れ図である。
【発明を実施するための形態】
【0070】
本発明は、様々な変更を加えることができ、様々な実施形態を有することができるので、特定の実施形態を図面に例示し、詳細な説明に詳細に説明する。ところが、これは本発明を特定の実施形態について限定するものではなく、本発明の思想及び技術範囲に含まれるすべての変更、均等物乃至代替物を含むものと理解されるべきである。各図面を説明しながら、類似の参照符号を類似の構成要素に対して使用した。
【0071】
用語「第1」、「第2」などは多様な構成要素の説明に使用できるが、これらの構成要素は上記の用語により限定されてはならない。これらの用語は、一つの構成要素を他の構成要素から区別する目的にのみ使われる。例えば、本発明の権利範囲から外れない限り、第1構成要素は第2構成要素と命名することができ、これと同様に、第2構成要素も第1構成要素と命名することができる。用語「及び/又は」は、複数の関連した記載項目の組み合わせ又は複数の関連した記載項目のいずれかを含む。
【0072】
ある構成要素が他の構成要素に「連結されて」いる或いは「接続されて」いるとした場合には、その他の構成要素に直接連結されている或いは接続されていることもあるが、それらの間に別の構成要素が介在することもあると理解されるべきである。これに対し、ある構成要素が他の構成要素に「直接連結されて」いる或いは「直接接続されて」いるとした場合には、それらの間に別の構成要素が介在しないと理解されるべきである。
【0073】
本発明で使用した用語は、単に特定の実施形態を説明するためのものであり、本発明を限定するものではない。単数の表現は、文脈上明白に異なる意味ではない限り、複数の表現を含む。本発明において、「含む」又は「有する」などの用語は、明細書上に記載された特徴、数字、ステップ、動作、構成要素、部品又はこれらの組み合わせが存在することを指定するものであり、一つ又はそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品又はこれらの組み合わせの存在又は付加可能性を予め排除しないものと理解されるべきである。
【0074】
以下、添付図面を参照して、本発明の実施形態を詳細に説明する。図面上の同一の構成要素については同一の参照符号を使用し、同一の構成要素についての重複説明は省略する。
【0075】
図1は本発明の一実施形態に係る画像符号化装置を示すブロック図である。
【0076】
図1を参照すると、画像符号化装置100は、画像分割部101、画面内予測部102、画面間予測部103、減算部104、変換部105、量子化部106、エントロピー符号化部107、逆量子化部108、逆変換部109、増算部110、フィルタ部111及びメモリ112を含むことができる。
【0077】
図1に示された各構成部は、画像符号化装置で互いに異なる特徴的な機能を示すために独立して図示したものであって、各構成部が分離されたハードウェア又は一つのソフトウェア構成単位からなることを意味しない。すなわち、各構成部は、説明の便宜上、それぞれの構成部として羅列して含むものであり、各構成部のうちの少なくとも二つの構成部が組み合わせられて1つの構成部をなすか、或いは1つの構成部が複数の構成部に分けられて機能を行うことができ、このような各構成部の統合された実施形態及び分離された実施形態も、本発明の本質から外れない限り、本発明の権利範囲に含まれる。
【0078】
また、一部の構成要素は、本発明において本質的な機能を行う不可欠の構成要素ではなく、単に性能を向上させるための選択的構成要素であり得る。本発明は、単に性能向上のために使用される構成要素を除いた、本発明の本質の実現に必要不可欠な構成部のみを含んで実現でき、単に性能向上のために使用される選択的構成要素を除いた必須構成要素のみを含む構造も本発明の権利範囲に含まれる。
【0079】
画像分割部101は、入力された画像を少なくとも一つのブロックに分割することができる。このとき、入力された画像は、ピクチャ、スライス、タイル、セグメントなど、さまざまな形状及びサイズを持つことができる。ブロックは、符号化単位(CU)、予測単位(PU)又は変換単位(TU)を意味することができる。前記分割は、4分木(quad tree)及び2分木(binary tree)のうちの少なくとも一つに基づいて行われ得る。4分木は、上位ブロックを、幅と高さが上位ブロックの半分である下位ブロックに四分割する方式である。2分木は、上位ブロックを、幅または高さのうちのいずれかが上位ブロックの半分である下位ブロックに二分割する方式である。前述した2分木ベースの分割によって、ブロックは正方形だけでなく、非正方形の形状を有することができる。
【0080】
予測部102、103は、インター予測を行う画面間予測部103と、イントラ予測を行う画面内予測部102を含むことができる。予測単位に対してインター予測を行うかイントラ予測を行うかを決定し、各予測方法による具体的な情報(例えば、イントラ予測モード、動きベクトル、参照ピクチャなど)を決定することができる。このとき、予測が行われる処理単位と、予測方法及び具体的な内容が定められる処理単位とは互いに異なり得る。例えば、予測方法と予測モードなどは予測単位で決定され、予測の実行は変換単位で行われてもよい。
【0081】
生成された予測ブロックと原本ブロック間の残差値(残差ブロック)は、変換部105に入力できる。また、予測のために使用した予測モード情報や動きベクトル情報などは、残差値と一緒にエントロピー符号化部107で符号化されて復号化器へ伝達できる。特定の符号化モードを使用する場合、予測部102、103を介して予測ブロックを生成せずに、原本ブロックをそのまま符号化して復号化部へ伝送することも可能である。
【0082】
画面内予測部102は、現在ピクチャ内の画素情報である現在ブロック周辺の参照ピクセル情報に基づいて予測ブロックを生成することができる。イントラ予測が行われる現在ブロックの周辺ブロックの予測モードがインター予測である場合には、インター予測が適用された周辺ブロックに含まれる参照画素を、イントラ予測が適用された周辺の他のブロック内の参照画素で代替することができる。すなわち、参照画素が利用可能ではない場合、利用可能でない参照画素情報を、利用可能な参照画素のうちの少なくとも一つの参照画素で代替して使用することができる。
【0083】
イントラ予測における予測モードは、参照画素情報を予測方向に応じて使用する方向性予測モードと、予測の実行時に方向性情報を使用しない非方向性モードとを持つことができる。輝度情報を予測するためのモードと色差情報を予測するためのモードとが互いに異なってもよく、色差情報を予測するために、輝度情報を予測するために使用されたイントラ予測モード情報又は予測された輝度信号情報を活用することができる。
【0084】
画面内予測部102は、AIS(Adaptive Intra Smoothing)フィルタ、参照画素補間部、及びDCフィルタを含むことができる。AISフィルタは、現在ブロックの参照画素に対してフィルタリングを行うフィルタであって、現在予測単位の予測モードに応じて、フィルタを適用するか否かを適応的に決定することができる。
現在ブロックの予測モードがAISフィルタリングを行わないモードである場合、AISフィルタは適用されなくてもよい。
【0085】
画面内予測部102の参照画素補間部は、予測単位のイントラ予測モードが参照画素を補間した画素値に基づいてイントラ予測を行う予測単位である場合、参照画素を補間して分数単位位置の参照画素を生成することができる。現在予測単位の予測モードが参照画素を補間せずに予測ブロックを生成する予測モードである場合、参照画素は補間されなくてもよい。DCフィルタは、現在ブロックの予測モードがDCモードである場合、フィルタリングを介して予測ブロックを生成することができる。
【0086】
画面間予測部103は、メモリ112に保存された、既に復元された参照画像と動き情報を用いて予測ブロックを生成する。動き情報は、例えば動きベクトル、参照ピクチャインデックス、リスト1予測フラグ、リスト0予測フラグなどを含むことができる。
【0087】
予測部102、103で生成された予測単位と予測単位の原本ブロックとの差異値である残差値(Residual)情報を含む残差ブロックが生成できる。生成された残差ブロックは、変換部105に入力されて変換できる。
【0088】
画面間予測部103は、現在ピクチャの以前ピクチャ又は以後ピクチャのうちの少なくとも一つのピクチャの情報に基づいて予測ブロックを誘導することができる。また、現在ピクチャ内の符号化が完了した一部領域の情報に基づいて、現在ブロックの予測ブロックを誘導することができる。本発明の一実施形態に係る画面間予測部103は、参照ピクチャ補間部、動き予測部及び動き補償部を含むことができる。
【0089】
参照ピクチャ補間部では、メモリ112から参照ピクチャ情報の提供を受け、参照ピクチャにおいて整数画素以下の画素情報を生成することができる。輝度画素の場合、1/4画素単位で整数画素以下の画素情報を生成するためにフィルタ係数を異にするDCTベースの8タップ補間フィルタ(DCT-based Interpolation Filter)が使用できる。色差信号の場合、1/8画素単位で整数画素以下の画素情報を生成するためにフィルタ係数を異にするDCTベースの4タップ補間フィルタ(DCT-based Interpolation Filter)が使用できる。
【0090】
動き予測部は、参照ピクチャ補間部によって補間された参照ピクチャに基づいて動き予測を行うことができる。動きベクトルを算出するための方法として、FBMA(Full search-based Block Matching Algorithm)、TSS(Three Step Search)、NTS(New Three-Step Search Algorithm)などの様々な方法が使用できる。動きベクトルは、補間された画素に基づいて1/2又は1/4画素単位の動きベクトル値を持つことができる。動き予測部では、動き予測方法を異にして現在ブロックの予測ブロックを予測することができる。動き予測方法として、スキップ(Skip)方法、マージ(Merge)方法、AMVP(Advanced Motion Vector Prediction)方法などの様々な方法が使用できる。
【0091】
減算部104は、現在符号化しようとするブロックと、画面内予測部102或いは画面間予測部103で生成された予測ブロックとを減算して現在ブロックの残差ブロックを生成する。
【0092】
変換部105では、残差データを含む残差ブロックをDCT、DST、KLT(Karhunen Loeve Transform)などの変換方法を用いて変換させることができる。この時、変換方法は、残差ブロックを生成するために使用された予測単位のイントラ予測モードに基づいて決定できる。例えば、イントラ予測モードに応じて、横方向にはDCTを使用し、縦方向にはDSTを使用してもよい。
【0093】
量子化部106は、変換部105で周波数領域に変換された値を量子化することができる。ブロックに応じて又は画像の重要度に応じて、量子化係数は変わり得る。量子化部106で算出された値は、逆量子化部108とエントロピー符号化部107に提供できる。
【0094】
前記変換部105及び/又は量子化部106は、画像符号化装置100に選択的に含まれ得る。すなわち、画像符号化装置100は、残差ブロックの残差データに対して、変換又は量子化のうちの少なくとも一つを行うか、或いは変換及び量子化の両方をスキップして残差ブロックを符号化することができる。画像符号化装置100で変換又は量子化のいずれかが行われないか、或いは変換及び量子化の両方が行われなくても、エントロピー符号化部107の入力に入るブロックを、通常、変換ブロックと呼ぶ。エントロピー符号化部107は、入力データをエントロピー符号化する。エントロピー符号化は、例えば、指数ゴロム(Exponential Golomb)、CAVLC(Context-Adaptive Variable Length Coding)、CABAC(Context-Adaptive Binary Arithmetic Coding)などのさまざまな符号化方法を使用することができる。
【0095】
エントロピー符号化部107は、変換ブロックの係数情報、ブロックタイプ情報、予測モード情報、分割単位情報、予測単位情報、伝送単位情報、動きベクトル情報、参照フレーム情報、ブロックの補間情報、フィルタリング情報などの様々な情報を符号化することができる。変換ブロックの係数は、変換ブロック内のサブブロック単位で符号化できる。
【0096】
変換ブロックの係数の符号化のために、逆スキャン順における最初の0ではない係数の位置を知らせるシンタックス要素(syntax element)であるLast_sig、サブブロック内に0ではない係数が少なくとも一つあるかを知らせるフラグであるCoded_sub_blk_flag、0ではない係数であるかを知らせるフラグであるSig_coeff_flag、係数の絶対値が1よりも大きいかを知らせるフラグであるAbs_greater1_flag、係数の絶対値が2よりも大きいかを知らせるフラグであるAbs_greater2_flag、係数の符号を示すフラグであるSign_flagなどの様々なシンタックス要素が符号化できる。前記シンタックス要素のみで符号化されない係数の残余値は、シンタックス要素remaining_coeffを介して符号化できる。
【0097】
逆量子化部108及び逆変換部109では、量子化部106で量子化された値を逆量子化し、変換部105で変換された値を逆変換する。逆量子化部108及び逆変換部109で生成された残差値(Residual)は、予測部102、103に含まれている動き推定部、動き補償部及び画面内予測部102を介して予測された予測単位と合わせられて復元ブロック(Reconstructed Block)を生成することができる。増算器110は、予測部102、103で生成された予測ブロックと、逆変換部109を介して生成された残差ブロックとを増算して復元ブロックを生成する。
【0098】
フィルタ部111は、デブロッキングフィルタ、オフセット補正部及びALF(Adaptive Loop Filter)のうちの少なくとも一つを含むことができる。
【0099】
デブロッキングフィルタは、復元されたピクチャからブロック間の境界により生じたブロック歪みを除去することができる。デブロッキングを行うか否かを判断するために、ブロックに含まれた幾つかの列又は行に含まれているピクセルに基づいて、現在ブロックにデブロッキングフィルタを適用するか否かを判断することができる。ブロックにデブロッキングフィルタを適用する場合、必要なデブロッキングフィルタリング強度に応じて強いフィルタ(Strong Filter)又は弱いフィルタ(Weak Filter)を適用することができる。また、デブロッキングフィルタを適用するにあたり、垂直フィルタリング及び水平フィルタリングを行う際に、水平方向のフィルタリング及び垂直方向のフィルタリングが併行処理されるようにすることができる。
【0100】
オフセット補正部は、デブロッキングを行った画像に対してピクセル単位で原本画像とのオフセットを補正することができる。特定のピクチャに対するオフセット補正を行うために、画像に含まれているピクセルを一定数の領域に区分した後、オフセットを行う領域を決定し、該当領域にオフセットを適用する方法、又は各ピクセルのエッジ情報を考慮してオフセットを適用する方法を使用することができる。
【0101】
ALF(Adaptive Loop Filtering)は、フィルタリングした復元画像と元来の画像とを比較した値に基づいて行われ得る。画像に含まれているピクセルを所定のグループに分けた後、該当グループに適用される1つのフィルタを決定し、グループごとに差別的にフィルタリングを行うことができる。ALFを適用するか否かに関連した情報は、輝度信号は符号化単位(Coding Unit、CU)別に伝送でき、それぞれのブロックに応じて適用されるALFフィルタの形状及びフィルタ係数は変わり得る。また、適用対象ブロックの特性を問わずに、同じ形態(固定された形態)のALFフィルタが適用されてもよい。
【0102】
メモリ112は、フィルタ部111を介して算出された復元ブロック又はピクチャを保存することができ、保存された復元ブロック又はピクチャは、画面間予測を行うときに予測部102、103に提供できる。
【0103】
次に、本発明の一実施形態に係る画像復号化装置を図面に基づいて説明する。
図2は本発明の一実施形態に係る画像復号化装置200を示すブロック図である。
【0104】
図2を参照すると、画像復号化装置200は、エントロピー復号化部201、逆量子化部202、逆変換部203、増算部204、フィルタ部205、メモリ206及び予測部207、208を含むことができる。
【0105】
画像符号化装置100によって生成された画像ビットストリームが画像復号化装置200に入力される場合、入力されたビットストリームは、画像符号化装置100で行われた過程と反対の過程によって復号化できる。
【0106】
エントロピー復号化部201は、画像符号化装置100のエントロピー符号化部107でエントロピー符号化を行ったのと反対の手順でエントロピー復号化を行うことができる。例えば、画像符号化器で行われた方法に対応して指数ゴロム(Exponential Golomb)、CAVLC(Context-Adaptive Variable Length Coding)、CABAC(Context-Adaptive Binary Arithmetic Coding)などのさまざまな方法が適用できる。エントロピー復号化部201は、前述したようなシンタックス要素、すなわちLast_sig、Coded_sub_blk_flag、Sig_coeff_flag、Abs_greater1_flag、Abs_greater2_flag、Sign_flag及びremaining_coeffを復号化することができる。また、エントロピー復号化部201は、画像符号化装置100で行われたイントラ予測及びインター予測に関する情報を復号化することができる。
【0107】
逆量子化部202は、量子化された変換ブロックに対して逆量子化を行って変換ブロックを生成する。
図1の逆量子化部108と実質的に同様に動作する。
【0108】
逆変換部203は、変換ブロックに対して逆変換を行って残差ブロックを生成する。このとき、変換方法は、予測方法(インター又はイントラ予測)、ブロックのサイズ及び/又は形状、イントラ予測モードなどに関する情報に基づいて決定できる。
図1の逆変換部109と実質的に同様に動作する。
【0109】
増算部204は、画面内予測部207或いは画面間予測部208で生成された予測ブロックと、逆変換部203を介して生成された残差ブロックとを増算して復元ブロックを生成する。
図1の増算部110と実質的に同様に動作する。
【0110】
フィルタ部205は、復元されたブロックに発生するさまざまな種類のノイズを減少させる。
【0111】
フィルタ部205は、デブロッキングフィルタ、オフセット補正部及びALFを含むことができる。
【0112】
画像符号化装置100から、該当ブロック又はピクチャにデブロッキングフィルタを適用するか否かについての情報、及び、デブロッキングフィルタを適用した場合、強いフィルタを適用したか弱いフィルタを適用したかについての情報の提供を受けることができる。画像復号化装置200のデブロッキングフィルタでは、画像符号化装置100から提供されたデブロッキングフィルタ関連情報の提供を受け、画像復号化装置200で該当ブロックに対するデブロッキングフィルタリングを行うことができる。
【0113】
オフセット補正部は、符号化の際に、画像に適用されたオフセット補正の種類及びオフセット値の情報などに基づいて、復元された画像に対してオフセット補正を行うことができる。
【0114】
ALFは、画像符号化装置100から提供されたALF適用有無情報、ALF係数情報などに基づいて符号化単位に適用できる。このようなALF情報は、特定のパラメータセットに含まれて提供されてもよい。フィルタ部205は、
図1のフィルタ部111と実質的に同様に動作する。
【0115】
メモリ206は、増算部204によって生成された復元ブロックを保存する。
図1のメモリ112と実質的に同様に動作する。
【0116】
予測部207、208は、エントロピー復号化部201から提供された予測ブロック生成関連情報、及びメモリ206から提供された以前に復号化されたブロック又はピクチャ情報に基づいて予測ブロックを生成することができる。
【0117】
予測部207、208は、画面内予測部207及び画面間予測部208を含むことができる。別途図示されてはいないが、予測部207、208は、予測単位判別部をさらに含んでもよい。予測単位判別部は、エントロピー復号化部201から入力される予測単位情報、イントラ予測方法の予測モード情報、インター予測方法の動き予測関連情報などの様々な情報の入力を受け、現在符号化単位で予測単位を区分し、予測単位がインター予測を行うか、それともイントラ予測を行うかを判別することができる。画面間予測部208は、画像符号化装置100から提供された現在予測単位のインター予測に必要な情報を用いて、現在予測単位が含まれている現在ピクチャの以前ピクチャ又は以後ピクチャのうちの少なくとも一つのピクチャに含まれている情報に基づいて、現在予測単位に対する画面間予測を行うことができる。又は、現在予測単位が含まれている現在ピクチャ内で、既に復元された一部領域の情報に基づいて画面間予測を行うこともできる。
【0118】
画面間予測を行うために、符号化単位を基準に、該当符号化単位に含まれている予測単位の動き予測方法がスキップモード(Skip Mode)、マージモード(Merge Mode)及びAMVPモード(AMVP Mode)のうちのどの方法であるかを判断することができる。
【0119】
画面内予測部207は、現在符号化しようとするブロックの周辺に位置した、既に復元された画素を用いて、予測ブロックを生成する。
【0120】
画面内予測部207は、AIS(Adaptive Intra Smoothing)フィルタ、参照画素補間部及びDCフィルタを含むことができる。AISフィルタは、現在ブロックの参照画素にフィルタリングを行うフィルタであって、現在予測単位の予測モードに応じてフィルタの適用有無を適応的に決定することができる。画像符号化装置100から提供された予測単位の予測モード及びAISフィルタ情報を用いて、現在ブロックの参照画素にAISフィルタリングを行うことができる。現在ブロックの予測モードがAISフィルタリングを行わないモードである場合、AISフィルタは適用されなくてもよい。
【0121】
画面内予測部207の参照画素補間部は、予測単位の予測モードが参照画素を補間した画素値に基づいてイントラ予測を行う予測単位である場合、参照画素を補間して分数単位位置の参照画素を生成することができる。生成された分数単位位置の参照画素が現在ブロック内の画素の予測画素として使用できる。現在予測単位の予測モードが、参照画素を補間せずに予測ブロックを生成する予測モードである場合、参照画素は補間されなくてもよい。DCフィルタは、現在ブロックの予測モードがDCモードである場合、フィルタリングを介して予測ブロックを生成することができる。
【0122】
画面内予測部207は、
図1の画面内予測部102と実質的に同様に動作する。
【0123】
画面間予測部208は、メモリ206に保存された参照ピクチャ、動き情報を用いて画面間予測ブロックを生成する。画面間予測部208は、
図1の画面間予測部103と実質的に同様に動作する。
【0124】
以下、本発明の様々な実施形態を図面に基づいてより詳細に説明する。
【0125】
(第1実施形態)
【0126】
図3は本発明の一実施形態に係る変換ブロックの符号化方法を示す流れ図である。
図3の変換ブロックの符号化方法は、画像符号化装置100のエントロピー符号化部107によって行われ得る。
【0127】
図4aに示すように、一つの変換ブロックはサブブロック単位で符号化できる。
図4aを参照すると、符号化または復号化する現在変換ブロック400が8×8ブロックである場合には、4×4サイズの4つのサブブロック1(401)乃至サブブロック4(404)に分割できる。変換ブロック内の変換係数の符号化順序を決定するためのスキャン方法には、現在ブロックまたは現在変換ブロックの予測モードに応じて垂直、水平または対角線方向の逆スキャン方法などが利用できる。ここで、予測モードは画面間予測または画面内予測であり得る。
【0128】
図4b、
図4c及び
図4dはそれぞれ対角線方向の逆スキャン、垂直方向の逆スキャン及び水平方向の逆スキャンを示す。ここで、説明の便宜のために、対角線方向の逆スキャンを例として説明するが、垂直方向の逆スキャンまたは水平方向の逆スキャンもすべて適用可能である。
【0129】
図3を参照すると、まず、逆スキャン順に従って変換係数をスキャンするとき、最初の0ではない係数を基準係数として定め、その位置情報Last_sigを符号化する(S301)。
【0130】
基準係数が含まれているサブブロックを選択し(S302)、当該サブブロック情報を符号化する(S303)。サブブロック情報であるCoded_sub_blk_flagは、現在サブブロック内に0ではない係数が少なくとも一つあるかを知らせるフラグである。その後、0ではない係数情報を符号化する(S304)。ここで、0ではない係数情報であるSig_coeff_flagは、サブブロック内に存在する各係数の値が0であるか否かを示す。
【0131】
そして、N超過係数情報を符号化する(S305)。ここで、N超過係数情報は、サブブロック内に存在するすべての係数に対して、各係数の絶対値が1からNまでの値をそれぞれ超えるかを示す。Nは符号化及び復号化の際に任意の所定の値を使用するが、Nの値を符号化して符号化及び復号化の際に同じ値を使用するようにすることができる。N超過係数情報の個数は、任意の所定の値を使用してもよく、基準係数の位置に応じて異なるように使用してもよい。例えば、Nが3に設定された場合、サブブロック内のすべての0ではないと判断された係数に対して、各係数の絶対値が1よりも大きい値であるか否かを符号化する。このため、係数の絶対値が1よりも大きいかを知らせるフラグであるAbs_greater1_flagが使用される。その後、1よりも大きい値と判断された係数に対してのみ、2よりも大きい値であるか否かを符号化する。このため、係数の絶対値が2よりも大きいかを知らせるフラグであるAbs_greater2_flagが使用される。最後に、2よりも大きい値と判断された係数に対してのみ、3よりも大きい値であるか否かを符号化する。このためには、係数の絶対値が3よりも大きいかを知らせるフラグであるAbs_greater3_flagが使用できる。
【0132】
その後、0ではないと判断された各係数に対して負数であるか正数であるかを示す符号情報が符号化される(S306)。符号情報は、Sign_flagが使用できる。そして、Nよりも大きいと判断された係数に対してのみ、Nを引いた残りの値を残差係数情報として定義し、この係数の残余値情報remaining_coeffが符号化される(S307)。
【0133】
その後、次のサブブロックが存在するか否かを確認した後(S309)。次のサブブロックが存在する場合には、次のサブブロックへ移動し(S310)、サブブロック情報を符号化する(S303)。当該サブブロック情報Coded_sub_blk_flagを確認し(S308)、Coded_sub_blk_flagの値が真であると確認されると、0ではない係数情報であるSig_coeff_flagを符号化する。もし当該サブブロック情報Coded_sub_blk_flagの値が偽である場合には、当該サブブロックに符号化する係数が存在しないという意味なので、次のサブブロックの存否を確認する。或いは、次のサブブロックへ移動した後、当該サブブロックが最も低周波側に位置したサブブロックである場合、0ではない係数が存在するという仮定の下に、サブブロック情報の符号化及び復号化なしに真であると符号化及び復号化の際に同一に設定することも可能である。
【0134】
図5は本発明の一実施形態に係る変換ブロックの復号化方法を示す流れ図である。
図5の変換ブロックの復号化方法は、
図3の変換ブロックの符号化方法に対応する。
図5の変換ブロックの復号化方法は、画像復号化装置200のエントロピー復号化部201によって行われ得る。
【0135】
逆スキャン順に従って最初に出てくる0ではない変換係数である基準係数の位置情報Last_sigを復号化する(S501)。
【0136】
基準係数が含まれているサブブロックを選択し(S502)、サブブロック情報Coded_sub_blk_flagを復号化する(S503)。その後、0ではない係数情報Sig_coeff_flagを復号化する(S504)。そして、N超過係数情報が復号化される(S505)。ここで、N超過係数情報には、前述したようなAbs_greater1_flag、Abs_greater2_flag及びAbs_greater3_flagなどが含まれ得る。
【0137】
その後、0ではないと判断された各係数に対して係数の符号情報Sign_flagが復号化される(S506)。そして、Nよりも大きいと判断された係数に対してのみ、Nを引いた残りの値に該当する残差係数情報remaing_coeffが復号化される(S507)。その後、次のサブブロックが存在するか否かを確認した後(S509)、存在する場合には、次のサブブロックへ移動し(S510)、サブブロック情報Coded_sub_blk_flagを復号化する(S503)。当該サブブロック情報Coded_sub_blk_flagを確認し(S508)、もし当該サブブロック情報が真である場合には、0ではない係数情報Sig_coeff_flagを復号化し、もし当該サブブロック情報が偽である場合には、当該サブブロックに復号化する係数が存在しないという意味なので、次のサブブロックの存否を確認する。
【0138】
図6は本発明の一実施形態によって、スキップ領域を用いた画像符号化方法を示す流れ図である。
図6の画像符号化方法は、画像符号化装置100のエントロピー符号化部107によって行われ得る。
【0139】
図6を参照すると、まず、エントロピー符号化部107は、符号化する現在変換ブロック内の基準係数の位置を符号化する(S601)。前述したように、基準係数は、逆スキャン順に係数をスキャンするときに最初の0ではない係数をいう。その後、基準係数の位置に基づいて選択されたスキップ領域に対するスキップ領域情報を符号化する(S602)。
【0140】
ここで、スキップ領域とは、基準係数の位置に基づいて定められる、現在変換ブロック内の領域である。スキップ領域情報は、スキップ領域内の係数がすべて同じ値を持つか否かを示す。ここで、スキップ領域内の係数が持つ同じ値は0であり得る。もし、スキップ領域内の係数が持つ同じ値が0ではない場合には、0ではないどの値であるかを示す情報がさらに符号化できる。スキップ領域内の係数が持つ同じ値として、0ではない任意の所定の値を使用することも可能である。この場合、所定の値の情報を変換ブロック単位ではない上位ヘッダを介して符号化することが可能である。
【0141】
一方、スキップ領域は、所定の規則によって符号化/復号化過程で同様に決定してもよく、変換ブロック内のスキップ領域の範囲を知らせる座標をさらに符号化して符号化装置100または復号化装置200で同じ位置を利用してもよい。
【0142】
図7は本発明の一実施形態に係るスキップ領域を示す図である。対角線方向の逆スキャンが現在変換ブロック700の係数符号化に使用される場合を仮定する。
【0143】
図7を参照すると、基準係数701の位置を基準に左下45度方向に基準線702を生成した後、基準線702上に位置する係数と、基準線702の下側に存在する係数とを含む領域がスキップ領域として指定されている。
図7において、スキップ領域は陰影で表示されており、スキップ領域内のすべての係数は0の同一値を持つ。また、スキップ領域内のすべての係数は、基準係数よりも符号化順序における後ろに位置する。
【0144】
スキップ領域を設定する他の実施形態として、基準係数が変換ブロック内のいずれかの任意の領域に位置することにより、スキップ領域内に存在する係数の数が少なければ、基準係数を基準にスキップ領域を定めるのではなく、逆スキャン順上、基準係数以後に出てくる0ではない係数のうちのいずれかまたは基準係数に隣接する係数を用いて、スキップ領域を設定することができる。ここで、基準係数が位置する、変換ブロック内の任意の領域は、逆スキャン順に計算したサブブロックの個数を所定のしきい値と比較して設定することが可能である。または、基準係数が変換ブロックのいずれかの任意の位置からどれほど離れているかを把握し、所定のしきい値と比較して設定することもできる。例えば、この任意の位置は、変換ブロックの横と縦の中間地点である中心点であってもよい。または、変換ブロックの横と縦をそれぞれm及びn等分した後、この分けられた領域のうちの一つを任意の領域として決定することも可能である。ここで、mとnの値は、ブロック単位或いは上位ヘッダを介して符号化することも可能であり、符号化及び復号化の際に同様に所定の値を使用することも可能である。
【0145】
図8は本発明の他の実施形態に係るスキップ領域を示す図である。変換ブロック800内の基準係数801の位置から変換ブロック800内の左下側コーナーに存在する係数802の位置に基準線803を生成した後、基準線803上に位置する係数と基準線803の下側に存在する係数とを含む領域をスキップ領域として指定する。ここで、スキップ領域に属する係数は基準係数よりも符号化順序における後ろに位置する。
図8において、スキップ領域は陰影で表示されている。
【0146】
一方、
図6に示されてはいないが、ステップS601及びS603によって設定されたスキップ領域以外に、さらにスキップ領域を設定してもよい。さらに設定されるスキップ領域は、追加スキップ領域情報を用いて符号化できる。
【0147】
図9は本発明の一実施形態に係る追加スキップ領域を示す図である。
図7に示されたスキップ領域に加えて、さらに追加スキップ領域が
図9に設定されている。
図7のスキップ領域上側の領域が追加スキップ領域として設定され、追加スキップ領域内の係数がすべて同じ値であるか否かを示す追加スキップ領域情報が符号化できる。ここで、スキップ領域内の係数が持つ同じ値は0であり得る。もし、スキップ領域内の係数が持つ同じ値が0ではない場合、0ではないどの値であるかを示す情報がさらに符号化できる。スキップ領域内の係数が持つ同じ値として、0ではない任意の所定の値を使用することも可能である。
この場合、所定の値の情報を、変換ブロック単位ではない上位ヘッダを介して符号化することが可能である。
【0148】
一方、追加スキップ領域の位置は、所定の規則によって符号化及び復号化過程で同様に決定されてもよく、変換ブロック内の座標をさらに符号化して符号化装置100及び復号化装置200で同じ位置を用いてもよい。ここで、新たに生成された追加スキップ領域は、以前スキップ領域から距離pだけ離れていてもよい。
【0149】
図9を参照すると、基準係数701を基準に基準線702を生成することにより、スキップ領域が設定され、さらに基準線702の上側を追加スキップ領域として設定した例示を示す。追加スキップ領域とスキップ領域との距離pが0である場合には、基準線703上の係数を含む領域が追加スキップ領域になり得る。もし距離pが1である場合には、追加スキップ領域は、基準線703上の係数を含む領域、及び基準線704上の係数を含む領域を含む。
【0150】
本実施形態において、追加スキップ領域とスキップ領域との距離pは0または1である場合を例として挙げたが、その他の値が使用されてもよい。ここで、pは符号化/復号化過程で所定の同じ値が使用できる。或いはpの値をブロック単位で符号化するか、或いは上位ヘッダを介して符号化することも可能である。
【0151】
また、追加スキップ領域は、所定の方式によって追加されることが可能である。例えば、追加スキップ領域情報が偽であると判断されるまで、追加スキップ領域を追加し続けるか、或いは所定の回数qだけ符号化し続けることも可能である。ここで、追加される各追加スキップ領域ごとに互いに異なるpを設定することが可能である。
【0152】
図10は本発明の一実施形態によって、スキップ領域または追加スキップ領域を含む変換ブロックを符号化する方法を示す流れ図である。
図10に示された方法は、
図6に示された方法以後に行われ得る。
図10の符号化方法は、画像符号化装置100のエントロピー符号化部107によって行われ得る。
【0153】
現在符号化しようとする変換ブロック内のサブブロックに基準係数が含まれた場合には、符号化する係数が含まれたという意味なので、サブブロック情報であるCoded_sub_blk_flagが符号化されない。スキップ領域情報または追加スキップ領域情報が真であり、且つ現在符号化しようとするサブブロックがスキップ領域または追加スキップ領域を含むか否かを確認する(S1001)。もし上記の二つの条件が真であれば、現在サブブロック内に位置しながら、符号化順序上、スキップ領域の外に位置した係数を選択する(S1002)。もしそうでなければ、スキップ領域とは関係なく、符号化されるべき係数をすべて選択する(S1003)。その後、係数の0ではない係数情報符号化(S1004)、N超過係数情報符号化(S1005)、符号情報符号化(S1006)、残差係数情報符号化(S1007)の順に符号化される。
【0154】
その後、次のサブブロックが存在する場合(S1008)には、次のサブブロックへ移動する(S1009)。スキップ領域情報または追加スキップ領域情報が真であり、且つ現在符号化しようとするサブブロックがスキップ領域または追加スキップ領域を含むか否かを確認する(S1010)、既にスキップ領域情報で当該サブブロックの情報を符号化したので、次のサブブロックへ移動する。ただし、この場合は、スキップ領域内の係数の値が0である場合にのみ使用可能である。もしスキップ領域内の係数の値が0ではない場合には、当該サブブロック情報を符号化しなければならない。
【0155】
サブブロックがスキップ領域または追加スキップ領域を含まないか、或いはスキップ領域情報が偽であれば、サブブロック情報を符号化し(S1011)、サブブロック情報が真である場合には(S1012)、ステップS1001へ移動し、サブブロック情報が偽である場合には、ステップS1008へ移動する。ステップS1008に移動した後、次のサブブロックが存在しないと決定されると、
図10のアルゴリズムが終了する。
【0156】
以下、
図6及び
図10に示されたアルゴリズムを
図7の例示を用いてさらに説明する。
現在変換ブロックにおいて、スキャン方法は、対角線方向の逆スキャン順と仮定し、初めて出てきた0ではない係数を基準係数として設定する。基準係数を基準に左下方向の係数と、その下の係数をスキップ領域として設定した後、スキップ領域の値をすべて確認する。スキップ領域の係数がすべて0と同じ値を持つので、スキップ領域情報は真に符号化する。サブブロック単位で分けた後、基準係数が含まれているサブブロックから符号化する。
【0157】
現在変換ブロックは8×8、サブブロックは4×4サイズを例として挙げて説明する。
一番目に符号化するサブブロックのスキップ領域情報が真であり、当該サブブロック内に符号化する係数が存在する。スキップ領域外の係数のみ符号化するため、
図7に示された例の場合、基準係数とその上に存在する1、0、0、-2のみ符号化すればよい。この場合、0ではない係数情報は、それぞれ真、偽、偽、真となる。Nが2であると仮定すると、0ではないと判断された係数でのみ1超過情報を符号化する。係数値1と-2の1超過情報は、それぞれ偽と真が設定される。2超過情報は1超過情報が真である場合にのみ符号化され、係数値-2の2超過情報は偽に符号化される。その後、係数値1と-2の符号である+と-がそれぞれ符号化される。その後、次のサブブロックが存在するので、次のサブブロックへ移動する。
【0158】
二番目に符号化するサブブロックの場合、スキップ領域情報が真であり、当該サブブロックの中に符号化する係数が存在するため、サブブロック情報は真となる。したがって、スキップ領域外の係数0、0及び1のみ符号化する。係数0、0及び1の0ではない係数情報は、それぞれ偽、偽、真が符号化された後、係数1の1超過情報のみが偽に符号化される。係数1の符号情報は、+に符号化され、次のサブブロックへ移動する。
【0159】
三番目に符号化するサブブロックの場合、スキップ領域情報が真であり、当該サブブロック内に符号化する係数が存在するため、サブブロック情報は真になる。スキップ領域外の係数を逆スキャンで整列すると、0、0、0、0、0、1、1、1、1、-2、-2、1、-3、3、10となる。これらの係数は、ステップS1004乃至S1007を用いて符号化される。
【0160】
図11は本発明の一実施形態によって、スキップ領域を用いた画像復号化方法を示す流れ図である。
図11の復号化方法は、画像復号化装置200のエントロピー 復号化部 201によって行われ得る。
【0161】
図11を参照すると、まず、エントロピー復号化部201は、復号化する現在変換ブロック内の基準係数の位置を復号化する(S1101)。その後、基準係数の位置に基づいて選択されたスキップ領域に対するスキップ領域情報を復号化する(S1103)。前述したように、基準係数の位置は、Last_sigを復号化することにより誘導できる。
スキップ領域及びスキップ領域情報は、前述と同様なので、詳細な説明は省略する。また、
図11に別途示されてはいないが、スキップ領域以外にさらに設定された追加スキップ領域があれば、追加スキップ領域は、追加スキップ領域情報を用いて復号化できる。
【0162】
図12は本発明の一実施形態によって、スキップ領域または追加スキップ領域を含む変換ブロックを復号化する方法を示す流れ図である。
図12に示された方法は、
図11に示された方法以後に実行できる。
図12の復号化方法は、画像復号化装置200のエントロピー復号化部201によって実行できる。
【0163】
図12に示された方法は、
図10に示された方法と実質的に同様なので、詳細な説明は省略する。ただし、
図10ではスキップ領域情報、追加スキップ領域情報、サブブロック情報Coded_sub_blk_flag、0ではない係数情報、N超過係数情報、符号情報及び残差係数情報などが符号化されたが、
図12ではこれらの情報が復号化されるという点において、違いがある。
【0164】
図11及び
図12に示されたアルゴリズムを
図7の例示を用いてさらに説明する。現在変換ブロックにおける基準係数の位置情報Last_sigを復号化した後、基準係数を設定する。基準係数の位置に基づいてスキップ領域が設定され、スキップ領域情報が復号化される。この例では、スキップ領域情報は真である。変換ブロックをサブブロック単位に分けた後、基準係数が含まれているサブブロックから復号化する。
【0165】
現在変換ブロックは8×8、サブブロックは4×4サイズであることを例として説明する。一番目に復号化するサブブロックの場合、スキップ領域情報が真であり、当該サブブロックの中に復号化する係数が存在する。スキップ領域外の係数のみ復号化するため、
図7に示された例の場合、基準係数とその上に存在する1、0、0、-2のみ復号化すればよい。この場合、0ではない係数情報の復号化された値は、それぞれ真、偽、偽、真となる。Nが2であると仮定すると、0ではないと判断された係数でのみ1超過情報を復号化する。係数値1と-2の1超過情報は、それぞれ偽と真に復号化される。2超過情報は1超過情報が真である場合にのみ復号化され、係数値-2の2超過情報は偽に復号化される。その後、係数値1と-2の符号である+と-がそれぞれ復号化される。その後、次のサブブロックが存在するので、次のサブブロックへ移動する。
【0166】
二番目に復号化するサブブロックの場合、スキップ領域情報が真であり、当該サブブロックの中に復号化する係数が存在するため、サブブロック情報は真となる。したがって、スキップ領域外の係数である0、0及び1のみ復号化する。係数0、0及び1の0ではない係数情報は、それぞれ偽、偽、真が復号化された後、係数1の1超過情報のみが偽に復号化される。係数1の符号情報は+に復号化され、次のサブブロックへ移動する。
【0167】
三番目に復号化するサブブロックの場合、スキップ領域情報が真であり、当該サブブロックの中に復号化する係数が存在するため、サブブロック情報は真となる。スキップ領域外の係数を逆スキャンで整列すると、0、0、0、0、0、1、1、1、1、-2、-2、1、-3、3、10となる。この係数は、ステップS1204乃至S1207を用いて復号化される。
【0168】
(第2実施形態)
【0169】
以下、図面を参照して本発明の第2実施形態を説明する。
【0170】
符号化された情報は、2値化過程によって、コンテキスト適応バイナリ算術過程が行われる。コンテキスト適応バイナリ算術過程とは、ブロック内の符号化された情報をシンボル化し、状況に応じて確率情報を用いてシンボルの発生確率を異ならせて適用し、符号化する過程をいう。本実施形態では、説明の便宜のために、シンボルを0と1のみ使用したが、シンボルの個数はN個(Nは2以上の自然数)であり得る。
【0171】
確率情報とは、2値化された情報における0と1の発生確率をいう。両情報の発生確率を、以前復元された情報に応じて同一にしてもよく、異ならせてもよい。情報に応じてN個の確率情報を有することもできる。
【0172】
図13は本発明の一実施形態に係るコンテキスト適応バイナリ算術符号化方法を示す流れ図である。まず、確率初期化が行われる(S1301)。確率初期化とは、2値化された情報を、確率情報に設定されている確率で確率区間を分ける過程である。ただし、どの確率情報を使用するかは、符号化装置または復号化装置で任意に所定の規則によって同じ条件を使用してもよく、別途に確率情報が符号化されてもよい。初期確率区間は所定の規則によって符号化/復号化過程で同一に決定されてもよい。または、初期確率区間を新たに符号化して使用してもよい。
【0173】
符号化する現在符号化パラメータの2値情報が決定されると(S1302)、現在符号化パラメータの2値化された情報は、ステップS1302の以前ステップまでの確率区間状態と、同じ符号化パラメータの以前確率情報を用いて符号化される(S1303)。その後、符号化される2値情報のために確率情報と確率区間が更新(S1304)された後、次の符号化される符号化パラメータ情報が存在する場合(S1305)には、次の符号化パラメータ情報へ移動し(S1306)、前述した過程を繰り返し行う。もし次の符号化される符号化パラメータ情報が存在しない場合には、本流れ図は終了する。
【0174】
図14は本発明の一実施形態に係るコンテキスト適応バイナリ算術復号化方法を示す流れ図である。符号化装置とは異なり、復号化装置では、確率情報及び確率区間を用いて符号化パラメータの2値情報を復号化(S1402)した後、現在符号化パラメータの2値情報を決定(S1403)する。その他の
図14の復号化方法は、
図13の符号化方法に対応するので、詳細な説明は省略する。
【0175】
前述した
図13及び
図14のステップS1303とS1402において、各符号化パラメータ別に周辺に既に復元された情報を用いて、所定のN個の確率情報のうち、最適な確率情報を選択的に用いて符号化または復号化が行われ得る。例えば、量子化された変換ブロックに属する情報の確率情報は、変換ブロックの大きさに応じて情報が発生する確率の高い確率情報を使用してもよい。
【0176】
または、現在符号化または復号化する係数の周辺係数の情報に応じて確率情報を異ならせて適用することができ、以前の符号化または復号化された情報の確率情報を用いて、現在符号化または復号化する情報の確率情報を選択することもできる。
【0177】
図15a乃至
図15cは周辺係数の情報に応じて確率情報を異ならせて適用した一例を示す図である。
図15bは現在係数のSig_coeff_flag情報値を符号化または復号化に使用する確率情報テーブルの例示である。
図15bを参照すると、現在符号化または復号化する係数1501に隣接する係数のうち、現在係数1501のSig_coeff_flag情報値1と同じ情報値を有する係数の数が1つである場合には、現在係数1501にはインデックス8が割り当てられる。このとき、現在係数1501のSig_coeff_flag2値情報であるシンボル1の確率は61%であり、シンボル0の確率は39%である。もし現在係数1501のSig_coeff_flag情報値と同じ情報値を有する周辺係数の数が2つである場合、現在係数1501にはインデックス5が割り当てられ、このときの現在係数1501のSig_coeff_flag2値情報であるシンボル1の確率は71%であり、シンボル0の確率は29%である。もし、現在係数1501のSig_coeff_flag情報値と同じ情報値を有する周辺係数の数が3つである場合、現在係数1501にはインデックス2が割り当てられ、現在係数1501のSig_coeff_flag2値情報であるシンボル1の確率は87%であり、シンボル0の確率は13%である。
図15bに示された確率情報テーブルを用いて、現在係数1501が符号化または復号化された後、
図15cのように確率情報は更新できる。
【0178】
一方、0ではない係数情報Sig_coeff_flagの場合には、低周波領域に近いほど、0ではない係数情報の発生確率が高い確率情報が使用できる。N超過係数情報の確率情報は、直前に符号化/復号化したN超過係数情報の確率情報を用いて現在のN超過係数情報の確率情報を設定するか、或いはサブブロック単位で初めて符号化/復号化するN超過係数情報の確率情報をそのまま使用することもできる。サブブロック情報は、周辺の符号化/復号化されたM個のサブブロックの確率情報を用いるか、或いは直前に符号化/復号化されたサブブロックの確率情報を用いることもできる。
【0179】
図16a乃至
図16cは周波数領域の変換ブロックを複数の領域に分割する様々な実施形態を示す図である。
図16a乃至
図16cを参照すると、変換ブロックは、周波数A領域1601、1604、1607、周波数B領域1602、1605、1608、及び周波数C領域1603、1606、1609の3つの領域に区分できる。各領域は、変換ブロックのスキャン方向に沿って適応的に決定できるが、
図16aは変換ブロックのスキャン方向が対角線方向であるとき、
図16bはスキャン方向が横方向であるとき、
図16cはスキャン方向が縦方向であるときの周波数領域区分方法についての例示である。周波数A領域1601、1604、1607は、0ではない係数情報が発生する確率が最も高い低周波領域であり、周波数B領域1602、1605、1608は、A領域1601、1604、1607よりは0ではない係数情報が少なく発生し、周波数C領域1603、1606、1609は、高周波領域であって、A領域1601、1604、1607、B領域1602、1605、1608よりは0ではない係数情報が最も少なく発生する領域であることを利用して、確率情報を各領域別に異ならせて設定することができる。周波数A領域1601、1604、1607、周波数B領域1602、1605、1608、及び周波数C領域1603、1606、1609は、変換ブロックの左上側コーナーに位置したDC係数からの距離によって区分されたと見ることもできる。
【0180】
図15bの確率情報テーブルを再び参照すると、現在符号化または復号化する係数がA領域1601、1604、1607に属する場合には、現在係数にはインデックス8が割り当てられ、シンボル1の確率は61%であり、シンボル0の確率は39%である。もし、現在係数がB領域1602、1605、1608に属する場合、現在係数にはインデックス5が割り当てられ、シンボル1の確率は71%であり、シンボル0の確率は29%である。もし現在係数がC領域1603、1606、1609に属する場合、現在係数にはインデックス2が割り当てられ、シンボル1の確率は87%であり、シンボル0の確率は13%でる。
図15bに示された確率情報テーブルを用いて現在係数が符号化または復号化された後、
図15cのように確率情報は更新できる。
【0181】
0ではない係数情報、N超過係数情報、サブブロック情報の確率情報は、A領域1601、1604、1607に近づくほど発生確率が高い確率情報を用いることができ、N超過係数情報の確率情報は、0ではない係数情報を参照して確率情報を選択することができる。周波数領域分割は、符号化/復号化装置で同じ条件で行ってもよく、別途の分割情報を符号化して復号化装置へ伝送して行ってもよい。
【0182】
図17は本発明の一実施形態に係る算術符号化方法を示す流れ図である。
図17を参照すると、符号化する変換係数の値を2値化し、2値化された情報が誘導される(S1701)。変換ブロック内での前記変換係数の位置に基づいて、前記2値化された情報の符号化に適用する確率情報が決定される(S1703)。
図16aに示された例を参照すると、符号化する現在係数が周波数A領域1601、周波数B領域1602または周波数C領域1603のうちのどの領域に属するかによって、適用される確率情報が決定される。ここで、周波数A領域1601、周波数B領域1602及び周波数C領域1603は、変換ブロックの左上側コーナーに位置したDC係数からの距離によって区分されたと見ることができる。
【0183】
図18は本発明の一実施形態に係る算術復号化方法を示す流れ図である。
図18を参照すると、ビットストリームから算術符号化された変換係数の値が抽出される(S1801)。変換ブロック内での前記変換係数の位置に基づいて、前記算術符号化された変換係数の復号化に適用する確率情報が決定される(S1803)。前述したように、
図16aに示された例を参照すると、復号化する現在係数が周波数A領域1601、周波数B領域1602または周波数C領域1603のうちのどの領域に属するかによって、適用される確率情報が決定される。ここで、周波数A領域1601、周波数B領域1602及び周波数C領域1603は、変換ブロックの左上側コーナーに位置したDC係数からの距離によって区分されたと見ることができる。
【0184】
次に、
図19a乃至
図19cと
図20を参照して、本発明の他の実施形態に係る算術符号化及び算術復号化について説明する。
【0185】
本実施形態では、
図7乃至
図9に示されたスキップ領域を用いた、量子化された変換係数の符号化方法が使用された場合には、スキップ領域が使用されている場合とスキップ領域が使用されていない場合に応じて、現在情報を符号化または復号化するときに互いに異なる確率情報が用いられる。
【0186】
図19aに示された現在係数1901の符号化または復号化のために、
図19bまたは
図19cに示された確率情報テーブルが使用されると仮定する。
図19bに示された確率情報テーブルは、スキップ領域が使用されない場合に適用される確率情報テーブルであり、
図19cに示された確率情報テーブルは、スキップ領域が使用される場合に適用される確率情報テーブルである。
【0187】
図19aを参照すると、現在係数1901の属する変換ブロックまたはサブブロックにスキップ領域が存在するので、現在係数1901の符号化または復号化のために、
図19cに示された確率情報テーブルが適用される。よって、例えば、現在係数1901にはインデックス5が割り当てられる。この場合、シンボル1の確率は71%であり、シンボル0の確率は29%である。
【0188】
または、周辺係数においてN超過係数の個数に応じて確率情報を異ならせて適用することができる。0ではない係数情報とN超過係数情報は、周辺に符号化/復号化された情報の個数と周波数領域の位置に基づいて発生確率が高い確率情報を用いることができ、周波数C領域でありながらスキップ領域の周辺に位置した係数である場合、0ではない係数情報、N超過係数情報、サブブロック情報の発生確率が低い確率情報を適用することもできる。
【0189】
図20は本発明の他の実施形態に係る算術符号化または復号化方法を示す流れ図である。
図19a乃至
図19cを参照して先立って説明したように、スキップ領域が使用されている場合とスキップ領域が使用されていない場合に応じて、現在情報を符号化または復号化するときに互いに異なる確率情報を使用する。
【0190】
図20を参照すると、まず、符号化または復号化する現在変換ブロック内の基準係数の位置が符号化または復号化される(S2001)。その後、前記基準係数の位置に基づいて選択されたスキップ領域に対するスキップ領域情報が符号化または復号化される(S2003)。前記スキップ領域に含まれていない変換係数の値を2値化し、2値化された情報が得られると、複数の確率情報テーブルの中から、前記2値化された情報の符号化に適用する確率情報テーブルが選択される(S2005)。ここで、前記複数の確率情報テーブルは、スキップ領域が使用される場合のためのテーブルと、スキップ領域が使用されない場合のためのテーブルの少なくとも2つを含む。
【0191】
符号化された情報は、2値化過程を介してコンテキスト適応バイナリ算術過程が行われる。コンテキスト適応バイナリ算術過程とは、ブロック内の符号化された情報をシンボル化し、状況に応じて確率情報を用いてシンボルの発生確率を異ならせて適用し、符号化する過程をいう。本例示では、説明の便宜のために、シンボルを0と1のみ使用したが、シンボルの個数はN個(Nは2以上の自然数)であり得る。
【0192】
確率情報とは、2値化された情報において0と1の発生確率をいう。両情報の発生確率を、以前復元された情報に応じて同一にしてもよく、異ならせてもよい。情報に応じてN個の確率情報を有することもできる。
【0193】
図21はコンテキスト適応バイナリ算術符号化方法を示す流れ図である。まず、確率初期化が行われる(S2101)。確率初期化とは、2値化された情報を、確率情報に設定されている確率で確率区間を分ける過程である。ただし、どの確率情報を用いるかは、符号化装置または復号化装置で任意に所定の規則によって同じ条件を使用してもよく、別途に確率情報が符号化されてもよい。初期確率区間は、所定の規則によって符号化/復号化過程で同一に決定されてもよい。または、初期確率区間を新たに符号化して使用してもよい。
【0194】
符号化する現在符号化パラメータの2値情報が決定されると(S2102)、現在符号化パラメータの2値化された情報は、
図21のステップS2102の以前ステップまでの確率区間状態と、同じ符号化パラメータの以前確率情報を用いて符号化される(S2103)。そして、以後に符号化される2値情報のために確率情報と確率区間が更新(S2104)できる。次に符号化される符号化パラメータ情報が存在する場合(S2105)には、次の符号化パラメータ情報へ移動し(S2106)、前述した過程を繰り返し行う。
もし次に符号化される符号化パラメータ情報が存在しない場合には、本流れ図は終了する。
【0195】
図22はコンテキスト適応バイナリ算術復号化方法を示す流れ図である。符号化装置とは異なり、復号化装置では、確率情報及び確率区間を用いて符号化パラメータの2値情報を復号化(S2202)した後、現在符号化パラメータの2値情報を決定(S2203)する。その他の
図22の復号化方法は、
図21の符号化方法に対応するので、詳細な説明は省略する。
【0196】
前記説明した
図21及び
図22のステップS2103とS2202で、各符号化パラメータ別に周辺に既に復元された情報(または符号化パラメータ)を用いて所定のN個の確率情報のうち、最適な確率情報を選択的に用いて符号化または復号化が行われ得る。
【0197】
例えば、量子化された変換ブロックに属する情報(または符号化パラメータ)の確率情報は、変換ブロックのサイズに応じて情報が発生する確率の高い確率情報を使用することもできる。
【0198】
または、現在符号化または復号化する係数の周辺係数の情報に応じて確率情報を異ならせて適用することができ、以前の符号化または復号化された情報の確率情報を用いて、現在符号化または復号化する情報の確率情報を選択することもできる。
【0199】
図23a及び
図23bは、周辺係数の情報に応じて確率情報を異ならせて適用した一例を示す図である。
【0200】
図23aは現在係数のSig_coeff_flag情報値を符号化または復号化に使用する確率情報テーブルの例示である。現在符号化または復号化する係数に隣接する係数のうち、現在係数のSig_coeff_flag情報値と同じ情報値を有する係数の数が1つである場合には、現在係数にはインデックス8が割り当てられる。このとき、現在係数のSig_coeff_flag2値情報であるシンボル1の確率は61%であり、シンボル0の確率は39%である。もし、現在係数のSig_coeff_flag情報値と同じ情報値を有する周辺係数の数が2つである場合、現在係数にはインデックス5が割り当てられ、このときの現在係数のSig_coeff_flag2値情報であるシンボル1の確率は71%であり、シンボル0の確率は29%である。もし現在係数のSig_coeff_flag情報値と同じ情報値を有する周辺係数の数が3つである場合、現在係数にはインデックス2が割り当てられ、現在係数のSig_coeff_flag2値情報であるシンボル1の確率は87%であり、シンボル0の確率は13%である。
【0201】
図23aに示された確率情報テーブルを用いて現在係数が符号化または復号化された後、
図23bのように確率情報は更新できる。
【0202】
一方、0ではない係数情報Sig_coeff_flagの場合には、低周波領域に近いほど、0ではない係数情報Sig_coeff_flagの発生確率が高い確率情報が使用できる。
【0203】
そして、N超過係数情報の確率情報は、直前に符号化/復号化したN超過係数情報の確率情報を用いて現在のN超過係数情報の確率情報を設定するか、或いはサブブロック単位で初めて符号化/復号化するN超過係数情報の確率情報をそのまま使用することもできる。上述したように、N超過係数情報は、Abs_greater 1_flag、Abs_greater2_flag及びAbs_greater3_flagなどが含まれ得る。
【0204】
そして、サブブロック情報Coded_sub_blk_flagは、周辺の符号化/復号化されたM個のサブブロックの確率情報を用いてもよく、直前に符号化/復号化されたサブブロックの確率情報を用いてもよい。
【0205】
(第3実施形態)
【0206】
図24は本発明の一実施形態によって、基準係数の位置に基づいた各符号化パラメータの確率情報を決定し、これを用いて各符号化パラメータの情報を符号化する方法を示す流れ図である。
図24の流れ図は、画像符号化装置100のエントロピー符号化部107によって実行できる。
【0207】
図24を参照すると、まず、エントロピー符号化部107は、符号化する現在変換ブロック内の基準係数の位置を符号化する(S2401)。ここで、基準係数の位置は、基準係数位置情報Last_sigに符号化できる。
【0208】
前述したように、基準係数は逆スキャン順に係数をスキャンするとき、最初の0ではない係数を意味することもあるが、画像符号化装置100と画像復号化装置200で同一に設定された他の条件によっても決定可能である。
【0209】
その後、基準係数の位置に基づいて各符号化パラメータの確率情報を誘導し、当該符号化パラメータを符号化する(S2402)。
【0210】
ここで、基準係数の位置に基づいて確率テーブルを設定する方法は、
図25の図面例示を参照する。
【0211】
図25を参照すると、A領域2500は、変換ブロック内のDC係数と近い任意の領域を意味し、B領域2501は、変換ブロック内のA領域2500ではない領域を意味する。また、変換ブロックをN個以上の領域に分割することも可能である。ここで、A領域を示す任意の領域情報は、上位ヘッダから伝送されてもよく、画像符号化装置100と画像復号化装置200で変換ブロックの形態に応じて同じ条件で決定されてもよい。
【0212】
図25において基準係数の位置がA領域2500或いはB領域2501のうちのどの領域に存在するかによって、単一確率テーブル内で符号化パラメータの確率情報を異ならせて誘導し、符号化パラメータの確率情報を更新することができる。
【0213】
または、基準係数の位置がA領域或いはB領域のうちのどの領域に存在するかによって、2つ以上の互いに異なる初期確率テーブル、或いは互いに同じ初期確率テーブルを独立して用いて符号化パラメータの確率情報を更新することができる。
【0214】
次に、前述した方法の詳細な例示を説明する。
【0215】
変換ブロック内の各係数が0であるか否かを示すSig_coeff_flag情報の確率情報を誘導するために、2つの互いに同じ初期確率テーブルを独立して用いて符号化する場合、変換ブロックの基準係数がA領域2500に存在するときには、
図26aの2600テーブルを用いて、B領域2501に存在するときには、
図26aの2601テーブルを用いて、独立してSig_coeff_flag情報の確率情報を更新することができる。
【0216】
図26bの2602確率テーブルは、
図26aの2600初期確率テーブルにおいて基準係数の位置による確率テーブルのインデックス情報が5と決定されて確率情報が更新された結果であり、
図26bの2603確率テーブルは、
図26aの2601初期確率テーブルにおいて基準係数の位置による確率テーブルのインデックス情報が8と決定されて確率情報が更新された結果である。
【0217】
前述した例示と同様の原理で、変換ブロック内の係数の絶対値が1よりも大きいかを知らせるAbs_greater1_flag情報の確率情報は、基準係数がA領域にあるときには、Abs_greater1_flag情報が1である確率が高い確率情報を選択し、基準係数がB領域にあるときには、Abs_greater1_flag情報が0である確率の高い確率情報を選択して符号化することができる。
【0218】
一方、確率テーブル内でどの確率を用いるかを示すインデックス情報を決定する方法は、基準係数の詳細座標に応じてインデックス情報が決定できる。
【0219】
例えば、変換ブロック内の基準係数の詳細座標がA領域の最左上側(
図25の2502)に位置する場合、
図26aの2600初期確率テーブルにおいて基準係数の位置による確率テーブルのインデックス情報が5と決定できる。
図26bの2602確率テーブルのようにインデックス情報5の確率情報が更新できる。
【0220】
変換ブロック内の基準係数の詳細座標がB領域の中間に位置(
図25の2503)する場合、
図26aの2601初期確率テーブルにおいて基準係数の位置による確率テーブルのインデックス情報が8と決定できる。そして、
図26bの2603確率テーブルのように、インデックス情報8の確率情報が更新できる。
図27は本発明の一実施形態によって、基準係数の位置による各符号化パラメータの確率情報を決定し、これを用いて各符号化パラメータの情報を復号化する方法を示す流れ図である。
図27の復号化方法は、画像復号化装置200のエントロピー復号化部201によって実行できる。
【0221】
図27を参照すると、まず、エントロピー復号化部201は、復号化する現在変換ブロック内の基準係数の位置を復号化する(S2701)。前述したように、基準係数は、逆スキャン順に係数をスキャンするときに最初の0ではない係数をいう。その後、基準係数の位置に基づいて、各符号化パラメータの確率情報を誘導し、当該パラメータ情報を復号化する(S2702)。
【0222】
(第4実施形態)
【0223】
図28は本発明の一実施形態に係る、DC係数の部分情報に基づいて各符号化パラメータの確率情報誘導及び符号化方法を示す流れ図である。
図28の符号化方法は、画像符号化装置100のエントロピー符号化部107によって実行できる。
【0224】
図28を参照すると、DC係数の部分情報を符号化し(S2801)、DCの部分情報に基づいて各符号化パラメータの確率情報を誘導し、当該パラメータ情報を符号化することができる(S2802)。
【0225】
ここで、DC係数は、変換ブロックの最左上側に位置した係数であるか、或いは逆スキャン順における最後に出てくるノンゼロ係数(0ではない係数)であり得る。
【0226】
また、ここで、DC係数の部分情報とは、DC係数を符号化及び復号化するために必要な一部の部分情報を意味する。たとえば、DC係数の部分情報は、DC係数のSig_coeff_flag情報及びAbs_greater1_flag情報のうちの少なくとも一つを意味することができる。
【0227】
DC係数の部分情報に基づいて、単一確率テーブル内でDC係数の部分情報を除いた符号化パラメータの確率情報を異ならせて誘導し、符号化パラメータの確率情報を更新することができる。
【0228】
または、DC係数の部分情報に基づいて、2つ以上の互いに異なる初期確率テーブル或いは互いに同じ初期確率テーブルを独立して用いて、符号化パラメータの確率情報を更新することができる。
【0229】
次に、前述した方法の詳細な例示を説明する。
【0230】
変換ブロック内の各係数が0であるか否かを示すSig_coeff_flag情報の確率情報を誘導するために、2つの互いに同じ初期確率テーブルを独立して用いて符号化し、DC係数の部分情報は、Sig_coeff_flag情報のみを用いることができる。DC係数の部分情報が0である場合には、
図26aの2600テーブルを用いて、DCの部分情報が1である場合には、
図26aの2601テーブルを用いて、独立してSig_coeff_flag情報の確率情報を更新することができる。
【0231】
前述した例示と同様の原理で、変換ブロック内の係数の絶対値が1よりも大きいかを知らせるAbs_greater1_flag情報の確率情報は、DC係数の部分情報であるSig_coeff_flagが1である場合には、Abs_greater1_flag情報が1である確率が高い確率情報を選択し、DC係数の部分情報であるSig_coeff_flagが0である場合には、Abs_greater1_flag情報が0である確率が高い確率情報を選択して符号化することができる。
【0232】
確率テーブル内でどの確率を用いるかを示すインデックス情報を決定する方法は、DC係数の部分情報に基づいてインデックス情報が決定できる。
【0233】
たとえば、現在符号化する係数のSig_coeff_flag情報が1である場合、
図26aの2600初期確率テーブルのインデックス情報が5と決定できる。そして、
図26bの2602確率テーブルのようにインデックス情報5の確率情報が更新できる。
【0234】
現在符号化する係数のSig_coeff_flag情報が0である場合、
図26aの2601初期確率テーブルのインデックス情報が8と決定できる。そして、
図26bの2603確率テーブルのようにインデックス情報8の確率情報が更新できる。
【0235】
図29はDC係数の部分情報を用いて変換ブロック係数を符号化する方法を示す流れ図である。
【0236】
基準係数情報を符号化した後(S2901)、DC係数の部分情報を符号化する(S2902)。このとき、DC係数の位置が符号化/復号化装置で既に設定された場合、DC係数の位置符号化プロセスは省略することができる。そうでない場合には、DC係数の位置を符号化する(S2903)。変換ブロック内のサブブロックに基準係数が含まれた場合は、符号化する係数が含まれたという意味なので、サブブロック情報であるCoded_sub_blk_flagが符号化されない。以後、係数の0ではない係数情報符号化(S2906)、N超過係数情報符号化(S2907)、符号情報符号化(S2908)、残差係数情報符号化(S2909)の順に符号化される。ただし、DC係数の部分情報は、既に符号化したので、(S2906)から(S2909)までのステップでDC係数の符号化の際にDC係数の部分情報に使用されたステップは省略することができる。
【0237】
その後、次のサブブロックが存在する場合(S2911)には、次のサブブロックへ移動(S2912)して(S2906)から(S2909)までの順に情報を符号化し、次のサブブロックが存在しない場合には、アルゴリズムを終了する。
【0238】
図30は本発明の一実施形態に係るもので、DC係数の部分情報に基づいて各符号化パラメータの確率情報誘導及び復号化方法を示す流れ図である。
図30の復号化方法は、画像復号化装置200のエントロピー復号化部201によって実行できる。
【0239】
図30を参照すると、まず、エントロピー復号化部201は、DC係数の部分情報を復号化した後(S3001)、DC係数の部分情報に基づいて各符号化パラメータの確率情報を誘導し、当該パラメータ情報を復号化する(S3002)。
【0240】
図31はDC係数の部分情報を用いて変換ブロック係数を復号化する方法を示す流れ図である。
【0241】
基準係数情報を復号化した後(S3101)、DC係数の部分情報を復号化する(S3102)。このとき、DC係数の位置が符号化/復号化装置で既に設定された場合、DC係数の位置復号化過程は省略することができる。そうでない場合には、DC係数の位置を復号化する(S3103)。変換ブロック内のサブブロックに基準係数が含まれた場合は、復号化する係数が含まれたという意味なので、サブブロック情報であるCoded_sub_blk_flagが復号化されない。以後、係数の0ではない係数情報復号化(S3106)、N超過係数情報復号化(S3107)、符号情報復号化(S3108)、残差係数情報復号化(S3109)の順に復号化される。ただし、DC係数の部分情報は、既に復号化したので、(S3106)から(S3109)までのステップでDC係数の復号化の際にDC係数部分情報に使用されたステップは省略することができる。
【0242】
その後、次のサブブロックが存在する場合(S3111)には、次のサブブロックへ移動(S3112)して(S3106)から(S3109)までの順に情報を復号化し、次のサブブロックが存在しない場合には、アルゴリズムを終了する。
【0243】
(第5実施形態)
【0244】
図32は本発明の一実施形態に係るもので、DC係数と基準係数との距離及びDC係数の部分情報に基づいて各符号化パラメータの確率情報誘導及び符号化方法を示す流れ図である。
図32の符号化方法は、画像符号化装置100のエントロピー符号化部107によって実行できる。
【0245】
図32を参照すると、エントロピー符号化部107は、現在変換ブロックの基準係数の位置を符号化する(S3201)。前述したように、基準係数は、逆スキャン順に係数をスキャンするときに最初の0ではない係数を意味することもできるが、画像符号化装置100と画像復号化装置200で同一に設定された他の条件によっても決定可能である。DC係数の部分情報を符号化した後、DC係数と基準係数との距離及びDC係数の部分情報に基づいて符号化パラメータの確率情報を誘導し、当該パラメータ情報を符号化する(S3202)。
【0246】
ここで、DC係数は、変換ブロックの最左上側に位置した係数であるか、或いは逆スキャン順における最後に出てくるノンゼロ係数(0ではない係数)であり得る。
【0247】
また、ここで、DC係数の部分情報とは、DC係数を符号化及び復号化するために必要な一部の部分情報を意味する。たとえば、DC係数の部分情報は、DC係数のSig_coeff_flag情報及びAbs_greater1_flag情報のうちの少なくとも一つを意味することができる。
【0248】
DC係数と基準係数との距離及びDC係数の部分情報に基づいて、単一確率テーブル内でDC係数の部分情報を除いた符号化パラメータの確率情報を異ならせて誘導し、符号化パラメータの確率情報を更新することができる。
【0249】
または、DC係数と基準係数との距離及びDC係数の部分情報に基づいて、2つ以上の互いに異なる初期確率テーブル、或いは互いに同じ初期確率テーブルを独立して用いて符号化パラメータの確率情報を更新することができる。
【0250】
ここで、DC係数と基準係数との距離情報を決定する方法は、符号化/復号化装置で所定の規則によって同一の方法で距離情報を決定することもでき、距離情報を符号化することもできる。
【0251】
次に、前述した方法の詳細な例示を説明する。
【0252】
変換ブロック内の各係数が0であるか否かを示すSig_coeff_flag情報の確率情報を誘導するために、3つの互いに同じ初期確率テーブルを独立して用いて符号化し、DC係数の部分情報は、Sig_coeff_flag情報のみを用いることができる。DC係数と基準係数との距離情報が所定の任意のしきい値よりも大きい場合、
図33の3300テーブルを用い、DC係数と基準係数との距離情報が所定の任意のしきい値よりも小さい場合、
図33の3301或いは3302テーブルを用いる。ここで、所定の任意のしきい値は、符号化/復号化装置に既に設定された値であるか、或いは符号化装置で決定されて復号化装置へ伝送される情報に基づいた値であり得る。このとき、3301或いは3302テーブルのうちのどの確率テーブルを使用するかは、DC係数の部分情報に基づいて決定できる。たとえば、DC係数の部分情報であるSig_coeff_flag情報が1であれば、
図33の3301テーブルを用い、0であれば、
図33の3302テーブルを用いて確率情報を決定することができる。
【0253】
一方、確率テーブル内でどの確率を用いるかを示すインデックス情報を決定する方法は、DC係数と基準係数との距離情報に基づいてインデックス情報を決定した後、DC係数の部分情報に基づいて決定されたインデックス情報を補正することができる。
【0254】
図34は本発明の一実施形態に係るもので、DC係数と基準係数との距離及びDC係数の部分情報に基づいて各符号化パラメータの確率情報誘導及び復号化方法を示す流れ図である。
図34の復号化方法は、画像復号化装置200のエントロピー復号化部201によって実行できる。
【0255】
図34を参照すると、エントロピー復号化部201は、現在変換ブロックの基準係数の位置及びDC係数の部分情報を復号化する(S3401)。前述したように、基準係数は、逆スキャン順に係数をスキャンするときに最初の0ではない係数を意味することもできるが、画像符号化装置100と画像復号化装置200で同一に設定された他の条件によっても決定可能である。また、DC係数と基準係数との距離及びDC係数の部分情報に基づいて符号化パラメータの確率情報を誘導し、当該パラメータ情報を復号化する(S3402)。
【0256】
画像符号化装置100と画像復号化装置200での符号化/復号化アルゴリズムは、前述した
図29及び
図31の内容と同一であり得る。
【0257】
本開示の例示的な方法は、説明の明確性のために動作のシリーズで表現されているが、これは、ステップが実行される順序を制限するためのものではなく、必要に応じてはそれぞれのステップが同時にまたは異なる順に実行されてもよい。本開示による方法を実現するために、例示するステップにさらに他のステップを含むか、一部のステップを除いて残りのステップを含むか、或いは一部のステップを除いて更なる他のステップを含んでもよい。
【0258】
本開示の様々な実施形態は、すべての可能な組み合わせを羅列したものではなく、本開示の代表的な様相を説明するためのものであり、様々な実施形態で説明する事項は、独立して適用されてもよく、二つ以上の組み合わせで適用されてもよい。
【0259】
また、本開示の様々な実施形態は、ハードウェア、ファームウェア(firmware)、ソフトウェア、又はそれらの組み合わせなどによって実現できる。ハードウェアによる実現の場合、1つ又はそれ以上のASICs(Application Specific Integrated Circuits)、DSPs(Digital Signal Processors)、DSPDs(Digital Signal Processing Devices)、PLDs(Programmable Logic Devices)、FPGAs(Field Programmable Gate Arrays)、汎用プロセッサ(general processor)、コントローラ、マイクロコントローラ、マイクロプロセッサなどによって実現できる。
【0260】
本開示の範囲は、様々な実施形態の方法による動作が装置又はコンピュータ上で実行されるようにするソフトウェア又はマシン-実行可能な命令(たとえば、オペレーティングシステム、アプリケーション、ファームウェア(firmware)、プログラムなど)、及びこのようなソフトウェア又は命令などが保存されて装置又はコンピュータ上で実行可能な非一時的コンピュータ-可読媒体(non-transitory computer-readable medium)を含む。
【産業上の利用可能性】
【0261】
本発明は、画像を符号化/復号化する装置に利用可能である。