JP4574019B2 - 画像処理装置及び画像処理方法及びメモリ媒体、並びに画像符号化装置及び画像復号装置 - Google Patents
画像処理装置及び画像処理方法及びメモリ媒体、並びに画像符号化装置及び画像復号装置 Download PDFInfo
- Publication number
- JP4574019B2 JP4574019B2 JP2001007822A JP2001007822A JP4574019B2 JP 4574019 B2 JP4574019 B2 JP 4574019B2 JP 2001007822 A JP2001007822 A JP 2001007822A JP 2001007822 A JP2001007822 A JP 2001007822A JP 4574019 B2 JP4574019 B2 JP 4574019B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- pixel data
- pixel
- propagation
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Image Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
【発明の属する技術分野】
本発明は、画像データをその属性データに基づいて処理する画像処理装置及び画像処理方法並びにその処理を制御するメモリ媒体に関する。
【0002】
【従来の技術】
画像(特に動画像)は、そのデータ量が非常に大きい。従って、画像を蓄積・伝送する際には、そのデータ量を大幅に削減するための圧縮処理が不可欠である。動画像を圧縮(符号化)する処理として、既にMPEG−1、MPEG−2などの国際標準が定められているが、これらはテレビカメラ等で撮影した矩形領域の画像のみを対象としている。
【0003】
画像の特徴は様々であるが、背景とその背景より手前にある被写体(オブジェクト)とからなる画像が数多く存在する。一般的に、背景となる画像は、激しい動きを伴なわず、撮影に使用するカメラの動きに合わせて全体が移動したり、背景中の様々なものが各々細かい動きをしたりする。それに対して、オブジェクトは、激しい動きを伴なう場合がある。このように、オブジェクトと背景とは異なる性質を有する。
【0004】
MPEG−1、MPEG−2に続いて標準化が進められているMPEG−4では、オブジェクトと背景とを別々に取り扱えるようにし、有用なオブジェクトを他で再利用することにより、動画コンテンツの生産性を高めたり、画像を見る側でオブジェクトを操作することができる枠組みを用意することで、画像に対して能動的な関係を築き、新しい表現ができるように考えられている。
【0005】
しかしながら、オブジェクトの形状は矩形ではなく任意であるため、従来のMPEG−1、MPEG−2で用いられてきた圧縮手法をそのまま適用することはできない。
【0006】
動画圧縮では、更にフレーム間の相関を利用してデータ量を減らす。フレーム間の相関を利用するということは、オブジェクトの現フレームのデータを符号化する際に、他のフレームにおける相関の強い領域を参照し、その差分値を符号化することである。
【0007】
オブジェクトが任意の形状であると、当然、参照される他のフレームにおけるオブジェクトの形状も任意であり、オブジェクトの外の領域においては値が無い状態である。これでは、ブロック単位の動きベクトル情報を求めることが出来ない。
【0008】
そこで、参照されるオブジェクトにパディング処理を施して矩形領域に広げた上でブロック単位の動きベクトル探索を行なう。
【0009】
2次元的な広がりを持つ画像データのパディング処理は、1次元のパディング処理を、横方向と縦方向に対して順に行なうことで実現する。1次元のパディング処理は以下のように行なうことができる。
【0010】
複数のオブジェクトで挟まれたオブジェクト外の領域(行または列)は、該領域の両端のオブジェクト内の画素データの平均値に置き換え、その他のオブジェクト外の領域は、該領域に接するオブジェクト内の画素データに置き換える。
【0011】
【発明が解決しようとする課題】
本発明は、上記の背景に鑑みてなされたものであり、例えば、パディング処理を高速化することを目的とする。
【0012】
【発明が解決するための手段】
本発明の第1の側面に係る画像処理装置は、入力した画像データをパディング処理し、出力する画像処理装置であって、
パディング処理対象の画像データ中の一次元に配列されたn個の画素データを単位に入力し、当該n個の画素データを保持する第1の保持手段と、
前記n個の画素データそれぞれに対応し、各画素がオブジェクト内、オブジェクト外のいずれに属するかを示す属性データを保持する第2の保持手段と、
前記第2の保持手段に保持された属性データに基づき、前記第1の保持手段に保持された画素データを前記一次元の配列の一方向に伝搬させ、伝搬済み第1乃至第nの画素データを出力する第1の伝搬手段と、
前記第2の保持手段に保持された属性データに基づき、前記第1の保持手段に保持された画素データを前記第1の伝搬手段の伝搬する方向とは逆の方向に伝搬させ、伝搬済みの第1乃至第nの画素データを出力する第2の伝搬手段と、
前記第1の伝搬手段及び前記第2の伝搬手段それぞれから出力された同じ画素位置の画素データの平均値を算出し、当該算出後の第1乃至第nの画素データを、前記一次元に並んだn個の画素データのパディング処理結果として出力する演算手段とを備え、
前記第1の伝搬手段は、n個の第1の選択手段S11乃至S1n、又は、n−1個の第1の選択手段S11乃至S1n-1で構成され、
前記第2の伝搬手段は、n個の第2の選択手段S21乃至S2n、又は、n−1個の第2の選択手段S22乃至S2nで構成され、
前記第1の保持手段に保持された第i番目の画素データをPi、前記第i番目の画素データに対応する前記第2の保持手段に保持された第i番目の属性データをAiとしたとき、
第i番目の前記第1の選択手段S1i(1≦i≦n−1)は、
(1)前記属性データAiが、画素データPiがオブジェクト内にあることを示している場合、前記画素データPiを、伝搬済みの第i番目の画素データとして選択出力し、
(2)前記属性データAiが、画素データPiがオブジェクト外にあることを示している場合、前記第1の選択手段S1i+1からの出力を、伝搬済みの第i番目の画素データとして選択出力し、
第i番目の前記第2の選択手段S2i(2≦i≦n)は、
(3)前記属性データAiが、画素データPiがオブジェクト内にあることを示している場合、前記画素データPiを、伝搬済みの第i番目の画素データとして選択出力し、
(4)前記属性データAiが、画素データPiがオブジェクト外にあることを示している場合、前記第2の選択手段S2i-1からの出力を、伝搬済みの第i番目の画素データとして選択出力し、
さらに、第1番目の前記第1の選択手段S11の出力を前記第2の伝播搬手段に、第n番目の前記第2の選択手段S2nの出力を前記第1の伝播搬手段に入力することを特徴とする。
【0017】
本発明の第1の側面に係る画像処理装置において、前記属性データは、例えば、各画素データについて1ビットのデータであることが好ましい。
【0020】
本発明の第1の側面に係る画像処理装置は、例えば、前記第1の保持手段、前記第2の保持手段、前記第1の伝搬手段、前記第2の伝搬手段及び前記演算手段を含むデータ処理手段から出力される一次元の画像データを順次保持することにより、二次元の画像データを保持するデータ保持手段と、前記データ保持手段に保持された二次元の画像データを、前記データ処理手段から出力される一次元の画像データに対して異なる方向の一次元の画像データとして、前記データ処理手段に順次供給して、これにより前記データ処理手段に画像データを再処理させるデータ供給手段と、を更に備えるが好ましい。
【0021】
本発明の第1の側面に係る画像処理装置は、例えば、前記データ処理手段に画像データを再処理させる際に要する属性データを元の属性データに基づいて生成し、これを再処理の際に前記データ処理手段に供給する属性データ生成手段を更に備えることが好ましい。
【0022】
本発明の第1の側面に係る画像処理装置は、例えば、前記第1の伝搬手段、前記第2の伝搬手段及び前記演算手段と同様の手段を含む第1のデータ処理手段と、前記第1の伝搬手段、前記第2の伝搬手段及び前記演算手段と同様の手段を含む第2のデータ処理手段と、前記第1のデータ処理手段から出力される1次元の画像データを順次保持することにより、結果的に2次元の画像データを保持するデータ保持手段と、前記データ保持手段に保持された二次元の画像データを、前記第1のデータ処理手段から出力される一次元の画像データと異なる方向の一次元の画像データとして、前記第2のデータ処理手段に順次供給するデータ供給手段とを更に備えることが好ましい。
【0023】
本発明の第1の側面に係る画像処理装置は、例えば、前記第2のデータ処理手段に画像データを処理させる際に要する属性データを、前記第1のデータ処理手段に供給すべき属性データに基づいて生成し、これを前記第2のデータ処理手段に供給する属性データ生成手段を更に備えることが好ましい。
【0024】
本発明の第1の側面に係る画像処理装置において、前記第1のデータ処理手段及び前記第2のデータ処理手段は、例えば、複数ブロックの二次元の画像データを連続的に処理することが好ましい。
【0025】
本発明の第1の側面に係る画像処理装置において、前記データ保持手段は、例えば、前記第1のデータ処理手段から出力される画像データを取り込みながら前記第2のデータ処理手段に供給すべき画像データを出力することが好ましい。
【0026】
本発明の第1の側面に係る画像処理装置において、前記データ保持手段は、例えば、互いに直交する第1及び第2の方向にデータをシフトさせる機能を有し、第1のブロックの二次元の画像データを前記第1のデータ処理手段から取り込む際は、前記第1の方向にシフト動作を実行し、続く第2のブロックの二次元の画像データを前記第1のデータ処理手段から取り込む際は、前記第2の方向にシフト動作を実行することが好ましい。
【0027】
本発明の第2の側面に係る画像処理方法は、入力した画像データをパディング処理し、出力する画像処理方法であって、
パディング処理対象の画像データ中の一次元に配列したn個の画素データを単位に入力し、当該n個の画素データを第1の保持手段に格納する工程と、
前記n個の画素データそれぞれに対応し、各画素がオブジェクト内、オブジェクト外のいずれに属するかを示す属性データを第2の保持手段に格納する工程と、
前記第2の保持手段に保持された属性データに基づき、前記第1の保持手段に保持された画素データを前記一次元の配列の一方向に伝搬させ、伝搬済み第1乃至第nの画素データを出力する第1の伝搬工程と、
前記第2の保持手段に保持された属性データに基づき、前記第1の保持手段に保持された画素データを前記第1の伝搬工程の伝搬する方向とは逆の方向に伝搬させ、伝搬済みの第1乃至第nの画素データを出力する第2の伝搬工程と、
前記第1の伝搬工程及び前記第2の伝搬工程それぞれから出力された同じ画素位置の画素データの平均値を算出し、当該算出後の第1乃至第nの画素データを、前記一次元に並んだn個の画素データのパディング処理結果として出力する演算工程とを備え、
前記第1の伝搬工程は、n個の第1の選択工程S11乃至S1n、又は、n−1個の第1の選択工程S11乃至S1n-1で構成され、
前記第2の伝搬工程は、n個の第2の選択工程S21乃至S2n、又は、n−1個の第2の選択工程S22乃至S2nで構成され、
前記第1の保持手段に保持された第i番目の画素データをPi、前記第i番目の画素データに対応する前記第2の保持手段に保持された第i番目の属性データをAiとしたとき、
第i番目の前記第1の選択工程S1iでは、
(1)前記属性データAiが、画素データPiがオブジェクト内にあることを示している場合、前記画素データPiを、伝搬済みの第i番目の画素データとして選択出力し、
(2)前記属性データAiが、画素データPiがオブジェクト外にあることを示している場合、前記第1の選択工程S1i+1からの出力を、伝搬済みの第i番目の画素データとして選択出力し、
第i番目の前記第2の選択工程S2iでは、
(3)前記属性データAiが、画素データPiがオブジェクト内にあることを示している場合、前記画素データPiを、伝搬済みの第i番目の画素データとして選択出力し、
(4)前記属性データAiが、画素データPiがオブジェクト外にあることを示している場合、前記第2の選択工程S2i-1からの出力を、伝搬済みの第i番目の画素データとして選択出力し、
さらに、第1番目の前記第1の選択工程S11の出力を前記第2の伝播搬工程に、第n番目の前記第2の選択工程S2nの出力を前記第1の伝播搬工程に入力することを特徴とする。
【0029】
本発明の第4の側面に係るメモリ媒体は、上記の第1の側面に係る画像処理装置の機能をコンピュータに実行させるためのプログラムを格納したことを特徴とする。
【0030】
【発明の実施の形態】
以下、本発明の好適な実施の形態を説明する。
【0031】
[第1の実施の形態]
この実施の形態では、1行が10画素のデータに対して1次元方向のパディング処理を施すが、この実施の形態は、任意の数の画素データに対する1次元方向のパディング処理に拡張することができる。
【0032】
図1は、本発明の第1の実施の形態に係る画像処理部の構成を示すブロック図である。この画像処理部100は、例えば、コンピュータ等の画像処理装置の一部として好適に利用され得る。
【0033】
図1において、101は、パディング処理を施すべき一次元の画像データを構成する複数の画素データを入力する端子群、103は、一次元の画像データを構成する複数の画素データを保持するレジスタ群、105は、一次元の画像データを構成する各画素データに係る画素がオブジェクト内の画素であるか、オブジェクト外の画素であるかを表わす属性データとしての形状情報(ここでは、各画素に対して1ビット)を入力する端子群、107は、形状情報を保持するレジスタ群、121は、形状情報に基づいて該当する画素データを左方向に伝搬させるための左伝搬処理部、123は、形状情報に基づいて該当する画素データを右方向に伝搬させるための右伝搬処理部、125a〜jは、左伝搬処理部121を構成するセレクタ群、127a〜jは、右伝搬処理部123を構成するセレクタ群、131は、2つの画素データ間の平均値を演算するための演算器131a〜131jを含む演算器群である。
【0034】
パディング処理を施すべき画素データ、該画素データに対する2値形状情報は、1個ずつ或いは10個同時に端子101、105から各々入力され、レジスタ群103、107に各々保持される。形状情報(2値)の“1”は、当該画素がオブジェクト内の画素であることを表わし、“0”は、当該画素がオブジェクト外の画素であることを表わす。
【0035】
レジスタ群103に保持された複数の画素データは、各々左伝搬処理部121及び右伝搬処理部123内の対応するセレクタに入力される。レジスタ群107に保持された形状情報は、各々左伝搬処理部121、右伝搬処理部123内の対応するセレクタの制御信号として入力される。
【0036】
各セレクタは、該制御信号が“1”の時はレジスタ群103から入力される画素データを選択し、“0”の時は前段のセレクタで選択された画素データを選択する。これにより、オブジェクト外の画素をオブジェクト内の画素データで置き換えるように、画素データが伝搬する。
【0037】
左伝搬処理部121では、オブジェクト内の画素データが図1の左方向に伝搬し、右伝搬処理部123では、オブジェクト内の画素データが図1の右方向に伝搬する。
【0038】
各々のセレクタで選択された画素データは演算器群131の該当する演算器に送られる。演算器群131の各演算器は、対応するセレクタから供給される2つの画素データの平均値を求めて出力する。
【0039】
図2は、図1に示す画像処理部100における処理の具体例を示す図である。
図2の(a)は、2値の形状情報、(b)は、入力画素データ(オブジェクト外は如何なる値でもよいので“0”としている)、(c)は、左伝搬処理部121におけるセレクタの出力値、(d)は、右伝搬処理部123におけるセレクタの出力値、(e)は、演算器群131の平均値出力を表わす。
【0040】
左伝搬処理部121の右端のセレクタ125aの出力値が“42”であるのは、右伝搬処理部123の右端のセレクタ127aの出力データが、左伝搬処理部121の右端のセレクタ125aに入力され、それが選択されて出力されるためである。同様に、右伝搬処理部123の左端のセレクタ127jの出力値が“174”であるのは、左伝搬処理部121の左端のセレクタ125jの出力データが右伝搬処理部123の左端のセレクタ127jに入力され、それが選択されて出力されるためである。
【0041】
その他の部分のセレクタの出力値は、形状情報が“1”(オブジェクト内)の画素については入力画素データがそのまま出力され、形状情報が“0”の画素についてはオブジェクト内の画素データを左又は右に伝搬させた値が出力される。
このように、この画像処理部100では、1画素について2つのセレクタを設け、それらの出力の平均値を演算器で計算して、パディング処理の結果として出力する。
【0042】
以上の処理により、オブジェクトで挟まれたオブジェクト外の領域は、該領域の両端のオブジェクト内の画素データの平均値に置き換えられ、その他のオブジェクト外の領域は、該領域に接するオブジェクト内の画素データに置き換えられる。
【0043】
上記の説明は、ハードウェアの規模と処理対象の画素数とが一致している場合に関するが、ハードウェアの規模に対して画素数が少ない場合、即ち10画素未満の任意の画素数に対してもパディング処理が可能である。これは、画素入力の無い端子に対応する形状情報を“0”に固定することによって実現される。
【0044】
次に、上記の処理をソフトウェアで実現する際の処理を説明する。図3は、ソフトウェアによるパディング処理の流れを示すフローチャートである。
【0045】
S301では、入力画像データを第1のバッファと第2のバッファとに格納する。S302では、形状情報を右端から左方向にスキャンし、最初に見つけた“1”と同位置の第2のバッファの画素データを第1のバッファの右端の画素データとして格納する。S303では、形状情報を右端から左方向にスキャンしながら、形状情報が”0”である場合に、その”0”の右側の直近の”1”と同位置の第1のバッファの画素データをその”0”と同位置の画素データとして第1のバッファにコピーする(即ち、画素データを左に伝搬させる)。S304では、第1のバッファの左端の画素データを第2のバッファの左端にコピーする。S305は、形状情報を左端から右方向にスキャンしながら、形状情報が”0”である場合に、その”0”の左側の直近の”1”と同位置の第2のバッファの画素データをその”0”と同位置の画素データとして第2のバッファにコピーする(即ち、画素データを右に伝搬させる)。S306では、第1、第2のバッファ間で対応する画素データの平均を演算する。
【0046】
ここで、第1のバッファは左伝搬処理部121に、第2のバッファは右伝搬処理部123に対応する。
【0047】
S301では、画素データを伝搬する前の初期値を第1及び第2のバッファに格納する。
【0048】
ソフトウェアによる処理でハードウェアによる処理を完全にトレースすることは効率が良くないので、図3に示すソフトウェアによる処理では、右伝搬処理部の右端の出力データを左伝搬処理部に入力する替わりにS302を実行する。S302では、右伝搬処理部の右端の出力データとなるべき画素データを先に探し、それを左伝搬処理部の入力に相当する第1のバッファの右端の画素データとする。
【0049】
S303は、左伝搬処理部121の動作をそのままトレースしたもので、S304は、左伝搬処理部の左端の出力データを右伝搬処理部123に入力する処理に対応する。そして、S305は、右伝搬処理部123、S306は、演算器群131をそれぞれトレースしたものである。
【0050】
[第2の実施の形態]
第1の実施の形態では、10画素の全てがオブジェクト外にある場合を想定していない。10画素の全てがオブジェクト外であれば、元々パディング処理は不要だからである。
【0051】
しかし、単純なパイプライン処理では、パディング処理の必要があろうが無かろうが、全ての画素データをパディング処理回路によって処理する必要がある。
そのような場合、第1の実施形態では、10画素の全てがオブジェクト外である場合に、左伝搬処理部及び右伝搬処理部の全セレクタにより閉ループが構成されるため、動作上、好ましくない。
【0052】
この実施の形態では、10画素の全てがオブジェクト外である場合に上記の閉ループが構成されないように改良がなされている。具体的には、この実施の形態では、左伝搬処理部121の出力を右伝搬処理部123に入力する入力部に、右伝搬処理部123の出力をオールゼロにマスクするマスク回路が設けられている。マスクする条件は、形状情報が全て“0”の時である。
【0053】
図4は、本発明の第2の実施の形態に係る画像処理部の構成を示すブロック図である。この画像処理部200は、例えば、コンピュータ等の画像処理装置の一部として好適に利用され得る。
【0054】
図4において、401は、上記のマスク回路、403は、形状情報が全て“0”であることを検出するNOR回路である。その他の構成要素は、第1の実施の形態と同様である。
【0055】
なお、マスク回路は、右伝搬処理部123の出力を左伝搬処理部121に入力する入力部にも設けてもよいし、該入力部のみに設けてもよい。
【0056】
また、この実施の形態においても、第1の実施の形態と同様に、10画素未満の任意の画素数に対してもパディング処理が可能である。
【0057】
ところで、図4における両端の画素データにおいて、2つの画素データの平均値というものは意味がない。何故なら、端の画素データについては、それを挟む2つの画素データが存在し得ないからである。
【0058】
よって、演算器群131の両端の演算器は不要であり、パディング処理後の右端の画素データをセレクタ127aの出力とすると共に、左端の画素データをセレクタ125jの出力とすることもできる。
【0059】
また、セレクタ125aの出力は、必ずセレクタ127aの出力と同じ値になるため(セレクタの制御信号(即ち、対応する2値形状情報)が“0”の時、出力は右に伝搬してくる画素データの値となり、“1”の時は元の画素データの値となる)、セレクタ125aは不要である。同様の理由で、セレクタ127jも不要である。
【0060】
図7は、演算器131群の両端の演算器、左伝搬処理部121の右端のセレクタ、及び右伝搬処理部123の左端のセレクタを削除した構成を示す図である。
【0061】
[第3の実施の形態]
この実施の形態は、水平N画素×垂直N画素のブロックに対して2次元のパディング処理を施す画像処理部を提供する。具体的には、この実施の形態では、1次元のパディング処理を横方向及び縦方向に対して実行する。
【0062】
なお、パディング処理を施すべきブロックは、通常、縦横同じサイズの正方ブロックであるが、この実施の形態では、後述のように正方形以外の矩形ブロックを処理することもできる。
【0063】
この実施の形態では、1つの一次元パディング処理ユニットを、横方向のパディング処理を実行する第1ステージと、縦方向のパディング処理を実行する第2ステージの両方に使用する。
【0064】
第1ステージでは、行単位で入力される1ブロック分の画素データに対して連続してパディング処理を施し、該パディング処理と並行して、処理済みの1ブロック分の画素データを行単位で蓄積する。
【0065】
第2ステージでは、蓄積した1ブロック分の画素データを90度向きを変えて読み出し、縦方向のパディング処理を1ブロック分の画素データに対して連続して施す。
【0066】
図5は、この実施の形態に係る画像処理部の構成を示すブロック図である。この画像処理部500は、例えば、コンピュータ等の画像処理装置の一部として好適に利用され得る。
【0067】
図5において、501は、1ブロック分の二次元の画像データを構成する複数の画素データを行単位で入力する端子群、502は、1行分の画素数の形状情報を一括して入力する端子、503は、行単位で入力された複数の画素データ及び列単位で読み出された複数の画素データのいずれか一方を選択するセレクタ群、504は、1行分の画素数の形状情報及び1列分の画素数の形状情報のいずれか一方を選択するセレクタ、505は、第2の実施の形態で説明したパディング処理ユニット(画像処理部200)である。507は、第1及び第2の画素データ入力端子と、該2つの画素データ入力端子から入力される画素データの一方を選択するセレクタと、選択した画素データを保持するレジスタとを備えるデータ保持ユニットをアレイ状に配置したデータ保持ユニット群である。509は、1回目のパディング処理後の形状情報を保持するシフトレジスタ、511は、縦横2回のパディング処理を施した画素データを出力する端子群である。
【0068】
第1ステージでは、端子群501から入力された1行分の画素データをセレクタ503で選択し、パディング処理ユニット505に送る。パディング処理ユニット505では、第2の実施の形態と同様に、1行分の画素データに対してパディング処理を施し、データ保持ユニット群507における左端(図面上の左端)の1列の該当するデータ保持ユニットの第1の入力端子に送る。
【0069】
データ保持ユニット群507の上端の1行と右端の1列を除く、各データ保持ユニットは、保持データを右側のデータ保持ユニットの第1の入力端子と上側のデータ保持ユニットの第2の入力端子に送る。第1ステージでは、各データ保持ユニットは、第1の入力端子側のデータをレジスタに取り込むようにセレクタを制御し、1行分の画素データがパディング処理される都度、右方向に画素データを移動させる。
【0070】
この実施の形態では、一度パディング処理したデータに対して、向きを変えて再度パディング処理を施すため、その再度のパディング処理のための形状情報が必要である。しかし、最初の形状情報をそのまま用いることはできない。
【0071】
最初のパディング処理によってデータが補充された画素位置には、次のパディング処理において再補充がなされないように、形状情報を変更する必要がある。
そこで、データが補充された画素位置の形状情報を“0”から“1”に変更する。
【0072】
この形状情報の変更処理は、画素単位で行なう必要はなく、行単位で行なえばよい。即ち、パディング処理を施す行データの中に1つもオブジェクト内の画素が無い場合には、該行データに対する形状情報を“0”、1つでもオブジェクト内の画素が有る場合には、該行データに対する形状情報を“1”にすればよい。
このような変更後の形状情報は、例えば、パディング処理ユニット505内のNOR素子403(図4参照)の出力を反転することにより得られる。
【0073】
パディング処理ユニット505から行データ毎に出力される1ビットの形状情報は、順次シフトレジスタ509に送られ、最終的にN行に対してNビットの情報がシフトレジスタ509に蓄積される。それと並行して、パディング処理がなされたN行分の画素データがデータ保持ユニット群507に蓄積される。
【0074】
1ブロックN行の画素データに対する横方向のパディング処理(第1ステージ)が終了したら、次は、データ保持ユニット群507から列単位で画素データを取り出して、セレクタ503を経由して、パディング処理ユニット505に再度入力し、再度パディング処理を施す(第2ステージ)。
【0075】
第2ステージでは、シフトレジスタ509に蓄積された形状情報を並列に読み出して、セレクタ504を経由して、第2ステージで処理する全ての列について毎回同じ形状情報をパディング処理ユニット505に供給する。そして、パディング処理が施された画素データは、パディング処理ユニット505から端子511に列単位で出力される。
【0076】
第2ステージでは、データ保持ユニット群507の各データ保持ユニットは、第2の入力端子のデータがレジスタに取り込まれるように各セレクタを制御し、これにより画素データの移動方向が右向きから上向きに変わる。よって、1列目の画素データが最上段から取り出されると、2列目の画素データが最上段に移動する。なお、最下段のデータ保持ユニットは、第2の画素データ入力端子にいかなる値が入力されても他に影響がないので“0”又は“1”が入力される。
【0077】
対象のブロックの中に1つでもオブジェクト内の画素データがあれば、該ブロック内のオブジェクト外の全ての画素にデータが補充されるため、最終的な形状情報は全ての画素データについて“1”となるが、オブジェクト内の画素データが1つも存在しなければ、実質的なパディング処理が全く実行されず、最終的な形状情報は全ての画素データについて“0”となる。
【0078】
この情報を参照することで、実質的なパディング処理が施されたか否か判定することも可能である。しかし、該ブロックにオブジェクト内の画素データが1つも存在しない時に、この実施の形態によるパディング処理を実行することは無駄である。
【0079】
よって、事前にオブジェクト内の画素が存在するか否かを調査し、存在する場合にのみ、該パディング処理を実行することも有効である。なお、この場合、パディング処理後の最終的な形状情報は、必ず“1”になるので、該情報を参照する必要はない。
【0080】
L×M(L,M<N)のサイズのブロックを処理する場合、第1の実施の形態で述べたのと同様に、画素入力の無い端子に対応する形状情報を“0”に固定すればよい。データ保持ユニット507から列単位で画素データを取り出す場合、データの無い列に対応するシフトレジスタ509の出力を“0”とするには、ブロックのパディング処理の開始時に、該シフトレジスタ509をオール“0”初期化すればよい。これにより、パディング処理を実行した行数と同じ数のビット数だけシフトレジスタ509に値が格納され、それ以外は“0”のままである。
【0081】
[第4の実施の形態]
この実施の形態も、第3の実施の形態と同様に、水平N画素×垂直N画素のブロックに対して2次元のパディング処理を実行することが可能であるが、この実施の形態では、パディング処理ユニットを2つ設けることにより、処理が高速化されている。
【0082】
図6は、本発明の第4の実施の形態に係る画像処理部の構成を示すブロック図である。この画像処理部600は、例えば、コンピュータ等の画像処理装置の一部として好適に利用され得る。
【0083】
図6において、601は、横方向のパディング処理のみを実行する第1のパディング処理ユニット(第2の実施の形態で説明した画像処理部200)、602は、縦方向のパディング処理のみを実行する第2のパディング処理ユニット(第2の実施の形態で説明した画像処理部200)、603は、第2のパディング処理ユニット602に供給する列データを選択するセレクタ、605は、横方向パディング処理後の形状情報を保持するシフトレジスタ509の出力を一括して受け取って保持し、縦方向のパディング処理ユニット602に供給し続けるレジスタである。
【0084】
その他の構成ユニットは、図5に示す第3の実施の形態における同一番号のユニットと同じである。
【0085】
この実施の形態では、第3の実施形態における第1ステージのパディング処理と、第2ステージのパディング処理とを同時に実行する。但し、第2ステージの処理を行なべきブロックは、既に第1ステージの処理が完了しているブロックである。
【0086】
処理方法は、最初のブロックの第1ステージまでは、第3の実施の形態と全く同じであり、第2ステージの処理が異なる。
【0087】
最初のブロックの第2ステージでは、データ保持ユニット群507は、各々、第2の入力端子のデータをレジスタに取り込まれるようにセレクタが切り換えられる。これにより、画素データの移動方向が右方向から上方向に変わる。
【0088】
第1のパディング処理ユニット601で処理された1行分の画素データは、データ保持ユニット群507の下端のデータ保持ユニットの第2の入力端子にも送らる。よって、2番目のブロックでは、横方向パディング処理が施された画素データは、データ保持ユニット群507を下から上に移動する。
【0089】
これと同期して、データ保持ユニット群507の上端のユニットから、最初のブロックの1列分の画素データが順次出力される。該画素データは、セレクタ603を経由して第2のパディング処理ユニット602に送られ、縦方向パディング処理が施され、端子群511に出力される。
【0090】
端子群511から1ブロック分のパディング処理データが出力された時、既に、データ保持ユニット群には次のブロックの画素データが格納されている。但し、最初のブロックでは左から右に画素データが移動しながら格納されるのに対して、2番目のブロックでは下から上に画素データが移動しながら格納される。
【0091】
よって、2番目のブロックの画素データを列単位で、データ保持ユニット群507から取り出すには、データ保持ユニット群507の右端のデータ保持ユニット群から画素データを取り出すと共に、画素データが左から右に移動するように、各データ保持ユニット内のセレクタが切り換えられる。
【0092】
これにより、3番目のブロックの横方向パディング処理を実行したデータも、最初のブロックと同様に、データ保持ユニット群507を左から右に移動しながら格納される。
【0093】
以上のように、データ保持ユニット群507における画素データの移動方向を、1ブロック毎に切り換えることにより、行単位のデータから列単位のデータへの変換を連続して実行することができる。よって、2つのパディング処理ユニット601及び602を休止させることなく連続的に動作させることができ、ブロック単位の画素データのパディング処理を効率よく実行することができる。
【0094】
この実施の形態は、第3の実施の形態をベースにしているため、横方向のパディング処理後の画素データを格納するデータ保持ユニット群507は、1ブロック分で十分であるが、この構成では、前段の横方向のパディング処理ユニットと後段の縦方向パディング処理ユニットとを同期して動作させる必要がある。
【0095】
このような制約をなくすには、例えば、データ保持ユニット群を2ブロック分設けて、一方に画素データを格納している時に、もう一方から画素データを読み出すようにすればよい。これにより、2つのパディング処理ユニットを完全に同期させて動作させる必要がなくなる。
【0096】
[第5の実施の形態]
図9は本発明の第5の実施の形態に係る画像符号化部の構成を示すブロック図である。
【0097】
図9において、1は1フレーム分の画像データを格納し、MPEG-4の手順に従ってマクロブロック単位に出力するフレームメモリであり、2は後述する予測値を減算する減算器である。3はDCT変換を施すDCT変換器であり、4は変換係数をそれぞれ量子化する量子化器である。5は量子化結果をエントロピー符号化するエントロピー符号化器である。6は量子化結果を変換係数に戻す逆量子化器であり、7は変換係数から画素データを復元する逆DCT器である。8は予測値を加算する加算器であり、9は再生画像を格納するフレームメモリである。
【0098】
10は入力されたマクロブロックの画素データとフレームメモリ9に格納された画素データから動きベクトルを検出する動きベクトル検出器である。11は検出された動きベクトルに従ってマクロブロック毎の予測値を算出する動き補償器であり、12は動きベクトルを符号化する動きベクトル符号化器である。13は2値の形状情報1フレーム分を格納し、MPEG-4の手順に従ってマクロブロック単位に切出して出力する2値のフレームメモリである。形状情報は各画素がオブジェクトの外か内かを示すデータである。14はマクロブロック単位で形状情報を算術符号化する形状符号化器である。15は前記再生画像に対応した形状情報を格納するフレームメモリである。16は該当するマクロブロックについて動きベクトル検出器10から動きベクトルを入力し、入力されたマクロブロックの形状情報とフレームメモリ15の形状情報を比較して形状情報の動きベクトルを算出して動き補償を行う動き補償器である。
【0099】
20、21は形状情報からパディングを制御するパディング制御器である。17はパディング制御器20からの制御と形状情報に従って、フレームメモリ1のオブジェクト外の画素データを補填するパディング器である。18はパディング制御器21からの制御と形状情報に従って、フレームメモリ9のオブジェクト外の画素データを補填するパディング器である。19は拡張パディングを実行する拡張パディング器である。
【0100】
上記の構成において、動画像の各フレームの符号化動作について述べる。
【0101】
まず、1フレーム分の画素データと形状情報がそれぞれフレームメモリ1とフレームメモリ13に格納される。
【0102】
入力された符号化対象のフレームがフレーム内符号化の対象であった場合はパディング制御器20とパディング器17が動作し、動き補償を伴うフレーム間符号化の対象であった場合はパディング制御器20、21、パディング器17、18及び拡張パディング器19が動作する。
【0103】
パディング器17及びパディング制御器20は、フレーム内符号化時には低域成分外挿法と呼ばれている方法でパディング処理を行ない、フレーム間符号化時には特に処理はせず、減算器2から出力される予測誤差の内、オブジェクト領域外の予測誤差の値をパディング制御器からの信号に基づいて“0”に置き換える。
【0104】
前記低域成分外挿法とは、オブジェクト内の画素の平均値でオブジェクト外の領域を埋めた後に、オブジェクト外の画素を該画素の上下左右4画素の平均値で置き換えるものである。パディング器18には、前記第3乃至第4の実施形態で説明した2次元パディング処理ユニットを用いる。
【0105】
フレーム内符号化が選択された場合、パディング器17は符号化に先行してパディング処理を行う。パディング制御器20はフレーメモリ13に格納された形状情報からオブジェクトの境界を含むマクロブロックを検出しそのマクロブロックの位置と形状情報をパディング器17に供給する。パディング器17はオブジェクトの境界を含むマクロブロックの画素データをフレームメモリ1から読み出して、前記低域成分外挿法によりオブジェクト外の画素データをオブジェクト内の画素データから算出する。
【0106】
フレーム間符号化が選択された場合、パディング器18は符号化に先行してパディング処理を行う。パディング制御器21はフレーメモリ15に格納された形状情報からオブジェクトの境界を含むマクロブロックを検出しそのマクロブロックの位置と形状情報をパディング器18に供給する。パディング器18はオブジェクトの境界を含むマクロブロックの画素データをフレームメモリ9から読み出して、オブジェクト外の画素データをオブジェクト内の画素データから生成する。
【0107】
上記パディング処理と平行して、パディング制御器21はフレーメモリ15に格納された形状情報から左右上下がオブジェクト内部の画素を含むマクロブロックと接しているマクロブロックを検出し、マクロブロックの位置を拡張パディング器19に供給する。拡張パディング器19はMPEG-4符号化方式の拡張パディングの手順に従って、隣接するマクロブロックの画素データをコピーする。
【0108】
符号化するブロックのパディング処理が終了したら、フレーム内符号化の場合は、マクロブロック単位に画素データをフレームメモリ1から読み出し、減算器2で予測値0を引き、DCT器3でDCT変換し、その変換係数を量子化器4で量子化する。
【0109】
量子化結果はエントロピ符号化器5にて符号化し、外部に出力する。と同時に量子化結果は逆量子化器6にも送られ、DCT変換係数が再生され、逆DCT器7にて画素データを再生して加算器8で予測値0を加えた後、フレームメモリ9に格納する。
【0110】
これと平行して、フレームメモリ13の2値形状情報は符号化器14にて、オブジェクト外のマクロブロックに関してはTransparentとして符号化し、境界を含むマクロブロックに関してはその形状を算術符号化し、完全にオブジェクト内に含まれる場合はOpaqueとして符号化して、外部に出力する。また該2値形状情報をフレームメモリ15にも格納し、次の形状情報の符号化に使用する。
【0111】
エントロピ符号化器5と形状符号化器14の出力が外部でMPEG-4の書式に必要なヘッダ情報等の符号化データと多重化されてMPEG-4符号化データとして出力される。
【0112】
フレーム間符号化の場合は、マクロブロック単位に画素データがフレームメモリ1から読み出され、動き検出器10に入力される。動き検出器10は入力されたマクロブロックの画素データとフレームメモリ9に格納されている再生画像データの部分画像と逐次比較し、該再生画像中の最も類似度の高い領域を特定し、その偏差を動きベクトルとして出力する。
【0113】
出力された動きベクトルは動きベクトル符号化器12で符号化され、外部に出力される。と同時に、動きベクトルは動き補償器11、16にも供給される。動き補償器11では動きベクトルに従って、フレームメモリ9から予測値を読み出し、減算器2に入力する。減算器2では符号化するマクロブロックの画素データから、前記入力された予測値を減算する。
【0114】
減算結果はDCT器3でDCT変換され、その変換係数を量子化器4で量子化される。量子化結果はエントロピ符号化器5で符号化され、外部に出力される。と同時に量子化結果は逆量子化器6に供給され、DCT変換係数を再生し、逆DCT器7で画素データを再生して加算器8で動き補償器11からの予測値を加え、フレームメモリ9に格納する。
【0115】
これと平行して、動き補償器16に動き検出器10で算出した動きベクトルを供給する。動き補償器16は、該動きベクトルを基準としてフレームメモリ15の形状情報と符号化マクロブロックの形状情報とを比較して形状情報の動きベクトルを算出し、動きベクトルと該動きベクトルが示す形状情報を予測値として形状符号化器14に供給する。
【0116】
フレームメモリ13の形状情報は形状符号化器14にて、オブジェクト外のマクロブロックに関してはTransparentとして符号化し、完全にオブジェクト内に含まれる場合はOpaqueとして符号化して、外部に出力する。
【0117】
境界を含むマクロブロックに関しては、インターモードにおいては形状情報の動きベクトルを符号化した後、その形状を動き補償器16からの予測値も参照して算術符号化し、外部に出力する。イントラモードでは動き補償器16からの予測値を参照せずに算術符号化し、外部に出力する。また形状情報はフレームメモリ15に格納し、次の形状情報の符号化に使用する。
【0118】
エントロピ符号化器5と形状符号化器14と動きベクトル符号化器12出力が外部でMPEG-4の書式に必要な情報等の符号化データと多重化されてMPEG-4符号化データとして出力される。
【0119】
拡張パディング器19は実際にはフレームメモリとそのメモリコントロールの機能で実現されるので、特別に設けなくても実現が可能な場合も有る。
【0120】
[第6の実施の形態]
図10は本発明の第6の実施の形態に係る画像復号部の構成を示すブロック図である。
【0121】
図10において、50は符号化データを入力し、量子化結果を再生するエントロピー復号器である。51は量子化結果を変換係数に戻す逆量子化器であり、52は変換係数から予測差分画素データを復元する逆DCT器である。53は予測値を加算する加算器であり、54はMPEG-4の手順に従ってマクロブロック単位に画像データを1フレーム分、格納するフレームメモリである。55は再生画像を格納するフレームメモリである。56は動きベクトルを復号して再生する動きベクトル復号器である。
【0122】
57は復号された動きベクトルに従ってマクロブロック毎の予測値を算出する動き補償器である。58はマクロブロック単位で形状データを復号する形状復号器である。
【0123】
59、60は復号された2値形状情報を格納する2値のフレームメモリである。61は該当するマクロブロックについて動きベクトル復号器56から動きベクトルを入力し、動きベクトルと形状復号器58で復号された形状情報の動きベクトルにしたがってフレームメモリ59から形状情報を読み出す動き補償器である。
【0124】
62は形状情報に従ってパディングを制御するパディング制御器である。63はフレームメモリ59の形状情報に従って、フレームメモリ55のオブジェクト外の画素データを補填するパディング器である。64は拡張パディングを実行する拡張パディング器である。
【0125】
上記の構成において、動画像の各フレームの復号動作について述べる。
【0126】
まず、フレーム内符号化されたフレームの復号から説明する。マクロブロック単位で形状情報の符号化データを形状復号器58に入力して、形状情報を復号する。
【0127】
形状復号器58は、マクロブロックのモードがTransparentの場合は形状情報としてすべて“0”を出力する。このモードの形状情報に対応したマクロブロックの画素データは存在しないので、復号処理は行なわない。
【0128】
マクロブロックのモードがOpaqueであれば、形状情報としてすべて“1” を出力する。算術符号化されている場合はこれを復号し、オブジェクトの境界の形状情報を再生する。再生された形状情報はフレームメモリ59とフレームメモリ60に格納される。
【0129】
マクロブロックの形状情報のモードがOpaqueか算術符号化であれば、マクロブロック単位で符号化データがエントロピ復号器50に入力される。エントロピ復号器50では符号化データを復号処理して量子化結果を再生する。該量子化結果を逆量子化器51に入力して、DCT変換係数を再生し、逆DCT器52で画素データを再生して加算器53で予測値“0”を加え、フレームメモリ54とフレームメモリ55に格納する。
【0130】
1フレーム分の処理が終了したら、フレームメモリ54およびフレームメモリ59の内容が外部に出力され、適宜合成される。
【0131】
次にフレーム間符号化されたフレームの復号を説明する。
【0132】
パディング器63は境界パディングの処理を行う。パディング制御器62はフレーメモリ60に格納された2値形状情報からオブジェクトの境界を含むマクロブロックを検出し、該マクロブロックのオブジェクトの境界を含むマクロブロックの画素データをフレームメモリ55から読み出して、該画素データと形状情報をパディング器63に供給する。
【0133】
パディング器63には、前記第3乃至第4の実施形態で説明した2次元パディング処理ユニットを用い、入力された画素データと2値形状情報からオブジェクト外部の画素データを生成する。
【0134】
続けて、パディング制御器62はフレーメモリ60に格納された2値形状情報から、オブジェクト内部の画素を含むマクロブロックと左右上下で接しているマクロブロックを検出し、マクロブロックの位置を拡張パディング器64に供給する。拡張パディング器64はMPEG-4符号化方式の拡張パディングの手順に従って、隣接するマクロブロックの画素データをコピーする。
【0135】
上記復号化処理と平行して、マクロブロック単位で形状情報の符号化データを形状復号器58に入力して、2値形状情報を復号する。
【0136】
マクロブロックのモードがTransparentの場合は形状情報としてすべて“0”を出力する。このモードの形状情報に対応したマクロブロックの画素データは存在しないので、復号処理は行なわない。
【0137】
マクロブロックのモードがOpaqueであれば、形状情報としてすべて“1”を出力する。イントラモードで算術符号化されている場合はこれを復号し、オブジェクトの境界の形状情報を再生し、フレームメモリ59に格納する。
【0138】
動き補償されているマクロブロックでは、まず動きベクトル復号器56にて動きベクトルを復号し、復号した動きベクトルは動き補償器57、61に入力する。
【0139】
形状情報がインターモードで算術符号化されていれば、形状復号器58は形状情報のための動きベクトルを算出するデータを復号し、動き補償器61はこの動きベクトルを用いて、フレームメモリ60から形状情報の予測値を読み出す。この予測値を参照して形状復号器58は形状情報を復号し、2値のフレームメモリ59に格納する。
【0140】
マクロブロックがフレーム内符号化されている場合は前述のフレーム内符号化データの復号動作によって復号を行いフレームメモリ54、55に画素データを格納する。
【0141】
マクロブロックがフレーム間符号化されている場合はマクロブロックの形状情報のモードがOpaqueか算術符号化であれば、マクロブロック単位で符号化データをエントロピ復号器50に入力し、該エントロピ復号器50で復号処理して量子化結果を再生する。
【0142】
量子化結果を逆量子化器51に入力してDCT変換係数を再生し、逆DCT器52にて変換係数から予測差分画素データを再生して加算器53に送る。
【0143】
平行して、動き補償器57は動きベクトル復号器56で復号された動きベクトルに基づき、フレームメモリ55から予測値を読み出し加算器53に供給する。
加算器53にて前記予測差分画素データに該予測値を加え、フレームメモリ54、55に格納する。
【0144】
フレーム内符号化の場合は前述のフレーム内符号化データの復号と同様に処理される。1フレーム分の処理が終了したら、フレームメモリ54およびフレームメモリ59の内容が外部に出力され、適宜合成される。
【0145】
[他の実施の形態]
なお、本発明は、複数の機器から構成されるシステムに適用しても、一つの機器からなる装置に適用してもよい。
【0146】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0147】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0148】
【発明の効果】
本発明によれば、例えば、パディング処理を高速で実行することができる。
【図面の簡単な説明】
【図1】第1の実施の形態に係る画像処理部の構成を示す図である。
【図2】第1の実施の形態に係る画像処理部における処理の一例を示す図である。
【図3】第1の実施の形態に係る処理をソフトウェアで実現する場合の処理の一例を示すフローチャートを示す図である。
【図4】第2の実施の形態に係る画像処理部の構成を示す図である。
【図5】第3の実施の形態に係る画像処理部の構成を示す図である。
【図6】第4の実施の形態に係る画像処理部の構成を示す図である。
【図7】第2の実施の形態の変形例に係る画像処理部の構成を示す図である。
【図8】第5の実施の形態に係る画像符号化装置の構成を示す図である。
【図9】第6の実施の形態に係る画像復号装置の構成を示す図である。
【符号の説明】
101 入力端子群
103,107 レジスタ群
125,127 セレクタ群
121 左伝搬処理部
123 右伝搬処理部
131 演算器群
401 マスク回路
507 データ保持ユニット群
509 シフトレジスタ
505,601,602 パディング処理ユニット
603 セレクタ
605 レジスタ
Claims (13)
- 入力した画像データをパディング処理し、出力する画像処理装置であって、
パディング処理対象の画像データ中の一次元に配列されたn個の画素データを単位に入力し、当該n個の画素データを保持する第1の保持手段と、
前記n個の画素データそれぞれに対応し、各画素がオブジェクト内、オブジェクト外のいずれに属するかを示す属性データを保持する第2の保持手段と、
前記第2の保持手段に保持された属性データに基づき、前記第1の保持手段に保持された画素データを前記一次元の配列の一方向に伝搬させ、伝搬済み第1乃至第nの画素データを出力する第1の伝搬手段と、
前記第2の保持手段に保持された属性データに基づき、前記第1の保持手段に保持された画素データを前記第1の伝搬手段の伝搬する方向とは逆の方向に伝搬させ、伝搬済みの第1乃至第nの画素データを出力する第2の伝搬手段と、
前記第1の伝搬手段及び前記第2の伝搬手段それぞれから出力された同じ画素位置の画素データの平均値を算出し、当該算出後の第1乃至第nの画素データを、前記一次元に並んだn個の画素データのパディング処理結果として出力する演算手段とを備え、
前記第1の伝搬手段は、n個の第1の選択手段S11乃至S1n、又は、n−1個の第1の選択手段S11乃至S1n-1で構成され、
前記第2の伝搬手段は、n個の第2の選択手段S21乃至S2n、又は、n−1個の第2の選択手段S22乃至S2nで構成され、
前記第1の保持手段に保持された第i番目の画素データをPi、前記第i番目の画素データに対応する前記第2の保持手段に保持された第i番目の属性データをAiとしたとき、
第i番目の前記第1の選択手段S1i(1≦i≦n−1)は、
(1)前記属性データAiが、画素データPiがオブジェクト内にあることを示している場合、前記画素データPiを、伝搬済みの第i番目の画素データとして選択出力し、
(2)前記属性データAiが、画素データPiがオブジェクト外にあることを示している場合、前記第1の選択手段S1i+1からの出力を、伝搬済みの第i番目の画素データとして選択出力し、
第i番目の前記第2の選択手段S2i(2≦i≦n)は、
(3)前記属性データAiが、画素データPiがオブジェクト内にあることを示している場合、前記画素データPiを、伝搬済みの第i番目の画素データとして選択出力し、
(4)前記属性データAiが、画素データPiがオブジェクト外にあることを示している場合、前記第2の選択手段S2i-1からの出力を、伝搬済みの第i番目の画素データとして選択出力し、
さらに、第1番目の前記第1の選択手段S11の出力を前記第2の伝播搬手段に、第n番目の前記第2の選択手段S2nの出力を前記第1の伝播搬手段に入力する
ことを特徴とする画像処理装置。 - 前記属性データは、各画素データについて1ビットのデータであることを特徴とする請求項1に記載の画像処理装置。
- 前記第1の保持手段、前記第2の保持手段、前記第1の伝搬手段、前記第2の伝搬手段及び前記演算手段を含むデータ処理手段から出力される一次元の画像データを順次保持することにより、二次元の画像データを保持するデータ保持手段と、
前記データ保持手段に保持された二次元の画像データを、前記データ処理手段から出力される一次元の画像データに対して異なる方向の一次元の画像データとして、前記データ処理手段に順次供給して、これにより前記データ処理手段に画像データを再処理させるデータ供給手段と、
を更に備えることを特徴とする請求項1又は請求項2に記載の画像処理装置。 - 前記データ処理手段に画像データを再処理させる際に要する属性データを元の属性データに基づいて生成し、これを再処理の際に前記データ処理手段に供給する属性データ生成手段を更に備えることを特徴とする請求項3に記載の画像処理装置。
- 前記第1の伝搬手段、前記第2の伝搬手段及び前記演算手段の構成を含む第1のデータ処理手段と、
前記第1の伝搬手段、前記第2の伝搬手段及び前記演算手段の構成を含む第2のデータ処理手段と、
前記第1のデータ処理手段から出力される一次元の画像データを順次保持することにより、二次元の画像データを保持するデータ保持手段と、
前記データ保持手段に保持された二次元の画像データを、前記第1のデータ処理手段から出力される一次元の画像データと異なる方向の一次元の画像データとして、前記第2のデータ処理手段に順次供給するデータ供給手段と、
を更に備えることを特徴とする請求項1又は請求項2に記載の画像処理装置。 - 前記第2のデータ処理手段に画像データを処理させる際に要する属性データを、前記第1のデータ処理手段に供給すべき属性データに基づいて生成し、これを前記第2のデータ処理手段に供給する属性データ生成手段を更に備えることを特徴とする請求項5に記載の画像処理装置。
- 前記第1のデータ処理手段及び前記第2のデータ処理手段は、複数ブロックの二次元の画像データを連続的に処理することを特徴とする請求項5又は請求項6に記載の画像処理装置。
- 前記データ保持手段は、前記第1のデータ処理手段から出力される画像データを取り込みながら前記第2のデータ処理手段に供給すべき画像データを出力することを特徴とする請求項5乃至請求項7のいずれか1項に記載の画像処理装置。
- 前記データ保持手段は、互いに直交する第1及び第2の方向にデータをシフトさせる機能を有し、第1のブロックの二次元の画像データを前記第1のデータ処理手段から取り込む際は、前記第1の方向にシフト動作を実行し、続く第2のブロックの二次元の画像データを前記第1のデータ処理手段から取り込む際は、前記第2の方向にシフト動作を実行することを特徴とする請求項5乃至請求項8のいずれか1項に記載の画像処理装置。
- 入力した画像データをパディング処理し、出力する画像処理方法であって、
パディング処理対象の画像データ中の一次元に配列したn個の画素データを単位に入力し、当該n個の画素データを第1の保持手段に格納する工程と、
前記n個の画素データそれぞれに対応し、各画素がオブジェクト内、オブジェクト外のいずれに属するかを示す属性データを第2の保持手段に格納する工程と、
前記第2の保持手段に保持された属性データに基づき、前記第1の保持手段に保持された画素データを前記一次元の配列の一方向に伝搬させ、伝搬済み第1乃至第nの画素データを出力する第1の伝搬工程と、
前記第2の保持手段に保持された属性データに基づき、前記第1の保持手段に保持された画素データを前記第1の伝搬工程の伝搬する方向とは逆の方向に伝搬させ、伝搬済みの第1乃至第nの画素データを出力する第2の伝搬工程と、
前記第1の伝搬工程及び前記第2の伝搬工程それぞれから出力された同じ画素位置の画素データの平均値を算出し、当該算出後の第1乃至第nの画素データを、前記一次元に並んだn個の画素データのパディング処理結果として出力する演算工程とを備え、
前記第1の伝搬工程は、n個の第1の選択工程S11乃至S1n、又は、n−1個の第1の選択工程S11乃至S1n-1で構成され、
前記第2の伝搬工程は、n個の第2の選択工程S21乃至S2n、又は、n−1個の第2の選択工程S22乃至S2nで構成され、
前記第1の保持手段に保持された第i番目の画素データをPi、前記第i番目の画素データに対応する前記第2の保持手段に保持された第i番目の属性データをAiとしたとき、
第i番目の前記第1の選択工程S1iでは、
(1)前記属性データAiが、画素データPiがオブジェクト内にあることを示している場合、前記画素データPiを、伝搬済みの第i番目の画素データとして選択出力し、
(2)前記属性データAiが、画素データPiがオブジェクト外にあることを示している場合、前記第1の選択工程S1i+1からの出力を、伝搬済みの第i番目の画素データとして選択出力し、
第i番目の前記第2の選択工程S2iでは、
(3)前記属性データAiが、画素データPiがオブジェクト内にあることを示している場合、前記画素データPiを、伝搬済みの第i番目の画素データとして選択出力し、
(4)前記属性データAiが、画素データPiがオブジェクト外にあることを示している場合、前記第2の選択工程S2i-1からの出力を、伝搬済みの第i番目の画素データとして選択出力し、
さらに、第1番目の前記第1の選択工程S11の出力を前記第2の伝播搬工程に、第n番目の前記第2の選択工程S2nの出力を前記第1の伝播搬工程に入力する
ことを特徴とする画像処理方法。 - コンピュータが読み込み実行することで、前記コンピュータを、請求項1乃至請求項9のいずれか1項に記載の画像処理装置として機能させるコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
- 請求項1乃至請求項9のいずれか1項に記載の画像処理装置を有することを特徴とする画像符号化装置。
- 請求項1乃至請求項9のいずれか1項に記載の画像処理装置を有することを特徴とする画像復号装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001007822A JP4574019B2 (ja) | 2000-02-24 | 2001-01-16 | 画像処理装置及び画像処理方法及びメモリ媒体、並びに画像符号化装置及び画像復号装置 |
US09/791,545 US6952501B2 (en) | 2000-02-24 | 2001-02-26 | Image processing apparatus, image encoding apparatus, and image decoding apparatus |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000048147 | 2000-02-24 | ||
JP2000-48147 | 2000-02-24 | ||
JP2001007822A JP4574019B2 (ja) | 2000-02-24 | 2001-01-16 | 画像処理装置及び画像処理方法及びメモリ媒体、並びに画像符号化装置及び画像復号装置 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2001313939A JP2001313939A (ja) | 2001-11-09 |
JP2001313939A5 JP2001313939A5 (ja) | 2008-02-28 |
JP4574019B2 true JP4574019B2 (ja) | 2010-11-04 |
Family
ID=26586034
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001007822A Expired - Fee Related JP4574019B2 (ja) | 2000-02-24 | 2001-01-16 | 画像処理装置及び画像処理方法及びメモリ媒体、並びに画像符号化装置及び画像復号装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4574019B2 (ja) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000023190A (ja) * | 1998-06-26 | 2000-01-21 | Sony Corp | 動きベクトル生成方法、画像符号化装置、動き補償方法、動き補償装置、及び提供媒体 |
-
2001
- 2001-01-16 JP JP2001007822A patent/JP4574019B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000023190A (ja) * | 1998-06-26 | 2000-01-21 | Sony Corp | 動きベクトル生成方法、画像符号化装置、動き補償方法、動き補償装置、及び提供媒体 |
Also Published As
Publication number | Publication date |
---|---|
JP2001313939A (ja) | 2001-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3863510B2 (ja) | 動きベクトル符号化/復号化方法及びその装置 | |
US9332264B2 (en) | Configurable performance motion estimation for video encoding | |
US7953284B2 (en) | Selective information handling for video processing | |
JP4502203B2 (ja) | 画像符号化装置、及び画像復号化装置 | |
US9699451B2 (en) | Motion estimation compatible with multiple standards | |
KR100624426B1 (ko) | 파이프 라인 방식의 복호화 장치 및 방법과, 이 장치를제어하는 컴퓨터 프로그램을 저장하는 컴퓨터로 읽을 수있는 기록 매체 | |
US20060093043A1 (en) | Coding apparatus, decoding apparatus, coding method and decoding method | |
JP2009544225A (ja) | ビデオ圧縮用並列処理装置 | |
JP5426655B2 (ja) | 圧縮動画符号化装置、圧縮動画復号化装置、圧縮動画符号化方法および圧縮動画復号化方法 | |
US20070217702A1 (en) | Method and apparatus for decoding digital video stream | |
KR100842557B1 (ko) | 동영상 처리 장치에서 메모리 액세스 방법 | |
US6952501B2 (en) | Image processing apparatus, image encoding apparatus, and image decoding apparatus | |
JP2007013298A (ja) | 画像符号化装置 | |
JP2008182527A (ja) | 画像符号化装置及び方法、並びに撮像システム | |
JP2013115583A (ja) | 動画像符号化装置及びその制御方法並びにプログラム | |
JP4822940B2 (ja) | 画像処理装置及び画像処理方法 | |
JP5580541B2 (ja) | 画像復号化装置および画像復号化方法 | |
JP4574019B2 (ja) | 画像処理装置及び画像処理方法及びメモリ媒体、並びに画像符号化装置及び画像復号装置 | |
JP4383367B2 (ja) | 動きベクトル検出装置 | |
JP4557440B2 (ja) | 画像処理装置及び画像符号化装置及び画像復号装置 | |
JP2006166308A (ja) | 復号化装置及び復号化方法 | |
KR100708183B1 (ko) | 움직임 추정을 위한 영상 데이터 저장 장치 및 그 데이터저장 방법 | |
JP6825699B2 (ja) | 動画像処理装置、動画像処理方法、及び、動画像処理プログラム | |
JP2009272948A (ja) | 動画像復号化装置及び動画像復号化方法 | |
JP4574021B2 (ja) | 画像処理装置及び方法、並びに画像符号化装置及び画像復号装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080109 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080109 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091119 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091124 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100423 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100621 |
|
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: 20100806 |
|
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: 20100818 |
|
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: 20130827 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |