JP2001036906A - ブロック歪低減方法及びブロック歪低減装置 - Google Patents
ブロック歪低減方法及びブロック歪低減装置Info
- Publication number
- JP2001036906A JP2001036906A JP20525999A JP20525999A JP2001036906A JP 2001036906 A JP2001036906 A JP 2001036906A JP 20525999 A JP20525999 A JP 20525999A JP 20525999 A JP20525999 A JP 20525999A JP 2001036906 A JP2001036906 A JP 2001036906A
- Authority
- JP
- Japan
- Prior art keywords
- block distortion
- block
- correction
- correction value
- image data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
(57)【要約】
【課題】 水平方向ブロック境界と垂直方向ブロック境
界の交差点におけるブロック歪補正の矛盾による破綻を
回避して、安定したブロック歪の低減あるいは除去を行
う。 【解決手段】 入力画像データから符号化の難易度を示
すパラメータを検出する符号化難易度判定回路74,8
4により検出するとともに、上記入力画像データからブ
ロック歪判定に必要なパラメータを演算するパラメータ
演算回路73,83により演算し、上記符号化の難易度
を示すパラメータ及び演算されたパラメータ基づいて、
ブロック歪判定及び補正値算出回路74,84により、
ブロック歪を判定して上記ブロック歪を低減するための
補正値を算出し、水平方向及び垂直方向のブロック境界
の交差位置で補正値を調整することによって、水平方向
ブロック境界と垂直方向ブロック境界の交差点における
ブロック歪補正の矛盾による破綻を回避し、上記補正値
による補正を補正回路60により上記入力画像データに
対して施す。
界の交差点におけるブロック歪補正の矛盾による破綻を
回避して、安定したブロック歪の低減あるいは除去を行
う。 【解決手段】 入力画像データから符号化の難易度を示
すパラメータを検出する符号化難易度判定回路74,8
4により検出するとともに、上記入力画像データからブ
ロック歪判定に必要なパラメータを演算するパラメータ
演算回路73,83により演算し、上記符号化の難易度
を示すパラメータ及び演算されたパラメータ基づいて、
ブロック歪判定及び補正値算出回路74,84により、
ブロック歪を判定して上記ブロック歪を低減するための
補正値を算出し、水平方向及び垂直方向のブロック境界
の交差位置で補正値を調整することによって、水平方向
ブロック境界と垂直方向ブロック境界の交差点における
ブロック歪補正の矛盾による破綻を回避し、上記補正値
による補正を補正回路60により上記入力画像データに
対して施す。
Description
【0001】
【発明の属する技術分野】本発明は、静止画データや動
画データ等の入力データをブロック化してDCT符号化
等を施すようなブロック符号化におけるブロック歪を低
減するためのブロック歪低減方法及びブロック歪低減装
置に関する。
画データ等の入力データをブロック化してDCT符号化
等を施すようなブロック符号化におけるブロック歪を低
減するためのブロック歪低減方法及びブロック歪低減装
置に関する。
【0002】
【従来の技術】従来、静止画データや動画データ等を効
率よく圧縮符号化するための符号化方式として、ブロッ
クDCT(離散コサイン変換)符号化等のブロック符号
化が知られている。
率よく圧縮符号化するための符号化方式として、ブロッ
クDCT(離散コサイン変換)符号化等のブロック符号
化が知られている。
【0003】このようなブロック符号化による画像デー
タ等の圧縮/伸張の際には、ブロック歪(ブロック雑
音)が発生することがあり、圧縮率が高くなるほど歪を
発生させ易い。このブロック歪は、DCT符号化等がブ
ロック内の閉じた空間で変換を行っており、ブロック境
界を越えた相関を考慮していないため、ブロック境界で
の連続性が保存できず、隣接ブロックとの境界部での再
生データ値のずれが雑音として知覚されるものである。
画像データをブロック符号化した場合に発生するブロッ
ク歪は、一種の規則性を有するため一般のランダム雑音
に比べて知覚され易く、画質劣化の大きな要因となって
いる。
タ等の圧縮/伸張の際には、ブロック歪(ブロック雑
音)が発生することがあり、圧縮率が高くなるほど歪を
発生させ易い。このブロック歪は、DCT符号化等がブ
ロック内の閉じた空間で変換を行っており、ブロック境
界を越えた相関を考慮していないため、ブロック境界で
の連続性が保存できず、隣接ブロックとの境界部での再
生データ値のずれが雑音として知覚されるものである。
画像データをブロック符号化した場合に発生するブロッ
ク歪は、一種の規則性を有するため一般のランダム雑音
に比べて知覚され易く、画質劣化の大きな要因となって
いる。
【0004】このブロック歪を低減するために、例え
ば、「井田、駄竹,“MC−DCT符号化方式における
ノイズ除去フィルタ”,1990年電子情報学会春季全国大
会講演論文集,7-35」の文献においては、画像本来の情
報であるエッジを保存し、それらのノイズを除去するた
め、フィルタのon,offの決定に量子化ステップサイズを
用いたり、処理していく方向を変えて複数回処理を行う
技術が開示されている。また、「井澤,“画像のブロッ
ク符号化における適応形雑音除去フィルタの特性”,信
州大学工学部紀要 第74号、pp.89-100 」の文献にお
いては、周辺ブロックまで抜き出してDCT変換を行い
ノイズ周波数成分を除去する技術が開示されている。
ば、「井田、駄竹,“MC−DCT符号化方式における
ノイズ除去フィルタ”,1990年電子情報学会春季全国大
会講演論文集,7-35」の文献においては、画像本来の情
報であるエッジを保存し、それらのノイズを除去するた
め、フィルタのon,offの決定に量子化ステップサイズを
用いたり、処理していく方向を変えて複数回処理を行う
技術が開示されている。また、「井澤,“画像のブロッ
ク符号化における適応形雑音除去フィルタの特性”,信
州大学工学部紀要 第74号、pp.89-100 」の文献にお
いては、周辺ブロックまで抜き出してDCT変換を行い
ノイズ周波数成分を除去する技術が開示されている。
【0005】
【発明が解決しようとする課題】ところで、前者のノイ
ズ除去フィルタをon,offする方法では、処理が簡単な反
面、画像の高周波成分が欠落して、解像度が劣化すると
いう欠点がある。
ズ除去フィルタをon,offする方法では、処理が簡単な反
面、画像の高周波成分が欠落して、解像度が劣化すると
いう欠点がある。
【0006】また、後者の適応形雑音除去フィルタを用
いる方法では、解像度が保存されながら効果的なブロッ
ク歪の低減が行えるものの、処理が複雑でコストが嵩
み、特に民生用機器等に適用するには不適当である。
いる方法では、解像度が保存されながら効果的なブロッ
ク歪の低減が行えるものの、処理が複雑でコストが嵩
み、特に民生用機器等に適用するには不適当である。
【0007】また、ブロック歪判定の際の誤判定によ
り、完全にブロック歪が除去できなかったり、エッジを
誤補正して擬似エッジを発生させたりする、という問題
点がある。
り、完全にブロック歪が除去できなかったり、エッジを
誤補正して擬似エッジを発生させたりする、という問題
点がある。
【0008】ブロック符号化方式にて符号化されたビッ
トストリームは、例えばビットレートの異なる機器に対
応させるために、例えば8Mbpsから4Mbpsに異
なるビットレートのビットストリームにレート変換され
ることがある。
トストリームは、例えばビットレートの異なる機器に対
応させるために、例えば8Mbpsから4Mbpsに異
なるビットレートのビットストリームにレート変換され
ることがある。
【0009】このように、ブロック符号化方式にて符号
化されたビットストリームをレート変換して再符号化を
行う場合には、デコーダで復号された復号画像にブロッ
クノイズが発生していても、そのまま符号化していた。
化されたビットストリームをレート変換して再符号化を
行う場合には、デコーダで復号された復号画像にブロッ
クノイズが発生していても、そのまま符号化していた。
【0010】このため、再符号化時や、フォーマット変
換時のように、動き補償により予測符号化をする動きベ
クトル検出を行う際には、ブロックノイズに妨害されて
動きベクトルの検出精度が低下していた。
換時のように、動き補償により予測符号化をする動きベ
クトル検出を行う際には、ブロックノイズに妨害されて
動きベクトルの検出精度が低下していた。
【0011】また、ブロックノイズが発生する位置は、
ブロックの境界の位置に一意に依存する。そのため、ブ
ロック境界の位置が同じ符号化方式を用いて再エンコー
ドやフォーマットのための符号化を行う場合、ブロック
ノイズが発生してる画像についてブロックノイズの除去
をすることなく符号化すると、再生画像においては、ブ
ロックノイズが強調されてさらに目立ってしまうという
問題があった。
ブロックの境界の位置に一意に依存する。そのため、ブ
ロック境界の位置が同じ符号化方式を用いて再エンコー
ドやフォーマットのための符号化を行う場合、ブロック
ノイズが発生してる画像についてブロックノイズの除去
をすることなく符号化すると、再生画像においては、ブ
ロックノイズが強調されてさらに目立ってしまうという
問題があった。
【0012】なお、画像データのブロック符号化方式の
一例としては、画面内の相関を利用したDCT変換、画
面間の相関を利用した動き補償、及び符号列の相関を利
用したハフマン符号化を組み合わせたMPEG(Moving
pictures experts group )を挙げることができる。
一例としては、画面内の相関を利用したDCT変換、画
面間の相関を利用した動き補償、及び符号列の相関を利
用したハフマン符号化を組み合わせたMPEG(Moving
pictures experts group )を挙げることができる。
【0013】本発明の目的は、水平方向ブロック境界と
垂直方向ブロック境界の交差点におけるブロック歪補正
の矛盾による破綻を回避して、安定したブロック歪の低
減あるいは除去を行うことができるようにしたブロック
歪低減方法及びブロック歪低減装置を提供することにあ
る。
垂直方向ブロック境界の交差点におけるブロック歪補正
の矛盾による破綻を回避して、安定したブロック歪の低
減あるいは除去を行うことができるようにしたブロック
歪低減方法及びブロック歪低減装置を提供することにあ
る。
【0014】
【課題を解決するための手段】本発明は、入力画像デー
タのブロック符号化におけるブロック歪を低減するため
のブロック歪低減方法において、上記入力画像データか
ら符号化の難易度を示すパラメータを検出する符号化難
易度検出工程と、上記入力画像データからブロック歪判
定に必要なパラメータを演算するパラメータ演算工程
と、上記符号化難易度検出工程における符号化の難易度
を示すパラメータの検出結果及び上記パラメータ演算工
程におけるパラメータの演算結果に基づいてブロック歪
を判定するブロック歪判定工程と、上記ブロック歪を低
減するための補正値を算出する補正値算出工程と、上記
ブロック歪判定工程におけるブロック歪の結果に応じ
て、上記補正値算出工程において算出された補正値によ
る補正を上記入力画像データに対して施して出力するブ
ロック歪補正工程とを有し、上記ブロック歪判定工程及
び補正値算出工程において水平方向及び垂直方向のブロ
ック境界の交差位置で補正値を調整することを特徴とす
る。
タのブロック符号化におけるブロック歪を低減するため
のブロック歪低減方法において、上記入力画像データか
ら符号化の難易度を示すパラメータを検出する符号化難
易度検出工程と、上記入力画像データからブロック歪判
定に必要なパラメータを演算するパラメータ演算工程
と、上記符号化難易度検出工程における符号化の難易度
を示すパラメータの検出結果及び上記パラメータ演算工
程におけるパラメータの演算結果に基づいてブロック歪
を判定するブロック歪判定工程と、上記ブロック歪を低
減するための補正値を算出する補正値算出工程と、上記
ブロック歪判定工程におけるブロック歪の結果に応じ
て、上記補正値算出工程において算出された補正値によ
る補正を上記入力画像データに対して施して出力するブ
ロック歪補正工程とを有し、上記ブロック歪判定工程及
び補正値算出工程において水平方向及び垂直方向のブロ
ック境界の交差位置で補正値を調整することを特徴とす
る。
【0015】また、本発明は、入力画像データのブロッ
ク符号化におけるブロック歪を低減するためのブロック
歪低減方法において、上記入力画像データから符号化の
難易度を示すパラメータを検出する符号化難易度検出工
程と、上記入力画像データからブロック歪判定に必要な
パラメータを演算する演算工程と、上記符号化の難易度
を示すパラメータ検出の結果及び上記パラメータ演算の
結果に基づいてブロック歪を判定する判定工程と、上記
ブロック歪を低減するための補正値を算出する補正値算
出工程と、上記ブロック歪の判定結果に応じた上記補正
値による補正を上記入力画像データに対して施して出力
するブロック歪補正工程とを有し、上記ブロック歪補正
工程における水平方向ブロック境界の補正範囲と垂直方
向ブロック境界の補正範囲を異ならしめたことを特徴と
する。
ク符号化におけるブロック歪を低減するためのブロック
歪低減方法において、上記入力画像データから符号化の
難易度を示すパラメータを検出する符号化難易度検出工
程と、上記入力画像データからブロック歪判定に必要な
パラメータを演算する演算工程と、上記符号化の難易度
を示すパラメータ検出の結果及び上記パラメータ演算の
結果に基づいてブロック歪を判定する判定工程と、上記
ブロック歪を低減するための補正値を算出する補正値算
出工程と、上記ブロック歪の判定結果に応じた上記補正
値による補正を上記入力画像データに対して施して出力
するブロック歪補正工程とを有し、上記ブロック歪補正
工程における水平方向ブロック境界の補正範囲と垂直方
向ブロック境界の補正範囲を異ならしめたことを特徴と
する。
【0016】また、本発明は、入力画像データのブロッ
ク符号化におけるブロック歪を低減するためのブロック
歪低減装置において、上記入力画像データから符号化の
難易度を示すパラメータを検出する符号化難易度検出手
段と、上記入力画像データからブロック歪判定に必要な
パラメータを演算する演算手段と、上記符号化難易度検
出手段により検出された符号化の難易度を示すパラメー
タと上記パラメータ演算手段により演算されたパラメー
タに基づいてブロック歪を判定するブロック歪判定手段
と、上記ブロック歪を低減するための補正値を算出する
補正値算出手段と、上記ブロック歪判定手段による判定
結果に応じて、上記補正値算出手段により算出された補
正値による補正を上記入力画像データに対して施して出
力するブロック歪補正手段とを有し、上記ブロック歪判
定手段及び補正値算出手段において水平方向及び垂直方
向のブロック境界の交差位置で補正値を調整することを
特徴とする。
ク符号化におけるブロック歪を低減するためのブロック
歪低減装置において、上記入力画像データから符号化の
難易度を示すパラメータを検出する符号化難易度検出手
段と、上記入力画像データからブロック歪判定に必要な
パラメータを演算する演算手段と、上記符号化難易度検
出手段により検出された符号化の難易度を示すパラメー
タと上記パラメータ演算手段により演算されたパラメー
タに基づいてブロック歪を判定するブロック歪判定手段
と、上記ブロック歪を低減するための補正値を算出する
補正値算出手段と、上記ブロック歪判定手段による判定
結果に応じて、上記補正値算出手段により算出された補
正値による補正を上記入力画像データに対して施して出
力するブロック歪補正手段とを有し、上記ブロック歪判
定手段及び補正値算出手段において水平方向及び垂直方
向のブロック境界の交差位置で補正値を調整することを
特徴とする。
【0017】さらに、本発明は、入力画像データのブロ
ック符号化におけるブロック歪を低減するためのブロッ
ク歪低減装置において、上記入力画像データから符号化
の難易度を示すパラメータを検出する符号化難易度検出
手段と、上記入力画像データからブロック歪判定に必要
なパラメータを演算するパラメータ演算手段と、上記符
号化難易度検出手段により検出された符号化の難易度を
示すパラメータと上記パラメータ演算手段により演算さ
れたパラメータに基づいてブロック歪を判定するブロッ
ク歪判定手段と、上記ブロック歪を低減するための補正
値を算出する補正値算出手段と、上記ブロック歪判定手
段による判定結果に応じて、上記補正値算出手段により
算出された補正値による補正を上記入力画像データに対
して施して出力するブロック歪補正手段とを有し、上記
ブロック歪補正手段における水平方向ブロック境界の補
正範囲と垂直方向ブロック境界の補正範囲を異ならしめ
たことを特徴とする。
ック符号化におけるブロック歪を低減するためのブロッ
ク歪低減装置において、上記入力画像データから符号化
の難易度を示すパラメータを検出する符号化難易度検出
手段と、上記入力画像データからブロック歪判定に必要
なパラメータを演算するパラメータ演算手段と、上記符
号化難易度検出手段により検出された符号化の難易度を
示すパラメータと上記パラメータ演算手段により演算さ
れたパラメータに基づいてブロック歪を判定するブロッ
ク歪判定手段と、上記ブロック歪を低減するための補正
値を算出する補正値算出手段と、上記ブロック歪判定手
段による判定結果に応じて、上記補正値算出手段により
算出された補正値による補正を上記入力画像データに対
して施して出力するブロック歪補正手段とを有し、上記
ブロック歪補正手段における水平方向ブロック境界の補
正範囲と垂直方向ブロック境界の補正範囲を異ならしめ
たことを特徴とする。
【0018】
【発明の実施の形態】以下、本発明に係る実施の形態に
ついて図面を参照しながら説明する。
ついて図面を参照しながら説明する。
【0019】本発明に係るブロック歪低減装置は、例え
ば図1に示すように構成される。この図1に示すブロッ
ク歪低減装置100は、入力端子10と出力端子90の
間に縦続接続されたMPEGデコーダ20、プリプロセ
ッサ30、フィールドメモリ40、遅延回路50及び補
正回路60と、上記プリプロセッサ30及びフィールド
メモリ40にそれぞれ接続された水平方向処理部70及
び垂直方向処理部80を備え、上記水平方向処理部70
及び垂直方向処理部80により求められた補正値を示す
補正データを上記補正回路60に与えることにより、上
記MPEGデコーダ20でデコードされた画像データに
生ずるブロック歪について、水平方向のブロック歪除去
処理と垂直方向のブロック歪除去処理を無相関に行うよ
うになされている。
ば図1に示すように構成される。この図1に示すブロッ
ク歪低減装置100は、入力端子10と出力端子90の
間に縦続接続されたMPEGデコーダ20、プリプロセ
ッサ30、フィールドメモリ40、遅延回路50及び補
正回路60と、上記プリプロセッサ30及びフィールド
メモリ40にそれぞれ接続された水平方向処理部70及
び垂直方向処理部80を備え、上記水平方向処理部70
及び垂直方向処理部80により求められた補正値を示す
補正データを上記補正回路60に与えることにより、上
記MPEGデコーダ20でデコードされた画像データに
生ずるブロック歪について、水平方向のブロック歪除去
処理と垂直方向のブロック歪除去処理を無相関に行うよ
うになされている。
【0020】このブロック歪低減装置100において、
MPEGデコーダ20には、入力端子10からの入力ビ
ットストリームとしてMPEG方式の画像データが入力
される。このMPEGデコーダ20は、入力された画像
データに逆量子化、逆DCT(離散コサイン変換)を施
すことで、デコード処理を施す。このとき、MPEGデ
コーダ2は、複数のマクロブロックからなるDCTブロ
ック単位でデコードを施す。
MPEGデコーダ20には、入力端子10からの入力ビ
ットストリームとしてMPEG方式の画像データが入力
される。このMPEGデコーダ20は、入力された画像
データに逆量子化、逆DCT(離散コサイン変換)を施
すことで、デコード処理を施す。このとき、MPEGデ
コーダ2は、複数のマクロブロックからなるDCTブロ
ック単位でデコードを施す。
【0021】プリプロセッサ30では、上記MPEGデ
コーダ20によってデコードされた画像データについ
て、動きベクトルと動き補償残差を計算し、その値を適
応制御のためのパラメータとしてマクロブロック毎のmc
e_val,dmv_valに加工して水平方向処理部70及び垂直
方向処理部80に供給する。
コーダ20によってデコードされた画像データについ
て、動きベクトルと動き補償残差を計算し、その値を適
応制御のためのパラメータとしてマクロブロック毎のmc
e_val,dmv_valに加工して水平方向処理部70及び垂直
方向処理部80に供給する。
【0022】ここで、上記プリプロセッサ30は、例え
ば図2に示すように構成されている。
ば図2に示すように構成されている。
【0023】この図2に示したプリプロセッサ30は、
入力端子30Aと映像出力端子30Bの間に縦続接続さ
れた加算器31、フィールドメモリ32及びフレームシ
ンクロ追い越し制御回路33と、上記入力端子30Aと
パラメータ出力端子30Cの間に縦続接続された第1の
垂直方向位相変換フィルタ34A及び動き補償回路35
と、上記フィールドメモリ32と動き補償回路35の間
に接続された第2の垂直方向位相変換フィルタ34B
と、上記動き補償回路35と加算器31の間に縦続接続
されたアダマール変換回路36、非線型処理回路37及
び逆アダマール変換回路38と、上記フィールドメモリ
32に接続されたメモリコントローラ39とからなる。
入力端子30Aと映像出力端子30Bの間に縦続接続さ
れた加算器31、フィールドメモリ32及びフレームシ
ンクロ追い越し制御回路33と、上記入力端子30Aと
パラメータ出力端子30Cの間に縦続接続された第1の
垂直方向位相変換フィルタ34A及び動き補償回路35
と、上記フィールドメモリ32と動き補償回路35の間
に接続された第2の垂直方向位相変換フィルタ34B
と、上記動き補償回路35と加算器31の間に縦続接続
されたアダマール変換回路36、非線型処理回路37及
び逆アダマール変換回路38と、上記フィールドメモリ
32に接続されたメモリコントローラ39とからなる。
【0024】このプリプロセッサ30では、入力端子3
0Aを介して入力された画像データについて、フィール
ド間で動き補償するために、第1の垂直方向位相変換フ
ィルタ34Aを用いて位相変換する。動き補償回路35
は、上記第1の垂直方向位相変換フィルタ34Aを介し
て入力される現フイールドの画像データと第2の垂直方
向位相変換フィルタ34Bを介して入力される参照フイ
ールドの画像データと間で動き補償を行い、得られたフ
レーム間差分信号をアダマール変換回路36に入力す
る。アダマール変換によりビデオ信号の特徴を表す8つ
の成分に分類された差分信号を生成し、この差分信号を
非線型処理回路37に通すことで、アダマール変換され
たノイズ成分を抽出する。このノイズ成分を逆アダマー
ル変換回路38に通すことで、元の時間軸のノイズ成分
信号が得られる。このノイズ成分信号を加算器31に入
力し、入力された画像データから時間方向のノイズ成分
を除去する。時間方向のノイズ成分を除去した画像デー
タは、フイールドメモリ32に入力され、次のフイール
ドの参照画像データとして用いられる。この時、書き込
みと読み出しの制御を行うために、メモリコントローラ
39とフレームシンクロ追越し制御回路33が用いられ
る。なお、動き補償回路35からは、動き補償残差と動
きベクトルの差分値が適応制御のためのパラメータmce_
val,dmv_valとして出力される。
0Aを介して入力された画像データについて、フィール
ド間で動き補償するために、第1の垂直方向位相変換フ
ィルタ34Aを用いて位相変換する。動き補償回路35
は、上記第1の垂直方向位相変換フィルタ34Aを介し
て入力される現フイールドの画像データと第2の垂直方
向位相変換フィルタ34Bを介して入力される参照フイ
ールドの画像データと間で動き補償を行い、得られたフ
レーム間差分信号をアダマール変換回路36に入力す
る。アダマール変換によりビデオ信号の特徴を表す8つ
の成分に分類された差分信号を生成し、この差分信号を
非線型処理回路37に通すことで、アダマール変換され
たノイズ成分を抽出する。このノイズ成分を逆アダマー
ル変換回路38に通すことで、元の時間軸のノイズ成分
信号が得られる。このノイズ成分信号を加算器31に入
力し、入力された画像データから時間方向のノイズ成分
を除去する。時間方向のノイズ成分を除去した画像デー
タは、フイールドメモリ32に入力され、次のフイール
ドの参照画像データとして用いられる。この時、書き込
みと読み出しの制御を行うために、メモリコントローラ
39とフレームシンクロ追越し制御回路33が用いられ
る。なお、動き補償回路35からは、動き補償残差と動
きベクトルの差分値が適応制御のためのパラメータmce_
val,dmv_valとして出力される。
【0025】ここに、mce_val は動き補償残差から算出
するパラメータであり、dmv_val は注目しているブロッ
クの動きベクトルと周囲のブロックの動きベクトルとの
差分値である。この時、動き検出を行うブロックの大き
さは,MPEG符号化におけるマクロブロックと同じで
なくとも良い。
するパラメータであり、dmv_val は注目しているブロッ
クの動きベクトルと周囲のブロックの動きベクトルとの
差分値である。この時、動き検出を行うブロックの大き
さは,MPEG符号化におけるマクロブロックと同じで
なくとも良い。
【0026】プリプロセッサ30を経た復号画像データ
は、フィールドメモリ40に蓄えられ、ブロック歪補正
に必要な範囲の画素値のみが上記フィールドメモリ40
から読み出されて上記水平方向処理部70及び垂直方向
処理部80に供給される。
は、フィールドメモリ40に蓄えられ、ブロック歪補正
に必要な範囲の画素値のみが上記フィールドメモリ40
から読み出されて上記水平方向処理部70及び垂直方向
処理部80に供給される。
【0027】上記水平方向処理部70は、上記プリプロ
セッサ30から適応制御のためのパラメータmce_val,d
mv_valが供給される符号化難易度判定回路71と、上記
フィールドメモリ40から読み出された画素値が供給さ
れる垂直相関検出回路72及びパラメータ演算回路73
と、上記各回路71,72,73の各出力が供給される
ブロック歪判定及び補正値算出回路74とからなる。
セッサ30から適応制御のためのパラメータmce_val,d
mv_valが供給される符号化難易度判定回路71と、上記
フィールドメモリ40から読み出された画素値が供給さ
れる垂直相関検出回路72及びパラメータ演算回路73
と、上記各回路71,72,73の各出力が供給される
ブロック歪判定及び補正値算出回路74とからなる。
【0028】この水平方向処理部70において、符号化
難易度判定回路71では、プリプロセッサ30からから
供給されるパラメータmce_alとdmv_val に基づいてマク
ロブロック毎の符号化難易度レベルを判定し、現在処理
中のマクロブロックの符号化難易度レベルKpを得る。
難易度判定回路71では、プリプロセッサ30からから
供給されるパラメータmce_alとdmv_val に基づいてマク
ロブロック毎の符号化難易度レベルを判定し、現在処理
中のマクロブロックの符号化難易度レベルKpを得る。
【0029】ここで、符号化難易度の低い“mobile"と
符号化難易度の高い“yashi" という2つの画像の動き
補償残差と動きベクトルの差分値のグラフを図3及び図
4に示す。各々のグラフから確認できるように、符号化
難易度が高く、ブロックノイズが発生し易い“yashi"の
方が、動き補償残差も動きベクトルの差分値も、その値
が大きい方にまで分布している。すなわち、動き補償残
差と動きベクトルの差分値を符号化難易度の指標として
用いることができる。
符号化難易度の高い“yashi" という2つの画像の動き
補償残差と動きベクトルの差分値のグラフを図3及び図
4に示す。各々のグラフから確認できるように、符号化
難易度が高く、ブロックノイズが発生し易い“yashi"の
方が、動き補償残差も動きベクトルの差分値も、その値
が大きい方にまで分布している。すなわち、動き補償残
差と動きベクトルの差分値を符号化難易度の指標として
用いることができる。
【0030】また、上記水平方向処理部70において、
垂直相関検出回路72では、上記フィールドメモリ40
から読み出された画素値に基づいて垂直相関係数Kcを算
出する。さらに、パラメータ列演算回路73では,上記
フィールドメモリ40から読み出された画素値に基づい
てパラメータtmp0,tmp,diff0〜diff7 を算出する。
垂直相関検出回路72では、上記フィールドメモリ40
から読み出された画素値に基づいて垂直相関係数Kcを算
出する。さらに、パラメータ列演算回路73では,上記
フィールドメモリ40から読み出された画素値に基づい
てパラメータtmp0,tmp,diff0〜diff7 を算出する。
【0031】そして、ブロック歪判定及び補正値算出回
路74では、符号化難易度係数Kpに従ってブロック歪判
定のための閾値や係数を変更し、入力されたパラメータ
tmp0,tmp,diff0〜diff7 と垂直相関係数Kcからブロッ
クノイズであるか否か、ブロックノイズならばどのよう
なパターンのブロックノイズであるかの判定を行い、補
正値σ0 〜σ3 を算出して補正回路60に渡す。また、
この時、補正中の画素の位置が水平方向ブロック境界と
垂直方向ブロック境界の近隣にある場合には、補正値σ
0 〜σ3 を小さめに調整して、補正回路60に渡す。補
正回路60では、遅延回路50を経由した画像データに
補正値を加算して水平方向の補正処理済みの画像データ
を得る。ここで、上記ブロック歪判定及び補正値算出回
路74によりブロック歪補正を行わないという判定が下
された場合には補正値σ0 〜σ3には0が値として格納
される。
路74では、符号化難易度係数Kpに従ってブロック歪判
定のための閾値や係数を変更し、入力されたパラメータ
tmp0,tmp,diff0〜diff7 と垂直相関係数Kcからブロッ
クノイズであるか否か、ブロックノイズならばどのよう
なパターンのブロックノイズであるかの判定を行い、補
正値σ0 〜σ3 を算出して補正回路60に渡す。また、
この時、補正中の画素の位置が水平方向ブロック境界と
垂直方向ブロック境界の近隣にある場合には、補正値σ
0 〜σ3 を小さめに調整して、補正回路60に渡す。補
正回路60では、遅延回路50を経由した画像データに
補正値を加算して水平方向の補正処理済みの画像データ
を得る。ここで、上記ブロック歪判定及び補正値算出回
路74によりブロック歪補正を行わないという判定が下
された場合には補正値σ0 〜σ3には0が値として格納
される。
【0032】また、上記垂直方向処理部80は、上記プ
リプロセッサ30から適応制御のためのパラメータmce_
val,dmv_valが供給される符号化難易度判定回路81
と、上記フィールドメモリ40から読み出された画素値
が供給される水平相関検出回路82及びパラメータ演算
回路83と、上記各回路81,82,83の各出力が供
給されるブロック歪判定及び補正値算出回路84とから
なる。
リプロセッサ30から適応制御のためのパラメータmce_
val,dmv_valが供給される符号化難易度判定回路81
と、上記フィールドメモリ40から読み出された画素値
が供給される水平相関検出回路82及びパラメータ演算
回路83と、上記各回路81,82,83の各出力が供
給されるブロック歪判定及び補正値算出回路84とから
なる。
【0033】この垂直方向処理部80において、符号化
難易度判定回路81では、プリプロセッサ30からから
供給されるパラメータmce_al,dmv_val に基づいてマク
ロブロック毎の符号化難易度レベルを判定し、現在処理
中のマクロブロックの符号化難易度係数Kpを得る。
難易度判定回路81では、プリプロセッサ30からから
供給されるパラメータmce_al,dmv_val に基づいてマク
ロブロック毎の符号化難易度レベルを判定し、現在処理
中のマクロブロックの符号化難易度係数Kpを得る。
【0034】また、水平相関検出回路82では、上記フ
ィールドメモリ40から読み出された画素値に基づいて
水平相関係数Kcを算出する。さらに、パラメータ列演算
回路83では,上記フィールドメモリ40から読み出さ
れた画素値に基づいて上記水平方向処理部70よりも狭
い範囲のパラメータtmp0,tmp,diff0〜diff7 を算出す
る。
ィールドメモリ40から読み出された画素値に基づいて
水平相関係数Kcを算出する。さらに、パラメータ列演算
回路83では,上記フィールドメモリ40から読み出さ
れた画素値に基づいて上記水平方向処理部70よりも狭
い範囲のパラメータtmp0,tmp,diff0〜diff7 を算出す
る。
【0035】そして、ブロック歪判定及び補正値算出回
路84では、符号化難易度係数Kpに従ってブロック歪判
定のための閾値や係数を変更し、入力されたパラメータ
tmp0,tmp,diff0〜diff6 と水平相関係数Kcからブロッ
クノイズであるか否か、ブロックノイズならばどのよう
なパターンのブロックノイズであるかの判定を行い、補
正値σ0 〜σ3 を算出して補正回路60に渡す。また、
この時、補正中の画素の位置が水平方向ブロック境界と
垂直方向ブロック境界の近隣にある場合には、補正値σ
0 〜σ3 を小さめに調整して、補正回路60に渡す。補
正回路60では、遅延回路50を経由した画像データに
補正値を加算して垂直方向の補正処理済みの画像データ
を得る。ここで、上記ブロック歪判定及び補正値算出回
路74によりブロック歪補正を行わないという判定が下
された場合には補正値σ0 〜σ3には0が値として格納
される。
路84では、符号化難易度係数Kpに従ってブロック歪判
定のための閾値や係数を変更し、入力されたパラメータ
tmp0,tmp,diff0〜diff6 と水平相関係数Kcからブロッ
クノイズであるか否か、ブロックノイズならばどのよう
なパターンのブロックノイズであるかの判定を行い、補
正値σ0 〜σ3 を算出して補正回路60に渡す。また、
この時、補正中の画素の位置が水平方向ブロック境界と
垂直方向ブロック境界の近隣にある場合には、補正値σ
0 〜σ3 を小さめに調整して、補正回路60に渡す。補
正回路60では、遅延回路50を経由した画像データに
補正値を加算して垂直方向の補正処理済みの画像データ
を得る。ここで、上記ブロック歪判定及び補正値算出回
路74によりブロック歪補正を行わないという判定が下
された場合には補正値σ0 〜σ3には0が値として格納
される。
【0036】このブロック歪低減装置100により水平
方向のブロックノイズ除去処理と垂直方向のブロックノ
イズ除去処理を無相関に行う場合の画面内適応ブロック
ノイズ除去処理の手順を図5のフローチャートに示す。
方向のブロックノイズ除去処理と垂直方向のブロックノ
イズ除去処理を無相関に行う場合の画面内適応ブロック
ノイズ除去処理の手順を図5のフローチャートに示す。
【0037】このブロック歪低減装置100では、フレ
ーム毎にブロックノイズ除去処理を開始する。そして、
ブロックノイズ除去処理を開始すると、先ず、ステップ
S1において、水平方向処理部70による水平方向処理
のためのマクロブロックのカウンタiをリセットする。
ーム毎にブロックノイズ除去処理を開始する。そして、
ブロックノイズ除去処理を開始すると、先ず、ステップ
S1において、水平方向処理部70による水平方向処理
のためのマクロブロックのカウンタiをリセットする。
【0038】次のステップS2では、フレーム内でブロ
ックノイズ除去処理する回数をカウントする。水平方向
のノイズ除去処理では、 MB_NUM=V_MB_NUM×(H_MV_NUM−1) とする。
ックノイズ除去処理する回数をカウントする。水平方向
のノイズ除去処理では、 MB_NUM=V_MB_NUM×(H_MV_NUM−1) とする。
【0039】ここで、V_MB_NUMは垂直方向のマクロブロ
ック数であり、H_MB_NUMは水平方向のマクロブロック数
である。所定のブロックノイズ除去を終了した場合は、
ステップS15に進み、垂直方向処理を開始する。
ック数であり、H_MB_NUMは水平方向のマクロブロック数
である。所定のブロックノイズ除去を終了した場合は、
ステップS15に進み、垂直方向処理を開始する。
【0040】次のステップS3では、図6に示す位置の
マクロブロック毎の符号化難易度係数Kp_MB[i]を計算す
る。
マクロブロック毎の符号化難易度係数Kp_MB[i]を計算す
る。
【0041】次のステップS4では、符号化難易度の計
算ユニットのカウンタjをリセットする。
算ユニットのカウンタjをリセットする。
【0042】次のステップS5では、計算ユニットをカ
ウントし、所定の処理が終了した場合は、ステップS6
に進んでカウンタiをインクリメントする。ここでは、
図6に示すように、 UNlT_NUM=2 とする。
ウントし、所定の処理が終了した場合は、ステップS6
に進んでカウンタiをインクリメントする。ここでは、
図6に示すように、 UNlT_NUM=2 とする。
【0043】次のステップS7では、図6に示す計算ユ
ニットにおいて、Kp_MB[i]とKp_MB[i-1]から、符号化難
易度係数Kpを計算する。
ニットにおいて、Kp_MB[i]とKp_MB[i-1]から、符号化難
易度係数Kpを計算する。
【0044】次のステップS8では、図6に示す計算ユ
ニット内において、垂直相関係数Kcを計算する。
ニット内において、垂直相関係数Kcを計算する。
【0045】次のステップS9では、Kp,Kcより閾値の
DET_THRESHOLD,CORR_THRESHOLDを決定する。
DET_THRESHOLD,CORR_THRESHOLDを決定する。
【0046】次のステップS10では、ライン毎の処理
のためのカウンタkをリセットする。
のためのカウンタkをリセットする。
【0047】次のステップS11では、ライン毎の処理
のためのカウントを行い、所定の処理が終了した場合
は、ステップS12に進んでカウンタkをインクリメン
トする。ここで、図6に示すように、フィールド毎に水
平方向8ラインの処理を行うため、top_field,bottom_f
ieldあわせて、 LINE_NUM=16 である。
のためのカウントを行い、所定の処理が終了した場合
は、ステップS12に進んでカウンタkをインクリメン
トする。ここで、図6に示すように、フィールド毎に水
平方向8ラインの処理を行うため、top_field,bottom_f
ieldあわせて、 LINE_NUM=16 である。
【0048】次のステップS13では、ブロック歪判定
及び補正処理を行い、次のステップS14でカウンタk
をインクリメントして上記ステップS11に戻る。
及び補正処理を行い、次のステップS14でカウンタk
をインクリメントして上記ステップS11に戻る。
【0049】そして、水平方向処理部70による所定の
ブロックノイズ除去を終了した場合は、上記ステップS
2からステップS15に進んで垂直方向処理部80によ
る垂直方向処理を行う。上記垂直方向処理部80による
垂直方向処理(ステップS15〜S28)では、計算ユ
ニットなどは図7に示すものを用いて、上述の水平方向
処理部70による水平方向処理(ステップS1〜S1
4)と同様の処理を行う。
ブロックノイズ除去を終了した場合は、上記ステップS
2からステップS15に進んで垂直方向処理部80によ
る垂直方向処理を行う。上記垂直方向処理部80による
垂直方向処理(ステップS15〜S28)では、計算ユ
ニットなどは図7に示すものを用いて、上述の水平方向
処理部70による水平方向処理(ステップS1〜S1
4)と同様の処理を行う。
【0050】ここで、上記水平方向処理部70による水
平方向処理におけるステップS3及び上記垂直方向処理
部80による垂直方向処理におけるステップS17で行
われるマクロブロック毎の符号化難易度の算出処理につ
いて説明する。
平方向処理におけるステップS3及び上記垂直方向処理
部80による垂直方向処理におけるステップS17で行
われるマクロブロック毎の符号化難易度の算出処理につ
いて説明する。
【0051】このブロック歪低減装置100では、画像
を符号化する際の難易度を示す指標として、上記プリプ
ロセッサ30で得られる次の2つのブロック毎のパラメ
ータを用いている。
を符号化する際の難易度を示す指標として、上記プリプ
ロセッサ30で得られる次の2つのブロック毎のパラメ
ータを用いている。
【0052】(1) 動きベクトルの差分値(dmv_val) 周囲のマクロブロックの動きベクトルとの差分値である
ため、動きが大きく複雑であると大きな値となり、動き
が小さく単調であると小さな値となる。動きベクトルの
差分値が大きいと、符号化効率が低下してブロックノイ
ズが発生しやすくなる。周辺のマクロブロックと水平方
向ベクトル同士、垂直方向ベクトル同士で差分を取り、
その絶対値をパラメータdvm_valとする。
ため、動きが大きく複雑であると大きな値となり、動き
が小さく単調であると小さな値となる。動きベクトルの
差分値が大きいと、符号化効率が低下してブロックノイ
ズが発生しやすくなる。周辺のマクロブロックと水平方
向ベクトル同士、垂直方向ベクトル同士で差分を取り、
その絶対値をパラメータdvm_valとする。
【0053】(2) 動き補償残差(mce_val) 検出した動きベクトルに従って動き補償をした後の参照
画像とのブロック毎の差分値であり、動き補償残差の値
が大きい場合、動きが複雑で動き検出が正しく行われて
いないか,画像のエッジ成分が多いことになる。このよ
うな場合,ブロックノイズが発生していることが多い。
画像とのブロック毎の差分値であり、動き補償残差の値
が大きい場合、動きが複雑で動き検出が正しく行われて
いないか,画像のエッジ成分が多いことになる。このよ
うな場合,ブロックノイズが発生していることが多い。
【0054】マクロブロック内の画素値毎の差分値の平
均をmce_valとする。上記dvm_valとmce_val は必要に応
じて画面内で平滑化処理を行った後に所定の方法で正規
化する。
均をmce_valとする。上記dvm_valとmce_val は必要に応
じて画面内で平滑化処理を行った後に所定の方法で正規
化する。
【0055】そして、上記水平方向処理部70による水
平方向処理では、dmv_valとmce_valからマクロブロック
の符号化難易度係数Kp_MB[i]を Kp_MB[i]=(dmv_val×WG_DMV+mce_val)/(WG_DMV+WG_
MCE) により算出し、また、上記垂直方向処理部80による垂
直方向処理では、dmv_valとmce_valからマクロブロック
の符号化難易度係数Kp_MB[l]を Kp_MB[l]=(dmv_val×WG_DMV+mce_val)/(WG_DMV+WG_
MCE) により算出する。ここで、WG_DMVはdmv_valの重みづ
け、WG_MCEはmce_valの重み付けである。
平方向処理では、dmv_valとmce_valからマクロブロック
の符号化難易度係数Kp_MB[i]を Kp_MB[i]=(dmv_val×WG_DMV+mce_val)/(WG_DMV+WG_
MCE) により算出し、また、上記垂直方向処理部80による垂
直方向処理では、dmv_valとmce_valからマクロブロック
の符号化難易度係数Kp_MB[l]を Kp_MB[l]=(dmv_val×WG_DMV+mce_val)/(WG_DMV+WG_
MCE) により算出する。ここで、WG_DMVはdmv_valの重みづ
け、WG_MCEはmce_valの重み付けである。
【0056】また、上記水平方向処理部70による水平
方向処理におけるステップS7の符号化難易度算出処理
では、図8のフローチャートに示すように、ステップS
31において符号化難易度の計算ユニットのカウンタj
の値が0であるか否かを判定しており、その判定結果が
YESすなわちj=0の場合は、ブロック境界(マクロ
ブロック内のブロック境界)の処理を行うために、ステ
ップS32に進んで、 Kp=Kp_MB[i] すなわち、Kp_MB[i]をそのまま符号化難易度係数Kpとし
て用いる。また、上記ステップS31における判定結果
がNOすなわちj=0でない場合は、図6に示すように
マクロブロック境界(マクロブロック間のブロック境
界)の処理を行うために、S33に進んで、 Kp=(Kp_MB[i-1]+Kp_MB[i])/2 すなわち、Kp_MB[i-1]とKp_MB[i]を平均して符号化難易
度係数Kpを求める。
方向処理におけるステップS7の符号化難易度算出処理
では、図8のフローチャートに示すように、ステップS
31において符号化難易度の計算ユニットのカウンタj
の値が0であるか否かを判定しており、その判定結果が
YESすなわちj=0の場合は、ブロック境界(マクロ
ブロック内のブロック境界)の処理を行うために、ステ
ップS32に進んで、 Kp=Kp_MB[i] すなわち、Kp_MB[i]をそのまま符号化難易度係数Kpとし
て用いる。また、上記ステップS31における判定結果
がNOすなわちj=0でない場合は、図6に示すように
マクロブロック境界(マクロブロック間のブロック境
界)の処理を行うために、S33に進んで、 Kp=(Kp_MB[i-1]+Kp_MB[i])/2 すなわち、Kp_MB[i-1]とKp_MB[i]を平均して符号化難易
度係数Kpを求める。
【0057】また、上記垂直方向処理部70による垂直
方向処理のステップS21の符号化難易度算出処理にお
いては、図7に示すようにm=0,m=1のいずれ場合
もマクロブロック境界(マクロブロック間のブロック境
界)の処理を行うため、 Kp=(Kp_MB[l-1]+Kp_MB[l])/2 すなわち、Kp_B[l-1] とKp_MB[l]を平均して符号化難易
度係数Kpを求める。
方向処理のステップS21の符号化難易度算出処理にお
いては、図7に示すようにm=0,m=1のいずれ場合
もマクロブロック境界(マクロブロック間のブロック境
界)の処理を行うため、 Kp=(Kp_MB[l-1]+Kp_MB[l])/2 すなわち、Kp_B[l-1] とKp_MB[l]を平均して符号化難易
度係数Kpを求める。
【0058】ステップS8の垂直相関係数算出処理で
は、ブロック境界に沿った方向のエッジの相関の強さを
検出する。すなわち、図9のフローチャートに示すよう
に、先ずステップS41においてブロック境界近傍のエ
ッジを抽出し、抽出したエッジに基づいて、次のステッ
プS42で垂直相関係数Kcを算出する。具体的には、現
在処理中のブロック境界の周辺を図10に示すように
a,b,cの領域に分け、各々の領域に含まれるエッジ
の数Ea,Eb,Ecを求め、 Kc=Eb/(Ea十Eb十Ec) より垂直相関係数Kcを求める。図10では、エッジとし
て抽出された画素を”1”と記し、そうでない画素を”
0”と記している。
は、ブロック境界に沿った方向のエッジの相関の強さを
検出する。すなわち、図9のフローチャートに示すよう
に、先ずステップS41においてブロック境界近傍のエ
ッジを抽出し、抽出したエッジに基づいて、次のステッ
プS42で垂直相関係数Kcを算出する。具体的には、現
在処理中のブロック境界の周辺を図10に示すように
a,b,cの領域に分け、各々の領域に含まれるエッジ
の数Ea,Eb,Ecを求め、 Kc=Eb/(Ea十Eb十Ec) より垂直相関係数Kcを求める。図10では、エッジとし
て抽出された画素を”1”と記し、そうでない画素を”
0”と記している。
【0059】上記ステップS41におけるエッジ抽出
は、図11に示すような構成のエッジ抽出回路110に
より行われる。このエッジ抽出回路110は、入力画像
データについて、1次元(水平方向)の2次微分信号を
抽出するバンドパスフィルタ(BPF)111と、この
バンドパスフィルタ111により抽出された2次微分信
号が供給される最大値検出回路112と、この最大値検
出回路112により検出された最大値が1/2乗算器1
13を介して供給されるとともに上記バンドパスフィル
タ111により抽出された2次微分信号が遅延回路11
4を介して供給される大小比較回路115からなる。上
記遅延回路114は、上記最大値検出回路112及び1
/2乗算器113による処理時間に等しい遅延量を有す
る。
は、図11に示すような構成のエッジ抽出回路110に
より行われる。このエッジ抽出回路110は、入力画像
データについて、1次元(水平方向)の2次微分信号を
抽出するバンドパスフィルタ(BPF)111と、この
バンドパスフィルタ111により抽出された2次微分信
号が供給される最大値検出回路112と、この最大値検
出回路112により検出された最大値が1/2乗算器1
13を介して供給されるとともに上記バンドパスフィル
タ111により抽出された2次微分信号が遅延回路11
4を介して供給される大小比較回路115からなる。上
記遅延回路114は、上記最大値検出回路112及び1
/2乗算器113による処理時間に等しい遅延量を有す
る。
【0060】このエッジ抽出回路110では、入力画像
データについて、1次元(水平方向)の2次微分信号を
バンドパスフィルタ111により抽出し、この2次微分
信号について最大値検出回路112により処理ブロック
内で最大値の検出を行い、上記最大値検出回路112に
より検出した最大値の1/2の値を閾値として大小比較
回路115で上記2次微分信号を2値化することによ
り、エッジ抽出を行う。
データについて、1次元(水平方向)の2次微分信号を
バンドパスフィルタ111により抽出し、この2次微分
信号について最大値検出回路112により処理ブロック
内で最大値の検出を行い、上記最大値検出回路112に
より検出した最大値の1/2の値を閾値として大小比較
回路115で上記2次微分信号を2値化することによ
り、エッジ抽出を行う。
【0061】なお、上記エッジ抽出は、ソフトウエア処
理により行うこともできる。
理により行うこともできる。
【0062】また、上述の図5に示したフローチャート
におけるステップS9では、垂直相関係数Kc及び符号化
難易度係数Kpを用いて、適応的にブロックノイズを除去
するために、次のようにして各パラメータを制御する。
におけるステップS9では、垂直相関係数Kc及び符号化
難易度係数Kpを用いて、適応的にブロックノイズを除去
するために、次のようにして各パラメータを制御する。
【0063】すなわち、垂直相関係数Kc及び符号化難易
度Kpをもとに、ブロックノイズ除去を行うための閾値DE
T_THRESHOLD 、及び、ブロックノイズ除去を行う際の補
正値の閾値CORR_THRESHOLDを変更する。
度Kpをもとに、ブロックノイズ除去を行うための閾値DE
T_THRESHOLD 、及び、ブロックノイズ除去を行う際の補
正値の閾値CORR_THRESHOLDを変更する。
【0064】Kc&&Kp≧HIGH_LEVELの場合には、 DET_THRESHOLD=DET_THRESHOLD_HIGH, CORR_THRESHOLD =CORR_THRESHOLD_HlGH とする。また、HIGH_LEVEL>Kc&&K≧MID_LEVELの場合に
は、 DET_THRESHOLD=DET_THRESHOLD_MlD, CORR_THRESHOLD=CORR_THRESHOLD_MID とする。また、MID_LEVEL>Kc&&K≧LOW_LEVELの場合に
は、 DET_THRESHOLD=DET_THRESHOLD_MlD, CORR_THRESHOLD=CORR_THRESHOLD_MID とする。さらに、Kc&&Kp<LOW_LEVELの場合には、 DET_THRESHOLD=DET_THRESHOLD_LOW, CORR_THRESHOLD=CORR_THRESHOLD_LOW とする。
は、 DET_THRESHOLD=DET_THRESHOLD_MlD, CORR_THRESHOLD=CORR_THRESHOLD_MID とする。また、MID_LEVEL>Kc&&K≧LOW_LEVELの場合に
は、 DET_THRESHOLD=DET_THRESHOLD_MlD, CORR_THRESHOLD=CORR_THRESHOLD_MID とする。さらに、Kc&&Kp<LOW_LEVELの場合には、 DET_THRESHOLD=DET_THRESHOLD_LOW, CORR_THRESHOLD=CORR_THRESHOLD_LOW とする。
【0065】ここで、HIGH_LEVEL,MID_LEVEL,LOW_LEV
ELは各々補正のレベルを定めた閾値であり、 DET_THRES
HOLD_HIGH,DET_THRESHOLD_MID,DET_THRESHOLD_LOWV,
CORR_THRESHOLD_HIGH,CORR_THRESHOLD_MID,CORR_THRE
SHOLD_LOW は各々の補正レベルの補正値における閾値で
ある。
ELは各々補正のレベルを定めた閾値であり、 DET_THRES
HOLD_HIGH,DET_THRESHOLD_MID,DET_THRESHOLD_LOWV,
CORR_THRESHOLD_HIGH,CORR_THRESHOLD_MID,CORR_THRE
SHOLD_LOW は各々の補正レベルの補正値における閾値で
ある。
【0066】次に、上述の図5に示したフローチャート
におけるステップS13のブロックノイズ歪判定及び補
正処理のアルゴリズムについて説明する。上記ブロック
ノイズ歪判定及び補正処理のフローチャートを図12に
示す。
におけるステップS13のブロックノイズ歪判定及び補
正処理のアルゴリズムについて説明する。上記ブロック
ノイズ歪判定及び補正処理のフローチャートを図12に
示す。
【0067】図13に水平方向処理のブロックノイズ除
去の範囲を示し、また、図14に垂直方向処理のブロッ
クノイズ除去の範囲を示す。
去の範囲を示し、また、図14に垂直方向処理のブロッ
クノイズ除去の範囲を示す。
【0068】ブロックノイズ歪判定及び補正処理では、
先ずステップS51において、次のようにして各パラメ
ータを算出する。
先ずステップS51において、次のようにして各パラメ
ータを算出する。
【0069】diff0=b−a diff1=c−b diff2=d−c diff3=e−d tmp0 =f−e diff4=g−f diff5=h−g diff6=i−h diff7=j−i tmp=(|diff0|+|diff1|+|diff2|+|diff3|+|dff4|+
|diff5|+|diff6|+|diff7|)/8 次のステップS52では、ブロックノイズ除去を行うた
めの閾値をDET_THRESHOLD として、 |tmp0|>tmp&&|tmp0|<DET_THRESHOLD すなわち、ブロック境界に段差があり(ブロック境界差
分(|tmp0|)>周辺画素のアクティビティ(tmp))、かつ、
ブロック境界にエッジがない(ブロック境界差分(|tmp0
|)<DET_THRESHOLD)状態であるか否かを判定する。
|diff5|+|diff6|+|diff7|)/8 次のステップS52では、ブロックノイズ除去を行うた
めの閾値をDET_THRESHOLD として、 |tmp0|>tmp&&|tmp0|<DET_THRESHOLD すなわち、ブロック境界に段差があり(ブロック境界差
分(|tmp0|)>周辺画素のアクティビティ(tmp))、かつ、
ブロック境界にエッジがない(ブロック境界差分(|tmp0
|)<DET_THRESHOLD)状態であるか否かを判定する。
【0070】そして、このステップS52における判定
結果がYESである場合にはステップS53に進み、N
Oである場合にはステップS60に進んで、原信号をそ
のまま出力する。
結果がYESである場合にはステップS53に進み、N
Oである場合にはステップS60に進んで、原信号をそ
のまま出力する。
【0071】ステップS53では、次の3つの条件
(1)〜(4)をすべて満たすか否かを判定する。
(1)〜(4)をすべて満たすか否かを判定する。
【0072】 条件(1):diff0〜diff7>0又はdiff0〜diff7<0 すなわち、ブロック境界を除いた補正範囲の輝度値の変
化が単調減少か単調増加である。 条件2:tmp0×(diff0〜diff7)<0 すなわち、ブロック境界での輝度値の変化が補正範囲の
他の輝度値の変化と逆である。 条件(3):Kp≧DIFF_THRESHOLD すなわち、処理中のブロック境界の符号化難易度が十分
高い。 条件(4):Kc≧DIFF_THRESHOLD すなわち、処理中のブロック境界の垂直あるいは水平相
関が十分高い。そして、このステップS53における判
定結果がNOである場合にはステップS54に進み、Y
ESである場合にはステップS61に進む。
化が単調減少か単調増加である。 条件2:tmp0×(diff0〜diff7)<0 すなわち、ブロック境界での輝度値の変化が補正範囲の
他の輝度値の変化と逆である。 条件(3):Kp≧DIFF_THRESHOLD すなわち、処理中のブロック境界の符号化難易度が十分
高い。 条件(4):Kc≧DIFF_THRESHOLD すなわち、処理中のブロック境界の垂直あるいは水平相
関が十分高い。そして、このステップS53における判
定結果がNOである場合にはステップS54に進み、Y
ESである場合にはステップS61に進む。
【0073】ステップS54では、 |tmp0|≧|diff3|&&|tmp0|≧|diff4| すなわち、ブロック境界の両端にエッジがない状態であ
るか否かを判定する。
るか否かを判定する。
【0074】そして、このステップS54における判定
結果がYESである場合、すなわち、ブロックノイズ除
去を行うための閾値をDET_THRESHOLD として、ステップ
S52及びステップS54で次の条件(11)〜(1
3)をすべて満たす場合に、 条件(11):ブロック境界差分(|tmp0|)>周辺画素の
アクティビティ(tmp)すなわち、ブロック境界に段差が
ある。
結果がYESである場合、すなわち、ブロックノイズ除
去を行うための閾値をDET_THRESHOLD として、ステップ
S52及びステップS54で次の条件(11)〜(1
3)をすべて満たす場合に、 条件(11):ブロック境界差分(|tmp0|)>周辺画素の
アクティビティ(tmp)すなわち、ブロック境界に段差が
ある。
【0075】条件(12):ブロック境界差分(|tmp0|)
<DET_THRESHOLD すなわち、ブロック境界にエッジがない。 条件(13):ブロック境界差分(|tmp0|)≧境
界隣接差分(|diff3|&|diff4|)すなわち、ブロック境界
の両端にエッジがない。ステップS55に進んで特殊処
理1を行い、NOである場合にはステップS64に進ん
で特殊処理2を行う。
<DET_THRESHOLD すなわち、ブロック境界にエッジがない。 条件(13):ブロック境界差分(|tmp0|)≧境
界隣接差分(|diff3|&|diff4|)すなわち、ブロック境界
の両端にエッジがない。ステップS55に進んで特殊処
理1を行い、NOである場合にはステップS64に進ん
で特殊処理2を行う。
【0076】そして、上記条件11〜13をすべて満た
す場合、ブロックノイズ除去の補正値を決めるための閾
値をCORR_THRESHOLDとして次のように補正値σ0 を決め
る。
す場合、ブロックノイズ除去の補正値を決めるための閾
値をCORR_THRESHOLDとして次のように補正値σ0 を決め
る。
【0077】すなわち、ブロック境界差分(|tmp0|)≧CO
RR_THRESHOLD 又は垂直方向ブロック境界と水平方向ブ
ロック境界の交差位置近傍では、 補正値σ0=(|tmp0|−|step|)/4 とする。また、ブロック境界差分(|tmp0|)<CORR_THRES
HOLDの場合には、 補正値σ0=(|tmp0|−|step|)/2 とする。
RR_THRESHOLD 又は垂直方向ブロック境界と水平方向ブ
ロック境界の交差位置近傍では、 補正値σ0=(|tmp0|−|step|)/4 とする。また、ブロック境界差分(|tmp0|)<CORR_THRES
HOLDの場合には、 補正値σ0=(|tmp0|−|step|)/2 とする。
【0078】ここに、補正後の段差stepは、 step=(diff3+diff4)/2 である。
【0079】ここで、ブロック境界での段差がある程度
大きい場合には、それがブロックノイズではなく、本来
のエッジである可能性が高いために、このようにして補
正値を小さく抑える。また、当該ブロック境界が垂直方
向ブロック境界と水平方向ブロック境界の交差位置近傍
にある場合には、互いの補正により破綻が生じる可能性
があるために、後述する特殊処理1や特殊処理2で補正
値を調整する。
大きい場合には、それがブロックノイズではなく、本来
のエッジである可能性が高いために、このようにして補
正値を小さく抑える。また、当該ブロック境界が垂直方
向ブロック境界と水平方向ブロック境界の交差位置近傍
にある場合には、互いの補正により破綻が生じる可能性
があるために、後述する特殊処理1や特殊処理2で補正
値を調整する。
【0080】次のステップS56ではブロック境界の相
関係数Kc及び符号化難易度係数Kpをブロックノイズ補正
値σ0 に乗ずる。
関係数Kc及び符号化難易度係数Kpをブロックノイズ補正
値σ0 に乗ずる。
【0081】σ0=σ0×Kc×Kp さらに次のステップS57では隣り合う補正範囲同士の
繋ぎ目を滑らかにするために、図15のように補正範囲
の外側に行くに従って補正値が小さくなるように補正値
σ1,σ2,σ3 に重み付けを行う。
繋ぎ目を滑らかにするために、図15のように補正範囲
の外側に行くに従って補正値が小さくなるように補正値
σ1,σ2,σ3 に重み付けを行う。
【0082】補正値σ1=σ0/2 補正値σ2=σ0/4 補正値σ3=σ0/8 なお、垂直方向処理においては,補正値σ3 はない。
【0083】次のステップS57では、重み付けされた
補正値σ1,σ2,σ3 を原信号に加算し、補正済みの画
像データを得る。
補正値σ1,σ2,σ3 を原信号に加算し、補正済みの画
像データを得る。
【0084】そして、次のステップS58では、ブロッ
ク歪処理済みの画像データを出力する。
ク歪処理済みの画像データを出力する。
【0085】ブロックノイズの特性によっては、上記の
アルゴリズムによってノイズ除去ができない場合がある
ため、各々の状況に応じて適応的に処理を行うアルゴリ
ズムを追加することにより、より効果的なブロックノイ
ズの除去を行う。
アルゴリズムによってノイズ除去ができない場合がある
ため、各々の状況に応じて適応的に処理を行うアルゴリ
ズムを追加することにより、より効果的なブロックノイ
ズの除去を行う。
【0086】ここで,図l7に示すようなブロックノイ
ズ除去処理では破綻を生じる可能性が高いために、使用
に際しては注意が必要となる。そこで、マクロブロック
毎の符号化難易度及びマクロブロック境界の垂直相関度
に応じて適応的にこれらのブロックノイズ除去処理を行
うようにすることで、破綻を生じ難くする。
ズ除去処理では破綻を生じる可能性が高いために、使用
に際しては注意が必要となる。そこで、マクロブロック
毎の符号化難易度及びマクロブロック境界の垂直相関度
に応じて適応的にこれらのブロックノイズ除去処理を行
うようにすることで、破綻を生じ難くする。
【0087】図16に補正が十分でない場合の例を示
す。この例では,diff0〜diff7まで全てが負の値を取
り、tmp0のみが正の値を取る。すなわち、画素a〜eで
は輝度値が単調減少していて、ブロック境界の所でのみ
輝度値が増加し、再び画素f〜jで輝度値が単調減少し
ている。このような場合,通常の補正を行うと図l6の
例のように、補正が十分でないために、ブロック境界に
段差が残ってしまい、ブロックノイズを除去し切れない
場合がある。
す。この例では,diff0〜diff7まで全てが負の値を取
り、tmp0のみが正の値を取る。すなわち、画素a〜eで
は輝度値が単調減少していて、ブロック境界の所でのみ
輝度値が増加し、再び画素f〜jで輝度値が単調減少し
ている。このような場合,通常の補正を行うと図l6の
例のように、補正が十分でないために、ブロック境界に
段差が残ってしまい、ブロックノイズを除去し切れない
場合がある。
【0088】ここで,図16の例のように画素a〜eで
は輝度値が単調減少していて、ブロック境界の所でのみ
輝度値が増加し、再び画素f〜jで輝度値が単調減少し
ている場合には、原画像ではブロック境界の所でも輝度
値が単調減少していたと考えると、図17のような補正
を行うことによりブロックノイズを除去できる。
は輝度値が単調減少していて、ブロック境界の所でのみ
輝度値が増加し、再び画素f〜jで輝度値が単調減少し
ている場合には、原画像ではブロック境界の所でも輝度
値が単調減少していたと考えると、図17のような補正
を行うことによりブロックノイズを除去できる。
【0089】このような場合を検出するために上記ステ
ップS52で上述の条件1,2,3,4をすべて満たす
か否かを判定する。そして、上記ステップS52におけ
る判定結果がYESの場合には、ステップS61に進ん
で、 ブロック境界差分(|tmp0|)≧CORR_THRESHOLD 又は垂直方向ブロック境界と水平方向ブロック境界の交
差位置近傍であるかを判定する。
ップS52で上述の条件1,2,3,4をすべて満たす
か否かを判定する。そして、上記ステップS52におけ
る判定結果がYESの場合には、ステップS61に進ん
で、 ブロック境界差分(|tmp0|)≧CORR_THRESHOLD 又は垂直方向ブロック境界と水平方向ブロック境界の交
差位置近傍であるかを判定する。
【0090】このステップS61の判定結果がYES、
すなわち、 ブロック境界差分(|tmp0|)≧CORR_THRESHOLD 又は垂直方向ブロック境界と水平方向ブロック境界の交
差位置近傍である場合には、ステップS62に進んで、 補正値σ0=(|tmp0|+|step|)/4 とする。また、上記ステップS61の判定結果がNO、
すなわち、 ブロック境界差分(|temp0|)<CORR_THRESHOLD である場合には、ステップS63に進んで、 補正値σ0=(|tmp0|+|step|)/2 とする。
すなわち、 ブロック境界差分(|tmp0|)≧CORR_THRESHOLD 又は垂直方向ブロック境界と水平方向ブロック境界の交
差位置近傍である場合には、ステップS62に進んで、 補正値σ0=(|tmp0|+|step|)/4 とする。また、上記ステップS61の判定結果がNO、
すなわち、 ブロック境界差分(|temp0|)<CORR_THRESHOLD である場合には、ステップS63に進んで、 補正値σ0=(|tmp0|+|step|)/2 とする。
【0091】ここに、補正後の段差stepは、 step=(|diff3|+|diff4|)/2 である。
【0092】そして、この場合も、ステップS56でブ
ロック境界の相関係数Kc及び符号化難易度係数Kpを乗じ
たブロックノイズ補正値σ0 にステップS57で重み付
けを行う。
ロック境界の相関係数Kc及び符号化難易度係数Kpを乗じ
たブロックノイズ補正値σ0 にステップS57で重み付
けを行う。
【0093】補正値σ1=σ0/2 補正値σ2=σ0/4 補正値σ3=σ0/8 なお、垂直方向処理においては,補正値σ3 はない。
【0094】ここで、上述の図12のフローチャートに
おけるステップS55では、図18のフローチャートに
示すような特殊処理1を行う。
おけるステップS55では、図18のフローチャートに
示すような特殊処理1を行う。
【0095】この特殊処理lは、例えば図19に示すよ
うな補正の結果、新たにエッジが生じる場合に対応する
ための特殊処理である。図19の例では、|diff3|と|di
ff4|の値が非常に近く、なおかつ|tmp0|が比較的大きい
ために、stepの値がσ0 に比べて極端に小さくなってし
まっている。このため、補正を行った結果、ブロック境
界の近傍画素とそれに近接する画素の間で新たにエッジ
を生じてしまい、これがブロックノイズとして知覚され
てしまう。
うな補正の結果、新たにエッジが生じる場合に対応する
ための特殊処理である。図19の例では、|diff3|と|di
ff4|の値が非常に近く、なおかつ|tmp0|が比較的大きい
ために、stepの値がσ0 に比べて極端に小さくなってし
まっている。このため、補正を行った結果、ブロック境
界の近傍画素とそれに近接する画素の間で新たにエッジ
を生じてしまい、これがブロックノイズとして知覚され
てしまう。
【0096】そこで、特殊処理1では、先ずステップS
71でブロック境界差分(|tmp0|)が閾値(CORR_THRESHO
LD)よりも大きいか否かを判定する。そして、このステ
ップS71における判定結果がYES、すなわち |tmp0|≧CORR_THRESHOLD の場合にはステップS72に進んで 補正値σ0=(|tmp0|−|step|)/4 とする。また、上記ステップS71における判定結果が
NO、すなわち |tmp0|<CORR_THRESHOLD の場合にはステップS73に進む。
71でブロック境界差分(|tmp0|)が閾値(CORR_THRESHO
LD)よりも大きいか否かを判定する。そして、このステ
ップS71における判定結果がYES、すなわち |tmp0|≧CORR_THRESHOLD の場合にはステップS72に進んで 補正値σ0=(|tmp0|−|step|)/4 とする。また、上記ステップS71における判定結果が
NO、すなわち |tmp0|<CORR_THRESHOLD の場合にはステップS73に進む。
【0097】このステップS73では、補正後の段差|
step|と補正値σ0 の比CORR_RATIOをCORR_RATIOを
0<CORR_RATIO<1として、 |step|<σ0×CORR_RATIO 又は垂直方向ブロック境界と水平方向ブロック境界の交
差位置近傍であるかを判定する。
step|と補正値σ0 の比CORR_RATIOをCORR_RATIOを
0<CORR_RATIO<1として、 |step|<σ0×CORR_RATIO 又は垂直方向ブロック境界と水平方向ブロック境界の交
差位置近傍であるかを判定する。
【0098】このステップS73の判定結果がYES、
すなわち、 |step|<σ0×CORR_RATIO すなわち、補正後の段差stepが補正値σ0 に比べて一定
の比よりも小さい場合、又は垂直方向ブロック境界と水
平方向ブロック境界の交差位置近傍である場合には、ス
テップS74に進んで、 補正値σ0=(|tmp0|−|step|)/4 とする。また、上記ステップS73の判定結果がNO、
すなわち、 ブロック境界差分(|temp0|)<CORR_THRESHOLD である場合には、ステップS75に進んで、 補正値σ0=(|tmp0|−|step|)/2 とする。
すなわち、 |step|<σ0×CORR_RATIO すなわち、補正後の段差stepが補正値σ0 に比べて一定
の比よりも小さい場合、又は垂直方向ブロック境界と水
平方向ブロック境界の交差位置近傍である場合には、ス
テップS74に進んで、 補正値σ0=(|tmp0|−|step|)/4 とする。また、上記ステップS73の判定結果がNO、
すなわち、 ブロック境界差分(|temp0|)<CORR_THRESHOLD である場合には、ステップS75に進んで、 補正値σ0=(|tmp0|−|step|)/2 とする。
【0099】この場合、図20における周辺画素の補正
値σ1 ,σ2 ,σ3 は以下のようにして求める。
値σ1 ,σ2 ,σ3 は以下のようにして求める。
【0100】補正値σ1=σ0'/2 補正値σ2=σ0'/4 補正値σ3=σ0'/8 このようにすることで、図20に示すように、補正後の
段差|step|が小さいことに起因する新たなエッジの発生
を未然に防ぎ、より破綻の少ないブロックノイズ除去を
行うことができる。
段差|step|が小さいことに起因する新たなエッジの発生
を未然に防ぎ、より破綻の少ないブロックノイズ除去を
行うことができる。
【0101】さらに、|diff3|>|tmp0|であるためにブ
ロックノイズとして検出される条件を満たしていない
が、ブロックノイズとして知覚できる場合の例を図21
に示す。
ロックノイズとして検出される条件を満たしていない
が、ブロックノイズとして知覚できる場合の例を図21
に示す。
【0102】このような場合を検出するために、このブ
ロック歪低減装置100では、通常のブロックノイズ除
去のための判定の他に、上述の図12のフローチャート
におけるステップS64で図22のフローチャートに示
すような特殊処理2を行う。
ロック歪低減装置100では、通常のブロックノイズ除
去のための判定の他に、上述の図12のフローチャート
におけるステップS64で図22のフローチャートに示
すような特殊処理2を行う。
【0103】特殊処理2では、先ずステップS81にお
いて、 diff3×tmp0<0&&diff4×tmp0≧0&&diff2×dffi3
≧0 すなわち、ブロック境界に近接する画素eと画素fの間
にエッジがあるか否かを判定する。
いて、 diff3×tmp0<0&&diff4×tmp0≧0&&diff2×dffi3
≧0 すなわち、ブロック境界に近接する画素eと画素fの間
にエッジがあるか否かを判定する。
【0104】このステップS81における判定結果がY
ESすなわちブロック境界に近接する画素eと画素fの
間にエッジがある場合にはステップS82に進み、NO
の場合にはステップS86に進む。
ESすなわちブロック境界に近接する画素eと画素fの
間にエッジがある場合にはステップS82に進み、NO
の場合にはステップS86に進む。
【0105】そして、ステップS82では、 ブロック境界差分(|tmp0|)≧CORR_THRESHOLD 又は垂直方向ブロック境界と水平方向ブロック境界の交
差位置近傍であるかを判定する。
差位置近傍であるかを判定する。
【0106】このステップS82における判定結果がY
ES、すなわち ブロック境界差分(|tmp0|)≧CORR_THRESHOLD 又は垂直方向ブロック境界と水平方向ブロック境界の交
差位置近傍である場合には、ステップS83に進んで、 補正値σ0=(|tmp0|−|diff4|)/4 とする。また、上記ステップS82の判定結果がNO、
すなわち、 ブロック境界差分(|temp0|)<CORR_THRESHOLD である場合には、ステップS84に進んで、 補正値σ0=(|tmp0|−|diff4|)/2 とする。
ES、すなわち ブロック境界差分(|tmp0|)≧CORR_THRESHOLD 又は垂直方向ブロック境界と水平方向ブロック境界の交
差位置近傍である場合には、ステップS83に進んで、 補正値σ0=(|tmp0|−|diff4|)/4 とする。また、上記ステップS82の判定結果がNO、
すなわち、 ブロック境界差分(|temp0|)<CORR_THRESHOLD である場合には、ステップS84に進んで、 補正値σ0=(|tmp0|−|diff4|)/2 とする。
【0107】そして、ステップS85において、補正値
σ1,σ2は 補正値σ1=diff2/2 補正値σ2=diff4/2 として、ステップS92に進む。
σ1,σ2は 補正値σ1=diff2/2 補正値σ2=diff4/2 として、ステップS92に進む。
【0108】また、上記ステップS86では、 diff4×tmp0<0&&diff3×tmp0≧0&&diff4×diff5
≧0 すなわち、画素fと画素gの間にエッジがあるか否かを
判定する。
≧0 すなわち、画素fと画素gの間にエッジがあるか否かを
判定する。
【0109】このステップS86における判定結果がY
ESすなわち画素fと画素gの間にエッジがある場合に
は、ステップS87に進み、NOの場合にはステップS
94に進んで、原信号をそのまま出力して、この特殊処
理2を終了する。
ESすなわち画素fと画素gの間にエッジがある場合に
は、ステップS87に進み、NOの場合にはステップS
94に進んで、原信号をそのまま出力して、この特殊処
理2を終了する。
【0110】そして、ステップS87では、 ブロック境界差分(|tmp0|)≧CORR_THRESHOLD 又は垂直方向ブロック境界と水平方向ブロック境界の交
差位置近傍であるかを判定する。
差位置近傍であるかを判定する。
【0111】このステップS87の判定結果がYES、
すなわち、 ブロック境界差分(|tmp0|)≧CORR_THRESHOLD 又は垂直方向ブロック境界と水平方向ブロック境界の交
差位置近傍である場合には、ステップS88に進んで、 補正値σ0=(|tmp0|−|diff4|)/4 とする。また、上記ステップS87の判定結果がNO、
すなわち、 ブロック境界差分(|temp0|)<CORR_THRESHOLD である場合には、ステップS89に進んで、 補正値σ0=(|tmp0|−|diff4|)/2 とする。
すなわち、 ブロック境界差分(|tmp0|)≧CORR_THRESHOLD 又は垂直方向ブロック境界と水平方向ブロック境界の交
差位置近傍である場合には、ステップS88に進んで、 補正値σ0=(|tmp0|−|diff4|)/4 とする。また、上記ステップS87の判定結果がNO、
すなわち、 ブロック境界差分(|temp0|)<CORR_THRESHOLD である場合には、ステップS89に進んで、 補正値σ0=(|tmp0|−|diff4|)/2 とする。
【0112】次のステップS90ではブロック境界の相
関係数Kc及び符号化難易度係数Kpをブロックノイズ補正
値σ0 に乗ずる。
関係数Kc及び符号化難易度係数Kpをブロックノイズ補正
値σ0 に乗ずる。
【0113】σ0=σ0×Kc×Kp そして、ステップS91において、補正値σ1 ,σ2 は 補正値σ1=diff3/2 補正値σ2=diff5/2 とする。
【0114】次のステップS92では、重み付けされた
補正値σ1 ,σ2 を原信号に加算し、補正済みの画像デ
ータを得る。
補正値σ1 ,σ2 を原信号に加算し、補正済みの画像デ
ータを得る。
【0115】そして、次のステップS93では、ブロッ
ク歪処理済みの画像データを出力すして、この特殊処理
2を終了する。
ク歪処理済みの画像データを出力すして、この特殊処理
2を終了する。
【0116】このような判定処理を行うことで、ブロッ
ク境界に近接する画素上にエッジがある場合にもブロッ
クノイズとして検出が可能となる。
ク境界に近接する画素上にエッジがある場合にもブロッ
クノイズとして検出が可能となる。
【0117】すなわち、このブロック歪低減装置100
では、入力画像データから符号化の難易度を示すパラメ
ータを検出する符号化難易度判定回路71,81により
検出するとともに、上記入力画像データからブロック歪
判定に必要なパラメータを演算するパラメータ演算回路
73,83により演算し、上記符号化の難易度を示すパ
ラメータ及び演算されたパラメータ基づいて、ブロック
歪判定及び補正値算出回路74,84により、ブロック
歪を判定して上記ブロック歪を低減するための補正値を
算出し、水平方向及び垂直方向のブロック境界の交差位
置で補正値を調整することによって、水平方向ブロック
境界と垂直方向ブロック境界の交差点におけるブロック
歪補正の矛盾による破綻を回避して、上記補正値による
補正を補正回路60により上記入力画像データに対して
安定に施すことができる。
では、入力画像データから符号化の難易度を示すパラメ
ータを検出する符号化難易度判定回路71,81により
検出するとともに、上記入力画像データからブロック歪
判定に必要なパラメータを演算するパラメータ演算回路
73,83により演算し、上記符号化の難易度を示すパ
ラメータ及び演算されたパラメータ基づいて、ブロック
歪判定及び補正値算出回路74,84により、ブロック
歪を判定して上記ブロック歪を低減するための補正値を
算出し、水平方向及び垂直方向のブロック境界の交差位
置で補正値を調整することによって、水平方向ブロック
境界と垂直方向ブロック境界の交差点におけるブロック
歪補正の矛盾による破綻を回避して、上記補正値による
補正を補正回路60により上記入力画像データに対して
安定に施すことができる。
【0118】ここで、上述の図1に示したブロック歪低
減装置100では、水平、垂直方向のブロック境界に対
して、無相関にブロック歪判定処理、補正処理を行うよ
うにしたが、図23に示すような構成により、水平、垂
直方向のブロック境界に対して、先に水平/垂直のブロ
ック歪判定処理及び補正処理を行い、その後に垂直/水
平のブロック歪判定処理及び補正処理を行うようにする
こともできる。
減装置100では、水平、垂直方向のブロック境界に対
して、無相関にブロック歪判定処理、補正処理を行うよ
うにしたが、図23に示すような構成により、水平、垂
直方向のブロック境界に対して、先に水平/垂直のブロ
ック歪判定処理及び補正処理を行い、その後に垂直/水
平のブロック歪判定処理及び補正処理を行うようにする
こともできる。
【0119】この図23に示すブロック歪低減装置20
0は、入力端子210と出力端子290の間に縦続接続
されたMPEGデコーダ220、プリプロセッサ23
0、第1のフィールドメモリ241、第1の遅延回路2
71、第1の補正回路281、第2のフィールドメモリ
242、第1の遅延回路272、及び第2の補正回路2
82と、上記プリプロセッサ230及び第1のフィール
ドメモリ241に接続された垂直方向処理部250と、
上記プリプロセッサ230及び第2のフィールドメモリ
242に接続された水平方向処理部260を備える。
0は、入力端子210と出力端子290の間に縦続接続
されたMPEGデコーダ220、プリプロセッサ23
0、第1のフィールドメモリ241、第1の遅延回路2
71、第1の補正回路281、第2のフィールドメモリ
242、第1の遅延回路272、及び第2の補正回路2
82と、上記プリプロセッサ230及び第1のフィール
ドメモリ241に接続された垂直方向処理部250と、
上記プリプロセッサ230及び第2のフィールドメモリ
242に接続された水平方向処理部260を備える。
【0120】このブロック歪低減装置200では、上記
垂直方向処理部250により水平/垂直のブロック歪判
定処理を行って得られる補正値σ0 〜σ2 を用いて第1
の補正回路281により補正処理を行い、その後に上記
水平方向処理部260により垂直/水平のブロック歪判
定処理を行って得られる補正値σ0 〜σ3 を用いて第2
の補正回路282により補正処理を行う。
垂直方向処理部250により水平/垂直のブロック歪判
定処理を行って得られる補正値σ0 〜σ2 を用いて第1
の補正回路281により補正処理を行い、その後に上記
水平方向処理部260により垂直/水平のブロック歪判
定処理を行って得られる補正値σ0 〜σ3 を用いて第2
の補正回路282により補正処理を行う。
【0121】この場合、後段のブロック歪判定処理及び
補正処理においてのみ、境界の交差点における補正値の
調整を行う以外は、上述の水平及び垂直方向で無相関に
ブロック歪判定処理及び補正処理を行う場合と全く同じ
処理になる。
補正処理においてのみ、境界の交差点における補正値の
調整を行う以外は、上述の水平及び垂直方向で無相関に
ブロック歪判定処理及び補正処理を行う場合と全く同じ
処理になる。
【0122】また、処理の順序が逆になった場合でも、
処理内容には変化はないが、視覚効果を考える場合、よ
り影響の強い水平方向処理を後に行う方が有効である。
処理内容には変化はないが、視覚効果を考える場合、よ
り影響の強い水平方向処理を後に行う方が有効である。
【0123】
【発明の効果】水平、垂直方向のブロック境界に対し
て、無相関にブロック歪判定処理、補正処理を行う場
合、画像データを蓄えるメモリヘのアクセスが少なくて
済み、装置化が容易である。しかし、このような処理を
行う場合、水平方向ブロック境界と垂直方向ブロック境
界の交差点におけるブロック歪補正に矛盾が生じ、それ
が破綻となる可能性がある。そこで、水平方向ブロック
境界と垂直方向ブロック境界の交差点においては、補正
値を小さめに調整することで破綻を防ぐことができる。
て、無相関にブロック歪判定処理、補正処理を行う場
合、画像データを蓄えるメモリヘのアクセスが少なくて
済み、装置化が容易である。しかし、このような処理を
行う場合、水平方向ブロック境界と垂直方向ブロック境
界の交差点におけるブロック歪補正に矛盾が生じ、それ
が破綻となる可能性がある。そこで、水平方向ブロック
境界と垂直方向ブロック境界の交差点においては、補正
値を小さめに調整することで破綻を防ぐことができる。
【0124】また、水平、垂直方向のブロック境界に対
して、先に水平/垂直のブロック歪判定処理及び補正処
理を行い、その後に垂直/水平のブロック歪判定処理及
び補正処理を行う場合、画像データを蓄えるメモリヘの
アクセスが多くなり,装置化が難解なる。しかし、この
ような処理を行う場合、水平方向ブロック境界と垂直方
向ブロック境界の交差点におけるブロック歪補正の矛盾
による破綻の生じる可能性が、水平/垂直のどちらか一
方のみになる。そのため、水平/垂直方向の補正処理の
どちらか一方、後から行う処理の側で、水平方向ブロッ
ク境界と垂直方向ブロック境界の交差点において、補正
値を小さめに調整するだけで良くなる。
して、先に水平/垂直のブロック歪判定処理及び補正処
理を行い、その後に垂直/水平のブロック歪判定処理及
び補正処理を行う場合、画像データを蓄えるメモリヘの
アクセスが多くなり,装置化が難解なる。しかし、この
ような処理を行う場合、水平方向ブロック境界と垂直方
向ブロック境界の交差点におけるブロック歪補正の矛盾
による破綻の生じる可能性が、水平/垂直のどちらか一
方のみになる。そのため、水平/垂直方向の補正処理の
どちらか一方、後から行う処理の側で、水平方向ブロッ
ク境界と垂直方向ブロック境界の交差点において、補正
値を小さめに調整するだけで良くなる。
【0125】さらに、水平方向ブロック境界における補
正範囲を垂直方向ブロック境界における補正範囲よりも
狭くすることで、補正に必要なラインメモリを減らし、
装置化を用意にする。一般に、水平方向のブロック境界
におけるブロック歪は垂直方向のブロック境界における
ブロック歪よりも段差が小さいため、補正範囲を狭くし
てもブロック歪低減効果に大きな影響はない。
正範囲を垂直方向ブロック境界における補正範囲よりも
狭くすることで、補正に必要なラインメモリを減らし、
装置化を用意にする。一般に、水平方向のブロック境界
におけるブロック歪は垂直方向のブロック境界における
ブロック歪よりも段差が小さいため、補正範囲を狭くし
てもブロック歪低減効果に大きな影響はない。
【図1】本発明に係るブロック歪低減装置の構成例を示
すブロック図である。
すブロック図である。
【図2】上記ブロック歪低減装置におけるプリプロセッ
サの構成例を示すブロック図である。
サの構成例を示すブロック図である。
【図3】符号化難易度の低い画像と符号化難易度の高い
画像の動き補償残差を比較して示す図である。
画像の動き補償残差を比較して示す図である。
【図4】符号化難易度の低い画像と符号化難易度の高い
画像の動きベクトルの差分値を比較して示す図である。
画像の動きベクトルの差分値を比較して示す図である。
【図5】上記ブロック歪低減装置によるブロックノイズ
除去処理の手順を示すフローチャートである。
除去処理の手順を示すフローチャートである。
【図6】上記ブロック歪低減装置によるブロックノイズ
除去の水平方向処理における各処理の位置関係を模式的
に示す図である。
除去の水平方向処理における各処理の位置関係を模式的
に示す図である。
【図7】上記ブロック歪低減装置によるブロックノイズ
除去の垂直方向処理における各処理の位置関係を模式的
に示す図である。
除去の垂直方向処理における各処理の位置関係を模式的
に示す図である。
【図8】上記水平方向処理における符号化難易度係数の
算出処理手順を示すフローチャートである。
算出処理手順を示すフローチャートである。
【図9】上記水平方向処理における垂直相関係数の算出
処理手順を示すフローチャートである。
処理手順を示すフローチャートである。
【図10】上記水平方向処理における垂直相関の検出方
法を説明するためのDCTブロック境界近傍の画素を示
す図である。
法を説明するためのDCTブロック境界近傍の画素を示
す図である。
【図11】上記垂直相関の検出に用いるエッジ抽出回路
の構成を示す図である。
の構成を示す図である。
【図12】上記ブロック歪低減装置によるブロックノイ
ズ除去処理におけるブロック歪判定及び補正処理の具体
的な処理手順を示すフローチャートである。
ズ除去処理におけるブロック歪判定及び補正処理の具体
的な処理手順を示すフローチャートである。
【図13】上記ブロック歪低減装置における水平方向処
理のブロックノイズ除去範囲を示す図である。
理のブロックノイズ除去範囲を示す図である。
【図14】上記ブロック歪低減装置における垂直方向処
理のブロックノイズ除去範囲を示す図である。
理のブロックノイズ除去範囲を示す図である。
【図15】上記ブロック歪低減装置によるブロックノイ
ズの除去方式を説明するための図である。
ズの除去方式を説明するための図である。
【図16】補正が十分でない補正例を示す図である。
【図17】破綻を生じ易い補正例を示す図である。
【図18】上記ブロック歪低減装置によるブロックノイ
ズ除去処理における特殊処理1の処理手順を示すフロー
チャートである。
ズ除去処理における特殊処理1の処理手順を示すフロー
チャートである。
【図19】補正の結果、新たにエッジを生じる補正例を
示す図である。
示す図である。
【図20】修正した補正値による補正例を示す図であ
る。
る。
【図21】ブロックノイズがブロック境界に近接する画
素上にある場合の補正例を示す図である。
素上にある場合の補正例を示す図である。
【図22】上記ブロック歪低減装置によるブロックノイ
ズ除去処理における特殊処理2の処理手順を示すフロー
チャートである。
ズ除去処理における特殊処理2の処理手順を示すフロー
チャートである。
【図23】本発明に係るブロック歪低減装置の他の構成
例を示すブロック図である。
例を示すブロック図である。
10,210 入力端子、20,220 MPEGデコ
ーダ、30,230プリプロセッサ、40,241、2
42 フィールドメモリ、50,271,272 遅延
回路、60,281,282 補正回路、70,260
水平方向処理部、71,81 符号化難易度判定回
路、72 垂直相関検出回路、73,83 パラメータ
演算回路、74,84 ブロック歪判定及び補正値算出
回路、80,250 垂直方向処理部、82 水平相関
検出回路、90,290 出力端子、100,200
ブロック歪低減装置
ーダ、30,230プリプロセッサ、40,241、2
42 フィールドメモリ、50,271,272 遅延
回路、60,281,282 補正回路、70,260
水平方向処理部、71,81 符号化難易度判定回
路、72 垂直相関検出回路、73,83 パラメータ
演算回路、74,84 ブロック歪判定及び補正値算出
回路、80,250 垂直方向処理部、82 水平相関
検出回路、90,290 出力端子、100,200
ブロック歪低減装置
───────────────────────────────────────────────────── フロントページの続き (72)発明者 福田 京子 東京都品川区北品川6丁目7番35号 ソニ ー株式会社内 (72)発明者 小幡 功史 東京都品川区北品川6丁目7番35号 ソニ ー株式会社内 (72)発明者 加藤 元樹 東京都品川区北品川6丁目7番35号 ソニ ー株式会社内 Fターム(参考) 5C059 KK03 MA00 MA22 MA23 ME01 NN11 NN21 NN28 PP01 PP04 TA01 TB07 TB08 TC00 TC12 TC33 TD12 UA13 UA33 5J064 AA01 BA09 BA16 BB12 BC01 BC02 BC08 BC11 BC25 BD02
Claims (6)
- 【請求項1】 入力画像データのブロック符号化におけ
るブロック歪を低減するためのブロック歪低減方法にお
いて、 上記入力画像データから符号化の難易度を示すパラメー
タを検出する符号化難易度検出工程と、 上記入力画像データからブロック歪判定に必要なパラメ
ータを演算するパラメータ演算工程と、 上記符号化難易度検出工程における符号化の難易度を示
すパラメータの検出結果及び上記パラメータ演算工程に
おけるパラメータの演算結果に基づいてブロック歪を判
定するブロック歪判定工程と、 上記ブロック歪を低減するための補正値を算出する補正
値算出工程と、 上記ブロック歪判定工程におけるブロック歪の結果に応
じて、上記補正値算出工程において算出された補正値に
よる補正を上記入力画像データに対して施して出力する
ブロック歪補正工程とを有し、 上記ブロック歪判定工程及び補正値算出工程において水
平方向及び垂直方向のブロック境界の交差位置で補正値
を調整することを特徴とするブロック歪低減方法。 - 【請求項2】 水平、垂直方向のブロック境界に対し
て、無相関にブロック歪判定処理、補正処理を行うこと
を特徴とする請求項1記載のブロック歪低減方法。 - 【請求項3】 水平、垂直方向のブロック境界に対し
て、先に水平/垂直のブロック歪判定処理及び補正処理
を行い、その後に垂直/水平のブロック歪判定処理及び
補正処理を行うことを特徴とする請求項1記載のブロッ
ク歪低減方法。 - 【請求項4】 入力画像データのブロック符号化におけ
るブロック歪を低減するためのブロック歪低減方法にお
いて、 上記入力画像データから符号化の難易度を示すパラメー
タを検出する符号化難易度検出工程と、 上記入力画像データからブロック歪判定に必要なパラメ
ータを演算する演算工程と、 上記符号化の難易度を示すパラメータ検出の結果及び上
記パラメータ演算の結果に基づいてブロック歪を判定す
る判定工程と、 上記ブロック歪を低減するための補正値を算出する補正
値算出工程と、 上記ブロック歪の判定結果に応じた上記補正値による補
正を上記入力画像データに対して施して出力するブロッ
ク歪補正工程とを有し、 上記ブロック歪補正工程における水平方向ブロック境界
の補正範囲と垂直方向ブロック境界の補正範囲を異なら
しめたことを特徴とするブロック歪低減方法。 - 【請求項5】 入力画像データのブロック符号化におけ
るブロック歪を低減するためのブロック歪低減装置にお
いて、 上記入力画像データから符号化の難易度を示すパラメー
タを検出する符号化難易度検出手段と、 上記入力画像データからブロック歪判定に必要なパラメ
ータを演算する演算手段と、 上記符号化難易度検出手段により検出された符号化の難
易度を示すパラメータと上記パラメータ演算手段により
演算されたパラメータに基づいてブロック歪を判定する
ブロック歪判定手段と、 上記ブロック歪を低減するための補正値を算出する補正
値算出手段と、 上記ブロック歪判定手段による判定結果に応じて、上記
補正値算出手段により算出された補正値による補正を上
記入力画像データに対して施して出力するブロック歪補
正手段とを有し、 上記ブロック歪判定手段及び補正値算出手段において水
平方向及び垂直方向のブロック境界の交差位置で補正値
を調整することを特徴とするブロック歪低減装置。 - 【請求項6】 入力画像データのブロック符号化におけ
るブロック歪を低減するためのブロック歪低減装置にお
いて、 上記入力画像データから符号化の難易度を示すパラメー
タを検出する符号化難易度検出手段と、 上記入力画像データからブロック歪判定に必要なパラメ
ータを演算するパラメータ演算手段と、 上記符号化難易度検出手段により検出された符号化の難
易度を示すパラメータと上記パラメータ演算手段により
演算されたパラメータに基づいてブロック歪を判定する
ブロック歪判定手段と、 上記ブロック歪を低減するための補正値を算出する補正
値算出手段と、 上記ブロック歪判定手段による判定結果に応じて、上記
補正値算出手段により算出された補正値による補正を上
記入力画像データに対して施して出力するブロック歪補
正手段とを有し、 上記ブロック歪補正手段における水平方向ブロック境界
の補正範囲と垂直方向ブロック境界の補正範囲を異なら
しめたことを特徴とするブロック歪低減装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20525999A JP2001036906A (ja) | 1999-07-19 | 1999-07-19 | ブロック歪低減方法及びブロック歪低減装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP20525999A JP2001036906A (ja) | 1999-07-19 | 1999-07-19 | ブロック歪低減方法及びブロック歪低減装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2001036906A true JP2001036906A (ja) | 2001-02-09 |
Family
ID=16504033
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP20525999A Withdrawn JP2001036906A (ja) | 1999-07-19 | 1999-07-19 | ブロック歪低減方法及びブロック歪低減装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2001036906A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003023624A (ja) * | 2001-07-06 | 2003-01-24 | Sony Corp | 画像復号化装置 |
JP2009206714A (ja) * | 2008-02-27 | 2009-09-10 | Fujitsu Ltd | デブロッキングフィルタ |
-
1999
- 1999-07-19 JP JP20525999A patent/JP2001036906A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003023624A (ja) * | 2001-07-06 | 2003-01-24 | Sony Corp | 画像復号化装置 |
JP4696412B2 (ja) * | 2001-07-06 | 2011-06-08 | ソニー株式会社 | 画像復号化装置 |
JP2009206714A (ja) * | 2008-02-27 | 2009-09-10 | Fujitsu Ltd | デブロッキングフィルタ |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7805016B2 (en) | Decoding apparatus and decoding method | |
JP4186242B2 (ja) | 画像信号処理装置及び画像信号処理方法 | |
JP5216071B2 (ja) | 復号装置及び復号方法 | |
KR100677552B1 (ko) | 루프 필터링 방법 및 루프 필터 | |
JPH09182075A (ja) | 画像を送信するための方法およびシステム | |
JPH04196976A (ja) | 画像符号化装置 | |
US20070147505A1 (en) | Processing a compressed video signal | |
JP2008503177A (ja) | 色差デブロッキングのための方法 | |
JP2004297768A (ja) | 映像信号符号化装置、および映像信号符号化方法 | |
JP7361838B2 (ja) | 映像符号化装置、映像復号装置、及びこれらのプログラム | |
JPH08251422A (ja) | ブロック歪み補正器及び画像信号伸張装置 | |
JP2006270851A (ja) | 画像符号化装置及び画像復号装置 | |
JP3360191B2 (ja) | 画像符号化装置及び画像符号化方法 | |
JP2001094996A (ja) | ブロック歪低減方法及びブロック歪低減装置 | |
JP2005295215A (ja) | 動画像符号化装置 | |
JP2001036906A (ja) | ブロック歪低減方法及びブロック歪低減装置 | |
KR100628839B1 (ko) | 모서리 잡음 검출 및 보상방법 | |
JP4449430B2 (ja) | 画像処理装置および画像処理方法、プログラム、並びに記録媒体 | |
JPH0496484A (ja) | ディジタル映像信号再生装置 | |
JPH07170512A (ja) | 画像信号復号化装置におけるポストフィルタ処理方法およびポストフィルタ処理装置 | |
US7161984B2 (en) | Video reproduction apparatus with fast post-processing and method thereof | |
JP4196929B2 (ja) | ノイズ検出装置及びノイズ検出プログラム | |
JP2595875B2 (ja) | 動画像信号の符号化方法およびその装置 | |
JP2005197879A (ja) | 映像信号符号化装置 | |
US20070274397A1 (en) | Algorithm for Reducing Artifacts in Decoded Video |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20061003 |