JP2011151682A - 画像処理装置および方法 - Google Patents
画像処理装置および方法 Download PDFInfo
- Publication number
- JP2011151682A JP2011151682A JP2010012514A JP2010012514A JP2011151682A JP 2011151682 A JP2011151682 A JP 2011151682A JP 2010012514 A JP2010012514 A JP 2010012514A JP 2010012514 A JP2010012514 A JP 2010012514A JP 2011151682 A JP2011151682 A JP 2011151682A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- image
- intra prediction
- pixels
- predicted
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】イントラ予測における符号化効率を向上させることができるようにする。
【解決手段】スプラインパラメータ生成部92は、ラインバッファ74からのNライン分の隣接画素値を用いて、N次の連立方程式を解くことで、イントラ予測のためのN−1次の多項式のN個のスプラインパラメータを算出する。予測画像生成部82は、N−1次の多項式に、スプラインパラメータ生成部92により求められたN個のスプラインパラメータを用いて、予測画像を生成する。本発明は、例えば、H.264/AVC方式をベースに符号化する画像符号化装置に適用することができる。
【選択図】図18
【解決手段】スプラインパラメータ生成部92は、ラインバッファ74からのNライン分の隣接画素値を用いて、N次の連立方程式を解くことで、イントラ予測のためのN−1次の多項式のN個のスプラインパラメータを算出する。予測画像生成部82は、N−1次の多項式に、スプラインパラメータ生成部92により求められたN個のスプラインパラメータを用いて、予測画像を生成する。本発明は、例えば、H.264/AVC方式をベースに符号化する画像符号化装置に適用することができる。
【選択図】図18
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つとして、イントラ予測方式の採用が挙げられる。
イントラ予測方式において、輝度信号については、9種類の4×4画素および8×8画素のブロック単位、並びに4種類の16×16画素のマクロブロック単位のイントラ予測モードが定められている。色差信号については、4種類の8×8画素のブロック単位のイントラ予測モードが定められている。色差信号のイントラ予測モードは、輝度信号のイントラ予測モードと独立に設定が可能である。
また、H.264/AVC方式において、マクロブロックサイズは16×16画素である。しかしながら、マクロブロックサイズを16×16画素とするのは、次世代符号化方式の対象となるようなUHD(Ultra High Definition;4000×2000画素)といった大きな画枠に対しては最適ではない。
そこで、非特許文献1などにおいては、マクロブロックサイズを、例えば、32×32画素といった大きさに拡張することも提案されている。
なお、非特許文献1は、インタースライスに対して拡張されたマクロブロックを適用する提案であるが、非特許文献2には、拡張されたマクロブロックを、イントラスライスに適用することが提案されている。
"Video Coding Using Extended Block Sizes",VCEG-AD09,ITU-Telecommunications Standardization Sector STUDY GROUP Question 16 - Contribution 123, Jan 2009
"Intra Coding Using Extended Block Sizes",VCEG-AL28, July 2009
ところで、図1を参照して、当該ブロックが4×4画素と8×8画素の場合のイントラ予測モードの1つであるVertical Predictionについて考える。図1Aには、当該ブロックが4×4画素の場合が示されており、図1Bには、当該ブロックが8×8画素の場合が示されている。図1Aおよび図1Bにおける丸は画素を表しており、白丸は当該ブロック内の画素、斜線の丸は、予測に用いる画素を表している。また、丸の中のアルファベットは、各画素の画素値を表している。
当該ブロックが4×4画素の場合、図1Aに示されるように、画素値a乃至dの画素に対する予測値として、画素値Aが用いられる。また、当該ブロックが8×8画素の場合、図1Bに示されるように、画素値a乃至hの画素に対する予測値として、画素値Aが用いられる。
つまり、イントラ予測の単位となるブロックサイズがより大きなものになるほど、より遠くに存在する相関の低いかもしれない画素を予測する必要があることになる。すなわち、一般に、ブロックサイズが大きくなるほど、イントラ予測の効率は低下してしまう恐れがある。
このことは、特に、非特許文献2で提案されているような拡張されたマクロブロックに対するイントラ予測を行う際にも同様に言える。
本発明は、このような状況に鑑みてなされたものであり、イントラ予測における符号化効率を向上させるものである。
本発明の一側面の画像処理装置は、対象ブロックの複数ラインの隣接画素を受け取る受け取り手段と、前記受け取り手段により受け取られた前記複数ラインの隣接画素を用いて多項式近似による外挿処理を行うことで、前記対象ブロックのイントラ予測画素値を生成するイントラ予測手段とを備える。
前記イントラ予測手段は、前記複数ラインの隣接画素を用いて多項式近似によって補間パラメータを算出するパラメータ算出手段と、前記パラメータ算出手段により算出された前記補間パラメータを用いて、前記対象ブロックのイントラ予測画素値を生成する予測画像生成手段とを備えることができる。
前記イントラ予測手段は、前記受け取り手段により受け取られたN(N<1)ラインの隣接画素を用いる際、N−1次の多項式近似による外挿処理を行うことができる。
前記パラメータ算出手段は、前記Nラインの隣接画素を用い、N次の連立方程式を解くことで、前記N−1次の多項式のN個の定数を算出し、前記予測画像生成手段は、前記パラメータ算出手段により算出された前記N個の定数を用いた前記N−1次の多項式により、前記対象ブロックのイントラ予測画素値を生成することができる。
前記予測画像生成手段は、入力信号がNビットの画像信号である場合、生成された前記イントラ予測画素値を、0〜2N-1の範囲の値にクリップすることができる。
前記イントラ予測手段は、前記受け取り手段により受け取られた前記Nラインの隣接画素に、物体境界が含まれるか否かを検出した検出結果に応じた次数の多項式近似による外挿処理を行うことができる。
前記イントラ予測手段は、隣接画素における画素間の差分情報により、前記物体境界であるか否かを判定することができる。
前記イントラ予測手段は、量子化パラメータに応じて定められる閾値を用いて、隣接画素における画素間の差分情報により、前記物体境界であるか否かを判定することができる。
前記閾値は、より大きな量子化パラメータに対してより大きく設定される。
前記対象ブロックの画像を符号化する符号化手段をさらに備えることができる。
符号化されている前記対象ブロックの画像を復号する復号手段をさらに備えることができる。
前記イントラ予測手段は、前記対象ブロックのブロックサイズの大きさに応じた数の前記複数ラインの隣接画素を用いることができる。
本発明の一側面の画像処理方法は、画像処理装置の受け取り手段が、対象ブロックの複数ラインの隣接画素を受け取り、前記画像処理装置のイントラ予測手段が、受け取られた前記対象ブロックの複数ラインの隣接画素を用いて多項式近似による外挿処理を行うことで、前記対象ブロックのイントラ予測画素値を生成する。
本発明の一側面においては、対象ブロックの複数ラインの隣接画素が受け取られ、受け取られた前記対象ブロックの複数ラインの隣接画素を用いて多項式近似による外挿処理を行うことで、前記対象ブロックのイントラ予測画素値が生成される。
なお、上述の画像処理装置は、独立した装置であっても良いし、1つの画像符号化装置または画像復号装置を構成している内部ブロックであってもよい。
本発明によれば、イントラ予測における符号化効率を向上させることができる。本発明によれば、特に、大きなブロックサイズのイントラ予測における符号化効率を向上させることができる。
以下、図を参照して本発明の実施の形態について説明する。
[画像符号化装置の構成例]
図2は、本発明を適用した画像処理装置としての画像符号化装置の一実施の形態の構成を表している。
図2は、本発明を適用した画像処理装置としての画像符号化装置の一実施の形態の構成を表している。
この画像符号化装置51は、例えば、H.264及びMPEG-4 Part10(Advanced Video Coding)(以下H.264/AVCと記す)方式をベースとした符号化方式で、画像を圧縮符号化する。
図2の例において、画像符号化装置51は、A/D変換部61、画面並べ替えバッファ62、演算部63、直交変換部64、量子化部65、可逆符号化部66、蓄積バッファ67、逆量子化部68、逆直交変換部69、演算部70、デブロックフィルタ71、フレームメモリ72、イントラ予測部73、ラインバッファ74、スプライン補間部75、動き予測・補償部76、予測画像選択部77、およびレート制御部78により構成されている。
A/D変換部61は、入力された画像をA/D変換し、画面並べ替えバッファ62に出力し、記憶させる。画面並べ替えバッファ62は、記憶した表示の順番のフレームの画像を、GOP(Group of Picture)に応じて、符号化のためのフレームの順番に並べ替える。
演算部63は、画面並べ替えバッファ62から読み出された画像から、予測画像選択部77により選択されたイントラ予測部73からの予測画像または動き予測・補償部76からの予測画像を減算し、その差分情報を直交変換部64に出力する。直交変換部64は、演算部63からの差分情報に対して、離散コサイン変換、カルーネン・レーベ変換等の直交変換を施し、その変換係数を出力する。量子化部65は直交変換部64が出力する変換係数を量子化する。
量子化部65の出力となる、量子化された変換係数は、可逆符号化部66に入力され、ここで可変長符号化、算術符号化等の可逆符号化が施され、圧縮される。
可逆符号化部66は、イントラ予測を示す情報などをイントラ予測部73から取得し、インター予測モードを示す情報などを動き予測・補償部76から取得する。なお、イントラ予測を示す情報は、以下、イントラ予測モード情報とも称する。また、インター予測を示す情報モードを示す情報は、以下、インター予測モード情報とも称する。
可逆符号化部66は、量子化された変換係数を符号化するとともに、イントラ予測を示す情報やインター予測モードを示す情報、および量子化パラメータなどを符号化し、圧縮画像におけるヘッダ情報の一部とする。可逆符号化部66は、符号化したデータを蓄積バッファ67に供給して蓄積させる。
例えば、可逆符号化部66においては、可変長符号化または算術符号化等の可逆符号化処理が行われる。可変長符号化としては、H.264/AVC方式で定められているCAVLC(Context-Adaptive Variable Length Coding)などがあげられる。算術符号化としては、CABAC(Context-Adaptive Binary Arithmetic Coding)などがあげられる。
蓄積バッファ67は、可逆符号化部66から供給されたデータを、H.264/AVC方式で符号化された圧縮画像として、例えば、後段の図示せぬ記録装置や伝送路などに出力する。
また、量子化部65より出力された、量子化された変換係数は、逆量子化部68にも入力され、逆量子化された後、さらに逆直交変換部69において逆直交変換される。逆直交変換された出力は演算部70により予測画像選択部77から供給される予測画像と加算されて、局部的に復号された画像となる。デブロックフィルタ71は、復号された画像のブロック歪を除去した後、フレームメモリ72に供給し、蓄積させる。フレームメモリ72には、デブロックフィルタ71によりデブロックフィルタ処理される前の画像も供給され、蓄積される。
この画像符号化装置51においては、例えば、画面並べ替えバッファ62からのIピクチャ、Bピクチャ、およびPピクチャが、イントラ予測(イントラ処理とも称する)する画像として、イントラ予測部73に供給される。また、画面並べ替えバッファ62から読み出されたBピクチャおよびPピクチャが、インター予測(インター処理とも称する)する画像として、動き予測・補償部76に供給される。
イントラ予測部73は、画面並べ替えバッファ62から読み出されたイントラ予測する画像について、候補となる全てのイントラ予測モードのイントラ予測処理を行い、予測画像を生成する。
その際、イントラ予測部73は、スプライン補間部75とともに、ラインバッファ74に格納された複数ラインの隣接画素を用いて多項式近似による外挿処理を行うことで、対象ブロックのイントラ予測画素値を生成する。
すなわち、イントラ予測部73は、候補となるイントラ予測モードの情報を、スプライン補間部75に供給する。スプライン補間部75からは、イントラ予測モードに応じた隣接画素値を用いてイントラ予測のための、隣接画素と対象ブロックの画素を近似する多項式のパラメータ(補間パラメータ)が供給される。イントラ予測部73は、スプライン補間部75からのパラメータを用いた多項式により、候補となるイントラ予測モードのイントラ予測画像を生成する。
イントラ予測部73は、予測画像を生成したイントラ予測モードに対してコスト関数値を算出し、算出したコスト関数値が最小値を与えるイントラ予測モードを、最適イントラ予測モードとして選択する。イントラ予測部73は、最適イントラ予測モードで生成された予測画像と、対応する最適イントラ予測モードについて算出されたコスト関数値を、予測画像選択部77に供給する。
イントラ予測部73は、予測画像選択部77により最適イントラ予測モードで生成された予測画像が選択された場合、最適イントラ予測モードを示す情報を、可逆符号化部66に供給する。可逆符号化部66は、イントラ予測部73から情報が送られてきた場合には、この情報を符号化し、圧縮画像におけるヘッダ情報の一部とする。
ラインバッファ74は、フレームメモリ72から参照画像の画素値を蓄積している。ラインバッファ74には、スプライン補間部75からイントラ予測モードに応じた隣接画素のアドレスが供給される。ラインバッファ74は、そのアドレスに対応した隣接画素の画素値をスプライン補間部75に供給する。
スプライン補間部75は、イントラ予測部73からのイントラ予測モードに応じた隣接画素のアドレスに対応してラインバッファ74から供給される隣接画素値を用いて、イントラ予測のための多項式の補間パラメータを多項式近似により算出し、算出した補間パラメータを、イントラ予測部73に供給する。
動き予測・補償部76は、候補となる全てのインター予測モードの動き予測・補償処理を行う。すなわち、動き予測・補償部76には、画面並べ替えバッファ62から読み出されたインター処理する画像と、フレームメモリ72から参照画像が供給される。動き予測・補償部76は、インター処理する画像と参照画像に基づいて、候補となる全てのインター予測モードの動きベクトルを検出し、動きベクトルに基づいて参照画像に補償処理を施し、予測画像を生成する。
また、動き予測・補償部76は、候補となる全てのインター予測モードに対してコスト関数値を算出する。動き予測・補償部76は、算出したコスト関数値のうち、最小値を与える予測モードを、最適インター予測モードとして決定する。
動き予測・補償部76は、最適インター予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部77に供給する。動き予測・補償部76は、予測画像選択部77により最適インター予測モードで生成された予測画像が選択された場合、最適インター予測モードを示す情報(インター予測モード情報)を可逆符号化部66に出力する。
なお、必要であれば、動きベクトル情報、フラグ情報、参照フレーム情報なども可逆符号化部66に出力される。可逆符号化部66は、動き予測・補償部76からの情報をやはり可変長符号化、算術符号化といった可逆符号化処理し、圧縮画像のヘッダ部に挿入する。
予測画像選択部77は、イントラ予測部73または動き予測・補償部76より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードから、最適予測モードを決定する。そして、予測画像選択部77は、決定された最適予測モードの予測画像を選択し、演算部63,70に供給する。このとき、予測画像選択部77は、予測画像の選択情報を、イントラ予測部73または動き予測・補償部76に供給する。
レート制御部78は、蓄積バッファ67に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化パラメータにより、量子化部65の量子化動作のレートを制御する。
[H.264/AVC方式におけるイントラ予測処理の説明]
はじめに、H.264/AVC方式で定められているイントラ予測の各モードについて説明する。
はじめに、H.264/AVC方式で定められているイントラ予測の各モードについて説明する。
まず、輝度信号に対するイントラ予測モードについて説明する。輝度信号のイントラ予測モードには、イントラ4×4予測モード、イントラ8×8予測モード、およびイントラ16×16予測モードの3通りの方式が定められている。これは、ブロック単位を定めるモードであり、マクロブロック毎に設定される。また、色差信号に対しては、マクロブロック毎に輝度信号とは独立したイントラ予測モードを設定することが可能である。
さらに、イントラ4×4予測モードの場合、4×4画素の対象ブロック毎に、9種類の予測モードから1つの予測モードを設定することができる。イントラ8×8予測モードの場合、8×8画素の対象ブロック毎に、9種類の予測モードから1つの予測モードを設定することができる。また、イントラ16×16予測モードの場合、16×16画素の対象マクロブロックに対して、4種類の予測モードから1つの予測モードを設定することができる。
なお、以下、イントラ4×4予測モード、イントラ8×8予測モード、およびイントラ16×16予測モードは、それぞれ、4×4画素のイントラ予測モード、8×8画素のイントラ予測モード、および16×16画素のイントラ予測モードとも適宜称する。
図3の例において、各ブロックに付されている数字−1乃至25は、その各ブロックのビットストリーム順(復号側における処理順)を表している。なお、輝度信号については、マクロブロックが4×4画素に分割されて、4×4画素のDCTが行われる。そして、イントラ16×16予測モードの場合のみ、−1のブロックに示されるように、各ブロックの直流成分を集めて、4×4行列が生成され、これに対して、さらに、直交変換が施される。
一方、色差信号については、マクロブロックが4×4画素に分割され、4×4画素のDCTが行われた後に、16および17の各ブロックに示されるように、各ブロックの直流成分を集めて、2×2行列が生成され、これに対して、さらに、直交変換が施される。
なお、このことは、イントラ8×8予測モードに関しては、ハイプロファイルまたはそれ以上のプロファイルで、対象マクロブロックに、8×8直交変換が施される場合についてのみ適用可能である。
図4および図5は、9種類の輝度信号の4×4画素のイントラ予測モード(Intra_4x4_pred_mode)を示す図である。平均値(DC)予測を示すモード2以外の8種類の各モードは、それぞれ、図6の番号0,1,3乃至8で示される方向に対応している。
9種類のIntra_4x4_pred_modeについて、図7を参照して説明する。図7の例において、画素a乃至pは、イントラ処理される対象ブロックの画素を表し、画素値A乃至Mは、隣接ブロックに属する画素の画素値を表している。すなわち、画素a乃至pは、画面並べ替えバッファ62から読み出された処理対象の画像であり、画素値A乃至Mは、フレームメモリ72から読み出され、参照される復号済みの画像の画素値である。
図4および図5に示す各イントラ予測モードの場合、画素a乃至pの予測画素値は、隣接ブロックに属する画素の画素値A乃至Mを用いて、以下のように生成される。なお、画素値が“available”であるとは、画枠の端であったり、あるいは、まだ符号化されていないなどの理由がなく、利用可能であることを表す。これに対して、画素値が“unavailable”であるとは、画枠の端であったり、あるいは、まだ符号化されていないなどの理由により利用可能ではないことを表す。
モード0はVertical Prediction modeであり、画素値A乃至Dが “available” の場合のみ適用される。この場合、画素a乃至pの予測画素値は、次の式(1)のように生成される。
画素a, e, i, mの予測画素値 = A
画素b, f, j, nの予測画素値 = B
画素c, g, k, oの予測画素値 = C
画素d, h, l, pの予測画素値 = D ・・・(1)
画素a, e, i, mの予測画素値 = A
画素b, f, j, nの予測画素値 = B
画素c, g, k, oの予測画素値 = C
画素d, h, l, pの予測画素値 = D ・・・(1)
モード1はHorizontal Prediction modeであり、画素値I乃至Lが “available” の場合のみ適用される。この場合、画素a乃至pの予測画素値は、次の式(2)のように生成される。
画素a, b, c, dの予測画素値 = I
画素e, f, g, hの予測画素値 = J
画素i, j, k, lの予測画素値 = K
画素m, n, o, pの予測画素値 = L ・・・(2)
画素a, b, c, dの予測画素値 = I
画素e, f, g, hの予測画素値 = J
画素i, j, k, lの予測画素値 = K
画素m, n, o, pの予測画素値 = L ・・・(2)
モード2はDC Prediction modeであり、画素値A,B,C,D,I,J,K,Lが全て “available” である時、予測画素値は式(3)のように生成される。
(A+B+C+D+I+J+K+L+4) >> 3 ・・・(3)
(A+B+C+D+I+J+K+L+4) >> 3 ・・・(3)
また、画素値A,B,C,Dが全て “unavailable” である時、予測画素値は式(4)のように生成される。
(I+J+K+L+2) >> 2 ・・・(4)
(I+J+K+L+2) >> 2 ・・・(4)
また、画素値I,J,K,Lが全て “unavailable” である時、予測画素値は式(5)のように生成される。
(A+B+C+D+2) >> 2 ・・・(5)
(A+B+C+D+2) >> 2 ・・・(5)
なお、画素値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の予測画素値は、次の式(6)のように生成される。
画素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
・・・(6)
画素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
・・・(6)
モード4はDiagonal_Down_Right Prediction modeであり、画素値A,B,C,D,I,J,K,L,Mが “available” の場合のみ適用される。この場合、画素a乃至pの予測画素値は、次の式(7)のように生成される。
画素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
・・・(7)
画素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
・・・(7)
モード5はDiagonal_Vertical_Right Prediction modeであり、画素値A,B,C,D,I,J,K,L,Mが“available”の場合のみ適用される。この場合、画素a乃至pの予測画素値は、次の式(8)のように生成される。
画素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
・・・(8)
画素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
・・・(8)
モード6はHorizontal_Down Prediction modeであり、画素値A,B,C,D,I,J,K,L,Mが“available”の場合のみ適用される。この場合、画素a乃至pの予測画素値は、次の式(9)のように生成される。
画素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
・・・(9)
画素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
・・・(9)
モード7は、Vertical_Left Prediction modeであり、画素値A,B,C,D,I,J,K,L,Mが“available”の場合のみ適用される。この場合、画素a乃至pの予測画素値は、次の式(10)のように生成される。
画素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
・・・(10)
画素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
・・・(10)
モード8は、Horizontal_Up Prediction modeであり、画素値A,B,C,D,I,J,K,L,Mが“available”の場合のみ適用される。この場合、画素a乃至pの予測画素値は、次の式(11)のように生成される。
画素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
・・・(11)
画素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
・・・(11)
次に、図8を参照して、輝度信号の4×4画素のイントラ予測モード(Intra_4x4_pred_mode)の符号化方式について説明する。図8の例において、4×4画素からなり、符号化対象となる対象ブロックCが示されており、対象ブロックCに隣接する4×4画素からなるブロックAおよびブロックBが示されている。
この場合、対象ブロックCにおけるIntra_4x4_pred_modeと、ブロックAおよびブロックBにおけるIntra_4x4_pred_modeとは高い相関があると考えられる。この相関性を用いて、次のように符号化処理を行うことにより、より高い符号化効率を実現することができる。
すなわち、図8の例において、ブロックAおよびブロックBにおけるIntra_4x4_pred_modeを、それぞれ、Intra_4x4_pred_modeAおよびIntra_4x4_pred_modeBとして、MostProbableModeを次の式(12)と定義する。
MostProbableMode=Min(Intra_4x4_pred_modeA, Intra_4x4_pred_modeB)
・・・(12)
MostProbableMode=Min(Intra_4x4_pred_modeA, Intra_4x4_pred_modeB)
・・・(12)
すなわち、ブロックAおよびブロックBのうち、より小さなmode_numberを割り当てられている方をMostProbableModeとする。
ビットストリーム中には、対象ブロックCに対するパラメータとして、prev_intra4x4_pred_mode_flag[luma4x4BlkIdx] および rem_intra4x4_pred_mode[luma4x4BlkIdx] という2つの値が定義されており、次の式(13)に示される擬似コードに基づく処理により、復号処理が行われ、対象ブロック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
・・・(13)
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
・・・(13)
次に、8×8画素のイントラ予測モードについて説明する。図9および図10は、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” である場合には、次の式(14)のように算出され、“not available” である場合には、次の式(15)のように算出される。
p’[0,-1] = (p[-1,-1] + 2*p[0,-1] + p[1,-1] + 2) >> 2
・・・(14)
p’[0,-1] = (3*p[0,-1] + p[1,-1] + 2) >> 2
・・・(15)
p’[0,-1] = (p[-1,-1] + 2*p[0,-1] + p[1,-1] + 2) >> 2
・・・(14)
p’[0,-1] = (3*p[0,-1] + p[1,-1] + 2) >> 2
・・・(15)
p’[x,-1] (x=0,…,7)は、次の式(16)のように算出される。
p’[x,-1] = (p[x-1,-1] + 2*p[x,-1] + p[x+1,-1] + 2) >>2
・・・(16)
p’[x,-1] = (p[x-1,-1] + 2*p[x,-1] + p[x+1,-1] + 2) >>2
・・・(16)
p’[x,-1] (x=8,…,15)は、p[x,-1] (x=8,…,15) が “available” である場合には、次の式(17)のように算出される。
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
・・・(17)
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
・・・(17)
p’[-1,-1]は、p[-1,-1]が “available” である場合には、以下のように算出される。すなわち、p’[-1,-1]は、p[0,-1]及びp[-1,0]の双方がavailableである場合には、式(18)のように算出され、p[-1,0] が “unavailable” である場合には、式(19)のように算出される。また、p’[-1,-1]は、p[0,-1] が “unavailable” である場合には、式(20)のように算出される。
p’[-1,-1] = (p[0,-1] + 2*p[-1,-1] + p[-1,0] + 2) >>2
・・・(18)
p’[-1,-1] = (3*p[-1,-1] + p[0,-1] + 2) >>2
・・・(19)
p’[-1,-1] = (3*p[-1,-1] + p[-1,0] + 2) >>2
・・・(20)
p’[-1,-1] = (p[0,-1] + 2*p[-1,-1] + p[-1,0] + 2) >>2
・・・(18)
p’[-1,-1] = (3*p[-1,-1] + p[0,-1] + 2) >>2
・・・(19)
p’[-1,-1] = (3*p[-1,-1] + p[-1,0] + 2) >>2
・・・(20)
p’[-1,y] (y=0, … ,7) は、p[-1,y] (y=0, … ,7) が “available” の時、以下のように算出される。すなわち、まず、p’[-1,0]は、p[-1,-1]が “available” である場合には、次の式(21)のように算出され、“unavailable” である場合には、式(22)のように算出される。
p’[-1,0] = (p[-1,-1] + 2*p[-1,0] + p[-1,1] + 2) >>2
・・・(21)
p’[-1,0] = (3*p[-1,0] + p[-1,1] + 2) >>2
・・・(22)
p’[-1,0] = (p[-1,-1] + 2*p[-1,0] + p[-1,1] + 2) >>2
・・・(21)
p’[-1,0] = (3*p[-1,0] + p[-1,1] + 2) >>2
・・・(22)
また、p’[-1,y] (y=1,…,6)は、次の式(23)のように算出され、p’[-1,7]は、式(24)のように算出される。
p[-1,y] = (p[-1,y-1] + 2*p[-1,y] + p[-1,y+1] + 2) >>2
・・・(23)
p’[-1,7] = (p[-1,6] + 3*p[-1,7] + 2) >>2
・・・(24)
p[-1,y] = (p[-1,y-1] + 2*p[-1,y] + p[-1,y+1] + 2) >>2
・・・(23)
p’[-1,7] = (p[-1,6] + 3*p[-1,7] + 2) >>2
・・・(24)
このように算出されたp’を用いて、図9および図10に示される各イントラ予測モードにおける予測値は以下のように生成される。
モード0はVertical Prediction modeであり、p[x,-1] (x=0, … ,7) が “available” である時のみ適用される。予測値pred8x8L[x,y]は、次の式(25)のように生成される。
pred8x8L[x,y] = p’[x,-1] x,y=0,...,7
・・・(25)
pred8x8L[x,y] = p’[x,-1] x,y=0,...,7
・・・(25)
モード1はHorizontal Prediction modeであり、p[-1,y] (y=0, … ,7) が “available” である時のみ適用される。予測値pred8x8L[x,y]は、次の式(26)のように生成される。
pred8x8L[x,y] = p’[-1,y] x,y=0,...,7
・・・(26)
pred8x8L[x,y] = p’[-1,y] x,y=0,...,7
・・・(26)
モード2はDC Prediction modeであり、予測値pred8x8L[x,y]は以下の通り生成される。すなわち、p[x,-1] (x=0, … ,7) および p[-1,y] (y=0, … ,7) の両方が “available” である場合には、予測値pred8x8L[x,y]は、次の式(27)のように生成される。
p[x,-1] (x=0, … ,7) は “available” であるが、 p[-1,y] (y=0, … ,7) が “unavailable” である場合には、予測値pred8x8L[x,y]は、次の式(28)のように生成される。
p[x,-1] (x=0, … ,7) は “unavailable” であるが、 p[-1,y] (y=0, … ,7) が “available” である場合には、予測値pred8x8L[x,y]は、次の式(29)のように生成される。
p[x,-1] (x=0, … ,7) および p[-1,y] (y=0, … ,7) の両方が “unavailable” である場合には、予測値pred8x8L[x,y]は、次の式(30)のように生成される。
pred8x8L[x,y] = 128
・・・(30)
ただし、式(30)は、8ビット入力の場合を表している。
pred8x8L[x,y] = 128
・・・(30)
ただし、式(30)は、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である予測画素値は、次の式(31)のように生成され、その他の予測画素値は、次の式(32)のように生成される。
pred8x8L[x,y] = (p’[14,-1] + 3*p[15,-1] + 2) >> 2
・・・(31)
red8x8L[x,y] = (p’[x+y,-1] + 2*p’[x+y+1,-1] + p’[x+y+2,-1] + 2) >> 2
・・・(32)
pred8x8L[x,y] = (p’[14,-1] + 3*p[15,-1] + 2) >> 2
・・・(31)
red8x8L[x,y] = (p’[x+y,-1] + 2*p’[x+y+1,-1] + p’[x+y+2,-1] + 2) >> 2
・・・(32)
モード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 である予測画素値は、次の式(33)のように生成され、x < y である予測画素値は、次の式(34)のように生成される。また、x = y である予測画素値は、次の式(35)のように生成される。
pred8x8L[x,y] = (p’[x-y-2,-1] + 2*p’[x-y-1,-1] + p’[x-y,-1] + 2) >> 2
・・・(33)
pred8x8L[x,y] = (p’[-1,y-x-2] + 2*p’[-1,y-x-1] + p’[-1,y-x] + 2) >> 2
・・・(34)
pred8x8L[x,y] = (p’[0,-1] + 2*p’[-1,-1] + p’[-1,0] + 2) >> 2
・・・(35)
pred8x8L[x,y] = (p’[x-y-2,-1] + 2*p’[x-y-1,-1] + p’[x-y,-1] + 2) >> 2
・・・(33)
pred8x8L[x,y] = (p’[-1,y-x-2] + 2*p’[-1,y-x-1] + p’[-1,y-x] + 2) >> 2
・・・(34)
pred8x8L[x,y] = (p’[0,-1] + 2*p’[-1,-1] + p’[-1,0] + 2) >> 2
・・・(35)
モード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を、次の式(36)のように定義する。
zVR = 2*x - y
・・・(36)
zVR = 2*x - y
・・・(36)
この時、zVRが、0,2,4,6,8,10,12,14の場合には、画素予測値は、次の式(37)のように生成され、zVRが1,3,5,7,9,11,13の場合には、画素予測値は、次の式(38)のように生成される。
pred8x8L[x,y] = (p’[x-(y>>1)-1,-1] + p’[x-(y>>1),-1] + 1) >> 1
・・・(37)
pred8x8L[x,y]
= (p’[x-(y>>1)-2,-1] + 2*p’[x-(y>>1)-1,-1] + p’[x-(y>>1),-1] + 2) >> 2
・・・(38)
pred8x8L[x,y] = (p’[x-(y>>1)-1,-1] + p’[x-(y>>1),-1] + 1) >> 1
・・・(37)
pred8x8L[x,y]
= (p’[x-(y>>1)-2,-1] + 2*p’[x-(y>>1)-1,-1] + p’[x-(y>>1),-1] + 2) >> 2
・・・(38)
また、zVRが-1の場合には、画素予測値は、次の式(39)のように生成され、これ以外の場合、すなわち、zVRが-2,-3,-4,-5,-6,-7の場合には、画素予測値は、次の式(40)のように生成される。
pred8x8L[x,y] = (p’[-1,0] + 2*p’[-1,-1] + p’[0,-1] + 2) >> 2
・・・(39)
pred8x8L[x,y] = (p’[-1,y-2*x-1] + 2*p’[-1,y-2*x-2] + p’[-1,y-2*x-3] + 2) >> 2
・・・(40)
pred8x8L[x,y] = (p’[-1,0] + 2*p’[-1,-1] + p’[0,-1] + 2) >> 2
・・・(39)
pred8x8L[x,y] = (p’[-1,y-2*x-1] + 2*p’[-1,y-2*x-2] + p’[-1,y-2*x-3] + 2) >> 2
・・・(40)
モード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を次の式(41)のように定義するものとする。
zHD = 2*y - x
・・・(41)
zHD = 2*y - x
・・・(41)
この時、zHDが0,2,4,6,8,10,12,14の場合には、予測画素値は、次の式(42)のように生成され、zHDが1,3,5,7,9,11,13の場合には、予測画素値は、次の式(43)のように生成される。
pred8x8L[x,y] = (p’[-1,y-(x>>1)-1] + p’[-1,y-(x>>1) + 1] >> 1
・・・(42)
pred8x8L[x,y]
= (p’[-1,y-(x>>1)-2] + 2*p’[-1,y-(x>>1)-1] + p’[-1,y-(x>>1)] + 2) >> 2
・・・(43)
pred8x8L[x,y] = (p’[-1,y-(x>>1)-1] + p’[-1,y-(x>>1) + 1] >> 1
・・・(42)
pred8x8L[x,y]
= (p’[-1,y-(x>>1)-2] + 2*p’[-1,y-(x>>1)-1] + p’[-1,y-(x>>1)] + 2) >> 2
・・・(43)
また、zHDが-1の場合には、予測画素値は、次の式(44)のように生成され、zHDがこれ以外の値の場合、すなわち、-2,-3,-4,-5,-6,-7の場合には、予測画素値は、次の式(45)のように生成される。
pred8x8L[x,y] = (p’[-1,0] + 2*p[-1,-1] + p’[0,-1] + 2) >> 2
・・・(44)
pred8x8L[x,y] = (p’[x-2*y-1,-1] + 2*p’[x-2*y-2,-1] + p’[x-2*y-3,-1] + 2) >> 2
・・・(45)
pred8x8L[x,y] = (p’[-1,0] + 2*p[-1,-1] + p’[0,-1] + 2) >> 2
・・・(44)
pred8x8L[x,y] = (p’[x-2*y-1,-1] + 2*p’[x-2*y-2,-1] + p’[x-2*y-3,-1] + 2) >> 2
・・・(45)
モード7はVertical_Left_prediction modeであり、予測値pred8x8L[x,y]は以下の通り生成される。すなわち、Vertical_Left_prediction modeは、p[x,-1], x=0,…,15が “available” の時のみ適用され、y=0,2,4,6の場合、予測画素値は、次の式(46)のように生成され、それ以外の場合、すなわち、y=1,3,5,7の場合、予測画素値は、次の式(47)のように生成される。
pred8x8L[x,y] = (p’[x+(y>>1),-1] + p’[x+(y>>1)+1,-1] + 1) >> 1
・・・(46)
pred8x8L[x,y]
= (p’[x+(y>>1),-1] + 2*p’[x+(y>>1)+1,-1] + p’[x+(y>>1)+2,-1] + 2) >> 2
・・・(47)
pred8x8L[x,y] = (p’[x+(y>>1),-1] + p’[x+(y>>1)+1,-1] + 1) >> 1
・・・(46)
pred8x8L[x,y]
= (p’[x+(y>>1),-1] + 2*p’[x+(y>>1)+1,-1] + p’[x+(y>>1)+2,-1] + 2) >> 2
・・・(47)
モード8はHorizontal_Up_prediction modeであり、予測値pred8x8L[x,y]は以下の通り生成される。すなわち、Horizontal_Up_prediction modeは、p[-1,y], y=0,…,7 が “available” の時のみ適用される。以下では、zHUを次の式(48)のように定義する。
zHU = x + 2*y
・・・(48)
zHU = x + 2*y
・・・(48)
zHUの値が0,2,4,6,8,10,12の場合、予測画素値は、次の式(49)のように生成され、zHUの値が1,3,5,7,9,11の場合、予測画素値は、次の式(50)のように生成される。
pred8x8L[x,y] = (p’[-1,y+(x>>1)] + p’[-1,y+(x>>1)+1] + 1) >> 1
・・・(49)
pred8x8L[x,y] = (p’[-1,y+(x>>1)]
・・・(50)
pred8x8L[x,y] = (p’[-1,y+(x>>1)] + p’[-1,y+(x>>1)+1] + 1) >> 1
・・・(49)
pred8x8L[x,y] = (p’[-1,y+(x>>1)]
・・・(50)
また、zHUの値が13の場合、予測画素値は、次の式(51)のように生成され、それ以外の場合、すなわち、zHUの値が13より大きい場合、予測画素値は、次の式(52)のように生成される。
pred8x8L[x,y] = (p’[-1,6] + 3*p’[-1,7] + 2) >> 2
・・・(51)
pred8x8L[x,y] = p’[-1,7]
・・・(52)
pred8x8L[x,y] = (p’[-1,6] + 3*p’[-1,7] + 2) >> 2
・・・(51)
pred8x8L[x,y] = p’[-1,7]
・・・(52)
次に、16×16画素のイントラ予測モードについて説明する。図11および図12は、4種類の輝度信号の16×16画素のイントラ予測モード(Intra_16x16_pred_mode)を示す図である。
4種類のイントラ予測モードについて、図13を参照して説明する。図13の例において、イントラ処理される対象マクロブロック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)は、次の式(53)のように生成される。
Pred(x,y) = P(x,-1);x,y=0,…,15
・・・(53)
Pred(x,y) = P(x,-1);x,y=0,…,15
・・・(53)
モード1はHorizontal Prediction modeであり、P(-1,y); x,y=-1,0,…,15が “available” である時のみ適用される。この場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(54)のように生成される。
Pred(x,y) = P(-1,y);x,y=0,…,15
・・・(54)
Pred(x,y) = P(-1,y);x,y=0,…,15
・・・(54)
モード2はDC Prediction modeであり、P(x,-1)およびP(-1,y); x,y=-1,0,…,15が全て “available” である場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(55)のように生成される。
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)は、次の式(58)のように生成される。
次に、色差信号に対するイントラ予測モードについて説明する。図14は、4種類の色差信号のイントラ予測モード(Intra_chroma_pred_mode)を示す図である。色差信号のイントラ予測モードは、輝度信号のイントラ予測モードと独立に設定が可能である。色差信号に対するイントラ予測モードは、上述した輝度信号の16×16画素のイントラ予測モードに順ずる。
ただし、輝度信号の16×16画素のイントラ予測モードが、16×16画素のブロックを対象としているのに対し、色差信号に対するイントラ予測モードは、8×8画素のブロックを対象としている。さらに、上述した図11と図14に示されるように、両者においてモード番号は対応していない。
ここで、図13を参照して上述した輝度信号の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)は、次の式(59)のように生成される。
モード1はHorizontal Prediction modeであり、P(-1,y) ; x,y=-1,0,…,7が “available” の場合にのみ適用される。この場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(62)のように生成される。
Pred(x,y) = P(-1,y);x,y=0,…,7
・・・(62)
Pred(x,y) = P(-1,y);x,y=0,…,7
・・・(62)
モード2はVertical Prediction modeであり、P(x,-1) ; x,y=-1,0,…,7が “available” の場合にのみ適用される。この場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(63)のように生成される。
Pred(x,y) = P(x,-1);x,y=0,…,7
・・・(63)
Pred(x,y) = P(x,-1);x,y=0,…,7
・・・(63)
モード3はPlane Prediction modeであり、P(x,-1)及びP(-1,y) ; x,y=-1,0,…,7 が “available” の場合にのみ適用される。この場合、対象マクロブロックAの各画素の予測画素値Pred(x,y)は、次の式(64)のように生成される。
以上のように、輝度信号のイントラ予測モードには、9種類の4×4画素および8×8画素のブロック単位、並びに4種類の16×16画素のマクロブロック単位の予測モードがある。このブロック単位のモードは、マクロブロック単位毎に設定される。色差信号のイントラ予測モードには、4種類の8×8画素のブロック単位の予測モードがある。この色差信号のイントラ予測モードは、輝度信号のイントラ予測モードと独立に設定が可能である。
また、輝度信号の4×4画素のイントラ予測モード(イントラ4×4予測モード)および8×8画素のイントラ予測モード(イントラ8×8予測モード)については、4×4画素および8×8画素の輝度信号のブロック毎に1つのイントラ予測モードが設定される。輝度信号の16×16画素のイントラ予測モード(イントラ16×16予測モード)と色差信号のイントラ予測モードについては、1つのマクロブロックに対して1つの予測モードが設定される。
なお、予測モードの種類は、上述した図5の番号0,1,3乃至8で示される方向に対応している。予測モード2は平均値予測である。
以上のようにH.264/AVC方式におけるイントラ予測においては、式(14)乃至式(24)で上述したように、8×8画素のブロック単位のイントラ予測を行うに先立ってのみ、定められたフィルタ係数で、隣接画素の画素値のフィルタ処理が行われている。
[詳細な構成例]
図2の画像符号化装置51においては、イントラ予測を行う際、複数ライン分の隣接画素値をラインバッファに格納し、これを用いてイントラ予測が行われる。
図2の画像符号化装置51においては、イントラ予測を行う際、複数ライン分の隣接画素値をラインバッファに格納し、これを用いてイントラ予測が行われる。
図15を参照して、画像符号化装置51におけるイントラ予測について説明する。図15Aには、当該ブロックサイズが8×8画素の場合のVertical Predictionの方法が示されている。白丸が、当該ブロック画素を表し、斜線の丸が、Vertical Predictionに用いられる隣接画素を表している。
すなわち、H.264/AVC方式の場合、イントラ予測には、1ライン分の隣接画素しか用いられないが、画像符号化装置51においては、複数ライン(図15Aの例の場合、4ライン)分の隣接画素が用いられる。
図15Bには、図15Aのそれぞれの縦ラインを、矢印方向に見た例が示されている。ここで、それぞれの位置における画素値を、P(x);x=-4,…,-1,0,…,7とする。すなわち、x=-4乃至-1は、隣接画素の画素値、x=0乃至7は、当該ブロック画素の画素値を示す。隣接画素の画素値に関するP(x)は既知の値、当該ブロック画素の画素値は、予測値、すなわち、未知の値ということになる。画像符号化装置51においては、既知の値から、未知の値を求めることになる。
上述した式(65)に、式(66)により求められるパラメータa,b,c,dを用いてP(0)乃至P(7)を算出することで、当該ブロックに対する予測画素値が求められる。すなわち、この場合、4ライン分の隣接画素が用いられる場合、4次の連立方程式を解くことで、3次の多項式の4個の定数が算出され、4個の定数を用いた3次の多項式により、イントラ予測画像が生成される。つまり、算出された4個の定数を用いた3次の多項式は、図15Bに示されるように、4ライン分の隣接画素と8個の当該ブロック画素を近似する多項式といえる。
なお、P(0)乃至P(7)は、画素値であるため、入力となる画像信号がNビットである場合、0乃至2N-1の範囲の値にクリップ処理を行う必要がある。
また、パラメータa,b,c,dは、復号側においても同様の処理により同一の値を算出することが可能であるため、圧縮画像のヘッダに付加して送る必要がない。
以上のように、画像符号化装置51においては、複数ラインの隣接画素を用いて多項式近似による外挿処理を行うことにより、イントラ予測画像が生成される。この多項式近似による外挿処理は、イントラ予測部73およびスプライン補間部75により行われる処理であり、スプライン補間とも呼ばれる。以下、パラメータa,b,c,dを、スプラインパラメータまたは補間パラメータとも称する。
以上により、イントラ予測の精度がよくなり、符号化効率を向上させることができる。
以上、Vertical Predictionを例に説明してきたが、同様の処理を、上述した図6に示された方向に沿って行うことにより、DC Prediction以外の全てのイントラ予測モードに対して適用することが可能である。また、輝度信号のみならず、色差信号に対しても適用可能である。例えば、輝度信号に用いるライン数に比べて、色差信号に用いるライン数を減らすようにしてもよいし、同じ数のライン数を用いるようにしてもよい。
さらに、図15の例においては、イントラ予測に用いられる画素が4ライン分の画素の例である場合を説明したが、2ライン分以上であればよく、4ラインに限らない。すなわち、Nライン分の隣接画素が用いられる場合、N次の連立方程式を解くことで、N−1次の多項式のN個の定数が算出され、N個の定数を用いたN−1次の多項式により、イントラ予測画像が生成される。また、例えば、当該ブロックサイズに応じて、より多いライン数を用いるようにしてもよい。
ところで、図16に示されるように、本発明によるイントラ予測を行うため、k列のラインバッファが確保されているとする。
隣接画素および当該ブロック画素に物体の境界を含まなければ、k列の全ての画素を用いて、より高い次数の多項式により近似を行う方が、予測精度がより高いものになるといえる。
しかしながら、k列の隣接画素内に、物体の境界を含む場合、その境界を超え、多項式近似処理を行うことは、予測効率の低下を招く恐れがある。
そこで、本発明においては、次の方法により、ラインバッファ74に確保されたk列のラインバッファのうち、どこまで用いるのかが決定される。すなわち、まず、隣り合う隣接画素間の差分値|n0-n1|,|n1-n2|,…の算出が行われる。
この場合、n0,n1,n2を用いた2次の多項式近似を用いた方が、n3以降の画素値を用いた多項式近似を行うより予測効率が高いと考えられる。
つまり、h≧3である画素nhについて、次の式(68)が成り立つか否かの判定を行い、もし、成り立つ場合には、nhより、当該ブロックに近い画素値のみを用いて、k-1次の多項式近似によるイントラ予測が行われる。
ここで、Θは、より大きな量子化パラメータに対して、より大きな値を設定するものとする。これは、より大きな量子化パラメータにより符号化される場合、|nh - nh-1|の値が大きくなるのは、物体の境界であるという要因だけでなく、量子化誤差による要因も考えられるようになるためである。
以上のように、物体境界を含まないと考えられる場合、ライン数を増やすことにより、精度を向上させることができる。ただし、それに応じてラインメモリのライン数も増える場合には、コストも増えてしまう。
なお、このような何次の多項式を用いるかを決定する処理は、復号側でも同様の処理であり、同様に求めることができるので、この情報も送る必要がない。
また、上記説明においては、8×8画素ブロックを例に説明してきたが、本発明の適用範囲はこれに限らず、本発明は、あらゆるサイズの画素ブロックに適用することが可能である。すなわち、本発明は、図17に示されるような拡張マクロブロックにも適用することが可能である。
図17は、非特許文献1または2で提案されているブロックサイズの例を示す図である。非特許文献1または2では、マクロブロックサイズが32×32画素に拡張されている。
図17の上段には、左から、32×32画素、32×16画素、16×32画素、および16×16画素のブロック(パーティション)に分割された32×32画素で構成されるマクロブロックが順に示されている。図17の中段には、左から、16×16画素、16×8画素、8×16画素、および8×8画素のブロックに分割された16×16画素で構成されるブロックが順に示されている。また、図17の下段には、左から、8×8画素、8×4画素、4×8画素、および4×4画素のブロックに分割された8×8画素のブロックが順に示されている。
すなわち、32×32画素のマクロブロックは、図17の上段に示される32×32画素、32×16画素、16×32画素、および16×16画素のブロックでの処理が可能である。
上段の右側に示される16×16画素のブロックは、H.264/AVC方式と同様に、中段に示される16×16画素、16×8画素、8×16画素、および8×8画素のブロックでの処理が可能である。
中段の右側に示される8×8画素のブロックは、H.264/AVC方式と同様に、下段に示される8×8画素、8×4画素、4×8画素、および4×4画素のブロックでの処理が可能である。
これらのブロックは、以下の3階層に分類することができる。すなわち、図17の上段に示される32×32画素、32×16画素、および16×32画素のブロックを第1階層と呼ぶ。上段の右側に示される16×16画素のブロック、並びに、中段に示される16×16画素、16×8画素、および8×16画素のブロックを、第2階層と呼ぶ。中段の右側に示される8×8画素のブロック、並びに、下段に示される8×8画素、8×4画素、4×8画素、および4×4画素のブロックを、第3階層と呼ぶ。
図17のような、階層構造を採用することにより、16×16画素ブロック以下に関しては、現在のAVCにおけるマクロブロックと互換性を保ちながら、そのスーパーセットとして、より大きなブロックが定義されている。
したがって、本発明によれば、特に、図17に示されるような拡張されたマクロブロックにおいて、図1を参照して上述した、より大きなイントラ予測ブロックに対する予測精度を改善することができる。
[イントラ予測部およびスプライン補間部の構成例]
図18は、上述したイントラ予測を行うイントラ予測部73およびスプライン補間部75の詳細な構成例を示すブロック図である。
図18は、上述したイントラ予測を行うイントラ予測部73およびスプライン補間部75の詳細な構成例を示すブロック図である。
図18の例の場合、イントラ予測部73は、候補モード判別部81、予測画像生成部82、コスト関数算出部83、およびモード判定部84により構成されている。スプライン補間部75は、隣接画素選択部91、およびスプラインパラメータ生成部92により構成されている。
候補モード判別部81は、符号化方式に定義されているイントラ予測モードの全て、もしくは、そのうちの一部で、当該ブロックにおいて候補モードとなるもののうち、availableであるモードを、隣接画素選択部91および予測画像生成部82に供給する。なお、availableであるとは、そのモードで用いられる隣接画素が利用可能であることを表す。
予測画像生成部82は、スプラインパラメータ生成部92からのスプラインパラメータを用いて、候補モード判別部81からのイントラ予測モードの予測画像を生成する。すなわち、予測画像生成部82は、式(65)のN−1次の多項式に、上述した式(66)により求められたN個のスプラインパラメータを用いてP(0)乃至P(7)を算出することにより、予測画像を生成する。生成された予測画像は、コスト関数算出部83に供給される。
コスト関数算出部83は、画面並べ替えバッファ62から入力画像の画素値を入力し、これと、予測画像生成部82からの予測画像を用いて、全ての候補モードに対するコスト関数値を算出する。コスト関数算出部83は、各候補モードに対する予測画像およびコスト関数値をモード判定部84に供給する。
モード判定部84は、候補となる予測モードのうち、コスト関数値が最小のものを、当該ブロックに対する最適な予測モードとし、その予測画像とコスト関数値を予測画像選択部77に供給する。予測画像選択部77においてイントラ予測の予測画像が選択された場合、その情報が予測画像選択部77よりくるので、モード判定部84は、最適な予測モードの情報を、可逆符号化部66に供給する。
ラインバッファ74には、フレームメモリ72から、イントラ予測に用いられる可能性のある全ての隣接画素が供給され、格納されている。隣接画素選択部91は、候補モード判別部81からの候補となるイントラ予測モードに応じて、どの隣接画素を用いるかを選択し、そのアドレスをラインバッファ74に供給する。このアドレスが用いられて、ラインバッファ74から、隣接画素選択部91に隣接画素の値が供給されるので、隣接画素選択部91は、供給された隣接画素の値を、スプラインパラメータ生成部92に供給する。
スプラインパラメータ生成部92は、Nライン分の隣接画素値を用いて、上述した式(66)によりN次の連立方程式を解くことで、イントラ予測のためのN−1次の多項式のN個のスプラインパラメータを算出し、算出したN個のスプラインパラメータを、予測画像生成部82に供給する。
[画像符号化装置の符号化処理の説明]
次に、図19のフローチャートを参照して、図1の画像符号化装置51の符号化処理について説明する。
次に、図19のフローチャートを参照して、図1の画像符号化装置51の符号化処理について説明する。
ステップS11において、A/D変換部61は入力された画像をA/D変換する。ステップS12において、画面並べ替えバッファ62は、A/D変換部61より供給された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
ステップS13において、演算部63は、ステップS12で並び替えられた画像と予測画像との差分を演算する。予測画像は、インター予測する場合は動き予測・補償部76から、イントラ予測する場合はイントラ予測部73から、それぞれ予測画像選択部77を介して演算部63に供給される。
差分データは元の画像データに較べてデータ量が小さくなっている。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
ステップS14において、直交変換部64は演算部63から供給された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。ステップS15において、量子化部65は変換係数を量子化する。この量子化に際しては、後述するステップS25の処理で説明されるように、レートが制御される。
以上のようにして量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップS16において、逆量子化部68は量子化部65により量子化された変換係数を量子化部65の特性に対応する特性で逆量子化する。ステップS17において、逆直交変換部69は逆量子化部68により逆量子化された変換係数を直交変換部64の特性に対応する特性で逆直交変換する。
ステップS18において、演算部70は、予測画像選択部77を介して入力される予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像(演算部63への入力に対応する画像)を生成する。ステップS19においてデブロックフィルタ71は、演算部70より出力された画像をフィルタリングする。これによりブロック歪みが除去される。ステップS20においてフレームメモリ72は、フィルタリングされた画像を記憶する。なお、フレームメモリ72にはデブロックフィルタ71によりフィルタ処理されていない画像も演算部70から供給され、記憶される。
画面並べ替えバッファ62から供給される処理対象の画像がイントラ処理されるブロックの画像である場合、参照される復号済みの画像がフレームメモリ72から読み出され、ラインバッファ74に供給される。
これらの画像に基づいて、ステップS21において、イントラ予測部73およびスプライン補間部75は、多項式近似を用いた外挿処理(すなわち、スプライン補間処理)により、処理対象のブロックの画素を、候補となる全てのイントラ予測モードでイントラ予測する。なお、参照される復号済みの画素としては、デブロックフィルタ71によりデブロックフィルタリングされていない画素が用いられる。
ステップS21におけるイントラ予測処理の詳細は、図20を参照して後述するが、この処理により、候補となる全てのイントラ予測モードでイントラ予測が行われ、候補となる全てのイントラ予測モードに対してコスト関数値が算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測モードが選択され、最適イントラ予測モードのイントラ予測により生成された予測画像とそのコスト関数値が予測画像選択部77に供給される。
画面並べ替えバッファ62から供給される処理対象の画像がインター処理される画像である場合、参照される画像がフレームメモリ72から読み出され、動き予測・補償部76に供給される。これらの画像に基づいて、ステップS22において、動き予測・補償部76は、インター動き予測処理を行う。
ステップS22におけるインター動き予測処理の詳細は、図21を参照して後述する。この処理により、候補となる全てのインター予測モードで動き探索処理が行われ、候補となる全てのインター予測モードに対してコスト関数値が算出され、算出したコスト関数値に基づいて、最適インター予測モードが決定される。そして、最適インター予測モードにより生成された予測画像とそのコスト関数値が予測画像選択部77に供給される。
ステップS23において、予測画像選択部77は、イントラ予測部73および動き予測・補償部76より出力された各コスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードのうちの一方を、最適予測モードに決定する。そして、予測画像選択部77は、決定した最適予測モードの予測画像を選択し、演算部63,70に供給する。この予測画像が、上述したように、ステップS13,S18の演算に利用される。
なお、この予測画像の選択情報は、イントラ予測部73または動き予測・補償部76に供給される。最適イントラ予測モードの予測画像が選択された場合、イントラ予測部73は、最適イントラ予測モードを示す情報(すなわち、イントラ予測モード情報)を、可逆符号化部66に供給する。
最適インター予測モードの予測画像が選択された場合、動き予測・補償部76は、最適インター予測モードを示す情報と、さらに、必要に応じて、最適インター予測モードに応じた情報を可逆符号化部66に出力する。最適インター予測モードに応じた情報としては、動きベクトル情報や参照フレーム情報などがあげられる。
ステップS24において、可逆符号化部66は量子化部65より出力された量子化された変換係数を符号化する。すなわち、差分画像が可変長符号化、算術符号化等の可逆符号化され、圧縮される。このとき、上述したステップS21において可逆符号化部66に入力された、イントラ予測部73からのイントラ予測モード情報、または、ステップS22において、動き予測・補償部76からの最適インター予測モードに応じた情報なども符号化され、ヘッダ情報に付加される。
例えば、イントラ予測モードを示す情報やインター予測モードを示す情報は、マクロブロック毎に符号化される。動きベクトル情報や参照フレーム情報は、対象となるブロック毎に符号化される。
ステップS25において蓄積バッファ67は差分画像を圧縮画像として蓄積する。蓄積バッファ67に蓄積された圧縮画像が適宜読み出され、伝送路を介して復号側に伝送される。
ステップS26においてレート制御部78は、蓄積バッファ67に蓄積された圧縮画像に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部65の量子化動作のレートを制御する。
[イントラ予測処理の説明]
次に、図20のフローチャートを参照して、図19のステップS21におけるイントラ予測処理を説明する。なお、図20の例においては、輝度信号の場合を例として説明する。
次に、図20のフローチャートを参照して、図19のステップS21におけるイントラ予測処理を説明する。なお、図20の例においては、輝度信号の場合を例として説明する。
画面並べ替えバッファ62から供給される処理対象の画像がイントラ処理されるブロックの画像である場合、イントラ予測のための参照される復号済みの画像がフレームメモリ72から読み出され、ラインバッファ74に供給される。
ステップS41において、ラインバッファ74は、供給されたイントラ予測のための隣接画素値を格納する。
候補モード判別部81は、符号化方式に定義されているイントラ予測モードの全て、もしくは、そのうちの一部で、当該ブロックにおいて候補モードとなるもののうち、availableであるモードを、隣接画素選択部91および予測画像生成部82に供給する。例えば、図4乃至図14を参照して上述した4×4画素、8×8画素、および16×16画素の各イントラ予測モードが候補モードとされる。
これに対応して、隣接画素選択部91は、ステップS42において、候補モード判別部81からの候補となるイントラ予測モードに応じて、どの隣接画素を用いるかを選択し、そのアドレスをラインバッファ74に供給する。このアドレスが用いられて、ラインバッファ74から、隣接画素選択部91に、隣接画素の値が供給されるので、隣接画素選択部91は、供給された隣接画素の値を、スプラインパラメータ生成部92に供給する。
ステップS43において、スプラインパラメータ生成部92は、上述した式(66)に示されるN次の連立方程式を解くことで、各予測モードに対するN−1次の多項式におけるN個のスプラインパラメータを算出し、算出したスプラインパラメータを、予測画像生成部82に供給する。
ステップS44において、予測画像生成部82は、スプラインパラメータ生成部92からのスプラインパラメータを用いて、各モードに対する予測画像を生成する。すなわち、上述した式(65)であるN−1次の多項式に、N個のスプラインパラメータを用いてP(0)乃至P(7)を算出することにより、予測画像が生成される。生成された予測画像は、コスト関数算出部83に供給される。
ステップS45において、コスト関数算出部83は、画面並べ替えバッファ62から入力画像の画素値を入力し、これと、予測画像生成部82からの予測画像を用いて、各予測モードに対するコスト関数値を算出する。コスト関数算出部83は、各候補モードに対する予測画像およびコスト関数値をモード判定部84に供給する。
ここで、コスト関数値としては、High Complexity Modeか、Low Complexity Modeのいずれかの手法に基づいて行う。H.264/AVC方式においては、例えば、JMにおいて定められているHigh Complexity Modeと、Low Complexity Modeの2通りのモード判定方法を選択する方法が用いられている。この方法の場合、どちらも、それぞれの予測モードに関するコスト関数値を算出し、これを最小にする予測モードを当該ブロック乃至マクロブロックに対する最適モードとして選択する。
High Complexity Modeにおけるコスト関数値は、以下の式(69)のように求めることができる。
Cost(Mode∈Ω)=D+λ×R ・・・(69)
式(69)において、Ωは、当該ブロック乃至マクロブロックを符号化するための候補モードの全体集合である。また、Dは、当該予測モードModeで符号化した場合の、復号画像と入力画像の差分エネルギーである。さらに、λは、量子化パラメータの関数として与えられるLagrange未定乗数である。また、Rは、直交変換係数を含んだ、当該モードModeで符号化した場合の総符号量である。
つまり、High Complexity Modeでの符号化を行なうには、上記パラメータD及びRを算出するため、全ての候補モードModeにより、一度、仮エンコード処理を行う必要があり、より高い演算量を要する。
これに対してLow Complexity Modeにおけるコスト関数値は、以下の式(70)のように求めることができる。
Cost(Mode∈Ω)=D+QP2Quant(QP)×HeaderBit ・・・(70)
となる。式(70)において、Dは、High Complexity Modeの場合と異なり、予測画像と入力画像の差分エネルギーとなる。また、QP2Quant(QP)は、量子化パラメータQPの関数として与えられる。さらに、HeaderBitは、直交変換係数を含まない、動きベクトルや、モードといった、Headerに属する情報に関する符号量である。
すなわち、Low Complexity Modeにおいては、それぞれの候補モードModeに関して、予測処理を行う必要があるが、復号画像までは必要ないため、符号化処理まで行う必要はない。このため、High Complexity Modeより低い演算量での実現が可能である。
ステップS46において、モード判定部84は、候補となる予測モードのうち、コスト関数値を最小とする予測モードを、当該ブロックに対する最適な予測モードとして選択し、その予測画像とコスト関数値を予測画像選択部77に供給する。
そして、上述した図19のステップS23において、予測画像選択部77により最適イントラ予測モードで生成された予測画像が選択された場合、モード判定部84により、最適イントラ予測モードを示す情報は、可逆符号化部66に供給される。そして、可逆符号化部66において、符号化され、圧縮画像のヘッダ情報に付加される(上述した図19のステップS24)。
[インター動き予測処理の説明]
次に、図21のフローチャートを参照して、図19のステップS22のインター動き予測処理について説明する。
次に、図21のフローチャートを参照して、図19のステップS22のインター動き予測処理について説明する。
動き予測・補償部76は、ステップS61において、16×16画素乃至4×4画素からなる8種類の各インター予測モードに対して動きベクトルと参照画像をそれぞれ決定する。すなわち、各インター予測モードの処理対象のブロックについて、動きベクトルと参照画像がそれぞれ決定される。
動き予測・補償部76は、ステップS62において、16×16画素乃至4×4画素からなる8種類の各インター予測モードについて、ステップS61で決定された動きベクトルに基づいて、参照画像に動き予測と補償処理を行う。この動き予測と補償処理により、各インター予測モードでの予測画像が生成される。
動き予測・補償部76は、ステップS63において、16×16画素乃至4×4画素からなる8種類の各インター予測モードに対して決定された動きベクトルについて、圧縮画像に付加するための動きベクトル情報を生成する。
生成された動きベクトル情報は、次のステップS64におけるコスト関数値算出の際にも用いられ、最終的に予測画像選択部77により対応する予測画像が選択された場合には、予測モード情報および参照フレーム情報とともに、可逆符号化部66へ出力される。
動き予測・補償部76は、ステップS64において、16×16画素乃至4×4画素からなる8種類の各インター予測モードに対して、上述した式(69)または式(70)で示されるコスト関数値を算出する。
ステップS65において、動き予測・補償部76は、ステップS64において算出されたインター予測モードに対してのコスト関数値を比較し、最小値を与える予測モードを、最適インター予測モードとして決定する。そして、最適インターモード判定部84は、最適インター予測モードで生成された予測画像とそのコスト関数値を、予測画像選択部77に供給する。
そして、上述した図19のステップS23において、予測画像選択部77により最適インター予測モードで生成された予測画像が選択された場合、動き予測・補償部76により、最適インター予測モードを示す情報や動きベクトル情報、参照画像情報などは、可逆符号化部66に供給される。そして、可逆符号化部66において、符号化され、圧縮画像のヘッダ情報に付加される(上述した図19のステップS24)。
次に、図22のフローチャートを参照して、図20のイントラ予測に用いられる多項式近似の次数の決定処理について説明する。なお、この処理は、図16を参照して上述したように、用いられる隣接画素のライン数を求める処理でもあり、例えば、図18の隣接画素選択部91および後述する図24の隣接画素選択部191により、隣接画素を選択する前などに実行される処理である。
ユーザの操作のもと、図示せぬ操作入力部などから閾値Θの値が入力されるので、ステップS81において、隣接画素選択部91は、閾値Θを決定する。
隣接画素選択部91は、ステップS82において、h=3とし、ステップS83において、hがkより小さいか否かを判定し、小さいと判定した場合、ステップS84に進む。ここで、kは、ラインバッファ74に格納されている隣接画素のライン数を表す。
隣接画素選択部91は、ステップS84において、|nh - nh-1|>|nh-1 - nh-2|+Θを満たすか否かを判定する。ステップS84における判定式を満たすと判定された場合、処理は、ステップS85に進む。
ステップS85において、|nh-1 - nh-2|>|nh-2 - nh-3|+Θを満たすか否かを判定する。ステップS84における判定式を満たさないと判定された場合、または、ステップS85における判定式を満たさないと判定された場合、処理は、ステップS86に進む。
ステップS86において、隣接画素選択部91は、h=h+1とし、ステップS83に戻り、それ以降の処理を繰り返す。
ステップS85における判定式を満たすと判定された場合、すなわち、上述した式(68)が成り立つ場合、処理は、ステップS87に進む。ステップS87において、隣接画素選択部91は、多項式近似の次数をh-1次に決定する。この場合、h列のラインバッファ(隣接画素値)が用いられる。
一方、ステップS83において、hがkと同じであると判定された場合、処理は、ステップS87に進む。この場合、ステップS87において、多項式近似の次数がk-1次に決定され、k列のラインバッファ(隣接画素値)が用いられる。
以上のように、画像符号化装置51においては、複数ラインの隣接画素を用いて多項式近似による外挿処理を行うことにより、イントラ予測画像を生成するようにした。これにより、イントラ予測の精度がよくなり、符号化効率を向上させることができる。これは、大きなブロックサイズの場合に、特に、効果がある。
また、用いるライン数を、画素差分を比較することで、物体の境界を含むと考えられるか否かにより決めるようにしたので、さらに、予測効率を向上させることができる。
符号化された圧縮画像は、所定の伝送路を介して伝送され、画像復号装置により復号される。
[画像復号装置の構成例]
図23は、本発明を適用した画像処理装置としての画像復号装置の一実施の形態の構成を表している。
図23は、本発明を適用した画像処理装置としての画像復号装置の一実施の形態の構成を表している。
画像復号装置151は、蓄積バッファ161、可逆復号部162、逆量子化部163、逆直交変換部164、演算部165、デブロックフィルタ166、画面並べ替えバッファ167、D/A変換部168、フレームメモリ169、イントラ予測部170、ラインバッファ171、スプライン補間部172、動き予測・補償部173、およびスイッチ174により構成されている。
蓄積バッファ161は伝送されてきた圧縮画像を蓄積する。可逆復号部162は、蓄積バッファ161より供給された、図2の可逆符号化部66により符号化された情報を、可逆符号化部66の符号化方式に対応する方式で復号する。逆量子化部163は可逆復号部162により復号された画像を、図2の量子化部65の量子化方式に対応する方式で逆量子化する。逆直交変換部164は、図2の直交変換部64の直交変換方式に対応する方式で逆量子化部163の出力を逆直交変換する。
逆直交変換された出力は演算部165によりスイッチ174から供給される予測画像と加算されて復号される。デブロックフィルタ166は、復号された画像のブロック歪を除去した後、フレームメモリ169に供給し、蓄積させるとともに、画面並べ替えバッファ167に出力する。
画面並べ替えバッファ167は、画像の並べ替えを行う。すなわち、図2の画面並べ替えバッファ62により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部168は、画面並べ替えバッファ167から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
フレームメモリ169からのインター処理される画像と参照される画像は、動き予測・補償部173に出力される。フレームメモリ169からのイントラ予測に用いられる画像は、ラインバッファ171に出力される。
イントラ予測部170には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報が、可逆復号部162から供給される。イントラ予測部170は、スプライン補間部172とともに、ラインバッファ171に格納された複数ラインの隣接画素を用いて多項式近似による外挿処理を行うことで、対象ブロックのイントラ予測画素値を生成する。
すなわち、イントラ予測部170は、そのイントラ予測モードの情報を、スプライン補間部172に供給する。スプライン補間部172からは、イントラ予測モードに応じた隣接画素値を用いてイントラ予測のための、隣接画素と対象ブロックの画素を近似する多項式の補間パラメータが供給される。イントラ予測部170は、スプライン補間部172からの補間パラメータを用いた多項式により、符号化側において選択されたイントラ予測モードのイントラ予測画像を生成する。
ラインバッファ171は、フレームメモリ169から参照画像の画素値を蓄積している。ラインバッファ171には、スプライン補間部172からイントラ予測モードに応じた隣接画素のアドレスが供給される。ラインバッファ171は、そのアドレスに対応した隣接画素の画素値をスプライン補間部172に供給する。
スプライン補間部172は、イントラ予測部170からのイントラ予測モードに応じた隣接画素のアドレスに対応してラインバッファ171から供給される隣接画素値を用いて、イントラ予測のための多項式の補間パラメータを多項式近似により算出し、算出した補間パラメータを、イントラ予測部170に供給する。
動き予測・補償部173には、ヘッダ情報を復号して得られた情報(予測モード情報、動きベクトル情報、参照フレーム情報)が可逆復号部162から供給される。インター予測モードを示す情報が供給された場合、動き予測・補償部173は、動きベクトル情報と参照フレーム情報に基づいて画像に動き予測と補償処理を施し、予測画像を生成する。動き予測・補償部173は、インター予測モードにより生成された予測画像をスイッチ174に出力する。
スイッチ174は、動き予測・補償部173またはイントラ予測部170により生成された予測画像を選択し、演算部165に供給する。
なお、図2の画像符号化装置51においては、コスト関数に基づく予測モード判定のため、すべてのイントラ予測モードに対してイントラ予測処理が行われる。これに対して、この画像復号装置151においては、符号化されて送られてくるイントラ予測モードの情報に基づいてのみイントラ予測処理が行われる。
[イントラ予測部およびスプライン補間部の構成例]
図24は、イントラ予測部170およびスプライン補間部172の詳細な構成例を示すブロック図である。
図24は、イントラ予測部170およびスプライン補間部172の詳細な構成例を示すブロック図である。
図24の例の場合、イントラ予測部170は、予測モードバッファ181、および予測画像生成部182により構成されている。スプライン補間部172は、隣接画素選択部191、およびスプラインパラメータ生成部192により構成されている。
予測モードバッファ181には、当該ブロックに対するイントラ予測モードの情報が、可逆復号部162から供給される。このイントラ予測モードの情報は、さらに、隣接画素選択部191に供給される。
予測画像生成部182は、スプラインパラメータ生成部192からのスプラインパラメータを用いて、予測モードバッファ181からのイントラ予測モードの予測画像を生成する。すなわち、予測画像生成部182は、式(65)のN−1次の多項式に、上述した式(66)により求められたN個のスプラインパラメータを用いてP(0)乃至P(7)を算出することにより、予測画像を生成する。生成された予測画像は、スイッチ174に供給される。
ラインバッファ171には、フレームメモリ169から、イントラ予測に用いられる可能性のある全ての隣接画素が供給され、格納されている。隣接画素選択部191は、予測モードバッファ181からのイントラ予測モードに応じて、どの隣接画素を用いるかを選択し、そのアドレスをラインバッファ171に供給する。このアドレスが用いられて、ラインバッファ171から、隣接画素選択部191に隣接画素の値が供給されるので、隣接画素選択部191は、供給された隣接画素の値を、スプラインパラメータ生成部192に供給する。
スプラインパラメータ生成部192は、Nライン分の隣接画素値を用いて、上述した式(66)によりN次の連立方程式を解くことで、イントラ予測のためのN−1次の多項式のN個のスプラインパラメータを算出し、算出したN個のスプラインパラメータを、予測画像生成部182に供給する。
[画像復号装置の復号処理の説明]
次に、図25のフローチャートを参照して、画像復号装置151が実行する復号処理について説明する。
次に、図25のフローチャートを参照して、画像復号装置151が実行する復号処理について説明する。
ステップS131において、蓄積バッファ161は伝送されてきた画像を蓄積する。ステップS132において、可逆復号部162は、蓄積バッファ161から供給される圧縮画像を復号する。すなわち、図2の可逆符号化部66により符号化されたIピクチャ、Pピクチャ、並びにBピクチャが復号される。
このとき、動きベクトル情報、参照フレーム情報、予測モード情報(イントラ予測モード、またはインター予測モードを示す情報)なども復号される。
すなわち、予測モード情報がイントラ予測モード情報である場合、予測モード情報は、イントラ予測部170に供給される。予測モード情報がインター予測モード情報である場合、予測モード情報と対応する動きベクトル情報および参照フレーム情報は、動き予測・補償部173に供給される。
ステップS133において、逆量子化部163は可逆復号部162により復号された変換係数を、図2の量子化部65の特性に対応する特性で逆量子化する。ステップS134において逆直交変換部164は逆量子化部163により逆量子化された変換係数を、図2の直交変換部64の特性に対応する特性で逆直交変換する。これにより図2の直交変換部64の入力(演算部63の出力)に対応する差分情報が復号されたことになる。
ステップS135において、演算部165は、後述するステップS139の処理で選択され、スイッチ174を介して入力される予測画像を差分情報と加算する。これにより元の画像が復号される。ステップS136においてデブロックフィルタ166は、演算部165より出力された画像をフィルタリングする。これによりブロック歪みが除去される。ステップS137においてフレームメモリ169は、フィルタリングされた画像を記憶する。
ステップS138において、イントラ予測部170、および動き予測・補償部173は、可逆復号部162から供給される予測モード情報に対応して、それぞれ画像の予測処理を行う。
すなわち、可逆復号部162からイントラ予測モード情報が供給された場合、イントラ予測部170およびスプライン補間部172は、多項式近似を用いた外挿処理(すなわち、スプライン補間処理)により、処理対象のブロックの画素を、可逆復号部162からのイントラ予測モードでイントラ予測する。
一方、可逆復号部162からインター予測モード情報が供給された場合、動き予測・補償部173は、可逆復号部162からのインター予測モードで、可逆復号部162からの動きベクトルを用いて、参照画像に補償処理を行う。
ステップS138における予測処理の詳細は、図26を参照して後述するが、この処理により、イントラ予測部170により生成された予測画像、または動き予測・補償部173により生成された予測画像がスイッチ174に供給される。
ステップS139において、スイッチ174は予測画像を選択する。すなわち、イントラ予測部170により生成された予測画像、または動き予測・補償部173により生成された予測画像供給される。したがって、供給された予測画像が選択されて演算部165に供給され、上述したように、ステップS135において逆直交変換部164の出力と加算される。
ステップS140において、画面並べ替えバッファ167は並べ替えを行う。すなわち画像符号化装置51の画面並べ替えバッファ62により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
ステップS141において、D/A変換部168は、画面並べ替えバッファ167からの画像をD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
[予測処理の説明]
次に、図26のフローチャートを参照して、図25のステップS138の予測処理を説明する。
次に、図26のフローチャートを参照して、図25のステップS138の予測処理を説明する。
予測画像生成部182および隣接画素選択部191は、ステップS171において、対象ブロックがイントラ符号化されているか否かを判定する。可逆復号部162からイントラ予測モード情報が予測モードバッファ181を介して、予測画像生成部182および隣接画素選択部191に供給されると、予測画像生成部182および隣接画素選択部191は、ステップS171において、対象ブロックがイントラ符号化されていると判定し、処理は、ステップS172に進む。
予測画像生成部182および隣接画素選択部191は、ステップS172において、予測モード情報を取得する。
ラインバッファ171には、イントラ予測のための参照される復号済みの画像がフレームメモリ169から読み出されて格納されている。
隣接画素選択部191は、ステップS173において、イントラ予測モードに必要な隣接画素値を選択し、そのアドレスをラインバッファ171に供給する。このアドレスが用いられて、ラインバッファ171から、隣接画素選択部191に、隣接画素の値が供給されるので、隣接画素選択部191は、供給された隣接画素の値を、スプラインパラメータ生成部192に供給する。
ステップS174において、スプラインパラメータ生成部192は、上述した式(66)に示されるN次の連立方程式を解くことで、予測モードバッファ181からの予測モードに対するN−1次の多項式におけるN個のスプラインパラメータを算出し、算出したスプラインパラメータを、予測画像生成部182に供給する。
ステップS175において、予測画像生成部182は、スプラインパラメータ生成部192からのスプラインパラメータを用いて、予測モードバッファ181からの予測モードに対する予測画像を生成する。すなわち、上述した式(65)であるN−1次の多項式に、N個のスプラインパラメータを用いてP(0)乃至P(7)を算出することにより、予測画像が生成される。生成された予測画像は、コスト関数算出部83に供給される。スイッチ174を介して、演算部165に供給される。
一方、ステップS171において、イントラ符号化されていないと判定された場合、処理は、ステップS176に進む。
処理対象の画像がインター処理される画像である場合、可逆復号部162からインター予測モード情報、参照フレーム情報、動きベクトル情報が動き予測・補償部173に供給される。ステップS176において、動き予測・補償部173は、可逆復号部162からのインター予測モード情報、参照フレーム情報、動きベクトル情報などを取得する。
そして、動き予測・補償部173は、ステップS177において、インター動き予測を行う。すなわち、処理対象の画像がインター予測処理される画像である場合、必要な画像がフレームメモリ169から読み出され、スイッチ170を介して動き予測・補償部173に供給される。ステップS177において動き予測・補償部173は、ステップS176で取得した動きベクトルに基づいて、インター予測モードの補償処理をし、予測画像を生成する。生成した予測画像は、スイッチ174に出力される。
以上のように、画像符号化装置51および画像復号装置151においては、複数ラインの隣接画素を用いて多項式近似による外挿処理を行うことにより、イントラ予測画像を生成するようにした。これにより、イントラ予測の精度がよくなり、符号化効率を向上させることができる。これは、大きなブロックサイズの場合に、特に、効果がある。
また、スプラインパラメータは、復号側においても同様の処理により同一の値を算出することが可能であるため、圧縮画像のヘッダに付加して送る必要がない。
以上においては、符号化方式としてH.264/AVC方式をベースに用いるようにしたが、本発明はこれに限らず、画面内の隣接画素を用いた予測を行う、その他の符号化方式/復号方式を適用することができる。
なお、本発明は、例えば、MPEG、H.26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報(ビットストリーム)を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本発明は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。さらに、本発明は、それらの画像符号化装置および画像復号装置などに含まれる動き予測補償装置にも適用することができる。
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な汎用のパーソナルコンピュータなどが含まれる。
[パーソナルコンピュータの構成例]
図27は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
図27は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
コンピュータにおいて、CPU(Central Processing Unit)201、ROM(Read Only Memory)202、RAM(Random Access Memory)203は、バス204により相互に接続されている。
バス204には、さらに、入出力インタフェース205が接続されている。入出力インタフェース205には、入力部206、出力部207、記憶部208、通信部209、およびドライブ210が接続されている。
入力部206は、キーボード、マウス、マイクロホンなどよりなる。出力部207は、ディスプレイ、スピーカなどよりなる。記憶部208は、ハードディスクや不揮発性のメモリなどよりなる。通信部209は、ネットワークインタフェースなどよりなる。ドライブ210は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア211を駆動する。
以上のように構成されるコンピュータでは、CPU201が、例えば、記憶部208に記憶されているプログラムを入出力インタフェース205及びバス204を介してRAM203にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU201)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア211に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供することができる。
コンピュータでは、プログラムは、リムーバブルメディア211をドライブ210に装着することにより、入出力インタフェース205を介して、記憶部208にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部209で受信し、記憶部208にインストールすることができる。その他、プログラムは、ROM202や記憶部208に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、上述した画像符号化装置51や画像復号装置151は、任意の電子機器に適用することができる。以下にその例について説明する。
[テレビジョン受像機の構成例]
図28は、本発明を適用した画像復号装置を用いるテレビジョン受像機の主な構成例を示すブロック図である。
図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として、上述した画像復号装置151を用いる。したがって、MPEGデコーダ317は、画像復号装置151の場合と同様に、イントラ予測における符号化効率を向上させることができる。
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として画像復号装置151を用いることにより、符号化効率を向上することができる。その結果として、テレビジョン受像機300は、アンテナを介して受信した放送波信号や、ネットワークを介して取得したコンテンツデータから、より高精細な復号画像を得て、表示することができる。
[携帯電話機の構成例]
図29は、本発明を適用した画像符号化装置および画像復号装置を用いる携帯電話機の主な構成例を示すブロック図である。
図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として、上述した画像復号装置151を用いる。したがって、画像デコーダ456は、画像復号装置151の場合と同様に、イントラ予測における符号化効率を向上させることができる。
このとき、携帯電話機400は、同時に、音声コーデック459において、デジタルの音声データをアナログ音声信号に変換し、これをスピーカ417より出力させる。これにより、例えば、簡易ホームページにリンクされた動画像ファイルに含まれる音声データが再生される。
なお、電子メールの場合と同様に、携帯電話機400は、受信した簡易ホームページ等にリンクされたデータを、記録再生部462を介して、記憶部423に記録する(記憶させる)ことも可能である。
また、携帯電話機400は、主制御部450において、撮像されてCCDカメラ416で得られた2次元コードを解析し、2次元コードに記録された情報を取得することができる。
さらに、携帯電話機400は、赤外線通信部481で赤外線により外部の機器と通信することができる。
携帯電話機400は、画像エンコーダ453として画像符号化装置51を用いることにより、符号化効率を向上させることができる。結果として、携帯電話機400は、符号化効率のよい符号化データ(画像データ)を、他の装置に提供することができる。
また、携帯電話機400は、画像デコーダ456として画像復号装置151を用いることにより、符号化効率を向上させることができる。その結果として、携帯電話機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および画像復号装置151を適用することができる。
[ハードディスクレコーダの構成例]
図30は、本発明を適用した画像符号化装置および画像復号装置を用いるハードディスクレコーダの主な構成例を示すブロック図である。
図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に内蔵されるデコーダとして画像復号装置151を用いる。したがって、ビデオデコーダ525、デコーダ552、およびレコーダ制御部526に内蔵されるデコーダは、画像復号装置151の場合と同様に、イントラ予測における符号化効率を向上させることができる。
したがって、ハードディスクレコーダ500は、精度の高い予測画像を生成することができる。その結果として、ハードディスクレコーダ500は、例えば、チューナを介して受信されたビデオデータの符号化データや、記録再生部533のハードディスクから読み出されたビデオデータの符号化データや、ネットワークを介して取得したビデオデータの符号化データから、より高精細な復号画像を得て、モニタ560に表示させることができる。
また、ハードディスクレコーダ500は、エンコーダ551として画像符号化装置51を用いる。したがって、エンコーダ551は、画像符号化装置51の場合と同様に、イントラ予測における符号化効率を向上させることができる。
したがって、ハードディスクレコーダ500は、例えば、ハードディスクに記録する符号化データの符号化効率を向上させることができる。その結果として、ハードディスクレコーダ500は、ハードディスクの記憶領域をより効率よく使用することができる。
なお、以上においては、ビデオデータやオーディオデータをハードディスクに記録するハードディスクレコーダ500について説明したが、もちろん、記録媒体はどのようなものであってもよい。例えばフラッシュメモリ、光ディスク、またはビデオテープ等、ハードディスク以外の記録媒体を適用するレコーダであっても、上述したハードディスクレコーダ500の場合と同様に、画像符号化装置51および画像復号装置151を適用することができる。
[カメラの構成例]
図31は、本発明を適用した画像復号装置および画像符号化装置を用いるカメラの主な構成例を示すブロック図である。
図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として画像復号装置151を用いる。したがって、デコーダ615は、画像復号装置151の場合と同様に、イントラ予測における符号化効率を向上させることができる。
したがって、カメラ600は、精度の高い予測画像を生成することができる。その結果として、カメラ600は、例えば、CCD/CMOS612において生成された画像データや、DRAM618または記録メディア633から読み出されたビデオデータの符号化データや、ネットワークを介して取得したビデオデータの符号化データから、より高精細な復号画像を得て、LCD616に表示させることができる。
また、カメラ600は、エンコーダ641として画像符号化装置51を用いる。したがって、エンコーダ641は、画像符号化装置51の場合と同様に、イントラ予測における符号化効率を向上させることができる。
したがって、カメラ600は、例えば、ハードディスクに記録する符号化データの符号化効率を向上させることができる。その結果として、カメラ600は、DRAM618や記録メディア633の記憶領域をより効率よく使用することができる。
なお、コントローラ621が行う復号処理に画像復号装置151の復号方法を適用するようにしてもよい。同様に、コントローラ621が行う符号化処理に画像符号化装置51の符号化方法を適用するようにしてもよい。
また、カメラ600が撮像する画像データは動画像であってもよいし、静止画像であってもよい。
もちろん、画像符号化装置51および画像復号装置151は、上述した装置以外の装置やシステムにも適用可能である。
51 画像符号化装置, 66 可逆符号化部, 73 イントラ予測部, 74 ラインバッファ, 75 スプライン補間部, 81 候補モード判別部, 82 予測画像生成部, 83 コスト関数算出部, 84 モード判定部, 91 隣接画素選択部, 92 スプラインパラメータ生成部,151 画像復号装置, 162 可逆復号部, 170 イントラ予測部, 171 ラインバッファ, 172 スプライン補間部, 181 予測モードバッファ, 182 予測画像生成部, 191 隣接画素選択部, 192 スプラインパラメータ生成部
Claims (13)
- 対象ブロックの複数ラインの隣接画素を受け取る受け取り手段と、
前記受け取り手段により受け取られた前記複数ラインの隣接画素を用いて多項式近似による外挿処理を行うことで、前記対象ブロックのイントラ予測画素値を生成するイントラ予測手段と
を備える画像処理装置。 - 前記イントラ予測手段は、
前記複数ラインの隣接画素を用いて多項式近似によって補間パラメータを算出するパラメータ算出手段と、
前記パラメータ算出手段により算出された前記補間パラメータを用いて、前記対象ブロックのイントラ予測画素値を生成する予測画像生成手段と
を備える請求項1に記載の画像処理装置。 - 前記イントラ予測手段は、前記受け取り手段により受け取られたN(N<1)ラインの隣接画素を用いる際、N−1次の多項式近似による外挿処理を行う
請求項2に記載の画像処理装置。 - 前記パラメータ算出手段は、前記Nラインの隣接画素を用い、N次の連立方程式を解くことで、前記N−1次の多項式のN個の定数を算出し、
前記予測画像生成手段は、前記パラメータ算出手段により算出された前記N個の定数を用いた前記N−1次の多項式により、前記対象ブロックのイントラ予測画素値を生成する
請求項3に記載の画像処理装置。 - 前記予測画像生成手段は、入力信号がNビットの画像信号である場合、生成された前記イントラ予測画素値を、0〜2N-1の範囲の値にクリップする
請求項4に記載の画像処理装置。 - 前記イントラ予測手段は、前記受け取り手段により受け取られた前記Nラインの隣接画素に、物体境界が含まれるか否かを検出した検出結果に応じた次数の多項式近似による外挿処理を行う
請求項2に記載の画像処理装置。 - 前記イントラ予測手段は、隣接画素における画素間の差分情報により、前記物体境界であるか否かを判定する
請求項6に記載の画像処理装置。 - 前記イントラ予測手段は、量子化パラメータに応じて定められる閾値を用いて、隣接画素における画素間の差分情報により、前記物体境界であるか否かを判定する
請求項7に記載の画像処理装置。 - 前記閾値は、より大きな量子化パラメータに対してより大きく設定される
請求項8に記載の画像処理装置。 - 前記対象ブロックの画像を符号化する符号化手段
をさらに備える
請求項2に記載の画像処理装置。 - 符号化されている前記対象ブロックの画像を復号する復号手段
をさらに備える
請求項2に記載の画像処理装置。 - 前記イントラ予測手段は、前記対象ブロックのブロックサイズの大きさに応じた数の前記複数ラインの隣接画素を用いる
請求項2に記載の画像処理装置。 - 画像処理装置の受け取り手段が、
対象ブロックの複数ラインの隣接画素を受け取り、
前記画像処理装置のイントラ予測手段が、
受け取られた前記対象ブロックの複数ラインの隣接画素を用いて多項式近似による外挿処理を行うことで、前記対象ブロックのイントラ予測画素値を生成する
画像処理方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010012514A JP2011151682A (ja) | 2010-01-22 | 2010-01-22 | 画像処理装置および方法 |
PCT/JP2011/050493 WO2011089972A1 (ja) | 2010-01-22 | 2011-01-14 | 画像処理装置および方法 |
CN2011800060990A CN102714734A (zh) | 2010-01-22 | 2011-01-14 | 图像处理设备和方法 |
US13/521,729 US20120287998A1 (en) | 2010-01-22 | 2011-01-14 | Image processing apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010012514A JP2011151682A (ja) | 2010-01-22 | 2010-01-22 | 画像処理装置および方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011151682A true JP2011151682A (ja) | 2011-08-04 |
Family
ID=44306775
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010012514A Withdrawn JP2011151682A (ja) | 2010-01-22 | 2010-01-22 | 画像処理装置および方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20120287998A1 (ja) |
JP (1) | JP2011151682A (ja) |
CN (1) | CN102714734A (ja) |
WO (1) | WO2011089972A1 (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8638863B1 (en) * | 2010-05-18 | 2014-01-28 | Google Inc. | Apparatus and method for filtering video using extended edge-detection |
WO2012134046A2 (ko) * | 2011-04-01 | 2012-10-04 | 주식회사 아이벡스피티홀딩스 | 동영상의 부호화 방법 |
US8886648B1 (en) | 2012-01-31 | 2014-11-11 | Google Inc. | System and method for computation of document similarity |
US9781447B1 (en) | 2012-06-21 | 2017-10-03 | Google Inc. | Correlation based inter-plane prediction encoding and decoding |
EP2870753B1 (en) * | 2012-07-04 | 2018-04-25 | Thomson Licensing | Spatial prediction with increased number of possible coding modes |
US9167268B1 (en) | 2012-08-09 | 2015-10-20 | Google Inc. | Second-order orthogonal spatial intra prediction |
US9344742B2 (en) | 2012-08-10 | 2016-05-17 | Google Inc. | Transform-domain intra prediction |
US9380298B1 (en) | 2012-08-10 | 2016-06-28 | Google Inc. | Object-based intra-prediction |
JP5798539B2 (ja) * | 2012-09-24 | 2015-10-21 | 株式会社Nttドコモ | 動画像予測符号化装置、動画像予測符号化方法、動画像予測復号装置及び動画像予測復号方法 |
US9978156B2 (en) * | 2012-10-03 | 2018-05-22 | Avago Technologies General Ip (Singapore) Pte. Ltd. | High-throughput image and video compression |
US9369732B2 (en) | 2012-10-08 | 2016-06-14 | Google Inc. | Lossless intra-prediction video coding |
US9628790B1 (en) | 2013-01-03 | 2017-04-18 | Google Inc. | Adaptive composite intra prediction for image and video compression |
KR101466574B1 (ko) * | 2013-03-19 | 2014-12-02 | 삼성전자주식회사 | 스케일러블 비디오 부호화 방법 및 장치, 스케일러블 비디오 복호화 방법 및 장치 |
GB2516426B (en) * | 2013-07-17 | 2015-10-07 | Gurulogic Microsystems Oy | Encoder, decoder and method of operation using interpolation |
US9247251B1 (en) * | 2013-07-26 | 2016-01-26 | Google Inc. | Right-edge extension for quad-tree intra-prediction |
US10223472B2 (en) * | 2015-12-15 | 2019-03-05 | Facebook, Inc. | Systems and methods for providing progressive images based on data range requests |
US10390021B2 (en) * | 2016-03-18 | 2019-08-20 | Mediatek Inc. | Method and apparatus of video coding |
CN112771865A (zh) * | 2018-08-23 | 2021-05-07 | 交互数字Vc控股法国公司 | 使用参数化模型对量化矩阵进行编解码 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004328634A (ja) * | 2003-04-28 | 2004-11-18 | Sony Corp | 画像復号化装置及び方法 |
WO2005107267A1 (ja) * | 2004-04-28 | 2005-11-10 | Hitachi, Ltd. | 画像の符号化/復号化装置、符号化/復号化プログラム及び符号化/復号化方法 |
US7792188B2 (en) * | 2004-06-27 | 2010-09-07 | Apple Inc. | Selecting encoding types and predictive modes for encoding video data |
JP4707118B2 (ja) * | 2007-03-28 | 2011-06-22 | 株式会社Kddi研究所 | 動画像符号化装置および動画像復号装置のイントラ予測方式 |
EP3410712A1 (en) * | 2007-10-15 | 2018-12-05 | Nippon Telegraph And Telephone Corporation | Image encoding and decoding apparatuses, image encoding and decoding methods, programs thereof, and recording media recorded with the programs |
JP2009111691A (ja) * | 2007-10-30 | 2009-05-21 | Hitachi Ltd | 画像符号化装置及び符号化方法、画像復号化装置及び復号化方法 |
CN101216541B (zh) * | 2008-01-15 | 2012-06-06 | 新博医疗技术有限公司 | 一种磁共振成像***梯度场球谐系数的获取方法 |
-
2010
- 2010-01-22 JP JP2010012514A patent/JP2011151682A/ja not_active Withdrawn
-
2011
- 2011-01-14 CN CN2011800060990A patent/CN102714734A/zh active Pending
- 2011-01-14 WO PCT/JP2011/050493 patent/WO2011089972A1/ja active Application Filing
- 2011-01-14 US US13/521,729 patent/US20120287998A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
WO2011089972A1 (ja) | 2011-07-28 |
CN102714734A (zh) | 2012-10-03 |
US20120287998A1 (en) | 2012-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2011089972A1 (ja) | 画像処理装置および方法 | |
JP5597968B2 (ja) | 画像処理装置および方法、プログラム、並びに記録媒体 | |
WO2011018965A1 (ja) | 画像処理装置および方法 | |
TWI411310B (zh) | Image processing apparatus and method | |
WO2011040302A1 (ja) | 画像処理装置および方法 | |
WO2010095560A1 (ja) | 画像処理装置および方法 | |
WO2010101064A1 (ja) | 画像処理装置および方法 | |
WO2010035734A1 (ja) | 画像処理装置および方法 | |
WO2011089973A1 (ja) | 画像処理装置および方法 | |
WO2011086964A1 (ja) | 画像処理装置および方法、並びにプログラム | |
JPWO2010035731A1 (ja) | 画像処理装置および方法 | |
JP5556996B2 (ja) | 画像処理装置および方法 | |
WO2010035732A1 (ja) | 画像処理装置および方法 | |
WO2011125866A1 (ja) | 画像処理装置および方法 | |
WO2011155377A1 (ja) | 画像処理装置および方法 | |
US20120288004A1 (en) | Image processing apparatus and image processing method | |
WO2010101063A1 (ja) | 画像処理装置および方法 | |
WO2011096318A1 (ja) | 画像処理装置および方法 | |
WO2010035735A1 (ja) | 画像処理装置および方法 | |
JP6048774B2 (ja) | 画像処理装置および方法 | |
JP2012138884A (ja) | 符号化装置および符号化方法、並びに復号装置および復号方法 | |
JP2012129925A (ja) | 画像処理装置および方法、並びに、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20130402 |