説明

画像変換装置

【課題】符号化画像データを変換する画像変換装置において、演算量を削減することができる技術を提供することを課題とする。
【解決手段】トランスコーダ1は、MPEG2データ51をデコードして非圧縮画像データ52を生成するデコーダ2と、非圧縮画像データ52をH.264データ53に符号化するエンコーダ3とを備える。エンコーダ3は、H.264データ53のターゲットMBの動きベクトルを決定する動きベクトル決定部4を含む。動きベクトル決定部4は、ターゲットMBの動きベクトルの候補となる複数の候補ベクトルを、MPEG2画像データ51の動きベクトルの中から選択する。各候補ベクトルに対応する指定領域における非圧縮画像データ52のアクティビティが算出される。動きベクトル決定部4は、算出したアクティビティに基づいて、複数の候補ベクトルの中からターゲットMBの動きベクトルを決定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、MPEGあるいはH.264/AVCなどの規格に基づいて符号化画像データを変換する技術に関する。
【背景技術】
【0002】
デジタル放送で配信される画像や、DVD、ハードディスクなどに格納される画像などは、各種の符号化方式に従って圧縮される。これは、伝送帯域を圧迫しないため、伝送速度を上げるため、あるいは、記憶サイズを小さくするなどの目的のためである。
【0003】
画像の符号化方式には、MPEG2やH.264/AVC(以下、単に「H.264」と呼ぶ。)など様々な規格が存在する。符号化画像データの符号量をさらに削減するなどの目的で符号化方式の変換が行われる場合がある。トランスコーダなどの画像変換装置は、入力した符号化画像データを一旦デコードする。そして、トランスコーダは、デコードした画像データを、再び異なる符号化方式(あるいは同じ符号化方式)で符号化する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−136187号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記特許文献1に係るトランスコード装置は、MPEG2データをデコードし、デコードされた非圧縮画像データをH.264で符号化する。非圧縮画像データのマクロブロックを符号化するとき、特許文献1に係るトランスコード装置は、マクロブロックの位置に対応するMPEG2のマクロブロックの動きベクトルの値をそのまま利用する。
【0006】
この場合、利用する動きベクトルの数が増加するほど、動きベクトルを用いた符号化のための演算量が増加する。したがって、特許文献1に係るトランスコード装置は、地上波デジタル放送をハードディスクレコーダに録画するときなど、リアルタイム性が要求される処理に利用することが困難であった。
【0007】
そこで、本発明は、前記問題点に鑑み、符号化画像データを変換する画像変換装置において、演算量を削減することができる技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するために、請求項1記載の発明は、画像変換装置であって、第1符号化方式で符号化された入力画像データをデコードして非圧縮画像データを生成するデコーダと、前記非圧縮画像データを第2符号化方式でエンコードして出力画像データを生成するエンコーダと、前記出力画像データの第1マクロブロックの動きベクトルを決定する動きベクトル決定部と、を備え、前記動きベクトル決定部は、前記第1マクロブロックの位置に基づいて、前記第1マクロブロックの動きベクトルの候補となる複数の候補ベクトルを、前記入力画像データの動きベクトルの中から選択する候補ベクトル選択部と、選択された各候補ベクトルに対応する指定領域のアクティビティを算出するアクティビティ算出部と、算出されたアクティビティに基づいて、前記複数の候補ベクトルの中から前記第1マクロブロックの動きベクトルを決定する比較部と、を含む。
【0009】
請求項2記載の発明は、請求項1に記載の画像変換装置において、前記入力画像データは、インターレース画像が符号化されたデータであり、前記第1マクロブロックは、上下方向のいずれか一方に隣接する第2マクロブロックとマクロブロックペアを構成し、前記マクロブロックペア単位でフィールド符号化され、前記候補ベクトル選択部は、前記マクロブロックペアに対応する位置にある前記入力画像データの二つのソースマクロブロックがそれぞれ有する動きベクトルを、前記複数の候補ベクトルとして選択し、前記アクティビティ算出部は、前記二つのソースマクロブロックのそれぞれに対応するアクティビティを算出し、前記比較部は、算出されたアクティビティに基づいて、前記二つのソースマクロブロックの中から第1ソースマクロブロックを選択し、前記第1ソースマクロブロックが有する動きベクトルを、前記第1マクロブロック及び前記第2マクロブロックの動きベクトルとして決定する。
【0010】
請求項3記載の発明は、請求項2に記載の画像変換装置において、前記第1ソースマクロブロックが、フィールド符号化され、かつ、第1フィールド及び第2フィールドを含み、前記比較部は、前記第1マクロブロックが前記第1フィールドに対応する場合、前記第1フィールドが有する動きベクトルを前記第1マクロブロックの動きベクトルとして決定し、前記第2フィールドが有する動きベクトルを前記第2マクロブロックの動きベクトルとして決定する。
【0011】
請求項4記載の発明は、請求項2に記載の画像変換装置において、前記第1ソースマクロブロックが、フレーム符号化され、かつ、一つの候補ベクトルを有し、前記比較部は、前記一つの候補ベクトルを、前記第1マクロブロック及び前記第2マクロブロックの動きベクトルとして決定する。
【0012】
請求項5記載の発明は、請求項3に記載の画像変換装置において、前記第1ソースマクロブロックが、フレーム符号化され、かつ、第1候補ベクトル及び第2候補ベクトルを含み、前記アクティビティ算出部は、前記第1候補ベクトル及び前記第2候補ベクトルのそれぞれに対応するアクティビティを算出し、前記比較部は、前記第1候補ベクトル及び前記第2候補ベクトルのそれぞれに対応するアクティビティに基づいて、前記第1候補ベクトル及び前記第2候補ベクトルのいずれか一つを、前記第1マクロブロック及び前記第2マクロブロックの動きベクトルとして決定する。
【0013】
請求項6記載の発明は、請求項1ないし請求項5のいずれかに記載の画像変換装置において、前記入力画像データは、インターレース画像が符号化されたデータであり、前記第1マクロブロックがフレーム符号化される場合、前記複数の候補ベクトルは、前記第1マクロブロックの位置に対応する前記入力画像データのマクロブロックに含まれ、前記アクティビティ算出部は、各候補ベクトルに対応するアクティビティを算出し、前記比較部は、各候補ベクトルに対応するアクティビティに基づいて、前記複数の候補ベクトルのうちいずれか一つを前記第1マクロブロックの動きベクトルとして決定する。
【発明の効果】
【0014】
本発明の画像変換装置は、第1マクロブロックの動きベクトルとなり得る複数の候補ベクトルを入力画像データから選択し、各候補ベクトルの指定領域に対応する非圧縮画像データのアクティビティを算出する。画像変換装置は、各指定領域のアクティビティに基づいて、複数の候補ベクトルのいずれかを、第1マクロブロックの動きベクトルとして決定する。これにより、非圧縮画像データを第2符号化方式で符号化する際に、入力画像データの全ての動きベクトルを用いる必要がないため、演算量が削減される。したがって、入力画像データをリアルタイムに変換することが可能となる。
【図面の簡単な説明】
【0015】
【図1】本発明の実施の形態に係る画像変換装置の機能的構成を示すブロック図である。
【図2】動きベクトル決定部の機能的構成を示すブロック図である。
【図3A】MPEG2データのマクロブロックの構成を示す図である。
【図3B】H.264データのマクロブロックの構成を示す図である。
【図4】フィールドの対応関係を示す図である。
【図5】ターゲットマクロブロックの動きベクトルを決定する流れを示すフローチャートである。
【図6】ターゲットマクロブロックの動きベクトルを示す図である。
【図7A】MPEG2データのマクロブロックの動きベクトルと、H.264データのマクロブロックの動きベクトルとの対応を示す図である。
【図7B】MPEG2データのマクロブロックの動きベクトルと、H.264データのマクロブロックの動きベクトルとの対応を示す図である。
【図7C】MPEG2データのマクロブロックの動きベクトルと、H.264データのマクロブロックの動きベクトルとの対応を示す図である。
【図8】ターゲットマクロブロックの動きベクトルを示す図である。
【図9】ターゲットマクロブロックの動きベクトルを示す図である。
【発明を実施するための形態】
【0016】
[第1の実施の形態]
以下、図面を参照しつつ、本発明の実施の形態について説明する。
【0017】
{1.トランスコーダの構成}
図1は、本実施の形態に係るトランスコーダ1の機能的構成を示すブロック図である。図1に示すように、トランスコーダ1は、MPEG2データ51をH.264/AVC(以下、単に「H.264」と呼ぶ。)データ53に変換する画像変換装置である。トランスコーダ1は、MPEG2デコーダ2と、H.264エンコーダ3とを備えている。
【0018】
MPEG2デコーダ2は、MPEG2方式で符号化されたMPEG2データ51を入力する。MPEG2デコーダ2は、MPEG2データ51をデコードして、非圧縮画像データ52を生成する。MPEG2デコーダ2は、MPEG2データ51の各マクロブロックが有する動きベクトルに関する情報を、参照情報54としてH.264エンコーダ3に出力する。
【0019】
H.264エンコーダ3は、非圧縮画像データ52をH.264方式でエンコードして、H.264データ53を生成する。H.264エンコーダ3は、動きベクトル決定部4と、符号化部5とを備える。
【0020】
動きベクトル決定部4は、H.264エンコーダ3に入力される参照情報54を用いて、H.264データ53の各マクロブロックの動きベクトル57を決定する。動きベクトル57は、非圧縮画像データ52がH.264方式でエンコードされるときに用いられる。以下、H.264データ53のマクロブロックのうち、符号化対象のマクロブロックを、ターゲットMB(MacroBlock)と呼ぶ。
【0021】
符号化部5は、動きベクトル決定部4により決定された動きベクトル57を用いて、H.264画像データ53の各マクロブロックを符号化する。
【0022】
{2.動きベクトル決定部4の構成}
図2は、動きベクトル決定部4の機能的構成を示すブロック図である。動きベクトル決定部4は、候補ベクトル選択部41と、アクティビティ算出部42と、比較部43とを備える。
【0023】
候補ベクトル選択部41は、参照情報54に基づいて、MPEG2データ51が有する複数の動きベクトルの中から、ターゲットMBの動きベクトルとなり得る候補ベクトル55を選択する。選択される候補ベクトル55の数は、複数である。
【0024】
アクティビティ算出部42は、候補ベクトル55に基づいて指定される指定領域における、非圧縮画像データ52のアクティビティ56を算出する。候補ベクトル55を有するマクロブロック、あるいは、候補ベクトル55により動き補償が行われる動き補償領域などが、指定領域に該当する。
【0025】
アクティビティ56は、指定領域における画素のばらつき度合いを示す画像の特性値である。たとえば、指定領域がマクロブロックである場合、アクティビティ56は、マクロブロック内の画素平均値と、各画素値との差分絶対値和として算出される。画素値として、画素の輝度値などが用いられる。
【0026】
比較部43は、各候補ベクトル55に対応する指定領域のアクティビティ56を比較する。比較部43は、比較結果に基づいて、複数の候補ベクトル55の中から、ターゲットMBの動きベクトル57を決定する。
【0027】
{2.MPEG2データ51とH.264データ53との対応}
本実施の形態における、MPEG2データ51とH.264データ53との対応について説明する。
【0028】
図3Aは、MPEG2データ51のマクロブロックの構成を示す図である。図3Bは、H.264データ53のマクロブロックの構成を示す図である。図3A及び図3Bを参照して、MPEG2データ51及びH.264データ53は、横5個×縦4個のマクロブロックで構成される。MPEG2データ51は、マクロブロックMS0,MS1,MS2,・・・,MS19を有する。図3Bを参照して、H.264データ53は、マクロブロックMH0,MH1,MH2,・・・,MH19を有する。たとえば、マクロブロックMS2と、マクロブロックMH2とは、位置が対応関係にある。図3Bに示すH.264データ53のマクロブロックMH0〜MH19は、符号順に符号化されるのではなく、予め定められた符号化順序に基づいて符号化される。
【0029】
MPEG2データ51及びH.264データ53の符号化条件を説明する。MPEG2データ51は、インターレース画像を符号化した符号化画像データである。H.264データ53は、MBAFF(Macroblock Adaptive Frame−Field coding)モードで符号化される。H.264データ53において、ターゲットMBがフィールド符号化される。ターゲットMBが有する動きベクトル57の数は、一つである。
【0030】
MPEG2方式では、フレーム符号化とフィールド符号化とをマクロブロック単位で切り替えて符号化することができる。たとえば、マクロブロックMS5がフィールド符号化される場合、上半分の領域がトップフィールドに対応し、下半分の領域がボトムフィールドに対応する。MPEG2データ51の他のマクロブロックも同様である。
【0031】
H.264方式において、MBAFFモードとは、インターレース画像を符号化するときに用いられる符号化モードの一つである。MBAFFモードでは、上下方向に互いに隣接する二つのマクロブロックによりマクロブロックペアが構成され、マクロブロックペア単位でフレーム符号化とフィールド符号化とが切り替えられる。図3Bを参照して、実線で囲まれた二つのマクロブロックが、マクロブロックペアを構成する。たとえば、マクロブロックMH2,MH7は、マクロブロックペアP0を構成する。マクロブロックペアP0がフィールド符号化される場合、上側のマクロブロック(マクロブロックMH2)がトップフィールドに対応し、下側のマクロブロック(マクロブロックMH7)が、ボトムフィールドに対応する。
【0032】
MPEG2データ51とH.264データ53とにおけるフィールドの対応について説明する。図4は、MPEG2データ51のマクロブロックMS2,MS7と、H.264データ53のマクロブロックMH2,MH7とのフィールドの対応関係を示す図である。図4に示す全てのマクロブロックは、フィールド符号化されている。
【0033】
MPEG2データ51において、マクロブロックMS2の上側領域がトップフィールドTF2であり、下側領域がボトムフィールドBF2である。マクロブロックMS7の上側領域がトップフィールドTF7であり、下側領域がボトムフィールドBF7である。一方、H.264データ53のマクロブロックMH2は、トップフィールドTF2,TF7に対応する。マクロブロックMH7は、ボトムフィールドBF2,BF7に対応する。このように、MPEG2データ51のマクロブロックと、H.264データ53のマクロブロックとは、マクロブロックの位置が一致したとしても、符号化対象の画像が一致しない。
【0034】
マクロブロックMS2がフレーム符号化されていた場合、マクロブロックMS2において、トップフィールド及びボトムフィールドが一つのフレームとして符号化される。マクロブロックMS2のトップフィールドTF2は、マクロブロックMH2に含まれ、ボトムフィールドBF2は、マクロブロックMH7に含まれる。したがって、この場合であっても、マクロブロックMS2と、マクロブロックMH2とは、符号化対象の画像が異なる。
【0035】
{3.動きベクトル決定部4の処理の流れ}
図5は、動きベクトル決定部4がターゲットMBの動きベクトル57を決定する処理の流れを示すフローチャートである。図5を参照して、動きベクトル決定部4がターゲットMBの動きベクトル57を決定する手順を説明する。
【0036】
まず、動きベクトル決定部4は、ターゲットMBを決定する(ステップS1)。ターゲットMBは、マクロブロックMH0〜MH19の符号化順序などに基づいて決定される。
【0037】
候補ベクトル選択部41は、マクロブロックMS0〜MS19がそれぞれ有する複数の動きベクトルの中から、ターゲットMBの候補ベクトル55を選択する(ステップS2)。具体的には、候補ベクトル選択部41は、ターゲットMBの位置に基づいて、ソースマクロブロック(以下、「ソースMB」と呼ぶ。)を、マクロブロックMS0〜MS19(図3A参照)中から決定する。ソースMBが有する動きベクトルが、候補ベクトル55として選択される。
【0038】
マクロブロックMH2がターゲットMBである場合を例に、候補ベクトル55の選択について詳しく説明する。マクロブロックMH2は、下側に隣接するマクロブロックMH7とマクロブロックペアP0を構成する(図3B参照)。このため、候補ベクトル選択部41は、マクロブロックペアP0の位置に対応するマクロブロックMS2,MS7を、ソースMBとして決定する。マクロブロックMS2,MS7が有する動きベクトルが、マクロブロックMH2の候補ベクトル55として選択される。つまり、候補ベクトル選択部41は、MPEG2データ51のマクロブロックMS0〜MS19のうち、ターゲットMBが属するマクロブロックペアの位置に対応する二つのマクロブロックを、ソースMBとして決定する。二つのソースMBがそれぞれ有する動きベクトルが、候補ベクトル55として選択される。
【0039】
アクティビティ算出部42は、ソースMBの符号化モードと、候補ベクトル55とに基づいて、アクティビティを算出する指定領域を候補ベクトル55ごとに指定する(ステップS3)。アクティビティ算出部42は、指定領域に対応する非圧縮画像データ52のアクティビティ56を算出する(ステップS4)。
【0040】
指定領域は、二つのソースMBの符号化モードに応じて変化する。マクロブロックペアがフィールド符号化される場合、二つのソースMBの符号化モードとして、以下の2つの組み合わせ(1),(2)が考えられる。
(1)二つのソースMBがフィールド符号化される場合
(2)二つのソースMBのうち一方がフィールド符号化され、他方がフレーム符号化される場合
【0041】
なお、二つのソースMBがフレーム符号化されている場合、ターゲットMBはフレーム符号化される。このケースについては、第2の実施の形態で説明する。
【0042】
比較部43は、各指定領域のアクティビティの比較結果に基づいて、複数の候補ベクトル55の中からターゲットMBの動きベクトル57を決定する(ステップS5)。符号化部5は、決定した動きベクトル57を利用して、ターゲットMBを符号化する。
【0043】
{4.組み合わせに応じた動きベクトルの決定}
指定領域の指定及び動きベクトル57の決定について、上述した組み合わせごとに詳しく説明する。ターゲットMBがマクロブロックMH2であり、ソースMBがマクロブロックMS2,MS7である場合を例に説明する。
【0044】
(1)二つのソースMBがフィールド符号化される場合
図6は、二つのソースMB(マクロブロックMS2,MS7)がフィールド符号化される場合における、ターゲットMB(マクロブロックMH2)の動きベクトル57を示す図である。図6を参照して、マクロブロックペアを構成する一方のマクロブロックがターゲットMBである場合、他方のマクロブロック(以下、「隣接MB」と呼ぶ。)の動きベクトル57も決定される。
【0045】
マクロブロックMS2において、トップフィールドTF2は、動きベクトル20Tを有し、ボトムフィールドBF2は、動きベクトル20Bを有する。マクロブロックMS7において、トップフィールドTF7は、動きベクトル70Tを有し、ボトムフィールドBF7は、動きベクトル70Bを有する。マクロブロックMS2,MS7がソースMBであるため、動きベクトル20T,20B,70T,70Bが、マクロブロックMH2の候補ベクトル55として選択される(ステップS2)。これらの候補ベクトル55の中から、マクロブロックMH2、MH7の動きベクトル57が決定される。
【0046】
上述したように、H.264データ53の各マクロブロックが有する動きベクトルの数は、一つである。マクロブロックMH2がトップフィールドであるため(図4参照)、マクロブロックMH2の動きベクトル57は、動きベクトル20T,70Tのいずれかとなる。マクロブロックMH7がボトムフィールドであるため(図4参照)、マクロブロックMH7の動きベクトル57は、動きベクトル20B,70Bのいずれかとなる。
【0047】
二つのソースMBがフィールド符号化されている場合、候補ベクトル選択部41は、各候補ベクトル55が属するマクロブロックを指定領域に指定する(ステップS3)。具体的には、動きベクトル20T,20Bの指定領域は、マクロブロックMS2である。動きベクトル70T,70Bの指定領域は、マクロブロックMS7である。アクティビティ算出部42は、マクロブロックMS2,MS7に対応する非圧縮画像データ52のアクティビティ56を算出する(ステップS4)。
【0048】
比較部43は、マクロブロックMS2,MS7のそれぞれに対応するアクティビティ56を比較することにより、候補ベクトル55(動きベクトル20B,20T,70B,70T)の中からマクロブロックMH2,MH7の動きベクトル57を決定する(ステップS5)。
【0049】
マクロブロックMS2のアクティビティ56がマクロブロックMS7のアクティビティ56よりも大きければ、適用パターンA1が適用される。つまり、動きベクトル20Tが、マクロブロックMH2の動きベクトル57として決定される。動きベクトル20Bが、マクロブロックMH7の動きベクトル57として決定される。一方、マクロブロックMS2のアクティビティ56がマクロブロックMS7のアクティビティ56以下であれば、適用パターンA2が適用される。つまり、動きベクトル70Tが、マクロブロックMH2の動きベクトル57として決定される。動きベクトル70Bが、マクロブロックMH7の動きベクトル57として決定される。
【0050】
このように、アクティビティに基づいてターゲットMB及び隣接MBの動きベクトルを決定することにより、ソースMBが有する全ての動きベクトルを、非圧縮画像データ52の符号化に用いる必要がない。このため、トランスコーダ1は、非圧縮画像データ52の符号化に伴う演算量を削減することができるため、MPEG2データ51をリアルタイムにH.264データ53に変換することができる。
【0051】
また、二つのソースMBのうち、いずれか一方のソースMBが有する候補ベクトルが、ターゲットMB及び隣接MBの動きベクトル57として決定される。これにより、H.264データ53の画質の劣化を防ぐことが可能となる。以下、詳しく説明する。
【0052】
図7Aは、マクロブロックMS2、MS7の動きベクトルと、適用パターンA1により決定されたマクロブロックMH2,MH7の動きベクトルとの対応を示す図である。図7Aでは、各マクロブロックがディスプレイに表示されるときの実際のサイズに対応させて、各フィールドを表示している。
【0053】
図7Aを参照して、実線の矢印は、マクロブロックMH2,MH7の動きベクトルを示す。破線の矢印は、マクロブロックMS2,MS7の動きベクトルを示す。トップフィールドTF2及びボトムフィールドBF2では、MPEG2データ51の動きベクトルとH.264データ53の動きベクトルとが一致する。トップフィールドTF7及びボトムフィールドBF7では、MPEG2データ51の動きベクトルとH.264データ53の動きベクトルとが、一致しない。したがって、トップフィールドとボトムフィールドとが連続的に表示されたとき、トップフィールドTF2とボトムフィールドBF2との間では、画像のずれが発生しない。
【0054】
図7Bは、マクロブロックMS2、MS7の動きベクトルと、適用パターンA2により決定されたマクロブロックMH2,MH7の動きベクトルとの対応を示す図である。図7Bの動きベクトルの表示は、図7Aと同様である。この場合、MPEG2データ51の動きベクトルとH.264データ53の動きベクトルとは、トップフィールドTF7及びボトムフィールドBF7で一致し、トップフィールドTF2及びボトムフィールドBF2とで一致しない。したがって、トップフィールドとボトムフィールドとが連続的に表示されたとき、トップフィールドTF7とボトムフィールドBF7との間では、画像のずれが発生しない。
【0055】
図7Cは、互いに異なるソースMBの候補ベクトルを、ターゲットMB及び隣接MBの動きベクトルとして決定した場合における、動きベクトルの対応を示す図である。マクロブロックMH2(トップフィールドTF2,TF7)の動きベクトルが、マクロブロックMS2の動きベクトル20Tである。マクロブロックMH7(ボトムフィールドBF2,BF7)の動きベクトルが、マクロブロックMS7の動きベクトル70Bである。つまり、マクロブロックMH2、MH7は、互いに異なるソースMBの動きベクトルを継承している。MPEG2データ51の動きベクトルとH.264データ53の動きベクトルとが、トップフィールドTF2及びボトムフィールドBF7で一致し、トップフィールドTF7及びボトムフィールドBF2で一致しない。図7Cに示すパターンで動きベクトルを決定した場合、トップフィールドTF2とボトムフィールドBF2との間で画像のずれが発生する。また、トップフィールドTF7とボトムフィールドBF7との間で画像のずれが発生する。つまり、マクロブロックMH2,MH7のいずれでも画像のずれが発生することになる。
【0056】
一方、適用パターンA1,A2のいずれかでマクロブロックMH2,MH7の動きベクトルが決定された場合、トップフィールドTF2及びボトムフィールドBF2に対応する領域、または、トップフィールドTF7及びボトムフィールドBF7に対応する領域のいずれかでは、画像のずれが発生しない。したがって、H.264データ53の画質の低下を防ぐことが可能となる。
【0057】
(2)二つのソースMBのうち一方がフィールド符号化され、他方がフレーム符号化される場合
図8は、組み合わせ(2)の場合におけるターゲットMBの動きベクトル57を示す図である。図8を参照して、マクロブロックMS7は、組み合わせ(1)と同様にフィールド符号化される。
【0058】
マクロブロックMS2は、フレーム符号化される。マクロブロックMS2では、トップフィールドTF2及びボトムフィールドTF7が、一つのフレームとして符号化されている。上述したように、マクロブロックMH7は、トップフィールドTF2,TF7を含むため、マクロブロックMS2と、マクロブロックMH7とは、符号化対象の画像が異なる。このため、マクロブロックMH2,MH7の動きベクトル57は、組み合わせ(1)と同様に、二つのソースMBのうちいずれか一方が有する動きベクトルとなる。
【0059】
マクロブロックMS2は、動き補償領域R1,R2を有する。動き補償領域R1,R2のサイズは、横16画素×縦8画素である。動き補償領域R1は、動きベクトル20R1を有する。動き補償領域R2は、動きベクトル20R2を有する。組み合わせ(2)において、候補ベクトル選択部41は、動きベクトル20R1,20R2,70T,70Bを、マクロブロックMH2,MH7の候補ベクトル55として選択する(ステップS2)。
【0060】
組み合わせ(2)では、適用パターンB1,B2,B3のいずれかに基づいて、マクロブロックMH2,MH7の動きベクトル57が決定される。以下、適用パターンB1〜B3のいずれかが適用されるまでの流れを詳しく説明する。
【0061】
候補ベクトル選択部41は、各候補ベクトルの指定領域を指定する(ステップS3)。具体的には、動きベクトル20R1の指定領域として、マクロブロックMS2及び動き補償領域R1が指定される。動きベクトル20R2の指定領域として、マクロブロックMS2及び動き補償領域R2が指定される。動きベクトル70T,70Bの指定領域は、マクロブロックMS7である。アクティビティ算出部42は、マクロブロックMS2,MS7及び動き補償領域R1,R2のそれぞれに対応する非圧縮画像データ52のアクティビティ56を算出する(ステップS4)。
【0062】
比較部43は、マクロブロックMS2,MS7及び動き補償領域R1,R2の各アクティビティ56に基づいて、マクロブロックMH2,MH7の動きベクトル57を決定する(ステップS5)。
【0063】
まず、比較部43は、マクロブロックMS2のアクティビティ56と、マクロブロックMS7のアクティビティ56とを比較して、二つのソースMBのうちどちらのマクロブロックの動きベクトルを適用するかを決定する。具体的には、マクロブロックMS7のアクティビティ56がマクロブロックMS2のアクティビティ56よりも大きければ、マクロブロックMS7の動きベクトルを用いる適用パターンB3が、マクロブロックMH2,MH7に適用される。適用パターンB3は、図6の適用パターンA2と同様である。つまり、動きベクトル70Tが、マクロブロックMH2の動きベクトル57として決定される。動きベクトル70Bが、マクロブロックMH7の動きベクトル57として決定される。
【0064】
一方、マクロブロックMS7のアクティビティ56がマクロブロックMS2のアクティビティ56以下であれば、マクロブロックMS2の動きベクトルを用いる適用パターンB1,B2のいずれかが適用される。比較部43は、動き補償領域R1,R2の各アクティビティ56に基づいて、適用パターンB1,B2のいずれかを選択する。
【0065】
比較部43は、動き補償領域R1のアクティビティ56が動き補償領域R2のアクティビティ56よりも大きければ、適用パターンB1を選択する。つまり、マクロブロックMH2,MH7の動きベクトル57が、動きベクトル20R1に決定される。一方、比較部43は、動き補償領域R1のアクティビティ56が動き補償領域R2のアクティビティ56以下であれば、適用パターンB2を選択する。つまり、マクロブロックMH2,MH7の動きベクトル57が、動きベクトル20R2に決定される。
【0066】
動き補償領域R1,R2は、トップフィールドTF2及びボトムフィールドBF2の一部を含む。したがって、動き補償領域R1,R2が含むフィールドは、マクロブロックMH2,MH7の両者に含まれる。このため、マクロブロックMH2,MH7の動きベクトル57として、動きベクトル20R1,20R2のいずれかを用いることができる。
【0067】
図8では、マクロブロックMS2が二つの動き補償領域R1,R2を有する場合を示している。しかし、マクロブロックMS2が有する動きベクトルの数は、一つでもよい。たとえば、マクロブロックMS2が動きベクトル20R1だけを有する場合、マクロブロックMS2,MS7に対応するアクティビティ56のみが算出される。マクロブロックMS2のアクティビティ56が、マクロブロックMS7のアクティビティ56よりも大きければ、マクロブロックMH2,MH7の動きベクトルは、動きベクトル20R1となる。
【0068】
このように、組み合わせ(2)の場合であっても、ターゲットMB(マクロブロックMH2)及び隣接MB(マクロブロックMH7)の動きベクトルが、各指定領域のアクティビティに基づいて決定される。したがって、本実施の形態に係るトランスコーダは、演算量を削減することができる。
【0069】
組み合わせ(1)と同様に、ソースMBのいずれか一方が有する候補ベクトルが、ターゲットMB及び隣接MBの動きベクトル57として決定される。組み合わせ(2)のケースであっても、トップフィールドTF2とボトムフィールドBF2との間の画像のずれ、または、トップフィールドTF7とボトムフィールドBF7との間の画像のずれの発生が抑制される。したがって、H.264データ53の画質の劣化を防ぐことができる。
【0070】
[第2の実施の形態]
以下、第2の実施の形態に係るトランスコーダ1について説明する。上記第1の実施の形態と同様の点については説明を省略する。本実施の形態では、二つのソースMBの両者が、フレーム符号化される点が、上記第1の実施の形態と異なる。
【0071】
図9は、本実施の形態におけるターゲットMBの動きベクトル57を示す図である。マクロブロックMS2,MS7は、フレーム符号化される。このため、この場合、マクロブロックペアP0を構成するマクロブロックMH2,MH7もフレーム符号化される。
【0072】
マクロブロックMS2は、動き補償領域2RA,2RBを有する。動き補償領域2RA,2RBの動きベクトルを、動きベクトル20RA,20RBとする。マクロブロックMS7は、動き補償領域7RA,7RBを有する。動き補償領域7RA,7RBの動きベクトルを、動きベクトル70RA,70RBとする。動き補償領域2RA,2RB,7RA,7RBのサイズは、横16画素×縦8画素である。
【0073】
第2の実施の形態では、適用パターンC1〜C4のいずれかにより、マクロブロックMH2,MH7の動きベクトル57が決定される。図9に示すように、本実施の形態では、マクロブロックMH2、MH7の動きベクトル57は、それぞれ独立に決定される。マクロブロックMH2の動きベクトル57は、マクロブロックMS2が有する動きベクトル20RA,20RBのいずれかから決定される。マクロブロックMH7の動きベクトル57は、マクロブロックMS7が有する動きベクトル70RA,70RBのいずれかから決定される。以下、適用パターンC1〜C4のいずれかが適用されるまでの流れを詳しく説明する。
【0074】
候補ベクトル選択部41は、各候補ベクトル55の指定領域を指定する(ステップS3)。具体的には、動きベクトル20RAの指定領域として、動き補償領域2RAが指定される。動きベクトル20RBの指定領域として、動き補償領域2RBが指定される。動きベクトル70RAの指定領域として、動き補償領域7RAが指定される。動きベクトル70RBの指定領域として、動き補償領域7RBが指定される。アクティビティ算出部42は、動き補償領域2RA,2RB,7RA,7RBのそれぞれに対応する非圧縮画像データ52のアクティビティ56を算出する(ステップS4)。
【0075】
比較部43は、動き補償領域2RA,2RBの各アクティビティ56を比較して、マクロブロックMH2の動きベクトル57を決定する(ステップS5)。具体的には、動き補償領域2RAのアクティビティ56が、動き補償領域2RBのアクティビティよりも大きければ、動きベクトル20RAが、マクロブロックMH2の動きベクトル57として決定される。動き補償領域2RAのアクティビティ56が、動き補償領域2RBのアクティビティ以下であれば、動きベクトル20RBが、マクロブロックMH2の動きベクトル57として決定される。
【0076】
比較部43は、動き補償領域7RA,7RBの各アクティビティ56を比較して、マクロブロックMH7の動きベクトルを決定する(ステップS5)。具体的には、動き補償領域7RAのアクティビティ56が、動き補償領域7RBのアクティビティよりも大きければ、動きベクトル70RAが、マクロブロックMH7の動きベクトル57として決定される。動き補償領域7RAのアクティビティ56が、動き補償領域7RBのアクティビティ以下であれば、動きベクトル70RBが、マクロブロックMH7の動きベクトル57として決定される。
【0077】
この結果、マクロブロックMH2,MH7の動きベクトルの組み合わせは、図9に示す適用パターンC1〜C4のいずれかに該当する。適用パターンC1では、動きベクトル20RA,70RAが、マクロブロックMH2,MH7の動きベクトル57として決定される。適用パターンC2では、動きベクトル20RB,70RAが、マクロブロックMH2,MH7の動きベクトル57として決定される。適用パターンC3では、動きベクトル20RA,70RBが、マクロブロックMH2,MH7の動きベクトル57として決定される。適用パターンC4では、動きベクトル20RB,70RBが、マクロブロックMH2,MH7の動きベクトル57として決定される。
【0078】
このように、本実施の形態のように二つのソースMBがフレーム符号化される場合であっても、ターゲットMB及び隣接MBの動きベクトルが、各指定領域のアクティビティに基づいて決定される。したがって、本実施の形態に係るトランスコーダ1は、演算量を削減することができる。
【0079】
上記実施の形態では、動きベクトル決定部4は、アクティビティ56の大きいマクロブロックの動きベクトルを、マクロブロックMH2,MH7の動きベクトル57として決定した。しかし、動きベクトル決定部4は、アクティビティ56の小さいマクロブロックを、マクロブロックMH2,MH7の動きベクトル57として決定してもよい。
【0080】
上記実施の形態では、動きベクトル決定部4は、アクティビティ56の大きい動き補償領域の動きベクトルを、マクロブロックMH2,MH7の動きベクトル57として決定した。しかし、動きベクトル決定部4は、アクティビティ56の小さい動き補償領域の動きベクトルを、マクロブロックMH2,MH7の動きベクトル57として決定してもよい。
【0081】
上記実施の形態では、非圧縮画像データ52がH.264データ53に符号化されるため、マクロブロックペアが上下方向に互いに隣接する二つのマクロブロックにより構成される例を説明した。しかし、非圧縮画像データ52がH.264方式以外の符号化方式で符号化される場合、マクロブロックペアが、左右方向に互いに隣接する二つのマクロブロックにより構成されてもよい。
【符号の説明】
【0082】
1 トランスコーダ
2 MPEG2デコーダ
3 H.264エンコーダ
4 動きベクトル決定部
5 符号化部
41 候補ベクトル選択部
42 アクティビティ算出部
43 比較部

【特許請求の範囲】
【請求項1】
第1符号化方式で符号化された入力画像データをデコードして非圧縮画像データを生成するデコーダと、
前記非圧縮画像データを第2符号化方式でエンコードして出力画像データを生成するエンコーダと、
前記出力画像データの第1マクロブロックの動きベクトルを決定する動きベクトル決定部と、
を備え、
前記動きベクトル決定部は、
前記第1マクロブロックの位置に基づいて、前記第1マクロブロックの動きベクトルの候補となる複数の候補ベクトルを、前記入力画像データの動きベクトルの中から選択する候補ベクトル選択部と、
選択された各候補ベクトルに対応する指定領域のアクティビティを算出するアクティビティ算出部と、
算出されたアクティビティに基づいて、前記複数の候補ベクトルの中から前記第1マクロブロックの動きベクトルを決定する比較部と、
を含む画像変換装置。
【請求項2】
請求項1に記載の画像変換装置において、
前記入力画像データは、インターレース画像が符号化されたデータであり、
前記第1マクロブロックは、上下方向のいずれか一方に隣接する第2マクロブロックとマクロブロックペアを構成し、前記マクロブロックペア単位でフィールド符号化され、
前記候補ベクトル選択部は、前記マクロブロックペアに対応する位置にある前記入力画像データの二つのソースマクロブロックがそれぞれ有する動きベクトルを、前記複数の候補ベクトルとして選択し、
前記アクティビティ算出部は、前記二つのソースマクロブロックのそれぞれに対応するアクティビティを算出し、
前記比較部は、算出されたアクティビティに基づいて、前記二つのソースマクロブロックの中から第1ソースマクロブロックを選択し、前記第1ソースマクロブロックが有する動きベクトルを、前記第1マクロブロック及び前記第2マクロブロックの動きベクトルとして決定する画像変換装置。
【請求項3】
請求項2に記載の画像変換装置において、
前記第1ソースマクロブロックが、フィールド符号化され、かつ、第1フィールド及び第2フィールドを含み、
前記比較部は、前記第1マクロブロックが前記第1フィールドに対応する場合、前記第1フィールドが有する動きベクトルを前記第1マクロブロックの動きベクトルとして決定し、前記第2フィールドが有する動きベクトルを前記第2マクロブロックの動きベクトルとして決定する画像変換装置。
【請求項4】
請求項2に記載の画像変換装置において、
前記第1ソースマクロブロックが、フレーム符号化され、かつ、一つの候補ベクトルを有し、
前記比較部は、前記一つの候補ベクトルを、前記第1マクロブロック及び前記第2マクロブロックの動きベクトルとして決定する画像変換装置。
【請求項5】
請求項3に記載の画像変換装置において、
前記第1ソースマクロブロックが、フレーム符号化され、かつ、第1候補ベクトル及び第2候補ベクトルを含み、
前記アクティビティ算出部は、前記第1候補ベクトル及び前記第2候補ベクトルのそれぞれに対応するアクティビティを算出し、
前記比較部は、前記第1候補ベクトル及び前記第2候補ベクトルのそれぞれに対応するアクティビティに基づいて、前記第1候補ベクトル及び前記第2候補ベクトルのいずれか一つを、前記第1マクロブロック及び前記第2マクロブロックの動きベクトルとして決定する画像変換装置。
【請求項6】
請求項1ないし請求項5のいずれかに記載の画像変換装置において、
前記入力画像データは、インターレース画像が符号化されたデータであり、
前記第1マクロブロックがフレーム符号化される場合、前記複数の候補ベクトルは、前記第1マクロブロックの位置に対応する前記入力画像データのマクロブロックに含まれ、
前記アクティビティ算出部は、各候補ベクトルに対応するアクティビティを算出し、
前記比較部は、各候補ベクトルに対応するアクティビティに基づいて、前記複数の候補ベクトルのうちいずれか一つを前記第1マクロブロックの動きベクトルとして決定する画像変換装置。

【図1】
image rotate

【図2】
image rotate

【図3A】
image rotate

【図3B】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7A】
image rotate

【図7B】
image rotate

【図7C】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−19289(P2012−19289A)
【公開日】平成24年1月26日(2012.1.26)
【国際特許分類】
【出願番号】特願2010−154216(P2010−154216)
【出願日】平成22年7月6日(2010.7.6)
【出願人】(591128453)株式会社メガチップス (322)
【Fターム(参考)】