JP2003116134A - 画像処理装置及び画像処理プログラム、並びに画像処理方法 - Google Patents

画像処理装置及び画像処理プログラム、並びに画像処理方法

Info

Publication number
JP2003116134A
JP2003116134A JP2002200577A JP2002200577A JP2003116134A JP 2003116134 A JP2003116134 A JP 2003116134A JP 2002200577 A JP2002200577 A JP 2002200577A JP 2002200577 A JP2002200577 A JP 2002200577A JP 2003116134 A JP2003116134 A JP 2003116134A
Authority
JP
Japan
Prior art keywords
pixel
image
value
filter
adjacent
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.)
Granted
Application number
JP2002200577A
Other languages
English (en)
Other versions
JP4145586B2 (ja
JP2003116134A5 (ja
Inventor
Masaki Ishikawa
真己 石川
Hirotsuna Miura
弘綱 三浦
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2002200577A priority Critical patent/JP4145586B2/ja
Priority to US10/193,306 priority patent/US7215823B2/en
Priority to DE2002615427 priority patent/DE60215427T2/de
Priority to AT02015690T priority patent/ATE343301T1/de
Priority to EP20020015690 priority patent/EP1283640B1/en
Publication of JP2003116134A publication Critical patent/JP2003116134A/ja
Publication of JP2003116134A5 publication Critical patent/JP2003116134A5/ja
Application granted granted Critical
Publication of JP4145586B2 publication Critical patent/JP4145586B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/527Global motion vector estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Facsimile Image Signal Circuits (AREA)
  • Picture Signal Circuits (AREA)

Abstract

(57)【要約】 【課題】 画像復号化時のフィルタ処理の簡素化および
高速化を図るとともに、効果的なフィルタ効果を実現す
るのに好適な画像処理装置を提供する。 【解決手段】 デブロックフィルタ処理は、互いに隣接
するブロック間の境界線と直交する画素列について、デ
ブロックフィルタ後の各画素の値v2'〜v7'を、下式の
フィルタ演算式により算出する。 v2'=(v2+v5)/2+(v2−v5)/4 v3'=(v3+v5)/2+(v3−v5)/8 v4'=(v4+v5)/2 v5'=(v5+v4)/2+(v5−v4)/8 v6'=(v6+v4)/2+(v6−v4)/4 v7'=v7−(v7−v4)/8

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、JPEG(Joint
Photographic coding Experts Group)またはMPEG
(Moving Picture Experts Group)等により圧縮された
圧縮画像データに基づいてブロック単位で画像を展開す
る際に、展開画像に対してフィルタ処理を行う装置およ
びプログラム、並びに方法に係り、特に、画像復号化時
のフィルタ処理の簡素化および高速化を図るとともに、
効果的なフィルタ効果を実現するのに好適な画像処理装
置および画像処理プログラム、並びに画像処理方法に関
する。
【0002】
【従来の技術】静止画像についての圧縮技術としてJP
EG方式が、動画像についての圧縮技術としてMPEG
方式が広く知られている。これらの画像圧縮方式におい
ては、8画素×8画素のブロックを処理の1単位として
扱い、DCT(Discrete Cosine Transform:離散コサ
イン変換)処理を行う。DCT処理は、元の画像を空間
的な周波数成分に分解する処理であり、空間的に冗長な
情報を削減することによって、画像を圧縮することがで
きる。
【0003】ところで、JPEG方式またはMPEG方
式を採用する場合、次のような2種類のノイズが発生
し、このノイズが画質を劣化させる原因となる。すなわ
ち、JPEG方式およびMPEG方式においては、8画
素×8画素のブロックを処理の単位としているので、画
像によっては、このブロックの境界がノイズとして見え
てしまう。これは、DCT処理が、画像の空間的な周波
数成分のうち直流成分に相当するものを除去する処理で
あり、それを各ブロックごとに行うため、各ブロックの
輝度の平均値が異なってしまうことが原因である。この
境界部分のノイズは、ブロックノイズと呼ばれている。
【0004】また、JPEG方式およびMPEG方式に
おけるDCT処理では、画像の空間的な周波数成分のう
ち高調波成分ほど冗長な情報として除去する結果、周辺
との輝度差が大きい部分にノイズが表れる。例えば、自
然画の背景に文字が存在する場合等、ブロック内に輝度
の大きな変化がある場合、DCT処理を行うと、本来の
境界部分を構成するデータから高調波成分が除去され、
境界周辺にモヤモヤとしたノイズが表れる。このノイズ
は、モスキートノイズと呼ばれている。
【0005】ブロックノイズおよびモスキートノイズを
軽減するための技術が特開平3-46482号公報に記載され
ている。同公報に記載されている技術(以下、第1の従
来例という。)においては、互いに隣接するブロック間
の境界線を挟んで位置する境界画素間の信号レベル差が
第1の閾値より大きく、ブロックの各々において境界画
素と列上の画素のうちその境界画素に同一ブロック内で
隣接する画素との間の信号レベル差がそれぞれ第2の閾
値より小さい場合に、フィルタ処理をする。
【0006】このとき、図19において、ブロック境界
の両側に位置する画素配置X1およびX0、画素配置
X’0およびX’1についての信号レベルS1、S0
S’0、S’1の差分値d0,d1,d2に基づいて、画
素配置X0、X’0についての信号レベルを修正する。
すなわち新たな信号レベルS0-new、S’0-newは、 S0-new=(S1+2・S0+S’0)/4 S’0-new=(S0+2・S’0+S’1)/4 となる。
【0007】また、ブロックノイズおよびモスキートノ
イズを軽減する他の方法として、MPEG4についての
VM(Verification Model)や特開平11-98505号公報に記
載されている技術(以下、第2の従来例という。)も知
られている。第2の従来例においては、図20に示され
ている垂直方向および水平方向のブロック境界につい
て、デフォルトモードかDCオフセットモードかを判定
し、それぞれの処理を行う。
【0008】この場合、ブロックの境界B1,B2を基
点としてピクセルセットS0,S1,S2を定義し、モ
ード決定値からブロック歪現象の程度に基づいて選択的
にデブロッキングモードをデフォルトモードかDCオフ
セットモードかに決める。そして、デフォルトモードと
決定されると、4ポイントDCTカーネルを用いて各ピ
クセルに対するブロック境界周辺の周波数情報を求め
る。モード決定段階でDCオフセットモードと決定され
ると、DCオフセットモードの実行が必要であるかどう
かを判断し、必要であればブロック歪み現象を除去す
る。
【0009】
【発明が解決しようとする課題】しかしながら、第1の
従来例では、境界画素のみを補正しているので、ブロッ
ク歪みを除去する処理として充分ではないという欠点が
ある。また、VMや第2の従来例では、処理が複雑で計
算負荷が大きすぎるという欠点がある。また、これらの
技術をハードウェアにより実現しようとすると、処理が
比較的複雑であるため、回路規模を小型化するのが困難
であるという問題がある。小型化を図る観点からは、多
少画質を犠牲にしても処理をできるだけ簡略化すること
が望ましい。また、搭載できるメモリの容量にも一定の
制限があるため、フィルタ処理において演算のために占
有するメモリ容量もできるだけ最小限に抑えることが望
ましい。
【0010】そこで、本発明は、このような従来の技術
の有する未解決の課題に着目してなされたものであっ
て、画像復号化時のフィルタ処理の簡素化および高速化
を図るとともに、効果的なフィルタ効果を実現するのに
好適な画像処理装置および画像処理プログラム、並びに
画像処理方法を提供することを第1の目的としている。
また、画像復号化時のフィルタ処理において演算のため
に占有するメモリ容量を低減するのに好適な画像処理装
置および画像処理プログラム、並びに画像処理方法を提
供することを第2の目的としている。
【0011】
【課題を解決するための手段】上記目的を達成するため
に、本発明に係る請求項1記載の画像処理装置は、離散
コサイン変換処理および量子化処理を所定のブロック単
位で行う画像圧縮処理により圧縮された圧縮画像データ
に基づいて前記ブロック単位で画像を展開する際または
展開した後に、展開画像に対してフィルタ処理を行う装
置であって、前記フィルタ処理は、前記ブロック内の一
の画素についてのフィルタ演算を、当該一の画素の値
と、隣接ブロック内のいずれかの画素の値とにのみ基づ
いて行うようになっている。
【0012】このような構成であれば、圧縮画像データ
に基づいてブロック単位で画像を展開する際または展開
した後には、フィルタ処理により、ブロック内の一の画
素についてのフィルタ演算が、その一の画素の値と、隣
接ブロック内のいずれかの画素の値とにのみ基づいて行
われる。さらに、本発明に係る請求項2記載の画像処理
装置は、請求項1記載の画像処理装置において、前記フ
ィルタ処理は、互いに隣接するブロック間の境界線と交
差する画素列の画素のうち一の画素についてのフィルタ
演算を、当該一の画素の値と、同一画素列の画素であっ
て隣接ブロック内のいずれかの画素の値とにのみ基づい
て行うようになっている。
【0013】このような構成であれば、フィルタ処理に
より、境界線と交差する画素列の画素のうち一の画素に
ついてのフィルタ演算が、その一の画素の値と、同一画
素列の画素であって隣接ブロック内のいずれかの画素の
値とにのみ基づいて行われる。さらに、本発明に係る請
求項3記載の画像処理装置は、請求項1および2のいず
れかに記載の画像処理装置において、前記フィルタ処理
は、互いに隣接するブロック間の境界線と交差する画素
列の画素のうち一の画素についてのフィルタ演算を、当
該一の画素の値と、同一画素列の画素であって隣接ブロ
ック内の前記境界線に位置する境界画素の値とにのみ基
づいて行うようになっている。
【0014】このような構成であれば、フィルタ処理に
より、境界線と交差する画素列の画素のうち一の画素に
ついてのフィルタ演算が、その一の画素の値と、同一画
素列の画素であって隣接ブロック内の境界画素の値とに
のみ基づいて行われる。さらに、本発明に係る請求項4
記載の画像処理装置は、請求項1ないし3のいずれかに
記載の画像処理装置において、前記フィルタ処理は、互
いに隣接するブロック間の境界線と交差する画素列につ
いて、前記境界線を挟んで片側の画素の値を前記境界線
から近い順にv4、v3、v2とし、前記境界線を挟んで
逆片側の画素の値を前記境界線から近い順にv5、v6
7とした場合に、フィルタ後の各画素の値v2'〜v7'
を、「v2'=(v2+v5)/2+(v2−v5)/4」、「v
3'=(v3+v5)/2+(v3−v5)/8」、「v4'=(v4
+v5)/2」、「v5'=(v5+v4)/2+(v5−v4)/
8」、「v6'=(v6+v4)/2+(v6−v4)/4」およ
び「v7'=v7−(v7−v4)/8」のフィルタ演算式
により算出するようになっている。
【0015】このような構成であれば、フィルタ処理に
より、境界線と交差する画素列について、フィルタ後の
各画素の値v2'〜v7'が上記各フィルタ演算式により算
出される。さらに、本発明に係る請求項5記載の画像処
理装置は、請求項1ないし4のいずれかに記載の画像処
理装置において、前記フィルタ処理は、互いに隣接する
ブロック間の境界線と交差する画素列の画素のうち一の
画素についてのフィルタ演算を、当該一の画素から、同
一画素列の画素であって隣接ブロック内の前記境界線に
位置する境界画素までの各画素の相互の差分値がいずれ
も閾値を超えていないときに行い、前記閾値として定数
値を用いるようになっている。
【0016】このような構成であれば、境界線と交差す
る画素列の画素のうち一の画素から、同一画素列の画素
であって隣接ブロック内の境界画素までの各画素の相互
の差分値がいずれも閾値を超えていないと、フィルタ処
理により、その一の画素についてのフィルタ演算が行わ
れる。ここで、閾値が定数値であるので、フィルタ処理
の過程において閾値を算出する必要がない。
【0017】さらに、本発明に係る請求項6記載の画像
処理装置は、請求項5記載の画像処理装置において、前
記境界画素と、前記境界画素と隣接する隣接画素との差
分値を比較するときの閾値を、前記境界画素と、前記隣
接画素以外の画素との差分値を比較するときの閾値より
も大きく設定した。このような構成であれば、境界画素
と隣接画素との差分値を比較するときは、境界画素と、
隣接画素以外の画素との差分値を比較するときの閾値よ
りも大きい閾値に基づいて行われる。境界画素と隣接画
素とは、それぞれ異なるブロックの境界を構成し、輝度
の値が大きく異なることがあるため、それらを比較する
ときの閾値を、他の画素を比較するときの閾値よりも大
きく設定した方が、フィルタ処理を比較的確実に行うこ
とができる。
【0018】さらに、本発明に係る請求項7記載の画像
処理装置は、請求項5および6のいずれかに記載の画像
処理装置において、前記境界画素と、前記境界画素と隣
接する隣接画素との差分値を比較するときの閾値を、画
素の値の最大値を「2n−1」(n≧4)として
「2n-3」に相当する値またはその近似値に設定し、前
記境界画素と、前記隣接画素以外の画素との差分値を比
較するときの閾値を、「2n- 4」に相当する値またはそ
の近似値に設定した。
【0019】このような構成であれば、境界画素と隣接
画素との差分値を比較するときは、画素の値の最大値を
「2n−1」として「2n-3」に相当する値またはその近
似値を閾値とし、これに基づいて行われる。ここで、閾
値は、「2n-3」に相当する値またはその近似値よりも
大きく設定し過ぎると、フィルタ処理を行わなくてもよ
いのに行ってしまい、処理負荷が増加し、フィルタ処理
の高速化を図ることができなくなり、逆に、「2n-3
に相当する値またはその近似値よりも小さく設定し過ぎ
ると、フィルタ処理を行うべきなのに行われず、効果的
なフィルタ効果が期待できない。
【0020】また、境界画素と、隣接画素以外の画素と
の差分値を比較するときは、画素の値の最大値を「2n
−1」として「2n-4」に相当する値またはその近似値
を閾値とし、これに基づいて行われる。ここで、閾値
は、「2n-4」に相当する値またはその近似値よりも大
きく設定し過ぎると、フィルタ処理を行わなくてもよい
のに行ってしまい、処理負荷が増加し、フィルタ処理の
高速化を図ることができなくなり、逆に、「2n-4」に
相当する値またはその近似値よりも小さく設定し過ぎる
と、フィルタ処理を行うべきなのに行われず、効果的な
フィルタ効果が期待できない。
【0021】さらに、本発明に係る請求項8記載の画像
処理装置は、請求項5ないし7のいずれかに記載の画像
処理装置において、前記フィルタ処理は、画素について
前記フィルタ演算を行うか否かの判定を、前記境界画素
と隣接する隣接画素から順次前記境界線より遠ざかる方
向に行い、画素について前記フィルタ演算を行わないと
判定したときは、当該画素およびこれよりも後段の画素
については前記フィルタ演算を行わないようになってい
る。
【0022】このような構成であれば、画素についてフ
ィルタ演算を行うか否かの判定が、境界画素と隣接する
隣接画素から順次境界線より遠ざかる方向に行われる。
そして、その判定において、画素についてフィルタ演算
を行わないと判定されると、その画素およびこれよりも
後段の画素についてはフィルタ演算が行われない。本
来、一の画素についてフィルタ演算を行うか否かの判定
は、その一の画素から境界画素までの各画素の相互の差
分値が閾値を超えたか否かを判定しなければならない。
例えば、判定の対象となる判定対象画素から境界画素ま
での間に4個の画素(判定対象画素および境界画素を含
む)が存在する場合は、3回の判定を行う必要がある。
しかし、上記の順序で判定を行っていけば、判定対象画
素と境界画素との判定以外のものについては、前段の画
素についての判定で既に行われているので、後段のその
画素については判定を省略することができる。したがっ
て、判定対象画素のうち境界画素より最も遠いものから
境界画素までの間に4個の画素が存在する場合は、通常
ではその画素列全体として3!回の判定を要するところ
最大3回の判定ですむ。
【0023】さらに、本発明に係る請求項9記載の画像
処理装置は、請求項1ないし8のいずれかに記載の画像
処理装置において、前記展開画像を格納するための画像
記憶手段に利用可能に接続し、互いに隣接するブロック
間の境界線と交差する画素列の画素のうち前記境界線か
ら最も離れた前記ブロック内の画素から、同一画素列の
画素であって隣接ブロック内の前記境界線に位置する境
界画素までの全画素データを格納するに必要十分な記憶
容量を有する作業用記憶手段を備え、前記フィルタ処理
は、前記画素列のうち一の画素から前記境界画素までの
全画素データを、前記画像記憶手段から前記作業用記憶
手段にまとめて読み込み、前記作業用記憶手段の画素デ
ータに基づいて前記フィルタ演算を行うようになってい
る。
【0024】このような構成であれば、フィルタ処理に
より、画素列のうち一の画素から境界画素までの全画素
データが、画像記憶手段から作業用記憶手段にまとめて
読み込まれ、作業用記憶手段の画素データに基づいてフ
ィルタ演算が行われる。ここで、作業用記憶手段は、画
素データをあらゆる手段でかつあらゆる時期に記憶する
ものであり、画素データをあらかじめ記憶してあるもの
であってもよいし、画素データをあらかじめ記憶するこ
となく、本装置の動作時に外部からの入力等によって画
素データを記憶するようになっていてもよい。このこと
は、画像記憶手段に展開画像を格納する場合についても
同じである。以下、請求項19記載の画像処理装置、請
求項27記載の画像処理プログラム、および請求項35
記載の画像処理方法において同じである。
【0025】さらに、本発明に係る請求項10記載の画
像処理装置は、請求項1ないし9のいずれかに記載の画
像処理装置において、前記フィルタ処理は、互いに隣接
するブロック間の境界線と交差する画素列について、前
記境界線を挟んで片側の画素の値を前記境界線から近い
順にv4、v3、v2とし、前記境界線を挟んで逆片側の
画素の値を前記境界線から近い順にv5、v6、v7とし
た場合に、フィルタ後の各画素の値v2'〜v4'を、「v
2'=(v2+v5)/2+(v2−v5)/4」、「v 3'=(v3
+v5)/2+(v3−v5)/8」および「v4'=(v4+v
5)/2」のフィルタ演算式により算出し、フィルタ後の
各画素の値v5'〜v7'を、v4〜v7をそれぞれv5
4、v3およびv2として前記各フィルタ演算式により
算出するようになっている。
【0026】このような構成であれば、フィルタ処理に
より、境界線と交差する画素列について、フィルタ後の
各画素の値v2'〜v4'が上記各フィルタ演算式により算
出される。また、フィルタ後の各画素の値v5'〜v7'
が、v4〜v7をそれぞれv5、v4、v3およびv2として
上記各フィルタ演算式により算出される。さらに、本発
明に係る請求項11記載の画像処理装置は、請求項1な
いし9のいずれかに記載の画像処理装置において、前記
フィルタ処理は、互いに隣接するブロック間の境界線と
交差する画素列について、前記境界線を挟んで片側の画
素の値を前記境界線から近い順にv4、v3、v2とし、
前記境界線を挟んで逆片側の画素の値を前記境界線から
近い順にv5、v6、v7とした場合に、フィルタ後の各
画素の値v5'〜v7'を、「v5'=(v5+v4)/2+(v5
−v4)/8」、「v 6'=(v6+v4)/2+(v6−v4)/
4」および「v7'=v7−(v7−v4)/8」のフィル
タ演算式により算出し、フィルタ後の各画素の値v2'〜
4'を、v2〜v5をそれぞれv7、v6、v5およびv4
して前記各フィルタ演算式により算出するようになって
いる。
【0027】このような構成であれば、フィルタ処理に
より、境界線と交差する画素列について、フィルタ後の
各画素の値v5'〜v7'が上記各フィルタ演算式により算
出される。また、フィルタ後の各画素の値v2'〜v4'
が、v2〜v5をそれぞれv7、v6、v5およびv4として
上記各フィルタ演算式により算出される。さらに、本発
明に係る請求項12記載の画像処理装置は、請求項1な
いし11のいずれかに記載の画像処理装置において、前
記フィルタ処理は、前記ブロック内の水平方向の画素列
および垂直方向の画素列の一方に対して前記フィルタ演
算を行った後、他方に対して前記フィルタ演算を行うよ
うになっている。
【0028】このような構成であれば、フィルタ処理に
より、ブロック内の水平方向の画素列および垂直方向の
画素列の一方に対してフィルタ演算が行われた後、他方
に対してフィルタ演算が行われる。さらに、本発明に係
る請求項13記載の画像処理装置は、請求項1ないし1
2のいずれかに記載の画像処理装置において、前記量子
化処理は、前記離散コサイン変換処理の結果を高周波成
分ほど粗く量子化する処理であり、前記フィルタ処理
は、一の画素についてのフィルタ演算を、当該演算の対
象となる対象画素の値と、前記対象画素と隣接する隣接
画素の値とに基づいて行い、前記フィルタ演算では、前
記隣接画素のうち一の画素と前記対象画素との差分値が
閾値を超えているときは、当該一の画素の値に代えて前
記対象画素の値を用いるようになっている。
【0029】このような構成であれば、フィルタ処理に
より、一の画素についてのフィルタ演算が、対象画素の
値と隣接画素の値とに基づいて行われる。そして、フィ
ルタ演算では、隣接画素のうち一の画素と対象画素との
差分値が閾値を超えていると、その一の画素の値に代え
て対象画素の値が用いられる。さらに、本発明に係る請
求項14記載の画像処理装置は、請求項13記載の画像
処理装置において、前記フィルタ処理は、前記閾値とし
て定数値を用いるようになっている。
【0030】このような構成であれば、隣接画素のうち
一の画素と対象画素との差分値を比較するときは、定数
値を閾値とし、これに基づいて行われれる。ここで、閾
値が定数値であるので、フィルタ処理の過程において閾
値を算出する必要がない。さらに、本発明に係る請求項
15記載の画像処理装置は、請求項14記載の画像処理
装置において、前記フィルタ処理は、前記閾値を、画素
の値の最大値を「2n−1」(n≧4)として「2n-4
に相当する値またはその近似値に設定した。
【0031】このような構成であれば、隣接画素のうち
一の画素と対象画素との差分値を比較するときは、画素
の値の最大値を「2n−1」として「2n-4」に相当する
値またはその近似値を閾値とし、これに基づいて行われ
る。ここで、閾値は、「2n- 4」に相当する値またはそ
の近似値よりも大きく設定し過ぎると、隣接画素の値を
対象画素の値に置き換えるべきなのに置き換えられず、
効果的なフィルタ効果が期待できず、逆に、「2n-4
に相当する値またはその近似値よりも小さく設定し過ぎ
ると、隣接画素の値を対象画素の値に置き換えなくても
よいのに置き換えてしまい、効果的なフィルタ効果が期
待できない。
【0032】さらに、本発明に係る請求項16記載の画
像処理装置は、請求項1ないし15のいずれかに記載の
画像処理装置において、前記量子化処理は、前記離散コ
サイン変換処理の結果を高周波成分ほど粗く量子化する
処理であり、前記フィルタ処理は、一の画素についての
フィルタ演算を、当該演算の対象となる対象画素の値
と、前記対象画素と隣接する4、2または1つの隣接画
素の値とに基づいて行うようになっている。
【0033】このような構成であれば、フィルタ処理に
より、一の画素についてのフィルタ演算が、対象画素の
値と、対象画素と隣接する4、2または1つの隣接画素
の値とに基づいて行われる。さらに、本発明に係る請求
項17記載の画像処理装置は、請求項1ないし16のい
ずれかに記載の画像処理装置において、前記量子化処理
は、前記離散コサイン変換処理の結果を高周波成分ほど
粗く量子化する処理であり、前記フィルタ処理は、一の
画素についてのフィルタ演算を、当該演算の対象となる
対象画素の値を所定値で除算し、前記対象画素と隣接す
る隣接画素の値を前記所定値で除算し、それら除算結果
を加算することにより行うようになっている。
【0034】このような構成であれば、フィルタ処理に
より、一の画素についてのフィルタ演算が、対象画素の
値を所定値で除算し、隣接画素の値を所定値で除算し、
それら除算結果を加算することにより行われる。さら
に、本発明に係る請求項18記載の画像処理装置は、離
散コサイン変換処理および量子化処理を所定のブロック
単位で行う画像圧縮処理により圧縮された圧縮画像デー
タに基づいて前記ブロック単位で画像を展開する際また
は展開した後に、展開画像に対してフィルタ処理を行う
装置であって、前記フィルタ処理は、互いに隣接するブ
ロック間の境界線と交差する画素列の画素のうち一の画
素についてのフィルタ演算を、当該一の画素から、同一
画素列の画素であって隣接ブロック内の前記境界線に位
置する境界画素までの各画素の相互の差分値がいずれも
閾値を超えていないときに行い、前記閾値として定数値
を用いるようになっている。
【0035】このような構成であれば、境界線と交差す
る画素列の画素のうち一の画素から、同一画素列の画素
であって隣接ブロック内の境界画素までの各画素の相互
の差分値がいずれも閾値を超えていないと、フィルタ処
理により、その一の画素についてのフィルタ演算が行わ
れる。ここで、閾値が定数値であるので、フィルタ処理
の過程において閾値を算出する必要がない。
【0036】さらに、本発明に係る請求項19記載の画
像処理装置は、離散コサイン変換処理および量子化処理
を所定のブロック単位で行う画像圧縮処理により圧縮さ
れた圧縮画像データに基づいて前記ブロック単位で画像
を展開する際または展開した後に、展開画像に対してフ
ィルタ処理を行う装置であって、前記展開画像を格納す
るための画像記憶手段に利用可能に接続し、互いに隣接
するブロック間の境界線と交差する画素列の画素のうち
前記境界線から最も離れた前記ブロック内の画素から、
同一画素列の画素であって隣接ブロック内の前記境界線
に位置する境界画素までの全画素データを格納するに必
要十分な記憶容量を有する作業用記憶手段を備え、前記
フィルタ処理は、前記画素列のうち一の画素から前記境
界画素までの全画素データを、前記画像記憶手段から前
記作業用記憶手段にまとめて読み込み、前記作業用記憶
手段の画素データに基づいて前記フィルタ演算を行うよ
うになっている。
【0037】このような構成であれば、フィルタ処理に
より、画素列のうち一の画素から境界画素までの全画素
データが、画像記憶手段から作業用記憶手段にまとめて
読み込まれ、作業用記憶手段の画素データに基づいてフ
ィルタ演算が行われる。さらに、本発明に係る請求項2
0記載の画像処理装置は、離散コサイン変換処理および
量子化処理を所定のブロック単位で行う画像圧縮処理に
より圧縮された圧縮画像データに基づいて前記ブロック
単位で画像を展開する際または展開した後に、展開画像
に対してフィルタ処理を行う装置であって、前記フィル
タ処理は、互いに隣接するブロック間の境界線と交差す
る画素列について、前記境界線を挟んで片側の画素の値
を前記境界線から近い順にv4、v3、v2とし、前記境
界線を挟んで逆片側の画素の値を前記境界線から近い順
にv5、v6、v7とした場合に、フィルタ後の各画素の
値v2'〜v4'を、「v2'=(v2+v5)/2+(v2−v5)
/4」、「v3'=(v3+v5)/2+(v3−v5)/8」お
よび「v4'=(v4+v5)/2」のフィルタ演算式により
算出し、フィルタ後の各画素の値v5'〜v7'を、v4
7をそれぞれv5、v4、v3およびv2として前記各フ
ィルタ演算式により算出するようになっている。
【0038】このような構成であれば、フィルタ処理に
より、境界線と交差する画素列について、フィルタ後の
各画素の値v2'〜v4'が上記各フィルタ演算式により算
出される。また、フィルタ後の各画素の値v5'〜v7'
が、v4〜v7をそれぞれv5、v4、v3およびv2として
上記各フィルタ演算式により算出される。さらに、本発
明に係る請求項21記載の画像処理装置は、離散コサイ
ン変換処理および量子化処理を所定のブロック単位で行
う画像圧縮処理により圧縮された圧縮画像データに基づ
いて前記ブロック単位で画像を展開する際または展開し
た後に、展開画像に対してフィルタ処理を行う装置であ
って、前記フィルタ処理は、互いに隣接するブロック間
の境界線と交差する画素列について、前記境界線を挟ん
で片側の画素の値を前記境界線から近い順にv4、v3
2とし、前記境界線を挟んで逆片側の画素の値を前記
境界線から近い順にv5、v6、v7とした場合に、フィ
ルタ後の各画素の値v5'〜v7'を、「v5'=(v5+v4)
/2+(v5−v4)/8」、「v6'=(v6+v4)/2+
(v6−v4)/4」および「v7'=v7−(v7−v4)/
8」のフィルタ演算式により算出し、フィルタ後の各画
素の値v 2'〜v4'を、v2〜v5をそれぞれv7、v6、v
5およびv4として前記各フィルタ演算式により算出する
ようになっている。
【0039】このような構成であれば、フィルタ処理に
より、境界線と交差する画素列について、フィルタ後の
各画素の値v5'〜v7'が上記各フィルタ演算式により算
出される。また、フィルタ後の各画素の値v2'〜v4'
が、v2〜v5をそれぞれv7、v6、v5およびv4として
上記各フィルタ演算式により算出される。さらに、本発
明に係る請求項22記載の画像処理装置は、離散コサイ
ン変換処理および前記離散コサイン変換処理の結果を高
周波成分ほど粗く量子化する量子化処理を行う画像圧縮
処理により圧縮された圧縮画像データに基づいて画像を
展開する際または展開した後に、展開画像に対してフィ
ルタ処理を行う装置であって、前記フィルタ処理は、一
の画素についてのフィルタ演算を、当該演算の対象とな
る対象画素の値と、前記対象画素と隣接する隣接画素の
値とに基づいて行い、前記フィルタ演算では、前記隣接
画素のうち一の画素と前記対象画素との差分値が閾値を
超えているときは、当該一の画素の値に代えて前記対象
画素の値を用いるようになっている。
【0040】このような構成であれば、フィルタ処理に
より、一の画素についてのフィルタ演算が、対象画素の
値と隣接画素の値とに基づいて行われる。そして、フィ
ルタ演算では、隣接画素のうち一の画素と対象画素との
差分値が閾値を超えていると、その一の画素の値に代え
て対象画素の値が用いられる。さらに、本発明に係る請
求項23記載の画像処理装置は、離散コサイン変換処理
および前記離散コサイン変換処理の結果を高周波成分ほ
ど粗く量子化する量子化処理を行う画像圧縮処理により
圧縮された圧縮画像データに基づいて画像を展開する際
または展開した後に、展開画像に対してフィルタ処理を
行う装置であって、前記フィルタ処理は、一の画素につ
いてのフィルタ演算を、当該演算の対象となる対象画素
の値と、前記対象画素と隣接する4、2または1つの隣
接画素の値とに基づいて行うようになっている。
【0041】このような構成であれば、フィルタ処理に
より、一の画素についてのフィルタ演算が、対象画素の
値と、対象画素と隣接する4、2または1つの隣接画素
の値とに基づいて行われる。さらに、本発明に係る請求
項24記載の画像処理装置は、離散コサイン変換処理お
よび前記離散コサイン変換処理の結果を高周波成分ほど
粗く量子化する量子化処理を行う画像圧縮処理により圧
縮された圧縮画像データに基づいて画像を展開する際ま
たは展開した後に、展開画像に対してフィルタ処理を行
う装置であって、前記フィルタ処理は、一の画素につい
てのフィルタ演算を、当該演算の対象となる対象画素の
値を所定値で除算し、前記対象画素と隣接する隣接画素
の値を前記所定値で除算し、それら除算結果を加算する
ことにより行うようになっている。
【0042】このような構成であれば、フィルタ処理に
より、一の画素についてのフィルタ演算が、対象画素の
値を所定値で除算し、隣接画素の値を所定値で除算し、
それら除算結果を加算することにより行われる。一方、
上記目的を達成するために、本発明に係る請求項25記
載の画像処理プログラムは、離散コサイン変換処理およ
び量子化処理を所定のブロック単位で行う画像圧縮処理
により圧縮された圧縮画像データに基づいて前記ブロッ
ク単位で画像を展開する際または展開した後に、展開画
像に対して行うフィルタ処理をコンピュータに実行させ
るためのプログラムであって、前記フィルタ処理は、前
記ブロック内の一の画素についてのフィルタ演算を、当
該一の画素の値と、隣接ブロック内のいずれかの画素の
値とにのみ基づいて行うようになっている。
【0043】このような構成であれば、コンピュータに
よってプログラムが読み取られ、読み取られたプログラ
ムに従ってコンピュータが処理を実行すると、請求項1
記載の画像処理装置と同等の作用が得られる。さらに、
本発明に係る請求項26記載の画像処理プログラムは、
離散コサイン変換処理および量子化処理を所定のブロッ
ク単位で行う画像圧縮処理により圧縮された圧縮画像デ
ータに基づいて前記ブロック単位で画像を展開する際ま
たは展開した後に、展開画像に対して行うフィルタ処理
をコンピュータに実行させるためのプログラムであっ
て、前記フィルタ処理は、互いに隣接するブロック間の
境界線と交差する画素列の画素のうち一の画素について
のフィルタ演算を、当該一の画素から、同一画素列の画
素であって隣接ブロック内の前記境界線に位置する境界
画素までの各画素の相互の差分値がいずれも閾値を超え
ていないときに行い、前記閾値として定数値を用いるよ
うになっている。
【0044】このような構成であれば、コンピュータに
よってプログラムが読み取られ、読み取られたプログラ
ムに従ってコンピュータが処理を実行すると、請求項1
8記載の画像処理装置と同等の作用が得られる。さら
に、本発明に係る請求項27記載の画像処理プログラム
は、離散コサイン変換処理および量子化処理を所定のブ
ロック単位で行う画像圧縮処理により圧縮された圧縮画
像データに基づいて前記ブロック単位で画像を展開する
際または展開した後に、展開画像に対して行うフィルタ
処理をコンピュータに実行させるためのプログラムであ
って、前記コンピュータは、前記展開画像を格納するた
めの画像記憶手段に利用可能に接続し、互いに隣接する
ブロック間の境界線と交差する画素列の画素のうち前記
境界線から最も離れた前記ブロック内の画素から、同一
画素列の画素であって隣接ブロック内の前記境界線に位
置する境界画素までの全画素データを格納するに必要十
分な記憶容量を有する作業用記憶手段を備え、前記フィ
ルタ処理は、前記画素列のうち一の画素から前記境界画
素までの全画素データを、前記画像記憶手段から前記作
業用記憶手段にまとめて読み込み、前記作業用記憶手段
の画素データに基づいて前記フィルタ演算を行うように
なっている。
【0045】このような構成であれば、コンピュータに
よってプログラムが読み取られ、読み取られたプログラ
ムに従ってコンピュータが処理を実行すると、請求項1
9記載の画像処理装置と同等の作用が得られる。さら
に、本発明に係る請求項28記載の画像処理プログラム
は、離散コサイン変換処理および量子化処理を所定のブ
ロック単位で行う画像圧縮処理により圧縮された圧縮画
像データに基づいて前記ブロック単位で画像を展開する
際または展開した後に、展開画像に対して行うフィルタ
処理をコンピュータに実行させるためのプログラムであ
って、前記フィルタ処理は、互いに隣接するブロック間
の境界線と交差する画素列について、前記境界線を挟ん
で片側の画素の値を前記境界線から近い順にv4、v3
2とし、前記境界線を挟んで逆片側の画素の値を前記
境界線から近い順にv5、v6、v7とした場合に、フィ
ルタ後の各画素の値v2'〜v4'を、「v2'=(v2+v5)
/2+(v2−v5)/4」、「v3'=(v3+v5)/2+
(v3−v5)/8」および「v4'=(v4+v5)/2」のフ
ィルタ演算式により算出し、フィルタ後の各画素の値v
5'〜v7'を、v4〜v7をそれぞれv5、v4、v3および
2として前記各フィルタ演算式により算出するように
なっている。
【0046】このような構成であれば、コンピュータに
よってプログラムが読み取られ、読み取られたプログラ
ムに従ってコンピュータが処理を実行すると、請求項2
0記載の画像処理装置と同等の作用が得られる。さら
に、本発明に係る請求項29記載の画像処理プログラム
は、離散コサイン変換処理および量子化処理を所定のブ
ロック単位で行う画像圧縮処理により圧縮された圧縮画
像データに基づいて前記ブロック単位で画像を展開する
際または展開した後に、展開画像に対して行うフィルタ
処理をコンピュータに実行させるためのプログラムであ
って、前記フィルタ処理は、互いに隣接するブロック間
の境界線と交差する画素列について、前記境界線を挟ん
で片側の画素の値を前記境界線から近い順にv4、v3
2とし、前記境界線を挟んで逆片側の画素の値を前記
境界線から近い順にv5、v6、v7とした場合に、フィ
ルタ後の各画素の値v5'〜v7'を、「v5'=(v5+v4)
/2+(v5−v4)/8」、「v6'=(v6+v4)/2+
(v6−v4)/4」および「v7'=v7−(v7−v4)/
8」のフィルタ演算式により算出し、フィルタ後の各画
素の値v2'〜v4'を、v2〜v5をそれぞれv7、v6、v
5およびv4として前記各フィルタ演算式により算出する
ようになっている。
【0047】このような構成であれば、コンピュータに
よってプログラムが読み取られ、読み取られたプログラ
ムに従ってコンピュータが処理を実行すると、請求項2
1記載の画像処理装置と同等の作用が得られる。さら
に、本発明に係る請求項30記載の画像処理プログラム
は、離散コサイン変換処理および前記離散コサイン変換
処理の結果を高周波成分ほど粗く量子化する量子化処理
を行う画像圧縮処理により圧縮された圧縮画像データに
基づいて画像を展開する際または展開した後に、展開画
像に対して行うフィルタ処理をコンピュータに実行させ
るためのプログラムであって、前記フィルタ処理は、一
の画素についてのフィルタ演算を、当該演算の対象とな
る対象画素の値と、前記対象画素と隣接する隣接画素の
値とに基づいて行い、前記フィルタ演算では、前記隣接
画素のうち一の画素と前記対象画素との差分値が閾値を
超えているときは、当該一の画素の値に代えて前記対象
画素の値を用いるようになっている。
【0048】このような構成であれば、コンピュータに
よってプログラムが読み取られ、読み取られたプログラ
ムに従ってコンピュータが処理を実行すると、請求項2
2記載の画像処理装置と同等の作用が得られる。さら
に、本発明に係る請求項31記載の画像処理プログラム
は、離散コサイン変換処理および前記離散コサイン変換
処理の結果を高周波成分ほど粗く量子化する量子化処理
を行う画像圧縮処理により圧縮された圧縮画像データに
基づいて画像を展開する際または展開した後に、展開画
像に対して行うフィルタ処理をコンピュータに実行させ
るためのプログラムであって、前記フィルタ処理は、一
の画素についてのフィルタ演算を、当該演算の対象とな
る対象画素の値と、前記対象画素と隣接する4、2また
は1つの隣接画素の値とに基づいて行うようになってい
る。
【0049】このような構成であれば、コンピュータに
よってプログラムが読み取られ、読み取られたプログラ
ムに従ってコンピュータが処理を実行すると、請求項2
3記載の画像処理装置と同等の作用が得られる。さら
に、本発明に係る請求項32記載の画像処理プログラム
は、離散コサイン変換処理および前記離散コサイン変換
処理の結果を高周波成分ほど粗く量子化する量子化処理
を行う画像圧縮処理により圧縮された圧縮画像データに
基づいて画像を展開する際または展開した後に、展開画
像に対して行うフィルタ処理をコンピュータに実行させ
るためのプログラムであって、前記フィルタ処理は、一
の画素についてのフィルタ演算を、当該演算の対象とな
る対象画素の値を所定値で除算し、前記対象画素と隣接
する隣接画素の値を前記所定値で除算し、それら除算結
果を加算することにより行うようになっている。
【0050】このような構成であれば、コンピュータに
よってプログラムが読み取られ、読み取られたプログラ
ムに従ってコンピュータが処理を実行すると、請求項2
4記載の画像処理装置と同等の作用が得られる。一方、
上記目的を達成するために、本発明に係る請求項33記
載の画像処理方法は、離散コサイン変換処理および量子
化処理を所定のブロック単位で行う画像圧縮処理により
圧縮された圧縮画像データに基づいて前記ブロック単位
で画像を展開する際または展開した後に、展開画像に対
してフィルタ処理を行う方法であって、前記フィルタ処
理は、前記ブロック内の一の画素についてのフィルタ演
算を、当該一の画素の値と、隣接ブロック内のいずれか
の画素の値とにのみ基づいて行う。
【0051】さらに、本発明に係る請求項34記載の画
像処理方法は、離散コサイン変換処理および量子化処理
を所定のブロック単位で行う画像圧縮処理により圧縮さ
れた圧縮画像データに基づいて前記ブロック単位で画像
を展開する際または展開した後に、展開画像に対してフ
ィルタ処理を行う方法であって、前記フィルタ処理は、
互いに隣接するブロック間の境界線と交差する画素列の
画素のうち一の画素についてのフィルタ演算を、当該一
の画素から、同一画素列の画素であって隣接ブロック内
の前記境界線に位置する境界画素までの各画素の相互の
差分値がいずれも閾値を超えていないときに行い、前記
閾値として定数値を用いる。
【0052】さらに、本発明に係る請求項35記載の画
像処理方法は、離散コサイン変換処理および量子化処理
を所定のブロック単位で行う画像圧縮処理により圧縮さ
れた圧縮画像データに基づいて前記ブロック単位で画像
を展開する際または展開した後に、展開画像に対してフ
ィルタ処理を行う方法であって、前記展開画像を格納す
るための画像記憶手段に利用可能に接続し、前記フィル
タ処理は、互いに隣接するブロック間の境界線と交差す
る画素列の画素のうち前記境界線から最も離れた前記ブ
ロック内の画素から、同一画素列の画素であって隣接ブ
ロック内の前記境界線に位置する境界画素までの全画素
データを格納するに必要十分な記憶容量を有する作業用
記憶手段に、前記画素列のうち一の画素から前記境界画
素までの全画素データを前記画像記憶手段からまとめて
読み込み、前記作業用記憶手段の画素データに基づいて
前記フィルタ演算を行う。
【0053】さらに、本発明に係る請求項36記載の画
像処理方法は、離散コサイン変換処理および量子化処理
を所定のブロック単位で行う画像圧縮処理により圧縮さ
れた圧縮画像データに基づいて前記ブロック単位で画像
を展開する際または展開した後に、展開画像に対してフ
ィルタ処理を行う方法であって、前記フィルタ処理は、
互いに隣接するブロック間の境界線と交差する画素列に
ついて、前記境界線を挟んで片側の画素の値を前記境界
線から近い順にv4、v3、v2とし、前記境界線を挟ん
で逆片側の画素の値を前記境界線から近い順にv5
6、v7とした場合に、フィルタ後の各画素の値v2'〜
4'を、「v2'=(v2+v5)/2+(v2−v5)/4」、
「v3'=(v3+v5)/2+(v3−v5)/8」および「v
4'=(v4+v5)/2」のフィルタ演算式により算出し、
フィルタ後の各画素の値v5'〜v7'を、v4〜v7をそれ
ぞれv5、v4、v3およびv2として前記各フィルタ演算
式により算出する。
【0054】さらに、本発明に係る請求項37記載の画
像処理方法は、離散コサイン変換処理および量子化処理
を所定のブロック単位で行う画像圧縮処理により圧縮さ
れた圧縮画像データに基づいて前記ブロック単位で画像
を展開する際または展開した後に、展開画像に対してフ
ィルタ処理を行う方法であって、前記フィルタ処理は、
互いに隣接するブロック間の境界線と交差する画素列に
ついて、前記境界線を挟んで片側の画素の値を前記境界
線から近い順にv4、v3、v2とし、前記境界線を挟ん
で逆片側の画素の値を前記境界線から近い順にv5
6、v7とした場合に、フィルタ後の各画素の値v5'〜
7'を、「v5'=(v5+v4)/2+(v5−v4)/8」、
「v6'=(v6+v4)/2+(v6−v4)/4」および「v
7'=v7−(v7−v4)/8」のフィルタ演算式により
算出し、フィルタ後の各画素の値v 2'〜v4'を、v2
5をそれぞれv7、v6、v5およびv4として前記各フ
ィルタ演算式により算出する。
【0055】さらに、本発明に係る請求項38記載の画
像処理方法は、離散コサイン変換処理および前記離散コ
サイン変換処理の結果を高周波成分ほど粗く量子化する
量子化処理を行う画像圧縮処理により圧縮された圧縮画
像データに基づいて画像を展開する際または展開した後
に、展開画像に対してフィルタ処理を行う方法であっ
て、前記フィルタ処理は、一の画素についてのフィルタ
演算を、当該演算の対象となる対象画素の値と、前記対
象画素と隣接する隣接画素の値とに基づいて行い、前記
フィルタ演算では、前記隣接画素のうち一の画素と前記
対象画素との差分値が閾値を超えているときは、当該一
の画素の値に代えて前記対象画素の値を用いる。
【0056】さらに、本発明に係る請求項39記載の画
像処理方法は、離散コサイン変換処理および前記離散コ
サイン変換処理の結果を高周波成分ほど粗く量子化する
量子化処理を行う画像圧縮処理により圧縮された圧縮画
像データに基づいて画像を展開する際または展開した後
に、展開画像に対してフィルタ処理を行う方法であっ
て、前記フィルタ処理は、一の画素についてのフィルタ
演算を、当該演算の対象となる対象画素の値と、前記対
象画素と隣接する4、2または1つの隣接画素の値とに
基づいて行う。
【0057】さらに、本発明に係る請求項40記載の画
像処理方法は、離散コサイン変換処理および前記離散コ
サイン変換処理の結果を高周波成分ほど粗く量子化する
量子化処理を行う画像圧縮処理により圧縮された圧縮画
像データに基づいて画像を展開する際または展開した後
に、展開画像に対してフィルタ処理を行う方法であっ
て、前記フィルタ処理は、一の画素についてのフィルタ
演算を、当該演算の対象となる対象画素の値を所定値で
除算し、前記対象画素と隣接する隣接画素の値を前記所
定値で除算し、それら除算結果を加算することにより行
う。
【0058】
【発明の実施の形態】以下、本発明の第1の実施の形態
を図面を参照しながら説明する。図1ないし図8は、本
発明に係る画像処理装置および画像処理プログラム、並
びに画像処理方法の第1の実施の形態を示す図である。
本実施の形態は、本発明に係る画像処理装置および画像
処理プログラム、並びに画像処理方法を、図1に示すよ
うに、コンピュータ100において、マルチタスクで動
作するOS(Operating System)により、MPEG形式
で圧縮された動画データをデコードして動画を再生する
際に、再生画像に対して、ブロックノイズを低減するフ
ィルタ処理およびモスキートノイズを低減するフィルタ
処理を行う場合について適用したものである。以下、前
者のフィルタ処理をデブロックフィルタ処理といい、後
者のフィルタ処理をデリンギングフィルタ処理という。
【0059】まず、本発明を適用するコンピュータシス
テムの構成を図1を参照しながら説明する。図1は、本
発明を適用するコンピュータシステムの構成を示すブロ
ック図である。コンピュータ100は、図1に示すよう
に、制御プログラムに基づいて演算およびシステム全体
を制御するCPU30と、所定領域にあらかじめCPU
30の制御プログラム等を格納しているROM32と、
ROM32等から読み出したデータやCPU30の演算
過程で必要な演算結果を格納するためのRAM34と、
RAM34の特定領域のデータを画像信号に変換してL
CD(Liquid Crystal Display)44に出力するLCD
C36と、動画データをデコードするデコーダ38と、
RAM34の特定領域のデータを読み出してデブロック
フィルタ処理およびデリンギングフィルタ処理を行うポ
ストフィルタ部40と、ポストフィルタ部40からのデ
ータに対して色素変換を行うRGB変換部42と、RG
B変換部42からのデータに基づいて表示を行うLCD
44とで構成されている。そして、CPU30、ROM
32、RAM34、LCDC36およびデコーダ38
は、データを転送するための信号線であるバス39で相
互にかつデータ授受可能に接続されている。
【0060】RAM34は、特定領域として、LCD4
4に表示するデータを格納するためのVRAM35を有
しており、VRAM35は、CPU30等のバス39に
接続された機器とポストフィルタ部40とで独立にアク
セスが可能となっている。また、VRAM35は、LC
D44の1画面分の画像データを格納可能な領域を少な
くとも2つ有し、一方の領域を、デコーダ38が動画デ
ータを展開するためのものとし、他方の領域を、ポスト
フィルタ部40が読み出すためのものとし、それら領域
は、所定周期で交互に切り換えて使用される。
【0061】LCDC36は、ポストフィルタ部40お
よびRGB変換部42を制御することにより、VRAM
35のデータを先頭アドレスから所定周期で順次読み出
し、読み出したデータを画像信号に変換してLCD44
に出力するようになっている。すなわち、ポストフィル
タ部40は、LCDC36の制御により、VRAM35
からデータを読み出し、読み出したデータに対してデブ
ロックフィルタ処理およびデリンギングフィルタ処理を
行ってRGB変換部42に出力し、RGB変換部42
は、LCDC36の制御により、ポストフィルタ部40
からのデータに対してRGB変換を行ってLCD44に
出力する。
【0062】デコーダ38は、所定時間T(例えば、2
0[ms])ごとに動画データに含まれている画像データ
を順次デコードするようになっており、具体的には、C
PU30からのデコード開始命令により、MPEG形式
で圧縮された動画データをRAM34から読み出し、読
み出した動画データに基づいて、MPEG形式で画像デ
ータをVRAM35にデコードする。VRAM35に
は、LCD44の一画素の色度合いを示す画素データ
(YUVデータ)を単位として画像データが展開され
る。また、デコーダ38では、MPEG形式による復号
化処理のうちIDCT(Inverse Discrete Cosine Tran
sorm:逆離散コサイン変換)処理および動き補償処理を
行う。なお、MPEG形式による圧縮処理および復号化
処理については、従来の例による。
【0063】次に、ポストフィルタ部40の構成を詳細
に説明する。ポストフィルタ部40は、その構成および
内部処理をハードウェアにより実現するものであって、
17画素分の画素データを格納可能なバッファを有し、
VRAM35からバッファに画素データを読み込みなが
ら、読み出した画素データに基づいて所定のブロック
(本実施の形態では、水平方向8画素および垂直方向8
画素の正方行列からなる64画素)単位で画素を処理す
るようになっている。具体的には、VRAM35から読
み出した画素データに対してデブロックフィルタ処理を
行い、デブロックフィルタ処理した画素データに対して
デリンギングフィルタ処理を行う。なお、これらフィル
タ処理を行う順序は、特に限定されるものでなく、ま
た、両方を行うようにしてもよいし、いずれかを選択的
に行うようにしてもよい。選択的に行う場合は、ソフト
ウェア若しくはハードウェアによる設定、または画像の
再生速度、質若しくはデータ容量に基づく動的な設定に
より選択を行うことができる。
【0064】本発明に係るデブロックフィルタ処理の原
理を図2および図3を参照しながら詳細に説明する。図
2および図3は、デブロックフィルタ処理の原理を説明
するための図である。図2において、互いに隣接するブ
ロック間の境界線B1と直交する画素列PG1について
は、境界線B1を挟んで図面左側の画素の値を、境界線
B1から近い順にv4、v3、v2、v1とし、境界線B1
を挟んで図面右側の画素の値を、境界線B1から近い順
にv5、v6、v7、v8とする。また、同様に、互いに隣
接するブロック間の境界線B2と直交する画素列PG2
については、境界線B2を挟んで図面上側の画素の値
を、境界線B2から近い順にv4、v3、v2、v1とし、
境界線B2を挟んで図面下側の画素の値を、境界線B2
から近い順にv5、v6、v 7、v8とする。
【0065】この場合に、画素列PG1,PG2につい
て、デブロックフィルタ処理後の各画素の値v1'〜v8'
は、下式(1)〜(8)のフィルタ演算式により算出す
る。 v1'=v1 …(1) v2'=(v2+v5)/2+(v2−v5)/4 …(2) v3'=(v3+v5)/2+(v3−v5)/8 …(3) v4'=(v4+v5)/2 …(4) v5'=(v5+v4)/2+(v5−v4)/8 …(5) v6'=(v6+v4)/2+(v6−v4)/4 …(6) v7'=v7−(v7−v4)/8 …(7) v8'=v8 …(8) 上式(1)〜(8)のフィルタ演算式は、次のように導
出される。図3は、画素列PG1,PG2の各画素の値
を示した棒グラフである。
【0066】互いに隣接するブロック間A,Bでは、図
3(a)に示すように、圧縮時のDCT処理により画像
の空間的な周波数成分のうち直流成分に相当するものが
除去されることから、輝度の平均値が異なることによる
段差が発生している。この段差がブロックノイズとな
る。そこで、ブロックノイズを低減するために、ブロッ
クA,Bの画像を滑らかに接続する場合を考える。ブロ
ックA内の4画素の平均値VA、およびブロックB内の
4画素の平均値VBは、下式(9),(10)により算出
することができる。 VA=(v1+v2+v3+v4)/4 …(9) VB=(v5+v6+v7+v8)/4 …(10) 各画素の値viの平均値VA,VBからのずれ量をδvi
すると、各画素の値v iは、下式(11),(12)により
表すことができる。 vi=VA+δvi (i=1〜4) …(11) vi=VB+δvi (i=5〜8) …(12) さて、ブロックA,Bの画像を滑らかに接続するために
は、平均値VA,VBの差を「0」にすればよく、図3
(b)に示すように、階段状に各画素の値viを補正し
てやればよい。各階段の段差Δは、 Δ=(VB−VA)/8 …(13) なので、例えば、画素の値v5の補正後の値v5'は、下
式(14)により算出することができる。 v5'=(VB+VA)/2+Δ+δv5 =(5VB+3VA)/8+δv5 ={5(v5−δv5)+3(v4−δv4)}/8+δv5 ={5v5+3v4+3(δv5−δv4)}/8 …(14) ここで、正確な値を算出するためには、上式(14)に従
わなければならないが、上式(14)において、(δv5
δv4)が小さいと仮定して省略し、下式(15)の近似式
を得る。 v5'=(5v5+3v4)/8 …(15) また、ブロックB内の他の画素についても同様に、補正
後の値v6'〜v8'は、下式(16)〜(18)により算出す
ることができる。 v6'=(VB+VA)/2+2Δ+δv6 ={6v6+2v4+2(δv6−δv4)}/8 …(16) v7'=(VB+VA)/2+3Δ+δv7 ={7v7+v4+(δv7−δv4)}/8 …(17) v8'=(VB+VA)/2+4Δ+δv8 =v8 …(18) これにより、下式(19),(20)の近似式を得る。 v6'=(3v6+v4)/4 …(19) v7'=(7v7+v4)/8 …(20) また、ブロックA内の画素については、参照する画素の
値がv5となる点で異なる以外は同様であり、補正後の
値v1'〜v4'は、下式(21)〜(24)により算出するこ
とができる。 v1'=(VB+VA)/2−3Δ+δv1 ={7v1+v5+(δv1−δv5)}/8 …(21) v2'=(VB+VA)/2−2Δ+δv2 ={6v2+2v5+2(δv2−δv5)}/8 …(22) v3'=(VB+VA)/2−Δ+δv3 ={5v3+3v5+(δv3−δv5)}/8 …(23) v4'=(VB+VA)/2+δv4 =(v4+v5+2δv4)/2 …(24) これにより、下式(25)〜(28)の近似式を得る。 v1'=v1 …(25) v2'=(3v2+v5)/4 …(26) v3'=(5v3+3v5)/8 …(27) v4'=(v4+v5)/2 …(28) また、実際の演算では、除算演算よりもビットシフトの
方が処理を高速化することができるため、上式(25)〜
(28),(15),(19),(20),(18)を上式(1)
〜(8)に変形して用いる。このデブロックフィルタ処
理を水平方向の画素列および垂直方向の画素列に対して
それぞれ行う。演算量としては、1画素に対して、加算
および減算がそれぞれ2回、ビットシフトが4回です
む。ビットシフトは、ハードウェア化する際にはさほど
負荷にならない。従来のポストフィルタでは、1画素に
ついて最大7×7画素分の重み付け平均をとっていたの
で、それと比べて大幅に演算量を減らすことができる。
【0067】本発明に係るデブロックフィルタ処理は、
図4のフローチャートに示す処理により実現することが
できる。図4は、デブロックフィルタ処理を示すフロー
チャートである。デブロックフィルタ処理は、ポストフ
ィルタ部40において実行されると、図4に示すよう
に、まず、ステップS100に移行するようになってい
る。
【0068】ステップS100では、先頭ブロックの開
始アドレスをLCDC36から取得し、ステップS10
2に移行して、ブロックの右上部分の領域に属する画素
列についてデブロックフィルタ処理を行い、ステップS
104に移行して、ブロックの左上部分の領域に属する
画素列についてデブロックフィルタ処理を行い、ステッ
プS106に移行して、ブロックの右下部分の領域に属
する画素列についてデブロックフィルタ処理を行い、ス
テップS108に移行して、ブロックの左下部分の領域
に属する画素列についてデブロックフィルタ処理を行
い、ステップS110に移行する。
【0069】ステップS110では、1面分の画像を構
成するすべてのブロックについてステップS102から
S108までの処理が終了したか否かを判定し、すべて
のブロックについて処理が終了したと判定したとき(Ye
s)は、一連の処理を終了するが、そうでないと判定した
とき(No)は、ステップS112に移行して、次のブロッ
クの開始アドレスをLCDC36から取得し、ステップ
S102に移行する。
【0070】次に、上記ステップS102のフィルタ処
理を図5を参照しながら詳細に説明する。図5は、ステ
ップS102のフィルタ処理を示すフローチャートであ
る。上記ステップS102のフィルタ処理は、ブロック
の右上部分の領域に属する画素列についてのデブロック
フィルタ処理であり、上記ステップS102において実
行されると、図5に示すように、まず、ステップS20
0に移行する。
【0071】ステップS200では、ステップS10
0,S112で取得した開始アドレスに基づいて、ブロ
ックの右上部分の領域に属する画素列のうち先頭のもの
のアドレスを算出し、ステップS202に移行して、算
出した画素列のアドレスに基づいて、デブロックフィル
タ処理の対象となる画素列について、水平方向の演算に
必要な画素データおよび垂直方向の演算に必要な画素デ
ータをまとめてバッファに読み込み、ステップS204
に移行する。例えば、デブロックフィルタ処理の対象と
なる画素列が上から3段目である場合は、ブロック内の
右上の画素から左に連続する4つの画素、およびその4
つの画素からなる画素列の下2段にある8つの画素、上
側に隣接するブロック内の右下の画素から左に連続する
4つの画素、並びに右側に隣接するブロック内の左上の
画素から数えて2つ下にある画素からなる合計17個の
画素についての画素データを読み込む。
【0072】次いで、ステップS204,S208,S
212では、各画素についてデブロックフィルタ処理を
行うか否かを判定する。各画素についてデブロックフィ
ルタ処理を行うか否かは、隣接画素との差分値に基づい
て判定する。本発明に係るデブロックフィルタ処理は、
隣接するブロックの境界画素の値に基づいて行うが、ブ
ロック境界までの間に大きなエッジが存在すると、補正
後に輪郭のボケやかげが発生する。これを防止するため
に、ブロック境界までの間に大きなデータの差がないこ
とを調べる。もし段差がある場合には、その画素につい
てはデブロックフィルタ処理は行わない。この判定は水
平方向および垂直方向それぞれについて行う。
【0073】ステップS204では、v4とv5との差分
の絶対値が定数値C2よりも大きいか否かを判定し、v4
とv5との差分の絶対値が定数値C2以下であると判定し
たとき(No)は、ステップS206に移行する。ここで、
定数値C2は、画素の値の最大値を「255」として
「32」に設定する。その理由としては、定数値C
2は、「32」よりも大きく設定し過ぎると、フィルタ
処理を行わなくてもよいのに行ってしまい、処理負荷が
増加し、フィルタ処理の高速化を図ることができなくな
り、逆に、「32」よりも小さく設定し過ぎると、フィ
ルタ処理を行うべきなのに行われず、効果的なフィルタ
効果が期待できないからである。
【0074】ステップS206では、v4,v5に基づい
て上式(4)によりフィルタ演算を行ってv4'を算出
し、ステップS208に移行して、v3とv4との差分の
絶対値が定数値C1よりも大きいか否かを判定し、v3
4との差分の絶対値が定数値C1以下であると判定した
とき(Yes)は、ステップS210に移行する。ここで、
定数値C1は、画素の値の最大値を「255」として
「16」に設定する。その理由としては、定数値C
1は、「16」よりも大きく設定し過ぎると、フィルタ
処理を行わなくてもよいのに行ってしまい、処理負荷が
増加し、フィルタ処理の高速化を図ることができなくな
り、逆に、「16」よりも小さく設定し過ぎると、フィ
ルタ処理を行うべきなのに行われず、効果的なフィルタ
効果が期待できないからである。
【0075】ステップS210では、v3,v5に基づい
て上式(3)によりフィルタ演算を行ってv3'を算出
し、ステップS212に移行して、v2とv3との差分の
絶対値が定数値C1よりも大きいか否かを判定し、v2
3との差分の絶対値が定数値C1以下であると判定した
とき(Yes)は、ステップS214に移行して、v2,v5
に基づいて上式(2)によりフィルタ演算を行ってv2'
を算出し、ステップS216に移行する。
【0076】ステップS216では、垂直方向の画素列
についてのデブロックフィルタ処理を行うが、このデブ
ロックフィルタ処理は、後段で詳述するように、ステッ
プS306〜S314と同様の要領で演算を行うことが
できる。次いで、ステップS218に移行して、バッフ
ァの画素データのうちブロックの右上部分の領域に属す
る画素に係るものをRGB変換部42に出力し、ステッ
プS220に移行して、ブロックの右上部分の領域に属
するすべての画素列についてステップS204からS2
18までの処理が終了したか否かを判定し、すべての画
素列について処理が終了したと判定したとき(Yes)は、
一連の処理を終了して元の処理に復帰させるが、そうで
ないと判定したとき(No)は、ステップS222に移行し
て、ステップS100,S112で取得した開始アドレ
スに基づいて、ブロックの右上部分の領域に属する画素
列のうち次のもののアドレスを算出し、ステップS20
2に移行する。
【0077】一方、ステップS204でv4とv5との差
分の絶対値が定数値C2よりも大きいと判定したとき(Ye
s)、ステップS208でv3とv4との差分の絶対値が定
数値C1よりも大きいと判定したとき(Yes)、およびステ
ップS212でv2とv3との差分の絶対値が定数値C1
よりも大きいと判定したとき(Yes)はいずれも、ステッ
プS216に移行する。
【0078】なお、上記ステップS106のフィルタ処
理のうち水平方向の処理は、上記ステップS204〜S
214と同様であり、上記ステップS104のフィルタ
処理のうち垂直方向の処理は、上記ステップS216と
同様である。次に、上記ステップS104のフィルタ処
理を図6を参照しながら詳細に説明する。図6は、ステ
ップS104のフィルタ処理を示すフローチャートであ
る。
【0079】上記ステップS104のフィルタ処理は、
ブロックの左上部分の領域に属する画素列についてのデ
ブロックフィルタ処理であり、上記ステップS104に
おいて実行されると、図6に示すように、まず、ステッ
プS300に移行する。ステップS300では、ステッ
プS100,S112で取得した開始アドレスに基づい
て、ブロックの左上部分の領域に属する画素列のうち先
頭のもののアドレスを算出し、ステップS302に移行
して、算出した画素列のアドレスに基づいて、デブロッ
クフィルタ処理の対象となる画素列について、水平方向
の演算に必要な画素データおよび垂直方向の演算に必要
な画素データをバッファに読み込み、ステップS304
に移行する。
【0080】ステップS304では、v5とv4との差分
の絶対値が定数値C2よりも大きいか否かを判定し、v5
とv4との差分の絶対値が定数値C2以下であると判定し
たとき(No)は、ステップS306に移行して、v5,v4
に基づいて上式(5)によりフィルタ演算を行ってv5'
を算出し、ステップS308に移行して、v6とv5との
差分の絶対値が定数値C1よりも大きいか否かを判定
し、v6とv5との差分の絶対値が定数値C1以下である
と判定したとき(Yes)は、ステップS310に移行す
る。
【0081】ステップS310では、v6,v4に基づい
て上式(6)によりフィルタ演算を行ってv6'を算出
し、ステップS312に移行して、v7とv6との差分の
絶対値が定数値C1よりも大きいか否かを判定し、v7
6との差分の絶対値が定数値C1以下であると判定した
とき(Yes)は、ステップS314に移行して、v7,v4
に基づいて上式(7)によりフィルタ演算を行ってv7'
を算出し、ステップS316に移行する。
【0082】ステップS316では、垂直方向の画素列
についてのデブロックフィルタ処理を行うが、このデブ
ロックフィルタ処理は、上記ステップS306〜S31
4と同様の要領で演算を行うことができる。次いで、ス
テップS318に移行して、バッファの画素データのう
ちブロックの左上部分の領域に属する画素に係るものを
RGB変換部42に出力し、ステップS320に移行し
て、ブロックの左上部分の領域に属するすべての画素列
についてステップS304からS318までの処理が終
了したか否かを判定し、すべての画素列について処理が
終了したと判定したとき(Yes)は、一連の処理を終了し
て元の処理に復帰させるが、そうでないと判定したとき
(No)は、ステップS322に移行して、ステップS10
0,S112で取得した開始アドレスに基づいて、ブロ
ックの左上部分の領域に属する画素列のうち次のものの
アドレスを算出し、ステップS302に移行する。
【0083】一方、ステップS304でv5とv4との差
分の絶対値が定数値C2よりも大きいと判定したとき(Ye
s)、ステップS308でv6とv5との差分の絶対値が定
数値C1よりも大きいと判定したとき(Yes)、およびステ
ップS312でv7とv6との差分の絶対値が定数値C1
よりも大きいと判定したとき(Yes)はいずれも、ステッ
プS316に移行する。
【0084】なお、上記ステップS108のフィルタ処
理のうち水平方向の処理は、上記ステップS304〜S
314と同様であり、上記ステップS106,S108
のフィルタ処理のうち垂直方向の処理は、上記ステップ
S204〜S214と同様の要領で演算を行うことがで
きる。本発明に係るデリンギングフィルタ処理の原理を
図7を参照しながら詳細に説明する。図7は、デリンギ
ングフィルタ処理の原理を説明するための図である。
【0085】図7において、デリンギングフィルタ処理
の対象となる対象画素の値をv0とし、対象画素と隣接
する隣接画素の値を、対象画素からみて左上、上、右
上、左、右、左下、下、右下の順にv1〜v8とする。こ
の場合に、対象画素についてデリンギングフィルタ処理
後の値v0'は、下式(30)のフィルタ演算式により算出
する。 V=(v1+v2+v3+v4+v5+v6+v7+v8)/8 …(29) v0'=(v0+V)/2 …(30) ただし、エッジが検出された場合にはvi(i=1〜
8)をv0に置き換える。viをv0に置き換える趣旨
は、エッジが検出された場合にはデブロックフィルタ処
理を行わないこととする趣旨と同様である。図7の例で
は、v7およびv8がそれぞれv0に置き換えられる。
【0086】本発明に係るデリンギングフィルタ処理
は、図8のフローチャートに示す処理により実現するこ
とができる。図8は、デリンギングフィルタ処理を示す
フローチャートである。デリンギングフィルタ処理は、
ポストフィルタ部40において実行されると、図8に示
すように、まず、ステップS400に移行するようにな
っている。
【0087】ステップS400では、先頭の対象画素の
アドレスをLCDC36から取得し、ステップS402
に移行して、取得した対象画素のアドレスに基づいて対
象画素および隣接画素の値v0〜v8をバッファに読み込
み、ステップS404に移行して、変数Vに「0」を、
変数iに「1」を設定し、ステップS406に移行す
る。
【0088】ステップS406では、vi(vの添字i
は変数iの値により特定される)とv0との差分の絶対
値が定数値C3よりも大きいか否かを判定し、viとv0
との差分の絶対値が定数値C3よりも大きいと判定した
とき(Yes)は、ステップS408に移行する。ここで、
定数値C3は、画素の値の最大値を「255」として
「16」に設定する。その理由としては、定数値C
3は、「16」よりも大きく設定し過ぎると、隣接画素
の値viを対象画素の値v0に置き換えるべきなのに置き
換えられず、効果的なフィルタ効果が期待できず、逆
に、「16」よりも小さく設定し過ぎると、隣接画素の
値viを対象画素の値v0に置き換えなくてもよいのに置
き換えてしまい、効果的なフィルタ効果が期待できない
からである。
【0089】ステップS408では、隣接画素の値vi
を対象画素の値v0に置き換え、ステップS410に移
行して、「8」で除算するために隣接画素の値viを3
ビット右シフトし、ステップS412に移行して、変数
Vの値に隣接画素の値viを加算したものを変数Vの新
たな値として設定し、ステップS414に移行して、変
数iの値に「1」を加算したものを変数iの新たな値と
して設定し、ステップS416に移行する。
【0090】ステップS416では、変数iの値が
「9」未満であるか否かを判定し、変数iの値が「9」
以上であると判定したとき(No)は、ステップS418に
移行して、変数Vの値に対象画素の値v0を加算し、そ
の加算値を1ビット右シフトしたものを、対象画素につ
いてデリンギングフィルタ処理後の値v0'として算出
し、ステップS420に移行して、算出した値v0'をR
GB変換部42に出力し、ステップS422に移行す
る。
【0091】ステップS422では、1面分の画像を構
成するすべての画素についてステップS402からS4
20までの処理が終了したか否かを判定し、すべての画
素について処理が終了したと判定したとき(Yes)は、一
連の処理を終了するが、そうでないと判定したとき(No)
は、ステップS424に移行して、次の対象画素のアド
レスをLCDC36から取得し、ステップS402に移
行する。
【0092】一方、ステップS416で、変数iの値が
「9」未満であると判定したとき(Yes)は、ステップS
406に移行する。一方、ステップS406で、vi
0との差分の絶対値が定数値C3以下であると判定した
とき(No)は、ステップS410に移行する。次に、上記
第1の実施の形態の動作を説明する。
【0093】初めに、図1における画素列PG1の各画
素に対してデブロックフィルタ処理を行う場合を例にと
って、デブロックフィルタ処理を行う場合を説明する。
画素列PG1の各画素に対してデブロックフィルタ処理
を行う場合は、まず、ステップS100,S102,S
200,S202を経て、ブロックの右上部分の領域に
属する画素列のうち画素列PG1のアドレスが算出さ
れ、算出された画素列PG1のアドレスに基づいて、画
素列PG1について、水平方向の演算に必要な画素デー
タおよび垂直方向の演算に必要な画素データがまとめて
バッファに読み込まれる。ここで、画素列PG1が上か
ら3段目であるので、ブロック内の右上の画素から左に
連続する4つの画素、およびその4つの画素からなる画
素列の下2段にある8つの画素、上側に隣接するブロッ
ク内の右下の画素から左に連続する4つの画素、並びに
右側に隣接するブロック内の左上の画素から数えて2つ
下にある画素からなる合計17個の画素についての画素
データが読み込まれる。
【0094】そして、まず、ステップS204を経て、
画素値v4についてデブロックフィルタ処理を行うか否
かが判定される。すなわち、v4とv5との差分の絶対値
が定数値C2以下であれば、ステップS206を経て、
4,v5に基づいて上式(4)によりフィルタ演算が行
われてv4'が算出される。なお、画素値v4についてデ
ブロックフィルタ処理を行わないと判定された場合に
は、画素値v2,v3についてもデブロックフィルタ処理
は行われない。
【0095】次いで、画素値v4についてデブロックフ
ィルタ処理が行われた場合には、ステップS208を経
て、画素値v3についてデブロックフィルタ処理を行う
か否かが判定される。すなわち、v3とv4との差分の絶
対値が定数値C1以下であれば、ステップS210を経
て、v3,v5に基づいて上式(3)によりフィルタ演算
が行われてv3'が算出される。なお、画素値v3につい
てデブロックフィルタ処理を行わないと判定された場合
には、画素値v2についてもデブロックフィルタ処理は
行われない。
【0096】次いで、画素値v3についてデブロックフ
ィルタ処理が行われた場合には、ステップS212を経
て、画素値v2についてデブロックフィルタ処理を行う
か否かが判定される。すなわち、v2とv3との差分の絶
対値が定数値C1以下であれば、ステップS214を経
て、v2,v5に基づいて上式(2)によりフィルタ演算
が行われてv2'が算出される。
【0097】そして、ステップS216,S218を経
て、画素列PG1の画素のうち左半分の画素に対して垂
直方向にデブロックフィルタ処理が行われ、水平方向お
よび垂直方向の処理が終了すると、バッファの画素デー
タのうちブロックの右上部分の領域に属する画素に係る
ものがRGB変換部42に出力される。これにより、画
素列PG1のうち左半分の画素についてデブロックフィ
ルタ処理が完了する。
【0098】次に、ステップS100,S104,S3
00,S302を経て、ブロックの左上部分の領域に属
する画素列のうち画素列PG1のアドレスが算出され、
算出された画素列PG1のアドレスに基づいて、画素列
PG1について、水平方向の演算に必要な画素データお
よび垂直方向の演算に必要な画素データがまとめてバッ
ファに読み込まれる。ここで、画素列PG1が上から3
段目であるので、ブロック内の左上の画素から右に連続
する4つの画素、およびその4つの画素からなる画素列
の下2段にある8つの画素、上側に隣接するブロック内
の左下の画素から右に連続する4つの画素、並びに左側
に隣接するブロック内の右上の画素から数えて2つ下に
ある画素からなる合計17個の画素についての画素デー
タが読み込まれる。
【0099】そして、まず、ステップS304を経て、
画素値v5についてデブロックフィルタ処理を行うか否
かが判定される。すなわち、v5とv4との差分の絶対値
が定数値C2以下であれば、ステップS306を経て、
5,v4に基づいて上式(5)によりフィルタ演算が行
われてv5'が算出される。なお、画素値v5についてデ
ブロックフィルタ処理を行わないと判定された場合に
は、画素値v6,v7についてもデブロックフィルタ処理
は行われない。
【0100】次いで、画素値v5についてデブロックフ
ィルタ処理が行われた場合には、ステップS308を経
て、画素値v6についてデブロックフィルタ処理を行う
か否かが判定される。すなわち、v6とv5との差分の絶
対値が定数値C1以下であれば、ステップS310を経
て、v6,v4に基づいて上式(6)によりフィルタ演算
が行われてv6'が算出される。なお、画素値v6につい
てデブロックフィルタ処理を行わないと判定された場合
には、画素値v7についてもデブロックフィルタ処理は
行われない。
【0101】次いで、画素値v6についてデブロックフ
ィルタ処理が行われた場合には、ステップS312を経
て、画素値v7についてデブロックフィルタ処理を行う
か否かが判定される。すなわち、v7とv6との差分の絶
対値が定数値C1以下であれば、ステップS314を経
て、v7,v4に基づいて上式(7)によりフィルタ演算
が行われてv7'が算出される。
【0102】そして、ステップS316,S318を経
て、画素列PG1の画素のうち右半分の画素に対して垂
直方向にデブロックフィルタ処理が行われ、水平方向お
よび垂直方向の処理が終了すると、バッファの画素デー
タのうちブロックの左上部分の領域に属する画素に係る
ものがRGB変換部42に出力される。これにより、画
素列PG1のうち右半分の画素についてデブロックフィ
ルタ処理が完了する。
【0103】次に、デリンギングフィルタ処理を行う場
合を説明する。デリンギングフィルタ処理を行う場合
は、まず、ステップS400〜S404を経て、対象画
素のアドレスに基づいて対象画素および隣接画素の値v
0〜v8がバッファに読み込まれる。次いで、ステップS
406〜S416を繰り返し経て、各隣接画素の値vi
について、viとv0との差分の絶対値が定数値C3より
も大きければ、隣接画素の値viが対象画素の値v0に置
き換えられ、そうでなければ、隣接画素の値viがその
まま採用され、隣接画素の値viが3ビット右シフトさ
れ、変数Vの値に隣接画素の値viを加算したものが変
数Vの新たな値として設定される。すなわち、各隣接画
素の値viをそれぞれ「8」で除算し、その除算結果を
加算するという演算過程を経て、隣接画素の平均値Vが
算出される。
【0104】そして、ステップS418,S420を経
て、変数Vの値に対象画素の値v0が加算され、その加
算値を1ビット右シフトしたものが、対象画素のフィル
タ処理後の値v0'として算出され、算出された値v0'が
RGB変換部42に出力される。このようにして、本実
施の形態では、デブロックフィルタ処理は、互いに隣接
するブロック間の境界線と直交する画素列について、デ
ブロックフィルタ後の各画素の値v2'〜v7'を、上式
(2)〜(7)のフィルタ演算式により算出するように
なっている。
【0105】これにより、一の画素についてのフィルタ
演算を行うにあたって、多数の画素の平均値を用いず、
2つの画素の値のみを用いるので、従来に比して、デブ
ロックフィルタ処理を比較的簡素化することができる。
例えば、本実施の形態のように、デブロックフィルタ処
理をハードウェアにより実現する場合には、回路規模を
小型化することができるし、デブロックフィルタ処理を
ソフトウェアにより実現する場合には、プログラムサイ
ズを低減することができる。また、一の画素の値と、同
一画素列の画素であって隣接ブロック内の境界画素の値
とを用いた加減算およびビットシフト(除数が2の整数
倍となる除算)により演算を行うので、デブロックフィ
ルタ処理をさらに簡素化することができるのに加え、効
果的なフィルタ効果をある程度実現することができる。
【0106】さらに、本実施の形態では、デブロックフ
ィルタ処理は、互いに隣接するブロック間の境界線と直
交する画素列の画素のうち一の画素についてのフィルタ
演算を、その一の画素から、同一画素列の画素であって
隣接ブロック内の境界線に位置する境界画素までの各画
素の相互の差分値がいずれも閾値C1,C2を超えていな
いときに行い、閾値C1,C2として定数値を用いるよう
になっている。
【0107】これにより、閾値C1,C2が定数値である
ので、デブロックフィルタ処理の過程において閾値
1,C2を算出する必要がなく、また、各画素の相互の
差分値のいずれかが閾値C1,C2を超えていれば、フィ
ルタ演算が行われない。したがって、デブロックフィル
タ処理をさらに簡素化することができるのに加え、従来
に比して、デブロックフィルタ処理を比較的高速化する
ことができる。
【0108】さらに、本実施の形態では、境界画素と、
境界画素と隣接する隣接画素との差分値を比較するとき
の閾値C2を、境界画素と、隣接画素以外の画素との差
分値を比較するときの閾値C1よりも大きく設定した。
これにより、ブロック間の輝度の平均値が異なるという
特性を考慮したデブロックフィルタ処理を行うことがで
きるので、さらに効果的なフィルタ効果を実現すること
ができる。
【0109】さらに、本実施の形態では、境界画素と、
境界画素と隣接する隣接画素との差分値を比較するとき
の閾値C2を、画素の値の最大値を「255」として
「32」に設定し、境界画素と、隣接画素以外の画素と
の差分値を比較するときの閾値C1を、「16」に設定
した。これにより、ブロック間の輝度の平均値が異なる
という特性をより考慮したデブロックフィルタ処理を行
うことができるので、さらに効果的なフィルタ効果を実
現することができる。
【0110】さらに、本実施の形態では、デブロックフ
ィルタ処理は、画素についてフィルタ演算を行うか否か
の判定を、境界画素と隣接する隣接画素から順次境界線
より遠ざかる方向に行い、画素についてフィルタ演算を
行わないと判定したときは、その画素およびこれよりも
後段の画素についてはフィルタ演算を行わないようにな
っている。
【0111】これにより、画素についてフィルタ演算を
行うか否かの判定回数を低減することができるので、デ
ブロックフィルタ処理をさらに高速化することができ
る。さらに、本実施の形態では、ポストフィルタ部40
は、17画素分の画素データを格納可能なバッファを有
し、デブロックフィルタ処理は、画素列のうち一の画素
から境界画素までの全画素データを、VRAM35から
バッファにまとめて読み込み、バッファの画素データに
基づいてフィルタ演算を行うようになっている。
【0112】これにより、画素列の各画素についてデブ
ロックフィルタ処理を行うに必要な画素データをバッフ
ァにまとめて読み込み一括で処理するので、デブロック
フィルタ処理をさらに高速化することができる。さら
に、本実施の形態では、デブロックフィルタ処理は、ブ
ロック内の水平方向の画素列および垂直方向の画素列の
一方に対してフィルタ演算を行った後、他方に対してフ
ィルタ演算を行うようになっている。
【0113】これにより、ブロック内の水平方向の画素
列および垂直方向の画素列の両方に対してデブロックフ
ィルタ処理を行うので、さらに効果的なフィルタ効果を
実現することができる。さらに、本実施の形態では、デ
リンギングフィルタ処理は、一の画素についてのフィル
タ演算を、その演算の対象となる対象画素の値と、対象
画素と隣接する隣接画素の値とに基づいて行い、フィル
タ演算では、隣接画素のうち一の画素と対象画素との差
分値が閾値C3を超えているときは、その一の画素の値
に代えて対象画素の値を用いるようになっている。
【0114】これにより、各隣接画素と対象画素との差
分値が閾値C3を超えている否かにかかわらず、隣接画
素の平均値を算出するときの除数が一定(「8」)とな
り、その除数が2の整数倍であるのでビットシフトによ
り演算を行うことができる。したがって、従来に比し
て、デリンギングフィルタ処理を比較的簡素化すること
ができる。例えば、本実施の形態のように、デリンギン
グフィルタ処理をハードウェアにより実現する場合に
は、回路規模を小型化することができるし、デリンギン
グフィルタ処理をソフトウェアにより実現する場合に
は、プログラムサイズを低減することができる。
【0115】さらに、本実施の形態では、デリンギング
フィルタ処理は、閾値C3として定数値を用いるように
なっている。これにより、閾値C3が定数値であるの
で、デリンギングフィルタ処理の過程において閾値C3
を算出する必要がない。したがって、デリンギングフィ
ルタ処理をさらに簡素化することができる。
【0116】さらに、本実施の形態では、デリンギング
フィルタ処理は、閾値C3を、画素の値の最大値を「2
55」として「16」に設定した。これにより、効果的
なフィルタ効果をある程度実現することができる。さら
に、本実施の形態では、デリンギングフィルタ処理は、
一の画素についてのフィルタ演算を、その演算の対象と
なる対象画素の値を「8」で除算し、対象画素と隣接す
る隣接画素の値を「8」で除算し、それら除算結果を加
算することにより行うようになっている。
【0117】これにより、除算してから加算を行うの
で、従来に比して、デリンギングフィルタ処理において
演算のために占有するメモリ容量を比較的低減すること
ができる。上記第1の実施の形態において、MPEG形
式の動画データは、請求項1、18、19、22、24
ないし27、30、32ないし35、38または40記
載の圧縮画像データに対応し、VRAM35は、請求項
9、19、27または35記載の画像記憶手段に対応
し、ポストフィルタ部40のバッファは、請求項9、1
9、27または35記載の作業用記憶手段に対応してい
る。
【0118】次に、本発明の第2の実施の形態を図面を
参照しながら説明する。図9ないし図13は、本発明に
係る画像処理装置および画像処理プログラム、並びに画
像処理方法の第2の実施の形態を示す図である。以下、
上記第1の実施の形態と異なる部分についてのみ説明を
し、重複する部分については同一の符号を付して説明を
省略する。
【0119】本実施の形態は、本発明に係る画像処理装
置および画像処理プログラム、並びに画像処理方法を、
図1に示すように、コンピュータ100において、マル
チタスクで動作するOSにより、MPEG形式で圧縮さ
れた動画データをデコードして動画を再生する際に、再
生画像に対してデブロックフィルタ処理を行う場合につ
いて適用したものであり、上記第1の実施の形態と異な
るのは、上式(1)〜(4)のフィルタ演算式のみを用
いてデブロックフィルタ処理を行う点にある。
【0120】ポストフィルタ部40は、上記ステップS
202〜S214の処理に代えて、図9のフローチャー
トに示す画素値読込処理を、上記ステップS302〜S
314の処理に代えて、図10のフローチャートに示す
画素値読込処理をそれぞれ実行するようになっている。
初めに、ブロックの右上部分の領域についての画素値読
込処理を図9を参照しながら詳細に説明する。図9は、
ブロックの右上部分の領域についての画素値読込処理を
示すフローチャートである。
【0121】ブロックの右上部分の領域についての画素
値読込処理は、ポストフィルタ部40において実行され
ると、図9に示すように、まず、ステップS230に移
行するようになっている。なお、以下の説明において、
s(0)〜s(4)は、配列型の変数であり、バッファ上に
割り当てたものであってもよいし、バッファとは別の領
域に確保したものであってもよい。
【0122】ステップS230では、画素値v1をs
(0)に読み込み、ステップS232に移行して、画素値
2をs(1)に読み込み、ステップS234に移行し
て、画素値v3をs(2)に読み込み、ステップS236
に移行して、画素値v4をs(3)に読み込み、ステップ
S238に移行して、画素値v5をs(4)に読み込み、
ステップS240に移行する。
【0123】ステップS240では、s(0)〜s(4)の
値に基づいて上式(1)〜(4)によりフィルタ演算を
行うフィルタ演算処理を実行し、一連の処理を終了して
元の処理に復帰させる。次に、ブロックの左上部分の領
域についての画素値読込処理を図10を参照しながら詳
細に説明する。図10は、ブロックの左上部分の領域に
ついての画素値読込処理を示すフローチャートである。
【0124】ブロックの左上部分の領域についての画素
値読込処理は、ポストフィルタ部40において実行され
ると、図10に示すように、まず、ステップS330に
移行するようになっている。ステップS330では、画
素値v4をs(4)に読み込み、ステップS332に移行
して、画素値v5をs(3)に読み込み、ステップS33
4に移行して、画素値v6をs(2)に読み込み、ステッ
プS336に移行して、画素値v7をs(1)に読み込
み、ステップS338に移行して、画素値v8をs(0)
に読み込み、ステップS240に移行する。
【0125】次に、上記ステップS240のフィルタ演
算処理を図11を参照しながら詳細に説明する。図11
は、ステップS240のフィルタ演算処理を示すフロー
チャートである。フィルタ演算処理は、上記ステップS
240において実行されると、図11に示すように、ま
ず、ステップS500に移行するようになっている。
【0126】ステップS500では、s(3)とs(4)と
の差分の絶対値が定数値C2よりも大きいか否かを判定
し、s(3)とs(4)との差分の絶対値が定数値C2以下
であると判定したとき(No)は、ステップS502に移行
して、s(3),s(4)の値に基づいて上式(4)により
フィルタ演算を行ってs'(3)を算出し、ステップS5
04に移行する。
【0127】ステップS504では、s(2)とs(3)と
の差分の絶対値が定数値C1よりも大きいか否かを判定
し、s(2)とs(3)との差分の絶対値が定数値C1以下
であると判定したとき(No)は、ステップS506に移行
して、s(2),s(4)の値に基づいて上式(3)により
フィルタ演算を行ってs'(2)を算出し、ステップS5
08に移行する。
【0128】ステップS508では、s(1)とs(2)と
の差分の絶対値が定数値C1よりも大きいか否かを判定
し、s(1)とs(2)との差分の絶対値が定数値C1以下
であると判定したとき(No)は、ステップS510に移行
して、s(1),s(4)の値に基づいて上式(2)により
フィルタ演算を行ってs'(1)を算出し、一連の処理を
終了して元の処理に復帰させる。
【0129】一方、ステップS500でs(3)とs(4)
との差分の絶対値が定数値C2よりも大きいと判定した
とき(Yes)、ステップS504でs(2)とs(3)との差
分の絶対値が定数値C1よりも大きいと判定したとき(Ye
s)、およびステップS508でs(1)とs(2)との差分
の絶対値が定数値C1よりも大きいと判定したとき(Yes)
はいずれも、一連の処理を終了して元の処理に復帰させ
る。
【0130】次に、上記第2の実施の形態の動作を図1
2および図13を参照しながら説明する。図12は、画
素値v1〜v8を並べ換えて演算する場合を示す図であ
る。図13は、画素列PG1の各画素の値を示した棒グ
ラフである。初めに、図1における画素列PG1の各画
素に対してデブロックフィルタ処理を行う場合を例にと
って、デブロックフィルタ処理を行う場合を説明する。
【0131】画素列PG1の各画素に対してデブロック
フィルタ処理を行う場合は、まず、ステップS200,
S202,S230〜S238を経て、画素列PG1の
アドレスに基づいて、画素列PG1について、水平方向
の演算に必要な画素データおよび垂直方向の演算に必要
な画素データがまとめてバッファに読み込まれ、図12
(a)に示すように、画素値v1〜v5がs(0)〜s(4)
にその順で読み込まれる。
【0132】そして、まず、ステップS500を経て、
s(3)についてデブロックフィルタ処理を行うか否かが
判定される。すなわち、s(3)とs(4)との差分の絶対
値が定数値C2以下であれば、ステップS502を経
て、s(3),s(4)の値に基づいて上式(4)によりフ
ィルタ演算が行われてs'(3)が算出される。なお、s
(3)についてデブロックフィルタ処理を行わないと判定
された場合には、s(1),s(2)についてもデブロック
フィルタ処理は行われない。
【0133】次いで、s(3)についてデブロックフィル
タ処理が行われた場合には、ステップS504を経て、
s(2)についてデブロックフィルタ処理を行うか否かが
判定される。すなわち、s(2)とs(3)との差分の絶対
値が定数値C1以下であれば、ステップS506を経
て、s(2),s(4)に基づいて上式(3)によりフィル
タ演算が行われてs'(2)が算出される。なお、s(2)
についてデブロックフィルタ処理を行わないと判定され
た場合には、s(1)についてもデブロックフィルタ処理
は行われない。
【0134】次いで、s(2)についてデブロックフィル
タ処理が行われた場合には、ステップS508を経て、
s(1)についてデブロックフィルタ処理を行うか否かが
判定される。すなわち、s(1)とs(2)との差分の絶対
値が定数値C1以下であれば、ステップS510を経
て、s(1),s(4)に基づいて上式(2)によりフィル
タ演算が行われてs'(1)が算出される。
【0135】そして、ステップS216,S218を経
て、画素列PG1の画素のうち左半分の画素に対して垂
直方向にデブロックフィルタ処理が行われ、水平方向お
よび垂直方向の処理が終了すると、s'(1)〜s'(3)の
値がRGB変換部42に出力される。これにより、画素
列PG1のうち左半分の画素についてデブロックフィル
タ処理が完了する。
【0136】次に、ステップS300,S302,S3
30〜S338を経て、画素列PG1のアドレスに基づ
いて、画素列PG1について、水平方向の演算に必要な
画素データおよび垂直方向の演算に必要な画素データが
まとめてバッファに読み込まれ、図12(b)に示すよ
うに、画素値v4〜v8がs(4)〜s(0)にその順で読み
込まれる。
【0137】そして、まず、ステップS500を経て、
s(3)についてデブロックフィルタ処理を行うか否かが
判定される。すなわち、s(3)とs(4)との差分の絶対
値が定数値C2以下であれば、ステップS502を経
て、s(3),s(4)の値に基づいて上式(4)によりフ
ィルタ演算が行われてs'(3)が算出される。なお、s
(3)についてデブロックフィルタ処理を行わないと判定
された場合には、s(1),s(2)についてもデブロック
フィルタ処理は行われない。
【0138】次いで、s(3)についてデブロックフィル
タ処理が行われた場合には、ステップS504を経て、
s(2)についてデブロックフィルタ処理を行うか否かが
判定される。すなわち、s(2)とs(3)との差分の絶対
値が定数値C1以下であれば、ステップS506を経
て、s(2),s(4)に基づいて上式(3)によりフィル
タ演算が行われてs'(2)が算出される。なお、s(2)
についてデブロックフィルタ処理を行わないと判定され
た場合には、s(1)についてもデブロックフィルタ処理
は行われない。
【0139】次いで、s(2)についてデブロックフィル
タ処理が行われた場合には、ステップS508を経て、
s(1)についてデブロックフィルタ処理を行うか否かが
判定される。すなわち、s(1)とs(2)との差分の絶対
値が定数値C1以下であれば、ステップS510を経
て、s(1),s(4)に基づいて上式(2)によりフィル
タ演算が行われてs'(1)が算出される。
【0140】そして、ステップS316,S318を経
て、画素列PG1の画素のうち右半分の画素に対して垂
直方向にデブロックフィルタ処理が行われ、水平方向お
よび垂直方向の処理が終了すると、s'(1)〜s'(3)の
値がRGB変換部42に出力される。このとき、図12
(b)に示すように、s'(0)〜s'(4)の内容が反対の
順列となるように並べ換えられてから、s'(1)〜s'
(3)の値がRGB変換部42に出力される。
【0141】これにより、画素列PG1のうち右半分の
画素についてデブロックフィルタ処理が完了する。本実
施の形態に係るデブロックフィルタ処理によれば、上記
第1の実施の形態では、図13(a)に示すように各画
素値v1〜v8が補正されるところ、図13(b)に示す
ように補正される。
【0142】このようにして、本実施の形態では、デブ
ロックフィルタ処理は、互いに隣接するブロック間の境
界線と直交する画素列について、画素値v2〜v5をそれ
ぞれs(1)〜s(4)に読み込んで、フィルタ後の各画素
の値v2'〜v4'を上式(2)〜(4)のフィルタ演算式
により算出し、画素値v4〜v7をそれぞれs(4)〜s
(1)に読み込んで、フィルタ後の各画素の値v5'〜v7'
を上式(2)〜(4)のフィルタ演算式により算出する
ようになっている。
【0143】これにより、6つの画素についてデブロッ
クフィルタ処理を行うのに3つのフィルタ演算式を用意
しておけばよいので、デブロックフィルタ処理をさらに
簡素化することができる。上記第2の実施の形態におい
て、MPEG形式の動画データは、請求項20、28ま
たは36記載の圧縮画像データに対応している。
【0144】次に、本発明の第3の実施の形態を図面を
参照しながら説明する。図14ないし図17は、本発明
に係る画像処理装置および画像処理プログラム、並びに
画像処理方法の第3の実施の形態を示す図である。以
下、上記第1の実施の形態と異なる部分についてのみ説
明をし、重複する部分については同一の符号を付して説
明を省略する。
【0145】本実施の形態は、本発明に係る画像処理装
置および画像処理プログラム、並びに画像処理方法を、
図1に示すように、コンピュータ100において、マル
チタスクで動作するOSにより、MPEG形式で圧縮さ
れた動画データをデコードして動画を再生する際に、再
生画像に対してデブロックフィルタ処理を行う場合につ
いて適用したものであり、上記第1の実施の形態と異な
るのは、上式(5)〜(8)のフィルタ演算式のみを用
いてデブロックフィルタ処理を行う点にある。
【0146】ポストフィルタ部40は、上記ステップS
202〜S214の処理に代えて、図14のフローチャ
ートに示す画素値読込処理を、上記ステップS302〜
S314の処理に代えて、図15のフローチャートに示
す画素値読込処理をそれぞれ実行するようになってい
る。初めに、ブロックの右上部分の領域についての画素
値読込処理を図14を参照しながら詳細に説明する。図
14は、ブロックの右上部分の領域についての画素値読
込処理を示すフローチャートである。
【0147】ブロックの右上部分の領域についての画素
値読込処理は、ポストフィルタ部40において実行され
ると、図14に示すように、まず、ステップS260に
移行するようになっている。なお、以下の説明におい
て、s(0)〜s(4)は、配列型の変数であり、バッファ
上に割り当てたものであってもよいし、バッファとは別
の領域に確保したものであってもよい。
【0148】ステップS260では、画素値v1をs
(4)に読み込み、ステップS262に移行して、画素値
2をs(3)に読み込み、ステップS264に移行し
て、画素値v3をs(2)に読み込み、ステップS266
に移行して、画素値v4をs(1)に読み込み、ステップ
S268に移行して、画素値v5をs(0)に読み込み、
ステップS270に移行する。
【0149】ステップS270では、s(0)〜s(4)の
値に基づいて上式(5)〜(8)によりフィルタ演算を
行うフィルタ演算処理を実行し、一連の処理を終了して
元の処理に復帰させる。次に、ブロックの左上部分の領
域についての画素値読込処理を図15を参照しながら詳
細に説明する。図15は、ブロックの左上部分の領域に
ついての画素値読込処理を示すフローチャートである。
【0150】ブロックの左上部分の領域についての画素
値読込処理は、ポストフィルタ部40において実行され
ると、図15に示すように、まず、ステップS360に
移行するようになっている。ステップS360では、画
素値v4をs(0)に読み込み、ステップS362に移行
して、画素値v5をs(1)に読み込み、ステップS36
4に移行して、画素値v6をs(2)に読み込み、ステッ
プS366に移行して、画素値v7をs(3)に読み込
み、ステップS368に移行して、画素値v8をs(4)
に読み込み、ステップS270に移行する。
【0151】次に、上記ステップS270のフィルタ演
算処理を図16を参照しながら詳細に説明する。図16
は、ステップS270のフィルタ演算処理を示すフロー
チャートである。フィルタ演算処理は、上記ステップS
270において実行されると、図16に示すように、ま
ず、ステップS530に移行するようになっている。
【0152】ステップS530では、s(1)とs(0)と
の差分の絶対値が定数値C2よりも大きいか否かを判定
し、s(1)とs(0)との差分の絶対値が定数値C2以下
であると判定したとき(No)は、ステップS532に移行
して、s(1),s(0)の値に基づいて上式(5)により
フィルタ演算を行ってs'(1)を算出し、ステップS5
34に移行する。
【0153】ステップS534では、s(2)とs(1)と
の差分の絶対値が定数値C1よりも大きいか否かを判定
し、s(2)とs(1)との差分の絶対値が定数値C1以下
であると判定したとき(No)は、ステップS536に移行
して、s(2),s(0)の値に基づいて上式(6)により
フィルタ演算を行ってs'(2)を算出し、ステップS5
38に移行する。
【0154】ステップS538では、s(3)とs(2)と
の差分の絶対値が定数値C1よりも大きいか否かを判定
し、s(3)とs(2)との差分の絶対値が定数値C1以下
であると判定したとき(No)は、ステップS540に移行
して、s(3),s(0)の値に基づいて上式(7)により
フィルタ演算を行ってs'(3)を算出し、一連の処理を
終了して元の処理に復帰させる。
【0155】一方、ステップS530でs(1)とs(0)
との差分の絶対値が定数値C2よりも大きいと判定した
とき(Yes)、ステップS534でs(2)とs(1)との差
分の絶対値が定数値C1よりも大きいと判定したとき(Ye
s)、およびステップS538でs(3)とs(2)との差分
の絶対値が定数値C1よりも大きいと判定したとき(Yes)
はいずれも、一連の処理を終了して元の処理に復帰させ
る。
【0156】次に、上記第3の実施の形態の動作を図1
7を参照しながら説明する。図17は、画素列PG1の
各画素の値を示した棒グラフである。初めに、図1にお
ける画素列PG1の各画素に対してデブロックフィルタ
処理を行う場合を例にとって、デブロックフィルタ処理
を行う場合を説明する。画素列PG1の各画素に対して
デブロックフィルタ処理を行う場合は、まず、ステップ
S200,S202,S260〜S268を経て、画素
列PG1のアドレスに基づいて、画素列PG1につい
て、水平方向の演算に必要な画素データおよび垂直方向
の演算に必要な画素データがまとめてバッファに読み込
まれ、図12(b)に示すように、画素値v1〜v5がs
(4)〜s(0)にその順で読み込まれる。
【0157】そして、まず、ステップS530を経て、
s(1)についてデブロックフィルタ処理を行うか否かが
判定される。すなわち、s(1)とs(0)との差分の絶対
値が定数値C2以下であれば、ステップS532を経
て、s(1),s(0)の値に基づいて上式(5)によりフ
ィルタ演算が行われてs'(1)が算出される。なお、s
(1)についてデブロックフィルタ処理を行わないと判定
された場合には、s(2),s(3)についてもデブロック
フィルタ処理は行われない。
【0158】次いで、s(2)についてデブロックフィル
タ処理が行われた場合には、ステップS534を経て、
s(2)についてデブロックフィルタ処理を行うか否かが
判定される。すなわち、s(2)とs(1)との差分の絶対
値が定数値C1以下であれば、ステップS536を経
て、s(2),s(0)に基づいて上式(6)によりフィル
タ演算が行われてs'(2)が算出される。なお、s(2)
についてデブロックフィルタ処理を行わないと判定され
た場合には、s(3)についてもデブロックフィルタ処理
は行われない。
【0159】次いで、s(2)についてデブロックフィル
タ処理が行われた場合には、ステップS538を経て、
s(3)についてデブロックフィルタ処理を行うか否かが
判定される。すなわち、s(3)とs(2)との差分の絶対
値が定数値C1以下であれば、ステップS540を経
て、s(3),s(0)に基づいて上式(7)によりフィル
タ演算が行われてs'(3)が算出される。
【0160】そして、ステップS216,S218を経
て、画素列PG1の画素のうち左半分の画素に対して垂
直方向にデブロックフィルタ処理が行われ、水平方向お
よび垂直方向の処理が終了すると、s'(1)〜s'(3)の
値がRGB変換部42に出力される。このとき、図12
(b)に示すように、s'(0)〜s'(4)の内容が反対の
順列となるように並べ換えられてから、s'(1)〜s'
(3)の値がRGB変換部42に出力される。
【0161】これにより、画素列PG1のうち左半分の
画素についてデブロックフィルタ処理が完了する。次
に、ステップS300,S302,S360〜S368
を経て、画素列PG1のアドレスに基づいて、画素列P
G1について、水平方向の演算に必要な画素データおよ
び垂直方向の演算に必要な画素データがまとめてバッフ
ァに読み込まれ、図12(a)に示すように、画素値v
4〜v8がs(0)〜s(4)にその順で読み込まれる。
【0162】そして、まず、ステップS530を経て、
s(1)についてデブロックフィルタ処理を行うか否かが
判定される。すなわち、s(1)とs(0)との差分の絶対
値が定数値C2以下であれば、ステップS532を経
て、s(1),s(0)の値に基づいて上式(5)によりフ
ィルタ演算が行われてs'(1)が算出される。なお、s
(1)についてデブロックフィルタ処理を行わないと判定
された場合には、s(2),s(3)についてもデブロック
フィルタ処理は行われない。
【0163】次いで、s(2)についてデブロックフィル
タ処理が行われた場合には、ステップS534を経て、
s(2)についてデブロックフィルタ処理を行うか否かが
判定される。すなわち、s(2)とs(1)との差分の絶対
値が定数値C1以下であれば、ステップS536を経
て、s(2),s(0)に基づいて上式(6)によりフィル
タ演算が行われてs'(2)が算出される。なお、s(2)
についてデブロックフィルタ処理を行わないと判定され
た場合には、s(3)についてもデブロックフィルタ処理
は行われない。
【0164】次いで、s(2)についてデブロックフィル
タ処理が行われた場合には、ステップS538を経て、
s(3)についてデブロックフィルタ処理を行うか否かが
判定される。すなわち、s(3)とs(2)との差分の絶対
値が定数値C1以下であれば、ステップS540を経
て、s(3),s(0)に基づいて上式(7)によりフィル
タ演算が行われてs'(3)が算出される。
【0165】そして、ステップS316,S318を経
て、画素列PG1の画素のうち右半分の画素に対して垂
直方向にデブロックフィルタ処理が行われ、水平方向お
よび垂直方向の処理が終了すると、s'(1)〜s'(3)の
値がRGB変換部42に出力される。これにより、画素
列PG1のうち右半分の画素についてデブロックフィル
タ処理が完了する。
【0166】本実施の形態に係るデブロックフィルタ処
理によれば、上記第1の実施の形態では、図17(a)
に示すように各画素値v1〜v8が補正されるところ、図
17(b)に示すように補正される。本実施の形態に係
るデブロックフィルタ処理は、デリンギングフィルタ処
理を併用しない場合には、上記第2の実施の形態に係る
デブロックフィルタ処理よりも高画質な画像が得られる
が、デリンギングフィルタ処理を併用した場合には、上
記第2の実施の形態に係るデブロックフィルタ処理の方
が高画質な画像が得られる。したがって、デリンギング
フィルタ処理の有無に応じてこれらを選択するのが好ま
しい。
【0167】このようにして、本実施の形態では、デブ
ロックフィルタ処理は、互いに隣接するブロック間の境
界線と直交する画素列について、画素値v4〜v7をそれ
ぞれs(0)〜s(3)に読み込んで、フィルタ後の各画素
の値v5'〜v7'を上式(5)〜(7)のフィルタ演算式
により算出し、画素値v2〜v5をそれぞれs(3)〜s
(0)に読み込んで、フィルタ後の各画素の値v2'〜v4'
を上式(5)〜(7)のフィルタ演算式により算出する
ようになっている。
【0168】これにより、6つの画素についてデブロッ
クフィルタ処理を行うのに3つのフィルタ演算式を用意
しておけばよいので、デブロックフィルタ処理をさらに
簡素化することができる。上記第3の実施の形態におい
て、MPEG形式の動画データは、請求項21、29ま
たは37記載の圧縮画像データに対応している。
【0169】なお、上記第1の実施の形態において、デ
リンギングフィルタ処理は、対象画素と8つの隣接画素
との値に基づいてフィルタ演算を行うように構成した
が、これに限らず、図18に示すように、対象画素と4
つの隣接画素との値に基づいてフィルタ演算を行うよう
に構成してもよい。図18は、デリンギングフィルタ処
理の原理を説明するための図である。
【0170】図18において、デリンギングフィルタ処
理の対象となる対象画素の値をv0とし、対象画素と隣
接する隣接画素の値を、対象画素からみて上、左、右、
下の順にv2,v4,v5,v7とする。この場合に、対象
画素についてデリンギングフィルタ処理後の値v0'は、
下式(30)のフィルタ演算式により算出する。 V=(v2+v4+v5+v7)/4 …(31) v0'=(v0+V)/2 …(32) ただし、エッジが検出された場合にはvi(i=2,
4,5,7)をv0に置き換える。viをv0に置き換え
る趣旨は、エッジが検出された場合にはデブロックフィ
ルタ処理を行わないこととする趣旨と同様である。図1
8の例では、v7がv0に置き換えられる。
【0171】これにより、隣接画素の平均値を算出する
ときの除数が2の整数倍であるので、ビットシフトによ
り演算を行うことができる。また、隣接画素のすべての
値を用いないので、処理負荷を低減することもできる。
したがって、デリンギングフィルタ処理をさらに簡素化
することができる。なお、隣接画素として上下左右の4
つの画素を選択したが、これに限らず、例えば、左上、
右上、左下、右下の4つの画素など、隣接画素であれば
どのような組み合わせで選択してもよい。また、ビット
シフトにより演算を行うことにより処理負荷の低減を図
る観点からは、フィルタ演算に用いる隣接画素は、2つ
または1つであってもよい。
【0172】この場合において、MPEG形式の動画デ
ータは、請求項23、31または39記載の圧縮画像デ
ータに対応している。また、上記第1の実施の形態にお
いて、図4、図5、図6および図8のフローチャートに
示す処理を実行するにあたってはいずれも、ポストフィ
ルタ部40のハードウェアによる処理で行う場合につい
て説明したが、これに限らず、CPU30がこれらの処
理を実行するようにしてもよく、この場合、上記第1の
実施の形態のように、ROM32にあらかじめ格納され
ている制御プログラムを実行するように構成してもよい
が、これらの手順を示したプログラムが記憶された記憶
媒体から、そのプログラムをRAM34に読み込んで実
行するようにしてもよい。
【0173】また、上記第2の実施の形態において、図
9ないし図11のフローチャートに示す処理を実行する
にあたってはいずれも、ポストフィルタ部40のハード
ウェアによる処理で行う場合について説明したが、これ
に限らず、CPU30がこれらの処理を実行するように
してもよく、この場合、上記第2の実施の形態のよう
に、ROM32にあらかじめ格納されている制御プログ
ラムを実行するように構成してもよいが、これらの手順
を示したプログラムが記憶された記憶媒体から、そのプ
ログラムをRAM34に読み込んで実行するようにして
もよい。
【0174】また、上記第3の実施の形態において、図
14ないし図16のフローチャートに示す処理を実行す
るにあたってはいずれも、ポストフィルタ部40のハー
ドウェアによる処理で行う場合について説明したが、こ
れに限らず、CPU30がこれらの処理を実行するよう
にしてもよく、この場合、上記第3の実施の形態のよう
に、ROM32にあらかじめ格納されている制御プログ
ラムを実行するように構成してもよいが、これらの手順
を示したプログラムが記憶された記憶媒体から、そのプ
ログラムをRAM34に読み込んで実行するようにして
もよい。
【0175】ここで、記憶媒体とは、RAM、ROM等
の半導体記憶媒体、FD、HD等の磁気記憶型記憶媒
体、CD、CDV、LD、DVD等の光学的読取方式記
憶媒体、MO等の磁気記憶型/光学的読取方式記憶媒体
であって、電子的、磁気的、光学的等の読み取り方法の
いかんにかかわらず、コンピュータで読み取り可能な記
憶媒体であれば、あらゆる記憶媒体を含むものである。
【0176】また、上記第1、第2および第3の実施の
形態においては、本発明に係る画像処理装置および画像
処理プログラム、並びに画像処理方法を、図1に示すよ
うに、コンピュータ100において、マルチタスクで動
作するOSにより、MPEG形式で圧縮された動画デー
タをデコードして動画を再生する際に、再生画像に対し
て、デブロックフィルタ処理およびデリンギングフィル
タ処理を行う場合について適用したが、これに限らず、
本発明の主旨を逸脱しない範囲で他の場合にも適用可能
である。例えば、JPEG形式で圧縮された画像データ
に基づいて画像を表示する場合や、その他離散コサイン
変換処理および量子化変換処理を所定のブロック単位で
行う画像圧縮処理により圧縮された圧縮画像データに基
づいてブロック単位で画像を展開する場合に適用するこ
とができる。
【0177】
【発明の効果】以上説明したように、本発明に係る請求
項1ないし17記載の画像処理装置によれば、一の画素
についてのフィルタ演算を行うにあたって、多数の画素
の平均値を用いず、2つの画素の値のみを用いるので、
従来に比して、画像復号化時においてブロックノイズを
低減するフィルタ処理を比較的簡素化することができる
という効果が得られる。
【0178】さらに、本発明に係る請求項3記載の画像
処理装置によれば、一の画素についてのフィルタ演算を
行うにあたって、その一の画素の値と、同一画素列の画
素であって隣接ブロック内の境界画素の値とを用いるの
で、効果的なフィルタ効果をある程度実現することがで
きるという効果も得られる。さらに、本発明に係る請求
項4記載の画像処理装置によれば、一の画素についての
フィルタ演算を行うにあたって、その一の画素の値と、
同一画素列の画素であって隣接ブロック内の境界画素の
値とを用いた加減算およびビットシフト(除数が2の整
数倍となる除算)により演算を行うので、画像復号化時
においてブロックノイズを低減するフィルタ処理をさら
に簡素化することができるのに加え、請求項3記載の画
像処理装置に比して、さらに効果的なフィルタ効果を実
現することができるという効果も得られる。
【0179】さらに、本発明に係る請求項5ないし8記
載の画像処理装置によれば、閾値が定数値であるので、
フィルタ処理の過程において閾値を算出する必要がな
く、また、各画素の相互の差分値のいずれかが閾値を超
えていれば、フィルタ演算が行われない。したがって、
画像復号化時においてブロックノイズを低減するフィル
タ処理をさらに簡素化することができるのに加え、従来
に比して、当該フィルタ処理を比較的高速化することが
できるという効果も得られる。
【0180】さらに、本発明に係る請求項6記載の画像
処理装置によれば、ブロック間の輝度の平均値が異なる
という特性を考慮したフィルタ処理を行うことができる
ので、効果的なフィルタ効果をある程度実現することが
できるという効果も得られる。さらに、本発明に係る請
求項7記載の画像処理装置によれば、ブロック間の輝度
の平均値が異なるという特性を考慮したフィルタ処理を
行うことができるので、請求項6記載の画像処理装置に
比して、さらに効果的なフィルタ効果を実現することが
できるという効果も得られる。
【0181】さらに、本発明に係る請求項8記載の画像
処理装置によれば、画素についてフィルタ演算を行うか
否かの判定回数を低減することができるので、画像復号
化時においてブロックノイズを低減するフィルタ処理を
さらに高速化することができるという効果も得られる。
さらに、本発明に係る請求項9記載の画像処理装置によ
れば、画素列の各画素についてフィルタ処理を行うに必
要な画素データを作業用記憶手段にまとめて読み込み一
括で処理するので、従来に比して、画像復号化時におい
てブロックノイズを低減するフィルタ処理を比較的高速
化することができるという効果も得られる。
【0182】さらに、本発明に係る請求項10記載の画
像処理装置によれば、6つの画素についてフィルタ処理
を行うのに3つのフィルタ演算式を用意しておけばよい
ので、画像復号化時においてブロックノイズを低減する
フィルタ処理をさらに簡素化することができるという効
果も得られる。さらに、本発明に係る請求項11記載の
画像処理装置によれば、6つの画素についてフィルタ処
理を行うのに3つのフィルタ演算式を用意しておけばよ
いので、画像復号化時においてブロックノイズを低減す
るフィルタ処理をさらに簡素化することができるという
効果も得られる。
【0183】さらに、本発明に係る請求項12記載の画
像処理装置によれば、ブロック内の水平方向の画素列お
よび垂直方向の画素列の両方に対してフィルタ処理を行
うので、効果的なフィルタ効果をある程度実現すること
ができるという効果も得られる。さらに、本発明に係る
請求項13ないし15記載の画像処理装置によれば、フ
ィルタ演算に隣接画素の平均値を用いる場合、各隣接画
素と対象画素との差分値が閾値を超えている否かにかか
わらず、隣接画素の平均値を算出するときの除数が一定
となり、その除数が2の整数倍であればビットシフトに
より演算を行うことができる。したがって、従来に比し
て、画像復号化時においてモスキートノイズを低減する
フィルタ処理を比較的簡素化することができるという効
果も得られる。
【0184】さらに、本発明に係る請求項14または1
5記載の画像処理装置によれば、閾値が定数値であるの
で、フィルタ処理の過程において閾値を算出する必要が
ない。したがって、画像復号化時においてモスキートノ
イズを低減するフィルタ処理をさらに簡素化することが
できるという効果も得られる。さらに、本発明に係る請
求項15記載の画像処理装置によれば、効果的なフィル
タ効果をある程度実現することができるという効果も得
られる。
【0185】さらに、本発明に係る請求項16記載の画
像処理装置によれば、フィルタ演算に隣接画素の平均値
を用いる場合、隣接画素の平均値を算出するときの除数
が2の整数倍であるので、ビットシフトにより演算を行
うことができる。また、隣接画素のすべての値を用いな
いので、処理負荷を低減することもできる。したがっ
て、従来に比して、画像復号化時においてモスキートノ
イズを低減するフィルタ処理を比較的簡素化することが
できるという効果も得られる。
【0186】さらに、本発明に係る請求項17記載の画
像処理装置によれば、フィルタ演算に隣接画素の平均値
を用いる場合、除算してから加算を行うので、従来に比
して、画像復号化時におけるモスキートノイズを低減す
るフィルタ処理において演算のために占有するメモリ容
量を比較的低減することができるという効果も得られ
る。
【0187】さらに、本発明に係る請求項18記載の画
像処理装置によれば、閾値が定数値であるので、フィル
タ処理の過程において閾値を算出する必要がなく、ま
た、各画素の相互の差分値のいずれかが閾値を超えてい
れば、フィルタ演算が行われない。したがって、従来に
比して、画像復号化時においてブロックノイズを低減す
るフィルタ処理を比較的簡素化することができるのに加
え、当該フィルタ処理を比較的高速化することができる
という効果が得られる。
【0188】さらに、本発明に係る請求項19記載の画
像処理装置によれば、画素列の各画素についてフィルタ
処理を行うに必要な画素データを作業用記憶手段にまと
めて読み込み一括で処理するので、従来に比して、画像
復号化時においてブロックノイズを低減するフィルタ処
理を比較的高速化することができるという効果が得られ
る。
【0189】さらに、本発明に係る請求項20記載の画
像処理装置によれば、6つの画素についてフィルタ処理
を行うのに3つのフィルタ演算式を用意しておけばよい
ので、従来に比して、画像復号化時においてブロックノ
イズを低減するフィルタ処理を比較的簡素化することが
できるという効果が得られる。さらに、本発明に係る請
求項21記載の画像処理装置によれば、6つの画素につ
いてフィルタ処理を行うのに3つのフィルタ演算式を用
意しておけばよいので、従来に比して、画像復号化時に
おいてブロックノイズを低減するフィルタ処理を比較的
簡素化することができるという効果が得られる。
【0190】さらに、本発明に係る請求項22記載の画
像処理装置によれば、フィルタ演算に隣接画素の平均値
を用いる場合、各隣接画素と対象画素との差分値が閾値
を超えている否かにかかわらず、隣接画素の平均値を算
出するときの除数が一定となり、その除数が2の整数倍
であればビットシフトにより演算を行うことができる。
したがって、従来に比して、画像復号化時においてモス
キートノイズを低減するフィルタ処理を比較的簡素化す
ることができるという効果が得られる。
【0191】さらに、本発明に係る請求項23記載の画
像処理装置によれば、フィルタ演算に隣接画素の平均値
を用いる場合、隣接画素の平均値を算出するときの除数
が2の整数倍であるので、ビットシフトにより演算を行
うことができる。また、隣接画素のすべての値を用いな
いので、処理負荷を低減することもできる。したがっ
て、従来に比して、画像復号化時においてモスキートノ
イズを低減するフィルタ処理を比較的簡素化することが
できるという効果が得られる。
【0192】さらに、本発明に係る請求項24記載の画
像処理装置によれば、フィルタ演算に隣接画素の平均値
を用いる場合、除算してから加算を行うので、従来に比
して、画像復号化時におけるモスキートノイズを低減す
るフィルタ処理において演算のために占有するメモリ容
量を比較的低減することができるという効果が得られ
る。
【0193】一方、本発明に係る請求項25記載の画像
処理プログラムによれば、請求項1記載の画像処理装置
と同等の効果が得られる。さらに、本発明に係る請求項
26記載の画像処理プログラムによれば、請求項18記
載の画像処理装置と同等の効果が得られる。さらに、本
発明に係る請求項27記載の画像処理プログラムによれ
ば、請求項19記載の画像処理装置と同等の効果が得ら
れる。
【0194】さらに、本発明に係る請求項28記載の画
像処理プログラムによれば、請求項20記載の画像処理
装置と同等の効果が得られる。さらに、本発明に係る請
求項29記載の画像処理プログラムによれば、請求項2
1記載の画像処理装置と同等の効果が得られる。さら
に、本発明に係る請求項30記載の画像処理プログラム
によれば、請求項22記載の画像処理装置と同等の効果
が得られる。
【0195】さらに、本発明に係る請求項31記載の画
像処理プログラムによれば、請求項23記載の画像処理
装置と同等の効果が得られる。さらに、本発明に係る請
求項32記載の画像処理プログラムによれば、請求項2
4記載の画像処理装置と同等の効果が得られる。一方、
本発明に係る請求項33記載の画像処理方法によれば、
請求項1記載の画像処理装置と同等の効果が得られる。
【0196】さらに、本発明に係る請求項34記載の画
像処理方法によれば、請求項18記載の画像処理装置と
同等の効果が得られる。さらに、本発明に係る請求項3
5記載の画像処理方法によれば、請求項19記載の画像
処理装置と同等の効果が得られる。さらに、本発明に係
る請求項36記載の画像処理方法によれば、請求項20
記載の画像処理装置と同等の効果が得られる。
【0197】さらに、本発明に係る請求項37記載の画
像処理方法によれば、請求項21記載の画像処理装置と
同等の効果が得られる。さらに、本発明に係る請求項3
8記載の画像処理方法によれば、請求項22記載の画像
処理装置と同等の効果が得られる。さらに、本発明に係
る請求項39記載の画像処理方法によれば、請求項23
記載の画像処理装置と同等の効果が得られる。
【0198】さらに、本発明に係る請求項40記載の画
像処理方法によれば、請求項24記載の画像処理装置と
同等の効果が得られる。
【図面の簡単な説明】
【図1】 本発明を適用するコンピュータシステムの構
成を示すブロック図である。
【図2】 デブロックフィルタ処理の原理を説明するた
めの図である。
【図3】 画素列PG1,PG2の各画素の値を示した
棒グラフである。
【図4】 デブロックフィルタ処理を示すフローチャー
トである。
【図5】 ステップS102のフィルタ処理を示すフロ
ーチャートである。
【図6】 ステップS104のフィルタ処理を示すフロ
ーチャートである。
【図7】 デリンギングフィルタ処理の原理を説明する
ための図である。
【図8】 デリンギングフィルタ処理を示すフローチャ
ートである。
【図9】 ブロックの右上部分の領域についての画素値
読込処理を示すフローチャートである。
【図10】 ブロックの左上部分の領域についての画素
値読込処理を示すフローチャートである。
【図11】 ステップS240のフィルタ演算処理を示
すフローチャートである。
【図12】 画素値v1〜v8を並べ換えて演算する場合
を示す図である。
【図13】 画素列PG1の各画素の値を示した棒グラ
フである。
【図14】 ブロックの右上部分の領域についての画素
値読込処理を示すフローチャートである。
【図15】 ブロックの左上部分の領域についての画素
値読込処理を示すフローチャートである。
【図16】 ステップS270のフィルタ演算処理を示
すフローチャートである。
【図17】 画素列PG1の各画素の値を示した棒グラ
フである。
【図18】 デリンギングフィルタ処理の原理を説明す
るための図である。
【図19】 従来の画像処理システムによるフィルタ処
理を示す図である。
【図20】 従来の画像処理システムにおいて参照する
画素を示す図である。
【符号の説明】
100…コンピュータ,30…CPU,32…ROM,
34…RAM,35…VRAM,36…LCDC,38
…デコーダ、40…ポストフィルタ部,42…RGB変
換部,44…LCD
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B057 CA08 CA16 CB08 CB16 CE06 CG01 CH01 CH09 CH11 5C059 KK03 KK04 KK08 KK11 MA00 MA23 MC11 TA68 TB08 TC02 TC42 TD05 TD12 UA02 UA05 UA11 UA33 5C077 LL18 PP01 PP47 PQ12 PQ20 PQ22 RR21 5C078 AA04 BA57 CA21 CA25 CA31 DA02

Claims (40)

    【特許請求の範囲】
  1. 【請求項1】 離散コサイン変換処理及び量子化処理を
    所定のブロック単位で行う画像圧縮処理により圧縮され
    た圧縮画像データに基づいて前記ブロック単位で画像を
    展開する際又は展開した後に、展開画像に対してフィル
    タ処理を行う装置であって、 前記フィルタ処理は、前記ブロック内の一の画素につい
    てのフィルタ演算を、当該一の画素の値と、隣接ブロッ
    ク内のいずれかの画素の値とにのみ基づいて行うように
    なっていることを特徴とする画像処理装置。
  2. 【請求項2】 請求項1において、 前記フィルタ処理は、互いに隣接するブロック間の境界
    線と交差する画素列の画素のうち一の画素についてのフ
    ィルタ演算を、当該一の画素の値と、同一画素列の画素
    であって隣接ブロック内のいずれかの画素の値とにのみ
    基づいて行うようになっていることを特徴とする画像処
    理装置。
  3. 【請求項3】 請求項1及び2のいずれかにおいて、 前記フィルタ処理は、互いに隣接するブロック間の境界
    線と交差する画素列の画素のうち一の画素についてのフ
    ィルタ演算を、当該一の画素の値と、同一画素列の画素
    であって隣接ブロック内の前記境界線に位置する境界画
    素の値とにのみ基づいて行うようになっていることを特
    徴とする画像処理装置。
  4. 【請求項4】 請求項1乃至3のいずれかにおいて、 前記フィルタ処理は、互いに隣接するブロック間の境界
    線と交差する画素列について、前記境界線を挟んで片側
    の画素の値を前記境界線から近い順にv4、v3、v2
    し、前記境界線を挟んで逆片側の画素の値を前記境界線
    から近い順にv5、v6、v7とした場合に、フィルタ後
    の各画素の値v2'〜v7'を、「v2'=(v2+v5)/2+
    (v2−v5)/4」、「v3'=(v3+v5)/2+(v3−v
    5)/8」、「v4'=(v4+v5)/2」、「v5'=(v5
    4)/2+(v5−v4)/8」、「v 6'=(v6+v4)/2
    +(v6−v4)/4」及び「v7'=v7−(v7−v4)/
    8」のフィルタ演算式により算出するようになっている
    ことを特徴とする画像処理装置。
  5. 【請求項5】 請求項1乃至4のいずれかにおいて、 前記フィルタ処理は、互いに隣接するブロック間の境界
    線と交差する画素列の画素のうち一の画素についてのフ
    ィルタ演算を、当該一の画素から、同一画素列の画素で
    あって隣接ブロック内の前記境界線に位置する境界画素
    までの各画素の相互の差分値がいずれも閾値を超えてい
    ないときに行い、 前記閾値として定数値を用いるようになっていることを
    特徴とする画像処理装置。
  6. 【請求項6】 請求項5において、 前記境界画素と、前記境界画素と隣接する隣接画素との
    差分値を比較するときの閾値を、前記境界画素と、前記
    隣接画素以外の画素との差分値を比較するときの閾値よ
    りも大きく設定したことを特徴とする画像処理装置。
  7. 【請求項7】 請求項5及び6のいずれかにおいて、 前記境界画素と、前記境界画素と隣接する隣接画素との
    差分値を比較するときの閾値を、画素の値の最大値を
    「2n−1」(n≧4)として「2n-3」に相当する値又
    はその近似値に設定し、 前記境界画素と、前記隣接画素以外の画素との差分値を
    比較するときの閾値を、「2n-4」に相当する値又はそ
    の近似値に設定したことを特徴とする画像処理装置。
  8. 【請求項8】 請求項5乃至7のいずれかにおいて、 前記フィルタ処理は、画素について前記フィルタ演算を
    行うか否かの判定を、前記境界画素と隣接する隣接画素
    から順次前記境界線より遠ざかる方向に行い、画素につ
    いて前記フィルタ演算を行わないと判定したときは、当
    該画素及びこれよりも後段の画素については前記フィル
    タ演算を行わないようになっていることを特徴とする画
    像処理装置。
  9. 【請求項9】 請求項1乃至8のいずれかにおいて、 前記展開画像を格納するための画像記憶手段に利用可能
    に接続し、 互いに隣接するブロック間の境界線と交差する画素列の
    画素のうち前記境界線から最も離れた前記ブロック内の
    画素から、同一画素列の画素であって隣接ブロック内の
    前記境界線に位置する境界画素までの全画素データを格
    納するに必要十分な記憶容量を有する作業用記憶手段を
    備え、 前記フィルタ処理は、前記画素列のうち一の画素から前
    記境界画素までの全画素データを、前記画像記憶手段か
    ら前記作業用記憶手段にまとめて読み込み、前記作業用
    記憶手段の画素データに基づいて前記フィルタ演算を行
    うようになっていることを特徴とする画像処理装置。
  10. 【請求項10】 請求項1乃至9のいずれかにおいて、 前記フィルタ処理は、互いに隣接するブロック間の境界
    線と交差する画素列について、前記境界線を挟んで片側
    の画素の値を前記境界線から近い順にv4、v3、v2
    し、前記境界線を挟んで逆片側の画素の値を前記境界線
    から近い順にv5、v6、v7とした場合に、フィルタ後
    の各画素の値v2'〜v4'を、「v2'=(v2+v5)/2+
    (v2−v5)/4」、「v3'=(v3+v5)/2+(v3−v
    5)/8」及び「v4'=(v4+v5)/2」のフィルタ演算
    式により算出し、 フィルタ後の各画素の値v5'〜v7'を、v4〜v7をそれ
    ぞれv5、v4、v3及びv2として前記各フィルタ演算式
    により算出するようになっていることを特徴とする画像
    処理装置。
  11. 【請求項11】 請求項1乃至9のいずれかにおいて、 前記フィルタ処理は、互いに隣接するブロック間の境界
    線と交差する画素列について、前記境界線を挟んで片側
    の画素の値を前記境界線から近い順にv4、v3、v2
    し、前記境界線を挟んで逆片側の画素の値を前記境界線
    から近い順にv5、v6、v7とした場合に、フィルタ後
    の各画素の値v5'〜v7'を、「v5'=(v5+v4)/2+
    (v5−v4)/8」、「v6'=(v6+v4)/2+(v6−v
    4)/4」及び「v7'=v7−(v7−v4)/8」のフィ
    ルタ演算式により算出し、 フィルタ後の各画素の値v2'〜v4'を、v2〜v5をそれ
    ぞれv7、v6、v5及びv4として前記各フィルタ演算式
    により算出するようになっていることを特徴とする画像
    処理装置。
  12. 【請求項12】 請求項1乃至11のいずれかにおい
    て、 前記フィルタ処理は、前記ブロック内の水平方向の画素
    列及び垂直方向の画素列の一方に対して前記フィルタ演
    算を行った後、他方に対して前記フィルタ演算を行うよ
    うになっていることを特徴とする画像処理装置。
  13. 【請求項13】 請求項1乃至12のいずれかにおい
    て、 前記量子化処理は、前記離散コサイン変換処理の結果を
    高周波成分ほど粗く量子化する処理であり、 前記フィルタ処理は、一の画素についてのフィルタ演算
    を、当該演算の対象となる対象画素の値と、前記対象画
    素と隣接する隣接画素の値とに基づいて行い、前記フィ
    ルタ演算では、前記隣接画素のうち一の画素と前記対象
    画素との差分値が閾値を超えているときは、当該一の画
    素の値に代えて前記対象画素の値を用いるようになって
    いることを特徴とする画像処理装置。
  14. 【請求項14】 請求項13において、 前記フィルタ処理は、前記閾値として定数値を用いるよ
    うになっていることを特徴とする画像処理装置。
  15. 【請求項15】 請求項14において、 前記フィルタ処理は、前記閾値を、画素の値の最大値を
    「2n−1」(n≧4)として「2n-4」に相当する値又
    はその近似値に設定したことを特徴とする画像処理装
    置。
  16. 【請求項16】 請求項1乃至15のいずれかにおい
    て、 前記量子化処理は、前記離散コサイン変換処理の結果を
    高周波成分ほど粗く量子化する処理であり、 前記フィルタ処理は、一の画素についてのフィルタ演算
    を、当該演算の対象となる対象画素の値と、前記対象画
    素と隣接する4、2又は1つの隣接画素の値とに基づい
    て行うようになっていることを特徴とする画像処理装
    置。
  17. 【請求項17】 請求項1乃至16のいずれかにおい
    て、 前記量子化処理は、前記離散コサイン変換処理の結果を
    高周波成分ほど粗く量子化する処理であり、 前記フィルタ処理は、一の画素についてのフィルタ演算
    を、当該演算の対象となる対象画素の値を所定値で除算
    し、前記対象画素と隣接する隣接画素の値を前記所定値
    で除算し、それら除算結果を加算することにより行うよ
    うになっていることを特徴とする画像処理装置。
  18. 【請求項18】 離散コサイン変換処理及び量子化処理
    を所定のブロック単位で行う画像圧縮処理により圧縮さ
    れた圧縮画像データに基づいて前記ブロック単位で画像
    を展開する際又は展開した後に、展開画像に対してフィ
    ルタ処理を行う装置であって、 前記フィルタ処理は、互いに隣接するブロック間の境界
    線と交差する画素列の画素のうち一の画素についてのフ
    ィルタ演算を、当該一の画素から、同一画素列の画素で
    あって隣接ブロック内の前記境界線に位置する境界画素
    までの各画素の相互の差分値がいずれも閾値を超えてい
    ないときに行い、 前記閾値として定数値を用いるようになっていることを
    特徴とする画像処理装置。
  19. 【請求項19】 離散コサイン変換処理及び量子化処理
    を所定のブロック単位で行う画像圧縮処理により圧縮さ
    れた圧縮画像データに基づいて前記ブロック単位で画像
    を展開する際又は展開した後に、展開画像に対してフィ
    ルタ処理を行う装置であって、 前記展開画像を格納するための画像記憶手段に利用可能
    に接続し、 互いに隣接するブロック間の境界線と交差する画素列の
    画素のうち前記境界線から最も離れた前記ブロック内の
    画素から、同一画素列の画素であって隣接ブロック内の
    前記境界線に位置する境界画素までの全画素データを格
    納するに必要十分な記憶容量を有する作業用記憶手段を
    備え、 前記フィルタ処理は、前記画素列のうち一の画素から前
    記境界画素までの全画素データを、前記画像記憶手段か
    ら前記作業用記憶手段にまとめて読み込み、前記作業用
    記憶手段の画素データに基づいて前記フィルタ演算を行
    うようになっていることを特徴とする画像処理装置。
  20. 【請求項20】 離散コサイン変換処理及び量子化処理
    を所定のブロック単位で行う画像圧縮処理により圧縮さ
    れた圧縮画像データに基づいて前記ブロック単位で画像
    を展開する際又は展開した後に、展開画像に対してフィ
    ルタ処理を行う装置であって、 前記フィルタ処理は、互いに隣接するブロック間の境界
    線と交差する画素列について、前記境界線を挟んで片側
    の画素の値を前記境界線から近い順にv4、v3、v2
    し、前記境界線を挟んで逆片側の画素の値を前記境界線
    から近い順にv5、v6、v7とした場合に、フィルタ後
    の各画素の値v2'〜v4'を、「v2'=(v2+v5)/2+
    (v2−v5)/4」、「v3'=(v3+v5)/2+(v3−v
    5)/8」及び「v4'=(v4+v5)/2」のフィルタ演算
    式により算出し、 フィルタ後の各画素の値v5'〜v7'を、v4〜v7をそれ
    ぞれv5、v4、v3及びv2として前記各フィルタ演算式
    により算出するようになっていることを特徴とする画像
    処理装置。
  21. 【請求項21】 離散コサイン変換処理及び量子化処理
    を所定のブロック単位で行う画像圧縮処理により圧縮さ
    れた圧縮画像データに基づいて前記ブロック単位で画像
    を展開する際又は展開した後に、展開画像に対してフィ
    ルタ処理を行う装置であって、 前記フィルタ処理は、互いに隣接するブロック間の境界
    線と交差する画素列について、前記境界線を挟んで片側
    の画素の値を前記境界線から近い順にv4、v3、v2
    し、前記境界線を挟んで逆片側の画素の値を前記境界線
    から近い順にv5、v6、v7とした場合に、フィルタ後
    の各画素の値v5'〜v7'を、「v5'=(v5+v4)/2+
    (v5−v4)/8」、「v6'=(v6+v4)/2+(v6−v
    4)/4」及び「v7'=v7−(v7−v4)/8」のフィ
    ルタ演算式により算出し、 フィルタ後の各画素の値v2'〜v4'を、v2〜v5をそれ
    ぞれv7、v6、v5及びv4として前記各フィルタ演算式
    により算出するようになっていることを特徴とする画像
    処理装置。
  22. 【請求項22】 離散コサイン変換処理及び前記離散コ
    サイン変換処理の結果を高周波成分ほど粗く量子化する
    量子化処理を行う画像圧縮処理により圧縮された圧縮画
    像データに基づいて画像を展開する際又は展開した後
    に、展開画像に対してフィルタ処理を行う装置であっ
    て、 前記フィルタ処理は、一の画素についてのフィルタ演算
    を、当該演算の対象となる対象画素の値と、前記対象画
    素と隣接する隣接画素の値とに基づいて行い、前記フィ
    ルタ演算では、前記隣接画素のうち一の画素と前記対象
    画素との差分値が閾値を超えているときは、当該一の画
    素の値に代えて前記対象画素の値を用いるようになって
    いることを特徴とする画像処理装置。
  23. 【請求項23】 離散コサイン変換処理及び前記離散コ
    サイン変換処理の結果を高周波成分ほど粗く量子化する
    量子化処理を行う画像圧縮処理により圧縮された圧縮画
    像データに基づいて画像を展開する際又は展開した後
    に、展開画像に対してフィルタ処理を行う装置であっ
    て、 前記フィルタ処理は、一の画素についてのフィルタ演算
    を、当該演算の対象となる対象画素の値と、前記対象画
    素と隣接する4、2又は1つの隣接画素の値とに基づい
    て行うようになっていることを特徴とする画像処理装
    置。
  24. 【請求項24】 離散コサイン変換処理及び前記離散コ
    サイン変換処理の結果を高周波成分ほど粗く量子化する
    量子化処理を行う画像圧縮処理により圧縮された圧縮画
    像データに基づいて画像を展開する際又は展開した後
    に、展開画像に対してフィルタ処理を行う装置であっ
    て、 前記フィルタ処理は、一の画素についてのフィルタ演算
    を、当該演算の対象となる対象画素の値を所定値で除算
    し、前記対象画素と隣接する隣接画素の値を前記所定値
    で除算し、それら除算結果を加算することにより行うよ
    うになっていることを特徴とする画像処理装置。
  25. 【請求項25】 離散コサイン変換処理及び量子化処理
    を所定のブロック単位で行う画像圧縮処理により圧縮さ
    れた圧縮画像データに基づいて前記ブロック単位で画像
    を展開する際又は展開した後に、展開画像に対して行う
    フィルタ処理をコンピュータに実行させるためのプログ
    ラムであって、 前記フィルタ処理は、前記ブロック内の一の画素につい
    てのフィルタ演算を、当該一の画素の値と、隣接ブロッ
    ク内のいずれかの画素の値とにのみ基づいて行うように
    なっていることを特徴とする画像処理プログラム。
  26. 【請求項26】 離散コサイン変換処理及び量子化処理
    を所定のブロック単位で行う画像圧縮処理により圧縮さ
    れた圧縮画像データに基づいて前記ブロック単位で画像
    を展開する際又は展開した後に、展開画像に対して行う
    フィルタ処理をコンピュータに実行させるためのプログ
    ラムであって、 前記フィルタ処理は、互いに隣接するブロック間の境界
    線と交差する画素列の画素のうち一の画素についてのフ
    ィルタ演算を、当該一の画素から、同一画素列の画素で
    あって隣接ブロック内の前記境界線に位置する境界画素
    までの各画素の相互の差分値がいずれも閾値を超えてい
    ないときに行い、 前記閾値として定数値を用いるようになっていることを
    特徴とする画像処理プログラム。
  27. 【請求項27】 離散コサイン変換処理及び量子化処理
    を所定のブロック単位で行う画像圧縮処理により圧縮さ
    れた圧縮画像データに基づいて前記ブロック単位で画像
    を展開する際又は展開した後に、展開画像に対して行う
    フィルタ処理をコンピュータに実行させるためのプログ
    ラムであって、 前記コンピュータは、前記展開画像を格納するための画
    像記憶手段に利用可能に接続し、互いに隣接するブロッ
    ク間の境界線と交差する画素列の画素のうち前記境界線
    から最も離れた前記ブロック内の画素から、同一画素列
    の画素であって隣接ブロック内の前記境界線に位置する
    境界画素までの全画素データを格納するに必要十分な記
    憶容量を有する作業用記憶手段を備え、 前記フィルタ処理は、前記画素列のうち一の画素から前
    記境界画素までの全画素データを、前記画像記憶手段か
    ら前記作業用記憶手段にまとめて読み込み、前記作業用
    記憶手段の画素データに基づいて前記フィルタ演算を行
    うようになっていることを特徴とする画像処理プログラ
    ム。
  28. 【請求項28】 離散コサイン変換処理及び量子化処理
    を所定のブロック単位で行う画像圧縮処理により圧縮さ
    れた圧縮画像データに基づいて前記ブロック単位で画像
    を展開する際又は展開した後に、展開画像に対して行う
    フィルタ処理をコンピュータに実行させるためのプログ
    ラムであって、 前記フィルタ処理は、互いに隣接するブロック間の境界
    線と交差する画素列について、前記境界線を挟んで片側
    の画素の値を前記境界線から近い順にv4、v3、v2
    し、前記境界線を挟んで逆片側の画素の値を前記境界線
    から近い順にv5、v6、v7とした場合に、フィルタ後
    の各画素の値v2'〜v4'を、「v2'=(v2+v5)/2+
    (v2−v5)/4」、「v3'=(v3+v5)/2+(v3−v
    5)/8」及び「v4'=(v4+v5)/2」のフィルタ演算
    式により算出し、 フィルタ後の各画素の値v5'〜v7'を、v4〜v7をそれ
    ぞれv5、v4、v3及びv2として前記各フィルタ演算式
    により算出するようになっていることを特徴とする画像
    処理プログラム。
  29. 【請求項29】 離散コサイン変換処理及び量子化処理
    を所定のブロック単位で行う画像圧縮処理により圧縮さ
    れた圧縮画像データに基づいて前記ブロック単位で画像
    を展開する際又は展開した後に、展開画像に対して行う
    フィルタ処理をコンピュータに実行させるためのプログ
    ラムであって、 前記フィルタ処理は、互いに隣接するブロック間の境界
    線と交差する画素列について、前記境界線を挟んで片側
    の画素の値を前記境界線から近い順にv4、v3、v2
    し、前記境界線を挟んで逆片側の画素の値を前記境界線
    から近い順にv5、v6、v7とした場合に、フィルタ後
    の各画素の値v5'〜v7'を、「v5'=(v5+v4)/2+
    (v5−v4)/8」、「v6'=(v6+v4)/2+(v6−v
    4)/4」及び「v7'=v7−(v7−v4)/8」のフィ
    ルタ演算式により算出し、 フィルタ後の各画素の値v2'〜v4'を、v2〜v5をそれ
    ぞれv7、v6、v5及びv4として前記各フィルタ演算式
    により算出するようになっていることを特徴とする画像
    処理プログラム。
  30. 【請求項30】 離散コサイン変換処理及び前記離散コ
    サイン変換処理の結果を高周波成分ほど粗く量子化する
    量子化処理を行う画像圧縮処理により圧縮された圧縮画
    像データに基づいて画像を展開する際又は展開した後
    に、展開画像に対して行うフィルタ処理をコンピュータ
    に実行させるためのプログラムであって、 前記フィルタ処理は、一の画素についてのフィルタ演算
    を、当該演算の対象となる対象画素の値と、前記対象画
    素と隣接する隣接画素の値とに基づいて行い、前記フィ
    ルタ演算では、前記隣接画素のうち一の画素と前記対象
    画素との差分値が閾値を超えているときは、当該一の画
    素の値に代えて前記対象画素の値を用いるようになって
    いることを特徴とする画像処理プログラム。
  31. 【請求項31】 離散コサイン変換処理及び前記離散コ
    サイン変換処理の結果を高周波成分ほど粗く量子化する
    量子化処理を行う画像圧縮処理により圧縮された圧縮画
    像データに基づいて画像を展開する際又は展開した後
    に、展開画像に対して行うフィルタ処理をコンピュータ
    に実行させるためのプログラムであって、 前記フィルタ処理は、一の画素についてのフィルタ演算
    を、当該演算の対象となる対象画素の値と、前記対象画
    素と隣接する4、2又は1つの隣接画素の値とに基づい
    て行うようになっていることを特徴とする画像処理プロ
    グラム。
  32. 【請求項32】 離散コサイン変換処理及び前記離散コ
    サイン変換処理の結果を高周波成分ほど粗く量子化する
    量子化処理を行う画像圧縮処理により圧縮された圧縮画
    像データに基づいて画像を展開する際又は展開した後
    に、展開画像に対して行うフィルタ処理をコンピュータ
    に実行させるためのプログラムであって、 前記フィルタ処理は、一の画素についてのフィルタ演算
    を、当該演算の対象となる対象画素の値を所定値で除算
    し、前記対象画素と隣接する隣接画素の値を前記所定値
    で除算し、それら除算結果を加算することにより行うよ
    うになっていることを特徴とする画像処理プログラム。
  33. 【請求項33】 離散コサイン変換処理及び量子化処理
    を所定のブロック単位で行う画像圧縮処理により圧縮さ
    れた圧縮画像データに基づいて前記ブロック単位で画像
    を展開する際又は展開した後に、展開画像に対してフィ
    ルタ処理を行う方法であって、 前記フィルタ処理は、前記ブロック内の一の画素につい
    てのフィルタ演算を、当該一の画素の値と、隣接ブロッ
    ク内のいずれかの画素の値とにのみ基づいて行うことを
    特徴とする画像処理方法。
  34. 【請求項34】 離散コサイン変換処理及び量子化処理
    を所定のブロック単位で行う画像圧縮処理により圧縮さ
    れた圧縮画像データに基づいて前記ブロック単位で画像
    を展開する際又は展開した後に、展開画像に対してフィ
    ルタ処理を行う方法であって、 前記フィルタ処理は、互いに隣接するブロック間の境界
    線と交差する画素列の画素のうち一の画素についてのフ
    ィルタ演算を、当該一の画素から、同一画素列の画素で
    あって隣接ブロック内の前記境界線に位置する境界画素
    までの各画素の相互の差分値がいずれも閾値を超えてい
    ないときに行い、 前記閾値として定数値を用いることを特徴とする画像処
    理方法。
  35. 【請求項35】 離散コサイン変換処理及び量子化処理
    を所定のブロック単位で行う画像圧縮処理により圧縮さ
    れた圧縮画像データに基づいて前記ブロック単位で画像
    を展開する際又は展開した後に、展開画像に対してフィ
    ルタ処理を行う方法であって、 前記展開画像を格納するための画像記憶手段に利用可能
    に接続し、 前記フィルタ処理は、互いに隣接するブロック間の境界
    線と交差する画素列の画素のうち前記境界線から最も離
    れた前記ブロック内の画素から、同一画素列の画素であ
    って隣接ブロック内の前記境界線に位置する境界画素ま
    での全画素データを格納するに必要十分な記憶容量を有
    する作業用記憶手段に、前記画素列のうち一の画素から
    前記境界画素までの全画素データを前記画像記憶手段か
    らまとめて読み込み、前記作業用記憶手段の画素データ
    に基づいて前記フィルタ演算を行うことを特徴とする画
    像処理方法。
  36. 【請求項36】 離散コサイン変換処理及び量子化処理
    を所定のブロック単位で行う画像圧縮処理により圧縮さ
    れた圧縮画像データに基づいて前記ブロック単位で画像
    を展開する際又は展開した後に、展開画像に対してフィ
    ルタ処理を行う方法であって、 前記フィルタ処理は、互いに隣接するブロック間の境界
    線と交差する画素列について、前記境界線を挟んで片側
    の画素の値を前記境界線から近い順にv4、v3、v2
    し、前記境界線を挟んで逆片側の画素の値を前記境界線
    から近い順にv5、v6、v7とした場合に、フィルタ後
    の各画素の値v2'〜v4'を、「v2'=(v2+v5)/2+
    (v2−v5)/4」、「v3'=(v3+v5)/2+(v3−v
    5)/8」及び「v4'=(v4+v5)/2」のフィルタ演算
    式により算出し、 フィルタ後の各画素の値v5'〜v7'を、v4〜v7をそれ
    ぞれv5、v4、v3及びv2として前記各フィルタ演算式
    により算出することを特徴とする画像処理方法。
  37. 【請求項37】 離散コサイン変換処理及び量子化処理
    を所定のブロック単位で行う画像圧縮処理により圧縮さ
    れた圧縮画像データに基づいて前記ブロック単位で画像
    を展開する際又は展開した後に、展開画像に対してフィ
    ルタ処理を行う方法であって、 前記フィルタ処理は、互いに隣接するブロック間の境界
    線と交差する画素列について、前記境界線を挟んで片側
    の画素の値を前記境界線から近い順にv4、v3、v2
    し、前記境界線を挟んで逆片側の画素の値を前記境界線
    から近い順にv5、v6、v7とした場合に、フィルタ後
    の各画素の値v5'〜v7'を、「v5'=(v5+v4)/2+
    (v5−v4)/8」、「v6'=(v6+v4)/2+(v6−v
    4)/4」及び「v7'=v7−(v7−v4)/8」のフィ
    ルタ演算式により算出し、 フィルタ後の各画素の値v2'〜v4'を、v2〜v5をそれ
    ぞれv7、v6、v5及びv4として前記各フィルタ演算式
    により算出することを特徴とする画像処理方法。
  38. 【請求項38】 離散コサイン変換処理及び前記離散コ
    サイン変換処理の結果を高周波成分ほど粗く量子化する
    量子化処理を行う画像圧縮処理により圧縮された圧縮画
    像データに基づいて画像を展開する際又は展開した後
    に、展開画像に対してフィルタ処理を行う方法であっ
    て、 前記フィルタ処理は、一の画素についてのフィルタ演算
    を、当該演算の対象となる対象画素の値と、前記対象画
    素と隣接する隣接画素の値とに基づいて行い、前記フィ
    ルタ演算では、前記隣接画素のうち一の画素と前記対象
    画素との差分値が閾値を超えているときは、当該一の画
    素の値に代えて前記対象画素の値を用いることを特徴と
    する画像処理方法。
  39. 【請求項39】 離散コサイン変換処理及び前記離散コ
    サイン変換処理の結果を高周波成分ほど粗く量子化する
    量子化処理を行う画像圧縮処理により圧縮された圧縮画
    像データに基づいて画像を展開する際又は展開した後
    に、展開画像に対してフィルタ処理を行う方法であっ
    て、 前記フィルタ処理は、一の画素についてのフィルタ演算
    を、当該演算の対象となる対象画素の値と、前記対象画
    素と隣接する4、2又は1つの隣接画素の値とに基づい
    て行うことを特徴とする画像処理方法。
  40. 【請求項40】 離散コサイン変換処理及び前記離散コ
    サイン変換処理の結果を高周波成分ほど粗く量子化する
    量子化処理を行う画像圧縮処理により圧縮された圧縮画
    像データに基づいて画像を展開する際又は展開した後
    に、展開画像に対してフィルタ処理を行う方法であっ
    て、 前記フィルタ処理は、一の画素についてのフィルタ演算
    を、当該演算の対象となる対象画素の値を所定値で除算
    し、前記対象画素と隣接する隣接画素の値を前記所定値
    で除算し、それら除算結果を加算することにより行うこ
    とを特徴とする画像処理方法。
JP2002200577A 2001-07-24 2002-07-09 画像処理装置及び画像処理プログラム、並びに画像処理方法 Expired - Fee Related JP4145586B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2002200577A JP4145586B2 (ja) 2001-07-24 2002-07-09 画像処理装置及び画像処理プログラム、並びに画像処理方法
US10/193,306 US7215823B2 (en) 2001-07-24 2002-07-12 Deblocking and deringing apparatus, program and method
DE2002615427 DE60215427T2 (de) 2001-07-24 2002-07-18 Bildverarbeitungsprozessor, Bildverarbeitungsprogramm und Bildverarbeitungsverfahren
AT02015690T ATE343301T1 (de) 2001-07-24 2002-07-18 Bildverarbeitungsprozessor, bildverarbeitungsprogram und bildverarbeitungsverfahren
EP20020015690 EP1283640B1 (en) 2001-07-24 2002-07-18 Image processor and image processing program, and image processing method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2001-223612 2001-07-24
JP2001223612 2001-07-24
JP2002200577A JP4145586B2 (ja) 2001-07-24 2002-07-09 画像処理装置及び画像処理プログラム、並びに画像処理方法

Publications (3)

Publication Number Publication Date
JP2003116134A true JP2003116134A (ja) 2003-04-18
JP2003116134A5 JP2003116134A5 (ja) 2005-10-20
JP4145586B2 JP4145586B2 (ja) 2008-09-03

Family

ID=26619194

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002200577A Expired - Fee Related JP4145586B2 (ja) 2001-07-24 2002-07-09 画像処理装置及び画像処理プログラム、並びに画像処理方法

Country Status (5)

Country Link
US (1) US7215823B2 (ja)
EP (1) EP1283640B1 (ja)
JP (1) JP4145586B2 (ja)
AT (1) ATE343301T1 (ja)
DE (1) DE60215427T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100361158C (zh) * 2003-07-16 2008-01-09 矽统科技股份有限公司 数字图像数据处理方法

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100308016B1 (ko) * 1998-08-31 2001-10-19 구자홍 압축 부호화된 영상에 나타나는 블럭현상 및 링현상 제거방법및 영상 복호화기
WO2003021936A2 (en) * 2001-09-05 2003-03-13 Emblaze Semi Conductor Ltd Method for reducing blocking artifacts
JP3947969B2 (ja) * 2002-05-15 2007-07-25 ソニー株式会社 画像処理装置、および画像処理方法、記録媒体、並びにプログラム
US7203378B2 (en) * 2002-09-27 2007-04-10 Chui-Kuei Chiu Accelerative noise filtering method for image data
US7792194B2 (en) * 2003-04-10 2010-09-07 Lefan Zhong MPEG artifacts post-processed filtering architecture
US9330060B1 (en) 2003-04-15 2016-05-03 Nvidia Corporation Method and device for encoding and decoding video image data
US7362810B2 (en) * 2003-05-13 2008-04-22 Sigmatel, Inc. Post-filter for deblocking and deringing of video data
US8660182B2 (en) 2003-06-09 2014-02-25 Nvidia Corporation MPEG motion estimation based on dual start points
US20050013494A1 (en) * 2003-07-18 2005-01-20 Microsoft Corporation In-loop deblocking filter
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US7277592B1 (en) * 2003-10-21 2007-10-02 Redrock Semiconductory Ltd. Spacial deblocking method using limited edge differences only to linearly correct blocking artifact
US8472792B2 (en) 2003-12-08 2013-06-25 Divx, Llc Multimedia distribution system
US7519274B2 (en) 2003-12-08 2009-04-14 Divx, Inc. File format for multiple track digital data
US7636490B2 (en) * 2004-08-09 2009-12-22 Broadcom Corporation Deblocking filter process with local buffers
US7697782B2 (en) 2004-09-16 2010-04-13 Sharp Laboratories Of America, Inc. System for reducing ringing artifacts
US8537903B2 (en) * 2005-09-23 2013-09-17 Entropic Communications, Inc. De-blocking and de-ringing systems and methods
WO2007049150A2 (en) * 2005-09-28 2007-05-03 Arc International (Uk) Limited Architecture for microprocessor-based systems including simd processing unit and associated systems and methods
WO2007060498A1 (en) * 2005-11-22 2007-05-31 Freescale Semiconductor, Inc. Method and system for filtering image data
US8731071B1 (en) 2005-12-15 2014-05-20 Nvidia Corporation System for performing finite input response (FIR) filtering in motion estimation
US7515710B2 (en) 2006-03-14 2009-04-07 Divx, Inc. Federated digital rights management scheme including trusted systems
US8724702B1 (en) 2006-03-29 2014-05-13 Nvidia Corporation Methods and systems for motion estimation used in video coding
US20080018624A1 (en) * 2006-07-07 2008-01-24 Honeywell International, Inc. Display for displaying compressed video based on sub-division area
US7920086B2 (en) * 2006-07-07 2011-04-05 Honeywell International Inc. Display for displaying compressed video
US8660380B2 (en) 2006-08-25 2014-02-25 Nvidia Corporation Method and system for performing two-dimensional transform on data value array with reduced power consumption
WO2008042029A2 (en) * 2006-09-29 2008-04-10 Thomson Licensing Automatic parameter estimation for adaptive pixel-based filtering
US20080084932A1 (en) * 2006-10-06 2008-04-10 Microsoft Corporation Controlling loop filtering for interlaced video frames
ES2935410T3 (es) 2007-01-05 2023-03-06 Divx Llc Sistema de distribución de vídeo que incluye reproducción progresiva
US8756482B2 (en) 2007-05-25 2014-06-17 Nvidia Corporation Efficient encoding/decoding of a sequence of data frames
US9118927B2 (en) 2007-06-13 2015-08-25 Nvidia Corporation Sub-pixel interpolation and its application in motion compensated encoding of a video signal
US8873625B2 (en) 2007-07-18 2014-10-28 Nvidia Corporation Enhanced compression in representing non-frame-edge blocks of image frames
EP2223232A4 (en) 2007-11-16 2015-02-25 Sonic Ip Inc Hierarchical and reduced index structures for multimedia files
US8280180B2 (en) * 2007-12-04 2012-10-02 Hewlett-Packard Development Company, L.P. Method and system for image restoration in the spatial domain
WO2009123033A1 (ja) * 2008-03-31 2009-10-08 日本電気株式会社 デブロッキングフィルタ処理装置、デブロッキングフィルタ処理方法
EP2327219B1 (en) * 2008-09-09 2016-11-09 Marvell World Trade Ltd. Reducing digital image noise
US8666181B2 (en) 2008-12-10 2014-03-04 Nvidia Corporation Adaptive multiple engine image motion detection system and method
US8306355B2 (en) * 2009-07-13 2012-11-06 Sharp Laboratories Of America, Inc. Methods and systems for reducing compression artifacts
US8781122B2 (en) 2009-12-04 2014-07-15 Sonic Ip, Inc. Elementary bitstream cryptographic material transport systems and methods
CN103026708B (zh) 2010-07-28 2018-01-26 马维尔国际有限公司 数字视频信号中的块压缩赝像检测
US8787443B2 (en) 2010-10-05 2014-07-22 Microsoft Corporation Content adaptive deblocking during video encoding and decoding
US9247312B2 (en) 2011-01-05 2016-01-26 Sonic Ip, Inc. Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol
US9042458B2 (en) 2011-04-01 2015-05-26 Microsoft Technology Licensing, Llc Multi-threaded implementations of deblock filtering
US8812662B2 (en) 2011-06-29 2014-08-19 Sonic Ip, Inc. Systems and methods for estimating available bandwidth and performing initial stream selection when streaming content
KR102074148B1 (ko) 2011-08-30 2020-03-17 엔엘디 엘엘씨 복수의 최대 비트레이트 레벨들을 사용하여 인코딩된 비디오를 인코딩하고 스트리밍하기 위한 시스템들 및 방법들
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8799647B2 (en) 2011-08-31 2014-08-05 Sonic Ip, Inc. Systems and methods for application identification
US8806188B2 (en) 2011-08-31 2014-08-12 Sonic Ip, Inc. Systems and methods for performing adaptive bitrate streaming using automatically generated top level index files
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
US8964977B2 (en) 2011-09-01 2015-02-24 Sonic Ip, Inc. Systems and methods for saving encoded media streamed using adaptive bitrate streaming
US9104941B1 (en) * 2011-12-02 2015-08-11 Marvell International Ltd. Method and apparatus for reducing noise in a scanned image while minimizing loss of detail in the scanned image
US20130179199A1 (en) 2012-01-06 2013-07-11 Rovi Corp. Systems and methods for granting access to digital content using electronic tickets and ticket tokens
US9936267B2 (en) 2012-08-31 2018-04-03 Divx Cf Holdings Llc System and method for decreasing an initial buffering period of an adaptive streaming system
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US20140192266A1 (en) * 2013-01-04 2014-07-10 Qualcomm Incorporated Method and apparatus of reducing compression noise in digital video streams
US10397292B2 (en) 2013-03-15 2019-08-27 Divx, Llc Systems, methods, and media for delivery of content
US9906785B2 (en) 2013-03-15 2018-02-27 Sonic Ip, Inc. Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata
US9094737B2 (en) 2013-05-30 2015-07-28 Sonic Ip, Inc. Network video streaming with trick play based on separate trick play files
US9100687B2 (en) 2013-05-31 2015-08-04 Sonic Ip, Inc. Playback synchronization across playback devices
US9380099B2 (en) 2013-05-31 2016-06-28 Sonic Ip, Inc. Synchronizing multiple over the top streaming clients
US9386067B2 (en) 2013-12-30 2016-07-05 Sonic Ip, Inc. Systems and methods for playing adaptive bitrate streaming content by multicast
US9866878B2 (en) 2014-04-05 2018-01-09 Sonic Ip, Inc. Systems and methods for encoding and playing back video at different frame rates using enhancement layers
EP3134995B1 (en) 2014-08-07 2021-12-22 DivX, LLC Systems and methods for protecting elementary bitstreams incorporating independently encoded tiles
CN113259731B (zh) 2015-01-06 2023-07-04 帝威视有限公司 用于编码内容和在设备之间共享内容的系统和方法
CN107251008B (zh) 2015-02-27 2020-11-13 帝威视有限公司 在实况视频编码和流传输中进行帧复制和帧扩展的系统和方法
US10091533B2 (en) 2016-02-18 2018-10-02 Cisco Technology, Inc. Generalized filter for removing video compression artifacts
US10075292B2 (en) 2016-03-30 2018-09-11 Divx, Llc Systems and methods for quick start-up of playback
US10129574B2 (en) 2016-05-24 2018-11-13 Divx, Llc Systems and methods for providing variable speeds in a trick-play mode
US10231001B2 (en) 2016-05-24 2019-03-12 Divx, Llc Systems and methods for providing audio content during trick-play playback
US10148989B2 (en) 2016-06-15 2018-12-04 Divx, Llc Systems and methods for encoding video content
US10498795B2 (en) 2017-02-17 2019-12-03 Divx, Llc Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming
US10887622B2 (en) * 2017-07-05 2021-01-05 Qualcomm Incorporated Division-free bilateral filter
CN117640949A (zh) 2018-05-23 2024-03-01 松下电器(美国)知识产权公司 解码装置和编码装置
BR112021018802A2 (pt) 2019-03-21 2021-11-23 Divx Llc Sistemas e métodos para enxames de multimídia

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0714211B2 (ja) 1989-07-14 1995-02-15 国際電信電話株式会社 動画像符号化のブロック歪除去方法および装置
US5229864A (en) * 1990-04-16 1993-07-20 Fuji Photo Film Co., Ltd. Device for regenerating a picture signal by decoding
US5852475A (en) * 1995-06-06 1998-12-22 Compression Labs, Inc. Transform artifact reduction process
US6188799B1 (en) * 1997-02-07 2001-02-13 Matsushita Electric Industrial Co., Ltd. Method and apparatus for removing noise in still and moving pictures
JP3095140B2 (ja) * 1997-03-10 2000-10-03 三星電子株式会社 ブロック化効果の低減のための一次元信号適応フィルター及びフィルタリング方法
KR100244290B1 (ko) 1997-09-09 2000-02-01 구자홍 저속 전송에서의 동영상을 위한 디블록킹 필터링 방법
US6519760B2 (en) * 2001-02-28 2003-02-11 Asml Masktools, B.V. Method and apparatus for minimizing optical proximity effects
US6621727B2 (en) * 2002-01-04 2003-09-16 Kuo-Tso Chen Three-transistor SRAM device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100361158C (zh) * 2003-07-16 2008-01-09 矽统科技股份有限公司 数字图像数据处理方法

Also Published As

Publication number Publication date
DE60215427D1 (de) 2006-11-30
JP4145586B2 (ja) 2008-09-03
EP1283640A3 (en) 2003-09-03
ATE343301T1 (de) 2006-11-15
EP1283640B1 (en) 2006-10-18
DE60215427T2 (de) 2007-03-15
EP1283640A2 (en) 2003-02-12
US20030021489A1 (en) 2003-01-30
US7215823B2 (en) 2007-05-08

Similar Documents

Publication Publication Date Title
JP2003116134A (ja) 画像処理装置及び画像処理プログラム、並びに画像処理方法
JP2003333597A (ja) 画像処理装置及び画像処理プログラム、並びに画像処理方法
KR100594073B1 (ko) 내장형 시스템의 디지털 영상 스케일링방법
KR100229516B1 (ko) 해상도변환장치 및 해상도변환방법
EP2800369B1 (en) Moving image compressing apparatus, image processing apparatus, moving image compressing method, image processing method, and data structure of moving image compressed file
CN101854540B (zh) 用于应用h.264视频编码标准的帧内预测方法及装置
US20020167523A1 (en) Pixel engine
JPH05207517A (ja) 多ビットディジタルピクセルデータの圧縮拡張方法及び装置
JP5826730B2 (ja) 動画圧縮装置、画像処理装置、動画圧縮方法、画像処理方法、および動画圧縮ファイルのデータ構造
EP0957638A1 (en) Image processor, image data processor and variable length encoder/decoder
US20080001975A1 (en) Image processing apparatus and image processing method
JP4101034B2 (ja) 符号化装置及び方法
CN1809840B (zh) 创建采样图案的方法和设备
WO2007087642A2 (en) Method and apparatus for scaling down a bayer domain image
JP2008129208A (ja) 画像処理装置、液晶表示装置および画像処理方法
US8457445B2 (en) Image-scaling-down method and image processing apparatus
CN101345872A (zh) 视频编解码中实现双线性插值的方法
JP2009077183A (ja) データ圧縮装置、データ圧縮・伸張システム、およびデータ圧縮方法
JP4109151B2 (ja) 画像処理装置
JP3715273B2 (ja) 画像データの平滑化処理装置、平滑化処理方法及び平滑化処理プログラム
JP2772412B2 (ja) 画素マトリックスフィルタおよび画素マトリックスを処理する方法
JP3971930B2 (ja) 動画像符号化方法と装置、並びにこの方法の実行プログラムとこの方法の実行プログラムを記録した記録媒体
JP3582540B2 (ja) 解像度変換装置および解像度変換方法
JPH1021386A (ja) 画像処理装置
TWI755066B (zh) 顯示器之過驅動補償方法及利用其之顯示裝置和手持裝置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050617

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050617

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070620

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070821

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071018

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: 20080520

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: 20080618

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110627

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110627

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120627

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130627

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees