JP2009260661A - 画像処理装置、画像処理方法 - Google Patents
画像処理装置、画像処理方法 Download PDFInfo
- Publication number
- JP2009260661A JP2009260661A JP2008107236A JP2008107236A JP2009260661A JP 2009260661 A JP2009260661 A JP 2009260661A JP 2008107236 A JP2008107236 A JP 2008107236A JP 2008107236 A JP2008107236 A JP 2008107236A JP 2009260661 A JP2009260661 A JP 2009260661A
- Authority
- JP
- Japan
- Prior art keywords
- block
- image
- frame
- filter
- data
- 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.)
- Withdrawn
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】 符号化された動画像データの各フレームを再生する場合に、フレーム間の画質の差を極力減少させるための技術を提供すること。
【解決手段】 フィルタ101は、着目フレームに第1のフィルタ処理を行う。加算器103は、第1のフィルタ処理された着目フレーム中の着目ブロックについて予測誤差を求め、フィルタ108は、第2のフィルタ処理を行う。DCT109、量子化器110、エントロピー符号化器111は、着目ブロックに対して動き補償に基づく符号化を行う。ブロック歪み測定器102は、類似ブロックと第2のフィルタ処理された予測誤差とを加算することで生成した復号ブロックと、着目ブロックとの差をブロック歪みデータとして求める。フィルタ特性指定部115,117はそれぞれ、複数フレーム数分のブロック歪みデータに基づいて、第1のフィルタ処理、第2のフィルタ処理、を制御する。
【選択図】 図1
【解決手段】 フィルタ101は、着目フレームに第1のフィルタ処理を行う。加算器103は、第1のフィルタ処理された着目フレーム中の着目ブロックについて予測誤差を求め、フィルタ108は、第2のフィルタ処理を行う。DCT109、量子化器110、エントロピー符号化器111は、着目ブロックに対して動き補償に基づく符号化を行う。ブロック歪み測定器102は、類似ブロックと第2のフィルタ処理された予測誤差とを加算することで生成した復号ブロックと、着目ブロックとの差をブロック歪みデータとして求める。フィルタ特性指定部115,117はそれぞれ、複数フレーム数分のブロック歪みデータに基づいて、第1のフィルタ処理、第2のフィルタ処理、を制御する。
【選択図】 図1
Description
本発明は、画像符号化技術に関するものである。
動画像データを符号化する場合、動画像データを所定数の画素から成るブロック単位に分割し、ブロック単位に直交変換を施すことで空間周波数成分に変換し、空間周波数成分に量子化処理を施した後、エントロピー符号化を施す技術が広く使われている。このような符号化技術の代表的な方式の一つに、MPEG(Moving Picuture Experts Group)方式がある。
MPEG方式は、符号化ストリームの復号化過程を定めたものであり、符号化処理にはある程度の自由度が残されている。規格の範囲内で、符号化パラメータや符号化アルゴリズムを変えて目的の画質、符号量を実現する。画質、符号量を決定する為のアルゴリズムの重要な技術の一つとして、符号量制御が挙げられる。
符号量制御方式の一つとしては、MPEG−2符号化方式の標準化の過程において提案されたTM5(Test Model 5)がよく知られている(非特許文献1)。TM5では、符号化対象ピクチャに含まれるGOP(Group of Picure)内の未符号化ピクチャに注目し、それらのピクチャに割り当てられ得る符号量をピクチャタイプごとに求める。そして、符号化対象ピクチャのピクチャタイプに応じて符号量を配分する。
しかし、このような符号量制御方式を用いて動画像データを符号化する場合、次のような問題が生じる。即ち、符号化難易度の高い動画像データを、より少ない符号量で符号化する(高い圧縮率で符号化する)と、量子化処理に起因する誤差が、隣接するブロック間においてブロック歪みとして視覚的に目立つようになる。このブロック歪みと呼ばれる視覚的画質劣化は、出力される符号化ストリームの画質低下の原因となっている。
そこで、符号化装置に入力される動画像データと予測誤差とに対してそれぞれフィルタ処理を施すことにより、入力される動画像データの空間周波数の帯域を制限し、符号量を制御する技術が開示されている(特許文献1、特許文献2)。
上記開示されている従来技術を利用することにより、符号化難易度の高い動画像データを高い圧縮率で符号化した場合に発生するブロック歪みを減少させ、画質の低下を防ぐことができると言われている。しかし、上記従来技術では、フィルタをどのような単位で制御するかについては具体的には言及されていない。
そこで仮に、従来技術を利用して符号化処理を行うとすると、入力される動画像データに対するフィルタの特性、予測誤差に対するフィルタの特性、の制御単位をピクチャとする符号量制御方法が考えられる。
しかし上記従来技術を利用した符号化処理では、入力された動画像データ、予測誤差に対して、フィルタ処理を施す単位が共に同じ単位であるピクチャ単位とすると、図2に示すように、符号化ストリームの画質がピクチャ間においてばらつくと推察される。図2は、各ピクチャの画質を示す図である。図2において、横軸は各ピクチャに固有の番号(ピクチャNo.)を表し、縦軸は画質を表す。
例えば、図2に示す如く、連続するピクチャN、ピクチャ(N−1)において画質に大きな差が生じている。
特登録2549013号公報
特公平7−121120号公報
ISO/IEC−JTC1/SC29/WG11,"Test Model 5(Draft),"MPEG93/N0400、1993.
このように上記従来技術によって、個々のピクチャの画質は改善されるが、ピクチャ間での画質が大きく異なる為、動画像データとしての画質は改善されない。従って、動画像データとしての画質を改善するためには、連続するピクチャ間における画質の差を少なくする処理が必要である。
本発明は以上の問題に鑑みて成されたものであり、符号化された動画像データの各フレームを再生する場合に、フレーム間の画質の差を極力減少させるための技術を提供することを目的とする。
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。
即ち、動画像データに対して動き補償に基づく符号化を行う画像処理装置であって、
着目フレームの画像に対してフィルタ処理を行う第1のフィルタ処理手段と、
前記第1のフィルタ処理手段によってフィルタ処理された前記着目フレームの画像中の着目ブロックについて、前記着目フレームよりも前のフレームの画像中における類似ブロックを特定し、特定した類似ブロックと前記着目ブロックとの差を予測誤差として求める手段と、
前記予測誤差に対してフィルタ処理を行う第2のフィルタ処理手段と、
前記着目ブロックに対して、動き補償に基づく符号化を行う符号化手段と、
前記類似ブロックと、前記第2のフィルタ処理手段によってフィルタ処理された前記予測誤差と、を加算することで、復号ブロックを生成し、生成した復号ブロックと前記着目ブロックとの差をブロック歪みデータとして求める計算手段と、
前記着目フレームの画像を構成する各ブロックについて前記計算手段が求めたブロック歪みデータを、メモリに格納する手段と、
前記メモリに格納された複数フレーム数分のブロック歪みデータに基づいて、前記第1のフィルタ処理手段の動作、前記第2のフィルタ処理手段の動作、を制御する制御手段と
を備えることを特徴とする。
着目フレームの画像に対してフィルタ処理を行う第1のフィルタ処理手段と、
前記第1のフィルタ処理手段によってフィルタ処理された前記着目フレームの画像中の着目ブロックについて、前記着目フレームよりも前のフレームの画像中における類似ブロックを特定し、特定した類似ブロックと前記着目ブロックとの差を予測誤差として求める手段と、
前記予測誤差に対してフィルタ処理を行う第2のフィルタ処理手段と、
前記着目ブロックに対して、動き補償に基づく符号化を行う符号化手段と、
前記類似ブロックと、前記第2のフィルタ処理手段によってフィルタ処理された前記予測誤差と、を加算することで、復号ブロックを生成し、生成した復号ブロックと前記着目ブロックとの差をブロック歪みデータとして求める計算手段と、
前記着目フレームの画像を構成する各ブロックについて前記計算手段が求めたブロック歪みデータを、メモリに格納する手段と、
前記メモリに格納された複数フレーム数分のブロック歪みデータに基づいて、前記第1のフィルタ処理手段の動作、前記第2のフィルタ処理手段の動作、を制御する制御手段と
を備えることを特徴とする。
本発明の目的を達成するために、例えば、本発明の画像処理方法は以下の構成を備える。
即ち、動画像データに対して動き補償に基づく符号化を行う画像処理装置が行う画像処理方法であって、
着目フレームの画像に対してフィルタ処理を行う第1のフィルタ処理工程と、
前記第1のフィルタ処理工程でフィルタ処理された前記着目フレームの画像中の着目ブロックについて、前記着目フレームよりも前のフレームの画像中における類似ブロックを特定し、特定した類似ブロックと前記着目ブロックとの差を予測誤差として求める工程と、
前記予測誤差に対してフィルタ処理を行う第2のフィルタ処理工程と、
前記着目ブロックに対して、動き補償に基づく符号化を行う符号化工程と、
前記類似ブロックと、前記第2のフィルタ処理工程でフィルタ処理された前記予測誤差と、を加算することで、復号ブロックを生成し、生成した復号ブロックと前記着目ブロックとの差をブロック歪みデータとして求める計算工程と、
前記着目フレームの画像を構成する各ブロックについて前記計算工程で求めたブロック歪みデータを、メモリに格納する工程と、
前記メモリに格納された複数フレーム数分のブロック歪みデータに基づいて、前記第1のフィルタ処理工程、前記第2のフィルタ処理工程、を制御する制御工程と
を備えることを特徴とする。
着目フレームの画像に対してフィルタ処理を行う第1のフィルタ処理工程と、
前記第1のフィルタ処理工程でフィルタ処理された前記着目フレームの画像中の着目ブロックについて、前記着目フレームよりも前のフレームの画像中における類似ブロックを特定し、特定した類似ブロックと前記着目ブロックとの差を予測誤差として求める工程と、
前記予測誤差に対してフィルタ処理を行う第2のフィルタ処理工程と、
前記着目ブロックに対して、動き補償に基づく符号化を行う符号化工程と、
前記類似ブロックと、前記第2のフィルタ処理工程でフィルタ処理された前記予測誤差と、を加算することで、復号ブロックを生成し、生成した復号ブロックと前記着目ブロックとの差をブロック歪みデータとして求める計算工程と、
前記着目フレームの画像を構成する各ブロックについて前記計算工程で求めたブロック歪みデータを、メモリに格納する工程と、
前記メモリに格納された複数フレーム数分のブロック歪みデータに基づいて、前記第1のフィルタ処理工程、前記第2のフィルタ処理工程、を制御する制御工程と
を備えることを特徴とする。
本発明の構成によれば、符号化された動画像データの各フレームを再生する場合に、フレーム間の画質の差を極力減少させることができる。
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載の構成の具体的な実施例の1つである。
[第1の実施形態]
図1は、本実施形態に係る画像処理装置のハードウェア構成例を示すブロック図である。本実施形態に係る画像処理装置は、入力された動画像データに対して動き補償に基づく符号化処理を行う。
図1は、本実施形態に係る画像処理装置のハードウェア構成例を示すブロック図である。本実施形態に係る画像処理装置は、入力された動画像データに対して動き補償に基づく符号化処理を行う。
本実施形態に係る画像処理装置には、符号化対象である動画像データがフレーム単位で入力される。以下の説明では、着目フレームの画像データが画像処理装置に入力された場合における、係る画像処理装置の動作について説明する。即ち、画像処理装置は、以下説明する処理を、入力された各フレームの画像データに対して行うことになる。
フィルタ101には、着目フレームの画像データが入力画像として入力される。そしてフィルタ101は、この入力された着目フレームの画像データに対して、フィルタ特性指定部115により指定されたフィルタ特性に従ったフィルタ処理を行う(第1のフィルタ処理)。係るフィルタ処理は、着目フレームの画像データを空間周波数データとして捉えた場合に、その帯域を制限する目的で行うものである。帯域を制限することによって、画像の持つ情報量自体を抑えることができる。フィルタ処理の種類としては、帯域を制限できるものであればどのような処理でも構わないが、着目フレームの画像データにおける視覚的画質劣化を目立たなくするものが好ましい。従って、ローパス・フィルタや、メディアン・フィルタを用いたフィルタ処理が考えられる。また、フィルタ特性指定部115により指定されるフィルタ特性には、例えばフィルタのタップ数や、タップそれぞれに与える係数値、水平フィルタ、垂直フィルタ、二次元フィルタ等、フィルタの構造を示すパラメータ等が挙げられる。
そしてフィルタ101は、フィルタ処理済みの着目フレームの画像データを、ブロック(マクロブロック)毎に出力する。ここで、ブロックとは、1つの画像を複数の矩形領域に分割した場合に、1つの矩形領域を指し示すものである。フィルタ101から出力されたブロック毎のデータは、ブロック歪み測定器102、減算器103、動き検出器104に出力される。
以下では、フィルタ101から(着目フレームの画像中の)着目ブロックのデータが出力された場合における、画像処理装置の動作について説明する。即ち、画像処理装置は、以下説明する処理を、着目フレームの画像データを構成する各ブロックのデータに対して行うことになる。
動き検出器104は、フレームメモリ105に格納されている、着目フレームよりも前のフレームに対応する画像データを読み出し、読み出した画像データにおいて、着目ブロックと類似する(相関が高い)ブロック(類似ブロック)のデータを特定する。そして特定した類似ブロックの位置を動きベクトルデータとして、後段のエントロピー符号化器111に送出する。また、特定した類似ブロックのデータを、後段の動き補償器106に送出する。
動き補償器106は、動き検出器104から受けた類似ブロックのデータを、減算器103と加算器107とに対して送出する。
減算器103は、フィルタ101から出力された着目ブロックのデータと、動き補償器106から受けた類似ブロックのデータと、の差分画像データを、予測誤差のデータとして求める。係る予測誤差の計算については周知の通り、それぞれのブロック内で位置的に対応する画素同士の画素値の差分を計算することで、それぞれのブロックの差分画像を求めることに相当する。そして減算器103は、求めた予測誤差のデータを、後段のフィルタ108に対して送出する。
なお、イントラ符号化を行う旨の指示が画像処理装置に対して入力された場合には、減算器103は、フィルタ101から受けた着目ブロックのデータをそのまま後段のフィルタ108に対して送出する。
何れにせよ、フィルタ108には、ブロックサイズの画像データが入力されることになる。もちろん、このブロックサイズの画像データとは、予測誤差のデータ、若しくは着目ブロックのデータの何れかである。
フィルタ108は、減算器103から受けたブロックサイズの画像データに対して、フィルタ特性指定部117により指定されたフィルタ特性に従ったフィルタ処理を行う(第2のフィルタ処理)。フィルタ108において用いるフィルタの種類、フィルタ特性の内容は、フィルタ101と同様に考える。
図4は、各フレームの画像に対してフィルタ101において用いるフィルタ係数と、フィルタ108において用いるフィルタ係数と、を示す図である。
そしてフィルタ108は、フィルタ処理済みの画像データを、後段のDCT109に送出する。
DCT109は、フィルタ108から受けた画像データに対して、8画素×8ラインのサイズのブロックを単位としてDCT(離散コサイン変換)変換を行う。これにより、DCT109は、DCT係数を出力する。
量子化器110は、DCT109から送出されたDCT係数を、量子化パラメータ指定部118により指定された量子化パラメータを用いて量子化する。フィルタ101、フィルタ108によって、フィルタ101に入力された着目フレームの画像データの情報量は低減されているので、量子化パラメータ(量子化ステップ)はその分小さく設定できることになり、ブロック歪み量を低減することができる。
そして量子化器110は、量子化後のデータ(量子化データ)を、エントロピー符号化器111に送出すると共に、逆量子化器112にも送出する。
エントロピー符号化器111は、イントラ符号化を行う場合、量子化器110から受けた量子化データにおける直流成分(DC係数)について他のブロックのDC係数との差分(差分DC成分)を計算する。また、エントロピー符号化器111は、交流成分(AC成分)についてはゼロ・ランレングス符号化を行う。さらにDC係数については、差分DC係数に対してその差分値の大きさに基づいてカテゴライズされ、割り当てられたカテゴリ内で値を特定するための付加ビットが求められる。このカテゴリに対して可変長符号化(VLC:Variable Length Code)が割り当てられ、割り当てられたコード+付加ビットというデータ構造で出力される。また、AC係数については、係数を低周波成分の係数から高周波成分の係数の順番になるように並び替え、先行するゼロ係数の個数(Run)と、比ゼロ係数の値(Level)とをまとめて二次元可変長符号化する。
なお、このような符号化は、イントラ符号化技術として周知であるため、これ以上の説明は省略する。
一方、エントロピー符号化器111は、インター符号化を行う場合、DC係数も含めてAC係数の扱いをし、符号化する。なお、このような符号化は、インター符号化技術として周知であるため、これ以上の説明は省略する。
エントロピー符号化器111による符号化結果としての、符号化ストリーム(符号化データ)は、画像処理装置が有する内部メモリや、画像処理装置の外部に対して送出すると共に、量子化パラメータ指定部118に対しても送出する。
一方、逆量子化器112は、量子化器110が行う変換処理の逆変換処理、即ち、逆量子化処理を行う。もちろん、係る逆量子化処理において用いる量子化パラメータは、量子化器110が用いたものと同じである。従って、逆量子化器112は、量子化器110から出力された量子化データに対して逆量子化処理を行うことで、DCT係数を復元する。そして復元したDCT係数を、後段のIDCT113に送出する。
IDCT113は、DCT109が行う変換処理の逆変換処理、即ち、逆DCT変換処理を行う。従って、IDCT113は、逆量子化器112から出力されたDCT係数に対して逆DCT変換処理を行うことで、フィルタ108から出力されたブロックサイズの画像データを復元する。そして、復元したブロックサイズの画像データを、後段の加算器107に送出する。
加算器107は、イントラ符号化を行った場合には、IDCT113から受けた画像データを復号ブロックのデータとしてフレームメモリ105に格納する。一方、インター符号化を行った場合、加算器107は、動き補償器106から受けた類似ブロックのデータと、IDCT113から受けたブロックサイズの画像データ(フィルタ108によってフィルタ処理がなされた予測誤差のデータ)と、を加算する。そして加算器107は、係る加算により得られる(生成される)結果を復号ブロックのデータとして、フレームメモリ105に格納する。
ブロック歪み測定器102は、フレームメモリ105から、着目ブロックのデータに基づいて得られた復号ブロックのデータを読み出し、読み出した復号ブロックのデータと、フィルタ101から受けた着目ブロックのデータと、の差分ブロックデータを求める。係る差分ブロックデータが、「着目ブロックのデータに対するブロック歪みデータ」である。差分ブロックデータを求める方法は周知の通り、ブロック間で位置的に対応する画素同士の画素値の差分を計算することである。ブロック歪み測定器102は、このようにして、1つのブロックについてのブロック歪みデータを求める処理を、着目フレームの画像データを構成する各ブロックについて行う。
そしてブロック歪み測定器102は、ブロック歪みデータを求めると、求めたブロック歪みデータを、シーン目標符号量算出部114、ピクチャ目標符号量算出部116に出力する。
シーン目標符号量算出部114は、ブロック歪み測定器102から送出されたブロック歪みデータをフレーム単位で、自身が管理するメモリ内に記憶保持する。そして、所定フレーム数分(複数フレーム数分)のブロック歪みデータがメモリ内に蓄積されると、この蓄積されている「所定フレーム数分のブロック歪みデータ」を用いて、着目フレームの次のフレームを符号化する際の目標符号量を求める。なお、係る処理は、着目フレームの次のフレームを符号化する際の目標符号量を求める処理に限定するものではなく、着目フレームより2フレーム以上後のフレームを符号化する際の目標符号量を求めるようにしても良い。
シーン目標符号量算出部114が行う具体的な処理の一例としては、例えば、次のようなものが考えられる。
先ず、蓄積している1フレーム内のそれぞれのブロック歪みデータを積算した積算ブロック歪みデータを求める処理を、所定フレーム数分について行う。そして、所定フレーム数分のそれぞれのフレームに対応する積算ブロック歪みデータを更に積算した第2積算ブロック歪みデータを求める。そして、求めた第2積算ブロック歪みデータが、予め定めた第1閾値以上となった場合、即ち、ブロック歪み量が大きくなってきて視覚的に目立つ範囲に入ってきた場合には、目標符号量を小さく設定する。反対に、第2積算ブロック歪みデータが、予め定めた第2閾値(第1閾値>第2閾値)以下になった場合、目標符号量を大きく設定する。
シーン目標符号量算出部114が行う具体的な処理の他の例としては、例えば先ず、蓄積している1フレーム内のそれぞれのブロック歪みデータを平均した平均ブロック歪みデータを求める処理を、所定フレーム数分について行う。そして、所定フレーム数分のそれぞれのフレームに対応する平均ブロック歪みデータを更に平均した第2平均ブロック歪みデータを求める。そして、求めた第2平均ブロック歪みデータが、予め定めた閾値以上となった場合、即ち、ブロック歪み量が大きくなってきて視覚的に目立つ範囲に入ってきた場合には、目標符号量を小さく設定する。
そしてシーン目標符号量算出部114は、求めた目標符号量のデータをフィルタ特性指定部115に対して送出する。
フィルタ特性指定部115は、シーン目標符号量算出部114から受けた目標符号量のデータに基づいて、フィルタ101で用いるフィルタ特性を決定し、決定したフィルタ特性をフィルタ101に指定する。即ち、決定したフィルタ特性に従ってフィルタ101が動作するように、フィルタ101の動作制御を行う。なお、目標符号量に基づいてフィルタ特性を決定するための処理については、例えば、次のようなものが考えられる。
例えば、フィルタ101がローパスフィルタとすると、目標符号量が予め定めた閾値以下となった場合、フィルタ特性としてタップ数を増やし、フィルタ101で強いローパスフィルタが掛かるように指定する。
ピクチャ目標符号量算出部116は、ブロック歪み測定器102から送出されたブロック歪みデータをフレーム単位で、自身が管理するメモリ内に記憶保持する。そして、所定フレーム数分のブロック歪みデータがメモリ内に蓄積されると、この蓄積されている「所定フレーム数分のブロック歪みデータ」を用いて、着目フレームの次のフレームを符号化する際の目標符号量を求める。
ピクチャ目標符号量算出部116が行う処理動作については、シーン目標符号量算出部114と同じであるため、係る処理動作についての説明は省略する。
そしてピクチャ目標符号量算出部116は、求めた目標符号量のデータをフィルタ特性指定部117と量子化パラメータ指定部118とに対して送出する。
フィルタ特性指定部117は、ピクチャ目標符号量算出部116から受けた目標符号量のデータに基づいて、フィルタ108で用いるフィルタ特性を決定し、決定したフィルタ特性をフィルタ108に指定する。即ち、決定したフィルタ特性に従ってフィルタ108が動作するように、フィルタ108の動作制御を行う。なお、目標符号量に基づいてフィルタ特性を決定するための処理については、例えば、次のようなものが考えられる。
例えば、フィルタ108がローパスフィルタとすると、目標符号量が予め定めた閾値以下となった場合、フィルタ特性としてタップ数を増やし、フィルタ108で強いローパスフィルタが掛かるように指定する。
量子化パラメータ指定部118は、エントロピー符号化器111から符号化ストリームを受ける毎に、その符号量を求め、求めた符号量を、自身が管理しているメモリ内に既に格納されている符号量に累積することで、メモリ内の符号量を示すデータを更新する。従って、量子化パラメータ指定部118が管理するメモリには、着目フレームよりも過去の数フレーム分の符号量が累積された結果(累積値)が格納されていることになる。なお、累積値は、例えば、同一シーン内の累積値、若しくはGOP(Group of Picture)内の累積値とする。
量子化パラメータ指定部118は、この累積値のデータと、ピクチャ目標符号量算出部116から受けた目標符号量のデータと、を用いて、着目フレームの次のフレームを符号化する際に用いる量子化パラメータを決定する処理を行う。量子化パラメータ指定部118が量子化パラメータを決定するための処理としては、例えば、次のようなものが考えられる。
先ず、目標符号量から予め定められたテーブルに基づき、仮の量子化パラメータを決定する。次に、累積値のデータが予め定めた閾値より大きい場合、仮の量子化パラメータを強く量子化が掛かるように1段階変更して、量子化パラメータとする。
そして、量子化パラメータ指定部118は、決定した量子化パラメータを、量子化器110、逆量子化器112に対して設定する。これにより、決定した量子化パラメータに従って量子化器110、逆量子化器112が動作するように、量子化器110、逆量子化器112の動作制御を行う。
図6は、本実施形態に係る画像処理装置が、着目フレームの画像データに対して行う動き補償に基づく符号化処理のフローチャートである。
先ず、フィルタ101には、着目フレームの画像データが入力画像として入力される。従ってステップS601では、フィルタ101は、この入力された着目フレームの画像データに対して、フィルタ特性指定部115により指定されたフィルタ特性に従ったフィルタ処理を行う。
次に、ステップS602では、動き検出器104は、フレームメモリ105に格納されている、着目フレームよりも前のフレームに対応する画像データを読み出す。そして、読み出した画像データにおいて、着目ブロックと類似する(相関が高い)ブロック(類似ブロック)のデータを特定する。そして、特定した類似ブロックの位置を動きベクトルデータとして、後段のエントロピー符号化器111に送出する。また、特定した類似ブロックのデータを、後段の動き補償器106に送出する。
ステップS603では、減算器103は、フィルタ101から出力された着目ブロックのデータと、動き補償器106から受けた類似ブロックのデータと、の差分画像データを、予測誤差のデータとして求める。そして減算器103は、求めた予測誤差のデータを、後段のフィルタ108に対して送出する。なお、イントラ符号化を行う旨の指示が画像処理装置に対して入力された場合には、減算器103は、フィルタ101から受けた着目ブロックのデータをそのまま後段のフィルタ108に対して送出する。何れにせよ、フィルタ108には、ブロックサイズの画像データが入力されることになる。
ステップS604では、フィルタ108は、減算器103から受けたブロックサイズの画像データに対して、フィルタ特性指定部117により指定されたフィルタ特性に従ったフィルタ処理を行う。
ステップS605では、DCT109は、フィルタ108から受けた画像データに対して、8画素×8ラインのサイズのブロックを単位としてDCT(離散コサイン変換)変換を行う。
ステップS606では、量子化器110は、DCT109から送出されたDCT係数を、量子化パラメータ指定部118により指定された量子化パラメータを用いて量子化する。
ここで、着目フレームの画像データを構成する全てのブロックについてステップS601からステップS606までの処理を行った場合には、処理はステップS607を介してステップS608に進める。一方、ステップS601からステップS606までの処理を行っていないブロックが着目フレームの画像データ中にまだ残っている場合には、この残っているブロックについて、ステップS601からステップS606の処理を行う。
ステップS608では、エントロピー符号化器111は、イントラ符号化/インター符号化を行う。
ステップS609では、逆量子化器112は、量子化器110が行う変換処理の逆変換処理、即ち、逆量子化処理を行う。
ステップS610では、IDCT113は、DCT109が行う変換処理の逆変換処理、即ち、逆DCT変換処理を行うことで、フィルタ108から出力されたブロックサイズの画像データを復元する。
ステップS611では、加算器107は、イントラ符号化を行った場合には、IDCT113から受けた画像データを復号ブロックのデータとしてフレームメモリ105に格納する。一方、インター符号化を行った場合、加算器107は、動き補償器106から受けた類似ブロックのデータと、IDCT113から受けたブロックサイズの画像データ(フィルタ108によってフィルタ処理がなされた予測誤差のデータ)と、を加算する。そして加算器107は、係る加算により得られる結果を復号ブロックのデータとして、フレームメモリ105に格納する。
ステップS612では、ブロック歪み測定器102は、フレームメモリ105から、着目ブロックのデータに基づいて得られた復号ブロックのデータを読み出す。そして、読み出した復号ブロックのデータと、フィルタ101から受けた着目ブロックのデータと、の差分ブロックデータを、「着目ブロックのデータに対するブロック歪みデータ」として求める。ブロック歪み測定器102は、このようにして、1つのブロックについてのブロック歪みデータを求める処理を、着目フレームの画像データを構成する各ブロックについて行う。
ステップS613では、シーン目標符号量算出部114は、「所定フレーム数分のブロック歪みデータ」を用いて、着目フレームの次のフレームを符号化する際の目標符号量を求める。
ステップS614では、フィルタ特性指定部115は、シーン目標符号量算出部114から受けた目標符号量のデータに基づいて、フィルタ101で用いるフィルタ特性を決定し、決定したフィルタ特性をフィルタ101に指定する。
一方、ステップS615では、ピクチャ目標符号量算出部116は、「所定フレーム数分のブロック歪みデータ」を用いて、着目フレームの次のフレームを符号化する際の目標符号量を求める。
ステップS616では、フィルタ特性指定部117は、ピクチャ目標符号量算出部116から受けた目標符号量のデータに基づいて、フィルタ108で用いるフィルタ特性を決定し、決定したフィルタ特性をフィルタ108に指定する。
一方、ステップS617では、量子化パラメータ指定部118は、エントロピー符号化器111から符号化ストリームを受ける毎に、その符号量を求め、求めた符号量を、自身が管理しているメモリ内に既に格納されている符号量に累積する。そして量子化パラメータ指定部118は、この累積値のデータと、ピクチャ目標符号量算出部116から受けた目標符号量のデータと、を用いて、着目フレームの次のフレームを符号化する際に用いる量子化パラメータを決定する。そして、決定した量子化パラメータを、量子化器110、逆量子化器112に対して設定する。
以上の説明により、本実施形態によれば、フレーム単位でフィルタ特性を変えることにより、連続する個々のフレーム間の画質に生じるばらつきが低減され、符号化された動画像データにおける個々のフレームの画質を一定範囲内に保つことができる。従って、個々のフレームを連続して動画像として見た場合、フレーム間における視覚的な画質の変化を抑えることになり、良好な画質を得ることができる。例えば、図3に示す如く、フレーム間の画質の差は、図2に示した差よりも小さくなる。図3は、各フレームにおける画質を示す図である。
[第2の実施形態]
第1の実施形態では、1フレーム内の各ブロックに対しては、同じフィルタ特性によるフィルタ処理がフィルタ108においてなされていた。しかし、フィルタ特性指定部117がブロック毎に異なるフィルタ特性をフィルタ108に対して指定するようにしても良い。
第1の実施形態では、1フレーム内の各ブロックに対しては、同じフィルタ特性によるフィルタ処理がフィルタ108においてなされていた。しかし、フィルタ特性指定部117がブロック毎に異なるフィルタ特性をフィルタ108に対して指定するようにしても良い。
例えば、ピクチャ目標符号量算出部116は、ブロック歪み測定器102から送出されたブロック歪みデータをブロック単位で、自身が管理するメモリ内に記憶保持する。
ピクチャ目標符号量算出部116は、ブロック単位のブロック歪みデータに応じて、第1の実施形態と同様の処理で、ブロック単位の目標符号量を算出する。
そしてピクチャ目標符号量算出部116は、求めたブロック単位の目標符号量のデータを、フィルタ特性指定部117と量子化パラメータ指定部118とに対して送出する。
フィルタ特性指定部117は、ブロック単位の目標符号量に応じて第1の実施形態と同様の処理で、フィルタ特性を指定する。
その他の処理に関しては、第1の実施形態と同様の処理を行う。
[第3の実施形態]
図5は、本実施形態に係る画像処理装置のハードウェア構成例を示すブロック図である。本実施形態は、動き検出器504においてフレーム間相関度を表す指標値を求め、フィルタ特性指定部517に送出すると共に、フィルタ特性指定部517は、この指標値を更に用いてフィルタ特性を決定、指定する点のみが第1の実施形態とは異なる。ここで、「フレーム間相関度を表す指標値」とは、例えば、フレーム間差分値の絶対値和であるSAD(Sum of Absolute Difference)や動き量が挙げられる。
図5は、本実施形態に係る画像処理装置のハードウェア構成例を示すブロック図である。本実施形態は、動き検出器504においてフレーム間相関度を表す指標値を求め、フィルタ特性指定部517に送出すると共に、フィルタ特性指定部517は、この指標値を更に用いてフィルタ特性を決定、指定する点のみが第1の実施形態とは異なる。ここで、「フレーム間相関度を表す指標値」とは、例えば、フレーム間差分値の絶対値和であるSAD(Sum of Absolute Difference)や動き量が挙げられる。
例えば、フィルタ特性指定部517は、フィルタ508がローパスフィルタとすると、目標符号量が予め定めた第1閾値以下となった場合、仮のフィルタ特性としてタップ数を増やす。次にSADが、予め定めた閾値より小さい場合、即ち、フレーム間相関度が高く、視覚的劣化が少ないと考えられるときには、仮のフィルタ特性からタップ数を減らす。
[第4の実施形態]
第1乃至3の実施形態では、図1,5に示した各部は全てハードウェアによって構成されているものとして説明した。しかし、フレームメモリ105(505)を除く他の各部の機能をコンピュータプログラムの形態で実装しても良い。この場合、フレームメモリ105(505)に相当するメモリを有し、且つ係るコンピュータプログラムを実行可能なコンピュータに係るコンピュータプログラムを実行させることになる。これにより、係るコンピュータを、第1乃至3の実施形態で説明した画像処理装置として機能させることができる。
第1乃至3の実施形態では、図1,5に示した各部は全てハードウェアによって構成されているものとして説明した。しかし、フレームメモリ105(505)を除く他の各部の機能をコンピュータプログラムの形態で実装しても良い。この場合、フレームメモリ105(505)に相当するメモリを有し、且つ係るコンピュータプログラムを実行可能なコンピュータに係るコンピュータプログラムを実行させることになる。これにより、係るコンピュータを、第1乃至3の実施形態で説明した画像処理装置として機能させることができる。
[その他の実施形態]
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコード(コンピュータプログラム)を記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給する。係る記憶媒体は言うまでもなく、コンピュータ読み取り可能な記憶媒体である。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコード(コンピュータプログラム)を記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給する。係る記憶媒体は言うまでもなく、コンピュータ読み取り可能な記憶媒体である。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
Claims (5)
- 動画像データに対して動き補償に基づく符号化を行う画像処理装置であって、
着目フレームの画像に対してフィルタ処理を行う第1のフィルタ処理手段と、
前記第1のフィルタ処理手段によってフィルタ処理された前記着目フレームの画像中の着目ブロックについて、前記着目フレームよりも前のフレームの画像中における類似ブロックを特定し、特定した類似ブロックと前記着目ブロックとの差を予測誤差として求める手段と、
前記予測誤差に対してフィルタ処理を行う第2のフィルタ処理手段と、
前記着目ブロックに対して、動き補償に基づく符号化を行う符号化手段と、
前記類似ブロックと、前記第2のフィルタ処理手段によってフィルタ処理された前記予測誤差と、を加算することで、復号ブロックを生成し、生成した復号ブロックと前記着目ブロックとの差をブロック歪みデータとして求める計算手段と、
前記着目フレームの画像を構成する各ブロックについて前記計算手段が求めたブロック歪みデータを、メモリに格納する手段と、
前記メモリに格納された複数フレーム数分のブロック歪みデータに基づいて、前記第1のフィルタ処理手段の動作、前記第2のフィルタ処理手段の動作、を制御する制御手段と
を備えることを特徴とする画像処理装置。 - 更に、
前記符号化手段が、前記着目フレームの画像を構成するそれぞれのブロック毎に行う符号化処理において行われる量子化処理において用いる量子化パラメータを、前記メモリに格納された複数フレーム数分のブロック歪みデータと、前記符号化手段が過去に符号化したそれぞれのフレームの符号化データの符号量の累積値と、に基づいて設定する手段を備えることを特徴とする請求項1に記載の画像処理装置。 - 動画像データに対して動き補償に基づく符号化を行う画像処理装置が行う画像処理方法であって、
着目フレームの画像に対してフィルタ処理を行う第1のフィルタ処理工程と、
前記第1のフィルタ処理工程でフィルタ処理された前記着目フレームの画像中の着目ブロックについて、前記着目フレームよりも前のフレームの画像中における類似ブロックを特定し、特定した類似ブロックと前記着目ブロックとの差を予測誤差として求める工程と、
前記予測誤差に対してフィルタ処理を行う第2のフィルタ処理工程と、
前記着目ブロックに対して、動き補償に基づく符号化を行う符号化工程と、
前記類似ブロックと、前記第2のフィルタ処理工程でフィルタ処理された前記予測誤差と、を加算することで、復号ブロックを生成し、生成した復号ブロックと前記着目ブロックとの差をブロック歪みデータとして求める計算工程と、
前記着目フレームの画像を構成する各ブロックについて前記計算工程で求めたブロック歪みデータを、メモリに格納する工程と、
前記メモリに格納された複数フレーム数分のブロック歪みデータに基づいて、前記第1のフィルタ処理工程、前記第2のフィルタ処理工程、を制御する制御工程と
を備えることを特徴とする画像処理方法。 - コンピュータを、請求項1又は2に記載の画像処理装置が有する各手段として機能させるためのコンピュータプログラム。
- 請求項4に記載のコンピュータプログラムを格納した、コンピュータ読み取り可能な記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008107236A JP2009260661A (ja) | 2008-04-16 | 2008-04-16 | 画像処理装置、画像処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008107236A JP2009260661A (ja) | 2008-04-16 | 2008-04-16 | 画像処理装置、画像処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009260661A true JP2009260661A (ja) | 2009-11-05 |
Family
ID=41387514
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008107236A Withdrawn JP2009260661A (ja) | 2008-04-16 | 2008-04-16 | 画像処理装置、画像処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009260661A (ja) |
-
2008
- 2008-04-16 JP JP2008107236A patent/JP2009260661A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20100254450A1 (en) | Video coding method, video decoding method, video coding apparatus, video decoding apparatus, and corresponding program and integrated circuit | |
JP5195032B2 (ja) | 符号化装置/復号化装置、符号化方法/復号化方法及びプログラム | |
JP2006211152A (ja) | 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、画像符号化用プログラム、画像復号用プログラム | |
JP2006140758A (ja) | 動画像符号化方法、動画像符号化装置および動画像符号化プログラム | |
JP2008507190A (ja) | 動き補償方法 | |
JP4221655B2 (ja) | 符号化装置および符号化方法、プログラム、並びに記録媒体 | |
JP7343817B2 (ja) | 符号化装置、符号化方法、及び符号化プログラム | |
JP3648446B2 (ja) | 画像符号化装置および画像符号化方法 | |
KR101223780B1 (ko) | 압축 화상 노이즈 제거 장치와 재생 장치 | |
JP2007053620A (ja) | 画像処理装置および画像処理方法 | |
JP4784618B2 (ja) | 動画像符号化装置、動画像復号化装置、動画像符号化プログラム、及び動画像復号化プログラム | |
JPH11196424A (ja) | 画像処理装置および方法、並びに提供媒体 | |
JP2009260661A (ja) | 画像処理装置、画像処理方法 | |
JPH10108197A (ja) | 画像符号化装置、画像符号化制御方法および画像符号化制御用プログラムを記録した媒体 | |
JP2009017127A (ja) | 符号化装置および符号化方法 | |
JP2005005862A (ja) | 画像符号化装置 | |
JP2007020216A (ja) | 符号化装置、符号化方法、フィルタ処理装置およびフィルタ処理方法 | |
JP4228739B2 (ja) | 符号化装置および符号化方法、プログラム、並びに記録媒体 | |
JP3934772B2 (ja) | 可変転送レート符号化方法および装置 | |
JP2004072143A (ja) | 符号化装置および符号化方法、プログラム、並びに記録媒体 | |
JP3922581B2 (ja) | 可変転送レート符号化方法および装置 | |
JP2008153802A (ja) | 動画像符号化装置及び動画像符号化プログラム | |
JP3652889B2 (ja) | 映像符号化方法、映像符号化装置、記録媒体、及び映像通信システム | |
JP4539028B2 (ja) | 画像処理装置および画像処理方法、記録媒体、並びに、プログラム | |
JP2007300557A (ja) | 画像符号化装置及び画像符号化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20110705 |