説明

画像符号化装置及び画像変換装置

【課題】画像データを符号化する際に画質の劣化を抑制することができる技術を提供することを課題とする。
【解決手段】統計値算出部12は、対象マクロブロックMBtの周囲にあるマクロブロックMB1〜MB8を特定し、マクロブロックMB1〜MB8のアクティビティの最小平均値を算出する。マクロブロックMB1〜MB8が平坦であり、かつ、最小平均値が対象マクロブロックMBtのアクティビティよりも小さければ、最小平均値が調整値として設定される。補正係数決定部13は、調整値と係数決定テーブル132に基づいて補正係数Ctを決定する。基準量子化ステップ値と補正係数Ctとが乗算されることで、対象マクロブロックMBtの量子化ステップ値Qtが決定される。量子化ステップ値Qtに、マクロブロックMB1〜MB8のアクティビティの分布状況が反映されるため、量子化ステップ値Qtの局所的な変化が抑制される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、MPEGあるいはH.264などの規格に基づいて画像データを符号化する技術に関する。
【背景技術】
【0002】
デジタル放送で配信される画像や、DVD(Digital Versatile Disk)、ハードディスク装置などに格納される画像などは、各種の符号化方式に従って圧縮される。画像の圧縮は、伝送帯域の圧迫の抑制、あるいは、伝送速度の向上、記憶サイズの縮小などを目的として行われる。
【0003】
従来から採用されてきた符号化方式にMPEG2がある。MPEG2は、記録媒体への記録だけでなく、通信メディア、放送メディアでも利用できる符号化方式である。具体的には、デジタル放送やテレビ会議、テレビ電話システムなどに、MPEG2が広く利用されている。
【0004】
符号化方式には、MPEG2と別の規格として、H.264がある。H.264は、MPEG2と比較して約2倍から4倍の圧縮率の向上が図られている。符号化方式には異なる複数の方式が存在するため、符号化された画像データの符号量の削減などを目的として、符号化方式の変換が行われる場合がある。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2008−42426号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記特許文献1に係るトランスコーダは、MPEG2で符号化された画像データをデコードするデコーダと、デコードされた画像データをH.264で再び符号化するエンコーダとを備える。エンコーダは、デコードされた画像データから、マクロブロック評価値と、マクロブロック評価平均値とを算出する。マクロブロック評価値は、マクロブロック内の画素のばらつき度合いを示す評価値であり、マクロブロックごとに算出される。マクロブロック評価平均値は、1フレーム分のマクロブロック評価値を平均した値である。マクロブロック評価値とマクロブロック評価平均値との差に基づいて、マクロブロックごとに量子化ステップ値が決定される。
【0007】
マクロブロック評価値がフレーム内で局所的に変化することがある。たとえば、符号化対象である対象マクロブロックが、マクロブロック評価値が小さいマクロブロックの割合が多い領域に存在することがある。対象マクロブロックのマクロブロック評価値が周囲のマクロブロックのマクロブロック評価値よりも大きければ、対象マクロブロックは、周囲のマクロブロックよりも粗く量子化される。この結果、再び符号化された画像データの主観画質が低下する。
【0008】
対象のマクロブロックが、マクロブロック評価値の大きいマクロブロックの割合が多い領域に存在することがある。この場合、対象マクロブロックのマクロブロック評価値が周囲のマクロブロックのマクロブロック評価値より小さければ、対象マクロブロックは、周囲のマクロブロックより細かく量子化される。対象マクロブロックが細かく量子化されることにより、再び符号化された画像データの符号量は増加するが、再び符号化された画像データの主観画質の向上に寄与する可能性は小さい。
【0009】
そこで、本発明は前記問題点に鑑み、画像データを符号化する際に、画質の劣化を抑制することができる技術を提供することを目的とする。また、本発明は、画像データの符号化効率を向上することができる技術を提供することを目的とする。
【課題を解決するための手段】
【0010】
上記課題を解決するため、請求項1記載の発明は、画像符号化装置であって、入力された非圧縮画像データを複数のマクロブロックに分割し、各マクロブロックの画素値のばらつき度合いを示すアクティビティを算出する評価値算出部と、量子化ステップ値を決定する対象マクロブロックの周囲に位置する複数の周囲マクロブロックを特定し、前記複数の周囲マクロブロックの各々に対応する複数の周囲アクティビティの統計値を算出する統計値算出部と、前記統計値と前記対象マクロブロックのアクティビティとを比較し、比較結果に基づいて前記対象マクロブロックに対応する補正係数を決定する補正係数決定部と、前記対象マクロブロックに割り当てられた基準量子化ステップ値を前記補正係数に基づいて補正して、前記対象マクロブロックの量子化に用いる量子化ステップ値を決定する量子化ステップ値決定部と、を備えることを特徴とする。
【0011】
請求項2記載の発明は、請求項1に記載の画像符号化装置において、前記補正係数決定部は、前記比較結果に基づいて前記対象マクロブロックのアクティビティを調整した調整値を生成するアクティビティ調整部と、予め定められた調整値と補正係数との対応関係を示す係数決定テーブルと、を含み、前記補正係数は、生成された前記調整値と前記係数決定テーブルとに基づいて決定されることを特徴とする。
【0012】
請求項3記載の発明は、請求項2に記載の画像符号化装置において、前記統計値は、最大平均値と、最小平均値と、を含み、前記最大平均値は、前記複数の周囲アクティビティの平均値を算出し、前記複数の周囲アクティビティのうち前記平均値よりも大きい一つ以上の周囲アクティビティを平均することにより算出され、前記最小平均値は、前記複数の周囲アクティビティのうち前記平均値よりも小さい一つ以上の周囲アクティビティを平均することにより算出され、前記補正係数決定部は、前記最大平均値と、前記最小平均値と、前記対象マクロブロックのアクティビティとを比較することを特徴とする。
【0013】
請求項4記載の発明は、請求項2に記載の画像符号化装置において、前記統計値は、最大平均値と、最小平均値と、を含み、前記最大平均値は、前記複数の周囲アクティビティのうち、前記複数の周囲アクティビティの中央値以上の値を有する一つ以上の周囲アクティビティを平均することにより算出され、前記最小平均値は、前記複数の周囲アクティビティのうち、前記複数の周囲アクティビティの中央値以下の値を有する一つ以上の周囲アクティビティを平均することにより算出され、前記補正係数決定部は、前記最大平均値と、前記最小平均値と、前記対象マクロブロックのアクティビティとを比較することを特徴とする。
【0014】
請求項5記載の発明は、請求項3または請求項4に記載の画像符号化装置において、前記アクティビティ調整部は、前記最小平均値が予め定められたしきい値よりも小さければ前記最小平均値と前記対象マクロブロックのアクティビティとを比較し、前記最小平均値が前記対象マクロブロックのアクティビティよりも小さければ前記最小平均値を前記調整値として決定することを特徴とする。
【0015】
請求項6記載の発明は、請求項5に記載の画像符号化装置において、前記アクティビティ調整部は、前記最小平均値が前記対象マクロブロックのアクティビティよりも大きければ、前記対象マクロブロックのアクティビティを前記調整値として決定することを特徴とする。
【0016】
請求項7記載の発明は、請求項5または請求項6に記載の画像符号化装置において、前記アクティビティ調整部は、前記最小平均値が予め定められたしきい値よりも大きければ前記最大平均値と前記対象マクロブロックのアクティビティとを比較し、前記最大平均値が前記対象マクロブロックのアクティビティよりも大きければ前記最大平均値を前記調整値として決定する。
【0017】
請求項8記載の発明は、請求項7に記載の画像符号化装置において、前記アクティビティ調整部は、前記最大平均値が前記対象マクロブロックのアクティビティよりも小さければ、前記対象マクロブロックのアクティビティを前記調整値として決定することを特徴とする。
【0018】
請求項9記載の発明は、画像変換装置であって、符号化画像データをデコードする画像復号化装置と、請求項1ないし請求項8のいずれかに記載の前記画像符号化装置と、を備え、前記画像復号化装置は、デコードした画像データを、非圧縮画像データとして前記画像符号化装置に入力することを特徴とする。
【発明の効果】
【0019】
本発明に係る画像符号化装置は、対象マクロブロックのアクティビティと周囲アクティビティの統計値とに基づいて補正係数を決定し、補正係数と基準量子化ステップ値とに基づいて対象マクロブロックの量子化ステップ値を決定する。対象マクロブロックの量子化ステップ値が周囲マクロブロックの分布状況を考慮して決定されるため、量子化ステップ値の局所的なばらつきが抑制される。
【0020】
周囲マクロブロックが平坦であり、対象マクロブロックの変化が大きい場合、対象マクロブロックは、周囲マクロブロックと同様に細かく量子化されるため、符号化された画像データの画質が向上する。周囲マクロブロックの変化が大きく、対象マクロブロックが平坦な場合、対象マクロブロックは、周囲マクロブロックと同様に粗く量子化されるため、符号化効率が向上する。
【図面の簡単な説明】
【0021】
【図1】本発明の第1の実施の形態に係る画像符号化装置の機能的構成を示すブロック図である。
【図2】量子化ステップ値を決定する流れを示すフローチャートである。
【図3】対象マクロブロックと周囲マクロブロックとの位置関係を示す図である。
【図4】最大平均値及び最小平均値を算出する第1の方法を説明する図である。
【図5】最大平均値及び最小平均値を算出する第2の方法を説明する図である。
【図6】対象マクロブロックの調整値を決定する流れを示すフローチャートである。
【図7】係数決定テーブルを示す図である。
【図8】本発明の第2の実施の形態に係る画像変換装置の機能的構成を示すブロック図である。
【発明を実施するための形態】
【0022】
以下、図面を参照しつつ本発明の実施の形態について説明する。
【0023】
[第1の実施の形態]
{1.画像符号化装置1の構成}
図1は、本実施の形態に係る画像符号化装置1の機能的構成を示すブロック図である。図1に示すように、画像符号化装置1は、入力された非圧縮画像データをH.264方式で符号化して、H.264画像データを出力する装置である。画像符号化装置1は、アクティビティ算出部11と、統計値算出部12と、補正係数決定部13と、量子化ステップ値決定部14と、符号化部15とを備える。
【0024】
アクティビティ算出部11は、非圧縮画像データをマクロブロックに分割し、マクロブロックごとのアクティビティACTを算出する。アクティビティACTは、マクロブロック内の画素のばらつき度合いを示す数値である。
【0025】
統計値算出部12は、量子化ステップ値を決定する対象マクロブロックの周囲に位置する複数の周囲マクロブロックを特定する。統計値算出部12は、複数の周囲マクロブロックの各々に対応する複数の周囲アクティビティの統計値を算出する。統計値は、複数の周囲アクティビティの分布状況を示す値である。統計値には、後述する最大平均値AVE_Maxと最小平均値AVE_Minとが含まれる。
【0026】
補正係数決定部13は、統計値と対象マクロブロックのアクティビティACT_tとを比較し、比較結果に基づいて対象マクロブロックに対応する補正係数Ctを決定する。
【0027】
補正係数決定部13は、アクティビティ調整部131と係数決定テーブル132とを含む。アクティビティ調整部131は、対象マクロブロックの調整値を比較結果に基づいて決定する。調整値は、周囲アクティビティの分布状況に応じて、アクティビティACT_tを調整した値である。係数決定テーブル132は、調整値と補正係数Ctとの対応関係を定めたテーブルである。補正係数Ctは、決定された調整値と係数決定テーブル132とに基づいて決定される。
【0028】
量子化ステップ値決定部14は、対象マクロブロックに割り当てられた基準量子化ステップ値を補正係数Ctに基づいて補正して、対象マクロブロックの量子化に用いる量子化ステップ値Qtを算出する。基準量子化ステップ値は、画像符号化装置1に予め設定されたH.264画像データの目標符号量に基づいて決定される。
【0029】
符号化部15は、非圧縮画像データを直交変換して、マクロブロックごとの周波数成分のデータを生成する。符号化部15は、周波数成分のデータを、各マクロブロックに対応する量子化ステップ値で量子化して、H.264画像データを生成する。
【0030】
画像符号化装置1は、周囲アクティビティの分布状況に基づいて量子化ステップ値Qtを決定する。この結果、H.264画像データにおける量子化ステップ値の局所的なばらつきが抑制されるため、H.264画像データの主観画質の低下が抑制されるとともに、符号化効率が向上する。
【0031】
{2.量子化ステップ値Qtの決定の流れ}
図2は、対象マクロブロックの量子化ステップ値Qtを決定する流れを示すフローチャートである。
【0032】
{2.1.アクティビティの算出}
まず、アクティビティ算出部11は、画像符号化装置1に入力された非圧縮画像データをマクロブロックに分割し、マクロブロックごとにアクティビティACTを算出する(ステップS1)。
【0033】
ここで、アクティビティACTを詳しく説明する。アクティビティACTは、上述したように、マクロブロック内の画素のばらつき度合いを示す評価値である。アクティビティACTは、あるマクロブロック内の画素平均値とマクロブロック内の各画素の画素値との差分絶対値和である。アクティビティACTは、MPEG2の符号量制御モデルなどで用いられるActivity値と同様である。
【0034】
マクロブロック内の画像が平坦な画像であれば、アクティビティACTは小さくなる。一方、マクロブロック内の画像が変化の大きい画像であれば、アクティビティACTは大きくなる。つまり、アクティビティACTが大きいマクロブロックは、画像の変化の大きいマクロブロックであり、アクティビティACTが小さいマクロブロックは、平坦な画像からなるマクロブロックであると言える。
【0035】
アクティビティACTを算出する際には、マクロブロック内の画素の輝度値を用いて演算すればよい。つまり、マクロブロック内の画素の輝度値平均値とマクロブロック内の各画素の輝度値との差分絶対値和を計算することで、アクティビティACTを算出することができる。たとえば、非圧縮画像データが、YCbCr空間の画像データであれば、各画素のY成分の画素値を用いてアクティビティACTを算出すればよい。ただし、輝度成分以外の画素値を用いてもよい。たとえば、RGB空間の画像データであれば、G成分の画素値を用いてアクティビティACTを算出してもよいし、その他の成分の画素値を用いてアクティビティACTを算出してもよい。
【0036】
{2.2.統計値の算出}
次に、統計値算出部12は、対象マクロブロックと周囲マクロブロックとを特定し、周囲マクロブロックの統計値として、最大平均値AVE_Max及び最小平均値AVE_Minを算出する(ステップS2)。
【0037】
図3は、対象マクロブロックと周囲マクロブロックとの位置関係を示す図である。図3に示すように、対象マクロブロックMBtを取り囲むように位置する8個のマクロブロックが、周囲マクロブロックMB1〜MB8として特定される。ただし、対象マクロブロックMBtを取り囲むように位置する24個のマクロブロックを、周囲マクロブロックMB1〜MB24として特定してもよい。
【0038】
最大平均値AVE_Max及び最小平均値AVE_Minの算出は、以下に説明する2通りの計算方法のいずれかにより算出される。
【0039】
(最大平均値及び最小平均値の算出(その1))
図4は、最大平均値AVE_Max及び最小平均値AVE_Minを算出する第1の方法を説明する図である。図4に示す周囲アクティビティACT1〜ACT8の値は、図3に示す周囲アクティビティACT1〜ACT8の値に対応する。図4では、周囲アクティビティACT1〜ACT8が値の大きい順に配列されている。
【0040】
最大平均値AVE_Maxを求める場合、統計値算出部12は、周囲アクティビティACT1〜ACT8のうち、大きさが上位4位の周囲アクティビティを抽出する。すなわち、アクティビティACT1〜ACT8の中央値以上の大きさの周囲アクティビティが抽出される。統計値算出部12は、抽出された4つの周囲アクティビティを平均して、最大平均値AVE_Maxを算出する。図4に示すように、上位4位の周囲アクティビティACT2,ACT3,ACT8,ACT6の値は、1107,1074,1051,1013である。このため、第1の方法により算出される最大平均値AVE_Maxは、1061.25となる。
【0041】
最小平均値AVE_Minを求める場合、統計値算出部12は、周囲アクティビティACTの大きさが下位4位の周囲アクティビティを抽出する。すなわち、周囲アクティビティACT1〜ACT8の中央値以下の周囲アクティビティが抽出される。統計値算出部12は、抽出された下位4位の周囲アクティビティを平均して、最小平均値AVE_Minを算出する。図4に示すように、下位4位の周囲アクティビティACT1,ACT5,ACT4,ACT7の値は、1009,966,923,911である。このため、第1の方法により算出される最小平均最AVE_Minは、987.5となる。
【0042】
(最大平均値及び最小平均値の算出(その2))
図5は、最大平均値AVE_Max及び最小平均値AVE_Minを算出する第2の方法を説明する図である。統計値算出部12は、周囲アクティビティACT1〜ACT8を平均した全体平均値を算出する。図5に示すように、全体平均値は、1006.75となる。
【0043】
最大平均値AVE_Maxを求める場合、統計値算出部12は、全体平均値よりも大きい周囲アクティビティを抽出する。統計値算出部12は、抽出された周囲アクティビティを平均して、最大平均値AVE_Maxを算出する。図5に示すように、周囲アクティビティACT2,ACT3,ACT8,ACT6,ACT1が全体平均値より大きい。このため、第2の方法により算出される最大平均値AVE_Maxは、1050.8となる。
【0044】
最小平均値AVE_Minを求める場合、統計値算出部12は、全体平均値より小さい周囲アクティビティを抽出する。抽出された周囲アクティビティを平均することで、最小平均値AVE_Minが算出される。図5に示すように、周囲アクティビティACT5,ACT4,ACT7が、全体平均値より小さい。このため、第2の方法により算出される最小平均値AVE_Minは、933.3となる。
【0045】
このようにして、最大平均値AVE_Max及び最小平均値AVE_Minが算出される。画像符号化装置1が、第1の方法及び第2の方法のどちらを用いて最大平均値AVE_Max及び最小平均値AVE_Minを算出するかを設定できるようにしてもよい。
【0046】
本実施の形態では、対象マクロブロックMBtに隣接するマクロブロックのうち、一部のマクロブロックを周囲マクロブロックとしてもよい。周囲マクロブロックの数が奇数であり、かつ、第1の方法により最大平均値AVE_Max及び最小平均値AVE_Minを算出する場合、中央値となる周囲アクティビティが存在する。この場合、中央値となる周囲アクティビティを上位及び下位の両者のグループに入れてもよいし、入れなくてもよい。
【0047】
{2.3.調整値の決定}
再び、図2を参照する。アクティビティ算出部11は、対象マクロブロックMBtのアクティビティACT_tを補正係数決定部13に入力する。統計値算出部12は、最大平均値AVE_Max及び最小平均値AVE_Minを補正係数決定部13に入力する。アクティビティ調整部131が、アクティビティACT_t、最大平均値AVE_Max及び最小平均値AVE_Minを用いて、対象マクロブロックMBtの調整値を決定する(ステップS3)。調整値は、量子化ステップ値Qtを決めるために用いられる。調整値が大きくなるほど、量子化ステップ値Qtは粗く(大きく)なる。量子化ステップ値Qtの決定の詳細は、後述する。
【0048】
対象マクロブロックMBtの調整値の決定について、図6を用いて詳しく説明する。図6は、調整値を決定する流れを示すフローチャートである。
【0049】
図6に示すように、アクティビティ調整部131は、最小平均値AVE_Minと予め設定されたしきい値Thとを比較する(ステップS31)。
【0050】
最小平均値AVE_Minがしきい値Thよりも大きい場合(ステップS31でYes)、アクティビティ調整部131は、変化の大きい画像を有するマクロブロックが周囲マクロブロックMB1〜MB8の中で多くの割合を占めていると判定する。したがって、調整値は、量子化ステップ値Qtを粗く設定するために大きめに設定される。具体的には、アクティビティ調整部131は、最大平均値AVE_MaxとアクティビティACT_tとを比較する(ステップS32)。
【0051】
最大平均値AVE_MaxがアクティビティACT_tよりも大きければ(ステップS32でYes)、アクティビティ調整部131は、調整値として最大平均値AVE_Maxを用いることを決定する(ステップS33)。対象マクロブロックMBtは、画像の変化の大きいマクロブロックが多くの割合を占める領域の中で、比較的平坦な画像を有していると判定される。対象マクロブロックMBtが粗く量子化されても、H.264画像データの主観画質は低下しないため、調整値には、アクティビティACT_tよりも大きい最大平均値AVE_Maxが用いられる。これにより、H.264画像データの主観画質を低下させることなく、符号化効率を向上させることができる。
【0052】
一方、アクティビティACT_tが最大平均値AVE_Maxよりも大きければ(ステップS32でNo)、アクティビティ調整部131は、調整値としてアクティビティACT_tを用いることを決定する(ステップS34)。対象マクロブロックMBtが、周囲マクロブロックMB1〜MB8と同様に変化の大きい画像を有するため、対象マクロブロックMBtを細かく量子化する必要はない。アクティビティACT_tを調整値として用いることで、対象マクロブロックMBtの特徴を維持したまま、対象マクロブロックMBtを量子化することができる。
【0053】
ステップS31の説明に戻る。最小平均値AVE_Minがしきい値Thより小さい場合(ステップS31でNo)、アクティビティ調整部131は、平坦な画像を有するマクロブロックが周囲マクロブロックMB1〜MB8の中で多くの割合を占めていると判定する。したがって、調整値は、量子化ステップ値Qtを細かく設定するために小さめに設定される。具体的には、アクティビティ調整部131は、最小平均値AVE_MinとアクティビティACT_tとを比較する(ステップS35)。
【0054】
最小平均値AVE_MinがアクティビティACT_tよりも小さければ(ステップS35でYes)、アクティビティ調整部131は、調整値として最小平均値AVE_Minを用いることを決定する(ステップS36)。この場合、対象マクロブロックMBtは、平坦な画像を有するマクロブロックが多くの割合を占める領域の中で、比較的変化の大きい画像を有していると判定される。対象マクロブロックMBtが周囲マクロブロックMB1〜MB8よりも粗く量子化されることにより、主観画質が低下するおそれがある。このため、調整値には、アクティビティACT_tよりも小さい最小平均値AVE_Minが用いられる。対象マクロブロックMBtは、周囲マクロブロックMB1〜MB8と同様に細かく量子化される。
【0055】
一方、アクティビティACT_tが最小平均値AVE_Minよりも小さければ(ステップS35でNo)、アクティビティ調整部131は、調整値としてアクティビティACT_tを用いることを設定する(ステップS37)。対象マクロブロックMBtが、周囲マクロブロックMB1〜MB8と同様に平坦な画像を有するため、対象マクロブロックMBtを粗く量子化する必要はない。アクティビティACT_tを調整値として用いることで、対象マクロブロックMBtの特徴を維持したまま、対象マクロブロックMBtを量子化することができる。
【0056】
このように、アクティビティACT_tと、最大平均値AVE_Maxと、最小平均値AVE_Minとを比較することにより、調整値が決定される。つまり、調整値は、周囲アクティビティACT1〜ACT8の分布状況を考慮して、アクティビティACT_tを再設定した値といえる。
【0057】
{2.4.補正係数の決定}
再び、図2を参照する。ステップS3において調整値が決定された後に、補正係数決定部13は、調整値と係数決定テーブル132とに基づいて、対象マクロブロックMBtの補正係数Ctを決定する(ステップS4)。補正係数Ctは、対象マクロブロックMBtに対応する量子化ステップ値Qtを決定するパラメータである。
【0058】
図7は、係数決定テーブル132を示す図である。図7に示すように、係数決定テーブル132は、調整値と補正係数Ctとの対応関係を示すテーブルである。係数決定テーブル132では、調整値が小さくなるにつれて、補正係数Ctが小さくなるように設定される。たとえば、調整値が967であれば、補正係数Ctは0.88に決定される。調整値が2147であれば、補正係数Ctは、1.25に決定される。
【0059】
係数決定テーブル132において、調整値の範囲及び補正係数Ctは、任意に設定することができる。たとえば、非圧縮画像データが風景を記録した動きの少ない画像であれば、各マクロブロックが細かく量子化されるように、補正係数Ctの値を小さく設定することができる。
【0060】
本実施の形態では、補正係数決定部13は、一つの係数決定テーブル132を保持している。しかし、補正係数決定部13は、複数の係数決定テーブル132を保持していてもよい。たとえば、補正係数決定部13は、圧縮画像データのフレームの種別(Iピクチャ、Pピクチャ、及びBピクチャなど)に応じた複数の係数決定テーブル132を保持してもよい。
【0061】
{2.5.量子化ステップ値Qtの算出}
再び、図2を参照する。ステップS4において、補正係数決定部13は、ステップS4において対象マクロブロックMBtの補正係数Ctを決定した後に、決定した補正係数Ctを量子化ステップ値決定部14に入力する。量子化ステップ値決定部14は、対象マクロブロックMBtに割り当てられた基準量子化ステップ値に補正係数Ctを乗算した値を、量子化ステップ値Qtに決定する(ステップS5)。基準量子化ステップ値は、たとえば、画像符号化装置1に予め設定されたH.264データの目標ビットレートに基づいて決定される。基準量子化ステップ値と補正係数Ctとが乗算されて量子化ステップ値Qtが算出されることから、調整値が小さくなるにつれて量子化ステップ値Qtも小さくなることがわかる。
【0062】
量子化ステップ値決定部14は、量子化ステップ値Qtを符号化部15に入力する。符号化部15は、対象マクロブロックMBtを直交変換した周波数成分のデータを量子化ステップ値Qtを用いて量子化して、対象マクロブロックMBtを符号化する。
【0063】
このように、対象マクロブロックMBtの量子化ステップ値Qtは、周囲アクティビティACT1〜ACT8の分布状況を考慮して決定される。この結果、H.264画像データの画質と符号化効率を向上させることができる。
【0064】
具体的には、周囲マクロブロックMB1〜MB8で画像が平坦であると判定された場合、対象マクロブロックMBtは、画像の変化が大きくても、周囲マクロブロックMB1〜MB8と同程度の細かさで量子化される。画像が平坦な領域の中で対象マクロブロックMBtが粗く量子化されないため、H.264画像データの主観画質を向上することができる。
【0065】
周囲マクロブロックMB1〜MB8で画像の変化が大きいと判定された場合、対象マクロブロックMBtは、画像が平坦であっても、周囲マクロブロックMB1〜MB8と同程度の粗さで量子化される。画像の変化の大きい領域の中で対象マクロブロックMBtが細かく量子化されないため、不必要なビット割り当てを抑制して、符号化効率を向上することができる。
【0066】
[第2の実施の形態]
図8は、本実施の形態に係る画像変換装置2の機能的構成を示すブロック図である。画像変換装置2は、画像復号化装置21と、画像符号化装置1とを備える。画像符号化装置1は、上記第1の実施の形態で説明した装置である。
【0067】
画像復号化装置21は、MPEG2デコーダである。画像復号化装置21は、MPEG2方式で符号化されたMPEG2画像データを復号化して、非圧縮画像データを生成する。非圧縮画像データは、画像符号化装置1に入力される。
【0068】
画像符号化装置1は、上記第1の実施の形態で説明した手順と同様の手順で、非圧縮画像データをH.264方式で再び符号化する。ただし、画像符号化装置1において、量子化ステップ値決定部14は、画像復号化装置21から取得した量子化ステップ平均値Q_Aveを基準量子化ステップ値として用いる。
【0069】
量子化ステップ平均値Q_Aveは、MPEG2画像データの1フレーム内の全マクロブロックの量子化ステップ値を平均した値である。画像復号化装置21は、MPEG2画像データを復号化するときに量子化ステップ平均値Q_Aveを生成する。量子化ステップ平均値Q_Aveを基準量子化ステップ値として用いることにより、画質を大きく低下させることなく、MPEG2画像データからH.264画像データに変換することができる。
【0070】
量子化ステップ値決定部14は、量子化ステップ平均値Q_Aveと、対象マクロブロックMBtの補正係数Ctとを乗算することにより、対象マクロブロックMBtの量子化ステップ値Qtを算出する。
【0071】
本実施の形態では、基準量子化ステップ値として第1の実施の形態と同様に、H.264データの目標ビットレートから決められた値を用いてもよい。これにより、MPEG2画像データから変換されたH.264画像データの符号量を、目標レートまで削減することができる。
【0072】
図8では、画像変換装置2として、MPEG2画像データをH.264画像データ1に変換するトランスコーダを示している。しかし、画像変換装置2は、入力されたH.264画像データを、H.264画像データに再変換するトランスレータであってもよい。
【符号の説明】
【0073】
1 画像符号化装置
2 画像変換装置
11 アクティビティ算出部
12 統計値算出部
13 補正係数決定部
14 量子化ステップ値決定部
15 符号化部
21 画像復号化装置
131 アクティビティ調整部
132 係数決定テーブル

【特許請求の範囲】
【請求項1】
入力された非圧縮画像データを複数のマクロブロックに分割し、各マクロブロックの画素値のばらつき度合いを示すアクティビティを算出する評価値算出部と、
量子化ステップ値を決定する対象マクロブロックの周囲に位置する複数の周囲マクロブロックを特定し、前記複数の周囲マクロブロックの各々に対応する複数の周囲アクティビティの統計値を算出する統計値算出部と、
前記統計値と前記対象マクロブロックのアクティビティとを比較し、比較結果に基づいて前記対象マクロブロックに対応する補正係数を決定する補正係数決定部と、
前記対象マクロブロックに割り当てられた基準量子化ステップ値を前記補正係数に基づいて補正して、前記対象マクロブロックの量子化に用いる量子化ステップ値を決定する量子化ステップ値決定部と、
を備えることを特徴とする画像符号化装置。
【請求項2】
請求項1に記載の画像符号化装置において、
前記補正係数決定部は、
前記比較結果に基づいて前記対象マクロブロックのアクティビティを調整した調整値を生成するアクティビティ調整部と、
予め定められた調整値と補正係数との対応関係を示す係数決定テーブルと、
を含み、
前記補正係数は、生成された前記調整値と前記係数決定テーブルとに基づいて決定されることを特徴とする画像符号化装置。
【請求項3】
請求項2に記載の画像符号化装置において、
前記統計値は、
最大平均値と、
最小平均値と、
を含み、
前記最大平均値は、前記複数の周囲アクティビティの平均値を算出し、前記複数の周囲アクティビティのうち前記平均値よりも大きい一つ以上の周囲アクティビティを平均することにより算出され、
前記最小平均値は、前記複数の周囲アクティビティのうち前記平均値よりも小さい一つ以上の周囲アクティビティを平均することにより算出され、
前記補正係数決定部は、前記最大平均値と、前記最小平均値と、前記対象マクロブロックのアクティビティとを比較することを特徴とする画像符号化装置。
【請求項4】
請求項2に記載の画像符号化装置において、
前記統計値は、
最大平均値と、
最小平均値と、
を含み、
前記最大平均値は、前記複数の周囲アクティビティのうち、前記複数の周囲アクティビティの中央値以上の値を有する一つ以上の周囲アクティビティを平均することにより算出され、
前記最小平均値は、前記複数の周囲アクティビティのうち、前記複数の周囲アクティビティの中央値以下の値を有する一つ以上の周囲アクティビティを平均することにより算出され、
前記補正係数決定部は、前記最大平均値と、前記最小平均値と、前記対象マクロブロックのアクティビティとを比較することを特徴とする画像符号化装置。
【請求項5】
請求項3または請求項4に記載の画像符号化装置において、
前記アクティビティ調整部は、前記最小平均値が予め定められたしきい値よりも小さければ前記最小平均値と前記対象マクロブロックのアクティビティとを比較し、前記最小平均値が前記対象マクロブロックのアクティビティよりも小さければ前記最小平均値を前記調整値として決定することを特徴とする画像符号化装置。
【請求項6】
請求項5に記載の画像符号化装置において、
前記アクティビティ調整部は、前記最小平均値が前記対象マクロブロックのアクティビティよりも大きければ、前記対象マクロブロックのアクティビティを前記調整値として決定することを特徴とする画像符号化装置。
【請求項7】
請求項5または請求項6に記載の画像符号化装置において、
前記アクティビティ調整部は、前記最小平均値が予め定められたしきい値よりも大きければ前記最大平均値と前記対象マクロブロックのアクティビティとを比較し、前記最大平均値が前記対象マクロブロックのアクティビティよりも大きければ前記最大平均値を前記調整値として決定することを特徴とする画像符号化装置。
【請求項8】
請求項7に記載の画像符号化装置において、
前記アクティビティ調整部は、前記最大平均値が前記対象マクロブロックのアクティビティよりも小さければ、前記対象マクロブロックのアクティビティを前記調整値として決定することを特徴とする画像符号化装置。
【請求項9】
符号化画像データをデコードする画像復号化装置と、
請求項1ないし請求項8のいずれかに記載の前記画像符号化装置と、
を備え、
前記画像復号化装置は、デコードした画像データを、非圧縮画像データとして前記画像符号化装置に入力することを特徴とする画像変換装置。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2011−135334(P2011−135334A)
【公開日】平成23年7月7日(2011.7.7)
【国際特許分類】
【出願番号】特願2009−293040(P2009−293040)
【出願日】平成21年12月24日(2009.12.24)
【出願人】(591128453)株式会社メガチップス (322)
【Fターム(参考)】