(58)【調査した分野】(Int.Cl.,DB名)
直交変換および予測符号化を採用している第1の符号化方式で符号化された入力ビットストリームを、直交変換および予測符号化を採用している第2の符号化方式で符号化された出力ビットストリームに変換する画像符号化方式変換装置であって、
前記第1の符号化方式に基づいた復号プロセスを途中まで進めて前記入力ビットストリームから第1の直交変換係数、第1の予測符号化パラメータおよび第1の量子化パラメータを抽出する分離部と、
前記第2の符号化方式に基づいて、前記分離部が抽出した第1の予測符号化パラメータを第2の予測符号化パラメータに変換し、前記分離部が抽出した第1の量子化パラメータを用いて第2の量子化パラメータを生成する符号化パラメータ変換部と、
前記分離部が抽出した第1の予測符号化パラメータを用いて前記第1の符号化方式に基づいて第1の予測画像を生成すると共に、前記符号化パラメータ変換部が決定した第2の予測符号化パラメータを用いて前記第2の符号化方式に基づいて第2の予測画像を生成し、前記第1の予測画像と前記第2の予測画像の差分画像を求め、前記差分画像を直交変換して補正係数を計算し出力する補正係数計算部と、
前記分離部が抽出した第1の直交変換係数に、前記補正係数計算部が計算した補正係数を加算して、第2の直交変換係数を出力する加算部と、
前記加算部が出力した第2の直交変換係数および前記符号化パラメータ変換部が決定した第2の予測符号化パラメータおよび第2の量子化パラメータを多重化し、前記第2の符号化方式に基づいた符号化プロセスによって符号化して前記出力ビットストリームを生成する多重化部とを備え、
前記第1の符号化方式において丸め誤差を制御する符号化ツールが利用可能、かつ、前記第2の符号化方式において前記符号化ツールを利用できない場合に、
前記分離部は、前記第1の直交変換係数、前記第1の予測符号化パラメータおよび前記第1の量子化パラメータに加えて、前記入力ビットストリームにおいて前記符号化ツールを示すパラメータを抽出し、
前記補正係数計算部は、前記入力ビットストリームに前記符号化ツールが使用されている場合に、前記符号化ツールが指定する丸め方向に基づいて、前記第1の予測画像の上方向に丸められる画素が下方向に丸められる画素より多ければ前記補正係数のうちの一部の係数を減少させ、上方向に丸められる画素より下方向に丸められる画素が多ければ前記一部の係数を増加させることを特徴とする画像符号化方式変換装置。
前記第1の符号化方式および前記第2の符号化方式が動き補償予測符号化を採用しており、かつ、前記第1の符号化方式において前記第2の符号化方式より細かい画素単位での動き補償予測が可能である場合に、
前記符号化パラメータ変換部は、割り算によって、前記第1の予測符号化パラメータに含まれる第1の動きベクトルから、前記第2の予測符号化パラメータに含まれる第2の動きベクトルを決定することを特徴とする請求項1記載の画像符号化方式変換装置。
前記第1の符号化方式および前記第2の符号化方式が動き補償予測符号化を採用しており、かつ、前記第1の符号化方式において1つの予測符号化パラメータによって前記第2の符号化方式より多くの動きベクトルを指定可能である場合に、
前記符号化パラメータ変換部は、前記第1の予測符号化パラメータに含まれる2本以上の動きベクトルを1本の動きベクトルにまとめることで、前記第2の予測符号化パラメータによって指定可能な全ての動きベクトルを決定することを特徴とする請求項1または請求項3記載の画像符号化方式変換装置。
前記第1の符号化方式および前記第2の符号化方式が動き補償予測符号化を採用しており、かつ、前記第1の符号化方式において動きベクトルが参照できる座標の範囲が前記第2の符号化方式において動きベクトルが参照できる座標の範囲より広い場合に、
前記符号化パラメータ変換部は、前記第1の予測符号化パラメータに含まれる第1の動きベクトルの参照座標を、前記第2の符号化方式において参照できる座標の範囲内で最も前記第1の動きベクトルとの距離が小さい座標に丸めることで、前記第2の予測符号化パラメータに含まれる第2の動きベクトルを決定することを特徴とする請求項1、請求項3および請求項4のうちのいずれか1項記載の画像符号化方式変換装置。
前記符号化パラメータ変換部は、前記第2の量子化ステップが前記第1の量子化ステップの約数となる前記第2の量子化パラメータが複数ある場合に、前記補正係数計算部が補正係数を出力し、かつ、前記補正係数がゼロでないときには、前記補正係数を出力しないときよりも前記第2の量子化ステップが小さくなる前記第2の量子化パラメータを選択することを特徴とする請求項6記載の画像符号化方式変換装置。
コンピュータに、直交変換および予測符号化を採用している第1の符号化方式で符号化された入力ビットストリームを、直交変換および予測符号化を採用している第2の符号化方式で符号化された出力ビットストリームに変換させるための画像符号化方式変換プログラムであって、
前記第1の符号化方式に基づいた復号プロセスを途中まで進めて前記入力ビットストリームから第1の直交変換係数、第1の予測符号化パラメータおよび第1の量子化パラメータを抽出する分離手順と、
前記第2の符号化方式に基づいて、前記分離手順で抽出した第1の予測符号化パラメータを第2の予測符号化パラメータに変換し、前記分離手順で抽出した第1の量子化パラメータを用いて第2の量子化パラメータを生成する符号化パラメータ変換手順と、
前記分離手順で抽出した第1の予測符号化パラメータを用いて前記第1の符号化方式に基づいて第1の予測画像を生成すると共に、前記符号化パラメータ変換手順で決定した第2の予測符号化パラメータを用いて前記第2の符号化方式に基づいて第2の予測画像を生成し、前記第1の予測画像と前記第2の予測画像の差分画像を求め、前記差分画像を直交変換して補正係数を計算し出力する補正係数計算手順と、
前記分離手順で抽出した第1の直交変換係数に、前記補正係数計算手順で計算した補正係数を加算して、第2の直交変換係数を出力する加算手順と、
前記加算手順で出力した第2の直交変換係数および前記符号化パラメータ変換手順で決定した第2の予測符号化パラメータおよび第2の量子化パラメータを多重化し、前記第2の符号化方式に基づいた符号化プロセスによって符号化して前記出力ビットストリームを生成する多重化手順とを備え、
前記第1の符号化方式において丸め誤差を制御する符号化ツールが利用可能、かつ、前記第2の符号化方式において前記符号化ツールを利用できない場合に、
前記分離手順は、前記第1の直交変換係数、前記第1の予測符号化パラメータおよび前記第1の量子化パラメータに加えて、前記入力ビットストリームにおいて前記符号化ツールを示すパラメータを抽出し、
前記補正係数計算手順は、前記入力ビットストリームに前記符号化ツールが使用されている場合に、前記符号化ツールが指定する丸め方向に基づいて、前記第1の予測画像の上方向に丸められる画素が下方向に丸められる画素より多ければ前記補正係数のうちの一部の係数を減少させ、上方向に丸められる画素より下方向に丸められる画素が多ければ前記一部の係数を増加させることを特徴とする画像符号化方式変換プログラム。
【発明を実施するための形態】
【0015】
実施の形態1.
図1に示す画像符号化方式変換装置1は、第1の符号化方式で符号化された入力ビットストリームEs4を順次読み込み、第2の符号化方式で符号化された出力ビットストリームEs2に変換する。本実施の形態1において、入力ビットストリームEs4はMPEG−4で符号化されているものとし、出力ビットストリームEs2はMPEG−2で符号化されているものとする。また、MPEG−4のプロファイルはAdvanced Simple Profileが使用されるものとする。なお、入力ビットストリームおよび出力ビットストリームの符号化方式はMPEG−4およびMPEG−2に限る必要はなく、直交変換および予測符号化を採用する符号化方式であればどのような方式でも良い。ただし、両符号化方式で採用される直交変換の方式は同一である必要があり、本実施の形態1ではDCT(Discrete Cosine Transform)が使用されているものとする。
【0016】
本実施の形態1では、第1の符号化方式で符号化された入力ビットストリームから第2の符号化方式で符号化された出力ビットストリームに変換するために必要な処理時間を短縮し、同時に変換に伴う画質の劣化を抑制するために、入力ビットストリームから復号した第1の直交変換係数を出力ビットストリームの符号化に使用することを考える。しかし、第1の符号化方式が予測符号化を採用している場合、第1の直交変換係数は原画像から予測信号を減算した差分画像を直交変換したものである。従って、第1の符号化方式と第2の符号化方式で予測符号化方式および予測符号化パラメータが異なる場合には、入力ビットストリームを復号して得られる第1の復号画像と出力ビットストリームを復号して得られる第2の復号画像は異なる画像となる。即ち、誤差が生じてしまう。このことは、先立って
図21で説明したとおりである。
【0017】
そこで、本実施の形態1では、補正係数計算部104において第1の復号画像と第2の復号画像が一致するような補正係数を求めて、第1の直交変換係数に加算することで、前記誤差を抑制する。
図2に、補正係数によって復号画像の誤差を解消する処理の流れを示す。この補正係数は
図1の補正DCT係数DTsに相当し、逆直交変換した場合に第1の予測信号と第2の予測信号の差分に等しくなるような係数である。
【0018】
以下、具体的な実現例を説明する。
図1において、画像符号化方式変換装置1はMPEG−4分離部10と、補正係数計算部104と、MPEG−2多重化部11と、2つの加算部105,110と、フレームメモリ111とを備える構成である。このMPEG−4分離部10は、MPEG−4VLD(Variable Length Decoding)部101、MPEG−4逆DC/AC予測部102およびMPEG−4逆量子化部103を有する。また、MPEG−2多重化部11は、MPEG−2量子化部106、MPEG−2VLC(Variable Length Coding)部107、MPEG−2逆DCT部108およびMPEG−2逆量子化部109を有する。
【0019】
続いて、
図1を用いて、画像符号化方式変換装置1の動作を説明する。
まずMPEG−4分離部10は、入力ビットストリームEs4をマクロブロック単位で順次読み込み、MPEG−4符号化パラメータ(第1の予測符号化パラメータ)Cp4を補正係数計算部104へ、および第1のDCT係数(第1の直交変換係数)Ts4を加算部105へそれぞれ出力する。
【0020】
図3に、MPEG−4符号化パラメータCp4に含まれるパラメータの例を示す。
図中、mb_type
MPEG−4は、MPEG−4に従ってマクロブロックがイントラ符号化されているか、インター符号化されているか等のタイプを指定するパラメータである。motion_vector
MPEG−4は、MPEG−4の予測符号化によってマクロブロックの動きベクトルを指定するパラメータである。
なお、MPEG−4符号化パラメータCp4に含むパラメータは
図3に示すものに限らずとも良い。
【0021】
また、読み込んだマクロブロックが、VideoObjectPlaneの最初のマクロブロックである場合、MPEG−4符号化パラメータCp4にさらにVideoObjectPlaneに含まれる符号化パラメータを含めても良い。
また、読み込んだマクロブロックがVideoObjectLayerの最初のマクロブロックである場合、MPEG−4符号化パラメータCp4にはさらにquarter_sampleパラメータが含まれる。quarter_sampleは、動き補償予測の画素精度を指定するパラメータである。なお、ここでVideoObjectLayerに含まれる他の符号化パラメータを追加でMPEG−4符号化パラメータCp4に含めても良い。
【0022】
ここで、MPEG−4分離部10の内部構成を説明する。
MPEG−4VLD部101は、入力ビットストリームEs4を読み込み、MPEG−4規格に基づいて符号化パラメータおよびマクロブロックを可変長復号し、MPEG−4符号化パラメータCp4およびマクロブロック1つ分のMPEG−4量子化された差分DCT係数DQs4を出力するものである。
【0023】
MPEG−4逆DC/AC予測部102は、MPEG−4VLD部101が出力した差分DCT係数DQs4を読み込み、そのマクロブロックがイントラ符号化されている場合にはMPEG−4規格に基づいて逆DC/AC予測を行い、MPEG−4量子化されたDCT係数Qs4を出力する。一方、そのマクロブロックがインター符号化されている場合には差分DCT係数DQs4をそのままDCT係数Qs4として出力する。
【0024】
MPEG−4逆量子化部103は、MPEG−4逆DC/AC予測部102が出力したDCT係数Qs4を読み込み、MPEG−4規格に基づいて逆量子化し、第1のDCT係数Ts4を出力する。
【0025】
次に補正係数計算部104は、MPEG−4分離部10が出力したMPEG−4符号化パラメータCp4およびフレームメモリ111に記録された参照画像Rs2を読み込み、MPEG−2予測信号(第2の予測画像)Ps2、MPEG−2符号化パラメータ(第2の予測符号化パラメータ)Cp2および補正DCT係数(補正係数)DTsを出力するか、あるいはMPEG−2予測信号Ps2およびMPEG−2符号化パラメータCp2のみを出力する。補正DCT係数DTsは、MPEG−4とMPEG−2の予測符号化方式の違いから発生する画素ドメイン上の誤差をDTC係数ドメイン上で表したものである。
【0026】
次に加算部105は、補正係数計算部104が補正DCT係数DTsを出力する場合、MPEG−4逆量子化部103が出力した第1のDCT係数Ts4にその補正DCT係数DTsを加算し、第2のDCT係数(第2の直交変換係数)Ts2を出力する。一方、補正係数計算部104が補正DCT係数DTsを出力しない場合には、第1のDCT係数Ts4をそのまま第2のDCT係数Ts2として出力する。
【0027】
次にMPEG−2多重化部11は、加算部105が出力した第2のDCT係数Ts2および補正係数計算部104が出力したMPEG−2符号化パラメータCp2を読み込み、出力ビットストリームEs2および局所復号差分画像DLs2を出力する。
【0028】
ここで、MPEG−2多重化部11の内部構成を説明する。
MPEG−2量子化部106は、加算部105が出力した第2のDCT係数Ts2を読み込み、MPEG−2規格に基づいて量子化し、MPEG−2量子化されたDCT係数Qs2を出力するものである。
【0029】
MPEG−2VLC部107は、MPEG−2量子化部106が出力したDCT係数Qs2を可変長符号化すると共に、補正係数計算部104が出力したMPEG−2符号化パラメータCp2を可変長符号化して多重化し、出力ビットストリームEs2を順次生成して出力する。
【0030】
MPEG−2逆DCT部108は、MPEG−2量子化部106が出力したDCT係数Qs2をMPEG−2規格に基づいて逆直交変換し、差分画像TLs2を出力する。
MPEG−2逆量子化部109は、MPEG−2逆DCT部108が出力した差分画像TLs2をMPEG−2規格に基づいて逆量子化し、局所復号差分画像DLs2を出力する。
【0031】
最後に加算部110は、MPEG−2逆量子化部109が出力した局所復号差分画像DLs2に補正係数計算部104が出力したMPEG−2予測信号Ps2を加算し、局所復号画像Ls2を出力する。
【0032】
フレームメモリ111は、加算部110が出力する局所復号画像Ls2を読み込み、参照画像Rs2として蓄積する。本実施の形態1のフレームメモリ111は、局所復号画像Ls2のうちのIピクチャおよびPピクチャに含まれる信号を、新しいものから2フレーム分記録する。ただし、フレームメモリ111に記録する画像のタイプおよびフレーム数はこれに限定されるものではなく、出力ビットストリームEs2の符号化方式に合わせて選択すれば良い。
【0033】
このように、本実施の形態1に係る画像符号化方式変換装置1は、MPEG−4からMPEG−2への変換に伴う誤差を補正DCT係数DTsの加算によって抑制する。補正DCT係数DTsの加算はDCT係数ドメイン上で行われるため、MPEG−4分離部10はMPEG−4規格に基づく復号プロセスのうちのDCT/逆DCTの計算を省いて処理の高速化が可能である。
【0034】
以下、補正係数計算部104の内部構成を説明する。
図4に、補正DCT係数DTsを計算する補正係数計算部104の内部構成を示す。図示するように補正係数計算部104は、符号化パラメータ変換部201と、MPEG−2予測信号生成部202と、MPEG−4予測信号生成部203と、減算部204と、DCT変換部205とを備えている。
【0035】
続いて補正係数計算部104の動作を説明する。
MPEG−4符号化パラメータCp4および参照画像Rs2が補正係数計算部104に入力されると、符号化パラメータ変換部201がそれらを読み込んでMPEG−2符号化パラメータCp2に変換して出力する。
【0036】
図5に、MPEG−2符号化パラメータCp2に含まれるパラメータの例を示す。
図中、macroblock_type
MPEG−2は、MPEG−2に従ってマクロブロックがイントラ符号化されているか、インター符号化されているか等のタイプを指定するパラメータである。motion_vectors
MPEG−2は、MPEG−2の予測符号化によってマクロブロックの動きベクトルを指定するパラメータであり、MPEG−4の予測符号化より多くの動きベクトルを指定可能である。
なお、MPEG−2符号化パラメータCp2に含むパラメータは
図5に示すものに限らずとも良い。
【0037】
また、変換対象のマクロブロックがVideoObjectPlaneの最初のマクロブロックである場合、MPEG−2のピクチャヘッダに符号化可能なパラメータを追加して、MPEG−2符号化パラメータCp2に含めても良い。
また、変換対象のマクロブロックがVideoObjectLayerの最初のマクロブロックである場合、MPEG−2のシーケンスヘッダに符号化可能なパラメータを追加して、MPEG−2符号化パラメータCp2に含めても良い。
【0038】
次にMPEG−2予測信号生成部202は、MPEG−2符号化パラメータCp2および参照画像Rs2を読み込み、変換対象のマクロブロックがインター符号化されている場合、MPEG−2規格に基づいて動き補償予測を行ってMPEG−2予測信号Ps2を生成する。一方、変換対象のマクロブロックがイントラ符号化されている場合には、MPEG−2予測信号Ps2は画素値がすべて初期値の画像となる。
【0039】
次にMPEG−4予測信号生成部203は、MPEG−4符号化パラメータCp4および参照画像Rs2を読み込み、変換対象のマクロブロックがインター符号化されている場合、MPEG−4規格に基づいて動き補償予測を行ってMPEG−4予測信号(第1の予測画像)Ps4を生成する。一方、変換対象のマクロブロックがイントラ符号化されている場合には、MPEG−4予測信号Ps4は画素値がすべて初期値の画像となる。
【0040】
次に減算部204は、MPEG−2予測信号生成部202とMPEG−4予測信号生成部203の出力を切り替えてMPEG−2予測信号Ps2およびMPEG−4予測信号Ps4を読み込み、MPEG−2予測信号Ps2からMPEG−4予測信号Ps4を減算し、予測差分信号(差分画像)DPsを出力する。
【0041】
次にDCT変換部205は、減算部204が出力した予測差分信号DPsを読み込み、DCT変換を行い、補正DCT係数DTsを出力する。
【0042】
図2において説明したように、第1の符号化方式であるMPEG−4と、第2の符号化方式であるMPEG−2とでは予測符号化方式および予測符号化パラメータ(Cp4,Cp2)が異なるため、入力ビットストリームEs4を復号して得られる復号画像と出力ビットストリームEs2を復号して得られる復号画像は異なる画像となり、誤差が生じる。そこで、上述したように、補正係数計算部104はMPEG−4からMPEG−2への予測符号化パラメータの変換(即ちCp4からCp2への変換)によって生じる誤差を、MPEG−4予測信号Ps4とMPEG−2予測信号Ps2の差分を取ることによって求め、さらに予測差分信号DPsをDCT変換して補正DCT係数DTsとすることで、DCT係数ドメイン上で誤差の補正を可能とする信号を出力する。そして、この補正DCT係数DTsを第1のDCT係数Ts4に加算することで、誤差を抑制することができるようになる。
【0043】
図6に、補正係数の計算の流れを示す。
直交変換処理は可逆的な処理であるため、補正DCT係数DTsを計算するには第1の予測信号(MPEG−4予測信号Ps4に相当する)と第2の予測信号(MPEG−2予測信号Ps2に相当する)の差分を求めて、その差分である予測差分信号DPsを直交変換すれば良い。
【0044】
また、MPEG−4の復号画像とMPEG−2の復号画像の誤差が無視できるほど小さい場合には、MPEG−4予測信号Ps4とMPEG−2予測信号Ps2は出力ビットストリームEs2の復号画像である局所復号画像Ls2のみから生成できる。このような場合、MPEG−4分離部10において入力ビットストリームEs4を逆直交変換する必要がなくなり、処理時間を短縮することができる。このようにして、画像符号化方式変換装置1は処理時間の短縮と符号化方式の変換に伴う画質の劣化の抑制を共に達成することができる。
【0045】
以下、具体的な実現例として、補正係数計算部104の符号化パラメータ変換部201におけるMPEG−2符号化パラメータCp2の生成方法を詳細に説明する。
図4に示す符号化パラメータ変換部201は、
図3に示すMPEG−4符号化パラメータCp4を用いて、
図5に示すMPEG−2符号化パラメータCp2におけるmacroblock_type
MPEG−2を次のように設定する。
【0046】
1.変換対象のVideoObjectPlane(VOP)がB−VOP以外、かつ、mb_type
MPEG−4がintraおよびintra_qならば、macroblock_intraを有効にする。
2.変換対象のVideoObjectPlaneがB−VOP以外、かつ、mb_type
MPEG−4がintraでもintra_qでもなければ、macroblock_forwardを有効にする。
3.変換対象のVideoObjectPlaneがB−VOPの場合、さらにmb_type
MPEG−4がbackward_mc+q以外の場合にmacroblock_forwardを有効にし、一方、mb_type
MPEG−4がforward_mc+q以外の場合にmacroblock_backwardを有効にする。
【0047】
また、符号化パラメータ変換部201は、MPEG−2符号化パラメータCp2に含まれるmotion_vectors
MPEG−2を次のように設定する。このときに参照する条件を、
図7に示す。
【0048】
1.motion_vector
MPEG−4が
図7に示す条件すべてを満たす場合、motion_vectors
MPEG−2を下式(1)のように設定する。なお、式(1)に含まれるr,s,tはそれぞれベクトル番号、予測方向、水平成分/垂直成分を表している。
2.motion_vector
MPEG−4が
図7に示す条件のいずれかを満たさない場合、参照画像Rs2を用いて動きベクトルの探索を行い、motion_vectors
MPEG−2を設定する。
【0049】
なお、上記2.の動きベクトルの再探索は、次の1〜4の手順で行う。
1.動きベクトル探索範囲Sr2を決定する。
2.motion_vector
MPEG−4および参照画像Rs2を用いてMPEG−4予測信号Ps4を生成する。
3.探索範囲Sr2内の各領域に関してMPEG−4予測信号Ps4との差分を取り、差分が最も小さくなる座標MRfを求める。
4.座標MRfを指す動きベクトルをmotion_vectors
MPEG−2とする。
【0050】
動きベクトルを探索するにあたってMPEG−4予測信号Ps4を用いるのは、
図6に示したように、MPEG−4予測信号Ps4とMPEG−2予測信号Ps2の差が小さいほど予測差分信号DPsが小さくなり、予測差分信号DPsを直交変換して得られる補正DCT係数DTsも小さくなるためである。補正DCT係数DTsを小さくすると入力ビットストリームEs4から出力ビットストリームEs2への変換による符号量の増加を抑制することができる。また、MPEG−4予測信号Ps4は、入力ビットストリームEs4をベースバンド画像まで復号することなしに生成することができるため、計算量の増加を抑制することができる。
【0051】
なお、符号化パラメータ変換部201は、動きベクトルの探索範囲Sr2を決定するにあたってmotion_vector
MPEG−4を用いることで、動きベクトルの再探索を高速化することが可能である。以下に、
図7に示す条件のいずれかを満たさないmotion_vector
MPEG−4が出現した場合における、動きベクトルの探索範囲Sr2の決定方法の例を示す。このときの参照画像Rs2を
図8および
図9に示す。
【0052】
(例1)
motion_vector
MPEG−4が
図7の番号1の条件を満たさない場合、即ち変換対象のマクロブロックにおいて1/4画素精度動き補償予測が用いられている場合、MPEG−2規格では1/2画素精度動き補償予測しか許可されていないため、このmotion_vector
MPEG−4はMPEG−2規格で利用不可能である。このような場合には、
図8に示すように探索範囲Sr2を、motion_vector
MPEG−4が参照している参照座標Rf4の8近傍の1/2画素精度の座標のみとすることで、動きベクトルの再探索を高速化することができる。
【0053】
(例2)
motion_vector
MPEG−4が
図7の番号2の条件を満たさない場合、即ち変換対象のマクロブロックで8×8ブロック単位の動き補償予測が行われている場合、MPEG−2規格では8×8ブロック単位の動き補償予測は許可されていないため、このmotion_vector
MPEG−4はMPEG−2規格で利用不可能である。このような場合には、探索範囲Sr2を、motion_vector
MPEG−4に含まれる4本の動きベクトルが参照している参照座標Rf4[0]〜Rf4[3]のみとすることで、動きベクトルの再探索を高速化することができる。
【0054】
(例3)
motion_vector
MPEG−4が
図7の番号3の条件を満たさない場合、MPEG−2規格では動きベクトルが参照画像Rs2の外部を参照することは許可されていないため、このmotion_vector
MPEG−4はMPEG−2規格で利用不可能である。このような場合、
図9に示すように探索範囲Sr2を、motion_vector
MPEG−4が参照している画面(画像)外の参照座標Rf4と最も距離の小さい1/2画素精度の座標と、この座標に隣り合う1/2画素精度の座標のみとすることで、動きベクトルの再探索を高速化することができる。
【0055】
以上のようにして、符号化パラメータ変換部201はMPEG−2符号化パラメータCp2を決定する。なお、MPEG−4符号化パラメータCp4およびMPEG−2符号化パラメータCp2に本実施の形態で記述していないパラメータが含まれる場合、それらについても同様にルールを設定して変換すれば良い。
【0056】
なお、motion_vector
MPEG−4が
図7に示す条件すべてを満たす場合、予測差分信号DPsの全ての成分はゼロに近くなることが予想される。このような場合、補正係数計算部104はMPEG−4予測信号Ps4の生成およびMPEG−4予測信号Ps4からのMPEG−2予測信号Ps2の減算、予測差分信号DPsのDCT変換、MPEG−4予測信号Ps4からMPEG−2予測信号Ps2へのDCT変換、および予測差分信号DPsのDCT変換を行わないよう動作しても良い。このような動作を行う場合、補正DCT係数DTsの計算に必要な時間をより短く抑えることができる。
【0057】
以上より、実施の形態1によれば、直交変換および予測符号化を採用しているMPEG−4規格で符号化され入力ビットストリームEs4を直交変換および予測符号化を採用しているMPEG−2規格で符号化された出力ビットストリームEs2に変換する画像符号化方式変換装置1を、MPEG−4規格に基づいた復号プロセスを途中まで進めて入力ビットストリームEs4から第1のDCT係数Ts4およびMPEG−4符号化パラメータCp4を抽出するMPEG−4分離部10と、予測符号化に使用する参照画像Rs2を蓄積するフレームメモリ111と、MPEG−2規格に基づいてMPEG−2符号化パラメータCp2を決定する符号化パラメータ変換部201と、MPEG−4分離部10が抽出したMPEG−4符号化パラメータCp4およびフレームメモリ111が蓄積する参照画像Rs2を用いてMPEG−4規格に基づいてMPEG−4予測信号Ps4を生成するMPEG−4予測信号生成部203と、符号化パラメータ変換部201が決定したMPEG−2符号化パラメータCp2およびフレームメモリ111が蓄積する参照画像Rs2を用いてMPEG−2規格に基づいてMPEG−2予測信号Ps2を生成するMPEG−2予測信号生成部202と、MPEG−4予測信号Ps4とMPEG−2予測信号Ps2の予測差分信号DPsを求める減算部204と、予測差分信号DPsを直交変換して補正DCT係数DTsを計算するDCT変換部205と、MPEG−4分離部10が抽出した第1のDCT係数Ts4に補正係数計算部104が計算した補正DCT係数DTsを加算して第2のDCT係数Ts2を出力する加算部105と、加算部105が出力した第2のDCT係数Ts2および符号化パラメータ変換部201が決定したMPEG−2符号化パラメータCp2を多重化し、MPEG−2規格に基づいた符号化プロセスによって符号化して出力ビットストリームEs2を生成すると共に、出力ビットストリームEs2を復号してフレームメモリ111に蓄積させるMPEG−2多重化部11とを備えるように構成した。
このように、MPEG−4からMPEG−2へ予測符号化パラメータを変換した際に生じる誤差を予測信号同士の減算およびDCT変換によって求めることで、入力ビットストリームを逆DCT変換することなく出力ビットストリームに変換することができる。従って、符号化方式の変換によって生じる誤差を抑制しつつ、変換処理を高速化することが可能である。
【0058】
実施の形態2.
図10は、本発明の実施の形態2に係る画像符号化方式変換装置を構成する補正係数計算部104aの内部構成を示すブロック図である。本実施の形態2では、上記実施の形態1の
図4に示す補正係数計算部104に代えて、補正係数計算部104aを備える。この補正係数計算部104aは、上記実施の形態1の
図4に示す補正係数計算部104における符号化パラメータ変換部201の代わりに、符号化パラメータ変換部201aを備える。この符号化パラメータ変換部201aは、MPEG−4符号化パラメータCp4および参照画像Rs2を入力とする代わりにMPEG−4符号化パラメータCp4のみを入力とし、MPEG−4符号化パラメータCp4のみからMPEG−2符号化パラメータCp2を生成して出力する。そして、本実施の形態2の画像符号化方式変換装置におけるその他の構成は、上記実施の形態1の
図1に示す画像符号化方式変換装置1と同一の構成のため、以下では
図1を援用する。なお、説明の都合上、本実施の形態2に係る画像符号化方式変換装置を、画像符号化方式変換装置1a(不図示)と称す。
【0059】
以下、補正係数計算部104aにおける符号化パラメータ変換部201aの動作を説明する。
まず符号化パラメータ変換部201aは、上記実施の形態1の符号化パラメータ変換部201と同様に、MPEG−2符号化パラメータCp2におけるmacroblock_type
MPEG−2を設定する。さらに、motion_vectors
MPEG−2に関しても、MPEG−4符号化パラメータCp4におけるmotion_vector
MPEG−4がMPEG−2規格で利用可能な場合、実施の形態1の符号化パラメータ変換部201と同様に設定する。
【0060】
ただし、符号化パラメータ変換部201aは、motion_vector
MPEG−4がMPEG−2規格で利用不可能な場合でも参照画像Rs2は用いず、MPEG−4符号化パラメータCp4のみからMPEG−2符号化パラメータCp2におけるmotion_vectors
MPEG−2を設定する。
【0061】
以下、この設定を行う方法の詳細を説明する。
(例1)
まず、MPEG−4符号化パラメータCp4が
図7に示す番号1の条件を満たさない場合、即ち変換対象のマクロブロックにおいて1/4画素精度動き補償予測が用いられている場合、MPEG−2規格では1/2画素精度動き補償予測しか許可されていないため、motion_vector
MPEG−4はMPEG−2規格で利用不可能である。このような場合、符号化パラメータ変換部201aは、下式(2)を用いて1/4画素精度の動きベクトルを1/2画素精度の動きベクトルに丸め、motion_vectors
MPEG−2を設定する。
【0062】
これにより、第1の符号化方式であるMPEG−4において第2の符号化方式であるMPEG−2より細かい画素単位での動き補償予測が可能である場合に、割り算によって、MPEG−4符号化パラメータCp4に含まれる第1の動きベクトルmotion_vector
MPEG−4から、MPEG−2符号化パラメータCp2に含まれる第2の動きベクトルmotion_vectors
MPEG−2を決定することができる。
【0063】
(例2)
また、MPEG−4符号化パラメータCp4が
図7に示す番号2の条件を満たさない場合、即ち変換対象のマクロブロックで8×8ブロック単位の動き補償予測が行われている場合、MPEG−2規格では8×8ブロック単位の動き補償予測は許可されていないため、このmotion_vector
MPEG−4はMPEG−2規格で利用不可能である。このような場合、符号化パラメータ変換部201aは下式(3)を用いて全ての8×8ブロック単位の動きベクトルを平均し、motion_vectors
MPEG−2を設定する。
【0064】
これにより、第1の符号化方式であるMPEG−4においてMPEG−4符号化パラメータCp4が含むmotion_vector
MPEG−4によって第2の符号化方式であるMPEG−2より多くの動きベクトルを指定可能である場合に、MPEG−4符号化パラメータCp4に含まれる2本以上の動きベクトルを1本の動きベクトルにまとめることで、MPEG−2符号化パラメータCp2によって指定可能な全ての動きベクトルを決定することができる。
【0065】
(例3)
また、MPEG−4符号化パラメータCp4が
図7の番号3の条件を満たさない場合、MPEG−2規格では動きベクトルが参照画像Rs2の外部を参照することは許可されていないため、このmotion_vector
MPEG−4はMPEG−2規格で利用不可能である。このような場合、符号化パラメータ変換部201aは下式(4)を用いて、補正係数計算部104aが参照する参照画像Rs2の内側にある領域で、現在参照している領域と最も近い領域を参照するようにmotion_vectors
MPEG−2を設定する。なお、式(4)においてmb_posは変換対象マクロブロックの左上座標、picture_sizeは参照画像Rs2のサイズを示す。
【0066】
これにより、第1の符号化方式であるMPEG−4において動きベクトルが参照できる座標の範囲が第2の符号化方式であるMPEG−2において参照できる座標の範囲より広い場合に、MPEG−4符号化パラメータCp4に含まれる第1の動きベクトルの参照座標を、MPEG−2において参照できる座標の範囲内で最も第1の動きベクトルとの距離が小さい座標に丸めることで、MPEG−2符号化パラメータCp2に含まれる第2の動きベクトルを決定することができる。
【0067】
このように、第2の符号化方式であるMPEG−2においてMPEG−4予測信号Ps4と同値のMPEG−2予測信号Ps2を生成可能なMPEG−2符号化パラメータCp2を使用できる場合には、補正係数計算部104において補正DCT係数DTsを計算する処理を省略できるため、さらなる処理時間の短縮が可能である。このようにして、画像符号化方式変換装置1aは処理時間の短縮と符号化方式の変換に伴う画質の劣化の抑制を共に達成することができる。
【0068】
以上より、実施の形態2によれば、画像符号化方式変換装置1aにおいてMPEG−4規格およびMPEG−2規格が動き補償予測符号化を採用しており、かつ、MPEG−4においてMPEG−2より細かい画素単位での動き補償予測が可能である場合、MPEG−4においてMPEG−4符号化パラメータCp4に含まれる第1の動きベクトルによってMPEG−2符号化パラメータCp2に含まれる第2の動きベクトルより多くの動きベクトルを指定可能である場合、または、MPEG−4において第1の動きベクトルが参照できる座標の範囲がMPEG−2において第2の動きベクトルが参照できる座標の範囲より広い場合のように、MPEG−4の予測符号化パラメータにおいてMPEG−2規格で利用不可能な予測符号化パラメータが出現した場合に、符号化パラメータ変換部201aは、参照画像を用いた動きベクトルの再探索を行うことなくMPEG−2の予測符号化パラメータを生成することができる。よって、この符号化パラメータ変換部201aを備えた補正係数計算部104aは、補正係数の各成分の値がより増加する可能性がある代わりに、より高速に補正係数およびMPEG−2の予測符号化パラメータを出力することができる。従って、この補正係数計算部104aを備えた画像符号化方式変換装置1aは、出力ビットストリームの符号量が上記実施の形態1に係る画像符号化方式変換装置1より増加する可能性がある代わりに、より高速な変換処理が可能である。
【0069】
実施の形態3.
図11は、本発明の実施の形態3に係る画像符号化方式変換装置1bの構成を示すブロック図である。画像符号化方式変換装置1bは、上記実施の形態1の
図1に示す画像符号化方式変換装置1におけるMPEG−4分離部10の代わりに、MPEG−4分離部10bを備える。また、補正係数計算部104の代わりに補正係数計算部104bを備える。さらに、MPEG−2多重化部11の代わりにMPEG−2多重化部11bを備える。そして、本実施の形態3の画像符号化方式変換装置1bにおけるその他の構成は、上記実施の形態1の
図1に示す画像符号化方式変換装置1と同一の構成のため、詳細な説明は省略する。
【0070】
本実施の形態3では、第2の符号化方式が第1の符号化方式と異なる量子化方式を採用している場合に、出力ビットストリームを量子化する際に直交変換係数の割り算に用いる係数(第2の量子化ステップ)を、入力ビットストリームを符号化する際の量子化において直交変換係数の割り算に用いた係数(第1の量子化ステップ)の約数になるよう出力ビットストリームの量子化パラメータを設定する。
【0071】
図12に、量子化ステップの調整による誤差の抑制の流れを示す。
この直交変換係数は
図11に示す出力ビットストリームEs2の第1のDCT係数Ts4に相当する。入力ビットストリームの直交変換係をそのまま利用する場合、直交変換係数の各係数成分は第1の量子化ステップの倍数または第1の量子化ステップの倍数と整数値の和となっていることから、出力ビットストリームの量子化パラメータを上述のように設定することによって量子化方式の違いによる誤差が抑制できる。
【0072】
以下、具体的な実現例を説明する。
図11に示す画像符号化方式変換装置1bにおいて、MPEG−4分離部10bは、上記実施の形態1のMPEG−4分離部10におけるMPEG−4VLD部101の代わりにMPEG−4VLD部101bを備える。MPEG−4分離部10bのその他の構成は、
図1に示すMPEG−4分離部10と同一の構成となっている。
このMPEG−4VLD部101bは、MPEG−4VLD部101と同様にMPEG−4符号化パラメータCp4およびMPEG−4量子化された差分DCT係数DQs4を出力する。
【0073】
図13に、MPEG−4符号化パラメータCp4に含まれるパラメータの例を示す。
本実施の形態3においてMPEG−4VLD部101bが出力するMPEG−4符号化パラメータCp4は、
図3に示すパラメータに加えて符号化パラメータquantiser_scale
MPEG−4、quant_mat
MPEG−4およびquant_type
MPEG−4が含まれる。quantiser_scale
MPEG−4は、MPEG−4量子化ステップQp4を決定するパラメータであり、マクロブロック単位で指定される。quant_mat
MPEG−4は、DCT係数毎の量子化ステップを決定するパラメータであり、ピクチャ単位で指定される。quant_type
MPEG−4が1の場合、各DCT係数の量子化ステップはquantiser_scale
MPEG−4とquant_mat
MPEG−4の積に比例する。quant_type
MPEG−4は、量子化に用いる式を決定するパラメータである。quant_type
METG−4が1の場合、量子化にはMEPG−2に近い量子化マトリックスを使った量子化式が使用される。一方、quant_type
MPEG−4が0の場合、量子化にはH.263に近い量子化マトリックスを使わない量子化式が使用される。これらのパラメータを以降はMPEG−4量子化パラメータ(第1の量子化パラメータ)と呼ぶ。
なお、quant_mat
MPEG−4およびquant_type
MPEG−4は、変換対象のマクロブロックがVideoObjectLayerの最初のマクロブロックである場合にMPEG−4符号化パラメータCp4に含まれる。
【0074】
補正係数計算部104bは、上記実施の形態1の補正係数計算部104と同様に、MPEG−4符号化パラメータCp4および参照画像Rs2を読み込み、MPEG−2符号化パラメータCp2、MPEG−2予測信号Ps2および補正DCT係数DTsを出力する。
【0075】
図14に、MPEG−2符号化パラメータCp2に含まれるパラメータの例を示す。
本実施の形態3において補正係数計算部104bが出力するMPEG−2符号化パラメータCp2は、
図5に示すパラメータに加えて符号化パラメータquantiser_scale
MPEG−2、q_scale_type
MPEG−2およびquantiser_matrix
MPEG−2が含まれる。quantiser_scale
MPEG−2は、MPEG−2量子化ステップQp2を決定するパラメータであり、マクロブロック単位で指定される。q_scale_type
MPEG−2は、quantiser_scale
MPEG−2の値域を制御するパラメータであり、ピクチャ単位で指定される。quantiser_matrix
MPEG−2は、DCT係数毎の量子化ステップを決定するパラメータであり、ピクチャ単位で指定される。各DCT係数の量子化ステップは、quantiser_scale
MPEG−2とquantiser_matrix
MPEG−2の積に比例する。これらのパラメータを以降はMPEG−2量子化パラメータ(第2の量子化パラメータ)と呼ぶ。
なお、q_scale_type
MPEG−2は、変換対象のマクロブロックがVideoObjectPlaneの先頭である場合にMPEG−2符号化パラメータCp2に含まれる。他方、quantiser_matrix
MPEG−2は、変換対象のマクロブロックがVideoObjectLayerの先頭である場合にMPEG−2符号化パラメータCp2に含まれる。
【0076】
MPEG−2多重化部11bは、上記実施の形態1のMPEG−2多重化部11におけるMPEG−2量子化部106の代わりにMPEG−2量子化部106bを備える。MPEG−2多重化部11bのその他の構成は、
図1に示すMPEG−2多重化部11と同一の構成となっている。
このMPEG−2量子化部106bは、第2のDCT係数Ts2およびMPEG−2符号化パラメータCp2を読み込み、MPEG−2符号化パラメータCp2に含まれるMPEG−2量子化パラメータquantiser_scale
MPEG−2、q_scale_type
MPEG−2およびquantiser_matrix
MPEG−2を用いて第2のDCT係数Ts2を量子化し、MPEG−2量子化されたDCT係数Qs2を出力する。
【0077】
以上の動作によって、画像符号化方式変換装置1bは入力ビットストリームEs4の量子化に使用されたパラメータを出力ビットストリームEs2の符号化に活用する。
【0078】
以下、補正係数計算部104bの内部構成を説明する。
図15に、補正係数計算部104bの内部構成を示す。図示するように補正係数計算部104bは、符号化パラメータ変換部201に代えて符号化パラメータ変換部201bを備える。この符号化パラメータ変換部201bは、内部に量子化マトリックスQMtおよびquantiser_scale変換テーブルQTbを有する。量子化マトリックスQMtは、2つの8×8整数行列(イントラ用およびインター用)からなる。また、quantiser_scale変換テーブルQTbは31個の要素を持つ整数配列であり、quantiser_scale
MPEG−4の取りうる全ての値に対して、変換後のquantiser_scale
MPEG−2の値を格納している。この符号化パラメータ変換部201bは、MPEG−2符号化パラメータCp2にquantiser_scale
MPEG−2を含めて出力するよう動作する。また、変換対象のマクロブロックがVideoObjectPlaneの先頭である場合にはMPEG−2符号化パラメータCp2にq_scale_type
MPEG−2を含めて出力するよう動作する。さらに、変換対象のマクロブロックがVideoObjectLayerの先頭である場合にはMPEG−2符号化パラメータCp2にquantiser_matrix
MPEG−2を含めて出力するよう動作する。そして、補正係数計算部104bにおけるその他の構成は、
図4に示す補正係数計算部104の構成と同一の構成となっている。
【0079】
続いて、符号化パラメータ変換部201bにおけるMPEG−2量子化パラメータquantiser_scale
MPEG−2、q_scale_type
MPEG−2およびquantiser_matrix
MPEG−2の決定方法をより詳細に説明する。
まず読み込んだMPEG−4符号化パラメータCp4にquant_type
MPEG−4が含まれている場合、符号化パラメータ変換部201bは、内部の量子化マトリックスQMtおよびquantiser_scale変換テーブルQTbを初期化する。このとき、量子化マトリックスQMtおよびquantiser_scale変換テーブルQTbは、MPEG−2量子化ステップQp2が常にMPEG−4量子化ステップQp4の約数となるように初期化される。
【0080】
ここで、MPEG−2量子化ステップQp2とは、MPEG−2量子化部106bにおいてMPEG−2符号化パラメータCp2を用いてMPEG−2規格による量子化を行う際に、割り算に使用される係数と定義する。
また、MPEG−4量子化ステップQp4とは、MPEG−4符号化パラメータCp4を用いてMPEG−4規格による量子化を行う際に、割り算に使用される係数と定義する。
【0081】
以下、具体的に例を示す。
まずMPEG−4符号化パラメータCp4におけるquant_type
MPEG−4が1の場合の初期化の例を示す。quant_type
MPEG−4が1の場合、MPEG−4の逆量子化式は下式(5)のように定義される。ここで、Qsは量子化DCT係数、Tsは逆量子化後のDCT係数を示す。また、wはマクロブロック符号化タイプを示す変数であり、v,uはそれぞれ係数の位置を示す変数である。
【0082】
上式(5)から、MPEG−4量子化ステップQp4は下式(6)のように求められる。
【0083】
次に、MPEG−2の逆量子化式は下式(7)のように定義される。そして、式(7)から、MPEG−2量子化ステップQp2は下式(8)のように求められる。
【0084】
上式(6)および式(8)から、MPEG−2量子化ステップQp2[v][u]が常にMPEG−4量子化ステップQp4[v][u]の約数となるようにするには、quantiser_matrix
MPEG−2[w][v][u]が全てのw,v,uについてquant_mat
MPEG−4と等値となり、かつ、quantiser_scale
MPEG−2がquantiser_scale
MPEG−4と等値か、またはquantiser_scale
MPEG−4の2倍となるようにMPEG−2量子化パラメータを設定すればよいことが分かる。
なお、MPEG−2量子化ステップQp2[v][u]が常に1となるようにMPEG−2量子化パラメータを設定することもできるが、符号量が非常に大きくなるため現実的ではない。
【0085】
ここで、quantiser_matrix
MPEG−2[w][v][u]およびquantiser_scale
MPEG−2は、符号化パラメータ変換部201bが有する量子化マトリックスQMtおよびquantiser_scale変換テーブルQTbを用いて、下式(9)のように計算されるものとする。
【0086】
ただし、MPEG−2規格ではquantiser_scale
MPEG−2は1から31の任意の整数値を取ることはできない。従って、quantiser_scale
MPEG−2を常にquantiser_scale
MPEG−4と等値にはできない。
一方、q_scale_type
MPEG−2を0とした場合は、quantiser_scale
MPEG−2は2から62の任意の偶数を取ることができるため、下式(10)によって量子化マトリックスQMtおよびquantiser_scale変換テーブルQTbを初期化すれば、MPEG−2量子化ステップQp2[v][u]が常にMPEG−4量子化ステップQp4[v][u]の約数となるようにすることができる。
【0087】
さらに、符号化パラメータ変換部201bは、次のVideoObjectLayerを読み込むまで、q_scale_type
MPEG−2を常に0に決定する。このとき、MPEG−2量子化ステップQp2[v][u]は常にMPEG−4量子化ステップQp4[v][u]と等値となり、MPEG−2量子化によって発生する誤差は非常に小さくなる。
【0088】
別の例として、MPEG−4符号化パラメータCp4におけるquant_type
MPEG−4が0の場合の初期化の例を示す。
quant_type
MPEG−4が0の場合、MPEG−4の逆量子化式は下式(11)および式(12)のように定義される。
【0089】
上式(11)および式(12)から、MPEG−4量子化ステップQp4[v][u]は下式(13)のように求められる。
【0090】
そして、上式(8)から、MPEG−2量子化ステップQp2[v][u]が常にMPEG−4量子化ステップQp4[v][u]の約数となるようにするには、以下の式(14)によって量子化マトリックスQMtおよびquantiser_scale変換テーブルQTbを初期化すれば良い。
【0091】
このとき、MPEG−2量子化ステップQp2[v][u]はMPEG−4量子化ステップQp4[v][u]と同値となる。
あるいは、量子化マトリックスQMt[w][v][u]=4またはQMt[w][v][u]=2で初期化すれば、MPEG−2量子化ステップQp2[v][u]をMPEG−4量子化ステップQp4[v][u]の異なる約数とすることも可能である。
【0092】
さらに、MPEG−2量子化ステップQp2[v][u]を常にMPEG−4量子化ステップQp4[v][u]の約数とする量子化パラメータの組み合わせが複数ある場合、符号化パラメータ変換部201bは、補正係数計算部104bが補正DCT係数DTsを出力する必要があるかどうかの推測に基づいて使用するパラメータの組み合わせを変えても良い。
【0093】
図16に、補正係数が出力され、第1のDCT係数Ts4に加算される場合の量子化パラメータの調整方法を示す。
図12において第2の量子化ステップ(MPEG−2量子化ステップQp2に相当する)を第1の量子化ステップ(MPEG−4量子化ステップQp4に相当する)の約数になるように設定する構成を説明したが、この設定が複数存在する場合であって補正係数の加算を行う場合には、加算を行わない場合より
第2の量子化ステップが小さくなるように前記設定を行う。これにより、
図16に示すように、必ずしも第1の量子化ステップの倍数となっていない補正係数部分をより正確に量子化し、誤差を抑制することができる。
【0094】
以下、MPEG−4量子化ステップQp4におけるquant_type
MPEG−4が0の場合について具体例を示す。
本実施の形態3においては、MPEG−4符号化パラメータCp4に含まれるmotion_vector
MPEG−4が
図7に示す条件を全て満たすか否かによって補正DCT係数DTsを出力する必要があるか否かを推測することができる。
図16に示したように、補正DCT係数DTsは必ずしもMPEG−4量子化ステップQp4の倍数とはならないため、この補正DCT係数DTsの情報が量子化によって失われることを抑制するためには、MPEG−2量子化ステップQp2がより小さくなるようにMPEG−2量子化パラメータを決定する必要がある。
【0095】
従って、符号化パラメータ変換部201bは、まず上式(14)の代わりに、下式(15)を用いて量子化マトリックスQMtおよびquantiser_scale変換テーブルQTbを初期化する。
【0096】
さらに、motion_vector
MPEG−4が
図7の条件のいずれかを満たさない場合、即ち補正係数計算部104bが補正DCT係数DTsを出力する場合、符号化パラメータ変換部201bは、上式(9)の代わりに下式(16)を用いてquantiser_scale
MPEG−2を計算する。
【0097】
このとき、MPEG−2量子化ステップQp2[v][u]はMPEG−4量子化ステップQp4[v][u]を2で割った値となり、符号量が増える代わりに補正DCT係数DTsをより正確に量子化することができる。よって、補正DCT係数DTsの情報がMPEG−2量子化部106bのMPEG−2量子化によって失われることを抑制でき、変換の際の誤差を抑制できる。
【0098】
以上より、実施の形態3によれば、量子化を採用しているMPEG−4およびMPEG−2の間で変換処理を行う画像符号化方式変換装置1bにおいて、MPEG−4分離部10bは、第1のDCT係数Ts4およびMPEG−4符号化パラメータCp4に加えてMPEG−4量子化パラメータを抽出し、符号化パラメータ変換部201bは、MPEG−2符号化パラメータCp2に加えてMPEG−2量子化パラメータを生成するときに、MPEG−4分離部10bが抽出したMPEG−4量子化パラメータを用いて量子化を行う場合に直交変換係数の割り算に用いられる値をMPEG−2量子化ステップQp2とし、MPEG−2量子化パラメータを用いて量子化を行う場合に直交変換係数の割り算に用いられる値をMPEG−2量子化ステップQp2とすると、MPEG−2量子化ステップQp2がMPEG−4量子化ステップQp4の約数となるようにMPEG−2量子化パラメータを設定し、MPEG−2多重化部11bは、第2のDCT係数Ts2およびMPEG−2符号化パラメータCp2に加えて、符号化パラメータ変換部201bが設定したMPEG−2量子化パラメータをMPEG−2規格によって符号化して出力ビットストリームEs2を生成するように構成した。
このため、画像符号化方式変換装置1bは、入力ビットストリームの符号化に使用された量子化方式と出力ビットストリームの符号化に使用する量子化方式が異なる場合でも、より少ない誤差で符号化方式の変換ができる。
【0099】
また、実施の形態3によれば、符号化パラメータ変換部201bは、MPEG−2量子化ステップQp2がMPEG−4量子化ステップQp4の約数となるMPEG−2量子化パラメータが複数ある場合に、補正係数計算部104bが補正DCT係数DTsを出力し、かつ、補正DCT係数DTsがゼロでないときには、そうでないときよりもMPEG−4量子化ステップQp4が小さくなるMPEG−2量子化パラメータを選択するように構成した。これにより、補正係数部分が第1の量子化ステップの倍数となっていない場合であっても当該補正係数部分をより正確に量子化できるようになり、誤差を抑制することができる。
【0100】
実施の形態4.
図17は、本実施の形態4に係る画像符号化方式変換装置の構成を示すブロック図である。本実施の形態4では、上記実施の形態3の
図11に示すMPEG−4分離部10bに代えてMPEG−4分離部10cを備える。また、
図11の補正係数計算部104bに代えて補正係数計算部104cを備える。そして、本実施の形態4の画像符号化方式変換装置1cにおけるその他の構成は、上記実施の形態3の
図11に示す画像符号化方式変換装置1bと同一の構成のため詳細な説明を省略する。
【0101】
図18は、本実施の形態4に係る画像符号化方式変換装置を構成する補正係数計算部104cの内部構成を示すブロック図である。この補正係数計算部104cは、上記実施の形態3の
図15に示す符号化パラメータ変換部201b、MPEG−2予測信号生成部202、MPEG−4予測信号生成部203、減算部204に加えて、新たに、加算部206cおよび変換誤差メモリ208cを備える。また、
図15のDCT変換部205に代えて、新たに補正係数出力部207cを備える。
【0102】
図19に、変換誤差メモリを用いた場合の補正係数の生成方法を示す。
図19に示すように、補正係数が微小な場合、補正結果が量子化後の直交変換係数に反映されない。本実施の形態4では、このような場合にも直交変換係数を逆直交変換して生成した差分画像(即ち、
図18に示す局所誤差画像ELsに相当する)を変換誤差メモリに蓄積し、次回以降の補正係数の計算に反映することで、第1の符号化方式から第2の符号化方式への変換に伴う誤差を抑制することができる。
【0103】
図20に、MPEG−4符号化パラメータCp4に含まれるパラメータの例を示す。
本実施の形態4に係る画像符号化方式変換装置1cにおいて、MPEG−4VLD部101cは、VideoObjectPlaneの最初のマクロブロックを読み込んだ場合、MPEG−4符号化パラメータCp4として
図13に示すパラメータに加えてvop_rounding_type
MPEG−4を出力するよう動作する。vop_rounding_type
MPEG−4は、1/2画素精度の動き予測を行う際に、予測画像を求めるための割り算を制御するパラメータであり、符号化ツールに相当する。
【0104】
以下、
図18を用いて補正係数計算部104cを説明する。
補正係数計算部104cは、上記実施の形態3に係る画像符号化方式変換装置1bにおける補正係数計算部104bと同様に、MPEG−2符号化パラメータCp2の出力、MPEG−2予測信号Ps2の出力、および予測差分信号(差分画像)DPsの生成を行う。また補正係数計算部104cは、生成した予測差分信号DPsを加算部206cに入力する。加算部206cは、変換誤差メモリ208cに蓄積されている誤差画像ERsをこの予測差分信号DPsに加算し、修正差分信号(修正差分画像)CPsを生成する。
【0105】
次に補正係数出力部207cは、加算部206cが出力した修正差分信号CPsを読み込み、まずMPEG−2符号化パラメータCp2および予測差分信号DPsを用いて補正DCT係数DTsを出力するか否かの判定を行う。出力する判定の場合、補正係数出力部207cは修正差分信号CPsをDCT変換して補正DCT係数DTsを生成し、出力する。このとき局所誤差画像ELsは出力しない。生成した補正DCT係数DTsは補正係数計算部104cからMPEG−2VLC部107へ出力される。
一方、出力しない判定の場合、補正係数出力部207cは修正差分信号CPsをそのまま局所誤差画像ELsとして出力し、補正DCT係数DTsの出力は行わない。よって補正係数計算部104cから補正DCT係数DTsは出力されない。
【0106】
次に変換誤差メモリ208cは、補正係数出力部207cが局所誤差画像ELsを出力する場合に、その局所誤差画像ELsを記録および蓄積し、以降の変換において誤差画像ERsとして加算部206cへ出力する。
【0107】
以下、補正係数出力部207cが補正DCT係数DTsを出力するか否かを判定する方法を説明する。
補正係数出力部207cは、補正DCT係数DTsがMPEG−2量子化によってゼロ係数になる場合には補正DCT係数DTsを出力せず、そうでない場合(即ち、補正DCT係数DTsがMPEG−2量子化によってゼロ係数以外になる場合)には補正DCT係数DTsを出力するように動作する。この動作によって、
図19に示したように、変換誤差メモリ208cに局所誤差画像ELsを蓄積し、蓄積分をまとめてDCT変換して量子化で失われない補正DCT係数DTsを出力することができるようになる。
【0108】
補正係数出力部207cにおいて、補正DCT係数DTsがMPEG−2量子化によってゼロ係数になるか否かは、以下のように判定する。
1.motion_vector
MPEG−4が
図7に示す条件を全て満たし、かつ、変換中のVideoObjectPlaneにおいてvop_rounding_type
MPEG−4が0である場合、補正DCT係数DTsは量子化によってゼロ係数となる。
2.motion_vector
MPEG−4が
図7に示す番号2または番号3のいずれかの条件を満たさない場合、補正DCT係数DTsは量子化によってゼロ係数とならない。
3.上記1.または上記2.以外の場合、修正差分信号CPsの各成分の絶対値の和が閾値を超えるならば、補正DCT係数DTsは量子化によってゼロ係数とならないとし、一方、閾値を超えないならば補正DCT係数DTsは量子化によってゼロ係数となるとする。
【0109】
なお、上記3.において、修正差分信号CPsの各成分の絶対値の和を計算する代わりに、修正差分信号CPsをDCT変換して仮の補正DCT係数を生成し、仮の補正DCT係数においてMPEG−2量子化ステップQp2の値を超える成分が既定の割合より多い場合には補正DCT係数DTsは量子化によってゼロ係数にならないとする。一方、仮の補正DCT係数においてMPEG−2量子化ステップQp2の値を超える成分が既定の割合以下の場合には補正DCT係数DTsは量子化によってゼロ係数となるとする方法も考えられる。
本実施の形態4においては、補正係数出力部207cがどちらの方法を使用して判断しても良い。
【0110】
ここで、vop_rounding_type
MPEG−4パラメータがMPEG−4において利用可能、かつ、MPEG−2において利用できない場合に、MPEG−4予測信号Ps4に含まれるvop_rounding_type
MPEG−4に起因した誤差を補正する方法を説明する。
符号化パラメータ変換部201bは、MPEG−4符号化パラメータCp4のvop_rounding_type
MPEG−4が1であり、mb_type
MPEG−4がイントラ符号化マクロブロックであることを示す値である場合、MPEG−2符号化パラメータCp2にintra_dc_precisionを含めて出力するよう動作する。
intra_dc_precisionは、MPEG−2のイントラDC係数を量子化する際の量子化ステップを決定するパラメータである。符号化パラメータ変換部201bは、その量子化ステップが最小になるよう、intra_dc_precisionを決定する。MPEG−2ではintra_dc_precision=2とする。
【0111】
次に補正係数出力部207cは、MPEG−2符号化パラメータCp2にvop_rounding_type
MPEG−4が含まれている場合に、そのvop_rounding_type
MPEG−4による画素値の丸め方向を判定する。補正係数出力部207cは、MPEG−4予測信号Ps4に含まれる画素のうち、vop_rounding_type
MPEG−4が0の場合と比較して画素値が小さくなっているものを「下方向に丸められた」予測画素とし、vop_rounding_type
MPEG−4が0の場合と等しくなっているものを「上方向に丸められた」予測画素とする。
【0112】
MPEG−4予測信号Ps4において下方向に丸められた予測画素が上方向に丸められた予測画素より多い場合、補正係数出力部207cが出力する補正DCT係数DTsにおけるDC成分を1増加させる。補正DCT係数DTsのDC成分は予測差分信号DPsの全ての画素値を増加させるため、予測画素が下方向に丸められたことによる誤差を補正することができる。
反対に、上方向に丸められた予測画素のほうが多ければ、DC成分を1減少させてもよい。
【0113】
なお、誤差補正の操作を行う補正DCT係数DTsはDC成分に限定する必要はなく、他のDCT係数と独立して量子化ステップを変更できる係数であればどの係数でも良い。
また、vop_rounding_type
MPEG−4による誤差以外にも、発生する誤差が小さい符号化ツールによる誤差であれば、上記同様に補正できる。
【0114】
以上より、実施の形態4によれば、画像符号化方式変換装置1cは局所誤差画像ELsを誤差画像ERsとして蓄積する変換誤差メモリ208cを備え、補正係数計算部104cは、予測差分信号DPsを直交変換して補正DCT係数DTsを計算するDCT変換部205を備える代わりに、その予測差分信号DPsに変換誤差メモリ208cに蓄積された誤差画像ERsを加算して修正差分信号CPsを出力する加算部206cおよび修正差分信号CPsを直交変換して補正DCT係数DTsを計算する補正係数出力部207cを備え、さらに、補正係数出力部207cは、補正DCT係数DTsが閾値より小さい場合には補正DCT係数DTsを出力せずに局所誤差画像ELsを変換誤差メモリ208cに蓄積させるように構成した。
このように、補正係数がMPEG−2量子化によってゼロ係数になると予測される場合に、補正係数を出力せずに内部の変換誤差メモリに蓄積し、以降の補正係数の計算に利用することで、量子化によって丸められてしまうような微小な誤差でも補正することができる。
【0115】
また、実施の形態4によれば、画像符号化方式変換装置1cは、MPEG−4において丸め誤差を制御する符号化ツールが利用可能、かつ、MPEG−2において符号化ツールを利用できない場合に、MPEG−4分離部10が第1のDCT係数Ts4、MPEG−4符号化パラメータCp4およびMPEG−4量子化ステップQp4に加えて、入力ビットストリームEs4において符号化ツールを示すvop_rounding_type
MPEG−4を抽出し、符号化パラメータ変換部201bは入力ビットストリームEs4に符号化ツールが使用されている場合に、補正DCT係数DTsのうちの一部の係数(例えばDC成分)に関するMPEG−2量子化ステップQp2の値を、MPEG−2において取り得る最も小さな値に変更し、補正係数出力部207cは入力ビットストリームEs4に符号化ツールが使用されている場合に、そのvop_rounding_type
MPEG−4が指定する丸め方向に基づいて上方向に丸められるMPEG−4予測信号Ps4の画素が多ければ補正DCT係数DTsの一部の係数を減少させ、下方向に丸められる画素が多ければ一部の係数を増加させるように構成した。
このため、補正DCT係数DTsを操作することにより、符号化ツールに起因する誤差を補正することができる。
【0116】
なお、上記実施の形態1〜4で説明した画像符号化方式変換装置1,1a,1b,1cをコンピュータで構成してもよく、その場合には、MPEG−4分離部10、MPEG−2多重化部11および補正係数計算部104などの各部の処理内容を記述している画像符号化方式変換プログラムをコンピュータのメモリに格納し、コンピュータのCPUがメモリに格納されているそのプログラムを実行するようにすればよい。
【0117】
また、本願発明は、その発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは、各実施の形態において任意の構成要素の省略が可能である。