特開2015-111915(P2015-111915A)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ エム アンド ケー ホールディングス インコーポレイテッドの特許一覧

<>
  • 特開2015111915-イントラ予測装置 図000003
  • 特開2015111915-イントラ予測装置 図000004
  • 特開2015111915-イントラ予測装置 図000005
  • 特開2015111915-イントラ予測装置 図000006
  • 特開2015111915-イントラ予測装置 図000007
  • 特開2015111915-イントラ予測装置 図000008
  • 特開2015111915-イントラ予測装置 図000009
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2015-111915(P2015-111915A)
(43)【公開日】2015年6月18日
(54)【発明の名称】イントラ予測装置
(51)【国際特許分類】
   H04N 19/119 20140101AFI20150522BHJP
   H04N 19/129 20140101ALI20150522BHJP
   H04N 19/147 20140101ALI20150522BHJP
   H04N 19/176 20140101ALI20150522BHJP
【FI】
   H04N19/119
   H04N19/129
   H04N19/147
   H04N19/176
【審査請求】有
【請求項の数】7
【出願形態】OL
【全頁数】21
(21)【出願番号】特願2015-19647(P2015-19647)
(22)【出願日】2015年2月3日
(62)【分割の表示】特願2014-217428(P2014-217428)の分割
【原出願日】2011年4月22日
(31)【優先権主張番号】10-2010-0038158
(32)【優先日】2010年4月23日
(33)【優先権主張国】KR
(71)【出願人】
【識別番号】514095055
【氏名又は名称】エム アンド ケー ホールディングス インコーポレイテッド
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100091214
【弁理士】
【氏名又は名称】大貫 進介
(72)【発明者】
【氏名】オ,ス−ミ
(72)【発明者】
【氏名】ヤン,ムノク
【テーマコード(参考)】
5C159
【Fターム(参考)】
5C159LC09
5C159MA04
5C159MA05
5C159MA21
5C159MC11
5C159MC38
5C159ME01
5C159NN01
5C159NN28
5C159PP05
5C159PP06
5C159PP07
5C159TA12
5C159TA42
5C159TB08
5C159TC08
5C159TC18
5C159TC24
5C159TC42
5C159TD02
5C159TD14
5C159UA02
5C159UA12
5C159UA16
5C159UA18
5C159UA33
(57)【要約】      (修正有)
【課題】動画の所定サイズ以上の変換符号化された残差信号を効果的に符号化する。
【解決手段】イントラ予測装置は、イントラ予測モードを定め予測ブロックを生成するイントラ予測部と、予測残差ブロックを変換符号化及び量子化して量子化ブロックを生成する変換符号化/量子化部と、量子化ブロックを逆量子化及び逆変換して復元された残差ブロックを生成する逆量子化/変換復号化部と、量子化ブロックの量子化係数をエントロピー符号化するエントロピー符号化部と、を備える。量子化ブロックのサイズが8×8であれば、量子化ブロックの量子化係数はメインサブセットと複数の残余サブセットとに分割され、イントラ予測モードによって定められるパターンを用いて逆方向にスキャンされ、メインサブセット及び複数の残余サブセット内の量子化係数は同一パターンによってスキャンされ、イントラ予測モードは、上側及び左側イントラ予測モードを用いて符号化される。
【選択図】図1
【特許請求の範囲】
【請求項1】
イントラ予測装置において、
イントラ予測モードを定め、前記イントラ予測モードによって予測ブロックを生成するイントラ予測部と、
前記予測ブロックの残差ブロックを変換符号化及び量子化して、量子化ブロックを生成する変換符号化/量子化部と、
前記量子化ブロックを逆量子化及び逆変換して、復元された残差ブロックを生成する逆量子化/変換復号化部と、
前記量子化ブロックの量子化係数をエントロピー符号化するエントロピー符号化部と、を備え、
前記量子化ブロックのサイズが8×8であれば、前記量子化ブロックの量子化係数は、メインサブセットと複数の残余サブセットとに分割され、前記メインサブセットと複数の残余サブセットは、前記イントラ予測モードによって定められるスキャンパターンを用いて逆方向にスキャンされ、
前記メインサブセット及び前記複数の残余サブセット内の量子化係数は、同一のスキャンパターンによってスキャンされ、
前記イントラ予測モードは、上側及び左側イントラ予測モードを用いて符号化されることを特徴とする装置。
【請求項2】
前記上側イントラ予測モードが存在しない場合、前記上側イントラ予測モードはDCモードに設定されることを特徴とする請求項1に記載の装置。
【請求項3】
前記メインサブセットは、DC係数を含むされることを特徴とする請求項1に記載の装置。
【請求項4】
前記メインサブセット及び前記複数の残余サブセット内の量子化係数は、前記イントラ予測モードによって定められるスキャンパターンによってスキャンされることを特徴とする請求項1に記載の装置。
【請求項5】
前記メインサブセット及び前記複数の残余サブセット内の量子化係数は、逆方向にスキャンされることを特徴とする請求項4に記載の装置。
【請求項6】
前記イントラ予測モードが垂直モードであれば、前記スキャンパターンは水平スキャンであることを特徴とする請求項1に記載の装置。
【請求項7】
前記イントラ予測モードが水平モードであれば、前記スキャンパターンは垂直スキャンであることを特徴とする請求項1に記載の動画符号化装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、映像処理装置及び方法に係り、さらに詳細には、映像の残差信号量を低減させて残差信号をエントロピー符号化する装置に関する。
【背景技術】
【0002】
高い映像品質を維持しつつも低いデータレートで動画信号を効率的に伝送するために、多様なデジタル動画圧縮技術が提案されてきた。かかる動画圧縮技術には、H.261、MPEG−2/H.262、H.263、MPEG−4、AVC/H.264などがある。前記圧縮技術は、離散コサイン変換(DCT:Discrete Cosine Transform)技法、動き補償(MC:Motion Compensation)技法、量子化技法、エントロピー符号化技法などを含んでいる。
【0003】
映像符号化のために、各ピクチャーは、複数のスライスに分けられ、各スライスは、複数の所定サイズの符号化単位ブロックに分けられる。HD級以上の映像では、映像が比較的平坦になる領域が多いので、MBより大きい単位の符号化単位ブロックで符号化することで映像圧縮率を高めることができる。
【0004】
しかし、符号化単位ブロックのサイズが大きくなるにつれて、映像圧縮の複雑度を増大させずに映像圧縮率を高めるためには、新たな予測モードの導入が求められ、変換符号化、エントロピー符号化、イントラ予測及びインター予測符号化での変化が要求される。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は、動画符号化装置に係り、さらに詳細には、動画の所定サイズ以上の変換符号化された残差信号を効果的に符号化するための装置を提供するためのものである。
【課題を解決するための手段】
【0006】
本発明の一実施形態による動画符号化装置は、入力される映像を所定サイズの符号化単位ブロックに分割し、前記符号化単位ブロック別に予測符号化ブロックのサイズ及び予測モードを定める符号化モード決定部と、符号化単位ブロックとイントラ予測またはインター予測を通じて生成された予測ブロックの残差ブロックを変換符号化及び量子化する変換符号化/量子化部と、前記量子化された残差ブロックを逆量子化して逆変換し、周波数領域に変換する逆量子化/変換復号化部と、前記逆量子化/変換復号化部から受信された映像データにブロッキングフィルタリングを適用するブロッキングフィルタリング部と、予測符号化ブロックを生成する予測ブロック生成部と、前記変換符号化/量子化部によって量子化された変換係数を符号化するエントロピー符号化部と、を備え、前記エントロピー符号化部は、変換符号化ブロックのサイズが所定サイズ以上である場合に量子化された変換係数を複数のサブセットに分割し、それぞれのサブセット単位で、0ではない量子化係数をスキャンしてエントロピー符号化する。
【発明の効果】
【0007】
本発明によれば、符号化しようとするブロックの残差信号量を低減させることで符号化効率を向上させることができる。また、エントロピー符号化時に0ではない量子化された変換係数を効果的にスキャンすることで、エントロピー符号化時にかかるビット数を最小化して符号化効率を向上させる。
【図面の簡単な説明】
【0008】
図1】本発明の実施形態によるブロック分割構造を示す図面である。
図2】本発明による符号化モード決定方法を示す図面である。
図3】本発明による動画符号化装置を示す図面である。
図4】本発明による方向適応的ブロック分割方法を示す図面である。
図5】本発明による方向適応的ブロック分割方法を示す図面である。
図6】本発明による方向適応的ブロック分割方法を示す図面である。
図7】残差信号を符号化する方法を説明する図面である。
【発明を実施するための形態】
【0009】
以下、本発明のいろいろな実施形態を、例示的な図面を通じて詳細に説明する。本発明は、多様な変更を加えることができ、かついろいろな実施形態を持つことができるところ、本発明を特定の実施形態に対して限定しようとするものではなく、本発明の思想及び技術範囲に含まれる全ての変更、均等物ないし代替物を含むと理解されねばならない。各図面を説明しつつ類似した参照符号を類似した構成要素に対して使う。
【0010】
映像符号化のために、各ピクチャーは複数のスライスに分けられ、各スライスは複数の所定サイズの符号化単位ブロックに分けられる。HD級以上の映像では、映像が比較的平坦になる領域が多いので、16×16サイズのMBより大きい単位の符号化単位ブロックで符号化をすることで映像圧縮率を高められる。
【0011】
本発明による符号化単位ブロックは、16×16サイズのMBだけでなく32×32サイズのブロック、64×64サイズのブロックでありうる。さらには、8×8サイズまたはさらに小さなサイズのブロックも符号化単位ブロックになりうる。便宜のため、最大の符号化単位ブロックをスーパーメクロブロック(SMB)と称する。そして、前記スーパーメクロブロックのサイズは、最小符号化単位ブロックのサイズを示す情報及び深さ情報で定められる。前記深さ情報は、前記スーパーメクロブロックのサイズと最小符号化単位ブロックのサイズと差値を示す。
【0012】
したがって、映像シーケンスのすべてのピクチャーの符号化に使う符号化単位ブロックは、SMB及びこれらのサーブブロックでありうる。映像シーケンスに使う符号化単位ブロックの種類は、デフォルトに指定されるか、またはシーケンスヘッダで指定する。前記シーケンスヘッダで指定する場合、前記映像シーケンスに使う符号化単位ブロックの種類は、前記最小符号化単位ブロックのサイズ及び深さ情報で定められる。
【0013】
各ピクチャーまたはスライスはSMB単位に分けられる。そして、各SMBは、SMBまたはSMBのサーブブロック単位でイントラ予測またはインター予測符号化/復号化される。
【0014】
符号化単位ブロック(すなわち、SMBまたはSMBのサーブブロック)が正確に復号化されるためには、符号器では、前記符号化単位ブロックの予測符号化ブロックのサイズ情報、及びイントラ予測符号化されたか、またはインター予測符号化されたかを示す予測モード情報をビットストリームに追加せねばならない。このために、前記予測モード情報及び予測符号化ブロックのサイズを示す情報が前記符号化単位ブロックに含まれねばならない。前記予測モードは、スライスのタイプによって変わる。
【0015】
スライスのタイプがイントラ(I)である場合には、スライス内のすべての予測符号化ブロックであるイントラ予測になるので、予測符号化ブロックのサイズによって予測符号化ブロックの予測タイプを定められる。しかし、スライスタイプが片方向予測(P)または双方向予測(B)である場合には、予測モード情報及び予測符号化ブロックのサイズによって定められる予測符号化ブロックの予測タイプを定めることが望ましい。したがって、スライスタイプ、前記予測モード情報及び予測符号化ブロックのサイズを示す情報に基づいて前記予測符号化ブロックの予測タイプを生成し、前記符号化単位ブロックのヘッダに挿入することが望ましい。
【0016】
予測符号化ブロックがイントラ予測符号化される場合には、前記予測タイプ以外にもイントラ予測に使われるイントラ予測モード情報が復号器に送信されねばならない。
【0017】
予測符号化ブロックがインター予測符号化される場合には、片方向予測と双方向予測のうちいずれか一つに符号化される。片方向予測の場合には、片方向予測のための予測符号化ブロックの予測タイプ以外にも、予測時に使われた参照ピクチャー情報及び動きベクトル情報がビットストリームに含まれねばならない。双方向予測の場合には、双方向予測のためのブロックの予測タイプ以外に、双方向予測に使われた2つの参照ピクチャー情報及び動きベクトル情報が予測符号化ブロックのヘッダに含まれねばならない。前記動きベクトル情報は、動きベクトル及び動きベクトル予測子を示す情報を含む。
【0018】
図1は、本発明による64×64サイズの符号化単位ブロック(SMB)に対して許容可能な予測符号化ブロックの階層的分割構造を示す。
【0019】
SMBが符号化単位ブロックとして使われる場合には、図1に示したように、ブロック分割が4段階のサーブブロック分割段階で構成されることが望ましいが、これに限定されるものではない。ブロック分割が4段階のサーブブロック分割段階で構成される場合には、総13つのブロックタイプ(64×64、64×32、32×64、32×32、32×16、16×32、16×16、16×8、8×16、8×8、8×4、4×8、4×4)が定義される。
【0020】
この場合、MBより大きいサイズのインター予測符号化ブロックに対する伝送するデータが存在しない場合が生じる。したがって、予測ブロックのサイズが64×64である場合には、MB64_SKIP mode、SMBが32×32である場合にはMB32_SKIP modeを新たに追加することが望ましい。前記モード情報を復号器に伝送するために、MB64_SKIP_flagまたはMB32_SKIP_flagが使われる。これら値が1ならば、対応予測符号化ブロックの送信データが存在しないことを示す。
【0021】
一方、連続的なSMBがいずれも符号化されない場合には、最初のSMBのみにMB64_SKIP_flagを挿入し、連続するSMBには前記情報を略してもよい。この場合、連続してスキップされるSMBの数をスライスまたは最初のSMBに追加できる。具体的に、連続するSMBがいずれも符号化されなければ、最初のSMBのSMB_SKIP_flag=1に設定し、連続する複数のSMBに対しても共通的に適用される。この場合には、連続して符号化されないSMBの数に対応する情報(例えば、SMB_SKIP_number)をスライスに追加できる。
【0022】
符号化単位ブロックが32×32サイズを持つ場合には、既存に存在するブロック(16×16、16×8、8×16、8×8、8×4、4×8、4×4)に加えて32×32、32×16、16×32を予測符号化ブロックとして使える。
【0023】
インター予測モードにおける符号化単位ブロックの予測タイプ(Mb32_type)は、その値が0ならば、32×32パーティション、1ならば、32×16パーティション、2ならば、16×32パーティション、3ならば、16×16パーティションを示す。
【0024】
符号化単位ブロックが4個の下位符号化単位ブロックに分けられれば、4個の下位符号化単位ブロックは、ラスタースキャン手順に符号化されて送信される。この場合、量子化パラメータは符号化単位ブロックごとに、すべての下位符号化単位ブロックに同じ量子化パラメータが適用される場合には、上位符号化単位ブロックのヘッダで一回のみ伝送することが望ましい。しかし、下位符号化単位ブロックで量子化パラメータを変更する必要がある場合には、上位符号化単位ブロックまたは先行する同一レベルの符号化単位ブロックの量子化パラメータを基準として差値のみ送る。
【0025】
各下位符号化単位ブロックは、クオッドトリー(quadtree)方式で分割され、cbp及び残差係数もクオッドトリー方式に送信される。1ビットのcbpを取り入れて、その値が1ならば、前記符号化単位ブロックが少なくとも一つ以上の0ではない係数を持ち、0ならば、すべての係数が0であることを示す。
【0026】
図2は、SMBのサイズが64×64である場合に定められる符号化モードの決定方法を示す。
【0027】
したがって、図2に示したように、SMBが64×64ブロックである場合、符号化器は64×64ブロックがスキップ可能かどうかを定め、スキップ可能な場合には、符号化モードをSKIPに定める。この時には、mb64_skip_flagが復号器に伝送されねばならない。64×64ブロックに符号化するデータが存在するものの32×32ブロックに分割されない場合には、SMBが64×64、64×32、32×64のうちいかなるサイズに符号化されるかどうかに関する情報、イントラ符号化されるか、またはインター符号化されるかに関する情報をSMBヘッダに挿入し、これら情報によって符号化されたデータを用いてSMBデータブロックを生成する。
【0028】
64×64ブロックに符号化するデータが存在するももの32×32ブロックに分割される場合には、同様に該当32×32ブロックに符号化するデータが存在するかどうかを判断して、存在しない場合に前記32×32ブロックモードをSKIPに定め、mb32_skip_flagを復号器に伝送する。
【0029】
しかし、前記32×32ブロックに符号化するデータが存在するものの16×16ブロックに分割されない場合には、前記32×32ブロックが32×32、32×16、16×32のうちいかなるサイズに符号化されるかに関する情報、イントラ符号化されるかまたはインター符号化されるかに関する情報を前記32×32ブロックヘッダに挿入し、これら情報によって符号化されたデータを用いてデータブロックを生成する。
【0030】
前記32×32ブロックに符号化するデータが存在するものの16×16ブロックに分割される場合には、前記16×16ブロックに符号化するデータが存在するかどうかを判断して、存在しない場合に前記16×16ブロックモードをSKIPに定め、mb16_skip_flagを復号器に伝送する。しかし、前記16×16ブロックに符号化するデータが存在する場合には、各16×16ブロックが16×16、16×8、8×16のうちいかなるサイズに符号化されるかに関する情報、イントラ符号化されるかまたはインター符号化されるかに関する情報を前記16×16ブロックヘッダに挿入し、これら情報によって符号化されたデータを用いてデータブロックを生成する。
【0031】
このように多様なサイズのブロックが使われる場合、ブロックサイズ情報は、シーケンスレベル、ピクチャーレベル、スライスレベル、SMBまたはその下位の符号化単位ブロックごとに変わる。
【0032】
図3は、本発明による動画符号化装置を示すブロック図である。図3を参照すれば、本発明による動画符号化装置は、符号化モード決定部110、変換符号化/量子化部120、エントロピー符号化部130、イントラ予測部140、動き補償部150、動き推定部155、逆量子化/変換復号化部160、ブロックフィルタリング部170、ピクチャー保存部180、減算部及び加算部を備える。
【0033】
符号化モード決定部110は、入力されるビデオ信号を分析してピクチャーを所定サイズの符号化単位ブロックに分割し、前記符号化単位ブロック別に予測符号化ブロックのサイズ及び予測モードを定める。そして、符号化モード決定部110は、定められた符号化サイズに対応する予測符号化ブロックを減算器に送る。
【0034】
変換符号化/量子化部120は、減算器から受信された残差ブロックを変換符号化するために変換ブロックのサイズを定める。前記変換ブロックのサイズは、前記予測符号化ブロックのサイズより小さいかまたは同一であることが望ましいが、インタモードでは異なって設定されてもよい。すなわち、インタモードでは、前記変換ブロックのサイズが前記予測符号化ブロックより大きい。この場合、変換符号化/量子化部は、減算器から受信された複数の残差ブロックを受信して、複数の残差ブロックで構成された一つの変換符号化ブロックを生成する。前記変換ブロックのサイズは前記符号化単位ブロックより小さいか、または同一である。そして、前記変換符号化/量子化部は、前記変換ブロックを2次元の離散コサイン変換(DCT)して変換係数を生成する。前記DCTは、定数変換DCTであることが望ましい。
【0035】
そして、変換符号化/量子化部120は、前記変換係数を量子化するための量子化ステップサイズを定め、定められた量子化ステップサイズ及び符号化モードによって定められる量子化マトリックスを用いて、前記変換係数を量子化する。
【0036】
逆量子化/変換復号化部160は、変換符号化/量子化部120によって量子化された量子化係数を逆量子化した後、逆変換して周波数領域に変換された残差ブロックを空間領域の残差ブロックに復元する。
【0037】
ブロッキングフィルタリング部170は、逆量子化/変換符号化部160から逆量子化及び逆変換された映像データを入力されて、ブロッキング効果を除去するためのフィルタリング過程を行う。前記ブロッキングフィルタリング過程は、既定のサイズ以上のサイズを持つ予測符号化ブロック及び変換ブロックの境界に適用することが望ましい。前記サイズは、8×8でありうる。前記ブロッキングフィルタリング過程は、フィルタリングする境界を定める段階、前記境界に適用する境界フィルタリング強度を定める段階、デブロッキングフィルタの適用如何を定める段階、前記デブロッキングフィルタを適用すると定められた場合、前記境界に適用するフィルタを選択する段階を含む。
【0038】
前記デブロッキングフィルタの適用如何は、i)前記境界フィルタリング強度が0より大きいかどうか、及びii)前記フィルタリングする境界に隣接している2個のブロック(Pブロック、Qブロック)の境界部分におけるピクセル値の変化程度を示す値が、量子化パラメータによって定められる第1基準値より小さいかどうかによって定められる。
【0039】
前記フィルタは、少なくとも2つ以上であることが望ましい。ブロック境界に位置している2個のピクセル間の差値の絶対値が第2基準値より大きいかまたは同一である場合には、相対的に弱いフィルタリングを行うフィルタを選択する。前記第2基準値は、前記量子化パラメータ及び前記境界フィルタリング強度によって定められる。
【0040】
ピクチャー保存部180は、フィルタリングされた映像データをブロッキングフィルタリング部170から入力されて、ピクチャー単位で映像を復元して保存する。ピクチャーは、フレーム単位の映像であるか、またはフィールド単位の映像である。ピクチャー保存部180は、複数のピクチャーを保存できるバッファ(図示せず)を備える。
【0041】
動き推定部155は、前記ピクチャー保存部180に保存された少なくとも一つ以上の参照ピクチャーを用いて動き推定を行い、参照ピクチャーを示す参照ピクチャーインデックス及び動きベクトルを出力する。
【0042】
動き補償部150は、動き推定部155から入力された参照ピクチャーインデックス及び動きベクトルによって、ピクチャー保存部180に保存された複数の参照ピクチャーのうち動き推定に用いられた参照ピクチャーから、符号化しようとするブロックに対応する予測ブロックを抽出して出力する。
【0043】
イントラ予測部140は、予測が行われるピクチャー内部の再構成された画素値を用いてイントラ予測符号化を行う。イントラ予測部140は、予測符号化する現在ブロックを入力されて、現在ブロックのサイズによってあらかじめ設定された数のイントラ予測モードのうち一つを選択してイントラ予測を行う。
【0044】
エントロピー符号化部130は、変換符号化/量子化部120によって量子化された量子化係数、動き推定部155によって生成された動き情報などをエントロピー符号化する。量子化された変換係数は、既定のスキャニング方法によって1次元の量子化変換係数に変換されてエントロピー符号化される。
【0045】
以下、図3を参照してイントラ予測過程を説明する。先ず、イントラ予測部140は、イントラ予測符号化ブロックの位置及びサイズ情報を符号化モード決定部110から受信する。
【0046】
次いで、現在予測符号化ブロックのイントラ予測モードを定めるために、有効な参照画素をピクチャー保存部180から受信する。前記参照画素は、符号化されて復元された画素であり、現在ピクチャーの以前に符号化された領域で現在ブロックに隣接している画素である。現在ブロックが現在ピクチャーの上側境界に位置する場合には、現在ブロックの上側に隣接している画素が定義されない。現在ブロックが現在ピクチャーの左側境界に位置する場合には、現在ブロックの左側に隣接している画素が定義されない。また、現在ブロックがスライスの上側境界及び左側境界に位置する場合、上側または左側に隣接している画素が定義されない。
【0047】
前記のように、現在ブロックの左側または上側に隣接している画素が存在しないか、またはあらかじめ符号化されて復元された画素が存在しない場合には、有効な画素のみを用いて現在ブロックのイントラ予測モードを定められる。
【0048】
しかし、前記存在しない参照画素を、現在ブロックに隣接している画素または隣接している利用可能な画素を用いて参照画素を生成してもよい。例えば、上側ブロックの画素が有効でない場合には、左側画素の一部を用いて上側画素を生成できる。
【0049】
一方、現在ブロックの上側または左側画素が存在する場合にも、前記画素が属するブロックの符号化モードによって有効でない画素に定められうる。例えば、現在ブロックの上側に隣接している画素の属するブロックが、インター符号化されて復元されたブロックである場合には、前記画素を有効でない画素と判断できる。この場合には、現在ブロックに隣接しているブロックが、イントラ符号化されて復元されたブロックに属する画素を用いて、有効でない参照画素の位置に対応する位置に有効な参照画素を生成できる。
【0050】
次いで、参照画素を用いて現在ブロックのイントラ予測モードを定める。イントラ予測モードの数は、ブロックのサイズに依存する。
【0051】
ブロックのサイズによって33つ、16つまたは2つの方向性モードと、一つ以上の非方向性モードとが許容される。前記非方向性モードは、DCモードまたはプラナーモードでありうる。
【0052】
また、同じブロックサイズを持つとしても、相異なる数の有効なイントラ予測モードの数が割り当てられる。同じサイズのブロックに相異なる数のイントラ予測モードが許容されることを示すために、シーケンスヘッダ、ピクチャーヘッダ、スライスヘッダ及び符号化ユニットヘッダのうち少なくとも一つに、これを示す情報を挿入できる。シーケンスヘッダまたはピクチャーヘッダに挿入することが望ましい。
【0053】
次いで、現在ブロックのイントラ予測モードが定められれば、現在ブロックの予測ブロックを生成する。前記予測ブロックは、現在ブロックのイントラ予測モードに基づいて、有効な参照画素(生成された画素を含む)またはこれらの線形結合を用いて生成する。例えば、特定方向の方向性モードでは、現在ブロックの上側の有効な参照ピクセル、及び現在ブロックの左側の有効な参照ピクセルを用いて予測ブロックを生成できる。
【0054】
予測ブロックを生成するために使われる前記有効な参照画素は、フィルタリングされた参照画素でありうる。前記有効な参照画素に適用するフィルタは複数であることが望ましい。また、前記複数のフィルタが現在ブロックのサイズ及びイントラ予測モードによって適応的に適用されることが望ましい。
【0055】
次いで、現在ブロックと、前記イントラ予測部120によって生成された予測ブロックとの残差ブロックは、変換符号化/量子化部140及びエントロピー符号化部130を通じて符号化される。
【0056】
一方、現在ブロックのイントラ予測モードは別途に符号化される。前記イントラ予測モードの符号化は、イントラ予測部120で行われてもよく、別途のイントラ予測モード符号化装置(図示せず)またはエントロピー符号化部130で行われてもよい。
【0057】
現在ブロックの上側ブロックのイントラ予測モードと、現在ブロックの左側ブロックのイントラ予測モードとを用いて、現在ブロックのイントラ予測モードを符号化する。
【0058】
先ず、前記現在ブロックの左側及び上側ブロックのイントラ予測モードを誘導する。前記上側ブロックが複数存在する場合には、最左側に位置する上側ブロックまたは一番小さなモード番号を持つブロックを現在ブロックの上側ブロックに設定する。また、前記左側ブロックが複数存在する最上側に位置する左側ブロックまたは一番小さなモード番号を持つブロックを現在ブロックの左側ブロックに設定する。前記上側ブロックまたは左側ブロックがイントラモードで符号化されない場合には、DCモード(モード番号2)を前記上側ブロックまたは左側ブロックのイントラ予測モードに設定できる。
【0059】
次いで、前記上側または左側ブロックのイントラ予測モード番号が現在ブロックの許容可能なイントラ予測モードの数より大きいか、または同一であれば、前記上側または左側ブロックのイントラ予測モードを、現在ブロックに許容されたイントラ予測モードのうち一つに変換する。
【0060】
次いで、現在ブロックのイントラ予測モード番号が、前記左側及び上側ブロックのイントラ予測モード番号のうち一つと同一であれば、隣接ブロックのモードと同一であることを示すフラッグと、前記上側及び左側ブロックのイントラ予測モードのうちいずれか一つを示すフラッグとを送る。この場合、現在ブロックの前記左側及び上側ブロックのイントラ予測モードが同一であれば、前記隣接ブロックのモードと同一であることを示すフラッグのみを伝送できる。また、前記上側及び左側ブロックのイントラ予測モードのうちいずれか一つのみ有効であり、現在ブロックのイントラ予測モードと同じ場合にも、前記隣接ブロックのモードと同一であることを示すフラッグのみを伝送できる。
【0061】
しかし、現在ブロックのイントラ予測モードが前記左側及び上側ブロックのイントラ予測モードと異なるモードである場合には、現在ブロックのイントラ予測モード番号が、前記左側及び上側ブロックのイントラ予測モード番号より小さいかどうかを判断する。
【0062】
判断結果、現在ブロックの左側及び上側ブロックのイントラ予測モード番号いずれも現在ブロックのイントラ予測モード番号より大きい場合には、現在ブロックのイントラ予測モードを最終イントラ予測モードと定める。しかし、現在ブロックの左側及び上側ブロックのイントラ予測モード番号のうち一つのみ現在ブロックのイントラ予測モード番号より大きくない場合には、現在ブロックのイントラ予測モード番号を1ほど低減させたモード番号を持つイントラ予測モードを、現在ブロックの最終イントラ予測モードと定める。そして、現在ブロックの左側及び上側ブロックのイントラ予測モード番号いずれも現在ブロックのイントラ予測モード番号より大きくない場合には、現在ブロックのイントラ予測モード番号を2ほど低減させたモード番号を持つイントラ予測モードを、現在ブロックの最終イントラ予測モードと定める。
【0063】
次いで、現在ブロックの最終イントラ予測モードを符号化する。現在ブロックの上側ブロックと左側ブロックとのイントラ予測モードが同一かどうかによって、相異なる符号化テーブルを用いて現在ブロックの最終イントラ予測モードを符号化する。前記現在ブロックの上側ブロックまたは左側ブロックのイントラ予測モードは、変換されたイントラ予測モードでありうる。すなわち、前記上側ブロック及び左側ブロックの許容可能なイントラ予測モードを所定数のイントラ予測モードにマッピングするテーブルによって変換されたイントラ予測モードでありうる。前記所定数は、9または3でありうる。
【0064】
以下、図3のエントロピー符号化部130の量子化変換係数符号化過程を説明する。
【0065】
変換符号化されて量子化された変換係数は、CAVLCまたはCABACを用いてエントロピー符号化されねばならない。この場合、変換符号化のサイズが大きくなれば、0ではない数をスキャンしてエントロピー符号化するために多くのビットが割り当てられる可能性が高い。したがって、所定サイズ以上の変換符号化ブロックのブロックについては、前記ビット数を低減させるための新たなスキャン方法が導入されることが望ましい。
【0066】
先ず、変換量子化された係数を複数の領域に分割するかどうかを判断する。前記分割如何の決定は、変換符号化のサイズに依存する。すなわち、変換符号化ブロックのサイズが所定サイズ以上である場合には、前記変換符号化された量子化係数を複数の領域に分割する。前記所定サイズは、8×8または16×16であることが望ましい。前記複数の領域は、一つのメインサブセットと、少なくとも一つ以上の残余サブセットとで構成される。メインサブセットは、DC係数を含む左上側に位置し、前記残余サブセットは、メインサブセット以外の領域をカバーする。
【0067】
次いで、前記変換符号化ブロックが所定サイズ以上である場合には、前記メインサブセットと前記少なくとも一つ以上の残余サブセットとに分けて、それぞれのサブセットに含まれている量子化された係数をスキャンして符号化する。前記サブセット内の量子化された係数のスキャンは、複数のスキャンパターンのうち一つを用いられる。前記サブセット内の量子化された係数のノンゼロであるピクセルの分布によって、ビット数が最小になるスキャンパターンを定め、定められたスキャンパターンを復号器に伝送できる。前記複数のスキャンパターンは、ジグザグスキャン、垂直スキャン、水平スキャンを含む。また、MPEG−4の垂直優先スキャンまたは水平優先スキャンを含むこともある。この場合、サブセットごとにスキャンパターンを伝送する場合には、所要ビット数が多くかかるので、複数のサブセットに同じスキャンパターンを適用してもよい。
【0068】
一方、前記スキャンパターンが予測モード及びイントラ予測方向によって適応的に定められうる。例えば、インター予測モードの場合には、既定のスキャンパターン(例えば、ジグザグスキャン)のみを適用するか、または前記複数のスキャン方法のうち一つを適用できる。前者の場合には、スキャンパターン情報を復号器に伝送する必要がないが、後者の場合には、スキャンパターン情報を復号器に伝送せねばならない。イントラ予測の場合には、イントラ予測方向によってあらかじめ定められたスキャン方法を適用できる。例えば、垂直方向のイントラ予測モードに対しては水平スキャンを、水平方向のイントラ予測モードに対しては垂直スキャンを適用でき、DCモードに対してはジグザグスキャンを適用できる。
【0069】
前記変換符号化ブロック内の前記メインサブセット及び少なくとも一つ以上の残余サブセットに適用するスキャンパターンは、既定のパターン(例えば、ジグザグスキャン)でありうる。前記既定のパターンは、ジグザグスキャンでありうる。しかし、前記サブセットは、ジグザグスキャン以外に水平優先スキャンまたは垂直優先スキャンであってもよい。前記サブセットに適用されるスキャンパターンも、予測モード及びイントラ予測方向によって適応的に定められる。すなわち、インター予測モードの場合には、既定のスキャンパターン(例えば、ジグザグスキャン)のみを適用するか、または前記複数のスキャン方法のうち一つを適用できる。イントラ予測の場合には、イントラ予測方向によってあらかじめ定められたスキャン方法を適用できる。
【0070】
前記サブセット内の量子化係数のスキャン順序は、逆方向を適用するのがかえって効果的でありうる。すなわち、スキャンパターンによって、前記サブセット内の0ではない最後の量子化係数から逆方向に0ではない量子化係数をスキャンしてエントロピー符号化できる。同様に、前記サブセットのスキャンパターンによって、前記サブセットのスキャン順序にも、変換符号化ブロック内の0ではない最後の量子化係数を含むサブセットから逆方向にサブセットをスキャンしてエントロピー符号化できる。
【0071】
一方、復号器における正しいエントロピー復号化のために、符号器は、前記変換符号化ブロック内の0ではない最後の量子化係数の位置、及び前記変換符号化ブロック内の各サブセット内の0ではない最後の量子化係数の位置を示す情報を符号化して復号器に伝送する。前記情報は、それぞれのサブセット内の0ではない最後の量子化係数の位置を示す情報でありうる。また、前記情報は、H.264 CABAC符号化と類似して、変換符号化ブロック内の量子化係数が、該当スキャン位置に対する変換係数が0であるかどうかを表示するフラッグ、及び変換係数が0でない場合に変換符号化ブロック内の0でない最後の量子化係数であるかどうかを表示するフラッグで構成されたマップ情報でありうる。前記マップ情報が適用される場合に、前記マップ情報を生成するためのスキャンパターンは、前記サブセット内のスキャンパターンと同じスキャンパターンでありうる。
【0072】
前記変換符号化ブロックの量子化数をスキャンするためのさらに他の例として、所定サイズの量子化されたブロックの係数をインタリーブ方式で再配列して複数のサーブブロックに変換し、サーブブロックそれぞれに対してスキャンして符号化してもよい。
【0073】
一方、映像が特定方向に境界を持つ場合には、均等予測モードを用いる場合、動き境界部分では類似したデータに対して異なるサーブブロックが使われて、不要なオーバーヘッドを発生させる。かかる場合には、映像の境界部分の形象によって符号化単位ブロックを特定方向に分割して、それぞれの分割された領域を動き予測することがさらに効果的でありうる。
【0074】
図4ないし図6を参照して、映像の特性を考慮して方向に適応的にブロックを分割する方法を説明する。図4図5及び図6では、符号化単位ブロックのサイズが32×32である場合を例として挙げて説明する。しかし、これらに限定されるものではなく、64×64、16×16ブロックに対しても同一に適用される。
【0075】
もっとも簡単な適応的なモードは、予測領域の局所的な地形の統計的依存性を抽出するために、符号化単位ブロックを、直線を用いて2個のブロックに分割することである。すなわち、映像の境界部分を直線にマッチングさせて分割することである。
【0076】
図面に示したように、32×32ブロックの映像を横切る境界が存在する場合、既存の映像分割方法では、映像を効率的に圧縮するために映像を横切る境界部分を小さなブロックに分割することが要求される。
【0077】
したがって、図4に示したように、一つの32×32ブロックを少なくとも10個に分割して符号化することが要求され、この時に各映像分割を表示するための情報とともに10個の動きベクトルを復号器に伝送せねばならないため、映像情報以外の付加情報が非常に多く要求される。
【0078】
一方、図5または図6に示したように、32×32ブロックを横切る映像境界が存在する場合、その映像境界を表現する一つ以上の直線とマッチングさせる場合、復号器に伝送せねばならない付加情報の数を画期的に低減させることができる。
【0079】
例えば、図5に示したように、32×32ブロックを横切る境界を2個の直線でマッチングさせる場合、32×32ブロックは4個の16×16ブロックに分割され、一番目と四番目の16×16ブロックをそれぞれブロック境界とマッチングさせた直線を得ることができる。この場合にかかる分割領域は6個であり、これによって復号器に伝送せねばならない動きベクトルも6個に低減させることができる。
【0080】
同様に、図6に示したように、ブロックを横切る境界を1個の直線でマッチングさせる場合、32×32ブロックは2個のブロックに分割されて、1個のブロックモード情報と2個の動きベクトルのみを復号器に伝送すれば良い。
【0081】
一方、直線を用いてブロックを分割する場合には、使われた直線情報を復号器にさらに伝送せねばならない。以下、伝送すべき直線情報について説明する。
【0082】
伝送すべき直線情報は、多様な方法で送信できる。
【0083】
最初の例として、直線に関する情報を既定の位置からの距離及び角度で表現する方法である。この場合、既定の位置は、ブロックの左上隅のピクセルまたは中心部のピクセルである。そして、距離は、定数または量子化された値である。角度0〜180の間であり、角度も量子化された値でありうる。
【0084】
第2の例としては、ブロックを横切る直線の両端部分の位置値を復号器に伝送することである。位置値は、ブロックの左上隅のピクセルから出発してブロックの境界を時計回り方向に回りつついかほど離れているかを示す値で表現できる。この場合、両端部分のうち一つは時計回り方向であり、他の一つは逆時計回り方向に回りつつ離れた位置を表現することで直線情報を表現することもできる。また、両端部分のうち一つの位置が定められれば、これから他の端部分の位置は、相対的な位置値を用いて直線情報を表現できる。この場合には、少ないビット数でさらに多様な形態の形象に近づける直線情報を表現できる。
【0085】
一方、現在ブロックに関する直線情報は、既に方向適応的に分割符号化された隣接ブロックが存在する場合には、これらのうちいずれか一つから選択された直線情報との差分情報を伝送することがさらに効果的である。さらに望ましくは、現在ブロックと同じ方向に分割されたブロックの方向情報を用いて差分情報を符号化することである。現在ブロックに関する直線情報または差分情報は一つの対応インデックスで表現されることが望ましく、これは可変長符号化されて送信される。
【0086】
一方、前記方向適応的分割方法は、予測符号化ブロックのサイズによって適用如何を定めることが望ましい。過度に小さな符号化ブロックに対してこれを適用するのは、かえって伝送すべき情報量及び複雑度を高める恐れがあるので、適用しないことが望ましい。
【0087】
一方、図7に示したように、映像の境界部分の形象によって予測符号化ブロックを分割する方法を特定方向に対してのみ適用し、所定数に限定してもよい。例えば、ブロックを分割する方法を水平、垂直、上向き対角線、下向き対角線の4つの方向に限定してもよく、水平、垂直の2つの方向に限定してもよい。前記特定方向にブロックを分割する場合の数が、予測符号化ブロックのサイズによって変わる。例えば、32×32サイズの予測符号化ブロックに対しては、特定方向(例えば、水平方向)に7つ、16×16サイズの予測符号化ブロックに対しては3つの方法で分けられるように設定できる。また、予測符号化ブロックのサイズにかかわらず同数の方法で予測符号化ブロックを分割してもよい。
【0088】
Chromaに対しても同一パーティションに分割でき、以下のすべての方法もこれに適用できる。それぞれの分割領域を持つ予測符号化ブロックは、ヘッダに分割ブロックの存在を示すフラッグ、分割がどうなったかを示す情報、各分割領域別に参照する符号化された参照ピクチャーインデックスを含まねばならない。
【0089】
一つのブロックを方向適応的に予測する場合には、2個の分割された領域それぞれに対して動き予測及び動き補償をせねばならない。したがって、それぞれの分割された領域ごとに動きベクトルを求め、動きベクトルに基づいて得られた参照領域との残差信号を各分割された領域ごとに求めて符号化せねばならない。
【0090】
残差信号は、次のいろいろな方法ののうちいずれか一つに符号化される。先ず、一つの予測符号化ブロックに対して分割された2つの領域ことの残差信号を求めた後、2つ個の残差信号を加えて一つのブロック残差信号を形成して変換符号化できる。この場合には、境界面を中心としてそれぞれの分割された領域の残差信号の分布が全体的に差がある確率が大きいため、前記境界面にフィルタを適用することが望ましい。
【0091】
他の方法として、それぞれの分割された領域に模様適応的変換(Shape−adaptive transform)を用いて符号化できる。図7に示したように、一つのブロックが2個の領域に分割される場合、左上側ブロックは、そのまま水平方向1−D transformを行った後、垂直方向1−D transformを行えばよく、右下側のブロックは、図面のように再整列または180°回転して1−D transformを行った後、垂直方向1−D transformを行えばよい。この場合、各分割領域別に独立的に符号化された残差係数を復号器に伝送してもよく、結合して伝送してもよい。
【0092】
さらに他の方法で、分割されたそれぞれの領域別にパッディングを行ってブロックを生成した後で符号化してもよい。すなわち、現在分割領域を符号化する時、ブロックを構成する他の分割領域を現在分割領域の値でパッディングして一つのブロックに構成した後、2次元変換符号化することである。パッディングは、水平パッディング(定義されていない領域を定義された領域から水平方向にコピー)と、垂直パッディング(定義されていない領域を定義された領域から水平方向にコピー)とを用いることができる。この場合、望ましくは、水平パッディングを行った後で垂直パッディングを行うことが望ましい。また、定義された一つ以上のピクセルに隣接している定義されていないピクセルは、定義されたピクセルの線形結合でパッディングしてもよい。また、分割方向によって方向性を与えて、水平または垂直パッディングのうちいずれか一つを先ず行わせてもよい。
【0093】
次いで、動きベクトル予測について説明する。一つのブロックを、直線を用いて2個の領域に分割した場合、分割されたそれぞれの領域の動きベクトルは、既に符号化された動きベクトルを用いて差分符号化される。
【0094】
第1の方法では、分割された領域の最初の領域は、隣接しているブロックの動きベクトルのうち一つを動きベクトル予測子として選択し、2番目の領域は、最初の領域を除いた隣接しているブロックの動きベクトルのうち一つを動きベクトル予測子として選択する。
【0095】
第2の方法では、分割されたそれぞれの領域のうち最初の領域は、隣接しているブロックの動きベクトルのうち一つを動きベクトル予測子として定め、第2の領域は、最初の領域の動きベクトルを動きベクトル予測子として選択できる。
【0096】
第3の方法では、分割されたブロックの方向性を考慮して、現在ブロックに隣接しているブロックのうち方向適応的分割されたブロックが存在する場合、これらの動きベクトルを参照動きベクトルとする場合である。したがって、方向適応的分割されたブロックが複数存在する場合には、既定の手順または分割方向の類似しているブロックの動きベクトルを参照動きベクトルとすることができる。
【0097】
第4の方法は、分割されたそれぞれの領域のうち最初の領域は、前記最初の領域に隣接しているブロックのうちいずれか一つの動きベクトルを前記最初の領域の動きベクトルと設定し、第2の領域は、前記第2の領域に隣接しているブロックの動きベクトル、及び以前ピクチャーの同一位置のブロックまたは分割領域の動きベクトルのうちいずれか一つを動きベクトル予測子と選択して、差分動きベクトルを符号化できる。
【0098】
ここではブロック分割のために一つの直線を用いたが、2つ以上の直線で構成された情報を通じて一つのブロックを2個以上の分割領域に分割することもでき、分割された領域に対する符号化は、前述した内容がそのまま適用されうる。
【0099】
以上、本発明の望ましい実施形態を参照して説明したが、該当技術分野の当業者ならば、下記の特許請求の範囲に記載されている本発明の思想及び領域から逸脱しない範囲内で、本発明を多様に修正及び変更させられるということを理解できるであろう。
【0100】
上記実施形態について次の付記を記す。
(付記1) 動画符号化装置において、
入力される映像を所定サイズの符号化単位ブロックに分割し、前記符号化単位ブロック別に予測符号化ブロックのサイズ及び予測モードを定める符号化モード決定部と、
符号化単位ブロックとイントラ予測またはインター予測を通じて生成された予測ブロックの残差ブロックを変換符号化及び量子化する変換符号化/量子化部と、
前記量子化された残差ブロックを逆量子化して逆変換し、周波数領域に変換する逆量子化/変換復号化部と、
前記逆量子化/変換復号化部から受信された映像データにブロッキングフィルタリングを適用するブロッキングフィルタリング部と、
予測符号化ブロックを生成する予測ブロック生成部と、
前記変換符号化/量子化部によって量子化された変換係数を符号化するエントロピー符号化部と、を備え、前記エントロピー符号化部は、変換符号化ブロックのサイズが所定サイズ以上である場合に量子化された変換係数を複数のサブセットに分割し、それぞれのサブセット単位で、0ではない量子化係数をスキャンしてエントロピー符号化することを特徴とする動画符号化装置。
(付記2) 前記サブセット内の0ではない量子化係数は、複数のスキャンパターンのうち一つによって逆方向にスキャンされることを特徴とする付記1に記載の動画符号化装置。
(付記3) 前記サブセット内の0ではない量子化係数をスキャンするスキャンパターンと、前記サブセットをスキャンするスキャンパターンとは同一であることを特徴とする付記1に記載の動画符号化装置。
(付記4) 前記サブセット内の0ではない量子化係数をスキャンするスキャンパターンは、イントラ予測モードによって定められることを特徴とする付記1に記載の動画符号化装置。
(付記5) 前記エントロピー符号化部は、前記変換符号化ブロック内の0ではない最後の量子化係数の位置、及び前記サブセット内の0ではない量子化係数を識別できる情報を前記量子化係数と別途に符号化することを特徴とする付記1に記載の動画符号化装置。
図1
図2
図3
図4
図5
図6
図7