JP4171934B2 - Image processing apparatus and method, and recording medium - Google Patents

Image processing apparatus and method, and recording medium Download PDF

Info

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
Application number
JP35914597A
Other languages
Japanese (ja)
Other versions
JPH11196424A (en
Inventor
孝 加賀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP35914597A priority Critical patent/JP4171934B2/en
Publication of JPH11196424A publication Critical patent/JPH11196424A/en
Application granted granted Critical
Publication of JP4171934B2 publication Critical patent/JP4171934B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、画像処理装置および方法、並びに記録媒体に関し、特に、ディジタル衛星放送システムのエンコードにおける、フィードフォワード系のレートコントロールに適用して好適な画像処理装置および方法、並びに記録媒体に関する。
【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】

Figure 0004171934
パラメータ検出器10はまた、マクロブロックがイントラマクロブロックの場合、対象マクロブロックの画素データAm,nより、mae(mean absolute error)(actとは別の、マクロブロックの画像の複雑さの度合を示すパラメータ)を、式(2)と式(3)に従って計算する。
【数2】
Figure 0004171934
【0036】
これに対して、対象マクロブロックがノンイントラマクロブロックである場合、maeは式(4)により計算される。
【数3】
Figure 0004171934
ここでRm,nは、図5に示すように、1つ前のフレームの対象マクロブロックの、対応する画素データを表す。mae-aveは、このようにして求められたmaeのそのマクロブロックにおける総和を、画素数16×16で割り算して求められる。
【0037】
図3に戻って、レートコントローラ11は、ステップS22で、式(5)に従って、ピクチャの目標情報量target-bit-pictureを計算する。
【数4】
Figure 0004171934
なお、式(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】
Figure 0004171934
なお、これらの式の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】
Figure 0004171934
【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を修正する。
Figure 0004171934
右辺の第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 動き補償器[0001]
BACKGROUND OF THE INVENTION
  The present invention relates to an image processing apparatus and method, andrecoding mediaIn particular, an image processing apparatus and method suitable for application to rate control of a feedforward system in encoding of a digital satellite broadcasting system, andrecoding mediaAbout.
[0002]
[Prior art]
MPEG2 (Moving Picture Experts Group Phase 2) is adopted as an encoding system for digital television broadcasting represented by HDTV (High Definition Television) (trademark), for example. Digital television broadcasts can be multi-channeled compared to analog television broadcasts. As a result, not only the cost per channel can be reduced, but also various data broadcasts, not limited to video and audio. Enable service.
[0003]
For example, with respect to satellite broadcasting, several plans including DirecTv (trademark) in North America and PerfecTv (trademark) and JSkyB (trademark) in Japan are partly realized, and digital broadcasting using MPEG2 is increasingly It is becoming common.
[0004]
In these satellite broadcasts, an encoder that encodes an input source by the MPEG method is used. The encoder divides a television (hereinafter referred to as a television) image into m × n macroblocks, and converts the pixel data with an orthogonal function (for example, DCT (Discrete Cosine Transform)) for each macroblock. Concentrate power and compress the total amount of information.
[0005]
For example, TM (Test Model) 5 is known as one of algorithms for obtaining a decoded image with good image quality when compressing and encoding an image in conformity with the MPEG2 method. It has been. TM5 is composed of three steps, and the following processing is performed in each step.
[0006]
[Step 1]
The rate controller sets the target code amount of the frame to be encoded this time based on the complexity of the frame of the same picture type encoded last time.
[0007]
[Step 2]
The rate controller feeds back the data storage amount of the virtual buffer for managing the difference between the target code amount for each I, P, and B picture type and the generated code amount, and based on the data storage amount, Rate control is performed on the next macroblock to be encoded so that the generated code amount matches (substantially matches) the target code amount set in step 1.
[0008]
[Step 3]
The quantizer performs adaptive quantization based on the complexity of the macroblock to be encoded so that the image quality of the decoded image is improved in consideration of visual characteristics.
[0009]
Therefore, in TM5, for example, a parameter that changes according to the complexity of the image is C, a parameter that corresponds to the activity of the image is Q, and a parameter for matching the generated code amount to the target code amount is Q. Assuming that the one corresponding to the provisional quantization step determined from the data storage amount of each is used, the final quantization step MQUANT for quantizing the macroblock is determined according to the following equation, for example: .
MQUANT = f (C, Q)
Note that f (C, Q) is a function that outputs a value obtained by normalizing values corresponding to the arguments C and Q to a value within a predetermined range.
[0010]
[Problems to be solved by the invention]
As described above, in TM5, the quantization step is determined from the variable C for making the generated code amount correspond to the target code amount and the variable Q corresponding to the complexity of the image.
[0011]
Incidentally, the rate control performed by the rate controller in the above-described steps 1 and 2 basically controls the amount of generated information based on the occupation amount in the buffer, which is feedback control.
[0012]
However, according to the conventional feedback system rate control, there is a problem that noise is conspicuous and it is difficult to obtain a high-quality decoded image.
[0013]
The present invention has been made in view of such a situation. By performing rate control with emphasis on the feedforward system, it is possible to obtain a high-quality decoded image with less noise. It is.
[0014]
[Means for Solving the Problems]
  The image processing apparatus according to claim 1, a first parameter indicating a degree of complexity of an image of a macroblock based on a difference between pixels adjacent in the vertical and horizontal directions of pixel data obtained by orthogonally transforming the macroblock; Macroblock image complexity based on deviation between average value of pixel data in macroblock and each pixel data, or difference between pixel data of macroblock and pixel data of corresponding macroblock of previous frame Detecting means for detecting a second parameter indicating the degree ofA first average value obtained by dividing the first parameter by the number of pixels in the macroblock and a second average value obtained by dividing the second parameter by the number of pixels in the macroblock are multiplied by a predetermined constant. Average value of 1 and just before the picture I The sum of the second average value for the picture and the second average value with the unit adjusted so that addition is possible. GOP ( Group of Picture )include I The value obtained by multiplying the number of pictures, the first average value multiplied by a constant, and the value immediately before the picture P The sum of the second average value for the picture and the second average value with the unit adjusted so that addition is possible. GOP include P The value obtained by multiplying the number of pictures, the first average value multiplied by a constant, and the value immediately before the picture B The sum of the second average value for the picture and the second average value with the unit adjusted so that addition is possible. GOP include B A first average value obtained by multiplying the sum of the value obtained by multiplying the number of pictures by a constant and a second average value for the picture, and a second average value obtained by adjusting the unit so that addition is possible The ratio of the sum to GOP The target information amount of the picture is calculated by multiplying the target information amount of the picture, and a temporary quantization step for the picture is calculated from the target information amount of the picture, the first average value, and the second average value. By multiplying the temporary quantization step by a coefficient determined from the parameter of 1 and the first average valueA control means for calculating the quantization step and controlling so as to increase the quantization step only once when the amount of generated information of the picture exceeds the target information amount during encoding of one picture; And a quantizing means for quantizing the picture using.
[0015]
  The image processing method according to claim 4, a first parameter indicating a degree of complexity of an image of a macroblock based on a difference between pixels adjacent in the vertical and horizontal directions of pixel data obtained by orthogonally transforming the macroblock; Macroblock image complexity based on deviation between average value of pixel data in macroblock and each pixel data, or difference between pixel data of macroblock and pixel data of corresponding macroblock of previous frame A detection step of detecting a second parameter indicating the degree ofA first average value obtained by dividing the first parameter by the number of pixels in the macroblock and a second average value obtained by dividing the second parameter by the number of pixels in the macroblock are multiplied by a predetermined constant. Average value of 1 and just before the picture I The sum of the second average value for the picture and the second average value with the unit adjusted so that addition is possible. GOP ( Group of Picture )include I The value obtained by multiplying the number of pictures, the first average value multiplied by a constant, and the value immediately before the picture P The sum of the second average value for the picture and the second average value with the unit adjusted so that addition is possible. GOP include P The value obtained by multiplying the number of pictures, the first average value multiplied by a constant, and the value immediately before the picture B The sum of the second average value for the picture and the second average value with the unit adjusted so that addition is possible. GOP include B A first average value obtained by multiplying the sum of the value obtained by multiplying the number of pictures by a constant and a second average value for the picture, and a second average value obtained by adjusting the unit so that addition is possible The ratio of the sum to GOP The target information amount of the picture is calculated by multiplying the target information amount of the picture, and a temporary quantization step for the picture is calculated from the target information amount of the picture, the first average value, and the second average value. By multiplying the temporary quantization step by a coefficient determined from the parameter of 1 and the first average valueA control step for calculating a quantization step, and for controlling to increase the quantization step only once when the amount of generated information of a picture exceeds a target information amount during encoding of one picture; and a quantization step And a quantization step for quantizing the picture using.
[0016]
  The recording medium according to claim 5 includes a first parameter indicating a degree of complexity of an image of a macroblock based on a difference between pixels adjacent in the vertical and horizontal directions of pixel data obtained by orthogonally transforming the macroblock, and a macro The difference between the average value of the pixel data in the block and each pixel data, or the complexity of the image of the macroblock based on the difference between the pixel data of the macroblock and the pixel data of the corresponding macroblock of the previous frame A detecting step for detecting a second parameter indicating the degree;A first average value obtained by dividing the first parameter by the number of pixels in the macroblock and a second average value obtained by dividing the second parameter by the number of pixels in the macroblock are multiplied by a predetermined constant. Average value of 1 and just before the picture I The sum of the second average value for the picture and the second average value with the unit adjusted so that addition is possible. GOP ( Group of Picture )include I The value obtained by multiplying the number of pictures, the first average value multiplied by a constant, and the value immediately before the picture P The sum of the second average value for the picture and the second average value with the unit adjusted so that addition is possible. GOP include P The value obtained by multiplying the number of pictures, the first average value multiplied by a constant, and the value immediately before the picture B The sum of the second average value for the picture and the second average value with the unit adjusted so that addition is possible. GOP include B A first average value obtained by multiplying the sum of the value obtained by multiplying the number of pictures by a constant and a second average value for the picture, and a second average value obtained by adjusting the unit so that addition is possible The ratio of the sum to GOP The target information amount of the picture is calculated by multiplying the target information amount of the picture, and a temporary quantization step for the picture is calculated from the target information amount of the picture, the first average value, and the second average value. By multiplying the temporary quantization step by a coefficient determined from the parameter of 1 and the first average valueA control step for calculating a quantization step, and for controlling to increase the quantization step only once when the amount of generated information of a picture exceeds a target information amount during encoding of one picture; and a quantization step A computer program comprising a quantization step for quantizing a picture using a computer is recorded.
[0017]
  The image processing apparatus according to claim 1, the image processing method according to claim 4, and the recording medium according to claim 5, wherein the pixel data obtained by orthogonally transforming the macroblock are vertically or horizontally adjacent pixels. The first parameter indicating the degree of complexity of the image of the macroblock based on the difference between the average value of the pixel data in the macroblock and each pixel data, or the pixel data of the macroblock and the previous one A second parameter indicating a degree of complexity of the image of the macroblock based on a difference from the pixel data of the corresponding macroblock of the frame;A first average value obtained by dividing the first parameter by the number of pixels in the macroblock and a second average value obtained by dividing the second parameter by the number of pixels in the macroblock are multiplied by a predetermined constant. Average value of 1 and just before the picture I The sum of the second average value for the picture and the second average value with the unit adjusted so that addition is possible. GOP ( Group of Picture )include I The value obtained by multiplying the number of pictures, the first average value multiplied by a constant, and the value immediately before the picture P The sum of the second average value for the picture and the second average value with the unit adjusted so that addition is possible. GOP include P The value obtained by multiplying the number of pictures, the first average value multiplied by a constant, and the value immediately before the picture B The sum of the second average value for the picture and the second average value with the unit adjusted so that addition is possible. GOP include B A first average value obtained by multiplying the sum of the value obtained by multiplying the number of pictures by a constant and a second average value for the picture, and a second average value obtained by adjusting the unit so that addition is possible The ratio of the sum to GOP The target information amount of the picture is calculated by multiplying the target information amount of the picture, and a provisional quantization step for the picture is calculated from the target information amount of the picture, the first average value, and the second average value. By multiplying the temporary quantization step by a coefficient determined from the parameter of 1 and the first average valueWhen the quantization step is calculated and the generated information amount of the picture exceeds the target information amount during encoding of one picture, the quantization step is controlled to be increased only once, and the quantization step is used. The picture is quantized.
[0018]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described below, but in order to clarify the correspondence between each means of the invention described in the claims and the following embodiments, in parentheses after each means, The features of the present invention will be described with the corresponding embodiment (however, an example) added. However, of course, this description does not mean that each means is limited to the description.
[0019]
  The image processing apparatus according to claim 1, a first parameter indicating a degree of complexity of an image of a macroblock based on a difference between pixels adjacent in the vertical and horizontal directions of pixel data obtained by orthogonally transforming the macroblock; Macroblock image complexity based on deviation between average value of pixel data in macroblock and each pixel data, or difference between pixel data of macroblock and pixel data of corresponding macroblock of previous frame Detecting means (for example, parameter detector 10 in FIG. 1) for detecting a second parameter indicating the degree ofA first average value obtained by dividing the first parameter by the number of pixels in the macroblock and a second average value obtained by dividing the second parameter by the number of pixels in the macroblock are multiplied by a predetermined constant. Average value of 1 and just before the picture I The sum of the second average value for the picture and the second average value with the unit adjusted so that addition is possible. GOP ( Group of Picture )include I The value obtained by multiplying the number of pictures, the first average value multiplied by a constant, and the value immediately before the picture P The sum of the second average value for the picture and the second average value with the unit adjusted so that addition is possible. GOP include P The value obtained by multiplying the number of pictures, the first average value multiplied by a constant, and the value immediately before the picture B The sum of the second average value for the picture and the second average value with the unit adjusted so that addition is possible. GOP include B A first average value obtained by multiplying the sum of the value obtained by multiplying the number of pictures by a constant and a second average value for the picture, and a second average value obtained by adjusting the unit so that addition is possible The ratio of the sum to GOP The target information amount of the picture is calculated by multiplying the target information amount of the picture, and a temporary quantization step for the picture is calculated from the target information amount of the picture, the first average value, and the second average value. By multiplying the temporary quantization step by a coefficient determined from the parameter of 1 and the first average valueControl means for calculating the quantization step and controlling to increase the quantization step only once when the generated information amount of the picture exceeds the target information amount during encoding of one picture (for example, FIG. 1 The rate controller 11) and quantization means for quantizing the picture using the quantization step (for example, the quantizer 2 in FIG. 1) are provided.
[0020]
Hereinafter, an embodiment of an image processing apparatus to which the present invention is applied will be described with reference to the drawings. FIG. 1 is a block diagram showing a configuration of an image processing apparatus to which the present invention is applied.
[0021]
The computing unit 1 subtracts the predicted image data motion-compensated by the motion compensator 8 from the input image data, and outputs the difference data to the quantizer 2. The quantizer 2 quantizes the input image data and outputs it to the variable length encoder 3 and the inverse quantizer 5. The variable length encoder 3 performs variable length encoding on the quantized data input from the quantizer 2 and the motion vector supplied from the motion vector detector 9, and outputs the result to the buffer 4. The buffer 4 outputs the variable length data supplied from the input variable length encoder 3 to a predetermined transmission path.
[0022]
The inverse quantizer 5 inversely quantizes the quantized data input from the quantizer 2 and outputs it to the computing unit 6. The computing unit 6 adds the predicted image data motion-compensated by the motion compensator 8 to the difference data input from the inverse quantizer 5, converts it to the original image data, and supplies it to the frame memory 7. , Remember. The motion vector detector 9 detects a motion vector of the input image data and outputs the motion vector to the motion compensator 8 and the variable length encoder 3. The motion compensator 8 performs motion compensation on the image data read from the frame memory 7 in accordance with the motion vector, and generates predicted image data.
[0023]
The parameter detector 10 detects a parameter corresponding to the complexity of the input image data using the output of the motion vector detector 9 and outputs it to the rate controller 11. The rate controller 11 is also supplied with data relating to the data occupancy of the buffer 4. An ECS (Encoder Control Subsystem) 12 supplies bit rate parameters to the rate controller 11. The rate controller 11 controls the quantization step of the quantizer 2 in response to the data from the parameter detector 10, the buffer 4, and the ECS 12.
[0024]
The above is the configuration on the transmission side. Next, the configuration on the reception side will be described. The buffer 31 temporarily stores the encoded data supplied via the transmission path, and outputs this to the variable length decoder 32. The variable length decoder 32 demodulates the input encoded data, supplies the image data component to the inverse quantizer 33, and outputs the motion vector to the motion compensator 36. The computing unit 34 adds the predicted image data supplied from the motion compensator 36 to the output of the inverse quantizer 33 and outputs the decoded image data. The decoded image data is supplied to and stored in the frame memory 35. The motion compensator 36 performs motion compensation corresponding to the motion vector on the image data stored in the frame memory 35 to generate prediction data.
[0025]
Normally, the quantized data is DCT transformed and then converted into a variable length code. Therefore, inverse DCT transformation is performed before inverse quantization, but it is omitted here for simplicity.
[0026]
Next, the basic operation will be described. On the transmission side, the motion vector detector 9 detects the motion vector of the input image data and outputs it to the motion compensator 8. The motion compensator 8 performs motion compensation on the image data read from the frame memory 7 in response to the motion vector, generates predicted image data, and outputs the prediction image data to the computing unit 1. The computing unit 1 subtracts the predicted image data from the input image data and outputs it to the quantizer 2. The quantizer 2 quantizes the input image data and outputs the quantized image data to the variable length encoder 3. The variable length encoder 3 converts the quantized data input from the quantizer 2 and the motion vector supplied from the motion vector detector 9 into a variable length code, and transmits the variable length code to the transmission path via the buffer 4. .
[0027]
On the other hand, the quantized data output from the quantizer 2 is dequantized by the dequantizer 5 and then input to the arithmetic unit 6. The computing unit 6 adds the predicted image data output from the motion compensator 8 to the output of the inverse quantizer 5, restores the original image data, supplies the frame image to the frame memory 7, and stores it.
[0028]
On the other hand, on the receiving side, the encoded data transmitted from the transmission path is temporarily stored in the buffer 31 and then input to the variable length decoder 32. The variable length decoder 32 decodes the input encoded data, outputs the image data component to the inverse quantizer 33, and supplies the motion vector to the motion compensator 36. The inverse quantizer 33 inversely quantizes the input image data and outputs it to the computing unit 34. The motion compensator 36 performs motion compensation on the image data stored in the frame memory 35 corresponding to the motion vector, generates predicted image data, and outputs the predicted image data to the calculator 34. The computing unit 34 adds the output of the inverse quantizer 33 and the predicted image data output from the motion compensator 36, and decodes and outputs the original image data. This image data is also supplied to and stored in the frame memory 35 for generating predicted image data.
[0029]
FIG. 2 is a flowchart for explaining the operation of controlling the quantizer of the image processing apparatus of FIG.
[0030]
First, in step S1, the rate controller 11 determines whether or not to start processing a picture. When it is determined that the processing of a picture should not be started (when it is a blank period from the end of the processing of the previous picture to the start of the processing of the next picture), the processing of the picture Wait until it is determined that it is okay to start. If it is determined that the processing of the picture may be started, the process proceeds to step S2, and the rate controller 11 performs the picture preprocessing. Next, the rate controller 11 performs macroblock processing in step S3. The rate controller 11 determines whether or not there are any unprocessed macroblocks in step S4. If it is determined that there are still unprocessed macroblocks, the process returns to step S3, and the rate controller 11 repeats the same processing until there are no unprocessed macroblocks.
[0031]
If it is determined that there are no more unprocessed macroblocks, the process proceeds to step S5, and the rate controller 11 performs post-picture processing. When the process of step S5 is completed, the process returns to step S1, and the rate controller 11 processes the image data of the next picture.
[0032]
Next, the details of the picture preprocessing performed by the rate controller 11 in step S2 of FIG. 2 will be described with reference to FIG.
[0033]
First, in step S21, the rate controller 11 receives the average act-avg of activity and the average mae-avg of mae of the macroblock in the picture to be processed from the parameter detector 10.
[0034]
Here, a procedure when the parameter detector 10 of FIG. 1 calculates act-avg and mae-avg will be described with reference to FIGS. 4 and 5. As described above, the input image of each frame is divided into m × n macroblocks, and each macroblock is converted with an orthogonal function (for example, DCT (Discrete Cosine Transform)) or motion vector detection is performed. It is done. FIG. 4 is a diagram illustrating an example of pixel data of a macroblock that is orthogonally transformed in an image. As shown in the figure, one macro block is composed of 16 × 16 pixels.
[0035]
The parameter detector 10 calculates an activity act (a parameter indicating the degree of complexity of the image) from the pixel data Am, n of the target macroblock shown in FIG. 4 according to the equation (1).
[Expression 1]
Figure 0004171934
Further, when the macro block is an intra macro block, the parameter detector 10 determines the degree of complexity of the macro block image from the pixel data Am, n of the target macro block based on mae (mean absolute error) (act). (Parameters shown) are calculated according to equations (2) and (3).
[Expression 2]
Figure 0004171934
[0036]
On the other hand, when the target macroblock is a non-intra macroblock, mae is calculated by Expression (4).
[Equation 3]
Figure 0004171934
Here, as shown in FIG. 5, Rm, n represents the corresponding pixel data of the target macroblock of the previous frame. mae-ave is obtained by dividing the sum of mae obtained in this way in the macro block by the number of pixels of 16 × 16.
[0037]
Returning to FIG. 3, in step S22, the rate controller 11 calculates the target information amount target-bit-picture of the picture according to the equation (5).
[Expression 4]
Figure 0004171934
In the expression (5), “int” means a function that takes a numerical integer in parentheses. The logarithmic calculation in parentheses is for adjusting the unit so that act-avg and mae-avg having different calculation methods can be added. KThreeIs a constant. mae-prev represents the mae of the previous picture. i means I-picture, P-picture, B-picture, so mae-prev [i] is mae-prev [I-picture], mae-prev [P-picture], or mae- It means prev [B-picture]. N means the number of each picture in one GOP. In the case of a normal GOP, N [I-picture] = 1, N [P-picture] = 4, and N [B-picture] = 10.
[0038]
This processing corresponds to step 1 of TM5. The mae-avg used in this method is a feedforward parameter that was not found in Step 1 of TM5.
[0039]
In step S23, the rate controller 11 determines whether or not it is a scene change. If it is determined that it is a scene change, the process proceeds to step S24, and the rate controller 11 sets a parameter corresponding to the temporary quantization step (a variable close to the variable used in step 2 of TM5, but the calculation method is different) ( (reference-qsc) is initialized according to equations (6) and (7).
[Equation 5]
Figure 0004171934
Note that K in these equationsFour, KFiveIs a constant. The target-bit represents the target generation information amount of the picture and is the same as the target-bit-picture in the equation (5).
[0040]
The logarithmic calculation used in the calculation of the quantization step qsc in Equation (6) and the rc-parameter are for adjusting the unit so that act-avg and mae-avg having different calculation methods can be added. Is. The qs-table in the equation (7) means a table for converting the target information amount obtained in step S22 into qsc (quantizer scale code). Further, the quantization step qsc is temporarily calculated based on only the parameter indicating the complexity of the image. This process corresponds to Step 1 of TM5, but is a feedforward process that was not seen in TM5. The rate controller 11 further proceeds to step S25, and sets a variable (m-param) for matching the generated code amount of the data obtained by encoding the image to the target code amount to 0.
[0041]
If it is determined in step S23 that it is not a scene change, the process proceeds to step S26, and the rate controller 11 determines the picture types of I, P, and B. If it is determined that the picture type is a B picture, the process proceeds to step S27, and the rate controller 11 follows the following equation (8) to set a variable (m-param) for matching the generated code amount with the target code amount. ).
m-param = {mae-prev [B-PICTURE]} / {mae-prev [I-PICTURE]} (8)
If it is determined that the picture type is an I picture, the process proceeds to step S28, and the rate controller 11 sets a reference-qsc (a variable close to the variable used in step 2 of TM5) according to the equations (9) and (10). However, the calculation method is different).
[Formula 6]
Figure 0004171934
[0042]
After the process of step S28 is completed, or when it is determined in step S26 that the picture type is a P picture (step S28 is skipped), the process proceeds to step S29, and the rate controller 11 calculates the equation (11). According to, m-param is calculated.
m-param = {mae-prev [P-PICTURE]} / {mae-prev [I-PICTURE]} (11)
[0043]
After the processes of steps S25, S27, and S29 are completed, the process proceeds to step S30, and the rate controller 11 sets the parameter qsc-up indicating the increase of the quantization step to 0, and ends the pre-quantization process for the current picture.
[0044]
Next, macroblock processing performed by the rate controller 11 in step S3 of FIG. 2 will be described with reference to FIG.
[0045]
First, in step S41, the rate controller 11 receives supply of act and mae (calculated by the equations (1) to (4)) from the parameter detector 10. In step S42, the rate controller 11 calculates an activity expected value act ′ according to the equation (12).
act '= (act-act-ave) x m-param + act-ave (12)
In step S43, the rate controller 11 calculates the quantization step qsc according to the equation (13).
qsc = {(2act '+ act-ave) / (act' + 2act-ave)} × reference-qsc (13)
[0046]
The act ave used here is that of the previously processed picture in TM5, but in this method, the picture of the picture to be quantized at that time is pre-processed in step S21 in FIG. 3 before processing. It differs from TM5's MQUANT in that it is calculated and used.
[0047]
In step S44, the rate controller 11 calculates the amount of generated information in the picture according to equation (14).
picture-bit-generated = picture-bit-generated + bit-generated (14)
Bit-generated means the amount of generated information in the target macroblock in the picture. In step S45, the rate controller 11 determines whether or not the parameter qsc-up indicating an increase in the quantization step is zero. If it is determined that qsc-up = 0, the process proceeds to step S46, where the rate controller 11 calculates the amount of generated information in the picture (accumulated value in the macroblock) picture-bit-generated calculated in step S44. It is determined whether or not the target information amount is larger than the target information amount target-bit-picture calculated in step S22.
[0048]
If it is determined that the amount of generated information is larger than the target information amount, the process proceeds to step S47, and the rate controller 11 increments reference-qsc by 1 to bring the generated information amount close to the target information amount, and qsc− Set up = 1. This reference-qsc is used next time in step S24 or step S28 in FIG. In contrast to the determination in step S46, in TM5, corresponding step 2, it is determined whether the amount of generated information for each macroblock, not for each picture, is larger than the target information amount.
[0049]
If it is determined in step S45 that qsc-up is not 0, if it is determined in step S46 that the amount of generated picture information (accumulated value in the macroblock) is not larger than the target information amount, or step S47. After the above process ends, the rate controller 11 ends the process of the target macroblock.
[0050]
Next, with reference to FIG. 7, the post picture processing performed by the rate controller 11 in step S5 of FIG. 2 will be described.
[0051]
First, in step S61, the rate controller 11 corrects the target information amount target-bit-GOP in GOP (Group of Picture) units according to the equation (15).
Figure 0004171934
The second term on the right side shows the target information amount of the picture, and the third term shows the amount of generated information of the picture.
[0052]
In step S62, the rate controller 11 determines whether the picture is an I picture or a P picture. If it is determined that the picture is an I picture or a P picture, the process proceeds to step S63, and the rate controller 11 sets act-prev or mae-prev to the previous act or mae, and updates the value. To do. In step S64, the rate controller 11 determines whether the accumulated value of the generated information amount is larger than the target information amount. When it is determined that the generated information amount is larger than the target information amount, the process proceeds to step S65, and the rate controller 11 increments reference-qsc and rc-parameter by 1. This value is used next time in step S24 or step S28 in FIG.
[0053]
When it is determined that the generated information amount is not larger than the target information amount, the process proceeds to step S66, and the rate controller 11 determines whether or not the generated information amount is smaller than the target information amount. When it is determined that the generated information amount is smaller than the target information amount, the process proceeds to step S67, and the rate controller 11 causes the reference-qsc and rc-parameter so that the accumulated value of the generated information amount in the GOP approaches the target information amount. Is decremented by 1, and picture post-processing is terminated. This value is used next time in step S24 or step S28 in FIG. When it is determined in step S66 that the generated information amount is not smaller than the target information amount (that is, when the generated information amount is equal to the target information amount), reference-qsc and rc-parameter are left as they are.
[0054]
The processes in step S47 in FIG. 6 and steps S65 and S67 in FIG. 7 are performed only once when conditions are matched during processing of one picture. Thereby, the parameter of the quantizer 2 that quantizes each picture operates so as not to change so much (the value of the parameter becomes constant). Also, step S21 (input of act-avg, mae-avg), step S22 (target information amount calculation), steps S24, S28 (calculation of reference-qsc), steps S25, S27, S29 (m-param) in FIG. The specific gravity of the feedforward process is increased by the process of (Calculation of). Thereby, it is possible to provide a high-quality image with less noise.
[0055]
The rate controller 11 controls the quantization step of the quantizer 2 with the output qsc as described above. Information regarding the bit rate supplied from the ECS 12 and the occupation amount supplied from the buffer 4 is used in the rate controller 11 when determining the target-bit.
[0056]
As a providing medium for providing a user with a computer program for performing the processing as described above, a communication medium such as a network or satellite can be used in addition to a recording medium such as a magnetic disk, a CD-ROM, or a solid memory. .
[0057]
【The invention's effect】
  As described above, the image processing apparatus according to claim 1,Claim 4An image processing method according to claim 1, andClaim 5According to the recording medium described in (4), it is possible to provide a high-quality decoded image with less noise.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of an image processing apparatus to which the present invention is applied.
2 is a flowchart illustrating a quantizer control operation of the rate controller 11 of the image processing apparatus of FIG. 1;
FIG. 3 is a flowchart for explaining picture preprocessing in step S2 of FIG. 2;
FIG. 4 is a diagram illustrating a target macroblock.
FIG. 5 is a diagram illustrating a target macroblock and a search macroblock.
FIG. 6 is a flowchart for explaining macroblock processing in step S3 of FIG. 2;
FIG. 7 is a flowchart for explaining post-picture processing in step S5 of FIG.
[Explanation of symbols]
1 arithmetic unit, 2 quantizer, 3 variable length encoder, 4 buffer, 5 inverse quantizer, 6 arithmetic unit, 7 frame memory, 8 motion compensator, 9 motion vector detector, 10 parameter detector, 11 Rate controller, 12 ECS, 31 buffer, 32 variable length decoder, 33 inverse quantizer, 34 arithmetic unit, 35 frame memory, 36 motion compensator

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回だけ前記量子化ステップを大きくするように制御する制御手段と、
前記量子化ステップを用いて前記ピクチャを量子化する量子化手段と
を備えることを特徴とする画像処理装置。
In an image processing apparatus that divides and encodes one picture into a plurality of macroblocks,
A first parameter indicating a degree of complexity of the image of the macroblock based on a difference between pixels adjacent in the vertical or horizontal direction of pixel data obtained by orthogonally transforming the macroblock; and the pixel data of the macroblock Degree of average value and each pixel data, or degree of complexity of the image of the macroblock based on the difference between the pixel data of the macroblock and the pixel data of the corresponding macroblock of the previous frame Detecting means for detecting a second parameter indicating
A predetermined constant is obtained from a first average value obtained by dividing the first parameter by the number of pixels of the macroblock and a second average value obtained by dividing the second parameter by the number of pixels of the macroblock. The sum of the first average value multiplied by and the second average value for the I picture immediately before the picture, the second average value of which the unit has been adjusted so as to be added, is equal to one GOP ( A value obtained by multiplying the number of I pictures included in the Group of Picture ), the first average value multiplied by the constant, and the second average value for the P picture immediately before the picture, A value obtained by multiplying the sum of the second average value adjusted in units so as to be added by the number of P pictures included in one GOP , the first average value multiplied by the constant, and the second average value der for the immediately preceding B picture of the picture Te, the sum of the second average value obtained by adjusting the unit to allow the addition, to the sum of the values obtained by multiplying the number of B pictures included in one GOP, the multiplied by the constant first By multiplying the target information amount of GOP by the ratio of the sum of the average value of the GOP and the second average value of the picture, the second average value of which the unit is adjusted so as to be added. Calculating a target information amount of a picture, calculating a temporary quantization step for the picture from the target information amount of the picture, the first average value, and the second average value; and Calculating a quantization step for the macroblock by multiplying a temporary quantization step by a coefficient obtained from the first average value, and generating information of the picture during encoding of the one picture Control means for controlling to increase the quantization step only once when the amount exceeds the target information amount;
An image processing apparatus comprising: quantization means for quantizing the picture using the quantization step.
前記検出手段は、前記マクロブロックがイントラマクロブロックである場合、前記マクロブロック内の前記画素データの平均値と各前記画素データとの偏差に基づいて前記第2のパラメータを検出し、前記マクロブロックがノンイントラマクロブロックである場合、前記マクロブロックの前記画素データと1つ前のフレームの対応するマクロブロックの前記画素データとの差に基づいて前記第2のパラメータを検出する
ことを特徴とする請求項1に記載の画像処理装置。
When the macroblock is an intra macroblock, the detection means detects the second parameter based on a deviation between an average value of the pixel data in the macroblock and each of the pixel data, and the macroblock Is a non-intra macroblock, the second parameter is detected based on a difference between the pixel data of the macroblock and the pixel data of a corresponding macroblock of the previous frame. The image processing apparatus according to claim 1.
前記制御手段は、前記ピクチャを符号化した後、前記ピクチャの発生情報量が前記目標情報量より大きい場合、次のピクチャに用いる前記量子化ステップが大きくなるように制御し、前記ピクチャの発生情報量が前記目標情報量より小さい場合、次のピクチャに用いる前記量子化ステップが小さくなるように制御する
ことを特徴とする請求項1に記載の画像処理装置。
The control means, after encoding the picture, controls so that the quantization step used for the next picture becomes larger when the generated information amount of the picture is larger than the target information amount. 2. The image processing apparatus according to claim 1, wherein when the amount is smaller than the target information amount, the quantization step used for the next picture is controlled to be small.
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回だけ前記量子化ステップを大きくするように制御する制御ステップと、
前記量子化ステップを用いて前記ピクチャを量子化する量子化ステップと
を備えることを特徴とする画像処理方法。
In an image processing method for encoding a picture divided into a plurality of macroblocks,
A first parameter indicating a degree of complexity of the image of the macroblock based on a difference between pixels adjacent in the vertical or horizontal direction of pixel data obtained by orthogonally transforming the macroblock; and the pixel data of the macroblock Degree of average value and each pixel data, or degree of complexity of the image of the macroblock based on the difference between the pixel data of the macroblock and the pixel data of the corresponding macroblock of the previous frame A detection step of detecting a second parameter indicating
A predetermined constant is obtained from a first average value obtained by dividing the first parameter by the number of pixels of the macroblock and a second average value obtained by dividing the second parameter by the number of pixels of the macroblock. The sum of the first average value multiplied by and the second average value for the I picture immediately before the picture, the second average value of which the unit has been adjusted so as to be added, is equal to one GOP ( A value obtained by multiplying the number of I pictures included in the Group of Picture ), the first average value multiplied by the constant, and the second average value for the P picture immediately before the picture, A value obtained by multiplying the sum of the second average value adjusted in units so as to be added by the number of P pictures included in one GOP , the first average value multiplied by the constant, and the second average value der for the immediately preceding B picture of the picture Te, the sum of the second average value obtained by adjusting the unit to allow the addition, to the sum of the values obtained by multiplying the number of B pictures included in one GOP, the multiplied by the constant first By multiplying the target information amount of GOP by the ratio of the sum of the average value of the GOP and the second average value of the picture, the second average value of which the unit is adjusted so as to be added. Calculating a target information amount of a picture, calculating a temporary quantization step for the picture from the target information amount of the picture, the first average value, and the second average value; and Calculating a quantization step for the macroblock by multiplying a temporary quantization step by a coefficient obtained from the first average value, and generating information of the picture during encoding of the one picture A control step for controlling to increase the quantization step only once when the amount exceeds the target information amount;
An image processing method comprising: a quantization step for quantizing the picture using the quantization step.
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回だけ前記量子化ステップを大きくするように制御する制御ステップと、
前記量子化ステップを用いて前記ピクチャを量子化する量子化ステップと
を備えるコンピュータプログラムが記録されている記録媒体。
A computer program used for an image processing apparatus that divides and encodes a picture into a plurality of macroblocks,
A first parameter indicating a degree of complexity of the image of the macroblock based on a difference between pixels adjacent in the vertical or horizontal direction of pixel data obtained by orthogonally transforming the macroblock; and the pixel data of the macroblock Degree of average value and each pixel data, or degree of complexity of the image of the macroblock based on the difference between the pixel data of the macroblock and the pixel data of the corresponding macroblock of the previous frame A detection step of detecting a second parameter indicating
A predetermined constant is obtained from a first average value obtained by dividing the first parameter by the number of pixels of the macroblock and a second average value obtained by dividing the second parameter by the number of pixels of the macroblock. The sum of the first average value multiplied by and the second average value for the I picture immediately before the picture, the second average value of which the unit has been adjusted so as to be added, is equal to one GOP ( A value obtained by multiplying the number of I pictures included in the Group of Picture ), the first average value multiplied by the constant, and the second average value for the P picture immediately before the picture, A value obtained by multiplying the sum of the second average value adjusted in units so as to be added by the number of P pictures included in one GOP , the first average value multiplied by the constant, and the second average value der for the immediately preceding B picture of the picture Te, the sum of the second average value obtained by adjusting the unit to allow the addition, to the sum of the values obtained by multiplying the number of B pictures included in one GOP, the multiplied by the constant first By multiplying the target information amount of GOP by the ratio of the sum of the average value of the GOP and the second average value of the picture, the second average value of which the unit is adjusted so as to be added. Calculating a target information amount of a picture, calculating a temporary quantization step for the picture from the target information amount of the picture, the first average value, and the second average value; and Calculating a quantization step for the macroblock by multiplying a temporary quantization step by a coefficient obtained from the first average value, and generating information of the picture during encoding of the one picture A control step for controlling to increase the quantization step only once when the amount exceeds the target information amount;
A recording medium on which a computer program comprising: a quantization step for quantizing the picture using the quantization step is recorded.
JP35914597A 1997-12-26 1997-12-26 Image processing apparatus and method, and recording medium Expired - Fee Related JP4171934B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP35914597A JP4171934B2 (en) 1997-12-26 1997-12-26 Image processing apparatus and method, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP35914597A JP4171934B2 (en) 1997-12-26 1997-12-26 Image processing apparatus and method, and recording medium

Publications (2)

Publication Number Publication Date
JPH11196424A JPH11196424A (en) 1999-07-21
JP4171934B2 true JP4171934B2 (en) 2008-10-29

Family

ID=18462982

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35914597A Expired - Fee Related JP4171934B2 (en) 1997-12-26 1997-12-26 Image processing apparatus and method, and recording medium

Country Status (1)

Country Link
JP (1) JP4171934B2 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
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 (en) * 2006-06-23 2012-04-04 キヤノン株式会社 Image coding apparatus and image coding method
ES2369214T3 (en) 2007-03-14 2011-11-28 Nippon Telegraph And Telephone Corporation METHOD AND DEVICE FOR ESTIMATING THE AMOUNT OF CODE, ITS PROGRAM AND STORAGE ENVIRONMENT.
CA2679767C (en) 2007-03-14 2013-06-25 Nippon Telegraph And Telephone Corporation Encoding bit-rate control method and apparatus, program therefor, and storage medium which stores the program
WO2008111454A1 (en) * 2007-03-14 2008-09-18 Nippon Telegraph And Telephone Corporation Quantization control method, device, program, and recording medium containing the program
BRPI0808567A2 (en) 2007-03-14 2014-09-02 Nippon Telegraph & Telephone MOVEMENT VECTOR SEARCH METHOD AND APPARATUS, PROGRAM FOR THE SAME, AND STORAGE MEDIA, STORING THE PROGRAM
JP2010183181A (en) * 2009-02-03 2010-08-19 Sanyo Electric Co Ltd Image processing apparatus and imaging apparatus equipped with the same

Also Published As

Publication number Publication date
JPH11196424A (en) 1999-07-21

Similar Documents

Publication Publication Date Title
US7881373B2 (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
US7903732B2 (en) Method and apparatus for encoding a moving-picture signal by calculating the complexity of the moving-picture signal
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 (en) Moving picture variable bit rate coding apparatus and method
US7451080B2 (en) Controlling apparatus and method for bit rate
JP3872849B2 (en) Video encoding device
JP3508916B2 (en) Moving image variable bit rate encoding method and apparatus
JP4171934B2 (en) Image processing apparatus and method, and recording medium
JP2004523985A (en) Video encoding method and corresponding encoding device
JPH07203430A (en) Image coding device
JP3858520B2 (en) Video encoding apparatus and method
JP4035747B2 (en) Encoding apparatus and encoding method
JPH10290461A (en) Rate controller and rate control method
JP4747109B2 (en) Calculation amount adjustment device
JPH11196423A (en) Device and method for picture processing and presentation medium
JP3934772B2 (en) Variable transfer rate encoding method and apparatus
JPH0646411A (en) Picture coder
KR100595144B1 (en) An adaptive quantization algorithm for video coding

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