JPWO2010101064A1 - 画像処理装置および方法 - Google Patents
画像処理装置および方法 Download PDFInfo
- Publication number
- JPWO2010101064A1 JPWO2010101064A1 JP2011502727A JP2011502727A JPWO2010101064A1 JP WO2010101064 A1 JPWO2010101064 A1 JP WO2010101064A1 JP 2011502727 A JP2011502727 A JP 2011502727A JP 2011502727 A JP2011502727 A JP 2011502727A JP WO2010101064 A1 JPWO2010101064 A1 JP WO2010101064A1
- Authority
- JP
- Japan
- Prior art keywords
- motion vector
- accuracy
- vector information
- unit
- image
- 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 abstract description 115
- 230000033001 locomotion Effects 0.000 claims abstract description 679
- 239000013598 vector Substances 0.000 claims abstract description 529
- 238000003672 processing method Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 description 70
- 238000006243 chemical reaction Methods 0.000 description 44
- 239000000872 buffer Substances 0.000 description 42
- 230000006870 function Effects 0.000 description 41
- 238000004364 calculation method Methods 0.000 description 33
- 238000013139 quantization Methods 0.000 description 28
- 230000001413 cellular effect Effects 0.000 description 25
- 238000009825 accumulation Methods 0.000 description 24
- 230000008707 rearrangement Effects 0.000 description 21
- 230000005540 biological transmission Effects 0.000 description 19
- 230000000875 corresponding effect Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 19
- 238000004891 communication Methods 0.000 description 17
- 238000007906 compression Methods 0.000 description 15
- 230000005236 sound signal Effects 0.000 description 15
- 230000006835 compression Effects 0.000 description 14
- 230000015572 biosynthetic process Effects 0.000 description 8
- 238000005192 partition Methods 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
- 239000012536 storage buffer Substances 0.000 description 7
- 230000009466 transformation 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
- 239000004065 semiconductor Substances 0.000 description 4
- 230000002194 synthesizing effect Effects 0.000 description 4
- 230000002596 correlated effect Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 229930091051 Arenine Natural products 0.000 description 1
- 101000969688 Homo sapiens Macrophage-expressed gene 1 protein Proteins 0.000 description 1
- 102100021285 Macrophage-expressed gene 1 protein Human genes 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 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
- 230000000750 progressive effect 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/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/567—Motion estimation based on 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/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/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- 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
-
- 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/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本発明は、圧縮情報の増大を抑制し、かつ、予測精度を向上することができるようにする画像処理装置および方法に関する。精度フラグ生成部93は、対象動きベクトル精度判別部91からの対象ブロックの動きベクトル情報の精度パラメータと隣接動きベクトル精度判別部92からの隣接ブロックの動きベクトル情報の精度パラメータを比較し、対象ブロックの動きベクトル情報の精度と、隣接ブロックの動きベクトル情報の精度とが同じであるか異なるかを示す精度フラグを生成する。この精度フラグは、予測画像選択部77により最適インター予測モードの予測画像が選択された場合、動きベクトル情報mvdEなどとともに可逆符号化部66に出力され、符号化される。本発明は、例えば、H.264/AVC方式で符号化する画像符号化装置に適用することができる。
Description
本発明は画像処理装置および方法に関し、特に、圧縮情報の増大を抑制するとともに、予測精度を向上するようにした画像処理装置および方法に関する。
近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮する符号化方式を採用して画像を圧縮符号する装置が普及しつつある。この符号化方式には、例えば、MPEG(Moving Picture Experts Group)などがある。
特に、MPEG2(ISO/IEC 13818-2)は、汎用画像符号化方式として定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準である。例えば、MPEG2は、プロフェッショナル用途及びコンシューマ用途の広範なアプリケーションに現在広く用いられている。MPEG2圧縮方式を用いることにより、例えば720×480画素を持つ標準解像度の飛び越し走査画像であれば4乃至8Mbpsの符号量(ビットレート)が割り当てられる。また、MPEG2圧縮方式を用いることにより、例えば1920×1088画素を持つ高解像度の飛び越し走査画像であれば18乃至22 Mbpsの符号量(ビットレート)が割り当てられる。これにより、高い圧縮率と良好な画質の実現が可能である。
MPEG2は主として放送用に適合する高画質符号化を対象としていたが、MPEG1より低い符号量(ビットレート)、つまりより高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してMPEG4符号化方式の標準化が行われた。画像符号化方式に関しては、1998年12月にISO/IEC 14496-2としてその規格が国際標準に承認された。
さらに、近年、当初テレビ会議用の画像符号化を目的として、H.26L (ITU-T Q6/16 VCEG)という標準の規格化が進んでいる。H.26LはMPEG2やMPEG4といった従来の符号化方式に比べ、その符号化、復号化により多くの演算量が要求されるものの、より高い符号化効率が実現されることが知られている。また、現在、MPEG4の活動の一環として、このH.26Lをベースに、H.26Lではサポートされない機能をも取り入れ、より高い符号化効率を実現する標準化がJoint Model of Enhanced-Compression Video Codingとして行われている。標準化のスケジュールとしては、2003年3月にはH.264及びMPEG-4 Part10 (Advanced Video Coding、以下H.264/AVCと記す)という国際標準となっている。
ところで、MPEG2方式においては、線形内挿処理により1/2画素精度の動き予測・補償処理が行われている。これに対して、H.264/AVC方式においては、6タップのFIR (Finite Impulse Response Filter)フィルタを用いた1/4画素精度の予測・補償処理が行われている。
また、MPEG2方式においては、フレーム動き補償モードの場合には、16×16画素を単位として動き予測・補償処理が行われている。フィールド動き補償モードの場合には、第1フィールドと第2フィールドのそれぞれに対し、16×8画素を単位として動き予測・補償処理が行われている。
これに対して、H.264/AVC方式においては、ブロックサイズを可変にして、動き予測・補償を行うことができる。すなわち、H.264/AVC方式においては、16×16画素で構成される1つのマクロブロックを、16×16、16×8、8×16、あるいは8×8のいずれかのパーティションに分割して、それぞれ独立した動きベクトル情報を持つことが可能である。また、8×8パーティションに関しては、8×8、8×4、4×8、あるいは4×4のいずれかのサブパーティションに分割し、それぞれ独立した動きベクトル情報を持つことが可能である。
しかしながら、H.264/AVC方式においては、上述した1/4画素精度、およびブロック可変の動き予測・補償処理が行われることにより、膨大な動きベクトル情報が生成されてしまい、これをこのまま符号化してしまうと、符号化効率の低下を招いていた。
そこで、これから符号化されようとしている対象ブロックの予測動きベクトル情報を、既に符号化済の、隣接するブロックの動きベクトル情報を用いてメディアンオペレーションにより生成する方法などにより、符号化効率の低下を抑えることが提案されている。
ところで、近年、H.264/AVC方式の効率をさらに向上させようという検討が行われている。このための符号化方式の1つとして、非特許文献1においては、1/8画素精度の動き予測が提案されている。
すなわち、非特許文献1において、1/2画素精度の補間処理はフィルタ[-3,12,-39,158,158,-39,12,-3]/256により行われる。また、1/4画素精度の補間処理はフィルタ[-3,12,-37,229,71,-21,6,-1]/256により行われ、1/8画素精度の補間処理は線形補間により行われる。
このように、より高い画素精度の補間処理を用いた動き予測を行うことにより、特に、解像度が高いテクスチャを持ち、比較的ゆっくりした動きのシーケンスにおいては、予測精度を向上させ、符号化効率の向上を実現することができる。
"Motion compensated prediction with 1/8-pel displacement vector resolution",VCEG-AD09,ITU-Telecommunications Standardization Sector STUDY GROUP Question 6 Video coding Experts Group(VCEG), 23-27 Oct 2006
ここで、復号側に送信される圧縮画像情報中における動きベクトル情報について考える。整数画素精度において、値が”1”である動きベクトル情報は、1/4画素精度の動き予測を行う場合、圧縮画像情報中における処理上の値は”4”となるが、1/8画素精度の動き予測を行う場合、圧縮画像情報中における処理上の値は”8”となる。
すなわち、1/8画素精度の動き予測を行う場合の方が、1/4画素精度の動き予測を行う場合よりも、より多くの符号量を動きベクトル情報に割り当てる必要がある。この増大分が、動き予測効率の向上を上回る場合には、1/8画素精度の動き予測を行った場合、効率が逆に低下してしまうこともあり得る。
本発明は、このような状況に鑑みてなされたものであり、圧縮情報の増大を抑制するとともに、予測精度を向上するものである。
本発明の第1の側面の画像処理装置は、対象ブロックの動きベクトル情報の精度と、前記対象ブロックに隣接する隣接ブロックの動きベクトル情報の精度とが同じであるか異なるかを示す精度フラグを生成する精度フラグ生成手段と、前記対象ブロックの動きベクトル情報と、前記精度フラグ生成手段により生成された前記精度フラグを符号化する符号化手段とを備える。
前記精度フラグ生成手段により生成された前記精度フラグが、前記対象ブロックの動きベクトル情報の精度と、前記隣接ブロックの動きベクトル情報の精度とが異なることを示す場合、前記隣接ブロックの動きベクトル情報の精度を、前記対象ブロックの動きベクトル情報の精度に換算してメディアン予測を行い、予測動きベクトル情報を生成する予測動きベクトル生成手段をさらに備え、前記符号化手段は、前記対象ブロックの動きベクトル情報として、前記対象ブロックの動きベクトル情報と前記予測動きベクトル情報との差分を符号化することができる。
前記精度フラグ生成手段および前記予測動きベクトル生成手段は、前記隣接ブロックとして、前記対象ブロックの左部に隣接するブロックを用いることができる。
前記精度フラグ生成手段および前記予測動きベクトル生成手段は、前記隣接ブロックとして、前記対象ブロックに隣接するとともに、直前に符号化処理が施されたブロックを用いることができる。
前記精度フラグ生成手段および前記予測動きベクトル生成手段は、前記隣接ブロックとして、前記対象ブロック隣接するとともに、メディアン予測により選択された動きベクトル情報を与えるブロックを用いることができる。
本発明の第1の側面の画像処理方法は、画像処理装置が、対象ブロックの動きベクトル情報の精度と、前記対象ブロックに隣接する隣接ブロックの動きベクトル情報の精度とが同じであるか異なるかを示す精度フラグを生成し、前記対象ブロックの動きベクトル情報と、生成された前記精度フラグを符号化するステップを含む。
本発明の第2の側面の画像処理装置は、符号化された対象ブロックの動きベクトル情報と、前記対象ブロックの動きベクトル情報の精度、および前記対象ブロックに隣接する隣接ブロックの動きベクトル情報の精度とが同じであるか異なるかを示す精度フラグを復号する復号手段と、前記復号手段により復号された前記精度フラグを用いて、前記復号手段により復号された前記対象ブロックの動きベクトル情報を再構成する動きベクトル再構成手段と、前記動きベクトル再構成手段により再構成された前記対象ブロックの動きベクトル情報を用いて、前記対象ブロックの予測画像を生成する予測画像生成手段とを備える。
前記復号手段により復号された前記精度フラグが、前記対象ブロックの動きベクトル情報の精度と、前記隣接ブロックの動きベクトル情報の精度とが異なることを示す場合、前記隣接ブロックの動きベクトル情報の精度を、前記対象ブロックの動きベクトル情報の精度に換算してメディアン予測を行い、予測動きベクトル情報を生成する予測動きベクトル生成手段をさらに備え、前記動きベクトル再構成手段は、前記復号手段により復号された前記精度フラグと、前記予測動きベクトル生成手段により生成された前記予測動きベクトル情報を用いて、前記復号手段により復号された前記対象ブロックの動きベクトル情報を再構成することができる。
前記動きベクトル再構成手段と前記予測動きベクトル生成手段は、前記隣接ブロックとして、前記対象ブロックの左部に隣接するブロックを用いることができる。
前記動きベクトル再構成手段と前記予測動きベクトル生成手段は、前記隣接ブロックとして、前記対象ブロックに隣接するとともに、直前に符号化処理が施されたブロックを用いることができる。
前記動きベクトル再構成手段と前記予測動きベクトル生成手段は、前記隣接ブロックとして、前記対象ブロック隣接するとともに、メディアン予測により選択された動きベクトル情報を与えるブロックを用いることができる。
本発明の第2の側面の画像処理方法は、画像処理装置が、符号化された対象ブロックの動きベクトル情報、および前記対象ブロックの動きベクトル情報の精度と、前記対象ブロックに隣接する隣接ブロックの動きベクトル情報の精度とが同じであるか異なるかを示す精度フラグを復号し、復号された前記精度フラグを用いて、復号された前記対象ブロックの動きベクトル情報を再構成し、再構成された前記対象ブロックの動きベクトル情報を用いて、前記対象ブロックの予測画像を生成するステップを含む。
本発明の第1の側面においては、対象ブロックの動きベクトル情報の精度と、前記対象ブロックに隣接する隣接ブロックの動きベクトル情報の精度とが同じであるか異なるかを示す精度フラグが生成され、前記対象ブロックの動きベクトル情報とともに、生成された前記精度フラグが符号化される。
本発明の第2の側面においては、符号化された対象ブロックの動きベクトル情報、および前記対象ブロックの動きベクトル情報の精度と、前記対象ブロックに隣接する隣接ブロックの動きベクトル情報の精度とが同じであるか異なるかを示す精度フラグが復号される。そして、復号された前記精度フラグを用いて、復号された前記対象ブロックの動きベクトル情報が再構成され、再構成された前記対象ブロックの動きベクトル情報を用いて、前記対象ブロックの予測画像が生成される。
なお、上述の画像処理装置のそれぞれは、独立した装置であっても良いし、1つの画像符号化装置または画像復号装置を構成している内部ブロックであってもよい。
本発明の第1の側面によれば、画像を符号化することができる。また、本発明の第1の側面によれば、圧縮情報の増大を抑制するとともに、予測精度を向上することができる。
本発明の第2の側面によれば、画像を復号することができる。また、本発明の第2の側面によれば、圧縮情報の増大を抑制するとともに、予測精度を向上することができる。
以下、図を参照して本発明の実施の形態について説明する。
[画像符号化装置の構成例]
図1は、本発明を適用した画像処理装置としての画像符号化装置の一実施の形態の構成を表している。
図1は、本発明を適用した画像処理装置としての画像符号化装置の一実施の形態の構成を表している。
この画像符号化装置51は、例えば、H.264及びMPEG-4 Part10(Advanced Video Coding)(以下H.264/AVCと記す)方式で画像を圧縮符号化する。
図1の例において、画像符号化装置51は、A/D変換部61、画面並べ替えバッファ62、演算部63、直交変換部64、量子化部65、可逆符号化部66、蓄積バッファ67、逆量子化部68、逆直交変換部69、演算部70、デブロックフィルタ71、フレームメモリ72、スイッチ73、イントラ予測部74、動き予測・補償部75、動きベクトル精度判定部76、予測画像選択部77、およびレート制御部78により構成されている。
A/D変換部61は、入力された画像をA/D変換し、画面並べ替えバッファ62に出力し、記憶させる。画面並べ替えバッファ62は、記憶した表示の順番のフレームの画像を、GOP(Group of Picture)に応じて、符号化のためのフレームの順番に並べ替える。
演算部63は、画面並べ替えバッファ62から読み出された画像から、予測画像選択部77により選択されたイントラ予測部74からの予測画像または動き予測・補償部75からの予測画像を減算し、その差分情報を直交変換部64に出力する。直交変換部64は、演算部63からの差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を出力する。量子化部65は直交変換部64が出力する変換係数を量子化する。
量子化部65の出力となる、量子化された変換係数は、可逆符号化部66に入力され、ここで可変長符号化、算術符号化等の可逆符号化が施され、圧縮される。
可逆符号化部66は、イントラ予測を示す情報をイントラ予測部74から取得し、インター予測モードを示す情報などを動き予測・補償部75から取得する。なお、イントラ予測を示す情報およびインター予測を示す情報は、以下、それぞれ、イントラ予測モード情報およびインター予測モード情報とも称する。
可逆符号化部66は、量子化された変換係数を符号化するとともに、イントラ予測を示す情報、インター予測モードを示す情報などを符号化し、圧縮画像におけるヘッダ情報の一部とする。可逆符号化部66は、符号化したデータを蓄積バッファ67に供給して蓄積させる。
例えば、可逆符号化部66においては、可変長符号化または算術符号化等の可逆符号化処理が行われる。可変長符号化としては、H.264/AVC方式で定められているCAVLC(Context-Adaptive Variable Length Coding)などがあげられる。算術符号化としては、CABAC(Context-Adaptive Binary Arithmetic Coding)などがあげられる。
蓄積バッファ67は、可逆符号化部66から供給されたデータを、H.264/AVC方式で符号化された圧縮画像として、例えば、後段の図示せぬ記録装置や伝送路などに出力する。
また、量子化部65より出力された、量子化された変換係数は、逆量子化部68にも入力され、逆量子化された後、さらに逆直交変換部69において逆直交変換される。逆直交変換された出力は演算部70により予測画像選択部77から供給される予測画像と加算されて、局部的に復号された画像となる。デブロックフィルタ71は、復号された画像のブロック歪を除去した後、フレームメモリ72に供給し、蓄積させる。フレームメモリ72には、デブロックフィルタ71によりデブロックフィルタ処理される前の画像も供給され、蓄積される。
スイッチ73はフレームメモリ72に蓄積された参照画像を動き予測・補償部75またはイントラ予測部74に出力する。
この画像符号化装置51においては、例えば、画面並べ替えバッファ62からのIピクチャ、Bピクチャ、およびPピクチャが、イントラ予測(イントラ処理とも称する)する画像として、イントラ予測部74に供給される。また、画面並べ替えバッファ62から読み出されたBピクチャおよびPピクチャが、インター予測(インター処理とも称する)する画像として、動き予測・補償部75に供給される。
イントラ予測部74は、画面並べ替えバッファ62から読み出されたイントラ予測する画像とフレームメモリ72から供給された参照画像に基づいて、候補となる全てのイントラ予測モードのイントラ予測処理を行い、予測画像を生成する。
その際、イントラ予測部74は、候補となる全てのイントラ予測モードに対してコスト関数値を算出し、算出したコスト関数値が最小値を与えるイントラ予測モードを、最適イントラ予測モードとして選択する。
イントラ予測部74は、最適イントラ予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部77に供給する。イントラ予測部74は、予測画像選択部77により最適イントラ予測モードで生成された予測画像が選択された場合、最適イントラ予測モードを示す情報を、可逆符号化部66に供給する。可逆符号化部66は、この情報を符号化し、圧縮画像におけるヘッダ情報の一部とする。
動き予測・補償部75は、候補となる全てのインター予測モードの動き予測・補償処理を行う。すなわち、動き予測・補償部75には、画面並べ替えバッファ62から読み出されたインター処理する画像と、スイッチ73を介してフレームメモリ72から参照画像が供給される。動き予測・補償部75は、インター処理する画像と参照画像に基づいて、候補となる全てのインター予測モードの動きベクトルを検出し、動きベクトルに基づいて参照画像に補償処理を施し、予測画像を生成する。
なお、動き予測・補償部75は、図3を参照して後述するH.264/AVC方式において定められている1/4画素精度の動き予測補償処理ではなく、上述した非特許文献1に記載の1/8画素精度の動き予測補償処理を行う。
動き予測・補償部75により求められた対象ブロックの動きベクトル情報と、対象ブロックに隣接する隣接ブロックの動きベクトル情報は、動きベクトル精度判定部76に供給される。これに対応して、動き予測・補償部75には、動きベクトル精度判定部76から、対象ブロックの動きベクトル情報の精度と隣接ブロックの動きベクトル情報の精度とが同じであるか異なるかを示す精度フラグが供給される。
動き予測・補償部75は、その精度フラグを基に、隣接ブロックの動きベクトル情報を用いて、対象ブロックの予測動きベクトル情報を算出し、求められた動きベクトル情報と生成した予測動きベクトル情報との差分を、復号側に送る動きベクトル情報とする。
また、動き予測・補償部75は、候補となる全てのインター予測モードに対してコスト関数値を算出する。動き予測・補償部75は、算出したコスト関数値のうち、最小値を与える予測モードを、最適インター予測モードとして決定する。
動き予測・補償部75は、最適インター予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部77に供給する。動き予測・補償部75は、予測画像選択部77により最適インター予測モードで生成された予測画像が選択された場合、最適インター予測モードを示す情報(インター予測モード情報)を可逆符号化部66に出力する。
このとき、動きベクトル情報、精度フラグ、参照フレーム情報なども可逆符号化部66に出力される。可逆符号化部66は、動き予測・補償部75からの情報をやはり可変長符号化、算術符号化といった可逆符号化処理し、圧縮画像のヘッダ部に挿入する。
動きベクトル精度判定部76には、動き予測・補償部75からの対象ブロックの動きベクトル情報と隣接ブロックの動きベクトル情報が供給される。動きベクトル精度判定部76は、対象ブロックの動きベクトル情報の精度と、隣接ブロックの動きベクトル情報の精度とが同じであるか異なるかを示す精度フラグを生成し、生成した精度フラグを、動き予測・補償部75に供給する。
予測画像選択部77は、イントラ予測部74または動き予測・補償部75より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードから、最適予測モードを決定する。そして、予測画像選択部77は、決定された最適予測モードの予測画像を選択し、演算部63,70に供給する。このとき、予測画像選択部77は、予測画像の選択情報を、イントラ予測部74または動き予測・補償部75に供給する。
レート制御部78は、蓄積バッファ67に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部65の量子化動作のレートを制御する。
[H.264/AVC方式の説明]
図2は、H.264/AVC方式における動き予測・補償のブロックサイズの例を示す図である。H.264/AVC方式においては、ブロックサイズを可変にして、動き予測・補償が行われる。
図2は、H.264/AVC方式における動き予測・補償のブロックサイズの例を示す図である。H.264/AVC方式においては、ブロックサイズを可変にして、動き予測・補償が行われる。
図2の上段には、左から、16×16画素、16×8画素、8×16画素、および8×8画素のパーティションに分割された16×16画素で構成されるマクロブロックが順に示されている。また、図2の下段には、左から、8×8画素、8×4画素、4×8画素、および4×4画素のサブパーティションに分割された8×8画素のパーティションが順に示されている。
すなわち、H.264/AVC方式においては、1つのマクロブロックを、16×16画素、16×8画素、8×16画素、あるいは8×8画素のいずれかのパーティションに分割して、それぞれ独立した動きベクトル情報を持つことが可能である。また、8×8画素のパーティションに関しては、8×8画素、8×4画素、4×8画素、あるいは4×4画素のいずれかのサブパーティションに分割し、それぞれ独立した動きベクトル情報を持つことが可能である。
図3は、H.264/AVC方式における1/4画素精度の予測・補償処理を説明する図である。H.264/AVC方式においては、6タップのFIR (Finite Impulse Response Filter)フィルタを用いた1/4画素精度の予測・補償処理が行われている。
図3の例において、位置Aは、整数精度画素の位置、位置b,c,dは、1/2画素精度の位置、位置e1,e2,e3は、1/4画素精度の位置を示している。まず、以下においては、Clip()を次の式(1)のように定義する。
位置cにおける画素値は、水平方向および垂直方向に6タップのFIRフィルタを適用し、次の式(3)のように生成される。
なお、Clip処理は、水平方向および垂直方向の積和処理の両方を行った後、最後に1度のみ実行される。
なお、図1の動き予測・補償部75においては、1/4画素精度の動き予測補償処理に代えて、上述した非特許文献1に記載の1/8画素精度の動き予測補償処理が行われる。
すなわち、動き予測・補償部75においては、1/2画素精度の補間処理がフィルタ[-3,12,-39,158,158,-39,12,-3]/256を用いて行われる。また、1/4画素精度の補間処理がフィルタ[-3,12,-37,229,71,-21,6,-1]/256を用いて行われ、1/8画素精度の補間処理が線形補間により行われる。
図4は、H.264/AVC方式におけるマルチ参照フレームの予測・補償処理を説明する図である。H.264/AVC方式においては、マルチ参照フレーム(Multi-Reference Frame) の動き予測・補償方式が定められている。
図4の例においては、いまから符号化される対象フレームFnと、符号化済みのフレームFn-5,…,Fn-1が示されている。フレームFn-1は、時間軸上、対象フレームFnの1つ前のフレームであり、フレームFn-2は、対象フレームFnの2つ前のフレームであり、フレームFn-3は、対象フレームFnの3つ前のフレームである。また、フレームFn-4は、対象フレームFnの4つ前のフレームであり、フレームFn-5は、対象フレームFnの5つ前のフレームである。一般的には、対象フレームFnに対して時間軸上に近いフレームほど、小さい参照ピクチャ番号(ref_id)が付加される。すなわち、フレームFn-1が一番参照ピクチャ番号が小さく、以降、Fn-2,…, Fn-5の順に参照ピクチャ番号が小さい。
対象フレームFnには、ブロックA1とブロックA2が示されており、ブロックA1は、2つ前のフレームFn-2のブロックA1’と相関があるとされて、動きベクトルV1が探索されている。また、ブロックA2は、4つ前のフレームFn-4のブロックA1’と相関があるとされて、動きベクトルV2が探索されている。
以上のように、H.264/AVC方式においては、複数の参照フレームをメモリに格納しておき、1枚のフレーム(ピクチャ)において、異なる参照フレームを参照することが可能である。すなわち、例えば、ブロックA1がフレームFn-2を参照し、ブロックA2がフレームFn-4を参照しているというように、1枚のピクチャにおいて、ブロック毎にそれぞれ独立した参照フレーム情報(参照ピクチャ番号(ref_id))を持つことができる。
ここで、ブロックとは、図2を参照して上述した16×16画素、16×8画素、8×16画素、および8×8画素のパーティションのいずれかを示す。8×8サブブロック内における参照フレームは同一でなければならない。
H.264/AVC方式においては、図2乃至図4を参照して上述した動き予測・補償処理が行われることにより、膨大な動きベクトル情報が生成され、これをこのまま符号化することは、符号化効率の低下を招いてしまう。これに対して、H.264/AVC方式においては、図5に示す方法により、動きベクトルの符号化情報の低減が実現されている。
図5は、H.264/AVC方式による動きベクトル情報の生成方法について説明する図である。
図5の例において、これから符号化される対象ブロックE(例えば、16×16画素)と、既に符号化済みであり、対象ブロックEに隣接するブロックA乃至Dが示されている。
すなわち、ブロックDは、対象ブロックEの左上に隣接しており、ブロックBは、対象ブロックEの上に隣接しており、ブロックCは、対象ブロックEの右上に隣接しており、ブロックAは、対象ブロックEの左に隣接している。なお、ブロックA乃至Dが区切られていないのは、それぞれ、図2で上述した16×16画素乃至4×4画素のうちのいずれかの構成のブロックであることを表している。
例えば、X(=A,B,C,D,E)に対する動きベクトル情報を、mvXで表す。まず、対象ブロックEに対する予測動きベクトル情報pmvEは、ブロックA,B,Cに関する動きベクトル情報を用いて、メディアン予測により次の式(5)のように生成される。
pmvE = med(mvA,mvB,mvC) ・・・(5)
ブロックCに関する動きベクトル情報が、画枠の端であったり、あるいは、まだ符号化されていないなどの理由により、利用可能でない(unavailableである)場合がある。この場合には、ブロックCに関する動きベクトル情報は、ブロックDに関する動きベクトル情報で代用される。
ブロックCに関する動きベクトル情報が、画枠の端であったり、あるいは、まだ符号化されていないなどの理由により、利用可能でない(unavailableである)場合がある。この場合には、ブロックCに関する動きベクトル情報は、ブロックDに関する動きベクトル情報で代用される。
対象ブロックEに対する動きベクトル情報として、圧縮画像のヘッダ部に付加されるデータmvdEは、pmvEを用いて、次の式(6)のように生成される。
mvdE = mvE - pmvE ・・・(6)
mvdE = mvE - pmvE ・・・(6)
なお、実際には、動きベクトル情報の水平方向、垂直方向のそれぞれの成分に対して、独立に処理が行われる。
以下、このデータmvdEを、動き予測で求められた動きベクトル情報と区別するために、適宜、差分動きベクトル情報とも称する。
このように、予測動きベクトル情報を生成し、隣接するブロックとの相関で生成された予測動きベクトル情報と動きベクトル情報との差分である差分動きベクトル情報を、圧縮画像のヘッダ部に付加することにより、動きベクトル情報を低減することができる。
ところで、Bピクチャについての動きベクトル情報における情報量は膨大であるが、H.264/AVC方式においては、ダイレクトモードと呼ばれるモードが用意されている。ダイレクトモードにおいては、動きベクトル情報は、圧縮画像中には格納されない。
すなわち、復号側においては、対象ブロックの周辺の動きベクトル情報、または参照ピクチャにおいて、対象ブロックと座標が同じブロックであるco-locatedブロックの動きベクトル情報から、対象ブロックの動きベクトル情報が抽出される。したがって、動きベクトル情報を復号側に送る必要がない。
このダイレクトモードには、空間ダイレクトモード(Spatial Direct Mode)と、時間ダイレクトモード(Temporal Direct Mode)の2種類が存在する。空間ダイレクトモードは、主として空間方向(ピクチャ内の水平、垂直の2次元空間)の動き情報の相関を利用するモードであり、一般的に、同じような動きが含まれる画像で、動きの速度が変化する画像で効果がある。一方、時間ダイレクトモードは、主として時間方向の動き情報の相関を利用するモードであり、一般的に、異なる動きが含まれる画像で、動きの速度が一定の画像で効果がある。
これらの空間ダイレクトモードと時間ダイレクトモードのうち、どちらを用いるかは、スライス毎に切り替えることができる。
再び、図5を参照して、H.264/AVC方式による空間ダイレクトモードについて説明する。図5の例においては、上述したように、これから符号化される対象ブロックE(例えば、16×16画素)と、既に符号化済みであり、対象ブロックEに隣接するブロックA乃至Dが示されている。そして、例えば、X(=A,B,C,D,E)に対する動きベクトル情報は、mvXで表わされる。
対象ブロックEに対する予測動きベクトル情報pmvEは、ブロックA,B,Cに関する動きベクトル情報を用いて、メディアン予測により上述した式(5)のように生成される。そして、空間ダイレクトモードにおける対象ブロックEに対する動きベクトル情報mvEは、次の式(7)で表される。
mvE = pmvE ・・・(7)
mvE = pmvE ・・・(7)
すなわち、空間ダイレクトモードにおいては、メディアン予測により生成された予測動きベクトル情報が、対象ブロックの動きベクトル情報とされる。すなわち、対象ブロックの動きベクトル情報は、符号化済みブロックの動きベクトル情報で生成される。したがって、空間ダイレクトモードによる動きベクトルは、復号側でも生成することができるので、動きベクトル情報を送る必要がない。
次に、図6を参照して、H.264/AVC方式における時間ダイレクトモードについて説明する。
図6の例においては、時間軸tが時間の経過を表しており、左から順に、L0(List0)参照ピクチャ、いまから符号化される対象ピクチャ、L1(List1)参照ピクチャが示されている。なお、L0参照ピクチャ、対象ピクチャ、L1参照ピクチャの並びは、H.264/AVC方式においては、この順に限らない。
対象ピクチャの対象ブロックは、例えば、Bスライスに含まれている。したがって、対象ピクチャの対象ブロックについては、L0参照ピクチャとL1参照ピクチャに対して、時間ダイレクトモードに基づくL0動きベクトル情報mvL0とL1動きベクトル情報mvL1が算出される。
また、L0参照ピクチャにおいて、いまから符号化される対象ブロックと同じ空間上のアドレス(座標)にあるブロックであるco-locatedブロックにおける動きベクトル情報mvcolは、L0参照ピクチャとL1参照ピクチャに基づいて算出されている。
ここで、対象ピクチャとL0参照ピクチャの時間軸上の距離をTDBとし、L0参照ピクチャとL1参照ピクチャの時間軸上の距離をTDDとする。この場合、対象ピクチャにおけるL0動きベクトル情報mvL0と、対象ピクチャにおけるL1動きベクトル情報mvL1は、次の式(8)で算出することができる。
なお、H.264/AVC方式においては、圧縮画像中には、対象ピクチャに対する時間軸t上の距離TDB、TDDに相当する情報が存在しない。したがって、距離TDB、TDDの実際の値としては、ピクチャの出力順序を示す情報であるPOC(Picture Order Count)が用いられる。
また、H.264/AVC方式においては、同様に動きベクトル情報を送る必要がないモードとして、他に、スキップモードがある。動きベクトルに関する符号化データが0の場合(H.264/AVC方式の場合、上述した式(7)が成り立つ場合)で、かつ、DCT係数が全て0のとき、その対象ブロックは、スキップモードとなる。また、Bピクチャの場合には、ダイレクトモードで、かつ、DCT係数が0のとき、その対象ブロックは、スキップモードとなる。
[動き予測・補償部および動きベクトル精度判定部の構成例]
図7は、動き予測・補償部および動きベクトル精度判定部の詳細な構成例を示すブロック図である。なお、各詳細については、適宜、上述した図5の対象ブロックEおよび隣接ブロックA乃至Dを用いて説明する。
図7は、動き予測・補償部および動きベクトル精度判定部の詳細な構成例を示すブロック図である。なお、各詳細については、適宜、上述した図5の対象ブロックEおよび隣接ブロックA乃至Dを用いて説明する。
図7の例においては、動き予測・補償部75は、整数画素精度動き予測・補償部81、小数画素精度動き予測・補償部82、動きベクトル情報蓄積バッファ83、予測動きベクトル算出部84、動きベクトル情報符号化部85、およびモード判定部86により構成される。
動きベクトル精度判定部76は、対象動きベクトル精度判別部91、隣接動きベクトル精度判別部92、および精度フラグ生成部93により構成される。
整数画素精度動き予測・補償部81には、画面並べ替えバッファ62から読み出されたインター処理する原画像と、スイッチ73を介してフレームメモリ72から参照画像が供給される。整数画素精度動き予測・補償部81は、候補となる全てのインター予測モードについて、対象ブロックEの整数画素精度の動き予測・補償処理を行う。このとき、求められた対象ブロックEの整数画素精度の動きベクトル情報は、インターする画像および参照画像とともに、小数画素精度動き予測・補償部82に供給される。
小数画素精度動き予測・補償部82は、インターする画像および参照画像を用い、整数画素精度の動きベクトル情報を基に、対象ブロックEの小数画素精度の動き予測・補償処理を行う。ここでは、上述したように、1/8画素精度の動き予測・補償処理が行われる。このとき、求められた動きベクトル情報mvEは、動きベクトル情報蓄積バッファ83に蓄積されるとともに、動きベクトル情報符号化部85および対象動きベクトル精度判別部91に供給される。また、小数画素精度の補償処理により、求められた予測画像は、原画像および参照フレーム情報とともに、モード判定部86に供給される。
動きベクトル情報蓄積バッファ83は、小数画素精度動き予測・補償部82により求められた動きベクトル情報mvX(X=A,B,C,D,E)を蓄積している。
予測動きベクトル算出部84は、動きベクトル情報蓄積バッファ83より対象ブロックに隣接する隣接ブロックの動きベクトル情報mvA,mvB,mvCを読み出す。予測動きベクトル算出部84は、読みだした動きベクトル情報を用いて、上述した式(5)のメディアン予測により、対象ブロックEの予測動きベクトル情報pmvEを算出する。このとき、予測動きベクトル算出部84には、精度フラグ生成部93により生成された精度フラグ(horizontal_mv_precision_change_flag,vertical_mv_precision_change_flag)が供給される。
この精度フラグが、対象ブロックEの動きベクトル情報の精度と、予測動きベクトル情報生成に用いる隣接ブロックの動きベクトル情報の精度とが異なることを示す場合、予測動きベクトル算出部84は、次のように処理を行う。すなわち、この場合、予測動きベクトル算出部84は、隣接ブロックの動きベクトル情報の精度を、対象ブロックEの動きベクトル情報の精度に換算して(合わせて)、対象ブロックEの予測動きベクトル情報pmvEを算出する。
予測動きベクトル算出部84により生成された対象ブロックEの予測動きベクトル情報pmvEは、動きベクトル情報符号化部85に供給される。
動きベクトル情報符号化部85には、小数画素精度動き予測・補償部82から対象ブロックEの動きベクトル情報mvEが供給され、予測動きベクトル算出部84から対象ブロックEの予測動きベクトル情報pmvEが供給される。さらに、動きベクトル情報符号化部85には、精度フラグ生成部93から精度フラグが供給される。
動きベクトル情報符号化部85は、対象ブロックEの動きベクトル情報mvEと対象ブロックEの予測動きベクトル情報pmvEを用いて、上述した式(6)により、圧縮画像のヘッダ部に付加するための対象ブロックEの差分動きベクトル情報mvdEを求める。動きベクトル情報符号化部85は、求めた対象ブロックEの差分動きベクトル情報mvdEを、精度フラグとともに、モード判定部86に供給する。
モード判定部86には、小数画素精度動き予測・補償部82からの予測画像、原画像、および参照フレーム情報、並びに動きベクトル情報符号化部85からの差分動きベクトル情報mvdEおよび精度フラグなどが供給される。モード判定部86は、供給された情報を適宜用いて、候補となる全てのインター予測モードについてのコスト関数値を算出する。モード判定部86は、コスト関数値が最小値を与える予測モードを、最適インター予測モードとして決定し、最適インター予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部77に供給する。
予測画像選択部77により最適インター予測モードの予測画像が選択された場合、モード判定部86は、最適インター予測モードを示す情報と、差分動きベクトル情報mvdE、精度フラグ、参照フレーム情報などを可逆符号化部66に出力する。
対象動きベクトル精度判別部91は、小数画素精度動き予測・補償部82からの対象ブロックの動きベクトル情報mvEの精度を判別する。そして、対象動きベクトル精度判別部91は、対象ブロックの動きベクトル情報に対する水平成分と垂直成分に関する精度パラメータ(curr_horizontal_mv_precision_param, curr_vertical_mv_precision_param)を決定する。決定された対象ブロックの動きベクトル情報の精度パラメータは、精度フラグ生成部93に供給される。
例えば、対象ブロックEの動きベクトル情報mvEが1/4画素精度までの情報しか持たない場合、対象ブロックEの水平成分の精度パラメータと垂直成分の精度パラメータの値は0とされる。対象ブロックEの動きベクトル情報mvEが1/8画素精度までの情報を持つ場合、対象ブロックEの水平成分の精度パラメータと垂直成分の精度パラメータの値は1とされる。
隣接動きベクトル精度判別部92は、動きベクトル情報蓄積バッファ83の隣接ブロックの動きベクトル情報を読み出し、隣接ブロックの動きベクトル情報の精度を判別する。そして、隣接動きベクトル精度判別部92は、隣接ブロックの動きベクトル情報に対する水平成分と垂直成分に関する精度パラメータ(pred_horizontal_mv_precision_param, pred_vertical_mv_precision_param)を決定する。決定された隣接ブロックの動きベクトル情報の精度パラメータは、精度フラグ生成部93に供給される。
例えば、隣接ブロックの動きベクトル情報が1/4画素精度までの情報しか持たない場合、隣接ブロックの水平成分の精度パラメータと垂直成分の精度パラメータの値は0とされる。隣接ブロックの動きベクトル情報が1/8画素精度までの情報を持つ場合、隣接ブロックの水平成分の精度パラメータと垂直成分の精度パラメータの値は1とされる。
ここで、隣接ブロックとは、対象ブロックEの動きベクトル情報mvEに対して、予測値(予測動きベクトル情報)pmvEを与える可能性のあるブロックであり、例えば、図5のブロックA,B,C, Dのいずれかのブロックである。具体的には、以下のいずれかの方法により定義される。
第1の方法は、対象ブロックEの左部に隣接するブロックAを隣接ブロックとして用いる方法である。
第2の方法は、直前に復号処理が施されたブロックを隣接ブロックとして用いる方法である。
第3の方法は、上述した式(5)のメディアン予測により選択された予測値を与えるブロックを隣接ブロックとして用いる方法である。すなわち、この場合、メディアン予測により予測値とされた動きベクトルの精度が用いられる。
なお、上述した第1の方法および第2の方法において、pred_horizontal_mv_precision_param, pred_vertical_mv_precision_paramを与えるブロックがイントラ符号化されたものである場合には、その動きベクトル情報の値を0として処理が行われる。また、第3の方法の場合、H.264/AVC方式で定められているメディアン予測に基づく処理が行われる。
精度フラグ生成部93には、対象動きベクトル精度判別部91からの対象ブロックEの動きベクトル情報の精度パラメータと隣接動きベクトル精度判別部92からの隣接ブロックの動きベクトル情報の精度パラメータが供給される。精度フラグ生成部93は、両者の精度パラメータを比較し、対象ブロックEの動きベクトル情報の精度と、隣接ブロックの動きベクトル情報の精度とが同じであるか異なるかを示す精度フラグを生成する。
すなわち、対象ブロックEの水平成分の精度パラメータと隣接ブロックの水平成分の精度パラメータが同じ値であるなら、対象ブロックEの水平成分の精度フラグ(horizontal_mv_precision_change_flag)の値は、0とされる。対象ブロックEの水平成分の精度パラメータと隣接ブロックの水平成分の精度パラメータが異なる値であるなら、対象ブロックEの水平成分の精度フラグ(horizontal_mv_precision_change_flag)の値は、1とされる。
また、対象ブロックEの垂直成分の精度パラメータと隣接ブロックの垂直成分の精度パラメータが同じ値であるなら、対象ブロックEの垂直成分の精度フラグ(vertical_mv_precision_change_flag)の値は、0とされる。対象ブロックEの垂直成分の精度パラメータと隣接ブロックの垂直成分の精度パラメータが異なる値であるなら、対象ブロックEの垂直成分の精度フラグ(vertical_mv_precision_change_flag)の値は、1とされる。
すなわち、対象ブロックEの動きベクトル情報の精度と隣接ブロックの動きベクトル情報の精度とが同じであるか異なるかを示す精度フラグは、対象ブロックEの動きベクトル情報の精度が、隣接ブロックの動きベクトル情報の精度から変わったか否かを示すものである。
生成された対象ブロックの水平成分および垂直成分の精度フラグは、予測動きベクトル算出部84および動きベクトル情報符号化部85に供給される。
[画像符号化装置の符号化処理の説明]
次に、図8のフローチャートを参照して、図1の画像符号化装置51の符号化処理について説明する。
次に、図8のフローチャートを参照して、図1の画像符号化装置51の符号化処理について説明する。
ステップS11において、A/D変換部61は入力された画像をA/D変換する。ステップS12において、画面並べ替えバッファ62は、A/D変換部61より供給された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
ステップS13において、演算部63は、ステップS12で並び替えられた画像と予測画像との差分を演算する。予測画像は、インター予測する場合は動き予測・補償部75から、イントラ予測する場合はイントラ予測部74から、それぞれ予測画像選択部77を介して演算部63に供給される。
差分データは元の画像データに較べてデータ量が小さくなっている。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
ステップS14において、直交変換部64は演算部63から供給された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。ステップS15において、量子化部65は変換係数を量子化する。この量子化に際しては、後述するステップS25の処理で説明されるように、レートが制御される。
以上のようにして量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップS16において、逆量子化部68は量子化部65により量子化された変換係数を量子化部65の特性に対応する特性で逆量子化する。ステップS17において、逆直交変換部69は逆量子化部68により逆量子化された変換係数を直交変換部64の特性に対応する特性で逆直交変換する。
ステップS18において、演算部70は、予測画像選択部77を介して入力される予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像(演算部63への入力に対応する画像)を生成する。ステップS19においてデブロックフィルタ71は、演算部70より出力された画像をフィルタリングする。これによりブロック歪みが除去される。ステップS20においてフレームメモリ72は、フィルタリングされた画像を記憶する。なお、フレームメモリ72にはデブロックフィルタ71によりフィルタ処理されていない画像も演算部70から供給され、記憶される。
ステップS21において、イントラ予測部74および動き予測・補償部75は、それぞれ画像の予測処理を行う。すなわち、ステップS21において、イントラ予測部74は、イントラ予測モードのイントラ予測処理を行う。動き予測・補償部75は、1/8画素精度でのインター予測モードの動き予測・補償処理を行う。
このとき、動きベクトル精度判定部76は、動き予測・補償部75により求められた対象ブロックの動きベクトル情報の精度と、対象ブロックに隣接する隣接ブロックの動きベクトル情報の精度とが同じであるか異なるかを示す精度フラグを生成する。動き予測・補償部75は、その精度フラグを基に、隣接ブロックの動きベクトル情報を用いて、対象ブロックの予測動きベクトル情報を算出し、求めた動きベクトル情報と算出した予測動きベクトル情報との差分を、復号側に送る差分動きベクトル情報とする。
この精度フラグと差分動きベクトル情報は、ステップS22において、最適インター予測モードの予測画像が選択された場合に、最適インター予測モードを示す情報や参照フレーム情報とともに、可逆符号化部66に供給される。
ステップS21における予測処理の詳細は、図9を参照して後述するが、この処理により、候補となる全てのイントラ予測モードでの予測処理がそれぞれ行われ、候補となる全てのイントラ予測モードでのコスト関数値がそれぞれ算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測モードが選択され、最適イントラ予測モードのイントラ予測により生成された予測画像とそのコスト関数値が予測画像選択部77に供給される。
また、この処理により、候補となる全てのインター予測モードでの予測処理がそれぞれ行われ、候補となる全てのインター予測モードでのコスト関数値がそれぞれ算出される。算出されたコスト関数値に基づいて、インター予測モードの中から、最適インター予測モードが決定され、最適インター予測モードで生成された予測画像とそのコスト関数値が、予測画像選択部77に供給される。
ステップS22において、予測画像選択部77は、イントラ予測部74および動き予測・補償部75より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちの一方を、最適予測モードに決定する。そして、予測画像選択部77は、決定した最適予測モードの予測画像を選択し、演算部63,70に供給する。この予測画像が、上述したように、ステップS13,S18の演算に利用される。
なお、この予測画像の選択情報は、イントラ予測部74または動き予測・補償部75に供給される。最適イントラ予測モードの予測画像が選択された場合、イントラ予測部74は、最適イントラ予測モードを示す情報(すなわち、イントラ予測モード情報)を、可逆符号化部66に供給する。
最適インター予測モードの予測画像が選択された場合、動き予測・補償部75は、最適インター予測モードを示す情報と、必要に応じて、最適インター予測モードに応じた情報を可逆符号化部66に出力する。最適インター予測モードに応じた情報としては、差分動きベクトル情報や精度フラグ、参照フレーム情報などがあげられる。
ステップS23において、可逆符号化部66は量子化部65より出力された量子化された変換係数を符号化する。すなわち、差分画像が可変長符号化、算術符号化等の可逆符号化され、圧縮される。このとき、上述したステップS22において可逆符号化部66に入力された、イントラ予測部74からのイントラ予測モード情報、または、動き予測・補償部75からの最適インター予測モードに応じた情報なども符号化され、ヘッダ情報に付加される。
ステップS24において蓄積バッファ67は差分画像を圧縮画像として蓄積する。蓄積バッファ67に蓄積された圧縮画像が適宜読み出され、伝送路を介して復号側に伝送される。
ステップS25においてレート制御部78は、蓄積バッファ67に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部65の量子化動作のレートを制御する。
[予測処理の説明]
次に、図9のフローチャートを参照して、図8のステップS21における予測処理を説明する。
次に、図9のフローチャートを参照して、図8のステップS21における予測処理を説明する。
画面並べ替えバッファ62から供給される処理対象の画像がイントラ処理されるブロックの画像である場合、参照される復号済みの画像がフレームメモリ72から読み出され、スイッチ73を介してイントラ予測部74に供給される。これらの画像に基づいて、ステップS31において、イントラ予測部74は処理対象のブロックの画素を、候補となる全てのイントラ予測モードでイントラ予測する。なお、参照される復号済みの画素としては、デブロックフィルタ71によりデブロックフィルタリングされていない画素が用いられる。
ステップS31におけるイントラ予測処理の詳細は、図10を参照して後述するが、この処理により、候補となる全てのイントラ予測モードでイントラ予測が行われ、候補となる全てのイントラ予測モードに対してコスト関数値が算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測モードが選択され、最適イントラ予測モードのイントラ予測により生成された予測画像とそのコスト関数値が予測画像選択部77に供給される。
画面並べ替えバッファ62から供給される処理対象の画像がインター処理される画像である場合、参照される画像がフレームメモリ72から読み出され、スイッチ73を介して動き予測・補償部75に供給される。これらの画像に基づいて、ステップS32において、動き予測・補償部75はインター動き予測処理を行う。すなわち、動き予測・補償部75は、フレームメモリ72から供給される画像を参照して、候補となる全てのインター予測モードの動き予測処理を行う。
なお、このとき、動きベクトル精度判定部76は、動き予測・補償部75により求められた対象ブロックの動きベクトル情報の精度と、対象ブロックに隣接する隣接ブロックの動きベクトル情報の精度とが同じであるか異なるかを示す精度フラグを生成する。動き予測・補償部75は、その精度フラグを基に、隣接ブロックの動きベクトル情報を用いて、対象ブロックの予測動きベクトル情報を生成し、求めた動きベクトル情報と生成した予測動きベクトル情報との差分を、復号側に送る差分動きベクトル情報とする。
この精度フラグと差分動きベクトル情報は、図8のステップS22において、最適インター予測モードの予測画像が選択された場合に、最適インター予測モードを示す情報や参照フレーム情報とともに、可逆符号化部66に供給される。
ステップS32におけるインター動き予測処理の詳細は、図11を参照して後述するが、この処理により、候補となる全てのインター予測モードで動き予測処理が行われ、候補となる全てのインター予測モードに対してコスト関数値が算出される。
ステップS34において、動き予測・補償部75のモード判定部86は、ステップS32において算出されたインター予測モードに対してのコスト関数値を比較する。モード判定部86は、最小値を与える予測モードを、最適インター予測モードとして決定し、最適インター予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部77に供給する。
[イントラ予測処理の説明]
次に、図10のフローチャートを参照して、図9のステップS31におけるイントラ予測処理を説明する。なお、図10の例においては、輝度信号の場合を例として説明する。
次に、図10のフローチャートを参照して、図9のステップS31におけるイントラ予測処理を説明する。なお、図10の例においては、輝度信号の場合を例として説明する。
イントラ予測部74は、ステップS41において、4×4画素、8×8画素、および16×16画素の各イントラ予測モードに対してイントラ予測を行う。
輝度信号のイントラ予測モードには、9種類の4×4画素および8×8画素のブロック単位、並びに4種類の16×16画素のマクロブロック単位の予測モードがあり、色差信号のイントラ予測モードには、4種類の8×8画素のブロック単位の予測モードがある。色差信号のイントラ予測モードは、輝度信号のイントラ予測モードと独立に設定が可能である。輝度信号の4×4画素および8×8画素のイントラ予測モードについては、4×4画素および8×8画素の輝度信号のブロック毎に1つのイントラ予測モードが定義される。輝度信号の16×16画素のイントラ予測モードと色差信号のイントラ予測モードについては、1つのマクロブロックに対して1つの予測モードが定義される。
具体的には、イントラ予測部74は、処理対象のブロックの画素を、フレームメモリ72から読み出され、スイッチ73を介して供給される復号済みの画像を参照して、イントラ予測する。このイントラ予測処理が、各イントラ予測モードで行われることで、各イントラ予測モードでの予測画像が生成される。なお、参照される復号済みの画素としては、デブロックフィルタ71によりデブロックフィルタリングされていない画素が用いられる。
イントラ予測部74は、ステップS42において、4×4画素、8×8画素、および16×16画素の各イントラ予測モードに対するコスト関数値を算出する。ここで、コスト関数値としては、High Complexity モードか、Low Complexity モードのいずれかの手法に基づいて行う。これらのモードは、H.264/AVC方式における参照ソフトウエアであるJM(Joint Model)で定められている。
すなわち、High Complexity モードにおいては、ステップS41の処理として、候補となる全ての予測モードに対して、仮に符号化処理までが行われる。そして、次の式(9)で表わされるコスト関数値が各予測モードに対して算出され、その最小値を与える予測モードが最適予測モードであるとして選択される。
Cost(Mode) = D + λ・R ・・・(9)
Dは、原画像と復号画像の差分(歪)、Rは、直交変換係数まで含んだ発生符号量、λは、量子化パラメータQPの関数として与えられるラグランジュ乗数である。
Dは、原画像と復号画像の差分(歪)、Rは、直交変換係数まで含んだ発生符号量、λは、量子化パラメータQPの関数として与えられるラグランジュ乗数である。
一方、Low Complexity モードにおいては、ステップS41の処理として、候補となる全ての予測モードに対して、予測画像の生成、および、動きベクトル情報や予測モード情報、フラグ情報などのヘッダビットまでが算出される。そして、次の式(10)で表わされるコスト関数値が各予測モードに対して算出され、その最小値を与える予測モードが最適予測モードであるとして選択される。
Cost(Mode) = D + QPtoQuant(QP)・Header_Bit ・・・(10)
Dは、原画像と復号画像の差分(歪)、Header_Bitは、予測モードに対するヘッダビット、QPtoQuantは、量子化パラメータQPの関数として与えられる関数である。
Dは、原画像と復号画像の差分(歪)、Header_Bitは、予測モードに対するヘッダビット、QPtoQuantは、量子化パラメータQPの関数として与えられる関数である。
Low Complexity モードにおいては、全ての予測モードに対して、予測画像を生成するのみで、符号化処理および復号処理を行う必要がないため、演算量が少なくて済む。
イントラ予測部74は、ステップS43において、4×4画素、8×8画素、および16×16画素の各イントラ予測モードに対して、それぞれ最適モードを決定する。すなわち、上述したように、イントラ4×4予測モードおよびイントラ8×8予測モードの場合には、予測モードの種類が9種類あり、イントラ16×16予測モードの場合には、予測モードの種類が4種類ある。したがって、イントラ予測部74は、ステップS42において算出されたコスト関数値に基づいて、それらの中から、最適イントラ4×4予測モード、最適イントラ8×8予測モード、最適イントラ16×16予測モードを決定する。
イントラ予測部74は、ステップS44において、4×4画素、8×8画素、および16×16画素の各イントラ予測モードに対して決定された各最適モードの中から、ステップS42において算出されたコスト関数値に基づいて、最適イントラ予測モードを選択する。すなわち、4×4画素、8×8画素、および16×16画素に対して決定された各最適モードの中から、コスト関数値が最小値であるモードを、最適イントラ予測モードとして選択する。そして、イントラ予測部74は、最適イントラ予測モードで生成された予測画像とそのコスト関数値とを、予測画像選択部77に供給する。
[インター動き予測処理の説明]
次に、図11のフローチャートを参照して、図9のステップS32のインター動き予測処理について説明する。
次に、図11のフローチャートを参照して、図9のステップS32のインター動き予測処理について説明する。
動き予測・補償部75は、ステップS51において、図2を参照して上述した16×16画素乃至4×4画素からなる8種類の各インター予測モードに対して動きベクトルと参照画像をそれぞれ決定する。すなわち、各インター予測モードの処理対象のブロックについて、動きベクトルと参照画像がそれぞれ決定される。
動き予測・補償部75は、ステップS52において、16×16画素乃至4×4画素からなる8種類の各インター予測モードについて、ステップS51で決定された動きベクトルに基づいて、参照画像に動き予測と補償処理を行う。この動き予測と補償処理により、各インター予測モードでの予測画像が生成される。
具体的には、上述したステップS51およびS52の処理は、整数画素精度動き予測・補償部81により、各インター予測モードの対象ブロックに対して、整数画素精度で行われ、小数画素精度動き予測・補償部82により、1/8画素精度で行われる。
まず、整数画素精度動き予測・補償部81は、候補となる全てのインター予測モードについて、対象ブロックの整数画素精度の動き予測・補償処理を行う。このとき、求められた対象ブロックの整数画素精度の動きベクトル情報は、インターする画像および参照画像とともに、小数画素精度動き予測・補償部82に供給される。これに対応して、小数画素精度動き予測・補償部82は、インターする画像および参照画像を用い、整数画素精度の動きベクトル情報を基に、対象ブロックの小数画素精度の動き予測・補償処理を行う。
求められた動きベクトル情報は、動きベクトル情報蓄積バッファ83に蓄積されるとともに、動きベクトル情報符号化部85および対象動きベクトル精度判別部91に供給される。また、小数画素精度の補償処理により、求められた予測画像は、原画像および参照フレーム情報とともに、モード判定部86に供給される。
小数画素精度動き予測・補償部82から対象ブロックの動きベクトル情報が供給されると、ステップS53において、動きベクトル精度判定部76は、動きベクトル精度判定処理を実行する。この動きベクトル精度判定処理については、図12を参照して後述する。
ステップS53の動きベクトル精度判定処理により、対象ブロックの動きベクトル情報の精度と、隣接ブロックの動きベクトル情報の精度とが同じであるか異なるかを示す精度フラグが生成される。生成された精度フラグは、予測動きベクトル算出部84および動きベクトル情報符号化部85に供給される。
予測動きベクトル算出部84と動きベクトル情報符号化部85は、ステップS54において、16×16画素乃至4×4画素からなる8種類の各インター予測モードに対して決定された動きベクトルについて、差分動きベクトル情報mvdEを生成する。このとき、図5を参照して上述した動きベクトルの生成方法が用いられる。
すなわち、予測動きベクトル算出部84は、隣接ブロック動きベクトル情報を用いて、上述した式(5)のメディアン予測により対象ブロックEに対する予測動きベクトル情報pmvEを算出する。そして、動きベクトル情報符号化部85は、上述した式(6)に示されるように、小数画素精度動き予測・補償部82からの動きベクトル情報mvEと、算出された予測動きベクトル情報pmvEの差分により差分動きベクトル情報mvdEを求める。
なお、予測動きベクトル情報の算出を行う際、例えば、図5に示す隣接ブロックA,B,C, Dにおける動きベクトル情報の精度が、1/4画素精度と1/8画素精度で混在している場合がある。例えば、水平、垂直成分のそれぞれについて、対象ブロックEの動きベクトル情報mvEは、1/8画素精度であるが、隣接ブロックX=A,B,C,Dの動きベクトル情報mvXが1/4画素精度である場合は、次の式(11)のようにメディアン予測が行われる。
mvX = mvX*2 ・・・(11)
mvX = mvX*2 ・・・(11)
すなわち、この場合、隣接ブロックの動きベクトル情報が1/8画素精度に換算されて、メディアン予測が行われる。
逆に、水平、垂直成分のそれぞれについて、対象ブロックEの動きベクトル情報mvEは、1/4画素精度であるが、隣接ブロックX=A,B,C,Dの動きベクトル情報mvXが1/8画素精度である場合は、次の式(12)のようにメディアン予測が行われる。
mvX = mvX/2 ・・・(12)
mvX = mvX/2 ・・・(12)
すなわち、この場合、隣接ブロックの動きベクトル情報が1/4画素精度に換算されて、メディアン予測が行われる。
求められた差分動きベクトル情報は、精度フラグとともにモード判定部86に供給される。この差分動きベクトル情報は、次のステップS54におけるコスト関数値算出の際にも用いられる。そして、差分動きベクトル情報は、最終的に予測画像選択部77により対応する予測画像が選択された場合には、精度フラグ、予測モード情報、および参照フレーム情報とともに、可逆符号化部66へ出力される。
モード判定部86は、ステップS54において、16×16画素乃至4×4画素からなる8種類の各インター予測モードに対して、上述した式(9)または式(10)で示されるコスト関数値を算出する。
すなわち、モード判定部86には、小数画素精度動き予測・補償部82からの予測画像、原画像、および参照フレーム情報、並びに動きベクトル情報符号化部85からの差分動きベクトル情報mvdEおよび精度フラグなどが供給される。モード判定部86は、供給された情報を適宜用いて、候補となる全てのインター予測モードについてのコスト関数値を算出する。ここで算出されたコスト関数値は、上述した図8のステップS34で最適インター予測モードを決定する際に用いられる。
[動きベクトル精度判定処理の説明]
次に、図12のフローチャートを参照して、図11のステップS53の動きベクトル精度判定処理について説明する。
次に、図12のフローチャートを参照して、図11のステップS53の動きベクトル精度判定処理について説明する。
対象動きベクトル精度判別部91は、ステップS71において、curr_horizontal_mv_precision_paramおよびcurr_vertical_mv_precision_paramを決定する。すなわち、対象動きベクトル精度判別部91には、小数画素精度動き予測・補償部82から対象ブロックの動きベクトル情報が供給される。対象動きベクトル精度判別部91は、対象ブロックの動きベクトル情報の精度を判別し、ステップS71において、対象ブロックの動きベクトル情報に対する水平成分の精度パラメータおよび垂直成分の精度パラメータを決定する。決定されたcurr_horizontal_mv_precision_paramおよびcurr_vertical_mv_precision_paramは、精度フラグ生成部93に供給される。
隣接動きベクトル精度判別部92は、ステップS72において、pred_horizontal_mv_precision_paramおよびpred_vertical_mv_precision_paramを決定する。すなわち、隣接動きベクトル精度判別部92は、動きベクトル情報蓄積バッファ83からの隣接ブロックの動きベクトル情報を読み出す。隣接動きベクトル精度判別部92は隣接ブロックの動きベクトル情報の精度を判別し、ステップS72において、隣接ブロックの動きベクトル情報に対する水平成分の精度パラメータおよび垂直成分の精度パラメータを決定する。決定されたpred_horizontal_mv_precision_paramおよびpred_vertical_mv_precision_paramは、精度フラグ生成部93に供給される。
精度フラグ生成部93は、ステップS73において、curr_horizontal_mv_precision_paramとpred_horizontal_mv_precision_paramが一致するか否かを判定する。
ステップS73において、curr_horizontal_mv_precision_paramとpred_horizontal_mv_precision_paramが一致すると判定された場合、処理は、ステップS74に進む。ステップS74において、精度フラグ生成部93は、対象ブロックの水平成分の精度フラグ(horizontal_mv_precision_change_flag)の値を、0とする。すなわち、値が0である対象ブロックの水平成分の精度フラグが生成される。
ステップS73において、curr_horizontal_mv_precision_paramとpred_horizontal_mv_precision_paramが異なると判定された場合、処理は、ステップS75に進む。ステップS75において、精度フラグ生成部93は、対象ブロックの水平成分の精度フラグ(horizontal_mv_precision_change_flag)の値を、1とする。すなわち、値が1である対象ブロックの水平成分の精度フラグが生成される。
精度フラグ生成部93は、ステップS76において、curr_vertical_mv_precision_paramとpred_vertical_mv_precision_paramが一致するか否かを判定する。
ステップS76において、curr_vertical_mv_precision_paramとpred_vertical_mv_precision_paramが一致すると判定された場合、処理は、ステップS77に進む。ステップS77において、精度フラグ生成部93は、対象ブロックの垂直成分の精度フラグ(vertical_mv_precision_change_flag)の値を、0とする。すなわち、値が0である対象ブロックの垂直成分の精度フラグが生成される。
ステップS76において、curr_vertical_mv_precision_paramとpred_vertical_mv_precision_paramが異なると判定された場合、処理は、ステップS78に進む。ステップS78において、精度フラグ生成部93は、対象ブロックの垂直成分の精度フラグ(vertical_mv_precision_change_flag)の値を、1とする。すなわち、値が1である対象ブロックの垂直成分の精度フラグが生成される。
生成された対象ブロックの水平成分および垂直成分の精度フラグは、予測動きベクトル算出部84および動きベクトル情報符号化部85に供給される。そして、精度フラグは、図8のステップS22で最適インター予測モードの予測画像が選択された場合に、差分動きベクトル情報、最適インター予測モードを示す情報や参照フレーム情報とともに、可逆符号化部66に供給され、符号化されて復号側に送信される。
以上のように、対象ブロック毎に、対象ブロックの動きベクトル情報の精度と、その隣接ブロックの動きベクトル情報の精度とが同じであるか異なるかを示す精度フラグを圧縮画像のヘッダに付加して復号側に送るようにした。
すなわち、本発明においては、圧縮画像情報中のそれぞれの動き予測ブロックについて、精度フラグが定義される。
これにより、常に動きベクトル情報を1/8画素精度で送るのではなく、必要なときのみ1/8画素精度で送ることができる。すなわち、必要でないときには、動きベクトル情報を1/4画素精度で送ることができる。この結果、すべての動きベクトル情報に対してより多くの符号量を割り当てる必要がなくなるため、動きベクトル情報を増大させることなく、動き予測効率を向上させることができる。
なお、対象ブロックがBブロックである場合には、List0およびList1のそれぞれに対して一連の処理が行われる。
また、図5または図6を参照して上述したように、対象ブロックがダイレクトモードまたはスキップモードである場合には、精度フラグ(horizontal_mv_precision_change_flag ,vertical_mv_precision_change_flag)の値は0であるとして、復号側には伝送されない。
符号化された圧縮画像は、所定の伝送路を介して伝送され、画像復号装置により復号される。
[画像復号装置の構成例]
図13は、を適用した画像処理装置としての画像復号装置の一実施の形態の構成を表している。
図13は、を適用した画像処理装置としての画像復号装置の一実施の形態の構成を表している。
画像復号装置101は、蓄積バッファ111、可逆復号部112、逆量子化部113、逆直交変換部114、演算部115、デブロックフィルタ116、画面並べ替えバッファ117、D/A変換部118、フレームメモリ119、スイッチ120、イントラ予測部121、動き予測・補償部122、動きベクトル精度判定部123、およびスイッチ124により構成されている。
蓄積バッファ111は伝送されてきた圧縮画像を蓄積する。可逆復号部112は、蓄積バッファ111より供給された、図1の可逆符号化部66により符号化された情報を、可逆符号化部66の符号化方式に対応する方式で復号する。逆量子化部113は可逆復号部112により復号された画像を、図1の量子化部65の量子化方式に対応する方式で逆量子化する。逆直交変換部114は、図1の直交変換部64の直交変換方式に対応する方式で逆量子化部113の出力を逆直交変換する。
逆直交変換された出力は演算部115によりスイッチ124から供給される予測画像と加算されて復号される。デブロックフィルタ116は、復号された画像のブロック歪を除去した後、フレームメモリ119に供給し、蓄積させるとともに、画面並べ替えバッファ117に出力する。
画面並べ替えバッファ117は、画像の並べ替えを行う。すなわち、図1の画面並べ替えバッファ62により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部118は、画面並べ替えバッファ117から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
スイッチ120は、インター処理される画像と参照される画像をフレームメモリ119から読み出し、動き予測・補償部122に出力するとともに、イントラ予測に用いられる画像をフレームメモリ119から読み出し、イントラ予測部121に供給する。
イントラ予測部121には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報が可逆復号部112から供給される。イントラ予測部121は、この情報に基づいて、予測画像を生成し、生成した予測画像を、スイッチ124に出力する。
動き予測・補償部122には、ヘッダ情報を復号して得られた情報のうち、予測モード情報、差分動きベクトル情報、参照フレーム情報などが可逆復号部112から供給される。インター予測モードを示す情報が供給された場合、動き予測・補償部122は、動きベクトル精度判定部123からの対象ブロックの動きベクトル情報の精度パラメータを参照し、復号された差分動きベクトル情報を用いて、動きベクトル情報を再構成する。
具体的には、動き予測・補償部122は、動きベクトル精度判定部123からの対象ブロックの動きベクトル情報の精度パラメータを参照して、隣接ブロックの動きベクトル情報から、対象ブロックの予測動きベクトル情報を生成する。動き予測・補償部122は、可逆復号部112からの差分動きベクトル情報、対象ブロックの動きベクトル情報の精度パラメータ、および対象ブロックの予測動きベクトル情報から、対象ブロックの動きベクトル情報を再構成する。
そして、動き予測・補償部122は、参照フレーム情報が示すフレームメモリ119の参照画像と、再構成された動きベクトル情報に基づいて画像に補償処理を施し、予測画像を生成する。生成された予測画像は、スイッチ124に出力される。
動きベクトル精度判定部123には、ヘッダ情報を復号して得られた情報のうち、精度フラグが可逆復号部112から供給される。動きベクトル精度判定部123は、可逆復号部112からの精度フラグと、動き予測・補償部122からの隣接ブロックの動きベクトル情報の精度から、対象ブロックの動きベクトル情報の精度パラメータを決定する。決定した対象ブロックの動きベクトル情報の精度パラメータは、動き予測・補償部122に供給される。
スイッチ124は、動き予測・補償部122またはイントラ予測部121により生成された予測画像を選択し、演算部115に供給する。
[動き予測・補償部および動きベクトル精度判定部の構成例]
図14は、動き予測・補償部および動きベクトル精度判定部の詳細な構成例を示すブロック図である。なお、各詳細については、適宜、上述した図5の対象ブロックEおよび隣接ブロックA乃至Dを用いて説明する。
図14は、動き予測・補償部および動きベクトル精度判定部の詳細な構成例を示すブロック図である。なお、各詳細については、適宜、上述した図5の対象ブロックEおよび隣接ブロックA乃至Dを用いて説明する。
図14の例においては、動き予測・補償部122は、動きベクトル情報受信部151、予測動きベクトル生成部152、動きベクトル再構成部153、動きベクトル情報蓄積バッファ154、および画像予測部155により構成される。
動きベクトル精度判定部123は、精度フラグ受信部161、隣接動きベクトル精度判別部162、および対象動きベクトル精度判別部163により構成される。
動きベクトル情報受信部151は、可逆復号部112(すなわち、画像符号化装置51)からの対象ブロックEの差分動きベクトル情報mvdEを受信し、受信した差分動きベクトル情報mvdEを動きベクトル再構成部153に供給する。
予測動きベクトル生成部152には、対象動きベクトル精度判別部163からの対象ブロックEの動きベクトルに対する水平成分と垂直成分に関する精度パラメータ(curr_horizontal_mv_precision_param, curr_vertical_mv_precision_param)が供給される。予測動きベクトル生成部152は、動きベクトル情報蓄積バッファ154から隣接ブロックの動きベクトル情報mvA,mvB,mvCを読み出す。
予測動きベクトル生成部152は、対象ブロックEの動きベクトルの精度パラメータを参照し、隣接ブロックの動きベクトル情報mvA,mvB,mvCを用いて、上述した式(5)のメディアン予測により、対象ブロックEの予測動きベクトル情報pmvEを生成する。生成された予測動きベクトル情報pmvEは、動きベクトル再構成部153に供給される。
動きベクトル再構成部153には、動きベクトル情報受信部151からの差分動きベクトル情報mvdE、予測動きベクトル生成部152からの予測動きベクトル情報pmvEが供給されている。さらに、動きベクトル再構成部153には、対象動きベクトル精度判別部163からの対象ブロックEの動きベクトルの精度パラメータが供給されている。
動きベクトル再構成部153は、対象ブロックEの動きベクトルの精度パラメータを参照して、差分動きベクトル情報mvdEを処理上の値から実際の値に換算する。動きベクトル再構成部153は、換算した差分動きベクトル情報mvdEに、予測動きベクトル生成部152からの予測動きベクトル情報pmvEを加算することで、対象ブロックEの動きベクトル情報mvEを再構成する。再構成された対象ブロックEの動きベクトル情報mvEは、動きベクトル情報蓄積バッファ154に蓄積されるとともに、画像予測部155に出力される。
動きベクトル情報蓄積バッファ154は、動きベクトル再構成部153により再構成された動きベクトル情報mvX(X=A,B,C,D,E)を蓄積している。
画像予測部155は、可逆復号部112からの参照フレーム情報が示す参照画像を、スイッチ120を介して、フレームメモリ119から読み出す。画像予測部155は、動きベクトル再構成部153により再構成された対象ブロックEの動きベクトル情報mvEに基づいて参照画像に補償処理を施し、対象ブロックEの予測画像を生成する。生成された予測画像は、スイッチ124に出力される。
精度フラグ受信部161は、可逆復号部112からの、対象ブロックEの動きベクトル情報に対する水平および垂直成分の精度フラグ(horizontal_mv_precision_change_flag,vertical_mv_precision_change_flag)を受信する。受信した対象ブロックEの動きベクトル情報に対する水平および垂直成分の精度フラグは、対象動きベクトル精度判別部163に供給される。
隣接動きベクトル精度判別部162は、動きベクトル情報蓄積バッファ154から隣接動きベクトル情報を読み出し、隣接ブロックの動きベクトル情報の精度を判別する。そして、隣接動きベクトル精度判別部162は、隣接ブロックの動きベクトル情報に対する水平成分と垂直成分に関する精度パラメータ(pred_horizontal_mv_precision_param, pred_vertical_mv_precision_param)を決定する。決定された隣接ブロックの動きベクトル情報の精度パラメータは、対象動きベクトル精度判別部163に供給される。
なお、ここで、隣接ブロックは、対象ブロックEの動きベクトル情報mvEに対して、予測値(予測動きベクトル情報)pmvEを与える可能性のあるブロックであり、図7を参照して上述した第1乃至第3の方法で定義される。
対象動きベクトル精度判別部163には、輝度フラグ受信部161からの対象ブロックEの動きベクトル情報に対する水平および垂直成分の精度フラグと、隣接動きベクトル精度判別部162からの隣接ブロックの動きベクトル情報の精度パラメータが供給される。
対象動きベクトル精度判別部163は、対象ブロックEの動きベクトル情報に対する水平および垂直成分の精度フラグと隣接ブロックの動きベクトル情報の精度パラメータから、対象ブロックEの動きベクトル情報の精度を判別する。そして、対象動きベクトル精度判別部163は、対象ブロックEの動きベクトル情報に対する水平成分と垂直成分に関する精度パラメータ(curr_horizontal_mv_precision_param, curr_vertical_mv_precision_param)を決定する。決定された対象ブロックEの動きベクトル情報の精度パラメータは、予測動きベクトル生成部152および動きベクトル再構成部153に供給される。
[画像復号装置の復号処理の説明]
次に、図15のフローチャートを参照して、画像復号装置101が実行する復号処理について説明する。
次に、図15のフローチャートを参照して、画像復号装置101が実行する復号処理について説明する。
ステップS131において、蓄積バッファ111は伝送されてきた画像を蓄積する。ステップS132において、可逆復号部112は、蓄積バッファ111から供給される圧縮画像を復号する。すなわち、図1の可逆符号化部66により符号化されたIピクチャ、Pピクチャ、並びにBピクチャが復号される。
このとき、差分動きベクトル情報、参照フレーム情報、予測モード情報(イントラ予測モード、またはインター予測モードを示す情報)、精度フラグも復号される。
すなわち、予測モード情報がイントラ予測モード情報である場合、予測モード情報は、イントラ予測部121に供給される。予測モード情報がインター予測モード情報である場合、予測モード情報と対応する差分動きベクトル情報および参照フレーム情報は、動き予測・補償部122に供給される。また、この場合、精度フラグは、動きベクトル精度判定部123に供給される。
ステップS133において、逆量子化部113は可逆復号部112により復号された変換係数を、図1の量子化部65の特性に対応する特性で逆量子化する。ステップS134において逆直交変換部114は逆量子化部113により逆量子化された変換係数を、図1の直交変換部64の特性に対応する特性で逆直交変換する。これにより図1の直交変換部64の入力(演算部63の出力)に対応する差分情報が復号されたことになる。
ステップS135において、演算部115は、後述するステップS141の処理で選択され、スイッチ124を介して入力される予測画像を差分情報と加算する。これにより元の画像が復号される。ステップS136においてデブロックフィルタ116は、演算部115より出力された画像をフィルタリングする。これによりブロック歪みが除去される。ステップS137においてフレームメモリ119は、フィルタリングされた画像を記憶する。
ステップS138において、イントラ予測部121または動き予測・補償部122、は、可逆復号部112から供給される予測モード情報に対応して、それぞれ画像の予測処理を行う。
すなわち、可逆復号部112からイントラ予測モード情報が供給された場合、イントラ予測部121は、イントラ予測モードのイントラ予測処理を行う。可逆復号部112からインター予測モード情報が供給された場合、動き予測・補償部122は、インター予測モードの動き予測・補償処理を行う。このとき、動き予測・補償部122は、動きベクトル精度判定部123からの対象ブロックの動きベクトル情報の精度パラメータを参照して、可逆復号部112からの差分動きベクトル情報を用いて、対象ブロックの動きベクトル情報を再構成する。
ステップS138における予測処理の詳細は、図16を参照して後述するが、この処理により、イントラ予測部121により生成された予測画像、または動き予測・補償部122により生成された予測画像がスイッチ124に供給される。
ステップS139において、スイッチ124は予測画像を選択する。すなわち、イントラ予測部121により生成された予測画像、または動き予測・補償部122により生成された予測画像供給される。したがって、供給された予測画像が選択されて演算部115に供給され、上述したように、ステップS134において逆直交変換部114の出力と加算される。
ステップS140において、画面並べ替えバッファ117は並べ替えを行う。すなわち画像符号化装置51の画面並べ替えバッファ62により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
ステップS141において、D/A変換部118は、画面並べ替えバッファ117からの画像をD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
[画像復号装置の予測処理の説明]
次に、図16のフローチャートを参照して、図15のステップS138の予測処理を説明する。
次に、図16のフローチャートを参照して、図15のステップS138の予測処理を説明する。
イントラ予測部121は、ステップS171において、対象ブロックがイントラ符号化されているか否かを判定する。可逆復号部112からイントラ予測モード情報がイントラ予測部121に供給されると、イントラ予測部121は、ステップ171において、対象ブロックがイントラ符号化されていると判定し、処理は、ステップS172に進む。
イントラ予測部121は、ステップS172において、イントラ予測モード情報を取得し、ステップS173において、イントラ予測を行う。
すなわち、処理対象の画像がイントラ処理される画像である場合、必要な画像がフレームメモリ119から読み出され、スイッチ120を介してイントラ予測部121に供給される。ステップS173において、イントラ予測部121は、ステップS172で取得したイントラ予測モード情報に従ってイントラ予測し、予測画像を生成する。生成した予測画像は、スイッチ124に出力される。
一方、ステップS171において、イントラ符号化されていないと判定された場合、処理は、ステップS174に進む。
ステップS174において、動き予測・補償部122は、可逆復号部112からの予想モード情報などを取得する。
処理対象の画像がインター処理される画像である場合、可逆復号部112からインター予測モード情報、参照フレーム情報、差分動きベクトル情報が動き予測・補償部122に供給される。この場合、ステップS174において、動き予測・補償部122は、インター予測モード情報、参照フレーム情報、差分動きベクトル情報を取得する。
なお、このとき、精度フラグ受信部161は、精度フラグを受信し、取得する。受信した対象ブロックの動きベクトル情報に対する水平および垂直成分の精度フラグは、対象動きベクトル精度判別部163に供給される。また、隣接動きベクトル精度判別部162は、動きベクトル情報蓄積バッファ154から隣接動きベクトル情報を基に、隣接ブロックの動きベクトル情報の精度パラメータを決定し、対象動きベクトル精度判別部163に供給する。
対象動きベクトル精度判別部163は、ステップS175において、対象ブロックの動きベクトル情報に対する水平および垂直成分の精度フラグと隣接ブロックの動きベクトル情報の精度パラメータから、対象ブロックの動きベクトル情報の精度を決定する。決定された対象ブロックの動きベクトル情報の精度パラメータは、予測動きベクトル生成部152および動きベクトル再構成部153に供給される。
対象動きベクトル精度判別部163からの対象ブロックの動きベクトル情報の精度パラメータが供給されると、予測動きベクトル生成部152は、ステップS176において、図5を参照して上述したメディアン予測を行う。
具体的には、予測動きベクトル生成部152は、動きベクトル情報蓄積バッファ154から隣接ブロックの動きベクトル情報mvA,mvB,mvCを読み出し、上述した式(5)のメディアン予測により、対象ブロックの予測動きベクトル情報pmvEを生成する。このとき、対象ブロックの動きベクトルの精度パラメータが参照される。すなわち、精度パラメータが示す対象ブロックの動きベクトル情報の精度と、予測動きベクトル情報生成に用いる隣接ブロックの動きベクトル情報の精度とが異なる場合、隣接ブロックの動きベクトル情報の精度が対象ブロックの動きベクトル情報の精度に換算される。
予測動きベクトル生成部152により生成された対象ブロックの予測動きベクトル情報pmvEは、動きベクトル再構成部153に供給される。
動きベクトル再構成部153は、ステップS177において、動きベクトル情報受信部151からの差分動きベクトル情報mvdEを用いて、対象ブロックの動きベクトル情報を再構築する。すなわち、動きベクトル再構成部153には、動きベクトル情報受信部151からの差分動きベクトル情報mvdE、予測動きベクトル生成部152からの予測動きベクトル情報pmvEが供給されている。さらに、動きベクトル再構成部153には、対象動きベクトル精度判別部163からの対象ブロックの動きベクトルの精度パラメータが供給されている。
動きベクトル再構成部153は、対象ブロックの動きベクトルの精度パラメータを参照して、差分動きベクトル情報mvdEの値を、処理上の値から実際の値に換算する。動きベクトル再構成部153は、値を換算した差分動きベクトル情報mvdEに、予測動きベクトル生成部152からの予測動きベクトル情報pmvEを加算する。これにより、対象ブロックの動きベクトル情報mvEが再構成される。再構成された動きベクトル情報mvEは、動きベクトル情報蓄積バッファ154に蓄積されるとともに、画像予測部155に出力される。
画像予測部155は、ステップS178において、対象ブロックの予測画像を生成する。すなわち、画像予測部155は、可逆符号化部112からの参照フレーム情報が示す参照画像を、スイッチ120を介して、フレームメモリ119から読み出す。画像予測部155は、動きベクトル再構成部153により再構成された動きベクトル情報mvEに基づいて参照画像に補償処理を施し、対象ブロックの予測画像を生成する。生成された予測画像は、スイッチ124に出力される。
以上のように、対象ブロック毎に、対象ブロックの動きベクトル情報の精度と、その隣接ブロックの動きベクトル情報の精度とが同じであるか異なるかを示す精度フラグを圧縮画像のヘッダに付加して復号側に送るようにした。これにより、常に動きベクトル情報を1/8画素精度で送るのではなく、必要なときのみ1/8画素精度で送ることができる。この結果、動きベクトル情報を増大させることなく、動き予測効率を向上させることができる。
すなわち、圧縮情報の増大を招くことなく、1/8画素精度の動き予測・補償を行うことができるので、予測精度を向上することができる。
なお、上記説明においては、1/4画素精度まであるか、1/8画素精度まであるかを例に説明したが、この例に限らない。
すなわち、本発明は、整数画素精度と1/2画素精度、1/2画素精度と1/4画素精度といったように、小数画素精度の動き予測・補償を行うあらゆる場合に適用することが可能である。また、本発明は、整数画素精度、1/2画素精度、および1/4画素精度といったように3段階以上の設定をもって処理を行う場合にも適用することが可能である。
また、上記説明においては、マクロブロックの大きさが、16×16画素の場合について説明してきたが、本発明は、”Video Coding Using Extended Block Sizes”,VCEG-AD09,ITU-Telecommunications Standardization Sector STUDY GROUP Question 16 - Contribution 123, Jan 2009に記載の拡張されたマクロブロックサイズに対しても適用することが可能である。
図17は、拡張されたマクロブロックサイズの例を示す図である。上記提案では、マクロブロックサイズが32×32画素に拡張されている。
図17の上段には、左から、32×32画素、32×16画素、16×32画素、および16×16画素のブロック(パーティション)に分割された32×32画素で構成されるマクロブロックが順に示されている。図17の中段には、左から、16×16画素、16×8画素、8×16画素、および8×8画素のブロックに分割された16×16画素で構成されるブロックが順に示されている。また、図17の下段には、左から、8×8画素、8×4画素、4×8画素、および4×4画素のブロックに分割された8×8画素のブロックが順に示されている。
すなわち、32×32画素のマクロブロックは、図17の上段に示される32×32画素、32×16画素、16×32画素、および16×16画素のブロックでの処理が可能である。
また、上段の右側に示される16×16画素のブロックは、H.264/AVC方式と同様に、中段に示される16×16画素、16×8画素、8×16画素、および8×8画素のブロックでの処理が可能である。
さらに、中段の右側に示される8×8画素のブロックは、H.264/AVC方式と同様に、下段に示される8×8画素、8×4画素、4×8画素、および4×4画素のブロックでの処理が可能である。
このような階層構造を採用することにより、拡張されたマクロブロックサイズにおいては、16×16画素のブロック以下に関してH.264/AVC方式と互換性を保ちながら、そのスーパーセットとして、より大きなブロックが定義されている。
以上のように提案される拡張されたマクロブロックサイズにも、本発明を適用することができる。
以上においては、符号化方式としてH.264/AVC方式を用いるようにしたが、その他の符号化方式/復号方式を用いることもできる。
なお、本発明は、例えば、MPEG、H.26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本発明は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。さらに、本発明は、それらの画像符号化装置および画像復号装置などに含まれる動き予測補償装置にも適用することができる。
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な汎用のパーソナルコンピュータなどが含まれる。
図18は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
コンピュータにおいて、CPU(Central Processing Unit)301、ROM(Read Only Memory)302、RAM(Random Access Memory)303は、バス304により相互に接続されている。
バス304には、さらに、入出力インタフェース305が接続されている。入出力インタフェース305には、入力部306、出力部307、記憶部308、通信部309、およびドライブ310が接続されている。
入力部306は、キーボード、マウス、マイクロフォンなどよりなる。出力部307は、ディスプレイ、スピーカなどよりなる。記憶部308は、ハードディスクや不揮発性のメモリなどよりなる。通信部309は、ネットワークインタフェースなどよりなる。ドライブ310は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア311を駆動する。
以上のように構成されるコンピュータでは、CPU301が、例えば、記憶部308に記憶されているプログラムを入出力インタフェース305及びバス304を介してRAM303にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU301)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア311に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供することができる。
コンピュータでは、プログラムは、リムーバブルメディア311をドライブ310に装着することにより、入出力インタフェース305を介して、記憶部308にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部309で受信し、記憶部308にインストールすることができる。その他、プログラムは、ROM302や記憶部308に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、上述した画像符号化装置51や画像復号装置101は、任意の電子機器に適用することができる。以下にその例について説明する。
図19は、本発明を適用した画像復号装置を用いるテレビジョン受像機の主な構成例を示すブロック図である。
図19に示されるテレビジョン受像機1300は、地上波チューナ1313、ビデオデコーダ1315、映像信号処理回路1318、グラフィック生成回路1319、パネル駆動回路1320、および表示パネル1321を有する。
地上波チューナ1313は、地上アナログ放送の放送波信号を、アンテナを介して受信し、復調し、映像信号を取得し、それをビデオデコーダ1315に供給する。ビデオデコーダ1315は、地上波チューナ1313から供給された映像信号に対してデコード処理を施し、得られたデジタルのコンポーネント信号を映像信号処理回路1318に供給する。
映像信号処理回路1318は、ビデオデコーダ1315から供給された映像データに対してノイズ除去などの所定の処理を施し、得られた映像データをグラフィック生成回路1319に供給する。
グラフィック生成回路1319は、表示パネル1321に表示させる番組の映像データや、ネットワークを介して供給されるアプリケーションに基づく処理による画像データなどを生成し、生成した映像データや画像データをパネル駆動回路1320に供給する。また、グラフィック生成回路1319は、項目の選択などにユーザにより利用される画面を表示するための映像データ(グラフィック)を生成し、それを番組の映像データに重畳したりすることによって得られた映像データをパネル駆動回路1320に供給するといった処理も適宜行う。
パネル駆動回路1320は、グラフィック生成回路1319から供給されたデータに基づいて表示パネル1321を駆動し、番組の映像や上述した各種の画面を表示パネル1321に表示させる。
表示パネル1321はLCD(Liquid Crystal Display)などよりなり、パネル駆動回路1320による制御に従って番組の映像などを表示させる。
また、テレビジョン受像機1300は、音声A/D(Analog/Digital)変換回路1314、音声信号処理回路1322、エコーキャンセル/音声合成回路1323、音声増幅回路1324、およびスピーカ1325も有する。
地上波チューナ1313は、受信した放送波信号を復調することにより、映像信号だけでなく音声信号も取得する。地上波チューナ1313は、取得した音声信号を音声A/D変換回路1314に供給する。
音声A/D変換回路1314は、地上波チューナ1313から供給された音声信号に対してA/D変換処理を施し、得られたデジタルの音声信号を音声信号処理回路1322に供給する。
音声信号処理回路1322は、音声A/D変換回路1314から供給された音声データに対してノイズ除去などの所定の処理を施し、得られた音声データをエコーキャンセル/音声合成回路1323に供給する。
エコーキャンセル/音声合成回路1323は、音声信号処理回路1322から供給された音声データを音声増幅回路1324に供給する。
音声増幅回路1324は、エコーキャンセル/音声合成回路1323から供給された音声データに対してD/A変換処理、増幅処理を施し、所定の音量に調整した後、音声をスピーカ1325から出力させる。
さらに、テレビジョン受像機1300は、デジタルチューナ1316およびMPEGデコーダ1317も有する。
デジタルチューナ1316は、デジタル放送(地上デジタル放送、BS(Broadcasting Satellite)/CS(Communications Satellite)デジタル放送)の放送波信号を、アンテナを介して受信し、復調し、MPEG-TS(Moving Picture Experts Group-Transport Stream)を取得し、それをMPEGデコーダ1317に供給する。
MPEGデコーダ1317は、デジタルチューナ1316から供給されたMPEG-TSに施されているスクランブルを解除し、再生対象(視聴対象)になっている番組のデータを含むストリームを抽出する。MPEGデコーダ1317は、抽出したストリームを構成する音声パケットをデコードし、得られた音声データを音声信号処理回路1322に供給するとともに、ストリームを構成する映像パケットをデコードし、得られた映像データを映像信号処理回路1318に供給する。また、MPEGデコーダ1317は、MPEG-TSから抽出したEPG(Electronic Program Guide)データを図示せぬ経路を介してCPU1332に供給する。
テレビジョン受像機1300は、このように映像パケットをデコードするMPEGデコーダ1317として、上述した画像復号装置101を用いる。したがって、MPEGデコーダ1317は、画像復号装置101の場合と同様に、圧縮情報の増大を抑制するとともに、予測精度を向上することができる。
MPEGデコーダ1317から供給された映像データは、ビデオデコーダ1315から供給された映像データの場合と同様に、映像信号処理回路1318において所定の処理が施される。そして、所定の処理が施された映像データは、グラフィック生成回路1319において、生成された映像データ等が適宜重畳され、パネル駆動回路1320を介して表示パネル1321に供給され、その画像が表示される。
MPEGデコーダ1317から供給された音声データは、音声A/D変換回路1314から供給された音声データの場合と同様に、音声信号処理回路1322において所定の処理が施される。そして、所定の処理が施された音声データは、エコーキャンセル/音声合成回路1323を介して音声増幅回路1324に供給され、D/A変換処理や増幅処理が施される。その結果、所定の音量に調整された音声がスピーカ1325から出力される。
また、テレビジョン受像機1300は、マイクロホン1326、およびA/D変換回路1327も有する。
A/D変換回路1327は、音声会話用のものとしてテレビジョン受像機1300に設けられるマイクロホン1326により取り込まれたユーザの音声の信号を受信する。A/D変換回路1327は、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データをエコーキャンセル/音声合成回路1323に供給する。
エコーキャンセル/音声合成回路1323は、テレビジョン受像機1300のユーザ(ユーザA)の音声のデータがA/D変換回路1327から供給されている場合、ユーザAの音声データを対象としてエコーキャンセルを行う。そして、エコーキャンセル/音声合成回路1323は、エコーキャンセルの後、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路1324を介してスピーカ1325より出力させる。
さらに、テレビジョン受像機1300は、音声コーデック1328、内部バス1329、SDRAM(Synchronous Dynamic Random Access Memory)1330、フラッシュメモリ1331、CPU1332、USB(Universal Serial Bus) I/F1333、およびネットワークI/F1334も有する。
A/D変換回路1327は、音声会話用のものとしてテレビジョン受像機1300に設けられるマイクロホン1326により取り込まれたユーザの音声の信号を受信する。A/D変換回路1327は、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データを音声コーデック1328に供給する。
音声コーデック1328は、A/D変換回路1327から供給された音声データを、ネットワーク経由で送信するための所定のフォーマットのデータに変換し、内部バス1329を介してネットワークI/F1334に供給する。
ネットワークI/F1334は、ネットワーク端子1335に装着されたケーブルを介してネットワークに接続される。ネットワークI/F1334は、例えば、そのネットワークに接続される他の装置に対して、音声コーデック1328から供給された音声データを送信する。また、ネットワークI/F1334は、例えば、ネットワークを介して接続される他の装置から送信される音声データを、ネットワーク端子1335を介して受信し、それを、内部バス1329を介して音声コーデック1328に供給する。
音声コーデック1328は、ネットワークI/F1334から供給された音声データを所定のフォーマットのデータに変換し、それをエコーキャンセル/音声合成回路1323に供給する。
エコーキャンセル/音声合成回路1323は、音声コーデック1328から供給される音声データを対象としてエコーキャンセルを行い、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路1324を介してスピーカ1325より出力させる。
SDRAM1330は、CPU1332が処理を行う上で必要な各種のデータを記憶する。
フラッシュメモリ1331は、CPU1332により実行されるプログラムを記憶する。フラッシュメモリ1331に記憶されているプログラムは、テレビジョン受像機1300の起動時などの所定のタイミングでCPU1332により読み出される。フラッシュメモリ1331には、デジタル放送を介して取得されたEPGデータ、ネットワークを介して所定のサーバから取得されたデータなども記憶される。
例えば、フラッシュメモリ1331には、CPU1332の制御によりネットワークを介して所定のサーバから取得されたコンテンツデータを含むMPEG-TSが記憶される。フラッシュメモリ1331は、例えばCPU1332の制御により、そのMPEG-TSを、内部バス1329を介してMPEGデコーダ1317に供給する。
MPEGデコーダ1317は、デジタルチューナ1316から供給されたMPEG-TSの場合と同様に、そのMPEG-TSを処理する。このようにテレビジョン受像機1300は、映像や音声等よりなるコンテンツデータを、ネットワークを介して受信し、MPEGデコーダ1317を用いてデコードし、その映像を表示させたり、音声を出力させたりすることができる。
また、テレビジョン受像機1300は、リモートコントローラ1351から送信される赤外線信号を受光する受光部1337も有する。
受光部1337は、リモートコントローラ1351からの赤外線を受光し、復調して得られたユーザ操作の内容を表す制御コードをCPU1332に出力する。
CPU1332は、フラッシュメモリ1331に記憶されているプログラムを実行し、受光部1337から供給される制御コードなどに応じてテレビジョン受像機1300の全体の動作を制御する。CPU1332とテレビジョン受像機1300の各部は、図示せぬ経路を介して接続されている。
USB I/F1333は、USB端子1336に装着されたUSBケーブルを介して接続される、テレビジョン受像機1300の外部の機器との間でデータの送受信を行う。ネットワークI/F1334は、ネットワーク端子1335に装着されたケーブルを介してネットワークに接続し、ネットワークに接続される各種の装置と音声データ以外のデータの送受信も行う。
テレビジョン受像機1300は、MPEGデコーダ1317として画像復号装置101を用いることにより、符号化効率を向上することができる。その結果として、テレビジョン受像機1300は、アンテナを介して受信した放送波信号や、ネットワークを介して取得したコンテンツデータから、より高精細な復号画像を得て、表示することができる。
図20は、本発明を適用した画像符号化装置および画像復号装置を用いる携帯電話機の主な構成例を示すブロック図である。
図20に示される携帯電話機1400は、各部を統括的に制御するようになされた主制御部1450、電源回路部1451、操作入力制御部1452、画像エンコーダ1453、カメラI/F部1454、LCD制御部1455、画像デコーダ1456、多重分離部1457、記録再生部1462、変復調回路部1458、および音声コーデック1459を有する。これらは、バス1460を介して互いに接続されている。
また、携帯電話機1400は、操作キー1419、CCD(Charge Coupled Devices)カメラ1416、液晶ディスプレイ1418、記憶部1423、送受信回路部1463、アンテナ1414、マイクロホン(マイク)1421、およびスピーカ1417を有する。
電源回路部1451は、ユーザの操作により終話および電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することにより携帯電話機1400を動作可能な状態に起動する。
携帯電話機1400は、CPU、ROMおよびRAM等でなる主制御部1450の制御に基づいて、音声通話モードやデータ通信モード等の各種モードで、音声信号の送受信、電子メールや画像データの送受信、画像撮影、またはデータ記録等の各種動作を行う。
例えば、音声通話モードにおいて、携帯電話機1400は、マイクロホン(マイク)1421で集音した音声信号を、音声コーデック1459によってデジタル音声データに変換し、これを変復調回路部1458でスペクトラム拡散処理し、送受信回路部1463でデジタルアナログ変換処理および周波数変換処理する。携帯電話機1400は、その変換処理により得られた送信用信号を、アンテナ1414を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(音声信号)は、公衆電話回線網を介して通話相手の携帯電話機に供給される。
また、例えば、音声通話モードにおいて、携帯電話機1400は、アンテナ1414で受信した受信信号を送受信回路部1463で増幅し、さらに周波数変換処理およびアナログデジタル変換処理し、変復調回路部1458でスペクトラム逆拡散処理し、音声コーデック1459によってアナログ音声信号に変換する。携帯電話機1400は、その変換して得られたアナログ音声信号をスピーカ1417から出力する。
更に、例えば、データ通信モードにおいて電子メールを送信する場合、携帯電話機1400は、操作キー1419の操作によって入力された電子メールのテキストデータを、操作入力制御部1452において受け付ける。携帯電話機1400は、そのテキストデータを主制御部1450において処理し、LCD制御部1455を介して、画像として液晶ディスプレイ1418に表示させる。
また、携帯電話機1400は、主制御部1450において、操作入力制御部1452が受け付けたテキストデータやユーザ指示等に基づいて電子メールデータを生成する。携帯電話機1400は、その電子メールデータを、変復調回路部1458でスペクトラム拡散処理し、送受信回路部1463でデジタルアナログ変換処理および周波数変換処理する。携帯電話機1400は、その変換処理により得られた送信用信号を、アンテナ1414を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(電子メール)は、ネットワークおよびメールサーバ等を介して、所定のあて先に供給される。
また、例えば、データ通信モードにおいて電子メールを受信する場合、携帯電話機1400は、基地局から送信された信号を、アンテナ1414を介して送受信回路部1463で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機1400は、その受信信号を変復調回路部1458でスペクトラム逆拡散処理して元の電子メールデータを復元する。携帯電話機1400は、復元された電子メールデータを、LCD制御部1455を介して液晶ディスプレイ1418に表示する。
なお、携帯電話機1400は、受信した電子メールデータを、記録再生部1462を介して、記憶部1423に記録する(記憶させる)ことも可能である。
この記憶部1423は、書き換え可能な任意の記憶媒体である。記憶部1423は、例えば、RAMや内蔵型フラッシュメモリ等の半導体メモリであってもよいし、ハードディスクであってもよいし、磁気ディスク、光磁気ディスク、光ディスク、USBメモリ、またはメモリカード等のリムーバブルメディアであってもよい。もちろん、これら以外のものであってもよい。
さらに、例えば、データ通信モードにおいて画像データを送信する場合、携帯電話機1400は、撮像によりCCDカメラ1416で画像データを生成する。CCDカメラ1416は、レンズや絞り等の光学デバイスと光電変換素子としてのCCDを有し、被写体を撮像し、受光した光の強度を電気信号に変換し、被写体の画像の画像データを生成する。その画像データを、カメラI/F部1454を介して、画像エンコーダ1453で、例えばMPEG2やMPEG4等の所定の符号化方式によって圧縮符号化することにより符号化画像データに変換する。
携帯電話機1400は、このような処理を行う画像エンコーダ1453として、上述した画像符号化装置51を用いる。したがって、画像エンコーダ1453は、画像符号化装置51の場合と同様に、圧縮情報の増大を抑制するとともに、予測精度を向上することができる。
なお、携帯電話機1400は、このとき同時に、CCDカメラ1416で撮像中にマイクロホン(マイク)1421で集音した音声を、音声コーデック1459においてアナログデジタル変換し、さらに符号化する。
携帯電話機1400は、多重分離部1457において、画像エンコーダ1453から供給された符号化画像データと、音声コーデック1459から供給されたデジタル音声データとを、所定の方式で多重化する。携帯電話機1400は、その結果得られる多重化データを、変復調回路部1458でスペクトラム拡散処理し、送受信回路部1463でデジタルアナログ変換処理および周波数変換処理する。携帯電話機1400は、その変換処理により得られた送信用信号を、アンテナ1414を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(画像データ)は、ネットワーク等を介して、通信相手に供給される。
なお、画像データを送信しない場合、携帯電話機1400は、CCDカメラ1416で生成した画像データを、画像エンコーダ1453を介さずに、LCD制御部1455を介して液晶ディスプレイ1418に表示させることもできる。
また、例えば、データ通信モードにおいて、簡易ホームページ等にリンクされた動画像ファイルのデータを受信する場合、携帯電話機1400は、基地局から送信された信号を、アンテナ1414を介して送受信回路部1463で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機1400は、その受信信号を変復調回路部1458でスペクトラム逆拡散処理して元の多重化データを復元する。携帯電話機1400は、多重分離部1457において、その多重化データを分離して、符号化画像データと音声データとに分ける。
携帯電話機1400は、画像デコーダ1456において、符号化画像データを、MPEG2やMPEG4等の所定の符号化方式に対応した復号方式でデコードすることにより、再生動画像データを生成し、これを、LCD制御部1455を介して液晶ディスプレイ1418に表示させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる動画データが液晶ディスプレイ1418に表示される。
携帯電話機1400は、このような処理を行う画像デコーダ1456として、上述した画像復号装置101を用いる。したがって、画像デコーダ1456は、画像復号装置101の場合と同様に、圧縮情報の増大を抑制するとともに、予測精度を向上することができる。
このとき、携帯電話機1400は、同時に、音声コーデック1459において、デジタルの音声データをアナログ音声信号に変換し、これをスピーカ1417より出力させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる音声データが再生される。
なお、電子メールの場合と同様に、携帯電話機1400は、受信した簡易ホームページ等にリンクされたデータを、記録再生部1462を介して、記憶部1423に記録する(記憶させる)ことも可能である。
また、携帯電話機1400は、主制御部1450において、撮像されてCCDカメラ1416で得られた2次元コードを解析し、2次元コードに記録された情報を取得することができる。
さらに、携帯電話機1400は、赤外線通信部1481で赤外線により外部の機器と通信することができる。
携帯電話機1400は、画像エンコーダ1453として画像符号化装置51を用いることにより、例えばCCDカメラ1416において生成された画像データを符号化して生成する符号化データの符号化効率を向上させることができる。結果として、携帯電話機1400は、符号化効率のよい符号化データ(画像データ)を、他の装置に提供することができる。
また、携帯電話機1400は、画像デコーダ1456として画像復号装置101を用いることにより、精度の高い予測画像を生成することができる。その結果として、携帯電話機1400は、例えば、簡易ホームページにリンクされた動画像ファイルから、より高精細な復号画像を得て、表示することができる。
なお、以上において、携帯電話機1400が、CCDカメラ1416を用いるように説明したが、このCCDカメラ1416の代わりに、CMOS(Complementary Metal Oxide Semiconductor)を用いたイメージセンサ(CMOSイメージセンサ)を用いるようにしてもよい。この場合も、携帯電話機1400は、CCDカメラ1416を用いる場合と同様に、被写体を撮像し、被写体の画像の画像データを生成することができる。
また、以上においては携帯電話機1400として説明したが、例えば、PDA(Personal Digital Assistants)、スマートフォン、UMPC(Ultra Mobile Personal Computer)、ネットブック、ノート型パーソナルコンピュータ等、この携帯電話機1400と同様の撮像機能や通信機能を有する装置であれば、どのような装置であっても携帯電話機1400の場合と同様に、画像符号化装置51および画像復号装置101を適用することができる。
図21は、本発明を適用した画像符号化装置および画像復号装置を用いるハードディスクレコーダの主な構成例を示すブロック図である。
図21に示されるハードディスクレコーダ(HDDレコーダ)1500は、チューナにより受信された、衛星や地上のアンテナ等より送信される放送波信号(テレビジョン信号)に含まれる放送番組のオーディオデータとビデオデータを、内蔵するハードディスクに保存し、その保存したデータをユーザの指示に応じたタイミングでユーザに提供する装置である。
ハードディスクレコーダ1500は、例えば、放送波信号よりオーディオデータとビデオデータを抽出し、それらを適宜復号し、内蔵するハードディスクに記憶させることができる。また、ハードディスクレコーダ1500は、例えば、ネットワークを介して他の装置からオーディオデータやビデオデータを取得し、それらを適宜復号し、内蔵するハードディスクに記憶させることもできる。
さらに、ハードディスクレコーダ1500は、例えば、内蔵するハードディスクに記録されているオーディオデータやビデオデータを復号してモニタ1560に供給し、モニタ1560の画面にその画像を表示させる。また、ハードディスクレコーダ1500は、モニタ1560のスピーカよりその音声を出力させることができる。
ハードディスクレコーダ1500は、例えば、チューナを介して取得された放送波信号より抽出されたオーディオデータとビデオデータ、または、ネットワークを介して他の装置から取得したオーディオデータやビデオデータを復号してモニタ1560に供給し、モニタ1560の画面にその画像を表示させる。また、ハードディスクレコーダ1500は、モニタ1560のスピーカよりその音声を出力させることもできる。
もちろん、この他の動作も可能である。
図21に示されるように、ハードディスクレコーダ1500は、受信部1521、復調部1522、デマルチプレクサ1523、オーディオデコーダ1524、ビデオデコーダ1525、およびレコーダ制御部1526を有する。ハードディスクレコーダ1500は、さらに、EPGデータメモリ1527、プログラムメモリ1528、ワークメモリ1529、ディスプレイコンバータ1530、OSD(On Screen Display)制御部1531、ディスプレイ制御部1532、記録再生部1533、D/Aコンバータ1534、および通信部1535を有する。
また、ディスプレイコンバータ1530は、ビデオエンコーダ1541を有する。記録再生部1533は、エンコーダ1551およびデコーダ1552を有する。
受信部1521は、リモートコントローラ(図示せず)からの赤外線信号を受信し、電気信号に変換してレコーダ制御部1526に出力する。レコーダ制御部1526は、例えば、マイクロプロセッサなどにより構成され、プログラムメモリ1528に記憶されているプログラムに従って、各種の処理を実行する。レコーダ制御部1526は、このとき、ワークメモリ1529を必要に応じて使用する。
通信部1535は、ネットワークに接続され、ネットワークを介して他の装置との通信処理を行う。例えば、通信部1535は、レコーダ制御部1526により制御され、チューナ(図示せず)と通信し、主にチューナに対して選局制御信号を出力する。
復調部1522は、チューナより供給された信号を、復調し、デマルチプレクサ1523に出力する。デマルチプレクサ1523は、復調部1522より供給されたデータを、オーディオデータ、ビデオデータ、およびEPGデータに分離し、それぞれ、オーディオデコーダ1524、ビデオデコーダ1525、またはレコーダ制御部1526に出力する。
オーディオデコーダ1524は、入力されたオーディオデータを、例えばMPEG方式でデコードし、記録再生部1533に出力する。ビデオデコーダ1525は、入力されたビデオデータを、例えばMPEG方式でデコードし、ディスプレイコンバータ1530に出力する。レコーダ制御部1526は、入力されたEPGデータをEPGデータメモリ1527に供給し、記憶させる。
ディスプレイコンバータ1530は、ビデオデコーダ1525またはレコーダ制御部1526より供給されたビデオデータを、ビデオエンコーダ1541により、例えばNTSC(National Television Standards Committee)方式のビデオデータにエンコードし、記録再生部1533に出力する。また、ディスプレイコンバータ1530は、ビデオデコーダ1525またはレコーダ制御部1526より供給されるビデオデータの画面のサイズを、モニタ1560のサイズに対応するサイズに変換する。ディスプレイコンバータ1530は、画面のサイズが変換されたビデオデータを、さらに、ビデオエンコーダ1541によってNTSC方式のビデオデータに変換し、アナログ信号に変換し、ディスプレイ制御部1532に出力する。
ディスプレイ制御部1532は、レコーダ制御部1526の制御のもと、OSD(On Screen Display)制御部1531が出力したOSD信号を、ディスプレイコンバータ1530より入力されたビデオ信号に重畳し、モニタ1560のディスプレイに出力し、表示させる。
モニタ1560にはまた、オーディオデコーダ1524が出力したオーディオデータが、D/Aコンバータ1534によりアナログ信号に変換されて供給されている。モニタ1560は、このオーディオ信号を内蔵するスピーカから出力する。
記録再生部1533は、ビデオデータやオーディオデータ等を記録する記憶媒体としてハードディスクを有する。
記録再生部1533は、例えば、オーディオデコーダ1524より供給されるオーディオデータを、エンコーダ1551によりMPEG方式でエンコードする。また、記録再生部1533は、ディスプレイコンバータ1530のビデオエンコーダ1541より供給されるビデオデータを、エンコーダ1551によりMPEG方式でエンコードする。記録再生部1533は、そのオーディオデータの符号化データとビデオデータの符号化データとをマルチプレクサにより合成する。記録再生部1533は、その合成データをチャネルコーディングして増幅し、そのデータを、記録ヘッドを介してハードディスクに書き込む。
記録再生部1533は、再生ヘッドを介してハードディスクに記録されているデータを再生し、増幅し、デマルチプレクサによりオーディオデータとビデオデータに分離する。記録再生部1533は、デコーダ1552によりオーディオデータおよびビデオデータをMPEG方式でデコードする。記録再生部1533は、復号したオーディオデータをD/A変換し、モニタ1560のスピーカに出力する。また、記録再生部1533は、復号したビデオデータをD/A変換し、モニタ1560のディスプレイに出力する。
レコーダ制御部1526は、受信部1521を介して受信されるリモートコントローラからの赤外線信号により示されるユーザ指示に基づいて、EPGデータメモリ1527から最新のEPGデータを読み出し、それをOSD制御部1531に供給する。OSD制御部1531は、入力されたEPGデータに対応する画像データを発生し、ディスプレイ制御部1532に出力する。ディスプレイ制御部1532は、OSD制御部1531より入力されたビデオデータをモニタ1560のディスプレイに出力し、表示させる。これにより、モニタ1560のディスプレイには、EPG(電子番組ガイド)が表示される。
また、ハードディスクレコーダ1500は、インターネット等のネットワークを介して他の装置から供給されるビデオデータ、オーディオデータ、またはEPGデータ等の各種データを取得することができる。
通信部1535は、レコーダ制御部1526に制御され、ネットワークを介して他の装置から送信されるビデオデータ、オーディオデータ、およびEPGデータ等の符号化データを取得し、それをレコーダ制御部1526に供給する。レコーダ制御部1526は、例えば、取得したビデオデータやオーディオデータの符号化データを記録再生部1533に供給し、ハードディスクに記憶させる。このとき、レコーダ制御部1526および記録再生部1533が、必要に応じて再エンコード等の処理を行うようにしてもよい。
また、レコーダ制御部1526は、取得したビデオデータやオーディオデータの符号化データを復号し、得られるビデオデータをディスプレイコンバータ1530に供給する。ディスプレイコンバータ1530は、ビデオデコーダ1525から供給されるビデオデータと同様に、レコーダ制御部1526から供給されるビデオデータを処理し、ディスプレイ制御部1532を介してモニタ1560に供給し、その画像を表示させる。
また、この画像表示に合わせて、レコーダ制御部1526が、復号したオーディオデータを、D/Aコンバータ1534を介してモニタ1560に供給し、その音声をスピーカから出力させるようにしてもよい。
さらに、レコーダ制御部1526は、取得したEPGデータの符号化データを復号し、復号したEPGデータをEPGデータメモリ1527に供給する。
以上のようなハードディスクレコーダ1500は、ビデオデコーダ1525、デコーダ1552、およびレコーダ制御部1526に内蔵されるデコーダとして画像復号装置101を用いる。したがって、ビデオデコーダ1525、デコーダ1552、およびレコーダ制御部1526に内蔵されるデコーダは、画像復号装置101の場合と同様に、圧縮情報の増大を抑制するとともに、予測精度を向上することができる。
したがって、ハードディスクレコーダ1500は、精度の高い予測画像を生成することができる。その結果として、ハードディスクレコーダ1500は、例えば、チューナを介して受信されたビデオデータの符号化データや、記録再生部1533のハードディスクから読み出されたビデオデータの符号化データや、ネットワークを介して取得したビデオデータの符号化データから、より高精細な復号画像を得て、モニタ1560に表示させることができる。
また、ハードディスクレコーダ1500は、エンコーダ1551として画像符号化装置51を用いる。したがって、エンコーダ1551は、画像符号化装置51の場合と同様に、圧縮情報の増大を抑制するとともに、予測精度を向上することができる。
したがって、ハードディスクレコーダ1500は、例えば、ハードディスクに記録する符号化データの符号化効率を向上させることができる。その結果として、ハードディスクレコーダ1500は、ハードディスクの記憶領域をより効率よく使用することができる。
なお、以上においては、ビデオデータやオーディオデータをハードディスクに記録するハードディスクレコーダ1500について説明したが、もちろん、記録媒体はどのようなものであってもよい。例えばフラッシュメモリ、光ディスク、またはビデオテープ等、ハードディスク以外の記録媒体を適用するレコーダであっても、上述したハードディスクレコーダ1500の場合と同様に、画像符号化装置51および画像復号装置101を適用することができる。
図22は、本発明を適用した画像復号装置および画像符号化装置を用いるカメラの主な構成例を示すブロック図である。
図22に示されるカメラ1600は、被写体を撮像し、被写体の画像をLCD1616に表示させたり、それを画像データとして、記録メディア1633に記録したりする。
レンズブロック1611は、光(すなわち、被写体の映像)を、CCD/CMOS1612に入射させる。CCD/CMOS1612は、CCDまたはCMOSを用いたイメージセンサであり、受光した光の強度を電気信号に変換し、カメラ信号処理部1613に供給する。
カメラ信号処理部1613は、CCD/CMOS1612から供給された電気信号を、Y,Cr,Cbの色差信号に変換し、画像信号処理部1614に供給する。画像信号処理部1614は、コントローラ1621の制御の下、カメラ信号処理部1613から供給された画像信号に対して所定の画像処理を施したり、その画像信号をエンコーダ1641で例えばMPEG方式により符号化したりする。画像信号処理部1614は、画像信号を符号化して生成した符号化データを、デコーダ1615に供給する。さらに、画像信号処理部1614は、オンスクリーンディスプレイ(OSD)1620において生成された表示用データを取得し、それをデコーダ1615に供給する。
以上の処理において、カメラ信号処理部1613は、バス1617を介して接続されるDRAM(Dynamic Random Access Memory)1618を適宜利用し、必要に応じて画像データや、その画像データが符号化された符号化データ等をそのDRAM1618に保持させる。
デコーダ1615は、画像信号処理部1614から供給された符号化データを復号し、得られた画像データ(復号画像データ)をLCD1616に供給する。また、デコーダ1615は、画像信号処理部1614から供給された表示用データをLCD1616に供給する。LCD1616は、デコーダ1615から供給された復号画像データの画像と表示用データの画像を適宜合成し、その合成画像を表示する。
オンスクリーンディスプレイ1620は、コントローラ1621の制御の下、記号、文字、または図形からなるメニュー画面やアイコンなどの表示用データを、バス1617を介して画像信号処理部1614に出力する。
コントローラ1621は、ユーザが操作部1622を用いて指令した内容を示す信号に基づいて、各種処理を実行するとともに、バス1617を介して、画像信号処理部1614、DRAM1618、外部インタフェース1619、オンスクリーンディスプレイ1620、およびメディアドライブ1623等を制御する。FLASH ROM1624には、コントローラ1621が各種処理を実行する上で必要なプログラムやデータ等が格納される。
例えば、コントローラ1621は、画像信号処理部1614やデコーダ1615に代わって、DRAM1618に記憶されている画像データを符号化したり、DRAM1618に記憶されている符号化データを復号したりすることができる。このとき、コントローラ1621は、画像信号処理部1614やデコーダ1615の符号化・復号方式と同様の方式によって符号化・復号処理を行うようにしてもよいし、画像信号処理部1614やデコーダ1615が対応していない方式により符号化・復号処理を行うようにしてもよい。
また、例えば、操作部1622から画像印刷の開始が指示された場合、コントローラ1621は、DRAM1618から画像データを読み出し、それを、バス1617を介して外部インタフェース1619に接続されるプリンタ1634に供給して印刷させる。
さらに、例えば、操作部1622から画像記録が指示された場合、コントローラ1621は、DRAM1618から符号化データを読み出し、それを、バス1617を介してメディアドライブ1623に装着される記録メディア1633に供給して記憶させる。
記録メディア1633は、例えば、磁気ディスク、光磁気ディスク、光ディスク、または半導体メモリ等の、読み書き可能な任意のリムーバブルメディアである。記録メディア1633は、もちろん、リムーバブルメディアとしての種類も任意であり、テープデバイスであってもよいし、ディスクであってもよいし、メモリカードであってもよい。もちろん、非接触ICカード等であっても良い。
また、メディアドライブ1623と記録メディア1633を一体化し、例えば、内蔵型ハードディスクドライブやSSD(Solid State Drive)等のように、非可搬性の記憶媒体により構成されるようにしてもよい。
外部インタフェース1619は、例えば、USB入出力端子などで構成され、画像の印刷を行う場合に、プリンタ1634と接続される。また、外部インタフェース1619には、必要に応じてドライブ1631が接続され、磁気ディスク、光ディスク、あるいは光磁気ディスクなどのリムーバブルメディア1632が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて、FLASH ROM1624にインストールされる。
さらに、外部インタフェース1619は、LANやインターネット等の所定のネットワークに接続されるネットワークインタフェースを有する。コントローラ1621は、例えば、操作部1622からの指示に従って、DRAM1618から符号化データを読み出し、それを外部インタフェース1619から、ネットワークを介して接続される他の装置に供給させることができる。また、コントローラ1621は、ネットワークを介して他の装置から供給される符号化データや画像データを、外部インタフェース1619を介して取得し、それをDRAM1618に保持させたり、画像信号処理部1614に供給したりすることができる。
以上のようなカメラ1600は、デコーダ1615として画像復号装置101を用いる。したがって、デコーダ1615は、画像復号装置101の場合と同様に、V圧縮情報の増大を抑制するとともに、予測精度を向上することができる。
したがって、カメラ1600は、精度の高い予測画像を生成することができる。その結果として、カメラ1600は、例えば、CCD/CMOS1612において生成された画像データや、DRAM1618または記録メディア1633から読み出されたビデオデータの符号化データや、ネットワークを介して取得したビデオデータの符号化データから、より高精細な復号画像を得て、LCD1616に表示させることができる。
また、カメラ1600は、エンコーダ1641として画像符号化装置51を用いる。したがって、エンコーダ1641は、画像符号化装置51の場合と同様に、V圧縮情報の増大を抑制するとともに、予測精度を向上することができる。
したがって、カメラ1600は、例えば、ハードディスクに記録する符号化データの符号化効率を向上させることができる。その結果として、カメラ1600は、DRAM1618や記録メディア1633の記憶領域をより効率よく使用することができる。
なお、コントローラ1621が行う復号処理に画像復号装置101の復号方法を適用するようにしてもよい。同様に、コントローラ1621が行う符号化処理に画像符号化装置51の符号化方法を適用するようにしてもよい。
また、カメラ1600が撮像する画像データは動画像であってもよいし、静止画像であってもよい。
もちろん、画像符号化装置51および画像復号装置101は、上述した装置以外の装置やシステムにも適用可能である。
51 画像符号化装置, 66 可逆符号化部, 74 イントラ予測部, 75 動き予測・補償部, 76 動きベクトル精度判定部, 77 予測画像選択部, 81 整数画素精度動き予測・補償部, 82 小数画素精度動き予測・補償部, 83 動きベクトル情報蓄積バッファ, 84 予測動きベクトル算出部, 85 動きベクトル情報符号化部, 86 モード判定部, 91 対象動きベクトル精度判別部, 92 隣接動きベクトル精度判別部, 93 精度フラグ生成部, 101 画像復号装置, 112 可逆復号部, 121 イントラ予測部, 122 動き予測・補償部, 123 動きベクトル精度判定部, 124 スイッチ, 151 動きベクトル情報受信部, 152 予測動きベクトル生成部, 153 動きベクトル再構成部, 154 動きベクトル情報蓄積バッファ, 155 画像予測部, 161 精度フラグ受信部, 162 隣接動きベクトル精度判別部, 163 対象動きベクトル精度判別部
Claims (12)
- 対象ブロックの動きベクトル情報の精度と、前記対象ブロックに隣接する隣接ブロックの動きベクトル情報の精度とが同じであるか異なるかを示す精度フラグを生成する精度フラグ生成手段と、
前記対象ブロックの動きベクトル情報と、前記精度フラグ生成手段により生成された前記精度フラグを符号化する符号化手段と
を備える画像処理装置。 - 前記精度フラグ生成手段により生成された前記精度フラグが、前記対象ブロックの動きベクトル情報の精度と、前記隣接ブロックの動きベクトル情報の精度とが異なることを示す場合、前記隣接ブロックの動きベクトル情報の精度を、前記対象ブロックの動きベクトル情報の精度に換算してメディアン予測を行い、予測動きベクトル情報を生成する予測動きベクトル生成手段をさらに備え、
前記符号化手段は、前記対象ブロックの動きベクトル情報として、前記対象ブロックの動きベクトル情報と前記予測動きベクトル情報との差分を符号化する
請求項1に記載の画像処理装置。 - 前記精度フラグ生成手段および前記予測動きベクトル生成手段は、前記隣接ブロックとして、前記対象ブロックの左部に隣接するブロックを用いる
請求項2に記載の画像処理装置。 - 前記精度フラグ生成手段および前記予測動きベクトル生成手段は、前記隣接ブロックとして、前記対象ブロックに隣接するとともに、直前に符号化処理が施されたブロックを用いる
請求項2に記載の画像処理装置。 - 前記精度フラグ生成手段および前記予測動きベクトル生成手段は、前記隣接ブロックとして、前記対象ブロック隣接するとともに、メディアン予測により選択された動きベクトル情報を与えるブロックを用いる
請求項2に記載の画像処理装置。 - 画像処理装置が、
対象ブロックの動きベクトル情報の精度と、前記対象ブロックに隣接する隣接ブロックの動きベクトル情報の精度とが同じであるか異なるかを示す精度フラグを生成し、
前記対象ブロックの動きベクトル情報と、生成された前記精度フラグを符号化するステップを
含む画像処理方法。 - 符号化された対象ブロックの動きベクトル情報、および前記対象ブロックの動きベクトル情報の精度と、前記対象ブロックに隣接する隣接ブロックの動きベクトル情報の精度とが同じであるか異なるかを示す精度フラグを復号する復号手段と、
前記復号手段により復号された前記精度フラグを用いて、前記復号手段により復号された前記対象ブロックの動きベクトル情報を再構成する動きベクトル再構成手段と、
前記動きベクトル再構成手段により再構成された前記対象ブロックの動きベクトル情報を用いて、前記対象ブロックの予測画像を生成する予測画像生成手段と
を備える画像処理装置。 - 前記復号手段により復号された前記精度フラグが、前記対象ブロックの動きベクトル情報の精度と、前記隣接ブロックの動きベクトル情報の精度とが異なることを示す場合、前記隣接ブロックの動きベクトル情報の精度を、前記対象ブロックの動きベクトル情報の精度に換算してメディアン予測を行い、予測動きベクトル情報を生成する予測動きベクトル生成手段をさらに備え、
前記動きベクトル再構成手段は、前記復号手段により復号された前記精度フラグと、前記予測動きベクトル生成手段により生成された前記予測動きベクトル情報を用いて、前記復号手段により復号された前記対象ブロックの動きベクトル情報を再構成する
請求項7に記載の画像処理装置。 - 前記動きベクトル再構成手段と前記予測動きベクトル生成手段は、前記隣接ブロックとして、前記対象ブロックの左部に隣接するブロックを用いる
請求項8に記載の画像処理装置。 - 前記動きベクトル再構成手段と前記予測動きベクトル生成手段は、前記隣接ブロックとして、前記対象ブロックに隣接するとともに、直前に符号化処理が施されたブロックを用いる
請求項8に記載の画像処理装置。 - 前記動きベクトル再構成手段と前記予測動きベクトル生成手段は、前記隣接ブロックとして、前記対象ブロック隣接するとともに、メディアン予測により選択された動きベクトル情報を与えるブロックを用いる
請求項8に記載の画像処理装置。 - 画像処理装置が、
符号化された対象ブロックの動きベクトル情報、および前記対象ブロックの動きベクトル情報の精度と、前記対象ブロックに隣接する隣接ブロックの動きベクトル情報の精度とが同じであるか異なるかを示す精度フラグを復号し、
復号された前記精度フラグを用いて、復号された前記対象ブロックの動きベクトル情報を再構成し、
再構成された前記対象ブロックの動きベクトル情報を用いて、前記対象ブロックの予測画像を生成するステップを
含む画像処理方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009054077 | 2009-03-06 | ||
JP2009054077 | 2009-03-06 | ||
PCT/JP2010/052925 WO2010101064A1 (ja) | 2009-03-06 | 2010-02-25 | 画像処理装置および方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2010101064A1 true JPWO2010101064A1 (ja) | 2012-09-10 |
Family
ID=42709623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011502727A Pending JPWO2010101064A1 (ja) | 2009-03-06 | 2010-02-25 | 画像処理装置および方法 |
Country Status (12)
Country | Link |
---|---|
US (1) | US20120057632A1 (ja) |
EP (1) | EP2405659A4 (ja) |
JP (1) | JPWO2010101064A1 (ja) |
KR (1) | KR20110139684A (ja) |
CN (1) | CN102342108B (ja) |
AU (1) | AU2010219746A1 (ja) |
BR (1) | BRPI1009535A2 (ja) |
CA (1) | CA2752736A1 (ja) |
MX (1) | MX2011009117A (ja) |
RU (1) | RU2011136072A (ja) |
TW (1) | TW201041404A (ja) |
WO (1) | WO2010101064A1 (ja) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9237355B2 (en) | 2010-02-19 | 2016-01-12 | Qualcomm Incorporated | Adaptive motion resolution for video coding |
US10327008B2 (en) | 2010-10-13 | 2019-06-18 | Qualcomm Incorporated | Adaptive motion vector resolution signaling for video coding |
CN107071428B (zh) * | 2011-06-23 | 2019-12-27 | Jvc 建伍株式会社 | 图像编码装置和图像编码方法 |
WO2014033155A1 (en) * | 2012-08-28 | 2014-03-06 | Abb Technology Ag | Controlling a modular converter in two stages |
EP3687173A1 (en) | 2012-09-03 | 2020-07-29 | Sony Corporation | Image processing device and method with inter-layer motion vector compression |
EP2976327B1 (en) * | 2013-03-20 | 2017-06-21 | Bayer Pharma Aktiengesellschaft | 3-acetylamino-1-(phenyl-heteroaryl-aminocarbonyl or phenyl-heteroaryl-carbonylamino)benzene derivatives for the treatment of hyperproliferative disorders |
US9706229B2 (en) * | 2013-06-05 | 2017-07-11 | Texas Instruments Incorporated | High definition VP8 decoder |
CN115002458A (zh) * | 2015-06-05 | 2022-09-02 | 杜比实验室特许公司 | 图像编码和解码方法和图像解码设备 |
US11272207B2 (en) * | 2017-06-12 | 2022-03-08 | Futurewei Technologies, Inc. | Selection and signaling of motion vector (MV) precisions |
KR102302671B1 (ko) | 2017-07-07 | 2021-09-15 | 삼성전자주식회사 | 적응적 움직임 벡터 해상도로 결정된 움직임 벡터의 부호화 장치 및 부호화 방법, 및 움직임 벡터의 복호화 장치 및 복호화 방법 |
KR102577754B1 (ko) * | 2017-09-28 | 2023-09-12 | 삼성전자주식회사 | 부호화 방법 및 그 장치, 복호화 방법 및 그 장치 |
CN109905714B (zh) | 2017-12-08 | 2022-12-27 | 华为技术有限公司 | 帧间预测方法、装置及终端设备 |
KR20210016054A (ko) * | 2018-06-30 | 2021-02-10 | 김기백 | 영상 부호화/복호화 방법 및 장치 |
WO2020084475A1 (en) | 2018-10-22 | 2020-04-30 | Beijing Bytedance Network Technology Co., Ltd. | Utilization of refined motion vector |
WO2020098647A1 (en) * | 2018-11-12 | 2020-05-22 | Beijing Bytedance Network Technology Co., Ltd. | Bandwidth control methods for affine prediction |
KR20210091161A (ko) | 2018-11-20 | 2021-07-21 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 부분적 위치에 기반한 차분 계산 |
WO2020177755A1 (en) | 2019-03-06 | 2020-09-10 | Beijing Bytedance Network Technology Co., Ltd. | Usage of converted uni-prediction candidate |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006187025A (ja) * | 2002-01-24 | 2006-07-13 | Hitachi Ltd | 動画像信号の符号化方法、復号化方法、符号化装置及び復号化装置 |
JP2006238291A (ja) * | 2005-02-28 | 2006-09-07 | Ricoh Printing Systems Ltd | カラー画像情報の符号化処理方法、復号化処理方法およびこれを用いた印刷装置 |
JP2007036725A (ja) * | 2005-07-27 | 2007-02-08 | Toshiba Corp | 符号化装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09121359A (ja) * | 1995-10-26 | 1997-05-06 | Hitachi Ltd | 画像符号化方法および画像復号化方法 |
KR100359115B1 (ko) * | 2000-05-24 | 2002-11-04 | 삼성전자 주식회사 | 영상 코딩 방법 |
KR100924850B1 (ko) * | 2002-01-24 | 2009-11-02 | 가부시키가이샤 히타치세이사쿠쇼 | 동화상 신호의 부호화 방법 및 복호화 방법 |
US6728315B2 (en) * | 2002-07-24 | 2004-04-27 | Apple Computer, Inc. | Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding with reduced requirements for division operations |
US7499495B2 (en) * | 2003-07-18 | 2009-03-03 | Microsoft Corporation | Extended range motion vectors |
TWI253001B (en) * | 2004-11-16 | 2006-04-11 | An Lnternet Products & Technol | Method for setting the threshold of a fast motion estimation algorithm |
JP4235209B2 (ja) * | 2006-02-10 | 2009-03-11 | Nttエレクトロニクス株式会社 | 動きベクトル検出装置および動きベクトル検出方法 |
CN101102503A (zh) * | 2006-07-07 | 2008-01-09 | 华为技术有限公司 | 视频分层编码层间运动矢量的预测方法 |
-
2010
- 2010-02-03 TW TW099103245A patent/TW201041404A/zh unknown
- 2010-02-25 CA CA2752736A patent/CA2752736A1/en not_active Abandoned
- 2010-02-25 KR KR1020117020036A patent/KR20110139684A/ko not_active Application Discontinuation
- 2010-02-25 RU RU2011136072/07A patent/RU2011136072A/ru unknown
- 2010-02-25 WO PCT/JP2010/052925 patent/WO2010101064A1/ja active Application Filing
- 2010-02-25 US US13/203,957 patent/US20120057632A1/en not_active Abandoned
- 2010-02-25 MX MX2011009117A patent/MX2011009117A/es not_active Application Discontinuation
- 2010-02-25 BR BRPI1009535A patent/BRPI1009535A2/pt not_active IP Right Cessation
- 2010-02-25 EP EP10748659A patent/EP2405659A4/en not_active Withdrawn
- 2010-02-25 AU AU2010219746A patent/AU2010219746A1/en not_active Abandoned
- 2010-02-25 JP JP2011502727A patent/JPWO2010101064A1/ja active Pending
- 2010-02-25 CN CN201080010021.1A patent/CN102342108B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006187025A (ja) * | 2002-01-24 | 2006-07-13 | Hitachi Ltd | 動画像信号の符号化方法、復号化方法、符号化装置及び復号化装置 |
JP2006238291A (ja) * | 2005-02-28 | 2006-09-07 | Ricoh Printing Systems Ltd | カラー画像情報の符号化処理方法、復号化処理方法およびこれを用いた印刷装置 |
JP2007036725A (ja) * | 2005-07-27 | 2007-02-08 | Toshiba Corp | 符号化装置 |
Also Published As
Publication number | Publication date |
---|---|
US20120057632A1 (en) | 2012-03-08 |
EP2405659A1 (en) | 2012-01-11 |
MX2011009117A (es) | 2011-10-06 |
CN102342108B (zh) | 2014-07-09 |
EP2405659A4 (en) | 2013-01-02 |
TW201041404A (en) | 2010-11-16 |
CN102342108A (zh) | 2012-02-01 |
BRPI1009535A2 (pt) | 2016-03-15 |
AU2010219746A1 (en) | 2011-09-08 |
WO2010101064A1 (ja) | 2010-09-10 |
KR20110139684A (ko) | 2011-12-29 |
CA2752736A1 (en) | 2010-09-10 |
RU2011136072A (ru) | 2013-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5234368B2 (ja) | 画像処理装置および方法 | |
JP6057140B2 (ja) | 画像処理装置および方法、プログラム、並びに、記録媒体 | |
WO2010101064A1 (ja) | 画像処理装置および方法 | |
TWI405469B (zh) | Image processing apparatus and method | |
WO2011024685A1 (ja) | 画像処理装置および方法 | |
WO2010035731A1 (ja) | 画像処理装置および方法 | |
WO2010035734A1 (ja) | 画像処理装置および方法 | |
WO2010095560A1 (ja) | 画像処理装置および方法 | |
WO2010035730A1 (ja) | 画像処理装置および方法 | |
WO2011089973A1 (ja) | 画像処理装置および方法 | |
JP2011041037A (ja) | 画像処理装置および方法 | |
WO2011086964A1 (ja) | 画像処理装置および方法、並びにプログラム | |
WO2010035732A1 (ja) | 画像処理装置および方法 | |
WO2011152315A1 (ja) | 画像処理装置および方法 | |
WO2011086963A1 (ja) | 画像処理装置および方法 | |
JPWO2010064674A1 (ja) | 画像処理装置および画像処理方法、並びにプログラム | |
WO2010035735A1 (ja) | 画像処理装置および方法 | |
JP2014143716A (ja) | 画像処理装置および方法、プログラム、並びに記録媒体 | |
JP2012019447A (ja) | 画像処理装置および方法 | |
JP6048774B2 (ja) | 画像処理装置および方法 | |
WO2011125625A1 (ja) | 画像処理装置および方法 | |
JP6268556B2 (ja) | 画像処理装置および方法、プログラム、並びに、記録媒体 | |
JP2013150347A (ja) | 画像処理装置および方法 | |
WO2012077530A1 (ja) | 画像処理装置および方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130107 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140327 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20140715 |