JP2010268259A - 画像処理装置および方法、並びにプログラム - Google Patents

画像処理装置および方法、並びにプログラム Download PDF

Info

Publication number
JP2010268259A
JP2010268259A JP2009118290A JP2009118290A JP2010268259A JP 2010268259 A JP2010268259 A JP 2010268259A JP 2009118290 A JP2009118290 A JP 2009118290A JP 2009118290 A JP2009118290 A JP 2009118290A JP 2010268259 A JP2010268259 A JP 2010268259A
Authority
JP
Japan
Prior art keywords
prediction
block
adjacent pixel
image
adjacent
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
Application number
JP2009118290A
Other languages
English (en)
Other versions
JP2010268259A5 (ja
Inventor
Kazufumi Sato
数史 佐藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2009118290A priority Critical patent/JP2010268259A/ja
Priority to TW99114682A priority patent/TW201110709A/zh
Priority to US13/318,413 priority patent/US20120106862A1/en
Priority to CN2010800206536A priority patent/CN102422643A/zh
Priority to PCT/JP2010/057787 priority patent/WO2010131601A1/ja
Publication of JP2010268259A publication Critical patent/JP2010268259A/ja
Publication of JP2010268259A5 publication Critical patent/JP2010268259A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Abstract

【課題】処理効率を向上させることができるようにする。
【解決手段】サブマクロブロックSMB0のブロックB1が予測対象のブロックである場合、サブマクロブロックSBM0のブロックB1に隣接するテンプレートのうち、上部領域Uと左上部領域LUに含まれる隣接画素の画素値としては、復号画像の画素値を用いるように設定される。一方、サブマクロブロックSBM0のブロックB1に隣接するテンプレートのうち、左部領域Lに含まれる隣接画素の画素値としては、予測画像の画素値を用いるように設定される。本発明は、例えば、H.264/AVC方式で符号化する画像符号化装置に適用することができる。
【選択図】図10

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と記す)という国際標準となっている。
さらに、その拡張として、RGBや4:2:2、4:4:4といった、業務用に必要な符号化ツールや、MPEG-2で規定されていた8x8DCTや量子化マトリクスをも含んだFRExt (Fidelity Range Extension) の標準化が2005年2月に完了した。これにより、H.264/AVCを用いて、映画に含まれるフィルムノイズをも良好に表現することが可能な符号化方式となって、Blu-Ray Disc(商標)等の幅広いアプリケーションに用いられる運びとなった。
しかしながら、昨今、ハイビジョン画像の4倍の、4000×2000画素程度の画像を圧縮したい、あるいは、インターネットのような、限られた伝送容量の環境において、ハイビジョン画像を配信したいといった、更なる高圧縮率符号化に対するニーズが高まっている。このため、先述の、ITU-T傘下のVCEG (=Video Coding Expert Group) において、符号化効率の改善に関する検討が継続され行なわれている。
このH.264/AVC方式が、従来のMPEG2方式などに比して高い符号化効率を実現する要因の1つとして、イントラ予測処理を挙げることができる。
H.264/AVC方式において、輝度信号のイントラ予測モードには、9種類の4×4画素および8×8画素のブロック単位、並びに4種類の16×16画素のマクロブロック単位の予測モードがある。また、色差信号のイントラ予測モードには、4種類の8×8画素のブロック単位の予測モードがある。この色差信号のイントラ予測モードは、輝度信号のイントラ予測モードと独立に設定が可能である。
輝度信号の4×4画素および8×8画素のイントラ予測モードについては、4×4画素および8×8画素の輝度信号のブロック毎に1つのイントラ予測モードが定義される。輝度信号の16×16画素のイントラ予測モードと色差信号のイントラ予測モードについては、1つのマクロブロックに対して1つの予測モードが定義される。
近年、このH.264/AVC方式におけるイントラ予測の効率をさらに改善する方法が、例えば、非特許文献1に提案されている。
図1を参照して、非特許文献1に提案されているイントラ予測方式としてのイントラテンプレートマッチング方式を説明する。図1の例においては、符号化対象の対象フレーム上に、4×4画素の対象ブロックAと、対象フレームにおいて、すでに符号化済みの画素だけで構成される所定の探索範囲Eが示されている。
対象ブロックAには、すでに符号化済みの画素で構成されるテンプレート領域Bが隣接している。例えば、テンプレート領域Bは、符号化処理をラスタスキャン順に行う場合には、図1に示されるように、対象ブロックAの左および上側に位置する領域であり、フレームメモリに復号画像が蓄積されている領域である。
イントラテンプレートマッチング方式においては、対象フレーム上の所定の探索範囲E内において、テンプレート領域Bを用い、例えば、SAD(Sum of Absolute Difference) 等のコスト関数値を最小とするようにマッチング処理が行われる。その結果、テンプレート領域Bの画素値と相関が最も高くなる領域B’が探索され、探索された領域B’に対応するブロックA’を、対象ブロックAに対する予測画像として、対象ブロックAに対する動きベクトルが探索される。
このように、イントラテンプレートマッチング方式による動きベクトル探索処理は、テンプレートマッチング処理に復号画像を用いている。したがって、所定の探索範囲Eを予め定めておくことにより、符号化側と復号側において同一の処理を行うことが可能であり、復号側に、動きベクトルの情報を送る必要がない。これにより、イントラ予測の効率が改善される。
ところで、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画素精度、およびブロック可変の動き予測・補償処理が行われることにより、膨大な動きベクトル情報が生成されてしまい、これをこのまま符号化してしまうと、符号化効率の低下を招いていた。
そこで、これから符号化されようとしている対象ブロックの予測動きベクトル情報を、既に符号化済の、隣接するブロックの動きベクトル情報を用いてメディアンオペレーションにより生成する方法などにより、符号化効率の低下を抑えることが提案されている。
なお、このようなメディアン予測を用いても、画像圧縮情報における動きベクトル情報の占める割合は少なくない。これに対して、非特許文献2に記載のインターテンプレートマッチング方式が提案されている。この方式とは、符号化対象の画像の領域に対して所定の位置関係で隣接すると共に復号画像の一部であるテンプレート領域の復号画像と相関が高い画像の領域を、復号画像から探索して、探索された領域と所定の位置関係とに基づいて予測を行う方式である。
図2を参照して、非特許文献2に提案されているインターテンプレートマッチング方式を説明する。
図2の例においては、符号化対象の対象フレーム(ピクチャ)と、動きベクトルを探索する際に参照される参照フレームが示されている。対象フレームには、これから符号化されようとしている対象ブロックAと、対象ブロックAに対して隣接するとともに、すでに符号化済みの画素で構成されるテンプレート領域Bが示されている。例えば、テンプレート領域Bは、符号化処理をラスタスキャン順に行う場合には、図2に示されるように、対象ブロックAの左および上側に位置する領域であり、フレームメモリに復号画像が蓄積されている領域である。
インターテンプレートマッチング方式においては、参照フレーム上の所定の探索範囲E内で、例えば、SAD 等をコスト関数値としてテンプレートマッチング処理が行われ、テンプレート領域Bの画素値と相関が最も高くなる領域B’が探索される。そして、探索された領域B’に対応するブロックA’が、対象ブロックAに対する予測画像とされ、対象ブロックAに対する動きベクトルPが探索される。
このインターテンプレートマッチング方式では、マッチングに復号画像を用いているため、探索範囲を予め定めておくことで、符号化側と復号側において同一の処理を行うことが可能である。すなわち、復号側においても上述したような予測・補償処理を行うことにより、符号化側からの画像圧縮情報の中に動きベクトル情報を持つ必要がないため、符号化効率の低下を抑えることが可能である。
ところで、また、H.264/AVC方式においては、マクロブロックサイズが16画素×16画素と定義されているが、マクロブロックサイズを16画素×16画素とするのは、次世代符号化方式の対象となるような、UHD(Ultra High Definition ; 4000画素×2000画素)といった大きな画枠に対しては最適ではない。
そこで、非特許文献3などにおいては、マクロブロックサイズを、例えば、32画素×32画素といった大きさにすることが提案されている。
"Intra Prediction by Template Matching", T.K. Tan et al, ICIP2006 "Inter Frame Coding with Template Matching Averaging", Y. Suzuki et al, ICIP2007 "Video Coding Using Extended Block Sizes", Study Group 16 Contribution 123 , ITU , January 2009
ここで、図3を参照して、イントラまたはインターテンプレートマッチング予測処理において、4×4画素ブロック単位で処理を行う場合を考える。
図3の例においては、16×16画素のマクロブロックが示されており、マクロブロックには、マクロブロック内において左上に位置する、8×8画素で構成されるサブマクロブロックが示されている。このサブマクロブロックは、それぞれ4×4画素で構成される、左上のブロック0、右上のブロック1、左下のブロック2、右下のブロック3により構成されている。
例えば、ブロック1におけるテンプレートマッチング予測処理を行う際には、ブロック1に対して、左上部および上部に隣接する左上部および上部テンプレート領域P1と、左部に隣接する左部テンプレート領域P2に含まれる画素の画素値が必要となる。
ここで、左上部および上部テンプレート領域P1に含まれる画素は、すでに復号画像として得られているが、左部テンプレート領域P2に含まれる画素の画素値を得るためには、ブロック0に対する復号画像が必要とされる。
すなわち、ブロック0に対するテンプレートマッチング予測処理、差分処理、直交変換処理、量子化処理、逆量子化処理、および逆直交変換処理などが終了されなければ、ブロック1に対する処理を開始することが困難であった。したがって、従来のテンプレートマッチング予測処理においては、ブロック0とブロック1において、パイプライン処理を行うことが困難であった。
このことは、テンプレートマッチング予測処理のみならず、同じように隣接画素を用いた予測処理であるH.264/AVC方式におけるイントラ予測処理についても同様に言うことができる。
本発明は、このような状況に鑑みてなされたものであり、隣接画素を用いる予測処理において、パイプライン処理を行うことができるようにするものである。
本発明の第1の側面の画像処理装置は、画像の所定のブロックを構成するブロックに隣接する隣接画素を用いて、前記ブロックの予測を行う予測手段と、前記隣接画素が前記所定のブロック内に属する場合、前記隣接画素の予測画像を、前記予測に用いる前記隣接画素として設定し、前記隣接画素が前記所定のブロック外に存在する場合、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素として設定する隣接画素設定手段と、前記ブロックの画像を符号化する符号化手段とを備える。
前記予測手段は、前記隣接画素をテンプレートとして用いて、前記ブロックについて、前記テンプレートのマッチングによる前記予測を行うことができる。
前記予測手段は、前記隣接画素をテンプレートとして用いて、前記ブロックの色差信号についても、前記テンプレートのマッチングによる前記予測を行うことができる。
前記予測手段は、前記隣接画素の画素値を用いて、前記ブロックについて、前記予測として、イントラ予測を行うことができる。
2×2の前記ブロックで構成される前記所定のブロックにおいて、前記ブロックの位置が、前記所定のブロック内において左上の位置である場合、前記隣接画素のうち、前記所定のブロック外に存在する左上部の隣接画素、上部の隣接画素、および左部の隣接画素すべてについて、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素の画素値として設定することができる。
2×2の前記ブロックで構成される前記所定のブロックにおいて、前記ブロックの位置が、前記所定のブロック内において右上の位置である場合、前記隣接画素のうち、前記所定のブロック外に存在する左上部の隣接画素、および上部の隣接画素について、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素として設定し、前記隣接画素のうち、前記所定のブロック内に属する左部の隣接画素について、前記隣接画素の予測画像を、前記予測に用いる前記隣接画素として設定することができる。
2×2の前記ブロックで構成される前記所定のブロックにおいて、前記ブロックの位置が、前記所定のブロック内において左下の位置である場合、前記隣接画素のうち、前記所定のブロック外に存在する左上部の隣接画素、および左部の隣接画素について、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素として設定し、前記隣接画素のうち、前記所定のブロック内に属する上部の隣接画素について、前記隣接画素の予測画像を、前記予測に用いる前記隣接画素として設定することができる。
2×2の前記ブロックで構成される前記所定のブロックにおいて、前記ブロックの位置が、前記所定のブロック内において右下の位置である場合、前記隣接画素のうち、前記所定のブロック内に属する左上部の隣接画素、上部の隣接画素、および左部の隣接画素すべてについて、前記隣接画素の予測画像を、前記予測に用いる前記隣接画素として設定することができる。
上下2つの前記ブロックで構成される前記所定のブロックにおいて、前記ブロックの位置が、前記所定のブロック内において上部の位置である場合、前記隣接画素のうち、前記所定のブロック外に存在する左上部の隣接画素、上部の隣接画素、および左部の隣接画素すべてについて、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素として設定することができる。
上下2つの前記ブロックで構成される前記所定のブロックにおいて、前記ブロックの位置が、前記所定のブロック内において下部の位置である場合、前記隣接画素のうち、前記所定のブロック外に存在する左上部の隣接画素、および左部の隣接画素について、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素として設定し、前記隣接画素のうち、前記所定のブロック内に属する上部の隣接画素について、前記隣接画素の予測画像を、前記予測に用いる前記隣接画素として設定することができる。
左右2つの前記ブロックで構成される前記所定のブロックにおいて、前記ブロックの位置が、前記所定のブロック内において左部の位置である場合、前記隣接画素のうち、前記所定のブロック外に存在する左上部の隣接画素、上部の隣接画素、および左部の隣接画素すべてについて、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素として設定することができる。
左右2つの前記ブロックで構成される前記所定のブロックにおいて、前記ブロックの位置が、前記所定のブロック内において右部の位置である場合、前記隣接画素のうち、前記所定のブロック外に存在する左上部の隣接画素、および上部の隣接画素について、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素として設定し、前記隣接画素のうち、前記所定のブロック内に属する左部の隣接画素について、前記隣接画素の予測画像を、前記予測に用いる前記隣接画素として設定することができる。
本発明の第1の側面の画像処理方法は、画像の所定のブロックを構成するブロックに隣接する隣接画素を用いて、前記ブロックの予測を行う画像処理装置が、前記隣接画素が前記所定のブロック内に属する場合、前記隣接画素の予測画像を、前記予測に用いる前記隣接画素として設定し、前記隣接画素が前記所定のブロック外に存在する場合、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素として設定し、設定された前記隣接画素を用いて、前記ブロックの予測を行い、前記ブロックの画像を符号化するステップを含む。
本発明の第1の側面のプログラムは、画像の所定のブロックを構成するブロックに隣接する隣接画素を用いて、前記ブロックの予測を行う画像処理装置のコンピュータに、前記隣接画素が前記所定のブロック内に属する場合、前記隣接画素の予測画像を、前記予測に用いる前記隣接画素として設定し、前記隣接画素が前記所定のブロック外に存在する場合、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素として設定し、設定された前記隣接画素を用いて、前記ブロックの予測を行い、前記ブロックの画像を符号化するステップを含む処理を実行させる。
本発明の第2の側面の画像処理装置は、符号化されているブロックの画像を復号する復号手段と、画像の所定のブロックを構成する前記ブロックに隣接する隣接画素を用いて、前記ブロックの予測を行う予測手段と、前記隣接画素が前記所定のブロック内に属する場合、前記隣接画素の予測画像を、前記予測に用いる前記隣接画素として設定し、前記隣接画素が前記所定のブロック外に存在する場合、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素として設定する隣接画素設定手段と、復号された前記ブロックの画像と、前記予測手段により前記予測が行われた前記ブロックの画像とを加算する演算手段と備える。
前記予測手段は、前記隣接画素をテンプレートとして用いて、前記ブロックについて、前記テンプレートのマッチングによる前記予測を行うことができる。
前記予測手段は、前記隣接画素をテンプレートとして用いて、前記ブロックの色差信号についても、前記テンプレートのマッチングによる前記予測を行うことができる。
前記予測手段は、前記隣接画素の画素値を用いて、前記ブロックについて、前記予測として、イントラ予測を行うことができる。
2×2の前記ブロックで構成される前記所定のブロックにおいて、前記ブロックの位置が、前記所定のブロック内において左上の位置である場合、前記隣接画素のうち、前記所定のブロック外に存在する左上部の隣接画素、上部の隣接画素、および左部の隣接画素すべてについて、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素の画素値として設定することができる。
2×2の前記ブロックで構成される前記所定のブロックにおいて、前記ブロックの位置が、前記所定のブロック内において右上の位置である場合、前記隣接画素のうち、前記所定のブロック外に存在する左上部の隣接画素、および上部の隣接画素について、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素として設定し、前記隣接画素のうち、前記所定のブロック内に属する左部の隣接画素について、前記隣接画素の予測画像を、前記予測に用いる前記隣接画素として設定することができる。
2×2の前記ブロックで構成される前記所定のブロックにおいて、前記ブロックの位置が、前記所定のブロック内において左下の位置である場合、前記隣接画素のうち、前記所定のブロック外に存在する左上部の隣接画素、および左部の隣接画素について、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素として設定し、前記隣接画素のうち、前記所定のブロック内に属する上部の隣接画素について、前記隣接画素の予測画像を、前記予測に用いる前記隣接画素として設定することができる。
2×2の前記ブロックで構成される前記所定のブロックにおいて、前記ブロックの位置が、前記所定のブロック内において右下の位置である場合、前記隣接画素のうち、前記所定のブロック内に属する左上部の隣接画素、上部の隣接画素、および左部の隣接画素すべてについて、前記隣接画素の予測画像を、前記予測に用いる前記隣接画素として設定することができる。
上下2つの前記ブロックで構成される前記所定のブロックにおいて、前記ブロックの位置が、前記所定のブロック内において上部の位置である場合、前記隣接画素のうち、前記所定のブロック外に存在する左上部の隣接画素、上部の隣接画素、および左部の隣接画素すべてについて、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素として設定することができる。
上下2つの前記ブロックで構成される前記所定のブロックにおいて、前記ブロックの位置が、前記所定のブロック内において下部の位置である場合、前記隣接画素のうち、前記所定のブロック外に存在する左上部の隣接画素、および左部の隣接画素について、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素として設定し、前記隣接画素のうち、前記所定のブロック内に属する上部の隣接画素について、前記隣接画素の予測画像を、前記予測に用いる前記隣接画素として設定することができる。
左右2つの前記ブロックで構成される前記所定のブロックにおいて、前記ブロックの位置が、前記所定のブロック内において左部の位置である場合、前記隣接画素のうち、前記所定のブロック外に存在する左上部の隣接画素、上部の隣接画素、および左部の隣接画素すべてについて、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素として設定することができる。
左右2つの前記ブロックで構成される前記所定のブロックにおいて、前記ブロックの位置が、前記所定のブロック内において右部の位置である場合、前記隣接画素のうち、前記所定のブロック外に存在する左上部の隣接画素、および上部の隣接画素について、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素として設定し、前記隣接画素のうち、前記所定のブロック内に属する左部の隣接画素について、前記隣接画素の予測画像を、前記予測に用いる前記隣接画素として設定することができる。
本発明の第2の画像処理方法は、画像の所定のブロックを構成するブロックに隣接する隣接画素を用いて、前記ブロックの予測を行う画像処理装置が、符号化されている前記ブロックの画像を復号し、前記隣接画素が前記所定のブロック内に属する場合、前記隣接画素の予測画像を、前記予測に用いる前記隣接画素として設定し、前記隣接画素が前記所定のブロック外に存在する場合、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素として設定し、設定された前記隣接画素を用いて、前記ブロックの予測を行い、復号された前記ブロックの画像と、前記予測が行われた前記ブロックの画像とを加算するステップを含む。
本発明の第2のプログラムは、画像の所定のブロックを構成するブロックに隣接する隣接画素を用いて、前記ブロックの予測を行う画像処理装置のコンピュータに、符号化されている前記ブロックの画像を復号し、前記隣接画素が前記所定のブロック内に属する場合、前記隣接画素の予測画像を、前記予測に用いる前記隣接画素として設定し、前記隣接画素が前記所定のブロック外に存在する場合、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素として設定し、設定された前記隣接画素を用いて、前記ブロックの予測を行い、復号された前記ブロックの画像と、前記予測が行われた前記ブロックの画像とを加算するステップを含む処理を実行させる。
本発明の第1の側面においては、画像の所定のブロックを構成するブロックに隣接する隣接画素が前記所定のブロック内に属する場合、前記隣接画素の予測画像を、前記予測に用いる前記隣接画素として設定し、前記隣接画素が前記所定のブロック外に存在する場合、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素として設定される。そして、設定された前記隣接画素を用いて、前記ブロックの予測が行われ、前記ブロックの画像が符号化される。
本発明の第2の側面においては、符号化されている所定のブロックを構成するブロックの画像が復号され、前記ブロックに隣接する隣接画素が前記所定のブロック内に属する場合、前記隣接画素の予測画像を、前記予測に用いる前記隣接画素として設定し、前記隣接画素が前記所定のブロック外に存在する場合、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素として設定される。そして、設定された前記隣接画素を用いて、前記ブロックの予測が行われ、復号された前記ブロックの画像と、前記予測が行われた前記ブロックの画像とが加算される。
なお、上述の画像処理装置のそれぞれは、独立した装置であっても良いし、1つの画像符号化装置または画像復号装置を構成している内部ブロックであってもよい。
本発明の第1の側面によれば、画像を符号化することができる。また、本発明の第1の側面によれば、隣接画素を用いる予測処理において、パイプライン処理を行うことができる。
本発明の第2の側面によれば、画像を復号することができる。また、本発明の第2の側面によれば、隣接画素を用いる予測処理において、パイプライン処理を行うことができる。
イントラテンプレートマッチング方式について説明する図である。 インターテンプレートマッチング方式について説明する図である。 従来のテンプレートを説明する図である。 本発明を適用した画像符号化装置の一実施の形態の構成を示すブロック図である。 可変ブロックサイズ動き予測・補償処理を説明する図である。 1/4画素精度の動き予測・補償処理を説明する図である。 マルチ参照フレームの動き予測・補償方式について説明する図である。 動きベクトル情報の生成方法の例を説明する図である。 イントラテンプレート動き予測・補償部の詳細な構成例を示すブロック図である。 対象ブロックの予測に用いられるテンプレートの例を示す図である。 2×2ブロックで構成されるマクロブロックにおける対象ブロックのテンプレートの例を示す図である。 上下2ブロックで構成されるマクロブロックにおける対象ブロックのテンプレートの例を示す図である。 左右2ブロックで構成されるマクロブロックにおける対象ブロックのテンプレートの例を示す図である。 図2の画像符号化装置の符号化処理を説明するフローチャートである。 図14のステップS21の予測処理を説明するフローチャートである。 16×16画素のイントラ予測モードの場合の処理順序を説明する図である。 輝度信号の4×4画素のイントラ予測モードの種類を示す図である。 輝度信号の4×4画素のイントラ予測モードの種類を示す図である。 4×4画素のイントラ予測の方向を説明する図である。 4×4画素のイントラ予測を説明する図である。 輝度信号の4×4画素のイントラ予測モードの符号化を説明する図である。 輝度信号の8×8画素のイントラ予測モードの種類を示す図である。 輝度信号の8×8画素のイントラ予測モードの種類を示す図である。 輝度信号の16×16画素のイントラ予測モードの種類を示す図である。 輝度信号の16×16画素のイントラ予測モードの種類を示す図である。 16×16画素のイントラ予測を説明する図である。 色差信号のイントラ予測モードの種類を示す図である。 図15のステップS31のイントラ予測処理を説明するフローチャートである。 図15のステップS32のインター動き予測処理を説明するフローチャートである。 図15のステップS33のイントラテンプレート動き予測処理を説明するフローチャートである。 図15のステップS35のインターテンプレート動き予測処理を説明するフローチャートである。 図30のステップS61または図31のステップS71のテンプレート画素設定処理を説明するフローチャートである。 テンプレート画素設定による効果について説明する図である。 本発明を適用した画像復号装置の一実施の形態の構成を示すブロック図である。 図34の画像復号装置の復号処理を説明するフローチャートである。 図35のステップS138の予測処理を説明するフローチャートである。 本発明を適用した画像符号化装置の他の実施の形態の構成を示すブロック図である。 イントラ予測部の詳細な構成例を示すブロック図である。 図14のステップS21の予測処理の他の例を説明するフローチャートである。 図39のステップS201のイントラ予測処理を説明するフローチャートである。 本発明を適用した画像復号装置の他の実施の形態の構成を示すブロック図である。 図35のステップS138の予測処理の他の例を説明するフローチャートである。 コンピュータのハードウエアの構成例を示すブロック図である。
以下、図を参照して本発明の実施の形態について説明する。なお、説明は以下の順序で行う。

1.第1の実施の形態(隣接画素設定:テンプレートマッチング予測の例)
2.第1の実施の形態(隣接画素設定:イントラ予測の例)
<1.第1の実施の形態>
[画像符号化装置の構成例]
図4は、本発明を適用した画像処理装置としての画像符号化装置の一実施の形態の構成を表している。
この画像符号化装置1は、特に言及しない場合、例えば、H.264及びMPEG-4 Part10(Advanced Video Coding)(以下H.264/AVCと記す)方式で画像を圧縮符号化する。すなわち、実際には、画像符号化装置1においては、図1または図2で上述したテンプレートマッチング方式も用いられるので、テンプレートマッチング方式以外は、H.264/AVC方式で画像が圧縮符号化される。
図4の例において、画像符号化装置1は、A/D変換部11、画面並べ替えバッファ12、演算部13、直交変換部14、量子化部15、可逆符号化部16、蓄積バッファ17、逆量子化部18、逆直交変換部19、演算部20、デブロックフィルタ21、フレームメモリ22、スイッチ23、イントラ予測部24、イントラテンプレート動き予測・補償部25、動き予測・補償部26、インターテンプレート動き予測・補償部27、テンプレート画素設定部28、予測画像選択部29、およびレート制御部30により構成されている。
なお、以下、イントラテンプレート動き予測・補償部25およびインターテンプレート動き予測・補償部27を、それぞれ、イントラTP動き予測・補償部25およびインターTP動き予測・補償部27と称する。
A/D変換部11は、入力された画像をA/D変換し、画面並べ替えバッファ12に出力し、記憶させる。画面並べ替えバッファ12は、記憶した表示の順番のフレームの画像を、GOP(Group of Picture)に応じて、符号化のためのフレームの順番に並べ替える。
演算部13は、画面並べ替えバッファ12から読み出された画像から、予測画像選択部29により選択されたイントラ予測部24からの予測画像または動き予測・補償部26からの予測画像を減算し、その差分情報を直交変換部14に出力する。直交変換部14は、演算部13からの差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を出力する。量子化部15は直交変換部14が出力する変換係数を量子化する。
量子化部15の出力となる、量子化された変換係数は、可逆符号化部16に入力され、ここで可変長符号化、算術符号化等の可逆符号化が施され、圧縮される。
可逆符号化部16は、イントラ予測やイントラテンプレート予測を示す情報をイントラ予測部24から取得し、インター予測やインターテンプレート予測を示す情報などを動き予測・補償部26から取得する。なお、イントラ予測を示す情報およびイントラテンプレート予測を示す情報は、以下、それぞれイントラ予測モード情報およびイントラテンプレート予測モード情報とも称する。また、インター予測を示す情報およびインターテンプレート予測を示す情報は、以下、それぞれ、インター予測モード情報およびインターテンプレート予測モード情報とも称する。
可逆符号化部16は、量子化された変換係数を符号化するとともに、イントラ予測やイントラテンプレート予測を示す情報、インター予測やインターテンプレート予測を示す情報などを符号化し、圧縮画像におけるヘッダ情報の一部とする。可逆符号化部16は、符号化したデータを蓄積バッファ17に供給して蓄積させる。
例えば、可逆符号化部16においては、可変長符号化または算術符号化等の可逆符号化処理が行われる。可変長符号化としては、H.264/AVC方式で定められているCAVLC(Context-Adaptive Variable Length Coding)などがあげられる。算術符号化としては、CABAC(Context-Adaptive Binary Arithmetic Coding)などがあげられる。
蓄積バッファ17は、可逆符号化部16から供給されたデータを、H.264/AVC方式で符号化された圧縮画像として、例えば、後段の図示せぬ記録装置や伝送路などに出力する。
また、量子化部15より出力された、量子化された変換係数は、逆量子化部18にも入力され、逆量子化された後、さらに逆直交変換部19において逆直交変換される。逆直交変換された出力は演算部20により予測画像選択部29から供給される予測画像と加算されて、局部的に復号された画像となる。デブロックフィルタ21は、復号された画像のブロック歪を除去した後、フレームメモリ22に供給し、蓄積させる。フレームメモリ22には、デブロックフィルタ21によりデブロックフィルタ処理される前の画像も供給され、蓄積される。
スイッチ23はフレームメモリ22に蓄積された参照画像を動き予測・補償部26またはイントラ予測部24に出力する。
この画像符号化装置1においては、例えば、画面並べ替えバッファ12からのIピクチャ、Bピクチャ、およびPピクチャが、イントラ予測(イントラ処理とも称する)する画像として、イントラ予測部24に供給される。また、画面並べ替えバッファ12から読み出されたBピクチャおよびPピクチャが、インター予測(インター処理とも称する)する画像として、動き予測・補償部26に供給される。
イントラ予測部24は、画面並べ替えバッファ12から読み出されたイントラ予測する画像とフレームメモリ22から供給された参照画像に基づいて、候補となる全てのイントラ予測モードのイントラ予測処理を行い、予測画像を生成する。また、イントラ予測部24は、画面並べ替えバッファ12から読み出されたイントラ予測する画像と、予測対象のブロックの情報(アドレス)を、イントラTP動き予測・補償部25に供給する。
イントラ予測部24は、候補となる全てのイントラ予測モードに対してコスト関数値を算出する。イントラ予測部24は、算出したコスト関数値と、イントラTP動き予測・補償部25により算出されたイントラテンプレート予測モードに対してのコスト関数値のうち、最小値を与える予測モードを、最適イントラ予測モードとして決定する。
イントラ予測部24は、最適イントラ予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部29に供給する。イントラ予測部24は、予測画像選択部29により最適イントラ予測モードで生成された予測画像が選択された場合、最適イントラ予測モードを示す情報(イントラ予測モード情報またはイントラテンプレート予測モード情報)を、可逆符号化部16に供給する。可逆符号化部16は、この情報を符号化し、圧縮画像におけるヘッダ情報の一部とする。
イントラTP動き予測・補償部25には、イントラ予測部24からのイントラ予測する画像と対象ブロックのアドレスが入力される。イントラTP動き予測・補償部25は、対象ブロックのアドレスから、テンプレートとして用いる、対象ブロックに隣接する隣接画素のアドレスを算出し、その情報を、テンプレート画素設定部28に供給する。
また、イントラTP動き予測・補償部25は、フレームメモリ22の参照画像を用い、イントラテンプレート予測モードの動き予測と補償処理を行い、予測画像を生成する。このとき、イントラTP動き予測・補償部25においては、テンプレート画素設定部28により復号画像または予測画像のどちらかで設定された隣接画素で構成されるテンプレートが利用される。そして、イントラTP動き予測・補償部25は、イントラテンプレート予測モードに対してコスト関数値を算出し、算出したコスト関数値と予測画像を、イントラ予測部24に供給する。
動き予測・補償部26は、候補となる全てのインター予測モードの動き予測・補償処理を行う。すなわち、動き予測・補償部26には、画面並べ替えバッファ12から読み出されたインター処理する画像と、スイッチ23を介してフレームメモリ22から参照画像が供給される。動き予測・補償部26は、インター処理する画像と参照画像に基づいて、候補となる全てのインター予測モードの動きベクトルを検出し、動きベクトルに基づいて参照画像に補償処理を施し、予測画像を生成する。また、動き予測・補償部26は、画面並べ替えバッファ12から読み出されたインター予測する画像と、予測対象のブロックの情報(アドレス)を、インターTP動き予測・補償部27に供給する。
動き予測・補償部26は、候補となる全てのインター予測モードに対してコスト関数値を算出する。動き予測・補償部26は、インター予測モードに対してのコスト関数値と、インターTP動き予測・補償部27からのインターテンプレート予測モードに対してのコスト関数値のうち、最小値を与える予測モードを、最適インター予測モードとして決定する。
動き予測・補償部26は、最適インター予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部29に供給する。動き予測・補償部26は、予測画像選択部29により最適インター予測モードで生成された予測画像が選択された場合、最適インター予測モードを示す情報(インター予測モード情報またはインターテンプレート予測モード情報)を可逆符号化部16に出力する。
なお、必要であれば、動きベクトル情報、フラグ情報、参照フレーム情報なども可逆符号化部16に出力される。可逆符号化部16は、動き予測・補償部26からの情報をやはり可変長符号化、算術符号化といった可逆符号化処理し、圧縮画像のヘッダ部に挿入する。
インターTP動き予測・補償部27には、動き予測・補償部26からのインター予測する画像と対象ブロックのアドレスが入力される。インターTP動き予測・補償部27は、対象ブロックのアドレスから、テンプレートとして用いる、対象ブロックに隣接する隣接画素のアドレスを算出し、その情報を、テンプレート画素設定部28に供給する。
また、インターTP動き予測・補償部27は、フレームメモリ22の参照画像を用い、テンプレート予測モードの動き予測と補償処理を行い、予測画像を生成する。このとき、インターTP動き予測・補償部27においては、テンプレート画素設定部28により復号画像または予測画像のどちらかで設定された隣接画素で構成されるテンプレートが利用される。そして、インターTP動き予測・補償部27は、インターテンプレート予測モードに対してコスト関数値を算出し、算出したコスト関数値と予測画像を、動き予測・補償部26に供給する。
テンプレート画素設定部28は、対象ブロックのテンプレートマッチング予測に用いるテンプレートの隣接画素として、隣接画素の復号画素、および隣接画素の予測画素のうち、どちらを用いるかを設定する。テンプレート画素設定部28においては、対象ブロックの隣接画素が、マクロブロック(またはサブマクロブロック)内に属するか否かに応じてどちらの隣接画素を用いるかが設定される。なお、対象ブロックの隣接画素がマクロブロック内に属するか否かは、マクロブロック内における対象ブロックの位置に応じて異なる。すなわち、テンプレート画素設定部28においては、マクロブロック内における対象ブロックの位置に応じてどちらの隣接画素を用いるかが設定されるともいえる。
設定されたテンプレートの隣接画素の情報は、イントラTP動き予測・補償部25またはインターTP動き予測・補償部27に供給される。
予測画像選択部29は、イントラ予測部24または動き予測・補償部26より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードから、最適予測モードを決定する。そして、予測画像選択部29は、決定された最適予測モードの予測画像を選択し、演算部13,20に供給する。このとき、予測画像選択部29は、予測画像の選択情報を、イントラ予測部24または動き予測・補償部26に供給する。
レート制御部30は、蓄積バッファ17に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部15の量子化動作のレートを制御する。
[H.264/AVC方式の説明]
図5は、H.264/AVC方式における動き予測・補償のブロックサイズの例を示す図である。H.264/AVC方式においては、ブロックサイズを可変にして、動き予測・補償が行われる。
図5の上段には、左から、16×16画素、16×8画素、8×16画素、および8×8画素のパーティションに分割された16×16画素で構成されるマクロブロックが順に示されている。また、図5の下段には、左から、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画素のいずれかのサブパーティションに分割し、それぞれ独立した動きベクトル情報を持つことが可能である。
図6は、H.264/AVC方式における1/4画素精度の予測・補償処理を説明する図である。H.264/AVC方式においては、6タップのFIR (Finite Impulse Response Filter)フィルタを用いた1/4画素精度の予測・補償処理が行われている。
図6の例において、位置Aは、整数精度画素の位置、位置b,c,dは、1/2画素精度の位置、位置e1,e2,e3は、1/4画素精度の位置を示している。まず、以下においては、Clip()を次の式(1)のように定義する。
Figure 2010268259
なお、入力画像が8ビット精度である場合、max_pixの値は255となる。
位置bおよびdにおける画素値は、6タップのFIRフィルタを用いて、次の式(2)のように生成される。

Figure 2010268259
位置cにおける画素値は、水平方向および垂直方向に6タップのFIRフィルタを適用し、次の式(3)のように生成される。

Figure 2010268259
なお、Clip処理は、水平方向および垂直方向の積和処理の両方を行った後、最後に1度のみ実行される。
位置e1乃至e3は、次の式(4)のように線形内挿により生成される。

Figure 2010268259
図7は、H.264/AVC方式におけるマルチ参照フレームの予測・補償処理を説明する図である。H.264/AVC方式においては、マルチ参照フレーム(Multi-Reference Frame) の動き予測・補償方式が定められている。
図7の例においては、いまから符号化される対象フレーム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))を持つことができる。
H.264/AVC方式においては、図5乃至図7を参照して上述した動き予測・補償処理が行われることにより、膨大な動きベクトル情報が生成され、これをこのまま符号化することは、符号化効率の低下を招いてしまう。これに対して、H.264/AVC方式においては、図8に示す方法により、動きベクトルの符号化情報の低減が実現されている。
図8は、H.264/AVC方式による動きベクトル情報の生成方法について説明する図である。図8の例において、これから符号化される対象ブロックE(例えば、16×16画素)と、既に符号化済みであり、対象ブロックEに隣接するブロックA乃至Dが示されている。
すなわち、ブロックDは、対象ブロックEの左上に隣接しており、ブロックBは、対象ブロックEの上に隣接しており、ブロックCは、対象ブロックEの右上に隣接しており、ブロックAは、対象ブロックEの左に隣接している。なお、ブロックA乃至Dが区切られていないのは、それぞれ、図5で上述した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に関する動きベクトル情報で代用される。
対象ブロックEに対する動きベクトル情報として、圧縮画像のヘッダ部に付加されるデータmvdEは、pmvEを用いて、次の式(6)のように生成される。

mvdE = mvE - pmvE ・・・(6)
なお、実際には、動きベクトル情報の水平方向、垂直方向のそれぞれの成分に対して、独立に処理が行われる。
このように、予測動きベクトル情報を生成し、隣接するブロックとの相関で生成された予測動きベクトル情報と動きベクトル情報との差分を、圧縮画像のヘッダ部に付加することにより、動きベクトル情報を低減することができる。
ところで、このようなメディアン予測を用いても、画像圧縮情報における動きベクトル情報の占める割合は少なくない。そこで、画像符号化装置1においては、符号化対象の画像の領域に対して所定の位置関係で隣接する隣接画素で構成されるテンプレートを利用することで、動きベクトルを復号側に送る必要のないテンプレート予測モードの動き予測補償処理も行う。その際、画像符号化装置1においては、そのテンプレートに用いる隣接画素が次のように設定される。
[イントラTP動き予測・補償部の詳細な構成例]
図9は、イントラTP動き予測・補償部の詳細な構成例を示すブロック図である。
図9の例の場合、イントラTP動き予測・補償部25は、対象ブロックアドレスバッファ41、テンプレートアドレス算出部42、およびテンプレートマッチング予測・補償部43により構成される。
イントラ予測部24からの対象ブロックアドレスは、対象ブロックアドレスバッファ41に供給される。また、図示されないが、イントラ予測部24からのイントラ予測する画像は、テンプレートマッチング予測・補償部43に供給される。
対象ブロックアドレスバッファ41は、イントラ予測部24から供給される予測の対象ブロックアドレスを蓄積する。テンプレートアドレス算出部42は、対象ブロックアドレスバッファ41に蓄積される対象ブロックアドレスを用いて、テンプレートを構成する隣接画素のアドレスを算出する。テンプレートアドレス算出部42は、算出した隣接画素のアドレスを、テンプレートアドレスとして、テンプレート画素設定部28およびテンプレートマッチング予測・補償部43に供給する。
テンプレート画素設定部28は、テンプレートアドレス算出部42からのテンプレートアドレスに基づいて、復号画像と予測画像のどちらをテンプレートの隣接画素として用いるかを決定し、その情報を、テンプレートマッチング予測・補償部43に供給する。
テンプレートマッチング予測・補償部43は、対象ブロックアドレスバッファ41に蓄積される対象ブロックアドレスを読み出す。テンプレートマッチング予測・補償部43には、イントラ予測部24からのイントラ予測する画像、テンプレートアドレス算出部42からのテンプレートアドレス、およびテンプレート画素設定部28からの隣接画素の情報が供給されている。
テンプレートマッチング予測・補償部43は、フレームメモリ22から参照画像を読み出し、テンプレート画素設定部28により隣接画素が設定されたテンプレートを用いて、テンプレート予測モードの動き予測を行い、予測画像を生成する。この予測画像は、図示せぬ内蔵バッファに蓄積される。
具体的には、テンプレートマッチング予測・補償部43は、テンプレートアドレスを参照して、テンプレート画素設定部28により復号画素を用いることが設定されたテンプレートの隣接画素の画素値を、フレームメモリ22から読み出す。また、テンプレートマッチング予測・補償部43は、テンプレートアドレスを参照して、テンプレート画素設定部28により予測画素を用いることが設定されたテンプレートの隣接画素の画素値を、内蔵バッファから読み出す。そして、テンプレートマッチング予測・補償部43により、フレームメモリ22から読み出された参照画像の中から、フレームメモリ22または内蔵バッファから読み出された隣接画素で構成されるテンプレートと相関のある領域が探索される。さらに、探索された領域に隣接するブロックが、予測対象のブロックに対応するブロックとして、予測画像が求められる。
また、テンプレートマッチング予測・補償部43は、イントラ予測部24からのイントラ予測する画像も用いて、テンプレート予測モードのコスト関数値を算出し、予測画像とともに、イントラ予測部24に供給する。
なお、その説明は省略するが、インターTP動き予測・補償部27も、図9に示したイントラTP動き予測・補償部25と基本的に同様に構成される。したがって、以下、インターTP動き予測・補償部27の説明にも、図9の機能ブロックを用いる。
すなわち、インターTP動き予測・補償部27も、イントラTP動き予測・補償部25と同様に、対象ブロックアドレスバッファ41、テンプレートアドレス算出部42、およびテンプレートマッチング予測・補償部43により構成される。
[隣接画素設定処理の例]
図10は、対象ブロックの予測に用いられるテンプレートの例を示している。図10の例の場合、16×16画素のマクロブロックMBが示されており、マクロブロックMBは、8×8画素からなる4つのサブマクロブロックSB0乃至SB3で構成される。また、各サブマクロブロックSMBは、4×4画素からなる4つのブロックB0乃至B3で構成される。
なお、この例のマクロブロックMBにおいて、処理は、サブマクロブロックSB0乃至SB3の順(ラスタスキャン順)に行われ、各サブマクロブロックSMBにおいて、処理は、ブロックB0乃至B3の順(ラスタスキャン順)に行われるものとする。
ここで、対象ブロックの予測に用いられるテンプレートは、対象ブロックに所定の位置関係で隣接する領域からなり、その領域に含まれる画素の画素値が予測に用いられる。所定の位置関係とは、例えば、対象ブロックの上部、左上部、および左部などであり、以下、テンプレートを、上部領域U、左上部領域LU,および左部領域Lの3つの領域に分けて説明する。
図10の例においては、サブマクロブロックSMB0のブロックB1が予測対象のブロックである場合とサブマクロブロックSBM3のブロックB1が予測対象のブロックである場合が示されている。
サブマクロブロックSMB0のブロックB1が予測対象のブロックである場合、サブマクロブロックSBM0のブロックB1に隣接するテンプレートのうち、上部領域Uと左上部領域LUは、マクロブロックMBおよびサブマクロブロックSMB0外に存在する。すなわち、上部領域Uと左上部領域LUに含まれる隣接画素の復号画像が既に生成されているので、テンプレート画素設定部28は、上部領域Uと左上部領域LUに含まれる隣接画素として、復号画像を用いることを設定する。
これに対して、左部領域Lは、マクロブロックMBおよびサブマクロブロックSMB0内に属する。すなわち、左部領域Lに含まれる隣接画素の復号画像はまだ処理されていないので、テンプレート画素設定部28は、左部領域Lに含まれる隣接画素として、予測画像を用いることを設定する。
このように、テンプレート画素設定部28は、対象ブロックのテンプレートを構成する隣接画素が、対象ブロックのマクロブロック(サブマクロブロック)内に属するか否かに応じてその隣接画素として、復号画像または予測画像どちらかを用いることを設定する。
すなわち、画像符号化装置1のテンプレート予測モードにおいては、対象ブロックのテンプレートを構成する隣接画素として、復号画像だけでなく、必要に応じて、予測画像も用いられる。具体的には、その隣接画素が対象ブロックのマクロブロック(またはサブマクロブロック)内に属する場合には、予測画像が用いられる。
これにより、サブマクロブロックSMB0においては、ブロックB0の復号画像が生成される処理である補償処理まで待たなくても、ブロックB1の処理を開始することができる。
なお、サブマクロブロックSBM3のブロックB1が予測対象のブロックである場合、サブマクロブロックSBM3のブロックB1に隣接するテンプレートのうち、上部領域Uと左上部領域LUは、サブマクロブロックSMB3外に存在する。ただし、これらの上部領域Uと左上部領域LUは、マクロブロックMB内に存在する。
この場合については、隣接画素として、復号画像を用いるようにしてもよいし、予測画像を用いるようにしてもよい。後者の場合、サブマクロブロックSMB1の補償処理の終了を待たずに、サブマクロブロックSMB3の処理を開始することが可能であるため、より高速な処理を行うことができる。
なお、これ以降、対象ブロックからなるブロックを、マクロブロックとして説明するが、サブマクロブロックの場合も含まれるものとする。
図11は、マクロブロックにおける対象ブロックの位置に応じたテンプレートの例を示す図である。
図11Aの例においては、マクロブロックにおいて、ラスタスキャン順に1番目の位置であるブロックB0が対象ブロックである場合の例が示されている。すなわち、対象ブロックが、マクロブロックにおける左上に位置する場合である。この場合、対象ブロックB0に対して、テンプレートのうち、上部領域U、左上部領域LU、および左部領域Lに含まれるすべての隣接画素として、復号画像を用いることが設定される。
図11Bの例においては、マクロブロックにおいて、ラスタスキャン順に2番目の位置であるブロックB1が対象ブロックである場合の例が示されている。すなわち、対象ブロックが、マクロブロックにおける右上に位置する場合である。この場合、対象ブロックB1に対して、テンプレートのうち、上部領域U、および左上部領域LUに含まれる隣接画素として、復号画像を用いることが設定される。また、対象ブロックB1に対して、テンプレートのうち、左部領域Lに含まれる隣接画素として、予測画像を用いることが設定される。
図11Cの例においては、マクロブロックにおいて、ラスタスキャン順に3番目の位置であるブロックB2が対象ブロックである場合の例が示されている。すなわち、対象ブロックが、マクロブロックにおける左下に位置する場合である。この場合、対象ブロックB2に対して、テンプレートのうち、左上部領域LU、および左部領域Lに含まれる隣接画素として、復号画像を用いることが設定される。また、対象ブロックB2に対して、テンプレートのうち、上部領域Uに含まれる隣接画素として、予測画像を用いることが設定される。
図11Dの例においては、マクロブロックにおいて、ラスタスキャン順に4番目の位置であるブロックB3が対象ブロックである場合の例が示されている。すなわち、対象ブロックが、マクロブロックにおける左上に位置する場合である。この場合、対象ブロックB3に対して、テンプレートのうち、上部領域U、左上部領域LU、および左部領域Lに含まれるすべての隣接画素として、予測画像を用いることが設定される。
なお、上記説明においては、マクロブロック(またはサブマクロブロック)を4分割した例を説明したが、これに限定されない。例えば、マクロブロック(またはサブマクロブロック)を2分割した場合にも、テンプレートを構成する画素は復号画像または予測画像から同様に設定される。
図12は、マクロブロックが上下2つのブロックで構成される場合の例を示す図である。図12の例においては、16×16画素のマクロブロックが示されており、マクロブロックは、8×16画素からなる上下2つのブロックB0およびB1で構成されている。
図12Aの例においては、マクロブロックにおいて、ラスタスキャン順に1番目の位置であるブロックB0が対象ブロックである場合の例が示されている。すなわち、対象ブロックが、マクロブロックにおける上部に位置する場合である。この場合、対象ブロックB0に対して、テンプレートのうち、上部領域U、左上部領域LU、および左部領域Lに含まれるすべての隣接画素として、復号画像を用いることが設定される。
図12Bの例においては、マクロブロックにおいて、ラスタスキャン順に2番目の位置であるブロックB1が対象ブロックである場合の例が示されている。すなわち、対象ブロックが、マクロブロックにおける下部に位置する場合である。この場合、対象ブロックB1に対して、テンプレートのうち、左上部領域LU、および左部領域Lに含まれる隣接画素として、復号画像を用いることが設定される。また、対象ブロックB1に対して、テンプレートのうち、上部領域Uに含まれる隣接画素として、予測画像を用いることが設定される。
図13は、マクロブロックが上下2つのブロックで構成される場合の例を示す図である。図13の例においては、16×16画素のマクロブロックが示されており、マクロブロックは、16×8画素からなる左右2つのブロックB0およびB1で構成されている。
図13Aの例においては、マクロブロックにおいて、ラスタスキャン順に1番目の位置であるブロックB0が対象ブロックである場合の例が示されている。すなわち、対象ブロックが、マクロブロックにおける左部に位置する場合である。この場合、対象ブロックB0に対して、テンプレートのうち、上部領域U、左上部領域LU、および左部領域Lに含まれるすべての隣接画素として、復号画像を用いることが設定される。
図13Bの例においては、マクロブロックにおいて、ラスタスキャン順に2番目の位置であるブロックB1が対象ブロックである場合の例が示されている。すなわち、対象ブロックが、マクロブロックにおける右部に位置する場合である。この場合、対象ブロックB1に対して、テンプレートのうち、上部領域U、および左上部領域LUに含まれる隣接画素として、復号画像を用いることが設定される。また、対象ブロックB1に対して、テンプレートのうち、左部領域Lに含まれる隣接画素として、予測画像を用いることが設定される。
以上のように、マクロブロック内の対象ブロックの予測に用いられるテンプレートを構成する隣接画素として、隣接画素がマクロブロックに属するか否かに応じて、復号画像または予測画像を用いることを設定するようにした。これにより、マクロブロック内のブロックに対する処理をパイプライン処理により実現することが可能になり、処理効率が向上される。この効果の詳細については、図33を参照して後述する。
[符号化処理の説明]
次に、図14のフローチャートを参照して、図4の画像符号化装置1の符号化処理について説明する。
ステップS11において、A/D変換部11は入力された画像をA/D変換する。ステップS12において、画面並べ替えバッファ12は、A/D変換部11より供給された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
ステップS13において、演算部13は、ステップS12で並び替えられた画像と予測画像との差分を演算する。予測画像は、インター予測する場合は動き予測・補償部26から、イントラ予測する場合はイントラ予測部24から、それぞれ予測画像選択部29を介して演算部13に供給される。
差分データは元の画像データに較べてデータ量が小さくなっている。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
ステップS14において、直交変換部14は演算部13から供給された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。ステップS15において、量子化部15は変換係数を量子化する。この量子化に際しては、後述するステップS25の処理で説明されるように、レートが制御される。
以上のようにして量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップS16において、逆量子化部18は量子化部15により量子化された変換係数を量子化部15の特性に対応する特性で逆量子化する。ステップS17において、逆直交変換部19は逆量子化部18により逆量子化された変換係数を直交変換部14の特性に対応する特性で逆直交変換する。
ステップS18において、演算部20は、予測画像選択部29を介して入力される予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像(演算部13への入力に対応する画像)を生成する。ステップS19においてデブロックフィルタ21は、演算部20より出力された画像をフィルタリングする。これによりブロック歪みが除去される。ステップS20においてフレームメモリ22は、フィルタリングされた画像を記憶する。なお、フレームメモリ22にはデブロックフィルタ21によりフィルタ処理されていない画像も演算部20から供給され、記憶される。
ステップS21において、イントラ予測部24、イントラTP動き予測・補償部25、動き予測・補償部26、およびインターTP動き予測・補償部27は、それぞれ画像の予測処理を行う。すなわち、ステップS21において、イントラ予測部24は、イントラ予測モードのイントラ予測処理を行い、イントラTP動き予測・補償部25は、イントラテンプレート予測モードの動き予測・補償処理を行う。また、動き予測・補償部26は、インター予測モードの動き予測・補償処理を行い、インターTP動き予測・補償部27は、インターテンプレート予測モードの動き予測・補償処理を行う。なお、このとき、イントラTP動き予測・補償部25およびインターTP動き予測・補償部27においては、テンプレート画素設定部28により隣接画素が設定されたテンプレートが利用される。
ステップS21における予測処理の詳細は、図15を参照して後述するが、この処理により、候補となる全ての予測モードでの予測処理がそれぞれ行われ、候補となる全ての予測モードでのコスト関数値がそれぞれ算出される。そして、算出されたコスト関数値に基づいて、イントラ予測モードとイントラテンプレート予測モードの中から、最適イントラ予測モードが選択され、最適イントラ予測モードで生成された予測画像とそのコスト関数値が予測画像選択部29に供給される。また、算出されたコスト関数値に基づいて、インター予測モードとインターテンプレート予測モードの中から、最適インター予測モードが決定され、最適インター予測モードで生成された予測画像とそのコスト関数値が、予測画像選択部29に供給される。
ステップS22において、予測画像選択部29は、イントラ予測部24および動き予測・補償部26より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちの一方を、最適予測モードに決定する。そして、予測画像選択部29は、決定した最適予測モードの予測画像を選択し、演算部13,20に供給する。この予測画像が、上述したように、ステップS13,S18の演算に利用される。
なお、この予測画像の選択情報は、イントラ予測部24または動き予測・補償部26に供給される。最適イントラ予測モードの予測画像が選択された場合、イントラ予測部24は、最適イントラ予測モードを示す情報(すなわち、イントラ予測モード情報またはイントラテンプレート予測モード情報)を、可逆符号化部16に供給する。
最適インター予測モードの予測画像が選択された場合、動き予測・補償部26は、最適インター予測モードを示す情報と、必要に応じて、最適インター予測モードに応じた情報を可逆符号化部16に出力する。最適インター予測モードに応じた情報としては、動きベクトル情報やフラグ情報、参照フレーム情報などがあげられる。さらに具体的には、最適インター予測モードとして、インター予測モードによる予測画像が選択されているときには、動き予測・補償部26は、インター予測モード情報、動きベクトル情報、参照フレーム情報を可逆符号化部16に出力する。
一方、最適インター予測モードとして、インターテンプレート予測モードによる予測画像が選択されているときには、動き予測・補償部26は、インターテンプレート予測モード情報のみを可逆符号化部16に出力する。すなわち、インターテンプレート予測モード情報による符号化の場合には、動きベクトル情報などは、復号側に送る必要がないので、可逆符号化部16に出力されない。したがって、圧縮画像中における動きベクトル情報を低減することができる。
ステップS23において、可逆符号化部16は量子化部15より出力された量子化された変換係数を符号化する。すなわち、差分画像が可変長符号化、算術符号化等の可逆符号化され、圧縮される。このとき、上述したステップS22において可逆符号化部16に入力された、イントラ予測部24からの最適イントラ予測モード情報、または、動き予測・補償部26からの最適インター予測モードに応じた情報なども符号化され、ヘッダ情報に付加される。
ステップS24において蓄積バッファ17は差分画像を圧縮画像として蓄積する。蓄積バッファ17に蓄積された圧縮画像が適宜読み出され、伝送路を介して復号側に伝送される。
ステップS25においてレート制御部30は、蓄積バッファ17に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部15の量子化動作のレートを制御する。
[予測処理の説明]
次に、図15のフローチャートを参照して、図14のステップS21における予測処理を説明する。
画面並べ替えバッファ12から供給される処理対象の画像がイントラ処理されるブロックの画像である場合、参照される復号済みの画像がフレームメモリ22から読み出され、スイッチ23を介してイントラ予測部24に供給される。これらの画像に基づいて、ステップS31において、イントラ予測部24は処理対象のブロックの画素を、候補となる全てのイントラ予測モードでイントラ予測する。なお、参照される復号済みの画素としては、デブロックフィルタ21によりデブロックフィルタリングされていない画素が用いられる。
ステップS31におけるイントラ予測処理の詳細は、図28を参照して後述するが、この処理により、候補となる全てのイントラ予測モードでイントラ予測が行われ、候補となる全てのイントラ予測モードに対してコスト関数値が算出される。そして、算出されたコスト関数値に基づいて、全てのイントラ予測モードの中から、最適とされる、1つのイントラ予測モードが選択される。
画面並べ替えバッファ12から供給される処理対象の画像がインター処理される画像である場合、参照される画像がフレームメモリ22から読み出され、スイッチ23を介して動き予測・補償部26に供給される。これらの画像に基づいて、ステップS32において、動き予測・補償部26はインター動き予測処理を行う。すなわち、動き予測・補償部26は、フレームメモリ22から供給される画像を参照して、候補となる全てのインター予測モードの動き予測処理を行う。
ステップS32におけるインター動き予測処理の詳細は、図29を参照して後述するが、この処理により、候補となる全てのインター予測モードで動き予測処理が行われ、候補となる全てのインター予測モードに対してコスト関数値が算出される。
また、画面並べ替えバッファ12から供給される処理対象の画像がイントラ処理されるブロックの画像である場合、イントラ予測部24は、画面並べ替えバッファ12から読み出されたイントラ予測する画像をイントラTP動き予測・補償部25に供給する。このとき、予測対象のブロックの情報(アドレス)もイントラTP動き予測・補償部25に供給される。これに対応して、ステップS33において、イントラTP動き予測・補償部25は、イントラテンプレート予測モードで、イントラテンプレート動き予測処理を行う。
ステップS33におけるイントラテンプレート動き予測処理の詳細は、図30を参照して後述するが、この処理により、テンプレートの隣接画素が設定される。そして、設定されたテンプレートが用いられてイントラテンプレート予測モードで動き予測処理が行われ、イントラテンプレート予測モードに対してコスト関数値が算出される。そして、イントラテンプレート予測モードの動き予測処理により生成された予測画像とそのコスト関数値がイントラ予測部24に供給される。
ステップS34において、イントラ予測部24は、ステップS31において選択されたイントラ予測モードに対してのコスト関数値と、ステップS33において算出されたイントラテンプレート予測モードに対してのコスト関数値を比較する。そして、イントラ予測部24は、最小値を与える予測モードを、最適イントラ予測モードとして決定し、最適イントラ予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部29に供給する。
さらに、画面並べ替えバッファ12から供給される処理対象の画像がインター処理される画像である場合、動き予測・補償部26は、画面並べ替えバッファ12から読み出されたインター予測する画像をインターTP動き予測・補償部27に供給する。このとき、予測対象のブロックの情報(アドレス)も、インターTP動き予測・補償部27に供給される。これに対応して、インターTP動き予測・補償部27は、ステップS35において、インターテンプレート予測モードで、インターテンプレート動き予測処理を行う。
ステップS35におけるインターテンプレート動き予測処理の詳細は、図31を参照して後述するが、この処理により、テンプレートの隣接画素が設定され、設定されたテンプレートが用いられてインターテンプレート予測モードで動き予測処理が行われ、インターテンプレート予測モードに対してコスト関数値が算出される。そして、インターテンプレート予測モードの動き予測処理により生成された予測画像とそのコスト関数値が動き予測・補償部26に供給される。
ステップS36において、動き予測・補償部26は、ステップS32において選択された最適なインター予測モードに対してコスト関数値と、ステップS35において算出されたインターテンプレート予測モードに対してのコスト関数値を比較する。そして、動き予測・補償部26は、最小値を与える予測モードを、最適インター予測モードとして決定し、動き予測・補償部26は、最適インター予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部29に供給する。
[H.264/AVC方式におけるイントラ予測処理の説明]
次に、H.264/AVC方式で定められているイントラ予測の各モードについて説明する。
まず、輝度信号に対するイントラ予測モードについて説明する。輝度信号のイントラ予測モードには、9種類の4×4画素のブロック単位、並びに4種類の16×16画素のマクロブロック単位の予測モードがある。
図16の例において、各ブロックに付されている数字−1乃至25は、その各ブロックのビットストリーム順(すなわち、復号側での処理順)を表している。輝度信号については、マクロブロックが4×4画素に分割されて、4×4画素のDCTが行われる。そして、16×16画素のイントラ予測モードの場合のみ、−1のブロックに示されるように、各ブロックの直流成分を集めて、4×4行列が生成され、これに対して、さらに、直交変換が施される。
なお、色差信号については、マクロブロックが4×4画素に分割され、4×4画素のDCTが行われた後に、16および17の各ブロックに示されるように、各ブロックの直流成分を集めて、2×2行列が生成され、これに対して、さらに、直交変換が施される。
また、ハイプロファイルについては、8次のDCTブロックに対して、8×8画素のブロック単位の予測モードが定められているが、この方式については、次に説明する4×4画素のイントラ予測モードの方式に準じる。
図17および図18は、9種類の輝度信号の4×4画素のイントラ予測モード(Intra_4x4_pred_mode)を示す図である。平均値(DC)予測を示すモード2以外の8種類の各モードは、それぞれ、図19の番号0,1,3乃至8で示される方向に対応している。
9種類のIntra_4x4_pred_modeについて、図20を参照して説明する。図20の例において、画素a乃至pは、イントラ処理される対象ブロックの画素を表し、画素値A乃至Mは、隣接ブロックに属する画素の画素値を表している。すなわち、画素a乃至pは、画面並べ替えバッファ12から読み出された処理対象の画像であり、画素値A乃至Mは、フレームメモリ22から読み出され、参照される復号済みの画像の画素値である。
図17および図18の各イントラ予測モードの場合、画素a乃至pの予測画素値は、隣接ブロックに属する画素の画素値A乃至Mを用いて、以下のように生成される。なお、画素値が“available”であるとは、画枠の端であったり、あるいは、まだ符号化されていないなどの理由がなく、利用可能であることを表す。これに対して、画素値が“unavailable”であるとは、画枠の端であったり、あるいは、まだ符号化されていないなどの理由により利用可能ではないことを表す。
モード0はVertical Prediction modeであり、画素値A乃至Dが “available” の場合のみ適用される。この場合、画素a乃至pの予測画素値は、次の式(7)のように生成される。

画素a, e, i, mの予測画素値 = A
画素b, f, j, nの予測画素値 = B
画素c, g, k, oの予測画素値 = C
画素d, h, l, pの予測画素値 = D ・・・(7)
モード1はHorizontal Prediction modeであり、画素値I乃至Lが “available” の場合のみ適用される。この場合、画素a乃至pの予測画素値は、次の式(8)のように生成される。

画素a, b, c, dの予測画素値 = I
画素e, f, g, hの予測画素値 = J
画素i, j, k, lの予測画素値 = K
画素m, n, o, pの予測画素値 = L ・・・(8)
モード2はDC Prediction modeであり、画素値A,B,C,D,I,J,K,Lが全て “available” である時、予測画素値は式(9)のように生成される。

(A+B+C+D+I+J+K+L+4) >> 3 ・・・(9)
また、画素値A,B,C,Dが全て “unavailable” である時、予測画素値は式(10)のように生成される。

(I+J+K+L+2) >> 2 ・・・(10)
また、画素値I,J,K,Lが全て “unavailable” である時、予測画素値は式(11)のように生成される。

(A+B+C+D+2) >> 2 ・・・(11)
なお、画素値A,B,C,D,I,J,K,Lが全て“unavailable” である時、128を予測画素値として用いる。
モード3はDiagonal_Down_Left Prediction modeであり、画素値A,B,C,D,I,J,K,L,Mが“available”の場合のみ適用される。この場合、画素a乃至pの予測画素値は、次の式(12)のように生成される。

画素aの予測画素値 = (A+2B+C+2) >> 2
画素b,eの予測画素値 = (B+2C+D+2) >> 2
画素c,f,iの予測画素値 = (C+2D+E+2) >> 2
画素d,g,j,mの予測画素値 = (D+2E+F+2) >> 2
画素h,k,nの予測画素値 = (E+2F+G+2) >> 2
画素l,oの予測画素値 = (F+2G+H+2) >> 2
画素pの予測画素値 = (G+3H+2) >> 2
・・・(12)
モード4はDiagonal_Down_Right Prediction modeであり、画素値A,B,C,D,I,J,K,L,Mが “available” の場合のみ適用される。この場合、画素a乃至pの予測画素値は、次の式(13)のように生成される。

画素mの予測画素値 = (J+2K+L+2) >> 2
画素i,nの予測画素値 = (I+2J+K+2) >> 2
画素e,j,oの予測画素値 = (M+2I+J+2) >> 2
画素a,f,k,pの予測画素値 = (A+2M+I+2) >> 2
画素b,g,lの予測画素値 = (M+2A+B+2) >> 2
画素c,hの予測画素値 = (A+2B+C+2) >> 2
画素dの予測画素値 = (B+2C+D+2) >> 2
・・・(13)
モード5はDiagonal_Vertical_Right Prediction modeであり、画素値A,B,C,D,I,J,K,L,Mが“available”の場合のみ適用される。この場合、画素a乃至pの予測画素値は、次の式(14)のように生成される。

画素a,jの予測画素値 = (M+A+1) >> 1
画素b,kの予測画素値 = (A+B+1) >> 1
画素c,lの予測画素値 = (B+C+1) >> 1
画素dの予測画素値 = (C+D+1) >> 1
画素e,nの予測画素値 = (I+2M+A+2) >> 2
画素f,oの予測画素値 = (M+2A+B+2) >> 2
画素g,pの予測画素値 = (A+2B+C+2) >> 2
画素hの予測画素値 = (B+2C+D+2) >> 2
画素iの予測画素値 = (M+2I+J+2) >> 2
画素mの予測画素値 = (I+2J+K+2) >> 2
・・・(14)
モード6はHorizontal_Down Prediction modeであり、画素値A,B,C,D,I,J,K,L,Mが“available”の場合のみ適用される。この場合、画素a乃至pの予測画素値は、次の式(15)のように生成される。

画素a,gの予測画素値 = (M+I+1) >> 1
画素b,hの予測画素値 = (I+2M+A+2) >> 2
画素cの予測画素値 = (M+2A+B+2) >> 2
画素dの予測画素値 = (A+2B+C+2) >> 2
画素e,kの予測画素値 = (I+J+1) >> 1
画素f,lの予測画素値 = (M+2I+J+2) >> 2
画素i,oの予測画素値 = (J+K+1) >> 1
画素j,pの予測画素値 = (I+2J+K+2) >> 2
画素mの予測画素値 = (K+L+1) >> 1
画素nの予測画素値 = (J+2K+L+2) >> 2
・・・(15)
モード7は、Vertical_Left Prediction modeであり、画素値A,B,C,D,I,J,K,L,Mが“available”の場合のみ適用される。この場合、画素a乃至pの予測画素値は、次の式(16)のように生成される。

画素aの予測画素値 = (A+B+1) >> 1
画素b,iの予測画素値 = (B+C+1) >> 1
画素c,jの予測画素値 = (C+D+1) >> 1
画素d,kの予測画素値 = (D+E+1) >> 1
画素lの予測画素値 = (E+F+1) >> 1
画素eの予測画素値 = (A+2B+C+2) >> 2
画素f,mの予測画素値 = (B+2C+D+2) >> 2
画素g,nの予測画素値 = (C+2D+E+2) >> 2
画素h,oの予測画素値 = (D+2E+F+2) >> 2
画素pの予測画素値 = (E+2F+G+2) >> 2
・・・(16)
モード8は、Horizontal_Up Prediction modeであり、画素値A,B,C,D,I,J,K,L,Mが“available”の場合のみ適用される。この場合、画素a乃至pの予測画素値は、次の式(17)のように生成される。

画素aの予測画素値 = (I+J+1) >> 1
画素bの予測画素値 = (I+2J+K+2) >> 2
画素c,eの予測画素値 = (J+K+1) >> 1
画素d,fの予測画素値 = (J+2K+L+2) >> 2
画素g,iの予測画素値 = (K+L+1) >> 1
画素h,jの予測画素値 = (K+3L+2) >> 2
画素k,l,m,n,o,pの予測画素値 = L
・・・(17)
次に、図21を参照して、輝度信号の4×4画素のイントラ予測モード(Intra_4x4_pred_mode)の符号化方式について説明する。図21の例において、4×4画素からなり、符号化対象となる対象ブロックCが示されており、対象ブロックCに隣接する4×4画素からなるブロックAおよびブロックBが示されている。
この場合、対象ブロックCにおけるIntra_4x4_pred_modeと、ブロックAおよびブロックBにおけるIntra_4x4_pred_modeとは高い相関があると考えられる。この相関性を用いて、次のように符号化処理を行うことにより、より高い符号化効率を実現することができる。
すなわち、図21の例において、ブロックAおよびブロックBにおけるIntra_4x4_pred_modeを、それぞれ、Intra_4x4_pred_modeAおよびIntra_4x4_pred_modeBとして、MostProbableModeを次の式(18)と定義する。

MostProbableMode=Min(Intra_4x4_pred_modeA, Intra_4x4_pred_modeB)
・・・(18)
すなわち、ブロックAおよびブロックBのうち、より小さなmode_numberを割り当てられている方をMostProbableModeとする。
ビットストリーム中には、対象ブロックCに対するパラメータとして、prev_intra4x4_pred_mode_flag[luma4x4BlkIdx] および rem_intra4x4_pred_mode[luma4x4BlkIdx] という2つの値が定義されており、次の式(19)に示される擬似コードに基づく処理により、復号処理が行われ、対象ブロックCに対するIntra_4x4_pred_mode、Intra4x4PredMode[luma4x4BlkIdx] の値を得ることができる。
if(prev_intra4x4_pred_mode_flag[luma4x4BlkIdx])
Intra4x4PredMode[luma4x4BlkIdx] = MostProbableMode
else
if(rem_intra4x4_pred_mode[luma4x4BlkIdx] < MostProbableMode)
Intra4x4PredMode[luma4x4BlkIdx]=rem_intra4x4_pred_mode[luma4x4BlkIdx]
else
Intra4x4PredMode[luma4x4BlkIdx]=rem_intra4x4_pred_mode[luma4x4BlkIdx] + 1
・・・(19)
次に、8×8画素のイントラ予測モードについて説明する。図22および図23は、9種類の輝度信号の8×8画素のイントラ予測モード(Intra_8x8_pred_mode)を示す図である。
対象の8×8ブロックにおける画素値を、p[x,y](0≦x≦7;0≦y≦7)とし、隣接ブロックの画素値をp[-1,-1],…,p[-1,15],p[-1,0],…,[p-1,7]のように表すものとする。
8×8画素のイントラ予測モードについては、予測値を生成するに先立ち、隣接画素にローパスフィルタリング処理が施される。ここで、ローパスフィルタリング処理前の画素値を、p[-1,-1],…,p[-1,15],p[-1,0],…p[-1,7]、処理後の画素値をp'[-1,-1],…,p'[-1,15],p'[-1,0],…p'[-1,7]と表すとする。
まず、p'[0,-1]は、p[-1,-1] が “available” である場合には、次の式(20)のように算出され、“not available” である場合には、次の式(21)のように算出される。

p'[0,-1] = (p[-1,-1] + 2*p[0,-1] + p[1,-1] + 2) >> 2
・・・(20)
p'[0,-1] = (3*p[0,-1] + p[1,-1] + 2) >> 2
・・・(21)
p'[x,-1] (x=0,…,7)は、次の式(22)のように算出される。

p'[x,-1] = (p[x-1,-1] + 2*p[x,-1] + p[x+1,-1] + 2) >>2
・・・(22)
p'[x,-1] (x=8,…,15)は、p[x,-1] (x=8,…,15) が “available” である場合には、次の式(23)のように算出される。

p'[x,-1] = (p[x-1,-1] + 2*p[x,-1] + p[x+1,-1] + 2) >>2
p'[15,-1] = (p[14,-1] + 3*p[15,-1] + 2) >>2
・・・(23)
p'[-1,-1]は、p[-1,-1]が “available” である場合には、以下のように算出される。すなわち、p'[-1,-1]は、p[0,-1]及びp[-1,0]の双方がavailableである場合には、式(24)のように算出され、p[-1,0] が “unavailable” である場合には、式(25)のように算出される。また、p'[-1,-1]は、p[0,-1] が “unavailable” である場合には、式(26)のように算出される。

p'[-1,-1] = (p[0,-1] + 2*p[-1,-1] + p[-1,0] + 2) >>2
・・・(24)

p'[-1,-1] = (3*p[-1,-1] + p[0,-1] + 2) >>2
・・・(25)

p'[-1,-1] = (3*p[-1,-1] + p[-1,0] + 2) >>2
・・・(26)
p'[-1,y] (y=0, … ,7) は、p[-1,y] (y=0, … ,7) が “available” の時、以下のように算出される。すなわち、まず、p'[-1,0]は、p[-1,-1]が “available” である場合には、次の式(27)のように算出され、“unavailable” である場合には、式(28)のように算出される。

p'[-1,0] = (p[-1,-1] + 2*p[-1,0] + p[-1,1] + 2) >>2
・・・(27)

p'[-1,0] = (3*p[-1,0] + p[-1,1] + 2) >>2
・・・(28)
また、p'[-1,y] (y=1,…,6)は、次の式(29)のように算出され、p'[-1,7]は、式(30)のように算出される。

p[-1,y] = (p[-1,y-1] + 2*p[-1,y] + p[-1,y+1] + 2) >>2
・・・(29)

p'[-1,7] = (p[-1,6] + 3*p[-1,7] + 2) >>2
・・・(30)
このように算出されたp'を用いて、図22および図23に示される各イントラ予測モードにおける予測値は以下のように生成される。
モード0はVertical Prediction modeであり、p[x,-1] (x=0, … ,7) が “available” である時のみ適用される。予測値pred8x8L[x,y]は、次の式(31)のように生成される。

pred8x8L[x,y] = p'[x,-1] x,y=0,...,7
・・・(31)
モード1はHorizontal Prediction modeであり、p[-1,y] (y=0, … ,7) が “available” である時のみ適用される。予測値pred8x8L[x,y]は、次の式(32)のように生成される。

pred8x8L[x,y] = p'[-1,y] x,y=0,...,7
・・・(32)
モード2はDC Prediction modeであり、予測値pred8x8L[x,y]は以下の通り生成される。すなわち、p[x,-1] (x=0, … ,7) および p[-1,y] (y=0, … ,7) の両方が “available” である場合には、予測値pred8x8L[x,y]は、次の式(33)のように生成される。

Figure 2010268259
p[x,-1] (x=0, … ,7) は “available” であるが、 p[-1,y] (y=0, … ,7) が “unavailable” である場合には、予測値pred8x8L[x,y]は、次の式(34)のように生成される。

Figure 2010268259
p[x,-1] (x=0, … ,7) は “unavailable” であるが、 p[-1,y] (y=0, … ,7) が “available” である場合には、予測値pred8x8L[x,y]は、次の式(35)のように生成される。

Figure 2010268259
p[x,-1] (x=0, … ,7) および p[-1,y] (y=0, … ,7) の両方が “unavailable” である場合には、予測値pred8x8L[x,y]は、次の式(36)のように生成される。

pred8x8L[x,y] = 128
・・・(36)

ただし、式(36)は、8ビット入力の場合を表している。
モード3はDiagonal_Down_Left_prediction modeであり、予測値pred8x8L[x,y]は以下の通り生成される。すなわち、Diagonal_Down_Left_prediction modeは、p[x,-1], x=0,…,15が “available” の時のみ適用され、x=7かつy=7である予測画素値は、次の式(37)のように生成され、その他の予測画素値は、次の式(38)のように生成される。

pred8x8L[x,y] = (p'[14,-1] + 3*p[15,-1] + 2) >> 2
・・・(37)

red8x8L[x,y] = (p'[x+y,-1] + 2*p'[x+y+1,-1] + p'[x+y+2,-1] + 2) >> 2
・・・(38)
モード4はDiagonal_Down_Right_prediction modeであり、予測値pred8x8L[x,y]は以下の通り生成される。すなわち、Diagonal_Down_Right_prediction modeは、p[x,-1],x=0,…,7及びp[-1,y],y=0,…,7が “available”の時のみ適用され、x > y である予測画素値は、次の式(39)のように生成され、x < y である予測画素値は、次の式(40)のように生成される。また、x = y である予測画素値は、次の式(41)のように生成される。

pred8x8L[x,y] = (p'[x-y-2,-1] + 2*p'[x-y-1,-1] + p'[x-y,-1] + 2) >> 2
・・・(39)

pred8x8L[x,y] = (p'[-1,y-x-2] + 2*p'[-1,y-x-1] + p'[-1,y-x] + 2) >> 2
・・・(40)

pred8x8L[x,y] = (p'[0,-1] + 2*p'[-1,-1] + p'[-1,0] + 2) >> 2
・・・(41)
モード5はVertical_Right_prediction modeであり、予測値pred8x8L[x,y]は以下の通り生成される。すなわち、Vertical_Right_prediction modeは、p[x,-1],x=0,…,7及びp[-1,y],y=-1,…,7が “available”の時のみ適用される。今、zVRを、次の式(42)のように定義する。

zVR = 2*x - y
・・・(42)
この時、zVRが、0,2,4,6,8,10,12,14の場合には、画素予測値は、次の式(43)のように生成され、zVRが1,3,5,7,9,11,13の場合には、画素予測値は、次の式(44)のように生成される。

pred8x8L[x,y] = (p'[x-(y>>1)-1,-1] + p'[x-(y>>1),-1] + 1) >> 1
・・・(43)
pred8x8L[x,y]
= (p'[x-(y>>1)-2,-1] + 2*p'[x-(y>>1)-1,-1] + p'[x-(y>>1),-1] + 2) >> 2
・・・(44)
また、zVRが-1の場合には、画素予測値は、次の式(45)のように生成され、これ以外の場合、すなわち、zVRが-2,-3,-4,-5,-6,-7の場合には、画素予測値は、次の式(46)のように生成される。

pred8x8L[x,y] = (p'[-1,0] + 2*p'[-1,-1] + p'[0,-1] + 2) >> 2
・・・(45)

pred8x8L[x,y] = (p'[-1,y-2*x-1] + 2*p'[-1,y-2*x-2] + p'[-1,y-2*x-3] + 2) >> 2
・・・(46)
モード6はHorizontal_Down_prediction modeであり、予測値pred8x8L[x,y]は以下の通り生成される。すなわち、Horizontal_Down_prediction modeは、p[x,-1],x=0,…,7及びp[-1,y],y=-1,…,7が “available”の時のみ適用される。今、zVRを次の式(47)のように定義するものとする。

zHD = 2*y - x
・・・(47)
この時、zHDが0,2,4,6,8,10,12,14の場合には、予測画素値は、次の式(48)のように生成され、zHDが1,3,5,7,9,11,13の場合には、予測画素値は、次の式(49)のように生成される。

pred8x8L[x,y] = (p'[-1,y-(x>>1)-1] + p'[-1,y-(x>>1) + 1] >> 1
・・・(48)

pred8x8L[x,y]
= (p'[-1,y-(x>>1)-2] + 2*p'[-1,y-(x>>1)-1] + p'[-1,y-(x>>1)] + 2) >> 2
・・・(49)
また、zHDが-1の場合には、予測画素値は、次の式(50)のように生成され、zHDがこれ以外の値の場合、すなわち、-2,-3,-4,-5,-6,-7の場合には、予測画素値は、次の式(51)のように生成される。

pred8x8L[x,y] = (p'[-1,0] + 2*p[-1,-1] + p'[0,-1] + 2) >> 2
・・・(50)

pred8x8L[x,y] = (p'[x-2*y-1,-1] + 2*p'[x-2*y-2,-1] + p'[x-2*y-3,-1] + 2) >> 2
・・・(51)
モード7はVertical_Left_prediction modeであり、予測値pred8x8L[x,y]は以下の通り生成される。すなわち、Vertical_Left_prediction modeは、p[x,-1], x=0,…,15が “available” の時のみ適用され、y=0,2,4,6の場合、予測画素値は、次の式(52)のように生成され、それ以外の場合、すなわち、y=1,3,5,7の場合、予測画素値は、次の式(53)のように生成される。

pred8x8L[x,y] = (p'[x+(y>>1),-1] + p'[x+(y>>1)+1,-1] + 1) >> 1
・・・(52)

pred8x8L[x,y]
= (p'[x+(y>>1),-1] + 2*p'[x+(y>>1)+1,-1] + p'[x+(y>>1)+2,-1] + 2) >> 2
・・・(53)
モード8はHorizontal_Up_prediction modeであり、予測値pred8x8L[x,y]は以下の通り生成される。すなわち、Horizontal_Up_prediction modeは、p[-1,y], y=0,…,7 が “available” の時のみ適用される。以下では、zHUを次の式(54)のように定義する。

zHU = x + 2*y
・・・(54)
zHUの値が0,2,4,6,8,10,12の場合、予測画素値は、次の式(55)のように生成され、zHUの値が1,3,5,7,9,11の場合、予測画素値は、次の式(56)のように生成される。

pred8x8L[x,y] = (p'[-1,y+(x>>1)] + p'[-1,y+(x>>1)+1] + 1) >> 1
・・・(55)

pred8x8L[x,y] = (p'[-1,y+(x>>1)]
・・・(56)
また、zHUの値が13の場合、予測画素値は、次の式(57)のように生成され、それ以外の場合、すなわち、zHUの値が13より大きい場合、予測画素値は、次の式(58)のように生成される。

pred8x8L[x,y] = (p'[-1,6] + 3*p'[-1,7] + 2) >> 2
・・・(57)

pred8x8L[x,y] = p'[-1,7]
・・・(58)
次に、16×16画素のイントラ予測モードについて説明する。図24および図25は、4種類の輝度信号の16×16画素のイントラ予測モード(Intra_16x16_pred_mode)を示す図である。
4種類のイントラ予測モードについて、図26を参照して説明する。図26の例において、イントラ処理される対象マクロブロックAが示されており、P(x,y);x,y=-1,0,…,15は、対象マクロブロックAに隣接する画素の画素値を表している。
モード0は、Vertical Prediction modeであり、P(x,-1); x,y=-1,0,…,15が “available” である時のみ適用される。この場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(59)のように生成される。

Pred(x,y) = P(x,-1);x,y=0,…,15
・・・(59)
モード1はHorizontal Prediction modeであり、P(-1,y); x,y=-1,0,…,15が “available” である時のみ適用される。この場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(60)のように生成される。

Pred(x,y) = P(-1,y);x,y=0,…,15
・・・(60)
モード2はDC Prediction modeであり、P(x,-1)およびP(-1,y); x,y=-1,0,…,15が全て “available” である場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(61)のように生成される。

Figure 2010268259
また、P(x,-1); x,y=-1,0,…,15が “unavailable” である場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(62)のように生成される。

Figure 2010268259
P(-1,y); x,y=-1,0,…,15が “unavailable” である場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(63)のように生成される。

Figure 2010268259
P(x,-1)およびP(-1,y); x,y=-1,0,…,15が全て “unavailable” である場合には、予測画素値として128を用いる。
モード3はPlane Prediction modeであり、P(x,-1)及びP(-1,y); x,y=-1,0,…,15が全て “available” の場合のみ適用される。この場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(64)のように生成される。

Figure 2010268259
次に、色差信号に対するイントラ予測モードについて説明する。図27は、4種類の色差信号のイントラ予測モード(Intra_chroma_pred_mode)を示す図である。色差信号のイントラ予測モードは、輝度信号のイントラ予測モードと独立に設定が可能である。色差信号に対するイントラ予測モードは、上述した輝度信号の16×16画素のイントラ予測モードに順ずる。
ただし、輝度信号の16×16画素のイントラ予測モードが、16×16画素のブロックを対象としているのに対し、色差信号に対するイントラ予測モードは、8×8画素のブロックを対象としている。さらに、上述した図24と図27に示されるように、両者においてモード番号は対応していない。
ここで、図26を参照して上述した輝度信号の16×16画素のイントラ予測モードの対象マクロブロックAの画素値および隣接する画素値の定義に準じる。例えば、イントラ処理される対象マクロブロックA(色差信号の場合は、8×8画素)に隣接する画素の画素値をP(x,y);x,y=-1,0,…,7とする。
モード0はDC Prediction modeであり、P(x,-1)およびP(-1,y); x,y=-1,0,…,7が全て “available” である場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(65)のように生成される。

Figure 2010268259
また、P(-1,y) ; x,y=-1,0,…,7が “unavailable” である場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(66)のように生成される。

Figure 2010268259
また、P(x,-1) ; x,y=-1,0,…,7が “unavailable”である場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(67)のように生成される。

Figure 2010268259
モード1はHorizontal Prediction modeであり、P(-1,y) ; x,y=-1,0,…,7が “available” の場合にのみ適用される。この場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(68)のように生成される。

Pred(x,y) = P(-1,y);x,y=0,…,7
・・・(68)
モード2はVertical Prediction modeであり、P(x,-1) ; x,y=-1,0,…,7が “available” の場合にのみ適用される。この場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(69)のように生成される。

Pred(x,y) = P(x,-1);x,y=0,…,7
・・・(69)
モード3はPlane Prediction modeであり、P(x,-1)及びP(-1,y) ; x,y=-1,0,…,7 が “available” の場合にのみ適用される。この場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(70)のように生成される。

Figure 2010268259
以上のように、輝度信号のイントラ予測モードには、9種類の4×4画素および8×8画素のブロック単位、並びに4種類の16×16画素のマクロブロック単位の予測モードがある。また、色差信号のイントラ予測モードには、4種類の8×8画素のブロック単位の予測モードがある。この色差信号のイントラ予測モードは、輝度信号のイントラ予測モードと独立に設定が可能である。
輝度信号の4×4画素および8×8画素のイントラ予測モードについては、4×4画素および8×8画素の輝度信号のブロック毎に1つのイントラ予測モードが定義される。輝度信号の16×16画素のイントラ予測モードと色差信号のイントラ予測モードについては、1つのマクロブロックに対して1つの予測モードが定義される。
なお、予測モードの種類は、上述した図19の番号0,1,3乃至8で示される方向に対応している。予測モード2は平均値予測である。
[イントラ予測処理の説明]
次に、これらの予測モードに対して行われる処理である、図15のステップS31におけるイントラ予測処理を図28のフローチャートを参照して説明する。なお、図28の例においては、輝度信号の場合を例として説明する。
イントラ予測部24は、ステップS41において、上述した輝度信号の4×4画素、8×8画素、および16×16画素の各イントラ予測モードに対してイントラ予測を行う。
例えば、4×4画素のイントラ予測モードの場合について、上述した図20を参照して説明する。画面並べ替えバッファ12から読み出された処理対象の画像(例えば、画素a乃至p)がイントラ処理されるブロックの画像である場合、参照される復号済みの画像(画素値A乃至Mが示される画素)がフレームメモリ22から読み出され、スイッチ23を介してイントラ予測部24に供給される。
これらの画像に基づいて、イントラ予測部24は、処理対象のブロックの画素をイントラ予測する。このイントラ予測処理が、各イントラ予測モードで行われることで、各イントラ予測モードでの予測画像が生成される。なお、参照される復号済みの画素(画素値A乃至Mが示される画素)としては、デブロックフィルタ21によりデブロックフィルタリングされていない画素が用いられる。
イントラ予測部24は、ステップS42において、4×4画素、8×8画素、および16×16画素の各イントラ予測モードに対するコスト関数値を算出する。ここで、コスト関数値としては、High Complexity モードか、Low Complexity モードのいずれかの手法に基づいて行う。これらのモードは、H.264/AVC方式における参照ソフトウエアであるJM(Joint Model)で定められている。
すなわち、High Complexity モードにおいては、ステップS41の処理として、候補となる全ての予測モードに対して、仮に符号化処理までが行われる。そして、次の式(71)で表わされるコスト関数値が各予測モードに対して算出され、その最小値を与える予測モードが最適予測モードであるとして選択される。
Cost(Mode) = D + λ・R ・・・(71)

Dは、原画像と復号画像の差分(歪)、Rは、直交変換係数まで含んだ発生符号量、λは、量子化パラメータQPの関数として与えられるラグランジュ乗数である。
一方、Low Complexity モードにおいては、ステップS41の処理として、候補となる全ての予測モードに対して、予測画像の生成、および、動きベクトル情報や予測モード情報、フラグ情報などのヘッダビットまでが算出される。そして、次の式(72)で表わされるコスト関数値が各予測モードに対して算出され、その最小値を与える予測モードが最適予測モードであるとして選択される。
Cost(Mode) = D + QPtoQuant(QP)・Header_Bit ・・・(72)

Dは、原画像と復号画像の差分(歪)、Header_Bitは、予測モードに対するヘッダビット、QPtoQuantは、量子化パラメータQPの関数として与えられる関数である。
Low Complexity モードにおいては、全ての予測モードに対して、予測画像を生成するのみで、符号化処理および復号処理を行う必要がないため、演算量が少なくて済む。
イントラ予測部24は、ステップS43において、4×4画素、8×8画素、および16×16画素の各イントラ予測モードに対して、それぞれ最適モードを決定する。すなわち、上述したように、イントラ4×4予測モードおよびイントラ8×8予測モードの場合には、予測モードの種類が9種類あり、イントラ16×16予測モードの場合には、予測モードの種類が4種類ある。したがって、イントラ予測部24は、ステップS42において算出されたコスト関数値に基づいて、それらの中から、最適イントラ4×4予測モード、最適イントラ8×8予測モード、最適イントラ16×16予測モードを決定する。
イントラ予測部24は、ステップS44において、4×4画素、8×8画素、および16×16画素の各イントラ予測モードに対して決定された各最適モードの中から、ステップS42において算出されたコスト関数値に基づいて、1つのイントラ予測モードを選択する。すなわち、4×4画素、8×8画素、および16×16画素に対して決定された各最適モードの中から、コスト関数値が最小値であるモードを1つ選択する。
[インター動き予測処理の説明]
次に、図29のフローチャートを参照して、図15のステップS32のインター動き予測処理について説明する。
動き予測・補償部26は、ステップS51において、図5を参照して上述した16×16画素乃至4×4画素からなる8種類の各インター予測モードに対して動きベクトルと参照画像をそれぞれ決定する。すなわち、各インター予測モードの処理対象のブロックについて、動きベクトルと参照画像がそれぞれ決定される。
動き予測・補償部26は、ステップS52において、16×16画素乃至4×4画素からなる8種類の各インター予測モードについて、ステップS51で決定された動きベクトルに基づいて、参照画像に動き予測と補償処理を行う。この動き予測と補償処理により、各インター予測モードでの予測画像が生成される。
動き予測・補償部26は、ステップS53において、16×16画素乃至4×4画素からなる8種類の各インター予測モードに対して決定された動きベクトルについて、圧縮画像に付加するための動きベクトル情報を生成する。このとき、図8を参照して上述した動きベクトルの生成方法が用いられて、動きベクトル情報が生成される。
生成された動きベクトル情報は、次のステップS54におけるコスト関数値算出の際にも用いられ、最終的に予測画像選択部29により対応する予測画像が選択された場合には、予測モード情報および参照フレーム情報とともに、可逆符号化部16へ出力される。
動き予測・補償部26は、ステップS54において、16×16画素乃至4×4画素からなる8種類の各インター予測モードに対して、上述した式(71)または式(72)で示されるコスト関数値を算出する。ここで算出されたコスト関数値は、上述した図15のステップS36で最適インター予測モードを決定する際に用いられる。
[イントラテンプレート動き予測処理の説明]
次に、図30のフローチャートを参照して、図15のステップS33のイントラテンプレート動き予測処理について説明する。
イントラ予測部24からの対象ブロックアドレスが、イントラTP動き予測・補償部25の対象ブロックアドレスバッファ41に蓄積される。イントラTP動き予測・補償部25およびテンプレート画素設定部28は、ステップS61において、イントラテンプレート予測モードの対象ブロックに対して、テンプレートの隣接画素を設定する処理である隣接画素設定処理を行う。この隣接画素設定処理の詳細は、図32を参照して後述する。この処理により、イントラテンプレート予測モードの対象ブロックに対するテンプレートを構成する隣接画素として、復号画像または予測画像のどちらが用いられるのかが設定される。
ステップS62において、イントラTP動き予測・補償部25のテンプレートマッチング予測・補償部43は、イントラテンプレート予測モードの動き予測、補償処理を行う。すなわち、テンプレートマッチング予測・補償部43には、対象ブロックアドレスバッファ41の対象ブロックアドレス、テンプレートアドレス算出部42からのテンプレートアドレス、およびテンプレート画素設定部28からの隣接画素の情報が供給される。これらの情報を参照し、テンプレート画素設定部28により隣接画素が設定されたテンプレートを用いて、テンプレートマッチング予測・補償部43は、図1を参照して上述したイントラテンプレート予測モードの動き予測を行い、予測画像を生成する。
具体的には、テンプレートマッチング予測・補償部43は、同フレーム内の所定の探索範囲の参照画像をフレームメモリ22から読み出す。また、テンプレートマッチング予測・補償部43は、テンプレートアドレスを参照して、テンプレート画素設定部28により復号画素を用いることが設定されたテンプレートの隣接画素の画素値を、フレームメモリ22から読み出す。さらに、テンプレートマッチング予測・補償部43は、テンプレートアドレスを参照して、テンプレート画素設定部28により予測画素を用いることが設定されたテンプレートの隣接画素の画素値を、内蔵バッファから読み出す。
そして、テンプレートマッチング予測・補償部43は、同フレーム内の所定の探索範囲において、テンプレート画素設定部28により隣接画素が設定されたテンプレートと相関が最も高くなるような領域を探索する。テンプレートマッチング予測・補償部43は、探索された領域に対応するブロックを、対象ブロックに対応するブロックとし、そのブロックの画素値により、予測画像を生成する。この予測画像は、内蔵バッファに蓄積される。
ステップS63において、テンプレートマッチング予測・補償部43は、イントラ予測部24からのイントラ予測する画像も用いて、イントラテンプレート予測モードに対して、上述した式(71)または式(72)で示されるコスト関数値を算出する。テンプレートマッチング予測・補償部43は、生成された予測画像と算出されたコスト関数値をイントラ予測部24に供給する。このコスト関数値は、上述した図15のステップS34で最適イントラ予測モードを決定する際に用いられる。
なお、特に言及していないが、イントラテンプレート予測モードにおけるブロックおよびテンプレートのサイズは任意である。すなわち、イントラ予測部24と同様に、各イントラ予測モードのブロックサイズを候補としてイントラテンプレート予測モードを行うこともできるし、1つの予測モードのブロックサイズに固定して行うこともできる。対象となるブロックサイズに応じて、テンプレートサイズは、可変としてもよいし、固定することもできる。
[インターテンプレート動き予測処理の説明]
次に、図31のフローチャートを参照して、図15のステップS35のインターテンプレート動き予測処理について説明する。
動き予測・補償部26からの対象ブロックアドレスが、インターTP動き予測・補償部27の対象ブロックアドレスバッファ41に蓄積される。インターTP動き予測・補償部27およびテンプレート画素設定部28は、ステップS71において、インターテンプレート予測モードの対象ブロックに対して、テンプレートの隣接画素を設定する処理である隣接画素設定処理を行う。この隣接画素設定処理の詳細は、図32を参照して後述する。この処理により、インターテンプレート予測モードの対象ブロックに対するテンプレートを構成する隣接画素として、復号画像または予測画像のどちらが用いられるのかが設定される。
ステップS72において、インターTP動き予測・補償部27のテンプレートマッチング予測・補償部43は、インターテンプレート予測モードの動き予測、補償処理を行う。すなわち、テンプレートマッチング予測・補償部43には、対象ブロックアドレスバッファ41の対象ブロックアドレス、テンプレートアドレス算出部42からのテンプレートアドレス、およびテンプレート画素設定部28からの隣接画素の情報が供給される。これらの情報を参照し、テンプレート画素設定部28により隣接画素が設定されたテンプレートを用いて、テンプレートマッチング予測・補償部43は、図2を参照して上述したインターテンプレート予測モードの動き予測を行い、予測画像を生成する。
具体的には、テンプレートマッチング予測・補償部43は、参照フレームにおける所定の探索範囲の参照画像をフレームメモリ22から読み出す。また、テンプレートマッチング予測・補償部43は、テンプレートアドレスを参照して、テンプレート画素設定部28により復号画素を用いることが設定されたテンプレートの隣接画素の画素値を、フレームメモリ22から読み出す。さらに、テンプレートマッチング予測・補償部43は、テンプレートアドレスを参照して、テンプレート画素設定部28により予測画素を用いることが設定されたテンプレートの隣接画素の画素値を、内蔵バッファから読み出す。
そして、テンプレートマッチング予測・補償部43は、参照フレームにおける所定の探索範囲において、テンプレート画素設定部28により隣接画素が設定されたテンプレートと相関が最も高くなるような領域を探索する。テンプレートマッチング予測・補償部43は、探索された領域に対応するブロックを、対象ブロックに対応するブロックとし、そのブロックの画素値により、予測画像を生成する。
そして、テンプレートマッチング予測・補償部43は、ステップS73において、動き予測・補償部26からのインターする画像も用いて、インターテンプレート予測モードに対して、上述した式(71)または式(72)で示されるコスト関数値を算出する。テンプレートマッチング予測・補償部43は、生成された予測画像と算出されたコスト関数値を、動き予測・補償部26に供給する。このコスト関数値は、上述した図15のステップS36で最適インター予測モードを決定する際に用いられる。
なお、特に言及していないが、インターテンプレート予測モードにおけるブロックおよびテンプレートのサイズは任意である。すなわち、動き予測・補償部26と同様に、図5で上述した16×16画素乃至4×4画素からなる8種類のブロックサイズから、1つのブロックサイズを固定して行うこともできるし、すべてのブロックサイズを候補として行うこともできる。ブロックサイズに応じて、テンプレートサイズは、可変としてもよいし、固定することもできる。
[隣接画素設定処理の説明]
次に、図32のフローチャートを参照して、図30のステップS61における隣接画素設定処理について説明する。なお、図32の例においては、イントラTP動き予測・補償部25が行う処理について説明するが、インターTP動き予測・補償部27が図31のステップS71において行う隣接画素設定処理も基本的に同様の処理であるので、その説明は省略される。
イントラ予測部24からの対象ブロックアドレスが、イントラTP動き予測・補償部25の対象ブロックアドレスバッファ41に蓄積されている。テンプレートアドレス算出部42は、ステップS81において、対象ブロックアドレスバッファ41に蓄積される対象ブロックアドレスを用いて、テンプレートを構成する隣接画素のアドレスを算出する。テンプレートアドレス算出部42は、それをテンプレートアドレスとして、テンプレート画素設定部28およびテンプレートマッチング予測・補償部43に供給する。
ここで、図32の例においては、例えば、テンプレートを、上部領域、左上部領域、および左部領域に分けて説明する。上部領域は、テンプレートのうち、ブロックまたはマクロブロックなどに対して上に隣接する領域である。左上部領域は、テンプレートのうち、ブロックまたはマクロブロックなどに対して左上に隣接する領域である。左部領域は、テンプレートのうち、ブロックまたはマクロブロックなどに対して左に隣接する領域である。
テンプレート画素設定部28は、ステップS82において、テンプレートアドレス算出部42からのテンプレートアドレスに基づいて、まず、上部領域に含まれる隣接画素が、対象ブロックの対象マクロブロックまたは対象サブマクロブロック内に存在するか否かを判定する。なお、その説明は省略されるが、処理単位によっては、対象マクロブロック内についてだけ判定される場合もある。
ステップS82において、上部領域に含まれる隣接画素が、対象マクロブロック内に存在すると判定された場合、処理は、ステップS83に進む。テンプレート画素設定部28は、ステップS83において、予測に用いる隣接画素として、復号画像を設定する。
一方、ステップS82において、上部領域に含まれる隣接画素が、対象マクロブロックまたは対象サブマクロブロック外に存在すると判定された場合、処理は、ステップS84に進む。テンプレート画素設定部28は、ステップS84において、予測に用いる隣接画素として、予測画像を設定する。
ステップS85において、テンプレート画素設定部28は、テンプレートにおけるすべての領域(上部領域、左上部領域、および左部領域)についての処理が終了したか否かを判定する。ステップS85において、テンプレートにおけるすべての領域についての処理がまだ終了していないと判定された場合、処理は、ステップS82に戻り、それ以降の処理が繰り返される。
また、ステップS85において、テンプレートにおけるすべての領域についての処理が終了したと判定された場合、隣接画素設定処理は終了される。このとき、テンプレート画素設定28により設定されたテンプレートを構成する隣接画素の情報は、テンプレートマッチング予測・補償部43に供給され、図30のステップS62の処理に用いられる。
[隣接画素設定による効果例]
上述した隣接画素設定による効果について、図33のタイミングチャートを参照して説明する。図33の例においては、各ブロックに対して、<予測処理>、<差分処理>、<直交変換>、<量子化>、<逆量子化>、<逆直交変換>、<補償処理>が順に行われる例が示されている。
図33Aは、従来のテンプレートを利用した場合の処理のタイミングチャートを示している。図33Bは、テンプレート画素設定部28により隣接画素が設定されたテンプレートを利用した場合に可能なパイプライン処理のタイミングチャートを示している。
従来のテンプレートを利用する装置においては、上述した図10のブロックB1の処理を行う場合、ブロックB0の復号画像の画素値がテンプレートの一部として用いられるため、その画素値が生成されるのを待たなければならない。
したがって、図33Aに示されるように、ブロックB0に対して、<予測処理>、<差分処理>、<直交変換>、<量子化>、<逆量子化>、<逆直交変換>、<補償処理>が順に終了し、復号画像がメモリに書き込まれるまで、ブロックB1の<予測処理>ができない。すなわち、従来においては、ブロックB0とブロックB1の処理をパイプライン処理まで行うことが困難であった。
これに対して、テンプレート画素設定部28により設定されたテンプレートを利用した場合には、ブロックB1のテンプレートの左部領域Lを構成する隣接画素として、ブロックB0の復号画像の代わりに、ブロックB0の予測画像が用いられる。ブロックB0の予測画像は、ブロックB0の<予測処理>により生成される。
したがって、ブロックB1の処理を行う際に、ブロックB0の復号画素の生成を待つ必要がない。これにより、例えば、図33Bに示されるように、ブロックB0に対して、<予測処理>が終了した後、ブロックB0に対しての<差分処理>と並行して、ブロックB1に対しての<予測処理>を行うことができる。すなわち、ブロックB0とブロックB1の処理を、パイプライン処理で行うことができる。
以上により、マクロブロックやサブマクロブロック内における処理効率を向上させることができる。なお、図33の例においては、2つのブロックでパイプライン処理を行う例を説明したが、もちろん、3つのブロックでも、4つのブロックでも同様にパイプライン処理を行うことができる。
なお、上記説明においては、対象ブロックサイズが、4×4画素、8×8画素、8×16画素、16×8画素の場合について説明したが、本発明の適用範囲は、これに限らない。
すなわち、ブロックサイズが8×4画素または4×8画素の場合については、図12または図13を参照して上述した例と同様の処理を行うことで、8×8画素のサブマクロブロック内において、パイプライン処理を行うことができる。また、ブロックサイズが2×2画素、2×4画素、および4×2の場合については、4×4画素のブロック内で図11の例と同様の処理を行うことで、4×4画素のブロック内において、パイプライン処理を行うことができる。
なお、ここで、テンプレートマッチングを行うブロックの大きさが、例えば、2×2画素の場合、H.264/AVC方式で規定されている直交変換の大きさは最低でも4×4画素であるので、従来においては、そもそも、図33Aに示される処理も困難であった。
これに対して、テンプレート画素設定部28により隣接画素が設定されたテンプレートを用いることにより、直交変換におけるブロックサイズ(4×4)より小さなブロックサイズによるテンプレートマッチング予測を行うことができる。
また、図16を参照して上述したように、色差信号に対しては、直流成分に対しても直交変換処理が、図16におけるブロック16、ブロック17のように定義されている。このため、例えば、ブロック19を処理しているときに、ブロック18に対する復号画像の画素値は未知であり、マクロブロックより小さなブロック単位でのテンプレートマッチング処理を行うことが困難であった。
これに対して、色差信号についても、テンプレート画素設定部28により隣接画素が設定されたテンプレートを用いることにより、図16におけるブロック16および17の処理を待つ必要がなくなる。これにより、マクロブロックより小さなブロック単位でのテンプレートマッチング処理が可能になる。
符号化された圧縮画像は、所定の伝送路を介して伝送され、画像復号装置により復号される。
[画像復号装置の構成例]
図34は、本発明を適用した画像処理装置としての画像復号装置の一実施の形態の構成を表している。
画像復号装置101は、蓄積バッファ111、可逆復号部112、逆量子化部113、逆直交変換部114、演算部115、デブロックフィルタ116、画面並べ替えバッファ117、D/A変換部118、フレームメモリ119、スイッチ120、イントラ予測部121、イントラテンプレート動き予測・補償部122、動き予測・補償部123、インターテンプレート動き予測・補償部124、テンプレート画素設定部125、およびスイッチ126により構成されている。
なお、以下、イントラテンプレート動き予測・補償部122およびインターテンプレート動き予測・補償部124を、それぞれ、イントラTP動き予測・補償部122およびインターTP動き予測・補償部124と称する。
蓄積バッファ111は伝送されてきた圧縮画像を蓄積する。可逆復号部112は、蓄積バッファ111より供給された、図4の可逆符号化部16により符号化された情報を、可逆符号化部16の符号化方式に対応する方式で復号する。逆量子化部113は可逆復号部112により復号された画像を、図4の量子化部15の量子化方式に対応する方式で逆量子化する。逆直交変換部114は、図4の直交変換部14の直交変換方式に対応する方式で逆量子化部113の出力を逆直交変換する。
逆直交変換された出力は演算部115によりスイッチ126から供給される予測画像と加算されて復号される。デブロックフィルタ116は、復号された画像のブロック歪を除去した後、フレームメモリ119に供給し、蓄積させるとともに、画面並べ替えバッファ117に出力する。
画面並べ替えバッファ117は、画像の並べ替えを行う。すなわち、図4の画面並べ替えバッファ12により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部118は、画面並べ替えバッファ117から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
スイッチ120は、インター処理される画像と参照される画像をフレームメモリ119から読み出し、動き予測・補償部123に出力するとともに、イントラ予測に用いられる画像をフレームメモリ119から読み出し、イントラ予測部121に供給する。
イントラ予測部121には、ヘッダ情報を復号して得られたイントラ予測モードまたはイントラテンプレート予測モードを示す情報が可逆復号部112から供給される。イントラ予測モードを示す情報が供給された場合、イントラ予測部121は、この情報に基づいて、予測画像を生成する。イントラテンプレート予測モードを示す情報が供給された場合、イントラ予測部121は、対象ブロックのアドレスをイントラTP動き予測・補償部122に供給し、イントラテンプレート予測モードでの動き予測・補償処理を行わせる。
イントラ予測部121は、生成した予測画像またはイントラTP動き予測・補償部122により生成された予測画像を、スイッチ126に出力する。
イントラTP動き予測・補償部122は、対象ブロックのアドレスから、テンプレートとして用いる、対象ブロックに隣接する隣接画素のアドレスを算出し、その情報を、テンプレート画素設定部125に供給する。
また、イントラTP動き予測・補償部122は、図4のイントラTP動き予測・補償部25と同様のイントラテンプレート予測モードの動き予測と補償処理を行う。すなわち、イントラTP動き予測・補償部122は、フレームメモリ119からの参照画像を用い、イントラテンプレート予測モードの動き予測と補償処理を行い、予測画像を生成する。このとき、イントラTP動き予測・補償部122においては、テンプレート画素設定部125により復号画像または予測画像のどちらかで設定された隣接画素で構成されるテンプレートが利用される。
イントラテンプレート予測モードの動き予測・補償により生成された予測画像は、イントラ予測部121に供給される。
動き予測・補償部123には、ヘッダ情報を復号して得られた情報(予測モード情報、動きベクトル情報、参照フレーム情報)が可逆復号部112から供給される。インター予測モードを示す情報が供給された場合、動き予測・補償部123は、動きベクトル情報と参照フレーム情報に基づいて画像に動き予測と補償処理を施し、予測画像を生成する。インター予測モードである情報が供給された場合、動き予測・補償部123は、対象ブロックのアドレスをインターTP動き予測・補償部124に供給する。
インターTP動き予測・補償部124は、対象ブロックのアドレスから、テンプレートとして用いる、対象ブロックに隣接する隣接画素のアドレスを算出し、その情報を、テンプレート画素設定部125に供給する。
インターTP動き予測・補償部124は、図4のインターTP動き予測・補償部27と同様のインターテンプレート予測モードの動き予測と補償処理を行う。すなわち、インターTP動き予測・補償部124は、フレームメモリ119からの参照画像を用い、インターテンプレート予測モードの動き予測と補償処理を行い、予測画像を生成する。このとき、インターTP動き予測・補償部124においては、テンプレート画素設定部125により復号画像または予測画像のどちらかで設定された隣接画素で構成されるテンプレートが利用される。
インターテンプレート予測モードの動き予測・補償により生成された予測画像は、動き予測・補償部123に供給される。
テンプレート画素設定部125は、図4のテンプレート画素設定部28と同様のテンプレートを構成する隣接画素の設定処理を行う。すなわち、テンプレート画素設定部125は、対象ブロックの予測に用いるテンプレートの隣接画素として、隣接画素の復号画素、および隣接画素の予測画素のうち、どちらを用いるかを設定する。テンプレート画素設定部125においては、対象ブロックの隣接画素が、マクロブロック(またはサブマクロブロック)内に属するか否かに応じてどちらの隣接画素が用いられるかが設定される。設設定されたテンプレートの隣接画素の情報は、イントラTP動き予測・補償部122またはインターTP動き予測・補償部124に供給される。
スイッチ126は、動き予測・補償部123またはイントラ予測部121により生成された予測画像を選択し、演算部115に供給する。
なお、図34において、イントラまたはインターテンプレート予測モードに関する処理を行うイントラTP動き予測・補償部122、およびインターTP動き予測・補償部124は、図4のイントラTP動き予測・補償部25、およびインターTP動き予測・補償部27と基本的に同様に構成される。したがって、イントラTP動き予測・補償部122およびインターTP動き予測・補償部124の説明にも上述した図9に示した機能ブロックを用いる。
すなわち、イントラTP動き予測・補償部122およびインターTP動き予測・補償部124も、イントラTP動き予測・補償部25と同様に、対象ブロックアドレスバッファ41、テンプレートアドレス算出部42、およびテンプレートマッチング予測・補償部43により構成される。
また、図4の画像符号化装置1においては、テンプレートマッチングを含むすべての候補の予測モードに対して動き予測、補償処理を行い、コスト関数などにより、対象ブロックに対して最も効率がよいと判定されるモードが選択され、符号化された。これに対して、この画像復号装置101においては、テンプレートマッチングにより符号化されているマクロブロックもしくはブロックである場合のみ、対象ブロックの隣接画素を設定する処理が行われる。
[画像復号装置の復号処理の説明]
次に、図35のフローチャートを参照して、画像復号装置101が実行する復号処理について説明する。
ステップS131において、蓄積バッファ111は伝送されてきた画像を蓄積する。ステップS132において、可逆復号部112は、蓄積バッファ111から供給される圧縮画像を復号する。すなわち、図4の可逆符号化部16により符号化されたIピクチャ、Pピクチャ、並びにBピクチャが復号される。
このとき、動きベクトル情報、参照フレーム情報、予測モード情報(イントラ予測モード、イントラテンプレート予測モード、インター予測モード、またはインターテンプレート予測モードを示す情報)も復号される。
すなわち、予測モード情報がイントラ予測モード情報またはインターテンプレート予測モード情報である場合、予測モード情報は、イントラ予測部121に供給される。予測モード情報がインター予測モードまたはインターテンプレート予測モードである場合、予測モード情報は、動き予測・補償部123に供給される。その際、対応する動きベクトル情報や参照フレーム情報があれば、それも、動き予測・補償部123に供給される。
ステップS133において、逆量子化部113は可逆復号部112により復号された変換係数を、図4の量子化部15の特性に対応する特性で逆量子化する。ステップS134において逆直交変換部114は逆量子化部113により逆量子化された変換係数を、図4の直交変換部14の特性に対応する特性で逆直交変換する。これにより図4の直交変換部14の入力(演算部13の出力)に対応する差分情報が復号されたことになる。
ステップS135において、演算部115は、後述するステップS141の処理で選択され、スイッチ126を介して入力される予測画像を差分情報と加算する。これにより元の画像が復号される。ステップS136においてデブロックフィルタ116は、演算部115より出力された画像をフィルタリングする。これによりブロック歪みが除去される。ステップS137においてフレームメモリ119は、フィルタリングされた画像を記憶する。
ステップS138において、イントラ予測部121、イントラTP動き予測・補償部122、動き予測・補償部123、またはインターTP動き予測・補償部124は、可逆復号部112から供給される予測モード情報に対応して、それぞれ画像の予測処理を行う。
すなわち、可逆復号部112からイントラ予測モード情報が供給された場合、イントラ予測部121は、イントラ予測モードのイントラ予測処理を行う。可逆復号部112からイントラテンプレート予測モード情報が供給された場合、イントラTP動き予測・補償部122は、インターテンプレート予測モードの動き予測・補償処理を行う。また、可逆復号部112からインター予測モード情報が供給された場合、動き予測・補償部123は、インター予測モードの動き予測・補償処理を行う。可逆復号部112からインターテンプレート予測モード情報が供給された場合、インターTP動き予測・補償部124は、インターテンプレート予測モードの動き予測・補償処理を行う。
このとき、イントラTP動き予測・補償部122またはインターTP動き予測・補償部124は、テンプレート画素設定部125により復号画像または予測画像のどちらかで設定された隣接画素からなるテンプレートを用いてテンプレート予測モードの処理を行う。
ステップS138における予測処理の詳細は、図36を参照して後述される。この処理により、イントラ予測部121により生成された予測画像、イントラTP動き予測・補償部122により生成された予測画像、動き予測・補償部123により生成された予測画像、またはインターTP動き予測・補償部124により生成された予測画像がスイッチ126に供給される。
ステップS139において、スイッチ126は予測画像を選択する。すなわち、イントラ予測部121により生成された予測画像、イントラTP動き予測・補償部122により生成された予測画像、動き予測・補償部123により生成された予測画像、またはインターTP動き予測・補償部124により生成された予測画像が供給される。したがって、そのうちの供給された予測画像が選択されて演算部115に供給され、上述したように、ステップS134において逆直交変換部114の出力と加算される。
ステップS140において、画面並べ替えバッファ117は並べ替えを行う。すなわち画像符号化装置1の画面並べ替えバッファ12により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
ステップS141において、D/A変換部118は、画面並べ替えバッファ117からの画像をD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
[予測処理の説明]
次に、図36のフローチャートを参照して、図35のステップS138の予測処理を説明する。
イントラ予測部121は、ステップS171において、対象ブロックがイントラ符号化されているか否かを判定する。可逆復号部112からイントラ予測モード情報またはイントラテンプレート予測モード情報がイントラ予測部121に供給される。これに対応して、イントラ予測部121は、ステップS171において、対象ブロックがイントラ符号化されていると判定し、処理は、ステップS172に進む。
イントラ予測部121は、ステップS172において、イントラ予測モード情報またはイントラテンプレート予測モード情報を取得し、ステップS173において、イントラ予測モードであるか否かを判定する。ステップS173において、イントラ予測モードであると判定された場合、イントラ予測部121は、ステップS174において、イントラ予測を行う。
すなわち、処理対象の画像がイントラ処理される画像である場合、必要な画像がフレームメモリ119から読み出され、スイッチ120を介してイントラ予測部121に供給される。ステップS174において、イントラ予測部121は、ステップS172で取得したイントラ予測モード情報に従ってイントラ予測し、予測画像を生成する。生成した予測画像は、スイッチ126に出力される。
一方、ステップS172において、イントラテンプレート予測モード情報が取得された場合、ステップS173において、イントラ予測モード情報ではないと判定され、処理は、ステップS175に進む。
処理対象の画像がイントラテンプレート予測処理される画像である場合、イントラ予測部121から、処理の対象ブロックのアドレスがイントラTP動き予測・補償部122に供給され、対象ブロックアドレスバッファ41に蓄積される。
このアドレスの情報に基づいて、イントラTP動き予測・補償部122およびテンプレート画素値設定部125は、ステップS175において、処理の対象ブロックに対して、テンプレートの隣接画素を設定する処理である隣接画素設定処理を行う。この隣接画素設定処理の詳細は、図32を参照して上述した処理と基本的に同様な処理であるので、その説明は省略される。この処理により、イントラテンプレート予測モードの対象ブロックに対するテンプレートを構成する隣接画素として、復号画像または予測画像のどちらが用いられるのかが設定される。
ステップS176において、イントラTP動き予測・補償部122のテンプレートマッチング予測・補償部43は、イントラテンプレート予測モードの動き予測、補償処理を行う。すなわち、テンプレートマッチング予測・補償部43には、対象ブロックアドレスバッファ41の対象ブロックアドレス、テンプレートアドレス算出部42からのテンプレートアドレス、およびテンプレート画素設定部125からの隣接画素の情報が供給される。これらの情報を参照し、テンプレート画素設定部125により隣接画素が設定されたテンプレートを用いて、テンプレートマッチング予測・補償部43は、図1を参照して上述したイントラテンプレート予測モードの動き予測を行い、予測画像を生成する。
具体的には、テンプレートマッチング予測・補償部43は、同フレーム内の所定の探索範囲の参照画像をフレームメモリ119から読み出す。また、テンプレートマッチング予測・補償部43は、テンプレートアドレスを参照して、テンプレート画素設定部125により復号画素を用いることが設定されたテンプレートの隣接画素の画素値を、フレームメモリ119から読み出す。さらに、テンプレートマッチング予測・補償部43は、テンプレートアドレスを参照して、テンプレート画素設定部125により予測画素を用いることが設定されたテンプレートの隣接画素の画素値を、内蔵バッファから読み出す。
そして、テンプレートマッチング予測・補償部43は、同フレーム内の所定の探索範囲において、テンプレート画素設定部125により隣接画素が設定されたテンプレートと相関が最も高くなるような領域を探索する。テンプレートマッチング予測・補償部43は、探索された領域に対応するブロックを、対象ブロックに対応するブロックとし、そのブロックの画素値により、予測画像を生成する。この予測画像は、内蔵バッファに蓄積されるとともに、イントラ予測部121を介して、スイッチ126に出力される。
一方、ステップS171において、イントラ符号化されていないと判定された場合、処理は、ステップS177に進む。ステップS177において、動き予測・補償部123は、可逆復号部112からの予測モード情報などを取得する。
処理対象の画像がインター処理される画像である場合、可逆復号部112からインター予測モード情報、参照フレーム情報、動きベクトル情報が動き予測・補償部123に供給される。この場合、ステップS177において、動き予測・補償部123は、インター予測モード情報、参照フレーム情報、動きベクトル情報を取得する。
そして、動き予測・補償部123は、ステップS178において、可逆復号部112からの予測モード情報が、インター予測モード情報であるか否かを判定する。ステップS178において、インター予測モード情報であると判定された場合、処理は、ステップS179に進む。
動き予測・補償部123は、ステップS179において、インター動き予測を行う。すなわち、処理対象の画像がインター予測処理される画像である場合、必要な画像がフレームメモリ119から読み出され、スイッチ120を介して動き予測・補償部123に供給される。ステップS179において動き予測・補償部123は、ステップS177で取得した動きベクトルに基づいて、インター予測モードの動き予測をし、予測画像を生成する。生成した予測画像は、スイッチ126に出力される。
一方、ステップS177において、インターテンプレート予測モード情報が取得された場合、ステップS178において、インター予測モード情報ではないと判定され、処理は、ステップS180に進む。
処理対象の画像がインターテンプレート予測処理される画像である場合、動き予測・補償部123から、処理の対象ブロックのアドレスがインターTP動き予測・補償部124に供給され、対象ブロックアドレスバッファ41に蓄積される。
このアドレスの情報に基づいて、インターTP動き予測・補償部124およびテンプレート画素値設定部125は、ステップS180において、処理の対象ブロックに対して、テンプレートの隣接画素を設定する処理である隣接画素設定処理を行う。この隣接画素設定処理の詳細は、図32を参照して上述した処理と基本的に同様な処理であるので、その説明は省略される。この処理により、インターテンプレート予測モードの対象ブロックに対するテンプレートを構成する隣接画素として、復号画像または予測画像のどちらが用いられるのかが設定される。
ステップS181において、インターTP動き予測・補償部124のテンプレートマッチング予測・補償部43は、インターテンプレート予測モードの動き予測、補償処理を行う。すなわち、テンプレートマッチング予測・補償部43には、対象ブロックアドレスバッファ41の対象ブロックアドレス、テンプレートアドレス算出部42からのテンプレートアドレス、およびテンプレート画素設定部125からの隣接画素の情報が供給される。これらの情報を参照し、テンプレート画素設定部125により隣接画素が設定されたテンプレートを用いて、テンプレートマッチング予測・補償部43は、図2を参照して上述したインターテンプレート予測モードの動き予測を行い、予測画像を生成する。
具体的には、テンプレートマッチング予測・補償部43は、参照フレームにおける所定の探索範囲の参照画像をフレームメモリ119から読み出す。また、テンプレートマッチング予測・補償部43は、テンプレートアドレスを参照して、テンプレート画素設定部125により復号画素を用いることが設定されたテンプレートの隣接画素の画素値を、フレームメモリ119から読み出す。さらに、テンプレートマッチング予測・補償部43は、テンプレートアドレスを参照して、テンプレート画素設定部125により予測画素を用いることが設定されたテンプレートの隣接画素の画素値を、内蔵バッファから読み出す。
そして、テンプレートマッチング予測・補償部43は、参照フレームにおける所定の探索範囲において、テンプレート画素設定125により隣接画素が設定されたテンプレートと相関が最も高くなるような領域を探索する。テンプレートマッチング予測・補償部43は、探索された領域に対応するブロックを、対象ブロックに対応するブロックとし、そのブロックの画素値により、予測画像を生成する。生成した予測画像は、内蔵バッファに蓄積されるとともに、動き予測・補償部123を介して、スイッチ126に出力される。
以上のように、マクロブロック(またはサブマクロブロック)の対象ブロックに対するテンプレートの隣接画素として、隣接画素がマクロブロック(またはサブマクロブロック)に属するか否かに応じて、復号画像だけではなく、予測画像の画素値が利用される。これにより、マクロブロック(サブマクロブロック)内の各ブロックに対する処理を、パイプライン処理により実現することが可能になる。したがって、テンプレート予測モードにおける処理速度を向上することができる。
なお、上記説明においては、テンプレートとして、隣接画素を用いて予測を行うテンプレートマッチングを行う例を説明したが、本発明は、同様に、隣接画素を用いて予測を行うイントラ予測にも適用することができる。
<2.第2の実施の形態>
[画像符号化装置の他の構成例]
図37は、本発明を適用した画像処理装置としての画像符号化装置の他の実施の形態の構成を表している。
画像符号化装置151は、A/D変換部11、画面並べ替えバッファ12、演算部13、直交変換部14、量子化部15、可逆符号化部16、蓄積バッファ17、逆量子化部18、逆直交変換部19、演算部20、デブロックフィルタ21、フレームメモリ22、スイッチ23、動き予測・補償部26、予測画像選択部29、およびレート制御部30を備えている点は、図4の画像符号化装置1と共通している。
また、画像符号化装置151は、イントラ予測部24、イントラTP動き予測・補償部25、インターTP動き予測・補償部27、およびテンプレート画素設定部28が除かれている点、並びにイントラ予測部161および隣接画素設定部162が追加されている点が、図4の画像符号化装置1と異なっている。
すなわち、図37の例においては、イントラ予測部161は、イントラ予測する対象ブロックの情報(アドレス)から、対象ブロックに隣接する隣接画素のアドレスを算出し、その情報を、隣接画素設定部162に供給する。
イントラ予測部161は、隣接画素設定部162により設定された隣接画素の画素値を、スイッチ23を介して、フレームメモリ22から読み出し、それを用いて、候補となる全てのイントラ予測モードのイントラ予測処理を行い、予測画像を生成する。
イントラ予測部161は、さらに、画面並べ替えバッファ12から読み出されたイントラ予測する画像も用いて、候補となる全てのイントラ予測モードに対してコスト関数値を算出する。イントラ予測部161は、算出したコスト関数値のうち、最小値を与える予測モードを、最適イントラ予測モードとして決定する。
隣接画素設定部162は、設定する隣接画素が、イントラ予測に用いる画素であるか、テンプレートマッチング予測に用いる画素であるかが異なるだけであり、図4のテンプレート画素設定部28と基本的に同様の処理を行う。すなわち、隣接画素設定部162は、対象ブロックのイントラ予測に用いる隣接画素として、隣接画素の復号画素、または、隣接画素の予測画素のうち、どちらを用いるのかを設定する。隣接画素設定部162においても、対象ブロックの隣接画素が、マクロブロック(またはサブマクロブロック)内に属するか否かに応じてどちらの隣接画素を用いるかが設定される。
なお、テンプレート画素設定部28の場合と同様に、対象ブロックの隣接画素がマクロブロック内に属するか否かは、マクロブロック内における対象ブロックの位置に応じて異なる。すなわち、隣接画素設定部162においても、マクロブロック内における対象ブロックの位置に応じてどちらの隣接画素を用いるかが設定されるともいえる。
[イントラ予測部の詳細な構成例]
図38は、イントラ予測部の詳細な構成例を示すブロック図である。
図38の例の場合、イントラ予測部161は、対象ブロックアドレスバッファ171、隣接画素アドレス算出部172、および予測部173により構成される。なお、図示されないが、画面並べ替えバッファ12からのイントラ予測画像は、予測部173に供給される。
対象ブロックアドレスバッファ171は、予測の対象ブロックアドレスを蓄積する。隣接アドレス算出部172は、対象ブロックアドレスバッファ171に蓄積される対象ブロックアドレスを用いて、イントラ予測に用いる隣接画素のアドレスを算出し、隣接画素アドレスとして、隣接画素設定部162および予測部173に供給する。
隣接画素設定部162は、隣接画素アドレス算出部172からの隣接画素アドレスに基づいて、復号画像と予測画像のどちらをイントラ予測に用いるかを決定し、その情報を、予測部173に供給する。
予測部173は、対象ブロックアドレスバッファ171に蓄積される対象ブロックアドレスを読み出す。予測部173には、画面並べ替えバッファ12からのイントラ予測する画像、隣接画素アドレス算出部172からの隣接画素アドレス、および隣接画素設定部162からの隣接画素の情報が供給されている。
予測部173は、フレームメモリ22から参照画像を読み出し、隣接画素設定部162により設定された隣接画素を用いて、イントラ予測を行い、予測画像を生成する。この予測画像は、図示せぬ内蔵バッファに蓄積される。
具体的には、予測部173は、隣接画素アドレスを参照して、隣接画素設定部162により復号画素を用いることが設定された隣接画素の画素値を、フレームメモリ22から読み出す。また、予測部173は、隣接画素アドレスを参照して、隣接画素設定部162により予測画素を用いることが設定された隣接画素の画素値を、内蔵バッファから読み出す。そして、予測部173により、フレームメモリ22から読み出された参照画像の中から、フレームメモリ22または内蔵バッファから読み出された隣接画素が用いられて、イントラ予測され、予測画像が求められる。
また、予測部173は、画面並べ替えバッファ12からのイントラ予測する画像も用いて、イントラ予測モードのコスト関数値を算出する。生成された予測画像のうち、コスト関数値が小さいものは、図示せぬ内蔵バッファに蓄積されるとともに、最適イントラ予測モードとして、予測画像選択部29にコスト関数値とともに供給される。
[予測処理の他の例の説明]
次に、図39のフローチャートを参照して、画像符号化装置151の予測処理を説明する。なお、この予測処理は、図14のステップS21の予測処理を説明した図15の予測処理の他の例である。すなわち、画像符号化装置151の符号化処理は、図14を参照して上述した画像符号化装置1の符号化処理と基本的に同様であるので、その説明を省略する。
画面並べ替えバッファ12から供給される処理対象の画像がイントラ処理されるブロックの画像である場合、参照される復号済みの画像がフレームメモリ22から読み出され、スイッチ23を介してイントラ予測部161に供給される。ステップS201において、イントラ予測部161は、処理対象のブロックの画素を、候補となる全てのイントラ予測モードでイントラ予測する。このとき、隣接画素設定部162により復号画像または予測画像に設定された隣接画素が用いられる。
ステップS201におけるイントラ予測処理の詳細は、図40を参照して後述する。この処理により、イントラ予測に用いる隣接画素が設定され、候補となる全てのイントラ予測モードに対して、設定された隣接画素の画素値が用いられてイントラ予測処理が行われ、コスト関数値が算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測モードが選択され、最適イントラ予測モードのイントラ予測により生成された予測画像とそのコスト関数値が予測画像選択部29に供給される。
画面並べ替えバッファ12から供給される処理対象の画像がインター処理される画像である場合、参照される画像がフレームメモリ22から読み出され、スイッチ23を介して動き予測・補償部26に供給される。これらの画像に基づいて、ステップS202において、動き予測・補償部26はインター動き予測処理を行う。すなわち、動き予測・補償部26は、フレームメモリ22から供給される画像を参照して、候補となる全てのインター予測モードの動き予測処理を行う。
ステップS202におけるインター動き予測処理の詳細は、図29を参照して上述したので、その説明を省略する。この処理により、候補となる全てのインター予測モードで動き予測処理が行われ、予測画像が生成され、候補となる全てのインター予測モードに対して、コスト関数値が算出される。
ステップS203において、動き予測・補償部26は、ステップS203において算出されたインター予測モードに対してのコスト関数値の中から、最小値を与える予測モードを、最適インター予測モードとして決定する。そして、動き予測・補償部75は、生成された予測画像、および最適インター予測モードのコスト関数値を、予測画像選択部29に供給する。
[イントラ予測処理の他の例の説明]
次に、図40のフローチャートを参照して、図39のステップS201のイントラ予測について説明する。
イントラ予測部161の対象ブロックアドレスバッファ41には、対象ブロックアドレスが蓄積される。イントラ予測部161および隣接画素設定部162は、ステップS221において、イントラ予測モードの対象ブロックに対して、そのイントラ予測に用いる隣接画素を設定する処理である隣接画素設定処理を行う。この隣接画素設定処理の詳細は、図32を参照して上述した処理と基本的に同様の処理であるので説明を省略する。
なお、図32においては、テンプレートを、上部領域、左上部領域、および左部領域に分けて説明したが、イントラ予測に用いる隣接画素も、同様に、上部隣接画素、左上部隣接画素、および左部隣接画素に分けて処理することができる。
この処理により、イントラ予測モードの対象ブロックに対して、その予測に用いる隣接画素が復号画像または予測画像のどちらかで設定される。
イントラ予測部161の予測部171は、ステップS222において、上述した輝度信号の4×4画素、8×8画素、および16×16画素の各イントラ予測モードに対してイントラ予測を行う。すなわち、予測部171は、隣接画素設定部162により設定された隣接画素を、それが予測画像であれば、図示せぬ内蔵バッファから読み出し、または、それが復号画像であれば、フレームメモリ22から読み出す。そして、予測部171は、読み出した隣接画素の画素値を用いて、処理対象のブロックの画素をイントラ予測する。
予測部171は、ステップS223において、上述した式(71)または(72)を用いて、4×4画素、8×8画素、および16×16画素の各イントラ予測モードに対するコスト関数値を算出する。
予測部171は、ステップS224において、4×4画素、8×8画素、および16×16画素の各イントラ予測モードに対して、それぞれ最適モードを決定する。
予測部171は、ステップS225において、4×4画素、8×8画素、および16×16画素の各イントラ予測モードに対して決定された各最適モードの中から、ステップS223において算出されたコスト関数値に基づいて、最適イントラ予測モードを選択する。ここで、選択された最適イントラ予測モードのイントラ予測により生成された予測画像とそのコスト関数値が予測画像選択部29に供給される。
また、この最適イントラ予測モードの予測画像が、内蔵するバッファに蓄積され、例えば、次の対象ブロックの予測処理に用いられる。
[画像復号装置の他の構成例]
図41は、本発明を適用した画像処理装置としての画像復号装置の他の実施の形態の構成を表している。
画像復号装置201は、蓄積バッファ111、可逆復号部112、逆量子化部113、逆直交変換部114、演算部115、デブロックフィルタ116、画面並べ替えバッファ117、D/A変換部118、フレームメモリ119、スイッチ120、動き予測・補償部123、およびスイッチ126を備える点が、図34の画像復号装置101と共通している。
また、画像復号装置201は、イントラ予測部121、イントラテンプレート動き予測・補償部122、インターテンプレート動き予測・補償部124、テンプレート画素設定部125が除かれている点と、イントラ予測部211、および隣接画素設定部212が追加されている点が、図34の画像復号装置101と異なっている。
すなわち、図41の例においては、イントラ予測部211は、可逆復号部112からイントラ予測モード情報を受けて、その情報に基づき、イントラ予測する対象ブロックの情報(アドレス)から、対象ブロックに隣接する隣接画素のアドレスを算出する。イントラ予測部211は、その情報を、隣接画素設定部212に供給する。
イントラ予測部211は、隣接画素設定部212により設定された隣接画素の画素値を、スイッチ120を介して、フレームメモリ119または図示せぬ内蔵バッファから読み出す。イントラ予測部211は、それらを用いて、可逆符号化部112からの情報が示すイントラ予測モードのイントラ予測処理を行う。このイントラ予測処理により生成された予測画像は、スイッチ126に出力される。
隣接画素設定部212は、設定する隣接画素が、イントラ予測に用いる画素であるか、テンプレートマッチング予測に用いる画素であるかが異なるだけであり、図34のテンプレート画素設定部125と基本的に同様の処理を行う。すなわち、隣接画素設定部212は、対象ブロックの予測に用いる隣接画素として、隣接画素の復号画素、または、隣接画素の予測画素のうち、どちらを用いるかを設定する。隣接画素設定部212においては、対象ブロックの隣接画素が、マクロブロック(またはサブマクロブロック)内に属するか否かに応じてどちらの隣接画素が用いられるかが設定される。設定された隣接画素の情報は、イントラ予測部211に供給される。
なお、図41において、イントラ予測部211は、図38のイントラ予測部161と基本的に同様に構成される。したがって、イントラ予測部211の説明にも上述した図38に示した機能ブロックを用いる。
すなわち、イントラ予測部211も、イントラ予測部161と同様に、対象ブロックアドレスバッファ171、隣接画素アドレス算出部172、および予測部173により構成される。なお、この場合、可逆復号部112からのイントラ予測モード情報は、予測部173に供給される。
[予測処理の他の例の説明]
次に、図42のフローチャートを参照して、画像復号装置201の予測処理を説明する。なお、この予測処理は、図35のステップS138の予測処理を説明した図36の予測処理の他の例である。すなわち、画像復号装置201の復号処理は、図35を参照して上述した画像復号装置101の復号処理と基本的に同様であるので、その説明を省略する。
イントラ予測部211の予測部173は、ステップS271において、対象ブロックがイントラ符号化されているか否かを判定する。可逆復号部112からイントラ予測モード情報またはイントラテンプレート予測モード情報が予測部173に供給される。これに対応して、予測部173は、ステップS271において、対象ブロックがイントラ符号化されていると判定し、処理は、ステップS272に進む。
予測部173は、ステップS272において、イントラ予測モード情報またはイントラテンプレート予測モード情報を取得する。また、イントラ予測部211の対象ブロックアドレスバッファ171には、対象ブロックアドレスが蓄積される。
ステップS273において、隣接画素アドレス算出部172および隣接画素設定部212は、イントラ予測モードの対象ブロックに対して、そのイントラ予測に用いる隣接画素を設定する処理である隣接画素設定処理を行う。この隣接画素設定処理の詳細は、図32を参照して上述した処理と基本的に同様の処理であるので説明を省略する。
なお、図40の例においても上述したように、図32においては、テンプレートを、上部領域、左上部領域、および左部領域に分けて説明したが、イントラ予測に用いる隣接画素も、同様に、上部隣接画素、左上部隣接画素、および左部隣接画素に分けて処理することができる。
この処理により、イントラ予測モードの対象ブロックに対してその予測に用いる隣接画素として、復号画像か予測画像のどちらかが設定される。
そして、ステップS274において、予測部171は、ステップS272で取得したイントラ予測モード情報に従って、イントラ予測し、予測画像を生成する。このとき、ステップS273において設定された復号画像または予測画像のどちらかの隣接画素が、内蔵バッファまたはフレームメモリ119から読み出されて用いられる。生成した予測画像は、内蔵バッファに蓄積されるとともに、スイッチ126に出力される。
一方、ステップS271において、イントラ符号化されていないと判定された場合、処理は、ステップS275に進む。ステップS275において、動き予測・補償部123は、可逆復号部112からの予測モード情報などを取得する。
処理対象の画像がインター処理される画像である場合、可逆復号部112からインター予測モード情報、参照フレーム情報、動きベクトル情報が動き予測・補償部123に供給される。この場合、ステップS275において、動き予測・補償部123は、インター予測モード情報、参照フレーム情報、動きベクトル情報を取得する。
動き予測・補償部123は、ステップS276において、インター動き予測を行う。すなわち、処理対象の画像がインター予測処理される画像である場合、必要な画像がフレームメモリ119から読み出され、スイッチ120を介して動き予測・補償部123に供給される。ステップS179において動き予測・補償部123は、ステップS275で取得した動きベクトルに基づいて、インター予測モードの動き予測をし、予測画像を生成する。生成した予測画像は、スイッチ126に出力される。
以上のように、マクロブロックの対象ブロックを予測するときに用いる隣接画素の画素値として、隣接画素がマクロブロックに属するか否かに応じて、復号画像ではなく、予測画像の画素値を利用するようにした。これにより、マクロブロック(サブマクロブロック)内の各ブロックに対する処理を、パイプライン処理により実現することが可能になる。したがって、イントラ予測モードにおける処理速度も向上することができる。
なお、本発明は、マクロブロックサイズより細かい大きさのブロックが予測の単位である、イントラ4×4予測およびイントラ8×8予測処理への適用が可能である。
以上においては、符号化方式としてH.264/AVC方式を基本として用いることを説明したが、イントラ/インターテンプレートマッチング処理、またはイントラ予測処理など、隣接画素を用いて予測処理を行うその他の符号化方式/復号方式を用いることもできる。
また、本発明は、マクロブロックサイズが16×16画素の場合に限らず、非特許文献3に記載されているような、任意の大きさのマクロブロックサイズに対応する符号化方式に基づく符号化装置および復号装置に対して適用が可能である。
さらに、上記説明においては、マクロブロック内の処理をラスタスキャン順に行う例を説明したが、マクロブロック内の処理順はラスタスキャン順以外であってもよい。
なお、本発明は、例えば、MPEG、H.26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本発明は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な汎用のパーソナルコンピュータなどが含まれる。
図43は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
コンピュータにおいて、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に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
1 画像符号化装置, 16 可逆符号化部, 24 イントラ予測部, 25 イントラテンプレート動き予測・補償部, 26 動き予測・補償部, 27 インターテンプレート動き予測・補償部, 28 テンプレート画素設定部, 41 対象ブロックアドレスバッファ, 42 テンプレートアドレス算出部, 43 テンプレートマッチング予測・補償部, 101 画像復号装置, 112 可逆復号部, 121 イントラ予測部, 122 イントラテンプレート動き予測・補償部, 123 動き予測・補償部, 124 インターテンプレート動き予測・補償部, 125 テンプレート画素設定部, 126 スイッチ, 151 画像符号化装置, 161 イントラ予測部, 162 隣接画素設定部, 171 対象ブロックアドレスバッファ, 172 隣接画素アドレス算出部, 173 予測部, 201 画像復号装置, 211 イントラ予測部, 212 隣接画素設定部

Claims (28)

  1. 画像の所定のブロックを構成するブロックに隣接する隣接画素を用いて、前記ブロックの予測を行う予測手段と、
    前記隣接画素が前記所定のブロック内に属する場合、前記隣接画素の予測画像を、前記予測に用いる前記隣接画素として設定し、前記隣接画素が前記所定のブロック外に存在する場合、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素として設定する隣接画素設定手段と、
    前記ブロックの画像を符号化する符号化手段とを
    備える画像処理装置。
  2. 前記予測手段は、前記隣接画素をテンプレートとして用いて、前記ブロックについて、前記テンプレートのマッチングによる前記予測を行う
    請求項1に記載の画像処理装置。
  3. 前記予測手段は、前記隣接画素をテンプレートとして用いて、前記ブロックの色差信号についても、前記テンプレートのマッチングによる前記予測を行う
    請求項1に記載の画像処理装置。
  4. 前記予測手段は、前記隣接画素の画素値を用いて、前記ブロックについて、前記予測として、イントラ予測を行う
    請求項1に記載の画像処理装置。
  5. 2×2の前記ブロックで構成される前記所定のブロックにおいて、
    前記ブロックの位置が、前記所定のブロック内において左上の位置である場合、前記隣接画素のうち、前記所定のブロック外に存在する左上部の隣接画素、上部の隣接画素、および左部の隣接画素すべてについて、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素の画素値として設定する
    請求項1に記載の画像処理装置。
  6. 2×2の前記ブロックで構成される前記所定のブロックにおいて、
    前記ブロックの位置が、前記所定のブロック内において右上の位置である場合、前記隣接画素のうち、前記所定のブロック外に存在する左上部の隣接画素、および上部の隣接画素について、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素として設定し、前記隣接画素のうち、前記所定のブロック内に属する左部の隣接画素について、前記隣接画素の予測画像を、前記予測に用いる前記隣接画素として設定する
    請求項1に記載の画像処理装置。
  7. 2×2の前記ブロックで構成される前記所定のブロックにおいて、
    前記ブロックの位置が、前記所定のブロック内において左下の位置である場合、前記隣接画素のうち、前記所定のブロック外に存在する左上部の隣接画素、および左部の隣接画素について、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素として設定し、前記隣接画素のうち、前記所定のブロック内に属する上部の隣接画素について、前記隣接画素の予測画像を、前記予測に用いる前記隣接画素として設定する
    請求項1に記載の画像処理装置。
  8. 2×2の前記ブロックで構成される前記所定のブロックにおいて、
    前記ブロックの位置が、前記所定のブロック内において右下の位置である場合、前記隣接画素のうち、前記所定のブロック内に属する左上部の隣接画素、上部の隣接画素、および左部の隣接画素すべてについて、前記隣接画素の予測画像を、前記予測に用いる前記隣接画素として設定する
    請求項1に記載の画像処理装置。
  9. 上下2つの前記ブロックで構成される前記所定のブロックにおいて、
    前記ブロックの位置が、前記所定のブロック内において上部の位置である場合、前記隣接画素のうち、前記所定のブロック外に存在する左上部の隣接画素、上部の隣接画素、および左部の隣接画素すべてについて、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素として設定する
    請求項1に記載の画像処理装置。
  10. 上下2つの前記ブロックで構成される前記所定のブロックにおいて、
    前記ブロックの位置が、前記所定のブロック内において下部の位置である場合、前記隣接画素のうち、前記所定のブロック外に存在する左上部の隣接画素、および左部の隣接画素について、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素として設定し、前記隣接画素のうち、前記所定のブロック内に属する上部の隣接画素について、前記隣接画素の予測画像を、前記予測に用いる前記隣接画素として設定する
    請求項1に記載の画像処理装置。
  11. 左右2つの前記ブロックで構成される前記所定のブロックにおいて、
    前記ブロックの位置が、前記所定のブロック内において左部の位置である場合、前記隣接画素のうち、前記所定のブロック外に存在する左上部の隣接画素、上部の隣接画素、および左部の隣接画素すべてについて、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素として設定する
    請求項1に記載の画像処理装置。
  12. 左右2つの前記ブロックで構成される前記所定のブロックにおいて、
    前記ブロックの位置が、前記所定のブロック内において右部の位置である場合、前記隣接画素のうち、前記所定のブロック外に存在する左上部の隣接画素、および上部の隣接画素について、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素として設定し、前記隣接画素のうち、前記所定のブロック内に属する左部の隣接画素について、前記隣接画素の予測画像を、前記予測に用いる前記隣接画素として設定する
    請求項1に記載の画像処理装置。
  13. 画像の所定のブロックを構成するブロックに隣接する隣接画素を用いて、前記ブロックの予測を行う画像処理装置が、
    前記隣接画素が前記所定のブロック内に属する場合、前記隣接画素の予測画像を、前記予測に用いる前記隣接画素として設定し、前記隣接画素が前記所定のブロック外に存在する場合、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素として設定し、
    設定された前記隣接画素を用いて、前記ブロックの予測を行い、
    前記ブロックの画像を符号化するステップを
    含む画像処理方法。
  14. 画像の所定のブロックを構成するブロックに隣接する隣接画素を用いて、前記ブロックの予測を行う画像処理装置のコンピュータに、
    前記隣接画素が前記所定のブロック内に属する場合、前記隣接画素の予測画像を、前記予測に用いる前記隣接画素として設定し、前記隣接画素が前記所定のブロック外に存在する場合、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素として設定し、
    設定された前記隣接画素を用いて、前記ブロックの予測を行い、
    前記ブロックの画像を符号化するステップを
    含む処理を実行させるためのプログラム。
  15. 符号化されているブロックの画像を復号する復号手段と、
    画像の所定のブロックを構成する前記ブロックに隣接する隣接画素を用いて、前記ブロックの予測を行う予測手段と、
    前記隣接画素が前記所定のブロック内に属する場合、前記隣接画素の予測画像を、前記予測に用いる前記隣接画素として設定し、前記隣接画素が前記所定のブロック外に存在する場合、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素として設定する隣接画素設定手段と、
    復号された前記ブロックの画像と、前記予測手段により前記予測が行われた前記ブロックの画像とを加算する演算手段と
    備える画像処理装置。
  16. 前記予測手段は、前記隣接画素をテンプレートとして用いて、前記ブロックについて、前記テンプレートのマッチングによる前記予測を行う
    請求項15に記載の画像処理装置。
  17. 前記予測手段は、前記隣接画素をテンプレートとして用いて、前記ブロックの色差信号についても、前記テンプレートのマッチングによる前記予測を行う
    請求項15に記載の画像処理装置。
  18. 前記予測手段は、前記隣接画素を用いて、前記ブロックについて、前記予測として、イントラ予測を行う
    請求項15に記載の画像処理装置。
  19. 2×2の前記ブロックで構成される前記所定のブロックにおいて、
    前記ブロックの位置が、前記所定のブロック内において左上の位置である場合、前記隣接画素のうち、前記所定のブロック外に存在する左上部の隣接画素、上部の隣接画素、および左部の隣接画素すべてについて、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素として設定する
    請求項15に記載の画像処理装置。
  20. 2×2の前記ブロックで構成される前記所定のブロックにおいて、
    前記ブロックの位置が、前記所定のブロック内において右上の位置である場合、前記隣接画素のうち、前記所定のブロック外に存在する左上部の隣接画素、および上部の隣接画素について、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素として設定し、前記隣接画素のうち、前記所定のブロック内に属する左部の隣接画素について、前記隣接画素の予測画像を、前記予測に用いる前記隣接画素として設定する
    請求項15に記載の画像処理装置。
  21. 2×2の前記ブロックで構成される前記所定のブロックにおいて、
    前記ブロックの位置が、前記所定のブロック内において左下の位置である場合、前記隣接画素のうち、前記所定のブロック外に存在する左上部の隣接画素、および左部の隣接画素について、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素として設定し、前記隣接画素のうち、前記所定のブロック内に属する上部の隣接画素について、前記隣接画素の予測画像を、前記予測に用いる前記隣接画素として設定する
    請求項15に記載の画像処理装置。
  22. 2×2の前記ブロックで構成される前記所定のブロックにおいて、
    前記ブロックの位置が、前記所定のブロック内において右下の位置である場合、前記隣接画素のうち、前記所定のブロック内に属する左上部の隣接画素、上部の隣接画素、および左部の隣接画素すべてについて、前記隣接画素の予測画像を、前記予測に用いる前記隣接画素として設定する
    請求項15に記載の画像処理装置。
  23. 上下2つの前記ブロックで構成される前記所定のブロックにおいて、
    前記ブロックの位置が、前記所定のブロック内において上部の位置である場合、前記隣接画素のうち、前記所定のブロック外に存在する左上部の隣接画素、上部の隣接画素、および左部の隣接画素すべてについて、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素として設定する
    請求項15に記載の画像処理装置。
  24. 上下2つの前記ブロックで構成される前記所定のブロックにおいて、
    前記ブロックの位置が、前記所定のブロック内において下部の位置である場合、前記隣接画素のうち、前記所定のブロック外に存在する左上部の隣接画素、および左部の隣接画素について、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素として設定し、前記隣接画素のうち、前記所定のブロック内に属する上部の隣接画素について、前記隣接画素の予測画像を、前記予測に用いる前記隣接画素として設定する
    請求項15に記載の画像処理装置。
  25. 左右2つの前記ブロックで構成される前記所定のブロックにおいて、
    前記ブロックの位置が、前記所定のブロック内において左部の位置である場合、前記隣接画素のうち、前記所定のブロック外に存在する左上部の隣接画素、上部の隣接画素、および左部の隣接画素すべてについて、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素として設定する
    請求項15に記載の画像処理装置。
  26. 左右2つの前記ブロックで構成される前記所定のブロックにおいて、
    前記ブロックの位置が、前記所定のブロック内において右部の位置である場合、前記隣接画素のうち、前記所定のブロック外に存在する左上部の隣接画素、および上部の隣接画素について、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素として設定し、前記隣接画素のうち、前記所定のブロック内に属する左部の隣接画素について、前記隣接画素の予測画像を、前記予測に用いる前記隣接画素として設定する
    請求項15に記載の画像処理装置。
  27. 画像の所定のブロックを構成するブロックに隣接する隣接画素を用いて、前記ブロックの予測を行う画像処理装置が、
    符号化されている前記ブロックの画像を復号し、
    前記隣接画素が前記所定のブロック内に属する場合、前記隣接画素の予測画像を、前記予測に用いる前記隣接画素として設定し、前記隣接画素が前記所定のブロック外に存在する場合、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素として設定し、
    設定された前記隣接画素を用いて、前記ブロックの予測を行い、
    復号された前記ブロックの画像と、前記予測が行われた前記ブロックの画像とを加算するステップを
    含む画像処理方法。
  28. 画像の所定のブロックを構成するブロックに隣接する隣接画素を用いて、前記ブロックの予測を行う画像処理装置のコンピュータに、
    符号化されている前記ブロックの画像を復号し、
    前記隣接画素が前記所定のブロック内に属する場合、前記隣接画素の予測画像を、前記予測に用いる前記隣接画素として設定し、前記隣接画素が前記所定のブロック外に存在する場合、前記隣接画素の復号画像を、前記予測に用いる前記隣接画素として設定し、
    設定された前記隣接画素を用いて、前記ブロックの予測を行い、
    復号された前記ブロックの画像と、前記予測が行われた前記ブロックの画像とを加算するステップを
    含む処理を実行させるためのプログラム。
JP2009118290A 2009-05-15 2009-05-15 画像処理装置および方法、並びにプログラム Pending JP2010268259A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2009118290A JP2010268259A (ja) 2009-05-15 2009-05-15 画像処理装置および方法、並びにプログラム
TW99114682A TW201110709A (en) 2009-05-15 2010-05-07 Image processing device, method, and program
US13/318,413 US20120106862A1 (en) 2009-05-15 2010-05-07 Image processing device, method, and program
CN2010800206536A CN102422643A (zh) 2009-05-15 2010-05-07 图像处理装置、方法和程序
PCT/JP2010/057787 WO2010131601A1 (ja) 2009-05-15 2010-05-07 画像処理装置および方法、並びにプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009118290A JP2010268259A (ja) 2009-05-15 2009-05-15 画像処理装置および方法、並びにプログラム

Publications (2)

Publication Number Publication Date
JP2010268259A true JP2010268259A (ja) 2010-11-25
JP2010268259A5 JP2010268259A5 (ja) 2012-04-05

Family

ID=43084973

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009118290A Pending JP2010268259A (ja) 2009-05-15 2009-05-15 画像処理装置および方法、並びにプログラム

Country Status (5)

Country Link
US (1) US20120106862A1 (ja)
JP (1) JP2010268259A (ja)
CN (1) CN102422643A (ja)
TW (1) TW201110709A (ja)
WO (1) WO2010131601A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013513333A (ja) * 2009-12-08 2013-04-18 トムソン ライセンシング ビデオ符号化および復号化のためのテンプレート・マッチング予測の適応型残差更新のための方法および装置
JP2018512810A (ja) * 2015-03-27 2018-05-17 クゥアルコム・インコーポレイテッドQualcomm Incorporated ビデオコーディングにおけるサブブロックの動き情報の導出
WO2018097077A1 (ja) * 2016-11-22 2018-05-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
JP2021518059A (ja) * 2018-03-30 2021-07-29 ヴィド スケール インコーポレイテッド エンコーディングおよびデコーディングのレイテンシ低減に基づく、テンプレートによるインター予測技術

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5911809B2 (ja) 2010-01-22 2016-04-27 トムソン ライセンシングThomson Licensing サンプリングベースの超解像度ビデオ符号化および復号化方法並びに装置
KR101791919B1 (ko) 2010-01-22 2017-11-02 톰슨 라이센싱 예시-기반의 초 해상도를 이용하여 비디오 압축을 위한 데이터 프루닝
US9544598B2 (en) 2010-09-10 2017-01-10 Thomson Licensing Methods and apparatus for pruning decision optimization in example-based data pruning compression
CN103155554B (zh) * 2010-09-10 2018-08-10 汤姆逊许可公司 通过基于图像内容搜索和分级在视频压缩中对至参考块的链接进行编码
WO2012033971A1 (en) 2010-09-10 2012-03-15 Thomson Licensing Recovering a pruned version of a picture in a video sequence for example - based data pruning using intra- frame patch similarity
JP5798539B2 (ja) 2012-09-24 2015-10-21 株式会社Nttドコモ 動画像予測符号化装置、動画像予測符号化方法、動画像予測復号装置及び動画像予測復号方法
JP6005572B2 (ja) * 2013-03-28 2016-10-12 Kddi株式会社 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、およびプログラム
JP2014241579A (ja) * 2013-05-13 2014-12-25 株式会社東芝 映像圧縮装置
US10230961B2 (en) 2016-06-03 2019-03-12 Mediatek Inc. Method and apparatus for template-based intra prediction in image and video coding
CN109891882B (zh) * 2016-12-26 2021-05-11 华为技术有限公司 一种基于模板匹配的编解码方法及装置
WO2019161248A1 (en) * 2018-02-15 2019-08-22 Arris Enterprises Llc Variable template size for template matching
KR20210021971A (ko) 2018-06-22 2021-03-02 소니 주식회사 화상 처리 장치 및 방법
US11800122B2 (en) * 2021-08-17 2023-10-24 Mediatek Inc. Video processing apparatus using internal prediction buffer that is shared by multiple coding tools for prediction

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004200991A (ja) * 2002-12-18 2004-07-15 Nippon Telegr & Teleph Corp <Ntt> 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置,画像符号化プログラム,画像復号プログラム,画像符号化プログラムを記録した記録媒体および画像復号プログラムを記録した記録媒体
JP2006304102A (ja) * 2005-04-22 2006-11-02 Renesas Technology Corp 画像符号化ユニットと画像符号化方法
JP2007043651A (ja) * 2005-07-05 2007-02-15 Ntt Docomo Inc 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5056021A (en) * 1989-06-08 1991-10-08 Carolyn Ausborn Method and apparatus for abstracting concepts from natural language
JP4617644B2 (ja) * 2003-07-18 2011-01-26 ソニー株式会社 符号化装置及び方法
KR100565066B1 (ko) * 2004-02-11 2006-03-30 삼성전자주식회사 중첩된 블록 기반 움직임 추정에 의한 움직임 보상 보간방법 및 그를 적용한 프레임 레이트 변환 장치
KR101108681B1 (ko) * 2005-01-19 2012-01-25 삼성전자주식회사 동영상 코덱에서의 주파수 변환 계수 예측 방법 및 장치,이를 구비한 부호화 및 복호화 장치와 방법
CN101218829A (zh) * 2005-07-05 2008-07-09 株式会社Ntt都科摩 动态图像编码装置、动态图像编码方法、动态图像编码程序、动态图像解码装置、动态图像解码方法以及动态图像解码程序
KR101200865B1 (ko) * 2006-03-23 2012-11-13 삼성전자주식회사 영상의 부호화 방법 및 장치, 복호화 방법 및 장치
KR100882949B1 (ko) * 2006-08-17 2009-02-10 한국전자통신연구원 화소 유사성에 따라 적응적인 이산 코사인 변환 계수스캐닝을 이용한 부호화/복호화 장치 및 그 방법
KR101356734B1 (ko) * 2007-01-03 2014-02-05 삼성전자주식회사 움직임 벡터 트랙킹을 이용한 영상의 부호화, 복호화 방법및 장치
US8238428B2 (en) * 2007-04-17 2012-08-07 Qualcomm Incorporated Pixel-by-pixel weighting for intra-frame coding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004200991A (ja) * 2002-12-18 2004-07-15 Nippon Telegr & Teleph Corp <Ntt> 画像符号化方法,画像復号方法,画像符号化装置,画像復号装置,画像符号化プログラム,画像復号プログラム,画像符号化プログラムを記録した記録媒体および画像復号プログラムを記録した記録媒体
JP2006304102A (ja) * 2005-04-22 2006-11-02 Renesas Technology Corp 画像符号化ユニットと画像符号化方法
JP2007043651A (ja) * 2005-07-05 2007-02-15 Ntt Docomo Inc 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013513333A (ja) * 2009-12-08 2013-04-18 トムソン ライセンシング ビデオ符号化および復号化のためのテンプレート・マッチング予測の適応型残差更新のための方法および装置
US10743027B2 (en) 2009-12-08 2020-08-11 Interdigital Madison Patent Holdings Methods and apparatus for adaptive template matching prediction for video encoding and decoding
JP2018512810A (ja) * 2015-03-27 2018-05-17 クゥアルコム・インコーポレイテッドQualcomm Incorporated ビデオコーディングにおけるサブブロックの動き情報の導出
JP2018513611A (ja) * 2015-03-27 2018-05-24 クゥアルコム・インコーポレイテッドQualcomm Incorporated ビデオコーディングにおける動きベクトル導出
US10958927B2 (en) 2015-03-27 2021-03-23 Qualcomm Incorporated Motion information derivation mode determination in video coding
US11330284B2 (en) 2015-03-27 2022-05-10 Qualcomm Incorporated Deriving motion information for sub-blocks in video coding
WO2018097077A1 (ja) * 2016-11-22 2018-05-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
JP2021518059A (ja) * 2018-03-30 2021-07-29 ヴィド スケール インコーポレイテッド エンコーディングおよびデコーディングのレイテンシ低減に基づく、テンプレートによるインター予測技術
JP7337072B2 (ja) 2018-03-30 2023-09-01 ヴィド スケール インコーポレイテッド エンコーディングおよびデコーディングのレイテンシ低減に基づく、テンプレートによるインター予測技術

Also Published As

Publication number Publication date
CN102422643A (zh) 2012-04-18
US20120106862A1 (en) 2012-05-03
WO2010131601A1 (ja) 2010-11-18
TW201110709A (en) 2011-03-16

Similar Documents

Publication Publication Date Title
WO2010131601A1 (ja) 画像処理装置および方法、並びにプログラム
JP5169978B2 (ja) 画像処理装置および方法
WO2010001917A1 (ja) 画像処理装置および方法
WO2010001918A1 (ja) 画像処理装置および方法、並びにプログラム
WO2010001916A1 (ja) 画像処理装置および方法
WO2011007719A1 (ja) 画像処理装置および方法
WO2010123054A1 (ja) 画像処理装置および方法
WO2010123055A1 (ja) 画像処理装置および方法
WO2010123057A1 (ja) 画像処理装置および方法
JP5488684B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
JP5488685B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
JP6102977B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
JP6102978B2 (ja) 画像処理装置および方法、プログラム、並びに記録媒体
JP5776804B2 (ja) 画像処理装置および方法、並びに記録媒体
JP5776803B2 (ja) 画像処理装置および方法、並びに記録媒体

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120217

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130514

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130917