JP2012142986A - 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号化装置、動画像復号化方法及び動画像復号化プログラム - Google Patents
動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号化装置、動画像復号化方法及び動画像復号化プログラム Download PDFInfo
- Publication number
- JP2012142986A JP2012142986A JP2012060512A JP2012060512A JP2012142986A JP 2012142986 A JP2012142986 A JP 2012142986A JP 2012060512 A JP2012060512 A JP 2012060512A JP 2012060512 A JP2012060512 A JP 2012060512A JP 2012142986 A JP2012142986 A JP 2012142986A
- Authority
- JP
- Japan
- Prior art keywords
- filter
- frame
- encoding
- image
- unit
- 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.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/523—Motion estimation or motion compensation with sub-pixel accuracy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/117—Filters, e.g. for pre-processing or post-processing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/53—Multi-resolution motion estimation; Hierarchical motion estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/533—Motion estimation using multistep search, e.g. two-dimensional [2D]-log search or one-at-a-time search [OTS]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】フレームごとにフィルタを用いて分数画素精度の参照画像を生成して動き補償して符号化および復号化する場合に、フィルタ係数の符号量を低減しつつ、水平方向と垂直方向に異なる特性を持つ映像に対しても高い精度で動き補償すること。
【解決手段】フレーム画像の時間系列で構成される動画像に対して、フレーム画像ごとにフィルタを使って分数画素精度の参照画像を作成して動き補償する動画像符号化装置20であって、過去のフレーム画像の符号化に使われたフィルタを蓄積するフィルタ情報蓄積部203と、現在のフレーム画像の符号化に使うフィルタを、少なくともフィルタ情報蓄積部203に蓄積されたフィルタを含む複数のフィルタ候補の中から選んで決定するフィルタ決定部202と、決定されたフィルタを示す情報を符号化するフィルタ情報符号化部205と、を備えることを特徴とする。
【選択図】図2
【解決手段】フレーム画像の時間系列で構成される動画像に対して、フレーム画像ごとにフィルタを使って分数画素精度の参照画像を作成して動き補償する動画像符号化装置20であって、過去のフレーム画像の符号化に使われたフィルタを蓄積するフィルタ情報蓄積部203と、現在のフレーム画像の符号化に使うフィルタを、少なくともフィルタ情報蓄積部203に蓄積されたフィルタを含む複数のフィルタ候補の中から選んで決定するフィルタ決定部202と、決定されたフィルタを示す情報を符号化するフィルタ情報符号化部205と、を備えることを特徴とする。
【選択図】図2
Description
本発明は、動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号化装置、動画像復号化方法及び動画像復号化プログラムに関するものである。
動き補償を用いた動画像符号化方式では、フレームメモリに蓄積されている過去に符号化済みの参照画像を使って符号化対象画像の動き検出が行われ、検出された動きベクトルを使って参照画像から動き補償画像(予測画像)が作成される。その際、参照画像の精度を、参照画像に元々存在する画素単位の精度(整数画素精度)から、参照画像の隣接画素間に位置する画素単位の精度(分数画素精度)にすることで、符号化対象画像の動きを高い精度で補償することができ、符号化効率を向上させることができる。
International Telecommunication Union,“Advanced Video Coding for Generic audiovisual services”に記載のH.264符号化方式では、1/4画素精度の参照画像を使って動き検出および動き補償をすることで、高い符号化効率が実現されている。
具体的には、まず整数画素精度の参照画像に係数(1、−5、20、20、−5、1)/32の6タップのフィルタを施すことで1/2画素精度の参照画像が生成される。次に1/2画素精度の参照画像に対して、係数(1、1)/2の2タップの平均値フィルタを施すことで1/4画素精度の参照画像が生成される。
図1を使ってH.264符号化方式での1/4画素精度の参照画像の生成法を詳しく説明する。図1は1/4画素精度を持つ参照画像の画素の配置図である。2つの整数画素信号の水平方向の中間位置にある1/2画素信号は、水平方向の6タップフィルタによって生成される。例えば、画素bは、整数画素E、F、G、H、I、Jに水平方向の6タップフィルタを施すことによって次式(1)のように計算される。
b=(E−5F+20G+20H−5I+J)/32 …(1)
b=(E−5F+20G+20H−5I+J)/32 …(1)
また、2つの整数画素信号の垂直方向の中間位置にある1/2画素信号は、垂直方向の6タップフィルタによって生成される。例えば、画素hは、整数画素A、C、G、M、R、Tに垂直方向の6タップフィルタを施すことによって次式(2)のようにされる。
h=(A−5C+20G+20M−5R+T)/32 …(2)
h=(A−5C+20G+20M−5R+T)/32 …(2)
4つの整数画素信号の中間位置にある1/2画素信号は、6タップフィルタを水平と垂直の両方に施すことにより生成される。例えば画素jは、1/2画素信号aa、bb、b、s、gg、hhを水平方向の6タップフィルタにより生成した後、これらの信号に垂直方向の6タップフィルタを施すことによって次式(3)のように計算される。
j=(aa−5bb+20b+20s−5gg+hh)/32 …(3)
j=(aa−5bb+20b+20s−5gg+hh)/32 …(3)
あるいは、垂直方向フィルタリングにより1/2画素信号cc、dd、h、m、ee、ffを生成した後、水平方向フィルタリングによって次式(4)のように画素jを生成しても良い。
j=(cc−5dd+20h+20m−5ee+ff)/32 …(4)
j=(cc−5dd+20h+20m−5ee+ff)/32 …(4)
次に、全ての1/2画素信号が計算された後に、平均値フィルタを用いて1/4画素信号が生成される。図1の画素a、c、i、kは、隣接する整数画素信号または1/2画素信号に水平方向の平均値フィルタを施すことによって生成される。例えば、画素aは次式(5)により計算される。
a=(G+b)/2 …(5)
a=(G+b)/2 …(5)
画素d、f、n、qは、隣接する整数画素信号または1/2画素信号に垂直方向の平均値フィルタを施すことによって生成される。例えば、画素fは次式(6)により計算される。
f=(b+j)/2 …(6)
f=(b+j)/2 …(6)
画素e、g、p、rは、斜め方向の平均値フィルタを施すことで計算される。例えば、画素rは、次式(7)により計算される。
r=(m+s)/2 …(7)
r=(m+s)/2 …(7)
このようにして、H.264符号化方式では、常に固定の6タップのフィルタと2タップの平均値フィルタとを使って整数画素精度の参照画像から1/4画素精度の参照画像が生成される。
一方で、一般的に映像はフレームごとに異なる画素精度の動き量や周波数特性を持つため、フレームごとに異なるフィルタを用いて分数画素精度の参照画像を生成することが好ましい。
下記非特許文献1には、フレームごとに異なるフィルタを用いて1/4画素精度の参照画像を生成することが開示されている。具体的には、分数画素精度の各位置(図1におけるa、b、c、d、e、f、g、h、i、j、k、n、p、q、rの位置)ごとに、水平・垂直方向の対象性に制限のある2次元の6タップフィルタを用意し、各フィルタを整数画素精度の参照画像に施すことで1/4画素精度の参照画像が直接生成される。この場合、1/4画素精度の参照画像を生成するためのフィルタがフレームごとに変更されるため、各フレームで54個のフィルタ係数の情報を符号化・復号化する必要がある。
また、下記非特許文献2では、1/2画素精度の参照画像を生成するフィルタがフレームごとに変更されている。具体的には、(a1、a2、a3、a3、a2、a1)のようなフィルタ係数の、1次元の対称形6タップフィルタを用いて、整数画素精度の参照画像から1/2画素精度の参照画像が生成される。1/4画素精度の参照画像は、H.264符号化方式と同様に、1/2画素精度の参照画像に係数(1、1)/2の2タップの平均値フィルタを施して生成される。フレームごとに1/2画素精度の参照画像を生成するためのフィルタ係数が異なるので、各フレームで3個のフィルタ係数(a1、a2、a3)の情報を符号化・復号化する必要がある。
Y.Vatis,B.Edler,D.Nguyen、J.Ostermann,"Motion−and Aliasing−Compensated Prediction Using a Two−Dimensional Non−Separable Adaptive Wiener Interpolation Filter",Proc.ICIP2005,IEEE International Conference on Image Processing, Genova, Italy, September 2005.
T.Wedi,"Adaptive Interpolation Filter for Motion Compensated Hybrid Video Coding",Picture Coding Symposium(PCS 2001),2001.
H.264符号化方式では、常に固定のフィルタを用いて分数画素精度の参照画像が作成されるので、符号化するフレームごとの特徴にあった参照画像を生成することができない。非特許文献1では、符号化するフレームごとに1/4画素精度の参照画像を作成する54個のフィルタ係数が符号化されるため、フィルタ係数の情報が多くなり、符号化効率が低下するという問題がある。非特許文献2では、符号化するフレームごとに1/2画素信号を生成する3個のフィルタ係数のみを符号化すればよいので非特許文献1に比べてフィルタ係数の符号化量は少ないが、依然としてフィルタ係数を符号化する必要がある。また、非特許文献1、非特許文献2共に水平・垂直方向に関して対称のフィルタであるため、水平と垂直方向に異なる特性を持つ映像に対しては、高い精度で動き補償することができないという問題がある。
本発明は、以上の点を鑑みてなされたもので、符号化するフレームごとにフィルタを用いて分数画素精度の参照画像を生成して動き補償して符号化および復号化する場合に、フィルタ係数の符号量を低減しつつ、水平方向と垂直方向に異なる特性を持つ映像に対しても高い精度で動き補償することができる動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号化装置、動画像復号化方法及び動画像復号化プログラムを提供することを目的とする。
本発明の動画像符号化装置は、フレーム画像の時間系列で構成される動画像に対して、フレーム画像ごとにフィルタを使って分数画素精度の参照画像を作成して動き補償する動画像符号化装置であって、過去のフレーム画像の符号化に使われたフィルタを蓄積するフィルタ情報蓄積手段と、現在のフレーム画像の符号化に使うフィルタを、少なくともフィルタ情報蓄積手段により蓄積されたフィルタを含む複数のフィルタ候補の中から選んで決定するフィルタ決定手段と、フィルタ決定手段により決定されたフィルタを示す情報を符号化するフィルタ情報符号化手段と、を備えることを特徴とする。
また、本発明の動画像符号化方法は、動画像符号化装置が、フレーム画像の時間系列で構成される動画像に対して、フレーム画像ごとにフィルタを使って分数画素精度の参照画像を作成して動き補償する動画像符号化方法であって、動画像符号化装置が、過去のフレーム画像の符号化に使われたフィルタを蓄積するフィルタ情報蓄積ステップと、動画像符号化装置が、現在のフレーム画像の符号化に使うフィルタを、少なくともフィルタ情報蓄積ステップにおいて蓄積されたフィルタを含む複数のフィルタ候補の中から選んで決定するフィルタ決定ステップと、動画像符号化装置が、フィルタ決定ステップにおいて決定されたフィルタを示す情報を符号化するフィルタ情報符号化ステップと、を備えることを特徴とする。
また、本発明の動画像符号化プログラムは、コンピュータを、フレーム画像の時間系列で構成される動画像に対して、フレーム画像ごとにフィルタを使って分数画素精度の参照画像を作成して動き補償するように機能させる動画像符号化プログラムであって、コンピュータを、過去のフレーム画像の符号化に使われたフィルタを蓄積するフィルタ情報蓄積手段と、現在のフレーム画像の符号化に使うフィルタを、少なくともフィルタ情報蓄積手段により蓄積されたフィルタを含む複数のフィルタ候補の中から選んで決定するフィルタ決定手段と、フィルタ決定手段により決定されたフィルタを示す情報を符号化するフィルタ情報符号化手段と、して機能させることを特徴とする。
このような動画像符号化装置、動画像符号化方法及び動画像符号化プログラムによれば、フレームごとにフィルタを用いて分数画素精度の参照画像を生成して動き補償して符号化する場合に、少なくとも過去のフレーム画像の符号化に使われたフィルタを含む複数のフィルタ候補の中からフィルタが選択及び決定される。そのため、過去のフレーム画像の符号化に使われたフィルタを示す情報を符号化するだけで足り、その結果、フィルタ係数の符号量を低減することができる。また、多様なフィルタを分数画素精度の参照画像を作成するために使用することができるので、高い精度で動き補償をすることが可能になる。
本発明の動画像符号化装置では、フィルタ情報符号化手段は、フィルタ決定手段により決定されたフィルタが過去のフレーム画像の符号化に使われたフィルタである場合、当該フィルタであることを示す識別子と、当該フィルタが使われた過去のフレーム画像を識別する識別子とを符号化することが好ましい。
また、本発明の動画像符号化方法では、フィルタ情報符号化ステップは、フィルタ決定ステップにおいて決定されたフィルタが過去のフレーム画像の符号化に使われたフィルタである場合、当該フィルタであることを示す識別子と、当該フィルタが使われた過去のフレーム画像とを識別する識別子を符号化することが好ましい。
この場合、過去のフレーム画像の符号化に使われたフィルタが現在のフレーム画像の符号化に使うフィルタとして決定されると、過去のフレーム画像の符号化に使われたフィルタであることを示す識別子と、そのフィルタが使われた過去のフレーム画像を識別する識別子とが符号化される。すなわち、これらの識別子を符号化するだけで足り、フィルタ係数を符号化する必要が無い。その結果、フィルタ係数の符号量を低減することができる。
本発明の動画像符号化装置では、フィルタ情報蓄積手段は、参照画像が複数ある場合に、参照画像ごとに過去のフレーム画像の符号化に使われたフィルタを蓄積し、フィルタ決定手段は、参照画像が複数ある場合に、少なくともフィルタ蓄積手段により蓄積されたフィルタを含む複数のフィルタ候補の中から、参照画像ごとに現在のフレームの符号化に使うフィルタを選ぶことが好ましい。
また、本発明の動画像符号化方法においては、フィルタ情報蓄積ステップでは、参照画像が複数ある場合に、参照画像ごとに過去のフレーム画像の符号化に使われたフィルタを蓄積し、フィルタ決定ステップでは、参照画像が複数ある場合に、少なくともフィルタ蓄積ステップにおいて蓄積されたフィルタを含む複数のフィルタ候補の中から、参照画像ごとに現在のフレームの符号化に使うフィルタを選ぶことが好ましい。
この場合、参照画像が複数存在すると、現在のフレームの符号化に使うフィルタが参照画像毎に選択されるので、参照画像毎に異なるフィルタを用いて分数画素精度の参照画像を生成して動き補償し、符号化することが可能になる。そのため、符号化するフレーム画像が各参照画像に対して異なる画素精度の動き量や周波数特性を持つ場合にも、高い精度で動き補償することができる。
本発明の動画像符号化装置では、フィルタ情報符号化手段は、参照画像が複数あり、且つフィルタ決定手段により決定されたフィルタが過去のフレーム画像の符号化に使われたフィルタである場合に、参照画像ごとに、当該フィルタであることを示す識別子と、当該フィルタが使われた過去のフレーム画像のフィルタ情報を識別する識別子とを符号化することが好ましい。
また、本発明の動画像符号化方法においては、フィルタ情報符号化ステップでは、参照画像が複数あり、且つフィルタ決定ステップにおいて決定されたフィルタが過去のフレーム画像の符号化に使われたフィルタである場合に、参照画像ごとに、当該フィルタであることを示す識別子と、当該フィルタが使われた過去のフレーム画像のフィルタ情報を識別する識別子とを符号化することが好ましい。
この場合、過去のフレーム画像の符号化に使われたフィルタが現在のフレーム画像の符号化に使うフィルタとして決定されると、過去のフレーム画像の符号化に使われたフィルタであることを示す識別子と、そのフィルタが使われた過去のフレーム画像を識別する識別子とが符号化される。すなわち、これらの識別子を符号化するだけで足り、フィルタ係数を符号化する必要が無い。その結果、フィルタ係数の符号量を低減することができる。また、この符号化は参照画像毎に実行されるので、符号化するフレーム画像が各参照画像に対して異なる画素精度の動き量や周波数特性を持つ場合にも、高い精度で動き補償することができる。
本発明の動画像符号化装置は、フレーム画像の時間系列で構成される動画像に対して、フレーム画像ごとにフィルタを使って分数画素精度の参照画像を作成して動き補償する動画像符号化装置であって、1フレーム前のフレーム画像の符号化に使われたフィルタを蓄積するフィルタ情報蓄積手段と、現在のフレーム画像の符号化に使うフィルタを、少なくともフィルタ情報蓄積手段により蓄積されたフィルタを含む複数のフィルタ候補の中から選んで決定するフィルタ決定手段と、フィルタ決定手段により決定されたフィルタを示す情報を符号化するフィルタ情報符号化手段と、を備えることを特徴とする。
また、本発明の動画像符号化方法は、動画像符号化装置が、フレーム画像の時間系列で構成される動画像に対して、フレーム画像ごとにフィルタを使って分数画素精度の参照画像を作成して動き補償する動画像符号化方法であって、動画像符号化装置が、1フレーム前のフレーム画像の符号化に使われたフィルタを蓄積するフィルタ情報蓄積ステップと、動画像符号化装置が、現在のフレーム画像の符号化に使うフィルタを、少なくともフィルタ情報蓄積ステップにおいて蓄積されたフィルタを含む複数のフィルタ候補の中から選んで決定するフィルタ決定ステップと、動画像符号化装置が、フィルタ決定ステップにおいて決定されたフィルタを示す情報を符号化するフィルタ情報符号化ステップと、を備えることを特徴とする。
このような動画像符号化装置及び動画像符号化方法によれば、フレームごとにフィルタを用いて分数画素精度の参照画像を生成して動き補償して符号化する場合に、少なくとも1フレーム前のフレーム画像の符号化に使われたフィルタを含む複数のフィルタ候補の中からフィルタが選択及び決定される。そのため、決定されたフィルタが1フレーム前のフレーム画像の符号化に使われたフィルタである場合に、1フレーム前のフレーム画像の符号化に使われたフィルタを示す情報を符号化するだけで足りる。その結果、フィルタ係数の符号量を低減することができる。
本発明の動画像符号化装置では、フィルタ情報符号化手段は、フィルタ決定手段により決定されたフィルタが1フレーム前のフレーム画像の符号化に使われたフィルタである場合、当該フィルタであることを示す識別子を符号化することが好ましい。
また、本発明の動画像符号化方法では、フィルタ情報符号化ステップは、フィルタ決定ステップにおいて決定されたフィルタが1フレーム前のフレーム画像の符号化に使われたフィルタである場合、当該フィルタであることを示す識別子を符号化することが好ましい。
この場合、1フレーム前のフレーム画像の符号化に使われたフィルタが現在のフレーム画像の符号化に使うフィルタとして決定されると、1フレーム前のフレーム画像の符号化に使われたフィルタであることを示す識別子が符号化される。すなわち、この識別子を符号化するだけで足り、フィルタ係数を符号化する必要が無い。その結果、フィルタ係数の符号量を低減することができる。
本発明の動画像符号化装置では、フィルタ情報蓄積手段は、参照画像が複数ある場合に、参照画像ごとに1フレーム前のフレーム画像の符号化に使われたフィルタを蓄積し、フィルタ決定手段は、参照画像が複数ある場合に、少なくともフィルタ蓄積手段により蓄積されたフィルタを含む複数のフィルタ候補の中から、参照画像ごとに現在のフレームの符号化に使うフィルタを選ぶことが好ましい。
また、本発明の動画像符号化方法においては、フィルタ情報蓄積ステップでは、参照画像が複数ある場合に、参照画像ごとに1フレーム前のフレーム画像の符号化に使われたフィルタを蓄積し、フィルタ決定ステップでは、参照画像が複数ある場合に、少なくともフィルタ蓄積ステップにおいて蓄積されたフィルタを含む複数のフィルタ候補の中から、参照画像ごとに現在のフレームの符号化に使うフィルタを選ぶことが好ましい。
この場合、参照画像が複数存在すると、現在のフレームの符号化に使うフィルタが参照画像毎に選択されるので、参照画像毎に異なるフィルタを用いて分数画素精度の参照画像を生成して動き補償し、符号化することが可能になる。そのため、符号化するフレーム画像が各参照画像に対して異なる画素精度の動き量や周波数特性を持つ場合にも、高い精度で動き補償することができる。
本発明の動画像符号化装置では、フィルタ情報符号化手段は、参照画像が複数あり、且つフィルタ決定手段により決定されたフィルタが1フレーム前のフレーム画像の符号化に使われたフィルタである場合に、参照画像ごとに、当該フィルタであることを示す識別子と、当該フィルタが使われた過去のフレーム画像のフィルタ情報を識別する識別子とを符号化することが好ましい。
また、本発明の動画像符号化方法においては、フィルタ情報符号化ステップでは、参照画像が複数あり、且つフィルタ決定ステップにおいて決定されたフィルタが1フレーム前のフレーム画像の符号化に使われたフィルタである場合に、参照画像ごとに、当該フィルタであることを示す識別子と、当該フィルタが使われた過去のフレーム画像のフィルタ情報を識別する識別子とを符号化することが好ましい。
この場合、1フレーム前のフレーム画像の符号化に使われたフィルタが現在のフレーム画像の符号化に使うフィルタとして決定されると、決定されたフィルタを示す識別子と、そのフィルタが使われた過去のフレーム画像のフィルタ情報を識別する識別子とが符号化される。このように二つの識別子を符号化するだけで足りるのでフィルタ係数を符号化する必要がない。その結果、フィルタ係数の符号量を低減できる。また、この符号化は参照画像毎に実行されるので、符号化するフレーム画像が各参照画像に対して異なる画素精度の動き量や周波数特性を持つ場合にも、高い精度で動き補償することができる。
本発明の動画像符号化装置では、フィルタ決定手段は、現在のフレーム画像の符号化に使うフィルタを、水平・垂直方向に独立な非対称形フィルタを更に含むフィルタ候補の中から選んで決定することが好ましい。
また、本発明の動画像符号化方法では、フィルタ決定ステップは、現在のフレーム画像の符号化に使うフィルタを、水平・垂直方向に独立な非対称形フィルタを更に含むフィルタ候補の中から選んで決定することが好ましい。
この場合、フィルタ候補に水平・垂直方向に独立な非対称形フィルタが更に含まれるので、その非対称系フィルタが現在のフレーム画像の符号化に使うフィルタとして決定されると、少ないフィルタ係数の符号量で水平方向と垂直方向とで異なる特性を持つ映像に対しても高い精度で動き補償することができる。
本発明の動画像符号化装置では、フィルタ情報符号化手段は、フィルタ決定手段により決定されたフィルタが非対称形フィルタである場合、当該非対称形フィルタであることを示す識別子と、当該非対称形フィルタのフィルタ係数とを符号化することが好ましい。
本発明の動画像符号化方法では、フィルタ情報符号化ステップは、フィルタ決定ステップにおいて決定されたフィルタが非対称形フィルタである場合、当該非対称形フィルタであることを示す識別子と、当該非対称形フィルタのフィルタ係数とを符号化することが好ましい。
この場合、非対称形フィルタが現在のフレーム画像の符号化に使うフィルタとして決定されると、水平・垂直方向に独立な非対称形フィルタであることを示す識別子と、そのフィルタのフィルタ係数とが符号化される。そのため、少ないフィルタ係数の符号量で水平方向と垂直方向とで異なる特性を持つ映像に対しても高い精度で動き補償することができる。
本発明の動画像符号化装置では、フィルタ決定手段は、現在のフレーム画像の符号化に使うフィルタを、予め定められた基準フィルタを更に含むフィルタ候補の中から選んで決定することが好ましい。
また、本発明の動画像符号化方法では、フィルタ決定ステップは、現在のフレーム画像の符号化に使うフィルタを、予め定められた基準フィルタを更に含むフィルタ候補の中から選んで決定することが好ましい。
この場合、フィルタ候補に基準フィルタが更に含まれるので、その基準フィルタが現在のフレーム画像の符号化に使うフィルタとして決定されると、その基準フィルタを示す情報を符号化するだけで足りる。その結果、フィルタ係数の符号量を低減することができる。
本発明の動画像符号化装置では、フィルタ情報符号化手段は、フィルタ決定手段により決定されたフィルタが基準フィルタである場合、当該基準フィルタを示す識別子を符号化することが好ましい。
また、本発明の動画像符号化方法では、フィルタ情報符号化ステップは、フィルタ決定ステップにおいて決定されたフィルタが基準フィルタである場合、当該基準フィルタを示す識別子を符号化することが好ましい。
この場合、基準フィルタが決定された場合にその基準フィルタを示す識別子が符号化される。すなわち、この識別子を符号化するだけで足り、フィルタ係数を符号化する必要が無い。その結果、フィルタ係数の符号量を低減することができる。
本発明の動画像復号化装置は、フレーム画像ごとにフィルタを使って分数画素精度の参照画像を作成して動き補償し、フレーム画像の時間系列で構成される動画像を復号化する動画像復号化装置であって、過去のフレーム画像の復号化に使われたフィルタを蓄積するフィルタ情報蓄積手段と、現在のフレーム画像の復号化に使うフィルタを、少なくともフィルタ情報蓄積手段により蓄積されたフィルタを含む複数のフィルタ候補の中から選んで復号化するフィルタ情報復号化手段と、を備えることを特徴とする。
また、本発明の動画像復号化方法は、動画像復号化装置が、フレーム画像ごとにフィルタを使って分数画素精度の参照画像を作成して動き補償し、フレーム画像の時間系列で構成される動画像を復号化する動画像復号化方法であって、動画像復号化装置が、過去のフレーム画像の復号化に使われたフィルタを蓄積するフィルタ情報蓄積ステップと、動画像復号化装置が、現在のフレーム画像の復号化に使うフィルタを、少なくともフィルタ情報蓄積ステップにおいて蓄積されたフィルタを含む複数のフィルタ候補の中から選んで復号化するフィルタ情報復号化ステップと、を備えることを特徴とする。
また、本発明の動画像復号化プログラムは、コンピュータを、フレーム画像ごとにフィルタを使って分数画素精度の参照画像を作成して動き補償し、フレーム画像の時間系列で構成される動画像を復号化するように機能させる動画像復号化プログラムであって、コンピュータを、過去のフレーム画像の復号化に使われたフィルタを蓄積するフィルタ情報蓄積手段と、現在のフレーム画像の復号化に使うフィルタを、少なくともフィルタ情報蓄積手段により蓄積されたフィルタを含む複数のフィルタ候補の中から選んで復号化するフィルタ情報復号化手段と、して機能させることを特徴とする。
このような動画像復号化装置、動画像復号化方法及び動画像復号化プログラムによれば、フレームごとにフィルタを用いて分数画素精度の参照画像を生成して動き補償して復号化する場合に、少なくとも過去のフレーム画像の復号化に使われたフィルタを含む複数のフィルタ候補の中からフィルタが選択される。そのため、過去のフレーム画像の復号化に使われたフィルタを示す情報を復号化するだけで足りる。その結果、復号化するフィルタ係数の符号量を低減することができる。また、多様なフィルタを分数画素精度の参照画像を作成するために使用することができるので、高い精度で動き補償をすることが可能になる。
本発明の動画像復号化装置では、フィルタ情報復号化手段は、過去のフレーム画像の復号化に使われたフィルタであることを示す識別子と、当該フィルタが使われた過去のフレーム画像を識別する識別子とを復号化することが好ましい。
また、本発明の動画像復号化方法では、フィルタ情報復号化ステップは、過去のフレーム画像の復号化に使われたフィルタであることを示す識別子と、当該フィルタが使われた過去のフレーム画像を識別する識別子とを復号化することが好ましい。
この場合、過去のフレーム画像の復号化に使われたフィルタが現在のフレーム画像の復号化に使うフィルタとして選択されると、過去のフレーム画像の復号化に使われたフィルタであることを示す識別子と、そのフィルタが使われた過去のフレーム画像を識別する識別子とが復号化される。すなわち、これらの識別子を復号化するだけで足り、フィルタ係数を復号化する必要が無い。その結果、復号化するフィルタ係数の符号量を低減することができる。
本発明の動画像復号化装置では、フィルタ情報蓄積手段は、参照画像が複数ある場合に、参照画像ごとに過去のフレーム画像の復号化に使われたフィルタを蓄積することが好ましい。
また、本発明の動画像復号化方法では、フィルタ情報蓄積ステップでは、参照画像が複数ある場合に、参照画像ごとに過去のフレーム画像の復号化に使われたフィルタを蓄積することが好ましい。
この場合、参照画像が複数存在すると、現在のフレームの符号化に使うフィルタが参照画像毎に蓄積されるので、参照画像毎に異なるフィルタを用いて分数画素精度の参照画像を動き補償し、復号化することが可能になる。その結果、復号化するフレーム画像が各参照画像に対して異なる画素精度の動き量や周波数特性を持つ場合にも、高い精度で動き補償することができる。
本発明の動画像復号化装置では、フィルタ情報復号化手段は、参照画像が複数ある場合に、参照画像ごとに、過去のフレーム画像の復号化に使われたフィルタであることを示す識別子と、当該フィルタが使われた過去のフレーム画像を識別する識別子とを復号化することが好ましい。
また、本発明の動画像復号化方法では、フィルタ情報復号化ステップでは、参照画像が複数ある場合に、参照画像ごとに、過去のフレーム画像の復号化に使われたフィルタであることを示す識別子と、当該フィルタが使われた過去のフレーム画像を識別する識別子とを復号化することが好ましい。
この場合、過去のフレーム画像の復号化に使われたフィルタが現在のフレーム画像の復号化に使うフィルタとして選択されると、過去のフレーム画像の復号化に使われたフィルタであることを示す識別子と、そのフィルタが使われた過去のフレーム画像を識別する識別子とが復号化される。すなわち、これらの識別子を復号化するだけで足り、フィルタ係数を復号化する必要が無い。その結果、復号化するフィルタ係数の符号量を低減することができる。また、この復号化は参照画像毎に実行されるので、復号化するフレーム画像が各参照画像に対して異なる画素精度の動き量や周波数特性を持つ場合にも、高い精度で動き補償することができる。
本発明の動画像復号化装置は、フレーム画像ごとにフィルタを使って分数画素精度の参照画像を作成して動き補償し、フレーム画像の時間系列で構成される動画像を復号化する動画像復号化装置であって、1フレーム前のフレーム画像の復号化に使われたフィルタを蓄積するフィルタ情報蓄積手段と、現在のフレーム画像の復号化に使うフィルタを、少なくともフィルタ情報蓄積手段により蓄積されたフィルタを含む複数のフィルタ候補の中から選んで復号化するフィルタ情報復号化手段と、を備えることを特徴とする。
また、本発明の動画像復号化方法は、動画像復号化装置が、フレーム画像ごとにフィルタを使って分数画素精度の参照画像を作成して動き補償し、フレーム画像の時間系列で構成される動画像を復号化する動画像復号化方法であって、動画像復号化装置が、1フレーム前のフレーム画像の復号化に使われたフィルタを蓄積するフィルタ情報蓄積ステップと、動画像復号化装置が、現在のフレーム画像の復号化に使うフィルタを、少なくともフィルタ情報蓄積ステップにおいて蓄積されたフィルタを含む複数のフィルタ候補の中から選んで復号化するフィルタ情報復号化ステップと、を備えることを特徴とする。
このような動画像復号化装置及び動画像復号化方法によれば、フレームごとにフィルタを用いて分数画素精度の参照画像を生成して動き補償して復号化する場合に、少なくとも1フレーム前のフレーム画像の復号化に使われたフィルタを含む複数のフィルタ候補の中からフィルタが選択される。そのため、1フレーム前のフレーム画像の復号化に使われたフィルタを示す情報を復号化するだけで足りる。その結果、復号化するフィルタ係数の符号量を低減することができる。
本発明の動画像復号化装置では、フィルタ情報復号化手段は、1フレーム前のフレーム画像の復号化に使われたフィルタであることを示す識別子を復号化することが好ましい。
また、本発明の動画像復号化方法では、フィルタ情報復号化ステップは、1フレーム前のフレーム画像の復号化に使われたフィルタであることを示す識別子を復号化することが好ましい。
この場合、1フレーム前のフレーム画像の復号化に使われたフィルタが現在のフレーム画像の復号化に使うフィルタとして選択されると、1フレーム前のフレーム画像の復号化に使われたフィルタであることを示す識別子が復号化される。すなわち、この識別子を復号化するだけで足り、フィルタ係数を復号化する必要が無い。その結果、復号化するフィルタ係数の符号量を低減することができる。
本発明の動画像復号化装置では、フィルタ情報蓄積手段は、参照画像が複数ある場合に、参照画像ごとに1フレーム前のフレーム画像の復号化に使われたフィルタを蓄積することが好ましい。
また、本発明の動画像復号化方法では、フィルタ情報蓄積ステップでは、参照画像が複数ある場合に、参照画像ごとに1フレーム前のフレーム画像の復号化に使われたフィルタを蓄積することが好ましい。
この場合、参照画像が複数存在すると、1フレーム前のフレーム画像の復号化に使われたフィルタが参照画像毎に蓄積されるので、参照画像毎に異なるフィルタを用いて分数画素精度の参照画像を動き補償し、復号化することが可能になる。その結果、復号化するフレーム画像が各参照画像に対して異なる画素精度の動き量や周波数特性を持つ場合にも、高い精度で動き補償することが可能になる。
本発明の動画像復号化装置では、フィルタ情報復号化手段は、参照画像が複数ある場合に、参照画像ごとに1フレーム前のフレーム画像の復号化に使われたフィルタであることを示す識別子を復号化することが好ましい。
また、本発明の動画像復号化方法では、フィルタ情報復号化ステップでは、参照画像が複数ある場合に、参照画像ごとに、1フレーム前のフレーム画像の復号化に使われたフィルタであることを示す識別子を復号化することが好ましい。
この場合、1フレーム前のフレーム画像の復号化に使われたフィルタが現在のフレーム画像の復号化に使うフィルタとして選択されると、1フレーム前のフレーム画像の復号化に使われたフィルタであることを示す識別子が復号化される。すなわち、この識別子を復号化するだけで足り、フィルタ係数を復号化する必要が無い。その結果、復号化するフィルタ係数の符号量を低減することができる。また、この復号化は参照画像毎に実行されるので、復号化するフレーム画像が各参照画像に対して異なる画素精度の動き量や周波数特性を持つ場合にも、高い精度で動き補償することが可能になる。
本発明の動画像復号化装置では、フィルタ情報復号化手段は、現在のフレーム画像の復号化に使うフィルタを、水平・垂直方向に独立な非対称形フィルタを更に含むフィルタ候補の中から選んで復号化することが好ましい。
また、本発明の動画像復号化方法では、フィルタ情報復号化ステップは、現在のフレーム画像の復号化に使うフィルタを、水平・垂直方向に独立な非対称形フィルタを更に含むフィルタ候補の中から選んで復号化することが好ましい。
この場合、フィルタ候補に水平・垂直方向に独立な非対称形フィルタが更に含まれる。そのため、その非対称系フィルタが現在のフレーム画像の復号化に使うフィルタとして選択されると、復号化するフィルタ係数の符号量が少なくても、水平方向と垂直方向とで異なる特性を持つ映像に対しても高い精度で動き補償することができる。
本発明の動画像復号化装置では、フィルタ情報復号化手段は、非対称形フィルタであることを示す識別子と、当該非対称形フィルタのフィルタ係数とを復号化することが好ましい。
また、本発明の動画像復号化方法では、フィルタ情報復号化ステップは、非対称形フィルタであることを示す識別子と、当該非対称形フィルタのフィルタ係数とを復号化することが好ましい。
この場合、水平・垂直方向に独立な非対称形フィルタが現在のフレーム画像の復号化に使うフィルタとして選択されると、その非対称形フィルタであることを示す識別子と、その非対称形フィルタのフィルタ係数とが復号化される。そのため、復号化するフィルタ係数の符号量が少なくても、水平方向と垂直方向とで異なる特性を持つ映像に対しても高い精度で動き補償することができる。
本発明の動画像復号化装置では、フィルタ情報復号化手段は、現在のフレーム画像の復号化に使うフィルタを、予め定められた基準フィルタを更に含むフィルタ候補の中から選んで復号化することが好ましい。
また、本発明の動画像復号化方法では、フィルタ情報復号化ステップは、現在のフレーム画像の復号化に使うフィルタを、予め定められた基準フィルタを更に含むフィルタ候補の中から選んで復号化することが好ましい。
この場合、フィルタ候補に基準フィルタが更に含まれるので、その基準フィルタが現在のフレーム画像の復号化に使うフィルタとして選択されると、その基準フィルタを示す情報を復号化するだけで足りる。その結果、復号化するフィルタ係数の符号量を低減することができる。
本発明の動画像復号化装置では、フィルタ情報復号化手段は、基準フィルタを示す識別子を復号化することが好ましい。
また、本発明の動画像復号化方法では、フィルタ情報復号化ステップは、基準フィルタを示す識別子を復号化することが好ましい。
この場合、基準フィルタが現在のフレーム画像の復号化に使うフィルタとして選択されると、その基準フィルタを示す識別子が復号化される。すなわち、この識別子を復号化するだけで足り、フィルタ係数を復号化する必要が無い。その結果、復号化するフィルタ係数の符号量を低減することができる。
このような動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号化装置、動画像復号化方法及び動画像復号化プログラムによれば、フレームごとにフィルタを用いて分数画素精度の参照画像を生成して動き補償して符号化および復号化する場合に、フィルタ係数の符号量を低減しつつ、水平方向と垂直方向に異なる特性を持つ映像に対しても高い精度で動き補償することができる。
(第1実施形態)
本発明の第1実施形態に係る動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号化装置、動画像復号化方法、動画像復号化プログラムについて図面を参照して説明する。なお、各図において、同一要素には同一符号を付して重複する説明を省略する。
本発明の第1実施形態に係る動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号化装置、動画像復号化方法、動画像復号化プログラムについて図面を参照して説明する。なお、各図において、同一要素には同一符号を付して重複する説明を省略する。
図2は本実施形態に係る動画像符号化装置20の構成を示すブロック図である。動画像符号化装置20はその機能的な構成要素として、入力部201と、フィルタ決定部(フィルタ決定手段)202と、フィルタ情報蓄積部(フィルタ情報蓄積手段)203と、分数精度参照画像作成部204と、フィルタ情報符号化部(フィルタ情報符号化手段)205と、フレームメモリ206と、フレーム画像符号化/復号化部207と、出力部208とを備えて構成される。
入力部201は、外部から入力されたフレーム画像の時間系列で構成される入力映像信号209を符号化対象のフレーム画像210に分解して、フィルタ決定部202およびフレーム画像符号化/復号化部207へ出力する。
フレームメモリ206は、過去に復号化済みのフレーム画像を保持しており、それらのフレーム画像を参照画像211としてフィルタ決定部202と分数精度参照画像作成部204とへ出力する。
フィルタ情報蓄積部203は、1フレーム前のフレーム画像を符号化する際に分数精度の参照画像を作成するために使われたフィルタ(前フレームフィルタ情報212)を保持している。前フレームフィルタ情報212は、フィルタ決定部202および分数精度参照画像作成部204に参照される。また、前フレームフィルタ情報212は、フィルタ情報符号化部205に参照および更新される。
フィルタ決定部202は、入力部201から入力されたフレーム画像210と、フレームメモリ206から入力された参照画像211とを使い、フィルタ情報蓄積部203の前フレームフィルタ情報212を参照しながら、現在の符号化対象のフレーム画像を符号化するための分数精度の参照画像を作成するフィルタ情報213を決定し、分数精度参照画像作成部204およびフィルタ情報符号化部205へ出力する。
フィルタ情報符号化部205は、フィルタ決定部202から入力されたフィルタ情報213を使って、フィルタ情報蓄積部203の前フレームフィルタ情報212を参照しながらフィルタ情報213を符号化してフィルタ情報符号化ビットストリーム214を作成し、出力部208へ出力する。またフィルタ情報符号化部205は、フィルタ決定部から入力されたフィルタ情報213を使って、フィルタ情報蓄積部203の前フレームフィルタ情報212をフィルタ情報213に更新する。
分数精度参照画像作成部204は、フィルタ決定部202から入力されたフィルタ情報213と、フレームメモリ206から入力された参照画像211とを使って、分数精度参照画像215を作成し、フレーム画像符号化/復号化部207へ出力する。
フレーム画像符号化/復号化部207は、入力部201から入力されたフレーム画像210と、分数精度参照画像作成部204から入力された分数精度参照画像215とを使って動き補償して符号化対象フレームの符号化を行い、フレーム画像符号化ビットストリーム216を出力部208へ出力する。また、フレーム画像符号化/復号化部207は、符号化されたフレーム画像を局所復号化し、復号化されたフレーム画像を復号化済みフレーム画像217としてフレームメモリ206へ出力する。
出力部208は、フィルタ情報符号化部205から入力されたフィルタ情報符号化ビットストリーム214と、フレーム画像符号化/復号化部207から入力されたフレーム画像符号化ビットストリーム216とを合わせて外部へ出力する。
次に、フィルタ決定部202、フィルタ情報蓄積部203、分数精度参照画像作成部204、フィルタ情報符号化部205及び出力部208についてさらに詳しく説明する。
図3を使って、フィルタ決定部202を説明する。フィルタ決定部202は、その機能的な構成要素として、第1フィルタ係数決定部20201と、第1フィルタ符号化効率算出部20202と、第2フィルタ符号化効率算出部20203と、第3フィルタ符号化効率算出部20204と、符号化効率比較部20205とを備えて構成される。
第1フィルタ係数決定部20201は、入力部201から入力されたフレーム画像210と、フレームメモリ206から入力された参照画像211とを使い、水平・垂直方向に独立で非対称形の、1/2画素精度の参照画像を作成する第1フィルタ20206を決定する。第1フィルタは、その係数が水平方向(b1、b2、b3、b4、b5、b6)及び垂直方向(h1、h2、h3、h4、h5、h6)(b1〜b6およびh1〜h6は実数)に各6タップ設けられた1次元フィルタである。第1フィルタ係数決定部20201は、決定した第1フィルタ20206と、フレーム画像210と、参照画像211とを、第1フィルタ符号化効率算出部20202へ出力する。
第1フィルタ20206の決定方法について詳細に説明する。第1フィルタ係数決定部20201は、まず、係数b1〜b6及びh1〜h6を所定値(係数間で値が異なる場合もあれば複数の係数が同一の値になる場合もある)に設定する。次に、第1フィルタ係数決定部20201は、設定された係数により定義される1次元フィルタを用いて参照画像211をフィルタリングする。そして、第1フィルタ係数決定部20201は、フレーム画像210とフィルタリングされた参照画像211を用いて動き補償を行い、フレーム画像210と動き補償された画像との差分値を算出する。第1フィルタ係数決定部20201は、係数b1〜b6及びh1〜h6の値を変えながらこれらの処理を所定の回数繰り返し、最終的に、最も小さい差分値を算出できた1次元フィルタを第1フィルタ20206と決定する。なお、第1フィルタ20206の決定方法はこれに限定されない。
第1フィルタ符号化効率算出部20202は、第1フィルタ係数決定部20201から入力された第1フィルタ20206と、フレーム画像210と、参照画像211とを使って、第1フィルタによって参照画像211から1/4画素精度の参照画像を生成し、その参照画像を使ってフレーム画像210を符号化したときの符号量を算出する。
第1フィルタを使って参照画像211から1/4画素精度の参照画像を生成する方法について説明する。まず、第1フィルタ符号化効率算出部20202は、第1フィルタ20206を使って参照画像211の1/2画素精度の参照画像を生成する。図1を使って具体的に説明する。画素bは、整数画素E、F、G、H、I、Jに水平方向の6タップフィルタ(b1、b2、b3、b4、b5、b6)を施すことによって次式(8)のように計算される。
b=(b1xE+b2xF+b3xG+b4xH+b5xI+b6xJ) …(8)
b=(b1xE+b2xF+b3xG+b4xH+b5xI+b6xJ) …(8)
画素hは、整数画素A、C、G、M、R、Tに垂直方向の6タップフィルタ(h1、h2、h3、h4、h5、h6)を施すことによって次式(9)のように計算される。
h=(h1xA+h2xC+h3xG+h4xM+h5xR+h6xT) …(9)
h=(h1xA+h2xC+h3xG+h4xM+h5xR+h6xT) …(9)
4つの整数画素信号の中間位置にある1/2画素信号は、隣接する1/2画素信号の平均値によって生成される。これにより画素jは、1/2画素信号b、h、m、sの平均値を算出することによって次式(10)のように計算される。
j=(b+h+m+s)/4 …(10)
j=(b+h+m+s)/4 …(10)
次に、第1フィルタ符号化効率算出部20202は、1/2画素精度の参照画像から1/4画素精度の参照画像を生成する。同様に図1を使って説明する。画素a、c、i、kは、隣接する整数画素信号または1/2画素信号に水平方向の平均値フィルタを施すことによって生成される。
a=(G+b)/2 …(11)
c=(b+H)/2 …(12)
i=(h+j)/2 …(13)
k=(j+m)/2 …(14)
a=(G+b)/2 …(11)
c=(b+H)/2 …(12)
i=(h+j)/2 …(13)
k=(j+m)/2 …(14)
画素d、f、n、qは、隣接する整数画素信号または1/2画素信号に垂直方向の平均値フィルタを施すことによって生成される。
d=(G+h)/2 …(15)
f=(b+j)/2 …(16)
n=(h+M)/2 …(17)
q=(j+s)/2 …(18)
d=(G+h)/2 …(15)
f=(b+j)/2 …(16)
n=(h+M)/2 …(17)
q=(j+s)/2 …(18)
画素e、g、p、rは、隣接する整数画素信号または1/2画素信号の平均値によって生成される。
e=(G+b+h+j)/4 …(19)
g=(b+H+j+m)/4 …(20)
p=(h+j+M+s)/4 …(21)
r=(j+m+s+N)/4 …(22)
e=(G+b+h+j)/4 …(19)
g=(b+H+j+m)/4 …(20)
p=(h+j+M+s)/4 …(21)
r=(j+m+s+N)/4 …(22)
第1フィルタ符号化効率算出部20202は、作成した1/4画素精度の参照画像を使ってフレーム画像210を符号化したときの符号量と、第1フィルタのフィルタ係数(b1、b2、b3、b4、b5、b6)および(h1、h2、h3、h4、h5、h6)を符号化したときの符号量の合計値S1とを算出する。次に、第1フィルタ符号化効率算出部20202は、第1フィルタと符号量S1とを第1フィルタ情報20207として符号化効率比較部20205へ出力する。
第2フィルタ符号化効率算出部20203は、フレーム画像210と、参照画像211とを使うとともに第2フィルタ符号化効率算出部20203内にあらかじめ保持している基準フィルタである第2フィルタを使って、参照画像211から1/4画素精度の参照画像を生成し、その参照画像を使ってフレーム画像210を符号化したときの符号量を算出する。上記基準フィルタは、水平・垂直方向に同一で対称形の(1、−5、20、20、−5、1)/32の6タップの1次元フィルタである。
第2フィルタを使って参照画像211から1/4画素精度の参照画像を生成する方法について説明する。まず、第2フィルタ符号化効率算出部20203は、第2フィルタを使って参照画像211の1/2画素精度の参照画像を生成する。図1を使って具体的に説明する。画素bは、整数画素E、F、G、H、I、Jに水平方向の基準フィルタを施すことによって次式(23)のように計算される。
b=(E−5F+20G+20H−5I+J)/32 …(23)
b=(E−5F+20G+20H−5I+J)/32 …(23)
画素hは、整数画素A、C、G、M、R、Tに垂直方向の基準フィルタを施すことによって次式(24)のように計算される。
h=(A−5C+20G+20M−5R+T)/32 …(24)
h=(A−5C+20G+20M−5R+T)/32 …(24)
4つの整数画素信号の中間位置にある1/2画素信号は、6タップフィルタを水平と垂直の両方に施すことにより生成される。画素jは、1/2画素信号aa、bb、b、s、gg、hhを水平方向の6タップフィルタにより生成した後、これらの信号に垂直方向の6タップフィルタを施すことによって次式(25)のように計算される。
j=(aa−5bb+20b+20s−5gg+hh)/32 …(25)
j=(aa−5bb+20b+20s−5gg+hh)/32 …(25)
あるいは、垂直方向フィルタリングにより1/2画素信号cc、dd、h、m、ee、ffを生成した後、水平方向フィルタリングによって次式(26)のように画素jを生成しても良い。
j=(cc−5dd+20h+20m−5ee+ff)/32 …(26)
j=(cc−5dd+20h+20m−5ee+ff)/32 …(26)
次に、第2フィルタ符号化効率算出部20203は、1/2画素精度の参照画像からの1/4画素精度の参照画像を生成する。同様に図1を使って説明する。画素a、c、i、kは、隣接する整数画素信号または1/2画素信号に水平方向の平均値フィルタを施すことによって生成される。
a=(G+b)/2 …(27)
c=(b+H)/2 …(28)
i=(h+j)/2 …(29)
k=(j+m)/2 …(30)
a=(G+b)/2 …(27)
c=(b+H)/2 …(28)
i=(h+j)/2 …(29)
k=(j+m)/2 …(30)
画素d、f、n、qは、隣接する整数画素信号または1/2画素信号に垂直方向の平均値フィルタを施すことによって生成される。
d=(G+h)/2 …(31)
f=(b+j)/2 …(32)
n=(h+M)/2 …(33)
q=(j+s)/2 …(34)
d=(G+h)/2 …(31)
f=(b+j)/2 …(32)
n=(h+M)/2 …(33)
q=(j+s)/2 …(34)
画素e、g、p、rは、斜め方向の平均値フィルタを施して計算される。
e=(b+h)/2 …(35)
g=(b+m)/2 …(36)
p=(h+s)/2 …(37)
r=(m+s)/2 …(38)
e=(b+h)/2 …(35)
g=(b+m)/2 …(36)
p=(h+s)/2 …(37)
r=(m+s)/2 …(38)
第2フィルタ符号化効率算出部20203は、作成した1/4画素精度の参照画像を使ってフレーム画像210を符号化したときの符号量S2を算出する。次に、第2フィルタ符号化効率算出部20203は、符号量S2を第2フィルタ情報20208として符号化効率比較部20205へ出力する。
第3フィルタ符号化効率算出部20204は、フィルタ情報蓄積部203内の前フレームフィルタ情報212を参照し、1フレーム前のフレーム画像を符号化する際に使われた1/2画素精度の参照画像作成用のフィルタである第3フィルタによって参照画像211から1/4画素精度の参照画像を生成し、その参照画像を使ってフレーム画像210を符号化したときの符号量を算出する。
第3フィルタを使って参照画像211から1/4画素精度の参照画像を生成する方法について説明する。まず、第3フィルタ符号化効率算出部20204は、1フレーム前のフレーム画像を符号化する際に使われた1/2画素精度の参照画像作成用のフィルタである第3フィルタを使って参照画像211の1/2画素精度の参照画像を生成する。図1を使って具体的に説明する。なお、第3フィルタは、水平方向(b1’、b2’、b3’、b4’、b5’、b6’)及び垂直方向(h1’、h2’、h3’、h4’、h5’、h6’)(b1’〜b6’およびh1’〜h6’は実数)に設定されているとする。画素bは、整数画素E、F、G、H、I、Jに水平方向の6タップフィルタ(b1’、b2’、b3’、b4’、b5’、b6’)を施すことによって次式(39)のように計算される。
b=(b1’xE+b2’xF+b3’xG+b4’xH+b5’xI+b6’xJ) …(39)
b=(b1’xE+b2’xF+b3’xG+b4’xH+b5’xI+b6’xJ) …(39)
画素hは、整数画素A、C、G、M、R、Tに垂直方向の6タップフィルタ(h1’、h2’、h3’、h4’、h5’、h6’)を施すことによって次式(40)のように計算される。
h=(h1’xA+h2’xC+h3’xG+h4’xM+h5’xR+h6’xT) …(40)
h=(h1’xA+h2’xC+h3’xG+h4’xM+h5’xR+h6’xT) …(40)
4つの整数画素信号の中間位置にある1/2画素信号は、隣接する1/2画素信号の平均値によって生成される。これにより画素jは、1/2画素信号b、h、m、sの平均値を算出することによって次式(41)のように計算される。
j=(b+h+m+s)/4 …(41)
j=(b+h+m+s)/4 …(41)
次に、第3フィルタ符号化効率算出部20204は、1/2画素精度の参照画像から参照画像211の1/4画素精度の参照画像を生成する。同様に図1を使って具体的に説明する。画素a、c、i、kは、隣接する整数画素信号または1/2画素信号に水平方向の平均値フィルタを施すことによって生成される。
a=(G+b)/2 …(42)
c=(b+H)/2 …(43)
i=(h+j)/2 …(44)
k=(j+m)/2 …(45)
a=(G+b)/2 …(42)
c=(b+H)/2 …(43)
i=(h+j)/2 …(44)
k=(j+m)/2 …(45)
画素d、f、n、qは、隣接する整数画素信号または1/2画素信号に垂直方向の平均値フィルタを施すことによって生成される。
d=(G+h)/2 …(46)
f=(b+j)/2 …(47)
n=(h+M)/2 …(48)
q=(j+s)/2 …(49)
d=(G+h)/2 …(46)
f=(b+j)/2 …(47)
n=(h+M)/2 …(48)
q=(j+s)/2 …(49)
画素e、g、p、rは、隣接する整数画素信号または1/2画素信号の平均値によって生成される。
e=(G+b+h+j)/4 …(50)
g=(b+H+j+m)/4 …(51)
p=(h+j+M+s)/4 …(52)
r=(j+m+s+N)/4 …(53)
e=(G+b+h+j)/4 …(50)
g=(b+H+j+m)/4 …(51)
p=(h+j+M+s)/4 …(52)
r=(j+m+s+N)/4 …(53)
第3フィルタ符号化効率算出部20204は、作成した1/4画素精度の参照画像を使ってフレーム画像210を符号化したときの符号量S3を算出する。次に、第3フィルタ符号化効率算出部20204は、符号量S3を第3フィルタ情報20209として符号化効率比較部20205へ出力する。
符号化効率比較部20205は、第1フィルタ符号化効率算出部20202から入力された第1フィルタ情報20207と、第2フィルタ符号化効率算出部20203から入力された第2フィルタ情報20208と、第3フィルタ符号化効率算出部20204から入力された第3フィルタ情報20209とを使って、3つのフィルタの中で最も符号量の少ないフィルタを選択し、そのフィルタ情報213を分数精度参照画像作成部204とフィルタ情報符号化部205とへ出力する。
具体的には、符号化効率比較部20205は、符号量S1と符号量S2と符号量S3とを比較し、最も符号量の少ないフィルタを選択する。S1の符号量が最も少ない場合、符号化効率比較部20205は、第1フィルタを示す識別子「1」、第1フィルタの係数(b1、b2、b3、b4、b5、b6)および(h1、h2、h3、h4、h5、h6)をフィルタ情報213として分数精度参照画像作成部204およびフィルタ情報符号化部205へ出力する。また、S2の符号量が最も少ない場合、符号化効率比較部20205は、第2フィルタを示す識別子「2」をフィルタ情報213として分数精度参照画像作成部204およびフィルタ情報符号化部205へ出力する。また、S3の符号量が最も少ない場合、符号化効率比較部20205は、第3フィルタを示す識別子「3」をフィルタ情報213として分数精度参照画像作成部204およびフィルタ情報符号化部205へ出力する。
次に、分数精度参照画像作成部204について詳しく説明する。分数精度参照画像作成部204は、フレームメモリ206から入力された参照画像211とフィルタ決定部202から入力されたフィルタ情報213とを使って、1/4画素精度の分数精度参照画像215を作成する。
フィルタ情報213に含まれるフィルタの識別子が「1」であったとき、分数精度参照画像作成部204は、フィルタ情報213に含まれるフィルタ係数(b1、b2、b3、b4、b5、b6)および(h1、h2、h3、h4、h5、h6)を使って、上記式(8)〜(22)によって1/4画素精度の分数精度参照画像215を作成する。フィルタ情報213に含まれるフィルタの識別子が「2」であったとき、分数精度参照画像作成部204は、水平・垂直方向共に基準フィルタである(1、−5、20、20、−5、1)/32を使って、上記式(23)〜(38)により1/4画素精度の分数精度参照画像215を作成する。フィルタ情報213に含まれるフィルタの識別子が「3」であったとき、分数精度参照画像作成部204は、フィルタ情報蓄積部203を参照して、前フレームフィルタ情報212であるフィルタ係数(b1’、b2’、b3’、b4’、b5’、b6’)および(h1’、h2’、h3’、h4’、h5’、h6’)を使って、上記式(39)〜(53)によって1/4画素精度の分数精度参照画像215を作成する。
次に、分数精度参照画像作成部204は、作成した分数精度参照画像215をフレーム画像符号化/復号化部207へ出力する。
次に、フィルタ情報符号化部205について詳しく説明する。フィルタ情報符号化部205は、まずフィルタ決定部202から入力されたフィルタ情報213に含まれるフィルタ識別子を符号化する。
次に、フィルタ識別子が「1」であった場合、フィルタ情報符号化部205は、フィルタ情報213に含まれる第1フィルタのフィルタ係数(b1、b2、b3、b4、b5、b6)および(h1、h2、h3、h4、h5、h6)を符号化する。このときフィルタ情報符号化部205は、フィルタ情報蓄積部203の前フレームフィルタ情報212を参照し、各フィルタ係数について、その値の前フレームフィルタ情報212の各フィルタ係数からの差分値を符号化する。すなわち、前フレームフィルタ情報212のフィルタ係数が水平方向(b1’、b2’、b3’、b4’、b5’、b6’)および垂直方向(h1’、h2’、h3’、h4’、h5’、h6’)であった場合、フィルタ情報符号化部205は、水平方向(b1−b1’、b2−b2’、b3−b3’、b4−b4’、b5−b5’、b6−b6’)および垂直方向(h1−h1’、h2−h2’、h3−h3’、h4−h4’、h5−h5’、h6−h6’)のフィルタ係数を符号化する。
次にフィルタ情報符号化部205は、符号化したフィルタ情報符号化ビットストリーム214を出力部208へ出力する。またフィルタ情報符号化部205は、フィルタ識別子が「1」であった場合、フィルタ情報蓄積部203の前フレームフィルタ情報212を第1フィルタに更新する。フィルタ識別子が「2」であった場合、フィルタ情報符号化部205は、フィルタ情報蓄積部203の前フレームフィルタ情報212を第2フィルタ(基準フィルタ)に更新する。フィルタ識別子が「3」であった場合、フィルタ情報符号化部205は、フィルタ情報蓄積部203の前フレームフィルタ情報212を同じフィルタ情報である第3フィルタに更新する。
出力部208は、符号化するフレームごとに、フレーム画像符号化ビットストリーム216の前にフィルタ情報符号化ビットストリーム214を挿入して2つのビットストリームを合わせ、外部へ出力する。
次に、図4を使って、本実施形態に係る動画像符号化方法の動作を説明する。図4は本実施形態に係る動画像符号化装置20の動作である動画像符号化方法を説明するフローチャートである。
まず入力部201が、外部から入力されたフレーム画像の時間系列で構成される入力映像信号209を符号化対象のフレーム画像210に分解する(入力ステップS401)。
次にフィルタ決定部202が、フレーム画像210と参照画像211を使って分数精度の参照画像を作成するフィルタ情報213を決定する(フィルタ決定ステップS402)。
次にフィルタ情報符号化部205がフィルタ情報213を符号化し、フィルタ情報符号化ビットストリーム214を生成する(フィルタ情報符号化ステップS403)。
また、フィルタ情報符号化部205がフィルタ情報213を前フレームフィルタ情報212としてフィルタ情報蓄積部203へ蓄積する(フィルタ情報蓄積ステップS404)。
一方、分数精度参照画像作成部204が、フィルタ情報213と参照画像211を使って、分数精度参照画像215を作成する(分数精度参照画像作成ステップS405)。
次にフレーム画像符号化/復号化部207が、フレーム画像210と分数精度参照画像215を使って符号化対象フレームの符号化を行い、フレーム画像符号化ビットストリーム216を生成する(フレーム画像符号化/復号化ステップS406)。
次にフレーム画像符号化/復号化部207が、符号化されたフレーム画像を局所復号化して復号化済みフレーム画像217として、フレームメモリ206へ蓄積する(参照画像蓄積ステップS407)。
次に出力部208が、フィルタ情報符号化ビットストリーム214とフレーム画像符号化ビットストリーム216を合わせて外部へ出力する(出力ステップS408)。
次に全てのフレーム画像の符号化が終了したか否かが判定され(ステップS409)、全てのフレーム画像の符号化が終了した場合は(ステップS409;YES)、処理を終了する。全てのフレーム画像の符号化が終了していない場合は(ステップS409;NO)、前フレームフィルタ情報212および参照画像211が更新され、ステップS402からの処理が繰り返される。
次に、図5を使って、フィルタ決定ステップS402を詳しく説明する。図5はフィルタ決定部202の動作であるフィルタ決定ステップS402を説明するフローチャートである。
まず第1フィルタ係数決定部20201が、フレーム画像210と参照画像211とを使って、水平・垂直方向に独立で非対称形の、1/2画素精度の参照画像を作成する第1フィルタ20206を決定する(第1フィルタ決定ステップS40201)。
次に第1フィルタ符号化効率算出部20202が、第1フィルタ係数20206と参照画像211とを使って、第1フィルタによって参照画像211から1/4画素精度の参照画像を生成し、その参照画像を使ってフレーム画像210を符号化したときの符号量S1を算出する(第1フィルタ符号化効率算出ステップS40202)。
また第2フィルタ符号化効率算出部20203が、フレーム画像210と、参照画像211と、第2フィルタ符号化効率算出部20203内にあらかじめ保持している基準フィルタである第2フィルタとを使って、参照画像211から1/4画素精度の参照画像を生成し、その参照画像を使ってフレーム画像210を符号化したときの符号量S2を算出する(第2フィルタ符号化効率算出ステップS40203)。
また、第3フィルタ符号化効率算出部20204が、1フレーム前のフレーム画像を符号化する際に使われた1/2画素精度の参照画像作成用のフィルタである第3フィルタによって参照画像211から1/4画素精度の参照画像を生成し、その参照画像を使ってフレーム画像210を符号化したときの符号量S3を算出する(第3フィルタ符号化効率算出ステップS40204)。
次に符号化効率比較部20205が、符号量S1と符号量S2と符号量S3とを比較する(符号化効率比較ステップS40205)。最も符号量の少ないフィルタが第1フィルタの場合、符号化効率比較部20205は、第1フィルタを示す識別子「1」および第1フィルタのフィルタ係数をフィルタ情報213として出力し(第1フィルタ情報出力ステップS40206)、処理を終了する。選択したフィルタが第2フィルタの場合、符号化効率比較部20205は、第2フィルタを示す識別子「2」をフィルタ情報213として出力し(第2フィルタ情報出力ステップS40207)、処理を終了する。選択したフィルタが第3フィルタの場合、符号化効率比較部20205は、第3フィルタを示す識別子「3」をフィルタ情報213として出力し(第3フィルタ情報出力ステップS40208)、処理を終了する。
次に、図6を使って、フィルタ情報符号化ステップS403を詳しく説明する。図6はフィルタ情報符号化部205の動作であるフィルタ情報符号化ステップS403を説明するフローチャートである。
まずフィルタ情報符号化部205は、フィルタ情報213に含まれるフィルタの識別子を符号化する(識別子符号化ステップS40301)。
次に、フィルタ識別子が「1」であったとき(ステップS40302;YES)、フィルタ情報符号化部205は、第1フィルタの各フィルタ係数について、対応する前フレームフィルタ情報212のフィルタ係数からの差分値を計算し(フィルタ係数差分ステップS40303)、差分値を符号化する(差分フィルタ係数符号化ステップS40304)。フィルタ識別子が「1」でない場合は(ステップS40302;NO)、これらフィルタ係数差分ステップ及び差分フィルタ係数符号化ステップの処理は実行されない。
次にフィルタ情報符号化部205は、符号化したフィルタ情報符号化ビットストリーム214を出力し(フィルタ情報符号化ビットストリーム出力ステップS40305)、処理を終了する。
次に、コンピュータを上述した動画像符号化装置20として機能させるための動画像符号化プログラム70について説明する。図7は動画像符号化プログラム70の構成を示す図である。
図7に示されるように、動画像符号化プログラム70は、処理を統括するメインモジュールプログラム701と、入力モジュール702と、フィルタ決定モジュール703と、フィルタ情報蓄積モジュール704と、分数精度参照画像作成モジュール705と、フィルタ情報符号化モジュール706と、フレームメモリ707と、フレーム画像符号化/復号化モジュール708と、出力モジュール709とを備える。入力モジュール702と、フィルタ決定モジュール703と、フィルタ情報蓄積モジュール704と、分数精度参照画像作成モジュール705と、フィルタ情報符号化モジュール706と、フレームメモリ707と、フレーム画像符号化/復号化モジュール708と、出力モジュール709とがコンピュータに行わせる機能は、それぞれ対応の上述した入力部201と、フィルタ決定部202と、フィルタ情報蓄積部203と、分数精度参照画像作成部204と、フィルタ情報符号化部205と、フレームメモリ206と、フレーム画像符号化/復号化部207と、出力部208と同様である。
図8は、本実施形態に係る動画像復号化装置80の構成を示すブロック図である。動画像復号化装置80は、その機能的な構成要素として、入力部801と、フィルタ情報復号化部(フィルタ情報復号化手段)802と、フィルタ情報蓄積部(フィルタ情報蓄積手段)803と、分数精度参照画像作成部804と、フレームメモリ805と、フレーム画像復号化部806と備えて構成される。
入力部801は、外部から入力された符号化ビットストリーム807を順にフレーム単位ごとにフィルタ情報符号化ビットストリーム809とフレーム画像符号化ビットストリーム808とに分離する。入力部801は、フィルタ情報符号化ビットストリーム809をフィルタ情報復号化部802へ出力する。また、入力部801はフレーム画像符号化ビットストリーム808をフレーム画像復号化部806へ出力する。
フィルタ情報蓄積部803は、1フレーム前のフレーム画像を復号化する際に分数精度の参照画像を作成するために使われたフィルタ(前フレームフィルタ情報810)を保持している。前フレームフィルタ情報810はフィルタ情報復号化部802に参照および更新される。
フィルタ情報復号化部802は、フィルタ情報蓄積部803内の前フレームフィルタ情報810を参照しながら、入力部801から入力されたフィルタ情報符号化ビットストリーム809を復号化してフィルタ情報811を復元し、分数精度参照画像作成部804へ出力する。
フレームメモリ805は、過去に復号化済みのフレーム画像を保持しており、それらのフレーム画像を参照画像812として分数精度参照画像作成部804へ出力する。
分数精度参照画像作成部804は、フィルタ情報復号化部802から入力されたフィルタ情報811と、フレームメモリ805から入力された参照画像812とを使って、分数精度参照画像813を作成し、フレーム画像復号化部806へ出力する。
フレーム画像復号化部806は、入力部801から入力されたフレーム画像符号化ビットストリーム808と、分数精度参照画像作成部804から入力された分数精度参照画像813とを使って動き補償してフレーム画像を復号化する。フレーム画像復号化部806は、復号化した復号化済みフレーム画像814をフレームメモリ206および外部へ出力する。
次にフィルタ情報復号化部802について詳しく説明する。フィルタ情報復号化部802は、まず、入力部801から入力されたフィルタ情報符号化ビットストリーム809からフィルタ識別子を復号化して復元する。
フィルタ識別子が「1」であった場合、フィルタ情報復号化部802は、続いて、フィルタ情報蓄積部803の前フレームフィルタ情報810を参照して各フィルタ係数を復元する。まず、フィルタ情報復号化部802は、各フィルタ係数について、その値の前フレームフィルタ情報810からの差分値を復号化する。次に、フィルタ情報復号化部802は、復号化した各値に前フレームフィルタ情報810のフィルタ係数を加算してフィルタを復元する。前フレームフィルタ情報810のフィルタ係数が水平方向(b1’、b2’、b3’、b4’、b5’、b6’)および垂直方向(h1’、h2’、h3’、h4’、h5’、h6’)であり、フィルタ情報復号化部802によって復号化されたフィルタ係数の差分値が水平方向(b1−b1’、b2−b2’、 b3−b3’、 b4−b4’、 b5−b5’、b6−b6’)および垂直方向(h1−h1’、 h2−h2’、 h3−h3’、 h4−h4’、h5−h5’、 h6−h6’)であった場合、復元されたフィルタのフィルタ係数は、水平方向(b1、b2、b3、b4、b5、b6)および垂直方向(h1、h2、h3、h4、h5、h6)となる。
フィルタ識別子が「2」であった場合、フィルタ情報復号化部802は、基準フィルタのフィルタ係数である水平・垂直方向共に(1、−5、20、20、−5、1)/32を復元する。フィルタ識別子が「3」であった場合、フィルタ情報復号化部802は、前フレームフィルタ情報810のフィルタ係数である水平方向(b1’、b2’、b3’、b4’、b5’、b6’)および垂直方向(h1’、h2’、h3’、h4’、h5’、h6’)を復元する。
フィルタ情報復号化部802は、復元された識別子およびフィルタ係数であるフィルタ情報811を分数精度参照画像作成部804へ出力する。また、フィルタ情報復号化部802は、フィルタ情報蓄積部803内の前フレームフィルタ情報810を復元したフィルタ係数に更新する。
次に、分数精度参照画像作成部804について詳しく説明する。分数精度参照画像作成部804は、フレームメモリ805から入力された参照画像812とフィルタ情報復号化部802から入力されたフィルタ情報811とを使って、1/4画素精度の分数精度参照画像813を作成する。
フィルタ情報811に含まれるフィルタの識別子が「1」であったとき、分数精度参照画像作成部804は、フィルタ情報811に含まれるフィルタ係数(b1、b2、b3、b4、b5、b6)および(h1、h2、h3、h4、h5、h6)を使って、上記式(8)〜(22)によって1/4画素精度の分数精度参照画像813を作成する。
フィルタ情報811に含まれるフィルタの識別子が「2」であったとき、分数精度参照画像作成部804は、フィルタ情報811に含まれる水平・垂直方向共に基準フィルタである(1、−5、20、20、−5、1)/32を使って、上記式(23)〜(38)により1/4画素精度の分数精度参照画像813を作成する。
フィルタ情報811に含まれるフィルタの識別子が「3」であったとき、分数精度参照画像作成部804は、フィルタ情報811に含まれるフィルタ係数(b1’、b2’、b3’、b4’、b5’、b6’)および(h1’、h2’、h3’、h4’、h5’、h6’)を使って、上記式(39)〜(53)によって1/4画素精度の分数精度参照画像813を作成する。次に、分数精度参照画像作成部804は、作成した分数精度参照画像813をフレーム画像復号化部806へ出力する。
次に、図9を使って、本実施形態に係る動画像復号化方法の動作を説明する。図9は本実施形態に係る動画像復号化装置80の動作である動画像符号化方法を説明するフローチャートである。
まず入力部801が、外部から入力された符号化ビットストリーム807を順にフレーム単位ごとにフィルタ情報符号化ビットストリーム809とフレーム画像符号化ビットストリーム808に分離する(入力ステップS901)。
次にフィルタ情報復号化部802が、フィルタ情報符号化ビットストリーム809を復号化してフィルタ情報811を復元する(フィルタ情報復号化ステップS902)。
次に、フィルタ情報復号化部802がフィルタ情報811を前フレームフィルタ情報810としてフィルタ情報蓄積部803へ蓄積する(フィルタ情報蓄積ステップS903)。
一方、分数精度参照画像作成部804が、フィルタ情報811と参照画像812を使って、分数精度参照画像813を作成する(分数精度参照画像作成ステップS904)。
次にフレーム画像復号化部806が、フレーム画像符号化ビットストリーム808と分数精度参照画像813を使って動き補して復号化済みフレーム画像814を復号化する(フレーム画像復号化ステップS905)。
次にフレーム画像復号化部806が、復号化済みフレーム画像814をフレームメモリ805へ蓄積する(参照画像蓄積ステップS906)。
次に全てのフレーム画像の復号化が終了したか否かが判定され(ステップS907)、全てのフレーム画像の復号化が終了した場合は(ステップS907;YES)、処理が終了する。全てのフレーム画像の復号化が終了していない場合は(ステップS907;NO)、前フレームフィルタ情報810および参照画像812が更新され、ステップS902から処理が繰り返される。
次に、図10を使って、フィルタ情報復号化ステップS902を詳しく説明する。図10は、フィルタ情報復号化部802の動作であるフィルタ情報復号化ステップS902を説明するフローチャートである。
まずフィルタ情報復号化部802は、フィルタ情報符号化ビットストリーム809からフィルタ識別子を復号化して復元する(識別子復号化ステップS90201)。
次に、フィルタ識別子が「1」であったとき(ステップS90202;1)、フィルタ情報復号化部802は、各フィルタ係数についてその値の前フレームフィルタ情報810からの差分値を復号化し(差分フィルタ係数復号化ステップS90203)、復号化した各値に前フレームフィルタ情報810のフィルタ係数を加算して(フィルタ係数加算ステップS90204)、水平・垂直方向に独立な非対称形フィルタを復元する(水平・垂直方向独立非対称形フィルタ復元ステップS90205)。
フィルタ識別子が「2」であった場合(ステップS90202;2)、フィルタ情報復号化部802は基準フィルタのフィルタ係数を復元する(基準フィルタ復元ステップS90206)。
フィルタ識別子が「3」であった場合(ステップS90202;3)、フィルタ情報復号化部802は前フレームフィルタ情報810を復元する(前フレームフィルタ復元ステップS90207)。
次にフィルタ情報復号化部802は、復元された識別子およびフィルタ係数であるフィルタ情報811を出力し(フィルタ情報出力ステップS90208)、処理を終了する。
次に、コンピュータを上述した動画像復号化装置80として機能させるための動画像復号化プログラム110について説明する。図11は動画像復号化プログラム110の構成を示す図である。
図11に示されるように、動画像復号化プログラム110は、処理を統括するメインモジュールプログラム1101と、入力モジュール1102と、フィルタ情報復号化モジュール1103と、フィルタ情報蓄積モジュール1104と、分数精度参照画像作成モジュール1105と、フレームメモリ1106と、フレーム画像復号化モジュール1107とを備える。入力モジュール1102と、フィルタ情報復号化モジュール1103と、フィルタ情報蓄積モジュール1104と、分数精度参照画像作成モジュール1105と、フレームメモリ1106と、フレーム画像復号化モジュール1107がコンピュータに行わせる機能は、それぞれ対応の上述した入力部801と、フィルタ情報復号化部802と、フィルタ情報蓄積部803と、分数精度参照画像作成部804と、フレームメモリ805と、フレーム画像復号化部806と同様である。
以上の実施形態に係る動画像符号化装置、動画像符号化方法、動画像符号化プログラムによれば、フレームごとにフィルタを用いて分数画素精度の参照画像を生成して動き補償して符号化する場合に、少なくとも1フレーム前のフレーム画像の符号化に使われたフィルタを含む複数のフィルタ候補の中からフィルタが選択及び決定される。そのため、1フレーム前のフレーム画像の符号化に使われたフィルタを示す識別子を符号化するだけで足り、フィルタ係数を符号化する必要が無い。その結果、フィルタ係数の符号量を低減することができる。
また、フィルタ候補に水平・垂直方向に独立な非対称形フィルタを含み、水平・垂直方向に独立な非対称形フィルタを示す識別子と、そのフィルタのフィルタ係数とを1フレーム前のフレーム画像の符号化に使われたフィルタのフィルタ係数から引いて符号化することで、少ないフィルタ係数の符号量で水平方向と垂直方向とで異なる特性を持つ映像に対しても高い精度で動き補償することができる。さらに、フィルタ候補に基準フィルタを含ませ、基準フィルタを示す識別子を符号化するだけで(フィルタ係数を符号化することなく)、フィルタ係数の符号量を低減することができる。
以上の実施形態に係る動画像復号化装置、動画像復号化方法、動画像復号化プログラムによれば、フレームごとにフィルタを用いて分数画素精度の参照画像を生成して動き補償して復号化する場合に、少なくとも1フレーム前のフレーム画像の復号化に使われたフィルタを含む複数のフィルタ候補の中からフィルタが選択及び決定される。そのため、1フレーム前のフレーム画像の復号化に使われたフィルタを示す識別子を復号化するだけで足り、フィルタ係数を復号化する必要が無い。その結果、復号化するフィルタ係数の符号量を低減することができる。
また、フィルタ候補に水平・垂直方向に独立な非対称形フィルタを含み、水平・垂直方向に独立な非対称形フィルタを示す識別子と、そのフィルタのフィルタ係数とを1フレーム前のフレーム画像の復号化に使われたフィルタのフィルタ係数から引いて復号化することで、復号化するフィルタ係数の符号量が少なくても、水平方向と垂直方向とで異なる特性を持つ映像に対しても高い精度で動き補償することができる。さらに、フィルタ候補に基準フィルタを含ませ、基準フィルタを示す識別子を復号化するだけで(フィルタ係数を復号化することなく)、復号化するフィルタ係数の符号量を低減することができる。
(第2実施形態)
次に、複数の参照フレーム(参照画像)を用いて符号化を行う場合に、参照フレームごとに異なるフィルタを用いて分数精度の参照画像を作成する変形例を説明する。
次に、複数の参照フレーム(参照画像)を用いて符号化を行う場合に、参照フレームごとに異なるフィルタを用いて分数精度の参照画像を作成する変形例を説明する。
上述したH.264符号化方式や、上記非特許文献1及び非特許文献2に記載の記述では、参照画像が複数フレームある場合にも、符号化するフレームごとに、全ての参照画像に同一のフィルタを用いて分数画素精度の参照画像が作成される。そのため、符号化するフレームが各参照画像に対して異なる画素精度の動き量や周波数特性を持つ場合に、参照画像ごとに符号化するのに適したフィルタを用いて符号化することができず、高い精度で動き補償することができないという問題がある。第2実施形態の目的は、符号化するフレームが各参照画像に対して異なる画素精度の動き量や周波数特性を持つ場合にも、高精度の動き補償を実現することである。
第2実施形態に係る動画像符号化装置が第1実施形態の動画像符号化装置20と異なる部分は、フィルタ決定部202、フィルタ情報蓄積部203、分数精度参照画像作成部204及びフィルタ情報符号化部205であるので、その部分についてのみ説明する。
図3を使って、参照フレームごとに異なるフィルタを用いて参照画像を作成する場合のフィルタ決定部202を説明する。フィルタ情報蓄積部203は、1フレーム前のフレーム画像を符号化する際に分数精度の参照画像を作成するために使われたフィルタ(前フレームフィルタ情報212)を参照フレームごとに保持している。
図12(a)のように、現在の符号化対象のフレームFcに対して、参照フレームとして過去に符号化済みの3枚のフレームを使用する場合、それらの参照フレームの識別子を符号化された順に参照フレーム3、参照フレーム2、参照フレーム1とする。また、図12(b)のように、現在の符号化対象のフレームFcの1フレーム前に符号化された参照フレーム1を符号化した際の参照フレームの識別子を、符号化された順に参照フレーム4、参照フレーム3、参照フレーム2とする。
現在の符号化対象のフレームFcの1フレーム前に符号化された参照フレーム1を符号化した際に、参照フレーム4、参照フレーム3、参照フレーム2に対して分数精度の参照画像を作成するために使われたフィルタがそれぞれフィルタ4、フィルタ3、フィルタ2であるとする。この前提の下で現在の符号化対象のフレームFcが符号化されるとき、フィルタ情報蓄積部203は、1フレーム前のフレーム画像を符号化したときのフィルタとして、参照フレーム3に対してはフィルタ3を、参照フレーム2に対してはフィルタ2を、参照フレーム1に対してはフィルタ4、フィルタ3及びフィルタ2を保持している。
フィルタ決定部202は、入力部201から入力されたフレーム画像210と、フレームメモリ206から入力された参照画像211とを使い、フィルタ情報蓄積部203の前フレームフィルタ情報212を参照しながら、現在の符号化対象のフレーム画像を符号化するための分数精度の参照画像を作成するフィルタ情報213を参照フレームごとに決定する。続いて、フィルタ決定部202は、決定したフィルタ情報213を分数精度参照画像作成部204およびフィルタ情報符号化部205へ出力する。
具体的には、まず、フィルタ決定部202内の第1フィルタ係数決定部20201が、入力部201から入力されたフレーム画像210と、フレームメモリ206から入力された参照画像211のうちの上記参照フレーム3を使い、水平・垂直方向に独立で非対称形の、1/2画素精度の参照画像を作成する第1フィルタ20206を決定する。続いて、第1フィルタ係数決定部20201は、決定した第1フィルタ20206と、フレーム画像210と、参照画像211のうちの上記参照フレーム3とを、第1フィルタ符号化効率算出部20202へ出力する。
次に、第1フィルタ符号化効率算出部20202が、第1フィルタ係数決定部20201から入力された第1フィルタ20206と、フレーム画像210と、フレームメモリ206から入力された参照画像211のうちの上記参照フレーム3とを使って、参照画像211のうちの上記参照フレーム3から1/4画素精度の参照画像を生成する。続いて、第1フィルタ符号化効率算出部20202は、生成した参照画像を使ってフレーム画像210を符号化したときの符号量を算出する。第1フィルタ符号化効率算出部20202は、第1フィルタの係数と算出した符号量S1とを第1フィルタ情報20207として符号化効率比較部20205へ出力する。
次に、第2フィルタ符号化効率算出部20203が、フレーム画像210と、参照画像211のうちの上記参照フレーム3と、第2フィルタ符号化効率算出部20203内にあらかじめ保持している基準フィルタである第2フィルタとを使って、参照画像211のうちの上記参照フレーム3から1/4画素精度の参照画像を生成する。続いて、第2フィルタ符号化効率算出部20203は、生成した参照画像を使ってフレーム画像210を符号化したときの符号量を算出する。第2フィルタ符号化効率算出部20203は、算出した符号量S2を第2フィルタ情報20208として符号化効率比較部20205へ出力する。
次に、第3フィルタ符号化効率算出部20204が、フィルタ情報蓄積部203内の前フレームフィルタ情報212のうちの参照フレーム3に対する上記フィルタ3を参照し、参照画像211のうちの上記参照フレーム3から1/4画素精度の参照画像を生成する。続いて、第3フィルタ符号化効率算出部20204は、生成した参照画像を使ってフレーム画像210を符号化したときの符号量を算出する。第3フィルタ符号化効率算出部20204は、算出した符号量S3を第3フィルタ情報20209として符号化効率比較部20205へ出力する。
次に、符号化効率比較部20205が、第1フィルタ符号化効率算出部20202から入力された第1フィルタ情報20207と、第2フィルタ符号化効率算出部20203から入力された第2フィルタ情報20208と、第3フィルタ符号化効率算出部20204から入力された第3フィルタ情報20209とを使って、3つのフィルタの中で最も符号量の少ないフィルタを選択する。続いて、符号化効率比較部20205は、選択したフィルタのフィルタ情報213を上記参照フレーム3に対するフィルタ情報として、分数精度参照画像作成部204とフィルタ情報符号化部205とに出力する。
具体的には、符号化効率比較部20205は、符号量S1と符号量S2と符号量S3とを比較し、最も符号量の少ないフィルタを選択する。S1の符号量が最も少ない場合、符号化効率比較部20205は、第1フィルタを示す識別子「1」、第1フィルタの係数(b1、b2、b3、b4、b5、b6)および(h1、h2、h3、h4、h5、h6)を上記参照フレーム3に対するフィルタ情報213として分数精度参照画像作成部204およびフィルタ情報符号化部205へ出力する。また、S2の符号量が最も少ない場合、符号化効率比較部20205は、第2フィルタを示す識別子「2」を上記参照フレーム3に対するフィルタ情報213として分数精度参照画像作成部204およびフィルタ情報符号化部205へ出力する。また、S3の符号量が最も少ない場合、符号化効率比較部20205は、第3フィルタを示す識別子「3」を上記参照フレーム3に対するフィルタ情報213として分数精度参照画像作成部204およびフィルタ情報符号化部205へ出力する。
同様に、フィルタ決定部202は、入力部201から入力されたフレーム画像210と、フレームメモリ206から入力された参照画像211のうちの上記参照フレーム2とを使い、フィルタ情報蓄積部203の前フレームフィルタ情報212のうちの上記フィルタ2を参照しながら、第1フィルタ、第2フィルタ、および第3フィルタである上記フィルタ2の中で、符号化したときに最も符号量の少ないフィルタを選択する。続いて、フィルタ決定部202は、選択したフィルタのフィルタ情報213を上記参照フレーム2に対するフィルタ情報として、分数精度参照画像作成部204とフィルタ情報符号化部205とに出力する。
具体的には、フィルタ決定部202内の符号化効率比較部20205が、第1フィルタを使って符号化したときの符号量S1と、第2フィルタを使って符号化したときの符号量S2と、第3フィルタを使って符号化したときの符号量S3とを比較し、最も符号量の少ないフィルタを選択する。
S1の符号量が最も少ない場合、符号化効率比較部20205は、第1フィルタを示す識別子「1」と、第1フィルタの係数(b1、b2、b3、b4、b5、b6)および(h1、h2、h3、h4、h5、h6)とを、上記参照フレーム2に対するフィルタ情報213として分数精度参照画像作成部204およびフィルタ情報符号化部205へ出力する。また、S2の符号量が最も少ない場合、符号化効率比較部20205は、第2フィルタを示す識別子「2」を上記参照フレーム2に対するフィルタ情報213として分数精度参照画像作成部204およびフィルタ情報符号化部205へ出力する。また、S3の符号量が最も少ない場合、符号化効率比較部20205は、第3フィルタを示す識別子「3」を上記参照フレーム3に対するフィルタ情報213として分数精度参照画像作成部204およびフィルタ情報符号化部205へ出力する。
また、フィルタ決定部202は、入力部201から入力されたフレーム画像210と、フレームメモリ206から入力された参照画像211のうちの上記参照フレーム1とを使い、フィルタ情報蓄積部203の前フレームフィルタ情報212のうちの参照フレーム1に対する上記フィルタ4、上記フィルタ3および上記フィルタ2を参照しながら、第1フィルタ、第2フィルタ、および第3フィルタである上記フィルタ4、上記フィルタ3または上記フィルタ2の中で、符号化したときに最も符号量の少ないフィルタを選択する。続いて、フィルタ決定部202は、選択したフィルタ情報213を上記参照フレーム2に対するフィルタ情報として、分数精度参照画像作成部204とフィルタ情報符号化部205とに出力する。
このとき、第3フィルタを使って符号化したならば、フィルタ決定部202は、使用したフィルタが上記フィルタ4であったか、上記フィルタ3であったか、上記フィルタ2であったかを示す識別子を符号化した符号量を含めて計算する。また、符号化したときに最も符号量の少ないフィルタが第3フィルタであった場合、フィルタ決定部202は、使用したフィルタが上記フィルタ4、フィルタ3及びフィルタ2のいずれであったかを示す情報をフィルタ情報213に含めて出力する。
具体的には、フィルタ決定部202内の符号化効率比較部20205が、第1フィルタを使って符号化したときの符号量S1と、第2フィルタを使って符号化したときの符号量S2と、第3フィルタを使って符号化したときの符号量S3とを比較し、最も符号量の少ないフィルタを選択する。
S1の符号量が最も少ない場合、符号化効率比較部20205は、第1フィルタを示す識別子「1」と、第1フィルタの係数(b1、b2、b3、b4、b5、b6)および(h1、h2、h3、h4、h5、h6)とを、上記参照フレーム1に対するフィルタ情報213として分数精度参照画像作成部204およびフィルタ情報符号化部205へ出力する。
また、S2の符号量が最も少ない場合、符号化効率比較部20205は、第2フィルタを示す識別子「2」を上記参照フレーム1に対するフィルタ情報213として分数精度参照画像作成部204およびフィルタ情報符号化部205へ出力する。
また、S3の符号量が最も少ない場合、符号化効率比較部20205は、第3フィルタを示す識別子「3」と、フィルタタイプの識別子(使用したフィルタが上記フィルタ4であった場合は「1」、使用したフィルタが上記フィルタ3であった場合は「2」、使用したフィルタが上記フィルタ2であった場合は「3」)とを、上記参照フレーム1に対するフィルタ情報213として分数精度参照画像作成部204およびフィルタ情報符号化部205へ出力する。
分数精度参照画像作成部204は、フィルタ決定部202から入力された参照フレームごとのフィルタ情報213と、フレームメモリ206から入力された参照画像211とを使って、参照フレームごとに分数精度参照画像215を作成する。そして、分数精度参照画像作成部204は、作成した分数精度参照画像215をフレーム画像符号化/復号化部207へ出力する。
まず、1フレーム前に符号化した参照フレーム以外の参照フレームに対する分数精度参照画像作成部204の処理を具体的に説明する。フィルタ情報213に含まれるフィルタの識別子が「1」であったとき、分数精度参照画像作成部204は、フィルタ情報213に含まれるフィルタ係数を使って、1/4画素精度の分数精度参照画像215を作成する。
また、フィルタ情報213に含まれるフィルタの識別子が「2」であったとき、分数精度参照画像作成部204は、水平・垂直方向共に基準フィルタを使って、1/4画素精度の分数精度参照画像215を作成する。
フィルタ情報213に含まれるフィルタの識別子が「3」であったとき、分数精度参照画像作成部204は、フィルタ情報蓄積部203を参照して、各参照フレームに対する前フレームフィルタ情報212を使って1/4画素精度の分数精度参照画像215を作成する。
次に、1フレーム前に符号化した参照フレームに対する分数精度参照画像作成部204の処理を具体的に説明する。フィルタ情報213に含まれるフィルタの識別子が「1」であったとき、分数精度参照画像作成部204は、フィルタ情報213に含まれるフィルタ係数を使って、1/4画素精度の分数精度参照画像215を作成する。
また、フィルタ情報213に含まれるフィルタの識別子が「2」であったとき、分数精度参照画像作成部204は、水平・垂直方向共に基準フィルタを使って、1/4画素精度の分数精度参照画像215を作成する。
フィルタ情報213に含まれるフィルタの識別子が「3」であったとき、分数精度参照画像作成部204はさらにフィルタ情報213に含まれる、使用したフィルタタイプの識別子(上記フィルタ4の場合は「1」、上記フィルタ3の場合は「2」、上記フィルタ2の場合は「3」)を参照し、フィルタ情報蓄積部203に蓄積されている当該参照フレームの当該フィルタタイプのフィルタである前フレームフィルタ情報212を使って、1/4画素精度の分数精度参照画像215を作成する。
フィルタ情報符号化部205は、フィルタ決定部202から入力された参照フレームごとのフィルタ情報213に含まれるフィルタ識別子を符号化する。次に、フィルタ識別子が「1」であった場合、フィルタ情報符号化部205は、フィルタ情報213に含まれる第1フィルタのフィルタ係数(b1、b2、b3、b4、b5、b6)および(h1、h2、h3、h4、h5、h6)を符号化する。
このときフィルタ情報符号化部205は、現在、符号化しているフィルタ情報符号化ビットストリーム214が1フレーム前に符号化した以外の参照フレームのものである場合、フィルタ情報蓄積部203の当該参照フレームの前フレームフィルタ情報212を参照し、各フィルタ係数について、その値の前フレームフィルタ情報212の各フィルタ係数からの差分値を符号化する。
すなわち、前フレームフィルタ情報212のフィルタ係数が、水平方向について(b1’、b2’、b3’、b4’、b5’、b6’)であり垂直方向について(h1’、h2’、h3’、h4’、h5’、h6’)である場合、フィルタ情報符号化部205は、水平方向について(b1−b1’、b2−b2’、b3−b3’、b4−b4’、b5−b5’、b6−b6’)であり垂直方向について(h1−h1’、h2−h2’、h3−h3’、h4−h4’、h5−h5’、h6−h6’)であるフィルタ係数を符号化する。
また、現在、符号化しているフィルタ情報符号化ビットストリーム214が1フレーム前に符号化した参照フレームのものである場合、フィルタ情報符号化部205は、各フィルタ係数について、その値の第2フィルタ(基準フィルタ)のフィルタ係数からの差分値を符号化する。次にフィルタ情報符号化部205は、符号化したフィルタ識別子とフィルタ係数の差分値をフィルタ情報符号化ビットストリーム214として出力部208へ出力する。
またフィルタ情報符号化部205は、フィルタ識別子が「1」であった場合に、フィルタ情報蓄積部203の参照フレームの前フレームフィルタ情報212を第1フィルタに更新する。フィルタ識別子が「2」であった場合、フィルタ情報符号化部205は、符号化したフィルタ識別子をフィルタ情報符号化ビットストリーム214として出力部208へ出力し、フィルタ情報蓄積部203の前フレームフィルタ情報212を第2フィルタ(基準フィルタ)に更新する。
続いてフィルタ識別子が「3」である場合を説明する。現在、符号化しているフィルタ情報符号化ビットストリーム214が1フレーム前に符号化した以外の参照フレームのものである場合、フィルタ情報符号化部205は、符号化したフィルタ識別子をフィルタ情報符号化ビットストリーム214として出力部208へ出力する。続いて、フィルタ情報符号化部205は、フィルタ情報蓄積部203の当該参照フレームの前フレームフィルタ情報212を更新前と同じフィルタ情報である第3フィルタに更新する。
一方、現在、符号化しているフィルタ情報符号化ビットストリーム214が1フレーム前に符号化した参照フレームのものである場合、フィルタ情報符号化部205はフィルタ情報213に含まれる当該参照フレームの分数精度参照画像を作成するために使用したフィルタのフィルタタイプを符号化する。続いて、フィルタ情報符号化部205は符号化したフィルタ識別子と合わせてフィルタ情報符号化ビットストリーム214として出力部208へ出力する。また、フィルタ情報符号化部205はフィルタ情報蓄積部203の当該参照フレームの前フレームフィルタ情報212を当該参照フレームの分数精度参照画像を作成するために使用したフィルタに更新する。さらに、フィルタ情報符号化部205は、フィルタ情報蓄積部203の符号化対象のフレーム画像の前フレームフィルタ情報212として、次のフレームの符号化において参照フレームとなるフレームの前フレームフィルタ情報を参照フレームと関連付けて設定する。
次に、第2実施形態に係る動画像符号化方法について説明する。第2実施形態に係る動画像符号化方法が第1の実施形態の動画像符号化方法と異なる部分はフィルタ決定ステップS402、フィルタ情報符号化ステップS403、フィルタ情報蓄積ステップS404、分数精度参照画像作成ステップS405であるので、その部分についてのみ説明する。
図13を使って、フィルタ決定ステップS402の変形例であるフィルタ決定ステップS1302を説明する。図13は第2実施形態におけるフィルタ決定部202の動作であるフィルタ決定ステップS1302を説明するフローチャートである。
まず第1フィルタ係数決定部20201が、フレーム画像210と参照画像211のうちの符号化された順の最も古い参照フレームとを使って、水平・垂直方向に独立で非対称形の、1/2画素精度の参照画像を作成する第1フィルタ20206を決定する(第1フィルタ決定ステップS130201)。
次に第1フィルタ符号化効率算出部20202が、第1フィルタ20206と参照画像211とを使って、第1フィルタによって参照画像211から1/4画素精度の参照画像を生成する。そして第1フィルタ符号化効率算出部20202は、生成した参照画像を使ってフレーム画像210を符号化したときの符号量S1を算出する(第1フィルタ符号化効率算出ステップS130202)。
また第2フィルタ符号化効率算出部20203が、フレーム画像210と、参照画像211のうちの符号化された順の最も古い参照フレームと、第2フィルタ符号化効率算出部20203内にあらかじめ保持している基準フィルタである第2フィルタとを使って、参照画像211のうちの符号化された順の最も古い参照フレームから1/4画素精度の参照画像を生成する。そして第2フィルタ符号化効率算出部20203は、生成した参照画像を使ってフレーム画像210を符号化したときの符号量S2を算出する(第2フィルタ符号化効率算出ステップS130203)。
また、第3フィルタ符号化効率算出部20204が、1フレーム前のフレーム画像を符号化する際に使われた1/2画素精度の参照画像作成用のフィルタである第3フィルタを使って、参照画像211から1/4画素精度の参照画像を生成する。そして第3フィルタ符号化効率算出部20204はその参照画像を使ってフレーム画像210を符号化したときの符号量S3を算出する。このとき、第3フィルタとして複数のフィルタ候補がある場合、第3フィルタ符号化効率算出部20204はそれぞれのフィルタを使った場合の符号量を算出し、その中で最も値の小さい符号量を符号量S3とする(第3フィルタ符号化効率算出ステップS130204)。
次に、符号化効率比較部20205が符号量S1と符号量S2と符号量S3とを比較する(符号化効率比較ステップS130205)。最も符号量の少ないフィルタが第1フィルタである場合、符号化効率比較部20205は、第1フィルタを示す識別子「1」と第1フィルタのフィルタ係数とをフィルタ情報213として出力する(第1フィルタ情報出力ステップS130206)。選択したフィルタが第2フィルタである場合、符号化効率比較部20205は、第2フィルタを示す識別子「2」をフィルタ情報213として出力する(第2フィルタ情報出力ステップS130207)。
選択したフィルタが第3フィルタである場合、符号化効率比較部20205は、第3フィルタを示す識別子「3」をフィルタ情報213として出力する。また、第3のフィルタとして複数のフィルタ候補がある場合、符号化効率比較部20205は、符号量が最も小さくなるフィルタのフィルタタイプの識別子もフィルタ情報213として出力する(第3フィルタ情報出力ステップS130208)。
次に、フィルタ決定部202が参照画像211のうちの全ての参照フレームについて処理を行ったかを判断する。全ての参照フレームについて処理が行われていない場合(ステップS130209;NO)は、符号化された順が次に古い参照フレームについて上記ステップS130201〜S130208の処理が繰り返し実行される。全ての参照フレームについて処理が行われると(ステップS130209;YES)、処理が終了する。
次に、図14を使って、フィルタ情報符号化ステップS1403を詳しく説明する。図14は第2実施形態におけるフィルタ情報符号化部205の動作であるフィルタ情報符号化ステップS1403を説明するフローチャートである。
まずフィルタ情報符号化部205は、符号化された順の最も古い参照フレームについてフィルタ情報213に含まれるフィルタの識別子を符号化する(識別子符号化ステップS140301)。
次に、フィルタ識別子が「1」であったとき(ステップS140302;YES)、フィルタ情報符号化部205は、第1フィルタの各フィルタ係数について、フィルタ係数の差分値を計算し(フィルタ係数差分ステップS40303)、その差分値を符号化する(差分フィルタ係数符号化ステップS40304)。
このとき、現在、フィルタ情報を符号化している参照フレームが1フレーム前に符号化した以外の参照フレームであるならば、フィルタ係数の差分値は第1フィルタの各フィルタ係数と対応する前フレームフィルタ情報212のフィルタ係数との差分値となる。一方、現在、フィルタ情報を符号化している参照フレームが1フレーム前に符号化した参照フレームであるならば、フィルタ係数の差分値は第1フィルタの各フィルタ係数と対応する基準フィルタのフィルタ係数との差分値となる。
参照フレームのフィルタ識別子が「1」でない場合は(ステップS40302;NO)、これらフィルタ係数差分ステップ及び差分フィルタ係数符号化ステップの処理は実行されない。
次に、フィルタ識別子が「3」であったとき(ステップS140305;YES)、フィルタ情報符号化部205は、現在、フィルタ情報を符号化している参照フレームが1フレーム前に符号化した参照フレームであるか否かを判定する(ステップS140306)。そして、符号化している参照フレームが1フレーム前に符号化した参照フレームである場合(ステップS140306:YES)、フィルタ情報符号化部205はフィルタタイプの識別子を符号化する(フィルタタイプ符号化ステップS140307)。これに対して、符号化している参照フレームが1フレーム前に符号化した参照フレーム以外であった場合(ステップS140306:NO)、このフィルタタイプ符号化ステップの処理は実行されない。また、フィルタ識別子が「3」でないとき(ステップS140305;NO)も、このフィルタタイプ符号化ステップの処理は実行されない。
次に、フィルタ情報符号化部205は、符号化したフィルタ情報符号化ビットストリーム214を出力する(フィルタ情報符号化ビットストリーム出力ステップS140305)。
次に、フィルタ情報符号化部205は、全ての参照フレームについて処理を行ったかを判断する。このとき全ての参照フレームについて処理が行われていなければ(ステップS140308;NO)、符号化された順が次に古い参照フレームについてステップS140301〜S140308の処理が繰り返し実行される。一方、全ての参照フレームについて処理が行われたならば(ステップS140308;YES)、処理が終了する。
第2実施形態におけるフィルタ情報蓄積部203の動作であるフィルタ情報蓄積ステップS1404は、参照画像として用いられる参照フレームごとに前フレームフィルタ情報212が蓄積される点でフィルタ情報蓄積ステップS404と異なる。
また、第2実施形態における分数精度参照画像作成部204の動作である分数精度参照画像作成ステップS1405は、参照画像として用いられる参照フレームごとに異なるフィルタ情報213を用いて分数精度参照画像215を作成する点で分数精度参照画像作成ステップS405と異なる。
第2実施形態に係る動画像復号化装置が第1の実施形態の動画像復号化装置80と異なる部分はフィルタ情報復号化部802、フィルタ情報蓄積部803、分数精度参照画像作成部804であるので、その部分についてのみ説明する。
フィルタ情報蓄積部803は、1フレーム前のフレーム画像を復号化する際に分数精度の参照画像を作成するために使われたフィルタ(前フレームフィルタ情報810)を参照フレームごとに保持している。前フレームフィルタ情報810はフィルタ情報復号化部802により参照および更新される。
図15(a)のように、現在の復号対象のフレームFdに対して、参照フレームとして過去に復号化済みの3枚のフレームを使用する場合、それらの参照フレームの識別子を復号化された順に参照フレーム3、参照フレーム2、参照フレーム1とする。また、図15(b)のように、現在の復号化対象のフレームFdの1フレーム前に復号化された参照フレーム1を復号化した際の参照フレームの識別子を、復号化された順に参照フレーム4、参照フレーム3、参照フレーム2とする。
現在の復号化対象のフレームFdの1フレーム前に符号化された参照フレーム1を復号化した際に、参照フレーム4、参照フレーム3、参照フレーム2に対して分数精度の参照画像を作成するために使われたフィルタがそれぞれフィルタ4、フィルタ3、フィルタ2であったとする。このとき、フィルタ情報蓄積部803は、現在の復号化対象のフレームFdを復号化する際に、1フレーム前のフレーム画像を復号化したときのフィルタとして、参照フレーム3に対してはフィルタ3を、参照フレーム2に対してはフィルタ2を、参照フレーム1に対してはフィルタ4、フィルタ3及びフィルタ2を保持している。
フィルタ情報復号化部802は、フィルタ情報蓄積部803内の前フレームフィルタ情報810を参照しながら、入力部801から入力されたフィルタ情報符号化ビットストリーム809を復号化してフィルタ情報811を復元する。そして、フィルタ情報復号化部802は復元したフィルタ情報811を分数精度参照画像作成部804へ出力する。
具体的には、まずフィルタ情報復号化部802は、参照フレームごとに、入力部801から入力されたフィルタ情報符号化ビットストリーム809からフィルタ識別子を復号化して復元する。フィルタ情報復号化部802は、復号化された時期が古い参照フレームから順番にこの復元を実行する。
フィルタ識別子が「1」であった場合、フィルタ情報復号化部802は各フィルタ係数を復元する。まず、フィルタ情報復号化部802は、各フィルタ係数について差分値を復号化する。次に、現在、復号化しているフィルタ情報811が1フレーム前に復号化した以外の参照フレームのものである場合、フィルタ情報復号化部802はフィルタ情報蓄積部803の前フレームフィルタ情報810を参照して、各フィルタ係数について復号化した各値に前フレームフィルタ情報810のフィルタ係数を加算してフィルタを復元する。
例えば、前フレームフィルタ情報810のフィルタ係数が、水平方向について(b1’、b2’、b3’、b4’、b5’、b6’)であり、垂直方向について(h1’、h2’、h3’、h4’、h5’、h6’)であるとする。また、フィルタ情報復号化部802によって復号化されたフィルタ係数の差分値が、水平方向について(b1−b1’、b2−b2’、b3−b3’、b4−b4’、 b5−b5’、b6−b6’)であり、垂直方向について(h1−h1’、 h2−h2’、 h3−h3’、h4−h4’、 h5−h5’、h6−h6’)であるとする。この場合、復元されたフィルタのフィルタ係数は、水平方向について(b1、b2、b3、b4、b5、b6)となり、垂直方向について(h1、h2、h3、h4、h5、h6)となる。
また、現在、復号化しているフィルタ情報811が1フレーム前に復号化した参照フレームのものである場合、フィルタ情報復号化部802は各フィルタ係数について復号化した各値に基準フィルタのフィルタ係数を加算してフィルタを復元する。
フィルタ識別子が「2」であった場合、フィルタ情報復号化部802は、基準フィルタのフィルタ係数である水平・垂直方向共に(1、−5、20、20、−5、1)/32を復元する。
フィルタ識別子が「3」であった場合の処理は次の通りである。すなわち、現在、復号化しているフィルタ情報811が1フレーム前に復号化した参照フレーム以外のものである場合、フィルタ情報復号化部802は、当該参照フレームの前フレームフィルタ情報810のフィルタ係数を復元する。これに対して、現在、復号化しているフィルタ情報811が1フレーム前に復号化した参照フレームのものである場合、フィルタ情報復号化部802はさらにフィルタタイプを復号化し、当該参照フレームの前フレームフィルタ情報810から復元したフィルタタイプに関連付けられたフィルタ係数を復元する。(フィルタタイプが「1」の場合は上記フィルタ4、「2」の場合は上記フィルタ3、「3」の場合は上記フィルタ2。)
フィルタ情報復号化部802は、復元された識別子およびフィルタ係数であるフィルタ情報811を分数精度参照画像作成部804へ出力する。また、フィルタ情報復号化部802は、フィルタ情報蓄積部803内の前フレームフィルタ情報810を復元したフィルタ係数に更新する。さらに、フィルタ情報復号化部802は、フィルタ情報蓄積部803の復号化対象のフレーム画像の前フレームフィルタ情報810として、次のフレームの復号化において参照フレームとなるフレームの前フレームフィルタ情報を参照フレームと関連付けて設定する。
分数精度参照画像作成部804は、フィルタ情報復号化部802から入力された参照フレームごとのフィルタ情報811と、フレームメモリ805から入力された参照画像812とを使って、参照フレームごとに分数精度参照画像813を作成する。続いて、分数精度参照画像作成部804は、作成した分数精度参照画像813をフレーム画像復号化部806へ出力する。
具体的には、1フレーム前に符号化した以外の参照フレームに対して、フィルタ情報811に含まれるフィルタの識別子が「1」であったとき、分数精度参照画像作成部804は、フィルタ情報811に含まれるフィルタ係数を使って、1/4画素精度の分数精度参照画像813を作成する。また、フィルタ情報811に含まれるフィルタの識別子が「2」であったとき、分数精度参照画像作成部804は、水平・垂直方向共に基準フィルタを使って、1/4画素精度の分数精度参照画像813を作成する。フィルタ情報811に含まれるフィルタの識別子が「3」であったとき、分数精度参照画像作成部804は、フィルタ情報811に含まれるフィルタ係数を使って、1/4画素精度の分数精度参照画像813を作成する。
次に、第2実施形態に係る動画像復号化方法について説明する。第2実施形態に係る動画像復号化方法が第1実施形態の動画像復号化方法と異なる部分はフィルタ情報復号化ステップS802、フィルタ情報蓄積ステップS803、分数精度参照画像作成ステップS804であるので、その部分についてのみ説明する。
図16を使って、フィルタ情報復号化ステップS802の変形例であるフィルタ情報復号化ステップS1602を説明する。図16は第2実施形態におけるフィルタ情報復号化部802の動作であるフィルタ情報復号化ステップS1602を説明するフローチャートである。
まずフィルタ情報復号化部802は、フィルタ情報符号化ビットストリーム809から復号化された順の最も古い参照フレームについてフィルタ識別子を復号化して復元する(識別子復号化ステップS160201)。
次に、フィルタ識別子が「1」であったとき(ステップS160202;1)、フィルタ情報復号化部802は、各フィルタ係数についてその差分値を復号化する(差分フィルタ係数復号化ステップS160203)。続いて、フィルタ情報復号化部802は復号化した各値にフィルタ係数を加算して(フィルタ係数加算ステップS160204)、水平・垂直方向に独立な非対称形フィルタを復元する(水平・垂直方向独立非対称形フィルタ復元ステップS160205)。
このとき、現在、復号化しているフィルタ情報811が1フレーム前に復号化した以外の参照フレームのものである場合、フィルタ情報復号化部802はフィルタ情報蓄積部803の前フレームフィルタ情報810を参照して、各フィルタ係数について復号化した各差分値に前フレームフィルタ情報810のフィルタ係数を加算してフィルタを復元する。これに対して、現在、復号化しているフィルタ情報811が1フレーム前に復号化した参照フレームのものである場合、フィルタ情報復号化部802は各フィルタ係数について復号化した各差分値に基準フィルタのフィルタ係数を加算してフィルタを復元する。
フィルタ識別子が「2」であった場合(ステップS160202;2)、フィルタ情報復号化部802は基準フィルタのフィルタ係数を復元する(基準フィルタ復元ステップS160206)。
フィルタ識別子が「3」であった場合(ステップS160202;3)は次のように処理が行われる。すなわち、フィルタ情報復号化部802は、現在、フィルタ情報を復号化している参照フレームが1フレーム前に復号化された参照フレームであれば(ステップS160307:YES)、フィルタタイプの識別子を復号化する(フィルタタイプ復号化ステップS140308)。続いて、フィルタ情報復号化部802は当該参照フレームの前フレームフィルタ情報810から復元したフィルタタイプに関連付けられたフィルタ係数を復元する。これに対して、現在、フィルタ情報を復号化している参照フレームが1フレーム前に復号化された参照フレーム以外であれば(ステップS140307:NO)、フィルタ情報復号化部802は、フィルタタイプ復号化ステップの処理を実行せずに、当該参照フレームの前フレームフィルタ情報810のフィルタ係数を復元する(前フレームフィルタ復元ステップS160209)。
次にフィルタ情報復号化部802は、復元された識別子およびフィルタ係数であるフィルタ情報811を出力する(フィルタ情報出力ステップS160210)。
次に、フィルタ情報復号化部802は、全ての参照フレームについて処理を行ったかを判断する。このとき、全ての参照フレームについて処理を行っていなければ(ステップS160211;NO)、復号化された順が次に古い参照フレームについて上記ステップS160201〜ステップS160210の処理が繰り返し実行される。一方、全ての参照フレームについて処理が行われた場合には(ステップS160211;YES)、処理が終了する。
また、第2実施形態におけるフィルタ情報蓄積部803の動作であるフィルタ情報蓄積ステップS1603は、参照画像として用いられる参照フレームごとに前フレームフィルタ情報212が蓄積される点でフィルタ情報蓄積ステップS803と異なる。
また、第2実施形態における分数精度参照画像作成部804の動作である分数精度参照画像作成ステップS1604は、参照画像として用いられる参照フレームごとに異なるフィルタ情報811用いて分数精度参照画像813を作成する点で分数精度参照画像作成ステップS804と異なる。
以上説明したように、第2実施形態に係る動画像符号化装置、動画像符号化方法、動画像符号化プログラムによれば、参照画像が複数フレームある場合に、参照画像ごとに異なるフィルタを用いて分数画素精度の参照画像を生成して動き補償し、符号化することで、符号化するフレームが各参照画像に対して異なる画素精度の動き量や周波数特性を持つ場合にも高い精度で動き補償することができる。また、少なくとも1フレーム前のフレーム画像の符号化に使われたフィルタを含む複数のフィルタ候補の中からフィルタが選択及び決定される。そのため、1フレーム前のフレーム画像の符号化に使われたフィルタを示す識別子を符号化するだけで足り、フィルタ係数を符号化する必要が無い。その結果、フィルタ係数の符号量を低減することができる。
また、第2実施形態に係る動画像復号化装置、動画像復号化方法、動画像復号化プログラムによれば、参照画像が複数フレームある場合に、参照画像ごとに異なるフィルタを用いて分数画素精度の参照画像を生成して動き補償し、復号化することで、復号化するフレームが各参照画像に対して異なる画素精度の動き量や周波数特性を持つ場合にも高い精度で動き補償することができる。また、少なくとも1フレーム前のフレーム画像の復号化に使われたフィルタを含む複数のフィルタ候補の中からフィルタが選択及び決定される。そのため、1フレーム前のフレーム画像の復号化に使われたフィルタを示す識別子を復号化するだけで足り、フィルタ係数を復号化する必要が無い。その結果、復号化するフィルタ係数の符号量を低減することができる。
なお、上記各実施形態では、フィルタ候補として、1フレーム前のフレーム画像の符号化に使われたフィルタ、水平・垂直方向に独立な非対称形フィルタ、および基準フィルタを使用したが、使用するフィルタ候補はこれらに限定されない。例えば、2フレーム以上前の過去のフレーム画像の符号化に使われたフィルタをフィルタ候補に含み、これらのフィルタを符号化する際に、過去のフレーム画像の符号化に使われたフィルタであることを示す識別子「3」とそのフィルタが使われた過去のフレーム画像を識別するための識別子とを符号化してもよい。
過去のフレーム画像を識別するための識別子としては、映像の先頭からのフレーム画像の番号や、符号化対象のフレーム画像の番号と過去のフレーム画像の番号との差分値を用いることができる。なお、前記過去のフレーム画像を識別するための識別子は、これらの方法には限らない。この場合、過去のフレーム画像の符号化に使われた多様なフィルタを、フィルタ識別子と過去のフレーム画像とを識別する識別子だけを符号化するだけで使用することができ、高い精度で動き補償ができる。また、この場合、フィルタ係数を符号化する必要が無いため、フィルタ係数の符号量を低減することができる。なお、符号化に使われたフィルタであることを示す識別子とそのフィルタが使われた過去のフレーム画像とを識別するための識別子を合わせて1つの識別子として符号化を行っても良い。
また、この場合、水平・垂直方向に独立な非対称形フィルタを符号化する際に、水平・垂直方向に独立な非対称形フィルタであることを示す識別子「1」と、過去のフレーム画像の符号化に使われたフィルタのフレームを示す識別子と、過去のフレーム画像の符号化に使われたフィルタのフィルタ係数からの符号化するフィルタのフィルタ係数の差分値とを符号化することで、より差分値の小さくなる過去のフレーム画像の符号化に使われたフィルタを選び、フィルタ係数の符号量を削減することができる。
さらにこの場合、初めて分数画素精度の参照画像を生成して動き補償して符号化するフレーム画像のフィルタとして常に基準フィルタを使用することし、過去のフレーム画像の符号化に使われたフィルタの中に必ず基準フィルタを含ませることも可能である。これにより、基準フィルタであることを示す識別子「2」を使用することなく基準フィルタを選択することができ、フィルタの識別子の符号量を減らすことができる。
また、上記各実施形態では、フィルタ候補として、1フレーム前のフレーム画像の復号化に使われたフィルタ、水平・垂直方向に独立な非対称形フィルタ、および基準フィルタを使用したが、使用するフィルタ候補はこれらに限定されない。例えば、2フレーム以上前の過去のフレーム画像の復号化に使われたフィルタをフィルタ候補に含み、これらのフィルタを復号化する際に、過去のフレーム画像の復号化に使われたフィルタであることを示す識別子「3」とそのフィルタが使われた過去のフレーム画像を識別するための識別子とを復号化してもよい。
過去のフレーム画像を識別するための識別子としては、映像の先頭からのフレーム画像の番号や、復号化対象のフレーム画像の番号と過去のフレーム画像の番号との差分値を用いることができる。なお、前記過去のフレーム画像を識別するための識別子は、これらの方法には限らない。この場合、過去のフレーム画像の復号化に使われた多様なフィルタを、フィルタ識別子と過去のフレーム画像とを識別する識別子だけを復号化するだけで使用することができ、高い精度で動き補償ができる。また、この場合、フィルタ係数を復号化する必要が無いため、復号化するフィルタ係数の符号量を低減することができる。なお、復号化に使われたフィルタであることを示す識別子とそのフィルタが使われた過去のフレーム画像とを識別するための識別子を合わせて1つの識別子として復号化を行っても良い。
また、この場合、水平・垂直方向に独立な非対称形フィルタを復号化する際に、水平・垂直方向に独立な非対称形フィルタであることを示す識別子「1」と、過去のフレーム画像の復号化に使われたフィルタのフレームを示す識別子と、過去のフレーム画像の復号化に使われたフィルタのフィルタ係数からの復号化するフィルタのフィルタ係数の差分値とを復号化することで、より差分値の小さくなる過去のフレーム画像の復号化に使われたフィルタを選び、復号化するフィルタ係数の符号量を削減することができる。
さらにこの場合、初めて分数画素精度の参照画像を生成して動き補償して復号化するフレーム画像のフィルタとして常に基準フィルタを使用することし、過去のフレーム画像の復号化に使われたフィルタの中に必ず基準フィルタを含ませることも可能である。これにより、基準フィルタであることを示す識別子「2」を使用することなく基準フィルタを選択することができ、復号化するフィルタの識別子の符号量を減らすことができる。
また、上記各実施形態では、フィルタとして、1/2画素精度の参照画像を作成する6タップのフィルタを使用したが、使用するフィルタはこれに限定されない。例えば、任意の分数画素精度の参照画像を作成するフィルタを用いても良いし、任意のタップ数のフィルタを用いてもよい。さらに、動き補償に使われる分数画素精度の参照画像を作成する方法は、上述の方法に限定されない。また、参照画像の分数画素精度は1/4画素精度には限らず任意の分数画素精度とすることができる。また、上記各実施形態では、使用するフィルタとして、上記第1フィルタ、第2フィルタ、第3フィルタの全てを用意したが、これらのフィルタをすべて用意する必要は無く、どれか一つのフィルタが無くても良い。さらに、上記第1フィルタ、第2フィルタ、第3フィルタ以外のフィルタを、使用するフィルタの候補として加えても良い。
また、フィルタ1のフィルタ係数を符号化する場合、各フィルタ係数について、その値の前フレームフィルタ情報の各フィルタ係数からの差分値を符号化する以外に、各フィルタ係数の値そのものを符号化しても良いし、基準フィルタの各フィルタ係数からの差分値を符号化しても良い。
また、フィルタ1のフィルタ係数を復号化する場合、各フィルタ係数について、その値の前フレームフィルタ情報の各フィルタ係数からの差分値を復号化する以外に、各フィルタ係数の値そのものを復号化しても良いし、基準フィルタの各フィルタ係数からの差分値を復号化しても良い。
さらに上記各実施形態では、フィルタ決定部202でフィルタ情報を決定し、分数精度参照画像作成部204で分数精度参照画像を作成し、フレーム画像符号化/復号化部207で動き補償して符号化対象フレームの符号化および復号化を行ったが、この符号化及び復号化の手法はこれに限定されない。例えば、フィルタ決定部202でフィルタ情報を決定するための符号化効率を算出する際に分数精度参照画像作成およびフレーム画像符号化/復号化を行っている場合は、分数精度参照画像作成部204およびフレーム画像符号化/復号化部207を省略しても良い。
また、上記各実施形態では、出力部208は、符号化するフレームごとに、フレーム画像符号化ビットストリーム216の前にフィルタ情報符号化ビットストリーム214を挿入して2つのビットストリームを合わせ、外部へ出力しているが、フィルタ情報符号化ビットストリーム214をフレーム画像符号化ビットストリーム216の中に合わせて符号化ビットストリーム218として外部へ出力しても良い。また、入力部801は、符号化ビットストリーム807の中に含まれるフレーム画像符号化ビットストリーム216及びフィルタ情報符号化ビットストリーム214を受け付けて、これら二つのストリームを分離しても良い。
また、参照フレームごとに異なるフィルタを用いて分数精度の参照画像を作成する上記第2実施形態において、1フレーム前に符号化した参照フレームの第3フィルタが1フレーム前のフレーム画像の符号化に使われたフィルタを全て含む必要は無い。また、1フレーム前に復号化した参照フレームの第3フィルタは、1フレーム前のフレーム画像の復号化に使われたフィルタを全て含まなくてもよい。
また、上記第2実施形態において、1フレーム前に符号化した参照フレームの第1フィルタのフィルタ係数は、標準フィルタのフィルタ係数の差分値として符号化されなくてもよい。例えば、1フレーム前に符号化した参照フレームの第1フィルタのフィルタ係数は、1フレーム前のフレーム画像の符号化に使われたフィルタのいずれかのフィルタのフィルタ係数の差分値として符号化されてもよいし、他のフィルタ係数との差分値、あるいはフィルタ係数の値そのものとして符号化されてもよい。
また、上記第2実施形態において、1フレーム前に復号化した参照フレームの第1フィルタのフィルタ係数は、標準フィルタのフィルタ係数の差分値として復号化されなくてもよい。例えば、1フレーム前に復号化した参照フレームの第1フィルタのフィルタ係数は、1フレーム前のフレーム画像の復号化に使われたフィルタのいずれかのフィルタのフィルタ係数の差分値として復号化されてもよいし、他のフィルタ係数との差分値、あるいはフィルタ係数の値そのものとして復号化されても良い。
また、上記第2実施形態において、フィルタを決定する順序、フィルタ情報を符号化する順序およびフィルタ情報を復号化する順序は、符号化および復号化された順の古いものからとは限定されず、他の順序でも良い。
20…動画像符号化装置、70…動画像符号化プログラム、80…動画像復号化装置、110…動画像復号化プログラム、202…フィルタ決定部(フィルタ決定手段)、203…フィルタ情報蓄積部(フィルタ情報蓄積手段)、205…フィルタ情報符号化部(フィルタ情報符号化手段)、703…フィルタ決定モジュール、704…フィルタ情報蓄積モジュール、706…フィルタ情報符号化モジュール、802…フィルタ情報復号化部(フィルタ情報復号化手段)、803…フィルタ情報蓄積部(フィルタ情報蓄積手段)、1103…フィルタ情報復号化モジュール、1104…フィルタ情報蓄積モジュール、20201…フィルタ係数決定部、20202…フィルタ符号化効率算出部、20203…フィルタ符号化効率算出部、20204…フィルタ符号化効率算出部、20205…符号化効率比較部。
Claims (1)
- フレーム画像の時間系列で構成される動画像に対して、フレーム画像ごとにフィルタを使って分数画素精度の参照画像を作成して動き補償する動画像符号化装置であって、
過去のフレーム画像の符号化に使われたフィルタを蓄積するフィルタ情報蓄積手段と、
現在のフレーム画像の符号化に使うフィルタを決定するフィルタ決定手段と、
前記フィルタ決定手段により決定されたフィルタを示す情報を符号化するフィルタ情報符号化手段と、
を備えることを特徴とする動画像符号化装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012060512A JP2012142986A (ja) | 2006-11-30 | 2012-03-16 | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号化装置、動画像復号化方法及び動画像復号化プログラム |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2006324925 | 2006-11-30 | ||
| JP2006324925 | 2006-11-30 | ||
| JP2012060512A JP2012142986A (ja) | 2006-11-30 | 2012-03-16 | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号化装置、動画像復号化方法及び動画像復号化プログラム |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008548241A Division JP4956550B2 (ja) | 2006-11-30 | 2007-11-28 | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号化装置、動画像復号化方法及び動画像復号化プログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2012142986A true JP2012142986A (ja) | 2012-07-26 |
Family
ID=39491974
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008548241A Expired - Fee Related JP4956550B2 (ja) | 2006-11-30 | 2007-11-28 | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号化装置、動画像復号化方法及び動画像復号化プログラム |
| JP2012060512A Withdrawn JP2012142986A (ja) | 2006-11-30 | 2012-03-16 | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号化装置、動画像復号化方法及び動画像復号化プログラム |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008548241A Expired - Fee Related JP4956550B2 (ja) | 2006-11-30 | 2007-11-28 | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号化装置、動画像復号化方法及び動画像復号化プログラム |
Country Status (11)
| Country | Link |
|---|---|
| US (1) | US9014267B2 (ja) |
| EP (1) | EP2104358A4 (ja) |
| JP (2) | JP4956550B2 (ja) |
| KR (2) | KR20110059665A (ja) |
| CN (2) | CN101543081B (ja) |
| AU (1) | AU2007330109A1 (ja) |
| BR (1) | BRPI0720762A2 (ja) |
| CA (1) | CA2671180A1 (ja) |
| MX (1) | MX2009005663A (ja) |
| RU (2) | RU2009124928A (ja) |
| WO (1) | WO2008069073A1 (ja) |
Families Citing this family (20)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8638852B2 (en) | 2008-01-08 | 2014-01-28 | Qualcomm Incorporated | Video coding of filter coefficients based on horizontal and vertical symmetry |
| JP2010157949A (ja) * | 2009-01-05 | 2010-07-15 | Toshiba Corp | 動画像符号化/復号化方法及び装置 |
| EP2262267A1 (en) | 2009-06-10 | 2010-12-15 | Panasonic Corporation | Filter coefficient coding scheme for video coding |
| JPWO2011039931A1 (ja) * | 2009-09-30 | 2013-02-21 | 三菱電機株式会社 | 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法 |
| CN102714727B (zh) * | 2010-01-14 | 2016-09-28 | 杜比实验室特许公司 | 缓冲的自适应滤波器 |
| CN102349299B (zh) | 2010-03-09 | 2015-10-21 | 松下知识产权经营株式会社 | 动态图像解码装置、动态图像编码装置、动态图像解码电路及动态图像解码方法 |
| JP5524762B2 (ja) * | 2010-08-12 | 2014-06-18 | 日本電信電話株式会社 | 映像符号化方法,映像復号方法,映像符号化装置,映像復号装置およびそれらのプログラム |
| JP5563403B2 (ja) * | 2010-08-12 | 2014-07-30 | 日本電信電話株式会社 | 映像符号化方法,映像復号方法,映像符号化装置,映像復号装置およびそれらのプログラム |
| JP5485851B2 (ja) | 2010-09-30 | 2014-05-07 | 日本電信電話株式会社 | 映像符号化方法,映像復号方法,映像符号化装置,映像復号装置およびそれらのプログラム |
| EP2622857A1 (en) * | 2010-10-01 | 2013-08-07 | Dolby Laboratories Licensing Corporation | Optimized filter selection for reference picture processing |
| US9628821B2 (en) | 2010-10-01 | 2017-04-18 | Apple Inc. | Motion compensation using decoder-defined vector quantized interpolation filters |
| US9172972B2 (en) | 2011-01-05 | 2015-10-27 | Qualcomm Incorporated | Low complexity interpolation filtering with adaptive tap size |
| US9445126B2 (en) | 2011-01-05 | 2016-09-13 | Qualcomm Incorporated | Video filtering using a combination of one-dimensional switched filter and one-dimensional adaptive filter |
| JP5670226B2 (ja) * | 2011-03-04 | 2015-02-18 | Kddi株式会社 | 動画像符号化装置、動画像符号化方法、およびプログラム |
| JP5762243B2 (ja) * | 2011-10-18 | 2015-08-12 | 日本電信電話株式会社 | 映像符号化方法,装置,映像復号方法,装置およびそれらのプログラム |
| KR102272561B1 (ko) | 2011-10-31 | 2021-07-02 | 미쓰비시덴키 가부시키가이샤 | 동화상 복호 장치 |
| JP6065613B2 (ja) | 2013-01-29 | 2017-01-25 | 富士通株式会社 | 動画像符号化装置 |
| US11122262B2 (en) | 2014-06-27 | 2021-09-14 | Samsung Electronics Co., Ltd. | System and method for motion compensation in video coding |
| JP6049024B2 (ja) * | 2014-08-11 | 2016-12-21 | 株式会社チャオ | 画像伝送装置、画像伝送方法および画像伝送プログラム |
| KR102252298B1 (ko) * | 2016-10-21 | 2021-05-14 | 삼성전자주식회사 | 표정 인식 방법 및 장치 |
Family Cites Families (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0638197A (ja) | 1992-06-30 | 1994-02-10 | Sony Corp | 符号器、復号器、および符号化方法 |
| DE10120395A1 (de) * | 2001-04-25 | 2002-10-31 | Bosch Gmbh Robert | Einrichtung zur Interpolation von Abtastwerten sowie Bildencoder und Bilddecoder |
| WO2003030556A1 (en) * | 2001-09-18 | 2003-04-10 | Matsushita Electric Industrial Co., Ltd. | Image encoding method and image decoding method |
| US7379501B2 (en) * | 2002-01-14 | 2008-05-27 | Nokia Corporation | Differential coding of interpolation filters |
| JP2005532725A (ja) * | 2002-07-09 | 2005-10-27 | ノキア コーポレイション | ビデオ符号化における内挿フィルタタイプの選択方法および選択システム |
| US20040076333A1 (en) | 2002-10-22 | 2004-04-22 | Huipin Zhang | Adaptive interpolation filter system for motion compensated predictive video coding |
| JP3999634B2 (ja) * | 2002-11-11 | 2007-10-31 | 日本電信電話株式会社 | 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置,画像符号化プログラム,画像復号プログラムおよびそのプログラムを記録した記録媒体 |
| JP3997171B2 (ja) * | 2003-03-27 | 2007-10-24 | 株式会社エヌ・ティ・ティ・ドコモ | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法、及び動画像復号プログラム |
| JP4817000B2 (ja) * | 2003-07-04 | 2011-11-16 | ソニー株式会社 | 画像処理装置および方法、並びにプログラム |
| US20050158145A1 (en) * | 2004-01-16 | 2005-07-21 | Junkers John K. | Washer, fastener provided with a washer, method of and power tool for fastening objects |
| JP2006211152A (ja) * | 2005-01-26 | 2006-08-10 | Hokkaido Univ | 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、画像符号化用プログラム、画像復号用プログラム |
| JP2008536414A (ja) * | 2005-04-13 | 2008-09-04 | ゴットフリート・ヴィルヘルム・ライプニッツ・ウニヴェルジテート・ハノーヴァー | ビデオの拡張された符号化方法及び装置 |
| US8208564B2 (en) * | 2005-06-24 | 2012-06-26 | Ntt Docomo, Inc. | Method and apparatus for video encoding and decoding using adaptive interpolation |
| CN100455025C (zh) * | 2005-07-21 | 2009-01-21 | 华为技术有限公司 | 一种分数像素插值方法和编解码设备 |
| US7903733B2 (en) * | 2006-01-26 | 2011-03-08 | Qualcomm Incorporated | Adaptive filtering to enhance video encoder performance |
-
2007
- 2007-11-28 KR KR1020117010871A patent/KR20110059665A/ko not_active Ceased
- 2007-11-28 CN CN2007800440230A patent/CN101543081B/zh not_active Expired - Fee Related
- 2007-11-28 WO PCT/JP2007/072951 patent/WO2008069073A1/ja not_active Ceased
- 2007-11-28 RU RU2009124928/09A patent/RU2009124928A/ru not_active Application Discontinuation
- 2007-11-28 EP EP07832673.3A patent/EP2104358A4/en not_active Withdrawn
- 2007-11-28 KR KR1020097013544A patent/KR20090094343A/ko not_active Withdrawn
- 2007-11-28 AU AU2007330109A patent/AU2007330109A1/en not_active Abandoned
- 2007-11-28 JP JP2008548241A patent/JP4956550B2/ja not_active Expired - Fee Related
- 2007-11-28 MX MX2009005663A patent/MX2009005663A/es active IP Right Grant
- 2007-11-28 CA CA 2671180 patent/CA2671180A1/en not_active Abandoned
- 2007-11-28 CN CN2011104017563A patent/CN102497551A/zh active Pending
- 2007-11-28 BR BRPI0720762-0A2A patent/BRPI0720762A2/pt not_active IP Right Cessation
-
2009
- 2009-05-29 US US12/475,087 patent/US9014267B2/en not_active Expired - Fee Related
-
2011
- 2011-02-03 RU RU2011103872/07A patent/RU2011103872A/ru not_active Application Discontinuation
-
2012
- 2012-03-16 JP JP2012060512A patent/JP2012142986A/ja not_active Withdrawn
Also Published As
| Publication number | Publication date |
|---|---|
| BRPI0720762A2 (pt) | 2014-01-21 |
| CA2671180A1 (en) | 2008-06-12 |
| JPWO2008069073A1 (ja) | 2010-03-18 |
| JP4956550B2 (ja) | 2012-06-20 |
| EP2104358A1 (en) | 2009-09-23 |
| CN101543081B (zh) | 2012-02-22 |
| RU2009124928A (ru) | 2011-01-10 |
| RU2011103872A (ru) | 2012-08-10 |
| KR20110059665A (ko) | 2011-06-02 |
| EP2104358A4 (en) | 2016-04-27 |
| KR20090094343A (ko) | 2009-09-04 |
| US20090274216A1 (en) | 2009-11-05 |
| WO2008069073A1 (ja) | 2008-06-12 |
| US9014267B2 (en) | 2015-04-21 |
| MX2009005663A (es) | 2009-09-07 |
| CN101543081A (zh) | 2009-09-23 |
| AU2007330109A1 (en) | 2008-06-12 |
| CN102497551A (zh) | 2012-06-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4956550B2 (ja) | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号化装置、動画像復号化方法及び動画像復号化プログラム | |
| KR101273232B1 (ko) | 업―샘플링을 위한 뷰들 간의 불일치에 기초하여 적응형 보간을 이용하는, 디―인터리브된 뷰들의 재구성 | |
| KR101055741B1 (ko) | 영상신호의 레이어간 예측 방법 | |
| CN108111846B (zh) | 用于可伸缩视频编码的帧间层预测方法及装置 | |
| RU2014102579A (ru) | Способ для интерполяции изображений с использованием асимметричного интерполяционного фильтра и устройство для этого | |
| CN105850133A (zh) | 用于下一代视频译码的内容自适应主运动补偿预测 | |
| JP2011505756A (ja) | 時間的画像検出 | |
| JPH05244585A (ja) | 予測符号化装置及び復号化装置 | |
| KR100718135B1 (ko) | 멀티 포맷 코덱을 위한 영상 예측 장치 및 방법과 이를이용한 영상 부호화/복호화 장치 및 방법 | |
| JP6028965B2 (ja) | 奥行マップの再標本化装置およびその方法、プログラム、並びに奥行マップの再標本化システム | |
| KR101690253B1 (ko) | 영상 처리 장치 및 그 방법 | |
| JP2013048307A (ja) | 動画像復号化装置および動画像復号化方法 | |
| JP5439162B2 (ja) | 動画像符号化装置および動画像復号装置 | |
| JP4404157B2 (ja) | 動画像符号化装置および動画像符号化方法 | |
| JP5197864B2 (ja) | 画像復号化方法及び装置 | |
| JP4251291B2 (ja) | 動画像符号化装置、動画像符号化方法 | |
| KR101601848B1 (ko) | 인터 예측 프레임 생성장치 및 그 생성방법, 및 거기에 이용되는 참조 프레임 보간장치 및 그 방법 | |
| JP4870143B2 (ja) | 動画像符号化装置、動画像符号化方法、動画像復号装置、動画像復号方法 | |
| AU2012200473A1 (en) | Dynamic image encoding device, dynamic image encoding method, dynamic image encoding program, dynamic image decoding device, dynamic image decoding method, and dynamic image decoding program | |
| JP2013034160A (ja) | 動画像符号化装置および動画像符号化方法 | |
| JP4403565B2 (ja) | 動画像復号装置および動画像復号方法 | |
| JP2008017241A (ja) | 高解像度画像処理装置 | |
| Joshi et al. | AV1 In-loop super-resolution framework | |
| JP5571229B2 (ja) | 画像符号化方法及び画像復号化方法 | |
| JP2014131294A (ja) | 画像符号化方法及び画像復号化方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130607 |
|
| A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20130628 |