JPWO2010010943A1 - 画像処理装置および方法 - Google Patents
画像処理装置および方法 Download PDFInfo
- Publication number
- JPWO2010010943A1 JPWO2010010943A1 JP2010521746A JP2010521746A JPWO2010010943A1 JP WO2010010943 A1 JPWO2010010943 A1 JP WO2010010943A1 JP 2010521746 A JP2010521746 A JP 2010521746A JP 2010521746 A JP2010521746 A JP 2010521746A JP WO2010010943 A1 JPWO2010010943 A1 JP WO2010010943A1
- Authority
- JP
- Japan
- Prior art keywords
- image
- circuit
- prediction
- block
- filtering
- 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
- 238000000034 method Methods 0.000 title claims abstract description 125
- 238000001914 filtration Methods 0.000 claims abstract description 185
- 230000008569 process Effects 0.000 claims abstract description 86
- 239000013598 vector Substances 0.000 claims description 62
- 238000003672 processing method Methods 0.000 claims description 2
- 230000002457 bidirectional effect Effects 0.000 description 51
- 238000010586 diagram Methods 0.000 description 46
- 239000000872 buffer Substances 0.000 description 45
- 238000006243 chemical reaction Methods 0.000 description 42
- 238000013139 quantization Methods 0.000 description 32
- 238000004364 calculation method Methods 0.000 description 29
- 230000001413 cellular effect Effects 0.000 description 28
- 230000014509 gene expression Effects 0.000 description 22
- 230000008707 rearrangement Effects 0.000 description 17
- 230000005540 biological transmission Effects 0.000 description 15
- 238000004891 communication Methods 0.000 description 15
- 230000005236 sound signal Effects 0.000 description 14
- 238000001514 detection method Methods 0.000 description 12
- 238000009825 accumulation Methods 0.000 description 10
- 230000009466 transformation Effects 0.000 description 9
- 230000015572 biosynthetic process Effects 0.000 description 8
- 238000003786 synthesis reaction Methods 0.000 description 8
- 239000004973 liquid crystal related substance Substances 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 230000003321 amplification Effects 0.000 description 6
- 238000003199 nucleic acid amplification method Methods 0.000 description 6
- 238000001228 spectrum Methods 0.000 description 6
- 230000002123 temporal effect Effects 0.000 description 6
- 239000000284 extract Substances 0.000 description 5
- 238000000605 extraction Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 238000003384 imaging method Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 239000012536 storage buffer Substances 0.000 description 2
- 230000002194 synthesizing effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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/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/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/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
-
- 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/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- 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/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
-
- 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/46—Embedding additional information in the video signal during the compression process
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本発明は、処理負担を大きくすることなく、精度の高い予測画像を生成することができるようにする画像処理装置および方法に関する。参照フレームからは、16×16画素のマクロブロック単位の画像にa画素の幅の帯領域を余白領域として付けた画像が動き補償画像として抽出され、フィルタリング処理の入力画像とされる。aはFIRフィルタのタップ数に応じて決まる値である。このような動き補償画像を入力画像としてフィルタリング処理が行われ、16×16画素の予測画像がフィルタリング処理の出力画像として出力される。予測画像は、加算回路において逆直交変換回路の出力画像と加算され、加算結果の画像が復号フレームを構成するマクロブロックとして用いられる。本発明は、予測符号化を行う装置、予測符号化によって符号化された情報を復号する装置に適用することができる。
Description
本発明は、画像処理装置および方法に関し、特に、処理負担を大きくすることなく、精度の高い予測画像を生成することができるようにした画像処理装置および方法に関する。
従来、MPEG(Moving Picture Experts Group)、H.26xなどの、動き補償と、離散コサイン変換、カルーネン・レーベ変換、またはウェーブレット変換等の直交変換とを用いた符号化方式が、動画像を扱う場合の符号化方式として一般に利用されている。これらの動画像符号化方式においては、符号化の対象になる入力の画像信号がもつ特性のうち、空間方向および時間方向の相関を利用することで符号量の削減が図られている。
例えば、H.264においては、時間方向の相関を利用して、フレーム間予測(インター予測)の対象になるフレームであるインターフレームを生成する際に、片方向予測若しくは双方向予測が用いられる。フレーム間予測は、異なる時刻のフレームに基づいて予測画像を生成するものである。
図1は、片方向予測の例を示す図である。
図1に示されるように、符号化対象になっている現在時刻のフレームである符号化フレームP0を片方向予測によって生成する場合、現在時刻より時間的に過去、または未来の時刻における符号化済みのフレームを参照フレームとして動き補償が行われる。時間方向の相関を利用し、予測画像と実際の画像との残差を符号化することで、符号量を削減することが可能になる。参照フレームを指定する情報とその参照フレームの参照先の位置を指定する情報として、それぞれ、参照フレーム情報と動きベクトルが用いられ、これらの情報が符号化側から復号側に伝送される。
ここで、参照フレームの枚数は1枚とは限らない。例えば、H.264においては複数枚のフレームを参照フレームとすることが可能とされている。図1に示されるように符号化フレームP0に時間的に近い順に2枚のフレームを参照フレームR0,R1とした場合、参照フレームR0またはR1の任意の画素の画素値から、符号化フレームP0内の任意のマクロブロックの画素値を予測することができる。
図1のそれぞれのフレームの内側に示される枠はマクロブロックを表す。予測対象としている符号化フレームP0のマクロブロックをマクロブロックMBP0とすると、このマクロブロックMBP0に対応する参照フレームR0のマクロブロックは動きベクトルMV0によって指定されるマクロブロックMBR0となる。また、参照フレームR1のマクロブロックは動きベクトルMV1によって指定されるマクロブロックMBR1となる。
マクロブロックMBR0,MBR1の画素値(動き補償画像の画素値)をMC0(i,j),MC1(i,j)とすると、片方向予測においてはいずれかの動き補償画像の画素値が予測画像の画素値として用いられるから、予測画像Pred(i,j)は下式(1)により表される。(i,j)はマクロブロック内における画素の相対位置を表し、0≦i≦16、0≦j≦16となる。式(1)における「||」はMC0(i,j)とMC1(i,j)のうちのいずれかの値をとることを表す。
なお、16×16画素の1つのマクロブロックを16×8画素などのサイズにさらに細かくブロック分割し、分割したブロックごとに、異なる参照フレームを参照先として動き補償を行うことも可能とされている。整数精度の動きベクトルではなく、小数精度の動きベクトルを伝送し、規格で定められたFIRフィルタを用いて補間することにより、対応する参照先の位置の周辺の画素の画素値を動き補償に用いることも可能とされている。
図2は、双方向予測の例を示す図である。
図2に示されるように、符号化対象になっている現在時刻のフレームである符号化フレームB0を双方向予測によって生成する場合、現在時刻より時間的に過去、および未来の時刻における符号化済みのフレームを参照フレームとして動き補償が行われる。符号化済みの複数枚のフレームを参照フレームとし、それらとの相関を利用して予測画像と実際の画像との残差を符号化することで符号量を削減することが可能になる。H.264においては、過去の複数枚のフレームと未来の複数枚のフレームを参照フレームとすることも可能とされている。
図2に示されるように、符号化フレームB0を基準として過去と未来のフレームを1枚ずつ参照フレームL0,L1とした場合、参照フレームL0,L1の任意の画素の画素値から、符号化フレームB0内の任意のマクロブロックの画素値を予測することができる。
図2の例においては、符号化フレームB0のマクロブロックMBB0に対応する参照フレームL0のマクロブロックは動きベクトルMV0によって指定されるマクロブロックMBL0とされている。また、符号化フレームB0のマクロブロックMBB0に対応する参照フレームL1のマクロブロックは動きベクトルMV1によって指定されるマクロブロックMBL1とされている。
マクロブロックMBL0,MBL1の画素値をそれぞれMC0(i,j),MC1(i,j)とすると、予測画像Pred(i,j)の画素値Pred(i,j)は、下式(2)に示すようにそれらの平均値として求められる。
以上のような片方向予測を用いた動き補償においては、動きベクトルの精度を上げたり、マクロブロックのサイズを細かくしたりして予測画像の精度を向上させ、実際の画像との残差を低減させることで符号化効率の向上を図るようにしていた。
また、双方向予測を用いた動き補償においては、時間的に近くにある参照フレームの画素の画素値の平均を予測画像の画素の画素値として用いることで、確率的にみても予測残差を安定して減らすことを実現できるようにしていた。
"Improving Resolution by Image Registration", MICHAL IRANI AND SHMUEL PELEG, Department of Computer Science, The Hebrew University of Jerusalem, 91904 Jerusalem, Israel, Communicated by Rama Chellapa, Received June 16, 1989; accepted May 25, 1990
従来の片方向予測の場合、複数枚の参照フレームが選択可能なときであっても、符号化フレームの画素値としては、いずれか1つの参照フレームの画素値を選択的に用いる必要がある。従って、選択されなかった参照フレームは動き補償に用いられないため、参照フレームと符号化フレームの時間相関が十分に利用されているとはいえず、符号化効率向上の観点からは改善の余地があるといえる。
また、従来の双方向予測の場合、2枚の参照フレームの画素値の平均値を符号化フレームの画素値として用いることで、時間的なローパスフィルタ処理が行われることになり、予測画像から高周波成分が失われてしまう。その結果、高周波成分を含むような残差信号を符号化できないことから、復号して得られた画像は高周波成分が失われたものになり、解像度感が劣化してしまうことになる。
本発明はこのような状況に鑑みてなされたものであり、処理負担を大きくすることなく、精度の高い予測画像を生成することができるようにするものである。
本発明の一側面の画像処理装置は、フィルタリング処理に用いるフィルタのタップ数に応じて、復号済みの参照フレームのブロックである参照ブロックを含むマクロブロックの外側に位置し前記参照ブロックと接する帯領域の幅方向の画素数を決定する決定手段と、フィルタリング処理の対象とする画像を構成するブロックに対応する前記参照フレームのブロックである参照ブロックが、前記参照ブロックを含むマクロブロックの外周と接する場合、前記参照ブロックと前記決定手段により決定された画素数に対応する帯領域とを、前記参照フレームから取得する取得手段と、前記取得手段により取得された参照ブロックと前記帯領域の画像を対象として、フィルタリング処理を行うフィルタリング手段とを有する。
前記取得手段は、前記参照ブロックが前記参照ブロックを含むマクロブロックの外周と接することがない場合、前記参照ブロックを前記参照フレームから取得することができる。
前記決定手段は、前記フィルタリング処理に用いられるフィルタのタップ数を2で除算して得られた値以下の最大の整数と同じ数の画素数を、前記帯領域の幅方向の画素数として決定することができる。
前記フィルタリング手段は、複数の画像の差分画像にローパスフィルタをかける第1のフィルタ手段と、前記第1のフィルタ手段によりローパスフィルタがかけられることによって得られた画像にハイパスフィルタをかける第2のフィルタ手段と、前記第1のフィルタ手段によりローパスフィルタがかけられることによって得られた画像と前記第2のフィルタ手段によりハイパスフィルタがかけられることによって得られた画像とを、複数の画像のうちのいずれかに加算して、マクロブロック単位の予測画像を生成する加算手段とを有することができる。
フレームを構成するマクロブロック単位で復号処理が行われることによって得られた復号済みのフレームを前記参照フレームとして記憶する記憶手段を更に有し、前記取得手段は、前記参照ブロックと前記帯領域とを、前記記憶手段により記憶された参照フレームから取得することができる。
前記参照ブロックを動きベクトルに基づいて特定する特定手段を更に有することができる。
前記フィルタはFIRフィルタであるようにすることができる。
本発明の一側面の画像処理方法は、フィルタリング処理に用いるフィルタのタップ数に応じて、復号済みの参照フレームのブロックである参照ブロックを含むマクロブロックの外側に位置し前記参照ブロックと接する帯領域の幅方向の画素数を決定する決定ステップと、フィルタリング処理の対象とする画像を構成するブロックに対応する前記参照フレームのブロックである参照ブロックが、前記参照ブロックを含むマクロブロックの外周と接する場合、前記参照ブロックと前記決定ステップにおいて決定された画素数に対応する帯領域とを、前記参照フレームから取得する取得ステップと、前記取得ステップにおいて取得された参照ブロックと前記帯領域の画像を対象として、フィルタリング処理を行うフィルタリングステップとを有する。
本発明の一側面においては、フィルタリング処理に用いるフィルタのタップ数に応じて、復号済みの参照フレームのブロックである参照ブロックを含むマクロブロックの外側に位置し参照ブロックと接する帯領域の幅方向の画素数が決定され、フィルタリング処理の対象とする画像を構成するブロックに対応する参照フレームのブロックである参照ブロックが、参照ブロックを含むマクロブロックの外周と接する場合、参照ブロックと決定された画素数に対応する帯領域とが、参照フレームから取得され、取得された参照ブロックと帯領域の画像を対象として、フィルタリング処理が行われる。
本発明の一側面によれば、処理負担を大きくすることなく、精度の高い予測画像を生成することができる。
図3は、本発明の一実施形態に係る復号装置1の構成例を示すブロック図である。
復号装置1に対しては、後述する符号化装置により圧縮符号化された画像情報がケーブル、ネットワーク、またはリムーバブルメディアを介して入力される。圧縮画像情報は、例えば、H.264規格に従って圧縮符号化された画像情報である。
蓄積バッファ11は、圧縮画像情報として入力されたビットストリームを順に記憶する。蓄積バッファ11に記憶された情報は、適宜、フレームを構成するマクロブロックなどの所定の単位の画像毎に可逆復号回路12により読み出される。H.264規格においては、16×16画素のマクロブロック単位ではなく、それをさらに分割した8×8画素、4×4画素などのブロック単位で処理を行うことも可能とされている。
可逆復号回路12は、蓄積バッファ11から読み出した画像に対して、可変長復号処理、算術復号処理等の、符号化方式に対応する復号処理を施す。可逆復号回路12は、復号処理を施すことによって得られた、量子化された変換係数を逆量子化回路13に出力する。
また、可逆復号回路12は、復号の対象になっている画像のヘッダに含まれる識別フラグに基づいて、その画像がイントラ符号化された画像であるのかインター符号化された画像であるのかを識別する。可逆復号回路12は、復号の対象になっている画像がイントラ符号化された画像であると判断した場合、その画像のヘッダに格納されたイントラ予測モード情報をイントラ予測回路22に出力する。イントラ予測モード情報には、処理の単位となるブロックのサイズなどのイントラ予測に関する情報が含まれる。
可逆復号回路12は、復号の対象になっている画像がインター符号化された情報であると判断した場合、その画像のヘッダに格納された動きベクトルと識別フラグを動き予測・補償回路21に出力する。識別フラグにより、インター予測によって予測画像を生成する際の予測のモードが識別される。識別フラグは、例えば、マクロブロック単位、フレーム単位で設定される。
予測のモードとして、図1の片方向予測のモード、図2の双方向予測のモードの他に、時間的に一方向または双方向にある複数の参照フレームから抽出した動き補償画像にフィルタリングを施して予測画像を生成する第3の予測モードが用意されている。
図4は、第3の予測モードの概念を示す図である。
図4の例においては、現在のフレーム(予測フレーム)の時刻を基準として、時間的に1時刻前にあるフレームが参照フレームR0とされ、参照フレームR0の1時刻前にあるフレームが参照フレームR1とされている。この場合、第3の予測モードによれば、参照フレームR0,R1から抽出された動き補償画像MC0,MC1がフィルタリング回路に入力され、フィルタリング回路から出力された画像の画素値が、対象のマクロブロックである予測画像の画素値とされる。
以下、図1を参照して説明したような、一方向にある複数の参照フレームから抽出した動き補償画像のうちのいずれかの動き補償画像の画素値を予測画像の画素値とする予測のモードを単に片方向予測モードという。また、図2を参照して説明したような、双方向にある複数の参照フレームからそれぞれ抽出した動き補償画像の画素値の平均値を予測画像の画素値とする予測のモードを単に双方向予測モードという。
一方向または双方向にある複数の参照フレームから抽出したそれぞれの動き補償画像に対してフィルタリングを施して予測画像の画素値を求める図4に示されるような第3の予測のモードをフィルタリング予測モードという。フィルタリング予測モードについては後に詳述する。
図3の説明に戻り、逆量子化回路13は、可逆復号回路12から供給された量子化された状態の変換係数に対して、符号化側における量子化方式に対応する方式で逆量子化を行う。逆量子化回路13は、逆量子化を行うことによって得られた変換係数を逆直交変換回路14に出力する。
逆直交変換回路14は、離散コサイン変換、カルーネン・レーベ変換等の、符号化側における直交変換方式に対応する方式で例えば4次の逆直交変換を逆量子化回路13から供給された変換係数に対して施し、得られた画像を加算回路15に出力する。
加算回路15は、逆直交変換回路14から供給された復号画像と、動き予測・補償回路21から、またはイントラ予測回路22からスイッチ23を介して供給された予測画像を合成し、合成画像をデブロックフィルタ16に出力する。
デブロックフィルタ16は、加算回路15から供給された画像に含まれるブロック歪を除去し、ブロック歪を除去した画像を出力する。デブロックフィルタ16から出力された画像は並べ替えバッファ17とフレームメモリ19に供給される。
並べ替えバッファ17は、デブロックフィルタ16から供給された画像を一時的に記憶する。並べ替えバッファ17は、記憶している例えばマクロブロック単位の画像から各フレームを生成し、生成したフレームを表示順などの所定の順番に並べ替えてD/A(Digital/Analog)変換回路18に出力する。
D/A変換回路18は、並べ替えバッファ17から供給された各フレームに対してD/A変換を施し、各フレームの信号を外部に出力する。
フレームメモリ19は、デブロックフィルタ16から供給された画像を一時的に記憶する。フレームメモリ19に記憶された情報は、スイッチ20を介して、動き予測・補償回路21またはイントラ予測回路22に供給される。
スイッチ20は、予測画像をインター予測により生成する場合、端子a1に接続し、イントラ予測により生成する場合、端子b1に接続する。スイッチ20の切り替えは例えば制御回路31により制御される。
動き予測・補償回路21は、可逆復号回路12から供給された識別フラグに従って予測モードを決定し、フレームメモリ19に記憶されている復号済みのフレームの中から、参照フレームとして用いるフレームを予測モードに応じて選択する。動き予測・補償回路21は、参照フレームを構成するマクロブロックの中から、対象とする予測画像に対応するマクロブロックを可逆復号回路12から供給された動きベクトルに基づいて決定し、決定したマクロブロックを動き補償画像として抽出する。動き予測・補償回路21は、動き補償画像の画素値から予測画像の画素値を予測モードに応じて求め、画素値を求めた予測画像を、スイッチ23を介して加算回路15に出力する。
イントラ予測回路22は、可逆復号回路12から供給されたイントラ予測モード情報に従ってイントラ予測を行い、予測画像を生成する。イントラ予測回路22は、生成した予測画像を、スイッチ23を介して加算回路15に出力する。
スイッチ23は、動き予測・補償回路21により予測画像が生成された場合、端子a2に接続し、イントラ予測回路22により予測画像が生成された場合、端子b2に接続する。スイッチ23の切り替えも例えば制御回路31により制御される。
制御回路31は、スイッチ20,23の接続を切り替えるなどして、復号装置1の全体の動作を制御する。処理対象の画像がイントラ符号化された画像であるのかインター符号化された画像であるのかの識別が制御回路31により行われるようにしてもよい。
図5は、図3の動き予測・補償回路21の構成例を示すブロック図である。
図5に示されるように、動き予測・補償回路21は、予測モード決定回路41、片方向予測回路42、双方向予測回路43、予測回路44、およびフィルタリング回路45から構成される。可逆復号回路12から供給された動きベクトルと識別フラグは予測モード決定回路41に入力される。
予測モード決定回路41は、可逆復号回路12から供給された識別フラグに従って予測モードを決定する。予測モード決定回路41は、片方向予測によって予測画像の生成を行うことを決定した場合、動きベクトルを片方向予測回路42に出力し、双方向予測によって予測画像の生成を行うことを決定した場合、動きベクトルを双方向予測回路43に出力する。また、予測モード決定回路41は、フィルタリング予測によって予測画像の生成を行うことを決定した場合、動きベクトルを予測回路44に出力する。
このように、フィルタリング予測を識別することができるようにするため、従来のH.264規格で定められている、片方向予測を表す値、双方向予測を表す値とは異なる値を、識別フラグの値として設定することが可能とされている。なお、識別フラグに従って予測モードが決定されるのではなく、情報量を削減するため、予め決められた方法により予測モードが決定されるようにしてもよい。
片方向予測回路42は、図1に示されるように、時間的に一方向にある複数のフレームを参照フレームとし、予測画像に対応する参照フレームのマクロブロックを動きベクトルに基づいて決定する。また、片方向予測回路42は、決定したそれぞれの参照フレームのマクロブロックを動き補償画像としてフレームメモリ19から読み出し、いずれかの動き補償画像の画素値を予測画像の画素値とすることによって予測画像を生成する。片方向予測回路42は、予測画像を加算回路15に出力する。片方向予測回路42による片方向予測としては、例えばH.264規格で規定された片方向予測が用いられる。
双方向予測回路43は、図2に示されるように、時間的に双方向にある複数のフレームを参照フレームとし、予測画像に対応する参照フレームのマクロブロックを動きベクトルに基づいて決定する。また、双方向予測回路43は、決定したそれぞれの参照フレームのマクロブロックを動き補償画像としてフレームメモリ19から読み出し、読み出した動き補償画像の画素値の平均を予測画像の画素値とすることによって予測画像を生成する。双方向予測回路43は、予測画像を加算回路15に出力する。双方向予測回路43による双方向予測としては、例えばH.264規格で規定された双方向予測が用いられる。
予測回路44は、時間的に一方向、または双方向にある複数のフレームを参照フレームとして決定する。どのフレームを参照フレームとするのかは、予め決定されているようにしてもよいし、識別フラグとともに符号化側から伝送されてきた情報により指定されるようにしてもよい。
図6は、参照フレームの例を示す図である。
図6の例においては、図4を参照して説明したものと同様に、予測フレームの時刻を基準として、時間的に1時刻前とその1時刻前にある2枚のフレームが参照フレームとされている。2枚の参照フレームのうち、予測フレームにより近い、1時刻前のフレームが参照フレームR0とされ、参照フレームR0の1時刻前のフレームが参照フレームR1とされている。
図7は、参照フレームの他の例を示す図である。
図7の例においては、予測フレームの時刻を基準として、時間的に1時刻前と1時刻後にある2枚のフレームが参照フレームとされている。2枚の参照フレームのうち、予測フレームの1時刻前のフレームが参照フレームL0とされ、1時刻後のフレームが参照フレームL1とされている。
このように、フィルタリング予測においては、時間的に一方向にある複数のフレーム、または双方向にある複数のフレームが参照フレームとして用いられる。
また、予測回路44は、図6、図7に示されるようにして決定した参照フレームの復号済みのマクロブロックのうち、予測画像に対応するマクロブロックを予測モード決定回路41から供給された動きベクトルに基づいて決定する。
予測回路44は、決定したそれぞれの参照フレームのマクロブロックを動き補償画像としてフレームメモリ19から読み出し、読み出した動き補償画像をフィルタリング回路45に出力する。動きベクトルが、16×16画素などのマクロブロック単位で行われるのではなく、マクロブロックをさらに分割したブロック単位で行われるようにしてもよい。フィルタリング回路45に対しては、例えばマクロブロック単位の画像が入力される。図5において、予測回路44からフィルタリング回路45に向かう矢印として2本の矢印が示されていることは2つの動き補償画像が供給されることを表している。
フィルタリング回路45は、予測回路44から供給された動き補償画像を入力としてフィルタリングを行い、フィルタリングを行うことによって得られた予測画像を加算回路15に出力する。
図8は、フィルタリング回路45の構成例を示すブロック図である。図8の構成を有するフィルタリング回路45においては、時間領域の信号に対してフィルタリングが施される。
図8に示されるように、フィルタリング回路45は、差分計算回路51、ローパスフィルタ回路52、ゲイン調整回路53、ハイパスフィルタ回路54、ゲイン調整回路55、加算回路56、および加算回路57から構成される。予測回路44から供給された動き補償画像MC0は差分計算回路51と加算回路57に入力され、動き補償画像MC1は差分計算回路51に入力される。
図6に示されるように片方向予測によって予測画像を生成する場合、例えば、予測画像との相関がより高いと考えられる参照フレームR0から抽出された画像が動き補償画像MC0とされ、参照フレームR1から抽出された画像が動き補償画像MC1とされる。参照フレームR0から抽出された画像が動き補償画像MC1とされ、参照フレームR1から抽出された画像が動き補償画像MC0とされるようにしてもよい。
一方、図7に示されるように双方向予測によって予測画像を生成する場合、例えば、1時刻前の参照フレームL0から抽出された画像が動き補償画像MC0とされ、1時刻後の参照フレームL1から抽出された画像が動き補償画像MC1とされる。参照フレームL0から抽出された画像が動き補償画像MC1とされ、参照フレームL1から抽出された画像が動き補償画像MC0とされるようにしてもよい。
式(3)において、(i,j)は動き補償画像内における画素の相対位置を表し、16×16画素のマクロブロック単位で処理が行われるようになされている場合、0≦i≦16、0≦j≦16となる。以下、同様とする。
ローパスフィルタ回路52はFIRフィルタ回路を有する。ローパスフィルタ回路52は、差分計算回路51から供給された差分画像Dに対してローパスフィルタをかけ、得られた画像をゲイン調整回路53とハイパスフィルタ回路54に出力する。ローパスフィルタをかけることによって得られた画像である差分画像D’は下式(4)により表される。式(4)のLPF(X)は、入力画像Xに対して2次元のFIRフィルタを用いてローパスフィルタをかけることを表す。
ゲイン調整回路53は、ローパスフィルタ回路52から供給された差分画像D’のゲインを調整し、ゲインを調整した画像を加算回路56に出力する。ゲイン調整回路53の出力画像X(i,j)は下式(5)により表される。
ハイパスフィルタ回路54はFIRフィルタ回路を有する。ハイパスフィルタ回路54は、ローパスフィルタ回路52から供給された差分画像D’に対してハイパスフィルタをかけ、得られた画像をゲイン調整回路55に出力する。ハイパスフィルタをかけることによって得られた画像である差分画像D’’は下式(6)により表される。式(6)のHPF(X)は、入力画像Xに対して2次元のFIRフィルタを用いてハイパスフィルタをかけることを表す。
ゲイン調整回路55は、ハイパスフィルタ回路54から供給された差分画像D’’のゲインを調整し、ゲインを調整した画像を加算回路56に出力する。ゲイン調整回路55の出力画像Y(i,j)は下式(7)により表される。
式(5)のα、式(7)のβの値としては、例えばα=0.8、β=0.2といった値が選ばれるが、予測画素の精度を上げるためにこれ以外の値とされるようにしてもよい。また、入力シーケンスの性質などに応じて適応的に変えるようにしてもよい。
出力画像Z(i,j)は、動き補償画像MC0と動き補償画像MC1の差分、すなわち相関から求められる、画像の高周波成分を表すものになる。
加算回路57は、動き補償画像MC0に対して、加算回路56から供給された出力画像Z(i,j)を足し込み、得られた画像を予測画像として加算回路15に出力する。加算回路57の最終出力である予測画像S(i,j)は下式(9)により表される。
このように、フィルタリング予測モードによれば、高周波成分を表す画像を動き補償画像MC0に足し込むことによって得られた画像が予測画像として生成される。この予測画像は、単純に双方向予測を行った場合に得られる予測画像と較べて高周波成分をより多く含むものになる。上述したように、複数の動き補償画像の画素値の平均が画素値として求められるから、双方向予測を行うことによって生成される予測画像は高周波成分が失われたものになるといえる。
また、高周波成分を多く含む予測画像が加算回路15において復号画像に加算されるから、最終的に復号装置1から出力される画像も高周波成分を多く含む高精細なものになる。
さらに、単純に片方向予測を行った場合と較べて、画像の時間相関をより効率的に利用して予測画像を生成することが可能になる。上述したように、複数の動き補償画像のうちのいずれかの動き補償画像の画素値が用いられるから、片方向予測によって生成される予測画像は、画像の時間相関を十分に利用して生成したものとはいえない。
ここで、以上の構成を有する復号装置1の処理について説明する。
はじめに、図9のフローチャートを参照して、復号装置1の復号処理について説明する。
図9の処理は、例えば蓄積バッファ11に記憶された情報から、16×16画素のマクロブロックなどの所定のサイズの画像が可逆復号回路12により読み出されたときに開始される。図9の各ステップの処理は、適宜、他のステップの処理と並行して、または他のステップと順番を変えて行われる。後述する各フローチャートにおける各ステップの処理も同様である。
ステップS1において、可逆復号回路12は、蓄積バッファ11から読み出した画像に対して復号処理を施し、量子化された変換係数を逆量子化回路13に出力する。また、可逆復号回路12は、復号対象の画像がイントラ符号化された画像である場合、イントラ予測モード情報をイントラ予測回路22に出力し、インター符号化された画像である場合、動きベクトルと識別フラグを動き予測・補償回路21に出力する。
ステップS2において、逆量子化回路13は、符号化側における量子化方式に対応する方式で逆量子化を行い、変換係数を逆直交変換回路14に出力する。
ステップS3において、逆直交変換回路14は、逆量子化回路13から供給された変換係数に対して逆直交変換を施し、得られた画像を加算回路15に出力する。
ステップS4において、加算回路15は、逆直交変換回路14から供給された復号画像と、動き予測・補償回路21から、またはイントラ予測回路22から供給された予測画像を合成し、合成画像をデブロックフィルタ16に出力する。
ステップS5において、デブロックフィルタ16は、フィルタリングを施すことによって、合成画像に含まれるブロック歪を除去し、ブロック歪を除去した画像を出力する。
ステップS6において、フレームメモリ19は、デブロックフィルタ16から供給された画像を一時的に記憶する。
ステップS7において、制御回路31は、対象の画像がイントラ符号化された画像であるか否かを判定する。
イントラ符号化された画像であるとステップS7において判定された場合、ステップS8において、イントラ予測回路22は、イントラ予測を行うことによって予測画像を生成し、生成した予測画像を加算回路15に出力する。
一方、イントラ符号化された画像ではない、すなわちインター符号化された画像であるとステップS7において判定された場合、ステップS9において、動き予測・補償回路21により動き予測・補償処理が行われる。動き予測・補償処理が行われることによって生成された予測画像は加算回路15に出力される。動き予測・補償処理については図10のフローチャートを参照して後述する。
ステップS10において、制御回路31は、1フレーム全体のマクロブロックについて以上の処理を行ったか否かを判定し、処理を行っていないと判定した場合、他のマクロブロックに注目して、ステップS1以降の処理を繰り返す。
一方、1フレーム全体のマクロブロックについて処理を行ったとステップS10において判定された場合、ステップS11において、並べ替えバッファ17は、制御回路31による制御に従って、生成したフレームをD/A変換回路18に出力する。
ステップS12において、D/A変換回路18は、並べ替えバッファ17から供給されたフレームに対してD/A変換を施し、アナログの信号を外部に出力する。以上の処理が、各フレームを対象として行われる。
次に、図10のフローチャートを参照して、図9のステップS9において行われる動き予測・補償処理について説明する。
ステップS21において、動き予測・補償回路21の予測モード決定回路41は、可逆復号回路12から供給された識別フラグがフィルタリング予測モードで処理を行うことを表しているか否かを判定する。
フィルタリング予測モードで処理を行うことを表していないとステップS21において判定された場合、ステップS22において、片方向予測、または双方向予測が行われ、予測画像が生成される。
すなわち、識別フラグが片方向予測モードで処理を行うことを表している場合、予測モード決定回路41から片方向予測回路42に対して動きベクトルが供給され、片方向予測回路42において片方向予測が行われる。また、識別フラグが双方向予測モードで処理を行うことを表している場合、予測モード決定回路41から双方向予測回路43に対して動きベクトルが供給され、双方向予測回路43において双方向予測が行われる。予測画像が加算回路15に出力された後、図9のステップS9に戻り、それ以降の処理が行われる。
一方、フィルタリング予測モードで処理を行うことを表しているとステップS21において判定された場合、ステップS23において、予測回路44は、複数の参照フレームのそれぞれから動き補償画像を抽出し、フィルタリング回路45に出力する。予測モード決定回路41から予測回路44に対して動きベクトルが供給され、それが用いられて動き補償画像が抽出される。
ステップS24において、フィルタリング回路45の差分計算回路51は、動き補償画像MC0と動き補償画像MC1の差分を計算し、差分画像をローパスフィルタ回路52に出力する。
ステップS25において、ローパスフィルタ回路52は、差分計算回路51から供給された差分画像に対してローパスフィルタをかけ、得られた画像をゲイン調整回路53とハイパスフィルタ回路54に出力する。
ステップS26において、ゲイン調整回路53は、ローパスフィルタ回路52から供給された画像のゲインを調整し、ゲインを調整した画像を加算回路56に出力する。
ステップS27において、ハイパスフィルタ回路54は、ローパスフィルタ回路52から供給された差分画像に対してハイパスフィルタをかけ、得られた画像をゲイン調整回路55に出力する。
ステップS28において、ゲイン調整回路55は、ハイパスフィルタ回路54から供給された差分画像のゲインを調整し、ゲインを調整した画像を加算回路56に出力する。
ステップS29において、加算回路56は、ゲイン調整回路53から供給された画像とゲイン調整回路55から供給された画像を加算して画像の高周波成分を求める。求められた高周波成分は加算回路56から加算回路57に供給される。
ステップS30において、加算回路57は、動き補償画像MC0に対して、加算回路56から供給された画像(高周波成分)を足し込み、得られた画像を予測画像として加算回路15に出力する。その後、図9のステップS9に戻り、それ以降の処理が行われる。
以上のように、フィルタリング予測によって生成された予測画像を用いて復号が行われることにより、高精細な復号画像を得ることが可能になる。
次に、符号化側の装置の構成と動作について説明する。
図11は、符号化装置101の構成例を示すブロック図である。符号化装置101により符号化されることによって得られた圧縮画像情報が、図3の復号装置1に入力される。
A/D変換回路111は、入力信号にA/D変換を施し、画像を並べ替えバッファ112に出力する。
並べ替えバッファ112は、圧縮画像情報のGOP(Group of Pictures)構造に応じてフレームの並べ替えを行い、マクロブロックなどの所定の単位の画像を出力する。並べ替えバッファ112から出力された画像は、加算回路113、モード決定回路123、動き予測・補償回路125、およびイントラ予測回路126に供給される。
加算回路113は、並べ替えバッファ112から供給された画像と、動き予測・補償回路125、またはイントラ予測回路126により生成され、スイッチ127を介して供給された予測画像の差を求め、残差を直交変換回路114に出力する。予測画像が原画像に近く、ここで求められる残差が少ないほど、残差に割り当てる符号量が少なくて済むことから符号化効率が高いといえる。
直交変換回路114は、加算回路113から供給された残差に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、直交変換を施すことによって得られた変換係数を量子化回路115に出力する。
量子化回路115は、直交変換回路114から供給された変換係数を、レート制御回路118による制御に従って量子化し、量子化した変換係数を出力する。量子化回路115により量子化された変換係数は可逆符号化回路116と逆量子化回路119に供給される。
可逆符号化回路116は、量子化回路115から供給された変換係数を、可変長符号化、算術符号化等の可逆符号化を施すことによって圧縮し、情報を蓄積バッファ117に出力する。
また、可逆符号化回路116は、モード決定回路123から供給された情報に従って識別フラグの値を設定し、識別フラグを画像のヘッダに記述する。可逆符号化回路116により記述された識別フラグに基づいて、上述したように、復号装置1において予測モードが決定される。
可逆符号化回路116は、動き予測・補償回路125またはイントラ予測回路126から供給された情報を画像のヘッダに記述することも行う。動き予測・補償回路125からは、インター予測を行う際に検出された動きベクトルなどが供給され、イントラ予測回路126からは、適用されたイントラ予測モードに関する情報が供給される。
蓄積バッファ117は、可逆符号化回路116から供給された情報を一時的に記憶し、所定のタイミングで圧縮画像情報として出力する。蓄積バッファ117は、発生符号量の情報をレート制御回路118に出力する。
レート制御回路118は、蓄積バッファ117から出力された符号量に基づいて量子化スケールを算出し、算出した量子化スケールで量子化が行われるように量子化回路115を制御する。
逆量子化回路119は、量子化回路115により量子化された変換係数に対して逆量子化を施し、変換係数を逆直交変換回路120に出力する。
逆直交変換回路120は、逆量子化回路119から供給された変換係数に対して逆直交変換を施し、得られた画像をデブロックフィルタ121に出力する。
デブロックフィルタ121は、局所的に復号された画像に現れるブロック歪みを除去し、ブロック歪みを除去した画像をフレームメモリ122に出力する。
フレームメモリ122は、デブロックフィルタ121から供給された画像を記憶する。フレームメモリ122に記憶された画像はモード決定回路123により適宜読み出される。
モード決定回路123は、フレームメモリ122に記憶されている画像と並べ替えバッファ112から供給された原画像に基づいて、イントラ符号化を行うか、インター符号化を行うかを決定する。また、モード決定回路123は、インター符号化を行うことを決定した場合、片方向予測モード、双方向予測モード、フィルタリング予測モードのうちのいずれかのモードを決定する。モード決定回路123は、決定結果を表す情報をモード情報として可逆符号化回路116に出力する。
モード決定回路123は、インター符号化を行うことを決定した場合、フレームメモリ122に記憶されている、局所的に復号して得られたフレームを、スイッチ124を介して動き予測・補償回路125に出力する。
また、モード決定回路123は、イントラ符号化を行うことを決定した場合、フレームメモリ122に記憶されている、局所的に復号して得られたフレームをイントラ予測回路126に出力する。
スイッチ124は、インター符号化を行う場合、端子a11に接続し、イントラ符号化を行う場合、端子b11に接続する。スイッチ124の切り替えは例えば制御回路131により制御される。
動き予測・補償回路125は、並べ替えバッファ112から供給された原画像と、フレームメモリ122から読み出された参照フレームに基づいて動きベクトルを検出し、検出した動きベクトルを可逆符号化回路116に出力する。また、動き予測・補償回路125は、検出した動きベクトルと参照フレームを用いて動き補償を行うことによって予測画像を生成し、生成した予測画像を、スイッチ127を介して加算回路113に出力する。
イントラ予測回路126は、並べ替えバッファ112から供給された原画像と、ローカルデコードされてフレームメモリ122に記憶されている参照フレームに基づいてイントラ予測を行い、予測画像を生成する。イントラ予測回路126は、生成した予測画像を、スイッチ127を介して加算回路113に出力し、イントラ予測モード情報を可逆符号化回路116に出力する。
スイッチ127は、端子a12または端子b12に接続し、動き予測・補償回路125、またはイントラ予測回路126により生成された予測画像を加算回路113に出力する。
制御回路131は、モード決定回路123により決定されたモードに応じてスイッチ124,127の接続を切り替えるなどして、符号化装置101の全体の動作を制御する。
図12は、図11のモード決定回路123の構成例を示すブロック図である。
図12に示されるように、モード決定回路123は、イントラ予測回路141、インター予測回路142、予測誤差計算回路143、および決定回路144から構成される。モード決定回路123においては、それぞれ異なる大きさのブロックを対象としてイントラ予測、インター予測が行われ、その結果から、どの予測モードで予測を行うのかが決定される。インター予測については、片方向予測モード、双方向予測モード、フィルタリング予測モードのそれぞれの予測モードでの処理が行われる。並べ替えバッファ112から供給された原画像はイントラ予測回路141、インター予測回路142、および予測誤差計算回路143に入力される。
イントラ予測回路141は、原画像とフレームメモリ122から読み出された画像に基づいてそれぞれ異なるサイズのブロック単位でイントラ予測を行い、生成した予測画像を予測誤差計算回路143に出力する。4×4予測回路151−1においては、4×4画素のブロック単位でイントラ予測が行われ、8×8予測回路151−2においては、8×8画素のブロック単位でイントラ予測が行われる。16×16予測回路151−3においては、16×16画素のブロック単位でイントラ予測が行われる。
インター予測回路142の予測回路161は、原画像とフレームメモリ122から読み出された参照フレームに基づいてそれぞれ異なるサイズのブロック単位で動きベクトルを検出する。また、予測回路161は、検出した動きベクトルに基づいて動き補償を行い、予測画像の生成に用いる動き補償画像を出力する。
16×16予測回路161−1においては、16×16画素のブロック単位の画像を対象として処理が行われ、16×8予測回路161−2においては、16×8画素のブロック単位の画像を対象として処理が行われる。また、4×4予測回路161−(n−1)においては、4×4画素のブロック単位の画像を対象として処理が行われる。スキップ/ダイレクト予測回路161−nにおいては、スキップ予測モード、ダイレクト予測モードで動きベクトルが検出され、検出された動きベクトルを用いて動き補償が行われる。
現在のフレームを基準として、片方向にある複数の参照フレームから抽出された動き補償画像が予測回路161の各回路から片方向予測回路162に供給される。また、現在のフレームを基準として、双方向にある複数の参照フレームから抽出された動き補償画像が予測回路161の各回路から双方向予測回路163に供給される。
フィルタリング予測が上述したように片方向にある複数の参照フレームから抽出された動き補償画像を用いて行われる場合、予測回路161の各回路からフィルタリング回路164に対して、片方向にある参照フレームから抽出された動き補償画像が供給される。フィルタリング予測が双方向にある複数の参照フレームから抽出された動き補償画像を用いて行われる場合、予測回路161の各回路からフィルタリング回路164に対して、双方向にある参照フレームから抽出された動き補償画像が供給される。
片方向予測回路162は、予測回路161の各回路から供給されたそれぞれ異なるサイズの動き補償画像を用いて片方向予測を行うことによって予測画像を生成し、生成した予測画像を予測誤差計算回路143に出力する。例えば、片方向予測回路162は、予測回路161−1から供給された、16×16画素の複数の動き補償画像のうちのいずれかの画像の画素値を予測画像の画素値とすることによって予測画像を生成する。
双方向予測回路163は、予測回路161の各回路から供給されたそれぞれ異なるサイズの動き補償画像を用いて双方向予測を行うことによって予測画像を生成し、生成した予測画像を予測誤差計算回路143に出力する。例えば、双方向予測回路163は、予測回路161−1から供給された、16×16画素の複数の動き補償画像の画素値の平均値を予測画像の画素値とすることによって予測画像を生成する。
フィルタリング回路164は、予測回路161の各回路から供給されたそれぞれ異なるサイズの動き補償画像を用いてフィルタリング予測を行うことによって予測画像を生成し、生成した予測画像を予測誤差計算回路143に出力する。フィルタリング回路164は、復号装置1のフィルタリング回路45に対応して、図8に示される構成と同じ構成を有している。
例えば、フィルタリング回路164は、予測回路161−1から供給された16×16画素の動き補償画像MC0,MC1を対象として予測画像を生成する場合、動き補償画像MC0,MC1の差分を求め、求めた差分画像にローパスフィルタをかける。また、フィルタリング回路164は、ローパスフィルタの出力に対してハイパスフィルタをかけ、その出力のゲインを調整した画像と、ローパスフィルタの出力のゲインを調整した画像とを加算する。フィルタリング回路164は、高周波成分を表す加算結果の画像を動き補償画像MC0に加算することによって予測画像を生成し、生成した予測画像を予測誤差計算回路143に出力する。
予測誤差計算回路143は、イントラ予測回路141の各回路から供給されたそれぞれの予測画像について、原画像との差を求め、求めた差を表す残差信号を決定回路144に出力する。また、予測誤差計算回路143は、インター予測回路142の片方向予測回路162、双方向予測回路163、フィルタリング回路164から供給されたそれぞれの予測画像について、原画像との差を求め、求めた差を表す残差信号を決定回路144に出力する。
決定回路144は、予測誤差計算回路143から供給された残差信号の強度を測定し、原画像との差の少ない予測画像の生成に用いられた予測方法を、符号化に用いる予測画像を生成するための予測方法として決定する。決定回路144は、決定結果を表す情報をモード情報として可逆符号化回路116に出力する。モード情報には、どのサイズのブロックを処理の単位とするのかを表す情報なども含まれる。
また、決定回路144は、インター予測によって予測画像を生成することを決定した場合(インター符号化を行うことを決定した場合)、フレームメモリ122から読み出した参照フレームを、モード情報とともに動き予測・補償回路125に出力する。決定回路144は、イントラ予測によって予測画像を生成することを決定した場合(イントラ符号化を行うことを決定した場合)、フレームメモリ122から読み出したイントラ予測に用いる画像を、モード情報とともにイントラ予測回路126に出力する。
図13は、図11の動き予測・補償回路125の構成例を示すブロック図である。
図13に示されるように、動き予測・補償回路125は、動きベクトル検出回路181、片方向予測回路182、双方向予測回路183、予測回路184、およびフィルタリング回路185から構成される。予測モード決定回路41に替えて動きベクトル検出回路181が設けられている点を除いて、動き予測・補償回路125は、図5に示される動き予測・補償回路21と同様の構成を有する。
動きベクトル検出回路181は、並べ替えバッファ112から供給された原画像と、モード決定回路123から供給された参照フレームに基づいて、ブロックマッチングなどを行うことによって動きベクトルを検出する。動きベクトル検出回路181は、モード決定回路123から供給されたモード情報を参照し、参照フレームとともに動きベクトルを片方向予測回路182、双方向予測回路183、予測回路184のいずれかに出力する。
動きベクトル検出回路181は、片方向予測が選択されている場合、参照フレームとともに動きベクトルを片方向予測回路182に出力し、双方向予測を行うことが選択されている場合、それらの情報を双方向予測回路183に出力する。動きベクトル検出回路181は、フィルタリング予測を行うことが選択されている場合、参照フレームとともに動きベクトルを予測回路184に出力する。
片方向予測回路182は、図5の片方向予測回路42と同様に、片方向予測を行うことによって予測画像を生成する。片方向予測回路182は、生成した予測画像を加算回路113に出力する。
双方向予測回路183は、図5の双方向予測回路43と同様に、双方向予測を行うことによって予測画像を生成する。双方向予測回路183は、生成した予測画像を加算回路113に出力する。
予測回路184は、図5の予測回路44と同様に、2枚などの複数の参照フレームからそれぞれ動き補償画像を抽出し、抽出した複数の動き補償画像をフィルタリング回路185に出力する。
フィルタリング回路185は、図5のフィルタリング回路45と同様に、フィルタリング予測を行うことによって予測画像を生成する。フィルタリング回路185は、生成した予測画像を加算回路113に出力する。なお、フィルタリング回路185は図8に示されるフィルタリング回路45の構成と同様の構成を有している。以下、適宜、図8に示されるフィルタリング回路45の構成をフィルタリング回路185の構成として引用して説明する。
フィルタリング予測によって生成された予測画像は、片方向予測、双方向予測によって生成された予測画像と較べて高周波成分を多く含み、原画像との差が少ない画像になる。従って、残差に割り当てる符号量が少なくて済むため、符号化効率を上げることが可能になる。
また、参照フレームの数が少なくとも2枚あればフィルタリング予測を行うことができるため、そのように符号化効率を上げるといったことを、処理を複雑にすることなく実現することが可能になる。例えば、インター予測で用いる参照フレームの数を多くして精度の高い予測画像を生成し、それを用いることによっても原画像との残差を小さくし、符号化効率を上げることができるが、この場合、参照フレームの数が多くなることから、処理が複雑になる。
なお、予測方法を選択する際、予測に必要な動きベクトルや符号化モードといった情報の符号量を考慮し、符号量に応じた重みを残差信号の強度に加えて最適な予測方法が選択されるようにしてもよい。これにより、より一層、符号化効率を改善させることが可能になる。また、符号化処理の簡略化のために、入力された原画像の時間・空間方向の特徴量を利用して、適応的に予測方法が選択されるようにしてもよい。
次に、以上のような構成を有する符号化装置101の処理について説明する。
図14のフローチャートを参照して、符号化装置101の符号化処理について説明する。この処理は、マクロブロックなどの所定の単位の画像が並べ替えバッファ112から出力されたときに開始される。
ステップS51において、加算回路113は、並べ替えバッファ112から供給された画像と、動き予測・補償回路125、またはイントラ予測回路126により生成された予測画像の差を求め、残差を直交変換回路114に出力する。
ステップS52において、直交変換回路114は、加算回路113から供給された残差に対して直交変換を施し、変換係数を量子化回路115に出力する。
ステップS53において、量子化回路115は、直交変換回路114から供給された変換係数を量子化し、量子化した変換係数を出力する。
ステップS54において、逆量子化回路119は、量子化回路115により量子化された変換係数に対して逆量子化を施し、変換係数を逆直交変換回路120に出力する。
ステップS55において、逆直交変換回路120は、逆量子化回路119から供給された変換係数に対して逆直交変換を施し、得られた画像をデブロックフィルタ121に出力する。
ステップS56において、デブロックフィルタ121は、フィルタリングを施すことによってブロック歪みを除去し、ブロック歪みを除去した画像をフレームメモリ122に出力する。
ステップS57において、フレームメモリ122は、デブロックフィルタ121から供給された画像を記憶する。
ステップS58において、モード決定回路123によりモード決定処理が行われる。モード決定処理により、どの予測モードで予測画像を生成するのかが決定される。モード決定処理については図15のフローチャートを参照して後述する。
ステップS59において、制御回路131は、モード決定回路123による決定に基づいて、イントラ予測を行うか否かを判定する。
イントラ予測を行うとステップS59において判定された場合、ステップS60において、イントラ予測回路126はイントラ予測を行い、予測画像を加算回路113に出力する。
一方、イントラ予測を行わない、すなわちインター予測を行うとステップS59において判定された場合、ステップS61において、動き予測・補償処理が動き予測・補償回路125により行われ、予測画像が加算回路113に出力される。動き予測・補償処理については図16のフローチャートを参照して後述する。
ステップS62において、可逆符号化回路116は、量子化回路115から供給された変換係数を圧縮し、蓄積バッファ117に出力する。また、可逆符号化回路116は、モード決定回路123から供給された情報に従って識別フラグを画像のヘッダに記述したり、動き予測・補償回路125から供給された動きベクトルを画像のヘッダに記述したりする。
ステップS63において、蓄積バッファ117は、可逆符号化回路116から供給された情報を一時的に記憶する。
ステップS64において、制御回路31は、1フレーム全体のマクロブロックについて以上の処理を行ったか否かを判定し、処理を行っていないと判定した場合、他のマクロブロックに注目して、ステップS51以降の処理を繰り返す。
一方、1フレーム全体のマクロブロックについて処理を行ったとステップS64において判定された場合、ステップS65において、蓄積バッファ117は制御回路131による制御に従って圧縮画像情報を出力する。以上の処理が、各フレームを対象として行われる。
次に、図15のフローチャートを参照して、図14のステップS58において行われるモード決定処理について説明する。
ステップS81において、イントラ予測回路141、インター予測回路142は、それぞれ、異なる大きさのブロックを対象としてイントラ予測、インター予測を行い、予測画像を生成する。生成された予測画像は予測誤差計算回路143に供給される。
ステップS82において、予測誤差計算回路143は、イントラ予測回路141の各回路、インター予測回路142の片方向予測回路162、双方向予測回路163、フィルタリング回路164から供給されたそれぞれの予測画像について、原画像との差を求める。予測誤差計算回路143は残差信号を決定回路144に出力する。
ステップS83において、決定回路144は、予測誤差計算回路143から供給された残差信号の強度に基づいて、加算回路113に供給する予測画像を生成するための予測方法を決定する。
ステップS84において、決定回路144は、決定した予測方法に関する情報であるモード情報を可逆符号化回路116に出力する。その後、図14のステップS58に戻り、それ以降の処理が行われる。
次に、図16のフローチャートを参照して、図14のステップS61において行われる動き予測・補償処理について説明する。
ステップS91において、動きベクトル検出回路181は、原画像と参照フレームに基づいて動きベクトルを検出する。
ステップS92において、動きベクトル検出回路181は、モード決定回路123によりフィルタリング予測モードで処理を行うことが決定されたか否かを判定する。
フィルタリング予測モードで処理を行うことが決定されていないとステップS92において判定された場合、ステップS93において、片方向予測、または双方向予測が行われ、予測画像が生成される。
すなわち、片方向予測モードで処理を行うことが決定された場合、動きベクトル検出回路181から片方向予測回路182に対して動きベクトルが供給され、片方向予測回路182において片方向予測が行われる。また、双方向予測モードで処理を行うことが決定された場合、動きベクトル検出回路181から双方向予測回路183に対して動きベクトルが供給され、双方向予測回路183において双方向予測が行われる。予測画像が加算回路113に出力された後、図14のステップS61に戻り、それ以降の処理が行われる。
一方、フィルタリング予測モードで処理を行うことが決定されたとステップS92において判定された場合、ステップS94において、予測回路184は、複数の参照フレームのそれぞれから動き補償画像を抽出し、フィルタリング回路185に出力する。動きベクトル検出回路181から予測回路184に対して動きベクトルが供給され、それが用いられて動き補償画像が抽出される。
ステップS95において、フィルタリング回路185の差分計算回路51(図8)は、動き補償画像MC0と動き補償画像MC1の差分を計算し、差分画像をローパスフィルタ回路52に出力する。
ステップS96において、フィルタリング回路185のローパスフィルタ回路52は、差分計算回路51から供給された差分画像に対してローパスフィルタをかけ、得られた画像をゲイン調整回路53とハイパスフィルタ回路54に出力する。
ステップS97において、フィルタリング回路185のゲイン調整回路53は、ローパスフィルタ回路52から供給された差分画像のゲインを調整し、ゲインを調整した画像を加算回路56に出力する。
ステップS98において、フィルタリング回路185のハイパスフィルタ回路54は、ローパスフィルタ回路52から供給された差分画像に対してハイパスフィルタをかけ、得られた画像をゲイン調整回路55に出力する。
ステップS99において、フィルタリング回路185のゲイン調整回路55は、ハイパスフィルタ回路54から供給された画像のゲインを調整し、ゲインを調整した画像を加算回路56に出力する。
ステップS100において、フィルタリング回路185の加算回路56は、ゲイン調整回路53から供給された画像とゲイン調整回路55から供給された画像を加算して高周波成分を求める。求められた高周波成分は加算回路56から加算回路57に対して供給される。
ステップS101において、フィルタリング回路185の加算回路57は、動き補償画像MC0に対して、加算回路56から供給された画像(高周波成分)を足し込み、得られた画像を予測画像として加算回路113に出力する。その後、図14のステップS61に戻り、それ以降の処理が行われる。
以上のように、フィルタリング予測によって生成された予測画像を用いて符号化を行うことにより、符号化効率を上げることが可能になる。
以上においては、フィルタリング回路45,185は図8に示されるような構成を有するものとしたが、この構成は適宜変更可能である。
図17は、フィルタリング回路45の他の構成例を示すブロック図である。図8に示される構成と対応する構成には同じ符号を付してある。重複する説明については適宜省略する。
図17の差分計算回路51は、動き補償画像MC0と動き補償画像MC1の差分を計算し、差分画像をローパスフィルタ回路52に出力する。
ローパスフィルタ回路52は、差分計算回路51から供給された差分画像に対してローパスフィルタをかけ、得られた画像を加算回路57に出力する。
加算回路57は、動き補償画像MC0に対して、ローパスフィルタ回路52から供給された画像を足し込み、得られた画像を予測画像として出力する。
図17に示されるような構成を用いることにより、図8の構成を用いた場合と較べて処理量を減らすことができ、高速な動作を実現する可能になる。
図18は、フィルタリング回路45のさらに他の構成例を示すブロック図である。図8に示される構成と対応する構成には同じ符号を付してある。重複する説明については適宜省略する。
図18のフィルタリング回路45においては、時間領域の信号ではなく周波数領域の信号を対象としてフィルタリングが施される。図8、図17に示されるフィルタリング回路45は、いずれも、時間領域の信号に対してフィルタリングを施すものである。
図18の差分計算回路51は、動き補償画像MC0と動き補償画像MC1の差分を計算し、差分画像を直交変換回路201に出力する。
直交変換回路201は、差分画像に対して、DCT(Discrete Cosine Transform)、Hadamard変換、KLT(Karhunen Loeve Transformation)に代表される直交変換を施し、直交変換後の信号をバンドパスフィルタ回路202に出力する。直交変換を行い、周波数領域の信号に対してフィルタリングを施すようにすることにより、時間領域の信号に対してフィルタリングを施す場合に較べて、より柔軟に精度の高いフィルタ処理が可能になる。
バンドパスフィルタ回路202は、直交変換回路201の出力に対してフィルタリングを施し、所定の帯域の信号を出力する。
ゲイン調整回路203は、バンドパスフィルタ回路202の出力のゲインをα倍して調整するとともに、周波数成分の調整を行う。ゲイン調整回路203の出力XFは下式(11)により表される。式(11)のBPF(X)は、信号Xに対してバンドパスフィルタ処理を行うことを表す。
逆直交変換回路204は、直交変換回路201による直交変換に対応する方式で逆直交変換を行い、ゲイン調整回路203から供給された周波数領域の信号を時間領域の信号に変換する。例えば、直交変換回路201においてDCTが直交変換として用いられた場合、逆直交変換回路204においてはIDCTが行われる。逆直交変換回路204の出力Xは下式(12)により表される。式(12)のIDCT(X)は、信号Xに対して2次元のIDCT処理を行うことを表す。
加算回路57は、動き補償画像MC0に対して、逆直交変換回路204から供給され信号Xを時間領域で足し込み、得られた画像を予測画像として出力する。加算回路57の最終出力である予測画像S(i,j)は下式(13)により表される。
このように、周波数領域の信号に対してフィルタリングを行うことによっても、精度の高い予測画像を生成することができる。
また、以上においては、2枚の参照フレームが用いられてフィルタリング予測が行われるものとしたが、それ以上の枚数のフレームが参照フレームとして用いられるようにしてもよい。
図19は、3枚の参照フレームを用いる場合の例を示す図である。
図19の例においては、予測フレームの時刻を基準として、時間的に1時刻前とその1時刻前とさらにその1時刻前にある3枚のフレームが参照フレームとされている。予測フレームにより近い、1時刻前のフレームが参照フレームR0とされ、参照フレームR0の1時刻前のフレームが参照フレームR1とされ、参照フレームR1の1時刻前のフレームが参照フレームR2とされている。
図20は、3枚の参照フレームを用いる場合のフィルタリング回路の構成例を示すブロック図である。
図20に示されるように、フィルタリング回路211は、フィルタリング回路221とフィルタリング回路222から構成される。フィルタリング回路221とフィルタリング回路222は、それぞれ、図8、図17、図18に示されるような構成を有している。すなわち、フィルタリング回路211は、2入力1出力のときに用いるフィルタリング回路45をカスケード接続することによって、3入力1出力の回路として動作するようになされている。
ここでは、参照フレームR0から抽出された動き補償画像を動き補償画像MC0、参照フレームR1から抽出された動き補償画像を動き補償画像MC1、参照フレームR2から抽出された動き補償画像を動き補償画像MC2として説明する。動き補償画像MC1,MC2はフィルタリング回路221に入力され、動き補償画像MC0はフィルタリング回路222に入力される。
フィルタリング回路221は、動き補償画像MC1,MC2をそれぞれ、図8等における動き補償画像MC0,MC1としてフィルタリングを行い、フィルタリングの結果である中間出力Xをフィルタリング回路222に出力する。
フィルタリング回路221は、中間出力Xと動き補償画像MC0をそれぞれ、図8等における動き補償画像MC0,MC1としてフィルタリングを行い、フィルタリングの結果を予測画像として出力する。
このような3枚の参照フレームを扱うフィルタリング回路211が、フィルタリング回路45に替えて図3の復号装置1や図11の符号化装置101に設けられるようにすることも可能である。
なお、フィルタリング回路221とフィルタリング回路222が同じ構成を有している必要はなく、一方は図8に示される構成を有し、他方は図17に示される構成を有するといったように、それぞれの構成が異なるようにしてもよい。また、フィルタリングの前後における入出力特性を考慮して、フィルタに用いるパラメータが異なるようにすることも可能である。
時間的に一方にある参照フレームから抽出された動き補償画像ではなく、前後にある3枚の参照フレームから抽出された動き補償画像を対象として、フィルタリング回路211においてフィルタリングが施されるようにしてもよい。
なお、図7を参照して説明した場合を含めて、予測フレームの時刻を基準として前後にあるフレームを参照フレームとして用いる場合、フィルタリング時のタップ係数などのパラメータを、参照フレームの時間方向や距離に応じて動的に変更するようにしてもよい。
符号化装置101から復号装置1に対する圧縮画像情報の伝送は、光ディスク、磁気ディスク、フラッシュメモリなどの記録メディア、衛星放送、ケーブルTV、インターネット、携帯電話機ネットワークなどの各種の媒体を介して行われる。
ここで、フィルタリング予測における動き補償について説明する。以下、フィルタリング回路45に動き補償画像を出力する復号装置1の予測回路44の構成と動作について説明するが、フィルタリング回路に動き補償画像を出力する図12の予測回路161、図13の予測回路184についても同様である。
H.264規格で符号化された画像を復号する際の動き補償は、16×16画素のマクロブロック単位ではなく、マクロブロックをさらに分割したブロック単位で行われる。すなわち、復号対象のマクロブロックを分割した各ブロックに注目し、動きベクトルに基づいて、参照フレームの対応するブロックの各画素の画素値を注目ブロックの各画素の画素値とすることによって動き補償が行われる。また、上述したフィルタリング予測においては、そのような動き補償が行われることによって得られた動き補償画像を入力画像として、FIRフィルタを用いたフィルタリング処理が行われる。
このとき、フィルタリング処理の単位のブロックのサイズが小さいため、その影響を無視することができなくなる。例えば、フィルタリング処理によって生成しようとする予測画像の端の方にある画素を生成するために、FIRフィルタのタップ数に応じて、入力画像である動き補償画像の画素を補間する必要がある。
図21は、画素の補間の例を示す図である。
図21の上段に示される16×16画素の入力画像は、動き補償によって得られた各ブロックを集めることによって構成される動き補償画像である。下段に示される16×16画素の出力画像は、上段の動き補償画像に対してFIRフィルタを用いたフィルタリング処理を施して得られた画素からなる予測画像である。ここで、FIRフィルタのタップ数は5であるものとする。予測画像のある1画素を生成するには、動き補償画像の5画素が必要になる。
例えば、予測画像の左下端にある画素P1を生成する場合、対応する動き補償画像の画素である左下端の画素p1を中心として横方向に並ぶ5画素が必要になるが、画素p1の左側には点線で示されるように画素がない。また、予測画像の右下端にある画素P16を生成する場合、対応する動き補償画像の画素である右下端の画素p16を中心として横方向に並ぶ5画素が必要になるが、画素p16の右側には点線で示されるように画素がない。
従って、画素p1,p16をコピーして不足する画素を補間したり、境界を中心として対称の位置にある画素で補間したりした後にフィルタリング処理を行うことが考えられるが、点線で示される画素の真の値とは異なるため、予測画像の画素値の精度が劣化する。このような劣化を避けるには真の画素値を用いる必要があるが、既存の動き補償ではブロックサイズと同じサイズの領域しか参照フレームから取得されないため、このような補間処理が必要になる。
そこで、予測回路44においては、FIRフィルタのタップ数に応じた数の画素だけ余白を付けた形のマクロブロックを生成するように動き補償が行われる。
図22は、余白領域が付加された動き補償画像を用いた処理の概念を示す図である。
図22の矢印A1に示されるように、参照フレームからは、16×16画素のマクロブロック単位の画像に余白領域を付けた画像が動き補償画像として抽出され、フィルタリング処理の入力画像とされる。
図23は、動き補償画像の例を示す図である。
図23に示されるように、16×16画素の画像の周りに、いわばa画素の幅の帯を付けるようにして拡大させた(16+2a)×(16+2a)画素の画像が動き補償画像として参照フレームから抽出される。aはFIRフィルタのタップ数に応じて決まる値である。
このような動き補償画像を入力画像としてフィルタリング処理が行われ、図22の矢印A2に示されるように、16×16画素の予測画像がフィルタリング処理の出力画像として出力される。予測画像は、図3の加算回路15において逆直交変換回路14の出力画像と加算され、加算結果の画像が復号フレームを構成するマクロブロックとして用いられる。
このように、予測回路44における動き補償においては、参照フレームは対象のフレームに対して時間的に過去または未来の近傍にあるフレームであり、そのフレーム全体が動き補償に利用可能であるという事実が利用される。
FIRフィルタのタップ数に応じた余白領域を付けた動き補償画像をフィルタリング処理に用いることにより、予測画像の端にある画素を生成する場合であっても、実際の画素の値を用いて処理を行うことができ、予測画像の画素値の精度を上げることが可能になる。すなわち、フィルタリング処理を行うために画素の補間を行う必要がない。
予測画像の画素値の精度を上げることができることにより、最終的に、復号装置1においては復号フレームの精度を上げることができ、符号化装置101においては原画像との残差を減らし、符号化効率を上げることができる。
図24は、予測回路44の構成例を示すブロック図である。
図24に示されるように、予測回路44は、ブロック分割回路231、切り出し回路232、およびバッファ233から構成される。図5の予測モード決定回路41から供給された動きベクトルは切り出し回路232に入力される。
ブロック分割回路231は、復号対象のマクロブロックを分割し、各ブロックの領域の情報を切り出し回路232に出力する。
切り出し回路232は、復号対象のマクロブロックを構成する各ブロックに注目し、予測モード決定回路41から供給された動きベクトルに基づいて、注目ブロックに対応する参照フレームのブロックを特定する。参照フレームのブロックは注目ブロックと同じサイズのブロックである。以下、適宜、動きベクトルに基づいて決定される、注目ブロックに対応する参照フレームのブロックを参照ブロックという。
また、切り出し回路232は、特定した参照ブロックが、その参照ブロックを含むマクロブロックの外周と接するものであるかを判断する。切り出し回路232は、参照ブロックがマクロブロックの外周と接するものではないと判断した場合、参照ブロックの情報をフレームメモリ19から読み出し、注目ブロックの画素の画素値としてバッファ233に出力する。
切り出し回路232は、参照ブロックがマクロブロックの外周と接するものであると判断した場合、参照ブロックの情報と、参照ブロックを含むマクロブロックの外側にある、参照ブロックと接する帯領域である余白領域の情報をフレームメモリ19から読み出し、バッファ233に出力する。
バッファ233は、全てのブロックが注目されることにより、復号対象のマクロブロックに余白領域を付けた図23に示されるような動き補償画像の情報が取得された場合、それをフィルタリング回路45に出力する。フィルタリング予測においては複数の動き補償画像が用いられるが、それぞれの動き補償画像が同様にして予測回路44により生成される。
ここで、図25のフローチャートを参照して、予測回路44の動き補償処理について説明する。図25に示される処理がそれぞれの動き補償画像を生成するために行われる。
ステップS1において、ブロック分割回路231は、復号対象のマクロブロックを分割し、各ブロックの領域の情報を切り出し回路232に出力する。
図26は、復号対象のマクロブロックの分割の例を示す図である。
図26の例においては、16×16画素のマクロブロックがブロックB11乃至B44の16のブロックに分割されている。
ステップS2において、切り出し回路232は、1つのブロックに注目する。
ステップS3において、切り出し回路232は参照フレームを決定する。
ステップS4において、切り出し回路232は、予測モード決定回路41から供給された動きベクトルの精度が小数精度であるか否かを判定する。
小数精度ではないとステップS4において判定した場合、ステップS5において、切り出し回路232は、整数精度の動きベクトルに基づいて、注目ブロックに対応する参照ブロックの位置を特定する。
一方、小数精度であるとステップS4において判定した場合、ステップS6において、切り出し回路232は、規格で定められた補間フィルタを用いて画素の補間を行い、小数精度の動きベクトルで指定される位置にある参照ブロックを特定する。
参照ブロックを特定した後、ステップS7において、切り出し回路232は、参照ブロックの一辺が、その参照ブロックを含むマクロブロックの外周に接するか否かを判定する。
ここでの判定は、下式(14)乃至(17)の条件に基づいて行われる。少なくともいずれかの条件を満たす場合、参照ブロックの一辺がマクロブロックの外周に接すると判定され、いずれの条件も満たさない場合、参照ブロックの一辺がマクロブロックの外周に接していないと判定される。(bk_pos_x,bk_pos_y)は参照ブロックの左上頂点の位置を表し、(bk_width,bk_height)は参照ブロックの幅と高さを表す。(MB_pos_x,MB_pos_y)は参照ブロックを含むマクロブロックの左上頂点の位置を表す。
図27は、参照フレームの例を示す図である。
図27の例においては、マクロブロックMB11乃至MB33の9つのマクロブロックが示されている。ここでは、復号対象のマクロブロックを分割した各ブロックに対応する参照ブロックが、太線Lで囲んで示すマクロブロックMB22を構成する各ブロックである場合について説明する。
図28は、図27のマクロブロックMB22を構成するブロックの例を示す図である。図28のブロックb11乃至b44が、それぞれ、復号対象のマクロブロックを構成する図26のブロックB11乃至B44の参照ブロックとなる。
例えば、図26のブロックB11が注目されている場合、ブロックB11の参照ブロックである図28のブロックb11は、式(14)、(15)の条件を満たし、マクロブロックMB22の外周に接していると判定される。
図26のブロックB12,B13が注目されている場合、これらの参照ブロックである図28のブロックb12,b13は、いずれも式(15)の条件を満たし、マクロブロックMB22の外周に接していると判定される。
図26のブロックB14が注目されている場合、ブロックB14の参照ブロックである図28のブロックb14は、式(15)、(16)の条件を満たし、マクロブロックMB22の外周に接していると判定される。
図26のブロックB21,B31が注目されている場合、これらの参照ブロックである図28のブロックb21,b31は、いずれも式(14)の条件を満たし、マクロブロックMB22の外周に接していると判定される。
図26のブロックB24,B34が注目されている場合、これらの参照ブロックである図28のブロックb24,b34は、いずれも式(16)の条件を満たし、マクロブロックMB22の外周に接していると判定される。
図26のブロックB41が注目されている場合、ブロックB41の参照ブロックである図28のブロックb41は、式(14)、(17)の条件を満たし、マクロブロックMB22の外周に接していると判定される。
図26のブロックB42,B43が注目されている場合、これらの参照ブロックである図28のブロックb42,b43は、いずれも式(17)の条件を満たし、マクロブロックMB22の外周に接していると判定される。
図26のブロックB44が注目されている場合、ブロックB44の参照ブロックである図28のブロックb44は、式(16)、(17)の条件を満たし、マクロブロックMB22の外周に接していると判定される。
図26のブロックB22,B23,B32,B33が注目されている場合、これらの参照ブロックである図28のブロックb22,b23,b32,b33は、いずれの条件も満たさず、マクロブロックMB22の外周に接していないと判定される。
図25の説明に戻り、参照ブロックの一辺がマクロブロックの外周に接するとステップS7において判定した場合、ステップS8において、切り出し回路232は、参照ブロックの頂点が、その参照ブロックを含むマクロブロックの頂点と一致するか否かを判定する。参照ブロックが満たす条件から、その参照ブロックの頂点がマクロブロックの頂点と一致するか否かを判断することが可能である。
例えば、図26のブロックB11が注目されている場合の参照ブロックである図28のブロックb11は、上式(18)(式(14)かつ(15))の条件を満たし、参照ブロックの頂点がマクロブロックの頂点と一致すると判定される。
図26のブロックB14が注目されている場合の参照ブロックである図28のブロックb14は、上式(20)(式(15)かつ(16))の条件を満たし、参照ブロックの頂点がマクロブロックの頂点と一致すると判定される。
図26のブロックB41が注目されている場合の参照ブロックである図28のブロックb41は、上式(19)(式(14)かつ(17))の条件を満たし、参照ブロックの頂点がマクロブロックの頂点と一致すると判定される。
図26のブロックB44が注目されている場合の参照ブロックである図28のブロックb44は、上式(21)(式(16)かつ(17))の条件を満たし、参照ブロックの頂点がマクロブロックの頂点と一致すると判定される。
図26の他のブロックが注目されている場合の参照ブロックは式(18)乃至(21)のいずれの条件も満たさず、参照ブロックの頂点がマクロブロックの頂点と一致しないと判定される。
参照ブロックの頂点がマクロブロックの頂点と一致するとステップS8において判定した場合、ステップS9において、切り出し回路232は、その一致するマクロブロックの頂点と1点で接し、マクロブロックの外側にあるa×a画素の領域を余白領域とする。
一方、参照ブロックの頂点がマクロブロックの頂点と一致しないとステップS8において判定された場合、または、ステップS9において余白領域が設定された場合、ステップS10に進む。
ステップS10において、切り出し回路232は、参照ブロックと接する、その参照ブロックを含むマクロブロックの外側にあるa×w画素の領域を余白領域として設定する。wは、マクロブロックの外周と接する参照ブロックの辺の長さである。参照ブロックが図28に示されるようにして設定されている場合、w=4になる。
ステップS11において、切り出し回路232は、余白領域を付けた参照ブロックの情報をフレームメモリ19から読み出し、バッファ233に出力する。
一方、参照ブロックの一辺がマクロブロックの外周に接していないとステップS7において判定した場合、ステップS12において、切り出し回路232は、参照ブロックの情報をフレームメモリ19から読み出し、バッファ233に出力する。
ステップS13において、切り出し回路232は、全てのブロックに注目したか否かを判定し、注目していないと判定した場合、ステップS2に戻り、他のブロックに注目して同様の処理を繰り返す。
全てのブロックに注目されたとステップS13において判定された場合、ステップS14において、バッファ233は、余白領域を付けたマクロブロックを動き補償画像としてフィルタリング回路45に出力し、処理を終了させる。
余白領域の具体例について説明する。
例えば、図26のブロックB11が注目されている場合、参照ブロックであるブロックb11の頂点はマクロブロックMB22の頂点と一致するから、その一致する頂点と1点で接するa×a画素の領域である図29の領域a1が余白領域として設定される。また、ブロックb11と接する、マクロブロックMB22の外側にあるa×w画素の領域である図29の領域a2,a3が余白領域として設定される。参照ブロックであるブロックb11と、このようにして設定された余白領域a1,a2,a3が参照フレームから切り出され、注目ブロックであるブロックB11の情報としてバッファ233に記憶される。
領域a1は、マクロブロックMB22の外側にあるマクロブロックMB11(図27)の画素からなる領域である。領域a2はマクロブロックMB21の画素からなる領域であり、領域a3はマクロブロックMB12の画素からなる領域である。
図26のブロックB12が注目されている場合、参照ブロックであるブロックb12と接する、マクロブロックMB22の外側にあるa×w画素の領域である図30の領域a11が余白領域として設定される。参照ブロックであるブロックb12と、このようにして設定された余白領域a11が参照フレームから切り出され、注目ブロックであるブロックB12の情報としてバッファ233に記憶される。領域a11は、マクロブロックMB22の外側にあるマクロブロックMB12の画素からなる領域である。
図26のブロックB13が注目されている場合も同様に、参照ブロックであるブロックb13と接する、マクロブロックMB22の外側にあるa×w画素の領域である図31の領域a21が余白領域として設定される。参照ブロックであるブロックb13と、このようにして設定された余白領域a21が参照フレームから切り出され、注目ブロックであるブロックB13の情報としてバッファ233に記憶される。領域a21は、マクロブロックMB22の外側にあるマクロブロックMB12の画素からなる領域である。
図26のブロックB14が注目されている場合、参照ブロックであるブロックb14の頂点はマクロブロックMB22の頂点と一致するから、その一致する頂点と1点で接するa×a画素の領域である図32の領域a31が余白領域として設定される。また、この場合、ブロックb14と接する、マクロブロックMB22の外側にあるa×w画素の領域である図32の領域a32,a33が余白領域として設定される。参照ブロックであるブロックb14と、このようにして設定された余白領域a32,a33が参照フレームから切り出され、注目ブロックであるブロックB14の情報としてバッファ233に記憶される。
領域a31は、マクロブロックMB22の外側にあるマクロブロックMB13の画素からなる領域である。領域a32はマクロブロックMB23の画素からなる領域であり、領域a33はマクロブロックMB12の画素からなる領域である。
図26のブロックB21が注目されている場合、参照ブロックであるブロックb21と接する、マクロブロックMB22の外側にあるa×w画素の領域である図33の領域a41が余白領域として設定される。参照ブロックであるブロックb21と、このようにして設定された余白領域a41が参照フレームから切り出され、注目ブロックであるブロックB21の情報としてバッファ233に記憶される。領域a41は、マクロブロックMB22の外側にあるマクロブロックMB21の画素からなる領域である。
図26のブロックB22が注目されている場合、参照ブロックであるブロックb22は、その辺がマクロブロックMB22の外周と接していないブロックであるから、図34に示されるように余白領域は設定されない。ブロックb22が参照フレームから切り出され、注目ブロックであるブロックB22の情報としてバッファ233に記憶される。
図26のブロックB23が注目されている場合も同様に、参照ブロックであるブロックb23は、その辺がマクロブロックMB22の外周と接していないブロックであるから、図35に示されるように余白領域は設定されない。ブロックb23が参照フレームから切り出され、注目ブロックであるブロックB23の情報としてバッファ233に記憶される。
図26のブロックB24が注目されている場合、参照ブロックであるブロックb24と接する、マクロブロックMB22の外側にあるa×w画素の領域である図36の領域a51が余白領域として設定される。参照ブロックであるブロックb24と、このようにして設定された余白領域a51が参照フレームから切り出され、注目ブロックであるブロックB24の情報としてバッファ233に記憶される。領域a51は、マクロブロックMB22の外側にあるマクロブロックMB23の画素からなる領域である。
図26のブロックB31乃至44が注目されている場合も同様にして余白領域が適宜設定され、参照ブロックの情報とともにバッファ233に記憶される。
図37は、予測回路44から出力される動き補償画像の例を示す図である。
以上のようにしてフレームメモリ19から読み出された参照ブロックの情報と余白領域の情報から、図37に示されるような動き補償画像が生成される。図37の動き補償画像は(16+2a)×(16+2a)画素の画像である。
フィルタリング回路45においては、このようにして生成された複数の動き補償画像を対象として、差分の計算、FIRフィルタを用いたフィルタリング、ゲインの調整、加算等が行われ、予測画像が生成される。
図38は、フィルタリング回路45のローパスフィルタ回路52、ハイパスフィルタ回路54に設けられるFIRフィルタの例を示す図である。
例えば、図38に示されるようなタップ数が5のFIRフィルタが設けられる場合、aの値として2が設定され、フィルタリング回路45に入力される動き補償画像は、16×16画素のマクロブロックの4辺を2画素分ずつ拡大させた20×20画素の画像になる。
このように、タップ数Tが小さい場合には幅aも狭く、タップ数Tが大きい場合には幅aも広くなる。なお、2次元のフィルタリング処理が行われる場合、ローパスフィルタ回路52等には、横方向に並ぶ5画素を入力として1画素を出力する5タップのFIRフィルタと縦方向に並ぶ5画素を入力として1画素を出力する5タップのFIRフィルタが設けられる。
図39は、余白領域が付けられた動き補償画像を対象としたフィルタリング処理の例を示す図である。
図39の上段に示される(16+2a)×(16+2a)画素の入力画像は、以上のような動き補償が予測回路44により行われることによって生成された動き補償画像である。下段に示される16×16画素の出力画像は、上段の動き補償画像に対してFIRフィルタを用いたフィルタリング処理を施して得られた画素からなる予測画像である。
例えば、予測画像の左下端にある画素P1を生成する場合、対応する動き補償画像の画素である画素p1を中心として横方向に並ぶ5画素である、画素p21,p22,p1,p2,p3をFIRフィルタに入力して、画素P1の画素値を求めることが可能になる。画素p21,p22は余白領域の画素である。
また、予測画像の右下端にある画素P16を生成する場合、対応する動き補償画像の画素である画素p16を中心として横方向に並ぶ5画素である、画素p14,p15,p16,p31,p32をFIRフィルタに入力して、画素P16の画素値を求めることが可能になる。画素p31,p32は余白領域の画素である。
これにより、実際の画素値を用いてフィルタリング処理を行うことができることから、予測画像の画素値の精度を上げることが可能になる。2次元画像は空間方向に高い相関を持っているため、マクロブロック内の画素値とマクロブロック外の画素値もまた、同様に高い相関があると考えられる。そのため、マクロブロック内の画素で補間するなどしてフィルタリング処理を行う場合と較べて、予測画像の画素値は信頼性の高いものになるといえる。
一般に、FIRフィルタはタップ数が大きい方が特性的に有利であるが、タップ数が大きい場合には、ブロック外の画素値を用いることになる可能性が高くなり、出力画像の画素値に影響を及ぼす範囲が広くなる。
具体的には、マクロブロック単位でフィルタリング処理を行う場合に、式(4)のLPFとして3タップのFIRフィルタを用いたときには1フレーム全体の約25%の画素が、入力画像の画素が不足することによる影響を受けることになる。また、5タップのFIRフィルタを用いたときには1フレーム全体の約50%の画素が影響を受け、7タップのFIRフィルタを用いたときには1フレーム全体の約73%の画素が影響を受けることになる。
以上のような動き補償画像をフィルタリング処理の入力画像として用いることにより、タップ数の大きいFIRフィルタを用いてフィルタリング処理が行われるようにすることも可能になる。
以上においては、予測画像のある1画素を生成する場合、対応する動き補償画像の画素を中心として横方向に並ぶ画素がFIRフィルタに入力されるものとしたが、入力される画素は横方向に並ぶ画素や縦方向に並ぶ画素に限られない。例えば、対応する動き補償画像の画素と、その画素の上下左右にある画素が入力されるようにしたり、対応する動き補償画像の画素と、その画素の右上、左上、右下、左下にある画素が入力されるようにしたりすることも可能である。
図40、図41は、図8のフィルタリング回路45により生成された予測画像を用いて符号化を行った結果を示す図である。
図40のグラフは、符号化データの発生量を示す。
横軸はフレーム番号を表す。例えば、横軸上の1は処理対象の動画像の最初のピクチャを表し、2は2番目のピクチャを表す。縦軸は各ピクチャの符号量を表し、単位はビットである。値が小さいほど、高圧縮率でフレームを圧縮できたことを表す。
ラインL1は、従来のAVCを用いて符号化を行った場合の符号量を表し、ラインL2は、フィルタリング予測を用いて符号化を行った場合の符号量を表す。この例においては、15フレーム毎に1フレームのイントラピクチャが挿入され、イントラピクチャ以外の14フレームはPピクチャとされている。
図40に示されるように、イントラピクチャについてはAVCを採用した場合もフィルタリング予測を使った符号化方式を採用した場合も変わりがないため、発生符号量は同一の値になる。また、フィルタリング予測を使った符号化方式においては2枚の参照フレームが必要になるため、最初のイントラピクチャ1枚しか参照フレームとして用いることができない2枚目のPピクチャの符号量も、AVCを採用した場合の符号量と同一の値になる。それ以外のPピクチャの符号量は、ラインL2がとる、フィルタリング予測を使った符号化方式の値の方が、ラインL1がとる値より小さい値になっている。
フィルタリング予測を使った符号化方式を採用した方が発生符号量を抑えることができるのは、予測画像の精度が高く、残差の符号化データを、AVCを採用した場合と較べて減らすことができることによるものである。
図41のグラフは、符号化データの画質を示す。
図41の横軸は図40の横軸と同様にフレーム番号を表す。縦軸はPSNR値を表す。PSNR値は、その値が大きいほど原画に近いこと(高画質であること)を表す客観指標であり、単位は[dB]となる。
ラインL11は、従来のAVCを用いて符号化を行った場合のPSNR値を表し、ラインL12は、フィルタリング予測を用いて符号化を行った場合のPSNR値を表す。図40の場合と同じ理由から、イントラピクチャと2枚目のPピクチャのPSNR値については、AVCを採用した場合もフィルタリング予測を用いて符号化を行った場合も同じ値になる。
一方、それ以外のPピクチャについては、ラインL12がとる、フィルタリング予測を使った符号化方式を採用した場合のPSNR値の方が、ラインL11がとるAVCを採用した場合のPSNR値より大きい値になっている。
フィルタリング予測を使った符号化方式を採用した方がPSNR値、すなわち画質を向上させることができるのは、予測画像の精度を上げることができることによるものである。
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
図42は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
CPU(Central Processing Unit)251、ROM(Read Only Memory)252、RAM(Random Access Memory)253は、バス254により相互に接続されている。
バス254には、さらに、入出力インタフェース255が接続されている。入出力インタフェース255には、キーボード、マウス、マイクロホンなどよりなる入力部256、ディスプレイ、スピーカなどよりなる出力部257、ハードディスクや不揮発性のメモリなどよりなる記憶部258、ネットワークインタフェースなどよりなる通信部259、光ディスクや半導体メモリなどのリムーバブルメディア261を駆動するドライブ260が接続されている。
以上のように構成されるコンピュータでは、CPU251が、例えば、記憶部258に記憶されているプログラムを入出力インタフェース255及びバス254を介してRAM253にロードして実行することにより、上述した一連の処理が行われる。
CPU251が実行するプログラムは、例えばリムーバブルメディア261に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供され、記憶部258にインストールされる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、上述した復号装置1や符号化装置101は、任意の電子機器に適用することができる。以下にその例について説明する。
図43は、本発明を適用した復号装置を用いるテレビジョン受像機の主な構成例を示すブロック図である。
図43に示されるテレビジョン受像機300は、地上波チューナ313、ビデオデコーダ315、映像信号処理回路318、グラフィック生成回路319、パネル駆動回路320、および表示パネル321を有する。
地上波チューナ313は、地上アナログ放送の放送波信号を、アンテナを介して受信し、復調し、映像信号を取得し、それをビデオデコーダ315に供給する。ビデオデコーダ315は、地上波チューナ313から供給された映像信号に対してデコード処理を施し、得られたデジタルのコンポーネント信号を映像信号処理回路318に供給する。
映像信号処理回路318は、ビデオデコーダ315から供給された映像データに対してノイズ除去などの所定の処理を施し、得られた映像データをグラフィック生成回路319に供給する。
グラフィック生成回路319は、表示パネル321に表示させる番組の映像データや、ネットワークを介して供給されるアプリケーションに基づく処理による画像データなどを生成し、生成した映像データや画像データをパネル駆動回路320に供給する。また、グラフィック生成回路319は、項目の選択などにユーザにより利用される画面を表示するための映像データ(グラフィック)を生成し、それを番組の映像データに重畳したりすることによって得られた映像データをパネル駆動回路320に供給するといった処理も適宜行う。
パネル駆動回路320は、グラフィック生成回路319から供給されたデータに基づいて表示パネル321を駆動し、番組の映像や上述した各種の画面を表示パネル321に表示させる。
表示パネル321はLCD(Liquid Crystal Display)などよりなり、パネル駆動回路320による制御に従って番組の映像などを表示させる。
また、テレビジョン受像機300は、音声A/D(Analog/Digital)変換回路314、音声信号処理回路322、エコーキャンセル/音声合成回路323、音声増幅回路324、およびスピーカ325も有する。
地上波チューナ313は、受信した放送波信号を復調することにより、映像信号だけでなく音声信号も取得する。地上波チューナ313は、取得した音声信号を音声A/D変換回路314に供給する。
音声A/D変換回路314は、地上波チューナ313から供給された音声信号に対してA/D変換処理を施し、得られたデジタルの音声信号を音声信号処理回路322に供給する。
音声信号処理回路322は、音声A/D変換回路314から供給された音声データに対してノイズ除去などの所定の処理を施し、得られた音声データをエコーキャンセル/音声合成回路323に供給する。
エコーキャンセル/音声合成回路323は、音声信号処理回路322から供給された音声データを音声増幅回路324に供給する。
音声増幅回路324は、エコーキャンセル/音声合成回路323から供給された音声データに対してD/A変換処理、増幅処理を施し、所定の音量に調整した後、音声をスピーカ325から出力させる。
さらに、テレビジョン受像機300は、デジタルチューナ316およびMPEGデコーダ317も有する。
デジタルチューナ316は、デジタル放送(地上デジタル放送、BS(Broadcasting Satellite)/CS(Communications Satellite)デジタル放送)の放送波信号を、アンテナを介して受信し、復調し、MPEG-TS(Moving Picture Experts Group-Transport Stream)を取得し、それをMPEGデコーダ317に供給する。
MPEGデコーダ317は、デジタルチューナ316から供給されたMPEG-TSに施されているスクランブルを解除し、再生対象(視聴対象)になっている番組のデータを含むストリームを抽出する。MPEGデコーダ317は、抽出したストリームを構成する音声パケットをデコードし、得られた音声データを音声信号処理回路322に供給するとともに、ストリームを構成する映像パケットをデコードし、得られた映像データを映像信号処理回路318に供給する。また、MPEGデコーダ317は、MPEG-TSから抽出したEPG(Electronic Program Guide)データを図示せぬ経路を介してCPU332に供給する。
テレビジョン受像機300は、このように映像パケットをデコードするMPEGデコーダ317として、上述した復号装置1を用いる。したがって、MPEGデコーダ317は、復号装置1の場合と同様に、フィルタリング予測によって生成した予測画像を用いて復号を行うので、画像の時間相関をより効率的に利用して、高精細な復号画像を得ることができる。
MPEGデコーダ317から供給された映像データは、ビデオデコーダ315から供給された映像データの場合と同様に、映像信号処理回路318において所定の処理が施され、グラフィック生成回路319において、生成された映像データ等が適宜重畳され、パネル駆動回路320を介して表示パネル321に供給され、その画像が表示される。
MPEGデコーダ317から供給された音声データは、音声A/D変換回路314から供給された音声データの場合と同様に、音声信号処理回路322において所定の処理が施され、エコーキャンセル/音声合成回路323を介して音声増幅回路324に供給され、D/A変換処理や増幅処理が施される。その結果、所定の音量に調整された音声がスピーカ325から出力される。
また、テレビジョン受像機300は、マイクロホン326、およびA/D変換回路327も有する。
A/D変換回路327は、音声会話用のものとしてテレビジョン受像機300に設けられるマイクロホン326により取り込まれたユーザの音声の信号を受信し、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データをエコーキャンセル/音声合成回路323に供給する。
エコーキャンセル/音声合成回路323は、テレビジョン受像機300のユーザ(ユーザA)の音声のデータがA/D変換回路327から供給されている場合、ユーザAの音声データを対象としてエコーキャンセルを行い、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路324を介してスピーカ325より出力させる。
さらに、テレビジョン受像機300は、音声コーデック328、内部バス329、SDRAM(Synchronous Dynamic Random Access Memory)330、フラッシュメモリ331、CPU332、USB(Universal Serial Bus) I/F333、およびネットワークI/F334も有する。
A/D変換回路327は、音声会話用のものとしてテレビジョン受像機300に設けられるマイクロホン326により取り込まれたユーザの音声の信号を受信し、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データを音声コーデック328に供給する。
音声コーデック328は、A/D変換回路327から供給された音声データを、ネットワーク経由で送信するための所定のフォーマットのデータに変換し、内部バス329を介してネットワークI/F334に供給する。
ネットワークI/F334は、ネットワーク端子335に装着されたケーブルを介してネットワークに接続される。ネットワークI/F334は、例えば、そのネットワークに接続される他の装置に対して、音声コーデック328から供給された音声データを送信する。また、ネットワークI/F334は、例えば、ネットワークを介して接続される他の装置から送信される音声データを、ネットワーク端子335を介して受信し、それを、内部バス329を介して音声コーデック328に供給する。
音声コーデック328は、ネットワークI/F334から供給された音声データを所定のフォーマットのデータに変換し、それをエコーキャンセル/音声合成回路323に供給する。
エコーキャンセル/音声合成回路323は、音声コーデック328から供給される音声データを対象としてエコーキャンセルを行い、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路324を介してスピーカ325より出力させる。
SDRAM330は、CPU332が処理を行う上で必要な各種のデータを記憶する。
フラッシュメモリ331は、CPU332により実行されるプログラムを記憶する。フラッシュメモリ331に記憶されているプログラムは、テレビジョン受像機300の起動時などの所定のタイミングでCPU332により読み出される。フラッシュメモリ331には、デジタル放送を介して取得されたEPGデータ、ネットワークを介して所定のサーバから取得されたデータなども記憶される。
例えば、フラッシュメモリ331には、CPU332の制御によりネットワークを介して所定のサーバから取得されたコンテンツデータを含むMPEG-TSが記憶される。フラッシュメモリ331は、例えばCPU332の制御により、そのMPEG-TSを、内部バス329を介してMPEGデコーダ317に供給する。
MPEGデコーダ317は、デジタルチューナ316から供給されたMPEG-TSの場合と同様に、そのMPEG-TSを処理する。このようにテレビジョン受像機300は、映像や音声等よりなるコンテンツデータを、ネットワークを介して受信し、MPEGデコーダ317を用いてデコードし、その映像を表示させたり、音声を出力させたりすることができる。
また、テレビジョン受像機300は、リモートコントローラ351から送信される赤外線信号を受光する受光部337も有する。
受光部337は、リモートコントローラ351からの赤外線を受光し、復調して得られたユーザ操作の内容を表す制御コードをCPU332に出力する。
CPU332は、フラッシュメモリ331に記憶されているプログラムを実行し、受光部337から供給される制御コードなどに応じてテレビジョン受像機300の全体の動作を制御する。CPU332とテレビジョン受像機300の各部は、図示せぬ経路を介して接続されている。
USB I/F333は、USB端子336に装着されたUSBケーブルを介して接続される、テレビジョン受像機300の外部の機器との間でデータの送受信を行う。ネットワークI/F334は、ネットワーク端子335に装着されたケーブルを介してネットワークに接続し、ネットワークに接続される各種の装置と音声データ以外のデータの送受信も行う。
テレビジョン受像機300は、MPEGデコーダ317として復号装置1を用いることにより、処理負担を大きくすることなく、精度の高い予測画像を生成することができる。その結果として、テレビジョン受像機300は、アンテナを介して受信した放送波信号や、ネットワークを介して取得したコンテンツデータから、より高精細な復号画像を得て、表示することができる。
図44は、本発明を適用した復号装置および符号化装置を用いる携帯電話機の主な構成例を示すブロック図である。
図44に示される携帯電話機400は、各部を統括的に制御するようになされた主制御部450、電源回路部451、操作入力制御部452、画像エンコーダ453、カメラI/F部454、LCD制御部455、画像デコーダ456、多重分離部457、記録再生部462、変復調回路部458、および音声コーデック459を有する。これらは、バス460を介して互いに接続されている。
また、携帯電話機400は、操作キー419、CCD(Charge Coupled Devices)カメラ416、液晶ディスプレイ418、記憶部423、送受信回路部463、アンテナ414、マイクロホン(マイク)421、およびスピーカ417を有する。
電源回路部451は、ユーザの操作により終話および電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することにより携帯電話機400を動作可能な状態に起動する。
携帯電話機400は、CPU、ROMおよびRAM等でなる主制御部450の制御に基づいて、音声通話モードやデータ通信モード等の各種モードで、音声信号の送受信、電子メールや画像データの送受信、画像撮影、またはデータ記録等の各種動作を行う。
例えば、音声通話モードにおいて、携帯電話機400は、マイクロホン(マイク)421で集音した音声信号を、音声コーデック459によってデジタル音声データに変換し、これを変復調回路部458でスペクトラム拡散処理し、送受信回路部463でデジタルアナログ変換処理および周波数変換処理する。携帯電話機400は、その変換処理により得られた送信用信号を、アンテナ414を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(音声信号)は、公衆電話回線網を介して通話相手の携帯電話機に供給される。
また、例えば、音声通話モードにおいて、携帯電話機400は、アンテナ414で受信した受信信号を送受信回路部463で増幅し、さらに周波数変換処理およびアナログデジタル変換処理し、変復調回路部458でスペクトラム逆拡散処理し、音声コーデック459によってアナログ音声信号に変換する。携帯電話機400は、その変換して得られたアナログ音声信号をスピーカ417から出力する。
更に、例えば、データ通信モードにおいて電子メールを送信する場合、携帯電話機400は、操作キー419の操作によって入力された電子メールのテキストデータを、操作入力制御部452において受け付ける。携帯電話機400は、そのテキストデータを主制御部450において処理し、LCD制御部455を介して、画像として液晶ディスプレイ418に表示させる。
また、携帯電話機400は、主制御部450において、操作入力制御部452が受け付けたテキストデータやユーザ指示等に基づいて電子メールデータを生成する。携帯電話機400は、その電子メールデータを、変復調回路部458でスペクトラム拡散処理し、送受信回路部463でデジタルアナログ変換処理および周波数変換処理する。携帯電話機400は、その変換処理により得られた送信用信号を、アンテナ414を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(電子メール)は、ネットワークおよびメールサーバ等を介して、所定のあて先に供給される。
また、例えば、データ通信モードにおいて電子メールを受信する場合、携帯電話機400は、基地局から送信された信号を、アンテナ414を介して送受信回路部463で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機400は、その受信信号を変復調回路部458でスペクトラム逆拡散処理して元の電子メールデータを復元する。携帯電話機400は、復元された電子メールデータを、LCD制御部455を介して液晶ディスプレイ418に表示する。
なお、携帯電話機400は、受信した電子メールデータを、記録再生部462を介して、記憶部423に記録する(記憶させる)ことも可能である。
この記憶部423は、書き換え可能な任意の記憶媒体である。記憶部423は、例えば、RAMや内蔵型フラッシュメモリ等の半導体メモリであってもよいし、ハードディスクであってもよいし、磁気ディスク、光磁気ディスク、光ディスク、USBメモリ、またはメモリカード等のリムーバブルメディアであってもよい。もちろん、これら以外のものであってもよい。
さらに、例えば、データ通信モードにおいて画像データを送信する場合、携帯電話機400は、撮像によりCCDカメラ416で画像データを生成する。CCDカメラ416は、レンズや絞り等の光学デバイスと光電変換素子としてのCCDを有し、被写体を撮像し、受光した光の強度を電気信号に変換し、被写体の画像の画像データを生成する。その画像データを、カメラI/F部454を介して、画像エンコーダ453で、例えばMPEG2やMPEG4等の所定の符号化方式によって圧縮符号化することにより符号化画像データに変換する。
携帯電話機400は、このような処理を行う画像エンコーダ453として、上述した符号化装置101を用いる。したがって、画像エンコーダ453は、符号化装置101の場合と同様に、フィルタリング予測によって生成された、高周波成分を多く含み、原画像との差が少ない予測画像を用いて符号化を行うので、残差に割り当てる符号量を低減させることができ、符号化効率を上げることができる。
なお、携帯電話機400は、このとき同時に、CCDカメラ416で撮像中にマイクロホン(マイク)421で集音した音声を、音声コーデック459においてアナログデジタル変換し、さらに符号化する。
携帯電話機400は、多重分離部457において、画像エンコーダ453から供給された符号化画像データと、音声コーデック459から供給されたデジタル音声データとを、所定の方式で多重化する。携帯電話機400は、その結果得られる多重化データを、変復調回路部458でスペクトラム拡散処理し、送受信回路部463でデジタルアナログ変換処理および周波数変換処理する。携帯電話機400は、その変換処理により得られた送信用信号を、アンテナ414を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(画像データ)は、ネットワーク等を介して、通信相手に供給される。
なお、画像データを送信しない場合、携帯電話機400は、CCDカメラ416で生成した画像データを、画像エンコーダ453を介さずに、LCD制御部455を介して液晶ディスプレイ418に表示させることもできる。
また、例えば、データ通信モードにおいて、簡易ホームページ等にリンクされた動画像ファイルのデータを受信する場合、携帯電話機400は、基地局から送信された信号を、アンテナ414を介して送受信回路部463で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機400は、その受信信号を変復調回路部458でスペクトラム逆拡散処理して元の多重化データを復元する。携帯電話機400は、多重分離部457において、その多重化データを分離して、符号化画像データと音声データとに分ける。
携帯電話機400は、画像デコーダ456において、符号化画像データを、MPEG2やMPEG4等の所定の符号化方式に対応した復号方式でデコードすることにより、再生動画像データを生成し、これを、LCD制御部455を介して液晶ディスプレイ418に表示させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる動画データが液晶ディスプレイ418に表示される。
携帯電話機400は、このような処理を行う画像デコーダ456として、上述した復号装置1を用いる。したがって、画像デコーダ456は、復号装置1の場合と同様に、フィルタリング予測によって生成した予測画像を用いて復号を行うので、画像の時間相関をより効率的に利用して、高精細な復号画像を得ることができる。
このとき、携帯電話機400は、同時に、音声コーデック459において、デジタルの音声データをアナログ音声信号に変換し、これをスピーカ417より出力させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる音声データが再生される。
なお、電子メールの場合と同様に、携帯電話機400は、受信した簡易ホームページ等にリンクされたデータを、記録再生部462を介して、記憶部423に記録する(記憶させる)ことも可能である。
また、携帯電話機400は、主制御部450において、撮像されてCCDカメラ416で得られた2次元コードを解析し、2次元コードに記録された情報を取得することができる。
さらに、携帯電話機400は、赤外線通信部481で赤外線により外部の機器と通信することができる。
携帯電話機400は、画像エンコーダ453として符号化装置101を用いることにより、例えばCCDカメラ416において生成された画像データを符号化して生成する符号化データの符号化効率を、処理を複雑にすることなく向上させることができる。結果として、携帯電話機400は、符号化効率のよい符号化データ(画像データ)を、他の装置に提供することができる。
また、携帯電話機400は、画像デコーダ456として復号装置1を用いることにより、処理負担を大きくすることなく、精度の高い予測画像を生成することができる。その結果として、携帯電話機400は、例えば、簡易ホームページにリンクされた動画像ファイルから、より高精細な復号画像を得て、表示することができる。
なお、以上において、携帯電話機400が、CCDカメラ416を用いるように説明したが、このCCDカメラ416の代わりに、CMOS(Complementary Metal Oxide Semiconductor)を用いたイメージセンサ(CMOSイメージセンサ)を用いるようにしてもよい。この場合も、携帯電話機400は、CCDカメラ416を用いる場合と同様に、被写体を撮像し、被写体の画像の画像データを生成することができる。
また、以上においては携帯電話機400として説明したが、例えば、PDA(Personal Digital Assistants)、スマートフォン、UMPC(Ultra Mobile Personal Computer)、ネットブック、ノート型パーソナルコンピュータ等、この携帯電話機400と同様の撮像機能や通信機能を有する装置であれば、どのような装置であっても携帯電話機400の場合と同様に、復号装置1および符号化装置101を適用することができる。
図45は、本発明を適用した復号装置および符号化装置を用いるハードディスクレコーダの主な構成例を示すブロック図である。
図45に示されるハードディスクレコーダ(HDDレコーダ)500は、チューナにより受信された、衛星や地上のアンテナ等より送信される放送波信号(テレビジョン信号)に含まれる放送番組のオーディオデータとビデオデータを、内蔵するハードディスクに保存し、その保存したデータをユーザの指示に応じたタイミングでユーザに提供する装置である。
ハードディスクレコーダ500は、例えば、放送波信号よりオーディオデータとビデオデータを抽出し、それらを適宜復号し、内蔵するハードディスクに記憶させることができる。また、ハードディスクレコーダ500は、例えば、ネットワークを介して他の装置からオーディオデータやビデオデータを取得し、それらを適宜復号し、内蔵するハードディスクに記憶させることもできる。
さらに、ハードディスクレコーダ500は、例えば、内蔵するハードディスクに記録されているオーディオデータやビデオデータを復号してモニタ560に供給し、モニタ560の画面にその画像を表示させ、モニタ560のスピーカよりその音声を出力させることができる。また、ハードディスクレコーダ500は、例えば、チューナを介して取得された放送波信号より抽出されたオーディオデータとビデオデータ、または、ネットワークを介して他の装置から取得したオーディオデータやビデオデータを復号してモニタ560に供給し、モニタ560の画面にその画像を表示させ、モニタ560のスピーカよりその音声を出力させることもできる。
もちろん、この他の動作も可能である。
図45に示されるように、ハードディスクレコーダ500は、受信部521、復調部522、デマルチプレクサ523、オーディオデコーダ524、ビデオデコーダ525、およびレコーダ制御部526を有する。ハードディスクレコーダ500は、さらに、EPGデータメモリ527、プログラムメモリ528、ワークメモリ529、ディスプレイコンバータ530、OSD(On Screen Display)制御部531、ディスプレイ制御部532、記録再生部533、D/Aコンバータ534、および通信部535を有する。
また、ディスプレイコンバータ530は、ビデオエンコーダ541を有する。記録再生部533は、エンコーダ551およびデコーダ552を有する。
受信部521は、リモートコントローラ(図示せず)からの赤外線信号を受信し、電気信号に変換してレコーダ制御部526に出力する。レコーダ制御部526は、例えば、マイクロプロセッサなどにより構成され、プログラムメモリ528に記憶されているプログラムに従って、各種の処理を実行する。レコーダ制御部526は、このとき、ワークメモリ529を必要に応じて使用する。
通信部535は、ネットワークに接続され、ネットワークを介して他の装置との通信処理を行う。例えば、通信部535は、レコーダ制御部526により制御され、チューナ(図示せず)と通信し、主にチューナに対して選局制御信号を出力する。
復調部522は、チューナより供給された信号を、復調し、デマルチプレクサ523に出力する。デマルチプレクサ523は、復調部522より供給されたデータを、オーディオデータ、ビデオデータ、およびEPGデータに分離し、それぞれ、オーディオデコーダ524、ビデオデコーダ525、またはレコーダ制御部526に出力する。
オーディオデコーダ524は、入力されたオーディオデータを、例えばMPEG方式でデコードし、記録再生部533に出力する。ビデオデコーダ525は、入力されたビデオデータを、例えばMPEG方式でデコードし、ディスプレイコンバータ530に出力する。レコーダ制御部526は、入力されたEPGデータをEPGデータメモリ527に供給し、記憶させる。
ディスプレイコンバータ530は、ビデオデコーダ525またはレコーダ制御部526より供給されたビデオデータを、ビデオエンコーダ541により、例えばNTSC(National Television Standards Committee)方式のビデオデータにエンコードし、記録再生部533に出力する。また、ディスプレイコンバータ530は、ビデオデコーダ525またはレコーダ制御部526より供給されるビデオデータの画面のサイズを、モニタ560のサイズに対応するサイズに変換し、ビデオエンコーダ541によってNTSC方式のビデオデータに変換し、アナログ信号に変換し、ディスプレイ制御部532に出力する。
ディスプレイ制御部532は、レコーダ制御部526の制御のもと、OSD(On Screen Display)制御部531が出力したOSD信号を、ディスプレイコンバータ530より入力されたビデオ信号に重畳し、モニタ560のディスプレイに出力し、表示させる。
モニタ560にはまた、オーディオデコーダ524が出力したオーディオデータが、D/Aコンバータ534によりアナログ信号に変換されて供給されている。モニタ560は、このオーディオ信号を内蔵するスピーカから出力する。
記録再生部533は、ビデオデータやオーディオデータ等を記録する記憶媒体としてハードディスクを有する。
記録再生部533は、例えば、オーディオデコーダ524より供給されるオーディオデータを、エンコーダ551によりMPEG方式でエンコードする。また、記録再生部533は、ディスプレイコンバータ530のビデオエンコーダ541より供給されるビデオデータを、エンコーダ551によりMPEG方式でエンコードする。記録再生部533は、そのオーディオデータの符号化データとビデオデータの符号化データとをマルチプレクサにより合成する。記録再生部533は、その合成データをチャネルコーディングして増幅し、そのデータを、記録ヘッドを介してハードディスクに書き込む。
記録再生部533は、再生ヘッドを介してハードディスクに記録されているデータを再生し、増幅し、デマルチプレクサによりオーディオデータとビデオデータに分離する。記録再生部533は、デコーダ552によりオーディオデータおよびビデオデータをMPEG方式でデコードする。記録再生部533は、復号したオーディオデータをD/A変換し、モニタ560のスピーカに出力する。また、記録再生部533は、復号したビデオデータをD/A変換し、モニタ560のディスプレイに出力する。
レコーダ制御部526は、受信部521を介して受信されるリモートコントローラからの赤外線信号により示されるユーザ指示に基づいて、EPGデータメモリ527から最新のEPGデータを読み出し、それをOSD制御部531に供給する。OSD制御部531は、入力されたEPGデータに対応する画像データを発生し、ディスプレイ制御部532に出力する。ディスプレイ制御部532は、OSD制御部531より入力されたビデオデータをモニタ560のディスプレイに出力し、表示させる。これにより、モニタ560のディスプレイには、EPG(電子番組ガイド)が表示される。
また、ハードディスクレコーダ500は、インターネット等のネットワークを介して他の装置から供給されるビデオデータ、オーディオデータ、またはEPGデータ等の各種データを取得することができる。
通信部535は、レコーダ制御部526に制御され、ネットワークを介して他の装置から送信されるビデオデータ、オーディオデータ、およびEPGデータ等の符号化データを取得し、それをレコーダ制御部526に供給する。レコーダ制御部526は、例えば、取得したビデオデータやオーディオデータの符号化データを記録再生部533に供給し、ハードディスクに記憶させる。このとき、レコーダ制御部526および記録再生部533が、必要に応じて再エンコード等の処理を行うようにしてもよい。
また、レコーダ制御部526は、取得したビデオデータやオーディオデータの符号化データを復号し、得られるビデオデータをディスプレイコンバータ530に供給する。ディスプレイコンバータ530は、ビデオデコーダ525から供給されるビデオデータと同様に、レコーダ制御部526から供給されるビデオデータを処理し、ディスプレイ制御部532を介してモニタ560に供給し、その画像を表示させる。
また、この画像表示に合わせて、レコーダ制御部526が、復号したオーディオデータを、D/Aコンバータ534を介してモニタ560に供給し、その音声をスピーカから出力させるようにしてもよい。
さらに、レコーダ制御部526は、取得したEPGデータの符号化データを復号し、復号したEPGデータをEPGデータメモリ527に供給する。
以上のようなハードディスクレコーダ500は、ビデオデコーダ525、デコーダ552、およびレコーダ制御部526に内蔵されるデコーダとして復号装置1を用いる。したがって、ビデオデコーダ525、デコーダ552、およびレコーダ制御部526に内蔵されるデコーダは、復号装置1の場合と同様に、フィルタリング予測によって生成した予測画像を用いて復号を行うので、画像の時間相関をより効率的に利用して、高精細な復号画像を得ることができる。
したがって、ハードディスクレコーダ500は、処理負担を大きくすることなく、精度の高い予測画像を生成することができる。その結果として、ハードディスクレコーダ500は、例えば、チューナを介して受信されたビデオデータの符号化データや、記録再生部533のハードディスクから読み出されたビデオデータの符号化データや、ネットワークを介して取得したビデオデータの符号化データから、より高精細な復号画像を得て、モニタ560に表示させることができる。
また、ハードディスクレコーダ500は、エンコーダ551として符号化装置101を用いる。したがって、エンコーダ551は、符号化装置101の場合と同様に、フィルタリング予測によって生成された、高周波成分を多く含み、原画像との差が少ない予測画像を用いて符号化を行うので、残差に割り当てる符号量を低減させることができ、符号化効率を上げることができる。
したがって、ハードディスクレコーダ500は、例えば、ハードディスクに記録する符号化データの符号化効率を、処理を複雑にすることなく向上させることができる。その結果として、ハードディスクレコーダ500は、ハードディスクの記憶領域をより効率よく使用することができる。
なお、以上においては、ビデオデータやオーディオデータをハードディスクに記録するハードディスクレコーダ500について説明したが、もちろん、記録媒体はどのようなものであってもよい。例えばフラッシュメモリ、光ディスク、またはビデオテープ等、ハードディスク以外の記録媒体を適用するレコーダであっても、上述したハードディスクレコーダ500の場合と同様に、復号装置1および符号化装置101を適用することができる。
図46は、本発明を適用した復号装置および符号化装置を用いるカメラの主な構成例を示すブロック図である。
図46に示されるカメラ600は、被写体を撮像し、被写体の画像をLCD616に表示させたり、それを画像データとして、記録メディア633に記録したりする。
レンズブロック611は、光(すなわち、被写体の映像)を、CCD/CMOS612に入射させる。CCD/CMOS612は、CCDまたはCMOSを用いたイメージセンサであり、受光した光の強度を電気信号に変換し、カメラ信号処理部613に供給する。
カメラ信号処理部613は、CCD/CMOS612から供給された電気信号を、Y,Cr,Cbの色差信号に変換し、画像信号処理部614に供給する。画像信号処理部614は、コントローラ621の制御の下、カメラ信号処理部613から供給された画像信号に対して所定の画像処理を施したり、その画像信号をエンコーダ641で例えばMPEG方式により符号化したりする。画像信号処理部614は、画像信号を符号化して生成した符号化データを、デコーダ615に供給する。さらに、画像信号処理部614は、オンスクリーンディスプレイ(OSD)620において生成された表示用データを取得し、それをデコーダ615に供給する。
以上の処理において、カメラ信号処理部613は、バス617を介して接続されるDRAM(Dynamic Random Access Memory)618を適宜利用し、必要に応じて画像データや、その画像データが符号化された符号化データ等をそのDRAM618に保持させる。
デコーダ615は、画像信号処理部614から供給された符号化データを復号し、得られた画像データ(復号画像データ)をLCD616に供給する。また、デコーダ615は、画像信号処理部614から供給された表示用データをLCD616に供給する。LCD616は、デコーダ615から供給された復号画像データの画像と表示用データの画像を適宜合成し、その合成画像を表示する。
オンスクリーンディスプレイ620は、コントローラ621の制御の下、記号、文字、または図形からなるメニュー画面やアイコンなどの表示用データを、バス617を介して画像信号処理部614に出力する。
コントローラ621は、ユーザが操作部622を用いて指令した内容を示す信号に基づいて、各種処理を実行するとともに、バス617を介して、画像信号処理部614、DRAM618、外部インタフェース619、オンスクリーンディスプレイ620、およびメディアドライブ623等を制御する。FLASH ROM624には、コントローラ621が各種処理を実行する上で必要なプログラムやデータ等が格納される。
例えば、コントローラ621は、画像信号処理部614やデコーダ615に代わって、DRAM618に記憶されている画像データを符号化したり、DRAM618に記憶されている符号化データを復号したりすることができる。このとき、コントローラ621は、画像信号処理部614やデコーダ615の符号化・復号方式と同様の方式によって符号化・復号処理を行うようにしてもよいし、画像信号処理部614やデコーダ615が対応していない方式により符号化・復号処理を行うようにしてもよい。
また、例えば、操作部622から画像印刷の開始が指示された場合、コントローラ621は、DRAM618から画像データを読み出し、それを、バス617を介して外部インタフェース619に接続されるプリンタ634に供給して印刷させる。
さらに、例えば、操作部622から画像記録が指示された場合、コントローラ621は、DRAM618から符号化データを読み出し、それを、バス617を介してメディアドライブ623に装着される記録メディア633に供給して記憶させる。
記録メディア633は、例えば、磁気ディスク、光磁気ディスク、光ディスク、または半導体メモリ等の、読み書き可能な任意のリムーバブルメディアである。記録メディア633は、もちろん、リムーバブルメディアとしての種類も任意であり、テープデバイスであってもよいし、ディスクであってもよいし、メモリカードであってもよい。もちろん、非接触ICカード等であっても良い。
また、メディアドライブ623と記録メディア633を一体化し、例えば、内蔵型ハードディスクドライブやSSD(Solid State Drive)等のように、非可搬性の記憶媒体により構成されるようにしてもよい。
外部インタフェース619は、例えば、USB入出力端子などで構成され、画像の印刷を行う場合に、プリンタ634と接続される。また、外部インタフェース619には、必要に応じてドライブ631が接続され、磁気ディスク、光ディスク、あるいは光磁気ディスクなどのリムーバブルメディア632が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて、FLASH ROM624にインストールされる。
さらに、外部インタフェース619は、LANやインターネット等の所定のネットワークに接続されるネットワークインタフェースを有する。コントローラ621は、例えば、操作部622からの指示に従って、DRAM618から符号化データを読み出し、それを外部インタフェース619から、ネットワークを介して接続される他の装置に供給させることができる。また、コントローラ621は、ネットワークを介して他の装置から供給される符号化データや画像データを、外部インタフェース619を介して取得し、それをDRAM618に保持させたり、画像信号処理部614に供給したりすることができる。
以上のようなカメラ600は、デコーダ615として復号装置1を用いる。したがって、デコーダ615は、復号装置1の場合と同様に、フィルタリング予測によって生成した予測画像を用いて復号を行うので、画像の時間相関をより効率的に利用して、高精細な復号画像を得ることができる。
したがって、カメラ600は、処理負担を大きくすることなく、精度の高い予測画像を生成することができる。その結果として、カメラ600は、例えば、CCD/CMOS612において生成された画像データや、DRAM618または記録メディア633から読み出されたビデオデータの符号化データや、ネットワークを介して取得したビデオデータの符号化データから、より高精細な復号画像を得て、LCD616に表示させることができる。
また、カメラ600は、エンコーダ641として符号化装置101を用いる。したがって、エンコーダ641は、符号化装置101の場合と同様に、フィルタリング予測によって生成された、高周波成分を多く含み、原画像との差が少ない予測画像を用いて符号化を行うので、残差に割り当てる符号量を低減させることができ、符号化効率を上げることができる。
したがって、カメラ600は、例えば、ハードディスクに記録する符号化データの符号化効率を、処理を複雑にすることなく向上させることができる。その結果として、カメラ600は、DRAM618や記録メディア633の記憶領域をより効率よく使用することができる。
なお、コントローラ621が行う復号処理に復号装置1の復号方法を適用するようにしてもよい。同様に、コントローラ621が行う符号化処理に符号化装置101の符号化方法を適用するようにしてもよい。
また、カメラ600が撮像する画像データは動画像であってもよいし、静止画像であってもよい。
もちろん、復号装置1および符号化装置101は、上述した装置以外の装置やシステムにも適用可能である。
1 復号装置, 21 動き予測・補償回路, 41 予測モード決定回路, 42 片方向予測回路, 43 双方向予測回路, 44 予測回路, 45 フィルタリング回路45, 51 差分計算回路, 52 ローパスフィルタ回路, 53 ゲイン調整回路, 54 ハイパスフィルタ回路54, 55 ゲイン調整回路, 56 加算回路, 57 加算回路, 231 ブロック分割回路, 232 切り出し回路, 233 バッファ
可逆復号回路12は、復号の対象になっている画像がインター符号化された画像であると判断した場合、その画像のヘッダに格納された動きベクトルと識別フラグを動き予測・補償回路21に出力する。識別フラグにより、インター予測によって予測画像を生成する際の予測のモードが識別される。識別フラグは、例えば、マクロブロック単位、フレーム単位で設定される。
ステップS64において、制御回路131は、1フレーム全体のマクロブロックについて以上の処理を行ったか否かを判定し、処理を行っていないと判定した場合、他のマクロブロックに注目して、ステップS51以降の処理を繰り返す。
フィルタリング回路222は、中間出力Xと動き補償画像MC0をそれぞれ、図8等における動き補償画像MC0,MC1としてフィルタリングを行い、フィルタリングの結果を予測画像として出力する。
1 復号装置, 21 動き予測・補償回路, 41 予測モード決定回路, 42 片方向予測回路, 43 双方向予測回路, 44 予測回路, 45 フィルタリング回路, 51 差分計算回路, 52 ローパスフィルタ回路, 53 ゲイン調整回路, 54 ハイパスフィルタ回路, 55 ゲイン調整回路, 56 加算回路, 57 加算回路, 231 ブロック分割回路, 232 切り出し回路, 233 バッファ
Claims (8)
- フィルタリング処理に用いるフィルタのタップ数に応じて、復号済みの参照フレームのブロックである参照ブロックを含むマクロブロックの外側に位置し前記参照ブロックと接する帯領域の幅方向の画素数を決定する決定手段と、
フィルタリング処理の対象とする画像を構成するブロックに対応する前記参照フレームのブロックである参照ブロックが、前記参照ブロックを含むマクロブロックの外周と接する場合、前記参照ブロックと前記決定手段により決定された画素数に対応する帯領域とを、前記参照フレームから取得する取得手段と、
前記取得手段により取得された参照ブロックと前記帯領域の画像を対象として、フィルタリング処理を行うフィルタリング手段と
を有する画像処理装置。 - 前記取得手段は、前記参照ブロックが前記参照ブロックを含むマクロブロックの外周と接することがない場合、前記参照ブロックを前記参照フレームから取得する
請求項1に記載の画像処理装置。 - 前記決定手段は、前記フィルタリング処理に用いられるフィルタのタップ数を2で除算して得られた値以下の最大の整数と同じ数の画素数を、前記帯領域の幅方向の画素数として決定する
請求項2に記載の画像処理装置。 - 前記フィルタリング手段は、
複数の画像の差分画像にローパスフィルタをかける第1のフィルタ手段と、
前記第1のフィルタ手段によりローパスフィルタがかけられることによって得られた画像にハイパスフィルタをかける第2のフィルタ手段と、
前記第1のフィルタ手段によりローパスフィルタがかけられることによって得られた画像と前記第2のフィルタ手段によりハイパスフィルタがかけられることによって得られた画像とを、複数の画像のうちのいずれかに加算して、マクロブロック単位の予測画像を生成する加算手段と
を有する請求項3に記載の画像処理装置。 - フレームを構成するマクロブロック単位で復号処理が行われることによって得られた復号済みのフレームを前記参照フレームとして記憶する記憶手段を更に有し、
前記取得手段は、前記参照ブロックと前記帯領域とを、前記記憶手段により記憶された参照フレームから取得する
請求項4に記載の画像処理装置。 - 前記参照ブロックを動きベクトルに基づいて特定する特定手段を更に有する
請求項5に記載の画像処理装置。 - 前記フィルタはFIRフィルタである
請求項6に記載の画像処理装置。 - フィルタリング処理に用いるフィルタのタップ数に応じて、復号済みの参照フレームのブロックである参照ブロックを含むマクロブロックの外側に位置し前記参照ブロックと接する帯領域の幅方向の画素数を決定する決定ステップと、
フィルタリング処理の対象とする画像を構成するブロックに対応する前記参照フレームのブロックである参照ブロックが、前記参照ブロックを含むマクロブロックの外周と接する場合、前記参照ブロックと前記決定ステップにおいて決定された画素数に対応する帯領域とを、前記参照フレームから取得する取得ステップと、
前記取得ステップにおいて取得された参照ブロックと前記帯領域の画像を対象として、フィルタリング処理を行うフィルタリングステップと
を有する画像処理方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008192094 | 2008-07-25 | ||
JP2008192094 | 2008-07-25 | ||
PCT/JP2009/063250 WO2010010943A1 (ja) | 2008-07-25 | 2009-07-24 | 画像処理装置および方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2010010943A1 true JPWO2010010943A1 (ja) | 2012-01-05 |
Family
ID=41570403
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010521746A Pending JPWO2010010943A1 (ja) | 2008-07-25 | 2009-07-24 | 画像処理装置および方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US8483495B2 (ja) |
EP (1) | EP2306734A4 (ja) |
JP (1) | JPWO2010010943A1 (ja) |
KR (1) | KR101612977B1 (ja) |
CN (1) | CN102100072B (ja) |
BR (1) | BRPI0915975A2 (ja) |
RU (1) | RU2494568C2 (ja) |
WO (1) | WO2010010943A1 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI463878B (zh) | 2009-02-19 | 2014-12-01 | Sony Corp | Image processing apparatus and method |
TWI468020B (zh) | 2009-02-19 | 2015-01-01 | Sony Corp | Image processing apparatus and method |
TWI440363B (zh) | 2009-02-19 | 2014-06-01 | Sony Corp | Image processing apparatus and method |
WO2012131895A1 (ja) * | 2011-03-29 | 2012-10-04 | 株式会社東芝 | 画像符号化装置、方法及びプログラム、画像復号化装置、方法及びプログラム |
CN106604030A (zh) * | 2015-10-16 | 2017-04-26 | 中兴通讯股份有限公司 | 参考图像的处理方法及装置、编码器以及解码器 |
CN108805840B (zh) * | 2018-06-11 | 2021-03-26 | Oppo(重庆)智能科技有限公司 | 图像去噪的方法、装置、终端及计算机可读存储介质 |
JP2021013149A (ja) * | 2019-07-09 | 2021-02-04 | キヤノン株式会社 | 画像処理システム、画像処理装置とその制御方法、及びプログラム |
CN112543325B (zh) * | 2019-09-23 | 2022-09-09 | 腾讯美国有限责任公司 | 视频解码方法、装置、计算机设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002077909A (ja) * | 2000-08-24 | 2002-03-15 | Nippon Telegr & Teleph Corp <Ntt> | 画像符号化装置および画像符号化方法およびその方法を記述したプログラムを記録した記録媒体 |
JP2007088922A (ja) * | 2005-09-22 | 2007-04-05 | Sanyo Electric Co Ltd | 符号化装置と符号化方法 |
JP2007094846A (ja) * | 2005-09-29 | 2007-04-12 | Fujitsu Ltd | リコンフィグ可能な画像処理用アドレス生成回路及びそれを有するリコンフィグlsi |
JP2007189698A (ja) * | 2006-01-12 | 2007-07-26 | Samsung Electronics Co Ltd | スムージング予測を利用した多階層基盤のビデオエンコーディング方法、デコーディング方法、ビデオエンコーダおよびビデオデコーダ |
JP2007258882A (ja) * | 2006-03-22 | 2007-10-04 | Matsushita Electric Ind Co Ltd | 画像復号装置 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2947103B2 (ja) | 1994-11-25 | 1999-09-13 | 日本ビクター株式会社 | 動画像符号化装置及び動画像符号化方法 |
CN1127906A (zh) * | 1995-01-26 | 1996-07-31 | 大宇电子株式会社 | 运动矢量检测设备 |
US5920359A (en) * | 1997-05-19 | 1999-07-06 | International Business Machines Corporation | Video encoding method, system and computer program product for optimizing center of picture quality |
RU2154918C1 (ru) * | 1998-08-01 | 2000-08-20 | Самсунг Электроникс Ко., Лтд. | Способ и устройство для цикл-фильтрации данных изображения |
US7826535B2 (en) * | 2002-04-11 | 2010-11-02 | Broadcom Corporation | Adaptive pixel processing |
US7292634B2 (en) * | 2002-09-24 | 2007-11-06 | Matsushita Electric Industrial Co., Ltd. | Image coding method and apparatus |
JP2006508581A (ja) * | 2002-11-27 | 2006-03-09 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | ビデオ符号化方法 |
KR100624426B1 (ko) * | 2004-07-06 | 2006-09-19 | 삼성전자주식회사 | 파이프 라인 방식의 복호화 장치 및 방법과, 이 장치를제어하는 컴퓨터 프로그램을 저장하는 컴퓨터로 읽을 수있는 기록 매체 |
JP4763422B2 (ja) * | 2004-12-03 | 2011-08-31 | パナソニック株式会社 | イントラ予測装置 |
TWI264951B (en) * | 2005-05-19 | 2006-10-21 | Cheertek Inc | Deblock filter method for applying on video encoding/decoding and the apparatus thereof |
KR100790980B1 (ko) * | 2006-02-09 | 2008-01-02 | 삼성전자주식회사 | 영상 신호의 주파수 성분에 따라 후처리를 달리하는 영상신호의 후처리 회로 |
US9014280B2 (en) * | 2006-10-13 | 2015-04-21 | Qualcomm Incorporated | Video coding with adaptive filtering for motion compensated prediction |
JP4877090B2 (ja) * | 2007-06-18 | 2012-02-15 | ソニー株式会社 | 画像処理装置、画像処理方法、及びプログラム |
JP4356777B2 (ja) * | 2007-06-18 | 2009-11-04 | ソニー株式会社 | 画像処理装置、画像処理方法、プログラム、及び記録媒体 |
JP4826546B2 (ja) * | 2007-06-18 | 2011-11-30 | ソニー株式会社 | 画像処理装置、画像処理方法、及びプログラム |
-
2009
- 2009-07-24 BR BRPI0915975A patent/BRPI0915975A2/pt not_active IP Right Cessation
- 2009-07-24 US US13/054,690 patent/US8483495B2/en not_active Expired - Fee Related
- 2009-07-24 CN CN2009801278844A patent/CN102100072B/zh not_active Expired - Fee Related
- 2009-07-24 RU RU2011101989/07A patent/RU2494568C2/ru not_active IP Right Cessation
- 2009-07-24 JP JP2010521746A patent/JPWO2010010943A1/ja active Pending
- 2009-07-24 KR KR1020117001147A patent/KR101612977B1/ko active IP Right Grant
- 2009-07-24 WO PCT/JP2009/063250 patent/WO2010010943A1/ja active Application Filing
- 2009-07-24 EP EP09800457.5A patent/EP2306734A4/en not_active Withdrawn
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002077909A (ja) * | 2000-08-24 | 2002-03-15 | Nippon Telegr & Teleph Corp <Ntt> | 画像符号化装置および画像符号化方法およびその方法を記述したプログラムを記録した記録媒体 |
JP2007088922A (ja) * | 2005-09-22 | 2007-04-05 | Sanyo Electric Co Ltd | 符号化装置と符号化方法 |
JP2007094846A (ja) * | 2005-09-29 | 2007-04-12 | Fujitsu Ltd | リコンフィグ可能な画像処理用アドレス生成回路及びそれを有するリコンフィグlsi |
JP2007189698A (ja) * | 2006-01-12 | 2007-07-26 | Samsung Electronics Co Ltd | スムージング予測を利用した多階層基盤のビデオエンコーディング方法、デコーディング方法、ビデオエンコーダおよびビデオデコーダ |
JP2007258882A (ja) * | 2006-03-22 | 2007-10-04 | Matsushita Electric Ind Co Ltd | 画像復号装置 |
Also Published As
Publication number | Publication date |
---|---|
EP2306734A4 (en) | 2015-09-02 |
CN102100072B (zh) | 2013-03-27 |
EP2306734A1 (en) | 2011-04-06 |
BRPI0915975A2 (pt) | 2018-10-30 |
WO2010010943A1 (ja) | 2010-01-28 |
CN102100072A (zh) | 2011-06-15 |
US20110123131A1 (en) | 2011-05-26 |
KR101612977B1 (ko) | 2016-04-15 |
RU2494568C2 (ru) | 2013-09-27 |
US8483495B2 (en) | 2013-07-09 |
RU2011101989A (ru) | 2012-07-27 |
KR20110053947A (ko) | 2011-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10334244B2 (en) | Image processing device and method for generation of prediction image | |
JP5812372B2 (ja) | 復号装置および方法 | |
JP5532345B2 (ja) | 画像処理装置および方法 | |
JP5641377B2 (ja) | 画像処理装置および方法、プログラム、並びに、記録媒体 | |
WO2010010943A1 (ja) | 画像処理装置および方法 | |
WO2010038858A1 (ja) | 画像処理装置および方法 | |
JPWO2010035735A1 (ja) | 画像処理装置および方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120629 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120629 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130704 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20131024 |