JP2014090326A - 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 - Google Patents
動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 Download PDFInfo
- Publication number
- JP2014090326A JP2014090326A JP2012239340A JP2012239340A JP2014090326A JP 2014090326 A JP2014090326 A JP 2014090326A JP 2012239340 A JP2012239340 A JP 2012239340A JP 2012239340 A JP2012239340 A JP 2012239340A JP 2014090326 A JP2014090326 A JP 2014090326A
- Authority
- JP
- Japan
- Prior art keywords
- block
- prediction
- unit
- image
- coding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】エッジの僅かなミスマッチによって、局所的に大きな予測誤差が発生して、予測効率の大幅な低下が生じることがある課題があった。
【解決手段】上記ブロックのブロックサイズが、最大の変換ブロックサイズと所定のブロックサイズのうちの最大値よりも小さいサイズである場合には、上記ブロックの境界部分の画素の予測値に対して、フィルタ処理を行ったものを予測値とし、上記ブロックのブロックサイズが、最大の変換ブロックサイズと所定のブロックサイズのうちの最大値以上のサイズである場合には、上記ブロックの境界部分の画素の予測値に対して、上記フィルタ処理を行わないものを予測値とするものである。
【選択図】 図1
【解決手段】上記ブロックのブロックサイズが、最大の変換ブロックサイズと所定のブロックサイズのうちの最大値よりも小さいサイズである場合には、上記ブロックの境界部分の画素の予測値に対して、フィルタ処理を行ったものを予測値とし、上記ブロックのブロックサイズが、最大の変換ブロックサイズと所定のブロックサイズのうちの最大値以上のサイズである場合には、上記ブロックの境界部分の画素の予測値に対して、上記フィルタ処理を行わないものを予測値とするものである。
【選択図】 図1
Description
この発明は、動画像を高効率で符号化を行う動画像符号化装置及び動画像符号化方法と、高効率で符号化されている動画像を復号する動画像復号装置及び動画像復号方法とに関するものである。
従来、MPEG(Moving Picture Experts Group)や「ITU−T H.26x」などの国際標準映像符号化方式では、入力映像フレームを矩形のブロック(符号化ブロック)に分割し、その符号化ブロックに対して、符号化済みの画像信号を用いる予測処理を実施することで予測画像を生成し、その符号化ブロックと予測画像の差分である予測誤差信号をブロック単位に直交変換や量子化処理を行うことで、情報圧縮を行うようにしている。
例えば、国際標準方式であるMPEG−4 AVC/H.264(ISO/IEC 14496−10|ITU−T H.264)では、符号化済みの近傍画素からのイントラ予測処理又は近接フレーム間での動き補償予測処理を行っている(例えば、非特許文献1を参照)。
MPEG−4 AVC/H.264において、輝度のイントラ予測モードでは、ブロック単位に、複数の予測モードの中から1つの予測モードを選択することができる。
図24は輝度のブロックサイズが4×4画素の場合のイントラ予測モードを示す説明図である。
図24では、ブロック内の白丸が符号化対象の画素を表し、黒丸は予測に用いる画素である符号化済みの画素を表している。輝度のブロックサイズが4×4画素の場合には、モード0からモード8の9つのイントラ予測モードが規定されている。
MPEG−4 AVC/H.264において、輝度のイントラ予測モードでは、ブロック単位に、複数の予測モードの中から1つの予測モードを選択することができる。
図24は輝度のブロックサイズが4×4画素の場合のイントラ予測モードを示す説明図である。
図24では、ブロック内の白丸が符号化対象の画素を表し、黒丸は予測に用いる画素である符号化済みの画素を表している。輝度のブロックサイズが4×4画素の場合には、モード0からモード8の9つのイントラ予測モードが規定されている。
図24において、モード2は平均値予測を行うモードであり、ブロックの上と左の隣接画素の平均値で、ブロック内の画素を予測するものである。
モード2以外のモードは方向性予測を行うモードである。モード0は垂直方向予測であり、ブロックの上の隣接画素を垂直方向に繰り返すことで予測画像を生成するものである。例えば、縦縞模様のときにはモード0が選択される。
モード1は水平方向予測であり、ブロックの左の隣接画素を水平方向に繰り返すことで予測画像を生成するものである。例えば、横縞模様のときにはモード1が選択される。
モード3からモード8は、ブロックの上又は左の符号化済みの画素を用いて、所定の方向(矢印が示す方向)に補間画素を生成して予測画像を生成するものである。
モード2以外のモードは方向性予測を行うモードである。モード0は垂直方向予測であり、ブロックの上の隣接画素を垂直方向に繰り返すことで予測画像を生成するものである。例えば、縦縞模様のときにはモード0が選択される。
モード1は水平方向予測であり、ブロックの左の隣接画素を水平方向に繰り返すことで予測画像を生成するものである。例えば、横縞模様のときにはモード1が選択される。
モード3からモード8は、ブロックの上又は左の符号化済みの画素を用いて、所定の方向(矢印が示す方向)に補間画素を生成して予測画像を生成するものである。
ここで、イントラ予測を適用する輝度のブロックサイズは、4×4画素、8×8画素、16×16画素の中から選択することができ、8×8画素の場合には、4×4画素と同様に、9つのイントラ予測モードが規定されている。ただし、予測に用いる画素については、符号化済みの画素そのものではなく、これらの画素に対してフィルタ処理を施したものを用いている。
これに対し、16×16画素の場合には、平均値予測、垂直方向予測及び水平方向予測に係るイントラ予測モードに加えて、Plane予測と呼ばれる4つのイントラ予測モードが規定されている。
Plane予測に係るイントラ予測モードは、ブロックの上と左の符号化済みの隣接画素を斜め方向に内挿補間して生成された画素を予測値とするモードである。
これに対し、16×16画素の場合には、平均値予測、垂直方向予測及び水平方向予測に係るイントラ予測モードに加えて、Plane予測と呼ばれる4つのイントラ予測モードが規定されている。
Plane予測に係るイントラ予測モードは、ブロックの上と左の符号化済みの隣接画素を斜め方向に内挿補間して生成された画素を予測値とするモードである。
方向性予測を行うイントラ予測モードは、例えば、45度など、モードによって予め定められた方向で予測値を生成するため、ブロック内のオブジェクトの境界(エッジ)の方向が、予測モードが示す方向と一致する場合、予測効率が高くなって符号量を削減することができる。
しかし、エッジの方向と予測モードが示す方向との間に僅かにずれが生じていたり、方向が一致していても符号化対象ブロック内のエッジが僅かに歪んで(揺らぐ、曲がる等)いたりすると、局所的に大きな予測誤差が発生してしまい、予測効率が極端に低下することがある。
このような予測効率の低下を防ぐために、8×8画素の方向性予測では、符号化済みの隣接画素に対して平滑化処理を施したものを用いて予測処理を行うことで、平滑化された予測画像を生成し、予測方向の僅かなずれや、エッジに僅かな歪みが生じている場合に発生する予測誤差を低減させている。
しかし、エッジの方向と予測モードが示す方向との間に僅かにずれが生じていたり、方向が一致していても符号化対象ブロック内のエッジが僅かに歪んで(揺らぐ、曲がる等)いたりすると、局所的に大きな予測誤差が発生してしまい、予測効率が極端に低下することがある。
このような予測効率の低下を防ぐために、8×8画素の方向性予測では、符号化済みの隣接画素に対して平滑化処理を施したものを用いて予測処理を行うことで、平滑化された予測画像を生成し、予測方向の僅かなずれや、エッジに僅かな歪みが生じている場合に発生する予測誤差を低減させている。
MPEG−4 AVC(ISO/IEC 14496−10)/ITU−T H.264規格
従来の画像符号化装置は以上のように構成されているので、8×8画素の方向性予測の場合は、平滑化された予測画像を生成すれば、予測方向の僅かなずれや、エッジに僅かな歪みが生じても、発生する予測誤差を低減することができる。しかし、非特許文献1では、8×8画素のブロック以外には平滑化処理を実施しておらず、8×8画素のブロックにおいても一通りの平滑化処理だけである。
実際には、8×8画素以外のサイズのブロックでも同様に、予測画像と符号化対象画像の絵柄が似ていても、エッジの僅かなミスマッチによって、局所的に大きな予測誤差が発生して、予測効率の大幅な低下が生じることがある課題があった。
また、同一サイズのブロックにおいても、予測モードが異なると、ブロック内で予測誤差が発生し易い箇所や、予測誤差を低減するのに適している処理が異なるにもかかわらず、一通りの平滑化処理しか用意されていないため、予測誤差を十分に低減することができないことがある課題があった。
実際には、8×8画素以外のサイズのブロックでも同様に、予測画像と符号化対象画像の絵柄が似ていても、エッジの僅かなミスマッチによって、局所的に大きな予測誤差が発生して、予測効率の大幅な低下が生じることがある課題があった。
また、同一サイズのブロックにおいても、予測モードが異なると、ブロック内で予測誤差が発生し易い箇所や、予測誤差を低減するのに適している処理が異なるにもかかわらず、一通りの平滑化処理しか用意されていないため、予測誤差を十分に低減することができないことがある課題があった。
特に、平均値予測による予測を行う場合には、予測処理を行うブロック内の予測値を全てブロックに隣接する画素の平均値とするため、図25に示す楕円で囲っている予測処理を行うブロックの上端及び左端で予測値と隣接する符号化済み画素の画素値が不連続となり易く、ブロックの境界で歪みが発生してしまうことがある課題があった。
さらに、垂直方向予測、水平方向予測、あるいはこれら以外の予測処理による予測を行う場合においても、予測処理を行うブロックの隣接画素を予測方向に繰り返すことで予測画像を生成するため、図25に示す楕円で囲っている予測処理を行うブロックの境界で予測値と隣接する符号化済み画素の画素値が不連続となり易く、ブロックの境界で歪みが発生してしまうことがある課題があった。
さらに、垂直方向予測、水平方向予測、あるいはこれら以外の予測処理による予測を行う場合においても、予測処理を行うブロックの隣接画素を予測方向に繰り返すことで予測画像を生成するため、図25に示す楕円で囲っている予測処理を行うブロックの境界で予測値と隣接する符号化済み画素の画素値が不連続となり易く、ブロックの境界で歪みが発生してしまうことがある課題があった。
この発明は上記のような課題を解決するためになされたもので、局所的に発生する予測誤差を低減して、画像品質を高めることができる動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法を得ることを目的とする。
この発明に係る動画像符号化装置は、イントラ予測手段が、上記ブロックのブロックサイズが、最大の変換ブロックサイズと所定のブロックサイズのうちの最大値よりも小さいサイズである場合には、上記ブロックの境界部分の画素の予測値に対して、フィルタ処理を行ったものを予測値とし、上記ブロックのブロックサイズが、最大の変換ブロックサイズと所定のブロックサイズのうちの最大値以上のサイズである場合には、上記ブロックの境界部分の画素の予測値に対して、上記フィルタ処理を行わないものを予測値とするようにしたものである。
この発明によれば、イントラ予測手段が、上記ブロックのブロックサイズが、最大の変換ブロックサイズと所定のブロックサイズのうちの最大値よりも小さいサイズである場合には、上記ブロックの境界部分の画素の予測値に対して、フィルタ処理を行ったものを予測値とし、上記ブロックのブロックサイズが、最大の変換ブロックサイズと所定のブロックサイズのうちの最大値以上のサイズである場合には、上記ブロックの境界部分の画素の予測値に対して、上記フィルタ処理を行わないものを予測値とするように構成したので、ブロックサイズに応じて局所的に発生する予測誤差を低減して、画像品質を高めることができる効果がある。
実施の形態1.
図1はこの発明の実施の形態1による動画像符号化装置を示す構成図である。
図1において、スライス分割部14は入力画像として映像信号を入力すると、その入力画像を符号化制御部2により決定されたスライス分割情報にしたがって1以上の“スライス”という部分画像に分割する処理を実施する。スライスの分割単位は、後述する符号化ブロック単位まで細かくすることができる。なお、スライス分割部14はスライス分割手段を構成している。
図1はこの発明の実施の形態1による動画像符号化装置を示す構成図である。
図1において、スライス分割部14は入力画像として映像信号を入力すると、その入力画像を符号化制御部2により決定されたスライス分割情報にしたがって1以上の“スライス”という部分画像に分割する処理を実施する。スライスの分割単位は、後述する符号化ブロック単位まで細かくすることができる。なお、スライス分割部14はスライス分割手段を構成している。
ブロック分割部1はスライス分割部14により分割されたスライスを入力する毎に、そのスライスを符号化制御部2により決定された最大サイズの符号化ブロックである最大符号化ブロックに分割するとともに、符号化制御部2により決定された上限の階層数に至るまで、その最大符号化ブロックを階層的に各符号化ブロックへ分割する処理を実施する。
即ち、ブロック分割部1はスライスを符号化制御部2により決定された分割に応じて各符号化ブロックに分割して、その符号化ブロックを出力する処理を実施する。また、各符号化ブロックは予測処理単位となる1つないし複数の予測ブロックに分割される。
なお、ブロック分割部1はブロック分割手段を構成している。
即ち、ブロック分割部1はスライスを符号化制御部2により決定された分割に応じて各符号化ブロックに分割して、その符号化ブロックを出力する処理を実施する。また、各符号化ブロックは予測処理単位となる1つないし複数の予測ブロックに分割される。
なお、ブロック分割部1はブロック分割手段を構成している。
符号化制御部2は符号化処理が実施される際の処理単位となる符号化ブロックの最大サイズを決定するとともに、最大サイズの符号化ブロックが階層的に分割される際の上限の階層数を決定することで、各々の符号化ブロックのサイズを決定する処理を実施する。
また、符号化制御部2は選択可能な1以上の符号化モード(予測処理単位を示す予測ブロックのサイズなどが異なる1以上のイントラ符号化モード、予測ブロックのサイズなどが異なる1以上のインター符号化モード)の中から、ブロック分割部1から出力される符号化ブロックに適用する符号化モードを選択する処理を実施する。選択手法の例としては、選択可能な1以上の符号化モードの中から、ブロック分割部1から出力される符号化ブロックに対する符号化効率が最も高い符号化モードを選択する手法がある。
また、符号化制御部2は選択可能な1以上の符号化モード(予測処理単位を示す予測ブロックのサイズなどが異なる1以上のイントラ符号化モード、予測ブロックのサイズなどが異なる1以上のインター符号化モード)の中から、ブロック分割部1から出力される符号化ブロックに適用する符号化モードを選択する処理を実施する。選択手法の例としては、選択可能な1以上の符号化モードの中から、ブロック分割部1から出力される符号化ブロックに対する符号化効率が最も高い符号化モードを選択する手法がある。
また、符号化制御部2は符号化効率が最も高い符号化モードがイントラ符号化モードである場合、そのイントラ符号化モードで符号化ブロックに対するイントラ予測処理を実施する際に用いるイントラ予測パラメータを上記イントラ符号化モードが示す予測処理単位である予測ブロック毎に決定し、符号化効率が最も高い符号化モードがインター符号化モードである場合、そのインター符号化モードで符号化ブロックに対するインター予測処理を実施する際に用いるインター予測パラメータを上記インター符号化モードが示す予測処理単位である予測ブロック毎に決定する処理を実施する。
さらに、符号化制御部2は変換・量子化部7及び逆量子化・逆変換部8に与える予測差分符号化パラメータを決定する処理を実施する。予測差分符号化パラメータには、符号化ブロックにおける直交変換処理単位となる直交変換ブロックの分割情報を示す直交変換ブロック分割情報や、変換係数の量子化を行う際の量子化ステップサイズを規定する量子化パラメータなどが含まれる。
なお、符号化制御部2は符号化制御手段を構成している。
さらに、符号化制御部2は変換・量子化部7及び逆量子化・逆変換部8に与える予測差分符号化パラメータを決定する処理を実施する。予測差分符号化パラメータには、符号化ブロックにおける直交変換処理単位となる直交変換ブロックの分割情報を示す直交変換ブロック分割情報や、変換係数の量子化を行う際の量子化ステップサイズを規定する量子化パラメータなどが含まれる。
なお、符号化制御部2は符号化制御手段を構成している。
切換スイッチ3は符号化制御部2により決定された符号化モードがイントラ符号化モードであれば、ブロック分割部1から出力された符号化ブロックをイントラ予測部4に出力し、符号化制御部2により決定された符号化モードがインター符号化モードであれば、ブロック分割部1から出力された符号化ブロックを動き補償予測部5に出力する処理を実施する。
イントラ予測部4は切換スイッチ3から出力された符号化ブロックに対応する符号化モードとして、符号化制御部2によりイントラ符号化モードが選択された場合、イントラ予測用メモリ10に格納されている局所復号画像を参照しながら、符号化制御部2により決定されたイントラ予測パラメータを用いたイントラ予測処理(フレーム内予測処理)を実施してイントラ予測画像を生成する処理を実施する。
動き補償予測部5は切換スイッチ3から出力された符号化ブロックに対応する符号化モードとして、符号化制御部2によりインター符号化モードが選択された場合、符号化ブロックと動き補償予測フレームメモリ12に格納されている1フレーム以上の局所復号画像を比較して動きベクトルを探索し、その動きベクトルと符号化制御部2により決定された参照するフレーム番号などのインター予測パラメータを用いて、その符号化ブロックに対するインター予測処理(動き補償予測処理)を実施してインター予測画像を生成する処理を実施する。
なお、イントラ予測部4、イントラ予測用メモリ10、動き補償予測部5及び動き補償予測フレームメモリ12から予測手段が構成されている。
なお、イントラ予測部4、イントラ予測用メモリ10、動き補償予測部5及び動き補償予測フレームメモリ12から予測手段が構成されている。
減算部6はブロック分割部1より出力された符号化ブロックから、イントラ予測部4により生成されたイントラ予測画像、または、動き補償予測部5により生成されたインター予測画像を減算して、その減算結果である差分画像を示す予測差分信号を変換・量子化部7に出力する処理を実施する。なお、減算部6は差分画像生成手段を構成している。
変換・量子化部7は符号化制御部2により決定された予測差分符号化パラメータに含まれる直交変換ブロック分割情報を参照して、減算部6から出力された予測差分信号に対する直交変換処理(例えば、DCT(離散コサイン変換)やDST(離散サイン変換)、予め特定の学習系列に対して基底設計がなされているKL変換等の直交変換処理)を直交変換ブロック単位に実施して変換係数を算出するとともに、その予測差分符号化パラメータに含まれる量子化パラメータを参照して、その直交変換ブロック単位の変換係数を量子化し、量子化後の変換係数である圧縮データを逆量子化・逆変換部8及び可変長符号化部13に出力する処理を実施する。
なお、変換・量子化部7は画像圧縮手段を構成している。
変換・量子化部7は符号化制御部2により決定された予測差分符号化パラメータに含まれる直交変換ブロック分割情報を参照して、減算部6から出力された予測差分信号に対する直交変換処理(例えば、DCT(離散コサイン変換)やDST(離散サイン変換)、予め特定の学習系列に対して基底設計がなされているKL変換等の直交変換処理)を直交変換ブロック単位に実施して変換係数を算出するとともに、その予測差分符号化パラメータに含まれる量子化パラメータを参照して、その直交変換ブロック単位の変換係数を量子化し、量子化後の変換係数である圧縮データを逆量子化・逆変換部8及び可変長符号化部13に出力する処理を実施する。
なお、変換・量子化部7は画像圧縮手段を構成している。
変換・量子化部7は変換係数を量子化する際、上記量子化パラメータから算出される量子化ステップサイズを変換係数毎にスケーリングする量子化マトリクスを用いて、変換係数の量子化処理を実施するようにしてもよい。
ここで、図10は4×4DCTの量子化マトリクスの一例を示す説明図である。
図中の数字は、各変換係数の量子化ステップサイズのスケーリング値を示している。
例えば、符号化ビットレートを抑制するために、図10に示すように、高域の変換係数程、量子化ステップサイズを大きな値にスケーリングすることで、複雑な画像領域等で発生する高域の変換係数を抑制して符号量を抑えつつ、主観品質に大きく影響する低域の係数の情報を落とさずに符号化することができる。
このように、変換係数毎の量子化ステップサイズを制御したい場合には量子化マトリクスを用いればよい。
ここで、図10は4×4DCTの量子化マトリクスの一例を示す説明図である。
図中の数字は、各変換係数の量子化ステップサイズのスケーリング値を示している。
例えば、符号化ビットレートを抑制するために、図10に示すように、高域の変換係数程、量子化ステップサイズを大きな値にスケーリングすることで、複雑な画像領域等で発生する高域の変換係数を抑制して符号量を抑えつつ、主観品質に大きく影響する低域の係数の情報を落とさずに符号化することができる。
このように、変換係数毎の量子化ステップサイズを制御したい場合には量子化マトリクスを用いればよい。
また、量子化マトリクスは、各直交変換サイズで色信号や符号化モード(イントラ符号化かインター符号化か)毎に独立したマトリクスを使用することができ、初期値として予め動画像符号化装置及び動画像復号装置で共通に用意されている量子化マトリクスや既に符号化された量子化マトリクスの中から選択するか、新しい量子化マトリクスを用いるかをそれぞれ選択することができる。
したがって、変換・量子化部7は、各直交変換サイズに対して色信号や符号化モード毎に、新しい量子化マトリクスを用いるか否かを示すフラグ情報を符号化すべき量子化マトリクスパラメータに設定する。
さらに、新しい量子化マトリクスを用いる場合には、図10に示すような量子化マトリクスの各スケーリング値を符号化すべき量子化マトリクスパラメータに設定する。一方、新しい量子化マトリクスを用いない場合には、初期値として予め動画像符号化装置及び動画像復号装置で共通に用意されている量子化マトリクス、または、既に符号化された量子化マトリクスの中から、使用するマトリクスを特定するインデックスを符号化すべき量子化マトリクスパラメータに設定する。ただし、参照可能な既に符号化された量子化マトリクスが存在しない場合、予め動画像符号化装置及び動画像復号装置で共通に用意されている量子化マトリクスのみ選択可能となる。
したがって、変換・量子化部7は、各直交変換サイズに対して色信号や符号化モード毎に、新しい量子化マトリクスを用いるか否かを示すフラグ情報を符号化すべき量子化マトリクスパラメータに設定する。
さらに、新しい量子化マトリクスを用いる場合には、図10に示すような量子化マトリクスの各スケーリング値を符号化すべき量子化マトリクスパラメータに設定する。一方、新しい量子化マトリクスを用いない場合には、初期値として予め動画像符号化装置及び動画像復号装置で共通に用意されている量子化マトリクス、または、既に符号化された量子化マトリクスの中から、使用するマトリクスを特定するインデックスを符号化すべき量子化マトリクスパラメータに設定する。ただし、参照可能な既に符号化された量子化マトリクスが存在しない場合、予め動画像符号化装置及び動画像復号装置で共通に用意されている量子化マトリクスのみ選択可能となる。
逆量子化・逆変換部8は符号化制御部2により決定された予測差分符号化パラメータに含まれる量子化パラメータ及び直交変換ブロック分割情報を参照して、直交変換ブロック単位に変換・量子化部7から出力された圧縮データを逆量子化するとともに、逆量子化後の圧縮データである変換係数に対する逆直交変換処理を実施して、減算部6から出力された予測差分信号に相当する局所復号予測差分信号を算出する処理を実施する。なお、変換・量子化部7が量子化マトリクスを用いて、量子化処理を実施している場合には、逆量子化処理時においても、その量子化マトリクスを参照して、対応する逆量子化処理を実施する。
加算部9は逆量子化・逆変換部8により算出された局所復号予測差分信号と、イントラ予測部4により生成されたイントラ予測画像、または、動き補償予測部5により生成されたインター予測画像とを加算して、ブロック分割部1から出力された符号化ブロックに相当する局所復号画像を算出する処理を実施する。
なお、逆量子化・逆変換部8及び加算部9から局所復号画像生成手段が構成されている。
加算部9は逆量子化・逆変換部8により算出された局所復号予測差分信号と、イントラ予測部4により生成されたイントラ予測画像、または、動き補償予測部5により生成されたインター予測画像とを加算して、ブロック分割部1から出力された符号化ブロックに相当する局所復号画像を算出する処理を実施する。
なお、逆量子化・逆変換部8及び加算部9から局所復号画像生成手段が構成されている。
イントラ予測用メモリ10は加算部9により算出された局所復号画像を格納する記録媒体である。
ループフィルタ部11は加算部9により算出された局所復号画像に対して、所定のフィルタ処理を実施して、フィルタ処理後の局所復号画像を出力する処理を実施する。
具体的には、直交変換ブロックの境界や予測ブロックの境界に発生する歪みを低減するフィルタ(デブロッキングフィルタ)処理、画素単位に適応的にオフセットを加算する(画素適応オフセット)処理、ウィーナフィルタ等の線形フィルタを適応的に切り替えてフィルタ処理する適応フィルタ処理などを行う。
ループフィルタ部11は加算部9により算出された局所復号画像に対して、所定のフィルタ処理を実施して、フィルタ処理後の局所復号画像を出力する処理を実施する。
具体的には、直交変換ブロックの境界や予測ブロックの境界に発生する歪みを低減するフィルタ(デブロッキングフィルタ)処理、画素単位に適応的にオフセットを加算する(画素適応オフセット)処理、ウィーナフィルタ等の線形フィルタを適応的に切り替えてフィルタ処理する適応フィルタ処理などを行う。
ただし、ループフィルタ部11は、上記のデブロッキングフィルタ処理、画素適応オフセット処理及び適応フィルタ処理のそれぞれについて、処理を行うか否かを決定し、各処理の有効フラグをヘッダ情報として可変長符号化部13に出力する。なお、上記のフィルタ処理を複数使用する際は、各フィルタ処理を順番に実施する。図11は複数のフィルタ処理を用いる場合のループフィルタ部11の構成例を示している。
一般に使用するフィルタ処理の種類が多いほど、画像品質は向上するが、一方で処理負荷は高くなる。即ち、画像品質と処理負荷はトレードオフの関係にある。また、各フィルタ処理の画像品質改善効果はフィルタ処理対象画像の特性によって異なる。したがって、動画像符号化装置が許容する処理負荷や符号化処理対象画像の特性にしたがって使用するフィルタ処理を決めればよい。
なお、ループフィルタ部11はフィルタリング手段を構成している。
一般に使用するフィルタ処理の種類が多いほど、画像品質は向上するが、一方で処理負荷は高くなる。即ち、画像品質と処理負荷はトレードオフの関係にある。また、各フィルタ処理の画像品質改善効果はフィルタ処理対象画像の特性によって異なる。したがって、動画像符号化装置が許容する処理負荷や符号化処理対象画像の特性にしたがって使用するフィルタ処理を決めればよい。
なお、ループフィルタ部11はフィルタリング手段を構成している。
ここで、デブロッキングフィルタ処理では、ブロック境界にかけるフィルタ強度の選択に用いる各種パラメータを初期値から変更することができる。変更する場合には、そのパラメータをヘッダ情報として可変長符号化部13に出力する。
画素適応オフセット処理では、最初に、画像を複数のブロックに分割し、そのブロック単位に、オフセット処理を行わない場合もクラス分類手法の一つとして定義して、予め用意されている複数のクラス分類手法の中から、1つのクラス分類手法を選択する。
次に、選択したクラス分類手法によって、ブロック内の各画素をクラス分類し、クラス毎に符号化歪みを補償するオフセット値を算出する。
最後に、局所復号画像の輝度値に対して、そのオフセット値を加算する処理を行うことで局所復号画像の画像品質を改善する。
したがって、画素適応オフセット処理では、ブロック分割情報、各ブロックのクラス分類手法を示すインデックス、ブロック単位の各クラスのオフセット値を特定するオフセット情報をヘッダ情報として可変長符号化部13に出力する。
画素適応オフセット処理では、最初に、画像を複数のブロックに分割し、そのブロック単位に、オフセット処理を行わない場合もクラス分類手法の一つとして定義して、予め用意されている複数のクラス分類手法の中から、1つのクラス分類手法を選択する。
次に、選択したクラス分類手法によって、ブロック内の各画素をクラス分類し、クラス毎に符号化歪みを補償するオフセット値を算出する。
最後に、局所復号画像の輝度値に対して、そのオフセット値を加算する処理を行うことで局所復号画像の画像品質を改善する。
したがって、画素適応オフセット処理では、ブロック分割情報、各ブロックのクラス分類手法を示すインデックス、ブロック単位の各クラスのオフセット値を特定するオフセット情報をヘッダ情報として可変長符号化部13に出力する。
適応フィルタ処理では、局所復号画像を所定の手法でクラス分類し、各クラスに属する領域(局所復号画像)毎に、重畳されている歪みを補償するフィルタを設計し、そのフィルタを用いて、当該局所復号画像のフィルタ処理を実施する。
そして、クラス毎に設計したフィルタをヘッダ情報として可変長符号化部13に出力する。
クラス分類手法としては、画像を空間的に等間隔に区切る簡易な手法や、ブロック単位に画像の局所的な特性(分散など)に応じて分類する手法がある。
また、適応フィルタ処理で使用するクラス数は、予め動画像符号化装置及び動画像復号装置に共通の値として設定してもよいし、符号化すべきパラメータとしてもよい。
前者と比較して後者の方が、使用するクラス数を自由に設定することができるため、画像品質改善効果が上がるが、一方でクラス数を符号化するために、その分の符号量が増加する。
そして、クラス毎に設計したフィルタをヘッダ情報として可変長符号化部13に出力する。
クラス分類手法としては、画像を空間的に等間隔に区切る簡易な手法や、ブロック単位に画像の局所的な特性(分散など)に応じて分類する手法がある。
また、適応フィルタ処理で使用するクラス数は、予め動画像符号化装置及び動画像復号装置に共通の値として設定してもよいし、符号化すべきパラメータとしてもよい。
前者と比較して後者の方が、使用するクラス数を自由に設定することができるため、画像品質改善効果が上がるが、一方でクラス数を符号化するために、その分の符号量が増加する。
なお、画素適応オフセット処理及び適応フィルタ処理を行う場合には、図11に示すように映像信号をループフィルタ部11で参照する必要があるため、映像信号がループフィルタ部11に入力されるように、図1の動画像符号化装置を変更する必要がある。
動き補償予測フレームメモリ12はループフィルタ部11のフィルタ処理後の局所復号画像を格納する記録媒体である。
可変長符号化部13は変換・量子化部7から出力された圧縮データと、符号化制御部2の出力信号(最大符号化ブロック内のブロック分割情報、符号化モード、予測差分符号化パラメータ、イントラ予測パラメータ又はインター予測パラメータ)と、動き補償予測部5から出力された動きベクトル(符号化モードがインター符号化モードである場合)とを可変長符号化して符号化データを生成する。
また、可変長符号化部13は、図13に例示するように、符号化ビットストリームのヘッダ情報として、シーケンスレベルヘッダ、ピクチャレベルヘッダを符号化し、ピクチャデータと共に符号化ビットストリームを生成する。
なお、可変長符号化部13は可変長符号化手段を構成している。
可変長符号化部13は変換・量子化部7から出力された圧縮データと、符号化制御部2の出力信号(最大符号化ブロック内のブロック分割情報、符号化モード、予測差分符号化パラメータ、イントラ予測パラメータ又はインター予測パラメータ)と、動き補償予測部5から出力された動きベクトル(符号化モードがインター符号化モードである場合)とを可変長符号化して符号化データを生成する。
また、可変長符号化部13は、図13に例示するように、符号化ビットストリームのヘッダ情報として、シーケンスレベルヘッダ、ピクチャレベルヘッダを符号化し、ピクチャデータと共に符号化ビットストリームを生成する。
なお、可変長符号化部13は可変長符号化手段を構成している。
ただし、ピクチャデータは1以上のスライスデータから構成され、各スライスデータはスライスレベルヘッダと当該スライス内にある上記符号化データをまとめたものである。
シーケンスレベルヘッダは、画像サイズ、色信号フォーマット、輝度信号や色差信号の信号値のビット深度、シーケンス単位でのループフィルタ部11における各フィルタ処理(適応フィルタ処理、画素適応オフセット処理、デブロッキングフィルタ処理)の有効フラグ情報、量子化マトリクスの有効フラグ情報、フィールド符号化か否かを示すフラグなど、一般的にシーケンス単位に共通となるヘッダ情報をまとめたものである。
ピクチャレベルヘッダは、参照するシーケンスレベルヘッダのインデックスや動き補償時の参照ピクチャ数、エントロピー符号化の確率テーブル初期化フラグ、量子化マトリクスパラメータなど、ピクチャ単位で設定するヘッダ情報をまとめたものである。
シーケンスレベルヘッダは、画像サイズ、色信号フォーマット、輝度信号や色差信号の信号値のビット深度、シーケンス単位でのループフィルタ部11における各フィルタ処理(適応フィルタ処理、画素適応オフセット処理、デブロッキングフィルタ処理)の有効フラグ情報、量子化マトリクスの有効フラグ情報、フィールド符号化か否かを示すフラグなど、一般的にシーケンス単位に共通となるヘッダ情報をまとめたものである。
ピクチャレベルヘッダは、参照するシーケンスレベルヘッダのインデックスや動き補償時の参照ピクチャ数、エントロピー符号化の確率テーブル初期化フラグ、量子化マトリクスパラメータなど、ピクチャ単位で設定するヘッダ情報をまとめたものである。
スライスレベルヘッダは、当該スライスがピクチャのどの位置にあるかを示す位置情報、どのピクチャレベルヘッダを参照するかを示すインデックス、スライスの符号化タイプ(オールイントラ符号化、インター符号化など)、ループフィルタ部11における各フィルタ処理(適応フィルタ処理、画素適応オフセット処理、デブロッキングフィルタ処理)を行うか否かを示すフラグ情報などのスライス単位のパラメータをまとめたものである。
図1の例では、動画像符号化装置の構成要素であるブロック分割部1、符号化制御部2、切換スイッチ3、イントラ予測部4、動き補償予測部5、減算部6、変換・量子化部7、逆量子化・逆変換部8、加算部9、イントラ予測用メモリ10、ループフィルタ部11、動き補償予測フレームメモリ12及び可変長符号化部13のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路や、ワンチップマイコンなど)で構成されているものを想定しているが、動画像符号化装置がコンピュータで構成される場合、ブロック分割部1、符号化制御部2、切換スイッチ3、イントラ予測部4、動き補償予測部5、減算部6、変換・量子化部7、逆量子化・逆変換部8、加算部9、ループフィルタ部11及び可変長符号化部13の処理内容を記述しているプログラムをコンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。
図2はこの発明の実施の形態1による動画像符号化装置の処理内容(動画像符号化方法)を示すフローチャートである。
図2はこの発明の実施の形態1による動画像符号化装置の処理内容(動画像符号化方法)を示すフローチャートである。
図3はこの発明の実施の形態1による動画像復号装置を示す構成図である。
図3において、可変長復号部31は図1の動画像符号化装置により生成された符号化ビットストリームを入力すると、そのビットストリームからシーケンスレベルヘッダ、ピクチャレベルヘッダ、スライスレベルヘッダなどの各ヘッダ情報を復号するとともに、そのビットストリームから、階層的に分割されている各々の符号化ブロックの分割状況を示すブロック分割情報を可変長復号する。
このとき、可変長復号部31によって可変長復号された量子化マトリクスパラメータから、量子化マトリクスを特定する。具体的には、各直交変換サイズの色信号や符号化モード毎に、量子化マトリクスパラメータが初期値として予め動画像符号化装置及び動画像復号装置で共通に用意されている量子化マトリクス、または、既に復号された量子化マトリクスである(新しい量子化マトリクスでない)ことを示す場合は、上記マトリクスの内のどの量子化マトリクスであるかを特定するインデックス情報を参照して量子化マトリクスを特定し、量子化マトリクスパラメータが新しい量子化マトリクスを用いることを示す場合は、量子化マトリクスパラメータに含まれる量子化マトリクスを使用する量子化マトリクスとして特定する。
また、可変長復号部31は、各ヘッダ情報を参照して、スライス分割状態を特定するとともに、各スライスのスライスデータに含まれる最大復号ブロック(図1の動画像符号化装置の「最大符号化ブロック」に相当するブロック)を特定し、ブロック分割情報を参照して、最大復号ブロックを階層的に分割して復号処理を行う単位である復号ブロック(図1の動画像符号化装置の「符号化ブロック」に相当するブロック)を特定し、各々の復号ブロックに係る圧縮データ、符号化モード、イントラ予測パラメータ(符号化モードがイントラ符号化モードである場合)、インター予測パラメータ(符号化モードがインター符号化モードである場合)、予測差分符号化パラメータ及び動きベクトル(符号化モードがインター符号化モードである場合)を可変長復号する処理を実施する。なお、可変長復号部31は可変長復号手段を構成している。
図3において、可変長復号部31は図1の動画像符号化装置により生成された符号化ビットストリームを入力すると、そのビットストリームからシーケンスレベルヘッダ、ピクチャレベルヘッダ、スライスレベルヘッダなどの各ヘッダ情報を復号するとともに、そのビットストリームから、階層的に分割されている各々の符号化ブロックの分割状況を示すブロック分割情報を可変長復号する。
このとき、可変長復号部31によって可変長復号された量子化マトリクスパラメータから、量子化マトリクスを特定する。具体的には、各直交変換サイズの色信号や符号化モード毎に、量子化マトリクスパラメータが初期値として予め動画像符号化装置及び動画像復号装置で共通に用意されている量子化マトリクス、または、既に復号された量子化マトリクスである(新しい量子化マトリクスでない)ことを示す場合は、上記マトリクスの内のどの量子化マトリクスであるかを特定するインデックス情報を参照して量子化マトリクスを特定し、量子化マトリクスパラメータが新しい量子化マトリクスを用いることを示す場合は、量子化マトリクスパラメータに含まれる量子化マトリクスを使用する量子化マトリクスとして特定する。
また、可変長復号部31は、各ヘッダ情報を参照して、スライス分割状態を特定するとともに、各スライスのスライスデータに含まれる最大復号ブロック(図1の動画像符号化装置の「最大符号化ブロック」に相当するブロック)を特定し、ブロック分割情報を参照して、最大復号ブロックを階層的に分割して復号処理を行う単位である復号ブロック(図1の動画像符号化装置の「符号化ブロック」に相当するブロック)を特定し、各々の復号ブロックに係る圧縮データ、符号化モード、イントラ予測パラメータ(符号化モードがイントラ符号化モードである場合)、インター予測パラメータ(符号化モードがインター符号化モードである場合)、予測差分符号化パラメータ及び動きベクトル(符号化モードがインター符号化モードである場合)を可変長復号する処理を実施する。なお、可変長復号部31は可変長復号手段を構成している。
逆量子化・逆変換部32は可変長復号部31により可変長復号された予測差分符号化パラメータに含まれる量子化パラメータ及び直交変換ブロック分割情報を参照して、可変長復号部31により可変長復号された圧縮データを直交変換ブロック単位に逆量子化するとともに、逆量子化後の圧縮データである変換係数に対する逆直交変換処理を実施して、図1の逆量子化・逆変換部8から出力された局所復号予測差分信号と同一の復号予測差分信号を算出する処理を実施する。なお、逆量子化・逆変換部32は差分画像生成手段を構成している。
ここで、可変長復号部31により可変長復号された各ヘッダ情報が、当該スライスで量子化マトリクスを用いて、逆量子化処理を実施することを示している場合、量子化マトリクスを用いて逆量子化処理を行う。
具体的には、各ヘッダ情報から特定される量子化マトリクスを用いて逆量子化処理を行う。
具体的には、各ヘッダ情報から特定される量子化マトリクスを用いて逆量子化処理を行う。
切換スイッチ33は可変長復号部31により可変長復号された符号化モードがイントラ符号化モードであれば、可変長復号部31により可変長復号されたイントラ予測パラメータをイントラ予測部34に出力し、可変長復号部31により可変長復号された符号化モードがインター符号化モードであれば、可変長復号部31により可変長復号されたインター予測パラメータ及び動きベクトルを動き補償部35に出力する処理を実施する。
イントラ予測部34は可変長復号部31により可変長復号されたブロック分割情報から特定される復号ブロックに係る符号化モードがイントラ符号化モードである場合、イントラ予測用メモリ37に格納されている復号画像を参照しながら、切換スイッチ33から出力されたイントラ予測パラメータを用いたイントラ予測処理(フレーム内予測処理)を実施してイントラ予測画像を生成する処理を実施する。
動き補償部35は可変長復号部31により可変長復号されたブロック分割情報から特定される復号ブロックに係る符号化モードがインター符号化モードである場合、動き補償予測フレームメモリ39に格納されている復号画像を参照しながら、切換スイッチ33から出力された動きベクトルとインター予測パラメータを用いたインター予測処理(動き補償予測処理)を実施してインター予測画像を生成する処理を実施する。
なお、イントラ予測部34、イントラ予測用メモリ37、動き補償部35及び動き補償予測フレームメモリ39から予測手段が構成されている。
なお、イントラ予測部34、イントラ予測用メモリ37、動き補償部35及び動き補償予測フレームメモリ39から予測手段が構成されている。
加算部36は逆量子化・逆変換部32により算出された復号予測差分信号と、イントラ予測部34により生成されたイントラ予測画像、または、動き補償部35により生成されたインター予測画像とを加算して、図1の加算部9から出力された局所復号画像と同一の復号画像を算出する処理を実施する。なお、加算部36は復号画像生成手段を構成している。
イントラ予測用メモリ37は加算部36により算出された復号画像をイントラ予測処理で用いる参照画像として格納する記録媒体である。
ループフィルタ部38は加算部36により算出された復号画像に対して、所定のフィルタ処理を実施して、フィルタ処理後の復号画像を出力する処理を実施する。
具体的には、直交変換ブロックの境界や予測ブロックの境界に発生する歪みを低減するフィルタ(デブロッキングフィルタ)処理、画素単位に適応的にオフセットを加算する(画素適応オフセット)処理、ウィーナフィルタ等の線形フィルタを適応的に切り替えてフィルタ処理する適応フィルタ処理などを行う。
ただし、ループフィルタ部38は、上記のデブロッキングフィルタ処理、画素適応オフセット処理、適応フィルタ処理のそれぞれについて、可変長復号部31により可変長復号された各ヘッダ情報を参照して、当該スライスで行うか否かを特定する。
このとき、2つ以上のフィルタ処理を行う場合において、動画像符号化装置のループフィルタ部11が図11のように構成されていれば、図12に示すようにループフィルタ部38が構成される。
なお、ループフィルタ部38はフィルタリング手段を構成している。
ループフィルタ部38は加算部36により算出された復号画像に対して、所定のフィルタ処理を実施して、フィルタ処理後の復号画像を出力する処理を実施する。
具体的には、直交変換ブロックの境界や予測ブロックの境界に発生する歪みを低減するフィルタ(デブロッキングフィルタ)処理、画素単位に適応的にオフセットを加算する(画素適応オフセット)処理、ウィーナフィルタ等の線形フィルタを適応的に切り替えてフィルタ処理する適応フィルタ処理などを行う。
ただし、ループフィルタ部38は、上記のデブロッキングフィルタ処理、画素適応オフセット処理、適応フィルタ処理のそれぞれについて、可変長復号部31により可変長復号された各ヘッダ情報を参照して、当該スライスで行うか否かを特定する。
このとき、2つ以上のフィルタ処理を行う場合において、動画像符号化装置のループフィルタ部11が図11のように構成されていれば、図12に示すようにループフィルタ部38が構成される。
なお、ループフィルタ部38はフィルタリング手段を構成している。
ここで、デブロッキングフィルタ処理では、可変長復号部31により可変長復号されたヘッダ情報を参照し、ブロック境界にかけるフィルタ強度の選択に用いる各種パラメータを初期値から変更する情報が存在する場合、その変更情報に基づいて、デブロッキングフィルタ処理を実施する。変更情報がない場合は、予め定められた手法に従って行う。
画素適応オフセット処理では、可変長復号部31により可変長復号された画素適応オフセット処理のブロック分割情報に基づいて復号画像を分割し、そのブロック単位に、可変長復号部31により可変長復号されたブロック単位のクラス分類手法を示すインデックスを参照して、そのインデックスが“オフセット処理を行わない”ことを示すインデックスでない場合、ブロック単位にブロック内の各画素を上記インデックスが示すクラス分類手法に従ってクラス分類する。
なお、クラス分類手法の候補として、ループフィルタ部11の画素適応オフセット処理のクラス分類手法の候補と同一のものが予め用意されている。
そして、ブロック単位の各クラスのオフセット値を特定するオフセット情報を参照して、復号画像の輝度値にオフセットを加算する処理を行う。
なお、クラス分類手法の候補として、ループフィルタ部11の画素適応オフセット処理のクラス分類手法の候補と同一のものが予め用意されている。
そして、ブロック単位の各クラスのオフセット値を特定するオフセット情報を参照して、復号画像の輝度値にオフセットを加算する処理を行う。
ただし、動画像符号化装置のループフィルタ部11の画素適応オフセット処理において、ブロック分割情報は符号化せずに、常に画像を固定サイズのブロック単位(例えば、最大符号化ブロック単位)に分割し、そのブロック毎にクラス分類手法を選択して、クラス毎の適応オフセット処理を行うように構成されている場合、ループフィルタ部38においても、ループフィルタ部11と同一の固定サイズのブロック単位に画素適応オフセット処理を実施する。
適応フィルタ処理では、可変長復号部31により可変長復号されたクラス毎のフィルタを用いて、図1の動画像符号化装置と同一の手法でクラス分類した後に、そのクラス分類情報に基づいてフィルタ処理を行う。
動き補償予測フレームメモリ39はループフィルタ部38のフィルタ処理後の復号画像をインター予測処理(動き補償予測処理)で用いる参照画像として格納する記録媒体である。
動き補償予測フレームメモリ39はループフィルタ部38のフィルタ処理後の復号画像をインター予測処理(動き補償予測処理)で用いる参照画像として格納する記録媒体である。
図3の例では、動画像復号装置の構成要素である可変長復号部31、逆量子化・逆変換部32、切換スイッチ33、イントラ予測部34、動き補償部35、加算部36、イントラ予測用メモリ37、ループフィルタ部38及び動き補償予測フレームメモリ39のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路や、ワンチップマイコンなど)で構成されているものを想定しているが、動画像復号装置がコンピュータで構成される場合、可変長復号部31、逆量子化・逆変換部32、切換スイッチ33、イントラ予測部34、動き補償部35、加算部36及びループフィルタ部38の処理内容を記述しているプログラムをコンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されているプログラムを実行するようにしてもよい。
図4はこの発明の実施の形態1による動画像復号装置の処理内容(動画像復号方法)を示すフローチャートである。
図4はこの発明の実施の形態1による動画像復号装置の処理内容(動画像復号方法)を示すフローチャートである。
次に動作について説明する。
この実施の形態1では、映像の各フレーム画像を入力画像として、符号化済みの近傍画素からのイントラ予測又は近接フレーム間での動き補償予測を実施して、得られた予測差分信号に対して直交変換・量子化による圧縮処理を施し、その後、可変長符号化を行って符号化ビットストリームを生成する動画像符号化装置と、その動画像符号化装置から出力される符号化ビットストリームを復号する動画像復号装置について説明する。
この実施の形態1では、映像の各フレーム画像を入力画像として、符号化済みの近傍画素からのイントラ予測又は近接フレーム間での動き補償予測を実施して、得られた予測差分信号に対して直交変換・量子化による圧縮処理を施し、その後、可変長符号化を行って符号化ビットストリームを生成する動画像符号化装置と、その動画像符号化装置から出力される符号化ビットストリームを復号する動画像復号装置について説明する。
図1の動画像符号化装置は、映像信号の空間・時間方向の局所的な変化に適応して、映像信号を多様なサイズのブロックに分割して、フレーム内・フレーム間適応符号化を行うことを特徴としている。
一般的に、映像信号は、空間・時間的に信号の複雑さが局所的に変化する特性を有している。空間的に見ると、ある映像フレーム上では、例えば、空や壁などのような比較的広い画像領域中で均一な信号特性を有する絵柄もあれば、人物や細かいテクスチャを含む絵画など、小さい画像領域内で複雑なテクスチャパターンを有する絵柄も混在することがある。
時間的に見ても、空や壁は局所的に時間方向の絵柄の変化は小さいが、動く人物や物体は、その輪郭が時間的に剛体・非剛体の運動をするため、時間的な変化が大きい。
一般的に、映像信号は、空間・時間的に信号の複雑さが局所的に変化する特性を有している。空間的に見ると、ある映像フレーム上では、例えば、空や壁などのような比較的広い画像領域中で均一な信号特性を有する絵柄もあれば、人物や細かいテクスチャを含む絵画など、小さい画像領域内で複雑なテクスチャパターンを有する絵柄も混在することがある。
時間的に見ても、空や壁は局所的に時間方向の絵柄の変化は小さいが、動く人物や物体は、その輪郭が時間的に剛体・非剛体の運動をするため、時間的な変化が大きい。
符号化処理は、時間・空間的な予測によって、信号電力やエントロピーの小さい予測差分信号を生成して、全体の符号量を削減する処理を行うが、予測に用いるパラメータをできるだけ大きな画像信号領域に均一に適用できれば、当該パラメータの符号量を小さくすることができる。
一方、時間的・空間的に変化の大きい画像信号パターンに対して、同一の予測パラメータを大きな画像領域に適用すると、予測の誤りが増えてしまうため、予測差分信号の符号量が増加してしまう。
したがって、時間的・空間的に変化が大きい領域では、同一の予測パラメータを適用して予測処理を行うブロックサイズを小さくして、予測に用いるパラメータのデータ量を増やし、予測差分信号の電力・エントロピーを低減する方が望ましい。
一方、時間的・空間的に変化の大きい画像信号パターンに対して、同一の予測パラメータを大きな画像領域に適用すると、予測の誤りが増えてしまうため、予測差分信号の符号量が増加してしまう。
したがって、時間的・空間的に変化が大きい領域では、同一の予測パラメータを適用して予測処理を行うブロックサイズを小さくして、予測に用いるパラメータのデータ量を増やし、予測差分信号の電力・エントロピーを低減する方が望ましい。
この実施の形態1では、このような映像信号の一般的な性質に適応した符号化を行うため、最初に所定の最大ブロックサイズから予測処理等を開始し、階層的に映像信号の領域を分割し、分割した領域毎に予測処理や、その予測差分の符号化処理を適応化させる構成をとるようにしている。
図1の動画像符号化装置が処理対象とする映像信号フォーマットは、輝度信号と2つの色差信号からなるYUV信号や、ディジタル撮像素子から出力されるRGB信号等の任意の色空間のカラー映像信号のほか、モノクロ画像信号や赤外線画像信号など、映像フレームが水平・垂直2次元のディジタルサンプル(画素)列から構成される任意の映像信号とする。
ただし、各画素の階調は、8ビットでもよいし、10ビットや12ビットなどの階調でもよい。
ただし、各画素の階調は、8ビットでもよいし、10ビットや12ビットなどの階調でもよい。
以下の説明では、便宜上、特に断らない限り、入力画像の映像信号はYUV信号であるとし、かつ、2つの色差成分U,Vが輝度成分Yに対して、サブサンプルされた4:2:0フォーマットの信号を扱う場合について述べる。
また、色差信号のフォーマットはYUV信号の4:2:0フォーマット以外でもよく、YUV信号の4:2:2フォーマットや4:4:4フォーマット、あるいはRGB信号などでもよい。
また、映像信号の各フレームに対応する処理データ単位を「ピクチャ」と称する。
なお、「ピクチャ」はフレーム単位に符号化する場合はフレーム信号を表し、フィールド単位に符号化する場合はフィールド信号を表す。ここで、一般にフィールド信号とはフレーム信号の奇数行と偶数行に分離した信号であり、2フィールドで1フレームが構成されている。
また、色差信号のフォーマットはYUV信号の4:2:0フォーマット以外でもよく、YUV信号の4:2:2フォーマットや4:4:4フォーマット、あるいはRGB信号などでもよい。
また、映像信号の各フレームに対応する処理データ単位を「ピクチャ」と称する。
なお、「ピクチャ」はフレーム単位に符号化する場合はフレーム信号を表し、フィールド単位に符号化する場合はフィールド信号を表す。ここで、一般にフィールド信号とはフレーム信号の奇数行と偶数行に分離した信号であり、2フィールドで1フレームが構成されている。
最初に、図1の動画像符号化装置の処理内容を説明する。
まず、符号化制御部2は、符号化対象となるピクチャ(カレントピクチャ)のスライス分割状態を決めると共に、ピクチャの符号化に用いる最大符号化ブロックのサイズと、最大符号化ブロックを階層分割する階層数の上限を決定する(図2のステップST1)。
最大符号化ブロックのサイズの決め方としては、例えば、入力画像の映像信号の解像度に応じて、全てのピクチャに対して同一のサイズを定めてもよいし、入力画像の映像信号の局所的な動きの複雑さの違いをパラメータとして定量化して、動きの激しいピクチャには、小さいサイズを定める一方、動きが少ないピクチャには、大きいサイズを定めるようにしてもよい。
まず、符号化制御部2は、符号化対象となるピクチャ(カレントピクチャ)のスライス分割状態を決めると共に、ピクチャの符号化に用いる最大符号化ブロックのサイズと、最大符号化ブロックを階層分割する階層数の上限を決定する(図2のステップST1)。
最大符号化ブロックのサイズの決め方としては、例えば、入力画像の映像信号の解像度に応じて、全てのピクチャに対して同一のサイズを定めてもよいし、入力画像の映像信号の局所的な動きの複雑さの違いをパラメータとして定量化して、動きの激しいピクチャには、小さいサイズを定める一方、動きが少ないピクチャには、大きいサイズを定めるようにしてもよい。
分割階層数の上限の決め方としては、例えば、入力画像の映像信号の解像度に応じて、全てのピクチャに対して同一の階層数を定める方法や、入力画像の映像信号の動きが激しい場合には、階層数を深くして、より細かい動きが検出できるように設定し、動きが少ない場合には、階層数を抑えるように設定する方法などがある。
なお、上記最大符号化ブロックのサイズと、最大符号化ブロックを階層分割する階層数の上限はシーケンスレベルヘッダなどに符号化してもよいし、符号化せずに動画像復号装置側も同一の決定処理を行うようにしてもよい。前者はヘッダ情報の符号量が増加するものの、動画像復号装置側で上記決定処理を行わずに済むため、動画像復号装置の処理負荷を抑えることができる上、動画像符号化装置側で最適な値を探索して送ることができる。後者は反対に、動画像復号装置側で上記決定処理を行うため、動画像復号装置の処理負荷が増加するものの、ヘッダ情報の符号量は増加しない。
なお、上記最大符号化ブロックのサイズと、最大符号化ブロックを階層分割する階層数の上限はシーケンスレベルヘッダなどに符号化してもよいし、符号化せずに動画像復号装置側も同一の決定処理を行うようにしてもよい。前者はヘッダ情報の符号量が増加するものの、動画像復号装置側で上記決定処理を行わずに済むため、動画像復号装置の処理負荷を抑えることができる上、動画像符号化装置側で最適な値を探索して送ることができる。後者は反対に、動画像復号装置側で上記決定処理を行うため、動画像復号装置の処理負荷が増加するものの、ヘッダ情報の符号量は増加しない。
また、符号化制御部2は、利用可能な1以上の符号化モードの中から、階層的に分割される各々の符号化ブロックに対応する符号化モードを選択する(ステップST2)。
即ち、符号化制御部2は、最大符号化ブロックサイズの画像領域毎に、先に定めた分割階層数の上限に至るまで、階層的に符号化ブロックサイズを有する符号化ブロックに分割して、各々の符号化ブロックに対する符号化モードを決定する。
符号化モードには、1つないし複数のイントラ符号化モード(総称して「INTRA」と称する)と、1つないし複数のインター符号化モード(総称して、「INTER」と称する)とがあり、符号化制御部2は、当該ピクチャで利用可能な全ての符号化モード、または、そのサブセットの中から、各々の符号化ブロックに対応する符号化モードを選択する。
即ち、符号化制御部2は、最大符号化ブロックサイズの画像領域毎に、先に定めた分割階層数の上限に至るまで、階層的に符号化ブロックサイズを有する符号化ブロックに分割して、各々の符号化ブロックに対する符号化モードを決定する。
符号化モードには、1つないし複数のイントラ符号化モード(総称して「INTRA」と称する)と、1つないし複数のインター符号化モード(総称して、「INTER」と称する)とがあり、符号化制御部2は、当該ピクチャで利用可能な全ての符号化モード、または、そのサブセットの中から、各々の符号化ブロックに対応する符号化モードを選択する。
ただし、後述するブロック分割部1により階層的に分割される各々の符号化ブロックは、さらに予測処理を行う単位である1つないし複数の予測ブロックに分割され、予測ブロックの分割状態も符号化モードの中に情報として含まれる。即ち、符号化モードは、どのような予測ブロック分割を持つイントラまたはインター符号化モードかを識別するインデックスである。
符号化制御部2による符号化モードの選択方法は、公知の技術であるため詳細な説明を省略するが、例えば、利用可能な任意の符号化モードを用いて、符号化ブロックに対する符号化処理を実施して符号化効率を検証し、利用可能な複数の符号化モードの中で、最も符号化効率がよい符号化モードを選択する方法などがある。
符号化制御部2による符号化モードの選択方法は、公知の技術であるため詳細な説明を省略するが、例えば、利用可能な任意の符号化モードを用いて、符号化ブロックに対する符号化処理を実施して符号化効率を検証し、利用可能な複数の符号化モードの中で、最も符号化効率がよい符号化モードを選択する方法などがある。
また、符号化制御部2は、各々の符号化ブロック毎に、差分画像が圧縮される際に用いられる量子化パラメータ及び直交変換ブロック分割状態を決定するとともに、予測処理が実施される際に用いられる予測パラメータ(イントラ予測パラメータ又はインター予測パラメータ)を決定する。
ただし、符号化ブロックがさらに予測処理を行う予測ブロック単位に分割される場合は、予測ブロック毎に予測パラメータ(イントラ予測パラメータ又はインター予測パラメータ)を選択する。
ただし、符号化ブロックがさらに予測処理を行う予測ブロック単位に分割される場合は、予測ブロック毎に予測パラメータ(イントラ予測パラメータ又はインター予測パラメータ)を選択する。
符号化制御部2は、量子化パラメータ及び変換ブロックサイズを含む予測差分符号化パラメータを変換・量子化部7、逆量子化・逆変換部8及び可変長符号化部13に出力する。
また、符号化制御部2は、イントラ予測パラメータを必要に応じてイントラ予測部4に出力する。
また、符号化制御部2は、インター予測パラメータを必要に応じて動き補償予測部5に出力する。
また、符号化制御部2は、イントラ予測パラメータを必要に応じてイントラ予測部4に出力する。
また、符号化制御部2は、インター予測パラメータを必要に応じて動き補償予測部5に出力する。
スライス分割部14は、入力画像として映像信号を入力すると、その入力画像を符号化制御部2により決定されたスライス分割情報にしたがって1以上の部分画像であるスライスに分割する。
ブロック分割部1は、スライス分割部14から各スライスを入力する毎に、そのスライスを符号化制御部2により決定された最大符号化ブロックサイズに分割し、さらに、分割した最大符号化ブロックを符号化制御部2により決定された符号化ブロックへ階層的に分割して、その符号化ブロックを出力する。
ブロック分割部1は、スライス分割部14から各スライスを入力する毎に、そのスライスを符号化制御部2により決定された最大符号化ブロックサイズに分割し、さらに、分割した最大符号化ブロックを符号化制御部2により決定された符号化ブロックへ階層的に分割して、その符号化ブロックを出力する。
ここで、図5は最大符号化ブロックが階層的に複数の符号化ブロックに分割される例を示す説明図である。
図5において、最大符号化ブロックは、「第0階層」と記されている輝度成分が(L0,M0)のサイズを有する符号化ブロックである。
最大符号化ブロックを出発点として、4分木構造で別途定める所定の深さまで、階層的に分割を行うことによって符号化ブロックを得るようにしている。
深さnにおいては、符号化ブロックはサイズ(Ln,Mn)の画像領域である。
ただし、LnとMnは、同じであってもよいし、異なっていてもよいが、図5では、Ln=Mnのケースを示している。
図5において、最大符号化ブロックは、「第0階層」と記されている輝度成分が(L0,M0)のサイズを有する符号化ブロックである。
最大符号化ブロックを出発点として、4分木構造で別途定める所定の深さまで、階層的に分割を行うことによって符号化ブロックを得るようにしている。
深さnにおいては、符号化ブロックはサイズ(Ln,Mn)の画像領域である。
ただし、LnとMnは、同じであってもよいし、異なっていてもよいが、図5では、Ln=Mnのケースを示している。
以降、符号化制御部2により決定される符号化ブロックサイズは、符号化ブロックの輝度成分におけるサイズ(Ln,Mn)と定義する。
4分木分割を行うため、常に、(Ln+1,Mn+1)=(Ln/2,Mn/2)が成立する。
なお、RGB信号など、全ての色成分が同一サンプル数を有するカラー映像信号(4:4:4フォーマット)では、全ての色成分のサイズが(Ln,Mn)になるが、4:2:0フォーマットを扱う場合、対応する色差成分の符号化ブロックサイズは(Ln/2,Mn/2)になる。
4分木分割を行うため、常に、(Ln+1,Mn+1)=(Ln/2,Mn/2)が成立する。
なお、RGB信号など、全ての色成分が同一サンプル数を有するカラー映像信号(4:4:4フォーマット)では、全ての色成分のサイズが(Ln,Mn)になるが、4:2:0フォーマットを扱う場合、対応する色差成分の符号化ブロックサイズは(Ln/2,Mn/2)になる。
以降、第n階層の符号化ブロックをBnで表し、符号化ブロックBnで選択可能な符号化モードをm(Bn)で表すものとする。
複数の色成分からなるカラー映像信号の場合、符号化モードm(Bn)は、色成分毎に、それぞれ個別のモードを用いるように構成されてもよいし、全ての色成分に対し共通のモードを用いるように構成されてもよい。以降、特に断らない限り、YUV信号、4:2:0フォーマットの符号化ブロックの輝度成分に対する符号化モードを指すものとして説明を行う。
複数の色成分からなるカラー映像信号の場合、符号化モードm(Bn)は、色成分毎に、それぞれ個別のモードを用いるように構成されてもよいし、全ての色成分に対し共通のモードを用いるように構成されてもよい。以降、特に断らない限り、YUV信号、4:2:0フォーマットの符号化ブロックの輝度成分に対する符号化モードを指すものとして説明を行う。
符号化ブロックBnは、図5に示すように、ブロック分割部1によって、予測処理単位を表す1つないし複数の予測ブロックに分割される。
以降、符号化ブロックBnに属する予測ブロックをPi n(iは、第n階層における予測ブロック番号)と表記する。図5にはP0 0とP1 0の例を示している。
符号化ブロックBn内の予測ブロックの分割が、どのようになされているかは、符号化モードm(Bn)の中に情報として含まれる。
予測ブロックPi nは、全て符号化モードm(Bn)に従って予測処理が行われるが、予測ブロックPi n毎に、個別の予測パラメータ(イントラ予測パラメータ又はインター予測パラメータ)を選択することができる。
以降、符号化ブロックBnに属する予測ブロックをPi n(iは、第n階層における予測ブロック番号)と表記する。図5にはP0 0とP1 0の例を示している。
符号化ブロックBn内の予測ブロックの分割が、どのようになされているかは、符号化モードm(Bn)の中に情報として含まれる。
予測ブロックPi nは、全て符号化モードm(Bn)に従って予測処理が行われるが、予測ブロックPi n毎に、個別の予測パラメータ(イントラ予測パラメータ又はインター予測パラメータ)を選択することができる。
符号化制御部2は、最大符号化ブロックに対して、例えば、図6に示すようなブロック分割状態を生成して、符号化ブロックを特定する。
図6(a)の点線で囲まれた矩形が各符号化ブロックを表し、各符号化ブロック内にある斜線で塗られたブロックが各予測ブロックの分割状態を表している。
図6(b)は、図6(a)の例について、階層分割によって符号化モードm(Bn)が割り当てられる状況を4分木グラフで示したものである。図6(b)の□で囲まれているノードは、符号化モードm(Bn)が割り当てられたノード(符号化ブロック)である。
この4分木グラフの情報は符号化モードm(Bn)と共に符号化制御部2から可変長符号化部13に出力されて、ビットストリームに多重化される。
図6(a)の点線で囲まれた矩形が各符号化ブロックを表し、各符号化ブロック内にある斜線で塗られたブロックが各予測ブロックの分割状態を表している。
図6(b)は、図6(a)の例について、階層分割によって符号化モードm(Bn)が割り当てられる状況を4分木グラフで示したものである。図6(b)の□で囲まれているノードは、符号化モードm(Bn)が割り当てられたノード(符号化ブロック)である。
この4分木グラフの情報は符号化モードm(Bn)と共に符号化制御部2から可変長符号化部13に出力されて、ビットストリームに多重化される。
切換スイッチ3は、符号化制御部2により決定された符号化モードm(Bn)がイントラ符号化モードである場合(m(Bn)∈INTRAの場合)、ブロック分割部1から出力された符号化ブロックBnをイントラ予測部4に出力する。
一方、符号化制御部2により決定された符号化モードm(Bn)がインター符号化モードである場合(m(Bn)∈INTERの場合)、ブロック分割部1から出力された符号化ブロックBnを動き補償予測部5に出力する。
一方、符号化制御部2により決定された符号化モードm(Bn)がインター符号化モードである場合(m(Bn)∈INTERの場合)、ブロック分割部1から出力された符号化ブロックBnを動き補償予測部5に出力する。
イントラ予測部4は、符号化制御部2により決定された符号化モードm(Bn)がイントラ符号化モードであり(m(Bn)∈INTRAの場合)、切換スイッチ3から符号化ブロックBnを受けると(ステップST3)、イントラ予測用メモリ10に格納されている局所復号画像を参照しながら、符号化制御部2により決定されたイントラ予測パラメータを用いて、その符号化ブロックBn内の各予測ブロックPi nに対するイントラ予測処理を実施して、イントラ予測画像PINTRAi nを生成する(ステップST4)。
ただし、詳細は後述するが、イントラ予測画像を生成する処理を行う際に予測対象ブロックに隣接する符号化済みの画素を用いることから、イントラ予測画像を生成する処理は予測処理に用いる予測対象ブロックに隣接する画素が既に符号化済みとなるように常に直交変換ブロック単位に行われなくてはならない。したがって、符号化モードがイントラ符号化モードである符号化ブロックでは、選択可能な直交変換ブロックのブロックサイズは予測ブロックのサイズ以下に制限され、さらに、直交変換ブロックが予測ブロックより小さい場合、即ち、予測ブロック内に複数の直交変換ブロックが存在する場合には直交変換ブロック単位に当該予測ブロックで定められたイントラ予測パラメータを用いたイントラ予測処理を実施してイントラ予測画像を生成する処理を実施する。
なお、動画像復号装置がイントラ予測画像PINTRAi nと全く同じイントラ予測画像を生成する必要があるため、イントラ予測画像PINTRAi nの生成に用いられたイントラ予測パラメータは、符号化制御部2から可変長符号化部13に出力されて、ビットストリームに多重化される。
イントラ予測部4の処理内容の詳細は後述する。
ただし、詳細は後述するが、イントラ予測画像を生成する処理を行う際に予測対象ブロックに隣接する符号化済みの画素を用いることから、イントラ予測画像を生成する処理は予測処理に用いる予測対象ブロックに隣接する画素が既に符号化済みとなるように常に直交変換ブロック単位に行われなくてはならない。したがって、符号化モードがイントラ符号化モードである符号化ブロックでは、選択可能な直交変換ブロックのブロックサイズは予測ブロックのサイズ以下に制限され、さらに、直交変換ブロックが予測ブロックより小さい場合、即ち、予測ブロック内に複数の直交変換ブロックが存在する場合には直交変換ブロック単位に当該予測ブロックで定められたイントラ予測パラメータを用いたイントラ予測処理を実施してイントラ予測画像を生成する処理を実施する。
なお、動画像復号装置がイントラ予測画像PINTRAi nと全く同じイントラ予測画像を生成する必要があるため、イントラ予測画像PINTRAi nの生成に用いられたイントラ予測パラメータは、符号化制御部2から可変長符号化部13に出力されて、ビットストリームに多重化される。
イントラ予測部4の処理内容の詳細は後述する。
動き補償予測部5は、符号化制御部2により決定された符号化モードm(Bn)がインター符号化モードであり(m(Bn)∈INTERの場合)、切換スイッチ3から符号化ブロックBnを受けると(ステップST3)、その符号化ブロックBn内の各予測ブロックPi nと動き補償予測フレームメモリ12に格納されているフィルタ処理後の局所復号画像を比較して動きベクトルを探索し、その動きベクトルと符号化制御部2により決定されたインター予測パラメータを用いて、その符号化ブロックBn内の各予測ブロックPi nに対するインター予測処理を実施して、インター予測画像PINTERi nを生成する(ステップST5)。
なお、動画像復号装置がインター予測画像PINTERi nと全く同じインター予測画像を生成する必要があるため、インター予測画像PINTERi nの生成に用いられたインター予測パラメータは、符号化制御部2から可変長符号化部13に出力されて、ビットストリームに多重化される。
また、動き補償予測部5により探索された動きベクトルも可変長符号化部13に出力されて、ビットストリームに多重化される。
なお、動画像復号装置がインター予測画像PINTERi nと全く同じインター予測画像を生成する必要があるため、インター予測画像PINTERi nの生成に用いられたインター予測パラメータは、符号化制御部2から可変長符号化部13に出力されて、ビットストリームに多重化される。
また、動き補償予測部5により探索された動きベクトルも可変長符号化部13に出力されて、ビットストリームに多重化される。
減算部6は、ブロック分割部1から符号化ブロックBnを受けると、その符号化ブロックBn内の予測ブロックPi nから、イントラ予測部4により生成されたイントラ予測画像PINTRAi n、または、動き補償予測部5により生成されたインター予測画像PINTERi nのいずれか一方を減算して、その減算結果である差分画像を示す予測差分信号ei nを変換・量子化部7に出力する(ステップST6)。
変換・量子化部7は、減算部6から予測差分信号ei nを受けると、符号化制御部2により決定された予測差分符号化パラメータに含まれる直交変換ブロック分割情報を参照して、その予測差分信号ei nに対する直交変換処理(例えば、DCT(離散コサイン変換)やDST(離散サイン変換)、予め特定の学習系列に対して基底設計がなされているKL変換等の直交変換処理)を直交変換ブロック単位に実施して、変換係数を算出する。
また、変換・量子化部7は、その予測差分符号化パラメータに含まれる量子化パラメータを参照して、その直交変換ブロック単位の変換係数を量子化し、量子化後の変換係数である圧縮データを逆量子化・逆変換部8及び可変長符号化部13に出力する(ステップST7)。このとき、上記量子化パラメータから算出される量子化ステップサイズを変換係数毎にスケーリングする量子化マトリクスを用いて量子化処理を実施するようにしてもよい。
また、変換・量子化部7は、その予測差分符号化パラメータに含まれる量子化パラメータを参照して、その直交変換ブロック単位の変換係数を量子化し、量子化後の変換係数である圧縮データを逆量子化・逆変換部8及び可変長符号化部13に出力する(ステップST7)。このとき、上記量子化パラメータから算出される量子化ステップサイズを変換係数毎にスケーリングする量子化マトリクスを用いて量子化処理を実施するようにしてもよい。
量子化マトリクスは、各直交変換サイズで色信号や符号化モード(イントラ符号化かインター符号化か)毎に独立しているマトリクスを使用することができ、初期値として予め動画像符号化装置及び動画像復号装置で共通に用意されている量子化マトリクスや既に符号化された量子化マトリクスの中から選択するか、新しい量子化マトリクスを用いるかをそれぞれ選択することができる。
したがって、変換・量子化部7は、各直交変換サイズに対して色信号や符号化モード毎に、新しい量子化マトリクスを用いるか否かを示すフラグ情報を符号化すべき量子化マトリクスパラメータに設定する。
さらに、新しい量子化マトリクスを用いる場合には、図10に示すような量子化マトリクスの各スケーリング値を符号化すべき量子化マトリクスパラメータに設定する。一方、新しい量子化マトリクスを用いない場合には、初期値として予め動画像符号化装置及び動画像復号装置で共通に用意されている量子化マトリクス、または、既に符号化された量子化マトリクスの中から、使用するマトリクスを特定するインデックスを符号化すべき量子化マトリクスパラメータに設定する。ただし、参照可能な既に符号化された量子化マトリクスが存在しない場合、予め動画像符号化装置及び動画像復号装置で共通に用意されている量子化マトリクスのみ選択可能となる。
そして、変換・量子化部7は、設定した量子化マトリクスパラメータを可変長符号化部13に出力する。
したがって、変換・量子化部7は、各直交変換サイズに対して色信号や符号化モード毎に、新しい量子化マトリクスを用いるか否かを示すフラグ情報を符号化すべき量子化マトリクスパラメータに設定する。
さらに、新しい量子化マトリクスを用いる場合には、図10に示すような量子化マトリクスの各スケーリング値を符号化すべき量子化マトリクスパラメータに設定する。一方、新しい量子化マトリクスを用いない場合には、初期値として予め動画像符号化装置及び動画像復号装置で共通に用意されている量子化マトリクス、または、既に符号化された量子化マトリクスの中から、使用するマトリクスを特定するインデックスを符号化すべき量子化マトリクスパラメータに設定する。ただし、参照可能な既に符号化された量子化マトリクスが存在しない場合、予め動画像符号化装置及び動画像復号装置で共通に用意されている量子化マトリクスのみ選択可能となる。
そして、変換・量子化部7は、設定した量子化マトリクスパラメータを可変長符号化部13に出力する。
逆量子化・逆変換部8は、変換・量子化部7から圧縮データを受けると、符号化制御部2により決定された予測差分符号化パラメータに含まれる量子化パラメータ及び直交変換ブロック分割情報を参照して、直交変換ブロック単位にその圧縮データを逆量子化する。
変換・量子化部7が量子化処理に量子化マトリクスを用いている場合には、逆量子化処理時においても、その量子化マトリクスを参照して、対応した逆量子化処理を実施する。
また、逆量子化・逆変換部8は、直交変換ブロック単位に逆量子化後の圧縮データである変換係数に対する逆直交変換処理(例えば、逆DCT、逆DST、逆KL変換など)を実施して、減算部6から出力された予測差分信号ei nに相当する局所復号予測差分信号を算出して加算部9に出力する(ステップST8)。
変換・量子化部7が量子化処理に量子化マトリクスを用いている場合には、逆量子化処理時においても、その量子化マトリクスを参照して、対応した逆量子化処理を実施する。
また、逆量子化・逆変換部8は、直交変換ブロック単位に逆量子化後の圧縮データである変換係数に対する逆直交変換処理(例えば、逆DCT、逆DST、逆KL変換など)を実施して、減算部6から出力された予測差分信号ei nに相当する局所復号予測差分信号を算出して加算部9に出力する(ステップST8)。
加算部9は、逆量子化・逆変換部8から局所復号予測差分信号を受けると、その局所復号予測差分信号と、イントラ予測部4により生成されたイントラ予測画像PINTRAi n、または、動き補償予測部5により生成されたインター予測画像PINTERi nのいずれか一方を加算することで、局所復号画像を算出する(ステップST9)。
なお、加算部9は、その局所復号画像をループフィルタ部11に出力するとともに、その局所復号画像をイントラ予測用メモリ10に格納する。
この局所復号画像が、以降のイントラ予測処理の際に用いられる符号化済みの画像信号になる。
なお、加算部9は、その局所復号画像をループフィルタ部11に出力するとともに、その局所復号画像をイントラ予測用メモリ10に格納する。
この局所復号画像が、以降のイントラ予測処理の際に用いられる符号化済みの画像信号になる。
ループフィルタ部11は、加算部9から局所復号画像を受けると、その局所復号画像に対して、所定のフィルタ処理を実施して、フィルタ処理後の局所復号画像を動き補償予測フレームメモリ12に格納する(ステップST10)。
具体的には、直交変換ブロックの境界や予測ブロックの境界に発生する歪みを低減するフィルタ(デブロッキングフィルタ)処理、画素単位に適応的にオフセットを加算する(画素適応オフセット)処理、ウィーナフィルタ等の線形フィルタを適応的に切り替えてフィルタ処理する適応フィルタ処理などを行う。
具体的には、直交変換ブロックの境界や予測ブロックの境界に発生する歪みを低減するフィルタ(デブロッキングフィルタ)処理、画素単位に適応的にオフセットを加算する(画素適応オフセット)処理、ウィーナフィルタ等の線形フィルタを適応的に切り替えてフィルタ処理する適応フィルタ処理などを行う。
ただし、ループフィルタ部11は、上記のデブロッキングフィルタ処理、画素適応オフセット処理、適応フィルタ処理のそれぞれについて、処理を行うか否かを決定し、各処理の有効フラグをシーケンスレベルヘッダの一部及びスライスレベルヘッダの一部として可変長符号化部13に出力する。なお、上記のフィルタ処理を複数使用する際は、各フィルタ処理を順番に実施する。図11は複数のフィルタ処理を用いる場合のループフィルタ部11の構成例を示している。
一般に使用するフィルタ処理の種類が多いほど、画像品質は向上するが、一方で処理負荷は高くなる。即ち、画像品質と処理負荷はトレードオフの関係にある。また、各フィルタ処理の画像品質改善効果はフィルタ処理対象画像の特性によって異なる。したがって、動画像符号化装置が許容する処理負荷や符号化処理対象画像の特性にしたがって使用するフィルタ処理を決めればよい。
一般に使用するフィルタ処理の種類が多いほど、画像品質は向上するが、一方で処理負荷は高くなる。即ち、画像品質と処理負荷はトレードオフの関係にある。また、各フィルタ処理の画像品質改善効果はフィルタ処理対象画像の特性によって異なる。したがって、動画像符号化装置が許容する処理負荷や符号化処理対象画像の特性にしたがって使用するフィルタ処理を決めればよい。
ここで、デブロッキングフィルタ処理では、ブロック境界にかけるフィルタ強度の選択に用いる各種パラメータを初期値から変更することができる。変更する場合には、そのパラメータをヘッダ情報として可変長符号化部13に出力する。
画素適応オフセット処理では、最初に、画像を複数のブロックに分割し、そのブロック単位に、オフセット処理を行わない場合もクラス分類手法の一つとして定義して、予め用意している複数のクラス分類手法の中から、1つのクラス分類手法を選択する。
次に、選択したクラス分類手法によってブロック内の各画素をクラス分類し、クラス毎に符号化歪みを補償するオフセット値を算出する。
最後に、局所復号画像の輝度値に対して、そのオフセット値を加算する処理を行うことで局所復号画像の画像品質を改善する。
次に、選択したクラス分類手法によってブロック内の各画素をクラス分類し、クラス毎に符号化歪みを補償するオフセット値を算出する。
最後に、局所復号画像の輝度値に対して、そのオフセット値を加算する処理を行うことで局所復号画像の画像品質を改善する。
クラス分類手法としては、局所復号画像の輝度値の大きさで分類する手法(BO手法と呼ぶ)や、エッジの方向毎に各画素の周囲の状況(エッジ部か否か等)に応じて分類する手法(EO手法と呼ぶ)がある。
これらの手法は、予め動画像符号化装置及び動画像復号装置で共通に用意されており、例えば図14に示すように、オフセット処理を行わない場合もクラス分類手法の一つとして定義して、これらの手法のうち、どの手法でクラス分類を行うかを示すインデックスを上記ブロック単位に選択する。
これらの手法は、予め動画像符号化装置及び動画像復号装置で共通に用意されており、例えば図14に示すように、オフセット処理を行わない場合もクラス分類手法の一つとして定義して、これらの手法のうち、どの手法でクラス分類を行うかを示すインデックスを上記ブロック単位に選択する。
したがって、画素適応オフセット処理は、ブロックの分割情報、ブロック単位のクラス分類手法を示すインデックス、ブロック単位のオフセット情報をヘッダ情報として可変長符号化部13に出力する。
また、適応フィルタ処理では、局所復号画像を所定の手法でクラス分類し、各クラスに属する領域(局所復号画像)毎に、重畳されている歪みを補償するフィルタを設計し、そのフィルタを用いて、当該局所復号画像のフィルタ処理を実施する。
そして、クラス毎に設計したフィルタをヘッダ情報として可変長符号化部13に出力する。
ここで、クラス分類手法としては、画像を空間的に等間隔に区切る簡易な手法や、ブロック単位に画像の局所的な特性(分散など)に応じて分類する手法がある。また、適応フィルタ処理で使用するクラス数は、予め動画像符号化装置及び動画像復号装置で共通の値に設定してもよいし、符号化すべきパラメータの一つとしてもよい。
前者と比較して後者の方が、使用するクラス数を自由に設定することができるため、画像品質改善効果が上がるが、一方でクラス数を符号化するために、その分の符号量が増加する。
そして、クラス毎に設計したフィルタをヘッダ情報として可変長符号化部13に出力する。
ここで、クラス分類手法としては、画像を空間的に等間隔に区切る簡易な手法や、ブロック単位に画像の局所的な特性(分散など)に応じて分類する手法がある。また、適応フィルタ処理で使用するクラス数は、予め動画像符号化装置及び動画像復号装置で共通の値に設定してもよいし、符号化すべきパラメータの一つとしてもよい。
前者と比較して後者の方が、使用するクラス数を自由に設定することができるため、画像品質改善効果が上がるが、一方でクラス数を符号化するために、その分の符号量が増加する。
ステップST3〜ST9の処理は、階層的に分割された全ての符号化ブロックBnに対する処理が完了するまで繰り返し実施され、全ての符号化ブロックBnに対する処理が完了すると、ステップST13の処理に移行する(ステップST11,ST12)。
可変長符号化部13は、変換・量子化部7から出力された圧縮データと、符号化制御部2から出力された最大符号化ブロック内のブロック分割情報(図6(b)を例とする4分木情報)、符号化モードm(Bn)及び予測差分符号化パラメータと、符号化制御部2から出力されたイントラ予測パラメータ(符号化モードがイントラ符号化モードである場合)又はインター予測パラメータ(符号化モードがインター符号化モードである場合)と、動き補償予測部5から出力された動きベクトル(符号化モードがインター符号化モードである場合)とを可変長符号化し、それらの符号化結果を示す符号化データを生成する(ステップST13)。
その際、量子化された直交変換係数である圧縮データの符号化手法として直交変換ブロックをさらにCoefficient Group(CG)と呼ばれる4×4画素単位のブロック(符号化サブブロック)に分割してCG単位に係数の符号化処理を実施する。図23に16×16画素の直交変換ブロックにおける係数の符号化順(スキャン順)を示す。このように4×4画素単位の16個のCGを右下のCGから順に符号化処理し、さらに各CGはCG内の16個の係数を右下の係数から順に符号化する。具体的には、まずCG内の16個の係数の中に有意(非零)係数が存在するか否かのフラグ情報を符号化し、次にCG内に有意(非零)係数が存在する場合のみCG内の各係数が有意(非零)係数であるかを上記順に符号化し、最後に有意(非零)係数に対してその係数値情報を順に符号化する。これをCG単位に上記順に行う。その際、有意(非零)係数がなるべく連続で発生するように偏るスキャン順とした方がエントロピー符号化による符号化効率を高めることができる。直交変換後の係数は左上に位置する直流成分をはじめとして左上に近い程低い周波数成分の低い係数を表すことから、図15に示す例のように1ピクチャ1フレームとして符号化を行うプログレッシブ映像では一般的に左上に近いほど有意(非零)係数が多く発生するために図23に示すように右下から順に符号化することで効率的に符号化できる。一方、シーケンスレベルヘッダのフィールド符号化か否かを示すフラグが有効である場合、すなわち1ピクチャ1フィールドとして符号化する場合は垂直方向の空間的相関が低下するために垂直方向の予測効率が低下し、予測差分信号ei nを直交変換した結果である変換係数についても垂直方向の周波数成分が多く発生するようになり図16に示す例のように有意(非零)係数発生分布がプログレッシブ映像よりも直交変換ブロックの左側に偏った形となる傾向がある。したがって、図23に示す符号化順では効率的に符号化できなくなってしまうため、例えば、図17に示す符号化順に切り替えるようにする。このようにすることで、有意(非零)係数の符号化を符号化順の後ろの方で連続して処理するようになり、エントロピー符号化による符号化効率を高めることができる。
なお、上記では16×16画素の直交変換ブロックについて説明したが、8x8画素や32×32画素の直交変換ブロック等、16×16画素以外のブロックサイズにおいてもCG(符号化サブブロック)単位の符号化処理を実施するものとし、その符号化順は16×16画素の直交変換ブロックと同様にシーケンスレベルヘッダのフィールド符号化か否かを示すフラグが有効かどうかによって切り替えるようにする。
その際、量子化された直交変換係数である圧縮データの符号化手法として直交変換ブロックをさらにCoefficient Group(CG)と呼ばれる4×4画素単位のブロック(符号化サブブロック)に分割してCG単位に係数の符号化処理を実施する。図23に16×16画素の直交変換ブロックにおける係数の符号化順(スキャン順)を示す。このように4×4画素単位の16個のCGを右下のCGから順に符号化処理し、さらに各CGはCG内の16個の係数を右下の係数から順に符号化する。具体的には、まずCG内の16個の係数の中に有意(非零)係数が存在するか否かのフラグ情報を符号化し、次にCG内に有意(非零)係数が存在する場合のみCG内の各係数が有意(非零)係数であるかを上記順に符号化し、最後に有意(非零)係数に対してその係数値情報を順に符号化する。これをCG単位に上記順に行う。その際、有意(非零)係数がなるべく連続で発生するように偏るスキャン順とした方がエントロピー符号化による符号化効率を高めることができる。直交変換後の係数は左上に位置する直流成分をはじめとして左上に近い程低い周波数成分の低い係数を表すことから、図15に示す例のように1ピクチャ1フレームとして符号化を行うプログレッシブ映像では一般的に左上に近いほど有意(非零)係数が多く発生するために図23に示すように右下から順に符号化することで効率的に符号化できる。一方、シーケンスレベルヘッダのフィールド符号化か否かを示すフラグが有効である場合、すなわち1ピクチャ1フィールドとして符号化する場合は垂直方向の空間的相関が低下するために垂直方向の予測効率が低下し、予測差分信号ei nを直交変換した結果である変換係数についても垂直方向の周波数成分が多く発生するようになり図16に示す例のように有意(非零)係数発生分布がプログレッシブ映像よりも直交変換ブロックの左側に偏った形となる傾向がある。したがって、図23に示す符号化順では効率的に符号化できなくなってしまうため、例えば、図17に示す符号化順に切り替えるようにする。このようにすることで、有意(非零)係数の符号化を符号化順の後ろの方で連続して処理するようになり、エントロピー符号化による符号化効率を高めることができる。
なお、上記では16×16画素の直交変換ブロックについて説明したが、8x8画素や32×32画素の直交変換ブロック等、16×16画素以外のブロックサイズにおいてもCG(符号化サブブロック)単位の符号化処理を実施するものとし、その符号化順は16×16画素の直交変換ブロックと同様にシーケンスレベルヘッダのフィールド符号化か否かを示すフラグが有効かどうかによって切り替えるようにする。
上記ではシーケンスレベルヘッダのフィールド符号化か否かを示すフラグが有効である場合、図17に示す符号化順(符号化ブロック単位(16×16画素の符号化ブロック内の符号化順)、符号化サブブロック単位(4×4画素のCG内の符号化順))に切り替えるようにしたが、図18に示すようにCGの形状を4×4画素ブロックから8×2画素ブロックに変更するようにしてもよい。このようにすることでも、有意(非零)係数の符号化を符号化順で後ろの方のCGで連続して処理するようになり、エントロピー符号化による符号化効率を高めることができる。つまり、シーケンスレベルヘッダのフィールド符号化か否かを示すフラグが無効である場合は、図23のような符号化順であるため、図17の場合は符号化ブロック単位、符号化サブブロック単位で符号化順を切り替えるため、符号化効率を高めることができ、更に図18の場合は符号化ブロック単位、符号化サブブロック単位で符号化順を切り替えることに加えて、符号化サブブロックの形状も変更するようにしたため、更に符号化効率を高めることができる。なお、上記では、符号化順を符号化ブロック単位および符号化サブブロック単位の両方で切り替える場合について説明したが、符号化ブロック単位あるいは符号化サブブロック単位のいずれかのみを切り替えるようにしてもよい。
または、シーケンスレベルヘッダのフィールド符号化か否かを示すフラグが有効である場合、図19に示す符号化順とするようにしてもよい。このように、CGの形状だけでなくCG内のスキャン順もブロックの右側の係数を優先して符号化するように変更することで、より有意(非零)係数の符号化を符号化順の後ろの方で連続して処理できるようになり、一層エントロピー符号化による符号化効率を高めることができる。
または、シーケンスレベルヘッダのフィールド符号化か否かを示すフラグが有効である場合、図19に示す符号化順とするようにしてもよい。このように、CGの形状だけでなくCG内のスキャン順もブロックの右側の係数を優先して符号化するように変更することで、より有意(非零)係数の符号化を符号化順の後ろの方で連続して処理できるようになり、一層エントロピー符号化による符号化効率を高めることができる。
なお、シーケンスレベルヘッダのフィールド符号化か否かを示すフラグをピクチャレベルヘッダに用意して、量子化された直交変換係数である圧縮データの符号化時の係数の符号化順をピクチャ単位に適応的に切り替えるようにしてもよい。そのようにすることで、ピクチャ単位適応的な制御が実現でき、符号化効率を高めることができる。なお、ピクチャ単位にフレーム符号化とフィールド符号化を適応的に切り替える符号化を実現する場合には、上記フラグはピクチャレベルヘッダに用意する。
また、本実施の形態1では、シーケンスレベルヘッダあるいはピクチャレベルヘッダのフィールド符号化か否かを示すフラグに基づいて符号化順や形状等を切り替える場合について説明したが、シーケンスレベルヘッダあるいはピクチャレベルヘッダのフィールド符号化か否かを示すフラグとは別に本切り替え処理を行うか否かを示すフラグを定義し、この切り替え処理を行うか否かを示すフラグに基づいて符号化順やCGの形状やCG内のスキャン順等を切り替えるようにしてもよい。
また、符号化順やCGの形状やCG内のスキャン順の例として図17、図18、図19を例示したが、有意(非零)係数の符号化を符号化順で後ろの方で連続して処理できれば、これに限られず、図17、図18、図19以外の符号化順やCGの形状やCG内のスキャン順であってもよく、CGの形状とCG内のスキャン順の組み合わせも図17、図18、図19に限られない。例えば、CGが1×2、1×4、1×8、1×16、2×2、2×4、4×8画素等であっても良い。
また、本実施の形態1では、フィールド符号化の場合、図17、図18、図19のいずれか1つ(選択不可)である場合について説明したが、複数の候補(図17、図18、図19その他)の中から1つを選択するようにしてもよい。その場合、複数候補のうちどれを選択したかの示すフラグを上記ヘッダに用意する。このフラグは、フィールド符号化か否かを示すフラグや、本切り替え処理を行うか否かを示すフラグと共用してもよい。
また、本実施の形態1では、シーケンスレベルヘッダあるいはピクチャレベルヘッダのフィールド符号化か否かを示すフラグに基づいて符号化順や形状等を切り替える場合について説明したが、シーケンスレベルヘッダあるいはピクチャレベルヘッダのフィールド符号化か否かを示すフラグとは別に本切り替え処理を行うか否かを示すフラグを定義し、この切り替え処理を行うか否かを示すフラグに基づいて符号化順やCGの形状やCG内のスキャン順等を切り替えるようにしてもよい。
また、符号化順やCGの形状やCG内のスキャン順の例として図17、図18、図19を例示したが、有意(非零)係数の符号化を符号化順で後ろの方で連続して処理できれば、これに限られず、図17、図18、図19以外の符号化順やCGの形状やCG内のスキャン順であってもよく、CGの形状とCG内のスキャン順の組み合わせも図17、図18、図19に限られない。例えば、CGが1×2、1×4、1×8、1×16、2×2、2×4、4×8画素等であっても良い。
また、本実施の形態1では、フィールド符号化の場合、図17、図18、図19のいずれか1つ(選択不可)である場合について説明したが、複数の候補(図17、図18、図19その他)の中から1つを選択するようにしてもよい。その場合、複数候補のうちどれを選択したかの示すフラグを上記ヘッダに用意する。このフラグは、フィールド符号化か否かを示すフラグや、本切り替え処理を行うか否かを示すフラグと共用してもよい。
また、可変長符号化部13は、図13に例示するように、符号化ビットストリームのヘッダ情報として、シーケンスレベルヘッダ、ピクチャレベルヘッダを符号化し、ピクチャデータと共に符号化ビットストリームを生成する。
ただし、ピクチャデータは1以上のスライスデータから構成され、各スライスデータはスライスレベルヘッダと当該スライス内にある上記符号化データをまとめたものである。
ただし、ピクチャデータは1以上のスライスデータから構成され、各スライスデータはスライスレベルヘッダと当該スライス内にある上記符号化データをまとめたものである。
シーケンスレベルヘッダは、画像サイズ、色信号フォーマット、輝度信号や色差信号の信号値のビット深度、シーケンス単位でのループフィルタ部11における各フィルタ処理(適応フィルタ処理、画素適応オフセット処理、デブロッキングフィルタ処理)の有効フラグ情報、量子化マトリクスの有効フラグ情報、フィールド符号化か否かを示すフラグなど、一般的にシーケンス単位に共通となるヘッダ情報をまとめたものである。
ピクチャレベルヘッダは、参照するシーケンスレベルヘッダのインデックスや動き補償時の参照ピクチャ数、エントロピー符号化の確率テーブル初期化フラグ等のピクチャ単位で設定するヘッダ情報をまとめたものである。
スライスレベルヘッダは、当該スライスがピクチャのどの位置にあるかを示す位置情報、どのピクチャレベルヘッダを参照するかを示すインデックス、スライスの符号化タイプ(オールイントラ符号化、インター符号化など)、ループフィルタ部11における各フィルタ処理(適応フィルタ処理、画素適応オフセット処理、デブロッキングフィルタ処理)を行うか否かを示すフラグ情報などといったスライス単位のパラメータをまとめたものである。
ピクチャレベルヘッダは、参照するシーケンスレベルヘッダのインデックスや動き補償時の参照ピクチャ数、エントロピー符号化の確率テーブル初期化フラグ等のピクチャ単位で設定するヘッダ情報をまとめたものである。
スライスレベルヘッダは、当該スライスがピクチャのどの位置にあるかを示す位置情報、どのピクチャレベルヘッダを参照するかを示すインデックス、スライスの符号化タイプ(オールイントラ符号化、インター符号化など)、ループフィルタ部11における各フィルタ処理(適応フィルタ処理、画素適応オフセット処理、デブロッキングフィルタ処理)を行うか否かを示すフラグ情報などといったスライス単位のパラメータをまとめたものである。
次に、イントラ予測部4の処理内容を詳細に説明する。
図7は符号化ブロックBn内の各予測ブロックPi nが選択可能なイントラ予測パラメータであるイントラ予測モードの一例を示す説明図であり、イントラ予測モードのインデックス値と、そのイントラ予測モードが示す予測方向ベクトルを示している。
図7は符号化ブロックBn内の各予測ブロックPi nが選択可能なイントラ予測パラメータであるイントラ予測モードの一例を示す説明図であり、イントラ予測モードのインデックス値と、そのイントラ予測モードが示す予測方向ベクトルを示している。
イントラ予測部4は、上述したように、予測ブロックPi nのイントラ予測パラメータを参照して、その予測ブロックPi nに対するイントラ予測処理を実施して、イントラ予測画像PINTRAi nを生成するが、ここでは、輝度信号における予測ブロックPi nのイントラ予測画像を生成するイントラ処理について説明する。
まず、イントラ予測画像を生成する処理は、処理対象のブロックに隣接する符号化済みの画素を用いることから、先述したとおり直交変換ブロック単位に行われなくてはならない。ここで、イントラ予測画像を生成する直交変換ブロックを予測画像生成ブロックと呼ぶこととする。したがって、イントラ予測部4は、予測画像生成ブロック単位に下記に述べるイントラ予測画像生成処理を実施して予測ブロックPi nのイントラ予測画像を生成する。
予測画像生成ブロックのサイズをli n×mi n画素とする。
図8はli n=mi n=4の場合の予測画像生成ブロック内の画素の予測値を生成する際に用いる画素の一例を示す説明図である。
図8では、予測画像生成ブロックの上の符号化済みの画素(2×li n+1)個と、左の符号化済みの画素(2×mi n)個を予測に用いる画素としているが、予測に用いる画素は、図8に示す画素より多くても少なくてもよい。
また、図8では、予測画像生成ブロックの近傍の1行又は1列分の画素を予測に用いているが、2行又は2列、あるいは、それ以上の画素を予測に用いてもよい。
予測画像生成ブロックのサイズをli n×mi n画素とする。
図8はli n=mi n=4の場合の予測画像生成ブロック内の画素の予測値を生成する際に用いる画素の一例を示す説明図である。
図8では、予測画像生成ブロックの上の符号化済みの画素(2×li n+1)個と、左の符号化済みの画素(2×mi n)個を予測に用いる画素としているが、予測に用いる画素は、図8に示す画素より多くても少なくてもよい。
また、図8では、予測画像生成ブロックの近傍の1行又は1列分の画素を予測に用いているが、2行又は2列、あるいは、それ以上の画素を予測に用いてもよい。
予測画像生成ブロックが属する予測ブロックPi nに対するイントラ予測モードのインデックス値が0(平面(Planar)予測)の場合には、予測画像生成ブロックの上に隣接する符号化済み画素と予測画像生成ブロックの左に隣接する符号化済み画素を用いて、これら画素と予測画像生成ブロック内の予測対象画素との距離に応じて内挿した値を予測値として予測画像を生成する。
予測画像生成ブロックが属する予測ブロックPi nに対するイントラ予測モードのインデックス値が2(平均値(DC)予測)の場合には、予測画像生成ブロックの上に隣接する符号化済み画素と予測画像生成ブロックの左に隣接する符号化済み画素の平均値を予測画像生成ブロック内の画素の予測値として予測画像を生成する。
さらに、予測画像生成ブロックの上端及び左端に位置する図20の領域A、B、Cに対してブロック境界を平滑化するフィルタ処理を行って最終的な予測画像とする。例えば、式(1)に従い、図21のフィルタの参照画素配置で下記のフィルタ係数を用いてフィルタ処理を実施する。
・領域A(パーティションPi nの左上の画素)
a0=1/2,a1=1/4,a2=1/4
・領域B(領域A以外のパーティションPi nの上端の画素)
a0=3/4,a2=1/4,(a1=0)
・領域C(領域A以外のパーティションPi nの左端の画素)
a0=3/4,a1=1/4,(a2=0)
ただし、式(1)において、an(n=0,1,2)は参照画素にかかるフィルタ係数、pn(n=0,1,2)はフィルタ処理対象画素p0を含むフィルタの参照画素、S’(p0)はフィルタ処理対象画素p0におけるフィルタ処理後の予測値、S(pn)(n=0,1,2)はフィルタ処理対象画素p0を含む参照画素のフィルタ処理前の予測値を表している。
さらに、上記フィルタ処理を行う予測画像生成ブロックのブロックサイズは限定してもよい。一般にブロック端のみフィルタ処理を行って予測値を変化させる場合、大きなブロックサイズのブロックではフィルタ処理により予測値が変化する領域の占める割合が小さいためにこの予測値の変化によって生じた予測残差信号の変化を非常に高い周波数成分で表されることとなり、この高周波数成分を符号化するために符号化効率の悪化を生じさせてしまったり、符号化効率を優先してこの高周波数成分を符号化しないようにすることでブロック端の予測残差信号の変化を復元できずにブロック境界に歪みが生じてしまったりする傾向がある。一方、小さなブロックサイズのブロックではフィルタ処理により予測値が変化する領域の占める割合が大きいためにこの予測値の変化によって生じた予測残差信号の変化が大きなブロックサイズのブロックの時のような高い周波数成分で表されることはなく、適切に残差信号を符号化することができ、本フィルタ処理によってブロック境界の連続性を高めた分、復号画像の品質を高めることができる。したがって、例えば、16×16画素以上のブロックサイズの予測画像生成ブロックでは上記フィルタ処理は適用せずに、16×16画素より小さいブロックのみ上記フィルタ処理を適用することで、従来の平均値予測よりも予測性能を向上させながら、演算量の増加を抑えることができる。
他にも直交変換ブロックサイズに応じて上記フィルタ処理を行う予測画像生成ブロックのブロックサイズを限定してもよい。例えば、max(16, MaxTUsize)以上のブロックサイズの予測画像生成ブロックでは上記フィルタ処理は適用せずに、max(16, MaxTUsize)より小さいブロックのみ上記フィルタ処理を適用する。ただし、max(α, β)はαとβのうちの最大値を示しており(例えばα=1、β=2ならmax(α, β)=2)、”MaxTUsize”は取り得る最大の直交変換ブロックサイズを示しており、”16”は所定のブロックサイズ(16×16画素)を示している。つまり、max(16、 MaxTUsize)以上のブロックサイズの予測画像生成ブロックでは上記フィルタ処理は適用せず、max(16, MaxTUsize)より小さいブロックのみ上記フィルタ処理を適用するとは、MaxTUsizeが32である場合はmax(16, 32)=32となり、32×32画素のブロックのみ上記フィルタ処理は適用せず、16×16画素、8×8画素、4×4画素のブロックには上記フィルタ処理を実施する。同様に、MaxTUsizeが16である場合はmax(16, 16)=16となり、16×16画素のブロックのみ上記フィルタ処理は適用せず、8×8画素、4×4画素のブロックには上記フィルタ処理を実施する。さらに、MaxTUsizeが8である場合はmax(16, 8)=16となり、16×16画素のブロックのみ上記フィルタ処理は適用せず、8×8画素、4×4画素のブロックには上記フィルタ処理を実施することとなるため、16×16画素のブロックが存在しないMaxTUsizeが8である場合は、全ての画素のブロック(8×8、4×4)で上記フィルタ処理を実施する。同様に、MaxTUsizeが4である場合はmax(16, 4)=16となり、16×16画素のブロックのみ上記フィルタ処理は適用せず、8×8画素、4×4画素のブロックには上記フィルタ処理を実施することとなるため、4×4画素のブロックしか存在しないMaxTUsizeが4である場合は、全ての画素のブロック(4×4)で上記フィルタ処理を実施する。このようにすることで、一般に高効率な符号化を行う際には例えば”空”等の平坦な領域ではできる限り大きいサイズの直交変換処理が施されるため、このような領域ではMaxTUsizeのブロックサイズによる変換処理が行われる一方、このような大きいブロックでは上述したとおり、フィルタ処理によって復号画像のブロック境界に歪みを生じさせてしまう傾向があるため、人間の視覚特性として特に感度が高い平坦部においてこのような歪みを抑えるためにフィルタ処理を行わないようにし、ブロックサイズを小さくすることで効率的に符号化できる傾向のある複雑な領域部等、小さいブロックサイズのブロックについては上記フィルタ処理を行うことで予測効率を向上させ、復号画像の品質を高める効果が得られる。
さらに、予測画像生成ブロックの上端及び左端に位置する図20の領域A、B、Cに対してブロック境界を平滑化するフィルタ処理を行って最終的な予測画像とする。例えば、式(1)に従い、図21のフィルタの参照画素配置で下記のフィルタ係数を用いてフィルタ処理を実施する。
・領域A(パーティションPi nの左上の画素)
a0=1/2,a1=1/4,a2=1/4
・領域B(領域A以外のパーティションPi nの上端の画素)
a0=3/4,a2=1/4,(a1=0)
・領域C(領域A以外のパーティションPi nの左端の画素)
a0=3/4,a1=1/4,(a2=0)
ただし、式(1)において、an(n=0,1,2)は参照画素にかかるフィルタ係数、pn(n=0,1,2)はフィルタ処理対象画素p0を含むフィルタの参照画素、S’(p0)はフィルタ処理対象画素p0におけるフィルタ処理後の予測値、S(pn)(n=0,1,2)はフィルタ処理対象画素p0を含む参照画素のフィルタ処理前の予測値を表している。
さらに、上記フィルタ処理を行う予測画像生成ブロックのブロックサイズは限定してもよい。一般にブロック端のみフィルタ処理を行って予測値を変化させる場合、大きなブロックサイズのブロックではフィルタ処理により予測値が変化する領域の占める割合が小さいためにこの予測値の変化によって生じた予測残差信号の変化を非常に高い周波数成分で表されることとなり、この高周波数成分を符号化するために符号化効率の悪化を生じさせてしまったり、符号化効率を優先してこの高周波数成分を符号化しないようにすることでブロック端の予測残差信号の変化を復元できずにブロック境界に歪みが生じてしまったりする傾向がある。一方、小さなブロックサイズのブロックではフィルタ処理により予測値が変化する領域の占める割合が大きいためにこの予測値の変化によって生じた予測残差信号の変化が大きなブロックサイズのブロックの時のような高い周波数成分で表されることはなく、適切に残差信号を符号化することができ、本フィルタ処理によってブロック境界の連続性を高めた分、復号画像の品質を高めることができる。したがって、例えば、16×16画素以上のブロックサイズの予測画像生成ブロックでは上記フィルタ処理は適用せずに、16×16画素より小さいブロックのみ上記フィルタ処理を適用することで、従来の平均値予測よりも予測性能を向上させながら、演算量の増加を抑えることができる。
他にも直交変換ブロックサイズに応じて上記フィルタ処理を行う予測画像生成ブロックのブロックサイズを限定してもよい。例えば、max(16, MaxTUsize)以上のブロックサイズの予測画像生成ブロックでは上記フィルタ処理は適用せずに、max(16, MaxTUsize)より小さいブロックのみ上記フィルタ処理を適用する。ただし、max(α, β)はαとβのうちの最大値を示しており(例えばα=1、β=2ならmax(α, β)=2)、”MaxTUsize”は取り得る最大の直交変換ブロックサイズを示しており、”16”は所定のブロックサイズ(16×16画素)を示している。つまり、max(16、 MaxTUsize)以上のブロックサイズの予測画像生成ブロックでは上記フィルタ処理は適用せず、max(16, MaxTUsize)より小さいブロックのみ上記フィルタ処理を適用するとは、MaxTUsizeが32である場合はmax(16, 32)=32となり、32×32画素のブロックのみ上記フィルタ処理は適用せず、16×16画素、8×8画素、4×4画素のブロックには上記フィルタ処理を実施する。同様に、MaxTUsizeが16である場合はmax(16, 16)=16となり、16×16画素のブロックのみ上記フィルタ処理は適用せず、8×8画素、4×4画素のブロックには上記フィルタ処理を実施する。さらに、MaxTUsizeが8である場合はmax(16, 8)=16となり、16×16画素のブロックのみ上記フィルタ処理は適用せず、8×8画素、4×4画素のブロックには上記フィルタ処理を実施することとなるため、16×16画素のブロックが存在しないMaxTUsizeが8である場合は、全ての画素のブロック(8×8、4×4)で上記フィルタ処理を実施する。同様に、MaxTUsizeが4である場合はmax(16, 4)=16となり、16×16画素のブロックのみ上記フィルタ処理は適用せず、8×8画素、4×4画素のブロックには上記フィルタ処理を実施することとなるため、4×4画素のブロックしか存在しないMaxTUsizeが4である場合は、全ての画素のブロック(4×4)で上記フィルタ処理を実施する。このようにすることで、一般に高効率な符号化を行う際には例えば”空”等の平坦な領域ではできる限り大きいサイズの直交変換処理が施されるため、このような領域ではMaxTUsizeのブロックサイズによる変換処理が行われる一方、このような大きいブロックでは上述したとおり、フィルタ処理によって復号画像のブロック境界に歪みを生じさせてしまう傾向があるため、人間の視覚特性として特に感度が高い平坦部においてこのような歪みを抑えるためにフィルタ処理を行わないようにし、ブロックサイズを小さくすることで効率的に符号化できる傾向のある複雑な領域部等、小さいブロックサイズのブロックについては上記フィルタ処理を行うことで予測効率を向上させ、復号画像の品質を高める効果が得られる。
さらに、シーケンスレベルヘッダのフィールド符号化か否かを示すフラグが有効である場合、図22に示すとおり予測画像生成ブロックの上端にフィルタ処理を実施しないようにする。フィールド符号化の場合、垂直方向の画素間の相関が低いことから予測画像生成ブロックの上端におけるフィルタ処理によって予測効率が悪化してしまう可能性がある。したがって、領域A、Cのみフィルタ処理を行い、領域Bはフィルタ処理を行わないようにすることで予測効率の低下を抑制しつつ演算量を削減することができる。
ただし、上記ではシーケンスレベルヘッダのフィールド符号化か否かを示すフラグが有効である場合、領域A、Cのみフィルタ処理を行うようにしたが、領域Aも領域Cと同じフィルタ処理してもよい。このように、画素間の相関が低い垂直方向の画素を用いないようにすることでさらに予測効率悪化の可能性を下げつつ、フィルタ処理に要する演算量を削減することができる。あるいはより演算量を削減することを重視する場合は、領域Aもフィルタ処理を行わないようにし、領域Cのみフィルタ処理をおこなうようにしてもよい。
予測画像生成ブロックの属する予測ブロックPi nに対するイントラ予測モードのインデックス値が26(垂直方向予測)の場合、下記の式(2)から予測画像生成ブロック内の画素の予測値を算出して予測画像を生成する。
ただし、座標(x,y)は予測画像生成ブロック内の左上画素を原点とする相対座標(図9を参照)であり、S’(x,y)は座標(x,y)における予測値、S(x,y)は座標(x,y)における符号化済み画素の輝度値(復号された輝度値)である。また、算出した予測値が輝度値の取り得る値の範囲を超えている場合、予測値がその範囲内に収まるように値を丸めるようにする。
なお、式(2)の1行目の式はMPEG−4 AVC/H.264における垂直方向予測の予測値であるS(x,−1)に対し、隣接する符号化済み画素の垂直方向の輝度値の変化量S(−1,y)−S(−1,−1)を1/2にした値を加算することでブロック境界が平滑化されるようにフィルタ処理したものを予測値とすることを意味しており、式(2)の2行目の式はMPEG−4 AVC/H.264における垂直方向予測と同じ予測式を示している。
ただし、座標(x,y)は予測画像生成ブロック内の左上画素を原点とする相対座標(図9を参照)であり、S’(x,y)は座標(x,y)における予測値、S(x,y)は座標(x,y)における符号化済み画素の輝度値(復号された輝度値)である。また、算出した予測値が輝度値の取り得る値の範囲を超えている場合、予測値がその範囲内に収まるように値を丸めるようにする。
なお、式(2)の1行目の式はMPEG−4 AVC/H.264における垂直方向予測の予測値であるS(x,−1)に対し、隣接する符号化済み画素の垂直方向の輝度値の変化量S(−1,y)−S(−1,−1)を1/2にした値を加算することでブロック境界が平滑化されるようにフィルタ処理したものを予測値とすることを意味しており、式(2)の2行目の式はMPEG−4 AVC/H.264における垂直方向予測と同じ予測式を示している。
予測画像生成ブロックの属する予測ブロックPi nに対するイントラ予測モードのインデックス値が10(水平方向予測)の場合、下記の式(3)から予測画像生成ブロック内の画素の予測値を算出して予測画像を生成する。
ただし、座標(x,y)は予測画像生成ブロック内の左上画素を原点とする相対座標(図9を参照)であり、S’(x,y)は座標(x,y)における予測値、S(x,y)は座標(x,y)における符号化済み画素の輝度値(復号された輝度値)である。また、算出した予測値が輝度値の取り得る値の範囲を超えている場合、予測値がその範囲内に収まるように値を丸めるようにする。
なお、式(3)の1行目の式はMPEG−4 AVC/H.264における水平方向予測の予測値であるS(−1,y)に対し、隣接する符号化済み画素の水平方向の輝度値の変化量S(x,−1)−S(−1,−1)を1/2にした値を加算することでブロック境界が平滑化されるようにフィルタ処理したものを予測値とすることを意味しており、式(3)の2行目の式はMPEG−4 AVC/H.264における水平方向予測と同じ予測式を示している。
ただし、座標(x,y)は予測画像生成ブロック内の左上画素を原点とする相対座標(図9を参照)であり、S’(x,y)は座標(x,y)における予測値、S(x,y)は座標(x,y)における符号化済み画素の輝度値(復号された輝度値)である。また、算出した予測値が輝度値の取り得る値の範囲を超えている場合、予測値がその範囲内に収まるように値を丸めるようにする。
なお、式(3)の1行目の式はMPEG−4 AVC/H.264における水平方向予測の予測値であるS(−1,y)に対し、隣接する符号化済み画素の水平方向の輝度値の変化量S(x,−1)−S(−1,−1)を1/2にした値を加算することでブロック境界が平滑化されるようにフィルタ処理したものを予測値とすることを意味しており、式(3)の2行目の式はMPEG−4 AVC/H.264における水平方向予測と同じ予測式を示している。
ただし、式(2)の垂直方向予測、式(3)の水平方向予測を行う予測画像生成ブロックのブロックサイズを限定してもよい。一般にブロック端のみ予測方向の輝度値の変化量に比例する値を加算するフィルタ処理を行うことで予測値を変化させる場合、大きなブロックサイズのブロックでは先述した予測画像生成ブロックのブロック端のフィルタ処理により予測値が変化する領域の占める割合が小さいためにこの予測値の変化によって生じた予測残差信号の変化を非常に高い周波数成分で表されることとなり、この高周波数成分を符号化するために符号化効率の悪化を生じさせてしまったり、符号化効率を優先してこの高周波数成分を符号化しないようにすることでブロック端の予測残差信号の変化を復元できずにブロック境界に歪みが生じてしまったりする傾向がある。一方、小さなブロックサイズのブロックでは上記フィルタ処理により予測値が変化する領域の占める割合が大きいためにこの予測値の変化によって生じた予測残差信号の変化が大きなブロックサイズのブロックの時のような高い周波数成分で表されることはなく、適切に残差信号を符号化することができ、本フィルタ処理によってブロック境界の連続性を高めた分、復号画像の品質を高めることができる。したがって、例えば、16×16画素以上のブロックサイズの予測画像生成ブロックでは予測対象画素の座標によらず式(2)及び式(3)の2行目の式を常に用いること、すなわち予測画像生成ブロックのブロック端のフィルタ処理を行わないこととし、16×16画素より小さいブロックのみ上記フィルタ処理を行う式(2)及び式(3)を適用することで、従来の垂直方向予測、水平方向予測よりも予測性能を向上させながら、演算量の増加を抑えることができる。
他にも直交変換ブロックサイズに応じて式(2)の垂直方向予測、式(3)の水平方向予測を行う予測画像生成ブロックのブロックサイズを限定してもよい。例えば、max(16, MaxTUsize)以上のブロックサイズの予測画像生成ブロックでは予測対象画素の座標によらず式(2)及び式(3)の2行目の式を常に用いること、すなわち予測画像生成ブロックのブロック端のフィルタ処理を行わないこととし、max(16, MaxTUsize)より小さいブロックのみ上記フィルタ処理を行う式(2)及び式(3)を適用する。ただし、max(α, β)はαとβのうちの最大値を示しており(例えばα=1、β=2ならmax(α, β)=2)、”MaxTUsize”は取り得る最大の直交変換ブロックサイズを示しており、”16”は所定のブロックサイズ(16×16画素)を示している。つまり、max(16、 MaxTUsize)以上のブロックサイズの予測画像生成ブロックでは上記フィルタ処理は適用せず、max(16, MaxTUsize)より小さいブロックのみ上記フィルタ処理を適用するとは、MaxTUsizeが32である場合はmax(16, 32)=32となり、32×32画素のブロックのみ上記フィルタ処理は適用せず、16×16画素、8×8画素、4×4画素のブロックには上記フィルタ処理を実施する。同様に、MaxTUsizeが16である場合はmax(16, 16)=16となり、16×16画素のブロックのみ上記フィルタ処理は適用せず、8×8画素、4×4画素のブロックには上記フィルタ処理を実施する。さらに、MaxTUsizeが8である場合はmax(16, 8)=16となり、16×16画素のブロックのみ上記フィルタ処理は適用せず、8×8画素、4×4画素のブロックには上記フィルタ処理を実施することとなるため、16×16画素のブロックが存在しないMaxTUsizeが8である場合は、全ての画素のブロック(8×8、4×4)で上記フィルタ処理を実施する。同様に、MaxTUsizeが4である場合はmax(16, 4)=16となり、16×16画素のブロックのみ上記フィルタ処理は適用せず、8×8画素、4×4画素のブロックには上記フィルタ処理を実施することとなるため、4×4画素のブロックしか存在しないMaxTUsizeが4である場合は、全ての画素のブロック(4×4)で上記フィルタ処理を実施する。このようにすることで、一般に高効率な符号化を行う際には例えば”空”等の平坦な領域ではできる限り大きいサイズの直交変換処理が施されるため、このような領域ではMaxTUsizeのブロックサイズによる変換処理が行われる一方、このような大きいブロックでは上述したとおり、フィルタ処理によって復号画像のブロック境界に歪みを生じさせてしまう傾向があるため、人間の視覚特性として特に感度が高い平坦部においてこのような歪みを抑えるためにフィルタ処理を行わないようにし、ブロックサイズを小さくすることで効率的に符号化できる傾向のある複雑な領域部等、小さいブロックサイズのブロックについては上記フィルタ処理を行うことで予測効率を向上させ、復号画像の品質を高める効果が得られる。
他にも直交変換ブロックサイズに応じて式(2)の垂直方向予測、式(3)の水平方向予測を行う予測画像生成ブロックのブロックサイズを限定してもよい。例えば、max(16, MaxTUsize)以上のブロックサイズの予測画像生成ブロックでは予測対象画素の座標によらず式(2)及び式(3)の2行目の式を常に用いること、すなわち予測画像生成ブロックのブロック端のフィルタ処理を行わないこととし、max(16, MaxTUsize)より小さいブロックのみ上記フィルタ処理を行う式(2)及び式(3)を適用する。ただし、max(α, β)はαとβのうちの最大値を示しており(例えばα=1、β=2ならmax(α, β)=2)、”MaxTUsize”は取り得る最大の直交変換ブロックサイズを示しており、”16”は所定のブロックサイズ(16×16画素)を示している。つまり、max(16、 MaxTUsize)以上のブロックサイズの予測画像生成ブロックでは上記フィルタ処理は適用せず、max(16, MaxTUsize)より小さいブロックのみ上記フィルタ処理を適用するとは、MaxTUsizeが32である場合はmax(16, 32)=32となり、32×32画素のブロックのみ上記フィルタ処理は適用せず、16×16画素、8×8画素、4×4画素のブロックには上記フィルタ処理を実施する。同様に、MaxTUsizeが16である場合はmax(16, 16)=16となり、16×16画素のブロックのみ上記フィルタ処理は適用せず、8×8画素、4×4画素のブロックには上記フィルタ処理を実施する。さらに、MaxTUsizeが8である場合はmax(16, 8)=16となり、16×16画素のブロックのみ上記フィルタ処理は適用せず、8×8画素、4×4画素のブロックには上記フィルタ処理を実施することとなるため、16×16画素のブロックが存在しないMaxTUsizeが8である場合は、全ての画素のブロック(8×8、4×4)で上記フィルタ処理を実施する。同様に、MaxTUsizeが4である場合はmax(16, 4)=16となり、16×16画素のブロックのみ上記フィルタ処理は適用せず、8×8画素、4×4画素のブロックには上記フィルタ処理を実施することとなるため、4×4画素のブロックしか存在しないMaxTUsizeが4である場合は、全ての画素のブロック(4×4)で上記フィルタ処理を実施する。このようにすることで、一般に高効率な符号化を行う際には例えば”空”等の平坦な領域ではできる限り大きいサイズの直交変換処理が施されるため、このような領域ではMaxTUsizeのブロックサイズによる変換処理が行われる一方、このような大きいブロックでは上述したとおり、フィルタ処理によって復号画像のブロック境界に歪みを生じさせてしまう傾向があるため、人間の視覚特性として特に感度が高い平坦部においてこのような歪みを抑えるためにフィルタ処理を行わないようにし、ブロックサイズを小さくすることで効率的に符号化できる傾向のある複雑な領域部等、小さいブロックサイズのブロックについては上記フィルタ処理を行うことで予測効率を向上させ、復号画像の品質を高める効果が得られる。
なお、上記の動作は、平均値予測の場合、垂直方向予測の場合、水平方向予測の場合について説明したが、これら以外の予測を用いた場合も、同様の効果を得ることができる。
さらに、シーケンスレベルヘッダのフィールド符号化か否かを示すフラグが有効である場合、水平方向予測は式(3)の代わりに式(4)を用いる。
すなわち、図22に示すとおり予測画像生成ブロックの上端にフィルタ処理を実施しないようにする(平均値予測及び垂直方向予測の場合は予測画像生成ブロックの左端のみにフィルタ処理を実施し、水平方向予測の場合はフィルタ処理を実施しない)。フィールド符号化の場合、垂直方向の画素間の相関が低いことから予測画像生成ブロックの上端におけるフィルタ処理によるブロック境界の連続性を高めることによる予測効率が悪化してしまう可能性がある。したがって、上記フィルタ処理を行わないことで予測効率の低下を抑制しつつ演算量を削減することができる。
すなわち、図22に示すとおり予測画像生成ブロックの上端にフィルタ処理を実施しないようにする(平均値予測及び垂直方向予測の場合は予測画像生成ブロックの左端のみにフィルタ処理を実施し、水平方向予測の場合はフィルタ処理を実施しない)。フィールド符号化の場合、垂直方向の画素間の相関が低いことから予測画像生成ブロックの上端におけるフィルタ処理によるブロック境界の連続性を高めることによる予測効率が悪化してしまう可能性がある。したがって、上記フィルタ処理を行わないことで予測効率の低下を抑制しつつ演算量を削減することができる。
なお、シーケンスレベルヘッダのフィールド符号化か否かを示すフラグをピクチャレベルヘッダに用意して各ピクチャの、垂直方向の画素間の相関に応じて平均値(DC)予測及び水平方向予測の予測画像生成ブロック上端のフィルタ処理をON/OFF切り替えるようにしてもよい。そのようにすることで、ピクチャ単位適応的な制御が実現でき、予測効率を高めることができる。なお、ピクチャ単位にフレーム符号化とフィールド符号化を適応的に切り替える符号化を実現する場合には、上記フラグはピクチャレベルヘッダに用意する必要がある。
また、本実施の形態1では、シーケンスレベルヘッダあるいはピクチャレベルヘッダのフィールド符号化か否かを示すフラグに基づいて予測画像生成ブロック上端のフィルタ処理のON/OFFを切り替える場合について説明したが、シーケンスレベルヘッダあるいはピクチャレベルヘッダのフィールド符号化か否かを示すフラグとは別に本切り替え処理を行うか否かを示すフラグを定義し、この切り替え処理を行うか否かを示すフラグに基づいて予測画像生成ブロック上端のフィルタ処理のON/OFFを切り替えるようにしてもよい。
また、本実施の形態1では、先に説明した符号化順の切り替えと、上記フィルタ処理の切り替えとを、それぞれ別々に説明したが、これらを組み合わせて設定するようにしてもよい。
また、本実施の形態1では、シーケンスレベルヘッダあるいはピクチャレベルヘッダのフィールド符号化か否かを示すフラグに基づいて予測画像生成ブロック上端のフィルタ処理のON/OFFを切り替える場合について説明したが、シーケンスレベルヘッダあるいはピクチャレベルヘッダのフィールド符号化か否かを示すフラグとは別に本切り替え処理を行うか否かを示すフラグを定義し、この切り替え処理を行うか否かを示すフラグに基づいて予測画像生成ブロック上端のフィルタ処理のON/OFFを切り替えるようにしてもよい。
また、本実施の形態1では、先に説明した符号化順の切り替えと、上記フィルタ処理の切り替えとを、それぞれ別々に説明したが、これらを組み合わせて設定するようにしてもよい。
イントラ予測モードのインデックス値が0(平面予測)、2(平均値予測)、26(垂直方向予測)、10(水平方向予測)以外の場合には、インデックス値が示す予測方向ベクトルυp=(dx,dy)に基づいて、予測画像生成ブロック内の画素の予測値を生成する。
図9に示すように、予測画像生成ブロックの左上画素を原点として、予測画像生成ブロック内の相対座標を(x,y)と設定すると、予測に用いる参照画素の位置は、下記のLと隣接画素の交点になる。
ただし、kは負のスカラ値である。
図9に示すように、予測画像生成ブロックの左上画素を原点として、予測画像生成ブロック内の相対座標を(x,y)と設定すると、予測に用いる参照画素の位置は、下記のLと隣接画素の交点になる。
ただし、kは負のスカラ値である。
参照画素が整数画素位置にある場合には、その整数画素を予測対象画素の予測値とし、参照画素が整数画素位置にない場合には、参照画素に隣接する整数画素から生成される補間画素を予測値とする。
図8の例では、参照画素は整数画素位置にないので、参照画素に隣接する2画素から内挿したものを予測値とする。なお、隣接する2画素のみではなく、隣接する2画素以上の画素から補間画素を生成して予測値としてもよい。
補間処理に用いる画素を多くすることで補間画素の補間精度を向上させる効果がある一方、補間処理に要する演算の複雑度が増加することから、演算負荷が大きくても高い符号化性能を要求する動画像符号化装置の場合には、より多くの画素から補間画素を生成するようにした方がよい。
図8の例では、参照画素は整数画素位置にないので、参照画素に隣接する2画素から内挿したものを予測値とする。なお、隣接する2画素のみではなく、隣接する2画素以上の画素から補間画素を生成して予測値としてもよい。
補間処理に用いる画素を多くすることで補間画素の補間精度を向上させる効果がある一方、補間処理に要する演算の複雑度が増加することから、演算負荷が大きくても高い符号化性能を要求する動画像符号化装置の場合には、より多くの画素から補間画素を生成するようにした方がよい。
以上に述べた処理によって、予測画像生成ブロック単位に予測ブロックPi n内の輝度信号の全ての画素に対する予測画素を生成して、イントラ予測画像PINTRAi nを出力する。
なお、イントラ予測画像PINTRAi nの生成に用いられたイントラ予測パラメータ(イントラ予測モード)は、ビットストリームに多重化するために可変長符号化部13に出力される。
なお、イントラ予測画像PINTRAi nの生成に用いられたイントラ予測パラメータ(イントラ予測モード)は、ビットストリームに多重化するために可変長符号化部13に出力される。
なお、先に説明したMPEG−4 AVC/H.264における8×8画素のブロックのイントラ予測時に参照画素に対して施される平滑化処理と同様に、イントラ予測部4において、予測画像生成ブロックの予測画像を生成する際の参照画素を、予測画像生成ブロックに隣接する符号化済み画素を平滑化処理した画素とするように構成した場合であっても、上述の例と同様の予測画像に対するフィルタ処理を行うことができる。このようにすることで参照画素へのフィルタ処理による参照画素のノイズが除去され、これを用いて予測を行うことで予測の精度高めることができる。
あるいは、上記参照画素へのフィルタ処理は予測画像へのフィルタ処理を行う平均値予測、垂直方向予測、水平方向予測以外の予測の際のみ実施するようにしてもよい。このようにすることで、各予測モードに対して最大で1つのフィルタ処理しか行わずに済み、演算量の増加を抑えることができる
あるいは、上記参照画素へのフィルタ処理は予測画像へのフィルタ処理を行う平均値予測、垂直方向予測、水平方向予測以外の予測の際のみ実施するようにしてもよい。このようにすることで、各予測モードに対して最大で1つのフィルタ処理しか行わずに済み、演算量の増加を抑えることができる
予測ブロックPi nの色差信号に対しても、輝度信号と同様の手順で、イントラ予測パラメータ(イントラ予測モード)に基づくイントラ予測処理を実施し、イントラ予測画像の生成に用いられたイントラ予測パラメータを可変長符号化部13に出力する。
ただし、色差信号で選択可能なイントラ予測パラメータ(イントラ予測モード)は輝度信号と異なっていてもよい。例えば、演算量を削減するために、色差信号の垂直方向予測及び水平方向予測についてはブロック境界のフィルタ処理を行わずにMPEG−4 AVC/H.264と同様の予測手法としてもよい。YUV信号4:2:0フォーマットの場合、色差信号(U、V信号)は、輝度信号(Y信号)に対して解像度を水平方向、垂直方向共に1/2に縮小した信号であり、輝度信号に比べて画像信号の複雑性が低く予測が容易であることから、選択可能なイントラ予測パラメータは輝度信号よりも少ない数としてイントラ予測パラメータを符号化するのに要する符号量の削減や、予測処理の低演算化を図ってもよい。
ただし、色差信号で選択可能なイントラ予測パラメータ(イントラ予測モード)は輝度信号と異なっていてもよい。例えば、演算量を削減するために、色差信号の垂直方向予測及び水平方向予測についてはブロック境界のフィルタ処理を行わずにMPEG−4 AVC/H.264と同様の予測手法としてもよい。YUV信号4:2:0フォーマットの場合、色差信号(U、V信号)は、輝度信号(Y信号)に対して解像度を水平方向、垂直方向共に1/2に縮小した信号であり、輝度信号に比べて画像信号の複雑性が低く予測が容易であることから、選択可能なイントラ予測パラメータは輝度信号よりも少ない数としてイントラ予測パラメータを符号化するのに要する符号量の削減や、予測処理の低演算化を図ってもよい。
次に、図3の動画像復号装置の処理内容を具体的に説明する。
可変長復号部31は、図1の動画像符号化装置により生成された符号化ビットストリームを入力すると、そのビットストリームに対する可変長復号処理を実施して(図4のステップST21)、フィールド符号化か否かを示すフラグやフレームサイズの情報などの1フレーム以上のピクチャから構成されるシーケンス単位のヘッダ情報(シーケンスレベルヘッダ)及びピクチャ単位のヘッダ情報(ピクチャレベルヘッダ)、ループフィルタ部38で使用するフィルタパラメータや量子化マトリクスパラメータを復号する。
このとき、可変長復号部31によって可変長復号された量子化マトリクスパラメータを参照して量子化マトリクスを特定する。具体的には、各直交変換サイズの色信号や符号化モード毎に、量子化マトリクスパラメータが初期値として予め動画像符号化装置及び動画像復号装置で共通に用意されている量子化マトリクス、または、既に復号された量子化マトリクスである(新しい量子化マトリクスでない)ことを示す場合は、量子化マトリクスパラメータに含まれる上記マトリクスの内のどの量子化マトリクスであるかを特定するインデックス情報を参照して量子化マトリクスを特定し、量子化マトリクスパラメータが新しい量子化マトリクスを用いることを示す場合は、量子化マトリクスパラメータに含まれる量子化マトリクスを使用する量子化マトリクスとして特定する。
そして、ピクチャ単位のデータを構成するスライスデータから、スライス分割情報等のスライス単位のヘッダ情報(スライスレベルヘッダ)を復号し、各スライスの符号化データを復号する。
可変長復号部31は、図1の動画像符号化装置により生成された符号化ビットストリームを入力すると、そのビットストリームに対する可変長復号処理を実施して(図4のステップST21)、フィールド符号化か否かを示すフラグやフレームサイズの情報などの1フレーム以上のピクチャから構成されるシーケンス単位のヘッダ情報(シーケンスレベルヘッダ)及びピクチャ単位のヘッダ情報(ピクチャレベルヘッダ)、ループフィルタ部38で使用するフィルタパラメータや量子化マトリクスパラメータを復号する。
このとき、可変長復号部31によって可変長復号された量子化マトリクスパラメータを参照して量子化マトリクスを特定する。具体的には、各直交変換サイズの色信号や符号化モード毎に、量子化マトリクスパラメータが初期値として予め動画像符号化装置及び動画像復号装置で共通に用意されている量子化マトリクス、または、既に復号された量子化マトリクスである(新しい量子化マトリクスでない)ことを示す場合は、量子化マトリクスパラメータに含まれる上記マトリクスの内のどの量子化マトリクスであるかを特定するインデックス情報を参照して量子化マトリクスを特定し、量子化マトリクスパラメータが新しい量子化マトリクスを用いることを示す場合は、量子化マトリクスパラメータに含まれる量子化マトリクスを使用する量子化マトリクスとして特定する。
そして、ピクチャ単位のデータを構成するスライスデータから、スライス分割情報等のスライス単位のヘッダ情報(スライスレベルヘッダ)を復号し、各スライスの符号化データを復号する。
また、可変長復号部31は、図1の動画像符号化装置の符号化制御部2により決定された最大符号化ブロックサイズ及び分割階層数の上限を動画像符号化装置と同様の手順で決定する(ステップST22)。
例えば、最大符号化ブロックサイズや分割階層数の上限が映像信号の解像度に応じて決められた場合には、復号したフレームサイズ情報に基づいて、動画像符号化装置と同様の手順で最大符号化ブロックサイズを決定する。
最大符号化ブロックサイズ及び分割階層数の上限が、動画像符号化装置側でシーケンスレベルヘッダなどに多重化されている場合には、上記ヘッダから復号した値を用いる。
以降、動画像復号装置では、上記最大符号化ブロックサイズを最大復号ブロックサイズと称し、最大符号化ブロックを最大復号ブロックと称する。
可変長復号部31は、決定された最大復号ブロック単位に、図6で示されるような最大復号ブロックの分割状態を復号する。復号された分割状態に基づき、階層的に復号ブロック(図1の動画像符号化装置の「符号化ブロック」に相当するブロック)を特定する(ステップST23)。
例えば、最大符号化ブロックサイズや分割階層数の上限が映像信号の解像度に応じて決められた場合には、復号したフレームサイズ情報に基づいて、動画像符号化装置と同様の手順で最大符号化ブロックサイズを決定する。
最大符号化ブロックサイズ及び分割階層数の上限が、動画像符号化装置側でシーケンスレベルヘッダなどに多重化されている場合には、上記ヘッダから復号した値を用いる。
以降、動画像復号装置では、上記最大符号化ブロックサイズを最大復号ブロックサイズと称し、最大符号化ブロックを最大復号ブロックと称する。
可変長復号部31は、決定された最大復号ブロック単位に、図6で示されるような最大復号ブロックの分割状態を復号する。復号された分割状態に基づき、階層的に復号ブロック(図1の動画像符号化装置の「符号化ブロック」に相当するブロック)を特定する(ステップST23)。
次に、可変長復号部31は、復号ブロックに割り当てられている符号化モードを復号する。復号した符号化モードに含まれる情報に基づき、復号ブロックをさらに1つないし複数の予測処理単位である予測ブロックに分割し、予測ブロック単位に割り当てられている予測パラメータを復号する(ステップST24)。
即ち、可変長復号部31は、復号ブロックに割り当てられている符号化モードがイントラ符号化モードである場合、復号ブロックに含まれており、予測処理単位となる1つ以上の予測ブロック毎にイントラ予測パラメータを復号する。
一方、復号ブロックに割り当てられている符号化モードがインター符号化モードである場合、復号ブロックに含まれており、予測処理単位となる1つ以上の予測ブロック毎にインター予測パラメータ及び動きベクトルを復号する(ステップST24)。
一方、復号ブロックに割り当てられている符号化モードがインター符号化モードである場合、復号ブロックに含まれており、予測処理単位となる1つ以上の予測ブロック毎にインター予測パラメータ及び動きベクトルを復号する(ステップST24)。
さらに、可変長復号部31は、予測差分符号化パラメータに含まれる直交変換ブロック分割情報に基づき、直交変換ブロック毎に圧縮データ(変換・量子化後の変換係数)を復号する(ステップST24)。
その際、図1の動画像符号化装置の可変長符号化部13での圧縮データの符号化処理と同様に、CG単位の係数の復号処理を実施する。したがって、通常は図23に示すように4×4画素単位の16個のCGを右下のCGから順に復号処理し、さらに各CGはCG内の16個の係数を右下の係数から順に復号していくこととなる。具体的には、まずCG内の16個の係数の中に有意(非零)係数が存在するか否かのフラグ情報を復号し、次に復号したフラグ情報がCG内に有意(非零)係数が存在することを示す場合のみCG内の各係数が有意(非零)係数であるかを上記順に復号し、最後に有意(非零)係数を示す係数に対してその係数値情報を順に復号する。これをCG単位に上記順に行う。ただし、可変長復号部31によって復号されたシーケンスレベルヘッダのフィールド符号化か否かを示すフラグが有効である場合、図17、図18、図19の内、図1の動画像符号化装置の可変長符号化部13で決められた処理順と同一の順番で復号処理が行われる。このようにすることで、図1の動画像符号化装置で生成したストリームと同一の圧縮データを生成することができる。
その際、図1の動画像符号化装置の可変長符号化部13での圧縮データの符号化処理と同様に、CG単位の係数の復号処理を実施する。したがって、通常は図23に示すように4×4画素単位の16個のCGを右下のCGから順に復号処理し、さらに各CGはCG内の16個の係数を右下の係数から順に復号していくこととなる。具体的には、まずCG内の16個の係数の中に有意(非零)係数が存在するか否かのフラグ情報を復号し、次に復号したフラグ情報がCG内に有意(非零)係数が存在することを示す場合のみCG内の各係数が有意(非零)係数であるかを上記順に復号し、最後に有意(非零)係数を示す係数に対してその係数値情報を順に復号する。これをCG単位に上記順に行う。ただし、可変長復号部31によって復号されたシーケンスレベルヘッダのフィールド符号化か否かを示すフラグが有効である場合、図17、図18、図19の内、図1の動画像符号化装置の可変長符号化部13で決められた処理順と同一の順番で復号処理が行われる。このようにすることで、図1の動画像符号化装置で生成したストリームと同一の圧縮データを生成することができる。
なお、シーケンスレベルヘッダのフィールド符号化か否かを示すフラグをピクチャレベルヘッダに用意して、量子化された直交変換係数である圧縮データの符号化時の係数の符号化順をピクチャ単位に適応的に切り替えるように図1の動画像符号化装置の可変長符号化部13が構成されている場合、可変長復号部31も同様に上記フラグに応じて圧縮データの復号順をピクチャ単位に適応的に切り替えるようにする。
切換スイッチ33は、可変長復号部31により可変長復号された符号化モードm(Bn)がイントラ符号化モードであれば(m(Bn)∈INTRAの場合)、可変長復号部31により可変長復号された予測ブロック単位のイントラ予測パラメータをイントラ予測部34に出力する。
一方、可変長復号部31により可変長復号された符号化モードm(Bn)がインター符号化モードであれば(m(Bn)∈INTERの場合)、可変長復号部31により可変長復号された予測ブロック単位のインター予測パラメータ及び動きベクトルを動き補償部35に出力する。
一方、可変長復号部31により可変長復号された符号化モードm(Bn)がインター符号化モードであれば(m(Bn)∈INTERの場合)、可変長復号部31により可変長復号された予測ブロック単位のインター予測パラメータ及び動きベクトルを動き補償部35に出力する。
イントラ予測部34は、可変長復号部31により可変長復号された符号化モードm(Bn)がイントラ符号化モード(m(Bn)∈INTRA)である場合(ステップST25)、切換スイッチ33から出力された予測ブロック単位のイントラ予測パラメータを受け取って、図1のイントラ予測部4と同様の手順で、イントラ予測用メモリ37に格納されている復号画像を参照しながら、上記イントラ予測パラメータを用いた復号ブロックBn内の各予測ブロックPi nに対するイントラ予測処理を実施して、イントラ予測画像PINTRAi nを生成する(ステップST26)。
ただし、可変長復号部31によって復号されたシーケンスレベルヘッダのフィールド符号化か否かを示すフラグが有効である場合、図1の動画像符号化装置と同様に平均値(DC)予測及び水平方向予測の予測画像生成ブロック上端のフィルタ処理を行わないようにする。このようにすることで、図1の動画像符号化装置で生成したストリームと同一の予測画像を生成することができる。
ただし、可変長復号部31によって復号されたシーケンスレベルヘッダのフィールド符号化か否かを示すフラグが有効である場合、図1の動画像符号化装置と同様に平均値(DC)予測及び水平方向予測の予測画像生成ブロック上端のフィルタ処理を行わないようにする。このようにすることで、図1の動画像符号化装置で生成したストリームと同一の予測画像を生成することができる。
なお、実施の形態1の動画像符号化装置において、シーケンスレベルヘッダのフィールド符号化か否かを示すフラグをピクチャレベルヘッダに用意している場合、このピクチャレベルヘッダのフィールド符号化か否かを示すフラグの値に応じてピクチャ単位に平均値(DC)予測及び水平方向予測の予測画像生成ブロック上端のフィルタ処理をON/OFF切り替えるようにする。このようにすることで、上記のように構成した実施の形態1の動画像符号化装置で生成したストリームと同一の予測画像を生成することができる。
動き補償部35は、可変長復号部31により可変長復号された符号化モードm(Bn)がインター符号化モード(m(Bn)∈INTER)である場合(ステップST25)、切換スイッチ33から出力された予測ブロック単位の動きベクトルとインター予測パラメータを受け取って、動き補償予測フレームメモリ39に格納されているフィルタ処理後の復号画像を参照しながら、その動きベクトルとインター予測パラメータを用いた復号ブロックBn内の各予測ブロックPi nに対するインター予測処理を実施してインター予測画像PINTERi nを生成する(ステップST27)。
逆量子化・逆変換部32は、可変長復号部31から圧縮データ及び予測差分符号化パラメータを受けると、図1の逆量子化・逆変換部8と同様の手順で、その予測差分符号化パラメータに含まれる量子化パラメータ及び直交変換ブロック分割情報を参照して、直交変換ブロック単位にその圧縮データを逆量子化する。
このとき、可変長復号部31により可変長復号された各ヘッダ情報を参照し、各ヘッダ情報が、当該スライスで量子化マトリクスを用いて、逆量子化処理を実施することを示している場合は、量子化マトリクスを用いて逆量子化処理を行う。
このとき、可変長復号部31により可変長復号された各ヘッダ情報を参照し、各ヘッダ情報が、当該スライスで量子化マトリクスを用いて、逆量子化処理を実施することを示している場合は、量子化マトリクスを用いて逆量子化処理を行う。
この際、可変長復号部31により可変長復号された各ヘッダ情報を参照して、各直交変換サイズで色信号や符号化モード(イントラ符号化かインター符号化か)毎に使用する量子化マトリクスを特定する。
また、逆量子化・逆変換部32は、直交変換ブロック単位に逆量子化後の圧縮データである変換係数に対する逆直交変換処理を実施して、図1の逆量子化・逆変換部8から出力された局所復号予測差分信号と同一の復号予測差分信号を算出する(ステップST28)。
また、逆量子化・逆変換部32は、直交変換ブロック単位に逆量子化後の圧縮データである変換係数に対する逆直交変換処理を実施して、図1の逆量子化・逆変換部8から出力された局所復号予測差分信号と同一の復号予測差分信号を算出する(ステップST28)。
加算部36は、逆量子化・逆変換部32により算出された復号予測差分信号と、イントラ予測部34により生成されたイントラ予測画像PINTRAi n、または、動き補償部35により生成されたインター予測画像PINTERi nのいずれか一方を加算して復号画像を算出し、その復号画像をループフィルタ部38に出力するとともに、その復号画像をイントラ予測用メモリ37に格納する(ステップST29)。
この復号画像が、以降のイントラ予測処理の際に用いられる復号済みの画像信号になる。
この復号画像が、以降のイントラ予測処理の際に用いられる復号済みの画像信号になる。
ループフィルタ部38は、全ての復号ブロックBnに対するステップST23〜ST29の処理が完了すると(ステップST30)、加算部36から出力された復号画像に対して、所定のフィルタ処理を実施して、フィルタ処理後の復号画像を動き補償予測フレームメモリ39に格納する(ステップST31)。
具体的には、直交変換ブロックの境界や予測ブロックの境界に発生する歪みを低減するフィルタ(デブロッキングフィルタ)処理、画素単位に適応的にオフセットを加算する(画素適応オフセット)処理、ウィーナフィルタ等の線形フィルタを適応的に切り替えてフィルタ処理する適応フィルタ処理などを行う。
ただし、ループフィルタ部38は、上記のデブロッキングフィルタ処理、画素適応オフセット処理、適応フィルタ処理のそれぞれについて、可変長復号部31により可変長復号された各ヘッダ情報を参照して、当該スライスで処理を行うか否かを特定する。
このとき、2つ以上のフィルタ処理を行う場合に、動画像符号化装置のループフィルタ部11が図11のように構成されている場合には、図12に示すようにループフィルタ部38が構成される。
具体的には、直交変換ブロックの境界や予測ブロックの境界に発生する歪みを低減するフィルタ(デブロッキングフィルタ)処理、画素単位に適応的にオフセットを加算する(画素適応オフセット)処理、ウィーナフィルタ等の線形フィルタを適応的に切り替えてフィルタ処理する適応フィルタ処理などを行う。
ただし、ループフィルタ部38は、上記のデブロッキングフィルタ処理、画素適応オフセット処理、適応フィルタ処理のそれぞれについて、可変長復号部31により可変長復号された各ヘッダ情報を参照して、当該スライスで処理を行うか否かを特定する。
このとき、2つ以上のフィルタ処理を行う場合に、動画像符号化装置のループフィルタ部11が図11のように構成されている場合には、図12に示すようにループフィルタ部38が構成される。
ここで、デブロッキングフィルタ処理では、可変長復号部31により可変長復号されたヘッダ情報を参照し、ブロック境界にかけるフィルタ強度の選択に用いる各種パラメータを初期値から変更する情報が存在する場合には、その変更情報に基づいて、デブロッキングフィルタ処理を実施する。変更情報がない場合は、予め定められた手法に従って行う。
画素適応オフセット処理では、可変長復号部31により可変長復号された画素適応オフセット処理のブロック分割情報に基づいて分割し、そのブロック単位に、可変長復号部31により可変長復号されたブロック単位のクラス分類手法を示すインデックスを参照して、そのインデックスが“オフセット処理を行わない”ことを示すインデックスでない場合、ブロック単位にブロック内の各画素を上記インデックスが示すクラス分類手法に従ってクラス分類する。
なお、クラス分類手法の候補として、ループフィルタ部11の画素適応オフセット処理のクラス分類手法の候補と同一のものが予め用意されている。
なお、クラス分類手法の候補として、ループフィルタ部11の画素適応オフセット処理のクラス分類手法の候補と同一のものが予め用意されている。
そして、ループフィルタ部38は、ブロック単位の各クラスのオフセット値を特定する可変長復号部31により可変長復号されたオフセット情報を参照して、復号画像の輝度値にオフセットを加算する処理を行う。
適応フィルタ処理では、可変長復号部31により可変長復号されたクラス毎のフィルタを用いて、図1の動画像符号化装置と同一の手法でクラス分類した後に、そのクラス分類情報に基づいてフィルタ処理を行う。
このループフィルタ部38によるフィルタ処理後の復号画像が、動き補償予測用の参照画像となり、また、再生画像となる。
このループフィルタ部38によるフィルタ処理後の復号画像が、動き補償予測用の参照画像となり、また、再生画像となる。
以上で明らかなように、この実施の形態1によれば、イントラ予測手段が、予測画像を生成する際のフレーム内予測処理が平均値予測、垂直方向予測、水平方向予測、あるいはそれ以外の予測である場合、上記ブロックのブロックサイズが、最大の変換ブロックサイズと所定のブロックサイズのうちの最大値よりも小さいサイズである場合には、上記ブロックの境界部分の画素の予測値に対して、フィルタ処理を行ったものを予測値とし、上記ブロックのブロックサイズが、最大の変換ブロックサイズと所定のブロックサイズのうちの最大値以上のサイズである場合には、上記ブロックの境界部分の画素の予測値に対して、上記フィルタ処理を行わないものを予測値とするように構成したので、ブロックの大きさに応じた効率的な予測処理、符号化処理を実現することができ、符号化効率を高めることができる効果を奏する。
また、この実施の形態1によれば、イントラ予測手段が、予測画像を生成する際のフレーム内予測処理が平均値予測、垂直方向予測、水平方向予測、あるいはそれ以外の予測である場合、上記ブロックのブロックサイズが、最大の変換ブロックサイズと所定のブロックサイズのうちの最大値よりも小さいサイズである場合には、上記ブロックの境界部分の画素の予測値に対して、フィルタ処理を行ったものを予測値とし、上記ブロックのブロックサイズが、最大の変換ブロックサイズと所定のブロックサイズのうちの最大値以上のサイズである場合には、上記ブロックの境界部分の画素の予測値に対して、上記フィルタ処理を行わないものを予測値とすることができ、符号化効率を高めることができる実施の形態1の動画像符号化装置で符号化されたビットストリームを正しく復号することができる効果を奏する。
1 ブロック分割部(ブロック分割手段)、2 符号化制御部(符号化制御手段)、3 切換スイッチ、4 イントラ予測部(予測手段)、5 動き補償予測部(予測手段)、6 減算部(差分画像生成手段)、7 変換・量子化部(画像圧縮手段)、8 逆量子化・逆変換部(局所復号画像生成手段)、9 加算部(局所復号画像生成手段)、10 イントラ予測用メモリ(予測手段)、11 ループフィルタ部(フィルタリング手段)、12 動き補償予測フレームメモリ(予測手段)、13 可変長符号化部(可変長符号化手段)、14 スライス分割部(スライス分割手段)、31 可変長復号部(可変長復号手段)、32 逆量子化・逆変換部(差分画像生成手段)、33 切換スイッチ、34 イントラ予測部(予測手段)、35 動き補償部(予測手段)、36 加算部(復号画像生成手段)、37 イントラ予測用メモリ(予測手段)、38 ループフィルタ部(フィルタリング手段)、39 動き補償予測フレームメモリ(予測手段)、101 ブロック分割部、102 予測部、103 圧縮部、104 局所復号部、105 加算器、106 ループフィルタ、107 メモリ、108 可変長符号化部。
Claims (8)
- 符号化ブロックに対応する符号化モードとして、イントラ符号化モードが選択された場合、上記イントラ符号化モードが示す符号化ブロックの予測処理の単位となるブロック毎に、当該ブロックで用いるイントラ予測パラメータに対応するフレーム内予測処理を実施して予測画像を生成するイントラ予測手段と、
上記符号化ブロックと上記イントラ予測手段により生成された予測画像との差分画像の変換処理を実施して、上記差分画像の変換係数を量子化し、量子化後の変換係数を圧縮データとして出力する画像圧縮手段とを備え、
上記イントラ予測手段は、
上記ブロックのブロックサイズが、最大の変換ブロックサイズと所定のブロックサイズのうちの最大値よりも小さいサイズである場合には、上記ブロックの境界部分の画素の予測値に対して、フィルタ処理を行ったものを予測値とし、
上記ブロックのブロックサイズが、最大の変換ブロックサイズと所定のブロックサイズのうちの最大値以上のサイズである場合には、上記ブロックの境界部分の画素の予測値に対して、上記フィルタ処理を行わないものを予測値とすることを特徴とする動画像符号化装置。 - 符号化ブロックに対応する符号化モードとして、イントラ符号化モードが選択された場合、上記イントラ符号化モードが示す符号化ブロックの予測処理の単位となるブロック毎に、当該ブロックで用いるイントラ予測パラメータに対応するフレーム内予測処理を実施して予測画像を生成するイントラ予測手段と、
上記符号化ブロックと上記イントラ予測手段により生成された予測画像との差分画像の変換処理を実施して、上記差分画像の変換係数を量子化し、量子化後の変換係数を圧縮データとして出力する画像圧縮手段とを備え、
上記イントラ予測手段は、上記イントラ予測パラメータが示すフレーム内予測処理が平均値予測処理である場合、
上記ブロックのブロックサイズが、最大の変換ブロックサイズと所定のブロックサイズのうちの最大値よりも小さいサイズである場合には、上記ブロックの左及び上に隣接している画素の予測値に対して、フィルタ処理を行ったものを予測値とし、
上記ブロックのブロックサイズが、最大の変換ブロックサイズと所定のブロックサイズのうちの最大値以上のサイズである場合には、上記ブロックの左及び上に隣接している画素の予測値に対して、上記フィルタ処理を行わないものを予測値とすることを特徴とする動画像符号化装置。 - 上記所定のブロックサイズを16×16画素とすることを特徴とする請求項1または2記載の動画像符号化装置。
- 入力画像を複数の部分画像であるスライスに分割するスライス分割手段と、符号化処理が実施される際の処理単位となる符号化ブロックの最大サイズを決定するとともに、最大サイズの符号化ブロックが階層的に分割される際の上限の階層数を決定し、利用可能な1以上の符号化モードの中から、階層的に分割される各々の符号化ブロックに対応する符号化モードを選択する符号化制御手段と、上記スライス分割手段により分割されたスライスを上記符号化制御手段により決定された最大サイズの符号化ブロックに分割するとともに、上記符号化制御手段により決定された上限の階層数に至るまで、上記符号化ブロックを階層的に分割するブロック分割手段と、上記ブロック分割手段により分割された符号化ブロックと上記イントラ予測手段により生成された予測画像との差分画像を生成する差分画像生成手段と、上記差分画像生成手段により生成された差分画像の変換処理を実施して、上記差分画像の変換係数を量子化し、量子化後の変換係数を圧縮データとして出力する画像圧縮手段と、上記画像圧縮手段から出力された圧縮データから差分画像を復号し、復号後の差分画像と上記予測手段により生成された予測画像を加算して局所復号画像を生成する局所復号画像生成手段と、符号化ビットストリームを生成する可変長符号化手段とを備えることを特徴とする請求項1または2記載の動画像符号化装置。
- 可変長復号された符号化ブロックに係る符号化モードがイントラ符号化モードである場合、上記イントラ符号化モードが示す符号化ブロックの予測処理の単位となるブロック毎に、当該ブロックで用いるイントラ予測パラメータに対応するフレーム内予測処理を実施して予測画像を生成するイントラ予測手段と、
上記符号化ブロックに係る圧縮データである変換係数を逆量子化し、逆量子化後の変換係数を逆変換して生成された圧縮前の差分画像と上記予測画像とを加算して復号画像を生成する復号画像生成手段とを備え、
上記イントラ予測手段は、
上記ブロックのブロックサイズが、最大の変換ブロックサイズと所定のブロックサイズのうちの最大値よりも小さいサイズである場合には、上記ブロックの境界部分の画素の予測値に対して、フィルタ処理を行ったもの予測値とし、
上記ブロックのブロックサイズが、最大の変換ブロックサイズと所定のブロックサイズのうちの最大値以上のサイズである場合には、上記ブロックの境界部分の画素の予測値に対して、上記フィルタ処理を行わないものを予測値とすることを特徴とする動画像復号装置。 - 可変長復号された符号化ブロックに係る符号化モードがイントラ符号化モードである場合、上記イントラ符号化モードが示す符号化ブロックの予測処理の単位となるブロック毎に、当該ブロックで用いるイントラ予測パラメータに対応するフレーム内予測処理を実施して予測画像を生成するイントラ予測手段と、
上記符号化ブロックに係る圧縮データである変換係数を逆量子化し、逆量子化後の変換係数を逆変換して生成された圧縮前の差分画像と上記予測画像とを加算して復号画像を生成する復号画像生成手段とを備え、
上記イントラ予測手段は、上記イントラ予測パラメータが示すフレーム内予測処理が平均値予測処理である場合、
上記ブロックのブロックサイズが、最大の変換ブロックサイズと所定のブロックサイズのうちの最大値よりも小さいサイズである場合には、上記ブロックの左及び上に隣接している画素の予測値に対して、フィルタ処理を行ったもの予測値とし、
上記ブロックのブロックサイズが、最大の変換ブロックサイズと所定のブロックサイズのうちの最大値以上のサイズである場合には、上記ブロックの左及び上に隣接している画素の予測値に対して、上記フィルタ処理を行わないものを予測値とすることを特徴とする動画像復号装置。 - 上記所定のブロックサイズを16×16画素とすることを特徴とする請求項5または6記載の動画像復号装置。
- 符号化ビットストリームに多重化された符号化データからフィールド符号化か否かを示すフラグを含むヘッダ情報を可変長復号し、上記符号化データから階層的に分割されている各々の符号化ブロックに係る圧縮データ及び符号化モードを可変長復号する可変長復号手段と、上記可変長復号手段により可変長復号された符号化ブロックに係る符号化モードがイントラ符号化モードである場合、上記イントラ符号化モードが示す符号化ブロックの予測処理の単位となるブロック毎に、当該ブロックで用いるイントラ予測パラメータに対応するフレーム内予測処理を実施して予測画像を生成するイントラ予測手段と、上記可変長復号手段により可変長復号された符号化ブロックに係る圧縮データである変換係数を逆量子化し、逆量子化後の変換係数を逆変換して、圧縮前の差分画像を生成する差分画像生成手段と、上記差分画像生成手段により生成された差分画像と上記予測手段により生成された予測画像とを加算して復号画像を生成する復号画像生成手段とを備えていることを特徴とする請求項5または6記載の動画像復号装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012239340A JP2014090326A (ja) | 2012-10-30 | 2012-10-30 | 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012239340A JP2014090326A (ja) | 2012-10-30 | 2012-10-30 | 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014090326A true JP2014090326A (ja) | 2014-05-15 |
Family
ID=50791914
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012239340A Pending JP2014090326A (ja) | 2012-10-30 | 2012-10-30 | 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014090326A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017020167A1 (en) * | 2015-07-31 | 2017-02-09 | Hewlett Packard Enterprise Development Lp | Translate data structure to video frame structure |
WO2017134992A1 (ja) * | 2016-02-03 | 2017-08-10 | シャープ株式会社 | 予測画像生成装置、動画像復号装置および動画像符号化装置 |
JP2018521554A (ja) * | 2015-05-29 | 2018-08-02 | クアルコム,インコーポレイテッド | 改善されたコンテキスト適応バイナリ算術コーティング(cabac)設計を使用したデータのコーディング |
-
2012
- 2012-10-30 JP JP2012239340A patent/JP2014090326A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018521554A (ja) * | 2015-05-29 | 2018-08-02 | クアルコム,インコーポレイテッド | 改善されたコンテキスト適応バイナリ算術コーティング(cabac)設計を使用したデータのコーディング |
US11233998B2 (en) | 2015-05-29 | 2022-01-25 | Qualcomm Incorporated | Coding data using an enhanced context-adaptive binary arithmetic coding (CABAC) design |
WO2017020167A1 (en) * | 2015-07-31 | 2017-02-09 | Hewlett Packard Enterprise Development Lp | Translate data structure to video frame structure |
WO2017134992A1 (ja) * | 2016-02-03 | 2017-08-10 | シャープ株式会社 | 予測画像生成装置、動画像復号装置および動画像符号化装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6573689B2 (ja) | 画像符号化装置および画像符号化方法 | |
JP6226863B2 (ja) | 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法 | |
JP6261660B2 (ja) | 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法 | |
JP5815795B2 (ja) | 画像復号装置及び画像復号方法 | |
WO2014163200A1 (ja) | カラー画像符号化装置、カラー画像復号装置、カラー画像符号化方法及びカラー画像復号方法 | |
WO2014049981A1 (ja) | 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 | |
JP6373008B2 (ja) | 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法 | |
JP2014090327A (ja) | 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 | |
JP2014090326A (ja) | 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 | |
JP2014204311A (ja) | カラー画像符号化装置、カラー画像復号装置、カラー画像符号化方法及びカラー画像復号方法 | |
WO2014049982A1 (ja) | 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 | |
WO2013108882A1 (ja) | 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 | |
JP2013098713A (ja) | 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 | |
JP2013098715A (ja) | 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法 | |
JP2014135552A (ja) | 動画像符号化装置、動画像復号装置、動画像符号化方法および動画像復号方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20140327 |