JP4171934B2 - 画像処理装置および方法、並びに記録媒体 - Google Patents
画像処理装置および方法、並びに記録媒体 Download PDFInfo
- Publication number
- JP4171934B2 JP4171934B2 JP35914597A JP35914597A JP4171934B2 JP 4171934 B2 JP4171934 B2 JP 4171934B2 JP 35914597 A JP35914597 A JP 35914597A JP 35914597 A JP35914597 A JP 35914597A JP 4171934 B2 JP4171934 B2 JP 4171934B2
- Authority
- JP
- Japan
- Prior art keywords
- picture
- average value
- macroblock
- pixel data
- quantization step
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
【発明の属する技術分野】
本発明は、画像処理装置および方法、並びに記録媒体に関し、特に、ディジタル衛星放送システムのエンコードにおける、フィードフォワード系のレートコントロールに適用して好適な画像処理装置および方法、並びに記録媒体に関する。
【0002】
【従来の技術】
MPEG2(Moving Picture Experrts Group Phase2)は、例えば、HDTV(High Definition Television)(商標)に代表されるディジタルテレビジョン放送の符号化方式として採用されている。ディジタルテレビジョン放送は、アナログテレビジョン放送に比べて、多チャンネル化が可能とされ、その結果、チャンネルあたりのコストを削減することができるだけでなく、映像、音声に限らず各種のデータ放送等のサービスを可能にする。
【0003】
例えば、衛星放送に関しては、北米ではDirecTv(商標)、国内ではPerfecTv(商標)およびJSkyB(商標)をはじめとするいくつかの計画が一部実現されており、MPEG2を用いたディジタル放送はますます一般的になりつつある。
【0004】
これら衛星放送においては、入力ソースをMPEG手法によりエンコードするエンコーダが使用されている。エンコーダでは、テレビジョン(以下、テレビという)画像をm×n個のマクロブロックに分割し、各マクロブロック毎に、画素データを直交関数(例えばDCT(Discrete Cosine Transform)など)で変換して信号電力を集中させ、全体情報量を圧縮する。
【0005】
例えば、MPEG2手法などに準拠して画像の圧縮、符号化を行う場合において、良好な画質の復号画像を得ることができるようにするためのアルゴリズムの1つとして、TM(Test Model)5が知られている。TM5は、3つのステップから構成され、各ステップでは次のような処理が行われる。
【0006】
[ステップ1]
レートコントローラは、前回エンコードした同一のピクチャタイプのフレームのコンプレクシティ(Complexity)に基づいて、今回エンコードするフレームの目標符号量を設定する。
【0007】
[ステップ2]
レートコントローラは、I,P,Bの各ピクチャタイプ別の目標符号量と発生符号量との差分を管理するための仮想バッファのデータ蓄積量をフィードバックし、そのデータ蓄積量に基づいて、実際の発生符号量が、ステップ1で設定された目標符号量に一致(ほぼ一致)するように、次にエンコードするマクロブロックについて、レート制御を行う。
【0008】
[ステップ3]
量子化器は、視覚特性を考慮し、復号画像の画質が良好になるように、エンコード対象のマクロブロックの複雑さに基づいて、適応量子化を行う。
【0009】
従って、TM5では、例えば、画像の複雑さに対応して変化するパラメータをCとし、画像のアクティビティに対応するものを、発生符号量を目標符号量に一致させるためのパラメータをQとして、仮想バッファのデータ蓄積量から決定された仮の量子化ステップに対応するものを、それぞれ用いることとすると、マクロブロックを量子化するための最終的な量子化ステップMQUANTは、例えば、次式に従って決定される。
MQUANT=f(C,Q)
なお、f(C,Q)は、引数CおよびQに対応する値を、所定の範囲内の値に正規化したものを出力する関数である。
【0010】
【発明が解決しようとする課題】
上述したように、TM5では、量子化ステップが、発生符号量を目標符号量に対応させるための変数Cと、画像の複雑さに対応する変数Qから決定される。
【0011】
ところで、上述のステップ1、2で、レートコントローラが行うレートコントロールは、基本的には、バッファの中の占有量に基づいて発生情報量をコントロールするものであり、これはフィードバック制御である。
【0012】
しかしながら、従来のフィードバック系のレートコントロールによると、ノイズが目立ち、高画質の復号画像を得ることが困難である課題があった。
【0013】
本発明はこのような状況に鑑みてなされたものであり、フィードフォワード系に重きをおいてレートコントロールを行うことで、ノイズが少い、高画質の復号画像を得ることができるようにするものである。
【0014】
【課題を解決するための手段】
請求項1に記載の画像処理装置は、マクロブロックを直交変換した画素データの上下または左右方向に隣接する画素間の差分に基づくマクロブロックの画像の複雑さの度合いを示す第1のパラメータと、マクロブロック内の画素データの平均値と各画素データとの偏差、または、マクロブロックの画素データと1つ前のフレームの対応するマクロブロックの画素データとの差に基づくマクロブロックの画像の複雑さの度合いを示す第2のパラメータとを検出する検出手段と、第1のパラメータをマクロブロックの画素の数で割り算した第1の平均値と、第2のパラメータをマクロブロックの画素の数で割り算した第2の平均値とから、所定の定数を乗じた第1の平均値とピクチャの直前の I ピクチャについての第2の平均値であって、加算できるように単位を調整した第2の平均値との和に、1つの GOP ( Group of Picture )に含まれる I ピクチャの数を乗じて得られた値と、定数を乗じた第1の平均値とピクチャの直前の P ピクチャについての第2の平均値であって、加算できるように単位を調整した第2の平均値との和に、1つの GOP に含まれる P ピクチャの数を乗じて得られた値と、定数を乗じた第1の平均値とピクチャの直前の B ピクチャについての第2の平均値であって、加算できるように単位を調整した第2の平均値との和に、1つの GOP に含まれる B ピクチャの数を乗じて得られた値との総和に対する、定数を乗じた第1の平均値とピクチャについての第2の平均値であって、加算できるように単位を調整した第2の平均値との和の比率を、 GOP の目標情報量に乗算することによりピクチャの目標情報量を計算し、ピクチャの目標情報量、第1の平均値、および第2の平均値から、ピクチャに対する仮の量子化ステップを計算し、第1のパラメータと第1の平均値とから求められる係数を仮の量子化ステップに乗算することによりマクロブロックに対する量子化ステップを計算するとともに、1つのピクチャの符号化中にピクチャの発生情報量が目標情報量を超えた場合、1回だけ量子化ステップを大きくするように制御する制御手段と、量子化ステップを用いてピクチャを量子化する量子化手段とを備えることを特徴とする。
【0015】
請求項4に記載の画像処理方法は、マクロブロックを直交変換した画素データの上下または左右方向に隣接する画素間の差分に基づくマクロブロックの画像の複雑さの度合いを示す第1のパラメータと、マクロブロック内の画素データの平均値と各画素データとの偏差、または、マクロブロックの画素データと1つ前のフレームの対応するマクロブロックの画素データとの差に基づくマクロブロックの画像の複雑さの度合いを示す第2のパラメータとを検出する検出ステップと、第1のパラメータをマクロブロックの画素の数で割り算した第1の平均値と、第2のパラメータをマクロブロックの画素の数で割り算した第2の平均値とから、所定の定数を乗じた第1の平均値とピクチャの直前の I ピクチャについての第2の平均値であって、加算できるように単位を調整した第2の平均値との和に、1つの GOP ( Group of Picture )に含まれる I ピクチャの数を乗じて得られた値と、定数を乗じた第1の平均値とピクチャの直前の P ピクチャについての第2の平均値であって、加算できるように単位を調整した第2の平均値との和に、1つの GOP に含まれる P ピクチャの数を乗じて得られた値と、定数を乗じた第1の平均値とピクチャの直前の B ピクチャについての第2の平均値であって、加算できるように単位を調整した第2の平均値との和に、1つの GOP に含まれる B ピクチャの数を乗じて得られた値との総和に対する、定数を乗じた第1の平均値とピクチャについての第2の平均値であって、加算できるように単位を調整した第2の平均値との和の比率を、 GOP の目標情報量に乗算することによりピクチャの目標情報量を計算し、ピクチャの目標情報量、第1の平均値、および第2の平均値から、ピクチャに対する仮の量子化ステップを計算し、第1のパラメータと第1の平均値とから求められる係数を仮の量子化ステップに乗算することによりマクロブロックに対する量子化ステップを計算するとともに、1つのピクチャの符号化中にピクチャの発生情報量が目標情報量を超えた場合、1回だけ量子化ステップを大きくするように制御する制御ステップと、量子化ステップを用いてピクチャを量子化する量子化ステップとを備えることを特徴とする。
【0016】
請求項5に記載の記録媒体は、マクロブロックを直交変換した画素データの上下または左右方向に隣接する画素間の差分に基づくマクロブロックの画像の複雑さの度合いを示す第1のパラメータと、マクロブロック内の画素データの平均値と各画素データとの偏差、または、マクロブロックの画素データと1つ前のフレームの対応するマクロブロックの画素データとの差に基づくマクロブロックの画像の複雑さの度合いを示す第2のパラメータとを検出する検出ステップと、第1のパラメータをマクロブロックの画素の数で割り算した第1の平均値と、第2のパラメータをマクロブロックの画素の数で割り算した第2の平均値とから、所定の定数を乗じた第1の平均値とピクチャの直前の I ピクチャについての第2の平均値であって、加算できるように単位を調整した第2の平均値との和に、1つの GOP ( Group of Picture )に含まれる I ピクチャの数を乗じて得られた値と、定数を乗じた第1の平均値とピクチャの直前の P ピクチャについての第2の平均値であって、加算できるように単位を調整した第2の平均値との和に、1つの GOP に含まれる P ピクチャの数を乗じて得られた値と、定数を乗じた第1の平均値とピクチャの直前の B ピクチャについての第2の平均値であって、加算できるように単位を調整した第2の平均値との和に、1つの GOP に含まれる B ピクチャの数を乗じて得られた値との総和に対する、定数を乗じた第1の平均値とピクチャについての第2の平均値であって、加算できるように単位を調整した第2の平均値との和の比率を、 GOP の目標情報量に乗算することによりピクチャの目標情報量を計算し、ピクチャの目標情報量、第1の平均値、および第2の平均値から、ピクチャに対する仮の量子化ステップを計算し、第1のパラメータと第1の平均値とから求められる係数を仮の量子化ステップに乗算することによりマクロブロックに対する量子化ステップを計算するとともに、1つのピクチャの符号化中にピクチャの発生情報量が目標情報量を超えた場合、1回だけ量子化ステップを大きくするように制御する制御ステップと、量子化ステップを用いてピクチャを量子化する量子化ステップとを備えるコンピュータプログラムが記録されていることを特徴とする。
【0017】
請求項1に記載の画像処理装置、請求項4に記載の画像処理方法、および請求項5に記載の記録媒体においては、マクロブロックを直交変換した画素データの上下または左右方向に隣接する画素間の差分に基づくマクロブロックの画像の複雑さの度合いを示す第1のパラメータと、マクロブロック内の画素データの平均値と各画素データとの偏差、または、マクロブロックの画素データと1つ前のフレームの対応するマクロブロックの画素データとの差に基づくマクロブロックの画像の複雑さの度合いを示す第2のパラメータとが検出され、第1のパラメータをマクロブロックの画素の数で割り算した第1の平均値と、第2のパラメータをマクロブロックの画素の数で割り算した第2の平均値とから、所定の定数を乗じた第1の平均値とピクチャの直前の I ピクチャについての第2の平均値であって、加算できるように単位を調整した第2の平均値との和に、1つの GOP ( Group of Picture )に含まれる I ピクチャの数を乗じて得られた値と、定数を乗じた第1の平均値とピクチャの直前の P ピクチャについての第2の平均値であって、加算できるように単位を調整した第2の平均値との和に、1つの GOP に含まれる P ピクチャの数を乗じて得られた値と、定数を乗じた第1の平均値とピクチャの直前の B ピクチャについての第2の平均値であって、加算できるように単位を調整した第2の平均値との和に、1つの GOP に含まれる B ピクチャの数を乗じて得られた値との総和に対する、定数を乗じた第1の平均値とピクチャについての第2の平均値であって、加算できるように単位を調整した第2の平均値との和の比率を、 GOP の目標情報量に乗算することによりピクチャの目標情報量が計算され、ピクチャの目標情報量、第1の平均値、および第2の平均値から、ピクチャに対する仮の量子化ステップが計算され、第1のパラメータと第1の平均値とから求められる係数を仮の量子化ステップに乗算することによりマクロブロックに対する量子化ステップが計算されるとともに、1つのピクチャの符号化中にピクチャの発生情報量が目標情報量を超えた場合、1回だけ量子化ステップを大きくするように制御され、量子化ステップを用いてピクチャが量子化される。
【0018】
【発明の実施の形態】
以下に本発明の実施の形態を説明するが、特許請求の範囲に記載の発明の各手段と以下の実施の形態との対応関係を明らかにするために、各手段の後の括弧内に、対応する実施の形態(但し一例)を付加して本発明の特徴を記述すると、次のようになる。但し勿論この記載は、各手段を記載したものに限定することを意味するものではない。
【0019】
請求項1に記載の画像処理装置は、マクロブロックを直交変換した画素データの上下または左右方向に隣接する画素間の差分に基づくマクロブロックの画像の複雑さの度合いを示す第1のパラメータと、マクロブロック内の画素データの平均値と各画素データとの偏差、または、マクロブロックの画素データと1つ前のフレームの対応するマクロブロックの画素データとの差に基づくマクロブロックの画像の複雑さの度合いを示す第2のパラメータとを検出する検出手段(例えば、図1のパラメータ検出器10)と、第1のパラメータをマクロブロックの画素の数で割り算した第1の平均値と、第2のパラメータをマクロブロックの画素の数で割り算した第2の平均値とから、所定の定数を乗じた第1の平均値とピクチャの直前の I ピクチャについての第2の平均値であって、加算できるように単位を調整した第2の平均値との和に、1つの GOP ( Group of Picture )に含まれる I ピクチャの数を乗じて得られた値と、定数を乗じた第1の平均値とピクチャの直前の P ピクチャについての第2の平均値であって、加算できるように単位を調整した第2の平均値との和に、1つの GOP に含まれる P ピクチャの数を乗じて得られた値と、定数を乗じた第1の平均値とピクチャの直前の B ピクチャについての第2の平均値であって、加算できるように単位を調整した第2の平均値との和に、1つの GOP に含まれる B ピクチャの数を乗じて得られた値との総和に対する、定数を乗じた第1の平均値とピクチャについての第2の平均値であって、加算できるように単位を調整した第2の平均値との和の比率を、 GOP の目標情報量に乗算することによりピクチャの目標情報量を計算し、ピクチャの目標情報量、第1の平均値、および第2の平均値から、ピクチャに対する仮の量子化ステップを計算し、第1のパラメータと第1の平均値とから求められる係数を仮の量子化ステップに乗算することによりマクロブロックに対する量子化ステップを計算するとともに、1つのピクチャの符号化中にピクチャの発生情報量が目標情報量を超えた場合、1回だけ量子化ステップを大きくするように制御する制御手段(例えば、図1のレートコントローラ11)と、量子化ステップを用いてピクチャを量子化する量子化手段(例えば、図1の量子化器2)とを備えることを特徴とする。
【0020】
以下、本発明を適用した画像処理装置の一実施の形態について図面を参照しながら説明する。図1は、本発明を適用した画像処理装置の構成を示すブロック図である。
【0021】
演算器1は、入力された画像データから、動き補償器8により動き補償された予測画像データを減算し、その差分データを量子化器2に出力している。量子化器2は、入力された画像データを量子化し、可変長符号化器3と逆量子化器5に出力している。可変長符号化器3は、量子化器2より入力された量子化データと、動きベクトル検出器9より供給された動きベクトルを可変長符号化し、バッファ4に出力する。バッファ4は、入力された可変長符号化器3より供給された可変長データを所定の伝送路に出力する。
【0022】
逆量子化器5は、量子化器2より入力された量子化データを逆量子化し、演算器6に出力する。演算器6は、動き補償器8により動き補償された予測画像データを、逆量子化器5より入力された差分データに加算して、元の画像データに変換して、フレームメモリ7に供給し、記憶させる。動きベクトル検出器9は、入力された画像データの動きベクトルを検出し、その動きベクトルを、動き補償器8と、可変長符号化器3に出力している。動き補償器8は、フレームメモリ7より読み出された画像データを、動きベクトルに対応して動き補償し、予測画像データを生成している。
【0023】
パラメータ検出器10は、入力された画像データの複雑さに対応するパラメータを、動きベクトル検出器9の出力を利用して検出し、レートコントローラ11に出力している。レートコントローラ11にはまた、バッファ4のデータの占有量に関するデータが供給されている。ECS(Encoder Control Subsystem)12は、レートコントローラ11に、ビットレートパラメータを供給する。レートコントローラ11は、パラメータ検出器10、バッファ4、およびECS12からのデータに対応して、量子化器2の量子化ステップを制御するようになされている。
【0024】
以上が送信側の構成であるが、次に、受信側の構成について説明する。バッファ31は、伝送路を介して供給された符号化データを一旦記憶し、これを可変長復号器32に出力している。可変長復号器32は、入力された符号化データを復調し、画像データ成分を逆量子化器33に供給し、動きベクトルを動き補償器36に出力している。演算器34は、動き補償器36から供給された予測画像データを逆量子化器33の出力に加算し、復号画像データとして出力する。この復号画像データは、フレームメモリ35に供給され、記憶される。動き補償器36は、フレームメモリ35に記憶された画像データに動きベクトルに対応して動き補償を施し、予測データを生成している。
【0025】
なお、通常、量子化データは、DCT変換された後、可変長符号に変換され、従って、逆量子化の前に、逆DCT変換がなされるが、簡単のため、ここでは省略している。
【0026】
次に、その基本的な動作について説明する。送信側においては、動きベクトル検出器9は、入力された画像データの動きベクトルを検出し、動き補償器8に出力する。動き補償器8は、この動きベクトルに対応して、フレームメモリ7より読み出された画像データに対して動き補償を施し、予測画像データを生成して、演算器1に出力する。演算器1は、入力された画像データから予測画像データを減算し、量子化器2に出力する。量子化器2は、入力された画像データを量子化し、可変長符号化器3に出力する。可変長符号化器3は、量子化器2より入力された量子化データと、動きベクトル検出器9より供給された動きベクトルを可変長符号に変換し、バッファ4を介して伝送路に伝送する。
【0027】
一方、量子化器2より出力された量子化データは、逆量子化器5で逆量子化された後、演算器6に入力される。演算器6は、逆量子化器5の出力に、動き補償器8が出力した予測画像データを加算し、元の画像データを復元して、フレームメモリ7に供給し、記憶させる。
【0028】
一方、受信側においては、伝送路より伝送されてきた符号化データがバッファ31に一旦記憶された後、可変長復号器32に入力される。可変長復号器32は、入力された符号化データを復号し、画像データ成分を逆量子化器33に出力し、動きベクトルを動き補償器36に供給する。逆量子化器33は、入力された画像データを逆量子化し、演算器34に出力する。動き補償器36は、フレームメモリ35に記憶されている画像データを動きベクトルに対応して動き補償し、予測画像データを生成して、演算器34に出力する。演算器34は、逆量子化器33の出力と、動き補償器36の出力する予測画像データとを加算し、元の画像データを復号して、出力する。この画像データはまた、予測画像データ生成のために、フレームメモリ35に供給され、記憶される。
【0029】
図2は、図1の画像処理装置の量子化器を制御する動作を説明するフローチャートである。
【0030】
最初にステップS1において、レートコントローラ11は、ピクチャの処理を始めてもよいか否かの判定を行う。ピクチャの処理を始めてはいけないと判定された場合(1つ前のピクチャの処理が終了してから、次のピクチャの処理の処理を開始するまでのブランクの期間である場合)は、ピクチャの処理を始めてもよいと判定されるまで待機する。ピクチャの処理を始めてもよいと判定された場合は、ステップS2に進み、レートコントローラ11は、ピクチャ前処理を行う。次に、レートコントローラ11は、ステップS3でマクロブロック処理を行う。レートコントローラ11は、ステップS4で未処理のマクロブロックがまだあるか否かの判定を行う。未処理のマクロブロックがまだあると判定された場合は、ステップS3に戻り、レートコントローラ11は未処理のマクロブロックがなくなるまで同様の処理を繰り返す。
【0031】
未処理のマクロブロックがもうないと判定された場合は、ステップS5に進み、レートコントローラ11は、ピクチャ後処理を行う。ステップS5の処理が終了すると、ステップS1に戻り、レートコントローラ11は、次のピクチャの画像データを処理する。
【0032】
次に、図3を参照して、図2のステップS2で、レートコントローラ11が行う、ピクチャ前処理の詳細を説明する。
【0033】
最初にステップS21において、レートコントローラ11は、パラメータ検出器10から、処理対象となるピクチャ内のマクロブロックの、アクティビティの平均act-avg、および、maeの平均mae-avgの供給を受ける。
【0034】
ここで、図1のパラメータ検出器10が、act-avgとmae-avgを計算する場合の手順を、図4および図5を参照して説明する。上述したように、各フレームの入力画像はm×n個のマクロブロックに分割され、各マクロブロック毎に、直交関数(例えばDCT(Discrete Cosine Transform)など)で変換されたり、動きベクトルの検出が行われたりする。図4は、画像内の、直交変換された、マクロブロックの画素データの例を示す図である。同図に示すように、16×16の画素で1個のマクロブロックが構成される。
【0035】
パラメータ検出器10は、図4に示す対象マクロブロックの画素データAm,nより、アクティビティact(画像の複雑さの度合を示すパラメータ)を、式(1)に従って計算する。
【数1】
パラメータ検出器10はまた、マクロブロックがイントラマクロブロックの場合、対象マクロブロックの画素データAm,nより、mae(mean absolute error)(actとは別の、マクロブロックの画像の複雑さの度合を示すパラメータ)を、式(2)と式(3)に従って計算する。
【数2】
【0036】
これに対して、対象マクロブロックがノンイントラマクロブロックである場合、maeは式(4)により計算される。
【数3】
ここでRm,nは、図5に示すように、1つ前のフレームの対象マクロブロックの、対応する画素データを表す。mae-aveは、このようにして求められたmaeのそのマクロブロックにおける総和を、画素数16×16で割り算して求められる。
【0037】
図3に戻って、レートコントローラ11は、ステップS22で、式(5)に従って、ピクチャの目標情報量target-bit-pictureを計算する。
【数4】
なお、式(5)内の、intは、括弧内の数値の整数をとる関数を意味する。また、括弧内の対数計算は、互いに算出方法の異なるact-avgとmae-avgとを、加算できるように単位を調整するためのものである。K3は定数である。mae-prevは、直前のピクチャのmaeを表す。iは、I-picture,P-picture,B-pictureを意味し、従って、mae-prev[i]は、mae-prev[I-picture],mae-prev[P-picture],または、mae-prev[B-picture]を意味する。Nは1GOPでの各ピクチャの数を意味し、通常のGOPの場合、N[I-picture]=1,N[P-picture]=4,N[B-picture]=10である。
【0038】
この処理は、TM5のステップ1に対応する。本方法で使用されるmae-avgは、TM5のステップ1では見られなかった、フィードフォワード系のパラメータである。
【0039】
レートコントローラ11は、ステップS23で、シーンチェンジか否かの判定を行う。シーンチェンジであると判定された場合は、ステップS24に進み、レートコントローラ11は、仮の量子化ステップに対応するパラメータ(TM5のステップ2で使用する変数に近い変数だが、計算方法が異なる)(reference-qsc)を、式(6)と式(7)に従って、初期化する。
【数5】
なお、これらの式のK4,K5は定数である。target-bitはそのピクチャの目標発生情報量を表し、式(5)におけるtarget-bit-pictureと同一のものである。
【0040】
式(6)内の量子化ステップqscの計算に用いられる対数計算、および、rc-parameterは、互いに算出方法の異なるact-avgとmae-avgとを、加算できるように単位を調整するためのものである。式(7)内のqs-tableは、ステップS22で求めた目標情報量を、qsc(quantizer scale code)に変換するためのテーブルを意味する。また、量子化ステップqscは、画像の複雑さを示すパラメータのみにより、事前に仮に算出されるものである。この処理は、TM5のステップ1に対応するが、TM5では見られなかったフィードフォワード系の処理である。レートコントローラ11は、さらに、ステップS25に進み、画像を符号化したデータの発生符号量を目標符号量に一致させるための変数(m-param)を0とする。
【0041】
ステップS23で、シーンチェンジではないと判定された場合は、ステップS26に進み、レートコントローラ11は、I,P,Bのピクチャタイプの判定を行う。ピクチャタイプがBピクチャであると判定された場合は、ステップS27に進み、レートコントローラ11は、以下の式(8)にに従い、発生符号量を目標符号量に一致させるための変数(m-param)を計算する。
m-param={mae-prev[B-PICTURE]}/{mae-prev[I-PICTURE]} (8)
ピクチャタイプがIピクチャであると判定された場合は、ステップS28に進み、レートコントローラ11は、式(9)と式(10)に従って、reference-qsc(TM5のステップ2で使用する変数に近い変数だが、計算方法が異なる)を更新する。
【数6】
【0042】
ステップS28の処理が終了した後、または、ステップS26でピクチャタイプがPピクチャであると判定された場合は(ステップS28をスキップして)、ステップS29に進み、レートコントローラ11は、式(11)に従い、m-paramを計算する。
m-param={mae-prev[P-PICTURE]}/{mae-prev[I-PICTURE]} (11)
【0043】
ステップS25,S27,S29の処理が終了した後、ステップS30に進み、レートコントローラ11は、量子化ステップの増加を示すパラメータqsc-upを0として、対象ピクチャの量子化の前処理を終了する。
【0044】
次に、図6を参照して、図2のステップS3で、レートコントローラ11が行うマクロブロック処理を説明する。
【0045】
最初にステップS41において、レートコントローラ11は、パラメータ検出器10より、(式(1)乃至式(4)により算出された)actおよびmaeの供給を受ける。レートコントローラ11は、ステップS42で、式(12)に従い、アクティビティの予想値act'を計算する。
act'=(act - act-ave)× m-param + act-ave (12)
レートコントローラ11は、ステップS43で、式(13)に従い、量子化ステップqscを計算する。
qsc={(2act' + act-ave)/(act' + 2act-ave)}×reference-qsc (13)
【0046】
ここで用いられるact aveは、TM5では、以前に処理したピクチャのものを使用するが、本方法では、そのとき量子化処理されるピクチャのものを、処理前に、図3のステップS21で予め算出して使用する点で、TM5のMQUANTとは異なる。
【0047】
レートコントローラ11は、ステップS44で、式(14)に従い、ピクチャにおける発生情報量を計算する。
picture-bit-generated = picture-bit-generated + bit-generated (14)
なお、bit-generatedは、ピクチャ内の対象マクロブロックにおける発生情報量を意味する。レートコントローラ11は、ステップS45で、量子化ステップの増加を示すパラメータqsc-upが0か否かの判定を行う。qsc-up=0と判定された場合は、ステップS46に進み、レートコントローラ11は、ステップS44で計算した、ピクチャにおける発生情報量(マクロブロックにおけるものの累積値)picture-bit-generatedが、図3のステップS22で計算された目標情報量target-bit-pictureより大きいか否かの判定を行う。
【0048】
発生情報量が目標情報量より大きいと判定された場合は、ステップS47に進み、レートコントローラ11は、発生情報量を目標情報量に近づけるために、reference-qscを1だけインクリメントするとともに、qsc-up=1とする。このreference-qscは、次回、図3のステップS24またはステップS28で使用される。なお、ステップS46の判定に対し、TM5の、これと対応するステップ2では、ピクチャ毎ではなく、マクロブロック毎における発生情報量が目標情報量より大きいか否かの判定を行う。
【0049】
ステップS45で、qsc-upが0ではないと判定された場合、ステップS46で、ピクチャ発生情報量(マクロブロックにおけるものの累積値)が目標情報量より大きくないと判定された場合、または、ステップS47の処理が終了した後、レートコントローラ11は、対象マクロブロックの処理を終了する。
【0050】
次に、図7を参照して、図2のステップS5で、レートコントローラ11が行うピクチャ後処理を説明する。
【0051】
最初にステップS61において、レートコントローラ11は、式(15)に従い、GOP(Group of Picture)単位での目標情報量target-bit-GOPを修正する。
右辺の第2項は、ピクチャの目標情報量、第3項は、ピクチャの発生情報量を示す。
【0052】
レートコントローラ11は、ステップS62で、ピクチャがIピクチャまたはPピクチャであるか否かの判定を行う。ピクチャがIピクチャまたはPピクチャであると判定された場合は、ステップS63に進み、レートコントローラ11は、それまでのactまたはmaeを、それぞれact-prevまたはmae-prevに設定し、その値を更新する。レートコントローラ11は、ステップS64で、発生情報量の累積値が目標情報量より大きいか否かの判定を行う。発生情報量が目標情報量より大きいと判定された場合は、ステップS65に進み、レートコントローラ11は、reference-qscおよびrc-parameterを1だけインクリメントする。この値は、次回、図3のステップS24またはステップS28で使用される。
【0053】
発生情報量が目標情報量より大きくないと判定された場合は、ステップS66に進み、レートコントローラ11は、発生情報量が目標情報量より小さいか否かの判定を行う。発生情報量が目標情報量より小さいと判定された場合は、ステップS67に進み、レートコントローラ11は、GOPにおける発生情報量の累積値が目標情報量に近づくように、reference-qscおよびrc-parameterを1だけディクリメントし、ピクチャの後処理を終了する。この値は、次回、図3のステップS24またはステップS28で使用される。発生情報量が目標情報量より小さくないとステップS66で判定された場合(すなわち、発生情報量と目標情報量が等しい場合)、reference-qscとrc-parameterはそのままとされる。
【0054】
以上の図6のステップS47、および図7のステップS65,S67の処理は、1ピクチャの処理中に、条件が一致したとき1回だけ行われる。これにより、各ピクチャを量子化する量子化器2のパラメータは、あまり変化しないように(パラメータの値が一定となるように)動作する。また、図3のステップS21(act-avg,mae-avgの入力)、ステップS22(目標情報量計算)、ステップS24,S28(reference-qscの計算)、ステップS25,S27,S29(m-paramの計算)の処理により、フィードフォワード処理の比重が高くなっている。これにより、ノイズの少ない、高画質の画像を提供することが可能となる。
【0055】
レートコントローラ11は、以上のようにして、量子化器2の量子化ステップを出力qscで制御する。なお、ECS12から供給されるビットレート、およびバッファ4から供給される占有量に関する情報は、レートコントローラ11において、target-bitを決定するとき使用される。
【0056】
なお、上記したような処理を行うコンピュータプログラムをユーザに提供する提供媒体としては、磁気ディスク、CD-ROM、固体メモリなどの記録媒体の他、ネットワーク、衛星などの通信媒体を利用することができる。
【0057】
【発明の効果】
以上のように、請求項1に記載の画像処理装置、請求項4に記載の画像処理方法、および請求項5に記載の記録媒体によれば、ノイズが少ない、高画質の復号画像を提供することができる。
【図面の簡単な説明】
【図1】本発明を適用した画像処理装置の構成を示すブロック図である。
【図2】図1の画像処理装置のレートコントローラ11の量子化器制御動作を説明するフローチャートである。
【図3】図2のステップS2のピクチャ前処理を説明するフローチャートである。
【図4】対象マクロブロックを説明する図である。
【図5】対象マクロブロックおよび検索マクロブロックを説明する図である。
【図6】図2のステップS3のマクロブロック処理を説明するフローチャートである。
【図7】図2のステップS5のピクチャ後処理を説明するフローチャートである。
【符号の説明】
1 演算器, 2 量子化器, 3 可変長符号化器, 4 バッファ, 5逆量子化器, 6 演算器, 7 フレームメモリ, 8 動き補償器, 9動きベクトル検出器, 10 パラメータ検出器, 11 レートコントローラ, 12 ECS, 31 バッファ, 32 可変長復号器, 33 逆量子化器, 34 演算器, 35 フレームメモリ, 36 動き補償器
Claims (5)
- 1つのピクチャを複数のマクロブロックに分割して符号化する画像処理装置において、
前記マクロブロックを直交変換した画素データの上下または左右方向に隣接する画素間の差分に基づく前記マクロブロックの画像の複雑さの度合いを示す第1のパラメータと、前記マクロブロック内の前記画素データの平均値と各前記画素データとの偏差、または、前記マクロブロックの前記画素データと1つ前のフレームの対応するマクロブロックの前記画素データとの差に基づく前記マクロブロックの画像の複雑さの度合いを示す第2のパラメータとを検出する検出手段と、
前記第1のパラメータを前記マクロブロックの画素の数で割り算した第1の平均値と、前記第2のパラメータを前記マクロブロックの画素の数で割り算した第2の平均値とから、所定の定数を乗じた前記第1の平均値と前記ピクチャの直前の I ピクチャについての第2の平均値であって、加算できるように単位を調整した第2の平均値との和に、1つの GOP ( Group of Picture )に含まれる I ピクチャの数を乗じて得られた値と、前記定数を乗じた前記第1の平均値と前記ピクチャの直前の P ピクチャについての第2の平均値であって、加算できるように単位を調整した第2の平均値との和に、1つの GOP に含まれる P ピクチャの数を乗じて得られた値と、前記定数を乗じた前記第1の平均値と前記ピクチャの直前の B ピクチャについての第2の平均値であって、加算できるように単位を調整した第2の平均値との和に、1つの GOP に含まれる B ピクチャの数を乗じて得られた値との総和に対する、前記定数を乗じた前記第1の平均値と前記ピクチャについての前記第2の平均値であって、加算できるように単位を調整した前記第2の平均値との和の比率を、 GOP の目標情報量に乗算することにより前記ピクチャの目標情報量を計算し、前記ピクチャの目標情報量、前記第1の平均値、および前記第2の平均値から、前記ピクチャに対する仮の量子化ステップを計算し、前記第1のパラメータと前記第1の平均値とから求められる係数を仮の量子化ステップに乗算することにより前記マクロブロックに対する量子化ステップを計算するとともに、1つの前記ピクチャの符号化中に前記ピクチャの発生情報量が前記目標情報量を超えた場合、1回だけ前記量子化ステップを大きくするように制御する制御手段と、
前記量子化ステップを用いて前記ピクチャを量子化する量子化手段と
を備えることを特徴とする画像処理装置。 - 前記検出手段は、前記マクロブロックがイントラマクロブロックである場合、前記マクロブロック内の前記画素データの平均値と各前記画素データとの偏差に基づいて前記第2のパラメータを検出し、前記マクロブロックがノンイントラマクロブロックである場合、前記マクロブロックの前記画素データと1つ前のフレームの対応するマクロブロックの前記画素データとの差に基づいて前記第2のパラメータを検出する
ことを特徴とする請求項1に記載の画像処理装置。 - 前記制御手段は、前記ピクチャを符号化した後、前記ピクチャの発生情報量が前記目標情報量より大きい場合、次のピクチャに用いる前記量子化ステップが大きくなるように制御し、前記ピクチャの発生情報量が前記目標情報量より小さい場合、次のピクチャに用いる前記量子化ステップが小さくなるように制御する
ことを特徴とする請求項1に記載の画像処理装置。 - 1つのピクチャを複数のマクロブロックに分割して符号化する画像処理方法において、
前記マクロブロックを直交変換した画素データの上下または左右方向に隣接する画素間の差分に基づく前記マクロブロックの画像の複雑さの度合いを示す第1のパラメータと、前記マクロブロック内の前記画素データの平均値と各前記画素データとの偏差、または、前記マクロブロックの前記画素データと1つ前のフレームの対応するマクロブロックの前記画素データとの差に基づく前記マクロブロックの画像の複雑さの度合いを示す第2のパラメータとを検出する検出ステップと、
前記第1のパラメータを前記マクロブロックの画素の数で割り算した第1の平均値と、 前記第2のパラメータを前記マクロブロックの画素の数で割り算した第2の平均値とから、所定の定数を乗じた前記第1の平均値と前記ピクチャの直前の I ピクチャについての第2の平均値であって、加算できるように単位を調整した第2の平均値との和に、1つの GOP ( Group of Picture )に含まれる I ピクチャの数を乗じて得られた値と、前記定数を乗じた前記第1の平均値と前記ピクチャの直前の P ピクチャについての第2の平均値であって、加算できるように単位を調整した第2の平均値との和に、1つの GOP に含まれる P ピクチャの数を乗じて得られた値と、前記定数を乗じた前記第1の平均値と前記ピクチャの直前の B ピクチャについての第2の平均値であって、加算できるように単位を調整した第2の平均値との和に、1つの GOP に含まれる B ピクチャの数を乗じて得られた値との総和に対する、前記定数を乗じた前記第1の平均値と前記ピクチャについての前記第2の平均値であって、加算できるように単位を調整した前記第2の平均値との和の比率を、 GOP の目標情報量に乗算することにより前記ピクチャの目標情報量を計算し、前記ピクチャの目標情報量、前記第1の平均値、および前記第2の平均値から、前記ピクチャに対する仮の量子化ステップを計算し、前記第1のパラメータと前記第1の平均値とから求められる係数を仮の量子化ステップに乗算することにより前記マクロブロックに対する量子化ステップを計算するとともに、1つの前記ピクチャの符号化中に前記ピクチャの発生情報量が前記目標情報量を超えた場合、1回だけ前記量子化ステップを大きくするように制御する制御ステップと、
前記量子化ステップを用いて前記ピクチャを量子化する量子化ステップと
を備えることを特徴とする画像処理方法。 - 1つのピクチャを複数のマクロブロックに分割して符号化する画像処理装置に使用するコンピュータプログラムであって、
前記マクロブロックを直交変換した画素データの上下または左右方向に隣接する画素間の差分に基づく前記マクロブロックの画像の複雑さの度合いを示す第1のパラメータと、前記マクロブロック内の前記画素データの平均値と各前記画素データとの偏差、または、前記マクロブロックの前記画素データと1つ前のフレームの対応するマクロブロックの前記画素データとの差に基づく前記マクロブロックの画像の複雑さの度合いを示す第2のパラメータとを検出する検出ステップと、
前記第1のパラメータを前記マクロブロックの画素の数で割り算した第1の平均値と、前記第2のパラメータを前記マクロブロックの画素の数で割り算した第2の平均値とから、所定の定数を乗じた前記第1の平均値と前記ピクチャの直前の I ピクチャについての第2の平均値であって、加算できるように単位を調整した第2の平均値との和に、1つの GOP ( Group of Picture )に含まれる I ピクチャの数を乗じて得られた値と、前記定数を乗じた前記第1の平均値と前記ピクチャの直前の P ピクチャについての第2の平均値であって、加算できるように単位を調整した第2の平均値との和に、1つの GOP に含まれる P ピクチャの数を乗じて得られた値と、前記定数を乗じた前記第1の平均値と前記ピクチャの直前の B ピクチャについての第2の平均値であって、加算できるように単位を調整した第2の平均値との和に、1つの GOP に含まれる B ピクチャの数を乗じて得られた値との総和に対する、前記定数を乗じた前記第1の平均値と前記ピクチャについての前記第2の平均値であって、加算できるように単位を調整した前記第2の平均値との和の比率を、 GOP の目標情報量に乗算することにより前記ピクチャの目標情報量を計算し、前記ピクチャの目標情報量、前記第1の平均値、および前記第2の平均値から、前記ピクチャに対する仮の量子化ステップを計算し、前記第1のパラメータと前記第1の平均値とから求められる係数を仮の量子化ステップに乗算することにより前記マクロブロックに対する量子化ステップを計算するとともに、1つの前記ピクチャの符号化中に前記ピクチャの発生情報量が前記目標情報量を超えた場合、1回だけ前記量子化ステップを大きくするように制御する制御ステップと、
前記量子化ステップを用いて前記ピクチャを量子化する量子化ステップと
を備えるコンピュータプログラムが記録されている記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35914597A JP4171934B2 (ja) | 1997-12-26 | 1997-12-26 | 画像処理装置および方法、並びに記録媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35914597A JP4171934B2 (ja) | 1997-12-26 | 1997-12-26 | 画像処理装置および方法、並びに記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11196424A JPH11196424A (ja) | 1999-07-21 |
JP4171934B2 true JP4171934B2 (ja) | 2008-10-29 |
Family
ID=18462982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP35914597A Expired - Fee Related JP4171934B2 (ja) | 1997-12-26 | 1997-12-26 | 画像処理装置および方法、並びに記録媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4171934B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7697608B2 (en) | 2004-02-03 | 2010-04-13 | Sony Corporation | Scalable MPEG video/macro block rate control |
JP4908943B2 (ja) * | 2006-06-23 | 2012-04-04 | キヤノン株式会社 | 画像符号化装置及び画像符号化方法 |
CN101682775B (zh) | 2007-03-14 | 2015-04-01 | 日本电信电话株式会社 | 运动矢量搜索方法和装置 |
WO2008111511A1 (ja) | 2007-03-14 | 2008-09-18 | Nippon Telegraph And Telephone Corporation | 符号量推定方法、装置、そのプログラムおよび記録媒体 |
CN101632308B (zh) | 2007-03-14 | 2011-08-03 | 日本电信电话株式会社 | 编码比特率控制方法和装置 |
ES2676119T3 (es) * | 2007-03-14 | 2018-07-16 | Nippon Telegraph And Telephone Corporation | Método de control de cuantificación, dispositivo, programa y medio de grabación que contiene el programa |
JP2010183181A (ja) * | 2009-02-03 | 2010-08-19 | Sanyo Electric Co Ltd | 画像処理装置、およびそれを搭載した撮像装置 |
-
1997
- 1997-12-26 JP JP35914597A patent/JP4171934B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11196424A (ja) | 1999-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6337879B1 (en) | Video data compression apparatus and method of same | |
EP0798930B1 (en) | Video coding apparatus | |
EP1063851B1 (en) | Apparatus and method of encoding moving picture signal | |
US5933532A (en) | Video data compression apparatus and method of same | |
EP1445958A1 (en) | Quantization method and system, for instance for video MPEG applications, and computer program product therefor | |
US20040037357A1 (en) | Method and apparatus for variable bit-rate control in video encoding systems and computer program product therefor | |
US20050281479A1 (en) | Method of and apparatus for estimating noise of input image based on motion compensation, method of eliminating noise of input image and encoding video using the method for estimating noise of input image, and recording media having recorded thereon program for implementing those methods | |
US20020085634A1 (en) | Video bitrate control method and device for digital video recording | |
CA2218866A1 (en) | Mpeg encoder that concurrently determines video data encoding format and rate control | |
JP3259702B2 (ja) | 動画像可変ビットレート符号化装置および方法 | |
JP3872849B2 (ja) | 動画像符号化装置 | |
US7903732B2 (en) | Method and apparatus for encoding a moving-picture signal by calculating the complexity of the moving-picture signal | |
JP3508916B2 (ja) | 動画像可変ビットレート符号化方法および装置 | |
JP4171934B2 (ja) | 画像処理装置および方法、並びに記録媒体 | |
JP2004523985A (ja) | ビデオ符号化方法及びこれに対応する符号化装置 | |
US7451080B2 (en) | Controlling apparatus and method for bit rate | |
JPH07203430A (ja) | 画像符号化装置 | |
JP3858520B2 (ja) | 動画像符号化装置及びその方法 | |
JP4035747B2 (ja) | 符号化装置および符号化方法 | |
JPH10290461A (ja) | レート制御装置及びレート制御方法 | |
JP4747109B2 (ja) | 演算量調整装置 | |
JPH11196423A (ja) | 画像処理装置および方法、並びに提供媒体 | |
JP3934772B2 (ja) | 可変転送レート符号化方法および装置 | |
JPH0646411A (ja) | 画像符号化装置 | |
KR100595144B1 (ko) | 적응형 양자화 제어 방법. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040421 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060904 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060907 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061013 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070413 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070608 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080522 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080626 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080717 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080730 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110822 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |