JPWO2010035735A1 - 画像処理装置および方法 - Google Patents
画像処理装置および方法 Download PDFInfo
- Publication number
- JPWO2010035735A1 JPWO2010035735A1 JP2010530849A JP2010530849A JPWO2010035735A1 JP WO2010035735 A1 JPWO2010035735 A1 JP WO2010035735A1 JP 2010530849 A JP2010530849 A JP 2010530849A JP 2010530849 A JP2010530849 A JP 2010530849A JP WO2010035735 A1 JPWO2010035735 A1 JP WO2010035735A1
- Authority
- JP
- Japan
- Prior art keywords
- image
- unit
- template
- prediction
- region
- 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.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/537—Motion estimation other than block-based
- H04N19/543—Motion estimation other than block-based using regions
-
- 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
Abstract
本発明は、符号化対象の画像の領域の位置に応じて、適切に動き予測することができるようにすることができる画像処理装置および方法に関する。図21のAにおける領域rに位置するブロックを符号化する場合、当該フレーム内には、未だ符号化済の領域が存在しない。領域pに位置するブロックを符号化する場合、当該フレーム内には、符号化対象ブロックの上側に隣接する符号化済の領域が未だ存在しないから、領域yと領域zをテンプレート領域に含めることができない。領域qに位置するブロックを符号化する場合、当該フレーム内には、符号化対象ブロックの左側に隣接する符号化済の領域が未だ存在しないから、領域yと領域zをテンプレート領域に含めることができない。領域sに位置するブロックを符号化する場合は、領域x、領域y、および領域zをテンプレート領域に含めることができる。
Description
本発明は、画像処理装置および方法に関し、特に、符号化対象の画像の領域の位置に応じて、適切に動き予測することができるようにする画像処理装置および方法に関する。
近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮するMPEGなどの方式を採用して画像を圧縮符号する装置が普及しつつある。
特に、MPEG2(ISO/IEC 13818−2)は、汎用画像符号化方式として定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準で、プロフェッショナル用途及びコンシューマー用途の広範なアプリケーションに現在広く用いられている。MPEG2圧縮方式を用いることにより、例えば720×480画素を持つ標準解像度の飛び越し走査画像であれば4乃至8Mbps、1920×1088画素を持つ高解像度の飛び越し走査画像であれば18乃至22Mbpsの符号量(ビットレート)を割り当てることで、高い圧縮率と良好な画質の実現が可能である。
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、以下AVCと記す)という国際標準となっている。
AVC符号化方式においては、動き予測・補償処理が行なわれることにより、膨大な動きベクトル情報が生成され、そのまま符号化すると、符号化効率の低下を招く。このため、AVC符号化方式においては、以下のような手法により、動きベクトルの符号化情報の低減が実現されている。
例えば、これから符号化されようとしている動き補償ブロックの予測動きベクトル情報が、既に符号化済の、隣接する動き補償ブロックの動きベクトル情報を用いてメディアンオペレーションにより生成される。
また、AVCにおいては、マルチ参照フレーム(Multi-Reference Frame)という、MPEG2やH.263等、従来の画像情報符号化方式では規定されていなかった方式が規定されている。すなわち、MPEG2やH.263においては、Pピクチャの場合、フレームメモリに格納された参照フレーム1枚のみを参照し、動き予測・補償処理を行なっていたが、AVCにおいては、複数の参照フレームをメモリに格納し、ブロックごとに、異なるメモリを参照することが可能である。
ところで、メディアン予測を用いても、画像圧縮情報における動きベクトル情報の占める割合は少なくない。そこで、符号化対象の画像の領域に対して所定の位置関係で隣接するとともに、復号画像の一部であるテンプレート領域の復号画像と相関が高い画像の領域を、復号画像から探索して、探索された領域と所定の位置関係とに基づいて予測を行う方法が提案されている(例えば、非特許文献1参照)。
この方式は、テンプレートマッチング方式と称され、マッチングに復号画像を用いているため、探索範囲を予め定めておくことで、符号化装置と復号装置において同一の処理を行うことが可能である。すなわち、復号装置においても上述したような予測・補償処理を行うことにより、符号化装置からの画像圧縮情報の中に動きベクトル情報を持つ必要がないため、符号化効率の低下を抑えることが可能である。
また、テンプレートマッチング方式は、マルチ参照フレームへ対応させることも可能である。
テンプレートマッチング方式においては、符号化対象の画像の領域に隣接する、すでに符号化済みの画素で構成されるテンプレート領域が用いられる。そのため、符号化対象の画像の領域がフレームまたはスライスの中のどの位置に存在するかによって、動きベクトルの探索の処理の内容を変える必要がある。例えば、ラスタスキャン順に符号化される場合、画枠の左上端に位置する領域を符号化するときは、隣接する領域の画素は未符号化の状態となるからである。すなわち、一律にテンプレートマッチング方式による動きベクトルの探索を行なうことはできないという問題があった。
本発明はこのような状況に鑑みてなされたものであり、符号化対象の画像の領域の位置に応じて、適切に動き予測することができるようにするものである。
本発明の第1の側面の画像処理装置は、復号対象ブロックの位置を表す位置情報を受け取る受け取り手段と、復号済の参照フレームにおいて、前記復号対象ブロックに対して所定の位置関係で隣接するテンプレート領域を特定する特定手段と、前記特定手段により特定されたテンプレート領域の画素値と前記参照フレームの領域の画素値とのマッチング処理により前記復号対象ブロックの動きベクトルを探索するインターテンプレートマッチング処理を、前記受け取り手段により受け取られた位置情報に基づいて実行するマッチング処理手段とを備える。
前記マッチング処理手段は、前記特定手段により特定された前記テンプレート領域に含まれる全ての画素を用いた前記マッチング処理により動きベクトルを探索する全探索処理と、前記特定手段により特定された前記テンプレート領域に含まれる一部の画素を用いた前記マッチング処理により動きベクトルを探索する一部探索処理とを、前記受け取り手段により受け取られた前記位置情報に応じて選択することができる。
前記受け取り手段により受け取られた前記位置情報に基づいて、前記復号対象ブロックがフレームまたはスライスの中のどの領域に位置するかを判定する判定手段をさらに備え、前記マッチング処理手段は、前記判定手段により前記復号対象ブロックが前記第1の領域に位置すると判定された場合には、前記全探索処理を行い、前記判定手段により前記復号対象ブロックが前記第2の領域に位置すると判定された場合には、前記一部探索処理を行うことができる。
前記マッチング処理手段は、前記特定手段により特定された前記テンプレート領域に含まれる全ての画素を用いた前記マッチング処理により動きベクトルを探索する全探索処理と、前記インターテンプレートマッチング処理の実行を中止する中止処理とを、前記受け取り手段により受け取られた前記位置情報に応じて選択することができる。
前記受け取り手段により受け取られた前記位置情報に基づいて、前記復号対象ブロックがフレームまたはスライスの中のどの領域に位置するかを判定する判定手段をさらに備え、前記マッチング処理手段は、前記判定手段により前記復号対象ブロックが前記第1の領域に位置すると判定された場合には、前記全探索処理を行い、前記判定手段により前記復号対象ブロックが前記第2の領域に位置すると判定された場合には、前記中止処理を行うことができる。
本発明の第1の側面の画像処理方法は、画像処理装置が、復号対象ブロックの位置を表す位置情報を受け取り、復号済の参照フレームにおいて、前記復号対象ブロックに対して所定の位置関係で隣接するテンプレート領域を特定し、特定されたテンプレート領域の画素値と前記参照フレームの領域の画素値とのマッチング処理により前記復号対象ブロックの動きベクトルを探索するインターテンプレートマッチング処理を、受け取られた位置情報に基づいて実行するステップを含む。
本発明の第1の側面においては、復号対象ブロックの位置を表す位置情報が受け取られ、復号済の参照フレームにおいて、前記復号対象ブロックに対して所定の位置関係で隣接するテンプレート領域が特定され、特定されたテンプレート領域の画素値と前記参照フレームの領域の画素値とのマッチング処理により前記復号対象ブロックの動きベクトルを探索するインターテンプレートマッチング処理が、受け取られた位置情報に基づいて実行される。
本発明の第2の側面の画像処理装置は、符号化対象ブロックの位置を表す位置情報を受け取る受け取り手段と、符号化済のフレームを復号して得られる参照フレームにおいて、前記符号化対象ブロックに対して所定の位置関係で隣接するテンプレート領域を特定する特定手段と、前記特定手段により特定されたテンプレート領域の画素値と前記参照フレームの領域の画素値とのマッチング処理により前記符号化対象ブロックの動きベクトルを探索するインターテンプレートマッチング処理を、前記受け取り手段により受け取られた位置情報に基づいて実行するマッチング処理手段とを備える。
前記マッチング処理手段は、前記特定手段により特定された前記テンプレート領域に含まれる全ての画素を用いた前記マッチング処理により動きベクトルを探索する全探索処理と、前記特定手段により特定された前記テンプレート領域に含まれる一部の画素を用いた前記マッチング処理により動きベクトルを探索する一部探索処理とを、前記受け取り手段により受け取られた前記位置情報に応じて選択することができる。
前記受け取り手段により受け取られた前記位置情報に基づいて、前記符号化対象ブロックがフレームまたはスライスの中のどの領域に位置するかを判定する判定手段をさらに備え、前記マッチング処理手段は、前記判定手段により前記符号化対象ブロックが前記第1の領域に位置すると判定された場合には、前記全探索処理を行い、前記判定手段により前記符号化対象ブロックが前記第2の領域に位置すると判定された場合には、前記一部探索処理を行うことができる。
前記マッチング処理手段は、前記特定手段により特定された前記テンプレート領域に含まれる全ての画素を用いた前記マッチング処理により動きベクトルを探索する全探索処理と、前記インターテンプレートマッチング処理の実行を中止する中止処理とを、前記受け取り手段により受け取られた前記位置情報に応じて選択することができる。
前記受け取り手段により受け取られた前記位置情報に基づいて、前記符号化対象ブロックがフレームまたはスライスの中のどの領域に位置するかを判定する判定手段をさらに備え、前記マッチング処理手段は、前記判定手段により前記符号化対象ブロックが前記第1の領域に位置すると判定された場合には、前記全探索処理を行い、前記判定手段により前記符号化対象ブロックが前記第2の領域に位置すると判定された場合には、前記中止処理を行うことができる。
本発明の第2の側面の画像処理方法は、画像処理装置が、符号化対象ブロックの位置を表す位置情報を受け取り、符号化済のフレームを復号して得られる参照フレームにおいて、前記符号化対象ブロックに対して所定の位置関係で隣接するテンプレート領域を特定し、特定されたテンプレート領域の画素値と前記参照フレームの領域の画素値とのマッチング処理により前記符号化対象ブロックの動きベクトルを探索するインターテンプレートマッチング処理を、受け取られた位置情報に基づいて実行するステップを含む。
本発明の第2の側面においては、符号化対象ブロックの位置を表す位置情報が受け取られ、符号化済のフレームを復号して得られる参照フレームにおいて、前記符号化対象ブロックに対して所定の位置関係で隣接するテンプレート領域が特定され、特定された前記テンプレート領域の画素値と前記参照フレームの領域の画素値とのマッチング処理により前記符号化対象ブロックの動きベクトルを探索するインターテンプレートマッチング処理が、受け取られた位置情報に基づいて実行される。
本発明によれば、符号化対象の画像の領域の位置に応じて、適切に動き予測することができる。
以下、図面を参照して、本発明の実施の形態について説明する。
図1は、本発明の画像符号化装置の一実施の形態の構成を表している。この画像符号化装置51は、A/D変換部61、画面並べ替えバッファ62、演算部63、直交変換部64、量子化部65、可逆符号化部66、蓄積バッファ67、逆量子化部68、逆直交変換部69、演算部70、デブロックフィルタ71、フレームメモリ72、スイッチ73、イントラ予測部74、動き予測・補償部77、インターテンプレート動き予測・補償部78、予測画像選択部80、レート制御部81、およびブロック位置検出部90により構成されている。
なお、以下、インターテンプレート動き予測・補償部78を、インターTP動き予測・補償部78と称する。
この画像符号化装置51は、例えば、H.264およびMPEG−4 Part10 (Advanced Video Coding)(以下H.264/AVCと記す)方式で画像を圧縮符号化する。
H.264/AVC方式においては、ブロックサイズを可変にして、動き予測・補償が行われる。すなわち、H.264/AVC方式においては、16×16画素で構成される1つのマクロブロックを、図2に示されるように、16×16画素、16×8画素、8×16画素、あるいは8×8画素のいずれかのパーティションに分割して、それぞれ独立した動きベクトル情報を持つことが可能である。また、8×8画素のパーティションに関しては、図2に示されるように、8×8画素、8×4画素、4×8画素、あるいは4×4画素のいずれかのサブパーティションに分割し、それぞれ独立した動きベクトル情報を持つことが可能である。
また、H.264/AVC方式においては、6タップのFIR (Finite Impulse Response Filter)フィルタを用いた1/4画素精度の予測・補償処理が行われている。図3を参照して、H.264/AVC方式における小数画素精度の予測・補償処理について説明する。
図3の例において、位置Aは、整数精度画素の位置、位置b,c,dは、1/2画素精度の位置、位置e1,e2,e3は、1/4画素精度の位置を示している。まず、以下においては、Clip()を次の式(1)のように定義する。
位置cにおける画素値は、水平方向および垂直方向に6タップのFIRフィルタを適用し、次の式(3)のように生成される。
なお、Clip処理は、水平方向および垂直方向の積和処理の両方を行った後、最後に1度のみ実行される。
図1に戻って、A/D変換部61は、入力された画像をA/D変換し、画面並べ替えバッファ62に出力し、記憶させる。画面並べ替えバッファ62は、記憶した表示の順番のフレームの画像を、GOP(Group of Picture)に応じて、符号化のためのフレームの順番に並べ替える。
演算部63は、画面並べ替えバッファ62から読み出された画像から、予測画像選択部80により選択されたイントラ予測部74からの予測画像または動き予測・補償部77からの予測画像を減算し、その差分情報を直交変換部64に出力する。直交変換部64は、演算部63からの差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を出力する。量子化部65は直交変換部64が出力する変換係数を量子化する。
量子化部65の出力となる、量子化された変換係数は、可逆符号化部66に入力され、ここで可変長符号化、算術符号化等の可逆符号化が施され、圧縮される。なお、圧縮画像は、蓄積バッファ67に蓄積された後、出力される。レート制御部81は、蓄積バッファ67に蓄積された圧縮画像に基づいて、量子化部65の量子化動作を制御する。
また、量子化部65より出力された、量子化された変換係数は、逆量子化部68にも入力され、逆量子化された後、さらに逆直交変換部69において逆直交変換される。逆直交変換された出力は演算部70により予測画像選択部80から供給される予測画像と加算されて、局部的に復号された画像となる。デブロックフィルタ71は、復号された画像のブロック歪を除去した後、フレームメモリ72に供給し、蓄積させる。フレームメモリ72には、デブロックフィルタ71によりデブロックフィルタ処理される前の画像も供給され、蓄積される。
スイッチ73はフレームメモリ72に蓄積された参照画像を動き予測・補償部77またはイントラ予測部74に出力する。
この画像符号化装置51においては、例えば、画面並べ替えバッファ62からのIピクチャ、Bピクチャ、およびPピクチャが、イントラ予測(イントラ処理とも称する)する画像として、イントラ予測部74に供給される。また、画面並べ替えバッファ62から読み出されたBピクチャ、およびPピクチャが、インター予測(インター処理とも称する)する画像として、動き予測・補償部77に供給される。
イントラ予測部74は、画面並べ替えバッファ62から読み出されたイントラ予測する画像とスイッチ73を介してフレームメモリ72から供給された参照画像に基づいて、候補となる全てのイントラ予測モードのイントラ予測処理を行い、予測画像を生成する。
イントラ予測部74は、候補となる全てのイントラ予測モードに対してコスト関数値を算出する。イントラ予測部74は、算出したコスト関数値のうち、最小値を与える予測モードを、最適イントラ予測モードとして決定する。
イントラ予測部74は、最適イントラ予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部80に供給する。イントラ予測部74は、予測画像選択部80により最適イントラ予測モードで生成された予測画像が選択された場合、最適イントラ予測モードに関する情報を、可逆符号化部66に供給する。可逆符号化部66は、この情報を符号化し、圧縮画像におけるヘッダ情報の一部とする。
動き予測・補償部77は、候補となる全てのインター予測モードの動き予測・補償処理を行う。すなわち、動き予測・補償部77は、画面並べ替えバッファ62から読み出されたインター予測する画像と、スイッチ73を介してフレームメモリ72から供給される参照画像に基づいて、候補となる全てのインター予測モードの動きベクトルを検出し、動きベクトルに基づいて参照画像に動き予測と補償処理を施し、予測画像を生成する。
また、動き予測・補償部77は、画面並べ替えバッファ62から読み出されたインター予測する画像と、スイッチ73を介してフレームメモリ72から供給される参照画像を、インターTP動き予測・補償部78に供給する。
動き予測・補償部77は、候補となる全てのインター予測モードに対してコスト関数値を算出する。動き予測・補償部77は、算出したインター予測モードに対してのコスト関数値と、インターTP動き予測・補償部78により算出されたインターテンプレート予測モードに対してのコスト関数値のうち、最小値を与える予測モードを、最適インター予測モードとして決定する。
動き予測・補償部77は、最適インター予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部80に供給する。動き予測・補償部77は、予測画像選択部80により最適インター予測モードで生成された予測画像が選択された場合、最適インター予測モードに関する情報、およびその最適インター予測モードに応じた情報(動きベクトル情報、参照フレーム情報など)を可逆符号化部66に出力する。可逆符号化部66は、動き予測・補償部77からの情報をやはり可変長符号化、算術符号化といった可逆符号化処理し、圧縮画像のヘッダ部に挿入する。
インターTP動き予測・補償部78は、画面並べ替えバッファ62から読み出されたインター予測する画像と、フレームメモリ72から供給される参照画像に基づいて、インターテンプレート予測モードの動き予測と補償処理を行い、予測画像を生成する。その際、インターTP動き予測・補償部78は、後述するように、所定の探索範囲での動き予測を行う。
このとき、ブロック位置検出部90により、符号化の対象となるブロックの、フレームまたはスライスにおける位置が検出されるようになされている。そして、ブロック位置検出部90の検出結果に基づいて、例えば、動きベクトルの探索に用いられるテンプレート領域の画素が特定されるなど、テンプレートマッチング処理の内容が設定されるようになされている。なお、ブロック位置検出部90の処理の詳細については後述する。
インターTP動き予測・補償部78により探索された動きベクトル情報は、インターテンプレート予測モードの動き予測により探索された動きベクトル情報とされる。
また、インターTP動き予測・補償部78は、インターテンプレート予測モードに対してコスト関数値を算出し、算出したコスト関数値と予測画像を、動き予測・補償部77に供給する。
予測画像選択部80は、イントラ予測部74または動き予測・補償部77より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードから、最適予測モードを決定し、決定された最適予測モードの予測画像を選択し、演算部63,70に供給する。このとき、予測画像選択部80は、予測画像の選択情報を、イントラ予測部74または動き予測・補償部77に供給する。
レート制御部81は、蓄積バッファ67に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部65の量子化動作のレートを制御する。
次に、図4のフローチャートを参照して、図1の画像符号化装置51の符号化処理について説明する。
ステップS11において、A/D変換部61は入力された画像をA/D変換する。ステップS12において、画面並べ替えバッファ62は、A/D変換部61より供給された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
ステップS13において、演算部63は、ステップS12で並び替えられた画像と予測画像との差分を演算する。予測画像は、インター予測する場合は動き予測・補償部77から、イントラ予測する場合はイントラ予測部74から、それぞれ予測画像選択部80を介して演算部63に供給される。
差分データは元の画像データに較べてデータ量が小さくなっている。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
ステップS14において、直交変換部64は演算部63から供給された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。ステップS15において、量子化部65は変換係数を量子化する。この量子化に際しては、後述するステップS25の処理で説明されるように、レートが制御される。
以上のようにして量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップS16において、逆量子化部68は量子化部65により量子化された変換係数を量子化部65の特性に対応する特性で逆量子化する。ステップS17において、逆直交変換部69は逆量子化部68により逆量子化された変換係数を直交変換部64の特性に対応する特性で逆直交変換する。
ステップS18において、演算部70は、予測画像選択部80を介して入力される予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像(演算部63への入力に対応する画像)を生成する。ステップS19においてデブロックフィルタ71は、演算部70より出力された画像をフィルタリングする。これによりブロック歪みが除去される。ステップS20においてフレームメモリ72は、フィルタリングされた画像を記憶する。なお、フレームメモリ72にはデブロックフィルタ71によりフィルタ処理されていない画像も演算部70から供給され、記憶される。
ステップS21において、イントラ予測部74、動き予測・補償部77、およびインターTP動き予測・補償部78は、それぞれ画像の予測処理を行う。すなわち、ステップS21において、イントラ予測部74は、イントラ予測モードのイントラ予測処理を行い、動き予測・補償部77は、インター予測モードの動き予測・補償処理を行い、インターTP動き予測・補償部78は、インターテンプレート予測モードの動き予測・補償処理を行う。
ステップS21における予測処理の詳細は、図5を参照して後述するが、この処理により、候補となる全ての予測モードでの予測処理がそれぞれ行われ、候補となる全ての予測モードでのコスト関数値がそれぞれ算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測モードが選択され、最適イントラ予測モードのイントラ予測により生成された予測画像とそのコスト関数値が予測画像選択部80に供給される。また、算出されたコスト関数値に基づいて、インター予測モードとインターテンプレート予測モードの中から、最適インター予測モードが決定され、最適インター予測モードで生成された予測画像とそのコスト関数値が、予測画像選択部80に供給される。
ステップS22において、予測画像選択部80は、イントラ予測部74および動き予測・補償部77より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちの一方を、最適予測モードに決定し、決定された最適予測モードの予測画像を選択し、演算部63,70に供給する。この予測画像が、上述したように、ステップS13,S18の演算に利用される。
なお、この予測画像の選択情報は、イントラ予測部74または動き予測・補償部77に供給される。最適イントラ予測モードの予測画像が選択された場合、イントラ予測部74は、最適イントラ予測モードに関する情報を、可逆符号化部66に供給する。
最適インター予測モードの予測画像が選択された場合、動き予測・補償部77は、最適インター予測モードに関する情報、およびその最適インター予測モードに応じた情報(動きベクトル情報、参照フレーム情報など)を可逆符号化部66に出力する。すなわち、最適インター予測モードとして、インター予測モードによる予測画像が選択されているときには、動き予測・補償部77は、インター予測モード情報、動きベクトル情報、参照フレーム情報を可逆符号化部66に出力する。一方、最適インター予測モードとして、インターテンプレート予測モードによる予測画像が選択されているときには、動き予測・補償部77は、インターテンプレート予測モード情報を可逆符号化部66に出力する。
ステップS23において、可逆符号化部66は量子化部65より出力された量子化された変換係数を符号化する。すなわち、差分画像が可変長符号化、算術符号化等の可逆符号化され、圧縮される。このとき、上述したステップS22において可逆符号化部66に入力された、イントラ予測部74からの最適イントラ予測モードに関する情報や、動き予測・補償部77からの最適インター予測モードに応じた情報(予測モード情報、動きベクトル情報、参照フレーム情報など)なども符号化され、ヘッダ情報に付加される。
ステップS24において蓄積バッファ67は差分画像を圧縮画像として蓄積する。蓄積バッファ67に蓄積された圧縮画像が適宜読み出され、伝送路を介して復号側に伝送される。
ステップS25においてレート制御部81は、蓄積バッファ67に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部65の量子化動作のレートを制御する。
次に、図5のフローチャートを参照して、図4のステップS21における予測処理を説明する。
画面並べ替えバッファ62から供給される処理対象の画像がイントラ処理されるブロックの画像である場合、参照される復号済みの画像がフレームメモリ72から読み出され、スイッチ73を介してイントラ予測部74に供給される。これらの画像に基づいて、ステップS31において、イントラ予測部74は処理対象のブロックの画素を、候補となる全てのイントラ予測モードでイントラ予測する。なお、参照される復号済みの画素としては、デブロックフィルタ71によりデブロックフィルタリングされていない画素が用いられる。
ステップS31におけるイントラ予測処理の詳細は、図16を参照して後述するが、この処理により、候補となる全てのイントラ予測モードでイントラ予測が行われ、候補となる全てのイントラ予測モードに対してコスト関数値が算出される。
ステップS32において、イントラ予測部74は、ステップS31において算出された候補となる全てのイントラ予測モードに対してのコスト関数値を比較し、最小値を与える予測モードを、最適イントラ予測モードとして決定する。そして、イントラ予測部74は、最適イントラ予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部80に供給する。
画面並べ替えバッファ62から供給される処理対象の画像がインター処理される画像である場合、参照される画像がフレームメモリ72から読み出され、スイッチ73を介して動き予測・補償部77に供給される。これらの画像に基づいて、ステップS33において、動き予測・補償部77はインター動き予測処理を行う。すなわち、動き予測・補償部77は、フレームメモリ72から供給される画像を参照して、候補となる全てのインター予測モードの動き予測処理を行う。
ステップS33におけるインター動き予測処理の詳細は、図17を参照して後述するが、この処理により、候補となる全てのインター予測モードで動き予測処理が行われ、候補となる全てのインター予測モードに対してコスト関数値が算出される。
さらに、画面並べ替えバッファ62から供給される処理対象の画像がインター処理される画像である場合、フレームメモリ72から読み出された参照される画像は、スイッチ73および動き予測・補償部77を介してインターTP動き予測・補償部78にも供給される。これらの画像に基づいて、インターTP動き予測・補償部78およびブロック位置検出部90は、ステップS34において、インターテンプレート予測モードで、インターテンプレート動き予測処理を行う。
ステップS34におけるインターテンプレート動き予測処理の詳細は、図22を参照して後述するが、この処理により、インターテンプレート予測モードで動き予測処理が行われ、インターテンプレート予測モードに対してコスト関数値が算出される。そして、インターテンプレート予測モードの動き予測処理により生成された予測画像とそのコスト関数値が動き予測・補償部77に供給される。
ステップS35において、動き予測・補償部77は、ステップS33において選択された最適なインター予測モードに対してコスト関数値と、ステップS34において算出されたインターテンプレート予測モードに対してのコスト関数値を比較し、最小値を与える予測モードを、最適インター予測モードとして決定する。そして、動き予測・補償部77は、最適インター予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部80に供給する。
次に、H.264/AVC方式で定められているイントラ予測の各モードについて説明する。
まず、輝度信号に対するイントラ予測モードについて説明する。輝度信号のイントラ予測モードには、9種類の4×4画素のブロック単位、並びに4種類の16×16画素のマクロブロック単位の予測モードがある。図6に示されるように、16×16画素のイントラ予測モードの場合、各ブロックの直流成分を集めて、4×4行列が生成され、これに対して、さらに、直交変換が施される。
なお、ハイプロファイルについては、8次のDCTブロックに対して、8×8画素のブロック単位の予測モードが定められているが、この方式については、次に説明する4×4画素のイントラ予測モードの方式に準じる。
図7および図8は、9種類の輝度信号の4×4画素のイントラ予測モード(Intra_4x4_pred_mode)を示す図である。平均値(DC)予測を示すモード2以外の8種類の各モードは、それぞれ、図9の番号0,1,3乃至8で示される方向に対応している。
9種類のIntra_4x4_pred_modeについて、図10を参照して説明する。図10の例において、画素a乃至pは、イントラ処理される対象ブロックの画素を表し、画素値A乃至Mは、隣接ブロックに属する画素の画素値を表している。すなわち、画素a乃至pは、画面並べ替えバッファ62から読み出された処理対象の画像であり、画素値A乃至Mは、フレームメモリ72から読み出され、参照される復号済みの画像の画素値である。
図7および図8の各イントラ予測モードの場合、画素a乃至pの予測画素値は、隣接ブロックに属する画素の画素値A乃至Mを用いて、以下のように生成される。なお、画素値が“available”であるとは、画枠の端であったり、あるいは、まだ符号化されていないなどの理由がなく、利用可能であることを表し、画素値が“unavailable”であるとは、画枠の端であったり、あるいは、まだ符号化されていないなどの理由により利用可能ではないことを表す。
モード0はVertical Predictionであり、画素値A乃至Dが “available” の場合のみ適用される。この場合、画素a乃至pの予測画素値は、次の式(5)のように生成される。
画素a, e, i, mの予測画素値 = A
画素b, f, j, nの予測画素値 = B
画素c, g, k, oの予測画素値 = C
画素d, h, l, pの予測画素値 = D ・・・(5)
画素b, f, j, nの予測画素値 = B
画素c, g, k, oの予測画素値 = C
画素d, h, l, pの予測画素値 = D ・・・(5)
モード1はHorizontal Predictionであり、画素値I乃至Lが “available” の場合のみ適用される。この場合、画素a乃至pの予測画素値は、次の式(6)のように生成される。
画素a, b, c, dの予測画素値 = I
画素e, f, g, hの予測画素値 = J
画素i, j, k, lの予測画素値 = K
画素m, n, o, pの予測画素値 = L ・・・(6)
画素e, f, g, hの予測画素値 = J
画素i, j, k, lの予測画素値 = K
画素m, n, o, pの予測画素値 = L ・・・(6)
モード2はDC Predictionであり、画素値A,B,C,D,I,J,K,Lが全て “available” である時、予測画素値は式(7)のように生成される。
(A+B+C+D+I+J+K+L+4) >> 3 ・・・(7)
また、画素値A,B,C,Dが全て “unavailable” である時、予測画素値は式(8)のように生成される。
(I+J+K+L+2) >> 2 ・・・(8)
また、画素値I,J,K,Lが全て “unavailable” である時、予測画素値は式(9)のように生成される。
(A+B+C+D+2) >> 2 ・・・(9)
なお、画素値A,B,C,D,I,J,K,Lが全て“unavailable” である時、128を予測画素値として用いる。
モード3はDiagonal_Down_Left Predictionであり、画素値A,B,C,D,I,J,K,L,Mが“available”の場合のみ適用される。この場合、画素a乃至pの予測画素値は、次の式(10)のように生成される。
画素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
・・・(10)
画素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
・・・(10)
モード4はDiagonal_Down_Right Predictionであり、画素値A,B,C,D,I,J,K,L,Mが “available” の場合のみ適用される。この場合、画素a乃至pの予測画素値は、次の式(11)のように生成される。
画素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
・・・(11)
画素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
・・・(11)
モード5はDiagonal_Vertical_Right Predictionであり、画素値A,B,C,D,I,J,K,L,Mが“available”の場合のみ適用される。この場合、画素a乃至pの予測画素値は、次の式(12)のように生成される。
画素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
・・・(12)
画素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
・・・(12)
モード6はHorizontal_Down Predictionであり、画素値A,B,C,D,I,J,K,L,Mが“available”の場合のみ適用される。この場合、画素a乃至pの予測画素値は、次の式(13)のように生成される。
画素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
・・・(13)
画素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
・・・(13)
モード7は、Vertical_Left Predictionであり、画素値A,B,C,D,I,J,K,L,Mが“available”の場合のみ適用される。この場合、画素a乃至pの予測画素値は、次の式(14)のように生成される。
画素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
・・・(14)
画素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
・・・(14)
モード8は、Horizontal_Up Predictionであり、画素値A,B,C,D,I,J,K,L,Mが“available”の場合のみ適用される。この場合、画素a乃至pの予測画素値は、次の式(15)のように生成される。
画素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
・・・(15)
画素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
・・・(15)
次に、図11を参照して、輝度信号の4×4画素のイントラ予測モード(Intra_4x4_pred_mode)の符号化方式について説明する。
図11の例において、4×4画素からなり、符号化対象となる対象ブロックCが示されており、対象ブロックCに隣接する4×4画素からなるブロックAおよびブロックBが示されている。
この場合、対象ブロックCにおけるIntra_4x4_pred_modeと、ブロックAおよびブロックBにおけるIntra_4x4_pred_modeとは高い相関があると考えられる。この相関性を用いて、次のように符号化処理を行うことにより、より高い符号化効率を実現することができる。
すなわち、図11の例において、ブロックAおよびブロックBにおけるIntra_4x4_pred_modeを、それぞれ、Intra_4x4_pred_modeAおよびIntra_4x4_pred_modeBとして、MostProbableModeを次の式(16)と定義する。
MostProbableMode=Min(Intra_4x4_pred_modeA, Intra_4x4_pred_modeB)
・・・(16)
・・・(16)
すなわち、ブロックAおよびブロックBのうち、より小さなmode_numberを割り当てられている方をMostProbableModeとする。
ビットストリーム中には、対象ブロックCに対するパラメータとして、prev_intra4x4_pred_mode_flag[luma4x4BlkIdx] および rem_intra4x4_pred_mode[luma4x4BlkIdx] という2つの値が定義されており、次の式(17)に示される擬似コードに基づく処理により、復号処理が行われ、対象ブロック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 ・・・(17)
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 ・・・(17)
次に、16×16画素のイントラ予測モードについて説明する。図12および図13は、4種類の輝度信号の16×16画素のイントラ予測モード(Intra_16x16_pred_mode)を示す図である。
4種類のイントラ予測モードについて、図14を参照して説明する。図14の例において、イントラ処理される対象マクロブロックAが示されており、P(x,y);x,y=-1,0,…,15は、対象マクロブロックAに隣接する画素の画素値を表している。
モード0は、Vertical Predictionであり、P(x,-1); x,y=-1,0,…,15が “available”である時のみ適用される。この場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(18)のように生成される。
Pred(x,y) = P(x,-1);x,y=0,…,15
・・・(18)
・・・(18)
モード1はHorizontal Predictionであり、P(-1,y); x,y=-1,0,…,15が “available”である時のみ適用される。この場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(19)のように生成される。
Pred(x,y) = P(-1,y);x,y=0,…,15
・・・(19)
・・・(19)
モード2はDC Predictionであり、P(x,-1)およびP(-1,y); x,y=-1,0,…,15が全て“available” である場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(20)のように生成される。
また、P(x,-1); x,y=-1,0,…,15が “unavailable” である場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(21)のように生成される。
P(-1,y); x,y=-1,0,…,15が “unavailable” である場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(22)のように生成される。
P(x,-1)およびP(-1,y); x,y=-1,0,…,15が全て “unavailable” である場合には、予測画素値として128を用いる。
モード3はPlane Predictionであり、P(x,-1)及びP(-1,y); x,y=-1,0,…,15が全て “available” の場合のみ適用される。この場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(23)のように生成される。
次に、色差信号に対するイントラ予測モードについて説明する。図15は、4種類の色差信号のイントラ予測モード(Intra_chroma_pred_mode)を示す図である。色差信号のイントラ予測モードは、輝度信号のイントラ予測モードと独立に設定が可能である。色差信号に対するイントラ予測モードは、上述した輝度信号の16×16画素のイントラ予測モードに順ずる。
ただし、輝度信号の16×16画素のイントラ予測モードが、16×16画素のブロックを対象としているのに対し、色差信号に対するイントラ予測モードは、8×8画素のブロックを対象としている。さらに、上述した図12と図15に示されるように、両者においてモード番号は対応していない。
図14を参照して上述した輝度信号の16×16画素のイントラ予測モードの対象マクロブロックAの画素値および隣接する画素値の定義に準じて、イントラ処理される対象マクロブロックA(色差信号の場合は、8×8画素)に隣接する画素の画素値をP(x,y);x,y=-1,0,…,7とする。
モード0はDC Predictionであり、P(x,-1)およびP(-1,y); x,y=-1,0,…,7が全て “available” である場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(24)のように生成される。
また、P(-1,y) ; x,y=-1,0,…,7が “unavailable” である場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(25)のように生成される。
また、P(x,-1) ; x,y=-1,0,…,7が “unavailable”である場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(26)のように生成される。
モード1はHorizontal Predictionであり、P(-1,y) ; x,y=-1,0,…,7が “available”の場合にのみ適用される。この場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(27)のように生成される。
Pred(x,y) = P(-1,y);x,y=0,…,7
・・・(27)
・・・(27)
モード2はVertical Predictionであり、P(x,-1) ; x,y=-1,0,…,7が “available”の場合にのみ適用される。この場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(28)のように生成される。
Pred(x,y) = P(x,-1);x,y=0,…,7
・・・(28)
・・・(28)
モード3はPlane Predictionであり、P(x,-1)及びP(-1,y) ; x,y=-1,0,…,7 が “available” の場合にのみ適用される。この場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(29)のように生成される。
以上のように、輝度信号のイントラ予測モードには、9種類の4×4画素および8×8画素のブロック単位、並びに4種類の16×16画素のマクロブロック単位の予測モードがあり、色差信号のイントラ予測モードには、4種類の8×8画素のブロック単位の予測モードがある。色差信号のイントラ予測モードは、輝度信号のイントラ予測モードと独立に設定が可能である。輝度信号の4×4画素および8×8画素のイントラ予測モードについては、4×4画素および8×8画素の輝度信号のブロック毎に1つのイントラ予測モードが定義される。輝度信号の16×16画素のイントラ予測モードと色差信号のイントラ予測モードについては、1つのマクロブロックに対して1つの予測モードが定義される。
なお、予測モードの種類は、上述した図9の番号0,1,3乃至8で示される方向に対応している。予測モード2は平均値予測である。
次に、これらの予測モードに対して行われる処理である、図5のステップS31におけるイントラ予測処理を図16のフローチャートを参照して説明する。なお、図16の例においては、輝度信号の場合を例として説明する。
イントラ予測部74は、ステップS41において、上述した輝度信号の4×4画素、8×8画素、および16×16画素の各イントラ予測モードに対してイントラ予測を行う。
例えば、4×4画素のイントラ予測モードの場合について、上述した図10を参照して説明する。画面並べ替えバッファ62から読み出された処理対象の画像(例えば、画素a乃至p)がイントラ処理されるブロックの画像である場合、参照される復号済みの画像(画素値A乃至Mが示される画素)がフレームメモリ72から読み出され、スイッチ73を介してイントラ予測部74に供給される。
これらの画像に基づいて、イントラ予測部74は、処理対象のブロックの画素をイントラ予測する。このイントラ予測処理が、各イントラ予測モードで行われることで、各イントラ予測モードでの予測画像が生成される。なお、参照される復号済みの画素(画素値A乃至Mが示される画素)としては、デブロックフィルタ71によりデブロックフィルタリングされていない画素が用いられる。
イントラ予測部74は、ステップS42において、4×4画素、8×8画素、および16×16画素の各イントラ予測モードに対するコスト関数値を算出する。ここで、コスト関数値としては、H.264/AVC方式における参照ソフトウェアであるJM(Joint Model)で定められているように、High Complexity モードか、Low Complexity モードのいずれかの手法に基づいて行う。
すなわち、High Complexity モードにおいては、ステップS41の処理として、候補となる全ての予測モードに対して、仮に符号化処理までを行い、次の式(30)で表わされるコスト関数値を各予測モードに対して算出し、その最小値を与える予測モードを最適予測モードであるとして選択する。
Cost(Mode) = D + λ・R ・・・(30)
Dは、原画像と復号画像の差分(歪)、Rは、直交変換係数まで含んだ発生符号量、λは、量子化パラメータQPの関数として与えられるラグランジュ乗数である。
一方、Low Complexity モードにおいては、ステップS41の処理として、候補となる全ての予測モードに対して、予測画像の生成、および、動きベクトル情報や予測モード情報などのヘッダビットまでを算出し、次の式(31)で表わされるコスト関数値を各予測モードに対して算出し、その最小値を与える予測モードを最適予測モードであるとして選択する。
Cost(Mode) = D + QPtoQuant(QP)・Header_Bit ・・・(31)
Dは、原画像と復号画像の差分(歪)、Header_Bitは、予測モードに対するヘッダビット、QPtoQuantは、量子化パラメータQPの関数として与えられる関数である。
Low Complexity モードにおいては、全ての予測モードに対して、予測画像を生成するのみで、符号化処理および復号処理を行う必要がないため、演算量が少なくて済む。
イントラ予測部74は、ステップS43において、4×4画素、8×8画素、および16×16画素の各イントラ予測モードに対して、それぞれ最適モードを決定する。すなわち、図9を参照して上述したように、イントラ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において算出されたコスト関数値に基づいて、1つのイントラ予測モードを選択する。すなわち、4×4画素、8×8画素、および16×16画素に対して決定された各最適モードの中から、コスト関数値が最小値であるイントラ予測モードを選択する。
次に、図17のフローチャートを参照して、図5のステップS33のインター動き予測処理について説明する。
動き予測・補償部77は、ステップS51において、図2を参照して上述した16×16画素乃至4×4画素からなる8種類の各インター予測モードに対して動きベクトルと参照画像をそれぞれ決定する。すなわち、各インター予測モードの処理対象のブロックについて、動きベクトルと参照画像がそれぞれ決定される。
動き予測・補償部77は、ステップS52において、16×16画素乃至4×4画素からなる8種類の各インター予測モードについて、ステップS51で決定された動きベクトルに基づいて、参照画像に動き予測と補償処理を行う。この動き予測と補償処理により、各インター予測モードでの予測画像が生成される。
動き予測・補償部77は、ステップS53において、16×16画素乃至4×4画素からなる8種類の各インター予測モードに対して決定された動きベクトルについて、圧縮画像に付加するための動きベクトル情報を生成する。
ここで、図18を参照して、H.264/AVC方式による動きベクトル情報の生成方法について説明する。図18の例において、これから符号化される対象ブロック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に関する動きベクトル情報を用いて、メディアン予測により次の式(32)のように生成される。
pmvE = med(mvA,mvB,mvC) ・・・(32)
ブロックCに関する動きベクトル情報が、画枠の端であったり、あるいは、まだ符号化されていないなどの理由により、利用可能でない(unavailableである)場合には、ブロックCに関する動きベクトル情報は、ブロックDに関する動きベクトル情報で代用される。
対象ブロックEに対する動きベクトル情報として、圧縮画像のヘッダ部に付加されるデータmvdEは、pmvEを用いて、次の式(33)のように生成される。
mvdE = mvE - pmvE ・・・(33)
なお、実際には、動きベクトル情報の水平方向、垂直方向のそれぞれの成分に対して、独立に処理が行われる。
このように、予測動きベクトル情報を生成し、隣接するブロックとの相関で生成された予測動きベクトル情報と動きベクトル情報との差分を、圧縮画像のヘッダ部に付加することにより、動きベクトル情報を低減することができる。
以上のようにして生成された動きベクトル情報は、次のステップS54におけるコスト関数値算出の際にも用いられ、最終的に予測画像選択部80により対応する予測画像が選択された場合には、モード情報および参照フレーム情報とともに、可逆符号化部66へ出力される。
図17に戻って、動き予測・補償部77は、ステップS54において、16×16画素乃至4×4画素からなる8種類の各インター予測モードに対して、上述した式(30)または式(31)で示されるコスト関数値を算出する。ここで算出されたコスト関数値は、上述した図5のステップS35で最適インター予測モードを決定する際に用いられる。
なお、インター予測モードに対するコスト関数値の算出には、H.264/AVC方式において定められているSkip ModeおよびDirect Modeのコスト関数値の評価も含まれる。
次に、図5のステップS34のインターテンプレート動き予測処理について説明する。
最初に、インターテンプレートマッチング方式について説明する。インターTP動き予測・補償部78によりインターテンプレートマッチング方式による動きベクトルの探索が行われる。
最初に、インターテンプレートマッチング方式について説明する。インターTP動き予測・補償部78によりインターテンプレートマッチング方式による動きベクトルの探索が行われる。
図19は、インターテンプレートマッチング方式を具体的に説明する図である。
図19の例においては、符号化対象の対象フレームと、動きベクトルを探索する際に参照される参照フレームが示されている。対象フレームには、これから符号化されようとしている対象ブロックAと、対象ブロックAに対して隣接するとともに、すでに符号化済みの画素で構成されるテンプレート領域Bが示されている。すなわち、テンプレート領域Bは、符号化処理をラスタスキャン順に行う場合には、図19に示されるように、対象ブロックAの左および上側に位置する領域であり、フレームメモリ72に復号画像が蓄積されている領域である。
インターTP動き予測・補償部78は、参照フレーム上の所定の探索範囲E内において、例えば、SAD(Sum of Absolute Difference) 等をコスト関数としてマッチング処理を行い、テンプレート領域Bの画素値と相関が最も高くなる領域B’を探索する。そして、インターTP動き予測・補償部78は、探索された領域B’に対応するブロックA’を、対象ブロックAに対する予測画像として、対象ブロックAに対する動きベクトルPを探索する。すなわち、インターテンプレートマッチング方式においては、符号化済の領域であるテンプレートのマッチング処理を行いことにより、符号化対象ブロックの動きベクトルを探索して符号化対象ブロックの動きを予測するのである。
このように、インターテンプレートマッチング方式による動きベクトル探索処理は、テンプレートマッチング処理に復号画像を用いているので、所定の探索範囲Eを予め定めておくことにより、図1の画像符号化装置51と後述する画像復号装置において同一の処理を行うことが可能である。すなわち、画像復号装置においても、インターTP動き予測・補償部を構成することにより、対象ブロックAに対する動きベクトルPの情報を画像復号装置に送る必要がなくなるので、圧縮画像中における動きベクトル情報を低減することができる。
なお、この所定の探索範囲Eは、例えば、動きベクトル(0,0)を中心とした探索範囲とされる。また、この所定の探索範囲Eは、例えば、図18を参照して上述したように、隣接ブロックとの相関で生成された予測動きベクトル情報を中心とした探索範囲とされるようにしてもよい。
また、インターテンプレートマッチング方式は、マルチ参照フレーム(Multi-Reference Frame)へ対応させることも可能である。
ここで、H.264/AVC方式において定められているマルチ参照フレームの動き予測・補償方式について、図20を参照して説明する。
図20の例においては、いまから符号化される対象フレーム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-1,…, Fn-5の順にインデックスが小さい。
対象フレームFnには、ブロックA1とブロックA2が示されており、ブロックA1は、2つ前のフレームFn-2のブロックA1’と相関があるとされて、動きベクトルV1が探索されている。また、ブロックA2は、4つ前のフレームFn-4のブロックA2’と相関があるとされて、動きベクトルV2が探索されている。
すなわち、MPEG2においては、参照が可能であるのは、Pピクチャにおいては、直前のフレームFn-1のみであったが、H.264/AVC方式においては、複数の参照フレームを持つことが可能であり、ブロックA1がフレームFn-2を参照し、ブロックA2がフレームFn-4を参照しているというように、ブロック毎にそれぞれ独立した参照フレーム情報を持つことが可能である。
しかしながら、インターテンプレートマッチング方式により動きベクトルPを探索する場合、図19に示されるテンプレート領域Bと同様の領域を常に利用できるとは限らない。上述したように、符号化済の領域であるテンプレートのマッチング処理を行って符号化対象ブロックの動きを予測するので、符号化対象ブロックに隣接する符号化済の領域が必要だからである。
例えば、図21のAに示されるようなフレームが符号化される場合を考える。図21のAにおける領域pは、当該フレームの画枠の上端に位置する領域である。また、図21のAにおける領域pは、当該フレームの画枠の左端に位置する領域である。さらに、図21のAにおける領域rは、当該フレームの画枠の左上端に位置する領域である。
H.264/AVC方式における符号化処理は、ラスタスキャン順に行なわれるので、画枠の左上端のブロックから右方向に順に符号化されていく。従って、図21のAにおける領域rに位置するブロックを符号化する場合、当該フレーム内には、未だ符号化済の領域が存在しないことになる。
また、図21のAにおける領域pに位置するブロックを符号化する場合、当該フレーム内には、符号化対象ブロックの上側に隣接する符号化済の領域が未だ存在しないことになる。
さらに、図21のAにおける領域qに位置するブロックを符号化する場合、当該フレーム内には、符号化対象ブロックの左側に隣接する符号化済の領域が未だ存在しないことになる。
いま、図19に示した対象ブロックAとテンプレート領域Bを、図21のBのように表すと、対象ブロックAは、4×4画素のブロックで示され、テンプレート領域Bは、4×2画素の領域x、2×4画素の領域y、および2×2画素の領域zで構成されることになる。なお、図21のBにおける最も小さい四角形の枠のそれぞれが1つの画素を表しているものとする。
上述したように、図21のAにおける領域pに位置するブロックを符号化する場合、当該フレーム内には、符号化対象ブロックの上側に隣接する符号化済の領域が未だ存在しないので、図21のBの領域xと領域zをテンプレート領域に含めることができない。
また、図21のAにおける領域qに位置するブロックを符号化する場合、当該フレーム内には、符号化対象ブロックの左側に隣接する符号化済の領域が未だ存在しないことになる。すなわち、図21のAにおける領域qに位置するブロックを符号化する場合、当該フレーム内には、符号化対象ブロックの上側に隣接する符号化済の領域が未だ存在しないので、図21のBの領域yと領域zをテンプレート領域に含めることができない。
なお、図21のAにおける領域sに位置するブロックを符号化する場合は、図21のBの領域x、領域y、および領域zをテンプレート領域に含めることができる。
このように、符号化対象ブロックが画枠内のどの位置に存在するかによって、図19に示されるテンプレート領域Bと同様の領域を利用できるか否かが定まることになる。従って、インターテンプレートマッチング方式により動きベクトルを探索する場合、図19に示されるテンプレート領域Bと同様の領域を常に利用できるとは限らないのである。
そこで、本発明においては、インターテンプレートマッチング方式により動きベクトルを探索する場合、ブロック位置検出部90により符号化対象ブロックが画枠内のどの位置に存在するかを検出し、その検出結果に応じてテンプレートマッチング処理が施されるようになされている。
例えば、ブロック位置検出部90により符号化対象ブロックが図21のAの領域pに存在することが検出された場合、図21のBにおける領域yの画素のみを用いてテンプレートマッチング処理が施される。
また、ブロック位置検出部90により符号化対象ブロックが図21のAの領域pに存在することが検出された場合、インターテンプレート予測モードの動き予測により探索された動きベクトル情報の値を(0,0)とするようにしてもよい。
さらに、ブロック位置検出部90により符号化対象ブロックが図21のAの領域pに存在することが検出された場合、インターテンプレート予測モードの動き予測が行なわれないようにしてもよい。
ブロック位置検出部90により符号化対象ブロックが図21のAの領域qに存在することが検出された場合、図21のBにおける領域xの画素のみを用いてテンプレートマッチング処理が施される。
また、ブロック位置検出部90により符号化対象ブロックが図21のAの領域qに存在することが検出された場合、インターテンプレート予測モードの動き予測により探索された動きベクトル情報の値を(0,0)とするようにしてもよい。
さらに、ブロック位置検出部90により符号化対象ブロックが図21のAの領域qに存在することが検出された場合、インターテンプレート予測モードの動き予測が行なわれないようにしてもよい。
ブロック位置検出部90により符号化対象ブロックが図21のAの領域rに存在することが検出された場合、インターテンプレート予測モードの動き予測により探索された動きベクトル情報の値を(0,0)とする。
また、ブロック位置検出部90により符号化対象ブロックが図21のAの領域rに存在することが検出された場合、インターテンプレート予測モードの動き予測が行なわれないようにしてもよい。
なお、ブロック位置検出部90により符号化対象ブロックが図21のAにおける領域sに存在することが検出された場合、図19を参照して説明したように、テンプレートマッチング処理が施される。
ここでは、図21のAをフレームの画枠として説明したが、1つのフレームが複数のスライスに分割されて処理される場合であっても、図21のAをスライスの画枠として同様に本発明を適用することができる。
なお、インターテンプレート予測モードにおけるブロックおよびテンプレートのサイズは任意である。すなわち、動き予測・補償部77と同様に、図2で上述した16×16画素乃至4×4画素からなる8種類のブロックサイズから、1つのブロックサイズを固定して行うこともできるし、すべてのブロックサイズを候補として行うこともできる。ブロックサイズに応じて、テンプレートサイズは、可変としてもよいし、固定することもできる。
次に、図22のフローチャートを参照して、図5のステップS34のインターテンプレート動き予測処理の詳細な例について説明する。
ステップS71において、ブロック位置検出部90は、符号化の対象ブロックが画枠内のどの位置に存在するかを検出し、検出された位置情報(例えば、対象ブロックの左上端の座標値など)を取得する。
ステップS72において、インターTP動き予測・補償部78は、ステップS71の処理で取得した位置情報に基づいて、テンプレートマッチング処理を行う。
ここで、図23のフローチャートを参照して、図22のステップS72のテンプレートマッチング処理の詳細な例について説明する。
ステップS91において、インターTP動き予測・補償部78は、対象ブロックの位置が図21のAの領域s内であるか否かを判定する。ステップS91において、対象ブロックの位置が図21のAの領域s内ではないと判定された場合、処理は、ステップS92に進む。
ステップS92において、インターTP動き予測・補償部78は、さらに対象ブロックの位置を判定し、対象ブロックの位置が図21のAの領域p内であると判定された場合、処理は、ステップS93に進む。
ステップS93において、インターTP動き予測・補償部78は、図21のBにおける領域yの画素のみを用いてテンプレート領域を設定する。
なお、ステップS93において、インターテンプレート予測モードの動き予測により探索された動きベクトル情報の値を(0,0)とするようにしてもよいし、インターテンプレート予測モードの動き予測が行なわれないように設定されてもよい。
ステップS92において、対象ブロックの位置が図21のAの領域q内であると判定された場合、処理は、ステップS94に進む。
ステップS94において、インターTP動き予測・補償部78は、図21のBにおける領域xの画素のみを用いてテンプレート領域を設定する。
なお、ステップS94において、インターテンプレート予測モードの動き予測により探索された動きベクトル情報の値を(0,0)とするようにしてもよいし、インターテンプレート予測モードの動き予測が行なわれないように設定されてもよい。
ステップS92において、対象ブロックの位置が図21のAの領域r内であると判定された場合、処理は、ステップS95に進む。
ステップS95において、インターTP動き予測・補償部78は、インターテンプレート予測モードの動き予測により探索された動きベクトル情報の値を(0,0)とする。
なお、ステップS95において、インターテンプレート予測モードの動き予測が行なわれないように設定されてもよい。
一方、ステップS91において、対象ブロックの位置が図21のAの領域s内であると判定された場合、処理は、ステップS96に進む。
ステップS96において、インターTP動き予測・補償部78は、図21のBにおける領域x、領域yおよび領域zの画素を用いてテンプレート領域を設定する。
ステップS93乃至S96の処理の後、処理は、ステップS97に進み、インターTP動き予測・補償部78は、テンプレートマッチング処理ができるか否かを判定する。例えば、ステップS93乃至S95の処理で、インターテンプレート予測モードの動き予測により探索された動きベクトル情報の値が(0,0)とされていたり、インターテンプレート予測モードの動き予測が行なわれないように設定されていた場合、ステップS97では、テンプレートマッチング処理ができないと判定される。
ステップS97においてテンプレートマッチングができると判定された場合、処理は、ステップS98に進み、インターTP動き予測・補償部78は、テンプレートマッチングにより、対象ブロックの動きベクトルを探索する。
一方、ステップS97においてテンプレートマッチングができないと判定された場合、ステップS98の処理はスキップされる。
このようにして、テンプレートマッチング処理が実行される。
図22に戻って、ステップS72の処理の後、ステップS73において、インターTP動き予測・補償部78は、インターテンプレート予測モードに対して、上述した式(30)または式(31)で示されるコスト関数値を算出する。なお、ステップS72の処理において、インターテンプレート予測モードの動き予測が行なわれないように設定されていた場合、ステップS73で算出されるコスト関数値は、例えば、コスト関数値がとり得る最大値として算出される。ここで算出されたコスト関数値は、上述した図5のステップS35で最適インター予測モードを決定する際に用いられる。
このようにして、インターテンプレート動き予測処理が行われる。
符号化された圧縮画像は、所定の伝送路を介して伝送され、画像復号装置により復号される。図23は、このような画像復号装置の一実施の形態の構成を表している。
画像復号装置101は、蓄積バッファ111、可逆復号部112、逆量子化部113、逆直交変換部114、演算部115、デブロックフィルタ116、画面並べ替えバッファ117、D/A変換部118、フレームメモリ119、スイッチ120、イントラ予測部121、動き予測・補償部124、インターテンプレート動き予測・補償部125、スイッチ127、およびブロック位置検出部130により構成されている。
なお、以下、インターテンプレート動き予測・補償部125を、インターTP動き予測・補償部125と称する。
蓄積バッファ111は伝送されてきた圧縮画像を蓄積する。可逆復号部112は、蓄積バッファ111より供給された、図1の可逆符号化部66により符号化された情報を、可逆符号化部66の符号化方式に対応する方式で復号する。逆量子化部113は可逆復号部112により復号された画像を、図1の量子化部65の量子化方式に対応する方式で逆量子化する。逆直交変換部114は、図1の直交変換部64の直交変換方式に対応する方式で逆量子化部113の出力を逆直交変換する。
逆直交変換された出力は演算部115によりスイッチ127から供給される予測画像と加算されて復号される。デブロックフィルタ116は、復号された画像のブロック歪を除去した後、フレームメモリ119に供給し、蓄積させるとともに、画面並べ替えバッファ117に出力する。
画面並べ替えバッファ117は、画像の並べ替えを行う。すなわち、図1の画面並べ替えバッファ62により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部118は、画面並べ替えバッファ117から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
スイッチ120は、インター符号化が行われる画像と参照される画像をフレームメモリ119から読み出し、動き予測・補償部124に出力するとともに、イントラ予測に用いられる画像をフレームメモリ119から読み出し、イントラ予測部121に供給する。
イントラ予測部121には、ヘッダ情報を復号して得られたイントラ予測モードに関する情報が可逆復号部112から供給される。イントラ予測モードである情報が供給された場合、イントラ予測部121は、この情報に基づいて、予測画像を生成する。イントラ予測部121は、生成した予測画像を、スイッチ127に出力する。
動き予測・補償部124には、ヘッダ情報を復号して得られた情報(予測モード、動きベクトル情報や参照フレーム情報)が可逆復号部112から供給される。インター予測モードである情報が供給された場合、動き予測・補償部124は、動きベクトル情報と参照フレーム情報に基づいて画像に動き予測と補償処理を施し、予測画像を生成する。インターテンプレート予測モードである情報が供給された場合、動き予測・補償部124は、フレームメモリ119から読み出されたインター符号化が行われる画像と参照される画像をインターTP動き予測・補償部125に供給し、インターテンプレート予測モードでの動き予測・補償処理を行わせる。
また、動き予測・補償部124は、予測モード情報に応じて、インター予測モードにより生成された予測画像、または、インターテンプレート予測モードにより生成された予測画像のどちらか一方をスイッチ127に出力する。
インターTP動き予測・補償部125は、図1のインターTP動き予測・補償部78と同様のインターテンプレート予測モードの動き予測と補償処理を行う。すなわち、インターTP動き予測・補償部125は、フレームメモリ119から読み出されたインター符号化が行われる画像と参照される画像に基づいて、インターテンプレート予測モードの動き予測と補償処理を行い、予測画像を生成する。その際、インターTP動き予測・補償部125は、上述したように、所定の探索範囲での動き予測を行う。
このとき、ブロック位置検出部130により、図1のブロック位置検出部90の場合と同様に、符号化の対象となるブロックの、フレームまたはスライスにおける位置が検出されるようになされている。
インターテンプレート予測モードの動き予測・補償により生成された予測画像は、動き予測・補償部124に供給される。
スイッチ127は、動き予測・補償部124またはイントラ予測部121により生成された予測画像を選択し、演算部115に供給する。
次に、図25のフローチャートを参照して、画像復号装置101が実行する復号処理について説明する。
ステップS131において、蓄積バッファ111は伝送されてきた画像を蓄積する。ステップS132において、可逆復号部112は、蓄積バッファ111から供給される圧縮画像を復号する。すなわち、図1の可逆符号化部66により符号化されたIピクチャ、Pピクチャ、並びにBピクチャが復号される。
このとき、動きベクトル情報や予測モード情報(イントラ予測モード、インター予測モード、またはインターテンプレート予測モードを表す情報)も復号される。すなわち、予測モード情報がイントラ予測モードである場合、予測モード情報は、イントラ予測部121に供給される。予測モード情報がインター予測モードまたはインターテンプレート予測モードである場合、予測モード情報は、動き予測・補償部124に供給される。その際、対応する動きベクトル情報や参照フレーム情報があれば、それも、動き予測・補償部124に供給される。
ステップS133において、逆量子化部113は可逆復号部112により復号された変換係数を、図1の量子化部65の特性に対応する特性で逆量子化する。ステップS134において逆直交変換部114は逆量子化部113により逆量子化された変換係数を、図1の直交変換部64の特性に対応する特性で逆直交変換する。これにより図1の直交変換部64の入力(演算部63の出力)に対応する差分情報が復号されたことになる。
ステップS135において、演算部115は、後述するステップS139の処理で選択され、スイッチ127を介して入力される予測画像を差分情報と加算する。これにより元の画像が復号される。ステップS136においてデブロックフィルタ116は、演算部115より出力された画像をフィルタリングする。これによりブロック歪みが除去される。
ステップS137においてフレームメモリ119は、フィルタリングされた画像を記憶する。
ステップS137においてフレームメモリ119は、フィルタリングされた画像を記憶する。
ステップS138において、イントラ予測部121、動き予測・補償部124、またはインターTP動き予測・補償部125は、可逆復号部112から供給される予測モード情報に対応して、それぞれ画像の予測処理を行う。
すなわち、可逆復号部112からイントラ予測モード情報が供給された場合、イントラ予測部121は、イントラ予測モードのイントラ予測処理を行う。また、可逆復号部112からインター予測モード情報が供給された場合、動き予測・補償部124は、インター予測モードの動き予測・補償処理を行う。可逆復号部112からインターテンプレート予測モード情報が供給された場合、インターTP動き予測・補償部125は、インターテンプレート予測モードの動き予測・補償処理を行う。
ステップS138における予測処理の詳細は、図26を参照して後述するが、この処理により、イントラ予測部121により生成された予測画像、動き予測・補償部124により生成された予測画像、またはインターTP動き予測・補償部125により生成された予測画像がスイッチ127に供給される。
ステップS139において、スイッチ127は予測画像を選択する。すなわち、イントラ予測部121により生成された予測画像、動き予測・補償部124により生成された予測画像、またはインターTP動き予測・補償部125により生成された予測画像が供給されるので、供給された予測画像が選択されて演算部115に供給され、上述したように、ステップS134において逆直交変換部114の出力と加算される。
ステップS140において、画面並べ替えバッファ117は並べ替えを行う。すなわち画像符号化装置51の画面並べ替えバッファ62により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
ステップS141において、D/A変換部118は、画面並べ替えバッファ117からの画像をD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
次に、図26のフローチャートを参照して、図25のステップS138の予測処理について説明する。
イントラ予測部121は、ステップS171において、対象ブロックがイントラ符号化されているか否かを判定する。可逆復号部112からイントラ予測モード情報がイントラ予測部121に供給されると、イントラ予測部121は、ステップ171において、対象ブロックがイントラ符号化されていると判定し、処理は、ステップS172に進む。
ステップS172において、イントラ予測部121は、イントラ予測モード情報を取得する。
ステップS173において、処理に必要な画像がフレームメモリ119から読み出されるとともに、イントラ予測部121は、ステップS172で取得されたイントラ予測モード情報に従ってイントラ予測し、予測画像を生成する。
一方、ステップS171において、イントラ符号化されていないと判定された場合、処理は、ステップS174に進む。
この場合、処理対象の画像がインター処理される画像であるから、必要な画像がフレームメモリ119から読み出され、スイッチ120を介して動き予測・補償部124に供給される。ステップS174において、動き予測・補償部124は、動き予測・補償部124は、可逆復号部112からインター予測モード情報、参照フレーム情報、動きベクトル情報を取得する。
ステップS175において、動き予測・補償部124は、可逆復号部112からのインター予測モード情報に基づいて、処理対象の画像の予測モードがインターテンプレート予測モードであるか否かを判定する。
インターテンプレート予測モードではないと判定された場合、ステップS176において、動き予測・補償部124は、ステップS174で取得した動きベクトルに基づいて、インター予測モードの動き予測をし、予測画像を生成する。
一方、ステップS175において、インターテンプレート予測モードであると判定された場合、処理は、ステップS177に進む。
ステップS177において、ブロック位置検出部130は、対象ブロックの位置情報を取得する。このとき、例えば、ブロック位置検出部130が、符号化の対象ブロックが画枠内のどの位置に存在するかを検出し、検出された位置情報(例えば、対象ブロックの左上端の座標値など)を取得する。
ステップS178において、インターTP動き予測・補償部125は、テンプレートマッチング処理を実行する。
この処理は、図23を参照して上述した処理と同様なので、詳細な説明は省略するが、復号処理におけるテンプレートマッチング処理では、インターテンプレート予測モードの動き予測が行なわれないように設定されることはない。すなわち、図26のステップS178の処理の場合、図23のステップS93乃至S95において、インターテンプレート予測モードの動き予測が行なわれないように設定されることはない。
ステップS179において、インターTP動き予測・補償部125は、ステップS178の処理により得られた動きベクトルに基づいて、インターテンプレート予測モードの動き予測をし、予測画像を生成する。
このようにして、予測処理が実行される。
以上のように、本発明においては、画像符号化装置および画像復号装置において、復号画像を用いて動き探索を行うテンプレートマッチングに基づく動き予測を行うようにしたので、動きベクトル情報を送らずに、良質な画質を表示させることができる。
また、その際、符号化対象ブロックの位置が検出されて、動きベクトルの探索に用いられるテンプレート領域の画素が特定されるなど、テンプレートマッチング処理の内容が設定されるようにしたので、通常のインターテンプレートマッチングの場合と比較して、より圧縮効率の低下を抑制することができる。
なお、上記説明においては、マクロブロックの大きさが、16×16画素の場合について説明してきたが、本発明は、”Video Coding Using Extended Block Sizes”,VCEG-AD09,ITU-Telecommunications Standardization Sector STUDY GROUP Question 16 - Contribution 123, Jan 2009に記載の拡張されたマクロブロックサイズに対しても適用することが可能である。
図27は、拡張されたマクロブロックサイズの例を示す図である。上記記載では、マクロブロックサイズが32×32画素に拡張されている。
図27の上段には、左から、32×32画素、32×16画素、16×32画素、および16×16画素のブロック(パーティション)に分割された32×32画素で構成されるマクロブロックが順に示されている。図27の中段には、左から、16×16画素、16×8画素、8×16画素、および8×8画素のブロックに分割された16×16画素で構成されるブロックが順に示されている。また、図27の下段には、左から、8×8画素、8×4画素、4×8画素、および4×4画素のブロックに分割された8×8画素のブロックが順に示されている。
すなわち、32×32画素のマクロブロックは、図27の上段に示される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等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルTV(テレビジョン)、インターネット、および携帯電話機などのネットワークメディアを介して受信する際に、あるいは、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスクを含む)、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア、または、プログラムが一時的もしくは永続的に格納されるROMやハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインタフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
なお、本明細書において、プログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、上述した画像符号化装置51や画像復号装置101は、任意の電子機器に適用することができる。以下にその例について説明する。
図28は、本発明を適用した画像復号装置を用いるテレビジョン受像機の主な構成例を示すブロック図である。
図28に示されるテレビジョン受像機300は、地上波チューナ313、ビデオデコーダ315、映像信号処理回路318、グラフィック生成回路319、パネル駆動回路320、および表示パネル321を有する。
地上波チューナ313は、地上アナログ放送の放送波信号を、アンテナを介して受信し、復調し、映像信号を取得し、それをビデオデコーダ315に供給する。ビデオデコーダ315は、地上波チューナ313から供給された映像信号に対してデコード処理を施し、得られたデジタルのコンポーネント信号を映像信号処理回路318に供給する。
映像信号処理回路318は、ビデオデコーダ315から供給された映像データに対してノイズ除去などの所定の処理を施し、得られた映像データをグラフィック生成回路319に供給する。
グラフィック生成回路319は、表示パネル321に表示させる番組の映像データや、ネットワークを介して供給されるアプリケーションに基づく処理による画像データなどを生成し、生成した映像データや画像データをパネル駆動回路320に供給する。また、グラフィック生成回路319は、項目の選択などにユーザにより利用される画面を表示するための映像データ(グラフィック)を生成し、それを番組の映像データに重畳したりすることによって得られた映像データをパネル駆動回路320に供給するといった処理も適宜行う。
パネル駆動回路320は、グラフィック生成回路319から供給されたデータに基づいて表示パネル321を駆動し、番組の映像や上述した各種の画面を表示パネル321に表示させる。
表示パネル321はLCD(Liquid Crystal Display)などよりなり、パネル駆動回路320による制御に従って番組の映像などを表示させる。
また、テレビジョン受像機300は、音声A/D(Analog/Digital)変換回路314、音声信号処理回路322、エコーキャンセル/音声合成回路323、音声増幅回路324、およびスピーカ325も有する。
地上波チューナ313は、受信した放送波信号を復調することにより、映像信号だけでなく音声信号も取得する。地上波チューナ313は、取得した音声信号を音声A/D変換回路314に供給する。
音声A/D変換回路314は、地上波チューナ313から供給された音声信号に対してA/D変換処理を施し、得られたデジタルの音声信号を音声信号処理回路322に供給する。
音声信号処理回路322は、音声A/D変換回路314から供給された音声データに対してノイズ除去などの所定の処理を施し、得られた音声データをエコーキャンセル/音声合成回路323に供給する。
エコーキャンセル/音声合成回路323は、音声信号処理回路322から供給された音声データを音声増幅回路324に供給する。
音声増幅回路324は、エコーキャンセル/音声合成回路323から供給された音声データに対してD/A変換処理、増幅処理を施し、所定の音量に調整した後、音声をスピーカ325から出力させる。
さらに、テレビジョン受像機300は、デジタルチューナ316およびMPEGデコーダ317も有する。
デジタルチューナ316は、デジタル放送(地上デジタル放送、BS(Broadcasting Satellite)/CS(Communications Satellite)デジタル放送)の放送波信号を、アンテナを介して受信し、復調し、MPEG-TS(Moving Picture Experts Group-Transport Stream)を取得し、それをMPEGデコーダ317に供給する。
MPEGデコーダ317は、デジタルチューナ316から供給されたMPEG-TSに施されているスクランブルを解除し、再生対象(視聴対象)になっている番組のデータを含むストリームを抽出する。MPEGデコーダ317は、抽出したストリームを構成する音声パケットをデコードし、得られた音声データを音声信号処理回路322に供給するとともに、ストリームを構成する映像パケットをデコードし、得られた映像データを映像信号処理回路318に供給する。また、MPEGデコーダ317は、MPEG-TSから抽出したEPG(Electronic Program Guide)データを図示せぬ経路を介してCPU332に供給する。
テレビジョン受像機300は、このように映像パケットをデコードするMPEGデコーダ317として、上述した画像復号装置101を用いる。したがって、MPEGデコーダ317は、画像復号装置101の場合と同様に、復号画像を用いて動き探索を行うテンプレートマッチングに基づく動き予測を行う際に、復号対象ブロックの位置を検出して、動きベクトルの探索に用いられるテンプレート領域の画素を特定するなど、テンプレートマッチング処理の内容を設定する。これにより、復号対象の画像の領域の位置に応じて、適切に動き予測することができるので、より圧縮効率の低下を抑制することができる。
MPEGデコーダ317から供給された映像データは、ビデオデコーダ315から供給された映像データの場合と同様に、映像信号処理回路318において所定の処理が施される。そして、所定の処理が施された映像データは、グラフィック生成回路319において、生成された映像データ等が適宜重畳され、パネル駆動回路320を介して表示パネル321に供給され、その画像が表示される。
MPEGデコーダ317から供給された音声データは、音声A/D変換回路314から供給された音声データの場合と同様に、音声信号処理回路322において所定の処理が施される。そして、所定の処理が施された音声データは、エコーキャンセル/音声合成回路323を介して音声増幅回路324に供給され、D/A変換処理や増幅処理が施される。その結果、所定の音量に調整された音声がスピーカ325から出力される。
また、テレビジョン受像機300は、マイクロホン326、およびA/D変換回路327も有する。
A/D変換回路327は、音声会話用のものとしてテレビジョン受像機300に設けられるマイクロホン326により取り込まれたユーザの音声の信号を受信する。A/D変換回路327は、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データをエコーキャンセル/音声合成回路323に供給する。
エコーキャンセル/音声合成回路323は、テレビジョン受像機300のユーザ(ユーザA)の音声のデータがA/D変換回路327から供給されている場合、ユーザAの音声データを対象としてエコーキャンセルを行う。そして、エコーキャンセル/音声合成回路323は、エコーキャンセルの後、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路324を介してスピーカ325より出力させる。
さらに、テレビジョン受像機300は、音声コーデック328、内部バス329、SDRAM(Synchronous Dynamic Random Access Memory)330、フラッシュメモリ331、CPU332、USB(Universal Serial Bus) I/F333、およびネットワークI/F334も有する。
A/D変換回路327は、音声会話用のものとしてテレビジョン受像機300に設けられるマイクロホン326により取り込まれたユーザの音声の信号を受信する。A/D変換回路327は、受信した音声信号に対してA/D変換処理を施し、得られたデジタルの音声データを音声コーデック328に供給する。
音声コーデック328は、A/D変換回路327から供給された音声データを、ネットワーク経由で送信するための所定のフォーマットのデータに変換し、内部バス329を介してネットワークI/F334に供給する。
ネットワークI/F334は、ネットワーク端子335に装着されたケーブルを介してネットワークに接続される。ネットワークI/F334は、例えば、そのネットワークに接続される他の装置に対して、音声コーデック328から供給された音声データを送信する。また、ネットワークI/F334は、例えば、ネットワークを介して接続される他の装置から送信される音声データを、ネットワーク端子335を介して受信し、それを、内部バス329を介して音声コーデック328に供給する。
音声コーデック328は、ネットワークI/F334から供給された音声データを所定のフォーマットのデータに変換し、それをエコーキャンセル/音声合成回路323に供給する。
エコーキャンセル/音声合成回路323は、音声コーデック328から供給される音声データを対象としてエコーキャンセルを行い、他の音声データと合成するなどして得られた音声のデータを、音声増幅回路324を介してスピーカ325より出力させる。
SDRAM330は、CPU332が処理を行う上で必要な各種のデータを記憶する。
フラッシュメモリ331は、CPU332により実行されるプログラムを記憶する。フラッシュメモリ331に記憶されているプログラムは、テレビジョン受像機300の起動時などの所定のタイミングでCPU332により読み出される。フラッシュメモリ331には、デジタル放送を介して取得されたEPGデータ、ネットワークを介して所定のサーバから取得されたデータなども記憶される。
例えば、フラッシュメモリ331には、CPU332の制御によりネットワークを介して所定のサーバから取得されたコンテンツデータを含むMPEG-TSが記憶される。フラッシュメモリ331は、例えばCPU332の制御により、そのMPEG-TSを、内部バス329を介してMPEGデコーダ317に供給する。
MPEGデコーダ317は、デジタルチューナ316から供給されたMPEG-TSの場合と同様に、そのMPEG-TSを処理する。このようにテレビジョン受像機300は、映像や音声等よりなるコンテンツデータを、ネットワークを介して受信し、MPEGデコーダ317を用いてデコードし、その映像を表示させたり、音声を出力させたりすることができる。
また、テレビジョン受像機300は、リモートコントローラ351から送信される赤外線信号を受光する受光部337も有する。
受光部337は、リモートコントローラ351からの赤外線を受光し、復調して得られたユーザ操作の内容を表す制御コードをCPU332に出力する。
CPU332は、フラッシュメモリ331に記憶されているプログラムを実行し、受光部337から供給される制御コードなどに応じてテレビジョン受像機300の全体の動作を制御する。CPU332とテレビジョン受像機300の各部は、図示せぬ経路を介して接続されている。
USB I/F333は、USB端子336に装着されたUSBケーブルを介して接続される、テレビジョン受像機300の外部の機器との間でデータの送受信を行う。ネットワークI/F334は、ネットワーク端子335に装着されたケーブルを介してネットワークに接続し、ネットワークに接続される各種の装置と音声データ以外のデータの送受信も行う。
テレビジョン受像機300は、MPEGデコーダ317として画像復号装置101を用いることにより、復号対象の画像の領域の位置に応じて、適切に動き予測することができる。その結果として、テレビジョン受像機300は、アンテナを介して受信した放送波信号や、ネットワークを介して取得したコンテンツデータから、より高精細な復号画像を得て、表示することができる。
図29は、本発明を適用した画像符号化装置および画像復号装置を用いる携帯電話機の主な構成例を示すブロック図である。
図29に示される携帯電話機400は、各部を統括的に制御するようになされた主制御部450、電源回路部451、操作入力制御部452、画像エンコーダ453、カメラI/F部454、LCD制御部455、画像デコーダ456、多重分離部457、記録再生部462、変復調回路部458、および音声コーデック459を有する。これらは、バス460を介して互いに接続されている。
また、携帯電話機400は、操作キー419、CCD(Charge Coupled Devices)カメラ416、液晶ディスプレイ418、記憶部423、送受信回路部463、アンテナ414、マイクロホン(マイク)421、およびスピーカ417を有する。
電源回路部451は、ユーザの操作により終話および電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することにより携帯電話機400を動作可能な状態に起動する。
携帯電話機400は、CPU、ROMおよびRAM等でなる主制御部450の制御に基づいて、音声通話モードやデータ通信モード等の各種モードで、音声信号の送受信、電子メールや画像データの送受信、画像撮影、またはデータ記録等の各種動作を行う。
例えば、音声通話モードにおいて、携帯電話機400は、マイクロホン(マイク)421で集音した音声信号を、音声コーデック459によってデジタル音声データに変換し、これを変復調回路部458でスペクトラム拡散処理し、送受信回路部463でデジタルアナログ変換処理および周波数変換処理する。携帯電話機400は、その変換処理により得られた送信用信号を、アンテナ414を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(音声信号)は、公衆電話回線網を介して通話相手の携帯電話機に供給される。
また、例えば、音声通話モードにおいて、携帯電話機400は、アンテナ414で受信した受信信号を送受信回路部463で増幅し、さらに周波数変換処理およびアナログデジタル変換処理し、変復調回路部458でスペクトラム逆拡散処理し、音声コーデック459によってアナログ音声信号に変換する。携帯電話機400は、その変換して得られたアナログ音声信号をスピーカ417から出力する。
更に、例えば、データ通信モードにおいて電子メールを送信する場合、携帯電話機400は、操作キー419の操作によって入力された電子メールのテキストデータを、操作入力制御部452において受け付ける。携帯電話機400は、そのテキストデータを主制御部450において処理し、LCD制御部455を介して、画像として液晶ディスプレイ418に表示させる。
また、携帯電話機400は、主制御部450において、操作入力制御部452が受け付けたテキストデータやユーザ指示等に基づいて電子メールデータを生成する。携帯電話機400は、その電子メールデータを、変復調回路部458でスペクトラム拡散処理し、送受信回路部463でデジタルアナログ変換処理および周波数変換処理する。携帯電話機400は、その変換処理により得られた送信用信号を、アンテナ414を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(電子メール)は、ネットワークおよびメールサーバ等を介して、所定のあて先に供給される。
また、例えば、データ通信モードにおいて電子メールを受信する場合、携帯電話機400は、基地局から送信された信号を、アンテナ414を介して送受信回路部463で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機400は、その受信信号を変復調回路部458でスペクトラム逆拡散処理して元の電子メールデータを復元する。携帯電話機400は、復元された電子メールデータを、LCD制御部455を介して液晶ディスプレイ418に表示する。
なお、携帯電話機400は、受信した電子メールデータを、記録再生部462を介して、記憶部423に記録する(記憶させる)ことも可能である。
この記憶部423は、書き換え可能な任意の記憶媒体である。記憶部423は、例えば、RAMや内蔵型フラッシュメモリ等の半導体メモリであってもよいし、ハードディスクであってもよいし、磁気ディスク、光磁気ディスク、光ディスク、USBメモリ、またはメモリカード等のリムーバブルメディアであってもよい。もちろん、これら以外のものであってもよい。
さらに、例えば、データ通信モードにおいて画像データを送信する場合、携帯電話機400は、撮像によりCCDカメラ416で画像データを生成する。CCDカメラ416は、レンズや絞り等の光学デバイスと光電変換素子としてのCCDを有し、被写体を撮像し、受光した光の強度を電気信号に変換し、被写体の画像の画像データを生成する。その画像データを、カメラI/F部454を介して、画像エンコーダ453で、例えばMPEG2やMPEG4等の所定の符号化方式によって圧縮符号化することにより符号化画像データに変換する。
携帯電話機400は、このような処理を行う画像エンコーダ453として、上述した画像符号化装置51を用いる。したがって、画像エンコーダ453は、画像符号化装置51の場合と同様に、復号画像を用いて動き探索を行うテンプレートマッチングに基づく動き予測を行う際に、符号化対象ブロックの位置を検出して、動きベクトルの探索に用いられるテンプレート領域の画素を特定するなど、テンプレートマッチング処理の内容を設定する。これにより、符号化対象の画像の領域の位置に応じて、適切に動き予測することができるので、より圧縮効率の低下を抑制することができる。
なお、携帯電話機400は、このとき同時に、CCDカメラ416で撮像中にマイクロホン(マイク)421で集音した音声を、音声コーデック459においてアナログデジタル変換し、さらに符号化する。
携帯電話機400は、多重分離部457において、画像エンコーダ453から供給された符号化画像データと、音声コーデック459から供給されたデジタル音声データとを、所定の方式で多重化する。携帯電話機400は、その結果得られる多重化データを、変復調回路部458でスペクトラム拡散処理し、送受信回路部463でデジタルアナログ変換処理および周波数変換処理する。携帯電話機400は、その変換処理により得られた送信用信号を、アンテナ414を介して図示しない基地局へ送信する。基地局へ伝送された送信用信号(画像データ)は、ネットワーク等を介して、通信相手に供給される。
なお、画像データを送信しない場合、携帯電話機400は、CCDカメラ416で生成した画像データを、画像エンコーダ453を介さずに、LCD制御部455を介して液晶ディスプレイ418に表示させることもできる。
また、例えば、データ通信モードにおいて、簡易ホームページ等にリンクされた動画像ファイルのデータを受信する場合、携帯電話機400は、基地局から送信された信号を、アンテナ414を介して送受信回路部463で受信し、増幅し、さらに周波数変換処理およびアナログデジタル変換処理する。携帯電話機400は、その受信信号を変復調回路部458でスペクトラム逆拡散処理して元の多重化データを復元する。携帯電話機400は、多重分離部457において、その多重化データを分離して、符号化画像データと音声データとに分ける。
携帯電話機400は、画像デコーダ456において、符号化画像データを、MPEG2やMPEG4等の所定の符号化方式に対応した復号方式でデコードすることにより、再生動画像データを生成し、これを、LCD制御部455を介して液晶ディスプレイ418に表示させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる動画データが液晶ディスプレイ418に表示される。
携帯電話機400は、このような処理を行う画像デコーダ456として、上述した画像復号装置101を用いる。したがって、画像デコーダ456は、画像復号装置101の場合と同様に、復号画像を用いて動き探索を行うテンプレートマッチングに基づく動き予測を行う際に、復号対象ブロックの位置を検出して、動きベクトルの探索に用いられるテンプレート領域の画素を特定するなど、テンプレートマッチング処理の内容を設定する。これにより、復号対象の画像の領域の位置に応じて、適切に動き予測することができるので、より圧縮効率の低下を抑制することができる。
このとき、携帯電話機400は、同時に、音声コーデック459において、デジタルの音声データをアナログ音声信号に変換し、これをスピーカ417より出力させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる音声データが再生される。
なお、電子メールの場合と同様に、携帯電話機400は、受信した簡易ホームページ等にリンクされたデータを、記録再生部462を介して、記憶部423に記録する(記憶させる)ことも可能である。
また、携帯電話機400は、主制御部450において、撮像されてCCDカメラ416で得られた2次元コードを解析し、2次元コードに記録された情報を取得することができる。
さらに、携帯電話機400は、赤外線通信部481で赤外線により外部の機器と通信することができる。
携帯電話機400は、画像エンコーダ453として画像符号化装置51を用いることにより、例えばCCDカメラ416において生成された画像データを符号化して生成する符号化データの符号化効率を向上させることができる。結果として、携帯電話機400は、符号化効率のよい符号化データ(画像データ)を、他の装置に提供することができる。
また、携帯電話機400は、画像デコーダ456として画像復号装置101を用いることにより、精度の高い予測画像を生成することができる。その結果として、携帯電話機400は、例えば、簡易ホームページにリンクされた動画像ファイルから、より高精細な復号画像を得て、表示することができる。
なお、以上において、携帯電話機400が、CCDカメラ416を用いるように説明したが、このCCDカメラ416の代わりに、CMOS(Complementary Metal Oxide Semiconductor)を用いたイメージセンサ(CMOSイメージセンサ)を用いるようにしてもよい。この場合も、携帯電話機400は、CCDカメラ416を用いる場合と同様に、被写体を撮像し、被写体の画像の画像データを生成することができる。
また、以上においては携帯電話機400として説明したが、例えば、PDA(Personal Digital Assistants)、スマートフォン、UMPC(Ultra Mobile Personal Computer)、ネットブック、ノート型パーソナルコンピュータ等、この携帯電話機400と同様の撮像機能や通信機能を有する装置であれば、どのような装置であっても携帯電話機400の場合と同様に、画像符号化装置51および画像復号装置101を適用することができる。
図30は、本発明を適用した画像符号化装置および画像復号装置を用いるハードディスクレコーダの主な構成例を示すブロック図である。
図30に示されるハードディスクレコーダ(HDDレコーダ)500は、チューナにより受信された、衛星や地上のアンテナ等より送信される放送波信号(テレビジョン信号)に含まれる放送番組のオーディオデータとビデオデータを、内蔵するハードディスクに保存し、その保存したデータをユーザの指示に応じたタイミングでユーザに提供する装置である。
ハードディスクレコーダ500は、例えば、放送波信号よりオーディオデータとビデオデータを抽出し、それらを適宜復号し、内蔵するハードディスクに記憶させることができる。また、ハードディスクレコーダ500は、例えば、ネットワークを介して他の装置からオーディオデータやビデオデータを取得し、それらを適宜復号し、内蔵するハードディスクに記憶させることもできる。
さらに、ハードディスクレコーダ500は、例えば、内蔵するハードディスクに記録されているオーディオデータやビデオデータを復号してモニタ560に供給し、モニタ560の画面にその画像を表示させる。また、ハードディスクレコーダ500は、モニタ560のスピーカよりその音声を出力させることができる。
ハードディスクレコーダ500は、例えば、チューナを介して取得された放送波信号より抽出されたオーディオデータとビデオデータ、または、ネットワークを介して他の装置から取得したオーディオデータやビデオデータを復号してモニタ560に供給し、モニタ560の画面にその画像を表示させる。また、ハードディスクレコーダ500は、モニタ560のスピーカよりその音声を出力させることもできる。
もちろん、この他の動作も可能である。
図30に示されるように、ハードディスクレコーダ500は、受信部521、復調部522、デマルチプレクサ523、オーディオデコーダ524、ビデオデコーダ525、およびレコーダ制御部526を有する。ハードディスクレコーダ500は、さらに、EPGデータメモリ527、プログラムメモリ528、ワークメモリ529、ディスプレイコンバータ530、OSD(On Screen Display)制御部531、ディスプレイ制御部532、記録再生部533、D/Aコンバータ534、および通信部535を有する。
また、ディスプレイコンバータ530は、ビデオエンコーダ541を有する。記録再生部533は、エンコーダ551およびデコーダ552を有する。
受信部521は、リモートコントローラ(図示せず)からの赤外線信号を受信し、電気信号に変換してレコーダ制御部526に出力する。レコーダ制御部526は、例えば、マイクロプロセッサなどにより構成され、プログラムメモリ528に記憶されているプログラムに従って、各種の処理を実行する。レコーダ制御部526は、このとき、ワークメモリ529を必要に応じて使用する。
通信部535は、ネットワークに接続され、ネットワークを介して他の装置との通信処理を行う。例えば、通信部535は、レコーダ制御部526により制御され、チューナ(図示せず)と通信し、主にチューナに対して選局制御信号を出力する。
復調部522は、チューナより供給された信号を、復調し、デマルチプレクサ523に出力する。デマルチプレクサ523は、復調部522より供給されたデータを、オーディオデータ、ビデオデータ、およびEPGデータに分離し、それぞれ、オーディオデコーダ524、ビデオデコーダ525、またはレコーダ制御部526に出力する。
オーディオデコーダ524は、入力されたオーディオデータを、例えばMPEG方式でデコードし、記録再生部533に出力する。ビデオデコーダ525は、入力されたビデオデータを、例えばMPEG方式でデコードし、ディスプレイコンバータ530に出力する。レコーダ制御部526は、入力されたEPGデータをEPGデータメモリ527に供給し、記憶させる。
ディスプレイコンバータ530は、ビデオデコーダ525またはレコーダ制御部526より供給されたビデオデータを、ビデオエンコーダ541により、例えばNTSC(National Television Standards Committee)方式のビデオデータにエンコードし、記録再生部533に出力する。また、ディスプレイコンバータ530は、ビデオデコーダ525またはレコーダ制御部526より供給されるビデオデータの画面のサイズを、モニタ560のサイズに対応するサイズに変換する。ディスプレイコンバータ530は、画面のサイズが変換されたビデオデータを、さらに、ビデオエンコーダ541によってNTSC方式のビデオデータに変換し、アナログ信号に変換し、ディスプレイ制御部532に出力する。
ディスプレイ制御部532は、レコーダ制御部526の制御のもと、OSD(On Screen Display)制御部531が出力したOSD信号を、ディスプレイコンバータ530より入力されたビデオ信号に重畳し、モニタ560のディスプレイに出力し、表示させる。
モニタ560にはまた、オーディオデコーダ524が出力したオーディオデータが、D/Aコンバータ534によりアナログ信号に変換されて供給されている。モニタ560は、このオーディオ信号を内蔵するスピーカから出力する。
記録再生部533は、ビデオデータやオーディオデータ等を記録する記憶媒体としてハードディスクを有する。
記録再生部533は、例えば、オーディオデコーダ524より供給されるオーディオデータを、エンコーダ551によりMPEG方式でエンコードする。また、記録再生部533は、ディスプレイコンバータ530のビデオエンコーダ541より供給されるビデオデータを、エンコーダ551によりMPEG方式でエンコードする。記録再生部533は、そのオーディオデータの符号化データとビデオデータの符号化データとをマルチプレクサにより合成する。記録再生部533は、その合成データをチャネルコーディングして増幅し、そのデータを、記録ヘッドを介してハードディスクに書き込む。
記録再生部533は、再生ヘッドを介してハードディスクに記録されているデータを再生し、増幅し、デマルチプレクサによりオーディオデータとビデオデータに分離する。記録再生部533は、デコーダ552によりオーディオデータおよびビデオデータをMPEG方式でデコードする。記録再生部533は、復号したオーディオデータをD/A変換し、モニタ560のスピーカに出力する。また、記録再生部533は、復号したビデオデータをD/A変換し、モニタ560のディスプレイに出力する。
レコーダ制御部526は、受信部521を介して受信されるリモートコントローラからの赤外線信号により示されるユーザ指示に基づいて、EPGデータメモリ527から最新のEPGデータを読み出し、それをOSD制御部531に供給する。OSD制御部531は、入力されたEPGデータに対応する画像データを発生し、ディスプレイ制御部532に出力する。ディスプレイ制御部532は、OSD制御部531より入力されたビデオデータをモニタ560のディスプレイに出力し、表示させる。これにより、モニタ560のディスプレイには、EPG(電子番組ガイド)が表示される。
また、ハードディスクレコーダ500は、インターネット等のネットワークを介して他の装置から供給されるビデオデータ、オーディオデータ、またはEPGデータ等の各種データを取得することができる。
通信部535は、レコーダ制御部526に制御され、ネットワークを介して他の装置から送信されるビデオデータ、オーディオデータ、およびEPGデータ等の符号化データを取得し、それをレコーダ制御部526に供給する。レコーダ制御部526は、例えば、取得したビデオデータやオーディオデータの符号化データを記録再生部533に供給し、ハードディスクに記憶させる。このとき、レコーダ制御部526および記録再生部533が、必要に応じて再エンコード等の処理を行うようにしてもよい。
また、レコーダ制御部526は、取得したビデオデータやオーディオデータの符号化データを復号し、得られるビデオデータをディスプレイコンバータ530に供給する。ディスプレイコンバータ530は、ビデオデコーダ525から供給されるビデオデータと同様に、レコーダ制御部526から供給されるビデオデータを処理し、ディスプレイ制御部532を介してモニタ560に供給し、その画像を表示させる。
また、この画像表示に合わせて、レコーダ制御部526が、復号したオーディオデータを、D/Aコンバータ534を介してモニタ560に供給し、その音声をスピーカから出力させるようにしてもよい。
さらに、レコーダ制御部526は、取得したEPGデータの符号化データを復号し、復号したEPGデータをEPGデータメモリ527に供給する。
以上のようなハードディスクレコーダ500は、ビデオデコーダ525、デコーダ552、およびレコーダ制御部526に内蔵されるデコーダとして画像復号装置101を用いる。したがって、ビデオデコーダ525、デコーダ552、およびレコーダ制御部526に内蔵されるデコーダは、画像復号装置101の場合と同様に、復号画像を用いて動き探索を行うテンプレートマッチングに基づく動き予測を行う際に、復号対象ブロックの位置を検出して、動きベクトルの探索に用いられるテンプレート領域の画素を特定するなど、テンプレートマッチング処理の内容を設定する。これにより、復号対象の画像の領域の位置に応じて、適切に動き予測することができるので、より圧縮効率の低下を抑制することができる。
したがって、ハードディスクレコーダ500は、精度の高い予測画像を生成することができる。その結果として、ハードディスクレコーダ500は、例えば、チューナを介して受信されたビデオデータの符号化データや、記録再生部533のハードディスクから読み出されたビデオデータの符号化データや、ネットワークを介して取得したビデオデータの符号化データから、より高精細な復号画像を得て、モニタ560に表示させることができる。
また、ハードディスクレコーダ500は、エンコーダ551として画像符号化装置51を用いる。したがって、エンコーダ551は、画像符号化装置51の場合と同様に、復号画像を用いて動き探索を行うテンプレートマッチングに基づく動き予測を行う際に、符号化対象ブロックの位置を検出して、動きベクトルの探索に用いられるテンプレート領域の画素を特定するなど、テンプレートマッチング処理の内容を設定する。これにより、符号化対象の画像の領域の位置に応じて、適切に動き予測することができるので、より圧縮効率の低下を抑制することができる。
したがって、ハードディスクレコーダ500は、例えば、ハードディスクに記録する符号化データの符号化効率を向上させることができる。その結果として、ハードディスクレコーダ500は、ハードディスクの記憶領域をより効率よく使用することができる。
なお、以上においては、ビデオデータやオーディオデータをハードディスクに記録するハードディスクレコーダ500について説明したが、もちろん、記録媒体はどのようなものであってもよい。例えばフラッシュメモリ、光ディスク、またはビデオテープ等、ハードディスク以外の記録媒体を適用するレコーダであっても、上述したハードディスクレコーダ500の場合と同様に、画像符号化装置51および画像復号装置101を適用することができる。
図31は、本発明を適用した画像復号装置および画像符号化装置を用いるカメラの主な構成例を示すブロック図である。
図31に示されるカメラ600は、被写体を撮像し、被写体の画像をLCD616に表示させたり、それを画像データとして、記録メディア633に記録したりする。
レンズブロック611は、光(すなわち、被写体の映像)を、CCD/CMOS612に入射させる。CCD/CMOS612は、CCDまたはCMOSを用いたイメージセンサであり、受光した光の強度を電気信号に変換し、カメラ信号処理部613に供給する。
カメラ信号処理部613は、CCD/CMOS612から供給された電気信号を、Y,Cr,Cbの色差信号に変換し、画像信号処理部614に供給する。画像信号処理部614は、コントローラ621の制御の下、カメラ信号処理部613から供給された画像信号に対して所定の画像処理を施したり、その画像信号をエンコーダ641で例えばMPEG方式により符号化したりする。画像信号処理部614は、画像信号を符号化して生成した符号化データを、デコーダ615に供給する。さらに、画像信号処理部614は、オンスクリーンディスプレイ(OSD)620において生成された表示用データを取得し、それをデコーダ615に供給する。
以上の処理において、カメラ信号処理部613は、バス617を介して接続されるDRAM(Dynamic Random Access Memory)618を適宜利用し、必要に応じて画像データや、その画像データが符号化された符号化データ等をそのDRAM618に保持させる。
デコーダ615は、画像信号処理部614から供給された符号化データを復号し、得られた画像データ(復号画像データ)をLCD616に供給する。また、デコーダ615は、画像信号処理部614から供給された表示用データをLCD616に供給する。LCD616は、デコーダ615から供給された復号画像データの画像と表示用データの画像を適宜合成し、その合成画像を表示する。
オンスクリーンディスプレイ620は、コントローラ621の制御の下、記号、文字、または図形からなるメニュー画面やアイコンなどの表示用データを、バス617を介して画像信号処理部614に出力する。
コントローラ621は、ユーザが操作部622を用いて指令した内容を示す信号に基づいて、各種処理を実行するとともに、バス617を介して、画像信号処理部614、DRAM618、外部インタフェース619、オンスクリーンディスプレイ620、およびメディアドライブ623等を制御する。FLASH ROM624には、コントローラ621が各種処理を実行する上で必要なプログラムやデータ等が格納される。
例えば、コントローラ621は、画像信号処理部614やデコーダ615に代わって、DRAM618に記憶されている画像データを符号化したり、DRAM618に記憶されている符号化データを復号したりすることができる。このとき、コントローラ621は、画像信号処理部614やデコーダ615の符号化・復号方式と同様の方式によって符号化・復号処理を行うようにしてもよいし、画像信号処理部614やデコーダ615が対応していない方式により符号化・復号処理を行うようにしてもよい。
また、例えば、操作部622から画像印刷の開始が指示された場合、コントローラ621は、DRAM618から画像データを読み出し、それを、バス617を介して外部インタフェース619に接続されるプリンタ634に供給して印刷させる。
さらに、例えば、操作部622から画像記録が指示された場合、コントローラ621は、DRAM618から符号化データを読み出し、それを、バス617を介してメディアドライブ623に装着される記録メディア633に供給して記憶させる。
記録メディア633は、例えば、磁気ディスク、光磁気ディスク、光ディスク、または半導体メモリ等の、読み書き可能な任意のリムーバブルメディアである。記録メディア633は、もちろん、リムーバブルメディアとしての種類も任意であり、テープデバイスであってもよいし、ディスクであってもよいし、メモリカードであってもよい。もちろん、非接触ICカード等であっても良い。
また、メディアドライブ623と記録メディア633を一体化し、例えば、内蔵型ハードディスクドライブやSSD(Solid State Drive)等のように、非可搬性の記憶媒体により構成されるようにしてもよい。
外部インタフェース619は、例えば、USB入出力端子などで構成され、画像の印刷を行う場合に、プリンタ634と接続される。また、外部インタフェース619には、必要に応じてドライブ631が接続され、磁気ディスク、光ディスク、あるいは光磁気ディスクなどのリムーバブルメディア632が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて、FLASH ROM624にインストールされる。
さらに、外部インタフェース619は、LANやインターネット等の所定のネットワークに接続されるネットワークインタフェースを有する。コントローラ621は、例えば、操作部622からの指示に従って、DRAM618から符号化データを読み出し、それを外部インタフェース619から、ネットワークを介して接続される他の装置に供給させることができる。また、コントローラ621は、ネットワークを介して他の装置から供給される符号化データや画像データを、外部インタフェース619を介して取得し、それをDRAM618に保持させたり、画像信号処理部614に供給したりすることができる。
以上のようなカメラ600は、デコーダ615として画像復号装置101を用いる。したがって、デコーダ615は、画像復号装置101の場合と同様に、復号画像を用いて動き探索を行うテンプレートマッチングに基づく動き予測を行う際に、復号対象ブロックの位置を検出して、動きベクトルの探索に用いられるテンプレート領域の画素を特定するなど、テンプレートマッチング処理の内容を設定する。これにより、復号対象の画像の領域の位置に応じて、適切に動き予測することができるので、より圧縮効率の低下を抑制することができる。
したがって、カメラ600は、精度の高い予測画像を生成することができる。その結果として、カメラ600は、例えば、CCD/CMOS612において生成された画像データや、DRAM618または記録メディア633から読み出されたビデオデータの符号化データや、ネットワークを介して取得したビデオデータの符号化データから、より高精細な復号画像を得て、LCD616に表示させることができる。
また、カメラ600は、エンコーダ641として画像符号化装置51を用いる。したがって、エンコーダ641は、画像符号化装置51の場合と同様に、復号画像を用いて動き探索を行うテンプレートマッチングに基づく動き予測を行う際に、符号化対象ブロックの位置を検出して、動きベクトルの探索に用いられるテンプレート領域の画素を特定するなど、テンプレートマッチング処理の内容を設定する。これにより、符号化対象の画像の領域の位置に応じて、適切に動き予測することができるので、より圧縮効率の低下を抑制することができる。
したがって、カメラ600は、例えば、ハードディスクに記録する符号化データの符号化効率を向上させることができる。その結果として、カメラ600は、DRAM618や記録メディア633の記憶領域をより効率よく使用することができる。
なお、コントローラ621が行う復号処理に画像復号装置101の復号方法を適用するようにしてもよい。同様に、コントローラ621が行う符号化処理に画像符号化装置51の符号化方法を適用するようにしてもよい。
また、カメラ600が撮像する画像データは動画像であってもよいし、静止画像であってもよい。
もちろん、画像符号化装置51および画像復号装置101は、上述した装置以外の装置やシステムにも適用可能である。
51 画像符号化装置, 66 可逆符号化部, 74 イントラ予測部, 77 動き予測・補償部, 78 インターテンプレート動き予測・補償部, 80 予測画像選択部, 90 ブロック位置検出部, 101 画像復号装置, 112 可逆復号部, 121 イントラ予測部, 124 動き予測・補償部, 125 インターテンプレート動き予測・補償部, 127 スイッチ, 130 ブロック位置検出部
Claims (12)
- 復号対象ブロックの位置を表す位置情報を受け取る受け取り手段と、
復号済の参照フレームにおいて、前記復号対象ブロックに対して所定の位置関係で隣接するテンプレート領域を特定する特定手段と、
前記特定手段により特定されたテンプレート領域の画素値と前記参照フレームの領域の画素値とのマッチング処理により前記復号対象ブロックの動きベクトルを探索するインターテンプレートマッチング処理を、前記受け取り手段により受け取られた位置情報に基づいて実行するマッチング処理手段と
を備える画像処理装置。 - 前記マッチング処理手段は、前記特定手段により特定された前記テンプレート領域に含まれる全ての画素を用いた前記マッチング処理により動きベクトルを探索する全探索処理と、前記特定手段により特定された前記テンプレート領域に含まれる一部の画素を用いた前記マッチング処理により動きベクトルを探索する一部探索処理とを、前記受け取り手段により受け取られた前記位置情報に応じて選択する
請求項1に記載の画像処理装置。 - 前記受け取り手段により受け取られた前記位置情報に基づいて、前記復号対象ブロックがフレームまたはスライスの中のどの領域に位置するかを判定する判定手段をさらに備え、
前記マッチング処理手段は、前記判定手段により前記復号対象ブロックが前記第1の領域に位置すると判定された場合には、前記全探索処理を行い、前記判定手段により前記復号対象ブロックが前記第2の領域に位置すると判定された場合には、前記一部探索処理を行う
請求項2に記載の画像処理装置。 - 前記マッチング処理手段は、前記特定手段により特定された前記テンプレート領域に含まれる全ての画素を用いた前記マッチング処理により動きベクトルを探索する全探索処理と、前記インターテンプレートマッチング処理の実行を中止する中止処理とを、前記受け取り手段により受け取られた前記位置情報に応じて選択する
請求項1に記載の画像処理装置。 - 前記受け取り手段により受け取られた前記位置情報に基づいて、前記復号対象ブロックがフレームまたはスライスの中のどの領域に位置するかを判定する判定手段をさらに備え、
前記マッチング処理手段は、前記判定手段により前記復号対象ブロックが前記第1の領域に位置すると判定された場合には、前記全探索処理を行い、前記判定手段により前記復号対象ブロックが前記第2の領域に位置すると判定された場合には、前記中止処理を行う
請求項4に記載の画像処理装置。 - 画像処理装置が、
復号対象ブロックの位置を表す位置情報を受け取り、
復号済の参照フレームにおいて、前記復号対象ブロックに対して所定の位置関係で隣接するテンプレート領域を特定し、
特定されたテンプレート領域の画素値と前記参照フレームの領域の画素値とのマッチング処理により前記復号対象ブロックの動きベクトルを探索するインターテンプレートマッチング処理を、受け取られた位置情報に基づいて実行するステップ
を含む画像処理方法。 - 符号化対象ブロックの位置を表す位置情報を受け取る受け取り手段と、
符号化済のフレームを復号して得られる参照フレームにおいて、前記符号化対象ブロックに対して所定の位置関係で隣接するテンプレート領域を特定する特定手段と、
前記特定手段により特定されたテンプレート領域の画素値と前記参照フレームの領域の画素値とのマッチング処理により前記符号化対象ブロックの動きベクトルを探索するインターテンプレートマッチング処理を、前記受け取り手段により受け取られた位置情報に基づいて実行するマッチング処理手段と
を備える画像処理装置。 - 前記マッチング処理手段は、前記特定手段により特定された前記テンプレート領域に含まれる全ての画素を用いた前記マッチング処理により動きベクトルを探索する全探索処理と、前記特定手段により特定された前記テンプレート領域に含まれる一部の画素を用いた前記マッチング処理により動きベクトルを探索する一部探索処理とを、前記受け取り手段により受け取られた前記位置情報に応じて選択する
請求項7に記載の画像処理装置。 - 前記受け取り手段により受け取られた前記位置情報に基づいて、前記符号化対象ブロックがフレームまたはスライスの中のどの領域に位置するかを判定する判定手段をさらに備え、
前記マッチング処理手段は、前記判定手段により前記符号化対象ブロックが前記第1の領域に位置すると判定された場合には、前記全探索処理を行い、前記判定手段により前記符号化対象ブロックが前記第2の領域に位置すると判定された場合には、前記一部探索処理を行う
請求項8に記載の画像処理装置。 - 前記マッチング処理手段は、前記特定手段により特定された前記テンプレート領域に含まれる全ての画素を用いた前記マッチング処理により動きベクトルを探索する全探索処理と、前記インターテンプレートマッチング処理の実行を中止する中止処理とを、前記受け取り手段により受け取られた前記位置情報に応じて選択する
請求項7に記載の画像処理装置。 - 前記受け取り手段により受け取られた前記位置情報に基づいて、前記符号化対象ブロックがフレームまたはスライスの中のどの領域に位置するかを判定する判定手段をさらに備え、
前記マッチング処理手段は、前記判定手段により前記符号化対象ブロックが前記第1の領域に位置すると判定された場合には、前記全探索処理を行い、前記判定手段により前記符号化対象ブロックが前記第2の領域に位置すると判定された場合には、前記中止処理を行う
請求項10に記載の画像処理装置。 - 画像処理装置が、
符号化対象ブロックの位置を表す位置情報を受け取り、
符号化済のフレームを復号して得られる参照フレームにおいて、前記符号化対象ブロックに対して所定の位置関係で隣接するテンプレート領域を特定し、
特定されたテンプレート領域の画素値と前記参照フレームの領域の画素値とのマッチング処理により前記符号化対象ブロックの動きベクトルを探索するインターテンプレートマッチング処理を、受け取られた位置情報に基づいて実行するステップ
を含む画像処理方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008243962 | 2008-09-24 | ||
JP2008243962 | 2008-09-24 | ||
PCT/JP2009/066493 WO2010035735A1 (ja) | 2008-09-24 | 2009-09-24 | 画像処理装置および方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2010035735A1 true JPWO2010035735A1 (ja) | 2012-02-23 |
Family
ID=42059734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010530849A Abandoned JPWO2010035735A1 (ja) | 2008-09-24 | 2009-09-24 | 画像処理装置および方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20110170603A1 (ja) |
JP (1) | JPWO2010035735A1 (ja) |
CN (1) | CN102160383A (ja) |
WO (1) | WO2010035735A1 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101567974B1 (ko) * | 2009-01-05 | 2015-11-10 | 에스케이 텔레콤주식회사 | 블록 모드 부호화/복호화 방법 및 장치와 그를 이용한 영상부호화/복호화 방법 및 장치 |
US9083983B2 (en) * | 2011-10-04 | 2015-07-14 | Qualcomm Incorporated | Motion vector predictor candidate clipping removal for video coding |
JP6016484B2 (ja) * | 2012-07-06 | 2016-10-26 | キヤノン株式会社 | 符号化装置 |
JP6701001B2 (ja) * | 2016-06-22 | 2020-05-27 | キヤノン株式会社 | 撮像装置及びその制御方法、プログラム、記憶媒体 |
CN110351565B (zh) * | 2018-04-02 | 2021-08-03 | 浙江大学 | 一种参考区域运动矢量导出方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6289052B1 (en) * | 1999-06-07 | 2001-09-11 | Lucent Technologies Inc. | Methods and apparatus for motion estimation using causal templates |
WO2001010135A1 (en) * | 1999-07-29 | 2001-02-08 | Mitsubishi Denki Kabushiki Kaisha | Moving vector detecting method |
JP4722125B2 (ja) * | 2005-04-01 | 2011-07-13 | パナソニック株式会社 | 画像復号化装置及び画像復号化方法 |
JP2007043651A (ja) * | 2005-07-05 | 2007-02-15 | Ntt Docomo Inc | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム |
KR20090008418A (ko) * | 2006-04-28 | 2009-01-21 | 가부시키가이샤 엔티티 도코모 | 화상 예측 부호화 장치, 화상 예측 부호화 방법, 화상 예측부호화 프로그램, 화상 예측 복호 장치, 화상 예측 복호 방법 및 화상 예측 복호 프로그램 |
-
2009
- 2009-09-24 WO PCT/JP2009/066493 patent/WO2010035735A1/ja active Application Filing
- 2009-09-24 US US13/119,714 patent/US20110170603A1/en not_active Abandoned
- 2009-09-24 CN CN200980136997.0A patent/CN102160383A/zh active Pending
- 2009-09-24 JP JP2010530849A patent/JPWO2010035735A1/ja not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20110170603A1 (en) | 2011-07-14 |
CN102160383A (zh) | 2011-08-17 |
WO2010035735A1 (ja) | 2010-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5234368B2 (ja) | 画像処理装置および方法 | |
JP5597968B2 (ja) | 画像処理装置および方法、プログラム、並びに記録媒体 | |
WO2010035734A1 (ja) | 画像処理装置および方法 | |
TWI411310B (zh) | Image processing apparatus and method | |
WO2010035731A1 (ja) | 画像処理装置および方法 | |
TWI405469B (zh) | Image processing apparatus and method | |
WO2010101064A1 (ja) | 画像処理装置および方法 | |
WO2010035733A1 (ja) | 画像処理装置および方法 | |
WO2010095560A1 (ja) | 画像処理装置および方法 | |
WO2011018965A1 (ja) | 画像処理装置および方法 | |
WO2010035730A1 (ja) | 画像処理装置および方法 | |
WO2011086964A1 (ja) | 画像処理装置および方法、並びにプログラム | |
WO2011089973A1 (ja) | 画像処理装置および方法 | |
JP2011151682A (ja) | 画像処理装置および方法 | |
WO2010035732A1 (ja) | 画像処理装置および方法 | |
JPWO2010064675A1 (ja) | 画像処理装置および画像処理方法、並びにプログラム | |
WO2011086963A1 (ja) | 画像処理装置および方法 | |
JPWO2010064674A1 (ja) | 画像処理装置および画像処理方法、並びにプログラム | |
WO2010035735A1 (ja) | 画像処理装置および方法 | |
JPWO2010101063A1 (ja) | 画像処理装置および方法 | |
JP2014143716A (ja) | 画像処理装置および方法、プログラム、並びに記録媒体 | |
JP6048774B2 (ja) | 画像処理装置および方法 | |
WO2011125625A1 (ja) | 画像処理装置および方法 | |
JP2013150347A (ja) | 画像処理装置および方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120904 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120904 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20130415 |