JPWO2010087157A1 - 画像符号化方法及び画像復号方法 - Google Patents

画像符号化方法及び画像復号方法 Download PDF

Info

Publication number
JPWO2010087157A1
JPWO2010087157A1 JP2010548415A JP2010548415A JPWO2010087157A1 JP WO2010087157 A1 JPWO2010087157 A1 JP WO2010087157A1 JP 2010548415 A JP2010548415 A JP 2010548415A JP 2010548415 A JP2010548415 A JP 2010548415A JP WO2010087157 A1 JPWO2010087157 A1 JP WO2010087157A1
Authority
JP
Japan
Prior art keywords
prediction mode
unit
prediction
edge
encoding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2010548415A
Other languages
English (en)
Inventor
寿郎 笹井
寿郎 笹井
西 孝啓
孝啓 西
陽司 柴原
陽司 柴原
ドリゥジョーン ヴィルジニー
ドリゥジョーン ヴィルジニー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Publication of JPWO2010087157A1 publication Critical patent/JPWO2010087157A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Abstract

より高い符号化効率が達成され、符号化歪みが抑制され、かつ、多大な処理量を必要としないように、画像及び映像データを符号化する。画像データをブロック毎に符号化する画像符号化方法であって、選択予測モードに基づいた予測に従って対象ブロックを符号化する符号化ステップ(S101)と、複数の予測モード候補から推定予測モードを決定する推定ステップと、選択予測モードを復元するためのモード情報と符号化された対象ブロックとを出力する出力ステップ(S108)とを含み、推定ステップは、エッジを検出するエッジ検出ステップ(S103)と、検出されたエッジに基づいて予測モード候補の数を減らす候補限定ステップ(S105)と、減らされた数の予測モード候補から推定予測モードを決定する予測モード推定ステップ(S106)と、推定予測モードと選択予測モードとに基づいてモード情報を生成するモード情報生成ステップ(S107)とを含む。

Description

本発明は、より良い符号化効率で画像及び映像データを圧縮符号化する画像符号化方法と、圧縮符号化された画像及び映像データを復号する画像復号方法と、対応する画像符号化装置及び画像復号装置とに関する。
インターネットを介したビデオ会議、デジタルビデオ放送、及び、映像コンテンツのストリーミングを含む、例えば、ビデオ・オン・デマンドタイプのサービスのためのアプリケーションの数は右肩上がりであり、これらのアプリケーションは、映像情報の送信に頼っている。映像データが送信され、又は、記録される時、かなりの量のデータは、限られたバンド幅の従来の伝送路を通って送信され、又は、限られたデータ容量の従来の記憶媒体に記憶される。従来の伝送チャネル及び記憶媒体に映像情報を送信及び記憶するためには、デジタルデータの量を圧縮又は削減することが不可欠である。
そこで、映像データの圧縮のために、複数の映像符号化規格が開発されている。このような映像符号化規格は、例えば、H.26xで示されるITU−T規格、及び、MPEG−xで示されるISO/IEC規格である。最新かつ最も進んだ映像符号化規格は、現在、H.264/MPEG−4 AVCで示される規格である(非特許文献1参照)。
これらの規格のほとんどの基礎をなす符号化アプローチは、以下の(a)〜(d)で示される主な段階を含む予測符号化に基づいている。
(a)映像フレームのそれぞれをブロックレベルでデータ圧縮するために、映像フレームを画素のブロックに分割する。
(b)先に符号化された映像データから個々のブロックを予測することで、時間的及び空間的冗長性を特定する。
(c)映像データから予測データを減ずることで、特定された冗長性を除去する。
(d)フーリエ変換、量子化、及び、エントロピー符号化によって、残りのデータを圧縮する。
現在の映像符号化規格では、各マクロブロックを予測するのに用いられる予測モードがブロック毎に異なる。ほとんどの映像符号化規格は、前に符号化及び復号されたフレームから映像データを予測するために動き検出及び動き補償を用いる(インターフレーム予測)。あるいは、ブロックデータは、同じフレームの隣接するブロックから予測されてもよい(イントラフレーム予測)。H.264/AVC規格は、例えば、予測のために用いられる参照画素に対して、又は、画素が外挿される方向に対して、いくつかの異なるイントラフレーム予測モードを定義する。
図1Aは、従来のH.264/AVC規格に従ったイントラ予測推定が適用される対象ブロックと参照画素との関係の一例を示す図である。また、図1Bは、従来のH.264/AVC規格に従ったイントラ予測モードセットに含まれる予測方向を示す図である。
図1Aに示すように、4×4画素の対象ブロック10は、予測される対象ブロック10の上と左とに位置する13個の参照画素20を外挿することで予測される。この予測により、対象ブロック10に対応する予測ブロックが生成される。このとき、外挿を実行するために、図1Bに示される8個の取り得る外挿方向(イントラ予測方向)から1つが選択される。すなわち、8個の外挿方向のそれぞれを示す8個の方向予測モードから1つの方向予測モードが選択される。あるいは、DC予測モードが選択されてもよい。DC予測モードでは、対象ブロック10を予測するために参照画素20の平均値を用いる。
このように複数ある予測モードのうち、どの予測モードを用いて予測するかをマクロブロック毎に選択し、選択された予測モードに関連する情報とともに、符号化された対象ブロックは、エントロピー符号化によって圧縮され、伝送される。現在の映像符号化規格では、選択された予測モードに関連する情報として、予め規格で決められたルールに基づいて推定値を予測する。例えば、H.264/AVC規格で定められたイントラ予測モードを示す情報の場合、イントラ予測モードの推定値は、既に符号化された周囲のブロックのイントラ予測モードのうち、予測の方法を示す番号の小さい番号として決められている。
そして、予測される推定値と符号化対象の情報とが同じ場合には、同じであることを示すフラグのみを伝送し、推定値と符号化対象の情報とが異なる場合には、符号化対象の情報を伝送する。例えば、イントラ予測モードの推定値と、実際に符号化時に選択された予測モードとが同じである場合は、フラグのみを伝送し、異なる場合には、選択された予測モードを復元するための情報を伝送する。
図2は、従来のH.264/AVC規格に従った画像符号化装置の構成のうち、予測モードを推定する推定部の詳細な構成の一例を示す図である。また、図3は、従来のH.264/AVC規格に従った画像復号装置の構成のうち、予測モードを復元する復元部の詳細な構成の一例を示す図である。
図2に示すように、推定部510は、符号化モード(イントラ予測モード又はインター予測モード)を示す符号化モード情報SMDが入力される。例えば、イントラピクチャ予測符号化が符号化モードとして選択された場合、符号化モード情報SMDは、イントラ予測モードを示す情報(イントラ予測ブロックサイズ、イントラ予測方向など)である。一方で、インターピクチャ予測符号化が符号化モードとして選択された場合、符号化モード情報SMDは、位置情報(動きベクトル)MVである。
予測モード格納メモリ511は、入力された符号化モード情報SMDを格納するメモリである。予測モード候補取得部512は、予測モード格納メモリ511から入力される、既に符号化された符号化モード情報の中から、予め決められた手段で予測モード推定値候補を取得する。
予測モード推定部513は、予測モード推定値候補の中から予測モード推定値MPMを決定し、決定した予測モード推定値MPMを出力する。減算部514は、符号化の対象ブロックの符号化モード情報SMDから、各情報に対応する予測モード推定値MPMを減算した信号である差分予測モード値DMDを出力する。
信号設定部515は、差分予測モード値DMDが0となる場合は、予測モード推定値と同じであることを示すフラグを符号化予測モード関連信号SSMDにセットする。また、差分予測モード値DMDが0ではない場合には、差分予測モード値DMDを示す情報を符号化予測モード関連信号SSMDとして出力する。
可変長符号化部520は、符号化予測モード関連信号SSMDをエントロピー符号化し、ビットストリームとして出力する。
また、図3に示すように、可変長復号部610は、入力されたビットストリームを復号することで、量子化周波数変換係数QTと、符号化予測モード関連情報SSMDとを出力する。
復元部620は、符号化予測モード関連信号SSMDが入力され、符号化モード情報SMD(復号に用いられる、符号化モードMDと、イントラ予測モードIPMを示す情報又は位置情報(動きベクトル)MV)を出力する。具体的には、信号判定部621は、符号化予測モード関連信号SSMDが入力され、符号化予測モード関連信号SSMDが予測モード推定値と同じであることを示すフラグであれば、差分予測モード値DMDを0として出力する。また、それ以外の場合には、符号化予測モード関連信号SSMDに含まれる差分予測モード値DMDを出力する。
予測モード格納メモリ623は、入力された符号化モードMDと、イントラ予測モードIPMを示す情報(イントラ予測ブロックサイズ、イントラ予測方向など)又は位置情報(動きベクトル)MVとを格納するメモリである。予測モード候補取得部624は、予測モード格納メモリ623から、既に復号された符号化モードMDと、イントラ予測モードIPMを示す情報又は位置情報(動きベクトル)MVとの中から、予め決められた手段で複数の予測モード推定値候補を取得する。
予測モード推定部625は、複数の予測モード推定値候補の中から、予測モード推定値MPMを決定し、決定した予測モード推定値MPMを出力する。加算部622は、差分予測モード値DMDと予測モード推定値MPMとを加算した結果を、符号化モード情報SMDとして出力する。
一例として、4×4画素のブロックサイズに対するH.264/AVC規格での予測モード候補取得部512及び624、並びに、予測モード推定部513及び625において、予測モード推定値MPMの推定方法を、図1Aを用いて説明する。
予測モード候補取得部512及び624は、符号化及び復号ステップにおいて、4×4画素の対象ブロック10に対して、既に符号化(又は復号)済みの周囲ブロック30のイントラ予測モードIPM_Aと、周囲ブロック40のイントラ予測モードIPM_Bとを取得する。そして、予測モード推定部513及び625は、IPM_AとIPM_Bとの値の小さい方のモードを予測モード推定値MPMとして設定する。
一方、エッジ検出を利用した、映像データの圧縮のための映像符号化方法も提案されており、エッジ検出が符号化装置及び復号装置に含まれることもある(非特許文献2)。
ISO/IEC 14496−10「MPEG−4 Part 10 Advanced Video Coding」 2008 IEEE International Conference on Image Processing「HIGH PRECISION EDGE PREDICTION FOR INTRA CODING」
しかしながら、上記従来技術では、以下に示す課題がある。
上記従来技術では、符号化対象ブロックの予測モードの推定において、対象ブロックと周囲ブロックとの類似性を評価していない。このため、周囲ブロックの画像の特徴と、対象ブロックの画像の特徴とが異なる場合には、イントラ推定予測モードが、選択された選択予測モードと一致しにくい。これにより、推定結果が一致しなかったために、推定予測モードとは異なる予測モードを示す情報を伝送する必要があり、符号量が多くなる、又は、符号化画像内に歪みが生じるという課題がある。
一方で、予測モードの推定値と選択された予測モードとを一致させた場合は、対象ブロックの特徴と周囲ブロックの特徴とが異なるため、周囲ブロックからの予測性能が悪くなり、符号量が多くなる、又は、符号化画像内に歪みが生じるという課題がある。具体的には、以下の通りである。
従来のH.264/AVC規格で定められたイントラ予測モード推定では、候補となる予測モードは、対象ブロックの周囲ブロックの符号化に用いられた予測モードである。予測モード推定部において、予測モード推定値は、予測モード候補のモード番号(図1Bに示す番号、及び、平均値予測(DC予測モード)を示す番号2)の小さい番号のものが選択される。
したがって、対象ブロックの推定予測モードは、いずれかの周囲ブロックの予測モードと一致する。しかし、周囲ブロックの画像の特徴と対象ブロックの画像の特徴とが異なる場合、対象ブロックの予測モードは、予測モードの推定結果(推定予測モード)とは一致しにくい。すなわち、復号器側に送信すべき、予測モードを示す情報の符号量は大きくなる。あるいは、予測モードの推定結果と対象ブロックの予測モードとを一致させた場合、対象ブロックの特徴とは異なる特徴をもつ周囲ブロックの予測モードを使うことにより、予測ブロックと対象ブロックとの差分値が大きくなり、符号量が大きくなる。
一方、予測モード候補の数を増やし、予測モード推定を行うことで予測モード推定の予測性能を上げることが考えられる。一例を挙げると、予測モード候補として予め決められた全ての予測モードを設定する。予測モード推定部では、予め決められた全ての予測モードに対し、周辺ブロックの画像の特徴を判定する。
例えば、周辺ブロックに対して、さらに周辺のブロックから予測ブロックを生成し、周囲ブロックと周囲ブロックの予測ブロックとの差分を評価することで、イントラ推定予測モードを決定する。上記の手段により、予測モード推定の予測効率は上がるが、処理量が大きくなる。また、この手段であっても対象ブロックと周囲ブロックとの関係性を評価していないため、周囲ブロックの特徴と対象ブロックの画像の特徴とが異なる場合には、H.264/AVC規格の手段と同様に予測性能は悪くなる。
そこで、本発明は、上記課題を解決するためになされたものであって、より高い符号化効率が達成され、符号化歪みが抑制され、かつ、多大な処理量を必要としないように、画像及び映像データを符号化する画像符号化方法、及び、符号化された画像及び映像データを復号する画像復号方法を提供することを目的とする。
上記課題を解決するため、本発明の画像復号方法は、予測モードに基づいた予測に従って画像データをブロック毎に符号化することで生成された符号化画像データを復号する画像復号方法であって、符号化時に実行された予測モードの推定結果を示すモード情報に基づいて、符号化時の予測に用いた予測モードである選択予測モードを復元する復元ステップと、前記選択予測モードに基づいた予測に従って、前記符号化画像データの対象ブロックを復号することで、復号ブロックを生成する復号ステップとを含み、前記復元ステップは、既に生成された復号ブロック内のエッジを検出するエッジ検出ステップと、前記エッジ検出ステップにおいて検出されたエッジに基づいて、予め定められた複数の予測モード候補の数を減らす候補限定ステップと、前記候補限定ステップにおいて減らされた数の前記予測モード候補の中から1つの予測モードを推定予測モードとして決定する予測モード推定ステップと、前記モード情報と前記推定予測モードとに基づいて、前記選択予測モードを復元する予測モード復元ステップとを含む。
これにより、対象ブロックの周囲のブロックにおいて検出されたエッジの方向が対象ブロックを向いているか評価をすることができる。このため、特に対象ピクチャがシャープなエッジを含む場合には、エッジが周囲ブロックから対象ブロックに繋がっているかどうかを調べることによって、周囲のブロックとの相関性を判定することができ、当該判定結果に基づいて、予測モード候補の数を減らすことができるので、予測モード推定に必要な処理量を削減することができる。また、単純に周囲のブロックの予測モード値から推定するよりも適切な、予測モード推定値を決定することができる。したがって、対象ブロックに対する予測モード値と、予測モード推定値の差分が小さくなるので、符号化効率を高めることができ、符号化歪みを抑制することができる。
また、前記モード情報は、符号化時の予測に用いた予測モードと符号化時に推定された予測モードとが一致したことを示すフラグ情報、又は、符号化時の予測に用いた予測モードと符号化時に推定された予測モードとの差分を示す差分情報であり、前記予測モード復元ステップでは、前記モード情報が、符号化時の予測に用いた予測モードと符号化時に推定された予測モードとが一致したことを示すフラグ情報である場合、前記推定予測モードを前記選択予測モードとして決定し、前記モード情報が、符号化時の予測に用いた予測モードと符号化時に推定された予測モードとの差分を示す差分情報である場合、前記差分と前記推定予測モードとを加算することで、前記選択予測モードを復元してもよい。
これにより、予測に用いた予測モードと推定された予測モードとが一致した場合には、一致したことを示すフラグ情報をビットストリームに含めるだけでよいので、符号量を削減することができる。
また、前記候補限定ステップでは、前記エッジ検出ステップにおいて検出された1つ以上のエッジの方向に基づいて、前記複数の予測モード候補の数を減らしてもよい。
また、前記複数の予測モード候補は、予め定義された複数の方向予測モードを含み、前記候補限定ステップでは、前記エッジ検出ステップにおいて検出された1つ以上のエッジの方向から最も離れた方向の方向予測モードを前記複数の予測モード候補から除外することで、前記複数の予測モード候補の数を減らしてもよい。
これにより、エッジの方向とは離れた方向予測モードを候補から除外することにより、方向予測モードの数を減らすことができるので、予測モード推定に必要な処理量を削減することができる。
また、前記候補限定ステップでは、前記エッジ検出ステップにおいて検出された2つ以上のエッジの方向のばらつき度合いを算出し、算出したばらつき度合いに基づいて、前記複数の予測モード候補の数を減らしてもよい。
これにより、例えば、検出されたエッジ間のばらつきが小さい場合には、検出されたエッジの方向を重視した予測モード候補に絞り込むことができるので、エッジの方向を重視した予測モード推定値を決定することができ、より適切な推定値を算出することができる。
また、前記複数の予測モード候補は、前記対象ブロックの周囲に位置する複数の復号ブロックを生成する際に用いた複数の予測モードを含み、前記候補限定ステップでは、前記エッジ検出ステップにおいて検出されたエッジに基づいて、演算対象である前記複数の復号ブロックの数を減らすことで、前記複数の予測モード候補の数を減らしてもよい。
これにより、例えば、予測モード推定ステップにおいて、複数の周囲ブロックに対して予測モード推定のための演算を行う場合、エッジが検出された周囲ブロックに限定して予測モード推定のための演算を行うことで、演算量を抑制することができる。なお、エッジが検出された周囲ブロックは、対象ブロックとの関連性が強いことが考えられるため、より適切な予測モード推定値を算出することができる。
また、前記候補限定ステップでは、前記エッジ検出ステップにおいてエッジが検出されなかった復号ブロックを演算対象から除外することで前記複数の復号ブロックの数を減らしてもよい。
これにより、エッジが検出されたブロックに演算対象を絞り込むことができるので、予測モード推定に必要な処理量を削減することができる。また、エッジを含む周囲ブロックとの関係が強いことを利用するので、より適切な予測モード推定値を算出することができる。
また、前記候補限定ステップでは、前記エッジ検出ステップにおいて検出された1つ以上のエッジのうち、最大ノルムを有する最大エッジを決定し、前記最大エッジが検出された復号ブロックに演算対象を限定することで、前記複数の復号ブロックの数を減らしてもよい。
また、前記候補限定ステップでは、前記エッジ検出ステップにおいて検出されたエッジの方向の水平成分が垂直成分より大きい場合、前記対象ブロックの左側に位置する復号ブロックに演算対象を限定し、前記エッジ検出ステップにおいて検出されたエッジの方向の垂直成分が水平成分より大きい場合、前記対象ブロックの上側に位置する復号ブロックに演算対象を限定することで、前記複数の復号ブロックの数を減らしてもよい。
また、本発明の画像符号化方法は、画像データをブロック毎に符号化する画像符号化方法であって、予め定められた複数の予測モード候補の中から選択された選択予測モードに基づいた予測に従って、前記画像データの対象ブロックを符号化する符号化ステップと、符号化された対象ブロックを復号することで、復号ブロックを生成する復号ステップと、前記複数の予測モード候補の中から1つの予測モードを推定予測モードとして決定する推定ステップと、前記選択予測モードを復元するためのモード情報を、前記符号化された対象ブロックとともに出力する出力ステップとを含み、前記推定ステップは、既に生成された復号ブロック内のエッジを検出するエッジ検出ステップと、前記エッジ検出ステップにおいて検出されたエッジに基づいて、前記複数の予測モード候補の数を減らす候補限定ステップと、前記候補限定ステップにおいて減らされた数の前記予測モード候補の中から、所定の方法に従って前記推定予測モードを決定する予測モード推定ステップと、前記推定予測モードと前記選択予測モードとに基づいて前記モード情報を生成するモード情報生成ステップとを含む。
これにより、対象ブロックの周囲のブロックにおいて検出されたエッジの方向が対象ブロックを向いているか評価をすることができる。このため、特に対象ピクチャがシャープなエッジを含む場合には、エッジが周囲ブロックから対象ブロックに繋がっているかどうかを調べることによって、周囲のブロックとの相関性を判定することができ、当該判定結果に基づいて、予測モード候補の数を減らすことができるので、予測モード推定に必要な処理量を削減することができる。また、単純に周囲のブロックの予測モード値から推定するよりも適切な、予測モード推定値を決定することができる。したがって、対象ブロックに対する予測モード値と、予測モード推定値の差分が小さくなるので、符号化効率を高めることができ、符号化歪みを抑制することができる。
また、前記モード情報生成ステップでは、前記推定予測モードと前記選択予測モードとを比較し、前記推定予測モードと前記選択予測モードとが一致する場合には、一致したことを示すフラグを前記モード情報として生成し、前記推定予測モードと前記選択予測モードとが一致しない場合には、前記推定予測モードと前記選択予測モードとの差分を示す差分情報を前記モード情報として生成してもよい。
これにより、予測に用いた予測モードと推定された予測モードとが一致した場合には、一致したことを示すフラグ情報をビットストリームに含めるだけでよいので、符号量を削減することができる。
また、前記複数の予測モード候補は、予め定義された複数の方向予測モードを含み、前記候補限定ステップでは、前記エッジ検出ステップにおいて検出された1つ以上のエッジの方向から最も離れた方向の方向予測モードを前記複数の予測モード候補から除外することで、前記複数の予測モード候補の数を減らしてもよい。
これにより、エッジの方向とは離れた方向予測モードを候補から除外することにより、方向予測モードの数を減らすことができるので、予測モード推定に必要な処理量を削減することができる。
また、前記複数の予測モード候補は、前記対象ブロックの周囲に位置する複数の復号ブロックを生成する際に用いた複数の予測モードを含み、前記候補限定ステップでは、前記エッジ検出ステップにおいて検出されたエッジに基づいて、演算対象である前記複数の復号ブロックの数を減らすことで、前記複数の予測モード候補の数を減らしてもよい。
これにより、例えば、予測モード推定ステップにおいて、複数の周囲ブロックに対して予測モード推定のための演算を行う場合、エッジが検出された周囲ブロックに限定して予測モード推定のための演算を行うことで、演算量を抑制することができる。なお、エッジが検出された周囲ブロックは、対象ブロックとの関連性が強いことが考えられるため、より適切な予測モード推定値を算出することができる。
また、前記候補限定ステップでは、前記エッジ検出ステップにおいてエッジが検出されなかった復号ブロックを演算対象から除外することで前記複数の復号ブロックの数を減らしてもよい。
これにより、エッジが検出されたブロックに演算対象を絞り込むことができるので、予測モード推定に必要な処理量を削減することができる。また、エッジを含む周囲ブロックとの関係が強いことを利用するので、より適切な予測モード推定値を算出することができる。
また、前記候補限定ステップでは、前記エッジ検出ステップにおいて検出されたエッジの方向の水平成分が垂直成分より大きい場合、前記対象ブロックの左側に位置する復号ブロックに演算対象を限定し、前記エッジ検出ステップにおいて検出されたエッジの方向の垂直成分が水平成分より大きい場合、前記対象ブロックの上側に位置する復号ブロックに演算対象を限定することで、前記複数の復号ブロックの数を減らしてもよい。
なお、本発明は、画像符号化方法及び画像復号方法として実現できるだけではなく、当該画像符号化方法及び画像復号方法に含まれるそれぞれのステップを処理部とする画像符号化装置及び画像復号装置として実現することもできる。また、これらステップをコンピュータに実行させるプログラムとして実現してもよい。さらに、当該プログラムを記録したコンピュータ読み取り可能なCD−ROM(Compact Disc−Read Only Memory)などの記録媒体、並びに、当該プログラムを示す情報、データ又は信号として実現してもよい。そして、それらプログラム、情報、データ及び信号は、インターネットなどの通信ネットワークを介して配信してもよい。
また、上記の画像符号化装置及び画像復号装置を構成する構成要素の一部又は全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されていてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM及びRAM(Random Access Memory)などを含んで構成されるコンピュータシステムである。
本発明によれば、処理量の増加を抑制しながら、予測モード推定値をより正確に予測することができるので、符号化歪みを抑制し、かつ、符号化効率を高めることができる。
図1Aは、従来のH.264/AVC規格に従ったイントラ予測推定が適用される対象ブロックと参照画素との関係の一例を示す図である。 図1Bは、従来のH.264/AVC規格に従ったイントラ予測モードセットに含まれる予測方向を示す図である。 図2は、従来のH.264/AVC規格に従った画像符号化装置の構成のうち、推定部の詳細な構成の一例を示す図である。 図3は、従来のH.264/AVC規格に従った画像復号装置の構成のうち、復元部の詳細な構成の一例を示す図である。 図4は、本実施の形態の画像符号化装置の構成の一例を示すブロック図である。 図5は、本実施の形態のハイブリッド符号化を行う画像符号化装置の詳細な構成の一例を示すブロック図である。 図6は、本実施の形態の画像符号化装置が備える推定部の詳細な構成の一例を示すブロック図である。 図7Aは、エッジを検出し、検出したエッジの方向を推定する方法を示す概略図である。 図7Bは、エッジを検出し、検出したエッジの属しているブロックを示す概略図である。 図8は、本実施の形態の画像符号化装置の動作の一例を示すフローチャートである。 図9は、本実施の形態の画像復号装置の構成の一例を示すブロック図である。 図10は、本実施の形態の画像復号装置の詳細な構成の一例を示すブロック図である。 図11は、本実施の形態の画像復号装置が備える復元部の詳細な構成の一例を示すブロック図である。 図12は、本実施の形態の画像復号装置の動作の一例を示すフローチャートである。 図13は、本実施の形態におけるエッジ検出処理の一例を示すフローチャートである。 図14は、本実施の形態における予測モードの推定処理の一例を示すフローチャートである。 図15Aは、本実施の形態におけるエッジの方向から予測モード候補を限定する方法の一例を示す概略図である。 図15Bは、本実施の形態におけるエッジが検出された位置から予測モード候補を限定する方法の一例を示す概略図である。 図16は、本実施の形態におけるエッジの角度の算出処理の一例を示すフローチャートである。 図17は、本実施の形態における予測モードの推定処理の異なる一例を示すフローチャートである。 図18は、本実施の形態における予測モードの推定処理の異なる一例を示すフローチャートである。 図19Aは、本実施の形態におけるエッジが検出された位置から演算対象を限定する方法の一例を示す概略図である。 図19Bは、本実施の形態におけるエッジの方向から演算対象を限定する方法の一例を示す概略図である。 図20は、コンテンツ配信サービスを実現するコンテンツ供給システムの全体構成の一例を示す模式図である。 図21は、携帯電話の外観を示す図である。 図22は、携帯電話の構成例を示すブロック図である。 図23は、デジタル放送用システムの全体構成の一例を示す模式図である。 図24は、テレビの構成例を示すブロック図である。 図25は、光ディスクである記録メディアに情報の読み書きを行う情報再生記録部の構成例を示すブロック図である。 図26は、光ディスクである記録メディアの構造例を示す図である。 図27は、各実施の形態に係る画像符号化方法及び画像復号方法を実現する集積回路の構成例を示すブロック図である。
(実施の形態1)
本実施の形態の画像符号化装置は、画像及び映像データを符号化する際に、対象ブロックの周囲に位置する周囲ブロックに含まれるエッジを検出し、検出したエッジに基づいて、複数の予測モード候補の数を減らし、減らされた数の予測モード候補から1つの予測モードを推定予測モードとして決定することを特徴とする。
また、本実施の形態の画像復号装置は、符号化された画像及び映像データを復号する際に、周囲ブロックに含まれるエッジを検出し、検出したエッジに基づいて、複数の予測モード候補の数を減らし、減らされた数の予測モード候補から1つの予測モードを推定予測モードとして決定し、決定した推定予測モードと、符号化器側から送信されるモード情報とに基づいて、予測ブロックの生成に用いる予測モードを復元することを特徴とする。
つまり、本実施の形態では、推定予測モードを決定する際に、エッジに基づいて予測モード候補の数を限定するので、推定予測モードと、実際に予測ブロックを生成する際に選択された選択予測モードとの適合率を高めることができるとともに、予測モード推定に必要な演算量を抑制することができる。
まず、本実施の形態の画像符号化装置の構成について説明する。
図4は、本実施の形態の画像符号化装置100の構成の一例を示すブロック図である。
画像符号化装置100は、入力される画像及び映像データをブロック毎に符号化する。図4に示すように、画像符号化装置100は、符号化部110と、復号部120と、出力部130と、推定部140とを備える。
符号化部110は、画像及び映像データを構成する複数のブロックの1つである対象ブロックを、複数の予測モード候補から選択された選択予測モードを用いた予測に従って符号化する。
複数の予測モード候補は、予測を行う際に選択されうる全ての予測モードであり、例えば、予め定義された8つの方向予測モード(図1B参照)、参照画素の平均値を利用するDC予測モード、周囲ブロック内に検出されたエッジの方向を示すエッジ予測モードなどを含んでいる。予測モードとは、予測画像を参照するための画像の参照先を示す情報である。
復号部120は、符号化部110によって符号化された対象ブロックを復号することで、復号ブロックを生成する。
出力部130は、符号化部110によって用いられた選択予測モードを復元するためのモード情報を、符号化部110によって符号化された対象ブロックとともに、ビットストリームとして出力する。
推定部140は、複数の予測モード候補の中から1つの予測モードを推定予測モードとして決定する。図4に示すように、推定部140は、エッジベクトル判定部141と、候補限定部142と、予測モード推定部143と、モード情報生成部144とを備える。
エッジベクトル判定部141は、本発明に係るエッジ検出部の一例であって、対象ブロックの符号化処理より前に符号化及び復号されることで生成された復号ブロック内のエッジを検出する。例えば、エッジベクトル判定部141は、対象ブロックの周囲に位置する復号ブロックである周囲ブロック内のエッジを検出する。
候補限定部142は、エッジベクトル判定部141によって検出されたエッジに基づいて、複数の予測モード候補の数を減らす。例えば、候補限定部142は、検出されたエッジの方向、又は、検出されたエッジの画素位置に基づいて、複数の予測モード候補の数を減らす。
また、例えば、複数の予測モード候補が、周囲ブロックを生成する際に用いた複数の予測モードを含んでいる場合、すなわち、予測モード推定部143が、周囲ブロックの予測モードを予測モード候補として、推定予測モードを決定する場合、候補限定部142は、検出されたエッジに基づいて、演算対象である複数の周囲ブロックの数を減らすことで、複数の予測モード候補の数を減らしてもよい。
予測モード推定部143は、候補限定部142によって減らされた数の予測モード候補から、推定予測モードを決定する。
モード情報生成部144は、予測モード推定部143によって決定された推定予測モードと、符号化部110によって選択された選択予測モードとに基づいてモード情報を生成する。
以上の構成により、本実施の形態の画像符号化装置100は、周囲ブロック内に検出されるエッジに基づいて、複数の予測モード候補の数を少なくし、少なくなった数の予測モード候補(限定予測モード候補)の中から対象ブロックの推定予測モードを決定することを特徴とする。すなわち、本実施の形態の画像符号化装置100は、候補の絞り込みと絞り込まれた候補からの推定値の決定との2段階の処理で、推定予測モードを決定することを特徴とする。
一例としては、予測モード候補が、8個の方向予測モードとDC予測モードとエッジ予測モードとの計10個である場合において、画像符号化装置100は、10個の予測モード候補を、検出されたエッジの方向に近い2個の方向予測モードとエッジ予測モードとの計3個の予測モード候補に限定する。そして、画像符号化装置100は、限定された3個の予測モード候補の中から推定予測モード候補を決定する。
以下では、本実施の形態の画像符号化装置100が備える各処理部の詳細な構成及び動作について説明する。
図5は、本実施の形態の画像符号化装置100の詳細な構成の一例を示すブロック図である。画像符号化装置100は、ハイブリッド符号化を行う画像符号化装置である。
図5に示すように、画像符号化装置100は、符号化部110と、復号部120と、出力部130と、推定部140と、フレームメモリ150と、参照ピクチャメモリ160と、制御部170とを備える。なお、図4と同じ構成については、同じ参照符号を付している。
また、図5に示すように、符号化部110は、減算部111と、周波数変換部112と、量子化部113と、イントラ予測モード決定部114と、動き検出部115と、イントラ予測部116と、動き補償部117と、スイッチ118及び119とを備える。復号部120は、逆量子化部121と、逆周波数変換部122と、加算部123とを備える。出力部130は、可変長符号化部131を備える。
なお、推定部140の詳細な構成については、図6を用いて後で説明する。
以下では、画像符号化装置100が複数のフレームから構成される入力映像データを符号化するときの動作に沿って、各処理部の処理について説明する。
入力映像データの各ピクチャは、フレームメモリ150に格納される。各ピクチャは、複数のブロックに分割され、フレームメモリ150からブロック単位で(例えば、水平16画素、垂直16画素のマクロブロック単位で)出力される。なお、入力映像データは、プログレッシブ形式及びインターレース形式のいずれでもよい。
各マクロブロックは、イントラ又はインター予測モードのいずれかで符号化される。まず、対象マクロブロックがイントラ予測モードで符号化される場合について説明する。
イントラ予測モード(イントラフレーム予測)の場合、フレームメモリ150から出力されたマクロブロックは、イントラ予測モード決定部114に入力される(このとき、スイッチ118は、制御部170によって端子“a”に接続される)。イントラ予測モード決定部114は、入力されたマクロブロックにどのようにイントラ予測を実行するかを決定する。
具体的には、イントラ予測モード決定部114は、イントラ予測モード(IPM:Intra−Prediction Mode)として、イントラ予測ブロックサイズ(以下のサイズの1つ:水平4画素×垂直4画素、水平8画素×垂直8画素、水平16画素×垂直16画素)と、イントラ予測方向とを決定する必要がある。例えば、イントラ予測モード決定部114は、対象ブロックを符号化することで発生する符号量が所定の閾値より小さくなるような、イントラ予測ブロックサイズ及びイントラ予測方向を決定する。より好ましくは、イントラ予測モード決定部114は、発生する符号量が最も小さくなるような、イントラ予測ブロックサイズ及びイントラ予測方向を決定する。
例えば、図1Aに示す対象ブロック10(水平4画素×垂直4画素)は、参照画素20を用いて、8つの予め定義されたイントラ予測方向のいずれか1つに従って、予測されてもよい。ここで、イントラ予測に用いられる参照画素20(図1Aで対角方向の網掛けされた四角)は、既に符号化及び復号され、参照ピクチャメモリ160に格納されている。決定されたイントラ予測モードIPMを示す情報は、イントラ予測部116と推定部140とに出力される。
イントラ予測部116は、イントラ予測モード決定部114によって決定されたイントラ予測モードIPMに基づいて、参照ピクチャメモリ160からイントラ予測に用いられる参照画素(イントラ参照画素)を取得する。そして、イントラ予測部116は、参照画素の画素値からイントラ予測された画像IPを生成し、生成したイントラ予測画像IPを減算部111に出力する(このとき、スイッチ119は、制御部170によって端子“a”に接続される)。
減算部111は、フレームメモリ150から入力映像データに含まれるピクチャのマクロブロック(対象マクロブロック)と、イントラ予測部116によって生成されたイントラ予測画像IPとを受け取る。そして、減算部111は、対象マクロブロックとイントラ予測画像IPとの差分(予測残差とも記載)を算出することで差分画像を生成し、生成した差分画像を周波数変換部112に出力する。
周波数変換部112は、減算部111によって生成された差分画像に、離散コサイン変換などの周波数変換を実行することで周波数変換係数を生成し、生成した周波数変換係数を出力する。
量子化部113は、周波数変換部112によって生成された周波数変換係数の量子化を行い、量子化された周波数変換係数QTを出力する。ここで、量子化は、予め定められた値(量子化ステップ)によって周波数変換係数を割り算する処理である。この量子化ステップは、制御部170によって与えられるとする(量子化ステップは、制御部170に入力される制御信号CTLに含まれてもよい)。量子化周波数変換係数QTは、可変長符号化部131と逆量子化部121とに出力される。
逆量子化部121は、量子化周波数変換係数QTを逆量子化し、逆量子化した周波数変換係数を逆周波数変換部122に出力する。このとき、量子化部113による量子化時に用いられた量子化ステップと同じ量子化ステップが、制御部170から逆量子化部121に入力される。
逆周波数変換部122は、逆量子化された周波数変換係数を逆周波数変換することで復号された差分画像LDDを生成する。逆周波数変換部122は、生成した復号差分画像LDDを加算部123に出力する。
加算部123は、復号差分画像LDDをイントラ予測画像IP(又は、インター予測モードの場合は、後述するインター予測画像)MPに加算することで、復号画像LDを生成する。加算部123は、生成した復号画像LDを参照ピクチャメモリ160に格納する。参照ピクチャメモリ160に格納された復号画像LDは、参照画像として後の符号化に用いられる。
可変長符号化部131は、量子化部113から入力される量子化周波数変換係数QTに可変長符号化を実行し、かつ、イントラ予測モード決定部114から推定部140を介して入力されるイントラ予測モードIPMを示す情報を同様に処理し、符号化シーケンスとしても参照されるビットストリームを出力する。前述の通り、推定部140の詳細な構成については、図6を用いて後で説明する。
ここで、可変長符号化部131が用いる可変長符号化方法の1つの方法として、動画像を符号化する国際規格H.264で採用されるコンテキスト適応型算術符号化方法がある。コンテキスト適応型算術符号化方法は、可変長符号化の対象データと、既に可変長符号化(コンテキスト適応型)が実行されたデータとに従って、算術符号化するために用いられる確率テーブルを切り替える方法である。この場合、可変長符号化部131は確率テーブルを保持するメモリを備える。
なお、可変長符号化部131は、コンテキスト適応型可変長符号化方法を用いて、量子化周波数変換係数QTを可変長符号化してもよい。
次に、対象マクロブロックがインター予測モードで符号化される場合について説明する。
インター予測モード(インターフレーム予測)の場合、フレームメモリ150から出力されるマクロブロックは、動き検出部115に入力される(このとき、スイッチ118は、制御部170によって端子“b”に接続される)。動き検出部115は、入力されたマクロブロックの、参照ピクチャ(参照ピクチャメモリ160に保持された再構成されたピクチャで、符号化されるピクチャとは異なるピクチャ)に対する動き情報(位置情報(動きベクトル))を検出する。
なお、動き検出では、以下に示す位置情報(動きベクトル)が一般的には動き情報として検出される。すなわち、符号化される対象ブロックと予測画像との最小差分値と、位置情報(動きベクトル)の符号量の重みの最小和とを有する位置情報(動きベクトル)である。検出された位置情報(動きベクトル)は、対象ブロックに対する動き情報として、動き補償部117と推定部140とに出力される。
動き補償部117は、動き検出部115によって検出された動き(位置情報(動きベクトル))に基づいて、インター予測に用いられる参照画素(インター参照画素)を参照ピクチャメモリ160から取得する。そして、動き補償部117は、インター予測画像MPを生成し、生成したインター予測画像MPを減算部111に出力する(このとき、スイッチ119は、制御部170によって端子“b”に接続される)。
減算部111と、周波数変換部112と、量子化部113と、逆量子化部121と、逆周波数変換部122と、加算部123とによって実行される処理は、イントラ予測の場合に説明した処理と同じである。それゆえに、これらの処理についての説明はここでは省略する。
可変長符号化部131は、量子化部113から入力される量子化周波数変換係数QTに可変長符号化を実行し、かつ、推定部140から出力される符号化モードMDを示す情報とイントラ予測モードIPM又は動き情報(位置情報(動きベクトル))MVを示す情報とを含むモード情報とに可変長符号化を実行し、ビットストリームを出力する。前述の通り、推定部140の詳細な構成については、図6を用いて後で説明する。
ここで、可変長符号化部131が、コンテキスト適応型算術符号化を用いて動き情報(位置情報(動きベクトル))MVを符号化する場合、可変長符号化部131は確率テーブルを保持するメモリを備える。
モード情報は、映像データを符号化する処理において符号化器(画像符号化装置100)側で実行された予測を復号器(例えば、後述する画像復号装置300(図9参照))側で再現するために、復号器によって必要とされる情報のフルセットを含む。それゆえに、モード情報は、マクロブロック毎に符号化モード、すなわち、イントラ及びインター予測のいずれが適用されたかを定義する。さらに、モード情報は、マクロブロックがどのようにサブ分割されたかについての情報を含む。H.264/AVCによると、16×16画素からなるマクロブロックは、例えば、イントラ予測の場合に、さらに、8×8又は4×4画素のブロックにサブ分割されてもよい。
符号化モードに依存して、モード情報は、さらに、動き補償に用いられる位置情報(位置情報(動きベクトル))のセット、又は、対象ブロックをイントラ予測するのに適用されたイントラ予測モードを特定する情報を含んでいる。
なお、符号化モード(イントラ予測モード又はインター予測モード)の選択は、制御部170が行っている。
例えば、制御部170は、イントラ予測モードIPMと復号画像LDとに基づいて生成されるインター予測画像IP、又は、位置情報(動きベクトル)MVと復号画像LDとに基づいて生成されるインター予測画像MPと、対象ブロック画像IMGとをそれぞれ比較することで、符号化モードを選択する。制御部170は、一般的に、生成されるビット量と符号化歪みとの重み和が最も小さくなる値を有する符号化モードを選択する。
例えば、制御部170は、H.264規格のビットレートと符号化歪みとを用いたコスト関数が、対象ブロックを符号化するための最良の予測モードを決定するために用いてもよい。それぞれの予測モードに対して、差分画像が、直交変換され、量子化され、可変長符号化される。そして、それぞれの予測モードに対して、ビットレートと符号化歪みとが計算される。なお、コスト関数として、例えば、(式1)で示されるラグランジュコスト関数Jが用いられる。
Figure 2010087157
(式1)において、Rは、差分画像(予測残差とも記載)と予測モード情報とを符号化するのに用いられるビットレートであり、Dは、符号化歪みであり、λは、符号化するのに選択される量子化パラメータQPに応じて算出されるラグランジュ乗数である。制御部170は、コスト関数Jが最も低くなる予測モードを、対象ブロックを予測する際の予測モードとして選択する。
なお、制御部170は、最適な予測モードを選択するためにコスト関数Jを一時的に格納するメモリを備える。
図6は、本実施の形態の推定部140の詳細な構成の一例を示す図である。同図に示すように、推定部140は、エッジベクトル判定部141と、候補限定部142と、予測モード推定部143と、モード情報生成部144とを備える。なお、図4と同じ構成については、同じ参照符号を付している。
また、図6に示すように、エッジベクトル判定部141は、エッジ検出部201と、方向判定部202と、ノルム判定部203と、エッジベクトル格納メモリ204とを備える。候補限定部142は、予測モード格納メモリ211と、予測モード候補限定部212と、予測モード候補取得部213とを備える。モード情報生成部144は、減算部221と、信号設定部222とを備える。
なお、推定部140には、制御部170によって選択された符号化モード(イントラ予測モード又はインター予測モード)を示す符号化モード情報SMDが入力される。例えば、イントラピクチャ予測符号化が符号化モードとして選択された場合、符号化モード情報SMDは、イントラ予測モードIPMを示す情報(イントラ予測ブロックサイズ、イントラ予測方向など)である。一方で、インターピクチャ予測符号化が符号化モードとして選択された場合、符号化モード情報SMDは、位置情報(動きベクトル)MVである。
予測モード格納メモリ211は、入力された符号化モード情報SMDを格納するメモリである。予測モード候補取得部213は、予測モード格納メモリ211から、既に符号化された符号化モード情報の中から、予め決められた手段で複数の予測モード推定値候補を取得する。
このとき、予測モード候補取得部213は、予測モード候補限定部212から入力される限定情報に従って、予測モード推定値候補の取得を制限される。予測モード候補限定部212は、エッジベクトル判定部141によるエッジ検出処理の結果に基づいて、予測モード候補の数、又は、演算範囲を限定する限定情報を生成し、予測モード候補取得部213に出力する。予測モード候補取得部213は、限定された数の予測モード推定値候補を予測モード格納メモリ211から取得する。
予測モード推定部143は、限定された数の予測モード推定値候補の中から、エッジベクトル判定部141から出力されるエッジベクトル情報に基づいて予測モード推定値MPMを決定し、決定した予測モード推定値MPMを出力する。なお、エッジベクトル判定部141の詳細な構成と、予測モード推定部143の動作とについては後で詳しく説明する。
減算部221は、符号化の対象ブロックの符号化モード情報SMDから、各情報に対応する予測モード推定値MPMを減算した信号である差分予測モード値DMDを出力する。信号設定部222は、差分予測モード値DMDが0となる場合は、予測モード推定値と同じであることを示すフラグを符号化予測モード関連信号SSMDにセットして出力する。また、差分予測モード値DMDが0ではない場合には、差分予測モード値DMDを示す情報を符号化予測モード関連信号SSMDとして出力する。
このように、モード情報生成部144は、モード情報の一例である符号化予測モード関連信号SSMDを生成する。以上に示すように、モード情報生成部144は、推定予測モード(予測モード推定値MPM)と選択予測モード(符号化モード情報SMD)とを比較し、推定予測モードと選択予測モードとが一致する場合には、一致したことを示すフラグをモード情報として生成し、推定予測モードと選択予測モードとが一致しない場合には、推定予測モードと選択予測モードとの差分を示す差分情報(差分予測モード値DMD)をモード情報として生成する。
可変長符号化部131は、符号化予測モード関連信号SSMDをエントロピー符号化し、ビットストリームとして出力する。
続いて、エッジベクトル判定部141の詳細な構成について説明する。
エッジ検出部201は、復号画像LDを参照ピクチャメモリ160から読み出し、読み出した画像に含まれるエッジを検出する。例えば、エッジ検出部201は、参照画像の勾配ベクトル場を算出し、エッジの最大値を与える勾配のノルムを評価することによって検出する。エッジの方向は、対応する勾配の方向に直交するベクトルの方向である。
なお、エッジ検出処理に用いられる参照画像は、対象ブロックに直接隣接するブロックに属する画素のうち、既に符号化及び復号されているブロックに含まれる画素である。勾配値は、(式2)に示す垂直及び水平ソーベル演算子を用いて近接画素で算出される。
Figure 2010087157
エッジ検出部201は、画素毎に、垂直ソーベル演算子及び水平ソーベル演算子を用いることで、対応する画素の垂直方向及び水平方向の勾配の大きさ(勾配値)をそれぞれ算出する。算出した垂直方向及び水平方向の勾配値のベクトル合成などを行うことで、画素毎に勾配の方向が決定される。
図7Aは、エッジを検出し、検出したエッジの方向を推定する方法を示す概略図である。
左斜め下方向に網掛けされた領域は、勾配を計算するために考慮される周囲ブロック50の画素位置を示す。エッジ検出部201は、図7Aの左斜め下方向に網掛けされた画素のそれぞれに対して、(式2)を用いて勾配値を算出する。そして、エッジ検出部201は、算出した勾配値に基づいて勾配の方向を算出し、勾配の方向に直交する方向をエッジの方向として決定する。このとき、勾配の方向に直交する方向のベクトルをエッジベクトルと記載する。なお、エッジベクトルのノルムは、例えば、当該エッジベクトルが検出された画素の勾配ベクトルのノルムと同じである。
また、図7Bは、エッジの属するブロックを示す概略図である。
例えば、エッジ検出窓70で表される範囲の画素に対してエッジ検出を行った結果は、エッジ62の画素位置のエッジとして扱う。すなわち、この場合、エッジ62の属するブロックは、4×4画素のブロックで表される周囲ブロック80となる。
図6に戻ると、方向判定部202は、エッジ検出部201によって検出されたエッジの方向が、予測モード推定の対象ブロックを指しているか否かを判定する。例えば、図7Aに示すエッジ60が検出された場合、エッジ60の延長線が対象ブロック10に含まれるので、方向判定部202は、エッジ60は予測モード推定の対象ブロック10を指していると判定する。一方で、図7Aに示すエッジ61が検出された場合、エッジ61の延長線は対象ブロック10に含まれないので、方向判定部202は、エッジ61は予測モード推定の対象ブロック10を指していないと判定する。
ノルム判定部203は、方向判定部202によって予測モード推定の対象ブロックを指していると判定されたエッジのノルムを算出し、算出したノルムが予め定められた閾値より大きいか否かを判定する。エッジのノルムとは、エッジベクトル又は勾配ベクトルのノルムである。ノルム判定部203は、算出したノルムが閾値より大きい場合に、エッジは検出されたと判定する。また、ノルム判定部203は、算出したノルムが閾値以下の場合に、エッジは検出されなかったと判定する。なお、このときに用いられる閾値は、例えば、異なる最大ベクトルノルムと、シャープなエッジ及び滑らかな領域の両方を含む異なるシーケンスとの違いの比較に基づいて、経験的に選択される。
エッジベクトル格納メモリ204は、ノルム判定部203によってエッジと判定されたエッジの位置情報とエッジベクトルとを格納するメモリである。予測モード候補限定部212は、エッジベクトル格納メモリ204に格納されたエッジベクトルに基づいて、複数の予測モード候補の数を減らす。また、予測モード推定部143は、エッジが検出されたか否かに応じて、予測モード候補取得部213から得られる、限定された数の予測モード推定値候補からの予測モード推定値を決定する。
ここで、予測モード推定部143が、エッジベクトル判定部141によって検出されたエッジに基づいて、限定された数の予測モード候補の中から予測モード推定値を決定する処理について説明する。
具体的には、エッジベクトルのノルムが閾値以下の場合、すなわち、エッジが検出されない場合には、予測モード推定部143は、予測モード候補取得部213から出力される、限定された数の予測モード候補から、従来と同様に予め決められた方法で決定する。予め決められた方法とは、イントラ予測モード推定値に対しては、H.264映像符号化規格で決められる、周囲ブロックの予測モードのうち小さい符号化モード番号を有するモードの番号を予測モード推定値MPMとして決定する。一方、インター符号化モードにおける位置情報予測値に対しては、H.264映像符号化規格で決められる、周囲ブロックの位置情報に対して、メディアンを掛けた値を予測モード推定値MPMとして決定する。
エッジベクトル(又は、勾配ベクトル)のノルムが閾値より大きい場合、すなわち、エッジが検出された場合、予測モード推定部143は、イントラ予測モード推定値に対して、予測モード候補取得部213から出力される、限定された数の予測モード候補から、最大のノルムを有するエッジに属する周囲ブロックの予測モードの番号を予測モード推定値MPMとして決定する。インター符号化モードにおける位置情報推定値に対しては、同様に最大のノルムを有するエッジに属する周囲ブロックの位置情報値を予測モード推定値MPMとして決定する。
なお、予測モード推定部143は、エッジ以外の情報に基づいて予測モード推定値MPMを決定してもよい。例えば、エッジの有無に関わらず、予測モード推定部143は、従来のように、周囲ブロックの予測モードのうち小さい符号化モード番号を有するモードの番号を予測モード推定値MPMとして決定してもよい。
続いて、本実施の形態の画像符号化装置100の動作について説明する。
図8は、本実施の形態の画像符号化装置100の動作の一例を示すフローチャートである。
まず、符号化部110は、複数の予測モード候補から選択された選択予測モードを用いた予測に従って、対象ブロックを符号化する(S101)。具体的には、符号化部110は、選択予測モードを用いて予測ブロックを生成し、生成した予測ブロックと対象ブロックとの差分(予測誤差)を変換及び量子化する。
次に、復号部120は、符号化された対象ブロックを復号することで、復号ブロックを生成する(S102)。具体的には、復号部120は、変換及び量子化された予測誤差を逆量子化及び逆変換することで、復号差分ブロックを生成し、生成した復号差分ブロックと上記予測ブロックとを加算することで、復号ブロックを生成する。生成された復号ブロックは、参照ピクチャメモリ160に格納される。
次に、エッジベクトル判定部141は、エッジ検出処理を実行する(S103)。具体的には、エッジベクトル判定部141は、対象ブロックの周囲に位置する、前に生成された復号ブロックに含まれるエッジを検出する。エッジ検出処理の具体的な動作については、後で説明する。
エッジ検出処理によってエッジが検出された場合(S104でYes)、候補限定部142は、検出されたエッジに基づいて、複数の予測モード候補の数を減らす(S105)。例えば、候補限定部142は、検出されたエッジの角度(すなわち、方向)、又は、エッジが検出された画素位置に基づいて、複数の予測モード候補の数を減らす。
そして、予測モード推定部143は、減らされた数の予測モード候補の中から1つの予測モードを推定予測モードとして決定する(S106)。なお、エッジ検出処理によってエッジが検出されなかった場合(S104でNo)、予測モード推定部143は、全ての数の予測モード候補の中から推定予測モードを決定する。
次に、モード情報生成部144は、決定された推定予測モードと選択予測モードとに基づいて、選択予測モードを復元するためのモード情報を生成する(S107)。
最後に、出力部130は、モード情報と符号化された対象ブロックとを、ビットストリームとして出力する(S108)。例えば、出力部130が備える可変長符号化部131は、変換及び量子化された予測誤差と、モード情報とをエントロピー符号化する。
以上のように、本実施の形態の画像符号化装置100は、対象ブロックの推定値を決定する際に、エッジ検出の結果に従って予測モード候補の数を限定し、限定した数の予測モード候補の中から推定値を決定する。そして、決定した推定値と、対象ブロックの予測ブロックを生成する際に用いられた予測モードを示す値との差分を算出することによって、実際に符号化する値を決定する。
次に、本実施の形態の画像復号装置300の構成について説明する。
図9は、本実施の形態の画像復号装置300の構成の一例を示すブロック図である。
画像復号装置300は、予測モードを用いた予測に従って画像データをブロック毎に符号化することで生成された符号化画像データを復号する。図9に示すように、画像復号装置300は、復号部310と、復元部320とを備える。
復号部310は、復元部320によって復元された選択予測モードを用いた予測に従って、符号化画像データを構成する複数のブロックの1つである対象ブロックを復号することで、復号ブロックを生成する。生成された復号ブロックは、画像及び映像データとして出力される。なお、複数の予測モード候補は、符号化器側と同様に、予測を行う際に選択されうる全ての予測モードであり、例えば、8個の方向予測モード、DC予測モード及びエッジ予測モードなどを含んでいる。
復元部320は、符号化時に選択された予測モードを復元するためのモード情報に基づいて、複数の予測モード候補から選択予測モードを復元する。なお、モード情報は、符号化時に実行された予測モードの推定結果を示す情報である。図9に示すように、復元部320は、エッジベクトル判定部321と、候補限定部322と、予測モード推定部323と、予測モード復元部324とを備える。
エッジベクトル判定部321は、本発明に係るエッジ検出部の一例であって、対象ブロックの復号処理より前に復号されることで生成された復号ブロック内のエッジを検出する。例えば、エッジベクトル判定部321は、対象ブロックの周囲に位置する復号ブロックである周囲ブロック内のエッジを検出する。
候補限定部322は、エッジベクトル判定部321によって検出されたエッジに基づいて、複数の予測モード候補の数を減らす。例えば、候補限定部322は、検出されたエッジの方向、又は、検出されたエッジの画素位置に基づいて、複数の予測モード候補の数を減らす。
また、例えば、複数の予測モード候補が、周囲ブロックを生成する際に用いた複数の予測モードを含んでいる場合、すなわち、予測モード推定部323が、周囲ブロックの予測モードを予測モード候補として、推定予測モードを決定する場合、候補限定部322は、検出されたエッジに基づいて、演算対象である複数の周囲ブロックの数を減らすことで、複数の予測モード候補の数を減らしてもよい。
予測モード推定部323は、候補限定部322によって減らされた数の予測モード候補から、推定予測モードを決定する。
予測モード復元部324は、推定予測モードとモード情報とに基づいて選択予測モードを復元する。
以上の構成により、本実施の形態の画像復号装置300は、周囲ブロック内に検出されるエッジに基づいて、複数の予測モード候補の数を少なくし、少なくなった数の予測モード候補(限定予測モード候補)の中から対象ブロックの推定予測モード候補を決定することを特徴とする。すなわち、本実施の形態の画像復号装置300は、候補の絞り込みと絞り込まれた候補からの推定値の決定との2段階の処理で、推定予測モードを決定することを特徴とする。
以下では、本実施の形態の画像復号装置300が備える各処理部の詳細な構成及び動作について説明する。
図10は、本実施の形態の画像復号装置300の詳細な構成の一例を示すブロック図である。同図に示すように、画像復号装置300は、復号部310と、復元部320と、可変長復号部330と、制御部340とを備える。
また、図10に示すように、復号部310は、逆量子化部311と、逆周波数変換部312と、加算部313と、フレームメモリ314と、スイッチ315と、イントラ予測部316と、動き補償部317と、スイッチ318とを備える。なお、復元部320の詳細な構成については、図11を用いて後で説明する。
以下では、画像復号装置300が、ビットストリーム(符号化された映像データ)を復号するときの動作に沿って、各処理部の処理について説明する。本実施の形態の画像復号装置300は、予測残差を含む符号化映像データをブロック毎にイントラ又はインターフレーム予測符号化ブロックのいずれかとして復号し、映像データ又は画像データとして出力する。
可変長復号部330は、ビットストリームを予め決められた手段に基づき可変長復号し、量子化周波数変換係数QTと、符号化予測モード関連信号SSMDとを出力する。復元部320は、符号化予測モード関連信号SSMDと既に復号された画像信号LDとが入力され、符号化モードMDと、イントラ予測モードIPM又は位置情報(動きベクトル)MVとを示す情報を出力する。なお、前述の通り、復元部320の詳細な構成については、図11を用いて後で説明する。
符号化モードMDは、制御部340に入力され、イントラ予測モードIPM又は位置情報(動きベクトル)MVを示す情報は、スイッチ315に入力され、量子化周波数変換係数QTは、逆量子化部311に入力される。
制御部340は、符号化モードMDに基づいてスイッチ315及び318を制御する。符号化モードMDがイントラ予測符号化を示す場合、スイッチ315は、端子“a”に接続され、イントラ予測モードIPMを示す情報がイントラ予測部316に入力される。符号化モードMDがインター予測符号化を示す場合、スイッチ315は、端子“b”に接続され、位置情報(動きベクトル)MVが動き補償部317に入力される。
対象ブロックがイントラ予測符号化ブロックの場合、スイッチ315及び318は、端子“a”に接続される。そして、イントラ予測モードIPMを示す情報は、イントラ予測部316に入力され、量子化周波数変換係数QTは、逆量子化部311に入力される。なお、量子化周波数変換係数QTが、符号化器(例えば、画像符号化装置100)によって符号化された予測誤差に相当する。
イントラ予測部316は、入力されたイントラ予測モードに基づいて、イントラ予測参照画素をフレームメモリ314から取得し、イントラ予測された画像(予測ブロック)を生成し、加算部313にイントラ予測画像を出力する。
逆量子化部311は、量子化周波数変換係数QTを逆量子化し、逆量子化した周波数変換係数を逆周波数変換部312に出力する。そして、逆周波数変換部312は、逆量子化された周波数変換係数を逆周波数変換することで、復号された差分画像LDDを生成する。逆周波数変換部312は、生成した復号差分画像LDDを加算部313に出力する。
加算部313は、復号差分画像LDDとイントラ予測画像IPとを加算することで、復号画像LDを生成する。生成した復号画像LDは、フレームメモリ314に格納される。なお、フレームメモリ314に格納された復号画像は、後の復号で参照ピクチャとして用いられる。また、復号画像は、復号映像データを成すように出力される。
対象ブロックがインター予測ブロックの場合、スイッチ315及び316は、端子“b”に接続される。そして、位置情報(動きベクトル)MVを示す情報が動き補償部317に入力され、量子化周波数変換係数QTが逆量子化部311に入力される。
動き補償部317は、入力された位置情報(動きベクトル)MVに基づいて、参照画素をフレームメモリ314から取得し、予測されたピクチャを生成し、加算部313に予測ピクチャを出力する。
逆量子化部311、逆周波数変換部312及び加算部313の処理は、イントラ予測ブロックの場合に説明した処理と同じである。復号画像LDは、フレームメモリ314に格納される。フレームメモリ314に格納された復号画像は、後の復号で参照ピクチャとして用いられる。また、復号画像は、復号映像データを成すように出力される。
続いて、本実施の形態の復元部320の詳細な構成について図11を用いて説明する。
図11は、本実施の形態の復元部320の詳細な構成の一例を示す図である。同図及び図9に示すように、復元部320は、エッジベクトル判定部321と、候補限定部322と、予測モード推定部323と、予測モード復元部324とを備える。
また、エッジベクトル判定部321は、エッジ検出部401と、方向判定部402と、ノルム判定部403と、エッジベクトル格納メモリ404とを備える。また、候補限定部322は、予測モード格納メモリ411と、予測モード候補限定部412と、予測モード候補取得部413とを備える。また、予測モード復元部324は、信号判定部421と、加算部422とを備える。
復元部320は、符号化予測モード関連信号SSMDと、既に復号された画像信号LDとが入力され、符号化モードMDと、イントラ予測モードIPM又は位置情報(動きベクトル)MVとを示す情報を符号化モード情報SMDとして出力する。
具体的には、信号判定部421は、入力された符号化予測モード関連信号SSMDが予測モード推定値と同じであることを示すフラグであれば、差分予測モード値DMDを0として出力する。また、それ以外の場合には、符号化予測モード関連信号SSMDに含まれる差分予測モード値DMDを出力する。
予測モード格納メモリ411は、入力された符号化モードMDと、イントラ予測モードIPMを示す情報(イントラ予測ブロックサイズ、イントラ予測方向など)又は位置情報(動きベクトル)MVとを格納するメモリである。予測モード候補取得部413は、予測モード格納メモリ411から、既に復号された符号化モードMDと、イントラ予測モードIPMを示す情報又は位置情報(動きベクトル)MVとの中から、予め決められた手段で複数の予測モード推定値候補を取得する。
このとき、予測モード候補取得部413は、予測モード候補限定部412から入力される限定情報に従って、予測モード推定値候補の取得を制限される。予測モード候補限定部412は、エッジベクトル判定部321によるエッジ検出処理の結果に基づいて、予測モード候補の数、又は、演算範囲を限定する限定情報を生成し、予測モード候補取得部413に出力する。予測モード候補取得部413は、限定された数の予測モード推定値候補を予測モード格納メモリ411から取得する。
予測モード推定部323は、限定された数の予測モード推定値候補の中から、エッジベクトル判定部321から出力されるエッジベクトル情報に基づいて、予測モード推定値MPMを決定し、決定した予測モード推定値MPMを出力する。加算部422は、差分予測モード値DMDと予測モード推定値MPMとを加算した結果を、符号化モード情報SMDとして出力する。
このように、予測モード復元部324は、モード情報の一例である符号化予測モード関連信号SSMDがフラグ情報である場合、推定予測モード(予測モード推定値MPM)を選択予測モード(符号化モード情報SMD)として決定し、推定予測モードと選択予測モードとの差分を示す差分情報(差分予測モード値DMD)である場合、差分と推定予測モードとを加算することで選択予測モードを復元する。
なお、エッジベクトル判定部321の詳細な構成と、予測モード推定部323の動作については後で詳しく説明する。
エッジベクトル判定部321は、上述のように、エッジ検出部401と、方向判定部402と、ノルム判定部403と、エッジベクトル格納メモリ404とを備える。
エッジ検出部401は、既に復号された画像信号LDを読み出し、読み出した画像に含まれるエッジを検出する。具体的なエッジ検出処理は、エッジ検出部201と同様である。
方向判定部402は、エッジ検出部401によって検出されたエッジの方向が、予測モード推定の対象のブロックを指しているか否かを判定する。具体的なエッジの方向判定処理は、方向判定部202と同様である。
ノルム判定部403は、エッジ検出部401によって予測モード推定の対象ブロックを指していると判定されたエッジのノルムを算出し、算出したノルムが予め定められた閾値より大きいか否かを判定する。なお、このときに用いられる閾値は、符号化時のノルム判定処理で用いられた閾値と同じ閾値であることが望ましい。したがって、閾値が装置に固有の値で無い場合は、符号化装置から送信される。具体的なノルム判定処理は、ノルム判定部203と同様である。
エッジベクトル格納メモリ404は、ノルム判定部403によってエッジと判定されたエッジの位置情報とエッジベクトルとを格納するメモリである。予測モード候補限定部412は、エッジベクトル格納メモリ404に格納されたエッジベクトルに基づいて、複数の予測モード候補の数を減らす。また、予測モード推定部323は、対象ブロックの予測モードを推定する際に、エッジが検出されたか否かに応じて、予測モード候補取得部413から得られる、予測モード推定値候補からの予測モード推定値を決定する。
ここで、予測モード推定部323が、エッジベクトル判定部321によって検出されたエッジに基づいて、限定された数の予測モード候補の中から予測モード推定値を決定する処理について説明する。
具体的には、エッジベクトルのノルムが閾値以下の場合、すなわち、エッジが検出されない場合には、予測モード推定部323は、予測モード候補取得部413から出力される、限定された数の予測モード候補から、従来と同様に予め決められた方法で決定する。予め決められた方法とは、イントラ予測モード推定値に対しては、H.264映像符号化規格で決められる、周囲ブロックの予測モードのうち小さい符号化モード番号を有するモードの番号を予測モード推定値MPMとして決定する。一方、インター符号化モードにおける位置情報予測値に対しては、H.264映像符号化規格で決められる、周囲ブロックの位置情報に対して、メディアンを掛けた値を予測モード推定値MPMとして決定する。
エッジベクトル(又は、勾配ベクトル)のノルムが閾値より大きい場合、すなわち、エッジが検出された場合、予測モード推定部323は、イントラ予測モード推定値に対して、予測モード候補取得部413から出力される、限定された数の予測モード候補から、最大のノルムを有するエッジに属する周囲ブロックの予測モードの番号を予測モード推定値MPMとして決定する。インター符号化モードにおける位置情報推定値に対しては、同様に最大のノルムを有するエッジに属する周囲ブロックの位置情報値を予測モード推定値MPMとして決定する。
なお、予測モード推定部323は、エッジ以外の情報に基づいて予測モード推定値MPMを決定してもよい。例えば、エッジの有無に関わらず、予測モード推定部323は、従来のように、周囲ブロックの予測モードのうち小さい符号化モード番号を有するモードの番号を予測モード推定値MPMとして決定してもよい。
次に、本実施の形態の画像復号装置300の動作について説明する。
図12は、本実施の形態の画像復号装置300の動作の一例を示すフローチャートである。
まず、エッジベクトル判定部321は、エッジ検出処理を行う(S201)。対象ブロックの周囲に位置する、既に生成された復号ブロックに含まれるエッジを検出する。エッジ検出処理の具体的な動作については、後で説明する。
エッジ検出処理によってエッジが検出された場合(S201でYes)、候補限定部322は、検出されたエッジに基づいて、複数の予測モード候補の数を減らす(S202)。例えば、候補限定部322は、検出されたエッジの角度(すなわち、方向)、又は、エッジが検出された画素位置に基づいて、複数の予測モード候補の数を減らす。
そして、予測モード推定部323は、減らされた数の予測モード候補の中から1つの予測モードを推定予測モードとして決定する(S204)。なお、エッジ検出処理によってエッジが検出されなかった場合(S203でNo)、予測モード推定部323は、全ての数の予測モード候補の中から推定予測モードを決定する。
次に、予測モード復元部324は、予測モード推定部323によって決定された推定予測モードとモード情報とに基づいて、選択予測モードを復元する(S205)。具体的には、モード情報が、選択予測モードと推定予測モードとが一致することを示すフラグである場合は、予測モード復元部324は、推定予測モードを選択予測モードとして復元する。
また、モード情報が、フラグではない場合は、モード情報に含まれる情報と推定予測モードとに基づいて選択予測モードを決定する。例えば、モード情報が、推定予測モードと、符号化時に用いられた予測モードとの差分情報を含む場合、当該差分情報と推定予測モードとを加算することで、選択予測モードを復元する。
そして、復号部310は、復元された選択予測モードを用いた予測に従って、対象ブロックを復号することで、復号ブロックを生成する(S206)。
以上のように、本実施の形態の画像復号装置300は、対象ブロックの推定値を決定する際に、エッジ検出の結果に従って予測モード候補の数を限定し、限定した数の予測モード候補の中から推定値を決定する。そして、決定した推定値と、対象ブロックの差分モード情報とを加算することによって、実際に復号するときに用いる予測モードを決定する。
以下では、本実施の形態の画像符号化装置100及び画像復号装置300のそれぞれに共通する動作について説明する。具体的には、エッジ検出処理(S103及びS201)と、当該エッジ検出処理の結果に基づいた予測モード候補の限定処理(S105及びS203)と、予測モードの推定処理(S106及びS204)とについて説明する。
まず、エッジ検出処理について図13を用いて説明する。図13は、本実施の形態のエッジ検出処理の一例を示すフローチャートである。なお、以下では、画像符号化装置100が実行するエッジ検出処理(S103)について説明する。
エッジ検出処理は、勾配を算出するために考慮される全ての画素(例えば、図7Aの左斜め下方向に網掛けされた画素)に対して実行されるので、エッジ検出部201は、勾配を算出する処理の対象となる画素を選択し、選択した画素の画素位置を設定する(S301)。
エッジ検出部201は、対象画素位置の勾配ベクトルを(式2)のソーベル演算子を適用することで算出する(S302)。そして、エッジ検出部201は、算出した勾配ベクトルに直交するエッジベクトルを算出し、算出したエッジベクトルの方向を検出する(S303)。なお、エッジベクトルのノルムは、例えば、勾配ベクトルのノルムに等しい。
次に、方向判定部202は、算出された勾配が対象ブロックを横切るエッジを示すか否か、すなわち、勾配ベクトルに直交するエッジベクトルが予測の対象ブロックを指しているか否かを判定する(S304)。なお、エッジベクトルが対象ブロックを指しているとは、エッジベクトルの延長線が対象ブロックを通過することである。
エッジベクトルが予測の対象ブロックを指していない場合であって(S304でNo)、かつ、次の画素がある場合(S305でYes)、処理は、次の画素に進む。すなわち、次の画素を新たな対象画素として、対象画素位置の設定(S301)から繰り返される。
エッジベクトルが予測の対象ブロックを指している場合には(S304でYes)、ノルム判定部203は、勾配ベクトルのノルムを算出する(S306)。そして、ノルム判定部203は、算出したノルムが予め定められた閾値より大きいか否かを判定する(S307)。
算出したノルムが閾値以下である場合(S307でNo)、かつ、次の画素がある場合(S305でYes)、処理は次の画素に進む。すなわち、次の画素を新たな対象画素として、対象画素位置の設定(S301)から繰り返される。
算出したノルムが閾値より大きい場合には(S307でYes)、ノルム判定部203は、算出したノルムが、前に決定された全ての勾配ベクトルのうち最大ノルムを有する勾配ベクトルのノルムより大きいか否かを判定する(S308)。算出したノルムが最大ノルムより大きい場合は(S308でYes)、当該勾配ベクトルを、新たな最大ベクトルとして設定する(S309)。
そして、算出したノルムと最大ノルムとの比較結果に関わらず、ノルム判定部203は、画素のベクトルと位置とをエッジベクトル格納メモリ204に格納する(S310)。このとき、メモリに格納する画素のベクトルは、エッジベクトルであることが望ましい。また、メモリは、例えば、ノルム判定部203の内部に備えるメモリであってもよい。
そして、次の画素がある場合(S305でYes)、処理は次の画素に進む。すなわち、次の画素を新たな対象画素として、対象画素位置の設定(S301)から繰り返される。
以上のようにして、対象ブロック(対象ブロック10)の周囲に位置する周囲ブロック(周囲ブロック50)に含まれる画素であって、エッジ検出処理の対象となる全ての画素(図7Aの左斜め下方向に網掛けされた画素)に対して、エッジ検出処理が実行され、エッジが検出された画素の位置と、そのエッジベクトルとがメモリに格納される。
なお、上述のエッジ検出処理を画像復号装置300が実行する場合も同様である。具体的には、エッジ検出部201、方向判定部202、ノルム判定部203及びエッジベクトル格納メモリ204のそれぞれが行う処理を、エッジ検出部401、方向判定部402、ノルム判定部403及びエッジベクトル格納メモリ404がそれぞれ実行する。
続いて、本実施の形態の推定部140及び復元部320の動作について図14を用いて説明する。具体的には、推定部140及び復元部320が行う予測モードの推定処理について説明する。
図14は、本実施の形態の推定部140及び復元部320が行う予測モードの推定処理の一例を示すフローチャートである。具体的には、図14は、予測モード候補の数を限定することで、演算処理量を削減し、かつ適切な予測モード推定値を決定する処理を示すフローチャートである。なお、以下では、画像符号化装置100が備える推定部140が実行する処理について説明する。
まず始めに、図13のエッジ検出処理が、エッジ検出部201、方向判定部202、ノルム判定部203及びエッジベクトル格納メモリ204によって実行される(S401)。次に、予測モード推定部143は、少なくとも1つのエッジベクトルが格納されているか、すなわち、対象ブロックを指すエッジに対応する方向で閾値より大きなノルムを有するベクトルがあるか否かを判定する(S402)。
なお、ステップS401及びS402はそれぞれ、図8に示すステップS103及びS104に相当する。
エッジベクトルが1つも格納されていない場合、すなわち、エッジが検出されなかった場合(S402でNo)、予測モード推定部143は、従来の予測モード推定値決定方法により予測モードの推定値を決定する(S403)。ここで、従来の予測モード推定値決定方法とは、周囲ブロックの予測モードから所定の方法で予測モード推定値を決定する方法である。
少なくとも1つのエッジベクトルが格納されている場合、すなわち、エッジが検出された場合(S402でYes)、エッジベクトル判定部141は、エッジ角度算出処理を行うことで、エッジの角度を算出する(S404)。エッジ角度算出処理の具体的な動作については、図16を用いて後で説明する。
予測モード候補限定部212は、算出したエッジの角度と、予め決められた方向予測モードの角度とを比較し、角度の最も近い2つの方向予測モードを選択し、選択した2つの方向予測モードを示す情報を、限定情報として予測モード候補取得部213に出力する(S405)。ここで、角度の最も近い2つの方向予測モードとは、例えば、図15Aに示すように、算出されたエッジベクトルの角度が、水平から右下方向に対して10度傾いている場合であって、H.264規格の方向予測モードと比較する場合は、図1Bで示される予測モード番号、1と6が、2つの方向予測モードとして出力される。
このように、予測モード候補限定部212は、8個の方向予測モードを2個の方向予測モードに限定することで、予測モード候補の数を減らしている。なお、2個の方向予測モードに限定するのではなく、予測モード候補限定部212は、8個より少なくすればよい。つまり、予測モード候補限定部212は、検出されたエッジの方向から最も離れた方向の方向予測モードを候補から除外することで、複数の予測モード候補の数を少なくすればよい。
また、予測モード候補限定部212は、エッジが検出されたブロックの位置に基づいて、予測モード候補を限定してもよい。具体的には、図1Bで示される予測モードのうち、予測モード番号8は対象ブロックの左側の周辺ブロックからの予測であり、予測モード番号3は対象ブロックの上側の周辺ブロックからの予測である。例えば、図15Bに示すように、エッジ検出処理において検出されたエッジベクトルのうち、上側の周辺ブロックに属するエッジベクトルが多い場合には、上側の周辺ブロックからの予測である、予測モード番号3、7、0、5、4、6に限定してもよい。また、同様に左側のブロックに属するエッジベクトルが多い場合には、左側の周辺ブロックからの予測である、予測モード番号5、4、6、1、8に限定してもよい。
予測モード推定部143は、予測モード候補取得部213から、限定された予測モード、すなわち、エッジベクトルの角度に近い2つの方向予測モードと、予め決められた方向予測モード以外の予測モード候補(例えば、エッジ予測モードなど)の中から、予測モード推定値を決定する(S406)。
以上は、画像符号化装置100での予測モード推定値を決定する処理についての説明であるが、画像復号装置300についても、画像符号化装置100と同様の処理となる。エッジベクトル判定部141、予測モード候補限定部212、予測モード格納メモリ211、予測モード候補取得部213及び予測モード推定部143のそれぞれが実行する処理が、エッジベクトル判定部321、予測モード候補限定部412、予測モード格納メモリ411、予測モード候補取得部413及び予測モード推定部323によって実行される。
ここで、予測モード候補から予測モード推定値を決定する方法の一例を説明する。例えば、予測モード候補として、全ての予測モードとし、判定領域としては、対象ブロックの上部、左部分にある周囲ブロックとする。予測モード推定部143は、判定領域のブロックに対して、全ての予測モードで取り得る予測ブロックを、さらに周囲のブロックを用いることにより生成し、生成された予測ブロックと、予測ブロックに対応する符号化及び復号済みの復号ブロックとの差分を算出する。そして、予測モード推定部143は、算出した差分が最も小さくなる予測ブロックを生成した予測モードを、予測モード推定値として決定する。
これは、画像の空間連続性から周囲ブロックの結果から対象ブロックの結果を予測する方法であるが、処理量は非常に多い。ここで、図14で示した予測モード候補限定部212により、予測モードの候補数を限定することで、処理量を削減することができ、かつ、エッジの連続性から、さらに画像の空間連続性の強い領域のみを用いて対象ブロックの予測モード推定値を決定できるため、精度の向上が期待できる。
続いて、エッジ検出結果に基づいて、検出されたエッジの角度を算出する処理について説明する。エッジの角度算出処理の概要は以下の通りである。
周囲ブロックに含まれる、勾配の算出処理の対象となる画素毎に、勾配が算出され、エッジベクトル判定部141は、最大ノルムを有するベクトルと、最大ノルムを有するベクトルが得られた画素に隣接する画素のベクトルとを用いてエッジの角度を算出する。具体的には、隣接画素のそれぞれに対して、対応するエッジベクトル(又は勾配ベクトル)のノルムと、最大ベクトルのノルムとを比較する。
隣接画素のエッジベクトルのノルムが、最大ベクトルのノルムの50%より大きい場合のみ、当該隣接画素のエッジベクトルを利用するためにエッジベクトル格納メモリ204に格納する。そして、エッジベクトル判定部141は、メモリに格納された最大ベクトルと周囲ベクトルとのそれぞれの角度の平均を、エッジ方向の角度αとして算出する。具体的には、以下の図16に示すフローチャートに従って実行される。
図16は、本実施の形態においてエッジの角度を算出する処理の一例を示すフローチャートである。なお、エッジの角度算出処理は、図13を用いて説明したエッジ検出処理の結果に依存する。図13に示すエッジ検出処理を行った結果、閾値より大きいと判定された1つ以上のエッジベクトルと対応する画素の位置とが、エッジベクトル格納メモリ204に格納される。
ノルム判定部203は、エッジ検出処理で検出された最大エッジベクトルの角度を算出し、エッジベクトル格納メモリ204に格納する(S501)。そして、以下の処理は、最大エッジベクトルが算出された画素に隣接する全ての画素に対して実行される(S502)。すなわち、ノルム判定部203は、最大エッジベクトルが検出された画素に隣接する画素のうち、1つの画素の位置を対象画素位置に設定して、以下の処理を行う。
次に、ノルム判定部203は、対象画素位置に対応するエッジベクトルがエッジベクトル格納メモリ204に格納されているか否かを判定する(S503)。すなわち、ノルム判定部203は、閾値より大きいノルムを有し、かつ、対象ブロックを指すエッジベクトルが格納されているか否かを判定する。
エッジベクトルが格納されている場合(S503でYes)、ノルム判定部203は、このエッジベクトルのノルムを算出する(S504)。そして、ノルム判定部203は、算出したノルムと最大エッジベクトルのノルムとを比較する(S505)。算出したノルムが最大ノルムの50%より大きい場合(S505でYes)、ノルム判定部203は、対象画素位置のエッジベクトルの角度を算出し、算出した角度をエッジベクトル格納メモリ204に格納する(S506)。
以上の処理(S503〜S506)を全ての対象画素位置に対して実行する。次の画素がない場合、すなわち、全ての対象画素位置に対して処理が終了した場合(S507でNo)、ノルム判定部203は、エッジベクトル格納メモリ204に格納された角度を平均することで、エッジの角度を算出する(S508)。
なお、図16に示すような、検出したエッジの角度を決定する上述の処理は、単なる例示である。本発明は、エッジを検出し、又は、その方向を決定するいかなる特定の方法にも限定されない。例えば、エッジの角度は、最大エッジベクトルのみの方向から決定されてもよい。あるいは、より多く又はより少ない数の近接するベクトル、又は、エッジに沿った他のベクトルの方向から決定されてもよい。また、メモリに格納するベクトルはエッジベクトルであるとしたが、勾配ベクトルであってもよい。
ここで、エッジベクトルに基づかない従来の予測モード推定値を決定する方法について、一例を挙げて説明する。従来は、イントラ符号化のイントラ予測モードに対する予測モード推定値の場合、周囲ブロックの予測モードを示す番号のうち、小さい番号の予測モードの番号を予測モード推定値として決定する。一方、インター符号化の位置情報に対する予測モード推定値の場合、周囲ブロックの位置情報のうち、同じ参照フレーム上の位置情報を示している周囲ブロックを取り出し、複数の周囲ブロックの位置情報の値に対して、メディアン値を算出し、算出したメディアン値を予測モード推定値として決定する。なお、本発明では、エッジベクトルに基づかない予測モード推定値の決定方法については、これに限定しない。
以下では、予測モード推定値について、さらに詳細を説明する。例えば、(式1)で示されるラグランジュコスト関数Jを用いて、低ビットレートで符号化する場合、量子化パラメータQPが大きくなるため、ラグランジュ乗数も大きくなる。このため、(式1)のR、すなわち、符号化するのに用いられるビットレートが、ラグランジュコスト関数Jに対して相対的に重要になる。すなわち、符号化歪みDよりもビットレートR(符号量)が重視される。
したがって、(式1)に示すコスト関数を考慮した符号化を行う場合、イントラ符号化の際は、実際のイントラ予測に用いられるイントラ予測モードが、イントラ予測モードの推定値と同じになるように、符号化モードの選択が行われる。なぜなら、イントラ予測モードの推定値とイントラ予測モードとが同じであれば、ビットストリーム内には、イントラ予測モードがイントラ予測モード推定値と同じであることを示すフラグだけになるため、発生する符号量が小さいためである。このため、イントラ予測モードの推定値と同じイントラ予測モードで、符号化歪みDを小さくできることが、低ビットレートで符号化する場合に重要になる。
そこで、本実施の形態では、エッジ情報を利用して、予測モード推定値を決定するための候補となる予測モード候補の数を少なくする。これにより、予測モード推定値と、実際に予測に用いられた予測モードとが同じになる可能性を高めることができ、符号量を削減することができる。また、予測モード候補の数を少なくすることで、処理量を削減することができる。
さらに、エッジ情報を利用して対象ブロックと周囲ブロックの相関性を判定し、相関性の高い周囲ブロックの予測モードを用いることで、イントラ予測モードの推定値と同じイントラ予測モードで、符号化歪みDを小さくすることができ、低ビットレートの場合にも符号化歪みを抑制することができる。
一方、同様にインター符号化の際は、実際のインター予測に用いられる位置情報が、位置情報の推定値と同じになるように動き検出が行われる。この場合も同様に、エッジ情報を利用して対象ブロックと周囲ブロックの相関性を判定し、相関性の高い周囲ブロックの位置情報を用いる、又は、重みを付けることで、位置情報の推定値と同じ、又は、近い位置情報で、符号化歪みDを小さくすることができ、低ビットレートの場合にも符号化歪みを抑制することができる。
以上、本発明の画像符号化装置、画像復号装置及び対応する方法について、実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を当該実施の形態に施したものも、本発明の範囲内に含まれる。
例えば、本実施の形態によれば、ソーベル演算子を用いて勾配を算出することで、エッジの検出を行った。しかしながら、本発明は、この点には限定されない。代わりに、検出されたエッジの方向性が算出されれば、どのようなエッジ検出ツールが用いられてもよい。ソーベル演算子は、可能なエッジ検出技術の一例に過ぎない。例えば、(式3)に示すプレウィット演算子を用いてもよい。
Figure 2010087157
また、ローパスフィルタ(LPF:Low Pass Filter)処理を行ったブロックに対して勾配を算出してもよい。具体的には、ローパスフィルタを構成するフィルタ係数とソーベル演算子又はプレウィット演算子とを畳み込んだ演算子を用いて勾配を算出することができる。
したがって、例えば、本実施の形態では、エッジ検出部201又は401は、ソーベル演算子のみ、プレウィット演算子のみ、ソーベル演算子とローパスフィルタとの合成フィルタ、又は、プレウィット演算子とローパスフィルタとの合成フィルタの4種類の中から選択して、勾配を算出してもよい。いずれのフィルタを選択するかは、例えば、外部からのユーザの指示、又は、対象ピクチャの特徴に基づいて決定される。例えば、対象ピクチャに多くのノイズが含まれる場合、すなわち、対象ピクチャが平坦な画像でない場合は、ローパスフィルタを含むフィルタを用いる。
また、本実施の形態の画像符号化装置100又は画像復号装置300では、ノルム判定部203又は403は、予め定められた閾値を用いてノルムの判定を行ったのに対して、シーケンス、ピクチャ、スライス、又は、ブロック単位で閾値を決定してもよい。なお、この場合、決定した閾値をビットストリームに含めることで復号器側に伝送する必要がある。例えば、閾値を決定する単位に応じて、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、又は、スライスヘッダ(SH)などに閾値を示す情報は含められる。
また、上述したように、複数の予測モード候補には、非特許文献2で用いられているエッジ予測モードが含まれていてもよい。エッジ予測モードとは、検出されたエッジの方向に周辺ブロックの画素値を内挿又は外挿することで、イントラ予測を行うイントラ予測モードの1つである。このエッジ予測モードに対しても、適した予測モードの推定値決定を行うことができる。ここで説明する予測モード推定値の決定方法は、イントラ符号化モードの場合である。予測モード推定部143は、エッジ検出処理によりエッジ検出され、エッジが検出されなければ、従来の予測モード推定値決定方法により、予測モード推定値を決定する。
また、本実施の形態では、エッジの方向(角度)、又は、エッジが検出された画素を含むブロックの位置に基づいて、予測モード候補の数を減らしたが、2つ以上のエッジが検出された場合は、当該2つ以上のエッジのばらつき度合いに基づいて、予測モードの数を減らしてもよい。ばらつき度合いは、例えば、エッジベクトルの分散値である。
例えば、予測モード候補限定部212は、エッジが検出され、かつ、2つ以上のエッジベクトルが格納されていれば、格納されたエッジベクトルの分散値を算出する。分散値が予め決められた閾値より小さければ、エッジ方向はシャープなエッジがあるとして、例えば、8個の方向予測モードを予測モード候補から除外することで、エッジ予測モードを含む予測モード候補に限定する。
一方、分散値が閾値よりも大きければ、図16で説明したエッジ角度の算出処理を行い、算出されたエッジ角度に最も近い角度の予め決められた方向予測方式(H.264規格方式の場合、図1Bで示した8個の方向予測モード)の2つを含む予測モード候補に限定する。また、エッジが1つの場合にも、シャープなエッジがあるとして、エッジ予測モードを含む予測モード候補に限定する。
具体的には、以下の図17に示すフローチャートに従って実行される。
まず始めに、図13のエッジ検出処理が、エッジ検出部201、方向判定部202、ノルム判定部203及びエッジベクトル格納メモリ204によって実行される(S601)。次に、予測モード推定部143は、少なくとも1つのエッジベクトルが格納されているか、すなわち、対象ブロックを指すエッジに対応する方向で閾値より大きなノルムを有するベクトルがあるか否かを判定する(S602)。
エッジベクトルが1つも格納されていない場合、すなわち、エッジが検出されなかった場合(S602でNo)、予測モード推定部143は、従来の予測モード推定値決定方法により予測モードの推定値を決定する(S603)。
少なくとも1つのエッジベクトルが格納されている場合、すなわち、エッジが検出された場合(S602でYes)、予測モード推定部143は、格納されたエッジベクトルに対して、ばらつき度合いの一例である分散値を算出する(S604)。そして、ベクトルをX成分、Y成分に分解し、それぞれの大きさに対しての分散値の和を算出する。
算出した分散値が、予め決められた閾値よりも小さい場合(S605でNo)、エッジ方向によるイントラ予測モードを予測モード推定値として決定する(S606)。なお、エッジベクトルが1つしか格納されていない場合、分散値は0となるため、常にエッジ方向によるイントラ予測モードを予測モード推定値として決定される。
一方、分散値が、予め決められた閾値よりも大きい場合(S605でYes)、エッジベクトル判定部141は、図16のエッジ角度算出処理を行うことで、エッジの角度を算出する(S607)。そして、予測モード候補限定部212は、当該分散値とエッジの角度とに基づいて予測モード候補を限定する(S608)。例えば、予測モード候補限定部212は、複数の予測モード候補の中から、DC予測モードと2つの方向予測モードとに予測モード候補を限定する。2つの方向予測モードは、算出されたエッジの角度に最も近い2つの方向予測モードである。
そして、予測モード推定部143は、限定された予測モード候補の中から予測モード推定値を決定する(S609)。
なお、分散値が大きいということは、周囲ブロックには様々な方向及び大きさのエッジが含まれていることを示している。このため、一意の方向を利用する方向予測モード及びエッジ予測モードではなく、画素値の平均を用いるDC予測モードを予測モード候補に含めている。
以上は、画像符号化装置100での予測モード推定値を決定する処理についての説明であるが、画像復号装置300についても、画像符号化装置100と同様の処理となる。エッジベクトル判定部141、予測モード候補限定部212、予測モード格納メモリ211、予測モード候補取得部213及び予測モード推定部143のそれぞれが実行する処理が、エッジベクトル判定部321、予測モード候補限定部412、予測モード格納メモリ411、予測モード候補取得部413及び予測モード推定部323によって実行される。
なお、ばらつき度合いの一例である分散値の算出(S604)については、別の方法をとってもよい。例えば、格納された全てのベクトルに対して、エッジの角度を算出し、全てのベクトルのエッジ角度の平均値とを比較し、角度の一番離れているベクトルとの差、すなわち、角度の差に対して、閾値比較(S605)を行ってもよい。
この方法を用いると、図17の方法と比べて、1つのベクトルが大きく平均と異なる場合に、エッジ方向によるイントラ予測であるエッジ予測モードを予測モード推定値に選択しない。なぜなら、1つのベクトルが大きく別の角度を向いている場合には、シャープなエッジに対して効果の高いエッジ方向によるイントラ予測では、符号化効率は上がらないためである。これにより、1つのベクトルが大きく別の角度を向いている場合に対して、より適した予測モード推定値の決定ができる。
この方法を用いることで、エッジの方向から方向予測モードが予測できるため、さらに予測モード推定値の推定精度の向上が期待できる。
また、符号化方式が、エッジ方向を利用したイントラ予測モードを含まない場合には、分散値の値に関わらず、エッジ角度を算出し、予め決められた方向予測方式の1つを予測モード推定値として決定してもよい。また、エッジが検出されない場合には、対象ブロックが平坦であると仮定できるため、従来の予測モード推定値決定方法を用いず、周辺ブロックの平均値を予測ブロックとして用いるDCモードを予測モード推定値として決定してもよい。このようにすることで、処理量が低減することができ、かつ周辺ブロックの特徴を予測モード推定値の決定に用いているため、符号化歪みの低減も期待できる。
また、予測モード推定値を決定するために用いる処理領域を限定することで、予測モード候補の数を減らしてもよい。図18は、本実施の形態の推定部140及び復元部320が行う予測モードの推定処理の異なる一例を示すフローチャートである。具体的には、図18は、予測モード候補から予測モード推定値を決定することに用いる処理領域を限定することで、演算処理量を削減し、かつ適切な予測モード推定値を決定する処理を示すフローチャートである。なお、以下では、画像符号化装置100が備える推定部140が実行する処理について説明する。
まず始めに、図13のエッジ検出処理が、エッジ検出部201、方向判定部202、ノルム判定部203及びエッジベクトル格納メモリ204によって実行される(S701)。次に、予測モード推定部143は、少なくとも1つのエッジベクトルが格納されているか、すなわち、対象ブロックを指すエッジに対応する方向で閾値より大きなノルムを有するベクトルがあるか否かを判定する(S702)。
なお、ステップS701及びS702はそれぞれ、図8に示すステップS103及びS104に相当する。
少なくとも1つのエッジベクトルが格納されている場合、すなわち、エッジが検出された場合(S702でYes)、予測モード候補限定部212は、格納されたエッジベクトルの属するブロックの画素位置を限定情報として、予測モード候補取得部213に出力する(S703)。予測モード推定部143は、予測モード候補取得部213から、限定された領域、すなわち、エッジベクトルが属しているブロック領域を用いて、予測モード推定値を決定する(S704)。
エッジベクトルが1つも格納されていない場合、すなわち、エッジが検出されなかった場合(S702でNo)、予測モード推定部143は、従来の予測モード推定値決定方法により予測モードの推定値を決定する(S705)。
以上のように、予測モード候補の数そのものを限定するのではなく、判定領域を限定してもよい。つまり、判定領域毎に予測モード候補が存在するので、判定領域を限定することで、予測モード候補の数を少なくすることができる。
以上は、画像符号化装置100での予測モード推定値を決定する処理についての説明であるが、画像復号装置300についても、画像符号化装置と同様の処理となる。エッジベクトル判定部141、予測モード候補限定部212、予測モード格納メモリ211、予測モード候補取得部213及び予測モード推定部143のそれぞれが実行する処理が、エッジベクトル判定部321、予測モード候補限定部412、予測モード格納メモリ411、予測モード候補取得部413及び予測モード推定部323によって実行される。
ここで、予測モード候補から予測モード推定値を決定する方法の一例を説明する。例えば、予測モード候補として全ての予測モードとし、判定領域としては、対象ブロックの上部及び左部分にある周囲ブロックとする。
予測モード推定部143は、判定領域のブロックに対して、全ての予測モードで取り得る予測ブロックを、さらに周囲のブロックを用いることにより生成する。そして、予測モード推定部143は、生成された予測ブロックと、予測ブロックに対応する符号化及び復号済みの復号ブロックとの差分を算出し、算出した差分が最も小さくなる予測ブロックを生成した予測モードを、予測モード推定値に決定する。
これは、画像の空間連続性から周囲ブロックの結果から対象ブロックの結果を予測する方法であるが、処理量は非常に多い。そこで、図6で示した予測モード候補限定部212により、図19Aに示すように、エッジベクトルの属している画素領域に前述の判定領域を限定することで、処理量を削減することができる。つまり、予測モード候補限定部212は、エッジが検出されなかった周囲ブロックを演算対象から除外することで、複数の予測モード候補の数を減らすことができる。
さらに、エッジの連続性から、さらに画像の空間連続性の強い領域のみを用いて対象ブロックの予測モード推定値を決定できるため、精度の向上が期待できる。
また、予測モード候補限定部212は、最大ノルムを有する最大エッジが検出された周囲ブロックに演算対象を限定することで、複数の予測モード候補の数を減らしてもよい。最大エッジは、図13に示すフローチャートに従って決定される。
また、検出されたエッジベクトルの方向に基づいて、演算対象である判定領域を限定してもよい。例えば、図19Bに示すように、検出されたエッジベクトルの水平成分が垂直成分より大きい場合、対象ブロック10の左側に位置する周囲ブロック(すなわち、左と左上の周囲ブロック)のみを判定領域としてもよい。また、検出されたエッジベクトルの垂直成分が水平成分より大きい場合、対象ブロック10の上側に位置する周囲ブロック(すなわち、左上、上、右上の周囲ブロック)のみを判定領域としてもよい。
なお、本発明では、エッジ検出の結果から、算出に用いる領域を限定することを除いて、予測モード候補からの予測モード推定値の決定に関する算出方法については、これに限定しない。
以上のようにして、本実施の形態の画像符号化装置100、画像復号装置300は、エッジが検出されたか否かに応じて、予測モード推定値を決定する。すなわち、エッジが検出された場合は、エッジベクトルを基準に予測モード推定値を決定する方法により予測モード推定値を決定し、エッジが検出されない場合は、従来のエッジベクトルに基づかないで、予測モード候補から予測モード推定値を決定する方法により予測モード推定値を決定する。
なお、予測モード候補から予測モード推定値を決定する方法において、決定のための判定領域を限定する方式(図18のフローチャートで示した方式)と、候補となる予測モードの数を限定する方式(図14のフローチャートで示した方式)とを組み合わせてもよい。組み合わせることで、さらなる処理量の削減が期待できる。
なお、本発明では、エッジ検出の結果から、算出に用いる領域を限定することを除いて、予測モード候補からの予測モード推定値の決定に関する算出方法については、これに限定しない。
本実施の形態の画像符号化装置及び画像復号装置は、画像及び映像データを符号化及び復号する際に、対象ブロックの周囲に位置する周囲ブロックに含まれるエッジを検出し、検出したエッジの方向により、対象ブロックと周囲ブロックとの関係を評価することができ、これを予測モードの推定に利用することができる。つまり、本実施の形態では、符号化予測モード情報を符号化する際に、エッジの方向を考慮に入れた予測モードの推定を行うことができる。
なお、本実施の形態では、推定部140及び復元部320は、常にエッジベクトル判定部141及び321を用いていたが、外部からエッジ検出フラグを受け取ってもよい。エッジ検出フラグは、エッジ検出処理の有効又は無効を切り替えるためのフラグである。例えば、シーケンス、ピクチャ、又はスライス単位でエッジ検出処理の有効又は無効を切り替えることができる。
これにより、本発明の効果が充分に得られない平坦な画像などに対しては、エッジ検出処理を無効にすることができるので、画像符号化装置100に対する処理負担を軽減し、符号化処理の速度を高めることができる。
また、エッジ検出フラグを復号器側にも伝送するので、復号器側で、エッジ検出処理が行われていないビットストリームに対してエッジ検出処理が行われることを防ぐことができる。
なお、エッジベクトル判定部141で用いられた閾値をビットストリームに含めてもよい。閾値を示す情報は、例えば、SPS、PPS、SHなどに含められる。
閾値は、例えば、画像特徴量を算出することで決定する。画像特徴量は、例えば、エッジ検出処理が行われる画像の分散、強度などである。例えば、分散が大きいほど、ノルム判定に用いる閾値が大きな値になるように決定する。分散が大きいということは、画像に多くのノイズが含まれることであり、エッジが誤検出されてしまう可能性が大きくなる。したがって、ノルム判定に用いる閾値を大きくすることで、エッジの誤検出される可能性を小さくすることができる。
また、前のピクチャに対するエッジ検出処理の結果に基づいて、閾値を決定してもよい。例えば、前のピクチャに対して異なる方向のエッジが多く検出されるほど、閾値が大きな値になるように決定する。異なる方向のエッジが多く検出されるということは、ノイズなどの影響で正確なエッジが検出されていない可能性があるので、ノルム判定に用いる閾値を大きくすることで、エッジが誤検出される可能性を小さくすることができる。
これにより、閾値を適応的に変更することができるので、より適切な閾値を決定することができ、より適切な予測ブロックを生成することができる。これにより、符号化歪みなどを削減することができる。
なお、本実施の形態の画像符号化装置100及び画像復号装置300では、エッジ検出処理を行うために、図1Aに示す参照画素20だけではなく、参照画素20を含むブロックに含まれる全画素のデータを、参照ピクチャメモリ160及びフレームメモリ314に格納する必要がある。これに対して、周囲のブロックを復号すると同時に、すなわち、勾配の算出に必要な参照画素の画素値が得られると同時に、勾配の算出処理を行い、勾配の算出処理結果だけを参照ピクチャメモリ160及びフレームメモリ314、又は、他のメモリに格納してもよい。
このとき、例えば、閾値を超えたノルム(又は、勾配値)のみを格納することで、よりメモリ資源を節約することができる。あるいは、各ブロックの最大のノルムとその画素位置のみを格納してもよい。この場合、算出したノルム(又は、勾配値)を参照ピクチャメモリ160及びフレームメモリ314、又は、エッジベクトル格納メモリ204及び404などに格納する。
これにより、画像符号化装置100及び画像復号装置300が備えるメモリ資源を有効に利用することができる。
また、予測値を算出する上述の方法は、検出されたエッジの方向を正式に考慮に入れて、本発明の範囲内で、いかなる他の方法に置き換えられてもよい。具体的には、上記の説明で用いた参照画素より多くの参照画素、又は、別の参照画素を、予測される対象ブロックに近接する参照画素の代わりに用いてもよい。
また、本発明は、H.264映像符号化規格に限定されず、非特許文献2のエッジ方向を利用したイントラ予測モード(エッジ予測モード)など、上述の従来のイントラ予測モード予測値、位置情報(動きベクトル)予測値に限定されない。事実、発明の予測モード推定方法は、いかなるブロックベースの映像符号化器に用いられてもよい。
また、本発明の予測モード推定方法におけるエッジ検出部は、映像符号化方式の一部の機能と共有してもよい。例えば、エッジ予測モードを含む映像符号化方式に、本発明を適用することで、エッジ検出部を共に用いることができ、リソースを有効利用できる。
また、本発明は、映像符号化アプリケーションに限られず、ブロックベースの静止画像符号化に用いられてもよい。
また、本発明は、上述したように、画像符号化装置、画像復号装置及びこれらの方法として実現できるだけではなく、本実施の形態の画像符号化方法及び画像復号方法のそれぞれをコンピュータに実行させるためのプログラムとして実現してもよい。また、当該プログラムを記録するコンピュータ読み取り可能なCD−ROMなどの記録媒体として実現してもよい。さらに、当該プログラムを示す情報、データ又は信号として実現してもよい。そして、これらプログラム、情報、データ及び信号は、インターネットなどの通信ネットワークを介して配信されてもよい。
また、本発明は、画像符号化装置及び画像復号装置のそれぞれを構成する構成要素の一部又は全部を、1個のシステムLSIから構成してもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM及びRAMなどを含んで構成されるコンピュータシステムである。
要約すると、本発明は、画像及び映像データの符号化及び復号に関し、特に、予測に必要な情報を、前に符号化及び復号されたブロックの情報から推測する予測値推測方法に関する。この予測値推測方法によれば、シャープなエッジが対象ブロックに向かっている場合には、エッジの連続性からブロック間の相関性を考慮に入れることで、より信頼性の高い予測値推測が行われる。
(実施の形態2)
上記実施の形態で示した画像符号化方法又は画像復号方法の構成を実現するためのプログラムを記憶メディアに記録することにより、上記実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ICカード、半導体メモリ等、プログラムを記録できるものであればよい。
さらにここで、上記実施の形態で示した画像符号化方法及び画像復号方法の応用例とそれを用いたシステムを説明する。
図20は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex106〜ex110が設置されている。
このコンテンツ供給システムex100は、インターネットex101にインターネットサービスプロバイダex102及び電話網ex104、及び、基地局ex106〜ex110を介して、コンピュータex111、PDA(Personal Digital Assistant)ex112、カメラex113、携帯電話ex114、ゲーム機ex115などの各機器が接続される。
しかし、コンテンツ供給システムex100は図20のような構成に限定されず、いずれかの要素を組み合わせて接続するようにしてもよい。また、固定無線局である基地局ex106〜ex110を介さずに、各機器が電話網ex104に直接接続されてもよい。また、各機器が近距離無線等を介して直接相互に接続されていてもよい。
カメラex113はデジタルビデオカメラ等の動画撮影が可能な機器であり、カメラex116はデジタルカメラ等の静止画撮影、動画撮影が可能な機器である。また、携帯電話ex114は、GSM(Global System for Mobile Communications)方式、CDMA(Code Division Multiple Access)方式、W−CDMA(Wideband−Code Division Multiple Access)方式、もしくはLTE(Long Term Evolution)方式、HSPA(High Speed Packet Access)の携帯電話機、又は、PHS(Personal Handyphone System)等であり、いずれでも構わない。
コンテンツ供給システムex100では、カメラex113等が基地局ex109、電話網ex104を通じてストリーミングサーバex103に接続されることで、ライブ配信等が可能になる。ライブ配信では、ユーザがカメラex113を用いて撮影するコンテンツ(例えば、音楽ライブの映像等)に対して上記実施の形態で説明したように符号化処理を行い、ストリーミングサーバex103に送信する。一方、ストリーミングサーバex103は要求のあったクライアントに対して送信されたコンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114、ゲーム機ex115等がある。配信されたデータを受信した各機器では、受信したデータを復号処理して再生する。
なお、撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。同様に配信されたデータの復号処理はクライアントで行っても、ストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。また、カメラex113に限らず、カメラex116で撮影した静止画像及び/又は動画像データを、コンピュータex111を介してストリーミングサーバex103に送信してもよい。この場合の符号化処理はカメラex116、コンピュータex111、ストリーミングサーバex103のいずれで行ってもよいし、互いに分担して行ってもよい。
また、これら符号化処理及び復号処理は、一般的にコンピュータex111及び各機器が有するLSI(Large Scale Integration)ex500において処理する。LSIex500は、ワンチップであっても複数チップからなる構成であってもよい。なお、画像符号化用及び画像復号用のソフトウェアをコンピュータex111等で読み取り可能な何らかの記録メディア(CD−ROM、フレキシブルディスク、ハードディスクなど)に組み込み、そのソフトウェアを用いて符号化処理及び復号処理を行ってもよい。さらに、携帯電話ex114がカメラ付きである場合には、そのカメラで取得した動画データを送信してもよい。このときの動画データは携帯電話ex114が有するLSIex500で符号化処理されたデータである。
また、ストリーミングサーバex103は複数のサーバ又は複数のコンピュータであって、データを分散して処理したり記録したり配信するものであってもよい。
以上のようにして、コンテンツ供給システムex100では、符号化されたデータをクライアントが受信して再生することができる。このようにコンテンツ供給システムex100では、ユーザが送信した情報をリアルタイムでクライアントが受信して復号し、再生することができ、特別な権利又は設備を有さないユーザでも個人放送を実現できる。
このコンテンツ供給システムを構成する各機器の符号化、復号には上記実施の形態で示した画像符号化方法あるいは画像復号方法を用いるようにすればよい。
その一例として携帯電話ex114について説明する。
図21は、上記実施の形態で説明した画像符号化方法と画像復号方法を用いた携帯電話ex114を示す図である。携帯電話ex114は、基地局ex110との間で電波を送受信するためのアンテナex601、CCDカメラ等の映像、静止画を撮ることが可能なカメラ部ex603、カメラ部ex603で撮影した映像、アンテナex601で受信した映像等が復号されたデータを表示する液晶ディスプレイ等の表示部ex602、操作キーex604群から構成される本体部、音声出力をするためのスピーカ等の音声出力部ex608、音声入力をするためのマイク等の音声入力部ex605、撮影した動画もしくは静止画のデータ、受信したメールのデータ、動画のデータもしくは静止画のデータ等、符号化されたデータ又は復号されたデータを保存するための記録メディアex607、携帯電話ex114に記録メディアex607を装着可能とするためのスロット部ex606を有している。記録メディアex607はSDカード等のプラスチックケース内に電気的に書換え及び消去が可能な不揮発性メモリであるEEPROMの一種であるフラッシュメモリ素子を格納したものである。
さらに、携帯電話ex114について図22を用いて説明する。携帯電話ex114は表示部ex602及び操作キーex604を備えた本体部の各部を統括的に制御するようになされた主制御部ex711に対して、電源回路部ex710、操作入力制御部ex704、画像符号化部ex712、カメラインターフェース部ex703、LCD(Liquid Crystal Display)制御部ex702、画像復号部ex709、多重分離部ex708、記録再生部ex707、変復調回路部ex706及び音声処理部ex705が同期バスex713を介して互いに接続されている。
電源回路部ex710は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することによりカメラ付デジタル携帯電話ex114を動作可能な状態に起動する。
携帯電話ex114は、CPU、ROM及びRAM等でなる主制御部ex711の制御に基づいて、音声通話モード時に音声入力部ex605で集音した音声信号を音声処理部ex705によってデジタル音声データに変換し、これを変復調回路部ex706でスペクトラム拡散処理し、送受信回路部ex701でデジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex601を介して送信する。また携帯電話ex114は、音声通話モード時にアンテナex601で受信した受信データを増幅して周波数変換処理及びアナログデジタル変換処理を施し、変復調回路部ex706でスペクトラム逆拡散処理し、音声処理部ex705によってアナログ音声データに変換した後、音声出力部ex608を介してこれを出力する。
さらに、データ通信モード時に電子メールを送信する場合、本体部の操作キーex604の操作によって入力された電子メールのテキストデータは操作入力制御部ex704を介して主制御部ex711に送出される。主制御部ex711は、テキストデータを変復調回路部ex706でスペクトラム拡散処理し、送受信回路部ex701でデジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex601を介して基地局ex110へ送信する。
データ通信モード時に画像データを送信する場合、カメラ部ex603で撮像された画像データを、カメラインターフェース部ex703を介して画像符号化部ex712に供給する。また、画像データを送信しない場合には、カメラ部ex603で撮像した画像データをカメラインターフェース部ex703及びLCD制御部ex702を介して表示部ex602に直接表示することも可能である。
画像符号化部ex712は、本願発明で説明した画像符号化装置を備えた構成であり、カメラ部ex603から供給された画像データを上記実施の形態で示した画像符号化装置に用いた符号化方法によって圧縮符号化することにより符号化画像データに変換し、これを多重分離部ex708に送出する。また、このとき同時に携帯電話ex114は、カメラ部ex603で撮像中に音声入力部ex605で集音した音声を、音声処理部ex705を介してデジタルの音声データとして多重分離部ex708に送出する。
多重分離部ex708は、画像符号化部ex712から供給された符号化画像データと音声処理部ex705から供給された音声データとを所定の方式で多重化し、その結果得られる多重化データを変復調回路部ex706でスペクトラム拡散処理し、送受信回路部ex701でデジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex601を介して送信する。
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、アンテナex601を介して基地局ex110から受信した受信データを変復調回路部ex706でスペクトラム逆拡散処理し、その結果得られる多重化データを多重分離部ex708に送出する。
また、アンテナex601を介して受信された多重化データを復号するには、多重分離部ex708は、多重化データを分離することにより画像データのビットストリームと音声データのビットストリームとに分け、同期バスex713を介して当該符号化画像データを画像復号部ex709に供給すると共に当該音声データを音声処理部ex705に供給する。
次に、画像復号部ex709は、本願で説明した画像復号装置を備えた構成であり、画像データのビットストリームを上記実施の形態で示した符号化方法に対応した復号方法で復号することにより再生動画像データを生成し、これを、LCD制御部ex702を介して表示部ex602に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まれる動画データが表示される。このとき同時に音声処理部ex705は、音声データをアナログ音声データに変換した後、これを音声出力部ex608に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まれる音声データが再生される。
なお、上記システムの例に限られず、最近は衛星、地上波によるデジタル放送が話題となっており、図23に示すようにデジタル放送用システムにも上記実施の形態の少なくとも画像符号化装置又は画像復号装置を組み込むことができる。具体的には、放送局ex201では音声データ、映像データ又はそれらのデータが多重化されたビットストリームが電波を介して通信又は放送衛星ex202に伝送される。これを受けた放送衛星ex202は、放送用の電波を発信し、衛星放送受信設備をもつ家庭のアンテナex204はこの電波を受信し、テレビ(受信機)ex300又はセットトップボックス(STB)ex217などの装置はビットストリームを復号してこれを再生する。また、記録媒体であるCD及びDVD等の記録メディアex215、ex216に記録した画像データと、音声データが多重化されたビットストリームを読み取り、復号するリーダ/レコーダex218にも上記実施の形態で示した画像復号装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示される。また、ケーブルテレビ用のケーブルex203又は衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に画像復号装置を実装し、これをテレビのモニタex219で再生する構成も考えられる。このときセットトップボックスではなく、テレビ内に画像復号装置を組み込んでも良い。また、アンテナex205を有する車ex210で、衛星ex202又は基地局等から信号を受信し、車ex210が有するカーナビゲーションex211等の表示装置に動画を再生することも可能である。
また、DVD、BD等の記録メディアex215に記録した音声データ、映像データ又はそれらのデータが多重化された符号化ビットストリームを読み取り復号する、又は、記録メディアex215に、音声データ、映像データ又はそれらのデータを符号化し、多重化データとして記録するリーダ/レコーダex218にも上記実施の形態で示した画像復号装置又は画像符号化装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示される。また、符号化ビットストリームが記録された記録メディアex215により、他の装置及びシステム等は、映像信号を再生することができる。例えば、他の再生装置ex212は、符号化ビットストリームがコピーされた記録メディアex214を用いて、モニタex213に映像信号を再生することができる。
また、ケーブルテレビ用のケーブルex203又は衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に画像復号装置を実装し、これをテレビのモニタex219で表示してもよい。このときセットトップボックスではなく、テレビ内に画像復号装置を組み込んでもよい。
図24は、上記実施の形態で説明した画像復号方法及び画像符号化方法を用いたテレビ(受信機)ex300を示す図である。テレビex300は、上記放送を受信するアンテナex204又はケーブルex203等を介して映像情報のビットストリームを取得、又は、出力するチューナex301と、受信した符号化データを復調する、又は、生成された符号化データを外部に送信するために変調する変調/復調部ex302と、復調した映像データと音声データとを分離する、又は、符号化された映像データと音声データとを多重化する多重/分離部ex303を備える。また、テレビex300は、音声データ、映像データそれぞれを復号する、又は、それぞれの情報を符号化する音声信号処理部ex304、映像信号処理部ex305を有する信号処理部ex306と、復号された音声信号を出力するスピーカex307、復号された映像信号を表示するディスプレイ等の表示部ex308を有する出力部ex309とを有する。さらに、テレビex300は、ユーザ操作の入力を受け付ける操作入力部ex312等を有するインターフェース部ex317を有する。さらに、テレビex300は、各部を統括的に制御する制御部ex310、各部に電力を供給する電源回路部ex311を有する。インターフェース部ex317は、操作入力部ex312以外に、リーダ/レコーダex218等の外部機器と接続されるブリッジex313、SDカード等の記録メディアex216を装着可能とするためのスロット部ex314、ハードディスク等の外部記録メディアと接続するためのドライバex315、電話網と接続するモデムex316等を有していてもよい。なお記録メディアex216は、格納する不揮発性/揮発性の半導体メモリ素子により電気的に情報の記録を可能としたものである。テレビex300の各部は同期バスを介して互いに接続されている。
まず、テレビex300がアンテナex204等により外部から取得したデータを復号し、再生する構成について説明する。テレビex300は、リモートコントローラex220等からのユーザ操作を受け、CPU等を有する制御部ex310の制御に基づいて、変調/復調部ex302で復調した映像データ、音声データを多重/分離部ex303で分離する。さらにテレビex300は、分離した音声データを音声信号処理部ex304で復号し、分離した映像データを映像信号処理部ex305で上記実施の形態で説明した復号方法を用いて復号する。復号した音声信号、映像信号は、それぞれ出力部ex309から外部に向けて出力される。出力する際には、音声信号と映像信号が同期して再生するよう、バッファex318、ex319等に一旦これらの信号を蓄積するとよい。また、テレビex300は、放送等からではなく、磁気/光ディスク、SDカード等の記録メディアex215、ex216から符号化された符号化ビットストリームを読み出してもよい。次に、テレビex300が音声信号及び映像信号を符号化し、外部に送信又は記録メディア等に書き込む構成について説明する。テレビex300は、リモートコントローラex220等からのユーザ操作を受け、制御部ex310の制御に基づいて、音声信号処理部ex304で音声信号を符号化し、映像信号処理部ex305で映像信号を上記実施の形態で説明した符号化方法を用いて符号化する。符号化した音声信号、映像信号は多重/分離部ex303で多重化され外部に出力される。多重化する際には、音声信号と映像信号が同期するように、バッファex320、ex321等に一旦これらの信号を蓄積するとよい。なお、バッファex318〜ex321は図示しているように複数備えていてもよいし、一つ以上のバッファを共有する構成であってもよい。さらに、図示している以外に、例えば変調/復調部ex302と多重/分離部ex303との間等でもシステムのオーバフロー及びアンダーフローを避ける緩衝材としてバッファにデータを蓄積することとしてもよい。
また、テレビex300は、放送及び記録メディア等から音声データ及び映像データを取得する以外に、マイク及びカメラのAV入力を受け付ける構成を備え、それらから取得したデータに対して符号化処理を行ってもよい。なお、ここではテレビex300は、上記の符号化処理、多重化、及び、外部出力ができる構成として説明したが、これらの全ての処理を行うことはできず、上記受信、復号処理、及び、外部出力のうちいずれかのみが可能な構成であってもよい。
また、リーダ/レコーダex218で記録メディアから符号化ビットストリームを読み出す、又は、書き込む場合には、上記復号処理又は符号化処理はテレビex300及びリーダ/レコーダex218のうちいずれかで行ってもよいし、テレビex300とリーダ/レコーダex218とが互いに分担して行ってもよい。
一例として、光ディスクからデータの読み込み又は書き込みをする場合の情報再生/記録部ex400の構成を図25に示す。情報再生/記録部ex400は、以下に説明する要素ex401〜ex407を備える。光ヘッドex401は、光ディスクである記録メディアex215の記録面にレーザスポットを照射して情報を書き込み、記録メディアex215の記録面からの反射光を検出して情報を読み込む。変調記録部ex402は、光ヘッドex401に内蔵された半導体レーザを電気的に駆動し記録データに応じてレーザ光の変調を行う。再生復調部ex403は、光ヘッドex401に内蔵されたフォトディテクタにより記録面からの反射光を電気的に検出した再生信号を増幅し、記録メディアex215に記録された信号成分を分離して復調し、必要な情報を再生する。バッファex404は、記録メディアex215に記録するための情報及び記録メディアex215から再生した情報を一時的に保持する。ディスクモータex405は記録メディアex215を回転させる。サーボ制御部ex406は、ディスクモータex405の回転駆動を制御しながら光ヘッドex401を所定の情報トラックに移動させ、レーザスポットの追従処理を行う。システム制御部ex407は、情報再生/記録部ex400全体の制御を行う。上記の読み出し及び書き込みの処理は、システム制御部ex407が、バッファex404に保持された各種情報を利用し、また必要に応じて新たな情報の生成及び追加を行うと共に、変調記録部ex402、再生復調部ex403及びサーボ制御部ex406を協調動作させながら、光ヘッドex401を通して、情報の記録再生を行うことにより実現される。システム制御部ex407は、例えばマイクロプロセッサで構成され、読み出し書き込みのプログラムを実行することでそれらの処理を実行する。
以上では、光ヘッドex401はレーザスポットを照射するとして説明したが、近接場光を用いてより高密度な記録を行う構成であってもよい。
図26に光ディスクである記録メディアex215の模式図を示す。記録メディアex215の記録面には案内溝(グルーブ)がスパイラル状に形成され、情報トラックex230には、予めグルーブの形状の変化によってディスク上の絶対位置を示す番地情報が記録されている。この番地情報はデータを記録する単位である記録ブロックex231の位置を特定するための情報を含み、記録及び再生を行う装置は、情報トラックex230を再生し番地情報を読み取ることで記録ブロックを特定することができる。また、記録メディアex215は、データ記録領域ex233、内周領域ex232、外周領域ex234を含んでいる。ユーザデータを記録するために用いる領域がデータ記録領域ex233であり、データ記録領域ex233の内周又は外周に配置されている内周領域ex232と外周領域ex234は、ユーザデータの記録以外の特定用途に用いられる。情報再生/記録部ex400は、このような記録メディアex215のデータ記録領域ex233に対して、符号化された音声データ、映像データ又はそれらのデータを多重化した符号化データの読み書きを行う。
以上では、1層のDVD、BD等の光ディスクを例に挙げ説明したが、これらに限ったものではなく、多層構造であって表面以外にも記録可能な光ディスクであってもよい。また、ディスクの同じ場所に様々な異なる波長の色の光を用いて情報を記録したり、様々な角度から異なる情報の層を記録したりするなど、多次元的な記録/再生を行う構造の光ディスクであってもよい。
また、デジタル放送用システムex200において、アンテナex205を有する車ex210で衛星ex202等からデータを受信し、車ex210が有するカーナビゲーションex211等の表示装置に動画を再生することも可能である。なお、カーナビゲーションex211の構成は例えば図24に示す構成のうち、GPS受信部を加えた構成が考えられ、同様なことがコンピュータex111及び携帯電話ex114等でも考えられる。また、上記携帯電話ex114等の端末は、テレビex300と同様に、符号化器及び復号器を両方持つ送受信型端末の他に、符号化器のみの送信端末、復号器のみの受信端末という3通りの実装形式が考えられる。
このように、上記実施の形態で示した画像符号化方法あるいは画像復号方法を上述したいずれの機器及びシステムに用いることは可能であり、そうすることで、上記実施の形態で説明した効果を得ることができる。
また、本発明は、上記実施の形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形又は修正が可能である。
(実施の形態3)
上記各実施の形態で示した画像符号化方法及び装置、画像復号方法及び装置は、典型的には集積回路であるLSIで実現される。一例として、図27に1チップ化されたLSIex500の構成を示す。LSIex500は、以下に説明する要素ex501〜ex509を備え、各要素はバスex510を介して接続している。電源回路部ex505は電源がオン状態の場合に各部に対して電力を供給することで動作可能な状態に起動する。
例えば符号化処理を行う場合には、LSIex500は、CPUex502、メモリコントローラex503及びストリームコントローラex504等を有する制御部ex501の制御に基づいて、AV I/Oex509によりマイクex117及びカメラex113等からAV信号の入力を受け付ける。入力されたAV信号は、一旦SDRAM等の外部のメモリex511に蓄積される。制御部ex501の制御に基づいて、蓄積したデータは、処理量及び処理速度に応じて適宜複数回に分けるなどされ、信号処理部ex507に送られる。信号処理部ex507は、音声信号の符号化及び/又は映像信号の符号化を行う。ここで映像信号の符号化処理は、上記実施の形態で説明した符号化処理である。信号処理部ex507ではさらに、場合により符号化された音声データと符号化された映像データを多重化するなどの処理を行い、ストリームI/Oex506から外部に出力する。この出力されたビットストリームは、基地局ex107に向けて送信されたり、又は、記録メディアex215に書き込まれたりする。なお、多重化する際には同期するよう、一旦バッファex508にデータを蓄積するとよい。
また、例えば復号処理を行う場合には、LSIex500は、制御部ex501の制御に基づいて、ストリームI/Oex506によって基地局ex107を介して得た符号化データ、又は、記録メディアex215から読み出して得た符号化データを一旦メモリex511等に蓄積する。制御部ex501の制御に基づいて、蓄積したデータは、処理量及び処理速度に応じて適宜複数回に分けるなどされ信号処理部ex507に送られる。信号処理部ex507は、音声データの復号及び/又は映像データの復号を行う。ここで映像信号の復号処理は、上記実施の形態で説明した復号処理である。さらに、場合により復号された音声信号と復号された映像信号を同期して再生できるようそれぞれの信号を一旦バッファex508等に蓄積するとよい。復号された出力信号は、メモリex511等を適宜介しながら、携帯電話ex114、ゲーム機ex115及びテレビex300等の各出力部から出力される。
なお、上記では、メモリex511がLSIex500の外部の構成として説明したが、LSIex500の内部に含まれる構成であってもよい。バッファex508も一つに限ったものではなく、複数のバッファを備えていてもよい。また、LSIex500は1チップ化されてもよいし、複数チップ化されてもよい。
なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA、又は、LSI内部の回路セルの接続及び設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
以上、本発明に係る符号化方法、符号化装置、復号方法及び復号装置について、実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を当該実施の形態に施した形態、及び、異なる実施の形態における構成要素及びステップ等を組み合わせて構築される別の形態も、本発明の範囲内に含まれる。
本発明の画像符号化方法及び画像復号方法は、符号化効率をより高めることができるという効果を奏し、例えば、デジタルカメラ、デジタルテレビ、BD(Blu−ray Disc)レコーダなどに利用することができる。
10 対象ブロック
20 参照画素
30、40、50、80 周囲ブロック
60、61、62 エッジ
70 エッジ検出窓
100 画像符号化装置
110 符号化部
111、221、514 減算部
112 周波数変換部
113 量子化部
114 イントラ予測モード決定部
115 動き検出部
116、316 イントラ予測部
117、317 動き補償部
118、119、315、318 スイッチ
120 復号部
121、311 逆量子化部
122、312 逆周波数変換部
123、313、422、622 加算部
130 出力部
131、520 可変長符号化部
140、510 推定部
141、321 エッジベクトル判定部
142、322 候補限定部
143、323、513、625 予測モード推定部
144 モード情報生成部
150、314 フレームメモリ
160 参照ピクチャメモリ
170、340 制御部
201、401 エッジ検出部
202、402 方向判定部
203、403 ノルム判定部
204、404 エッジベクトル格納メモリ
211、411、511、623 予測モード格納メモリ
212、412 予測モード候補限定部
213、413、512、624 予測モード候補取得部
222、515 信号設定部
300 画像復号装置
310 復号部
320、620 復元部
324 予測モード復元部
330、610 可変長復号部
421、621 信号判定部
ex100 コンテンツ供給システム
ex101 インターネット
ex102 インターネットサービスプロバイダ
ex103 ストリーミングサーバ
ex104 電話網
ex106、ex107、ex108、ex109、ex110 基地局
ex111 コンピュータ
ex112 PDA
ex113、ex116 カメラ
ex114 カメラ付デジタル携帯電話(携帯電話)
ex115 ゲーム機
ex117 マイク
ex200 デジタル放送用システム
ex201 放送局
ex202 放送衛星(衛星)
ex203 ケーブル
ex204、ex205、ex601 アンテナ
ex210 車
ex211 カーナビゲーション(カーナビ)
ex212 再生装置
ex213、ex219 モニタ
ex214、ex215、ex216、ex607 記録メディア
ex217 セットトップボックス(STB)
ex218 リーダ/レコーダ
ex220 リモートコントローラ
ex230 情報トラック
ex231 記録ブロック
ex232 内周領域
ex233 データ記録領域
ex234 外周領域
ex300 テレビ
ex301 チューナ
ex302 変調/復調部
ex303 多重/分離部
ex304 音声信号処理部
ex305 映像信号処理部
ex306、ex507 信号処理部
ex307 スピーカ
ex308、ex602 表示部
ex309 出力部
ex310、ex501 制御部
ex311、ex505、ex710 電源回路部
ex312 操作入力部
ex313 ブリッジ
ex314、ex606 スロット部
ex315 ドライバ
ex316 モデム
ex317 インターフェース部
ex318、ex319、ex320、ex321、ex404、ex508 バッファ
ex400 情報再生/記録部
ex401 光ヘッド
ex402 変調記録部
ex403 再生復調部
ex405 ディスクモータ
ex406 サーボ制御部
ex407 システム制御部
ex500 LSI
ex502 CPU
ex503 メモリコントローラ
ex504 ストリームコントローラ
ex506 ストリームI/O
ex509 AV I/O
ex510 バス
ex603 カメラ部
ex604 操作キー
ex605 音声入力部
ex608 音声出力部
ex701 送受信回路部
ex702 LCD制御部
ex703 カメラインターフェース部(カメラI/F部)
ex704 操作入力制御部
ex705 音声処理部
ex706 変復調回路部
ex707 記録再生部
ex708 多重分離部
ex709 画像復号部
ex711 主制御部
ex712 画像符号化部
ex713 同期バス
本発明は、より良い符号化効率で画像及び映像データを圧縮符号化する画像符号化方法と、圧縮符号化された画像及び映像データを復号する画像復号方法と、対応する画像符号化装置及び画像復号装置とに関する。
インターネットを介したビデオ会議、デジタルビデオ放送、及び、映像コンテンツのストリーミングを含む、例えば、ビデオ・オン・デマンドタイプのサービスのためのアプリケーションの数は右肩上がりであり、これらのアプリケーションは、映像情報の送信に頼っている。映像データが送信され、又は、記録される時、かなりの量のデータは、限られたバンド幅の従来の伝送路を通って送信され、又は、限られたデータ容量の従来の記憶媒体に記憶される。従来の伝送チャネル及び記憶媒体に映像情報を送信及び記憶するためには、デジタルデータの量を圧縮又は削減することが不可欠である。
そこで、映像データの圧縮のために、複数の映像符号化規格が開発されている。このような映像符号化規格は、例えば、H.26xで示されるITU−T規格、及び、MPEG−xで示されるISO/IEC規格である。最新かつ最も進んだ映像符号化規格は、現在、H.264/MPEG−4 AVCで示される規格である(非特許文献1参照)。
これらの規格のほとんどの基礎をなす符号化アプローチは、以下の(a)〜(d)で示される主な段階を含む予測符号化に基づいている。
(a)映像フレームのそれぞれをブロックレベルでデータ圧縮するために、映像フレームを画素のブロックに分割する。
(b)先に符号化された映像データから個々のブロックを予測することで、時間的及び空間的冗長性を特定する。
(c)映像データから予測データを減ずることで、特定された冗長性を除去する。
(d)フーリエ変換、量子化、及び、エントロピー符号化によって、残りのデータを圧縮する。
現在の映像符号化規格では、各マクロブロックを予測するのに用いられる予測モードがブロック毎に異なる。ほとんどの映像符号化規格は、前に符号化及び復号されたフレームから映像データを予測するために動き検出及び動き補償を用いる(インターフレーム予測)。あるいは、ブロックデータは、同じフレームの隣接するブロックから予測されてもよい(イントラフレーム予測)。H.264/AVC規格は、例えば、予測のために用いられる参照画素に対して、又は、画素が外挿される方向に対して、いくつかの異なるイントラフレーム予測モードを定義する。
図1Aは、従来のH.264/AVC規格に従ったイントラ予測推定が適用される対象ブロックと参照画素との関係の一例を示す図である。また、図1Bは、従来のH.264/AVC規格に従ったイントラ予測モードセットに含まれる予測方向を示す図である。
図1Aに示すように、4×4画素の対象ブロック10は、予測される対象ブロック10の上と左とに位置する13個の参照画素20を外挿することで予測される。この予測により、対象ブロック10に対応する予測ブロックが生成される。このとき、外挿を実行するために、図1Bに示される8個の取り得る外挿方向(イントラ予測方向)から1つが選択される。すなわち、8個の外挿方向のそれぞれを示す8個の方向予測モードから1つの方向予測モードが選択される。あるいは、DC予測モードが選択されてもよい。DC予測モードでは、対象ブロック10を予測するために参照画素20の平均値を用いる。
このように複数ある予測モードのうち、どの予測モードを用いて予測するかをマクロブロック毎に選択し、選択された予測モードに関連する情報とともに、符号化された対象ブロックは、エントロピー符号化によって圧縮され、伝送される。現在の映像符号化規格では、選択された予測モードに関連する情報として、予め規格で決められたルールに基づいて推定値を予測する。例えば、H.264/AVC規格で定められたイントラ予測モードを示す情報の場合、イントラ予測モードの推定値は、既に符号化された周囲のブロックのイントラ予測モードのうち、予測の方法を示す番号の小さい番号として決められている。
そして、予測される推定値と符号化対象の情報とが同じ場合には、同じであることを示すフラグのみを伝送し、推定値と符号化対象の情報とが異なる場合には、符号化対象の情報を伝送する。例えば、イントラ予測モードの推定値と、実際に符号化時に選択された予測モードとが同じである場合は、フラグのみを伝送し、異なる場合には、選択された予測モードを復元するための情報を伝送する。
図2は、従来のH.264/AVC規格に従った画像符号化装置の構成のうち、予測モードを推定する推定部の詳細な構成の一例を示す図である。また、図3は、従来のH.264/AVC規格に従った画像復号装置の構成のうち、予測モードを復元する復元部の詳細な構成の一例を示す図である。
図2に示すように、推定部510は、符号化モード(イントラ予測モード又はインター予測モード)を示す符号化モード情報SMDが入力される。例えば、イントラピクチャ予測符号化が符号化モードとして選択された場合、符号化モード情報SMDは、イントラ予測モードを示す情報(イントラ予測ブロックサイズ、イントラ予測方向など)である。一方で、インターピクチャ予測符号化が符号化モードとして選択された場合、符号化モード情報SMDは、位置情報(動きベクトル)MVである。
予測モード格納メモリ511は、入力された符号化モード情報SMDを格納するメモリである。予測モード候補取得部512は、予測モード格納メモリ511から入力される、既に符号化された符号化モード情報の中から、予め決められた手段で予測モード推定値候補を取得する。
予測モード推定部513は、予測モード推定値候補の中から予測モード推定値MPMを決定し、決定した予測モード推定値MPMを出力する。減算部514は、符号化の対象ブロックの符号化モード情報SMDから、各情報に対応する予測モード推定値MPMを減算した信号である差分予測モード値DMDを出力する。
信号設定部515は、差分予測モード値DMDが0となる場合は、予測モード推定値と同じであることを示すフラグを符号化予測モード関連信号SSMDにセットする。また、差分予測モード値DMDが0ではない場合には、差分予測モード値DMDを示す情報を符号化予測モード関連信号SSMDとして出力する。
可変長符号化部520は、符号化予測モード関連信号SSMDをエントロピー符号化し、ビットストリームとして出力する。
また、図3に示すように、可変長復号部610は、入力されたビットストリームを復号することで、量子化周波数変換係数QTと、符号化予測モード関連情報SSMDとを出力する。
復元部620は、符号化予測モード関連信号SSMDが入力され、符号化モード情報SMD(復号に用いられる、符号化モードMDと、イントラ予測モードIPMを示す情報又は位置情報(動きベクトル)MV)を出力する。具体的には、信号判定部621は、符号化予測モード関連信号SSMDが入力され、符号化予測モード関連信号SSMDが予測モード推定値と同じであることを示すフラグであれば、差分予測モード値DMDを0として出力する。また、それ以外の場合には、符号化予測モード関連信号SSMDに含まれる差分予測モード値DMDを出力する。
予測モード格納メモリ623は、入力された符号化モードMDと、イントラ予測モードIPMを示す情報(イントラ予測ブロックサイズ、イントラ予測方向など)又は位置情報(動きベクトル)MVとを格納するメモリである。予測モード候補取得部624は、予測モード格納メモリ623から、既に復号された符号化モードMDと、イントラ予測モードIPMを示す情報又は位置情報(動きベクトル)MVとの中から、予め決められた手段で複数の予測モード推定値候補を取得する。
予測モード推定部625は、複数の予測モード推定値候補の中から、予測モード推定値MPMを決定し、決定した予測モード推定値MPMを出力する。加算部622は、差分予測モード値DMDと予測モード推定値MPMとを加算した結果を、符号化モード情報SMDとして出力する。
一例として、4×4画素のブロックサイズに対するH.264/AVC規格での予測モード候補取得部512及び624、並びに、予測モード推定部513及び625において、予測モード推定値MPMの推定方法を、図1Aを用いて説明する。
予測モード候補取得部512及び624は、符号化及び復号ステップにおいて、4×4画素の対象ブロック10に対して、既に符号化(又は復号)済みの周囲ブロック30のイントラ予測モードIPM_Aと、周囲ブロック40のイントラ予測モードIPM_Bとを取得する。そして、予測モード推定部513及び625は、IPM_AとIPM_Bとの値の小さい方のモードを予測モード推定値MPMとして設定する。
一方、エッジ検出を利用した、映像データの圧縮のための映像符号化方法も提案されており、エッジ検出が符号化装置及び復号装置に含まれることもある(非特許文献2)。
ISO/IEC 14496−10「MPEG−4 Part 10 Advanced Video Coding」 2008 IEEE International Conference on Image Processing「HIGH PRECISION EDGE PREDICTION FOR INTRA CODING」
しかしながら、上記従来技術では、以下に示す課題がある。
上記従来技術では、符号化対象ブロックの予測モードの推定において、対象ブロックと周囲ブロックとの類似性を評価していない。このため、周囲ブロックの画像の特徴と、対象ブロックの画像の特徴とが異なる場合には、イントラ推定予測モードが、選択された選択予測モードと一致しにくい。これにより、推定結果が一致しなかったために、推定予測モードとは異なる予測モードを示す情報を伝送する必要があり、符号量が多くなる、又は、符号化画像内に歪みが生じるという課題がある。
一方で、予測モードの推定値と選択された予測モードとを一致させた場合は、対象ブロックの特徴と周囲ブロックの特徴とが異なるため、周囲ブロックからの予測性能が悪くなり、符号量が多くなる、又は、符号化画像内に歪みが生じるという課題がある。具体的には、以下の通りである。
従来のH.264/AVC規格で定められたイントラ予測モード推定では、候補となる予測モードは、対象ブロックの周囲ブロックの符号化に用いられた予測モードである。予測モード推定部において、予測モード推定値は、予測モード候補のモード番号(図1Bに示す番号、及び、平均値予測(DC予測モード)を示す番号2)の小さい番号のものが選択される。
したがって、対象ブロックの推定予測モードは、いずれかの周囲ブロックの予測モードと一致する。しかし、周囲ブロックの画像の特徴と対象ブロックの画像の特徴とが異なる場合、対象ブロックの予測モードは、予測モードの推定結果(推定予測モード)とは一致しにくい。すなわち、復号器側に送信すべき、予測モードを示す情報の符号量は大きくなる。あるいは、予測モードの推定結果と対象ブロックの予測モードとを一致させた場合、対象ブロックの特徴とは異なる特徴をもつ周囲ブロックの予測モードを使うことにより、予測ブロックと対象ブロックとの差分値が大きくなり、符号量が大きくなる。
一方、予測モード候補の数を増やし、予測モード推定を行うことで予測モード推定の予測性能を上げることが考えられる。一例を挙げると、予測モード候補として予め決められた全ての予測モードを設定する。予測モード推定部では、予め決められた全ての予測モードに対し、周辺ブロックの画像の特徴を判定する。
例えば、周辺ブロックに対して、さらに周辺のブロックから予測ブロックを生成し、周囲ブロックと周囲ブロックの予測ブロックとの差分を評価することで、イントラ推定予測モードを決定する。上記の手段により、予測モード推定の予測効率は上がるが、処理量が大きくなる。また、この手段であっても対象ブロックと周囲ブロックとの関係性を評価していないため、周囲ブロックの特徴と対象ブロックの画像の特徴とが異なる場合には、H.264/AVC規格の手段と同様に予測性能は悪くなる。
そこで、本発明は、上記課題を解決するためになされたものであって、より高い符号化効率が達成され、符号化歪みが抑制され、かつ、多大な処理量を必要としないように、画像及び映像データを符号化する画像符号化方法、及び、符号化された画像及び映像データを復号する画像復号方法を提供することを目的とする。
上記課題を解決するため、本発明の画像復号方法は、予測モードに基づいた予測に従って画像データをブロック毎に符号化することで生成された符号化画像データを復号する画像復号方法であって、符号化時に実行された予測モードの推定結果を示すモード情報に基づいて、符号化時の予測に用いた予測モードである選択予測モードを復元する復元ステップと、前記選択予測モードに基づいた予測に従って、前記符号化画像データの対象ブロックを復号することで、復号ブロックを生成する復号ステップとを含み、前記復元ステップは、既に生成された復号ブロック内のエッジを検出するエッジ検出ステップと、前記エッジ検出ステップにおいて検出されたエッジに基づいて、予め定められた複数の予測モード候補の数を減らす候補限定ステップと、前記候補限定ステップにおいて減らされた数の前記予測モード候補の中から1つの予測モードを推定予測モードとして決定する予測モード推定ステップと、前記モード情報と前記推定予測モードとに基づいて、前記選択予測モードを復元する予測モード復元ステップとを含む。
これにより、対象ブロックの周囲のブロックにおいて検出されたエッジの方向が対象ブロックを向いているか評価をすることができる。このため、特に対象ピクチャがシャープなエッジを含む場合には、エッジが周囲ブロックから対象ブロックに繋がっているかどうかを調べることによって、周囲のブロックとの相関性を判定することができ、当該判定結果に基づいて、予測モード候補の数を減らすことができるので、予測モード推定に必要な処理量を削減することができる。また、単純に周囲のブロックの予測モード値から推定するよりも適切な、予測モード推定値を決定することができる。したがって、対象ブロックに対する予測モード値と、予測モード推定値の差分が小さくなるので、符号化効率を高めることができ、符号化歪みを抑制することができる。
また、前記モード情報は、符号化時の予測に用いた予測モードと符号化時に推定された予測モードとが一致したことを示すフラグ情報、又は、符号化時の予測に用いた予測モードと符号化時に推定された予測モードとの差分を示す差分情報であり、前記予測モード復元ステップでは、前記モード情報が、符号化時の予測に用いた予測モードと符号化時に推定された予測モードとが一致したことを示すフラグ情報である場合、前記推定予測モードを前記選択予測モードとして決定し、前記モード情報が、符号化時の予測に用いた予測モードと符号化時に推定された予測モードとの差分を示す差分情報である場合、前記差分と前記推定予測モードとを加算することで、前記選択予測モードを復元してもよい。
これにより、予測に用いた予測モードと推定された予測モードとが一致した場合には、一致したことを示すフラグ情報をビットストリームに含めるだけでよいので、符号量を削減することができる。
また、前記候補限定ステップでは、前記エッジ検出ステップにおいて検出された1つ以上のエッジの方向に基づいて、前記複数の予測モード候補の数を減らしてもよい。
また、前記複数の予測モード候補は、予め定義された複数の方向予測モードを含み、前記候補限定ステップでは、前記エッジ検出ステップにおいて検出された1つ以上のエッジの方向から最も離れた方向の方向予測モードを前記複数の予測モード候補から除外することで、前記複数の予測モード候補の数を減らしてもよい。
これにより、エッジの方向とは離れた方向予測モードを候補から除外することにより、方向予測モードの数を減らすことができるので、予測モード推定に必要な処理量を削減することができる。
また、前記候補限定ステップでは、前記エッジ検出ステップにおいて検出された2つ以上のエッジの方向のばらつき度合いを算出し、算出したばらつき度合いに基づいて、前記複数の予測モード候補の数を減らしてもよい。
これにより、例えば、検出されたエッジ間のばらつきが小さい場合には、検出されたエッジの方向を重視した予測モード候補に絞り込むことができるので、エッジの方向を重視した予測モード推定値を決定することができ、より適切な推定値を算出することができる。
また、前記複数の予測モード候補は、前記対象ブロックの周囲に位置する複数の復号ブロックを生成する際に用いた複数の予測モードを含み、前記候補限定ステップでは、前記エッジ検出ステップにおいて検出されたエッジに基づいて、演算対象である前記複数の復号ブロックの数を減らすことで、前記複数の予測モード候補の数を減らしてもよい。
これにより、例えば、予測モード推定ステップにおいて、複数の周囲ブロックに対して予測モード推定のための演算を行う場合、エッジが検出された周囲ブロックに限定して予測モード推定のための演算を行うことで、演算量を抑制することができる。なお、エッジが検出された周囲ブロックは、対象ブロックとの関連性が強いことが考えられるため、より適切な予測モード推定値を算出することができる。
また、前記候補限定ステップでは、前記エッジ検出ステップにおいてエッジが検出されなかった復号ブロックを演算対象から除外することで前記複数の復号ブロックの数を減らしてもよい。
これにより、エッジが検出されたブロックに演算対象を絞り込むことができるので、予測モード推定に必要な処理量を削減することができる。また、エッジを含む周囲ブロックとの関係が強いことを利用するので、より適切な予測モード推定値を算出することができる。
また、前記候補限定ステップでは、前記エッジ検出ステップにおいて検出された1つ以上のエッジのうち、最大ノルムを有する最大エッジを決定し、前記最大エッジが検出された復号ブロックに演算対象を限定することで、前記複数の復号ブロックの数を減らしてもよい。
また、前記候補限定ステップでは、前記エッジ検出ステップにおいて検出されたエッジの方向の水平成分が垂直成分より大きい場合、前記対象ブロックの左側に位置する復号ブロックに演算対象を限定し、前記エッジ検出ステップにおいて検出されたエッジの方向の垂直成分が水平成分より大きい場合、前記対象ブロックの上側に位置する復号ブロックに演算対象を限定することで、前記複数の復号ブロックの数を減らしてもよい。
また、本発明の画像符号化方法は、画像データをブロック毎に符号化する画像符号化方法であって、予め定められた複数の予測モード候補の中から選択された選択予測モードに基づいた予測に従って、前記画像データの対象ブロックを符号化する符号化ステップと、符号化された対象ブロックを復号することで、復号ブロックを生成する復号ステップと、前記複数の予測モード候補の中から1つの予測モードを推定予測モードとして決定する推定ステップと、前記選択予測モードを復元するためのモード情報を、前記符号化された対象ブロックとともに出力する出力ステップとを含み、前記推定ステップは、既に生成された復号ブロック内のエッジを検出するエッジ検出ステップと、前記エッジ検出ステップにおいて検出されたエッジに基づいて、前記複数の予測モード候補の数を減らす候補限定ステップと、前記候補限定ステップにおいて減らされた数の前記予測モード候補の中から、所定の方法に従って前記推定予測モードを決定する予測モード推定ステップと、前記推定予測モードと前記選択予測モードとに基づいて前記モード情報を生成するモード情報生成ステップとを含む。
これにより、対象ブロックの周囲のブロックにおいて検出されたエッジの方向が対象ブロックを向いているか評価をすることができる。このため、特に対象ピクチャがシャープなエッジを含む場合には、エッジが周囲ブロックから対象ブロックに繋がっているかどうかを調べることによって、周囲のブロックとの相関性を判定することができ、当該判定結果に基づいて、予測モード候補の数を減らすことができるので、予測モード推定に必要な処理量を削減することができる。また、単純に周囲のブロックの予測モード値から推定するよりも適切な、予測モード推定値を決定することができる。したがって、対象ブロックに対する予測モード値と、予測モード推定値の差分が小さくなるので、符号化効率を高めることができ、符号化歪みを抑制することができる。
また、前記モード情報生成ステップでは、前記推定予測モードと前記選択予測モードとを比較し、前記推定予測モードと前記選択予測モードとが一致する場合には、一致したことを示すフラグを前記モード情報として生成し、前記推定予測モードと前記選択予測モードとが一致しない場合には、前記推定予測モードと前記選択予測モードとの差分を示す差分情報を前記モード情報として生成してもよい。
これにより、予測に用いた予測モードと推定された予測モードとが一致した場合には、一致したことを示すフラグ情報をビットストリームに含めるだけでよいので、符号量を削減することができる。
また、前記複数の予測モード候補は、予め定義された複数の方向予測モードを含み、前記候補限定ステップでは、前記エッジ検出ステップにおいて検出された1つ以上のエッジの方向から最も離れた方向の方向予測モードを前記複数の予測モード候補から除外することで、前記複数の予測モード候補の数を減らしてもよい。
これにより、エッジの方向とは離れた方向予測モードを候補から除外することにより、方向予測モードの数を減らすことができるので、予測モード推定に必要な処理量を削減することができる。
また、前記複数の予測モード候補は、前記対象ブロックの周囲に位置する複数の復号ブロックを生成する際に用いた複数の予測モードを含み、前記候補限定ステップでは、前記エッジ検出ステップにおいて検出されたエッジに基づいて、演算対象である前記複数の復号ブロックの数を減らすことで、前記複数の予測モード候補の数を減らしてもよい。
これにより、例えば、予測モード推定ステップにおいて、複数の周囲ブロックに対して予測モード推定のための演算を行う場合、エッジが検出された周囲ブロックに限定して予測モード推定のための演算を行うことで、演算量を抑制することができる。なお、エッジが検出された周囲ブロックは、対象ブロックとの関連性が強いことが考えられるため、より適切な予測モード推定値を算出することができる。
また、前記候補限定ステップでは、前記エッジ検出ステップにおいてエッジが検出されなかった復号ブロックを演算対象から除外することで前記複数の復号ブロックの数を減らしてもよい。
これにより、エッジが検出されたブロックに演算対象を絞り込むことができるので、予測モード推定に必要な処理量を削減することができる。また、エッジを含む周囲ブロックとの関係が強いことを利用するので、より適切な予測モード推定値を算出することができる。
また、前記候補限定ステップでは、前記エッジ検出ステップにおいて検出されたエッジの方向の水平成分が垂直成分より大きい場合、前記対象ブロックの左側に位置する復号ブロックに演算対象を限定し、前記エッジ検出ステップにおいて検出されたエッジの方向の垂直成分が水平成分より大きい場合、前記対象ブロックの上側に位置する復号ブロックに演算対象を限定することで、前記複数の復号ブロックの数を減らしてもよい。
なお、本発明は、画像符号化方法及び画像復号方法として実現できるだけではなく、当該画像符号化方法及び画像復号方法に含まれるそれぞれのステップを処理部とする画像符号化装置及び画像復号装置として実現することもできる。また、これらステップをコンピュータに実行させるプログラムとして実現してもよい。さらに、当該プログラムを記録したコンピュータ読み取り可能なCD−ROM(Compact Disc−Read Only Memory)などの記録媒体、並びに、当該プログラムを示す情報、データ又は信号として実現してもよい。そして、それらプログラム、情報、データ及び信号は、インターネットなどの通信ネットワークを介して配信してもよい。
また、上記の画像符号化装置及び画像復号装置を構成する構成要素の一部又は全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されていてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM及びRAM(Random Access Memory)などを含んで構成されるコンピュータシステムである。
本発明によれば、処理量の増加を抑制しながら、予測モード推定値をより正確に予測することができるので、符号化歪みを抑制し、かつ、符号化効率を高めることができる。
図1Aは、従来のH.264/AVC規格に従ったイントラ予測推定が適用される対象ブロックと参照画素との関係の一例を示す図である。 図1Bは、従来のH.264/AVC規格に従ったイントラ予測モードセットに含まれる予測方向を示す図である。 図2は、従来のH.264/AVC規格に従った画像符号化装置の構成のうち、推定部の詳細な構成の一例を示す図である。 図3は、従来のH.264/AVC規格に従った画像復号装置の構成のうち、復元部の詳細な構成の一例を示す図である。 図4は、本実施の形態の画像符号化装置の構成の一例を示すブロック図である。 図5は、本実施の形態のハイブリッド符号化を行う画像符号化装置の詳細な構成の一例を示すブロック図である。 図6は、本実施の形態の画像符号化装置が備える推定部の詳細な構成の一例を示すブロック図である。 図7Aは、エッジを検出し、検出したエッジの方向を推定する方法を示す概略図である。 図7Bは、エッジを検出し、検出したエッジの属しているブロックを示す概略図である。 図8は、本実施の形態の画像符号化装置の動作の一例を示すフローチャートである。 図9は、本実施の形態の画像復号装置の構成の一例を示すブロック図である。 図10は、本実施の形態の画像復号装置の詳細な構成の一例を示すブロック図である。 図11は、本実施の形態の画像復号装置が備える復元部の詳細な構成の一例を示すブロック図である。 図12は、本実施の形態の画像復号装置の動作の一例を示すフローチャートである。 図13は、本実施の形態におけるエッジ検出処理の一例を示すフローチャートである。 図14は、本実施の形態における予測モードの推定処理の一例を示すフローチャートである。 図15Aは、本実施の形態におけるエッジの方向から予測モード候補を限定する方法の一例を示す概略図である。 図15Bは、本実施の形態におけるエッジが検出された位置から予測モード候補を限定する方法の一例を示す概略図である。 図16は、本実施の形態におけるエッジの角度の算出処理の一例を示すフローチャートである。 図17は、本実施の形態における予測モードの推定処理の異なる一例を示すフローチャートである。 図18は、本実施の形態における予測モードの推定処理の異なる一例を示すフローチャートである。 図19Aは、本実施の形態におけるエッジが検出された位置から演算対象を限定する方法の一例を示す概略図である。 図19Bは、本実施の形態におけるエッジの方向から演算対象を限定する方法の一例を示す概略図である。 図20は、コンテンツ配信サービスを実現するコンテンツ供給システムの全体構成の一例を示す模式図である。 図21は、携帯電話の外観を示す図である。 図22は、携帯電話の構成例を示すブロック図である。 図23は、デジタル放送用システムの全体構成の一例を示す模式図である。 図24は、テレビの構成例を示すブロック図である。 図25は、光ディスクである記録メディアに情報の読み書きを行う情報再生記録部の構成例を示すブロック図である。 図26は、光ディスクである記録メディアの構造例を示す図である。 図27は、各実施の形態に係る画像符号化方法及び画像復号方法を実現する集積回路の構成例を示すブロック図である。
(実施の形態1)
本実施の形態の画像符号化装置は、画像及び映像データを符号化する際に、対象ブロックの周囲に位置する周囲ブロックに含まれるエッジを検出し、検出したエッジに基づいて、複数の予測モード候補の数を減らし、減らされた数の予測モード候補から1つの予測モードを推定予測モードとして決定することを特徴とする。
また、本実施の形態の画像復号装置は、符号化された画像及び映像データを復号する際に、周囲ブロックに含まれるエッジを検出し、検出したエッジに基づいて、複数の予測モード候補の数を減らし、減らされた数の予測モード候補から1つの予測モードを推定予測モードとして決定し、決定した推定予測モードと、符号化器側から送信されるモード情報とに基づいて、予測ブロックの生成に用いる予測モードを復元することを特徴とする。
つまり、本実施の形態では、推定予測モードを決定する際に、エッジに基づいて予測モード候補の数を限定するので、推定予測モードと、実際に予測ブロックを生成する際に選択された選択予測モードとの適合率を高めることができるとともに、予測モード推定に必要な演算量を抑制することができる。
まず、本実施の形態の画像符号化装置の構成について説明する。
図4は、本実施の形態の画像符号化装置100の構成の一例を示すブロック図である。
画像符号化装置100は、入力される画像及び映像データをブロック毎に符号化する。図4に示すように、画像符号化装置100は、符号化部110と、復号部120と、出力部130と、推定部140とを備える。
符号化部110は、画像及び映像データを構成する複数のブロックの1つである対象ブロックを、複数の予測モード候補から選択された選択予測モードを用いた予測に従って符号化する。
複数の予測モード候補は、予測を行う際に選択されうる全ての予測モードであり、例えば、予め定義された8つの方向予測モード(図1B参照)、参照画素の平均値を利用するDC予測モード、周囲ブロック内に検出されたエッジの方向を示すエッジ予測モードなどを含んでいる。予測モードとは、予測画像を参照するための画像の参照先を示す情報である。
復号部120は、符号化部110によって符号化された対象ブロックを復号することで、復号ブロックを生成する。
出力部130は、符号化部110によって用いられた選択予測モードを復元するためのモード情報を、符号化部110によって符号化された対象ブロックとともに、ビットストリームとして出力する。
推定部140は、複数の予測モード候補の中から1つの予測モードを推定予測モードとして決定する。図4に示すように、推定部140は、エッジベクトル判定部141と、候補限定部142と、予測モード推定部143と、モード情報生成部144とを備える。
エッジベクトル判定部141は、本発明に係るエッジ検出部の一例であって、対象ブロックの符号化処理より前に符号化及び復号されることで生成された復号ブロック内のエッジを検出する。例えば、エッジベクトル判定部141は、対象ブロックの周囲に位置する復号ブロックである周囲ブロック内のエッジを検出する。
候補限定部142は、エッジベクトル判定部141によって検出されたエッジに基づいて、複数の予測モード候補の数を減らす。例えば、候補限定部142は、検出されたエッジの方向、又は、検出されたエッジの画素位置に基づいて、複数の予測モード候補の数を減らす。
また、例えば、複数の予測モード候補が、周囲ブロックを生成する際に用いた複数の予測モードを含んでいる場合、すなわち、予測モード推定部143が、周囲ブロックの予測モードを予測モード候補として、推定予測モードを決定する場合、候補限定部142は、検出されたエッジに基づいて、演算対象である複数の周囲ブロックの数を減らすことで、複数の予測モード候補の数を減らしてもよい。
予測モード推定部143は、候補限定部142によって減らされた数の予測モード候補から、推定予測モードを決定する。
モード情報生成部144は、予測モード推定部143によって決定された推定予測モードと、符号化部110によって選択された選択予測モードとに基づいてモード情報を生成する。
以上の構成により、本実施の形態の画像符号化装置100は、周囲ブロック内に検出されるエッジに基づいて、複数の予測モード候補の数を少なくし、少なくなった数の予測モード候補(限定予測モード候補)の中から対象ブロックの推定予測モードを決定することを特徴とする。すなわち、本実施の形態の画像符号化装置100は、候補の絞り込みと絞り込まれた候補からの推定値の決定との2段階の処理で、推定予測モードを決定することを特徴とする。
一例としては、予測モード候補が、8個の方向予測モードとDC予測モードとエッジ予測モードとの計10個である場合において、画像符号化装置100は、10個の予測モード候補を、検出されたエッジの方向に近い2個の方向予測モードとエッジ予測モードとの計3個の予測モード候補に限定する。そして、画像符号化装置100は、限定された3個の予測モード候補の中から推定予測モード候補を決定する。
以下では、本実施の形態の画像符号化装置100が備える各処理部の詳細な構成及び動作について説明する。
図5は、本実施の形態の画像符号化装置100の詳細な構成の一例を示すブロック図である。画像符号化装置100は、ハイブリッド符号化を行う画像符号化装置である。
図5に示すように、画像符号化装置100は、符号化部110と、復号部120と、出力部130と、推定部140と、フレームメモリ150と、参照ピクチャメモリ160と、制御部170とを備える。なお、図4と同じ構成については、同じ参照符号を付している。
また、図5に示すように、符号化部110は、減算部111と、周波数変換部112と、量子化部113と、イントラ予測モード決定部114と、動き検出部115と、イントラ予測部116と、動き補償部117と、スイッチ118及び119とを備える。復号部120は、逆量子化部121と、逆周波数変換部122と、加算部123とを備える。出力部130は、可変長符号化部131を備える。
なお、推定部140の詳細な構成については、図6を用いて後で説明する。
以下では、画像符号化装置100が複数のフレームから構成される入力映像データを符号化するときの動作に沿って、各処理部の処理について説明する。
入力映像データの各ピクチャは、フレームメモリ150に格納される。各ピクチャは、複数のブロックに分割され、フレームメモリ150からブロック単位で(例えば、水平16画素、垂直16画素のマクロブロック単位で)出力される。なお、入力映像データは、プログレッシブ形式及びインターレース形式のいずれでもよい。
各マクロブロックは、イントラ又はインター予測モードのいずれかで符号化される。まず、対象マクロブロックがイントラ予測モードで符号化される場合について説明する。
イントラ予測モード(イントラフレーム予測)の場合、フレームメモリ150から出力されたマクロブロックは、イントラ予測モード決定部114に入力される(このとき、スイッチ118は、制御部170によって端子“a”に接続される)。イントラ予測モード決定部114は、入力されたマクロブロックにどのようにイントラ予測を実行するかを決定する。
具体的には、イントラ予測モード決定部114は、イントラ予測モード(IPM:Intra−Prediction Mode)として、イントラ予測ブロックサイズ(以下のサイズの1つ:水平4画素×垂直4画素、水平8画素×垂直8画素、水平16画素×垂直16画素)と、イントラ予測方向とを決定する必要がある。例えば、イントラ予測モード決定部114は、対象ブロックを符号化することで発生する符号量が所定の閾値より小さくなるような、イントラ予測ブロックサイズ及びイントラ予測方向を決定する。より好ましくは、イントラ予測モード決定部114は、発生する符号量が最も小さくなるような、イントラ予測ブロックサイズ及びイントラ予測方向を決定する。
例えば、図1Aに示す対象ブロック10(水平4画素×垂直4画素)は、参照画素20を用いて、8つの予め定義されたイントラ予測方向のいずれか1つに従って、予測されてもよい。ここで、イントラ予測に用いられる参照画素20(図1Aで対角方向の網掛けされた四角)は、既に符号化及び復号され、参照ピクチャメモリ160に格納されている。決定されたイントラ予測モードIPMを示す情報は、イントラ予測部116と推定部140とに出力される。
イントラ予測部116は、イントラ予測モード決定部114によって決定されたイントラ予測モードIPMに基づいて、参照ピクチャメモリ160からイントラ予測に用いられる参照画素(イントラ参照画素)を取得する。そして、イントラ予測部116は、参照画素の画素値からイントラ予測された画像IPを生成し、生成したイントラ予測画像IPを減算部111に出力する(このとき、スイッチ119は、制御部170によって端子“a”に接続される)。
減算部111は、フレームメモリ150から入力映像データに含まれるピクチャのマクロブロック(対象マクロブロック)と、イントラ予測部116によって生成されたイントラ予測画像IPとを受け取る。そして、減算部111は、対象マクロブロックとイントラ予測画像IPとの差分(予測残差とも記載)を算出することで差分画像を生成し、生成した差分画像を周波数変換部112に出力する。
周波数変換部112は、減算部111によって生成された差分画像に、離散コサイン変換などの周波数変換を実行することで周波数変換係数を生成し、生成した周波数変換係数を出力する。
量子化部113は、周波数変換部112によって生成された周波数変換係数の量子化を行い、量子化された周波数変換係数QTを出力する。ここで、量子化は、予め定められた値(量子化ステップ)によって周波数変換係数を割り算する処理である。この量子化ステップは、制御部170によって与えられるとする(量子化ステップは、制御部170に入力される制御信号CTLに含まれてもよい)。量子化周波数変換係数QTは、可変長符号化部131と逆量子化部121とに出力される。
逆量子化部121は、量子化周波数変換係数QTを逆量子化し、逆量子化した周波数変換係数を逆周波数変換部122に出力する。このとき、量子化部113による量子化時に用いられた量子化ステップと同じ量子化ステップが、制御部170から逆量子化部121に入力される。
逆周波数変換部122は、逆量子化された周波数変換係数を逆周波数変換することで復号された差分画像LDDを生成する。逆周波数変換部122は、生成した復号差分画像LDDを加算部123に出力する。
加算部123は、復号差分画像LDDをイントラ予測画像IP(又は、インター予測モードの場合は、後述するインター予測画像)MPに加算することで、復号画像LDを生成する。加算部123は、生成した復号画像LDを参照ピクチャメモリ160に格納する。参照ピクチャメモリ160に格納された復号画像LDは、参照画像として後の符号化に用いられる。
可変長符号化部131は、量子化部113から入力される量子化周波数変換係数QTに可変長符号化を実行し、かつ、イントラ予測モード決定部114から推定部140を介して入力されるイントラ予測モードIPMを示す情報を同様に処理し、符号化シーケンスとしても参照されるビットストリームを出力する。前述の通り、推定部140の詳細な構成については、図6を用いて後で説明する。
ここで、可変長符号化部131が用いる可変長符号化方法の1つの方法として、動画像を符号化する国際規格H.264で採用されるコンテキスト適応型算術符号化方法がある。コンテキスト適応型算術符号化方法は、可変長符号化の対象データと、既に可変長符号化(コンテキスト適応型)が実行されたデータとに従って、算術符号化するために用いられる確率テーブルを切り替える方法である。この場合、可変長符号化部131は確率テーブルを保持するメモリを備える。
なお、可変長符号化部131は、コンテキスト適応型可変長符号化方法を用いて、量子化周波数変換係数QTを可変長符号化してもよい。
次に、対象マクロブロックがインター予測モードで符号化される場合について説明する。
インター予測モード(インターフレーム予測)の場合、フレームメモリ150から出力されるマクロブロックは、動き検出部115に入力される(このとき、スイッチ118は、制御部170によって端子“b”に接続される)。動き検出部115は、入力されたマクロブロックの、参照ピクチャ(参照ピクチャメモリ160に保持された再構成されたピクチャで、符号化されるピクチャとは異なるピクチャ)に対する動き情報(位置情報(動きベクトル))を検出する。
なお、動き検出では、以下に示す位置情報(動きベクトル)が一般的には動き情報として検出される。すなわち、符号化される対象ブロックと予測画像との最小差分値と、位置情報(動きベクトル)の符号量の重みの最小和とを有する位置情報(動きベクトル)である。検出された位置情報(動きベクトル)は、対象ブロックに対する動き情報として、動き補償部117と推定部140とに出力される。
動き補償部117は、動き検出部115によって検出された動き(位置情報(動きベクトル))に基づいて、インター予測に用いられる参照画素(インター参照画素)を参照ピクチャメモリ160から取得する。そして、動き補償部117は、インター予測画像MPを生成し、生成したインター予測画像MPを減算部111に出力する(このとき、スイッチ119は、制御部170によって端子“b”に接続される)。
減算部111と、周波数変換部112と、量子化部113と、逆量子化部121と、逆周波数変換部122と、加算部123とによって実行される処理は、イントラ予測の場合に説明した処理と同じである。それゆえに、これらの処理についての説明はここでは省略する。
可変長符号化部131は、量子化部113から入力される量子化周波数変換係数QTに可変長符号化を実行し、かつ、推定部140から出力される符号化モードMDを示す情報とイントラ予測モードIPM又は動き情報(位置情報(動きベクトル))MVを示す情報とを含むモード情報とに可変長符号化を実行し、ビットストリームを出力する。前述の通り、推定部140の詳細な構成については、図6を用いて後で説明する。
ここで、可変長符号化部131が、コンテキスト適応型算術符号化を用いて動き情報(位置情報(動きベクトル))MVを符号化する場合、可変長符号化部131は確率テーブルを保持するメモリを備える。
モード情報は、映像データを符号化する処理において符号化器(画像符号化装置100)側で実行された予測を復号器(例えば、後述する画像復号装置300(図9参照))側で再現するために、復号器によって必要とされる情報のフルセットを含む。それゆえに、モード情報は、マクロブロック毎に符号化モード、すなわち、イントラ及びインター予測のいずれが適用されたかを定義する。さらに、モード情報は、マクロブロックがどのようにサブ分割されたかについての情報を含む。H.264/AVCによると、16×16画素からなるマクロブロックは、例えば、イントラ予測の場合に、さらに、8×8又は4×4画素のブロックにサブ分割されてもよい。
符号化モードに依存して、モード情報は、さらに、動き補償に用いられる位置情報(位置情報(動きベクトル))のセット、又は、対象ブロックをイントラ予測するのに適用されたイントラ予測モードを特定する情報を含んでいる。
なお、符号化モード(イントラ予測モード又はインター予測モード)の選択は、制御部170が行っている。
例えば、制御部170は、イントラ予測モードIPMと復号画像LDとに基づいて生成されるインター予測画像IP、又は、位置情報(動きベクトル)MVと復号画像LDとに基づいて生成されるインター予測画像MPと、対象ブロック画像IMGとをそれぞれ比較することで、符号化モードを選択する。制御部170は、一般的に、生成されるビット量と符号化歪みとの重み和が最も小さくなる値を有する符号化モードを選択する。
例えば、制御部170は、H.264規格のビットレートと符号化歪みとを用いたコスト関数が、対象ブロックを符号化するための最良の予測モードを決定するために用いてもよい。それぞれの予測モードに対して、差分画像が、直交変換され、量子化され、可変長符号化される。そして、それぞれの予測モードに対して、ビットレートと符号化歪みとが計算される。なお、コスト関数として、例えば、(式1)で示されるラグランジュコスト関数Jが用いられる。
Figure 2010087157
(式1)において、Rは、差分画像(予測残差とも記載)と予測モード情報とを符号化するのに用いられるビットレートであり、Dは、符号化歪みであり、λは、符号化するのに選択される量子化パラメータQPに応じて算出されるラグランジュ乗数である。制御部170は、コスト関数Jが最も低くなる予測モードを、対象ブロックを予測する際の予測モードとして選択する。
なお、制御部170は、最適な予測モードを選択するためにコスト関数Jを一時的に格納するメモリを備える。
図6は、本実施の形態の推定部140の詳細な構成の一例を示す図である。同図に示すように、推定部140は、エッジベクトル判定部141と、候補限定部142と、予測モード推定部143と、モード情報生成部144とを備える。なお、図4と同じ構成については、同じ参照符号を付している。
また、図6に示すように、エッジベクトル判定部141は、エッジ検出部201と、方向判定部202と、ノルム判定部203と、エッジベクトル格納メモリ204とを備える。候補限定部142は、予測モード格納メモリ211と、予測モード候補限定部212と、予測モード候補取得部213とを備える。モード情報生成部144は、減算部221と、信号設定部222とを備える。
なお、推定部140には、制御部170によって選択された符号化モード(イントラ予測モード又はインター予測モード)を示す符号化モード情報SMDが入力される。例えば、イントラピクチャ予測符号化が符号化モードとして選択された場合、符号化モード情報SMDは、イントラ予測モードIPMを示す情報(イントラ予測ブロックサイズ、イントラ予測方向など)である。一方で、インターピクチャ予測符号化が符号化モードとして選択された場合、符号化モード情報SMDは、位置情報(動きベクトル)MVである。
予測モード格納メモリ211は、入力された符号化モード情報SMDを格納するメモリである。予測モード候補取得部213は、予測モード格納メモリ211から、既に符号化された符号化モード情報の中から、予め決められた手段で複数の予測モード推定値候補を取得する。
このとき、予測モード候補取得部213は、予測モード候補限定部212から入力される限定情報に従って、予測モード推定値候補の取得を制限される。予測モード候補限定部212は、エッジベクトル判定部141によるエッジ検出処理の結果に基づいて、予測モード候補の数、又は、演算範囲を限定する限定情報を生成し、予測モード候補取得部213に出力する。予測モード候補取得部213は、限定された数の予測モード推定値候補を予測モード格納メモリ211から取得する。
予測モード推定部143は、限定された数の予測モード推定値候補の中から、エッジベクトル判定部141から出力されるエッジベクトル情報に基づいて予測モード推定値MPMを決定し、決定した予測モード推定値MPMを出力する。なお、エッジベクトル判定部141の詳細な構成と、予測モード推定部143の動作とについては後で詳しく説明する。
減算部221は、符号化の対象ブロックの符号化モード情報SMDから、各情報に対応する予測モード推定値MPMを減算した信号である差分予測モード値DMDを出力する。信号設定部222は、差分予測モード値DMDが0となる場合は、予測モード推定値と同じであることを示すフラグを符号化予測モード関連信号SSMDにセットして出力する。また、差分予測モード値DMDが0ではない場合には、差分予測モード値DMDを示す情報を符号化予測モード関連信号SSMDとして出力する。
このように、モード情報生成部144は、モード情報の一例である符号化予測モード関連信号SSMDを生成する。以上に示すように、モード情報生成部144は、推定予測モード(予測モード推定値MPM)と選択予測モード(符号化モード情報SMD)とを比較し、推定予測モードと選択予測モードとが一致する場合には、一致したことを示すフラグをモード情報として生成し、推定予測モードと選択予測モードとが一致しない場合には、推定予測モードと選択予測モードとの差分を示す差分情報(差分予測モード値DMD)をモード情報として生成する。
可変長符号化部131は、符号化予測モード関連信号SSMDをエントロピー符号化し、ビットストリームとして出力する。
続いて、エッジベクトル判定部141の詳細な構成について説明する。
エッジ検出部201は、復号画像LDを参照ピクチャメモリ160から読み出し、読み出した画像に含まれるエッジを検出する。例えば、エッジ検出部201は、参照画像の勾配ベクトル場を算出し、エッジの最大値を与える勾配のノルムを評価することによって検出する。エッジの方向は、対応する勾配の方向に直交するベクトルの方向である。
なお、エッジ検出処理に用いられる参照画像は、対象ブロックに直接隣接するブロックに属する画素のうち、既に符号化及び復号されているブロックに含まれる画素である。勾配値は、(式2)に示す垂直及び水平ソーベル演算子を用いて近接画素で算出される。
Figure 2010087157
エッジ検出部201は、画素毎に、垂直ソーベル演算子及び水平ソーベル演算子を用いることで、対応する画素の垂直方向及び水平方向の勾配の大きさ(勾配値)をそれぞれ算出する。算出した垂直方向及び水平方向の勾配値のベクトル合成などを行うことで、画素毎に勾配の方向が決定される。
図7Aは、エッジを検出し、検出したエッジの方向を推定する方法を示す概略図である。
左斜め下方向に網掛けされた領域は、勾配を計算するために考慮される周囲ブロック50の画素位置を示す。エッジ検出部201は、図7Aの左斜め下方向に網掛けされた画素のそれぞれに対して、(式2)を用いて勾配値を算出する。そして、エッジ検出部201は、算出した勾配値に基づいて勾配の方向を算出し、勾配の方向に直交する方向をエッジの方向として決定する。このとき、勾配の方向に直交する方向のベクトルをエッジベクトルと記載する。なお、エッジベクトルのノルムは、例えば、当該エッジベクトルが検出された画素の勾配ベクトルのノルムと同じである。
また、図7Bは、エッジの属するブロックを示す概略図である。
例えば、エッジ検出窓70で表される範囲の画素に対してエッジ検出を行った結果は、エッジ62の画素位置のエッジとして扱う。すなわち、この場合、エッジ62の属するブロックは、4×4画素のブロックで表される周囲ブロック80となる。
図6に戻ると、方向判定部202は、エッジ検出部201によって検出されたエッジの方向が、予測モード推定の対象ブロックを指しているか否かを判定する。例えば、図7Aに示すエッジ60が検出された場合、エッジ60の延長線が対象ブロック10に含まれるので、方向判定部202は、エッジ60は予測モード推定の対象ブロック10を指していると判定する。一方で、図7Aに示すエッジ61が検出された場合、エッジ61の延長線は対象ブロック10に含まれないので、方向判定部202は、エッジ61は予測モード推定の対象ブロック10を指していないと判定する。
ノルム判定部203は、方向判定部202によって予測モード推定の対象ブロックを指していると判定されたエッジのノルムを算出し、算出したノルムが予め定められた閾値より大きいか否かを判定する。エッジのノルムとは、エッジベクトル又は勾配ベクトルのノルムである。ノルム判定部203は、算出したノルムが閾値より大きい場合に、エッジは検出されたと判定する。また、ノルム判定部203は、算出したノルムが閾値以下の場合に、エッジは検出されなかったと判定する。なお、このときに用いられる閾値は、例えば、異なる最大ベクトルノルムと、シャープなエッジ及び滑らかな領域の両方を含む異なるシーケンスとの違いの比較に基づいて、経験的に選択される。
エッジベクトル格納メモリ204は、ノルム判定部203によってエッジと判定されたエッジの位置情報とエッジベクトルとを格納するメモリである。予測モード候補限定部212は、エッジベクトル格納メモリ204に格納されたエッジベクトルに基づいて、複数の予測モード候補の数を減らす。また、予測モード推定部143は、エッジが検出されたか否かに応じて、予測モード候補取得部213から得られる、限定された数の予測モード推定値候補からの予測モード推定値を決定する。
ここで、予測モード推定部143が、エッジベクトル判定部141によって検出されたエッジに基づいて、限定された数の予測モード候補の中から予測モード推定値を決定する処理について説明する。
具体的には、エッジベクトルのノルムが閾値以下の場合、すなわち、エッジが検出されない場合には、予測モード推定部143は、予測モード候補取得部213から出力される、限定された数の予測モード候補から、従来と同様に予め決められた方法で決定する。予め決められた方法とは、イントラ予測モード推定値に対しては、H.264映像符号化規格で決められる、周囲ブロックの予測モードのうち小さい符号化モード番号を有するモードの番号を予測モード推定値MPMとして決定する。一方、インター符号化モードにおける位置情報予測値に対しては、H.264映像符号化規格で決められる、周囲ブロックの位置情報に対して、メディアンを掛けた値を予測モード推定値MPMとして決定する。
エッジベクトル(又は、勾配ベクトル)のノルムが閾値より大きい場合、すなわち、エッジが検出された場合、予測モード推定部143は、イントラ予測モード推定値に対して、予測モード候補取得部213から出力される、限定された数の予測モード候補から、最大のノルムを有するエッジに属する周囲ブロックの予測モードの番号を予測モード推定値MPMとして決定する。インター符号化モードにおける位置情報推定値に対しては、同様に最大のノルムを有するエッジに属する周囲ブロックの位置情報値を予測モード推定値MPMとして決定する。
なお、予測モード推定部143は、エッジ以外の情報に基づいて予測モード推定値MPMを決定してもよい。例えば、エッジの有無に関わらず、予測モード推定部143は、従来のように、周囲ブロックの予測モードのうち小さい符号化モード番号を有するモードの番号を予測モード推定値MPMとして決定してもよい。
続いて、本実施の形態の画像符号化装置100の動作について説明する。
図8は、本実施の形態の画像符号化装置100の動作の一例を示すフローチャートである。
まず、符号化部110は、複数の予測モード候補から選択された選択予測モードを用いた予測に従って、対象ブロックを符号化する(S101)。具体的には、符号化部110は、選択予測モードを用いて予測ブロックを生成し、生成した予測ブロックと対象ブロックとの差分(予測誤差)を変換及び量子化する。
次に、復号部120は、符号化された対象ブロックを復号することで、復号ブロックを生成する(S102)。具体的には、復号部120は、変換及び量子化された予測誤差を逆量子化及び逆変換することで、復号差分ブロックを生成し、生成した復号差分ブロックと上記予測ブロックとを加算することで、復号ブロックを生成する。生成された復号ブロックは、参照ピクチャメモリ160に格納される。
次に、エッジベクトル判定部141は、エッジ検出処理を実行する(S103)。具体的には、エッジベクトル判定部141は、対象ブロックの周囲に位置する、前に生成された復号ブロックに含まれるエッジを検出する。エッジ検出処理の具体的な動作については、後で説明する。
エッジ検出処理によってエッジが検出された場合(S104でYes)、候補限定部142は、検出されたエッジに基づいて、複数の予測モード候補の数を減らす(S105)。例えば、候補限定部142は、検出されたエッジの角度(すなわち、方向)、又は、エッジが検出された画素位置に基づいて、複数の予測モード候補の数を減らす。
そして、予測モード推定部143は、減らされた数の予測モード候補の中から1つの予測モードを推定予測モードとして決定する(S106)。なお、エッジ検出処理によってエッジが検出されなかった場合(S104でNo)、予測モード推定部143は、全ての数の予測モード候補の中から推定予測モードを決定する。
次に、モード情報生成部144は、決定された推定予測モードと選択予測モードとに基づいて、選択予測モードを復元するためのモード情報を生成する(S107)。
最後に、出力部130は、モード情報と符号化された対象ブロックとを、ビットストリームとして出力する(S108)。例えば、出力部130が備える可変長符号化部131は、変換及び量子化された予測誤差と、モード情報とをエントロピー符号化する。
以上のように、本実施の形態の画像符号化装置100は、対象ブロックの推定値を決定する際に、エッジ検出の結果に従って予測モード候補の数を限定し、限定した数の予測モード候補の中から推定値を決定する。そして、決定した推定値と、対象ブロックの予測ブロックを生成する際に用いられた予測モードを示す値との差分を算出することによって、実際に符号化する値を決定する。
次に、本実施の形態の画像復号装置300の構成について説明する。
図9は、本実施の形態の画像復号装置300の構成の一例を示すブロック図である。
画像復号装置300は、予測モードを用いた予測に従って画像データをブロック毎に符号化することで生成された符号化画像データを復号する。図9に示すように、画像復号装置300は、復号部310と、復元部320とを備える。
復号部310は、復元部320によって復元された選択予測モードを用いた予測に従って、符号化画像データを構成する複数のブロックの1つである対象ブロックを復号することで、復号ブロックを生成する。生成された復号ブロックは、画像及び映像データとして出力される。なお、複数の予測モード候補は、符号化器側と同様に、予測を行う際に選択されうる全ての予測モードであり、例えば、8個の方向予測モード、DC予測モード及びエッジ予測モードなどを含んでいる。
復元部320は、符号化時に選択された予測モードを復元するためのモード情報に基づいて、複数の予測モード候補から選択予測モードを復元する。なお、モード情報は、符号化時に実行された予測モードの推定結果を示す情報である。図9に示すように、復元部320は、エッジベクトル判定部321と、候補限定部322と、予測モード推定部323と、予測モード復元部324とを備える。
エッジベクトル判定部321は、本発明に係るエッジ検出部の一例であって、対象ブロックの復号処理より前に復号されることで生成された復号ブロック内のエッジを検出する。例えば、エッジベクトル判定部321は、対象ブロックの周囲に位置する復号ブロックである周囲ブロック内のエッジを検出する。
候補限定部322は、エッジベクトル判定部321によって検出されたエッジに基づいて、複数の予測モード候補の数を減らす。例えば、候補限定部322は、検出されたエッジの方向、又は、検出されたエッジの画素位置に基づいて、複数の予測モード候補の数を減らす。
また、例えば、複数の予測モード候補が、周囲ブロックを生成する際に用いた複数の予測モードを含んでいる場合、すなわち、予測モード推定部323が、周囲ブロックの予測モードを予測モード候補として、推定予測モードを決定する場合、候補限定部322は、検出されたエッジに基づいて、演算対象である複数の周囲ブロックの数を減らすことで、複数の予測モード候補の数を減らしてもよい。
予測モード推定部323は、候補限定部322によって減らされた数の予測モード候補から、推定予測モードを決定する。
予測モード復元部324は、推定予測モードとモード情報とに基づいて選択予測モードを復元する。
以上の構成により、本実施の形態の画像復号装置300は、周囲ブロック内に検出されるエッジに基づいて、複数の予測モード候補の数を少なくし、少なくなった数の予測モード候補(限定予測モード候補)の中から対象ブロックの推定予測モード候補を決定することを特徴とする。すなわち、本実施の形態の画像復号装置300は、候補の絞り込みと絞り込まれた候補からの推定値の決定との2段階の処理で、推定予測モードを決定することを特徴とする。
以下では、本実施の形態の画像復号装置300が備える各処理部の詳細な構成及び動作について説明する。
図10は、本実施の形態の画像復号装置300の詳細な構成の一例を示すブロック図である。同図に示すように、画像復号装置300は、復号部310と、復元部320と、可変長復号部330と、制御部340とを備える。
また、図10に示すように、復号部310は、逆量子化部311と、逆周波数変換部312と、加算部313と、フレームメモリ314と、スイッチ315と、イントラ予測部316と、動き補償部317と、スイッチ318とを備える。なお、復元部320の詳細な構成については、図11を用いて後で説明する。
以下では、画像復号装置300が、ビットストリーム(符号化された映像データ)を復号するときの動作に沿って、各処理部の処理について説明する。本実施の形態の画像復号装置300は、予測残差を含む符号化映像データをブロック毎にイントラ又はインターフレーム予測符号化ブロックのいずれかとして復号し、映像データ又は画像データとして出力する。
可変長復号部330は、ビットストリームを予め決められた手段に基づき可変長復号し、量子化周波数変換係数QTと、符号化予測モード関連信号SSMDとを出力する。復元部320は、符号化予測モード関連信号SSMDと既に復号された画像信号LDとが入力され、符号化モードMDと、イントラ予測モードIPM又は位置情報(動きベクトル)MVとを示す情報を出力する。なお、前述の通り、復元部320の詳細な構成については、図11を用いて後で説明する。
符号化モードMDは、制御部340に入力され、イントラ予測モードIPM又は位置情報(動きベクトル)MVを示す情報は、スイッチ315に入力され、量子化周波数変換係数QTは、逆量子化部311に入力される。
制御部340は、符号化モードMDに基づいてスイッチ315及び318を制御する。符号化モードMDがイントラ予測符号化を示す場合、スイッチ315は、端子“a”に接続され、イントラ予測モードIPMを示す情報がイントラ予測部316に入力される。符号化モードMDがインター予測符号化を示す場合、スイッチ315は、端子“b”に接続され、位置情報(動きベクトル)MVが動き補償部317に入力される。
対象ブロックがイントラ予測符号化ブロックの場合、スイッチ315及び318は、端子“a”に接続される。そして、イントラ予測モードIPMを示す情報は、イントラ予測部316に入力され、量子化周波数変換係数QTは、逆量子化部311に入力される。なお、量子化周波数変換係数QTが、符号化器(例えば、画像符号化装置100)によって符号化された予測誤差に相当する。
イントラ予測部316は、入力されたイントラ予測モードに基づいて、イントラ予測参照画素をフレームメモリ314から取得し、イントラ予測された画像(予測ブロック)を生成し、加算部313にイントラ予測画像を出力する。
逆量子化部311は、量子化周波数変換係数QTを逆量子化し、逆量子化した周波数変換係数を逆周波数変換部312に出力する。そして、逆周波数変換部312は、逆量子化された周波数変換係数を逆周波数変換することで、復号された差分画像LDDを生成する。逆周波数変換部312は、生成した復号差分画像LDDを加算部313に出力する。
加算部313は、復号差分画像LDDとイントラ予測画像IPとを加算することで、復号画像LDを生成する。生成した復号画像LDは、フレームメモリ314に格納される。なお、フレームメモリ314に格納された復号画像は、後の復号で参照ピクチャとして用いられる。また、復号画像は、復号映像データを成すように出力される。
対象ブロックがインター予測ブロックの場合、スイッチ315及び316は、端子“b”に接続される。そして、位置情報(動きベクトル)MVを示す情報が動き補償部317に入力され、量子化周波数変換係数QTが逆量子化部311に入力される。
動き補償部317は、入力された位置情報(動きベクトル)MVに基づいて、参照画素をフレームメモリ314から取得し、予測されたピクチャを生成し、加算部313に予測ピクチャを出力する。
逆量子化部311、逆周波数変換部312及び加算部313の処理は、イントラ予測ブロックの場合に説明した処理と同じである。復号画像LDは、フレームメモリ314に格納される。フレームメモリ314に格納された復号画像は、後の復号で参照ピクチャとして用いられる。また、復号画像は、復号映像データを成すように出力される。
続いて、本実施の形態の復元部320の詳細な構成について図11を用いて説明する。
図11は、本実施の形態の復元部320の詳細な構成の一例を示す図である。同図及び図9に示すように、復元部320は、エッジベクトル判定部321と、候補限定部322と、予測モード推定部323と、予測モード復元部324とを備える。
また、エッジベクトル判定部321は、エッジ検出部401と、方向判定部402と、ノルム判定部403と、エッジベクトル格納メモリ404とを備える。また、候補限定部322は、予測モード格納メモリ411と、予測モード候補限定部412と、予測モード候補取得部413とを備える。また、予測モード復元部324は、信号判定部421と、加算部422とを備える。
復元部320は、符号化予測モード関連信号SSMDと、既に復号された画像信号LDとが入力され、符号化モードMDと、イントラ予測モードIPM又は位置情報(動きベクトル)MVとを示す情報を符号化モード情報SMDとして出力する。
具体的には、信号判定部421は、入力された符号化予測モード関連信号SSMDが予測モード推定値と同じであることを示すフラグであれば、差分予測モード値DMDを0として出力する。また、それ以外の場合には、符号化予測モード関連信号SSMDに含まれる差分予測モード値DMDを出力する。
予測モード格納メモリ411は、入力された符号化モードMDと、イントラ予測モードIPMを示す情報(イントラ予測ブロックサイズ、イントラ予測方向など)又は位置情報(動きベクトル)MVとを格納するメモリである。予測モード候補取得部413は、予測モード格納メモリ411から、既に復号された符号化モードMDと、イントラ予測モードIPMを示す情報又は位置情報(動きベクトル)MVとの中から、予め決められた手段で複数の予測モード推定値候補を取得する。
このとき、予測モード候補取得部413は、予測モード候補限定部412から入力される限定情報に従って、予測モード推定値候補の取得を制限される。予測モード候補限定部412は、エッジベクトル判定部321によるエッジ検出処理の結果に基づいて、予測モード候補の数、又は、演算範囲を限定する限定情報を生成し、予測モード候補取得部413に出力する。予測モード候補取得部413は、限定された数の予測モード推定値候補を予測モード格納メモリ411から取得する。
予測モード推定部323は、限定された数の予測モード推定値候補の中から、エッジベクトル判定部321から出力されるエッジベクトル情報に基づいて、予測モード推定値MPMを決定し、決定した予測モード推定値MPMを出力する。加算部422は、差分予測モード値DMDと予測モード推定値MPMとを加算した結果を、符号化モード情報SMDとして出力する。
このように、予測モード復元部324は、モード情報の一例である符号化予測モード関連信号SSMDがフラグ情報である場合、推定予測モード(予測モード推定値MPM)を選択予測モード(符号化モード情報SMD)として決定し、推定予測モードと選択予測モードとの差分を示す差分情報(差分予測モード値DMD)である場合、差分と推定予測モードとを加算することで選択予測モードを復元する。
なお、エッジベクトル判定部321の詳細な構成と、予測モード推定部323の動作については後で詳しく説明する。
エッジベクトル判定部321は、上述のように、エッジ検出部401と、方向判定部402と、ノルム判定部403と、エッジベクトル格納メモリ404とを備える。
エッジ検出部401は、既に復号された画像信号LDを読み出し、読み出した画像に含まれるエッジを検出する。具体的なエッジ検出処理は、エッジ検出部201と同様である。
方向判定部402は、エッジ検出部401によって検出されたエッジの方向が、予測モード推定の対象のブロックを指しているか否かを判定する。具体的なエッジの方向判定処理は、方向判定部202と同様である。
ノルム判定部403は、エッジ検出部401によって予測モード推定の対象ブロックを指していると判定されたエッジのノルムを算出し、算出したノルムが予め定められた閾値より大きいか否かを判定する。なお、このときに用いられる閾値は、符号化時のノルム判定処理で用いられた閾値と同じ閾値であることが望ましい。したがって、閾値が装置に固有の値で無い場合は、符号化装置から送信される。具体的なノルム判定処理は、ノルム判定部203と同様である。
エッジベクトル格納メモリ404は、ノルム判定部403によってエッジと判定されたエッジの位置情報とエッジベクトルとを格納するメモリである。予測モード候補限定部412は、エッジベクトル格納メモリ404に格納されたエッジベクトルに基づいて、複数の予測モード候補の数を減らす。また、予測モード推定部323は、対象ブロックの予測モードを推定する際に、エッジが検出されたか否かに応じて、予測モード候補取得部413から得られる、予測モード推定値候補からの予測モード推定値を決定する。
ここで、予測モード推定部323が、エッジベクトル判定部321によって検出されたエッジに基づいて、限定された数の予測モード候補の中から予測モード推定値を決定する処理について説明する。
具体的には、エッジベクトルのノルムが閾値以下の場合、すなわち、エッジが検出されない場合には、予測モード推定部323は、予測モード候補取得部413から出力される、限定された数の予測モード候補から、従来と同様に予め決められた方法で決定する。予め決められた方法とは、イントラ予測モード推定値に対しては、H.264映像符号化規格で決められる、周囲ブロックの予測モードのうち小さい符号化モード番号を有するモードの番号を予測モード推定値MPMとして決定する。一方、インター符号化モードにおける位置情報予測値に対しては、H.264映像符号化規格で決められる、周囲ブロックの位置情報に対して、メディアンを掛けた値を予測モード推定値MPMとして決定する。
エッジベクトル(又は、勾配ベクトル)のノルムが閾値より大きい場合、すなわち、エッジが検出された場合、予測モード推定部323は、イントラ予測モード推定値に対して、予測モード候補取得部413から出力される、限定された数の予測モード候補から、最大のノルムを有するエッジに属する周囲ブロックの予測モードの番号を予測モード推定値MPMとして決定する。インター符号化モードにおける位置情報推定値に対しては、同様に最大のノルムを有するエッジに属する周囲ブロックの位置情報値を予測モード推定値MPMとして決定する。
なお、予測モード推定部323は、エッジ以外の情報に基づいて予測モード推定値MPMを決定してもよい。例えば、エッジの有無に関わらず、予測モード推定部323は、従来のように、周囲ブロックの予測モードのうち小さい符号化モード番号を有するモードの番号を予測モード推定値MPMとして決定してもよい。
次に、本実施の形態の画像復号装置300の動作について説明する。
図12は、本実施の形態の画像復号装置300の動作の一例を示すフローチャートである。
まず、エッジベクトル判定部321は、エッジ検出処理を行う(S201)。対象ブロックの周囲に位置する、既に生成された復号ブロックに含まれるエッジを検出する。エッジ検出処理の具体的な動作については、後で説明する。
エッジ検出処理によってエッジが検出された場合(S201でYes)、候補限定部322は、検出されたエッジに基づいて、複数の予測モード候補の数を減らす(S202)。例えば、候補限定部322は、検出されたエッジの角度(すなわち、方向)、又は、エッジが検出された画素位置に基づいて、複数の予測モード候補の数を減らす。
そして、予測モード推定部323は、減らされた数の予測モード候補の中から1つの予測モードを推定予測モードとして決定する(S204)。なお、エッジ検出処理によってエッジが検出されなかった場合(S203でNo)、予測モード推定部323は、全ての数の予測モード候補の中から推定予測モードを決定する。
次に、予測モード復元部324は、予測モード推定部323によって決定された推定予測モードとモード情報とに基づいて、選択予測モードを復元する(S205)。具体的には、モード情報が、選択予測モードと推定予測モードとが一致することを示すフラグである場合は、予測モード復元部324は、推定予測モードを選択予測モードとして復元する。
また、モード情報が、フラグではない場合は、モード情報に含まれる情報と推定予測モードとに基づいて選択予測モードを決定する。例えば、モード情報が、推定予測モードと、符号化時に用いられた予測モードとの差分情報を含む場合、当該差分情報と推定予測モードとを加算することで、選択予測モードを復元する。
そして、復号部310は、復元された選択予測モードを用いた予測に従って、対象ブロックを復号することで、復号ブロックを生成する(S206)。
以上のように、本実施の形態の画像復号装置300は、対象ブロックの推定値を決定する際に、エッジ検出の結果に従って予測モード候補の数を限定し、限定した数の予測モード候補の中から推定値を決定する。そして、決定した推定値と、対象ブロックの差分モード情報とを加算することによって、実際に復号するときに用いる予測モードを決定する。
以下では、本実施の形態の画像符号化装置100及び画像復号装置300のそれぞれに共通する動作について説明する。具体的には、エッジ検出処理(S103及びS201)と、当該エッジ検出処理の結果に基づいた予測モード候補の限定処理(S105及びS203)と、予測モードの推定処理(S106及びS204)とについて説明する。
まず、エッジ検出処理について図13を用いて説明する。図13は、本実施の形態のエッジ検出処理の一例を示すフローチャートである。なお、以下では、画像符号化装置100が実行するエッジ検出処理(S103)について説明する。
エッジ検出処理は、勾配を算出するために考慮される全ての画素(例えば、図7Aの左斜め下方向に網掛けされた画素)に対して実行されるので、エッジ検出部201は、勾配を算出する処理の対象となる画素を選択し、選択した画素の画素位置を設定する(S301)。
エッジ検出部201は、対象画素位置の勾配ベクトルを(式2)のソーベル演算子を適用することで算出する(S302)。そして、エッジ検出部201は、算出した勾配ベクトルに直交するエッジベクトルを算出し、算出したエッジベクトルの方向を検出する(S303)。なお、エッジベクトルのノルムは、例えば、勾配ベクトルのノルムに等しい。
次に、方向判定部202は、算出された勾配が対象ブロックを横切るエッジを示すか否か、すなわち、勾配ベクトルに直交するエッジベクトルが予測の対象ブロックを指しているか否かを判定する(S304)。なお、エッジベクトルが対象ブロックを指しているとは、エッジベクトルの延長線が対象ブロックを通過することである。
エッジベクトルが予測の対象ブロックを指していない場合であって(S304でNo)、かつ、次の画素がある場合(S305でYes)、処理は、次の画素に進む。すなわち、次の画素を新たな対象画素として、対象画素位置の設定(S301)から繰り返される。
エッジベクトルが予測の対象ブロックを指している場合には(S304でYes)、ノルム判定部203は、勾配ベクトルのノルムを算出する(S306)。そして、ノルム判定部203は、算出したノルムが予め定められた閾値より大きいか否かを判定する(S307)。
算出したノルムが閾値以下である場合(S307でNo)、かつ、次の画素がある場合(S305でYes)、処理は次の画素に進む。すなわち、次の画素を新たな対象画素として、対象画素位置の設定(S301)から繰り返される。
算出したノルムが閾値より大きい場合には(S307でYes)、ノルム判定部203は、算出したノルムが、前に決定された全ての勾配ベクトルのうち最大ノルムを有する勾配ベクトルのノルムより大きいか否かを判定する(S308)。算出したノルムが最大ノルムより大きい場合は(S308でYes)、当該勾配ベクトルを、新たな最大ベクトルとして設定する(S309)。
そして、算出したノルムと最大ノルムとの比較結果に関わらず、ノルム判定部203は、画素のベクトルと位置とをエッジベクトル格納メモリ204に格納する(S310)。このとき、メモリに格納する画素のベクトルは、エッジベクトルであることが望ましい。また、メモリは、例えば、ノルム判定部203の内部に備えるメモリであってもよい。
そして、次の画素がある場合(S305でYes)、処理は次の画素に進む。すなわち、次の画素を新たな対象画素として、対象画素位置の設定(S301)から繰り返される。
以上のようにして、対象ブロック(対象ブロック10)の周囲に位置する周囲ブロック(周囲ブロック50)に含まれる画素であって、エッジ検出処理の対象となる全ての画素(図7Aの左斜め下方向に網掛けされた画素)に対して、エッジ検出処理が実行され、エッジが検出された画素の位置と、そのエッジベクトルとがメモリに格納される。
なお、上述のエッジ検出処理を画像復号装置300が実行する場合も同様である。具体的には、エッジ検出部201、方向判定部202、ノルム判定部203及びエッジベクトル格納メモリ204のそれぞれが行う処理を、エッジ検出部401、方向判定部402、ノルム判定部403及びエッジベクトル格納メモリ404がそれぞれ実行する。
続いて、本実施の形態の推定部140及び復元部320の動作について図14を用いて説明する。具体的には、推定部140及び復元部320が行う予測モードの推定処理について説明する。
図14は、本実施の形態の推定部140及び復元部320が行う予測モードの推定処理の一例を示すフローチャートである。具体的には、図14は、予測モード候補の数を限定することで、演算処理量を削減し、かつ適切な予測モード推定値を決定する処理を示すフローチャートである。なお、以下では、画像符号化装置100が備える推定部140が実行する処理について説明する。
まず始めに、図13のエッジ検出処理が、エッジ検出部201、方向判定部202、ノルム判定部203及びエッジベクトル格納メモリ204によって実行される(S401)。次に、予測モード推定部143は、少なくとも1つのエッジベクトルが格納されているか、すなわち、対象ブロックを指すエッジに対応する方向で閾値より大きなノルムを有するベクトルがあるか否かを判定する(S402)。
なお、ステップS401及びS402はそれぞれ、図8に示すステップS103及びS104に相当する。
エッジベクトルが1つも格納されていない場合、すなわち、エッジが検出されなかった場合(S402でNo)、予測モード推定部143は、従来の予測モード推定値決定方法により予測モードの推定値を決定する(S403)。ここで、従来の予測モード推定値決定方法とは、周囲ブロックの予測モードから所定の方法で予測モード推定値を決定する方法である。
少なくとも1つのエッジベクトルが格納されている場合、すなわち、エッジが検出された場合(S402でYes)、エッジベクトル判定部141は、エッジ角度算出処理を行うことで、エッジの角度を算出する(S404)。エッジ角度算出処理の具体的な動作については、図16を用いて後で説明する。
予測モード候補限定部212は、算出したエッジの角度と、予め決められた方向予測モードの角度とを比較し、角度の最も近い2つの方向予測モードを選択し、選択した2つの方向予測モードを示す情報を、限定情報として予測モード候補取得部213に出力する(S405)。ここで、角度の最も近い2つの方向予測モードとは、例えば、図15Aに示すように、算出されたエッジベクトルの角度が、水平から右下方向に対して10度傾いている場合であって、H.264規格の方向予測モードと比較する場合は、図1Bで示される予測モード番号、1と6が、2つの方向予測モードとして出力される。
このように、予測モード候補限定部212は、8個の方向予測モードを2個の方向予測モードに限定することで、予測モード候補の数を減らしている。なお、2個の方向予測モードに限定するのではなく、予測モード候補限定部212は、8個より少なくすればよい。つまり、予測モード候補限定部212は、検出されたエッジの方向から最も離れた方向の方向予測モードを候補から除外することで、複数の予測モード候補の数を少なくすればよい。
また、予測モード候補限定部212は、エッジが検出されたブロックの位置に基づいて、予測モード候補を限定してもよい。具体的には、図1Bで示される予測モードのうち、予測モード番号8は対象ブロックの左側の周辺ブロックからの予測であり、予測モード番号3は対象ブロックの上側の周辺ブロックからの予測である。例えば、図15Bに示すように、エッジ検出処理において検出されたエッジベクトルのうち、上側の周辺ブロックに属するエッジベクトルが多い場合には、上側の周辺ブロックからの予測である、予測モード番号3、7、0、5、4、6に限定してもよい。また、同様に左側のブロックに属するエッジベクトルが多い場合には、左側の周辺ブロックからの予測である、予測モード番号5、4、6、1、8に限定してもよい。
予測モード推定部143は、予測モード候補取得部213から、限定された予測モード、すなわち、エッジベクトルの角度に近い2つの方向予測モードと、予め決められた方向予測モード以外の予測モード候補(例えば、エッジ予測モードなど)の中から、予測モード推定値を決定する(S406)。
以上は、画像符号化装置100での予測モード推定値を決定する処理についての説明であるが、画像復号装置300についても、画像符号化装置100と同様の処理となる。エッジベクトル判定部141、予測モード候補限定部212、予測モード格納メモリ211、予測モード候補取得部213及び予測モード推定部143のそれぞれが実行する処理が、エッジベクトル判定部321、予測モード候補限定部412、予測モード格納メモリ411、予測モード候補取得部413及び予測モード推定部323によって実行される。
ここで、予測モード候補から予測モード推定値を決定する方法の一例を説明する。例えば、予測モード候補として、全ての予測モードとし、判定領域としては、対象ブロックの上部、左部分にある周囲ブロックとする。予測モード推定部143は、判定領域のブロックに対して、全ての予測モードで取り得る予測ブロックを、さらに周囲のブロックを用いることにより生成し、生成された予測ブロックと、予測ブロックに対応する符号化及び復号済みの復号ブロックとの差分を算出する。そして、予測モード推定部143は、算出した差分が最も小さくなる予測ブロックを生成した予測モードを、予測モード推定値として決定する。
これは、画像の空間連続性から周囲ブロックの結果から対象ブロックの結果を予測する方法であるが、処理量は非常に多い。ここで、図14で示した予測モード候補限定部212により、予測モードの候補数を限定することで、処理量を削減することができ、かつ、エッジの連続性から、さらに画像の空間連続性の強い領域のみを用いて対象ブロックの予測モード推定値を決定できるため、精度の向上が期待できる。
続いて、エッジ検出結果に基づいて、検出されたエッジの角度を算出する処理について説明する。エッジの角度算出処理の概要は以下の通りである。
周囲ブロックに含まれる、勾配の算出処理の対象となる画素毎に、勾配が算出され、エッジベクトル判定部141は、最大ノルムを有するベクトルと、最大ノルムを有するベクトルが得られた画素に隣接する画素のベクトルとを用いてエッジの角度を算出する。具体的には、隣接画素のそれぞれに対して、対応するエッジベクトル(又は勾配ベクトル)のノルムと、最大ベクトルのノルムとを比較する。
隣接画素のエッジベクトルのノルムが、最大ベクトルのノルムの50%より大きい場合のみ、当該隣接画素のエッジベクトルを利用するためにエッジベクトル格納メモリ204に格納する。そして、エッジベクトル判定部141は、メモリに格納された最大ベクトルと周囲ベクトルとのそれぞれの角度の平均を、エッジ方向の角度αとして算出する。具体的には、以下の図16に示すフローチャートに従って実行される。
図16は、本実施の形態においてエッジの角度を算出する処理の一例を示すフローチャートである。なお、エッジの角度算出処理は、図13を用いて説明したエッジ検出処理の結果に依存する。図13に示すエッジ検出処理を行った結果、閾値より大きいと判定された1つ以上のエッジベクトルと対応する画素の位置とが、エッジベクトル格納メモリ204に格納される。
ノルム判定部203は、エッジ検出処理で検出された最大エッジベクトルの角度を算出し、エッジベクトル格納メモリ204に格納する(S501)。そして、以下の処理は、最大エッジベクトルが算出された画素に隣接する全ての画素に対して実行される(S502)。すなわち、ノルム判定部203は、最大エッジベクトルが検出された画素に隣接する画素のうち、1つの画素の位置を対象画素位置に設定して、以下の処理を行う。
次に、ノルム判定部203は、対象画素位置に対応するエッジベクトルがエッジベクトル格納メモリ204に格納されているか否かを判定する(S503)。すなわち、ノルム判定部203は、閾値より大きいノルムを有し、かつ、対象ブロックを指すエッジベクトルが格納されているか否かを判定する。
エッジベクトルが格納されている場合(S503でYes)、ノルム判定部203は、このエッジベクトルのノルムを算出する(S504)。そして、ノルム判定部203は、算出したノルムと最大エッジベクトルのノルムとを比較する(S505)。算出したノルムが最大ノルムの50%より大きい場合(S505でYes)、ノルム判定部203は、対象画素位置のエッジベクトルの角度を算出し、算出した角度をエッジベクトル格納メモリ204に格納する(S506)。
以上の処理(S503〜S506)を全ての対象画素位置に対して実行する。次の画素がない場合、すなわち、全ての対象画素位置に対して処理が終了した場合(S507でNo)、ノルム判定部203は、エッジベクトル格納メモリ204に格納された角度を平均することで、エッジの角度を算出する(S508)。
なお、図16に示すような、検出したエッジの角度を決定する上述の処理は、単なる例示である。本発明は、エッジを検出し、又は、その方向を決定するいかなる特定の方法にも限定されない。例えば、エッジの角度は、最大エッジベクトルのみの方向から決定されてもよい。あるいは、より多く又はより少ない数の近接するベクトル、又は、エッジに沿った他のベクトルの方向から決定されてもよい。また、メモリに格納するベクトルはエッジベクトルであるとしたが、勾配ベクトルであってもよい。
ここで、エッジベクトルに基づかない従来の予測モード推定値を決定する方法について、一例を挙げて説明する。従来は、イントラ符号化のイントラ予測モードに対する予測モード推定値の場合、周囲ブロックの予測モードを示す番号のうち、小さい番号の予測モードの番号を予測モード推定値として決定する。一方、インター符号化の位置情報に対する予測モード推定値の場合、周囲ブロックの位置情報のうち、同じ参照フレーム上の位置情報を示している周囲ブロックを取り出し、複数の周囲ブロックの位置情報の値に対して、メディアン値を算出し、算出したメディアン値を予測モード推定値として決定する。なお、本発明では、エッジベクトルに基づかない予測モード推定値の決定方法については、これに限定しない。
以下では、予測モード推定値について、さらに詳細を説明する。例えば、(式1)で示されるラグランジュコスト関数Jを用いて、低ビットレートで符号化する場合、量子化パラメータQPが大きくなるため、ラグランジュ乗数も大きくなる。このため、(式1)のR、すなわち、符号化するのに用いられるビットレートが、ラグランジュコスト関数Jに対して相対的に重要になる。すなわち、符号化歪みDよりもビットレートR(符号量)が重視される。
したがって、(式1)に示すコスト関数を考慮した符号化を行う場合、イントラ符号化の際は、実際のイントラ予測に用いられるイントラ予測モードが、イントラ予測モードの推定値と同じになるように、符号化モードの選択が行われる。なぜなら、イントラ予測モードの推定値とイントラ予測モードとが同じであれば、ビットストリーム内には、イントラ予測モードがイントラ予測モード推定値と同じであることを示すフラグだけになるため、発生する符号量が小さいためである。このため、イントラ予測モードの推定値と同じイントラ予測モードで、符号化歪みDを小さくできることが、低ビットレートで符号化する場合に重要になる。
そこで、本実施の形態では、エッジ情報を利用して、予測モード推定値を決定するための候補となる予測モード候補の数を少なくする。これにより、予測モード推定値と、実際に予測に用いられた予測モードとが同じになる可能性を高めることができ、符号量を削減することができる。また、予測モード候補の数を少なくすることで、処理量を削減することができる。
さらに、エッジ情報を利用して対象ブロックと周囲ブロックの相関性を判定し、相関性の高い周囲ブロックの予測モードを用いることで、イントラ予測モードの推定値と同じイントラ予測モードで、符号化歪みDを小さくすることができ、低ビットレートの場合にも符号化歪みを抑制することができる。
一方、同様にインター符号化の際は、実際のインター予測に用いられる位置情報が、位置情報の推定値と同じになるように動き検出が行われる。この場合も同様に、エッジ情報を利用して対象ブロックと周囲ブロックの相関性を判定し、相関性の高い周囲ブロックの位置情報を用いる、又は、重みを付けることで、位置情報の推定値と同じ、又は、近い位置情報で、符号化歪みDを小さくすることができ、低ビットレートの場合にも符号化歪みを抑制することができる。
以上、本発明の画像符号化装置、画像復号装置及び対応する方法について、実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を当該実施の形態に施したものも、本発明の範囲内に含まれる。
例えば、本実施の形態によれば、ソーベル演算子を用いて勾配を算出することで、エッジの検出を行った。しかしながら、本発明は、この点には限定されない。代わりに、検出されたエッジの方向性が算出されれば、どのようなエッジ検出ツールが用いられてもよい。ソーベル演算子は、可能なエッジ検出技術の一例に過ぎない。例えば、(式3)に示すプレウィット演算子を用いてもよい。
Figure 2010087157
また、ローパスフィルタ(LPF:Low Pass Filter)処理を行ったブロックに対して勾配を算出してもよい。具体的には、ローパスフィルタを構成するフィルタ係数とソーベル演算子又はプレウィット演算子とを畳み込んだ演算子を用いて勾配を算出することができる。
したがって、例えば、本実施の形態では、エッジ検出部201又は401は、ソーベル演算子のみ、プレウィット演算子のみ、ソーベル演算子とローパスフィルタとの合成フィルタ、又は、プレウィット演算子とローパスフィルタとの合成フィルタの4種類の中から選択して、勾配を算出してもよい。いずれのフィルタを選択するかは、例えば、外部からのユーザの指示、又は、対象ピクチャの特徴に基づいて決定される。例えば、対象ピクチャに多くのノイズが含まれる場合、すなわち、対象ピクチャが平坦な画像でない場合は、ローパスフィルタを含むフィルタを用いる。
また、本実施の形態の画像符号化装置100又は画像復号装置300では、ノルム判定部203又は403は、予め定められた閾値を用いてノルムの判定を行ったのに対して、シーケンス、ピクチャ、スライス、又は、ブロック単位で閾値を決定してもよい。なお、この場合、決定した閾値をビットストリームに含めることで復号器側に伝送する必要がある。例えば、閾値を決定する単位に応じて、シーケンスパラメータセット(SPS)、ピクチャパラメータセット(PPS)、又は、スライスヘッダ(SH)などに閾値を示す情報は含められる。
また、上述したように、複数の予測モード候補には、非特許文献2で用いられているエッジ予測モードが含まれていてもよい。エッジ予測モードとは、検出されたエッジの方向に周辺ブロックの画素値を内挿又は外挿することで、イントラ予測を行うイントラ予測モードの1つである。このエッジ予測モードに対しても、適した予測モードの推定値決定を行うことができる。ここで説明する予測モード推定値の決定方法は、イントラ符号化モードの場合である。予測モード推定部143は、エッジ検出処理によりエッジ検出され、エッジが検出されなければ、従来の予測モード推定値決定方法により、予測モード推定値を決定する。
また、本実施の形態では、エッジの方向(角度)、又は、エッジが検出された画素を含むブロックの位置に基づいて、予測モード候補の数を減らしたが、2つ以上のエッジが検出された場合は、当該2つ以上のエッジのばらつき度合いに基づいて、予測モードの数を減らしてもよい。ばらつき度合いは、例えば、エッジベクトルの分散値である。
例えば、予測モード候補限定部212は、エッジが検出され、かつ、2つ以上のエッジベクトルが格納されていれば、格納されたエッジベクトルの分散値を算出する。分散値が予め決められた閾値より小さければ、エッジ方向はシャープなエッジがあるとして、例えば、8個の方向予測モードを予測モード候補から除外することで、エッジ予測モードを含む予測モード候補に限定する。
一方、分散値が閾値よりも大きければ、図16で説明したエッジ角度の算出処理を行い、算出されたエッジ角度に最も近い角度の予め決められた方向予測方式(H.264規格方式の場合、図1Bで示した8個の方向予測モード)の2つを含む予測モード候補に限定する。また、エッジが1つの場合にも、シャープなエッジがあるとして、エッジ予測モードを含む予測モード候補に限定する。
具体的には、以下の図17に示すフローチャートに従って実行される。
まず始めに、図13のエッジ検出処理が、エッジ検出部201、方向判定部202、ノルム判定部203及びエッジベクトル格納メモリ204によって実行される(S601)。次に、予測モード推定部143は、少なくとも1つのエッジベクトルが格納されているか、すなわち、対象ブロックを指すエッジに対応する方向で閾値より大きなノルムを有するベクトルがあるか否かを判定する(S602)。
エッジベクトルが1つも格納されていない場合、すなわち、エッジが検出されなかった場合(S602でNo)、予測モード推定部143は、従来の予測モード推定値決定方法により予測モードの推定値を決定する(S603)。
少なくとも1つのエッジベクトルが格納されている場合、すなわち、エッジが検出された場合(S602でYes)、予測モード推定部143は、格納されたエッジベクトルに対して、ばらつき度合いの一例である分散値を算出する(S604)。そして、ベクトルをX成分、Y成分に分解し、それぞれの大きさに対しての分散値の和を算出する。
算出した分散値が、予め決められた閾値よりも小さい場合(S605でNo)、エッジ方向によるイントラ予測モードを予測モード推定値として決定する(S606)。なお、エッジベクトルが1つしか格納されていない場合、分散値は0となるため、常にエッジ方向によるイントラ予測モードを予測モード推定値として決定される。
一方、分散値が、予め決められた閾値よりも大きい場合(S605でYes)、エッジベクトル判定部141は、図16のエッジ角度算出処理を行うことで、エッジの角度を算出する(S607)。そして、予測モード候補限定部212は、当該分散値とエッジの角度とに基づいて予測モード候補を限定する(S608)。例えば、予測モード候補限定部212は、複数の予測モード候補の中から、DC予測モードと2つの方向予測モードとに予測モード候補を限定する。2つの方向予測モードは、算出されたエッジの角度に最も近い2つの方向予測モードである。
そして、予測モード推定部143は、限定された予測モード候補の中から予測モード推定値を決定する(S609)。
なお、分散値が大きいということは、周囲ブロックには様々な方向及び大きさのエッジが含まれていることを示している。このため、一意の方向を利用する方向予測モード及びエッジ予測モードではなく、画素値の平均を用いるDC予測モードを予測モード候補に含めている。
以上は、画像符号化装置100での予測モード推定値を決定する処理についての説明であるが、画像復号装置300についても、画像符号化装置100と同様の処理となる。エッジベクトル判定部141、予測モード候補限定部212、予測モード格納メモリ211、予測モード候補取得部213及び予測モード推定部143のそれぞれが実行する処理が、エッジベクトル判定部321、予測モード候補限定部412、予測モード格納メモリ411、予測モード候補取得部413及び予測モード推定部323によって実行される。
なお、ばらつき度合いの一例である分散値の算出(S604)については、別の方法をとってもよい。例えば、格納された全てのベクトルに対して、エッジの角度を算出し、全てのベクトルのエッジ角度の平均値とを比較し、角度の一番離れているベクトルとの差、すなわち、角度の差に対して、閾値比較(S605)を行ってもよい。
この方法を用いると、図17の方法と比べて、1つのベクトルが大きく平均と異なる場合に、エッジ方向によるイントラ予測であるエッジ予測モードを予測モード推定値に選択しない。なぜなら、1つのベクトルが大きく別の角度を向いている場合には、シャープなエッジに対して効果の高いエッジ方向によるイントラ予測では、符号化効率は上がらないためである。これにより、1つのベクトルが大きく別の角度を向いている場合に対して、より適した予測モード推定値の決定ができる。
この方法を用いることで、エッジの方向から方向予測モードが予測できるため、さらに予測モード推定値の推定精度の向上が期待できる。
また、符号化方式が、エッジ方向を利用したイントラ予測モードを含まない場合には、分散値の値に関わらず、エッジ角度を算出し、予め決められた方向予測方式の1つを予測モード推定値として決定してもよい。また、エッジが検出されない場合には、対象ブロックが平坦であると仮定できるため、従来の予測モード推定値決定方法を用いず、周辺ブロックの平均値を予測ブロックとして用いるDCモードを予測モード推定値として決定してもよい。このようにすることで、処理量が低減することができ、かつ周辺ブロックの特徴を予測モード推定値の決定に用いているため、符号化歪みの低減も期待できる。
また、予測モード推定値を決定するために用いる処理領域を限定することで、予測モード候補の数を減らしてもよい。図18は、本実施の形態の推定部140及び復元部320が行う予測モードの推定処理の異なる一例を示すフローチャートである。具体的には、図18は、予測モード候補から予測モード推定値を決定することに用いる処理領域を限定することで、演算処理量を削減し、かつ適切な予測モード推定値を決定する処理を示すフローチャートである。なお、以下では、画像符号化装置100が備える推定部140が実行する処理について説明する。
まず始めに、図13のエッジ検出処理が、エッジ検出部201、方向判定部202、ノルム判定部203及びエッジベクトル格納メモリ204によって実行される(S701)。次に、予測モード推定部143は、少なくとも1つのエッジベクトルが格納されているか、すなわち、対象ブロックを指すエッジに対応する方向で閾値より大きなノルムを有するベクトルがあるか否かを判定する(S702)。
なお、ステップS701及びS702はそれぞれ、図8に示すステップS103及びS104に相当する。
少なくとも1つのエッジベクトルが格納されている場合、すなわち、エッジが検出された場合(S702でYes)、予測モード候補限定部212は、格納されたエッジベクトルの属するブロックの画素位置を限定情報として、予測モード候補取得部213に出力する(S703)。予測モード推定部143は、予測モード候補取得部213から、限定された領域、すなわち、エッジベクトルが属しているブロック領域を用いて、予測モード推定値を決定する(S704)。
エッジベクトルが1つも格納されていない場合、すなわち、エッジが検出されなかった場合(S702でNo)、予測モード推定部143は、従来の予測モード推定値決定方法により予測モードの推定値を決定する(S705)。
以上のように、予測モード候補の数そのものを限定するのではなく、判定領域を限定してもよい。つまり、判定領域毎に予測モード候補が存在するので、判定領域を限定することで、予測モード候補の数を少なくすることができる。
以上は、画像符号化装置100での予測モード推定値を決定する処理についての説明であるが、画像復号装置300についても、画像符号化装置と同様の処理となる。エッジベクトル判定部141、予測モード候補限定部212、予測モード格納メモリ211、予測モード候補取得部213及び予測モード推定部143のそれぞれが実行する処理が、エッジベクトル判定部321、予測モード候補限定部412、予測モード格納メモリ411、予測モード候補取得部413及び予測モード推定部323によって実行される。
ここで、予測モード候補から予測モード推定値を決定する方法の一例を説明する。例えば、予測モード候補として全ての予測モードとし、判定領域としては、対象ブロックの上部及び左部分にある周囲ブロックとする。
予測モード推定部143は、判定領域のブロックに対して、全ての予測モードで取り得る予測ブロックを、さらに周囲のブロックを用いることにより生成する。そして、予測モード推定部143は、生成された予測ブロックと、予測ブロックに対応する符号化及び復号済みの復号ブロックとの差分を算出し、算出した差分が最も小さくなる予測ブロックを生成した予測モードを、予測モード推定値に決定する。
これは、画像の空間連続性から周囲ブロックの結果から対象ブロックの結果を予測する方法であるが、処理量は非常に多い。そこで、図6で示した予測モード候補限定部212により、図19Aに示すように、エッジベクトルの属している画素領域に前述の判定領域を限定することで、処理量を削減することができる。つまり、予測モード候補限定部212は、エッジが検出されなかった周囲ブロックを演算対象から除外することで、複数の予測モード候補の数を減らすことができる。
さらに、エッジの連続性から、さらに画像の空間連続性の強い領域のみを用いて対象ブロックの予測モード推定値を決定できるため、精度の向上が期待できる。
また、予測モード候補限定部212は、最大ノルムを有する最大エッジが検出された周囲ブロックに演算対象を限定することで、複数の予測モード候補の数を減らしてもよい。最大エッジは、図13に示すフローチャートに従って決定される。
また、検出されたエッジベクトルの方向に基づいて、演算対象である判定領域を限定してもよい。例えば、図19Bに示すように、検出されたエッジベクトルの水平成分が垂直成分より大きい場合、対象ブロック10の左側に位置する周囲ブロック(すなわち、左と左上の周囲ブロック)のみを判定領域としてもよい。また、検出されたエッジベクトルの垂直成分が水平成分より大きい場合、対象ブロック10の上側に位置する周囲ブロック(すなわち、左上、上、右上の周囲ブロック)のみを判定領域としてもよい。
なお、本発明では、エッジ検出の結果から、算出に用いる領域を限定することを除いて、予測モード候補からの予測モード推定値の決定に関する算出方法については、これに限定しない。
以上のようにして、本実施の形態の画像符号化装置100、画像復号装置300は、エッジが検出されたか否かに応じて、予測モード推定値を決定する。すなわち、エッジが検出された場合は、エッジベクトルを基準に予測モード推定値を決定する方法により予測モード推定値を決定し、エッジが検出されない場合は、従来のエッジベクトルに基づかないで、予測モード候補から予測モード推定値を決定する方法により予測モード推定値を決定する。
なお、予測モード候補から予測モード推定値を決定する方法において、決定のための判定領域を限定する方式(図18のフローチャートで示した方式)と、候補となる予測モードの数を限定する方式(図14のフローチャートで示した方式)とを組み合わせてもよい。組み合わせることで、さらなる処理量の削減が期待できる。
なお、本発明では、エッジ検出の結果から、算出に用いる領域を限定することを除いて、予測モード候補からの予測モード推定値の決定に関する算出方法については、これに限定しない。
本実施の形態の画像符号化装置及び画像復号装置は、画像及び映像データを符号化及び復号する際に、対象ブロックの周囲に位置する周囲ブロックに含まれるエッジを検出し、検出したエッジの方向により、対象ブロックと周囲ブロックとの関係を評価することができ、これを予測モードの推定に利用することができる。つまり、本実施の形態では、符号化予測モード情報を符号化する際に、エッジの方向を考慮に入れた予測モードの推定を行うことができる。
なお、本実施の形態では、推定部140及び復元部320は、常にエッジベクトル判定部141及び321を用いていたが、外部からエッジ検出フラグを受け取ってもよい。エッジ検出フラグは、エッジ検出処理の有効又は無効を切り替えるためのフラグである。例えば、シーケンス、ピクチャ、又はスライス単位でエッジ検出処理の有効又は無効を切り替えることができる。
これにより、本発明の効果が充分に得られない平坦な画像などに対しては、エッジ検出処理を無効にすることができるので、画像符号化装置100に対する処理負担を軽減し、符号化処理の速度を高めることができる。
また、エッジ検出フラグを復号器側にも伝送するので、復号器側で、エッジ検出処理が行われていないビットストリームに対してエッジ検出処理が行われることを防ぐことができる。
なお、エッジベクトル判定部141で用いられた閾値をビットストリームに含めてもよい。閾値を示す情報は、例えば、SPS、PPS、SHなどに含められる。
閾値は、例えば、画像特徴量を算出することで決定する。画像特徴量は、例えば、エッジ検出処理が行われる画像の分散、強度などである。例えば、分散が大きいほど、ノルム判定に用いる閾値が大きな値になるように決定する。分散が大きいということは、画像に多くのノイズが含まれることであり、エッジが誤検出されてしまう可能性が大きくなる。したがって、ノルム判定に用いる閾値を大きくすることで、エッジの誤検出される可能性を小さくすることができる。
また、前のピクチャに対するエッジ検出処理の結果に基づいて、閾値を決定してもよい。例えば、前のピクチャに対して異なる方向のエッジが多く検出されるほど、閾値が大きな値になるように決定する。異なる方向のエッジが多く検出されるということは、ノイズなどの影響で正確なエッジが検出されていない可能性があるので、ノルム判定に用いる閾値を大きくすることで、エッジが誤検出される可能性を小さくすることができる。
これにより、閾値を適応的に変更することができるので、より適切な閾値を決定することができ、より適切な予測ブロックを生成することができる。これにより、符号化歪みなどを削減することができる。
なお、本実施の形態の画像符号化装置100及び画像復号装置300では、エッジ検出処理を行うために、図1Aに示す参照画素20だけではなく、参照画素20を含むブロックに含まれる全画素のデータを、参照ピクチャメモリ160及びフレームメモリ314に格納する必要がある。これに対して、周囲のブロックを復号すると同時に、すなわち、勾配の算出に必要な参照画素の画素値が得られると同時に、勾配の算出処理を行い、勾配の算出処理結果だけを参照ピクチャメモリ160及びフレームメモリ314、又は、他のメモリに格納してもよい。
このとき、例えば、閾値を超えたノルム(又は、勾配値)のみを格納することで、よりメモリ資源を節約することができる。あるいは、各ブロックの最大のノルムとその画素位置のみを格納してもよい。この場合、算出したノルム(又は、勾配値)を参照ピクチャメモリ160及びフレームメモリ314、又は、エッジベクトル格納メモリ204及び404などに格納する。
これにより、画像符号化装置100及び画像復号装置300が備えるメモリ資源を有効に利用することができる。
また、予測値を算出する上述の方法は、検出されたエッジの方向を正式に考慮に入れて、本発明の範囲内で、いかなる他の方法に置き換えられてもよい。具体的には、上記の説明で用いた参照画素より多くの参照画素、又は、別の参照画素を、予測される対象ブロックに近接する参照画素の代わりに用いてもよい。
また、本発明は、H.264映像符号化規格に限定されず、非特許文献2のエッジ方向を利用したイントラ予測モード(エッジ予測モード)など、上述の従来のイントラ予測モード予測値、位置情報(動きベクトル)予測値に限定されない。事実、発明の予測モード推定方法は、いかなるブロックベースの映像符号化器に用いられてもよい。
また、本発明の予測モード推定方法におけるエッジ検出部は、映像符号化方式の一部の機能と共有してもよい。例えば、エッジ予測モードを含む映像符号化方式に、本発明を適用することで、エッジ検出部を共に用いることができ、リソースを有効利用できる。
また、本発明は、映像符号化アプリケーションに限られず、ブロックベースの静止画像符号化に用いられてもよい。
また、本発明は、上述したように、画像符号化装置、画像復号装置及びこれらの方法として実現できるだけではなく、本実施の形態の画像符号化方法及び画像復号方法のそれぞれをコンピュータに実行させるためのプログラムとして実現してもよい。また、当該プログラムを記録するコンピュータ読み取り可能なCD−ROMなどの記録媒体として実現してもよい。さらに、当該プログラムを示す情報、データ又は信号として実現してもよい。そして、これらプログラム、情報、データ及び信号は、インターネットなどの通信ネットワークを介して配信されてもよい。
また、本発明は、画像符号化装置及び画像復号装置のそれぞれを構成する構成要素の一部又は全部を、1個のシステムLSIから構成してもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM及びRAMなどを含んで構成されるコンピュータシステムである。
要約すると、本発明は、画像及び映像データの符号化及び復号に関し、特に、予測に必要な情報を、前に符号化及び復号されたブロックの情報から推測する予測値推測方法に関する。この予測値推測方法によれば、シャープなエッジが対象ブロックに向かっている場合には、エッジの連続性からブロック間の相関性を考慮に入れることで、より信頼性の高い予測値推測が行われる。
(実施の形態2)
上記実施の形態で示した画像符号化方法又は画像復号方法の構成を実現するためのプログラムを記憶メディアに記録することにより、上記実施の形態で示した処理を独立したコンピュータシステムにおいて簡単に実施することが可能となる。記憶メディアは、磁気ディスク、光ディスク、光磁気ディスク、ICカード、半導体メモリ等、プログラムを記録できるものであればよい。
さらにここで、上記実施の形態で示した画像符号化方法及び画像復号方法の応用例とそれを用いたシステムを説明する。
図20は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示す図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex106〜ex110が設置されている。
このコンテンツ供給システムex100は、インターネットex101にインターネットサービスプロバイダex102及び電話網ex104、及び、基地局ex106〜ex110を介して、コンピュータex111、PDA(Personal Digital Assistant)ex112、カメラex113、携帯電話ex114、ゲーム機ex115などの各機器が接続される。
しかし、コンテンツ供給システムex100は図20のような構成に限定されず、いずれかの要素を組み合わせて接続するようにしてもよい。また、固定無線局である基地局ex106〜ex110を介さずに、各機器が電話網ex104に直接接続されてもよい。また、各機器が近距離無線等を介して直接相互に接続されていてもよい。
カメラex113はデジタルビデオカメラ等の動画撮影が可能な機器であり、カメラex116はデジタルカメラ等の静止画撮影、動画撮影が可能な機器である。また、携帯電話ex114は、GSM(Global System for Mobile Communications)方式、CDMA(Code Division Multiple Access)方式、W−CDMA(Wideband−Code Division Multiple Access)方式、もしくはLTE(Long Term Evolution)方式、HSPA(High Speed Packet Access)の携帯電話機、又は、PHS(Personal Handyphone System)等であり、いずれでも構わない。
コンテンツ供給システムex100では、カメラex113等が基地局ex109、電話網ex104を通じてストリーミングサーバex103に接続されることで、ライブ配信等が可能になる。ライブ配信では、ユーザがカメラex113を用いて撮影するコンテンツ(例えば、音楽ライブの映像等)に対して上記実施の形態で説明したように符号化処理を行い、ストリーミングサーバex103に送信する。一方、ストリーミングサーバex103は要求のあったクライアントに対して送信されたコンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114、ゲーム機ex115等がある。配信されたデータを受信した各機器では、受信したデータを復号処理して再生する。
なお、撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。同様に配信されたデータの復号処理はクライアントで行っても、ストリーミングサーバex103で行ってもよいし、互いに分担して行ってもよい。また、カメラex113に限らず、カメラex116で撮影した静止画像及び/又は動画像データを、コンピュータex111を介してストリーミングサーバex103に送信してもよい。この場合の符号化処理はカメラex116、コンピュータex111、ストリーミングサーバex103のいずれで行ってもよいし、互いに分担して行ってもよい。
また、これら符号化処理及び復号処理は、一般的にコンピュータex111及び各機器が有するLSI(Large Scale Integration)ex500において処理する。LSIex500は、ワンチップであっても複数チップからなる構成であってもよい。なお、画像符号化用及び画像復号用のソフトウェアをコンピュータex111等で読み取り可能な何らかの記録メディア(CD−ROM、フレキシブルディスク、ハードディスクなど)に組み込み、そのソフトウェアを用いて符号化処理及び復号処理を行ってもよい。さらに、携帯電話ex114がカメラ付きである場合には、そのカメラで取得した動画データを送信してもよい。このときの動画データは携帯電話ex114が有するLSIex500で符号化処理されたデータである。
また、ストリーミングサーバex103は複数のサーバ又は複数のコンピュータであって、データを分散して処理したり記録したり配信するものであってもよい。
以上のようにして、コンテンツ供給システムex100では、符号化されたデータをクライアントが受信して再生することができる。このようにコンテンツ供給システムex100では、ユーザが送信した情報をリアルタイムでクライアントが受信して復号し、再生することができ、特別な権利又は設備を有さないユーザでも個人放送を実現できる。
このコンテンツ供給システムを構成する各機器の符号化、復号には上記実施の形態で示した画像符号化方法あるいは画像復号方法を用いるようにすればよい。
その一例として携帯電話ex114について説明する。
図21は、上記実施の形態で説明した画像符号化方法と画像復号方法を用いた携帯電話ex114を示す図である。携帯電話ex114は、基地局ex110との間で電波を送受信するためのアンテナex601、CCDカメラ等の映像、静止画を撮ることが可能なカメラ部ex603、カメラ部ex603で撮影した映像、アンテナex601で受信した映像等が復号されたデータを表示する液晶ディスプレイ等の表示部ex602、操作キーex604群から構成される本体部、音声出力をするためのスピーカ等の音声出力部ex608、音声入力をするためのマイク等の音声入力部ex605、撮影した動画もしくは静止画のデータ、受信したメールのデータ、動画のデータもしくは静止画のデータ等、符号化されたデータ又は復号されたデータを保存するための記録メディアex607、携帯電話ex114に記録メディアex607を装着可能とするためのスロット部ex606を有している。記録メディアex607はSDカード等のプラスチックケース内に電気的に書換え及び消去が可能な不揮発性メモリであるEEPROMの一種であるフラッシュメモリ素子を格納したものである。
さらに、携帯電話ex114について図22を用いて説明する。携帯電話ex114は表示部ex602及び操作キーex604を備えた本体部の各部を統括的に制御するようになされた主制御部ex711に対して、電源回路部ex710、操作入力制御部ex704、画像符号化部ex712、カメラインターフェース部ex703、LCD(Liquid Crystal Display)制御部ex702、画像復号部ex709、多重分離部ex708、記録再生部ex707、変復調回路部ex706及び音声処理部ex705が同期バスex713を介して互いに接続されている。
電源回路部ex710は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することによりカメラ付デジタル携帯電話ex114を動作可能な状態に起動する。
携帯電話ex114は、CPU、ROM及びRAM等でなる主制御部ex711の制御に基づいて、音声通話モード時に音声入力部ex605で集音した音声信号を音声処理部ex705によってデジタル音声データに変換し、これを変復調回路部ex706でスペクトラム拡散処理し、送受信回路部ex701でデジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex601を介して送信する。また携帯電話ex114は、音声通話モード時にアンテナex601で受信した受信データを増幅して周波数変換処理及びアナログデジタル変換処理を施し、変復調回路部ex706でスペクトラム逆拡散処理し、音声処理部ex705によってアナログ音声データに変換した後、音声出力部ex608を介してこれを出力する。
さらに、データ通信モード時に電子メールを送信する場合、本体部の操作キーex604の操作によって入力された電子メールのテキストデータは操作入力制御部ex704を介して主制御部ex711に送出される。主制御部ex711は、テキストデータを変復調回路部ex706でスペクトラム拡散処理し、送受信回路部ex701でデジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex601を介して基地局ex110へ送信する。
データ通信モード時に画像データを送信する場合、カメラ部ex603で撮像された画像データを、カメラインターフェース部ex703を介して画像符号化部ex712に供給する。また、画像データを送信しない場合には、カメラ部ex603で撮像した画像データをカメラインターフェース部ex703及びLCD制御部ex702を介して表示部ex602に直接表示することも可能である。
画像符号化部ex712は、本願発明で説明した画像符号化装置を備えた構成であり、カメラ部ex603から供給された画像データを上記実施の形態で示した画像符号化装置に用いた符号化方法によって圧縮符号化することにより符号化画像データに変換し、これを多重分離部ex708に送出する。また、このとき同時に携帯電話ex114は、カメラ部ex603で撮像中に音声入力部ex605で集音した音声を、音声処理部ex705を介してデジタルの音声データとして多重分離部ex708に送出する。
多重分離部ex708は、画像符号化部ex712から供給された符号化画像データと音声処理部ex705から供給された音声データとを所定の方式で多重化し、その結果得られる多重化データを変復調回路部ex706でスペクトラム拡散処理し、送受信回路部ex701でデジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex601を介して送信する。
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、アンテナex601を介して基地局ex110から受信した受信データを変復調回路部ex706でスペクトラム逆拡散処理し、その結果得られる多重化データを多重分離部ex708に送出する。
また、アンテナex601を介して受信された多重化データを復号するには、多重分離部ex708は、多重化データを分離することにより画像データのビットストリームと音声データのビットストリームとに分け、同期バスex713を介して当該符号化画像データを画像復号部ex709に供給すると共に当該音声データを音声処理部ex705に供給する。
次に、画像復号部ex709は、本願で説明した画像復号装置を備えた構成であり、画像データのビットストリームを上記実施の形態で示した符号化方法に対応した復号方法で復号することにより再生動画像データを生成し、これを、LCD制御部ex702を介して表示部ex602に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まれる動画データが表示される。このとき同時に音声処理部ex705は、音声データをアナログ音声データに変換した後、これを音声出力部ex608に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まれる音声データが再生される。
なお、上記システムの例に限られず、最近は衛星、地上波によるデジタル放送が話題となっており、図23に示すようにデジタル放送用システムにも上記実施の形態の少なくとも画像符号化装置又は画像復号装置を組み込むことができる。具体的には、放送局ex201では音声データ、映像データ又はそれらのデータが多重化されたビットストリームが電波を介して通信又は放送衛星ex202に伝送される。これを受けた放送衛星ex202は、放送用の電波を発信し、衛星放送受信設備をもつ家庭のアンテナex204はこの電波を受信し、テレビ(受信機)ex300又はセットトップボックス(STB)ex217などの装置はビットストリームを復号してこれを再生する。また、記録媒体であるCD及びDVD等の記録メディアex215、ex216に記録した画像データと、音声データが多重化されたビットストリームを読み取り、復号するリーダ/レコーダex218にも上記実施の形態で示した画像復号装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示される。また、ケーブルテレビ用のケーブルex203又は衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に画像復号装置を実装し、これをテレビのモニタex219で再生する構成も考えられる。このときセットトップボックスではなく、テレビ内に画像復号装置を組み込んでも良い。また、アンテナex205を有する車ex210で、衛星ex202又は基地局等から信号を受信し、車ex210が有するカーナビゲーションex211等の表示装置に動画を再生することも可能である。
また、DVD、BD等の記録メディアex215に記録した音声データ、映像データ又はそれらのデータが多重化された符号化ビットストリームを読み取り復号する、又は、記録メディアex215に、音声データ、映像データ又はそれらのデータを符号化し、多重化データとして記録するリーダ/レコーダex218にも上記実施の形態で示した画像復号装置又は画像符号化装置を実装することが可能である。この場合、再生された映像信号はモニタex219に表示される。また、符号化ビットストリームが記録された記録メディアex215により、他の装置及びシステム等は、映像信号を再生することができる。例えば、他の再生装置ex212は、符号化ビットストリームがコピーされた記録メディアex214を用いて、モニタex213に映像信号を再生することができる。
また、ケーブルテレビ用のケーブルex203又は衛星/地上波放送のアンテナex204に接続されたセットトップボックスex217内に画像復号装置を実装し、これをテレビのモニタex219で表示してもよい。このときセットトップボックスではなく、テレビ内に画像復号装置を組み込んでもよい。
図24は、上記実施の形態で説明した画像復号方法及び画像符号化方法を用いたテレビ(受信機)ex300を示す図である。テレビex300は、上記放送を受信するアンテナex204又はケーブルex203等を介して映像情報のビットストリームを取得、又は、出力するチューナex301と、受信した符号化データを復調する、又は、生成された符号化データを外部に送信するために変調する変調/復調部ex302と、復調した映像データと音声データとを分離する、又は、符号化された映像データと音声データとを多重化する多重/分離部ex303を備える。また、テレビex300は、音声データ、映像データそれぞれを復号する、又は、それぞれの情報を符号化する音声信号処理部ex304、映像信号処理部ex305を有する信号処理部ex306と、復号された音声信号を出力するスピーカex307、復号された映像信号を表示するディスプレイ等の表示部ex308を有する出力部ex309とを有する。さらに、テレビex300は、ユーザ操作の入力を受け付ける操作入力部ex312等を有するインターフェース部ex317を有する。さらに、テレビex300は、各部を統括的に制御する制御部ex310、各部に電力を供給する電源回路部ex311を有する。インターフェース部ex317は、操作入力部ex312以外に、リーダ/レコーダex218等の外部機器と接続されるブリッジex313、SDカード等の記録メディアex216を装着可能とするためのスロット部ex314、ハードディスク等の外部記録メディアと接続するためのドライバex315、電話網と接続するモデムex316等を有していてもよい。なお記録メディアex216は、格納する不揮発性/揮発性の半導体メモリ素子により電気的に情報の記録を可能としたものである。テレビex300の各部は同期バスを介して互いに接続されている。
まず、テレビex300がアンテナex204等により外部から取得したデータを復号し、再生する構成について説明する。テレビex300は、リモートコントローラex220等からのユーザ操作を受け、CPU等を有する制御部ex310の制御に基づいて、変調/復調部ex302で復調した映像データ、音声データを多重/分離部ex303で分離する。さらにテレビex300は、分離した音声データを音声信号処理部ex304で復号し、分離した映像データを映像信号処理部ex305で上記実施の形態で説明した復号方法を用いて復号する。復号した音声信号、映像信号は、それぞれ出力部ex309から外部に向けて出力される。出力する際には、音声信号と映像信号が同期して再生するよう、バッファex318、ex319等に一旦これらの信号を蓄積するとよい。また、テレビex300は、放送等からではなく、磁気/光ディスク、SDカード等の記録メディアex215、ex216から符号化された符号化ビットストリームを読み出してもよい。次に、テレビex300が音声信号及び映像信号を符号化し、外部に送信又は記録メディア等に書き込む構成について説明する。テレビex300は、リモートコントローラex220等からのユーザ操作を受け、制御部ex310の制御に基づいて、音声信号処理部ex304で音声信号を符号化し、映像信号処理部ex305で映像信号を上記実施の形態で説明した符号化方法を用いて符号化する。符号化した音声信号、映像信号は多重/分離部ex303で多重化され外部に出力される。多重化する際には、音声信号と映像信号が同期するように、バッファex320、ex321等に一旦これらの信号を蓄積するとよい。なお、バッファex318〜ex321は図示しているように複数備えていてもよいし、一つ以上のバッファを共有する構成であってもよい。さらに、図示している以外に、例えば変調/復調部ex302と多重/分離部ex303との間等でもシステムのオーバフロー及びアンダーフローを避ける緩衝材としてバッファにデータを蓄積することとしてもよい。
また、テレビex300は、放送及び記録メディア等から音声データ及び映像データを取得する以外に、マイク及びカメラのAV入力を受け付ける構成を備え、それらから取得したデータに対して符号化処理を行ってもよい。なお、ここではテレビex300は、上記の符号化処理、多重化、及び、外部出力ができる構成として説明したが、これらの全ての処理を行うことはできず、上記受信、復号処理、及び、外部出力のうちいずれかのみが可能な構成であってもよい。
また、リーダ/レコーダex218で記録メディアから符号化ビットストリームを読み出す、又は、書き込む場合には、上記復号処理又は符号化処理はテレビex300及びリーダ/レコーダex218のうちいずれかで行ってもよいし、テレビex300とリーダ/レコーダex218とが互いに分担して行ってもよい。
一例として、光ディスクからデータの読み込み又は書き込みをする場合の情報再生/記録部ex400の構成を図25に示す。情報再生/記録部ex400は、以下に説明する要素ex401〜ex407を備える。光ヘッドex401は、光ディスクである記録メディアex215の記録面にレーザスポットを照射して情報を書き込み、記録メディアex215の記録面からの反射光を検出して情報を読み込む。変調記録部ex402は、光ヘッドex401に内蔵された半導体レーザを電気的に駆動し記録データに応じてレーザ光の変調を行う。再生復調部ex403は、光ヘッドex401に内蔵されたフォトディテクタにより記録面からの反射光を電気的に検出した再生信号を増幅し、記録メディアex215に記録された信号成分を分離して復調し、必要な情報を再生する。バッファex404は、記録メディアex215に記録するための情報及び記録メディアex215から再生した情報を一時的に保持する。ディスクモータex405は記録メディアex215を回転させる。サーボ制御部ex406は、ディスクモータex405の回転駆動を制御しながら光ヘッドex401を所定の情報トラックに移動させ、レーザスポットの追従処理を行う。システム制御部ex407は、情報再生/記録部ex400全体の制御を行う。上記の読み出し及び書き込みの処理は、システム制御部ex407が、バッファex404に保持された各種情報を利用し、また必要に応じて新たな情報の生成及び追加を行うと共に、変調記録部ex402、再生復調部ex403及びサーボ制御部ex406を協調動作させながら、光ヘッドex401を通して、情報の記録再生を行うことにより実現される。システム制御部ex407は、例えばマイクロプロセッサで構成され、読み出し書き込みのプログラムを実行することでそれらの処理を実行する。
以上では、光ヘッドex401はレーザスポットを照射するとして説明したが、近接場光を用いてより高密度な記録を行う構成であってもよい。
図26に光ディスクである記録メディアex215の模式図を示す。記録メディアex215の記録面には案内溝(グルーブ)がスパイラル状に形成され、情報トラックex230には、予めグルーブの形状の変化によってディスク上の絶対位置を示す番地情報が記録されている。この番地情報はデータを記録する単位である記録ブロックex231の位置を特定するための情報を含み、記録及び再生を行う装置は、情報トラックex230を再生し番地情報を読み取ることで記録ブロックを特定することができる。また、記録メディアex215は、データ記録領域ex233、内周領域ex232、外周領域ex234を含んでいる。ユーザデータを記録するために用いる領域がデータ記録領域ex233であり、データ記録領域ex233の内周又は外周に配置されている内周領域ex232と外周領域ex234は、ユーザデータの記録以外の特定用途に用いられる。情報再生/記録部ex400は、このような記録メディアex215のデータ記録領域ex233に対して、符号化された音声データ、映像データ又はそれらのデータを多重化した符号化データの読み書きを行う。
以上では、1層のDVD、BD等の光ディスクを例に挙げ説明したが、これらに限ったものではなく、多層構造であって表面以外にも記録可能な光ディスクであってもよい。また、ディスクの同じ場所に様々な異なる波長の色の光を用いて情報を記録したり、様々な角度から異なる情報の層を記録したりするなど、多次元的な記録/再生を行う構造の光ディスクであってもよい。
また、デジタル放送用システムex200において、アンテナex205を有する車ex210で衛星ex202等からデータを受信し、車ex210が有するカーナビゲーションex211等の表示装置に動画を再生することも可能である。なお、カーナビゲーションex211の構成は例えば図24に示す構成のうち、GPS受信部を加えた構成が考えられ、同様なことがコンピュータex111及び携帯電話ex114等でも考えられる。また、上記携帯電話ex114等の端末は、テレビex300と同様に、符号化器及び復号器を両方持つ送受信型端末の他に、符号化器のみの送信端末、復号器のみの受信端末という3通りの実装形式が考えられる。
このように、上記実施の形態で示した画像符号化方法あるいは画像復号方法を上述したいずれの機器及びシステムに用いることは可能であり、そうすることで、上記実施の形態で説明した効果を得ることができる。
また、本発明は、上記実施の形態に限定されるものではなく、本発明の範囲を逸脱することなく種々の変形又は修正が可能である。
(実施の形態3)
上記各実施の形態で示した画像符号化方法及び装置、画像復号方法及び装置は、典型的には集積回路であるLSIで実現される。一例として、図27に1チップ化されたLSIex500の構成を示す。LSIex500は、以下に説明する要素ex501〜ex509を備え、各要素はバスex510を介して接続している。電源回路部ex505は電源がオン状態の場合に各部に対して電力を供給することで動作可能な状態に起動する。
例えば符号化処理を行う場合には、LSIex500は、CPUex502、メモリコントローラex503及びストリームコントローラex504等を有する制御部ex501の制御に基づいて、AV I/Oex509によりマイクex117及びカメラex113等からAV信号の入力を受け付ける。入力されたAV信号は、一旦SDRAM等の外部のメモリex511に蓄積される。制御部ex501の制御に基づいて、蓄積したデータは、処理量及び処理速度に応じて適宜複数回に分けるなどされ、信号処理部ex507に送られる。信号処理部ex507は、音声信号の符号化及び/又は映像信号の符号化を行う。ここで映像信号の符号化処理は、上記実施の形態で説明した符号化処理である。信号処理部ex507ではさらに、場合により符号化された音声データと符号化された映像データを多重化するなどの処理を行い、ストリームI/Oex506から外部に出力する。この出力されたビットストリームは、基地局ex107に向けて送信されたり、又は、記録メディアex215に書き込まれたりする。なお、多重化する際には同期するよう、一旦バッファex508にデータを蓄積するとよい。
また、例えば復号処理を行う場合には、LSIex500は、制御部ex501の制御に基づいて、ストリームI/Oex506によって基地局ex107を介して得た符号化データ、又は、記録メディアex215から読み出して得た符号化データを一旦メモリex511等に蓄積する。制御部ex501の制御に基づいて、蓄積したデータは、処理量及び処理速度に応じて適宜複数回に分けるなどされ信号処理部ex507に送られる。信号処理部ex507は、音声データの復号及び/又は映像データの復号を行う。ここで映像信号の復号処理は、上記実施の形態で説明した復号処理である。さらに、場合により復号された音声信号と復号された映像信号を同期して再生できるようそれぞれの信号を一旦バッファex508等に蓄積するとよい。復号された出力信号は、メモリex511等を適宜介しながら、携帯電話ex114、ゲーム機ex115及びテレビex300等の各出力部から出力される。
なお、上記では、メモリex511がLSIex500の外部の構成として説明したが、LSIex500の内部に含まれる構成であってもよい。バッファex508も一つに限ったものではなく、複数のバッファを備えていてもよい。また、LSIex500は1チップ化されてもよいし、複数チップ化されてもよい。
なお、ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA、又は、LSI内部の回路セルの接続及び設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
以上、本発明に係る符号化方法、符号化装置、復号方法及び復号装置について、実施の形態に基づいて説明したが、本発明は、これらの実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を当該実施の形態に施した形態、及び、異なる実施の形態における構成要素及びステップ等を組み合わせて構築される別の形態も、本発明の範囲内に含まれる。
本発明の画像符号化方法及び画像復号方法は、符号化効率をより高めることができるという効果を奏し、例えば、デジタルカメラ、デジタルテレビ、BD(Blu−ray Disc)レコーダなどに利用することができる。
10 対象ブロック
20 参照画素
30、40、50、80 周囲ブロック
60、61、62 エッジ
70 エッジ検出窓
100 画像符号化装置
110 符号化部
111、221、514 減算部
112 周波数変換部
113 量子化部
114 イントラ予測モード決定部
115 動き検出部
116、316 イントラ予測部
117、317 動き補償部
118、119、315、318 スイッチ
120 復号部
121、311 逆量子化部
122、312 逆周波数変換部
123、313、422、622 加算部
130 出力部
131、520 可変長符号化部
140、510 推定部
141、321 エッジベクトル判定部
142、322 候補限定部
143、323、513、625 予測モード推定部
144 モード情報生成部
150、314 フレームメモリ
160 参照ピクチャメモリ
170、340 制御部
201、401 エッジ検出部
202、402 方向判定部
203、403 ノルム判定部
204、404 エッジベクトル格納メモリ
211、411、511、623 予測モード格納メモリ
212、412 予測モード候補限定部
213、413、512、624 予測モード候補取得部
222、515 信号設定部
300 画像復号装置
310 復号部
320、620 復元部
324 予測モード復元部
330、610 可変長復号部
421、621 信号判定部
ex100 コンテンツ供給システム
ex101 インターネット
ex102 インターネットサービスプロバイダ
ex103 ストリーミングサーバ
ex104 電話網
ex106、ex107、ex108、ex109、ex110 基地局
ex111 コンピュータ
ex112 PDA
ex113、ex116 カメラ
ex114 カメラ付デジタル携帯電話(携帯電話)
ex115 ゲーム機
ex117 マイク
ex200 デジタル放送用システム
ex201 放送局
ex202 放送衛星(衛星)
ex203 ケーブル
ex204、ex205、ex601 アンテナ
ex210 車
ex211 カーナビゲーション(カーナビ)
ex212 再生装置
ex213、ex219 モニタ
ex214、ex215、ex216、ex607 記録メディア
ex217 セットトップボックス(STB)
ex218 リーダ/レコーダ
ex220 リモートコントローラ
ex230 情報トラック
ex231 記録ブロック
ex232 内周領域
ex233 データ記録領域
ex234 外周領域
ex300 テレビ
ex301 チューナ
ex302 変調/復調部
ex303 多重/分離部
ex304 音声信号処理部
ex305 映像信号処理部
ex306、ex507 信号処理部
ex307 スピーカ
ex308、ex602 表示部
ex309 出力部
ex310、ex501 制御部
ex311、ex505、ex710 電源回路部
ex312 操作入力部
ex313 ブリッジ
ex314、ex606 スロット部
ex315 ドライバ
ex316 モデム
ex317 インターフェース部
ex318、ex319、ex320、ex321、ex404、ex508 バッファ
ex400 情報再生/記録部
ex401 光ヘッド
ex402 変調記録部
ex403 再生復調部
ex405 ディスクモータ
ex406 サーボ制御部
ex407 システム制御部
ex500 LSI
ex502 CPU
ex503 メモリコントローラ
ex504 ストリームコントローラ
ex506 ストリームI/O
ex509 AV I/O
ex510 バス
ex603 カメラ部
ex604 操作キー
ex605 音声入力部
ex608 音声出力部
ex701 送受信回路部
ex702 LCD制御部
ex703 カメラインターフェース部(カメラI/F部)
ex704 操作入力制御部
ex705 音声処理部
ex706 変復調回路部
ex707 記録再生部
ex708 多重分離部
ex709 画像復号部
ex711 主制御部
ex712 画像符号化部
ex713 同期バス

Claims (21)

  1. 予測モードに基づいた予測に従って画像データをブロック毎に符号化することで生成された符号化画像データを復号する画像復号方法であって、
    符号化時に実行された予測モードの推定結果を示すモード情報に基づいて、符号化時の予測に用いた予測モードである選択予測モードを復元する復元ステップと、
    前記選択予測モードに基づいた予測に従って、前記符号化画像データの対象ブロックを復号することで、復号ブロックを生成する復号ステップとを含み、
    前記復元ステップは、
    既に生成された復号ブロック内のエッジを検出するエッジ検出ステップと、
    前記エッジ検出ステップにおいて検出されたエッジに基づいて、予め定められた複数の予測モード候補の数を減らす候補限定ステップと、
    前記候補限定ステップにおいて減らされた数の前記予測モード候補の中から1つの予測モードを推定予測モードとして決定する予測モード推定ステップと、
    前記モード情報と前記推定予測モードとに基づいて、前記選択予測モードを復元する予測モード復元ステップとを含む
    画像復号方法。
  2. 前記モード情報は、符号化時の予測に用いた予測モードと符号化時に推定された予測モードとが一致したことを示すフラグ情報、又は、符号化時の予測に用いた予測モードと符号化時に推定された予測モードとの差分を示す差分情報であり、
    前記予測モード復元ステップでは、
    前記モード情報が、符号化時の予測に用いた予測モードと符号化時に推定された予測モードとが一致したことを示すフラグ情報である場合、前記推定予測モードを前記選択予測モードとして決定し、前記モード情報が、符号化時の予測に用いた予測モードと符号化時に推定された予測モードとの差分を示す差分情報である場合、前記差分と前記推定予測モードとを加算することで、前記選択予測モードを復元する
    請求項1記載の画像復号方法。
  3. 前記候補限定ステップでは、前記エッジ検出ステップにおいて検出された1つ以上のエッジの方向に基づいて、前記複数の予測モード候補の数を減らす
    請求項2記載の画像復号方法。
  4. 前記複数の予測モード候補は、予め定義された複数の方向予測モードを含み、
    前記候補限定ステップでは、前記エッジ検出ステップにおいて検出された1つ以上のエッジの方向から最も離れた方向の方向予測モードを前記複数の予測モード候補から除外することで、前記複数の予測モード候補の数を減らす
    請求項3記載の画像復号方法。
  5. 前記候補限定ステップでは、前記エッジ検出ステップにおいて検出された2つ以上のエッジの方向のばらつき度合いを算出し、算出したばらつき度合いに基づいて、前記複数の予測モード候補の数を減らす
    請求項3記載の画像復号方法。
  6. 前記複数の予測モード候補は、前記対象ブロックの周囲に位置する複数の復号ブロックを生成する際に用いた複数の予測モードを含み、
    前記候補限定ステップでは、前記エッジ検出ステップにおいて検出されたエッジに基づいて、演算対象である前記複数の復号ブロックの数を減らすことで、前記複数の予測モード候補の数を減らす
    請求項2記載の画像復号方法。
  7. 前記候補限定ステップでは、前記エッジ検出ステップにおいてエッジが検出されなかった復号ブロックを演算対象から除外することで前記複数の復号ブロックの数を減らす
    請求項6記載の画像復号方法。
  8. 前記候補限定ステップでは、前記エッジ検出ステップにおいて検出された1つ以上のエッジのうち、最大ノルムを有する最大エッジを決定し、前記最大エッジが検出された復号ブロックに演算対象を限定することで、前記複数の復号ブロックの数を減らす
    請求項7記載の画像復号方法。
  9. 前記候補限定ステップでは、前記エッジ検出ステップにおいて検出されたエッジの方向の水平成分が垂直成分より大きい場合、前記対象ブロックの左側に位置する復号ブロックに演算対象を限定し、前記エッジ検出ステップにおいて検出されたエッジの方向の垂直成分が水平成分より大きい場合、前記対象ブロックの上側に位置する復号ブロックに演算対象を限定することで、前記複数の復号ブロックの数を減らす
    請求項6記載の画像復号方法。
  10. 画像データをブロック毎に符号化する画像符号化方法であって、
    予め定められた複数の予測モード候補の中から選択された選択予測モードに基づいた予測に従って、前記画像データの対象ブロックを符号化する符号化ステップと、
    符号化された対象ブロックを復号することで、復号ブロックを生成する復号ステップと、
    前記複数の予測モード候補の中から1つの予測モードを推定予測モードとして決定する推定ステップと、
    前記選択予測モードを復元するためのモード情報を、前記符号化された対象ブロックとともに出力する出力ステップとを含み、
    前記推定ステップは、
    既に生成された復号ブロック内のエッジを検出するエッジ検出ステップと、
    前記エッジ検出ステップにおいて検出されたエッジに基づいて、前記複数の予測モード候補の数を減らす候補限定ステップと、
    前記候補限定ステップにおいて減らされた数の前記予測モード候補の中から、所定の方法に従って前記推定予測モードを決定する予測モード推定ステップと、
    前記推定予測モードと前記選択予測モードとに基づいて前記モード情報を生成するモード情報生成ステップとを含む
    画像符号化方法。
  11. 前記モード情報生成ステップでは、
    前記推定予測モードと前記選択予測モードとを比較し、前記推定予測モードと前記選択予測モードとが一致する場合には、一致したことを示すフラグを前記モード情報として生成し、前記推定予測モードと前記選択予測モードとが一致しない場合には、前記推定予測モードと前記選択予測モードとの差分を示す差分情報を前記モード情報として生成する
    請求項10記載の画像符号化方法。
  12. 前記複数の予測モード候補は、予め定義された複数の方向予測モードを含み、
    前記候補限定ステップでは、前記エッジ検出ステップにおいて検出された1つ以上のエッジの方向から最も離れた方向の方向予測モードを前記複数の予測モード候補から除外することで、前記複数の予測モード候補の数を減らす
    請求項11記載の画像符号化方法。
  13. 前記複数の予測モード候補は、前記対象ブロックの周囲に位置する複数の復号ブロックを生成する際に用いた複数の予測モードを含み、
    前記候補限定ステップでは、前記エッジ検出ステップにおいて検出されたエッジに基づいて、演算対象である前記複数の復号ブロックの数を減らすことで、前記複数の予測モード候補の数を減らす
    請求項11記載の画像符号化方法。
  14. 前記候補限定ステップでは、前記エッジ検出ステップにおいてエッジが検出されなかった復号ブロックを演算対象から除外することで前記複数の復号ブロックの数を減らす
    請求項13記載の画像符号化方法。
  15. 前記候補限定ステップでは、前記エッジ検出ステップにおいて検出されたエッジの方向の水平成分が垂直成分より大きい場合、前記対象ブロックの左側に位置する復号ブロックに演算対象を限定し、前記エッジ検出ステップにおいて検出されたエッジの方向の垂直成分が水平成分より大きい場合、前記対象ブロックの上側に位置する復号ブロックに演算対象を限定することで、前記複数の復号ブロックの数を減らす
    請求項13記載の画像符号化方法。
  16. 予測モードに基づいた予測に従って画像データをブロック毎に符号化することで生成された符号化画像データを復号する画像復号装置であって、
    符号化時に実行された予測モードの推定結果を示すモード情報に基づいて、符号化時の予測に用いた予測モードである選択予測モードを復元する復元部と、
    前記選択予測モードに基づいた予測に従って、前記符号化画像データの対象ブロックを復号することで、復号ブロックを生成する復号部とを備え、
    前記復元部は、
    既に生成された復号ブロック内のエッジを検出するエッジ検出部と、
    前記エッジ検出部によって検出されたエッジに基づいて、予め定められた複数の予測モード候補の数を減らす候補限定部と、
    前記候補限定部によって減らされた数の前記予測モード候補の中から1つの予測モードを推定予測モードとして決定する予測モード推定部と、
    前記モード情報と前記推定予測モードとに基づいて、前記選択予測モードを復元する予測モード復元部とを備える
    画像復号装置。
  17. 画像データをブロック毎に符号化する画像符号化装置であって、
    予め定められた複数の予測モード候補の中から選択された選択予測モードに基づいた予測に従って、前記画像データの対象ブロックを符号化する符号化部と、
    符号化された対象ブロックを復号することで、復号ブロックを生成する復号部と、
    前記複数の予測モード候補の中から1つの予測モードを推定予測モードとして決定する推定部と、
    前記選択予測モードを復元するためのモード情報を、前記符号化された対象ブロックとともに出力する出力部とを含み、
    前記推定部は、
    既に生成された復号ブロック内のエッジを検出するエッジ検出部と、
    前記エッジ検出部によって検出されたエッジに基づいて、前記複数の予測モード候補の数を減らす候補限定部と、
    前記候補限定部によって減らされた数の前記予測モード候補の中から、所定の方法に従って前記推定予測モードを決定する予測モード推定部と、
    前記推定予測モードと前記選択予測モードとに基づいて前記モード情報を生成するモード情報生成部とを含む
    画像符号化装置。
  18. 予測モードに基づいた予測に従って画像データをブロック毎に符号化することで生成された符号化画像データを復号する画像復号方法をコンピュータに実行させるためのプログラムであって、
    前記画像復号方法は、
    符号化時に実行された予測モードの推定結果を示すモード情報に基づいて、符号化時の予測に用いた予測モードである選択予測モードを復元する復元ステップと、
    前記選択予測モードに基づいた予測に従って、前記符号化画像データの対象ブロックを復号することで、復号ブロックを生成する復号ステップとを含み、
    前記復元ステップは、
    既に生成された復号ブロック内のエッジを検出するエッジ検出ステップと、
    前記エッジ検出ステップにおいて検出されたエッジに基づいて、予め定められた複数の予測モード候補の数を減らす候補限定ステップと、
    前記候補限定ステップにおいて減らされた数の前記予測モード候補の中から1つの予測モードを推定予測モードとして決定する予測モード推定ステップと、
    前記モード情報と前記推定予測モードとに基づいて、前記選択予測モードを復元する予測モード復元ステップとを含む
    プログラム。
  19. 画像データをブロック毎に符号化する画像符号化方法をコンピュータに実行させるためのプログラムであって、
    前記画像符号化方法は、
    予め定められた複数の予測モード候補の中から選択された選択予測モードに基づいた予測に従って、前記画像データの対象ブロックを符号化する符号化ステップと、
    符号化された対象ブロックを復号することで、復号ブロックを生成する復号ステップと、
    前記複数の予測モード候補の中から1つの予測モードを推定予測モードとして決定する推定ステップと、
    前記選択予測モードを復元するためのモード情報を、前記符号化された対象ブロックとともに出力する出力ステップとを含み、
    前記推定ステップは、
    既に生成された復号ブロック内のエッジを検出するエッジ検出ステップと、
    前記エッジ検出ステップにおいて検出されたエッジに基づいて、前記複数の予測モード候補の数を減らす候補限定ステップと、
    前記候補限定ステップにおいて減らされた数の前記予測モード候補の中から、所定の方法に従って前記推定予測モードを決定する予測モード推定ステップと、
    前記推定予測モードと前記選択予測モードとに基づいて前記モード情報を生成するモード情報生成ステップとを含む
    プログラム。
  20. 予測モードに基づいた予測に従って画像データをブロック毎に符号化することで生成された符号化画像データを復号する集積回路であって、
    符号化時に実行された予測モードの推定結果を示すモード情報に基づいて、符号化時の予測に用いた予測モードである選択予測モードを復元する復元部と、
    前記選択予測モードに基づいた予測に従って、前記符号化画像データの対象ブロックを復号することで、復号ブロックを生成する復号部とを備え、
    前記復元部は、
    既に生成された復号ブロック内のエッジを検出するエッジ検出部と、
    前記エッジ検出部によって検出されたエッジに基づいて、予め定められた複数の予測モード候補の数を減らす候補限定部と、
    前記候補限定部によって減らされた数の前記予測モード候補の中から1つの予測モードを推定予測モードとして決定する予測モード推定部と、
    前記モード情報と前記推定予測モードとに基づいて、前記選択予測モードを復元する予測モード復元部とを備える
    集積回路。
  21. 画像データをブロック毎に符号化する集積回路であって、
    予め定められた複数の予測モード候補の中から選択された選択予測モードに基づいた予測に従って、前記画像データの対象ブロックを符号化する符号化部と、
    符号化された対象ブロックを復号することで、復号ブロックを生成する復号部と、
    前記複数の予測モード候補の中から1つの予測モードを推定予測モードとして決定する推定部と、
    前記選択予測モードを復元するためのモード情報を、前記符号化された対象ブロックとともに出力する出力部とを含み、
    前記推定部は、
    既に生成された復号ブロック内のエッジを検出するエッジ検出部と、
    前記エッジ検出部によって検出されたエッジに基づいて、前記複数の予測モード候補の数を減らす候補限定部と、
    前記候補限定部によって減らされた数の前記予測モード候補の中から、所定の方法に従って前記推定予測モードを決定する予測モード推定部と、
    前記推定予測モードと前記選択予測モードとに基づいて前記モード情報を生成するモード情報生成部とを含む
    集積回路。
JP2010548415A 2009-01-29 2010-01-27 画像符号化方法及び画像復号方法 Pending JPWO2010087157A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009018831 2009-01-29
JP2009018831 2009-01-29
PCT/JP2010/000445 WO2010087157A1 (ja) 2009-01-29 2010-01-27 画像符号化方法及び画像復号方法

Publications (1)

Publication Number Publication Date
JPWO2010087157A1 true JPWO2010087157A1 (ja) 2012-08-02

Family

ID=42395421

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010548415A Pending JPWO2010087157A1 (ja) 2009-01-29 2010-01-27 画像符号化方法及び画像復号方法

Country Status (7)

Country Link
US (1) US20120020580A1 (ja)
EP (1) EP2393296A1 (ja)
JP (1) JPWO2010087157A1 (ja)
KR (1) KR20110118641A (ja)
CN (1) CN102301720A (ja)
TW (1) TW201110708A (ja)
WO (1) WO2010087157A1 (ja)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2081386A1 (en) * 2008-01-18 2009-07-22 Panasonic Corporation High precision edge prediction for intracoding
CN102239694A (zh) * 2008-12-08 2011-11-09 夏普株式会社 图像编码器和图像解码器
EP2375751A1 (en) 2010-04-12 2011-10-12 Panasonic Corporation Complexity reduction of edge-detection based spatial interpolation
EP2375750A1 (en) * 2010-04-12 2011-10-12 Panasonic Corporation Complexity reduction of edge detection for edge based spatial prediction
KR101690253B1 (ko) * 2010-05-06 2016-12-27 삼성전자주식회사 영상 처리 장치 및 그 방법
US8787444B2 (en) * 2010-07-16 2014-07-22 Sony Corporation Differential coding of intra directions (DCIC)
HUE042742T2 (hu) * 2010-08-17 2019-07-29 Samsung Electronics Co Ltd Videodekódolási eljárás variábilis faszerkezetû transzformációs egység felhasználásával
SI3125561T1 (en) * 2010-08-17 2018-06-29 M&K Holdings Inc. Procedure for restoring the internal predictive mode
US11284072B2 (en) 2010-08-17 2022-03-22 M&K Holdings Inc. Apparatus for decoding an image
KR20120070479A (ko) * 2010-12-21 2012-06-29 한국전자통신연구원 화면 내 예측 방향 정보 부호화/복호화 방법 및 그 장치
EP2670141A4 (en) * 2010-12-27 2016-03-30 Nec Corp VIDEO CODING DEVICE, VIDEO ENCODING DEVICE, VIDEO CODING METHOD, VIDEO ENCODING METHOD AND PROGRAM THEREFOR
JP2012147332A (ja) * 2011-01-13 2012-08-02 Sony Corp 符号化装置および符号化方法、並びに復号装置および復号方法
KR101543138B1 (ko) 2011-03-09 2015-08-07 가부시끼가이샤 도시바 동화상 부호화 방법 및 동화상 복호화 방법
JP5482735B2 (ja) * 2011-05-30 2014-05-07 株式会社Jvcケンウッド 画像復号装置、画像復号方法及び画像復号プログラム、並びに、受信装置、受信方法、及び受信プログラム
TWI612801B (zh) 2011-05-30 2018-01-21 Funai Electric Co Ltd 影像編碼裝置、影像編碼方法及影像編碼程式
WO2012164902A1 (ja) * 2011-05-30 2012-12-06 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法及び画像符号化プログラム、並びに画像復号装置、画像復号方法及び画像復号プログラム
JP5481698B2 (ja) * 2011-05-30 2014-04-23 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法及び画像符号化プログラム
WO2012172791A1 (ja) * 2011-06-13 2012-12-20 パナソニック株式会社 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置および画像符号化復号装置
BR112013032349B1 (pt) * 2011-06-17 2022-09-13 JVC Kenwood Corporation "dispositivo e método de codificação de imagem, dispositivo e método de decodificação de imagem, dispositivo é método de transmissão, e dispositivo e método de recepção
KR20120140181A (ko) 2011-06-20 2012-12-28 한국전자통신연구원 화면내 예측 블록 경계 필터링을 이용한 부호화/복호화 방법 및 그 장치
JP5649524B2 (ja) * 2011-06-27 2015-01-07 日本電信電話株式会社 映像符号化方法,装置,映像復号方法,装置およびそれらのプログラム
PL2749027T3 (pl) 2011-08-25 2020-10-19 Sun Patent Trust Sposoby i urządzenia do kodowania i dekodowania wideo z użyciem zaktualizowanego opisu bufora
WO2013035313A1 (ja) 2011-09-07 2013-03-14 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置及び画像符号化復号装置
CN103283222B (zh) 2011-09-13 2016-10-26 寰发股份有限公司 基于最可能模式的帧内预测模式的方法及装置
SG192791A1 (en) 2011-09-19 2013-09-30 Panasonic Corp Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding, and decoding apparatus
JP2013085096A (ja) * 2011-10-07 2013-05-09 Sony Corp 画像処理装置および方法
PL3742735T3 (pl) 2011-10-19 2022-11-14 Sun Patent Trust Sposób kodowania obrazów, sposób dekodowania obrazów, urządzenie do kodowania obrazów, urządzenie do dekodowania obrazów, i urządzenie do kodowania i dekodowania obrazów
WO2013062193A1 (ko) * 2011-10-24 2013-05-02 (주)인터앱 영상 복호화 방법 및 장치
KR20130049522A (ko) 2011-11-04 2013-05-14 오수미 인트라 예측 블록 생성 방법
US9088796B2 (en) 2011-11-07 2015-07-21 Sharp Kabushiki Kaisha Video decoder with enhanced CABAC decoding
WO2013070028A1 (ko) * 2011-11-11 2013-05-16 엘지전자 주식회사 영상 정보 전송 방법 및 장치와 이를 이용한 복호화 방법 및 장치
KR101620619B1 (ko) 2012-01-30 2016-05-12 한국전자통신연구원 인트라 예측 모드 부호화/복호화 방법 및 장치
WO2013115568A1 (ko) * 2012-01-30 2013-08-08 한국전자통신연구원 인트라 예측 모드 부호화/복호화 방법 및 장치
EP2829065B1 (en) * 2012-03-21 2020-05-13 MediaTek Singapore Pte Ltd. Method and apparatus for intra mode derivation and coding in scalable video coding
WO2013140722A1 (ja) * 2012-03-21 2013-09-26 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、および画像符号化復号装置
TWI666917B (zh) * 2012-04-13 2019-07-21 日商Jvc建伍股份有限公司 影像編碼裝置、影像編碼方法、影像編碼程式
CN103024383B (zh) * 2012-12-14 2016-02-10 北京工业大学 一种基于hevc框架的帧内无损压缩编码方法
CN103237216B (zh) 2013-04-12 2017-09-12 华为技术有限公司 深度图像的编解码方法和编解码装置
JP5856583B2 (ja) * 2013-05-16 2016-02-10 日本電信電話株式会社 イントラ予測方向絞込み方法、イントラ予測方向絞込み装置及びイントラ予測方向絞込みプログラム
US20180048915A1 (en) * 2015-02-27 2018-02-15 Lg Electronics Inc. Method and apparatus for encoding/decoding a video signal
KR20180086203A (ko) * 2015-12-17 2018-07-30 삼성전자주식회사 영상을 부호화/복호화 하는 방법 및 그 장치
EP4037316A1 (en) * 2016-02-16 2022-08-03 Samsung Electronics Co., Ltd. Method for decoding an image
US20170339405A1 (en) * 2016-05-20 2017-11-23 Arris Enterprises Llc System and method for intra coding
CN116630452A (zh) * 2016-06-14 2023-08-22 松下电器(美国)知识产权公司 三维数据编码方法、解码方法、编码装置、解码装置
US10694202B2 (en) * 2016-12-01 2020-06-23 Qualcomm Incorporated Indication of bilateral filter usage in video coding
KR101909022B1 (ko) * 2017-09-12 2018-10-17 만도헬라일렉트로닉스(주) 카메라 자동 초점 조절장치 및 방법
CN109587491B (zh) * 2017-09-28 2022-09-23 腾讯科技(深圳)有限公司 一种帧内预测方法、装置及存储介质
WO2019078292A1 (ja) * 2017-10-19 2019-04-25 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
JP6992825B2 (ja) * 2018-01-30 2022-01-13 富士通株式会社 映像符号化装置、映像符号化方法、映像復号装置、映像復号方法、及び映像符号化システム
CN109561301B (zh) * 2018-10-26 2020-08-11 苏州龙盈软件开发有限公司 一种视频压缩中的预测方法
CN109587493B (zh) * 2018-10-26 2020-08-28 北京宏达一甲教育科技有限公司 一种视频压缩中的预测方法
JP6579727B1 (ja) * 2019-02-04 2019-09-25 株式会社Qoncept 動体検出装置、動体検出方法、動体検出プログラム
US11388419B2 (en) * 2020-02-05 2022-07-12 Apple Inc. Smoothed directional and DC intra prediction

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2507204B2 (ja) * 1991-08-30 1996-06-12 松下電器産業株式会社 映像信号符号化装置
FI116819B (fi) * 2000-01-21 2006-02-28 Nokia Corp Menetelmä kuvien lähettämiseksi ja kuvakooderi
US7706442B2 (en) * 2005-02-15 2010-04-27 Industrial Technology Research Institute Method for coding mode selection of intra prediction in video compression
JP2007116351A (ja) * 2005-10-19 2007-05-10 Ntt Docomo Inc 画像予測符号化装置、画像予測復号装置、画像予測符号化方法、画像予測復号方法、画像予測符号化プログラム、及び画像予測復号プログラム
JP2009111691A (ja) * 2007-10-30 2009-05-21 Hitachi Ltd 画像符号化装置及び符号化方法、画像復号化装置及び復号化方法
TWI359617B (en) * 2008-07-03 2012-03-01 Univ Nat Taiwan Low-complexity and high-quality error concealment
CN101615910B (zh) * 2009-05-31 2010-12-22 华为技术有限公司 压缩编码的方法、装置和设备以及压缩解码方法

Also Published As

Publication number Publication date
US20120020580A1 (en) 2012-01-26
KR20110118641A (ko) 2011-10-31
EP2393296A1 (en) 2011-12-07
CN102301720A (zh) 2011-12-28
TW201110708A (en) 2011-03-16
WO2010087157A1 (ja) 2010-08-05

Similar Documents

Publication Publication Date Title
WO2010087157A1 (ja) 画像符号化方法及び画像復号方法
JP5588438B2 (ja) 画像符号化方法及び画像符号化装置
JP5485983B2 (ja) 動画像符号化方法、動画像復号方法、動画像符号化装置および動画像復号装置
WO2010026770A1 (ja) 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、システム、プログラム、及び集積回路
KR102001259B1 (ko) 화상 부호화 방법, 화상 복호 방법, 화상 부호화 장치, 화상 복호 장치, 및 화상 부호화 복호 장치
WO2010143427A1 (ja) 画像符号化方法、画像復号方法、およびそれらの装置
JP5659160B2 (ja) 動画像復号装置、動画像符号化装置、動画像復号回路及び動画像復号方法
WO2010061607A1 (ja) 動画像復号方法、動画像符号化方法、動画像復号装置、動画像符号化方法、プログラム、及び集積回路
WO2010050156A1 (ja) 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、集積回路およびプログラム
KR102073868B1 (ko) 화상 부호화 방법, 화상 복호 방법, 화상 부호화 장치, 화상 복호 장치, 및 화상 부호화 복호 장치
WO2012169184A1 (ja) 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置
KR20130051950A (ko) 주변 블록의 통계로부터 추론되는 인트라 예측을 위한 필터링 모드
WO2011129100A1 (ja) 画像符号化方法および画像復号化方法
KR101863397B1 (ko) 디블로킹을 위한 효율적인 결정
KR20120046725A (ko) 부호화 방법, 복호 방법, 부호화 장치 및 복호 장치
JPWO2011016251A1 (ja) 符号化方法、復号方法、符号化装置及び復号装置
WO2011134642A1 (en) Predictive coding with block shapes derived from a prediction error
JP5679980B2 (ja) 画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置
JP5546044B2 (ja) 画像復号装置、画像符号化装置、画像復号回路及び画像復号方法
WO2011128055A1 (en) Efficient storing of picture representation using adaptive non-uniform quantizer
WO2011089865A1 (ja) 画像符号化方法、画像復号方法、それらの装置、プログラムおよび集積回路