JP2002074357A - 画像処理装置及び方法 - Google Patents

画像処理装置及び方法

Info

Publication number
JP2002074357A
JP2002074357A JP2000254516A JP2000254516A JP2002074357A JP 2002074357 A JP2002074357 A JP 2002074357A JP 2000254516 A JP2000254516 A JP 2000254516A JP 2000254516 A JP2000254516 A JP 2000254516A JP 2002074357 A JP2002074357 A JP 2002074357A
Authority
JP
Japan
Prior art keywords
padding
processing
shape information
circuit
row
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
Application number
JP2000254516A
Other languages
English (en)
Inventor
Tadayoshi Nakayama
忠義 中山
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2000254516A priority Critical patent/JP2002074357A/ja
Publication of JP2002074357A publication Critical patent/JP2002074357A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Processing (AREA)

Abstract

(57)【要約】 【課題】 無駄な水平パディング処理を省略する。 【解決手段】 入力端子24には、次のブロックの2値
形状情報が行単位でパラレルに入力し、その形状情報の
論理和演算結果が中間形状情報としてレジスタ28に格
納される。行番号生成回路32は、レジスタ30の中間
形状情報に基づき、パディング処理すべき行番号を生成
する。生成された行番号は、アドレス生成回路12と、
遅延回路34を介してアドレス生成回路18に印加され
る。アドレス生成回路12は、行番号生成回路32から
出力される行番号の行データをバッファメモリ10から
水平パディング処理回路14に読み出す。水平パディン
グ処理回路14は水平方向に画素値を補充し、その結果
である中間画素データを中間データ格納メモリ16に印
加する。1つのブロックの水平パディング処理が終了す
ると、アドレス生成回路18は、メモリ16から垂直方
向の画素データ列を順次、垂直パディング処理回路20
に読み出し、回路20は、入力する画素データに対して
垂直方向に画素値を補充する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、画像処理装置及び
方法に関する。
【0002】
【従来の技術】画像、特に動画像は、非常にデータ量が
多く、従って、その画像を蓄積伝送するには、データ量
を大幅に削減する圧縮処理が不可欠である。動画像を圧
縮符号化する方法として、既にMPEG−1及びMPE
G−2などの国際標準が定められているが、これらはテ
レビカメラ等で撮影した矩形領域の画像のみを対象とし
ている。
【0003】画像には様々なものがあるが、背景と背景
の手前に位置する主被写体(オブジェクト)とに区別で
きる画像も数多く存在する。一般的に、背景となる画像
は激しい動きを伴わず、カメラの動きに合わせて全体が
移動したり、背景中の様々なものがそれぞれ細かい動き
を示したりする。それに対し、主被写体は時に激しい動
きを伴う。このように、主被写体と背景は、異なる性質
を有する。
【0004】MPEG−1及びMPEG−2に続いて標
準化が進められているMPEG−4では、1つの画面を
主被写体と背景というように複数のオブジェクトからな
るものとして扱い、オブジェクト単位で圧縮符号化す
る。この方式では、有用なオブジェクトを他で再利用す
ることも可能になる。従って、動画コンテンツの生産性
を高めたり、画像を見る側で特定のオブジェクトを操作
することも可能になり、観察者が画像に対して能動的な
関係を築くことができ、新しい表現が可能になる。
【0005】オブジェクトの形状は一般的に任意である
ので、従来のMPEG−1及びMPEG−2で使用され
る圧縮手法をそのまま適用することはできない。MPE
G−4では、任意形状のオブジェクトの周囲にオブジェ
クトと相関のあるデータを補充することにより、オブジ
ェクトを矩形の画像に変換し、それから圧縮処理を行な
うようにしている。
【0006】動画圧縮では更に、フレーム間の相関を利
用してデータ量を削減する。例えば、他のフレームにお
ける相関の強い領域を参照し、現フレームとの差分値を
符号化する。オブジェクトが任意の形状であるので、当
然、参照される他のフレームにおけるオブジェクトの形
状も任意であり、オブジェクトの外の領域には値が存在
しない。これでは、ブロック単位の動きベクトル情報を
求めることが出来ないので、参照されるオブジェクトに
パディング(補充)処理を施して矩形領域に広げた上
で、ブロック単位の動きベクトルを探索するようにして
いる。
【0007】2次元的な広がりを持つ画像データのパデ
ィング処理は、1次元のパディング処理を横方向と縦方
向に対して順に行なうことで実現される。1次元のパデ
ィング処理は、以下のように行われる。すなわち、オブ
ジェクトで挟まれたオブジェクト外領域(行又は列)
を、その領域の両端のオブジェクト内の画素データの平
均値で置換し、その他のオブジェクト外領域を、その領
域に接するオブジェクト内の画素データで置き換える。
【0008】水平(横)方向パディング処理例を図9に
示す。図9(a)は、ブロック内の一行分の2値形状情
報(属性データ)を示し、同(b)はブロック内にある
オブジェクトの画素データを示す。但し、オブジェクト
外の領域の画素データは他の値で置き換えられるので、
それらの画素値は省略してある。ここでは、ブロック1
行分の画素数を16画素とした。
【0009】図9では、1行(16画素)の中に、連結
していない4つのオブジェク外領域がある。即ち、画素
値78のすぐ左の1画素からなる領域、画素値74と画
素値56で挟まれた4画素からなる領域、画素値64と
画素値42で挟まれた2画素からなる領域、及び、画素
値42の右側にある3画素からなる領域の4つである。
両端の領域は、それらの領域に接するオブジェクト内の
画素データで置換されるので、一番左の1画素は画素値
78で置換され、右端の3画素は画素値42で置換され
る。残りの2つの領域は、オブジェクト内の画素データ
に挟まれているので、左側の4画素は、画素値74と同
56の平均値65に置換され、右側の2画素は、画素値
64と同42の平均値53で置換される。このパディン
グ処理の結果は、図9(c)に示すような画素値分布に
なる。
【0010】1ブロックは、一般に複数の行データから
なる。図10(a)はその1ブロックのデータ分布例を
示す。オブジェクト部分を斜線で図示してある。図10
(a)に示すブロックに水平方向パディング処理を施す
と、図10(b)に示すように水平方向に拡がり、更に
垂直方向パディング処理を施すと、図10(c)に示す
ようにブロック内の全ての画素が有効な値を持つように
なる。
【0011】図11は、水平パディング処理と垂直パデ
ィング処理を別々の回路で実行する従来例の概略構成ブ
ロック図を示す。
【0012】210はパディング処理すべき画素データ
を保持するバッファメモリ、212はバッファメモリか
ら水平パディング処理すべき画素データを読み出すアド
レスを生成するアドレス生成回路、214は水平パディ
ング処理回路、216は水平パディング処理回路214
により水平パディング処理された画素データを記憶する
中間データ格納メモリ、218は中間データ格納メモリ
216のアドレスを生成するアドレス生成回路、220
は中間データ格納メモリ216から読み出された画素デ
ータに垂直パディング処理を施す垂直パディング処理回
路、222は、垂直パディング処理回路220により垂
直パディング処理された画素データを出力する出力端子
である。
【0013】アドレス生成回路212から出力されるア
ドレス信号に基づき、バッファメモリ210からブロッ
クの右上の画素から順に行方向に画素データと形状情報
が読み出され、水平パディング処理回路214に印加さ
れる。水平パディング処理回路214は先に説明したよ
うに水平方向に画素値を補充し、その結果である中間画
素データを中間データ格納メモリ216に印加する。中
間データ格納メモリ216は、アドレス生成回路218
から出力されるアドレス信号に基づき、水平パディング
処理回路214の出力データをブロック内の対応する記
憶場所に格納する。
【0014】1つのブロックに対し水平パディング処理
が終了すると、中間データ格納メモリ216から垂直パ
ディング処理回路220に画素データと形状情報が読み
出される。垂直パディング処理回路220は、中間デー
タ格納メモリ216からの画素データに対して垂直方向
に画素値を補充する。垂直パディング処理回路220の
処理結果は、出力端子222から外部に出力される。
【0015】水平パディング処理回路214が出力する
画素の順序と、垂直パディング処理回路220で垂直パ
ディング処理する画素の順序(方向)が互いに異なる。
中間データ格納メモリ216をを経由することで、画素
データと形状情報の順番を並び替える。一般的に、この
ような並び替えを転置と称し、中間データ格納メモリ2
16は、転置メモリとも呼ばれる。
【0016】従来は、ブロック内の全ての行データを水
平パディング処理し、全ての列を垂直パディング処理す
るのが普通であった。パディング処理は、行単位又は列
単位で行なうので、処理する必要のある行及び列だけを
パディング処理すればよいと思われるが、そのようにす
ると、制御が複雑になりすぎるからである。
【0017】
【発明が解決しようとする課題】従来では、パディング
処理する各行に有効データが存在するかどうかに関わら
ず、全ての行データを水平パディング処理回路214に
入力していた。これは、処理時間の浪費である。
【0018】また、垂直パディング処理の際には、中間
データの有効/無効に関わらず、中間データ格納メモリ
216から全ての画素データを順番に読み出し、垂直パ
ディング処理回路220に入力していた。これは、余分
なメモリ読み出しであり、無駄な電力を消費しているこ
とになる。
【0019】本発明は、このような問題を解決する画像
処理装置及び方法を提示することを目的とする。
【0020】
【課題を解決するための手段】本発明の画像処理装置
は、2次元のブロック状の画像データを各画素の属性情
報に基づいてパディング処理する装置であって、属性情
報の処理をパディング処理に先行して行なうことを特徴
とする。
【0021】本発明に係る画像処理方法は、2次元のブ
ロック状の画像データを各画素の属性情報に基づいてパ
ディング処理する方法であって、属性情報の処理をパデ
ィング処理に先行して行なうことを特徴とする。
【0022】本発明に係る画像処理装置は、2次元のブ
ロック状の画像データを互いに直交する第1及び第2方
向にパディング処理する画像処理装置であって、当該画
像データの形状情報から、パディング処理に必要な第1
の方向の方向情報を決定する形状情報演算手段と、当該
形状情報演算手段の演算結果に従い、当該第1の方向に
ついて当該画像データをパディング処理する第1のパデ
ィング処理手段と、当該第1のパディング処理手段の処
理結果を第2の方向についてパディング処理する第2の
パディング処理手段とを具備することを特徴とする。
【0023】本発明に係る画像処理方法は、2次元のブ
ロック状の画像データを互いに直交する第1及び第2方
向にパディング処理する画像処理方法であって、当該画
像データの形状情報から、パディング処理に必要な第1
の方向の方向情報を決定する形状情報演算ステップと、
当該形状情報演算ステップの演算結果に従い、当該第1
の方向について当該画像データをパディング処理する第
1のパディング処理ステップと、当該第1のパディング
処理ステップの処理結果を第2の方向についてパディン
グ処理する第2のパディング処理ステップとを具備する
ことを特徴とする。
【0024】
【実施例】以下、図面を参照して、本発明の実施例を詳
細に説明する。
【0025】図1は、本発明の一実施例の概略構成ブロ
ック図を示す。10はパディング処理すべき画素データ
を保持するバッファメモリ、12はバッファメモリから
水平パディング処理すべき画素データを読み出すアドレ
スを生成するアドレス生成回路、14は水平パディング
処理回路、16は水平パディング処理回路14により水
平パディング処理された画素データを記憶する中間デー
タ格納メモリ、18は中間データ格納メモリ16のアド
レスを生成するアドレス生成回路、20は中間データ格
納メモ216から読み出された画素データに垂直パディ
ング処理を施す垂直パディング処理回路、22は、垂直
パディング処理回路20により垂直パディング処理され
た画素データを出力する出力端子である。
【0026】24は、1行分の画素データに対する2値
形状情報がパラレルに入力する形状情報入力端子、26
は、入力端子24からの2値形状情報の全論理和を算出
する論理和回路、28は論理和回路26の1ビット出力
(有効画素データのある行か否かを示すフラグ)を取り
込むシフトレジスタ、30は、シフトレジスタ28から
出力された全行の形状情報をパディング処理中保持する
レジスタ、32は、レジスタ30の保持値に従い、パデ
ィング処理すべき行番号(を示す情報)を生成する行番
号生成回路、34は、水平パディング処理に要する時間
だけ、行番号生成回路32の出力を遅延する遅延回路で
ある。行番号生成回路32の出力はアドレス生成回路1
2と遅延回路34に印加され、遅延回路34の出力はア
ドレス生成回路18に印加される。
【0027】バッファメモリ10〜垂直パディング処理
回路20が、あるブロックをパディング処理している間
に、入力端子24には、次のブロックの2値形状情報が
行単位でパラレルに入力され、その形状情報の論理和演
算結果が中間形状情報としてレジスタ28にシフトしな
がら格納される。レジスタ30は、バッファメモリ10
乃至垂直パディング処理回路20が、あるブロックをパ
ディング処理している間、同じブロックの中間形状情報
を保持する。
【0028】行番号生成回路32は、レジスタ30に保
持される中間形状情報に基づき、パディング処理すべき
行番号を生成する。生成された行番号は、アドレス生成
回路12と、遅延回路34を介してアドレス生成回路1
8に印加される。
【0029】アドレス生成回路12は、行番号生成回路
32から出力された行番号に対応する行データを記憶す
るアドレスをバッファメモリ10に印加し、バッファメ
モリ10は、その行番号に対応した画素データと形状情
報を水平パディング処理回路14に読み出す。水平パデ
ィング処理回路14は、後述するように水平方向に画素
値を補充し、その結果である中間画素データを中間デー
タ格納メモリ16に印加する。水平パディング処理する
行番号が遅延回路34を介してアドレス生成回路18に
印加され、アドレス生成回路18は、遅延回路34から
の行番号データに従い、その行番号の中間画素データを
格納すべきアドレスを発生して中間データ格納メモリ1
6に印加する。これにより、有効画素の存在する行のみ
が水平パディング処理され、その処理結果が中間データ
格納メモリ16に格納される。
【0030】1つのブロックに対する水平パディング処
理が終了すると、アドレス生成回路18は、中間データ
格納メモリ16から垂直方向の画素データ列を順次、読
み出すアドレスを発生し、これに応じて、中間データ格
納メモリ16から垂直パディング処理回路20に垂直方
向の画素データ列が入力される。垂直パディング処理回
路20は、中間データ格納メモリ16からの画素データ
に対して垂直方向に画素値を補充する。垂直パディング
処理回路20の処理結果は、出力端子22から外部に出
力される。
【0031】水平パディング処理回路14と垂直パディ
ング処理回路20とは、水平方向と垂直方向の違いはあ
るものの、一次元方向のパディング処理である点で同じ
であり、従って、同じ構成の回路からなる。パディング
処理方法には、1行又は1列の全画素を同時に並列処理
する方法、即ち並列処理法と、1画素が入力するごとに
1画素を処理して出力する方法、即ち逐次処理法があ
る。本実施例では、中間データ格納メモリ16への書き
込み・読み出し処理との関係で逐次処理法が適してい
る。即ち、水平パディング処理回路14が、1サイクル
毎に1画素ずつ水平パディング処理した結果を順次、中
間データ格納メモリ16に書き込み、中間データ格納メ
モリ16から水平パディング処理の終了した1ブロック
のデータを垂直方向で1画素ずつ読み出し、垂直パディ
ング処理回路20が、垂直方向にパディング処理する。
【0032】並列処理法でも、同様の処理を実現できる
が、その場合、並列処理した結果を一旦、シフトレジス
タに取り込み、そのシフトレジスタから1つずつデータ
をシフト出力しながら中間データ格納メモリ16に書き
込んでいけばよい。
【0033】図2は、逐次処理型のパディング処理回路
の構成例を示す。ここでは、1行(列)が10画素から
なると仮定している。
【0034】40は、パディング処理を施す画素データ
(8ビット)を入力する入力端子、42は、入力端子4
0からの画素データをシフトして保持する8ビット幅の
シフトレジスタ、44は各画素がオブジェクト内又は外
の何れかを示す2値形状情報(各画素に対し1ビットの
属性データ)を並列に入力する形状情報入力端子群、4
6は形状情報入力端子群44からの形状情報を保持し、
処理毎にシフトする1ビット幅のシフトレジスタであ
る。
【0035】48は画素データを左方向に伝搬する左伝
搬処理回路であり、10個のセレクタ48a〜48jか
らなる。50は画素データを右方向に伝搬する右伝搬処
理回路であり、10個のセレクタ50a〜50jからな
る。52は、左伝搬処理回路48の初段のセレクタ48
aの出力を1サイクル、遅延するレジスタ、54は、レ
ジスタ52の出力と右伝搬処理回路50の出力の一方を
選択するセレクタ、56は左伝搬処理回路48の初段の
セレクタ48aの出力画素値と右伝搬処理回路50の出
力画素値を加算し、その平均値を出力する加算器であ
る。
【0036】パディング処理を施すべき画素データを入
力端子40から1画素ずつ、シフトレジスタ42にシフ
ト入力する。シフトレジスタ42に10画素分の全画素
データを入力すると、それらの10画素分の2値形状情
報が入力端子群44からシフトレジスタ46に取り込ま
れる。これらの画素データ及び形状情報は、左伝搬処理
処理回路48及び右伝搬処理回路50に印加される。
【0037】左伝搬処理回路48及び右伝搬処理回路5
0の各セレクタ48a〜48j,50a〜50jは、対
応する2値形状情報で制御される。すなわち、対応する
2値形状情報が”1”の場合には、各セレクタ48a〜
48j,50a〜50jは同位置の画素データを選択
し、”0”の場合には右方向又は左方向から伝搬する画
素データを選択する。セレクタ54は、最初の画素を処
理する時のみ、右伝搬処理回路50の出力を選択し、そ
れ以外では、レジスタ52の出力を選択する。
【0038】例えば、図3(a)に示す2値形状情報と
図3(b)に示す画素データが与えられた場合、左伝搬
処理回路48における各セレクタは図3(c)に示す画
素値を出力し、右伝搬処理回路50における各セレクタ
は図3(d)に示す画素値を出力する。2値形状情報が
“0”の入力画素値は、無視されて意味が無いので、図
3(b)では省略してある。図3(b)の一番右側のデ
ータが最初のパディング処理で使用するデータであり、
その時のパディング処理出力は図3(e)に示す値とな
る。図3(f)は、左伝搬処理回路48及び右伝搬処理
回路50の対応するセレクタ出力の平均値を示す。この
平均値は、例示した10画素をパディング処理した際に
期待される出力と同じである。
【0039】従って、1サイクル毎に全データを右に一
つずつシフトして行けば、加算器56が、順に一つずつ
パディング処理した結果を出力する。但し、左伝搬処理
回路48は、単純にデータを右にシフトするだけでは駄
目であり、1サイクル前のセレクタ48aの出力を1サ
イクル遅延させたデータをセレクタ54で選択し、セレ
クタ48aに再入力する必要がある。
【0040】以上の説明では、図2との対応上、1行の
画素数を10画素としたが、以下の説明では、1行の画
素数を16画素、即ち、ブロックのサイズを16×16
画素として説明する。
【0041】図4は、行番号生成回路32の概略構成ブ
ロック図を示す。60はレジスタ30から中間形状情報
を入力する入力端子、62は、ブロックの最初の1行で
は入力端子60からの中継形状情報を選択し、その他の
行では、マスクされた中間形状情報を選択するセレク
タ、64はセレクタ62から出力される中間形状情報又
はマスクされた中間形状情報を保持するレジスタ、66
は、レジスタ64で保持される形状情報から次に処理す
べき行番号を検出するプライオリティエンコーダ、68
はエンコーダ66から出力される行番号をアドレス生成
回路12及び遅延回路34に出力する出力端子、70
は、エンコーダ66から出力される行番号に基づき、そ
の行番号を生成する基となった”1”をマスクする信号
を生成するデコーダ、72は、デコーダ70からのマス
ク信号でレジスタ64から出力される形状情報をマスク
するアンド回路である。アンド回路72の出力がマスク
された中間形状情報としてセレクタ62の一方の選択端
子に印加される。
【0042】レジスタ30から出力される中間形状情報
は、入力端子60に入力され、セレクタ62を介してレ
ジスタ64に取り込まれる。1ブロック分の画素データ
を水平パディング処理し終わるまで、取りこんだ中間形
状情報に基づき、水平パディング処理する行番号を出力
できるように、セレクタ64は、中間形状情報の取り込
み後は、アンド回路72の出力を選択する。
【0043】取り込んだ中間形状情報が図5(a)
(1)に示す値からなる場合を想定すると、プライオリ
ティエンコーダ66は、図5(b)(1)に示す値”
0”(4ビットの10進表現)を出力する。これは第1
行目を意味する。デコーダ70は、この値”0”が入力
されると、図5(c)(1)に示す値を出力する。これ
は、16ビットの先頭(右端)1ビットをゼロにマスク
する信号である。このマスク信号とレジスタ64から出
力される中間形状情報を各ビットごとにアンド演算する
と、図5(a)(2)の値が得られる。この値が、セレ
クタ62を介してレジスタ64に印加される。
【0044】レジスタ64は、最初に取り込んだ中間形
状情報を、第1行目の画素データがバッファメモリ10
から読み出される間、保持し、そのデータの読み出しが
完了したときに、図5(a)(2)の値を取り込む。レ
ジスタ64の図5(a)(2)に示す値に対し、プライ
オリティエンコーダ66は、図5(b)(2)に示す
値”2”を出力する。この値は、第3行目を意味する。
デコーダ70は、エンコーダ66の図5(b)(2)に
出力に対し、図5(c)(2)に示すマスク信号を出力
し、アンド回路72の出力は、図5(a)(3)に示す
値となる。以下同様である。
【0045】このように、水平パディング処理が必要な
行データのみを読み出して処理すると、図5に示す例で
は、全16行の内6行分のデータを処理するだけでよい
ことが分かる。その6行の最後の行を処理している間
に、アンド回路72は、図5(a)(7)に示すように
オール”0”を出力する。これは、同一ブロック内で次
に処理すべき行が無いことを意味する。
【0046】従って、このオール”0”を検出すること
で、次のブロックを処理する準備にとりかかることが出
来る。具体的には、シフトレジスタ28の中間形状情報
をレジスタ30に取り込む。この中間形状情報は、前述
したように、次のブロックの処理の先頭でセレクタ62
を介してレジスタ64に取り込まれる。このようにし
て、次々とブロックが処理される。
【0047】図6は、行番号生成回路32の別の構成の
概略構成ブロック図を示す。80はレジスタ30から中
間形状情報を入力する入力端子、82は、ブロックの最
初の1行では入力端子80からの中継形状情報を選択
し、その他の行では、マスクされた中間形状情報を選択
するセレクタ、84は、セレクタ62から出力される中
間形状情報又はマスクされた中間形状情報から次に処理
すべき行番号を検出するプライオリティエンコーダ、8
6はエンコーダ84の出力を保持するレジスタ、88
は、レジスタ86に保持される行番号をアドレス生成回
路12及び遅延回路34に出力する出力端子、90は、
レジスタ86に保持される行番号に基づき、その行番号
を生成する基となった”1”をマスクする信号を生成す
るデコーダ、92は、デコーダ90からのマスク信号で
入力端子80に入力する形状情報をマスクするアンド回
路である。アンド回路92の出力がマスクされた中間形
状情報としてセレクタ82の一方の選択端子に印加され
る。
【0048】図6では、レジスタ86をエンコーダ84
の出力側に配置して、エンコーダ84の出力する行番号
を保持するようにしたので、レジスタ86のビット幅を
16ビットから4ビットに減らすことができた。
【0049】図6に示す回路でも、レジスタ30から出
力される中間形状情報は、入力端子80に入力し、セレ
クタ82で選択されてプライオリティエンコーダ84に
入力する。中間形状情報が図5(a)に示す例の場合、
プライオリティエンコーダ84の入力及び出力は、それ
ぞれ、図5(a)(1)及び同(b)(1)に示す値に
なる。プライオリティエンコーダ84の出力は、一旦、
レジスタ86に取り込まれ、行番号として出力端子88
及びデコーダ90に印加される。デコーダ90は、図5
(c)(1)に示す値のマスク信号を出力する。
【0050】これ以降、1行処理する毎に、プライオリ
ティエンコーダ84の入力と出力はそれぞれ図5(a)
及び同(b)に示すように推移する。すなわち、図6に
示す回路は図4に示す回路と同様に動作する。
【0051】更に別の構成も考えられる。パディング処
理を逐次処理方とすると、1行分の画素データを処理す
るのに16クロックを要する。この間に、16ビットの
中間形状情報内のどの位置に”1”が存在するかを1サ
イクルで1ビットずつ調べていき、”1”を検出したら
その位置に対応する値を行番号としてエンコードし、次
の行の処理に備えて待機しておく。処理が次の行に移っ
たら、前の処理で求めた値を行番号として出力し、次
の”1”の位置を検出する。
【0052】図1に示す実施例は、パディング処理する
画素データをバッファメモリ10から読み出して水平パ
ディング処理を行って中間データ格納メモリ16に書き
込むまでの一連の処理を効率化するものであり、水平パ
ディング処理の後は、中間データ格納メモ16から外方
向に順番に中間画素データを読み出し、垂直パディング
処理する。
【0053】次に、本発明の第2実施例を説明する。図
1に示す実施例では、水平パディング処理後の中間デー
タを行番号生成回路32の出力に基づくアドレスに格納
していたが、第2実施例では、連続した行番号に格納す
る。そして、垂直パディング処理のために中間データを
読み出す際も、外方向に連続的に読み出すようにする。
但し、単純に中間データを読み書きするアドレスを連続
化しても上手く動作しないので、若干、構成を修正する
必要がある。図7は、第2実施例の概略構成ブロック図
を示す。
【0054】図7において、110はパディング処理す
べき画素データを保持するバッファメモリ、112はバ
ッファメモリから水平パディング処理すべき画素データ
を読み出すアドレスを生成するアドレス生成回路、11
4は水平パディング処理回路、116は水平パディング
処理回路14により水平パディング処理された画素デー
タを連続する行番号順で記憶する中間データ格納メモ
リ、118は中間データ格納メモリ116のアドレスを
生成するアドレス生成回路、120は、水平パディング
処理した行数から1を減算した数を記憶するレジスタ、
122は、アドレス生成回路118から出力されるアド
レス信号の内の行番号部分をレジスタ120の保持値と
比較し、一致する場合にアドレス生成回路118内の行
番号を発生するカウンタをリセットして”0”に戻す比
較器、124は、中間データ格納メモリ116から読み
出されたデータを一時記憶するFIFOバッファであ
る。FIFOバッファ124のフル状態を示す信号がア
ドレス生成回路118に供給され、それに従い、アドレ
ス生成回路118は中間データ格納メモリ116への読
み出しアドレスの供給タイミングを調節する。126
は、FIFOバッファ124からの画素データに垂直パ
ディング処理を施す垂直パディング処理回路、128
は、垂直パディング処理回路126により垂直パディン
グ処理された画素データを出力する出力端子である。
【0055】130は、1行分の画素データに対する2
値形状情報がパラレルに入力する形状情報入力端子、1
32は、入力端子130からの2値形状情報の全論理和
を算出する論理和回路、134は論理和回路132の1
ビット出力(有効画素データのある行か否かを示すフラ
グ)を取り込むシフトレジスタ、136は、シフトレジ
スタ134から出力された全行の形状情報をパディング
処理中保持するレジスタ、138は、レジスタ136の
保持値に従い、パディング処理すべき行番号(を示す情
報)を生成する行番号生成回路、140は、水平パディ
ング処理に要する時間だけ、行番号生成回路138の出
力を遅延する遅延回路である。行番号生成回路138の
出力はアドレス生成回路112と遅延回路140に印加
され、遅延回路140の出力はアドレス生成回路118
に印加される。論理和回路132、シフトレジスタ13
4、レジスタ136、行番号生成回路138及び遅延回
路140の作用は、それぞれ、図1に示す論理和回路2
6、シフトレジスタ28、レジスタ30、行番号生成回
路32及び遅延回路34の作用と同じであるので、詳細
な作用の説明は省略する。
【0056】アドレス生成回路112は、行番号生成回
路138から出力される行番号に対応する行データを記
憶するアドレスをバッファメモリ110に印加し、バッ
ファメモリ110は、その行番号に対応する画素データ
と形状情報を水平パディング処理回路114に読み出
す。水平パディング処理回路114は、回路14(図1
参照)と同様に、水平方向に画素値を補充し、その結果
である中間画素データを中間データ格納メモリ116に
印加する。水平パディング処理する行番号が遅延回路1
40を介してアドレス生成回路118に印加され、アド
レス生成回路118は、遅延回路140からの行番号デ
ータの変化に従い、その行番号の中間画素データを格納
すべき行アドレスを更新しながら、中間データ格納メモ
リ116に印加する。これにより、有効画素の存在する
行のみが水平パディング処理され、その処理結果が中間
データ格納メモリ116に行順に連続に格納される。
【0057】レジスタ120は、ブロック内で水平パデ
ィング処理された行数を計数し、保持する。
【0058】1つのブロックに対する水平パディング処
理が終了すると、アドレス生成回路118は、中間デー
タ格納メモリ116から垂直方向の画素データ列を順
次、読み出すアドレスを発生し、これに応じて、中間デ
ータ格納メモリ116からFIFOバッファ124に垂
直方向の画素データ列が読み出される。比較回路122
は、アドレス生成回路118から出力されるアドレス信
号の内の行番号部分をレジスタ120の保持値と比較
し、両者が一致すると、アドレス生成回路118内の行
番号を発生するカウンタをリセットして”0”に戻す。
これにより、中間データ格納メモリ116に書き込まれ
た有効なデータだけを読み出すことができる。
【0059】メモリ116から読み出されたデータは、
FIFOバッファ124を介して垂直パディング処理回
路126に印加される。FIFOバッファ124は、フ
ル状態になると、それを示す信号をアドレス生成回路1
18に印加し、アドレス生成回路118は、これに応じ
て、中間データ格納メモリ116からの読み出しを一時
停止する。これにより、FIFOバッファ124のオー
バーフローを回避する。
【0060】垂直パディング処理回路126は、レジス
タ136に保持される中間形状情報に基づき、FIFO
バッファ124の出力データの内、有効な画素データを
選択的に取り込み、垂直パディング処理を施す。即ち、
垂直パディング処理回路126は、中間形状情報”1”
の時のFIFOバッファ124の出力データを取り込む
が、中間形状情報が”0”の時のFIFOバッファ12
4の出力データを取り込まない。垂直パディング処理回
路126の処理結果は、出力端子128から外部に出力
される。
【0061】図8は、水平パディング処理よりも前に中
間形状情報を演算する処理のフローチャートを示す。図
8は、水平パディング処理の終了までを示す。
【0062】ブロック内の各行対して全形状情報の論理
和演算を行い、temp_object配列に格納し
(S1)、水平パディング処理する行番号変数iに1に
設定する(S2)。行番号変数iが16を超えるまで
(S3)、以下のS4〜S7の処理を実行する。すなわ
ち、行番号iに対応する中間形状情報が”1”に等しい
かどうかを判定し(S4)、”1”に等しければ、i行
目の1行分の画素データを水平パディング処理し(S
5)、その処理結果を中間データ格納メモリに格納し
(S6)、行番号iをインクリメントして(S7)、S
3に戻る。行番号iに対応する中間形状情報が”1”に
等しくなければ(S4)、行番号iをインクリメントし
て(S7)、S3に戻る。
【0063】
【発明の効果】以上の説明から容易に理解できるよう
に、本発明によれば、水平パディング処理すべき行に対
してのみ水平パディング処理を実行するので、無駄な処
理を省略して高速化と低消費電力化を図ることができ
る。
【図面の簡単な説明】
【図1】 本発明の第1実施例の概略構成ブロック図で
ある。
【図2】 パディング処理回路の構成例である。
【図3】 水平パディング処理例である。
【図4】 行番号生成回路32の概略構成ブロック図で
ある。
【図5】 行番号生成回路32の動作例である。
【図6】 行番号生成回路32の別の構成の概略構成ブ
ロック図である。
【図7】 本発明の第2実施例の概略構成ブロック図で
ある。
【図8】 中間形状情報の演算から水平パディング処理
までの動作フローチャートである。
【図9】 入力画素データとパディング処理後の画素デ
ータの一例である。
【図10】 水平・垂直パディング処理の説明図であ
る。
【図11】 従来例の概略構成ブロック図である。
【符号の説明】
10:バッファメモリ 12:アドレス生成回路 14:水平パディング処理回路 16:中間データ格納メモリ 18:アドレス生成回路 20:垂直パディング処理回路 22:出力端子 24:形状情報入力端子 26:論理和回路 28:シフトレジスタ 30:レジスタ 32:行番号生成回路 34:遅延回路 40:画素データ入力端子 42:シフトレジスタ 44:形状情報入力端子群 46:シフトレジスタ 48:左伝搬処理回路 48a〜48j:セレクタ 50:右伝搬処理回路 50a〜50j:セレクタ 52:レジスタ 54:セレクタ 56:加算器 60:中間形状情報入力端子 62:セレクタ 64:レジスタ 66:プライオリティエンコーダ 68:出力端子 70:デコーダ 72:アンド回路 80:中間形状情報入力端子 82:セレクタ 84:プライオリティエンコーダ 86:レジスタ 88:出力端子 90:デコーダ 92:アンド回路 110:バッファメモリ 112:アドレス生成回路 114:水平パディング処理回路 116:中間データ格納メモリ 118:アドレス生成回路 120:レジスタ 122:比較器 124:FIFOバッファ 126:垂直パディング処理回路 128:出力端子 130:形状情報入力端子 132:論理和回路 134:シフトレジスタ 136:レジスタ 138:行番号生成回路 140:遅延回路 210:バッファメモリ 212:アドレス生成回路 214:水平パディング処理回路 216:中間データ格納メモリ 218:アドレス生成回路 220:垂直パディング処理回路 222:出力端子

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 2次元のブロック状の画像データを各画
    素の属性情報に基づいてパディング処理する装置であっ
    て、属性情報の処理をパディング処理に先行して行なう
    ことを特徴とする画像処理装置。
  2. 【請求項2】 前記属性情報の処理は、ブロック内の1
    行または1列分の画素データに対する2値形状情報の全
    論理和演算であることを特徴とする請求項1に記載の画
    像処理装置。
  3. 【請求項3】 前記属性情報の処理結果に基づき、行ま
    たは列単位でパディング処理を実行またはパスすること
    を特徴とする請求項2に記載の画像処理装置。
  4. 【請求項4】 前記属性情報の処理結果に基づいてパデ
    ィング処理する行または列番号を生成する手段を有し、
    当該番号に基づいてパディング処理部へ入力するデータ
    を制御することを特徴とする請求項2に記載の画像処理
    装置。
  5. 【請求項5】 2次元のブロック状の画像データを各画
    素の属性情報に基づいてパディング処理する方法であっ
    て、属性情報の処理をパディング処理に先行して行なう
    ことを特徴とする画像処理方法。
  6. 【請求項6】 前記属性情報の処理は、ブロック内の1
    行または1列分の画素データに対する2値形状情報の全
    論理和演算あることを特徴とする前記請求項5に記載の
    画像処理方法。
  7. 【請求項7】 2次元のブロック状の画像データを互い
    に直交する第1及び第2方向にパディング処理する画像
    処理装置であって、 当該画像データの形状情報から、パディング処理に必要
    な第1の方向の方向情報を決定する形状情報演算手段
    と、 当該形状情報演算手段の演算結果に従い、当該第1の方
    向について当該画像データをパディング処理する第1の
    パディング処理手段と、 当該第1のパディング処理手段の処理結果を第2の方向
    についてパディング処理する第2のパディング処理手段
    とを具備することを特徴とする画像処理装置。
  8. 【請求項8】 当該形状情報演算手段は、当該ブロック
    内の第1方向及び第2方向の何れかにおける1列の画素
    データに対する2値形状情報を全論理和演算する手段を
    含む請求項7に記載の画像処理装置。
  9. 【請求項9】 2次元のブロック状の画像データを互い
    に直交する第1及び第2方向にパディング処理する画像
    処理方法であって、 当該画像データの形状情報から、パディング処理に必要
    な第1の方向の方向情報を決定する形状情報演算ステッ
    プと、 当該形状情報演算ステップの演算結果に従い、当該第1
    の方向について当該画像データをパディング処理する第
    1のパディング処理ステップと、 当該第1のパディング処理ステップの処理結果を第2の
    方向についてパディング処理する第2のパディング処理
    ステップとを具備することを特徴とする画像処理方法。
  10. 【請求項10】 当該形状情報演算ステップは、当該ブ
    ロック内の第1方向及び第2方向の何れかにおける1列
    の画素データに対する2値形状情報を全論理和演算する
    ステップを含む請求項9に記載の画像処理方法。
JP2000254516A 2000-08-24 2000-08-24 画像処理装置及び方法 Withdrawn JP2002074357A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000254516A JP2002074357A (ja) 2000-08-24 2000-08-24 画像処理装置及び方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000254516A JP2002074357A (ja) 2000-08-24 2000-08-24 画像処理装置及び方法

Publications (1)

Publication Number Publication Date
JP2002074357A true JP2002074357A (ja) 2002-03-15

Family

ID=18743446

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000254516A Withdrawn JP2002074357A (ja) 2000-08-24 2000-08-24 画像処理装置及び方法

Country Status (1)

Country Link
JP (1) JP2002074357A (ja)

Similar Documents

Publication Publication Date Title
JP3019787B2 (ja) 動きベクトル検出装置
KR890013558A (ko) 디지탈 신호처리 장치와 그방법
JP3278756B2 (ja) 画像処理方法及び装置
US5793443A (en) Motion vector detection circuit
KR100416444B1 (ko) 모션벡터선택방법및이방법을수행하는이미지처리장치
US6160850A (en) Motion estimator employing a three-step hierachical search block-matching algorithm
JP2002304624A (ja) フィルタ処理装置及び撮像装置
US8064523B2 (en) Motion vector search apparatus
KR20020050395A (ko) 계층탐색을 이용한 움직임 추정장치 및 방법
CN101796845B (zh) 运动图像编码中的运动搜索装置
US5619282A (en) Image motion compensating address generator
US20080049035A1 (en) Apparatus and method for accessing image data
JP2002074357A (ja) 画像処理装置及び方法
CN110738615B (zh) 鱼眼图像校正方法、装置、系统及可存储介质
KR101000036B1 (ko) 실시간 영상 처리를 위한 서브 샘플링 시스템
US5638310A (en) Pixel matrix filter
JP2960328B2 (ja) シストリックアーキテクチャ内に配置される「n+1」個の演算子にオペランドを供給するための装置
JP3041658B2 (ja) 高並列動き補償演算器
JPH05300497A (ja) 画像処理装置及びディジタル信号処理プロセッサ
JP4170173B2 (ja) ブロックマッチング演算装置
JP3553376B2 (ja) 並列画像処理プロセッサ
JPH05260461A (ja) 動き補償予測装置
JP3698501B2 (ja) 動きベクトル検出装置
KR100246033B1 (ko) 고속 실시간 처리 움직임 추정을 위한 연산방법 및 이를 위한 연산장치
JPH09503324A (ja) 画素ブロックの比較のためのプロセッサ(ブロックマッチングプロセッサ)

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20071106