JP2004356857A - 画像データ符号化装置 - Google Patents
画像データ符号化装置 Download PDFInfo
- Publication number
- JP2004356857A JP2004356857A JP2003150863A JP2003150863A JP2004356857A JP 2004356857 A JP2004356857 A JP 2004356857A JP 2003150863 A JP2003150863 A JP 2003150863A JP 2003150863 A JP2003150863 A JP 2003150863A JP 2004356857 A JP2004356857 A JP 2004356857A
- Authority
- JP
- Japan
- Prior art keywords
- encoding
- circuit
- image data
- data
- picture
- 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
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】CIFサイズの動画像符号化を、動作周波数を上げることなく実現するために、QCIF符号化装置である分割画像符号化部を4つ用いる従来装置は、消費電力が4倍となる。
【解決手段】分割画像符号化部52は、分割画像Iピクチャ符号化部52a、分割画像Pピクチャ符号化部52b、分割画像Bピクチャ符号化部52c及び52dから構成されており、ピクチャ毎に並列に符号化を行うと共に、4つの分割画像信号に対して分割画面毎に符号化を時分割で行うので、分割画像符号化部52の総演算量及びハードウェア量はIピクチャ符号化演算量の8倍になる。従来はどのピクチャタイプも符号化可能な4つの分割画像符号化部で符号化を行うため、ハードウェア量はIピクチャ符号化演算時の12倍となる。従って、本発明は従来と比較して、ハードウェア量削減に伴い、消費電力低減を実現できる。
【選択図】 図1
【解決手段】分割画像符号化部52は、分割画像Iピクチャ符号化部52a、分割画像Pピクチャ符号化部52b、分割画像Bピクチャ符号化部52c及び52dから構成されており、ピクチャ毎に並列に符号化を行うと共に、4つの分割画像信号に対して分割画面毎に符号化を時分割で行うので、分割画像符号化部52の総演算量及びハードウェア量はIピクチャ符号化演算量の8倍になる。従来はどのピクチャタイプも符号化可能な4つの分割画像符号化部で符号化を行うため、ハードウェア量はIピクチャ符号化演算時の12倍となる。従って、本発明は従来と比較して、ハードウェア量削減に伴い、消費電力低減を実現できる。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は画像データ符号化装置に係り、特にMPEG(Moving Picture Experts Group)などの圧縮符号化方式により、動画像信号などの画像データを圧縮符号化して伝送する画像データ符号化装置に関する。
【0002】
【従来の技術】
ビデオ映像信号等の大量の動画像信号をより少ないデータ量で転送・蓄積するための動画像圧縮技術として、MPEG4が挙げられる。MPEG4は、同じ動画像圧縮技術としてよく知られているMPEG2とは異なる領域で、低ビットレートの高圧縮率を目標とした技術であり、携帯テレビ電話、ムービーメール、インターネット配信などマルチメディアの分野で注目を浴びつつある。
【0003】
MPEG4では、1枚の動画像フレームデータを水平方向および垂直方向共に8画素(すなわち、8画素×8画素)の大きさのブロックに分割し、各ブロックに対して空間的相関を利用して離散コサイン変換(以下、DCTと示す)を行い、そのDCT係数を量子化することで生成される符号に出現頻度の偏りを持たせ、出現頻度の高いものにはなるべく短い符号を、逆に出現頻度の低いものには長い符号を割り当てるという可変長符号化を行うことを基本としている。また、動き検出/動き補償により時間軸方向の相関を利用しての圧縮も行い、符号化効率を向上させている。
【0004】
動き検出/動き補償とは、入力画像をそれぞれ重なりを持たない水平方向および垂直方向共に16画素(すなわち、16画素×16画素)から構成されるマクロブロック単位に分割し、現フレーム画像内の符号化ターゲットマクロブロックを時間軸での前方向(過去)または後方向(未来)フレーム画像内の同じ位置におけるマクロブロックを中心とした、ある探索範囲内のマクロブロックと比較することにより、動き情報(動きベクトル量)を求めて、符号化効率を上げる技術である。
【0005】
このような動画像圧縮技術を用いることにより、低ビットレ一卜でも高画質な動画像データを供給することが可能となった。MPEG4では、扱われている動画像サイズは現状、水平方向176画素、垂直方向144画素のQCIFサイズ(176画素×144画素)が主であるが、今後、更に大きなサイズの圧縮符号化実現が望まれる。
【0006】
ここで、QCIF(Quarter CIF)サイズの4倍であるCIF(Common Intermediate Format:共通中間フォーマット)サイズ(352画素×288画素)の動画像圧縮符号化実現を考える。サイズが4倍になるということは符号化処理量が4倍に増加することになり、4倍の処理高速化が必要になる。一番簡単な実現手段は動作周波数を4倍に上げることである。これにより、QCIFサイズ動画像データを圧縮符号化可能な符号化装置を利用して、その4倍サイズであるCIFサイズ動画像データの符号化処理可能となる。
【0007】
しかしながら、このように動作周波数を上げることで、小さなサイズの動画像データの圧縮符号化装置を用いて、それよりも大きいサイズの動画像データの圧縮符号化処理を行う方法では、動作周波数を上げるのにもハードウェア上の限界がある。
【0008】
そこで、小さなサイズの動画像データ符号化装置を用いて大画面の動画像データの符号化を行うことが可能な他の方法として、従来、動画像データの各画面を分割して並列処理で圧縮符号化を行う画像データ符号化装置が提案されている(例えば、特許文献1参照)。
【0009】
図19は上記の特許文献1記載の従来の画像データ符号化装置の一例のブロック図を示す。この例では、QCIF用符号化装置である分割画像符号化部を4つ使用してCIFサイズの符号化を実現する。図19に示す画像データ符号化装置は、動画像データ入力端子1、画面分割部2、画像符号化部3、統合ストリームデータ生成部4、符号化データ出力端子5及び制御部6から構成される。
【0010】
動画像データ入力端子1から入力されたCIF動画像データは、画面分割部2に供給され、ここで制御部6からの制御の下に4つの分割画面に分割され、4つの分割画像データが生成される。すなわち、画面分割部2では、図20(A)に示すCIFサイズ(352画素×288画素)の入力CIF動画像データに対して、同図(B)に示すように、各分割画面同士が重複することなく、かつ、各分割画面間に隙間が無いように、各々水平方向176画素、垂直方向144画素(ライン)の4つの分割画面A、B、C及びDを示す4つの分割画像データを生成する。なお、図20では輝度信号の画面分割の場合を示しており、色差信号については、輝度信号に対して水平方向の画素数が1/2、垂直方向のライン数が1/2になる点を除けば、輝度信号と同様である。
【0011】
QCIFサイズのこれら4つの分割動画像データは、図19の分割画像符号化部3a、3b、3c、3dに別々に供給され、それぞれ時間的相関を利用して情報圧縮を行う動き補償予測、空間的相関を利用して情報圧縮を行う離散コサイン変換(以下、DCTと表記する)、量子化によって生成される符号の出現確率の偏りを利用して情報圧縮を行うエンロピー符号化(可変長符号化)等の処理を受けて各々が圧縮符号化され、4つの符号化データに生成される。
【0012】
これら4つの符号化データは、統合ストリームデータ生成部4において、制御部6からの制御の下に1つのストリームデータに統合され、ストリームデータ出力端子5からストリームデータとして出力される。制御部6は、画面分割部2、分割画像符号化部3a〜3d及び統合ストリーム生成部4の制御を行う。
【0013】
ここで、上記の分割画像符号化部3a〜3dでは、各々が水平方向176画素、垂直方向144画素(ライン)からなる分割画像データの符号化を行うが、分割画像データを構成する画面サイズはQCIFと同等であるため、分割画像符号化部3a〜3dとしてQCIFサイズの符号化装置を使用することが可能である。
【0014】
また、各分割画像符号化部3a〜3dにおいては、動き補償予測を各分割画面内、つまり、分割画面外への動きベクトル探索を禁止して図20(B)に示した各分割画面内で動き補償予測を行う。動き補償予測とは、16画素×16画素から構成されるマクロブロック単位で符号化対象画面に対し、時間軸での前方向(過去)または後方向(未来)フレーム画像からの予測により動き量を求めて、符号化効率を上げる技術である。
【0015】
ここで、MPEGのピクチャタイプについて説明する。MPEGでは、Iピクチャ、Pピクチャ及びBピクチャの3つのタイプのピクチャが規定されている。Iピクチャは、フレーム内符号化、つまり他のフレームを参照せずに符号化される画像であり、動き補償予測の対象とならない。また、Pピクチャは、前方予測、つまり前方向フレームの参照により、動き補償予測の施される画像である。更に、Bピクチャは、双方向予測を行う画像であり、前方向及び後方向フレームの参照により、動き補償予測の施される画像である。
【0016】
従って、他のフレームを動き補償予測するために参照されるフレームのピクチャタイプは、Iピクチャ及びPピクチャである。Bピクチャは参照されない。つまり、Pピクチャを動き補償予測するために参照されるフレームは、前方向のIピクチャまたはPピクチャである。また、Bピクチャを動き補償予測するためには、前方向フレーム(IピクチャまたはPピクチャ)及び後方向フレーム(IピクチャまたはPピクチャ)が参照される。
【0017】
従って、Bピクチャを動き補償予測する処理は、入力される画像信号中で後方向の位置にあるフレーム(IピクチャまたはPピクチャ)が処理された後においてのみ行うことができる。このため、入力されるフレーム画像の順序は、処理される順序とは異なる。そこで、入力の各フレーム画像の順序の並べ替えが必要になり、この並べ替えを行うために、入力されるフレーム画像を一時的に記憶しておくメモリが必要となる。また、このメモリは、動き補償予測を行うために参照されるIピクチャまたはPピクチャを記憶する役割も果たす。なお、図19では、このようなフレーム画像及びピクチャ画像を記憶するメモリの図示は省略している。
【0018】
以上の処理について、図21、図22を用いて更に説明する。なお、図21中のIはIピクチャ、PはPピクチャ、BはBピクチャを示し、I,P,B文字の添え字は符号化ターゲットとなるフレームナンバーを示す。例えば、I1は、1フレーム目を符号化した場合のIピクチャを示す。また、図22中のI,P,B文字の2桁の添え字のうち、左側の添え字は符号化ターゲットとなるフレームナンバーを示し、右側の添え字は符号化ターゲットとなるフレームを分割した場合の各分割画面を示す。例えば、I1Aは、1フレーム目の、図20で示す分割画面Aを符号化した場合のIピクチャを示す。
【0019】
図21に示すように、1フレーム目(図中、1fと表記)から7フレーム目(図中、7fと表記)までの計7フレーム画像を1フレーム目から順にI、B,B,P,B,B,Pピクチャに符号化する場合を考える。I1ピクチャ符号化時には1フレーム目(1f)のみ用いられ、P4ピクチャ符号化時には4フレーム目(4f)及び動き補償フレーム問予測のためにI1ピクチャが用いられ、B2ピクチャ符号化時には2フレーム目(2f)及び動き補償フレーム間予測のためにI1ピクチャ及びP4ピクチャが用いられる。
【0020】
ここでの符号化は4分割画面毎に行われるため、1フレーム目(1f)のI1ピクチャ符号化は、図22に示すように、I1A、I1B、I1C、I1Dピクチャ符号化の4並列処理で行う。以後、同様に図22に示すように4並列の符号化処理を繰り返す。
【0021】
MPEGのデータ構造は、周知のようにシーケンス、GOP、ピクチャ、スライス、マクロブロック及びブロックの各レイヤから構成されており、ブロックレイヤを除く各レイヤの先頭にはヘッダが存在する。なお、スライス、マクロブロックには厳密にはヘッダという呼び方はないが、ここではこれらレイヤの先頭情報も全てヘッダと呼ぶことにする。図19に示した分割画像符号化部3a〜3dにおいては、これらレイヤのうちピクチャ以上のレイヤ、つまりシーケンス、GOP及びピクチャの各レイヤの符号化パラメータ情報を全ての分割画像符号化部3a〜3dで共通にして符号化する。
【0022】
次に、図23を用いて図19の統合ストリーム生成部4での4つのストリームデータを統合する方法について更に説明する。まず、ピクチャレイヤ以上のレイヤに関して、4つのビデオストリームに別々についているヘッダ類、つまりシーケンスヘッダ、GOPヘッダ及びピクチャヘッダを1つに統合する。この際、シーケンスレイヤのパラメータ、例えば画像サイズ情報(水平方向画素サイズ、垂直方向画素サイズ)、アスペクト比情報、ビットレート情報等を置換して、各分割画面に対応した値ではなくCIF画面に対応した値に修正する。
【0023】
そして、CIF画面としての各ピクチャについて、基本的にスライス単位でストリームデータの統合を行う。つまり、元のCIF画面上でのラスタスキャン順に対応して、各ストリームデータのスライスを結合する。このよう子を図23に示す。CIF画面のある1枚のピクチャについて、図23に示すように4個の各分割画面毎にそれぞれA1,A2,A3,・・・、B1,B2,B3,・・・、C1,C2,・・・、D1,D2,D3,・・・というように、スライスが分割されて符号化されているものとする。
【0024】
この時、各分割画像符号化部3a〜3dから出力されるストリームデータの中のこのピクチャに対応する部分について、まず図20の分割画面A,Bに対応するストリームデータのスライスヘッダを境界にして時分割多重を行う。図23の例ではA1,B1,B2,A2,A3,B3,・・・というように、左上からスタートして1行が分割画面Aの右端まで達したら、右隣の分割画面Bの左端につなぎ、分割画面Bの右端まで達したら、次の行の分割画面Aの左端につなぐ。最後に、分割画面Cの右下端に達したら、更に下半分の分割画面C,Dに対応するストリームデータについても同様にスライスを単位とした左上から右下へのラスタスキャン順の時分割多重を行う。つまり、図23の例ではC1,C2,D1,C3,D2,D3・・・という順に多重する。この際、各分割画像符号化部3a〜3dの出力ビデオストリームを一時記憶部(遅延器)にそれぞれ一時格納することにより、スムーズな多重が行われるようにすることが望ましい。
【0025】
更に、スライスヘッダに含まれる情報のうち、図20の分割画面C,Dのスライス垂直位置情報に、1分割画面の垂直マクロブロック数に相当する9(=144/16)を加算する。また、スライス先頭のマクロブロックヘッダに含まれる情報のうち、マクロブロックアドレスインクリメントを修正する。修正方法は、図20の分割画面AとCについては修正無し、BとDについては1分割画面の水平マクロブロック数に相当する11(=176/16)を加算する。このようにして、スライス垂直位置、及びスライス先頭のマクロブロックアドレスインクリメントを分割画面上での値からCIF画面上での値に換算することができる。
【0026】
以上の一連の処理の結果、得られる統合後のストリームデータは、正規のCIF動画像データの1つのストリームデータとなる。このように、QCIF符号化装置を用いることで、その4倍サイズとなるCIFサイズの動画像符号化において、動作周波数を上げることなく実現できる。
【0027】
しかしながら、入力の各フレーム画像の順序の並べ替えを行うために、入力されるフレーム画像を一時的に記憶しておくメモリには、動画像データの符号化条件に応じて、数フレームから数十フレームの容量が必要とされる。従って、この大容量のメモリのコストがシステム全体のコストを上昇させる要因となり、メモリ容量の削減が求められていた。
【0028】
そこで、従来、上記のメモリ容量を削減した画像データ符号化装置が提案されている(例えば、特許文献2参照)。この特許文献2記載の従来の画像データ圧縮符号化装置は、入力画像データをそのままメモリに記憶するのではなく、圧縮してメモリに記憶し、符号時には必要なデータを伸張して取り出し、符号化処理を行うという構成である。
【0029】
図24は上記の特許文献2記載の従来の画像データ符号化装置の一例のブロック図を示す。この従来の画像データ符号化装置は、圧縮回路11、メモリ12、伸張回路13、符号化回路14(動き検出/動き補償回路14a、減算器14b、DCT/量子化回路14c、逆量子化/逆DCT回路14d、加算器14e、可変長符号化回路14f)、バッファ15及び制御回路23から構成される。
【0030】
圧縮回路11は、例えば(4:2:2)から(4:2:0)への変換処理等が施された入力動画像データを後述するように圧縮処理し、メモリ12に記憶する。なお、圧縮回路11における圧縮処理は、MPEG等の規定に従って行われるメインの圧縮符号化処理とは異なるもので、メモリ12の容量削減のために行う。伸張回路13は、符号化を開始するために必要な量の圧縮された画像データがメモリ12に記憶された後、後述するようにして、メモリ12内の圧縮された画像データ、つまり、メインの圧縮符号化処理を行う画像データを元のデータに復元する。そして、復元した画像データを動き検出/動き補償回路14aに出力する。なお、画像データを復元する際、前述したように、入力される各フレームの順序の並べ替えが行われる。
【0031】
動き検出/動き補償回路14aは、動き検出/動き補償処理を行う。つまり、伸張回路13から供給されたデータ(メインの圧縮符号化を行う画像データ)をメモリ12から供給されるローカルデコード画像との間で動き検出を行い、その結果得られるデータ(予測画像データ)と入力画像データとの差分(予測誤差)を減算器14bでとる動き補償を行わせることによって、時間的相関を利用した情報圧縮を行う。なお、フレーム内符号化であるIピクチャの場合は、動き検出/動き補償処理を行わないため、伸張回路13から供給された画像データはそのまま減算器14bを通してDCT/量子化回路14cに供給される。
【0032】
DCT/量子化回路14cでは、減算器14cから供給されたデータにDCTを施し、その結果を量子化することで、空間的相関を利用した情報圧縮が行われる。DCT/量子化回路14cによって符号化されたデータは、可変長符号化回路14fに供給されると共に、逆量子化/逆DCT回路14dにも供給される。逆量子化/逆DCT回路14dは、後述するように動き検出/動き補償回路14aの処理で参照されるローカルデコード画像を生成するために、DCT/量子化回路14bとは逆の処理を行う。
【0033】
逆量子化/逆DCT回路14dの出力データは、動き検出/動き補償回路14aから供給される予測画像データと加算器14eで加算され、その加算結果から、動き検出/動き補償回路14aの処理で参照されるローカルデコード画像が生成される。このローカルデコード画像はメモリ12に非圧縮のまま記憶される。なお、Iピクチャ符号化の場合は、動き検出/動き補償処理を行わないため、逆量子化/逆DCT回路14dの出力がそのまま、画像メモリ12に非圧縮のまま記憶される。また、前述したようにMPEGには、Iピクチャ、Pピクチャ及びBピクチャの3つがあるが、他のフレームを動き検出/動き補償するために参照されるフレームのピクチャタイプは、Iピクチャ及びPピクチャであり、Bピクチャは参照されない。従って、Bピクチャ符号化時はローカルデコード画像が生成されない。
【0034】
一般に、あるデータを圧縮/伸張処理した場合、完全に元に復元することは無く、ある程度の誤差を含む。この誤差は、要求される品質に対して許容範囲内であれば問題とならない。しかし、ローカルデコード画像は他フレームの符号化に使用されるため、ローカルデコード画像を圧縮/伸張処理すると、圧縮/伸張によって生じた誤差は画像信号の広範な部分の符号化に影響を与え、伝送される画像の品質を低下させる要因となる恐れがある。従って、前述したように、ローカルデコード画像に対しては圧縮/伸張処理を行わない。
【0035】
一方、可変長符号化回路14fは、DCT/量子化回路14cの処理の結果生成された値に対して、出現確率の低い値に長い符号長を割り当て、かつ、出現確率の高い値に短い符号長を割り当てることによって、データ全体の符号量を減らすようにした可変長符号化を行う。可変長符号化回路14fが生成するデータは、圧縮符号化データとしてバッファ15に記憶され、所定の伝送タイミングでビットストリームとして出力される。制御部16は全体の制御を司る。
【0036】
次に、圧縮回路11による圧縮処理について詳細に説明する。この圧縮処理は、例えば差分パルス符号変調(以下、DPCMと表記する)によって行われる。DPCMとは、直前に処理した左側の画素(左から右へ走査)と差分をとることで、統計的偏りを持たせて符号量削減を図る符号化方法である。DPCMは高い圧縮効果は得られないが、簡単な処理で行うことができる。
【0037】
5画素分に相当する40ビット(つまり、8(ビット/画素)×5画素=40ビット)を32ビットに圧縮する場合の圧縮回路11の構成を示すブロック図を図25に示す。同図において、制御回路23は、スイッチ22、スイッチ27及びマルチプレクサ(図中、MUXと表記)24の制御を行い、各画素を単位として、供給先を切替える。
【0038】
画像データは、画素毎、つまり8ビット単位で供給される。1番目の画素データの供給時には、制御回路23の制御によりスイッチ22が端子a側に接続されて入力画像データをそのまま、マルチプレクサ24、逆量子化回路25及びスイッチ27に供給する。更に、1番目の画素データの供給時には、制御回路23の制御により、スイッチ27が端子a側に接続されるため、スイッチ27を通してフリッププロップ(図中、FFと表記)28に供給され、記憶される。
【0039】
2番目の画素データが供給されると、2番目の画素データと、既にフリッププロップ28に記憶されている1番目の画素データとの差分が減算器20によって計算される。この差分が量子化回路21に供給され、8ビットから6ビットに量子化される。また、2番目の画素データの供給時には、制御回路23の制御により、スイッチ22が端子b側に切り替え接続されるため、量子化回路21で6ビットに量子化されたデータはスイッチ22を通してマルチプレクサ24に供給されると共に、逆量子化器25にも供給される。
【0040】
逆量子化器25は、供給された6ビットのデータを逆量子化して加算器26に供給し、ここでフリッププロップ28に記憶されていた1番目の画素データと加算して、2番目の画素データを復元する。また、2番目の画素データの供給時には、制御回路23の制御により、スイッチ27が端子b側に切り替え接続されるため、加算器26により得られた加算結果、つまり復元された2番目の画素データがスイッチ27を通してフリップフロップ28に供給されて記憶される。このようにして、フリップフロップ28に記憶された復元された画素データは、次に入力される画素データを処理する際に減算器20及び加算器26において用いられる。
【0041】
更に、3番目〜5番目までの画素データも2番目の画素データと同様に処理され、各々6ビットのデータとなる。この結果、5画素分のデータ(40ビット)が32ビットのデータに圧縮され、マルチプレクサ24から図24のメモリ12に供給されて記憶される。
【0042】
6番目以降の画素データについても、同様に5画素分の40ビットのデータを処理単位として、32ビットのデータに圧縮することが行われる。従って、圧縮回路11に入力される画像データに対して、常に4/5の圧縮が施されてメモリ12に記録されることになり、その結果、メモリ12内における入力画像データの記憶容量を4/5に削減することができる。
【0043】
次に、伸張回路13の伸張処理について詳細に説明する。この伸張処理は、圧縮回路11による圧縮処理の逆処理を行うものであり、32ビットのデータを元の40ビットのデータに復元する。図26は伸張回路13の一例のブロック図を示す。同図において、制御回路33は、デマルチプレクサ(図中、DEMUXと表記)30及びスイッチ34によって、画素の供給先を制御する。
【0044】
図24のメモリ12から供給された32ビットデータがデマルチプレクサ30に供給される。デマルチプレクサ30は、供給された32ビットデータのうちの8ビットの画素データ(圧縮回路11の処理において、ビット長が8ビットのままとされる画素データ、つまり処理単位とされる5画素のうちの最初の画素データ)が1番目に処理され、その後2番目以降に6ビットのデータが順に処理されるように、後段に画素データを供給する。
【0045】
デマルチプレクサ30から1番目のデータとして8ビットのデータが出力される時には、制御回路33の制御によって、スイッチ34が端子a側に接続されるため、8ビットのデータは、伸張回路13をそのまま通過すると共に、フリップフロップ35に記憶される。次に、デマルチプレクサ30から2番目のデータとして6ビットのデータが出力される時には、逆量子化回路31によって6ビットのデータが逆量子化され、加算器32に供給される。加算器32は、逆量子化回路31から供給されるデータと、フリップフロップ35に記憶された1番目のデータとを加算し、2番目のデータを復元する。
【0046】
デマルチプレクサ30から2番目のデータとして6ビットのデータが出力される時には、制御回路33の制御によって、スイッチ34が端子b側に切り替え接続されるため、加算器32の出力データ、つまり復元された2番目の画素データは、伸張回路13から出力されると共に、フリップフロップ35に記憶される。このようにして、フリップフロップ35に記憶された復元された画素データは、次に入力される画素データを処理する際に加算器32において用いられる。
【0047】
その後、第3番目〜第5番目のデータについても同様な処理が行われる。この結果、32ビットのデータが40ビットのデータに伸張され、8ビット/画素の5画素分のデータに復元する。以降、同様にして、32ビットのデータを1単位として、40ビット、つまり5画素分のデータに復元することが行われる。従って、伸張回路13に入力される圧縮データについて、常に5/4の伸張処理が施される。このように、メインの圧縮符号化処理とは異なる圧縮処理(DPCM)を入力動画像データに対して行うことで、メモリ容量の削減を実現できる。
【0048】
ところで、前述したように、MPEGでは動き検出/動き補償を施すことでフレーム間符号化を行い、符号化効率を上げているが、複雑で速い動きが画像中にある場合、動き検出/動き補償が有効に働かず、符号化出力量が大きくなると共に、量子化歪等が発生して画質劣化の問題が発生する。
【0049】
この改善手法として、プリフィルタの最適通過帯域と量子化ステップサイズを適応的に決定するプリフィルタ処理を取り入れた画像データ符号化装置が従来、提案されている(例えば、特許文献3参照)。
【0050】
図27は特許文献3記載の従来の画像データ符号化装置の一例のブロック図を示す。この従来の画像データ符号化装置は、メモリ41、可変プリフィルタ42(プリフィルタ42a、フィルタ制御部42b)、符号化回路43(動き補償/動き検出部43a、減算器43b、DCT回路43c、量子化回路43d、逆量子化回路43e、逆DCT回路43f、加算器43g、可変長符号化回路43h、バッファ43i)から構成される。
【0051】
前述したように、MPEGでは、入力されるフレーム画像の順序は、処理される順序とは異なるため、入力の各フレーム画像の順序の並べ替えが必要になり、この並べ替えを行うために、入力フレーム画像を一時的に記憶しておくメモリが必要とされ、メモリ41をその用途に用いる。また、メモリ41にはローカルデコード画像を記憶するためにも用いる。すなわち、メモリ41は、動き検出/動き補償を行うために必要な複数枚の画像データ及び後述するローカルデコード画像を記憶する。
【0052】
可変プリフィルタ42は、メモリ41から読み出された動画像データを入力信号として受け、後述するように、入力信号、量子化ステップサイズ等を参照することにより、符号化出力レートの予測と同時に画質のバランスを考慮して、プリフィルタ42aの最適通過帯域と量子化ステップサイズを適応的に決定し、入力画像データに対してローパスフィルタリングを施し、符号化回路43へ出力する。
【0053】
符号化回路43では、まず、動き検出/動き補償部43aにより、動き検出/動き補償処理を行う。つまり、可変プリフィルタ42aによりローパスフィルタリングを施された入力原画像と後述するローカルデコード画像との間で動き検出を行い、その結果得られるデータ(予測画像データ)を出力して減算器43bで入力減画像データとの差分(予測誤差)をとる動き補償を行う。これにより、時間的相関を利用した情報圧縮を行う。なお、フレーム内符号化であるIピクチャの場合は、動き検出/動き補償処理を行わないため、画像データはそのままDCT回路43cに供給される。
【0054】
DCT回路43cは入力されたデータにDCTを施し、得られたDCT係数を量子化回路43dに供給して量子化させることで、空間的相関を利用した情報圧縮が行われる。DCT回路43c及び量子化回路43dによって符号化されたデータは、可変長符号化回路43hに供給されると共に、逆量子化回路43eにも供給される。
【0055】
可変長符号化回路43hでは、DCT回路43c及び量子化回路43dによって符号化されたデータの値に対して、出現確率の低い値に長い符号長を割り当て、かつ、出現確率の高い値に短い符号長を割り当てることによって、データ全体の符号量を減らすようにした可変長符号化を施す。可変長符号化回路43hが生成した圧縮符号化データは、バッファ43iに一時記憶された後、所定の伝送タイミングでビットストリームとして出力される。
【0056】
一方、逆量子化回路43e及び逆DCT回路43fでは、量子化回路43dから供給されるデータに逆量子化/逆DCTを行う。逆DCT回路43fの出力データは、加算器43gで動き検出/動き補償部43aから供給される予測画像データと加算され、動き検出/動き補償部43aの処理で参照されるローカルデコード画像が生成される。このローカルデコード画像はメモリ41に記憶される。
【0057】
なお、Iピクチャ符号化の場合は、動き検出/動き補償処理を行わないため、逆DCT回路43fの出力がそのまま、画像メモリ41に記憶される。また、前述したようにMPEGには、Iピクチャ、Pピクチャ及びBピクチャの3つがあるが、他のフレームを動き検出/動き補償するために参照されるフレームのピクチャタイプは、Iピクチャ及びPピクチャであり、Bピクチャは参照されない。従って、Bピクチャ符号化時はローカルデコード画像が生成されない。
【0058】
次に、可変プリフィルタ42の動作について詳細に説明する。プリフィルタ42aは、フィルタ制御部42bより与えられる通過帯域パラメータ(以下、kと記す)に基づく図28に示す式で表される構成により、入力画像データに対し、適応的に特性を変化させたローパスフィルタリングを行う。
【0059】
フィルタ制御部42bは、図29に示すように、出力レート関数(以下、関数f1と記す)決定部421b、関数f1の係数更新部422b、画質バランス関数(以下、関数f2と記す)入力部423b、パラメータ決定部424b、量子化ステップサイズ(以下、Qと記す)制御部425bから構成される。
【0060】
出力レート関数決定部421bは、k、Q、後述する動き量パラメータ(以下、rと記す)、符号化出力レート(以下、Jと記す)との相互関係を記述する関数f1を決定する。出力レート関数係数更新部422bは、過去に符号化された画像フレームに関するk、Q、r、Jに基づき、関数f1に含まれる係数を更新する。画質バランス関数入力部423bは、入力画像帯域の制限による鮮鋭度の劣化と量子化による符号化歪による画質劣化のバランスを考慮する関数f2の入力を行う。量子化ステップサイズ制御部425bは、k更新タイミング以外のタイミングにおける量子化ステップサイズQ′を決定する。
【0061】
パラメータ決定部424bは、kの更新タイミングにおいて、関数f1及び関数f2より後述する共通解(k、Q)を求める。
【0062】
関数f1、関数f2は例えば、式(1)、式(2)として表現される。
【0063】
J=α・(k+β)・(1/Q+γ)・(r+δ) ・・・式(1)
Q=ζ/k+η ・・・式(2)
(但し、α,β,γ,δ,ζ,ηは定数)
これらは、通常、図30に示すように共通解(k、Q)を持つ。
【0064】
また、動き量パラメータrは例えば、図31に示すような、差分器46、絶対値演算器47、比較器48、カウンタ49から構成される測定部により求められる。差分器47は、入力原画像とローカルデコード画像とのフレーム間の画素毎の差分値dを求める。絶対値演算器47は、差分値dの絶対値|d|を求める。比較器48は、この|d|と閾値d0とを比較し、|d|≧d0の不等式を満足する画素の場合、カウンタ49に信号を送り、カウントさせる。カウンタ49は上記条件を満たす画素の割合r(%)を動き量パラメータとして出力する。
【0065】
以上のように、特許文献3記載の従来の画像データ符号化装置では、入力データの性質を利用し、量子化歪とローパスフィルタによる鮮鋭度劣化のバランスを考慮することにより、最適画質を決定するようにフィルタ特性を適応的に変化させてプリフィルタ処理を施すことで、画質劣化の少ない符号化を実現する。
【0066】
【特許文献1】
特開平10−234043号公報
【特許文献2】
特開平10−271516号公報
【特許文献3】
特開平6−22578号公報
【0067】
【発明が解決しようとする課題】
しかるに、図19に示した従来の画像データ符号化装置では、CIFサイズの動画像符号化を、動作周波数を上げることなく実現するために、QCIF符号化装置である分割画像符号化部3a〜3dを4つ用いるため、消費電力が4倍となる。この消費電力の増加は、携帯電話といったモバイル機器などにも採用されているMPEG4にとって大きな問題である。
【0068】
また、図24に示した従来の画像データ符号化装置では、メモリ容量削減のためにメインの圧縮符号化処理とは異なる圧縮処理の手法として、DPCMを用いているが、この符号化方式では高い圧縮効果を得ることはできない。前述したように、入力の各フレーム画像の順序の並べ替えを行うために、入力されるフレーム画像を一時的に記憶しておくために、数フレームから数十フレームという大容量のメモリが必要であり、その大容量のメモリのコストがシステム全体のコストを上昇させる要因となり、メモリ容量の削減が求められている。
【0069】
これは、図27に示した従来の画像データ符号化装置において、符号化回路43の動画像圧縮方式として低ビットレートの高圧縮率を目標としたMPEG4を用いた場合も同様である。特に、MPEG4は、携帯テレビ電話、ムービーメール、インターネット配信などマルチメディアの分野で注目を浴びつつあり、モバイル機器にも多く採用されており、そのため、MPEG4処理回路に対して、基板の縮小化、消費電力低減、コスト低減などが求められている。従って、圧縮符号化時に必要なメモリ容量の更なる削減が望まれる。
【0070】
本発明は上記課題を解決するためになされたもので、処理内容を一部変更することで、消費電力の上昇を抑えつつ、より大きな画面構成の画像データの符号化を行い得る画像データ符号化装置を提供することを目的とする。
【0071】
また、本発明の他の目的は、入力画像データを効率良く圧縮符号化することで、メモリ容量を効率良く削減し、基板の縮小化、消費電力低減と、コストの低減を実現し得る画像データ符号化装置を提供することにある。
【0072】
更に、本発明の他の目的は、ローパスフィルタリング効果を得ると同時に、入力画像データを圧縮符号化して、動き検出/動き補償のためにフレーム画像の順序の並べ替えに必要なメモリ容量を削減することで、基板の縮小化、消費電力低減とコストの低減を実現し得る画像データ符号化装置を提供することにある。
【0073】
【課題を解決するための手段】
上記の目的を達成するため、第1の発明の画像データ符号化装置は、供給される入力動画像信号により構成される一画面を複数の画面に分割して、複数の分割画面に対応した複数の分割画像信号を出力する分割手段と、複数の分割画像信号を記憶する記憶手段と、記憶手段から供給される複数の分割画像信号に対し、符号化モードの種別毎に並列に符号化を行うと共に、複数の分割画像信号に対して分割画面毎に符号化を時分割で行って得た複数の符号化データを記憶手段に記憶する分割画像符号化手段と、記憶手段より出力された複数の符号化データを、1つの画像データに統合する統合手段と、記憶手段、分割画像符号化手段及び統合手段を制御する制御手段とを有する構成としたものである。
【0074】
この発明では、入力動画像信号の画面サイズよりも画面サイズの小さな複数の分割画面に各々に対応した複数の分割画像信号を別々に、互いに独立して符号化する複数の分割画像符号化回路を有するのではなく、複数の分割画像信号に対し、符号化モードの種別毎に並列に符号化を行うと共に、複数の分割画像信号に対して分割画面毎に符号化を時分割で行って複数の符号化データを得るようにしたため、互いに独立して符号化する複数の分割画像符号化回路の構成に比べて、ハードウェア量の削減ができる。
【0075】
また、上記の目的を達成するため、第2の発明の画像データ符号化装置は、画像データを圧縮符号化処理して圧縮画像データを出力する圧縮回路と、少なくとも圧縮回路から出力された圧縮画像データを所定の容量分記憶する記憶手段と、記憶手段から読み出された圧縮画像データに対して、圧縮回路とは逆の処理を施して圧縮される前の元の画像データに伸張処理して記憶手段に記憶する伸張回路と、記憶手段から読み出された伸張回路によって伸張された画像データ及び動き補償を行うために上記の伸張された画像データを用いて生成したローカルデコード画像信号に基づいて、伸張された画像データを符号化する符号化回路と、圧縮画像データを記憶手段に記憶し、記憶手段に記憶された圧縮画像データを読み出して伸張回路に供給し、伸張回路により伸張して得られた元の画像データを記憶手段に記憶する第1の制御回路と、記憶手段に記憶された元の画像データとローカルデコード画像信号を読み出して符号化回路に供給すると共に、符号化回路の動作を制御し、符号化回路により符号化データと共に得られたローカルデコード画像信号を記憶手段に記憶する第2の制御回路とを有する構成としたものである。
【0076】
この発明では、符号化回路によるメインの符号化処理とは別に、入力画像データに対して圧縮回路により圧縮効果の高い圧縮符号化処理を施して得た圧縮画像データを記憶手段に一旦記憶した後、その圧縮画像データを伸張回路により伸張処理して圧縮符号化時の並べ替えを行って得た元の画像データに対して符号化回路により符号化するようにしたため、圧縮符号化時の並べ替えのために必要なメモリ容量を削減できる。
【0077】
また、上記の目的を達成するため、第3の発明の画像データ符号化装置は、画像データを圧縮符号化処理すると共に、所定のフィルタリングを施した圧縮画像データを出力するプリフィルタ/圧縮回路と、少なくともプリフィルタ/圧縮回路から出力された圧縮画像データを所定の容量分記憶する記憶手段と、記憶手段から読み出された圧縮画像データに対して、プリフィルタ/圧縮回路とは逆の処理を施して圧縮される前の元の画像データに伸張処理して記憶手段に記憶する伸張回路と、記憶手段から読み出された伸張回路によって伸張された画像データ及び動き補償を行うために上記の伸張された画像データを用いて生成したローカルデコード画像信号に基づいて、伸張された画像データを符号化する符号化回路と、圧縮画像データを記憶手段に記憶し、記憶手段に記憶された圧縮画像データを読み出して伸張回路に供給し、伸張回路により伸張して得られた元の画像データを記憶手段に記憶する第1の制御回路と、記憶手段に記憶された元の画像データとローカルデコード画像信号を読み出して符号化回路に供給すると共に、符号化回路の動作を制御し、符号化回路により符号化データと共に得られたローカルデコード画像信号を記憶手段に記憶する第2の制御回路とを有する構成としたものである。
【0078】
この発明では、符号化回路によるメインの符号化処理とは別に、入力画像データに対してプリフィルタ/圧縮回路により画像データを圧縮符号化処理すると共に、所定のフィルタリングを施して得た圧縮画像データを記憶手段に一旦記憶した後、その圧縮画像データを伸張回路により伸張処理して圧縮符号化時の並べ替えを行って得た元の画像データに対して符号化回路により符号化するようにしたため、圧縮符号化時の並べ替えのために必要なメモリ容量を削減できると共に、符号化回路によるメインの符号化処理をより効率良く行うことができる。
【0079】
【発明の実施の形態】
次に、本発明の実施の形態について図面と共に説明する。
【0080】
<第1の実施の形態>
図1は本発明になる画像データ符号化装置の第1の実施の形態のブロック図を示す。同図中、図19に示した従来の画像データ符号化装置と同一構成部分には同一の符号を付してある。図1に示す第1の実施の形態の画像データ符号化装置は、動画像データ入力端子1、画面分割部2、画像メモリ51、分割画像符号化部52、統合ストリームデータ生成部4、符号化データ出力端子5及び制御部53から構成されている。
【0081】
画像メモリ51は複数枚のフレーム画像が画面分割部2により分割された分割画像データとして記憶されている。また、動き補償予測に参照されるI,Pピクチャ画像及びストリームデータが一時的に記憶される。分割画像符号化部52は、分割画像Iピクチャ符号化部52a、分割画像Pピクチャ符号化部52b、分割画像Bピクチャ符号化部52c及び分割画像Bピクチャ符号化部52dから構成される。
【0082】
分割画像Iピクチャ符号化部52aは、画面分割された分割画像に対し、Iピクチャ符号化のみを行うことができるIピクチャ専用分割画像符号化部である。つまり、この分割画像符号化部52aではPピクチャ及びBピクチャ符号化を行うことはできない。分割画像Pピクチャ符号化部52bは、画面分割された分割画像に対し、Pピクチャ符号化を行うことができるPピクチャ専用分割画像符号化部である。つまり、この分割画像符号化部ではBピクチャ符号化を行うことはできない。また、分割画像Bピクチャ符号化部52c及び52dは、画面分劃された分割画像に対し、Bピクチャ符号化を行うことができるBピクチャ専用分割画像符号化部である。
【0083】
このように、図19に示した従来装置における符号化部3がI、P,Bピクチャの、全ての符号化を行うことができる分割画像符号化部であるのに対し、本実施の形態の分割画像符号化部52ではピクチャタイプに応じて、それぞれ専用の分割画像符号化部で符号化を行うこととしている。制御部53は、画面分割部2、画像メモリ51、分割画像符号化部52及び統合ストリーム生成部4の制御を行う。
【0084】
次に、図1の各部の構成及び動作について詳細に説明する。図1の画面分割部2では、従来装置と同様に、動画像データ入力端子1から入力された図20(A)に示した画素構成のCIF動画像データを、図20(B)に示した4つのQCIFサイズの分割画面の分割画像データに分割して画像メモリ51に供給して記憶する。以後同様な処理を繰返すことにより、画像メモリ51には複数枚の入力動画像データがそれぞれ4つの分割動画像データに分割されて記憶される。
【0085】
分割画像Iピクチャ符号化部52aはIピクチャ専用の符号化部で、画像メモリ51より符号化ターゲットとなる分割画像データが読み込まれ、その分割画像データに対してDCT,量子化、可変長符号化などのMPEGに基づく圧縮符号化処理を施し、符号化結果を画像メモリ51に記憶する。また、後続の分割画像符号化時に動き補償予測の参照画像とされるIピクチャも画像メモリ51に記憶される。
【0086】
分割画像Pピクチャ符号化部52bはPピクチャ専用の符号化部で、画像メモリ51より符号化ターゲットとなる分割画像データ及び動き補償予測の参照画像とされる前方向のIピクチャまたはPピクチャが読み込まれ、その入力データに対して動き補償予測、DCT,量子化、可変長符号化などのMPEGに基づく圧縮符号化処理を施し、符号化結果を画像メモリ51に記憶する。また、後続の分割画像符号化時に参照画像とされるPピクチャも画像メモリ51に記憶される。動き補償予測は図19の従来装置と同様に各分割画面内で行われるものとする。
【0087】
分割画像Bピクチャ符号化部52c及び52dはBピクチャ専用の符号化部で、画像メモリ51より符号化ターゲットとなる分割画像データ及び動き補償予測の参照画像とされる前方向と後方向のIピクチャまたはPピクチャが読み込まれ、その入力データに対して動き補償予測、DCT、量子化、可変長符号化などの処理を施し、符号化結果を画像メモリ51に記憶する。
【0088】
以上の処理について、図21、図2を用いて具体的に説明する。図19に示した従来装置での符号化時の説明と同様に図21に示すような符号化を考える。1フレーム目(1f)はIピクチャ符号化であるため、まず、1フレーム目(1f)の4つの分割画像データの一枚目が、図1の画像メモリ51より分割画像Iピクチャ符号化部52aに読み込まれ、符号化処理される。符号化結果は画像メモリ51に一時記憶される。また、この時、後続の分割画像符号化時に動き補償予測の参照画像とされるI1Aピクチャも画像メモリ51に一時記憶される。
【0089】
以後、同様な処理を3回繰返して、1フレーム目(1f)の4つの分割画像データそれぞれの符号化データ及び4つに分割されたIピクチャ画像(I1A〜I1D)が記憶される。なお、この場合、後続のフレーム画像の中にIピクチャ符号化対象フレームはないため、分割画像Iピクチャ符号化部52aはこれ以後動作しない。
【0090】
次に、4フレーム目(4f)を符号化処理する。4フレーム目(4f)はPピクチャ符号化であるため、まず、4フレーム目(4f)の4つの分割画像データの一枚目、及び動き補償予測の参照画像とされるI1Aピクチャ画像が画像メモリ51より分割画像Pピクチャ符号化部52bに読み込まれ、符号化処理される。符号化結果は画像メモリ51に一時記憶される。また、この時、後続の分割画像符号化時に動き補償予測の参照画像とされるP4Aピクチャも画像メモリ51に一時記憶される。
【0091】
以後、同様な処理を3回繰り返して、4フレーム目(4f)の4つの分割画像データそれぞれの符号化データ及び4つに分割されたPピクチャ画像(P4A〜P4D)が一時記憶される。なお、分割画像データの一番目が符号化される際には動き補償予測の参照画像としてI1Aピクチャ画像が必要となるため、4フレーム目(4f)の符号化は、図2に示すように、1フレーム目(1f)の1枚目の分割画像データが符号化処理され、I1Aピクチャ画像が画像メモリ51に記憶された後に開始するものとする。
【0092】
次に2フレーム目(2f)を符号化処理する。2フレーム目(2f)はBピクチャ符号化であるため、まず、2フレーム目(2f)の4つの分割画像データの一枚目、及び動き補償予測の参照画像とされるI1Aピクチャ画像とP1Aピクチャ画像が画像メモリ51より分割画像Bピクチャ符号化部52cに読み込まれ、符号化処理される。符号化結果は画像メモリ51に一時記憶される。
【0093】
以後、同様な処理を3回繰り返して、2フレーム目(2f)の4つの分割画像データそれぞれの符号化データが画像メモリ51に一時記憶される。なお、分割画像データの一枚目が符号化される際には、動き補償予測の参照画像としてP4Aピクチャ画像が必要となるため、2フレーム目(2f)の符号化開始は、図2に示すように、4フレーム目(4f)の1枚目の分割画像データが符号化処理され、P1Aピクチャ画像が画像メモリ51に記憶された後に行うものとする。
【0094】
また、3フレーム目(3f)も同じくBピクチャ符号化であり、まず、3フレーム目(3f)の4つの分割画像データの一番目、及び動き補償予測の参照画像とされるI1Aピクチャ画像とP4Aピクチャ画像が画像メモリ51より分割画像Bピクチャ符号化部52dに読み込まれ、符号化処理される。符号化結果は画像メモリ51に一時記憶される。
【0095】
以後、同様な処理を3回繰り返して、3フレーム目(3f)の4つの分割画像データそれぞれの符号化データが一時記憶される。なお、動き補償予測の参照画像は2フレーム目の符号化時の場合と同じであるため、図2に示すように、3フレーム目(3f)の符号化開始は2フレーム目(2f)の符号化開始と同時に行うことができる。
【0096】
以降、図2に示すように、7フレーム目(7f)のPピクチャ符号化、5フレーム目(5f),6フレーム目(6f)のBピクチャ符号化も同様に行う。最後に、図1に示す統合ストリーム生成部4は、画像メモリ51内に記憶されている符号化データを読み出し、以降、従来と同様にして1つのストリームデータを生成する。このように、本実施の形態によれば、分割画像符号化部52を各ピクチャタイプ専用の分割画像符号化部52a〜52dに変更しても符号化を実現できる。
【0097】
次に、各ピクチャタイプの符号化時の演算量について説明する。Pピクチャ符号化時は、フレーム画像内符号化のIピクチャとは異なり、前方向のIピクチャまたはPピクチャを参照しての動き補償予測が加わるため、演算量が大きくなる。動き補償予測をどの程度の精度で行うかによっても演算量が変わってくるが、Iピクチャのおよそ2倍強の演算量と考えられる。
【0098】
また、Bピクチャ符号化時は、Pピクチャ符号化時に行われた前方向のIピクチャ又はPピクチャを参照しての動き補償予測に加えて、後方向のIピクチャ又はPピクチャを参照しての動き補償予測も加わる。つまり、動き補償予測の演算量がPピクチャ符号化時の2倍となる。従って、Iピクチャ符号化時の演算量を1とすると、Pピクチャ符号化時の演算量はその2倍、Bピクチャ符号化時の演算量はその3倍となる。
【0099】
このことから、本実施の形態の分割画像符号化部52は、1つの分割画像Iピクチャ符号化部52a、1つの分割画像Pピクチャ符号化部52b、2つの分割画像Bピクチャ符号化部52c及び52dから構成されているので、分割画像符号化部52の総演算量はIピクチャ符号化演算量の8倍になる。
【0100】
ソフトウェア上での演算量の比率はそれを実現するためのハードウェア量の比率とほぼ同等であるため、本実施の形態の分割画像符号化部52のハードウェア量は、Iピクチャ符号化のみのハードウェア量の8倍になる。
【0101】
また、図19に示した従来装置の分割画像符号化部3a〜3dの各々はI,P,Bのどのピクチャタイプも符号化可能な分割画像符号化部でなければいけないため、本実施の形態での分割画像Bピクチャ符号化部53c、53dの各演算量(Iピクチャ符号化演算量の3倍)に相当し、計4つあるので、Iピクチャ符号化演算量の12倍となる。つまり、従来の分割画像符号化部3のハードウェア量は、Iピクチャ符号化のみのハードウェア量の12倍になる。
【0102】
以上より、Iピクチャ符号化のみのハードウェア量を基準として考えた場合、本実施の形態の分割画像符号化部52のハードウェア量は8倍、従来の分割画像符号化部3のハードウェア量は12倍となるため、本実施の形態は従来と比較して、概算で33%程度のハードウェア量削減が図られると考えられる。また、ハードウェア量削減に伴い、消費電力低減を実現できる。
【0103】
<第2の実施の形態>
次に、本発明の第2の実施の形態について、4:2:0のコンポーネント方式への変換処理が施されたQCIFサイズ(176×144画素)の入力動画像信号を符号化処理する場合を例に具体的に説明する。
【0104】
図3は本発明になる画像データ符号化装置の第2の実施の形態のブロック図を示す。同図中、図24に示した従来装置と同一構成部分には同一符号を付してある。図3に示す本実施の形態の画像データ符号化装置は、バッファ61、圧縮回路62、メモリ63、伸張回路64、符号化回路14、バッファ15、及び2つの制御回路65と66から構成される。
【0105】
バッファ61は、後述するように、圧縮回路62における圧縮符号化処理に必要な数ライン分の画像データを記憶する。圧縮回路62は、バッファ61から読み込んだ画像データを後述するようにDCTにより圧縮符号化処理し、メモリ63に記憶する。伸張回路64は、圧縮回路62によって生成された、メモリ63内に記憶された圧縮データを圧縮回路62とは逆の処理を施して元のデータに復元して、再度メモリ63に記憶する。符号化回路14は、伸張回路64で生成されたデータに対して圧縮符号化処理を行い、バッファ15に記憶する。バッファ15に記憶されたデータは所定の伝送タイミングでビットストリームとして出力する。
【0106】
制御回路65は、ブロックI内の各回路の一連の動作を制御して、画像データの圧縮回路62へ入力させて圧縮処理させて、得られた圧縮画像データをメモリ63へ書き込ませ、メモリ63から読み出した圧縮画像データを伸張回路64に供給して伸張処理させて得られた元の画像データをメモリ63に書き込む等の制御動作を行う。制御回路66は、ブロックII内の各回路の一連の動作を制御し、メモリ63から伸張された画像データ及びローカルデコード画像を読み出して符号化回路14により符号化させ、符号化回路14により得られたローカルデコード画像をメモリ63へ書き込む等の制御動作を行う。つまり、本発明の動画像符号化装置は、2つの異なった中央処理装置(CPU)などの制御回路65及び66により動作を制御する。なお、メモリ63はブロックIとIIで重複している。
【0107】
次に、図3の各部について詳細に動作を説明する。圧縮回路62では、例えば(4:2:2)から(4:2:0)へのコンポーネント方式の変換処理等が施された、バッファ61からの入力動画像データを後述するように圧縮符号化処理してメモリ63に記憶する。なお、圧縮回路62における圧縮符号化処理は、MPEG等の規定に従って行われるメインの圧縮符号化処理とは別のもので、メモリ63の容量削減のために行う。
【0108】
伸張回路64は、符号化を開始するために必要な量の圧縮された画像データがメモリ63に記憶された後、メモリ63内の圧縮された画像データ、つまり、メインの圧縮符号化処理を行う画像データを後述するように元のデータに復元し、メモリ63に記憶する。なお、画像データを復元する際、前述したように、入力される各フレームの順序の並べ替えが行われる。
【0109】
符号化回路14は、従来と同様に、動き検出/動き補償処理、DCT/量子化処理及び可変長符号化処理を施すことにより圧縮符号化を行う。符号化回路14で生成されたデータは、バッファ15に記憶され、所定の伝送タイミングでビットストリームとして出力される。また、前述したように逆量子化/逆DCT処理などを施すことによりローカルデコード画像が生成され、非圧縮のままメモリ63に記憶される。
【0110】
ここで、メモリ63における画像データ受け渡しの流れを図4に示す。図4に示すように、メモリ63には、圧縮回路62により圧縮された、符号化に必要な量の画像データ63aと、伸張回路64により後述するように元のデータに復元された画像データ63bと、符号化回路14の動き検出/動き補償回路14aで動き検出/動き補償を行うために必要となるローカルデコード画像(IピクチャまたはPピクチャ)63cとが記憶される。なお、ローカルデコード画像に対しては前述した理由から圧縮伸張処理は行わない。
【0111】
次に、圧縮回路62による圧縮符号化処理について詳細に説明する。この圧縮符号化処理は、例えば図5に示すように、DCT/量子化回路62a及び可変長符号化回路62bによって行われる。
【0112】
まず、図24に示した従来装置の圧縮回路11で行うDPCM(差分パルス符号変調)と、本実施の形態の圧縮回路62で行うDCT(離散コサイン変換)の符号量圧縮効果について比較する。DPCMとは、前述したように、直前に処理した左側の画素(左から右へ走査)と差分をとることで、統計的偏りを持たせて符号量削減を図る符号化方法であり、差分という簡単な演算処理で行うことができる。
【0113】
例えば、明るさが徐々に変化している画像データの場合には、隣接画素同士の差分結果はゼロ近傍の値が多く出現することになり、図6の差分結果対出現頻度特性図に実線aで示す特性のように、大きな統計的偏りが発生して符号量削減を図ることができる。しかし、輪郭部のように明るさが大きく変化しているような画像データの場合には、図6に点線bで示すように特性aに対して、ゼロ近傍の値の出現頻度が小さくなり、差分結果の大きい値の出現頻度が大きくなり、効率良く符号量削減を図ることができない。
【0114】
一方、DCTは8画素×8画素のブロック単位でDCTと呼ばれる演算を行い、各画素値を周波数成分に変換する。変換後の係数はブロックの一番左上の、ブロック全体の明るさを表現するDC成分とそれ以外のAC成分からなる。この演算結果は、図7に示すように周波数成分が水平方向と垂直方向で2通りの変化があり、ブロックの左から右へ、ブロックの上から下へそれぞれ周波数が高くなる。ここで、高域周波数成分に対する感度が弱いという人間の視覚特性を利用して、低周波数成分よりも高周波数成分の省略を大きくすることで符号量削減を図ることが可能となる。また、高周波数成分の値はゼロ近傍の値が多いこともあり、符号化しやすい。以上の理由からDCTはDPCMよりも効率良く高い圧縮効果をあげることができる。
【0115】
以下、圧縮回路62の動作について具体的に説明する。DCT演算の場合は、前述したように8画素×8画素のブロック単位で行い、また、輝度成分は4つのブロック、つまり、16画素×16画素から構成されるため、図3のバッファ61には、その2倍程度の32ライン分の画像データを記憶できる容量があればよい。
【0116】
また、画像情報として、輝度データ(Y)と色差データ(Cr,Cb)の3種類があり、1画素あたり8ビットなので、32ライン分のQCIFサイズの入力画像データの総ビット数は、(176×32)×8ビットである。ここで、(4:4:4)方式の場合は、輝度データ、色差データ共に4ブロックから構成されるため、全ブロックは12ブロックとなる。
【0117】
これに対して、(4:2:0)方式の場合は、輝度データが4ブロック構成なのに対し、色差データは1ブロックに間引かれるため、全ブロックは6ブロックとなり、(4:4:4)方式に比べて1/2に圧縮される。従って、(4:2:0)方式でQCIFサイズ画像データの場合、バッファ61には、
(176×32)×8ビット×3×1/2=67584ビット
の容量が必要となる。
【0118】
図5の圧縮回路内のDCT/量子化回路62aは、そのDCT部から出力されたDCT係数に対して、DCT/量子化回路62a内の量子化部で、ある係数値(量子化ステップ)で除算を行うことでDCT係数の情報を削減する。前述したように、高周波数成分は低周波数成分よりも省略を大きくすることが可能なため、低周波数成分の量子化ステップを小さく、高周波数成分の量子化ステップを大きくするなど重み付けを変えてやることで効率良く圧縮することも可能である。この結果を図5の可変長符号化回路62bで前述したように可変長符号化処理を行うことで符号量の圧縮効果を更にあげることができる。
【0119】
次に、伸張回路64の構成及び動作について詳細に説明する。図8は伸張回路64の一例のブロック図を示す。同図に示すように、伸張回路64は可変長復号化回路64a及び逆量子化/逆DCT回路64bから構成され、圧縮回路62とは逆の処理を行う。なお、前述したように、DCPMよりもDCTの演算処理の方が複雑なため、その逆の伸張処理も複雑となる。従って、図24の従来装置では伸張回路13の出力結果をそのままダイレクトに符号化回路14に供給して符号化処理を行っていたが、本実施の形態の場合には伸張回路64の出力を一度メモリ63に記憶して、その復元された画像データを符号化回路14に供給して符号化処理を行う。
【0120】
なお、伸張回路64により元の画像データに復元するデータ量は、一度に1フレーム分復元したのではメモリ削減の効果が薄れるため、図9に示すように、2マクロブロックラインデータ(図中、マクロブロックをMBと表記する)を伸張できるメモリ領域を用意する。つまり、図9の領域A及び領域Bにそれぞれ11個の復元されたマクロブロックデータ(MB0〜MB10)を記憶できるメモリ容量が必要となる。
【0121】
入力画像水平方向サイズが176画素、垂直方向サイズはマクロブロック2個分の大きさなので32画素である。また、前述したように、(4:2:0)方式の全ブロックは6ブロックとなり、(4:4:4)方式に比べて1/2に圧縮されるため、(4:2:0)方式で水平方向サイズが176画素、垂直方向サイズが32画素の画像データの場合、メモリ63のメモリ容量としては、
(176×32)×8ビット×3×1/2=67584ビット
必要となる。
【0122】
ここで、メモリ63内の伸張データの書き込み及び読み出しについて説明する。図10(A)に示すように、メモリ63の領域Aに伸張回路64の出力(元のデータに復元した画像データ)を記憶すると共に、メモリ63の領域Bに既に復元されて記憶されている画像データを符号化回路14に出力して符号化処理を行う。
【0123】
次に、図10(B)に示すように、メモリ63の領域Aに復元されて記憶された画像データを符号化回路14に出力して符号化処理をすると共に、メモリ63の領域Bには伸張回路64の出力(元のデータに復元した画像データ)を上書き記憶する。このように、2つの領域AとBの一方を書き込み領域とし、他方を読み出し領域とすると共に、それらを交互に切り替えることで伸張回路64の出力の書き込みと符号化回路14へのデータの読み出しを行う。
【0124】
次に、本実施の形態の圧縮回路62のメモリ容量削減効果について説明する。図5に示す構成の圧縮回路62において、量子化ステップを全ブロックに対して2に固定して5フレームの画像データの圧縮符号化処理を実際に行った場合、349176ビットという結果が得られた。
【0125】
また、メモリ容量削減を実現するためには、バッファ61のメモリ容量(前記33792ビット)と、メモリ63内の伸張データ分のメモリ容量(前記67584ビット)が必要となるため、本実施の形態でのメモリ削減の圧縮処理に必要なメモリ容量は、484344(=67584+67584+349176)ビットとなる。
【0126】
一方、圧縮符号化処理をしない場合、5フレーム分の原データを記憶するために必要なメモリ容量は、
(176×144)×3/2×8ビット×5フレーム=1520640ビット
となる。
従って、圧縮回路62は約32(=484344/1520640×100)%の圧縮効果を実現できる。
【0127】
次に、本発明の第2の実施の形態の画像データ符号化装置の制御動作について説明する。本実施の形態では、2つの異なるCPUなどの制御回路65及び66のソフトウェア処理にて動作している。以下、これらの制御動作について、図11のフローチャートを参照して詳細に説明する。
【0128】
制御回路65はまず、変数nに初期値0を代入した後(ステップS1)、入力画像データをライン単位でバッファ61に記憶する(ステップS2)。前述したように、圧縮回路62の圧縮処理はマクロブロック単位で行うため、16ライン分の画像データがバッファ61に記憶されたか否かが判断され(ステップS3)、16ライン分の画像データのバッファ61への記憶が完了していないと判断された場合にはステップS2に戻り、入力画像のラインデータの記憶を継続する。16ライン分の画像データのバッファ61への記憶が完了したと判断された場合には、次のマクロブロック単位の画像データがバッファ61から圧縮回路62へ出力される(ステップS4)。なお、ここで、次のマクロブロック単位の画像データのバッファ61への記憶を開始してもよく、この場合、バッファ61は2マクロブロックラインデータ(32ラインデータ)の容量を必要とする。
【0129】
圧縮回路62において、画像データはブロック単位で圧縮されて、圧縮データが生成された後(ステップS5)、メモリ63に記憶される(ステップS6)。続いて、制御回路65は圧縮回路62において1マクロブロックラインデータの圧縮処理が完了したか否かを判断し(ステップS7)、1マクロブロックラインデータの圧縮処理が完了していないと判断した場合には、ステップS5に戻り、圧縮処理を継続する。また、1マクロブロックラインデータの圧縮処理が完了したと判断した場合には、ステップS8へ移行する。
【0130】
ステップS8では、バッファ61への入力画像データの入力があるか否かが判断され、バッファ61への画像データの入力がないと判断された場合には、圧縮回路62における圧縮処理は終了となる。また、バッファ61への入力画像データの入力があると判断された場合には、ステップS9へ移行し、変数nが0であるか否かが判定され、0であれば初期化後最初の処理であるのでステップS10に進み、0でなければステップS5に戻る。
【0131】
ステップS10では、符号化回路に14おいて符号化処理を開始するために必要な量の画像データが全て圧縮されてメモリ63への記憶が完了したか否かが判断される。ステップS10で符号化処理を開始するために必要な量の画像データが全て圧縮されてメモリ63への記憶が完了してないと判断された場合には、ステップS4に戻り、圧縮処理を継続する。また、ステップS10で符号化処理を開始するために必要な量の画像データが全て圧縮されてメモリ63への記憶が完了したと判断された場合には、制御回路65は変数nに1を代入した後(ステップS11)、ブロック単位の圧縮された画像データをメモリ63から読み出して伸張回路64へ出力する(ステップS12)。
【0132】
伸張回路64に供給された圧縮画像データはブロック単位で伸張され、復元データとして生成され(ステップS13)、生成された復元データはメモリ63に記憶される(ステップS14)。前述したように動き検出/動き補償回路14aの動き検出/動き補償処理はマクロブロック単位で行うため、制御回路65は1マクロブロックラインデータ(16ラインデータ)の全ての伸張処理が終了したか否かをメモリ63の記憶データから判断する(ステップS15)。
【0133】
ステップS15で、1マクロブロックラインデータの全ての伸張処理が完了していないと判断された場合には、ステップS13に戻り、伸張処理を継続し、他方、1マクロブロックラインデータの全ての伸張処理が完了したと判断された場合には、制御回路66で制御されるステップS16へ移行すると同時に、ステップS5へ移行し、以降、ステップS5からステップS8の圧縮処理を継続する。つまり、制御回路65では圧縮処理のみを繰り返し継続する。
【0134】
制御回路66は、ステップS16で、メモリ63内に次に符号化対象となるマクロブロックラインデータが伸張されて記憶されているか否かを判断する。つまり、図10のメモリ63の領域A及び領域Bのうちの一方の領域に最初に符号化されるべきマクロブロックラインデータが伸張されて記憶されている場合、次に符号化されるマクロブロックラインデータが他方の領域に伸張されて記憶されているか否かがステップS16で判断される。
【0135】
ステップS16での判断が否定の場合、つまり、次に符号化されるマクロブロックラインデータが他方の領域に伸張されて記憶されていないと判断された場合には、制御回路66は制御回路65に対して割り込み信号を送り、後述する処理を行う。また、ステップS16での判断が肯定の場合、つまり、次に符号化されるマクロブロックラインデータが他方の領域に既に伸張されて記憶されていると判断された場合には、ステップS21へ移行する。
【0136】
制御回路66は、ステップS21でマクロブロック単位の伸張された画像データをメモリ63から読み出して符号化回路14へ出力する。符号化回路14では、入力された画像データをマクロブロック単位に符号化処理を行い、符号化データを生成し(ステップS22)、生成された符号化データをバッファ15に記憶する(ステップS23)。
【0137】
制御回路66は、バッファ15の記憶データから、1マクロブロックラインデータの符号化処理が完了したか否かを判断し(ステップS24)、1マクロブロックラインデータの符号化処理が完了していないと判断した場合には、ステップS22に戻り、符号化処理を継続し、1マクロブロックラインデータの符号化処理が完了したと判断した場合には、1画面分の符号化処理が完了したか否かを判断する(ステップS25)。
【0138】
制御回路66は、ステップS25で1画面分の符号化処理が完了していないと判断した場合には、ステップS16へ戻り、1画面分の符号化処理が完了したと判断した場合には、1画面分の符号化データをバッファ15からビットストリームとして出力させる(ステップS26)。
【0139】
続いて、制御回路66は、入力された全ての画像データの符号化処理が完了したか否か判断し(ステップS27)、全ての画像データの符号化処理が完了していないと判断した場合には、ステップS16へ戻り、全ての画像データの符号化処理が完了したと判断した場合には、符号化処理を終了、つまり、本ルーチンを終了する。
【0140】
また、制御回路65では、制御回路66から割り込み信号を受け取ると、割り込み処理としてステップS17からステップS20までの処理を実行する。このステップS17からステップS20までの割り込み処理は、前述したステップS12からステップS15の処理と同様である。すなわち、制御回路65は、ステップS20において、1マクロブロックラインデータの全てを伸張処理したか否か判断し、1マクロブロックラインデータの全ての伸張処理が完了していないと判断した場合には、ステップS18に戻り伸張処理を継続し、1マクロブロックラインデータの全ての伸張処理が完了したと判断した場合には、割り込み処理は終了となり、制御回路65では中断された圧縮処理が再開される。
【0141】
以上のように、2つの異なる制御回路65及び66の構成で割り込み処理を使うことにより、1画面分伸張することなく、符号化に必要な画像データを必要な量のみ伸張しながら符号化処理を行うことが可能となり、伸張データを記憶するメモリ容量としては2マクロブロックラインデータ分のみの容量で済ませることができる。また、2つの異なる制御回路65及び66の構成をとっているため、それぞれの制御回路65及び66において並行して動作を行うことができ、装置全体の処理を効率化良く行うことが可能となる。
【0142】
<第3の実施の形態>
図3の第2の実施の形態における圧縮回路62の圧縮処理は、メインの符号化回路14でのIピクチャ符号化処理に相当する。しかし、両者の処理における符号化条件(量子化条件など)が同じであるとは限らないため、第2の実施の形態では一度Iピクチャに圧縮符号化されてストリームデータとしてメモリ63に記憶されたにも拘らず、伸張回路64で伸張処理を行い、再度、メインの符号化回路14でIピクチャ符号化処理を行っていた。
【0143】
これに対して第3の実施の形態では、第2の実施の形態における圧縮回路62の符号化条件とメインの符号化回路14の符号化条件が同一の場合、両者の処理内容が同じものとなるため、メインの符号化回路14でのIピクチャ符号化処理を省くようにしたものである。
【0144】
第3の実施の形態の画像データ符号化装置の概略構成図は図3に示した第2の実施の形態と同じであるが、動作が一部異なる。以下、2つの制御回路による第2の実施の形態と異なる制御動作についてのみ、図12のフローチャートを参照して詳細に説明する。同図中、図11に示したフローチャートと同一処理ステップには同一の符号を付し、その説明を省略する。本実施の形態ではステップS30〜S34が付加されている。
【0145】
制御回路65のステップS1からステップS14までの処理は第2の実施の形態と同じである。制御回路65は、ステップS14でメモリ63に伸張データが記憶されると、符号化対象のデータのピクチャタイプを判定する(ステップS30)。ピクチャタイプがPピクチャ又はBピクチャの場合には第2の実施の形態と同様にステップS15へ移行して、以後第2の実施の形態と同様な処理を行う。一方、ピクチャタイプがIピクチャの場合は、ステップ31及び制御回路66による処理ステップS34へ移行する。
【0146】
制御回路65は、ステップS31では、Iピクチャ1画面分の伸張処理が完了したか否かを判断し、Iピクチャ1画面分の伸張処理が完了していないと判断した場合には、ステップS13へ移行して伸張処理を継続し、Iピクチャ1画面分の伸張処理が完了したと判断した場合には、ステップS5の圧縮データ生成処理へ戻る。
【0147】
なお、第2の実施の形態では制御回路65の、これ以降の処理は圧縮処理のみであったが、この処理中にステップS32でピクチャタイプ判定を行う。すなわち、ステップS9で変数nが0でないと判定されたときには、符号化に必要なフレーム画像圧縮が既に完了しているので、制御回路65はピクチャタイプを判定する(ステップS32)。Pピクチャ又はBピクチャの場合にはステップS5の圧縮データ生成処理へ移行して、以後、第2の実施の形態と同様に圧縮処理のみを継続する。
【0148】
一方、Iピクチャの場合には、Iピクチャ1画面分の圧縮符号化処理が完了したか否かを判定し(ステップS33)、Iピクチャ1画面分の圧縮符号化処理が完了していないと判断した場合には、ステップS5へ移行して圧縮処理を継続し、Iピクチャ1画面分の圧縮符号化処理が完了したと判断した場合には、ステップS12以後の処理を継続する。
【0149】
制御回路66はステップS34でピクチャタイプの判定を行い、Pピクチャ又はBピクチャの場合にはステップS16へ移行して以降、第2の実施の形態と同様な処理を行う。一方、Iピクチャの場合は、ステップS26以後の処理を行う。
【0150】
このように、入力画像データのピクチャタイプがIピクチャの場合には、圧縮回路62による圧縮符号化処理により、メモリ63に既に1画面分のIピクチャストリームデータが記憶されるため、第3の実施の形態ではメモリ削減のための圧縮回路62の符号化条件とメインの符号化回路14の符号化条件が同一の場合、符号化回路14でのIピクチャ符号化処理を不要として、メモリ63から直接ビットストリームデータとして出力する。従って、この第3の実施の形態の場合には、メモリ削減を実現すると共に、符号化回路14のIピクチャ符号化処理を省くことにより、第2の実施の形態よりも全体の符号化処理時間の短縮化を図ることができる。
【0151】
<第4の実施の形態>
次に、本発明の第4の実施の形態について説明する。図13は本発明になる画像データ符号化装置の第4の実施の形態のブロック図を示す。同図中、図3と同一構成部分には同一符号を付し、その説明を省略する。本実施の形態は、JPEG等の静止画像を伝送する画像伝送システムに適用したものであり、動画を扱うMPEGの符号化処理では必要であった、動き検出/動き補償処理を行う必要がない。従って、この処理のために必要なローカルデコード画像を作成するための復元処理も行う必要がない。
【0152】
図13において、画像データ符号化装置は第2の実施の形態と同一構成のブロックIと、本実施の形態特有のブロックIIIとから構成されている。ブロックIIIは、符号化回路67及びバッファ15とメモリ63とからなり、符号化回路67はDCT/量子化回路67aとか変調符号化回路67bとから構成されている。ブロックIII内の各部は制御回路68により動作が制御される。
【0153】
上述したように、静止画像信号を符号化する本実施の形態では、動き検出/動き補償処理を行う必要が無いので、図13中の符号化回路67には、図3中の動き検出/動き補償回路14aが含まれておらず、更に、上述したように、ローカルデコード画像が用いられる必要も無いので、ローカルデコード画像を生成するために設けられている図3中の逆量子化/逆DCT回路14dも含まれていない。
【0154】
本実施の形態では、メモリ63から読み出された圧縮画像データは、DCT/量子化回路67aに供給され、ここでDCTが施され、得られたDCT係数が量子化されることで、空間的相関を利用した情報圧縮が行われる。DCT/量子化回路67aによって符号化された静止画の画像データは、可変長符号化回路67bに供給され、ここで前述した可変長符号化が行われて、圧縮符号化データとしてバッファ15に記憶された後、所定の伝送タイミングでビットストリームとして出力される。本実施の形態においても、入力画像データに対して圧縮回路62により圧縮/伸張が施されるため、それに見合うメモリ63のメモリ容量の削減が可能となる。
【0155】
<第5の実施の形態>
次に、本発明の第5の実施の形態について説明する。図14は本発明になる画像データ符号化装置の第5の実施の形態のブロック図を示す。同図中、図27に示した従来装置と同一構成部分には同一の符号を付してある。図14に示す第5の実施の形態は、制御回路77により各部の動作が制御されるブロックIVと、制御回路78に各部の動作が制御されるブロックVとからなる。ブロックIVは、バッファ71、プリフィルタ/圧縮回路72、メモリ73及び伸張回路74から構成され、ブロックVは、符号化回路75及びメモリ73から構成される。
【0156】
バッファ71は、後述するように、プリフィルタ/圧縮回路72における処理に必要な数ライン分の画像データを記憶する。プリフィルタ/圧縮回路72は、バッファ71から読み込んだデータを後述するように圧縮符号化処理し、メモリ73に記憶する。伸張回路74は、プリフィルタ/圧縮回路72によって生成された、メモリ73内に記憶された圧縮符号化データをプリフィルタ/圧縮回路72とは逆の処理を施して元のデータに復元して、再度メモリ73に記憶する。
【0157】
符号化回路75は、伸張回路74で生成されたデータに対してメインの圧縮符号化処理を行い、得られた圧縮符号化データをバッファ43iに記憶した後、所定の伝送タイミングでビットストリームとして出力する。
【0158】
制御回路77は、圧縮符号化データをメモリ73に記憶し、メモリ73に記憶された圧縮符号化データを読み出して伸張回路74に供給し、伸張回路74により伸張して得られた元の画像データをメモリ73に記憶する制御動作を行う。制御回路78は、メモリ73に記憶された元の画像データとローカルデコード画像信号を読み出して符号化回路75に供給すると共に、符号化回路75の動作を制御し、符号化回路75により符号化データと共に得られた、加算器43gからのローカルデコード画像信号をメモリ73に記憶する制御動作を行う。
【0159】
以下、図14の各部について詳細に説明する。プリフィルタ/圧縮回路72では、例えば(4:2:2)から(4:2:0)への変換処理等が施された動画像データがバッファ71より供給され、その入力動画像データを後述するように圧縮符号化処理してメモリ73に記憶する。なお、プリフィルタ/圧縮回路72における圧縮符号化処理は、MPEG等の規定に従って行われるメインの圧縮符号化処理とは別のもので、プリフィルタ効果及びメモリ73の容量削減のために行う。
【0160】
符号化を開始するために必要な量の圧縮された画像データは、メモリ73に記憶される。伸張回路74は、メモリ73内の圧縮された画像データ、つまり、メインの圧縮符号化処理を行う画像データを後述するように元のデータに復元し、メモリ73に再び記憶する。なお、画像データを復元する際、前述したように、入力される各フレームの順序並べ替えが行われる。
【0161】
ここで、メモリ73には、図15に示すように、プリフィルタ/圧縮回路72により圧縮された、符号化に必要な量の画像データ73aと、伸張回路74により後述するように元のデータに復元された画像データ73bと、符号化回路75の動き検出/動き補償部43aで動き検出/動き補償を行うために必要となるローカルデコード画像(IピクチャまたはPピクチャ)73cとが記憶される。
【0162】
符号化回路75では、図27に示した従来装置の符号化回路43と同様に、動き検出/動き補償処理、DCT処理、量子化処理及び可変長符号化処理を施すことにより圧縮符号化を行う。その結果、生成された圧縮符号化データは、可変長符号化回路43hから出力されてバッファ43iに記憶され、更にバッファ43iから所定の伝送タイミングでビットストリームとして出力される。また、前述したように、逆量子化処理及び逆DCT処理などを施すことにより、ローカルデコード画像信号が加算器43gにおいて生成され、このローカルデコード画像信号はメモリ73に記憶される。
【0163】
次に、プリフィルタ/圧縮回路72の構成及び動作について詳細に説明する。図16はプリフィルタ/圧縮回路72の一例のブロック図を示す。同図に示すように、プリフィルタ/圧縮回路72は、DCT回路72a、量子化回路72b、可変長符号化回路72c及び量子化ステップ制御回路72dから構成されている。DCTとは前述したように、8×8画素のブロック単位で行われる演算で、各画素値を周波数成分に変換する。その演算結果は、図7に示したように周波数成分が水平方向と垂直方向で2通りの変化があり、ブロックの左から右へ、ブロックの上から下へそれぞれ周波数が高くなり、高周波数成分になるにつれて値はゼロ近傍の値が多くなる。
【0164】
以下、プリフィルタ/圧縮回路72の動作について具体的に説明する。DCT回路72aから出力されたDCT係数に対して、量子化回路72bでは量子化ステップ(Q)で除算を行うことでDCT係数の情報を削減する。前述したように、DCT係数は高周波数になるにつれて値が小さくなる傾向にあり、ゼロとなる係数も多くなる。従って、量子化されたDCT係数は、低周波数成分と比較して高周波数成分の方が大きく削減される結果となり、これはローパスフィルタリングと同様の効果といえる。
【0165】
なお、量子化ステップの値が固定であると情報量を必要以上に削減し過ぎる場合があり、その結果、画質劣化が生じる。従って、量子化ステップ制御回路72dにおいて、可変長符号化回路72cの符号量結果と目標符号量との比較を行うことで、量子化ステップ値をフィードバック制御しながら圧縮符号化処理を行っていく。
【0166】
例えば、図17に示すフローチャートのようなフィードバック制御を行う。以下、この制御動作について、詳細に説明する。まず、量子化ステップ制御回路72dの1フレーム目の目標符号量(以下、Sと記載する)の値を設定する(ステップS101)。なお、このSの値は、メモリ73のメモリ容量と伝送される画像に要求される画像品質等に応じて決定すればよい。
【0167】
続いて、ブロック(以下、Bと記載する)単位の符号量を累積加算する際に使用する変数(以下、Tと記載する)を0に初期化し(ステップS102)、可変長符号化回路72cの符号量結果を累積加算し(ステップS103)、その累積加算した符号量結果をMB単位でメモリ73に一時記憶する(ステップS104)。
【0168】
続いて、可変長符号化回路72cにおいて、1フレーム分の圧縮符号化が完了したか否か判断され(ステップS105)、1フレーム分の圧縮符号化が完了していないと判断された場合には、ステップS103に戻り、可変長符号化回路72cの符号量結果の累積加算を継続し、1フレーム分の圧縮符号化が完了したと判断された場合には、得られた1フレーム分の累積符号量Tをメモリ73に一時記憶する(ステップS106)。
【0169】
続いて、T>Sであるか否か比較を行い(ステップS107)、現フレームの累積符号量Tが目標符号量S以下である場合には、現フレームよりも次フレームの目標符号量Sを大きく設定して(ステップS109)、ステップS110へ移行する。他方、現フレームの累積符号量Tが目標符号量Sよりも大きかった場合には、現フレームよりも次フレームの目標符号量Sを小さく設定して(ステップS108)、ステップS110へ移行する。なお、この目標符号量Sの増減量は、差分絶対値|T−S|の大きさ以下の値とする。
【0170】
ステップS110では、差分絶対値|T−S|の大きさと、目標符号量Sをある係数(以下、αと記載する)で除算した値(S/α)とを比較する。ステップS110において、現フレーム符号量結果Tと目標符号量Sとの差分絶対値|T−S|の大きさが、目標符号量のある割合S/α以下であると判定された場合には、次フレームの量子化ステップを現フレームのQと同じ値に設定して(ステップS112)、ステップS115へ移行する。
【0171】
また、ステップS110において、現フレーム符号量結果Tと目標符号量Sとの差分絶対値|T−S|の大きさが、目標符号量のある割合S/αより大きいと判定された場合には、現フレームの累積符号量Tが目標符号量Sよりも大であるか否かの比較判定を行い(ステップS111)、T>Sであるときには、次フレームの量子化ステップを現フレームの量子化ステップQよりも大きく設定して(ステップS113)、ステップS115へ移行する。他方、ステップS111でT≦Sと判定されたときには、次フレームの量子化ステップを現フレームの量子化ステップQよりも小さく設定して、ステップS115へ移行する。
【0172】
なお、量子化ステップQの値の増減量は、差分絶対値|T−S|の大きさが目標符号量Sに対してどのくらいの割合(%)の値であるかによって決定する。つまり、差分絶対値|T−S|の大きさが目標符号量Sに対して大きな割合であればあるほど、量子化ステップQの値の増減量を大きくするというように、増減量に段階をつける。
【0173】
ステップS115では、T/(1フレーム内のMBの総数)、つまり、MB単位の符号量平均値(以下、Hと記載する)を演算する。続いて、記憶したMB単位の符号量と符号量平均値Hの差分をとり、その差分結果から各MB毎の複雑度にランクを設定する(ステップS116)。例えば、MB単位の符号量結果が{H+(H/2)}よりも大きいときには最も複雑度が高いランク4、{H+(H/2)}以下で、{H+(H/4)}よりも大きいときには2番目に複雑度が高いランク3、{H+(H/4)}以下で、{H−(H/4)}よりも大きいときには3番目に複雑度が高いランク2、{H−(H/4)}以下で、{H−(H/2)}よりも大きいときには2番目に複雑度が低いランク1、{H−(H/2)}以下のときには最も複雑度が低いランク0とする。なお、Hは符号量平均値である。ランク2の場合は、目標符号量を符号量平均値Hのまま使用する。この情報をメモリ73に記憶しておき、メインの符号化回路75の量子化ステップ制御回路75bで制御を行う際に使用する。
【0174】
この情報により、フレーム内のMBにおいて、ランクの高いMB、つまり、複雑度の高いMBには目標符号量を大きく設定でき、また、ランクの低いMB、つまり、複雑度の低いMBには目標符号量を小さく設定することができ、また、メインの圧縮符号化処理における量子化ステップのフィードバック制御をより効率良く行うことが可能となる。
【0175】
ステップS116の処理の後、1フレーム分の全MBの判定が完了されたか否か判定し(ステップS117)、1フレーム分の全MBの判定が完了していないと判定された場合には、ステップS116に戻り、MBの判定を継続し、1フレーム分の全MBの判定が完了したと判定された場合には、ステップS102に戻り、以後の処理を繰返す。
【0176】
このように、本実施の形態のプリフィルタ/圧縮回路72では、入力画像データに対して、符号化回路75によるメインの圧縮符号化処理とは別に、目標符号量及び量子化ステップを可変制御しながら圧縮符号化処理を施すことで、メインの圧縮符号化処理前に適正にローパスフィルタリングを施すことができ、かつ、圧縮符号化処理結果の情報をメインの圧縮符号化処理において使用することで、より効率良く処理を行うことが可能となる。また、入力画像データに圧縮符号化処理を施してメモリ73に記憶するため、メモリ73の容量削減効果も得られる。
【0177】
次に、図14の伸張回路74の構成及び動作について詳細に説明する。図18は伸張回路74の一例のブロック図を示す。同図に示すように、伸張回路74は、可変長復号化回路74a、逆量子化回路74b及び逆DCT回路74cから構成され、プリフィルタ/圧縮回路72とは逆の処理を行う。本実施の形態の場合には伸張回路74により伸張復元された画像データを一度メモリ73に記憶して、その伸張復元された画像データをメモリ73から読み出して符号化回路75に供給してメインの符号化処理を行う。
【0178】
なお、伸張回路74により元の画像データに伸張復元するデータ量は、一度に1フレーム分伸張復元したのではメモリ削減の効果が薄れるため、例えば、図9に示したように、2マクロブロックラインデータ(図中、マクロブロックをMBと表記する)を伸張できるメモリ領域を用意する。つまり、図9中の領域A及び領域Bにそれぞれに復元された1マクロブロックラインデータ(MB0〜MBn)が記憶される。メモリ73内の伸張データの書き込み及び読み出しは、図10と共に説明した方法と同様である。
【0179】
また、図14に示す第5の実施の形態の画像データ符号化装置は、2つの異なるCPUなどの制御回路77及び78により制御されたソフトウェア処理にて動作している。これらの制御動作は図11の第2の実施の形態の制御動作説明用フローチャートと同様であるので、その説明は省略する。
【0180】
本実施の形態も、2つの異なる制御回路77及び78の構成で割り込み処理を使うことにより、1画面分伸張することなく、符号化に必要な画像データを必要な量のみ伸張しながら符号化処理を行うことが可能となり、伸張データを記憶するメモリ容量としては2マクロブロックラインデータ分のみの容量で済む。また、2つの異なる制御回路77及び78の構成をとっているため、それぞれの制御回路77及び78において並列的に動作を行うことができ、装置全体の処理を効率化良く行うことが可能となる。
【0181】
なお、本発明は以上の実施の形態に限定されるものではなく、例えば、以下のような種々の変形例を包含するものである。
【0182】
(1)動画像の画面サイズ、画面分割数、画面分割方法、I、P,Bピクチャ画面符号化部の組み合わせ方法は、図1の実施の形態以外に種々のものがあり得る。例えば、画面分割数は4以外の複数でもよいし、画面分割方法も画面縦方向と画面横方向の組み合わせに限らず、縦方向のみの複数分割、横方向のみの複数分割などがある。
【0183】
(2)図1の画面符号化部52内の符号化部はIピクチャ用とPピクチャ用にそれぞれ1つずつの符号化部52a、52bが必要であるが、Bピクチャ用の符号化部の数は図1に限定されない。例えば、1GOPがI,B,B,B,P,B,B,B,P,・・・というように、IピクチャとPピクチャの間、またはPピクチャとPピクチャの間にBピクチャが3つあるような構成の場合は、分割画像符号化部内のBピクチャ用の符号化部は3つ設けられる。
【0184】
(3)メモリ削減のための圧縮処理の効果において、量子化ステップが固定値の場合で説明したが、量子化ステップは前述したようにブロック内の周波数成分に応じて異なる値にしてもよいし、ブロック単位またはフレーム画像単位で符号量制御することにより決定してもよい。つまり、メモリ容量と伝送される画像に要求される画像品質等に応じて条件を決定すればよい。
【0185】
(4)メモリ削減のための圧縮処理として、DCT/量子化/可変長符号化を挙げたが、伝送される画像に要求される画像品質等を考慮して有効な方法であれば、他の方式でもよい。
【0186】
(5)適用される画像データ符号化装置は、MPEG4に限ったものでなく、それ以外の方式、つまり、MPEG1,MPEG2等の動画やJPEG、JPEG2000等の静止画でもよい。但し、JPEG、JPEG2000等、静止画転送装置への適用の場合には、動き検出/動き補償処理及びローカルデコード画像を生成する必要がないため、図14のブロック構成において、動き検出/動き補償回路43a、減算器43b、逆量子化回路43e、逆DCT回路43f及び加算器43gが不要となる。
【0187】
(6)図14の実施の形態では、プリフィルタ/圧縮回路72においてフレーム単位での量子化ステップ制御を行ったが、所定のブロック単位で行ってもよく、また、DC成分よりも高周波成分の量子化ステップを大きくするというように同じブロック内で量子化ステップに重み付けを持たせてもよい。
【0188】
(7)図14の実施の形態では、プリフィルタ/圧縮回路72において,DCT/量子化/可変長符号化を行うように説明したが、メインの符号化方法(MPEG1,MPEG2,MPEG4、JPEG、JPEG2000等)や伝送される画像に要求される画像品質等を考慮して有効な方法であれば、他の方式でもよい。
【0189】
【発明の効果】
以上説明したように、本発明によれば、複数の分割画像信号に対し、符号化モードの種別毎に並列に符号化を行うと共に、複数の分割画像信号に対して分割画面毎に符号化を時分割で行って複数の符号化データを得ることにより、互いに独立して符号化する複数の分割画像符号化回路の構成に比べて、ハードウェア量の削減ができるため、消費電力低減を実現しながら、複数の分割画像信号の符号化データを統合することにより、大画面構成の動画像データの符号化を行うことができる。
【0190】
また、本発明によれば、符号化回路によるメインの符号化処理とは別に、入力画像データに対して圧縮回路により圧縮効果の高い圧縮符号化処理を施して得た圧縮画像データを記憶手段に一旦記憶した後、その圧縮画像データを伸張回路により伸張処理して圧縮符号化時の並べ替えを行って得た元の画像データに対して符号化回路により符号化するようにしたため、圧縮符号化時の並べ替えのために必要なメモリ容量を削減でき、これにより、記憶手段や符号化回路等を搭載した基板の縮小化と消費電力の低減を実現でき、コストを低減することができる。
【0191】
更に、本発明によれば、2つの異なる制御回路の構成で割り込み処理を使うことにより、1画面分伸張することなく、符号化に必要な画像データを必要な量のみ伸張しながら符号化処理を行うことが可能となり、伸張回路からの元の画像データを記憶する記憶手段の容量としては、符号化に必要最小限の容量で済ませることができる。
【0192】
また、本発明によれば、2つの制御回路において並行してメインの圧縮符号化処理とは別に、入力画像データに対してメインの符号化回路で圧縮符号化処理を施すことで、メインの圧縮符号化処理を行う前の画像に対して所定のフィルタリングを施すことができ、かつ、圧縮符号化処理結果の情報をメインの圧縮符号化処理に使用することで、メインの圧縮符号化処理をより効率良く行うことができると共に、基板の縮小化、消費電力低減を実現し、コストの低減を図ることができる。
【図面の簡単な説明】
【図1】本発明装置の第1の実施の形態のブロック図である。
【図2】図1の動作説明図である。
【図3】本発明装置の第2の実施の形態のブロック図である。
【図4】図3中のメモリにおける画像データ受け渡しの流れを示す図である。
【図5】図3中の圧縮回路の一例のブロック図である。
【図6】符号化回路における差分結果対出現頻度特性図である。
【図7】DCTの演算結果説明図である。
【図8】図3中の伸張回路の一例のブロック図である。
【図9】図3中のメモリのメモリ容量を説明する図である。
【図10】図3中のメモリ内の伸張データの書き込み及び読み出しの説明図である。
【図11】本発明の第2の実施の形態における制御回路の制御動作説明用フローチャートである。
【図12】本発明の第3の実施の形態における制御回路の制御動作説明用フローチャートである。
【図13】本発明装置の第4の実施の形態のブロック図である
【図14】本発明装置の第5の実施の形態のブロック図である。
【図15】図14中のメモリ内の伸張データの書き込み及び読み出しの説明図である。
【図16】図14中のプリフィルタ/圧縮回路の一例のブロック図である。
【図17】図16のプリフィルタ/圧縮回路におけるフィードバック制御説明用フローチャートである。
【図18】図14中の伸張回路の一例のブロック図である。
【図19】従来の画像データ符号化装置の第1の例のブロック図である。
【図20】図19の画面分割部による画面分割動作説明図である。
【図21】図19の動作説明図である。
【図22】図19の分割画像符号化部の動作説明図である。
【図23】図19の統合ストリーム生成部で4つのストリームデータを統合する方法の説明図である。
【図24】従来の画像データ符号化装置の第2の例のブロック図である。
【図25】図24中の圧縮回路の一例のブロック図である。
【図26】図24中の伸張回路の一例のブロック図である。
【図27】従来の画像データ符号化装置の第3の例のブロック図である。
【図28】図27中の可変プリフィルタによるフィルタリングを説明する図である。
【図29】図27中のフィルタ制御部の一例のブロック図である。
【図30】図29中のパラメータ決定部が求める共通解(k、Q)を示す図である。
【図31】図29で用いる動き量パラメータを測定する測定部の一例のブロック図である。
【符号の説明】
1 動画像データ入力端子
2 画面分割部
4 統合ストリーム生成部
5 符号化データ出力端子
14、67、75 符号化回路
15、61、71 バッファ
51 画像メモリ
52 分割画像符号化部
52a 分割画像Iピクチャ符号化部
52b 分割画像Pピクチャ符号化部
52c、52d 分割画像Bピクチャ符号化部
53 制御部
62 圧縮回路
62a、67a DCT/量子化回路
62b、64a、67b、72c、74a 可変長符号化回路
63、73 メモリ
64、74 伸張回路
64b 逆量子化/逆DCT回路
65、66、68、77、78 制御回路
72 プリフィルタ/圧縮回路
72a DCT回路
72b、75a 量子化回路
72d、75b 量子化ステップ制御回路
74b 逆量子化回路
74c 逆DCT回路
【発明の属する技術分野】
本発明は画像データ符号化装置に係り、特にMPEG(Moving Picture Experts Group)などの圧縮符号化方式により、動画像信号などの画像データを圧縮符号化して伝送する画像データ符号化装置に関する。
【0002】
【従来の技術】
ビデオ映像信号等の大量の動画像信号をより少ないデータ量で転送・蓄積するための動画像圧縮技術として、MPEG4が挙げられる。MPEG4は、同じ動画像圧縮技術としてよく知られているMPEG2とは異なる領域で、低ビットレートの高圧縮率を目標とした技術であり、携帯テレビ電話、ムービーメール、インターネット配信などマルチメディアの分野で注目を浴びつつある。
【0003】
MPEG4では、1枚の動画像フレームデータを水平方向および垂直方向共に8画素(すなわち、8画素×8画素)の大きさのブロックに分割し、各ブロックに対して空間的相関を利用して離散コサイン変換(以下、DCTと示す)を行い、そのDCT係数を量子化することで生成される符号に出現頻度の偏りを持たせ、出現頻度の高いものにはなるべく短い符号を、逆に出現頻度の低いものには長い符号を割り当てるという可変長符号化を行うことを基本としている。また、動き検出/動き補償により時間軸方向の相関を利用しての圧縮も行い、符号化効率を向上させている。
【0004】
動き検出/動き補償とは、入力画像をそれぞれ重なりを持たない水平方向および垂直方向共に16画素(すなわち、16画素×16画素)から構成されるマクロブロック単位に分割し、現フレーム画像内の符号化ターゲットマクロブロックを時間軸での前方向(過去)または後方向(未来)フレーム画像内の同じ位置におけるマクロブロックを中心とした、ある探索範囲内のマクロブロックと比較することにより、動き情報(動きベクトル量)を求めて、符号化効率を上げる技術である。
【0005】
このような動画像圧縮技術を用いることにより、低ビットレ一卜でも高画質な動画像データを供給することが可能となった。MPEG4では、扱われている動画像サイズは現状、水平方向176画素、垂直方向144画素のQCIFサイズ(176画素×144画素)が主であるが、今後、更に大きなサイズの圧縮符号化実現が望まれる。
【0006】
ここで、QCIF(Quarter CIF)サイズの4倍であるCIF(Common Intermediate Format:共通中間フォーマット)サイズ(352画素×288画素)の動画像圧縮符号化実現を考える。サイズが4倍になるということは符号化処理量が4倍に増加することになり、4倍の処理高速化が必要になる。一番簡単な実現手段は動作周波数を4倍に上げることである。これにより、QCIFサイズ動画像データを圧縮符号化可能な符号化装置を利用して、その4倍サイズであるCIFサイズ動画像データの符号化処理可能となる。
【0007】
しかしながら、このように動作周波数を上げることで、小さなサイズの動画像データの圧縮符号化装置を用いて、それよりも大きいサイズの動画像データの圧縮符号化処理を行う方法では、動作周波数を上げるのにもハードウェア上の限界がある。
【0008】
そこで、小さなサイズの動画像データ符号化装置を用いて大画面の動画像データの符号化を行うことが可能な他の方法として、従来、動画像データの各画面を分割して並列処理で圧縮符号化を行う画像データ符号化装置が提案されている(例えば、特許文献1参照)。
【0009】
図19は上記の特許文献1記載の従来の画像データ符号化装置の一例のブロック図を示す。この例では、QCIF用符号化装置である分割画像符号化部を4つ使用してCIFサイズの符号化を実現する。図19に示す画像データ符号化装置は、動画像データ入力端子1、画面分割部2、画像符号化部3、統合ストリームデータ生成部4、符号化データ出力端子5及び制御部6から構成される。
【0010】
動画像データ入力端子1から入力されたCIF動画像データは、画面分割部2に供給され、ここで制御部6からの制御の下に4つの分割画面に分割され、4つの分割画像データが生成される。すなわち、画面分割部2では、図20(A)に示すCIFサイズ(352画素×288画素)の入力CIF動画像データに対して、同図(B)に示すように、各分割画面同士が重複することなく、かつ、各分割画面間に隙間が無いように、各々水平方向176画素、垂直方向144画素(ライン)の4つの分割画面A、B、C及びDを示す4つの分割画像データを生成する。なお、図20では輝度信号の画面分割の場合を示しており、色差信号については、輝度信号に対して水平方向の画素数が1/2、垂直方向のライン数が1/2になる点を除けば、輝度信号と同様である。
【0011】
QCIFサイズのこれら4つの分割動画像データは、図19の分割画像符号化部3a、3b、3c、3dに別々に供給され、それぞれ時間的相関を利用して情報圧縮を行う動き補償予測、空間的相関を利用して情報圧縮を行う離散コサイン変換(以下、DCTと表記する)、量子化によって生成される符号の出現確率の偏りを利用して情報圧縮を行うエンロピー符号化(可変長符号化)等の処理を受けて各々が圧縮符号化され、4つの符号化データに生成される。
【0012】
これら4つの符号化データは、統合ストリームデータ生成部4において、制御部6からの制御の下に1つのストリームデータに統合され、ストリームデータ出力端子5からストリームデータとして出力される。制御部6は、画面分割部2、分割画像符号化部3a〜3d及び統合ストリーム生成部4の制御を行う。
【0013】
ここで、上記の分割画像符号化部3a〜3dでは、各々が水平方向176画素、垂直方向144画素(ライン)からなる分割画像データの符号化を行うが、分割画像データを構成する画面サイズはQCIFと同等であるため、分割画像符号化部3a〜3dとしてQCIFサイズの符号化装置を使用することが可能である。
【0014】
また、各分割画像符号化部3a〜3dにおいては、動き補償予測を各分割画面内、つまり、分割画面外への動きベクトル探索を禁止して図20(B)に示した各分割画面内で動き補償予測を行う。動き補償予測とは、16画素×16画素から構成されるマクロブロック単位で符号化対象画面に対し、時間軸での前方向(過去)または後方向(未来)フレーム画像からの予測により動き量を求めて、符号化効率を上げる技術である。
【0015】
ここで、MPEGのピクチャタイプについて説明する。MPEGでは、Iピクチャ、Pピクチャ及びBピクチャの3つのタイプのピクチャが規定されている。Iピクチャは、フレーム内符号化、つまり他のフレームを参照せずに符号化される画像であり、動き補償予測の対象とならない。また、Pピクチャは、前方予測、つまり前方向フレームの参照により、動き補償予測の施される画像である。更に、Bピクチャは、双方向予測を行う画像であり、前方向及び後方向フレームの参照により、動き補償予測の施される画像である。
【0016】
従って、他のフレームを動き補償予測するために参照されるフレームのピクチャタイプは、Iピクチャ及びPピクチャである。Bピクチャは参照されない。つまり、Pピクチャを動き補償予測するために参照されるフレームは、前方向のIピクチャまたはPピクチャである。また、Bピクチャを動き補償予測するためには、前方向フレーム(IピクチャまたはPピクチャ)及び後方向フレーム(IピクチャまたはPピクチャ)が参照される。
【0017】
従って、Bピクチャを動き補償予測する処理は、入力される画像信号中で後方向の位置にあるフレーム(IピクチャまたはPピクチャ)が処理された後においてのみ行うことができる。このため、入力されるフレーム画像の順序は、処理される順序とは異なる。そこで、入力の各フレーム画像の順序の並べ替えが必要になり、この並べ替えを行うために、入力されるフレーム画像を一時的に記憶しておくメモリが必要となる。また、このメモリは、動き補償予測を行うために参照されるIピクチャまたはPピクチャを記憶する役割も果たす。なお、図19では、このようなフレーム画像及びピクチャ画像を記憶するメモリの図示は省略している。
【0018】
以上の処理について、図21、図22を用いて更に説明する。なお、図21中のIはIピクチャ、PはPピクチャ、BはBピクチャを示し、I,P,B文字の添え字は符号化ターゲットとなるフレームナンバーを示す。例えば、I1は、1フレーム目を符号化した場合のIピクチャを示す。また、図22中のI,P,B文字の2桁の添え字のうち、左側の添え字は符号化ターゲットとなるフレームナンバーを示し、右側の添え字は符号化ターゲットとなるフレームを分割した場合の各分割画面を示す。例えば、I1Aは、1フレーム目の、図20で示す分割画面Aを符号化した場合のIピクチャを示す。
【0019】
図21に示すように、1フレーム目(図中、1fと表記)から7フレーム目(図中、7fと表記)までの計7フレーム画像を1フレーム目から順にI、B,B,P,B,B,Pピクチャに符号化する場合を考える。I1ピクチャ符号化時には1フレーム目(1f)のみ用いられ、P4ピクチャ符号化時には4フレーム目(4f)及び動き補償フレーム問予測のためにI1ピクチャが用いられ、B2ピクチャ符号化時には2フレーム目(2f)及び動き補償フレーム間予測のためにI1ピクチャ及びP4ピクチャが用いられる。
【0020】
ここでの符号化は4分割画面毎に行われるため、1フレーム目(1f)のI1ピクチャ符号化は、図22に示すように、I1A、I1B、I1C、I1Dピクチャ符号化の4並列処理で行う。以後、同様に図22に示すように4並列の符号化処理を繰り返す。
【0021】
MPEGのデータ構造は、周知のようにシーケンス、GOP、ピクチャ、スライス、マクロブロック及びブロックの各レイヤから構成されており、ブロックレイヤを除く各レイヤの先頭にはヘッダが存在する。なお、スライス、マクロブロックには厳密にはヘッダという呼び方はないが、ここではこれらレイヤの先頭情報も全てヘッダと呼ぶことにする。図19に示した分割画像符号化部3a〜3dにおいては、これらレイヤのうちピクチャ以上のレイヤ、つまりシーケンス、GOP及びピクチャの各レイヤの符号化パラメータ情報を全ての分割画像符号化部3a〜3dで共通にして符号化する。
【0022】
次に、図23を用いて図19の統合ストリーム生成部4での4つのストリームデータを統合する方法について更に説明する。まず、ピクチャレイヤ以上のレイヤに関して、4つのビデオストリームに別々についているヘッダ類、つまりシーケンスヘッダ、GOPヘッダ及びピクチャヘッダを1つに統合する。この際、シーケンスレイヤのパラメータ、例えば画像サイズ情報(水平方向画素サイズ、垂直方向画素サイズ)、アスペクト比情報、ビットレート情報等を置換して、各分割画面に対応した値ではなくCIF画面に対応した値に修正する。
【0023】
そして、CIF画面としての各ピクチャについて、基本的にスライス単位でストリームデータの統合を行う。つまり、元のCIF画面上でのラスタスキャン順に対応して、各ストリームデータのスライスを結合する。このよう子を図23に示す。CIF画面のある1枚のピクチャについて、図23に示すように4個の各分割画面毎にそれぞれA1,A2,A3,・・・、B1,B2,B3,・・・、C1,C2,・・・、D1,D2,D3,・・・というように、スライスが分割されて符号化されているものとする。
【0024】
この時、各分割画像符号化部3a〜3dから出力されるストリームデータの中のこのピクチャに対応する部分について、まず図20の分割画面A,Bに対応するストリームデータのスライスヘッダを境界にして時分割多重を行う。図23の例ではA1,B1,B2,A2,A3,B3,・・・というように、左上からスタートして1行が分割画面Aの右端まで達したら、右隣の分割画面Bの左端につなぎ、分割画面Bの右端まで達したら、次の行の分割画面Aの左端につなぐ。最後に、分割画面Cの右下端に達したら、更に下半分の分割画面C,Dに対応するストリームデータについても同様にスライスを単位とした左上から右下へのラスタスキャン順の時分割多重を行う。つまり、図23の例ではC1,C2,D1,C3,D2,D3・・・という順に多重する。この際、各分割画像符号化部3a〜3dの出力ビデオストリームを一時記憶部(遅延器)にそれぞれ一時格納することにより、スムーズな多重が行われるようにすることが望ましい。
【0025】
更に、スライスヘッダに含まれる情報のうち、図20の分割画面C,Dのスライス垂直位置情報に、1分割画面の垂直マクロブロック数に相当する9(=144/16)を加算する。また、スライス先頭のマクロブロックヘッダに含まれる情報のうち、マクロブロックアドレスインクリメントを修正する。修正方法は、図20の分割画面AとCについては修正無し、BとDについては1分割画面の水平マクロブロック数に相当する11(=176/16)を加算する。このようにして、スライス垂直位置、及びスライス先頭のマクロブロックアドレスインクリメントを分割画面上での値からCIF画面上での値に換算することができる。
【0026】
以上の一連の処理の結果、得られる統合後のストリームデータは、正規のCIF動画像データの1つのストリームデータとなる。このように、QCIF符号化装置を用いることで、その4倍サイズとなるCIFサイズの動画像符号化において、動作周波数を上げることなく実現できる。
【0027】
しかしながら、入力の各フレーム画像の順序の並べ替えを行うために、入力されるフレーム画像を一時的に記憶しておくメモリには、動画像データの符号化条件に応じて、数フレームから数十フレームの容量が必要とされる。従って、この大容量のメモリのコストがシステム全体のコストを上昇させる要因となり、メモリ容量の削減が求められていた。
【0028】
そこで、従来、上記のメモリ容量を削減した画像データ符号化装置が提案されている(例えば、特許文献2参照)。この特許文献2記載の従来の画像データ圧縮符号化装置は、入力画像データをそのままメモリに記憶するのではなく、圧縮してメモリに記憶し、符号時には必要なデータを伸張して取り出し、符号化処理を行うという構成である。
【0029】
図24は上記の特許文献2記載の従来の画像データ符号化装置の一例のブロック図を示す。この従来の画像データ符号化装置は、圧縮回路11、メモリ12、伸張回路13、符号化回路14(動き検出/動き補償回路14a、減算器14b、DCT/量子化回路14c、逆量子化/逆DCT回路14d、加算器14e、可変長符号化回路14f)、バッファ15及び制御回路23から構成される。
【0030】
圧縮回路11は、例えば(4:2:2)から(4:2:0)への変換処理等が施された入力動画像データを後述するように圧縮処理し、メモリ12に記憶する。なお、圧縮回路11における圧縮処理は、MPEG等の規定に従って行われるメインの圧縮符号化処理とは異なるもので、メモリ12の容量削減のために行う。伸張回路13は、符号化を開始するために必要な量の圧縮された画像データがメモリ12に記憶された後、後述するようにして、メモリ12内の圧縮された画像データ、つまり、メインの圧縮符号化処理を行う画像データを元のデータに復元する。そして、復元した画像データを動き検出/動き補償回路14aに出力する。なお、画像データを復元する際、前述したように、入力される各フレームの順序の並べ替えが行われる。
【0031】
動き検出/動き補償回路14aは、動き検出/動き補償処理を行う。つまり、伸張回路13から供給されたデータ(メインの圧縮符号化を行う画像データ)をメモリ12から供給されるローカルデコード画像との間で動き検出を行い、その結果得られるデータ(予測画像データ)と入力画像データとの差分(予測誤差)を減算器14bでとる動き補償を行わせることによって、時間的相関を利用した情報圧縮を行う。なお、フレーム内符号化であるIピクチャの場合は、動き検出/動き補償処理を行わないため、伸張回路13から供給された画像データはそのまま減算器14bを通してDCT/量子化回路14cに供給される。
【0032】
DCT/量子化回路14cでは、減算器14cから供給されたデータにDCTを施し、その結果を量子化することで、空間的相関を利用した情報圧縮が行われる。DCT/量子化回路14cによって符号化されたデータは、可変長符号化回路14fに供給されると共に、逆量子化/逆DCT回路14dにも供給される。逆量子化/逆DCT回路14dは、後述するように動き検出/動き補償回路14aの処理で参照されるローカルデコード画像を生成するために、DCT/量子化回路14bとは逆の処理を行う。
【0033】
逆量子化/逆DCT回路14dの出力データは、動き検出/動き補償回路14aから供給される予測画像データと加算器14eで加算され、その加算結果から、動き検出/動き補償回路14aの処理で参照されるローカルデコード画像が生成される。このローカルデコード画像はメモリ12に非圧縮のまま記憶される。なお、Iピクチャ符号化の場合は、動き検出/動き補償処理を行わないため、逆量子化/逆DCT回路14dの出力がそのまま、画像メモリ12に非圧縮のまま記憶される。また、前述したようにMPEGには、Iピクチャ、Pピクチャ及びBピクチャの3つがあるが、他のフレームを動き検出/動き補償するために参照されるフレームのピクチャタイプは、Iピクチャ及びPピクチャであり、Bピクチャは参照されない。従って、Bピクチャ符号化時はローカルデコード画像が生成されない。
【0034】
一般に、あるデータを圧縮/伸張処理した場合、完全に元に復元することは無く、ある程度の誤差を含む。この誤差は、要求される品質に対して許容範囲内であれば問題とならない。しかし、ローカルデコード画像は他フレームの符号化に使用されるため、ローカルデコード画像を圧縮/伸張処理すると、圧縮/伸張によって生じた誤差は画像信号の広範な部分の符号化に影響を与え、伝送される画像の品質を低下させる要因となる恐れがある。従って、前述したように、ローカルデコード画像に対しては圧縮/伸張処理を行わない。
【0035】
一方、可変長符号化回路14fは、DCT/量子化回路14cの処理の結果生成された値に対して、出現確率の低い値に長い符号長を割り当て、かつ、出現確率の高い値に短い符号長を割り当てることによって、データ全体の符号量を減らすようにした可変長符号化を行う。可変長符号化回路14fが生成するデータは、圧縮符号化データとしてバッファ15に記憶され、所定の伝送タイミングでビットストリームとして出力される。制御部16は全体の制御を司る。
【0036】
次に、圧縮回路11による圧縮処理について詳細に説明する。この圧縮処理は、例えば差分パルス符号変調(以下、DPCMと表記する)によって行われる。DPCMとは、直前に処理した左側の画素(左から右へ走査)と差分をとることで、統計的偏りを持たせて符号量削減を図る符号化方法である。DPCMは高い圧縮効果は得られないが、簡単な処理で行うことができる。
【0037】
5画素分に相当する40ビット(つまり、8(ビット/画素)×5画素=40ビット)を32ビットに圧縮する場合の圧縮回路11の構成を示すブロック図を図25に示す。同図において、制御回路23は、スイッチ22、スイッチ27及びマルチプレクサ(図中、MUXと表記)24の制御を行い、各画素を単位として、供給先を切替える。
【0038】
画像データは、画素毎、つまり8ビット単位で供給される。1番目の画素データの供給時には、制御回路23の制御によりスイッチ22が端子a側に接続されて入力画像データをそのまま、マルチプレクサ24、逆量子化回路25及びスイッチ27に供給する。更に、1番目の画素データの供給時には、制御回路23の制御により、スイッチ27が端子a側に接続されるため、スイッチ27を通してフリッププロップ(図中、FFと表記)28に供給され、記憶される。
【0039】
2番目の画素データが供給されると、2番目の画素データと、既にフリッププロップ28に記憶されている1番目の画素データとの差分が減算器20によって計算される。この差分が量子化回路21に供給され、8ビットから6ビットに量子化される。また、2番目の画素データの供給時には、制御回路23の制御により、スイッチ22が端子b側に切り替え接続されるため、量子化回路21で6ビットに量子化されたデータはスイッチ22を通してマルチプレクサ24に供給されると共に、逆量子化器25にも供給される。
【0040】
逆量子化器25は、供給された6ビットのデータを逆量子化して加算器26に供給し、ここでフリッププロップ28に記憶されていた1番目の画素データと加算して、2番目の画素データを復元する。また、2番目の画素データの供給時には、制御回路23の制御により、スイッチ27が端子b側に切り替え接続されるため、加算器26により得られた加算結果、つまり復元された2番目の画素データがスイッチ27を通してフリップフロップ28に供給されて記憶される。このようにして、フリップフロップ28に記憶された復元された画素データは、次に入力される画素データを処理する際に減算器20及び加算器26において用いられる。
【0041】
更に、3番目〜5番目までの画素データも2番目の画素データと同様に処理され、各々6ビットのデータとなる。この結果、5画素分のデータ(40ビット)が32ビットのデータに圧縮され、マルチプレクサ24から図24のメモリ12に供給されて記憶される。
【0042】
6番目以降の画素データについても、同様に5画素分の40ビットのデータを処理単位として、32ビットのデータに圧縮することが行われる。従って、圧縮回路11に入力される画像データに対して、常に4/5の圧縮が施されてメモリ12に記録されることになり、その結果、メモリ12内における入力画像データの記憶容量を4/5に削減することができる。
【0043】
次に、伸張回路13の伸張処理について詳細に説明する。この伸張処理は、圧縮回路11による圧縮処理の逆処理を行うものであり、32ビットのデータを元の40ビットのデータに復元する。図26は伸張回路13の一例のブロック図を示す。同図において、制御回路33は、デマルチプレクサ(図中、DEMUXと表記)30及びスイッチ34によって、画素の供給先を制御する。
【0044】
図24のメモリ12から供給された32ビットデータがデマルチプレクサ30に供給される。デマルチプレクサ30は、供給された32ビットデータのうちの8ビットの画素データ(圧縮回路11の処理において、ビット長が8ビットのままとされる画素データ、つまり処理単位とされる5画素のうちの最初の画素データ)が1番目に処理され、その後2番目以降に6ビットのデータが順に処理されるように、後段に画素データを供給する。
【0045】
デマルチプレクサ30から1番目のデータとして8ビットのデータが出力される時には、制御回路33の制御によって、スイッチ34が端子a側に接続されるため、8ビットのデータは、伸張回路13をそのまま通過すると共に、フリップフロップ35に記憶される。次に、デマルチプレクサ30から2番目のデータとして6ビットのデータが出力される時には、逆量子化回路31によって6ビットのデータが逆量子化され、加算器32に供給される。加算器32は、逆量子化回路31から供給されるデータと、フリップフロップ35に記憶された1番目のデータとを加算し、2番目のデータを復元する。
【0046】
デマルチプレクサ30から2番目のデータとして6ビットのデータが出力される時には、制御回路33の制御によって、スイッチ34が端子b側に切り替え接続されるため、加算器32の出力データ、つまり復元された2番目の画素データは、伸張回路13から出力されると共に、フリップフロップ35に記憶される。このようにして、フリップフロップ35に記憶された復元された画素データは、次に入力される画素データを処理する際に加算器32において用いられる。
【0047】
その後、第3番目〜第5番目のデータについても同様な処理が行われる。この結果、32ビットのデータが40ビットのデータに伸張され、8ビット/画素の5画素分のデータに復元する。以降、同様にして、32ビットのデータを1単位として、40ビット、つまり5画素分のデータに復元することが行われる。従って、伸張回路13に入力される圧縮データについて、常に5/4の伸張処理が施される。このように、メインの圧縮符号化処理とは異なる圧縮処理(DPCM)を入力動画像データに対して行うことで、メモリ容量の削減を実現できる。
【0048】
ところで、前述したように、MPEGでは動き検出/動き補償を施すことでフレーム間符号化を行い、符号化効率を上げているが、複雑で速い動きが画像中にある場合、動き検出/動き補償が有効に働かず、符号化出力量が大きくなると共に、量子化歪等が発生して画質劣化の問題が発生する。
【0049】
この改善手法として、プリフィルタの最適通過帯域と量子化ステップサイズを適応的に決定するプリフィルタ処理を取り入れた画像データ符号化装置が従来、提案されている(例えば、特許文献3参照)。
【0050】
図27は特許文献3記載の従来の画像データ符号化装置の一例のブロック図を示す。この従来の画像データ符号化装置は、メモリ41、可変プリフィルタ42(プリフィルタ42a、フィルタ制御部42b)、符号化回路43(動き補償/動き検出部43a、減算器43b、DCT回路43c、量子化回路43d、逆量子化回路43e、逆DCT回路43f、加算器43g、可変長符号化回路43h、バッファ43i)から構成される。
【0051】
前述したように、MPEGでは、入力されるフレーム画像の順序は、処理される順序とは異なるため、入力の各フレーム画像の順序の並べ替えが必要になり、この並べ替えを行うために、入力フレーム画像を一時的に記憶しておくメモリが必要とされ、メモリ41をその用途に用いる。また、メモリ41にはローカルデコード画像を記憶するためにも用いる。すなわち、メモリ41は、動き検出/動き補償を行うために必要な複数枚の画像データ及び後述するローカルデコード画像を記憶する。
【0052】
可変プリフィルタ42は、メモリ41から読み出された動画像データを入力信号として受け、後述するように、入力信号、量子化ステップサイズ等を参照することにより、符号化出力レートの予測と同時に画質のバランスを考慮して、プリフィルタ42aの最適通過帯域と量子化ステップサイズを適応的に決定し、入力画像データに対してローパスフィルタリングを施し、符号化回路43へ出力する。
【0053】
符号化回路43では、まず、動き検出/動き補償部43aにより、動き検出/動き補償処理を行う。つまり、可変プリフィルタ42aによりローパスフィルタリングを施された入力原画像と後述するローカルデコード画像との間で動き検出を行い、その結果得られるデータ(予測画像データ)を出力して減算器43bで入力減画像データとの差分(予測誤差)をとる動き補償を行う。これにより、時間的相関を利用した情報圧縮を行う。なお、フレーム内符号化であるIピクチャの場合は、動き検出/動き補償処理を行わないため、画像データはそのままDCT回路43cに供給される。
【0054】
DCT回路43cは入力されたデータにDCTを施し、得られたDCT係数を量子化回路43dに供給して量子化させることで、空間的相関を利用した情報圧縮が行われる。DCT回路43c及び量子化回路43dによって符号化されたデータは、可変長符号化回路43hに供給されると共に、逆量子化回路43eにも供給される。
【0055】
可変長符号化回路43hでは、DCT回路43c及び量子化回路43dによって符号化されたデータの値に対して、出現確率の低い値に長い符号長を割り当て、かつ、出現確率の高い値に短い符号長を割り当てることによって、データ全体の符号量を減らすようにした可変長符号化を施す。可変長符号化回路43hが生成した圧縮符号化データは、バッファ43iに一時記憶された後、所定の伝送タイミングでビットストリームとして出力される。
【0056】
一方、逆量子化回路43e及び逆DCT回路43fでは、量子化回路43dから供給されるデータに逆量子化/逆DCTを行う。逆DCT回路43fの出力データは、加算器43gで動き検出/動き補償部43aから供給される予測画像データと加算され、動き検出/動き補償部43aの処理で参照されるローカルデコード画像が生成される。このローカルデコード画像はメモリ41に記憶される。
【0057】
なお、Iピクチャ符号化の場合は、動き検出/動き補償処理を行わないため、逆DCT回路43fの出力がそのまま、画像メモリ41に記憶される。また、前述したようにMPEGには、Iピクチャ、Pピクチャ及びBピクチャの3つがあるが、他のフレームを動き検出/動き補償するために参照されるフレームのピクチャタイプは、Iピクチャ及びPピクチャであり、Bピクチャは参照されない。従って、Bピクチャ符号化時はローカルデコード画像が生成されない。
【0058】
次に、可変プリフィルタ42の動作について詳細に説明する。プリフィルタ42aは、フィルタ制御部42bより与えられる通過帯域パラメータ(以下、kと記す)に基づく図28に示す式で表される構成により、入力画像データに対し、適応的に特性を変化させたローパスフィルタリングを行う。
【0059】
フィルタ制御部42bは、図29に示すように、出力レート関数(以下、関数f1と記す)決定部421b、関数f1の係数更新部422b、画質バランス関数(以下、関数f2と記す)入力部423b、パラメータ決定部424b、量子化ステップサイズ(以下、Qと記す)制御部425bから構成される。
【0060】
出力レート関数決定部421bは、k、Q、後述する動き量パラメータ(以下、rと記す)、符号化出力レート(以下、Jと記す)との相互関係を記述する関数f1を決定する。出力レート関数係数更新部422bは、過去に符号化された画像フレームに関するk、Q、r、Jに基づき、関数f1に含まれる係数を更新する。画質バランス関数入力部423bは、入力画像帯域の制限による鮮鋭度の劣化と量子化による符号化歪による画質劣化のバランスを考慮する関数f2の入力を行う。量子化ステップサイズ制御部425bは、k更新タイミング以外のタイミングにおける量子化ステップサイズQ′を決定する。
【0061】
パラメータ決定部424bは、kの更新タイミングにおいて、関数f1及び関数f2より後述する共通解(k、Q)を求める。
【0062】
関数f1、関数f2は例えば、式(1)、式(2)として表現される。
【0063】
J=α・(k+β)・(1/Q+γ)・(r+δ) ・・・式(1)
Q=ζ/k+η ・・・式(2)
(但し、α,β,γ,δ,ζ,ηは定数)
これらは、通常、図30に示すように共通解(k、Q)を持つ。
【0064】
また、動き量パラメータrは例えば、図31に示すような、差分器46、絶対値演算器47、比較器48、カウンタ49から構成される測定部により求められる。差分器47は、入力原画像とローカルデコード画像とのフレーム間の画素毎の差分値dを求める。絶対値演算器47は、差分値dの絶対値|d|を求める。比較器48は、この|d|と閾値d0とを比較し、|d|≧d0の不等式を満足する画素の場合、カウンタ49に信号を送り、カウントさせる。カウンタ49は上記条件を満たす画素の割合r(%)を動き量パラメータとして出力する。
【0065】
以上のように、特許文献3記載の従来の画像データ符号化装置では、入力データの性質を利用し、量子化歪とローパスフィルタによる鮮鋭度劣化のバランスを考慮することにより、最適画質を決定するようにフィルタ特性を適応的に変化させてプリフィルタ処理を施すことで、画質劣化の少ない符号化を実現する。
【0066】
【特許文献1】
特開平10−234043号公報
【特許文献2】
特開平10−271516号公報
【特許文献3】
特開平6−22578号公報
【0067】
【発明が解決しようとする課題】
しかるに、図19に示した従来の画像データ符号化装置では、CIFサイズの動画像符号化を、動作周波数を上げることなく実現するために、QCIF符号化装置である分割画像符号化部3a〜3dを4つ用いるため、消費電力が4倍となる。この消費電力の増加は、携帯電話といったモバイル機器などにも採用されているMPEG4にとって大きな問題である。
【0068】
また、図24に示した従来の画像データ符号化装置では、メモリ容量削減のためにメインの圧縮符号化処理とは異なる圧縮処理の手法として、DPCMを用いているが、この符号化方式では高い圧縮効果を得ることはできない。前述したように、入力の各フレーム画像の順序の並べ替えを行うために、入力されるフレーム画像を一時的に記憶しておくために、数フレームから数十フレームという大容量のメモリが必要であり、その大容量のメモリのコストがシステム全体のコストを上昇させる要因となり、メモリ容量の削減が求められている。
【0069】
これは、図27に示した従来の画像データ符号化装置において、符号化回路43の動画像圧縮方式として低ビットレートの高圧縮率を目標としたMPEG4を用いた場合も同様である。特に、MPEG4は、携帯テレビ電話、ムービーメール、インターネット配信などマルチメディアの分野で注目を浴びつつあり、モバイル機器にも多く採用されており、そのため、MPEG4処理回路に対して、基板の縮小化、消費電力低減、コスト低減などが求められている。従って、圧縮符号化時に必要なメモリ容量の更なる削減が望まれる。
【0070】
本発明は上記課題を解決するためになされたもので、処理内容を一部変更することで、消費電力の上昇を抑えつつ、より大きな画面構成の画像データの符号化を行い得る画像データ符号化装置を提供することを目的とする。
【0071】
また、本発明の他の目的は、入力画像データを効率良く圧縮符号化することで、メモリ容量を効率良く削減し、基板の縮小化、消費電力低減と、コストの低減を実現し得る画像データ符号化装置を提供することにある。
【0072】
更に、本発明の他の目的は、ローパスフィルタリング効果を得ると同時に、入力画像データを圧縮符号化して、動き検出/動き補償のためにフレーム画像の順序の並べ替えに必要なメモリ容量を削減することで、基板の縮小化、消費電力低減とコストの低減を実現し得る画像データ符号化装置を提供することにある。
【0073】
【課題を解決するための手段】
上記の目的を達成するため、第1の発明の画像データ符号化装置は、供給される入力動画像信号により構成される一画面を複数の画面に分割して、複数の分割画面に対応した複数の分割画像信号を出力する分割手段と、複数の分割画像信号を記憶する記憶手段と、記憶手段から供給される複数の分割画像信号に対し、符号化モードの種別毎に並列に符号化を行うと共に、複数の分割画像信号に対して分割画面毎に符号化を時分割で行って得た複数の符号化データを記憶手段に記憶する分割画像符号化手段と、記憶手段より出力された複数の符号化データを、1つの画像データに統合する統合手段と、記憶手段、分割画像符号化手段及び統合手段を制御する制御手段とを有する構成としたものである。
【0074】
この発明では、入力動画像信号の画面サイズよりも画面サイズの小さな複数の分割画面に各々に対応した複数の分割画像信号を別々に、互いに独立して符号化する複数の分割画像符号化回路を有するのではなく、複数の分割画像信号に対し、符号化モードの種別毎に並列に符号化を行うと共に、複数の分割画像信号に対して分割画面毎に符号化を時分割で行って複数の符号化データを得るようにしたため、互いに独立して符号化する複数の分割画像符号化回路の構成に比べて、ハードウェア量の削減ができる。
【0075】
また、上記の目的を達成するため、第2の発明の画像データ符号化装置は、画像データを圧縮符号化処理して圧縮画像データを出力する圧縮回路と、少なくとも圧縮回路から出力された圧縮画像データを所定の容量分記憶する記憶手段と、記憶手段から読み出された圧縮画像データに対して、圧縮回路とは逆の処理を施して圧縮される前の元の画像データに伸張処理して記憶手段に記憶する伸張回路と、記憶手段から読み出された伸張回路によって伸張された画像データ及び動き補償を行うために上記の伸張された画像データを用いて生成したローカルデコード画像信号に基づいて、伸張された画像データを符号化する符号化回路と、圧縮画像データを記憶手段に記憶し、記憶手段に記憶された圧縮画像データを読み出して伸張回路に供給し、伸張回路により伸張して得られた元の画像データを記憶手段に記憶する第1の制御回路と、記憶手段に記憶された元の画像データとローカルデコード画像信号を読み出して符号化回路に供給すると共に、符号化回路の動作を制御し、符号化回路により符号化データと共に得られたローカルデコード画像信号を記憶手段に記憶する第2の制御回路とを有する構成としたものである。
【0076】
この発明では、符号化回路によるメインの符号化処理とは別に、入力画像データに対して圧縮回路により圧縮効果の高い圧縮符号化処理を施して得た圧縮画像データを記憶手段に一旦記憶した後、その圧縮画像データを伸張回路により伸張処理して圧縮符号化時の並べ替えを行って得た元の画像データに対して符号化回路により符号化するようにしたため、圧縮符号化時の並べ替えのために必要なメモリ容量を削減できる。
【0077】
また、上記の目的を達成するため、第3の発明の画像データ符号化装置は、画像データを圧縮符号化処理すると共に、所定のフィルタリングを施した圧縮画像データを出力するプリフィルタ/圧縮回路と、少なくともプリフィルタ/圧縮回路から出力された圧縮画像データを所定の容量分記憶する記憶手段と、記憶手段から読み出された圧縮画像データに対して、プリフィルタ/圧縮回路とは逆の処理を施して圧縮される前の元の画像データに伸張処理して記憶手段に記憶する伸張回路と、記憶手段から読み出された伸張回路によって伸張された画像データ及び動き補償を行うために上記の伸張された画像データを用いて生成したローカルデコード画像信号に基づいて、伸張された画像データを符号化する符号化回路と、圧縮画像データを記憶手段に記憶し、記憶手段に記憶された圧縮画像データを読み出して伸張回路に供給し、伸張回路により伸張して得られた元の画像データを記憶手段に記憶する第1の制御回路と、記憶手段に記憶された元の画像データとローカルデコード画像信号を読み出して符号化回路に供給すると共に、符号化回路の動作を制御し、符号化回路により符号化データと共に得られたローカルデコード画像信号を記憶手段に記憶する第2の制御回路とを有する構成としたものである。
【0078】
この発明では、符号化回路によるメインの符号化処理とは別に、入力画像データに対してプリフィルタ/圧縮回路により画像データを圧縮符号化処理すると共に、所定のフィルタリングを施して得た圧縮画像データを記憶手段に一旦記憶した後、その圧縮画像データを伸張回路により伸張処理して圧縮符号化時の並べ替えを行って得た元の画像データに対して符号化回路により符号化するようにしたため、圧縮符号化時の並べ替えのために必要なメモリ容量を削減できると共に、符号化回路によるメインの符号化処理をより効率良く行うことができる。
【0079】
【発明の実施の形態】
次に、本発明の実施の形態について図面と共に説明する。
【0080】
<第1の実施の形態>
図1は本発明になる画像データ符号化装置の第1の実施の形態のブロック図を示す。同図中、図19に示した従来の画像データ符号化装置と同一構成部分には同一の符号を付してある。図1に示す第1の実施の形態の画像データ符号化装置は、動画像データ入力端子1、画面分割部2、画像メモリ51、分割画像符号化部52、統合ストリームデータ生成部4、符号化データ出力端子5及び制御部53から構成されている。
【0081】
画像メモリ51は複数枚のフレーム画像が画面分割部2により分割された分割画像データとして記憶されている。また、動き補償予測に参照されるI,Pピクチャ画像及びストリームデータが一時的に記憶される。分割画像符号化部52は、分割画像Iピクチャ符号化部52a、分割画像Pピクチャ符号化部52b、分割画像Bピクチャ符号化部52c及び分割画像Bピクチャ符号化部52dから構成される。
【0082】
分割画像Iピクチャ符号化部52aは、画面分割された分割画像に対し、Iピクチャ符号化のみを行うことができるIピクチャ専用分割画像符号化部である。つまり、この分割画像符号化部52aではPピクチャ及びBピクチャ符号化を行うことはできない。分割画像Pピクチャ符号化部52bは、画面分割された分割画像に対し、Pピクチャ符号化を行うことができるPピクチャ専用分割画像符号化部である。つまり、この分割画像符号化部ではBピクチャ符号化を行うことはできない。また、分割画像Bピクチャ符号化部52c及び52dは、画面分劃された分割画像に対し、Bピクチャ符号化を行うことができるBピクチャ専用分割画像符号化部である。
【0083】
このように、図19に示した従来装置における符号化部3がI、P,Bピクチャの、全ての符号化を行うことができる分割画像符号化部であるのに対し、本実施の形態の分割画像符号化部52ではピクチャタイプに応じて、それぞれ専用の分割画像符号化部で符号化を行うこととしている。制御部53は、画面分割部2、画像メモリ51、分割画像符号化部52及び統合ストリーム生成部4の制御を行う。
【0084】
次に、図1の各部の構成及び動作について詳細に説明する。図1の画面分割部2では、従来装置と同様に、動画像データ入力端子1から入力された図20(A)に示した画素構成のCIF動画像データを、図20(B)に示した4つのQCIFサイズの分割画面の分割画像データに分割して画像メモリ51に供給して記憶する。以後同様な処理を繰返すことにより、画像メモリ51には複数枚の入力動画像データがそれぞれ4つの分割動画像データに分割されて記憶される。
【0085】
分割画像Iピクチャ符号化部52aはIピクチャ専用の符号化部で、画像メモリ51より符号化ターゲットとなる分割画像データが読み込まれ、その分割画像データに対してDCT,量子化、可変長符号化などのMPEGに基づく圧縮符号化処理を施し、符号化結果を画像メモリ51に記憶する。また、後続の分割画像符号化時に動き補償予測の参照画像とされるIピクチャも画像メモリ51に記憶される。
【0086】
分割画像Pピクチャ符号化部52bはPピクチャ専用の符号化部で、画像メモリ51より符号化ターゲットとなる分割画像データ及び動き補償予測の参照画像とされる前方向のIピクチャまたはPピクチャが読み込まれ、その入力データに対して動き補償予測、DCT,量子化、可変長符号化などのMPEGに基づく圧縮符号化処理を施し、符号化結果を画像メモリ51に記憶する。また、後続の分割画像符号化時に参照画像とされるPピクチャも画像メモリ51に記憶される。動き補償予測は図19の従来装置と同様に各分割画面内で行われるものとする。
【0087】
分割画像Bピクチャ符号化部52c及び52dはBピクチャ専用の符号化部で、画像メモリ51より符号化ターゲットとなる分割画像データ及び動き補償予測の参照画像とされる前方向と後方向のIピクチャまたはPピクチャが読み込まれ、その入力データに対して動き補償予測、DCT、量子化、可変長符号化などの処理を施し、符号化結果を画像メモリ51に記憶する。
【0088】
以上の処理について、図21、図2を用いて具体的に説明する。図19に示した従来装置での符号化時の説明と同様に図21に示すような符号化を考える。1フレーム目(1f)はIピクチャ符号化であるため、まず、1フレーム目(1f)の4つの分割画像データの一枚目が、図1の画像メモリ51より分割画像Iピクチャ符号化部52aに読み込まれ、符号化処理される。符号化結果は画像メモリ51に一時記憶される。また、この時、後続の分割画像符号化時に動き補償予測の参照画像とされるI1Aピクチャも画像メモリ51に一時記憶される。
【0089】
以後、同様な処理を3回繰返して、1フレーム目(1f)の4つの分割画像データそれぞれの符号化データ及び4つに分割されたIピクチャ画像(I1A〜I1D)が記憶される。なお、この場合、後続のフレーム画像の中にIピクチャ符号化対象フレームはないため、分割画像Iピクチャ符号化部52aはこれ以後動作しない。
【0090】
次に、4フレーム目(4f)を符号化処理する。4フレーム目(4f)はPピクチャ符号化であるため、まず、4フレーム目(4f)の4つの分割画像データの一枚目、及び動き補償予測の参照画像とされるI1Aピクチャ画像が画像メモリ51より分割画像Pピクチャ符号化部52bに読み込まれ、符号化処理される。符号化結果は画像メモリ51に一時記憶される。また、この時、後続の分割画像符号化時に動き補償予測の参照画像とされるP4Aピクチャも画像メモリ51に一時記憶される。
【0091】
以後、同様な処理を3回繰り返して、4フレーム目(4f)の4つの分割画像データそれぞれの符号化データ及び4つに分割されたPピクチャ画像(P4A〜P4D)が一時記憶される。なお、分割画像データの一番目が符号化される際には動き補償予測の参照画像としてI1Aピクチャ画像が必要となるため、4フレーム目(4f)の符号化は、図2に示すように、1フレーム目(1f)の1枚目の分割画像データが符号化処理され、I1Aピクチャ画像が画像メモリ51に記憶された後に開始するものとする。
【0092】
次に2フレーム目(2f)を符号化処理する。2フレーム目(2f)はBピクチャ符号化であるため、まず、2フレーム目(2f)の4つの分割画像データの一枚目、及び動き補償予測の参照画像とされるI1Aピクチャ画像とP1Aピクチャ画像が画像メモリ51より分割画像Bピクチャ符号化部52cに読み込まれ、符号化処理される。符号化結果は画像メモリ51に一時記憶される。
【0093】
以後、同様な処理を3回繰り返して、2フレーム目(2f)の4つの分割画像データそれぞれの符号化データが画像メモリ51に一時記憶される。なお、分割画像データの一枚目が符号化される際には、動き補償予測の参照画像としてP4Aピクチャ画像が必要となるため、2フレーム目(2f)の符号化開始は、図2に示すように、4フレーム目(4f)の1枚目の分割画像データが符号化処理され、P1Aピクチャ画像が画像メモリ51に記憶された後に行うものとする。
【0094】
また、3フレーム目(3f)も同じくBピクチャ符号化であり、まず、3フレーム目(3f)の4つの分割画像データの一番目、及び動き補償予測の参照画像とされるI1Aピクチャ画像とP4Aピクチャ画像が画像メモリ51より分割画像Bピクチャ符号化部52dに読み込まれ、符号化処理される。符号化結果は画像メモリ51に一時記憶される。
【0095】
以後、同様な処理を3回繰り返して、3フレーム目(3f)の4つの分割画像データそれぞれの符号化データが一時記憶される。なお、動き補償予測の参照画像は2フレーム目の符号化時の場合と同じであるため、図2に示すように、3フレーム目(3f)の符号化開始は2フレーム目(2f)の符号化開始と同時に行うことができる。
【0096】
以降、図2に示すように、7フレーム目(7f)のPピクチャ符号化、5フレーム目(5f),6フレーム目(6f)のBピクチャ符号化も同様に行う。最後に、図1に示す統合ストリーム生成部4は、画像メモリ51内に記憶されている符号化データを読み出し、以降、従来と同様にして1つのストリームデータを生成する。このように、本実施の形態によれば、分割画像符号化部52を各ピクチャタイプ専用の分割画像符号化部52a〜52dに変更しても符号化を実現できる。
【0097】
次に、各ピクチャタイプの符号化時の演算量について説明する。Pピクチャ符号化時は、フレーム画像内符号化のIピクチャとは異なり、前方向のIピクチャまたはPピクチャを参照しての動き補償予測が加わるため、演算量が大きくなる。動き補償予測をどの程度の精度で行うかによっても演算量が変わってくるが、Iピクチャのおよそ2倍強の演算量と考えられる。
【0098】
また、Bピクチャ符号化時は、Pピクチャ符号化時に行われた前方向のIピクチャ又はPピクチャを参照しての動き補償予測に加えて、後方向のIピクチャ又はPピクチャを参照しての動き補償予測も加わる。つまり、動き補償予測の演算量がPピクチャ符号化時の2倍となる。従って、Iピクチャ符号化時の演算量を1とすると、Pピクチャ符号化時の演算量はその2倍、Bピクチャ符号化時の演算量はその3倍となる。
【0099】
このことから、本実施の形態の分割画像符号化部52は、1つの分割画像Iピクチャ符号化部52a、1つの分割画像Pピクチャ符号化部52b、2つの分割画像Bピクチャ符号化部52c及び52dから構成されているので、分割画像符号化部52の総演算量はIピクチャ符号化演算量の8倍になる。
【0100】
ソフトウェア上での演算量の比率はそれを実現するためのハードウェア量の比率とほぼ同等であるため、本実施の形態の分割画像符号化部52のハードウェア量は、Iピクチャ符号化のみのハードウェア量の8倍になる。
【0101】
また、図19に示した従来装置の分割画像符号化部3a〜3dの各々はI,P,Bのどのピクチャタイプも符号化可能な分割画像符号化部でなければいけないため、本実施の形態での分割画像Bピクチャ符号化部53c、53dの各演算量(Iピクチャ符号化演算量の3倍)に相当し、計4つあるので、Iピクチャ符号化演算量の12倍となる。つまり、従来の分割画像符号化部3のハードウェア量は、Iピクチャ符号化のみのハードウェア量の12倍になる。
【0102】
以上より、Iピクチャ符号化のみのハードウェア量を基準として考えた場合、本実施の形態の分割画像符号化部52のハードウェア量は8倍、従来の分割画像符号化部3のハードウェア量は12倍となるため、本実施の形態は従来と比較して、概算で33%程度のハードウェア量削減が図られると考えられる。また、ハードウェア量削減に伴い、消費電力低減を実現できる。
【0103】
<第2の実施の形態>
次に、本発明の第2の実施の形態について、4:2:0のコンポーネント方式への変換処理が施されたQCIFサイズ(176×144画素)の入力動画像信号を符号化処理する場合を例に具体的に説明する。
【0104】
図3は本発明になる画像データ符号化装置の第2の実施の形態のブロック図を示す。同図中、図24に示した従来装置と同一構成部分には同一符号を付してある。図3に示す本実施の形態の画像データ符号化装置は、バッファ61、圧縮回路62、メモリ63、伸張回路64、符号化回路14、バッファ15、及び2つの制御回路65と66から構成される。
【0105】
バッファ61は、後述するように、圧縮回路62における圧縮符号化処理に必要な数ライン分の画像データを記憶する。圧縮回路62は、バッファ61から読み込んだ画像データを後述するようにDCTにより圧縮符号化処理し、メモリ63に記憶する。伸張回路64は、圧縮回路62によって生成された、メモリ63内に記憶された圧縮データを圧縮回路62とは逆の処理を施して元のデータに復元して、再度メモリ63に記憶する。符号化回路14は、伸張回路64で生成されたデータに対して圧縮符号化処理を行い、バッファ15に記憶する。バッファ15に記憶されたデータは所定の伝送タイミングでビットストリームとして出力する。
【0106】
制御回路65は、ブロックI内の各回路の一連の動作を制御して、画像データの圧縮回路62へ入力させて圧縮処理させて、得られた圧縮画像データをメモリ63へ書き込ませ、メモリ63から読み出した圧縮画像データを伸張回路64に供給して伸張処理させて得られた元の画像データをメモリ63に書き込む等の制御動作を行う。制御回路66は、ブロックII内の各回路の一連の動作を制御し、メモリ63から伸張された画像データ及びローカルデコード画像を読み出して符号化回路14により符号化させ、符号化回路14により得られたローカルデコード画像をメモリ63へ書き込む等の制御動作を行う。つまり、本発明の動画像符号化装置は、2つの異なった中央処理装置(CPU)などの制御回路65及び66により動作を制御する。なお、メモリ63はブロックIとIIで重複している。
【0107】
次に、図3の各部について詳細に動作を説明する。圧縮回路62では、例えば(4:2:2)から(4:2:0)へのコンポーネント方式の変換処理等が施された、バッファ61からの入力動画像データを後述するように圧縮符号化処理してメモリ63に記憶する。なお、圧縮回路62における圧縮符号化処理は、MPEG等の規定に従って行われるメインの圧縮符号化処理とは別のもので、メモリ63の容量削減のために行う。
【0108】
伸張回路64は、符号化を開始するために必要な量の圧縮された画像データがメモリ63に記憶された後、メモリ63内の圧縮された画像データ、つまり、メインの圧縮符号化処理を行う画像データを後述するように元のデータに復元し、メモリ63に記憶する。なお、画像データを復元する際、前述したように、入力される各フレームの順序の並べ替えが行われる。
【0109】
符号化回路14は、従来と同様に、動き検出/動き補償処理、DCT/量子化処理及び可変長符号化処理を施すことにより圧縮符号化を行う。符号化回路14で生成されたデータは、バッファ15に記憶され、所定の伝送タイミングでビットストリームとして出力される。また、前述したように逆量子化/逆DCT処理などを施すことによりローカルデコード画像が生成され、非圧縮のままメモリ63に記憶される。
【0110】
ここで、メモリ63における画像データ受け渡しの流れを図4に示す。図4に示すように、メモリ63には、圧縮回路62により圧縮された、符号化に必要な量の画像データ63aと、伸張回路64により後述するように元のデータに復元された画像データ63bと、符号化回路14の動き検出/動き補償回路14aで動き検出/動き補償を行うために必要となるローカルデコード画像(IピクチャまたはPピクチャ)63cとが記憶される。なお、ローカルデコード画像に対しては前述した理由から圧縮伸張処理は行わない。
【0111】
次に、圧縮回路62による圧縮符号化処理について詳細に説明する。この圧縮符号化処理は、例えば図5に示すように、DCT/量子化回路62a及び可変長符号化回路62bによって行われる。
【0112】
まず、図24に示した従来装置の圧縮回路11で行うDPCM(差分パルス符号変調)と、本実施の形態の圧縮回路62で行うDCT(離散コサイン変換)の符号量圧縮効果について比較する。DPCMとは、前述したように、直前に処理した左側の画素(左から右へ走査)と差分をとることで、統計的偏りを持たせて符号量削減を図る符号化方法であり、差分という簡単な演算処理で行うことができる。
【0113】
例えば、明るさが徐々に変化している画像データの場合には、隣接画素同士の差分結果はゼロ近傍の値が多く出現することになり、図6の差分結果対出現頻度特性図に実線aで示す特性のように、大きな統計的偏りが発生して符号量削減を図ることができる。しかし、輪郭部のように明るさが大きく変化しているような画像データの場合には、図6に点線bで示すように特性aに対して、ゼロ近傍の値の出現頻度が小さくなり、差分結果の大きい値の出現頻度が大きくなり、効率良く符号量削減を図ることができない。
【0114】
一方、DCTは8画素×8画素のブロック単位でDCTと呼ばれる演算を行い、各画素値を周波数成分に変換する。変換後の係数はブロックの一番左上の、ブロック全体の明るさを表現するDC成分とそれ以外のAC成分からなる。この演算結果は、図7に示すように周波数成分が水平方向と垂直方向で2通りの変化があり、ブロックの左から右へ、ブロックの上から下へそれぞれ周波数が高くなる。ここで、高域周波数成分に対する感度が弱いという人間の視覚特性を利用して、低周波数成分よりも高周波数成分の省略を大きくすることで符号量削減を図ることが可能となる。また、高周波数成分の値はゼロ近傍の値が多いこともあり、符号化しやすい。以上の理由からDCTはDPCMよりも効率良く高い圧縮効果をあげることができる。
【0115】
以下、圧縮回路62の動作について具体的に説明する。DCT演算の場合は、前述したように8画素×8画素のブロック単位で行い、また、輝度成分は4つのブロック、つまり、16画素×16画素から構成されるため、図3のバッファ61には、その2倍程度の32ライン分の画像データを記憶できる容量があればよい。
【0116】
また、画像情報として、輝度データ(Y)と色差データ(Cr,Cb)の3種類があり、1画素あたり8ビットなので、32ライン分のQCIFサイズの入力画像データの総ビット数は、(176×32)×8ビットである。ここで、(4:4:4)方式の場合は、輝度データ、色差データ共に4ブロックから構成されるため、全ブロックは12ブロックとなる。
【0117】
これに対して、(4:2:0)方式の場合は、輝度データが4ブロック構成なのに対し、色差データは1ブロックに間引かれるため、全ブロックは6ブロックとなり、(4:4:4)方式に比べて1/2に圧縮される。従って、(4:2:0)方式でQCIFサイズ画像データの場合、バッファ61には、
(176×32)×8ビット×3×1/2=67584ビット
の容量が必要となる。
【0118】
図5の圧縮回路内のDCT/量子化回路62aは、そのDCT部から出力されたDCT係数に対して、DCT/量子化回路62a内の量子化部で、ある係数値(量子化ステップ)で除算を行うことでDCT係数の情報を削減する。前述したように、高周波数成分は低周波数成分よりも省略を大きくすることが可能なため、低周波数成分の量子化ステップを小さく、高周波数成分の量子化ステップを大きくするなど重み付けを変えてやることで効率良く圧縮することも可能である。この結果を図5の可変長符号化回路62bで前述したように可変長符号化処理を行うことで符号量の圧縮効果を更にあげることができる。
【0119】
次に、伸張回路64の構成及び動作について詳細に説明する。図8は伸張回路64の一例のブロック図を示す。同図に示すように、伸張回路64は可変長復号化回路64a及び逆量子化/逆DCT回路64bから構成され、圧縮回路62とは逆の処理を行う。なお、前述したように、DCPMよりもDCTの演算処理の方が複雑なため、その逆の伸張処理も複雑となる。従って、図24の従来装置では伸張回路13の出力結果をそのままダイレクトに符号化回路14に供給して符号化処理を行っていたが、本実施の形態の場合には伸張回路64の出力を一度メモリ63に記憶して、その復元された画像データを符号化回路14に供給して符号化処理を行う。
【0120】
なお、伸張回路64により元の画像データに復元するデータ量は、一度に1フレーム分復元したのではメモリ削減の効果が薄れるため、図9に示すように、2マクロブロックラインデータ(図中、マクロブロックをMBと表記する)を伸張できるメモリ領域を用意する。つまり、図9の領域A及び領域Bにそれぞれ11個の復元されたマクロブロックデータ(MB0〜MB10)を記憶できるメモリ容量が必要となる。
【0121】
入力画像水平方向サイズが176画素、垂直方向サイズはマクロブロック2個分の大きさなので32画素である。また、前述したように、(4:2:0)方式の全ブロックは6ブロックとなり、(4:4:4)方式に比べて1/2に圧縮されるため、(4:2:0)方式で水平方向サイズが176画素、垂直方向サイズが32画素の画像データの場合、メモリ63のメモリ容量としては、
(176×32)×8ビット×3×1/2=67584ビット
必要となる。
【0122】
ここで、メモリ63内の伸張データの書き込み及び読み出しについて説明する。図10(A)に示すように、メモリ63の領域Aに伸張回路64の出力(元のデータに復元した画像データ)を記憶すると共に、メモリ63の領域Bに既に復元されて記憶されている画像データを符号化回路14に出力して符号化処理を行う。
【0123】
次に、図10(B)に示すように、メモリ63の領域Aに復元されて記憶された画像データを符号化回路14に出力して符号化処理をすると共に、メモリ63の領域Bには伸張回路64の出力(元のデータに復元した画像データ)を上書き記憶する。このように、2つの領域AとBの一方を書き込み領域とし、他方を読み出し領域とすると共に、それらを交互に切り替えることで伸張回路64の出力の書き込みと符号化回路14へのデータの読み出しを行う。
【0124】
次に、本実施の形態の圧縮回路62のメモリ容量削減効果について説明する。図5に示す構成の圧縮回路62において、量子化ステップを全ブロックに対して2に固定して5フレームの画像データの圧縮符号化処理を実際に行った場合、349176ビットという結果が得られた。
【0125】
また、メモリ容量削減を実現するためには、バッファ61のメモリ容量(前記33792ビット)と、メモリ63内の伸張データ分のメモリ容量(前記67584ビット)が必要となるため、本実施の形態でのメモリ削減の圧縮処理に必要なメモリ容量は、484344(=67584+67584+349176)ビットとなる。
【0126】
一方、圧縮符号化処理をしない場合、5フレーム分の原データを記憶するために必要なメモリ容量は、
(176×144)×3/2×8ビット×5フレーム=1520640ビット
となる。
従って、圧縮回路62は約32(=484344/1520640×100)%の圧縮効果を実現できる。
【0127】
次に、本発明の第2の実施の形態の画像データ符号化装置の制御動作について説明する。本実施の形態では、2つの異なるCPUなどの制御回路65及び66のソフトウェア処理にて動作している。以下、これらの制御動作について、図11のフローチャートを参照して詳細に説明する。
【0128】
制御回路65はまず、変数nに初期値0を代入した後(ステップS1)、入力画像データをライン単位でバッファ61に記憶する(ステップS2)。前述したように、圧縮回路62の圧縮処理はマクロブロック単位で行うため、16ライン分の画像データがバッファ61に記憶されたか否かが判断され(ステップS3)、16ライン分の画像データのバッファ61への記憶が完了していないと判断された場合にはステップS2に戻り、入力画像のラインデータの記憶を継続する。16ライン分の画像データのバッファ61への記憶が完了したと判断された場合には、次のマクロブロック単位の画像データがバッファ61から圧縮回路62へ出力される(ステップS4)。なお、ここで、次のマクロブロック単位の画像データのバッファ61への記憶を開始してもよく、この場合、バッファ61は2マクロブロックラインデータ(32ラインデータ)の容量を必要とする。
【0129】
圧縮回路62において、画像データはブロック単位で圧縮されて、圧縮データが生成された後(ステップS5)、メモリ63に記憶される(ステップS6)。続いて、制御回路65は圧縮回路62において1マクロブロックラインデータの圧縮処理が完了したか否かを判断し(ステップS7)、1マクロブロックラインデータの圧縮処理が完了していないと判断した場合には、ステップS5に戻り、圧縮処理を継続する。また、1マクロブロックラインデータの圧縮処理が完了したと判断した場合には、ステップS8へ移行する。
【0130】
ステップS8では、バッファ61への入力画像データの入力があるか否かが判断され、バッファ61への画像データの入力がないと判断された場合には、圧縮回路62における圧縮処理は終了となる。また、バッファ61への入力画像データの入力があると判断された場合には、ステップS9へ移行し、変数nが0であるか否かが判定され、0であれば初期化後最初の処理であるのでステップS10に進み、0でなければステップS5に戻る。
【0131】
ステップS10では、符号化回路に14おいて符号化処理を開始するために必要な量の画像データが全て圧縮されてメモリ63への記憶が完了したか否かが判断される。ステップS10で符号化処理を開始するために必要な量の画像データが全て圧縮されてメモリ63への記憶が完了してないと判断された場合には、ステップS4に戻り、圧縮処理を継続する。また、ステップS10で符号化処理を開始するために必要な量の画像データが全て圧縮されてメモリ63への記憶が完了したと判断された場合には、制御回路65は変数nに1を代入した後(ステップS11)、ブロック単位の圧縮された画像データをメモリ63から読み出して伸張回路64へ出力する(ステップS12)。
【0132】
伸張回路64に供給された圧縮画像データはブロック単位で伸張され、復元データとして生成され(ステップS13)、生成された復元データはメモリ63に記憶される(ステップS14)。前述したように動き検出/動き補償回路14aの動き検出/動き補償処理はマクロブロック単位で行うため、制御回路65は1マクロブロックラインデータ(16ラインデータ)の全ての伸張処理が終了したか否かをメモリ63の記憶データから判断する(ステップS15)。
【0133】
ステップS15で、1マクロブロックラインデータの全ての伸張処理が完了していないと判断された場合には、ステップS13に戻り、伸張処理を継続し、他方、1マクロブロックラインデータの全ての伸張処理が完了したと判断された場合には、制御回路66で制御されるステップS16へ移行すると同時に、ステップS5へ移行し、以降、ステップS5からステップS8の圧縮処理を継続する。つまり、制御回路65では圧縮処理のみを繰り返し継続する。
【0134】
制御回路66は、ステップS16で、メモリ63内に次に符号化対象となるマクロブロックラインデータが伸張されて記憶されているか否かを判断する。つまり、図10のメモリ63の領域A及び領域Bのうちの一方の領域に最初に符号化されるべきマクロブロックラインデータが伸張されて記憶されている場合、次に符号化されるマクロブロックラインデータが他方の領域に伸張されて記憶されているか否かがステップS16で判断される。
【0135】
ステップS16での判断が否定の場合、つまり、次に符号化されるマクロブロックラインデータが他方の領域に伸張されて記憶されていないと判断された場合には、制御回路66は制御回路65に対して割り込み信号を送り、後述する処理を行う。また、ステップS16での判断が肯定の場合、つまり、次に符号化されるマクロブロックラインデータが他方の領域に既に伸張されて記憶されていると判断された場合には、ステップS21へ移行する。
【0136】
制御回路66は、ステップS21でマクロブロック単位の伸張された画像データをメモリ63から読み出して符号化回路14へ出力する。符号化回路14では、入力された画像データをマクロブロック単位に符号化処理を行い、符号化データを生成し(ステップS22)、生成された符号化データをバッファ15に記憶する(ステップS23)。
【0137】
制御回路66は、バッファ15の記憶データから、1マクロブロックラインデータの符号化処理が完了したか否かを判断し(ステップS24)、1マクロブロックラインデータの符号化処理が完了していないと判断した場合には、ステップS22に戻り、符号化処理を継続し、1マクロブロックラインデータの符号化処理が完了したと判断した場合には、1画面分の符号化処理が完了したか否かを判断する(ステップS25)。
【0138】
制御回路66は、ステップS25で1画面分の符号化処理が完了していないと判断した場合には、ステップS16へ戻り、1画面分の符号化処理が完了したと判断した場合には、1画面分の符号化データをバッファ15からビットストリームとして出力させる(ステップS26)。
【0139】
続いて、制御回路66は、入力された全ての画像データの符号化処理が完了したか否か判断し(ステップS27)、全ての画像データの符号化処理が完了していないと判断した場合には、ステップS16へ戻り、全ての画像データの符号化処理が完了したと判断した場合には、符号化処理を終了、つまり、本ルーチンを終了する。
【0140】
また、制御回路65では、制御回路66から割り込み信号を受け取ると、割り込み処理としてステップS17からステップS20までの処理を実行する。このステップS17からステップS20までの割り込み処理は、前述したステップS12からステップS15の処理と同様である。すなわち、制御回路65は、ステップS20において、1マクロブロックラインデータの全てを伸張処理したか否か判断し、1マクロブロックラインデータの全ての伸張処理が完了していないと判断した場合には、ステップS18に戻り伸張処理を継続し、1マクロブロックラインデータの全ての伸張処理が完了したと判断した場合には、割り込み処理は終了となり、制御回路65では中断された圧縮処理が再開される。
【0141】
以上のように、2つの異なる制御回路65及び66の構成で割り込み処理を使うことにより、1画面分伸張することなく、符号化に必要な画像データを必要な量のみ伸張しながら符号化処理を行うことが可能となり、伸張データを記憶するメモリ容量としては2マクロブロックラインデータ分のみの容量で済ませることができる。また、2つの異なる制御回路65及び66の構成をとっているため、それぞれの制御回路65及び66において並行して動作を行うことができ、装置全体の処理を効率化良く行うことが可能となる。
【0142】
<第3の実施の形態>
図3の第2の実施の形態における圧縮回路62の圧縮処理は、メインの符号化回路14でのIピクチャ符号化処理に相当する。しかし、両者の処理における符号化条件(量子化条件など)が同じであるとは限らないため、第2の実施の形態では一度Iピクチャに圧縮符号化されてストリームデータとしてメモリ63に記憶されたにも拘らず、伸張回路64で伸張処理を行い、再度、メインの符号化回路14でIピクチャ符号化処理を行っていた。
【0143】
これに対して第3の実施の形態では、第2の実施の形態における圧縮回路62の符号化条件とメインの符号化回路14の符号化条件が同一の場合、両者の処理内容が同じものとなるため、メインの符号化回路14でのIピクチャ符号化処理を省くようにしたものである。
【0144】
第3の実施の形態の画像データ符号化装置の概略構成図は図3に示した第2の実施の形態と同じであるが、動作が一部異なる。以下、2つの制御回路による第2の実施の形態と異なる制御動作についてのみ、図12のフローチャートを参照して詳細に説明する。同図中、図11に示したフローチャートと同一処理ステップには同一の符号を付し、その説明を省略する。本実施の形態ではステップS30〜S34が付加されている。
【0145】
制御回路65のステップS1からステップS14までの処理は第2の実施の形態と同じである。制御回路65は、ステップS14でメモリ63に伸張データが記憶されると、符号化対象のデータのピクチャタイプを判定する(ステップS30)。ピクチャタイプがPピクチャ又はBピクチャの場合には第2の実施の形態と同様にステップS15へ移行して、以後第2の実施の形態と同様な処理を行う。一方、ピクチャタイプがIピクチャの場合は、ステップ31及び制御回路66による処理ステップS34へ移行する。
【0146】
制御回路65は、ステップS31では、Iピクチャ1画面分の伸張処理が完了したか否かを判断し、Iピクチャ1画面分の伸張処理が完了していないと判断した場合には、ステップS13へ移行して伸張処理を継続し、Iピクチャ1画面分の伸張処理が完了したと判断した場合には、ステップS5の圧縮データ生成処理へ戻る。
【0147】
なお、第2の実施の形態では制御回路65の、これ以降の処理は圧縮処理のみであったが、この処理中にステップS32でピクチャタイプ判定を行う。すなわち、ステップS9で変数nが0でないと判定されたときには、符号化に必要なフレーム画像圧縮が既に完了しているので、制御回路65はピクチャタイプを判定する(ステップS32)。Pピクチャ又はBピクチャの場合にはステップS5の圧縮データ生成処理へ移行して、以後、第2の実施の形態と同様に圧縮処理のみを継続する。
【0148】
一方、Iピクチャの場合には、Iピクチャ1画面分の圧縮符号化処理が完了したか否かを判定し(ステップS33)、Iピクチャ1画面分の圧縮符号化処理が完了していないと判断した場合には、ステップS5へ移行して圧縮処理を継続し、Iピクチャ1画面分の圧縮符号化処理が完了したと判断した場合には、ステップS12以後の処理を継続する。
【0149】
制御回路66はステップS34でピクチャタイプの判定を行い、Pピクチャ又はBピクチャの場合にはステップS16へ移行して以降、第2の実施の形態と同様な処理を行う。一方、Iピクチャの場合は、ステップS26以後の処理を行う。
【0150】
このように、入力画像データのピクチャタイプがIピクチャの場合には、圧縮回路62による圧縮符号化処理により、メモリ63に既に1画面分のIピクチャストリームデータが記憶されるため、第3の実施の形態ではメモリ削減のための圧縮回路62の符号化条件とメインの符号化回路14の符号化条件が同一の場合、符号化回路14でのIピクチャ符号化処理を不要として、メモリ63から直接ビットストリームデータとして出力する。従って、この第3の実施の形態の場合には、メモリ削減を実現すると共に、符号化回路14のIピクチャ符号化処理を省くことにより、第2の実施の形態よりも全体の符号化処理時間の短縮化を図ることができる。
【0151】
<第4の実施の形態>
次に、本発明の第4の実施の形態について説明する。図13は本発明になる画像データ符号化装置の第4の実施の形態のブロック図を示す。同図中、図3と同一構成部分には同一符号を付し、その説明を省略する。本実施の形態は、JPEG等の静止画像を伝送する画像伝送システムに適用したものであり、動画を扱うMPEGの符号化処理では必要であった、動き検出/動き補償処理を行う必要がない。従って、この処理のために必要なローカルデコード画像を作成するための復元処理も行う必要がない。
【0152】
図13において、画像データ符号化装置は第2の実施の形態と同一構成のブロックIと、本実施の形態特有のブロックIIIとから構成されている。ブロックIIIは、符号化回路67及びバッファ15とメモリ63とからなり、符号化回路67はDCT/量子化回路67aとか変調符号化回路67bとから構成されている。ブロックIII内の各部は制御回路68により動作が制御される。
【0153】
上述したように、静止画像信号を符号化する本実施の形態では、動き検出/動き補償処理を行う必要が無いので、図13中の符号化回路67には、図3中の動き検出/動き補償回路14aが含まれておらず、更に、上述したように、ローカルデコード画像が用いられる必要も無いので、ローカルデコード画像を生成するために設けられている図3中の逆量子化/逆DCT回路14dも含まれていない。
【0154】
本実施の形態では、メモリ63から読み出された圧縮画像データは、DCT/量子化回路67aに供給され、ここでDCTが施され、得られたDCT係数が量子化されることで、空間的相関を利用した情報圧縮が行われる。DCT/量子化回路67aによって符号化された静止画の画像データは、可変長符号化回路67bに供給され、ここで前述した可変長符号化が行われて、圧縮符号化データとしてバッファ15に記憶された後、所定の伝送タイミングでビットストリームとして出力される。本実施の形態においても、入力画像データに対して圧縮回路62により圧縮/伸張が施されるため、それに見合うメモリ63のメモリ容量の削減が可能となる。
【0155】
<第5の実施の形態>
次に、本発明の第5の実施の形態について説明する。図14は本発明になる画像データ符号化装置の第5の実施の形態のブロック図を示す。同図中、図27に示した従来装置と同一構成部分には同一の符号を付してある。図14に示す第5の実施の形態は、制御回路77により各部の動作が制御されるブロックIVと、制御回路78に各部の動作が制御されるブロックVとからなる。ブロックIVは、バッファ71、プリフィルタ/圧縮回路72、メモリ73及び伸張回路74から構成され、ブロックVは、符号化回路75及びメモリ73から構成される。
【0156】
バッファ71は、後述するように、プリフィルタ/圧縮回路72における処理に必要な数ライン分の画像データを記憶する。プリフィルタ/圧縮回路72は、バッファ71から読み込んだデータを後述するように圧縮符号化処理し、メモリ73に記憶する。伸張回路74は、プリフィルタ/圧縮回路72によって生成された、メモリ73内に記憶された圧縮符号化データをプリフィルタ/圧縮回路72とは逆の処理を施して元のデータに復元して、再度メモリ73に記憶する。
【0157】
符号化回路75は、伸張回路74で生成されたデータに対してメインの圧縮符号化処理を行い、得られた圧縮符号化データをバッファ43iに記憶した後、所定の伝送タイミングでビットストリームとして出力する。
【0158】
制御回路77は、圧縮符号化データをメモリ73に記憶し、メモリ73に記憶された圧縮符号化データを読み出して伸張回路74に供給し、伸張回路74により伸張して得られた元の画像データをメモリ73に記憶する制御動作を行う。制御回路78は、メモリ73に記憶された元の画像データとローカルデコード画像信号を読み出して符号化回路75に供給すると共に、符号化回路75の動作を制御し、符号化回路75により符号化データと共に得られた、加算器43gからのローカルデコード画像信号をメモリ73に記憶する制御動作を行う。
【0159】
以下、図14の各部について詳細に説明する。プリフィルタ/圧縮回路72では、例えば(4:2:2)から(4:2:0)への変換処理等が施された動画像データがバッファ71より供給され、その入力動画像データを後述するように圧縮符号化処理してメモリ73に記憶する。なお、プリフィルタ/圧縮回路72における圧縮符号化処理は、MPEG等の規定に従って行われるメインの圧縮符号化処理とは別のもので、プリフィルタ効果及びメモリ73の容量削減のために行う。
【0160】
符号化を開始するために必要な量の圧縮された画像データは、メモリ73に記憶される。伸張回路74は、メモリ73内の圧縮された画像データ、つまり、メインの圧縮符号化処理を行う画像データを後述するように元のデータに復元し、メモリ73に再び記憶する。なお、画像データを復元する際、前述したように、入力される各フレームの順序並べ替えが行われる。
【0161】
ここで、メモリ73には、図15に示すように、プリフィルタ/圧縮回路72により圧縮された、符号化に必要な量の画像データ73aと、伸張回路74により後述するように元のデータに復元された画像データ73bと、符号化回路75の動き検出/動き補償部43aで動き検出/動き補償を行うために必要となるローカルデコード画像(IピクチャまたはPピクチャ)73cとが記憶される。
【0162】
符号化回路75では、図27に示した従来装置の符号化回路43と同様に、動き検出/動き補償処理、DCT処理、量子化処理及び可変長符号化処理を施すことにより圧縮符号化を行う。その結果、生成された圧縮符号化データは、可変長符号化回路43hから出力されてバッファ43iに記憶され、更にバッファ43iから所定の伝送タイミングでビットストリームとして出力される。また、前述したように、逆量子化処理及び逆DCT処理などを施すことにより、ローカルデコード画像信号が加算器43gにおいて生成され、このローカルデコード画像信号はメモリ73に記憶される。
【0163】
次に、プリフィルタ/圧縮回路72の構成及び動作について詳細に説明する。図16はプリフィルタ/圧縮回路72の一例のブロック図を示す。同図に示すように、プリフィルタ/圧縮回路72は、DCT回路72a、量子化回路72b、可変長符号化回路72c及び量子化ステップ制御回路72dから構成されている。DCTとは前述したように、8×8画素のブロック単位で行われる演算で、各画素値を周波数成分に変換する。その演算結果は、図7に示したように周波数成分が水平方向と垂直方向で2通りの変化があり、ブロックの左から右へ、ブロックの上から下へそれぞれ周波数が高くなり、高周波数成分になるにつれて値はゼロ近傍の値が多くなる。
【0164】
以下、プリフィルタ/圧縮回路72の動作について具体的に説明する。DCT回路72aから出力されたDCT係数に対して、量子化回路72bでは量子化ステップ(Q)で除算を行うことでDCT係数の情報を削減する。前述したように、DCT係数は高周波数になるにつれて値が小さくなる傾向にあり、ゼロとなる係数も多くなる。従って、量子化されたDCT係数は、低周波数成分と比較して高周波数成分の方が大きく削減される結果となり、これはローパスフィルタリングと同様の効果といえる。
【0165】
なお、量子化ステップの値が固定であると情報量を必要以上に削減し過ぎる場合があり、その結果、画質劣化が生じる。従って、量子化ステップ制御回路72dにおいて、可変長符号化回路72cの符号量結果と目標符号量との比較を行うことで、量子化ステップ値をフィードバック制御しながら圧縮符号化処理を行っていく。
【0166】
例えば、図17に示すフローチャートのようなフィードバック制御を行う。以下、この制御動作について、詳細に説明する。まず、量子化ステップ制御回路72dの1フレーム目の目標符号量(以下、Sと記載する)の値を設定する(ステップS101)。なお、このSの値は、メモリ73のメモリ容量と伝送される画像に要求される画像品質等に応じて決定すればよい。
【0167】
続いて、ブロック(以下、Bと記載する)単位の符号量を累積加算する際に使用する変数(以下、Tと記載する)を0に初期化し(ステップS102)、可変長符号化回路72cの符号量結果を累積加算し(ステップS103)、その累積加算した符号量結果をMB単位でメモリ73に一時記憶する(ステップS104)。
【0168】
続いて、可変長符号化回路72cにおいて、1フレーム分の圧縮符号化が完了したか否か判断され(ステップS105)、1フレーム分の圧縮符号化が完了していないと判断された場合には、ステップS103に戻り、可変長符号化回路72cの符号量結果の累積加算を継続し、1フレーム分の圧縮符号化が完了したと判断された場合には、得られた1フレーム分の累積符号量Tをメモリ73に一時記憶する(ステップS106)。
【0169】
続いて、T>Sであるか否か比較を行い(ステップS107)、現フレームの累積符号量Tが目標符号量S以下である場合には、現フレームよりも次フレームの目標符号量Sを大きく設定して(ステップS109)、ステップS110へ移行する。他方、現フレームの累積符号量Tが目標符号量Sよりも大きかった場合には、現フレームよりも次フレームの目標符号量Sを小さく設定して(ステップS108)、ステップS110へ移行する。なお、この目標符号量Sの増減量は、差分絶対値|T−S|の大きさ以下の値とする。
【0170】
ステップS110では、差分絶対値|T−S|の大きさと、目標符号量Sをある係数(以下、αと記載する)で除算した値(S/α)とを比較する。ステップS110において、現フレーム符号量結果Tと目標符号量Sとの差分絶対値|T−S|の大きさが、目標符号量のある割合S/α以下であると判定された場合には、次フレームの量子化ステップを現フレームのQと同じ値に設定して(ステップS112)、ステップS115へ移行する。
【0171】
また、ステップS110において、現フレーム符号量結果Tと目標符号量Sとの差分絶対値|T−S|の大きさが、目標符号量のある割合S/αより大きいと判定された場合には、現フレームの累積符号量Tが目標符号量Sよりも大であるか否かの比較判定を行い(ステップS111)、T>Sであるときには、次フレームの量子化ステップを現フレームの量子化ステップQよりも大きく設定して(ステップS113)、ステップS115へ移行する。他方、ステップS111でT≦Sと判定されたときには、次フレームの量子化ステップを現フレームの量子化ステップQよりも小さく設定して、ステップS115へ移行する。
【0172】
なお、量子化ステップQの値の増減量は、差分絶対値|T−S|の大きさが目標符号量Sに対してどのくらいの割合(%)の値であるかによって決定する。つまり、差分絶対値|T−S|の大きさが目標符号量Sに対して大きな割合であればあるほど、量子化ステップQの値の増減量を大きくするというように、増減量に段階をつける。
【0173】
ステップS115では、T/(1フレーム内のMBの総数)、つまり、MB単位の符号量平均値(以下、Hと記載する)を演算する。続いて、記憶したMB単位の符号量と符号量平均値Hの差分をとり、その差分結果から各MB毎の複雑度にランクを設定する(ステップS116)。例えば、MB単位の符号量結果が{H+(H/2)}よりも大きいときには最も複雑度が高いランク4、{H+(H/2)}以下で、{H+(H/4)}よりも大きいときには2番目に複雑度が高いランク3、{H+(H/4)}以下で、{H−(H/4)}よりも大きいときには3番目に複雑度が高いランク2、{H−(H/4)}以下で、{H−(H/2)}よりも大きいときには2番目に複雑度が低いランク1、{H−(H/2)}以下のときには最も複雑度が低いランク0とする。なお、Hは符号量平均値である。ランク2の場合は、目標符号量を符号量平均値Hのまま使用する。この情報をメモリ73に記憶しておき、メインの符号化回路75の量子化ステップ制御回路75bで制御を行う際に使用する。
【0174】
この情報により、フレーム内のMBにおいて、ランクの高いMB、つまり、複雑度の高いMBには目標符号量を大きく設定でき、また、ランクの低いMB、つまり、複雑度の低いMBには目標符号量を小さく設定することができ、また、メインの圧縮符号化処理における量子化ステップのフィードバック制御をより効率良く行うことが可能となる。
【0175】
ステップS116の処理の後、1フレーム分の全MBの判定が完了されたか否か判定し(ステップS117)、1フレーム分の全MBの判定が完了していないと判定された場合には、ステップS116に戻り、MBの判定を継続し、1フレーム分の全MBの判定が完了したと判定された場合には、ステップS102に戻り、以後の処理を繰返す。
【0176】
このように、本実施の形態のプリフィルタ/圧縮回路72では、入力画像データに対して、符号化回路75によるメインの圧縮符号化処理とは別に、目標符号量及び量子化ステップを可変制御しながら圧縮符号化処理を施すことで、メインの圧縮符号化処理前に適正にローパスフィルタリングを施すことができ、かつ、圧縮符号化処理結果の情報をメインの圧縮符号化処理において使用することで、より効率良く処理を行うことが可能となる。また、入力画像データに圧縮符号化処理を施してメモリ73に記憶するため、メモリ73の容量削減効果も得られる。
【0177】
次に、図14の伸張回路74の構成及び動作について詳細に説明する。図18は伸張回路74の一例のブロック図を示す。同図に示すように、伸張回路74は、可変長復号化回路74a、逆量子化回路74b及び逆DCT回路74cから構成され、プリフィルタ/圧縮回路72とは逆の処理を行う。本実施の形態の場合には伸張回路74により伸張復元された画像データを一度メモリ73に記憶して、その伸張復元された画像データをメモリ73から読み出して符号化回路75に供給してメインの符号化処理を行う。
【0178】
なお、伸張回路74により元の画像データに伸張復元するデータ量は、一度に1フレーム分伸張復元したのではメモリ削減の効果が薄れるため、例えば、図9に示したように、2マクロブロックラインデータ(図中、マクロブロックをMBと表記する)を伸張できるメモリ領域を用意する。つまり、図9中の領域A及び領域Bにそれぞれに復元された1マクロブロックラインデータ(MB0〜MBn)が記憶される。メモリ73内の伸張データの書き込み及び読み出しは、図10と共に説明した方法と同様である。
【0179】
また、図14に示す第5の実施の形態の画像データ符号化装置は、2つの異なるCPUなどの制御回路77及び78により制御されたソフトウェア処理にて動作している。これらの制御動作は図11の第2の実施の形態の制御動作説明用フローチャートと同様であるので、その説明は省略する。
【0180】
本実施の形態も、2つの異なる制御回路77及び78の構成で割り込み処理を使うことにより、1画面分伸張することなく、符号化に必要な画像データを必要な量のみ伸張しながら符号化処理を行うことが可能となり、伸張データを記憶するメモリ容量としては2マクロブロックラインデータ分のみの容量で済む。また、2つの異なる制御回路77及び78の構成をとっているため、それぞれの制御回路77及び78において並列的に動作を行うことができ、装置全体の処理を効率化良く行うことが可能となる。
【0181】
なお、本発明は以上の実施の形態に限定されるものではなく、例えば、以下のような種々の変形例を包含するものである。
【0182】
(1)動画像の画面サイズ、画面分割数、画面分割方法、I、P,Bピクチャ画面符号化部の組み合わせ方法は、図1の実施の形態以外に種々のものがあり得る。例えば、画面分割数は4以外の複数でもよいし、画面分割方法も画面縦方向と画面横方向の組み合わせに限らず、縦方向のみの複数分割、横方向のみの複数分割などがある。
【0183】
(2)図1の画面符号化部52内の符号化部はIピクチャ用とPピクチャ用にそれぞれ1つずつの符号化部52a、52bが必要であるが、Bピクチャ用の符号化部の数は図1に限定されない。例えば、1GOPがI,B,B,B,P,B,B,B,P,・・・というように、IピクチャとPピクチャの間、またはPピクチャとPピクチャの間にBピクチャが3つあるような構成の場合は、分割画像符号化部内のBピクチャ用の符号化部は3つ設けられる。
【0184】
(3)メモリ削減のための圧縮処理の効果において、量子化ステップが固定値の場合で説明したが、量子化ステップは前述したようにブロック内の周波数成分に応じて異なる値にしてもよいし、ブロック単位またはフレーム画像単位で符号量制御することにより決定してもよい。つまり、メモリ容量と伝送される画像に要求される画像品質等に応じて条件を決定すればよい。
【0185】
(4)メモリ削減のための圧縮処理として、DCT/量子化/可変長符号化を挙げたが、伝送される画像に要求される画像品質等を考慮して有効な方法であれば、他の方式でもよい。
【0186】
(5)適用される画像データ符号化装置は、MPEG4に限ったものでなく、それ以外の方式、つまり、MPEG1,MPEG2等の動画やJPEG、JPEG2000等の静止画でもよい。但し、JPEG、JPEG2000等、静止画転送装置への適用の場合には、動き検出/動き補償処理及びローカルデコード画像を生成する必要がないため、図14のブロック構成において、動き検出/動き補償回路43a、減算器43b、逆量子化回路43e、逆DCT回路43f及び加算器43gが不要となる。
【0187】
(6)図14の実施の形態では、プリフィルタ/圧縮回路72においてフレーム単位での量子化ステップ制御を行ったが、所定のブロック単位で行ってもよく、また、DC成分よりも高周波成分の量子化ステップを大きくするというように同じブロック内で量子化ステップに重み付けを持たせてもよい。
【0188】
(7)図14の実施の形態では、プリフィルタ/圧縮回路72において,DCT/量子化/可変長符号化を行うように説明したが、メインの符号化方法(MPEG1,MPEG2,MPEG4、JPEG、JPEG2000等)や伝送される画像に要求される画像品質等を考慮して有効な方法であれば、他の方式でもよい。
【0189】
【発明の効果】
以上説明したように、本発明によれば、複数の分割画像信号に対し、符号化モードの種別毎に並列に符号化を行うと共に、複数の分割画像信号に対して分割画面毎に符号化を時分割で行って複数の符号化データを得ることにより、互いに独立して符号化する複数の分割画像符号化回路の構成に比べて、ハードウェア量の削減ができるため、消費電力低減を実現しながら、複数の分割画像信号の符号化データを統合することにより、大画面構成の動画像データの符号化を行うことができる。
【0190】
また、本発明によれば、符号化回路によるメインの符号化処理とは別に、入力画像データに対して圧縮回路により圧縮効果の高い圧縮符号化処理を施して得た圧縮画像データを記憶手段に一旦記憶した後、その圧縮画像データを伸張回路により伸張処理して圧縮符号化時の並べ替えを行って得た元の画像データに対して符号化回路により符号化するようにしたため、圧縮符号化時の並べ替えのために必要なメモリ容量を削減でき、これにより、記憶手段や符号化回路等を搭載した基板の縮小化と消費電力の低減を実現でき、コストを低減することができる。
【0191】
更に、本発明によれば、2つの異なる制御回路の構成で割り込み処理を使うことにより、1画面分伸張することなく、符号化に必要な画像データを必要な量のみ伸張しながら符号化処理を行うことが可能となり、伸張回路からの元の画像データを記憶する記憶手段の容量としては、符号化に必要最小限の容量で済ませることができる。
【0192】
また、本発明によれば、2つの制御回路において並行してメインの圧縮符号化処理とは別に、入力画像データに対してメインの符号化回路で圧縮符号化処理を施すことで、メインの圧縮符号化処理を行う前の画像に対して所定のフィルタリングを施すことができ、かつ、圧縮符号化処理結果の情報をメインの圧縮符号化処理に使用することで、メインの圧縮符号化処理をより効率良く行うことができると共に、基板の縮小化、消費電力低減を実現し、コストの低減を図ることができる。
【図面の簡単な説明】
【図1】本発明装置の第1の実施の形態のブロック図である。
【図2】図1の動作説明図である。
【図3】本発明装置の第2の実施の形態のブロック図である。
【図4】図3中のメモリにおける画像データ受け渡しの流れを示す図である。
【図5】図3中の圧縮回路の一例のブロック図である。
【図6】符号化回路における差分結果対出現頻度特性図である。
【図7】DCTの演算結果説明図である。
【図8】図3中の伸張回路の一例のブロック図である。
【図9】図3中のメモリのメモリ容量を説明する図である。
【図10】図3中のメモリ内の伸張データの書き込み及び読み出しの説明図である。
【図11】本発明の第2の実施の形態における制御回路の制御動作説明用フローチャートである。
【図12】本発明の第3の実施の形態における制御回路の制御動作説明用フローチャートである。
【図13】本発明装置の第4の実施の形態のブロック図である
【図14】本発明装置の第5の実施の形態のブロック図である。
【図15】図14中のメモリ内の伸張データの書き込み及び読み出しの説明図である。
【図16】図14中のプリフィルタ/圧縮回路の一例のブロック図である。
【図17】図16のプリフィルタ/圧縮回路におけるフィードバック制御説明用フローチャートである。
【図18】図14中の伸張回路の一例のブロック図である。
【図19】従来の画像データ符号化装置の第1の例のブロック図である。
【図20】図19の画面分割部による画面分割動作説明図である。
【図21】図19の動作説明図である。
【図22】図19の分割画像符号化部の動作説明図である。
【図23】図19の統合ストリーム生成部で4つのストリームデータを統合する方法の説明図である。
【図24】従来の画像データ符号化装置の第2の例のブロック図である。
【図25】図24中の圧縮回路の一例のブロック図である。
【図26】図24中の伸張回路の一例のブロック図である。
【図27】従来の画像データ符号化装置の第3の例のブロック図である。
【図28】図27中の可変プリフィルタによるフィルタリングを説明する図である。
【図29】図27中のフィルタ制御部の一例のブロック図である。
【図30】図29中のパラメータ決定部が求める共通解(k、Q)を示す図である。
【図31】図29で用いる動き量パラメータを測定する測定部の一例のブロック図である。
【符号の説明】
1 動画像データ入力端子
2 画面分割部
4 統合ストリーム生成部
5 符号化データ出力端子
14、67、75 符号化回路
15、61、71 バッファ
51 画像メモリ
52 分割画像符号化部
52a 分割画像Iピクチャ符号化部
52b 分割画像Pピクチャ符号化部
52c、52d 分割画像Bピクチャ符号化部
53 制御部
62 圧縮回路
62a、67a DCT/量子化回路
62b、64a、67b、72c、74a 可変長符号化回路
63、73 メモリ
64、74 伸張回路
64b 逆量子化/逆DCT回路
65、66、68、77、78 制御回路
72 プリフィルタ/圧縮回路
72a DCT回路
72b、75a 量子化回路
72d、75b 量子化ステップ制御回路
74b 逆量子化回路
74c 逆DCT回路
Claims (3)
- 供給される入力動画像信号により構成される一画面を複数の画面に分割して、該複数の分割画面に対応した複数の分割画像信号を出力する分割手段と、
前記複数の分割画像信号を記憶する記憶手段と、
前記記憶手段から供給される前記複数の分割画像信号に対し、符号化モードの種別毎に並列に符号化を行うと共に、前記複数の分割画像信号に対して分割画面毎に符号化を時分割で行って得た複数の符号化データを前記記憶手段に記憶する分割画像符号化手段と、
前記記憶手段より出力された前記複数の符号化データを、1つの画像データに統合する統合手段と、
前記記憶手段、前記分割画像符号化手段及び前記統合手段を制御する制御手段と
を有することを特徴とする画像データ符号化装置。 - 画像データを圧縮符号化処理して圧縮画像データを出力する圧縮回路と、
少なくとも前記圧縮回路から出力された前記圧縮画像データを所定の容量分記憶する記憶手段と、
前記記憶手段から読み出された前記圧縮画像データに対して、前記圧縮回路とは逆の処理を施して圧縮される前の元の画像データに伸張処理して前記記憶手段に記憶する伸張回路と、
前記記憶手段から読み出された前記伸張回路によって伸張された画像データ及び動き補償を行うために前記伸張された画像データを用いて生成したローカルデコード画像信号に基づいて、該伸張された画像データを符号化する符号化回路と、
前記圧縮画像データを前記記憶手段に記憶し、前記記憶手段に記憶された前記圧縮画像データを読み出して前記伸張回路に供給し、該伸張回路により伸張して得られた前記元の画像データを前記記憶手段に記憶する第1の制御回路と、
前記記憶手段に記憶された前記元の画像データと前記ローカルデコード画像信号を読み出して前記符号化回路に供給すると共に、該符号化回路の動作を制御し、該符号化回路により符号化データと共に得られた前記ローカルデコード画像信号を前記記憶手段に記憶する第2の制御回路と
を有することを特徴とする画像データ符号化装置。 - 画像データを圧縮符号化処理すると共に、所定のフィルタリングを施した圧縮画像データを出力するプリフィルタ/圧縮回路と、
少なくとも前記プリフィルタ/圧縮回路から出力された前記圧縮画像データを所定の容量分記憶する記憶手段と、
前記記憶手段から読み出された前記圧縮画像データに対して、前記プリフィルタ/圧縮回路とは逆の処理を施して圧縮される前の元の画像データに伸張処理して前記記憶手段に記憶する伸張回路と、
前記記憶手段から読み出された前記伸張回路によって伸張された画像データ及び動き補償を行うために前記伸張された画像データを用いて生成したローカルデコード画像信号に基づいて、該伸張された画像データを符号化する符号化回路と、
前記圧縮画像データを前記記憶手段に記憶し、前記記憶手段に記憶された前記圧縮画像データを読み出して前記伸張回路に供給し、該伸張回路により伸張して得られた前記元の画像データを前記記憶手段に記憶する第1の制御回路と、
前記記憶手段に記憶された前記元の画像データと前記ローカルデコード画像信号を読み出して前記符号化回路に供給すると共に、該符号化回路の動作を制御し、該符号化回路により符号化データと共に得られた前記ローカルデコード画像信号を前記記憶手段に記憶する第2の制御回路と
を有することを特徴とする画像データ符号化装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003150863A JP2004356857A (ja) | 2003-05-28 | 2003-05-28 | 画像データ符号化装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003150863A JP2004356857A (ja) | 2003-05-28 | 2003-05-28 | 画像データ符号化装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004356857A true JP2004356857A (ja) | 2004-12-16 |
Family
ID=34046547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003150863A Pending JP2004356857A (ja) | 2003-05-28 | 2003-05-28 | 画像データ符号化装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004356857A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010058510A1 (ja) * | 2008-11-18 | 2010-05-27 | パナソニック株式会社 | 撮像装置とその画像圧縮率制御方法 |
EP2216994A2 (en) | 2009-02-05 | 2010-08-11 | Sony Corporation | System and method for image processing |
JP2016129304A (ja) * | 2015-01-09 | 2016-07-14 | 株式会社東芝 | 映像伝送システム |
JP2019068386A (ja) * | 2017-10-05 | 2019-04-25 | キヤノン株式会社 | 符号化装置、その制御方法、および制御プログラム、並びに撮像装置 |
-
2003
- 2003-05-28 JP JP2003150863A patent/JP2004356857A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010058510A1 (ja) * | 2008-11-18 | 2010-05-27 | パナソニック株式会社 | 撮像装置とその画像圧縮率制御方法 |
EP2216994A2 (en) | 2009-02-05 | 2010-08-11 | Sony Corporation | System and method for image processing |
US8340506B2 (en) | 2009-02-05 | 2012-12-25 | Sony Corporation | System and method for signal processing |
JP2016129304A (ja) * | 2015-01-09 | 2016-07-14 | 株式会社東芝 | 映像伝送システム |
US10666982B2 (en) | 2015-01-09 | 2020-05-26 | Kabushiki Kaisha Toshiba | Video transmission system, coding apparatus, and moving picture compression method |
JP2019068386A (ja) * | 2017-10-05 | 2019-04-25 | キヤノン株式会社 | 符号化装置、その制御方法、および制御プログラム、並びに撮像装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3662171B2 (ja) | 符号化装置及び符号化方法 | |
US20020122491A1 (en) | Video decoder architecture and method for using same | |
JP3555729B2 (ja) | 可変長符号化データの処理方法及び装置 | |
EP1143737A2 (en) | Image encoding apparatus and method, video camera, image recording apparatus, and image transmission apparatus | |
JPH0998429A (ja) | ディジタル映像信号符号化装置および復号化装置 | |
JP3651941B2 (ja) | 画像再生装置 | |
RU2305377C2 (ru) | Способ уменьшения искажения сжатого видеоизображения и устройство для его реализации | |
JPH11146367A (ja) | モバイルビデオフォン | |
JP2003348597A (ja) | 画像符号化装置および画像符号化方法 | |
JP3332580B2 (ja) | 画像再生装置及び画像再生方式 | |
US6040875A (en) | Method to compensate for a fade in a digital video input sequence | |
JP2004356857A (ja) | 画像データ符号化装置 | |
JP3643777B2 (ja) | 動画像復号装置および動画像復号方法 | |
US20060133490A1 (en) | Apparatus and method of encoding moving picture | |
US8326060B2 (en) | Video decoding method and video decoder based on motion-vector data and transform coefficients data | |
JP3990011B2 (ja) | 復号画像変換回路および復号画像変換装置 | |
JPH07131793A (ja) | 映像信号高能率符号化装置 | |
JP2008289105A (ja) | 画像処理装置およびそれを搭載した撮像装置 | |
JP2005020294A (ja) | ブロック歪低減装置 | |
JP3489581B2 (ja) | 画像符号化装置及び符号化方法 | |
JP2002354484A (ja) | 符号化画像のレート変換方法、及び符号化画像レート変換装置 | |
JPH10164594A (ja) | 動画像の圧縮符号化方法およびその装置 | |
JP4238408B2 (ja) | 画像圧縮装置 | |
KR100221196B1 (ko) | 영상신호의 압축 및 복원을 위한 가변 길이부호화기 | |
JPH0898177A (ja) | 画像符号化装置 |