(57)【特許請求の範囲】
【請求項１】
入力した画像データをパディング処理し、出力する画像処理装置であって、
パディング処理対象の画像データ中の一次元に配列された画素列中の、配列位置を示す番号ｉを用いた第ｉ番目の画素をＰiと表現したとき、ｎ個の画素データＰ1,Ｐ2,…,Ｐnを入力し保持する第１のレジスタ群と、
前記ｎ個の画素データＰ1,Ｐ2,…,Ｐnそれぞれに対応し、各画素がオブジェクト内、オブジェクト外のいずれに属するかを示す属性データＡ1,Ａ2,…,Ａnを保持する第２のレジスタ群と、
前記第２のレジスタ群に保持された属性データＡ1,Ａ2,…,Ａn-1に基づき、前記第１のレジスタ群に保持されたｎ−１個の画素データＰ1,Ｐ2,…,Ｐn-1を、前記番号の若い方向に伝搬させ、伝搬後の画素データＰ１1…Ｐ１n-1を生成する第１の伝搬手段と、
前記第２のレジスタ群に保持された属性データＡ2,Ａ3,…,Ａnに基づき、前記第１のレジスタ群に保持されたｎ−１個の画素データＰ2,Ｐ3,…,Ｐnを、前記番号の大きい方向に伝搬させ、伝搬後の画素データＰ２2…Ｐ２nを生成する第２の伝搬手段と、
前記第１の伝搬手段、及び、前記第２の伝搬手段で生成された伝搬処理後の画素データに演算を施し、前記一次元に配列されたｎ個の画素データに対するパディング処理結果となるｎ個の画素データを生成し、出力する演算手段とを備え、
前記第１の伝搬手段は、ｎ−１個の第１選択手段を有し、
前記第２の伝搬手段は、ｎ−１個の第２選択手段を有し、
前記ｎ−１個の前記第１選択手段を、前記番号に対応づけてＳ１1,…,Ｓ１n-1と定義し、前記ｎ−１個の前記第２選択手段を前記番号に対応づけてＳ２2,…,Ｓ２nと定義したとき、
第ｉ番目の前記第１選択手段Ｓ１iは、
（１）前記属性データＡiが、画素データＰiがオブジェクト内にあることを示している場合、前記画素データＰiを、伝搬済みの第ｉ番目の画素データＰ１iとして選択出力し、
（２）前記属性データＡiが、画素データＰiがオブジェクト外にあることを示している場合であって、ｉ＜ｎ−１の場合には、前記第１の選択手段Ｓ１i+1からの出力を伝搬済みの第ｉ番目の画素データＰ１iとして選択出力し、ｉ＝ｎ−１の場合には前記第２の選択手段Ｓ２nから出力され該第１の選択手段Ｓ１n-1に入力されるデータを画素データＰ１iとして選択出力し、
第ｉ番目の前記第２の選択手段Ｓ２iは、
（３）前記属性データＡiが、画素データＰiがオブジェクト内にあることを示している場合、前記画素データＰiを、伝搬済みの第ｉ番目の画素データＰ２iとして選択出力し、
（４）前記属性データＡiが、画素データＰiがオブジェクト外にあることを示している場合であって、ｉ＞２の場合には、前記第２の選択手段Ｓ２i-1からの出力を、伝搬済みの第ｉ番目の画素データＰ２iとして選択出力し、ｉ＝２の場合には前記第１の選択手段Ｓ１1から出力され該第２の選択手段Ｓ２2に入力されるデータを画素データＰ２iとして選択出力し、
前記演算手段は、１個の平均値算出器と２個のセレクタで構成される、（ｎ−２）／２個の演算部を有し、
前記（ｎ−２）／２個の演算部における第ｍ番目の演算部が有する前記平均値算出器には、前記第１の選択手段Ｓ１2m+1が選択した画素データＰ１2m+1と、前記第２の選択手段Ｓ２2mが選択した画素データＰ２2mが平均値算出対象として供給され、
前記第ｍ番目の演算部が有する２つのセレクタを第１セレクタ、第２セレクタとしたとき、
前記第１セレクタは、
（５）属性データＡ2mが、画素データＰ2mがオブジェクト内にあることを示している場合、前記画素データＰ2mをパディング処理済みの画素データとして選択出力し、
（６）属性データＡ2mが、画素データＰ2mがオブジェクト外にあることを示している場合、前記第ｍ番目の演算器が有する平均値算出器が算出した平均値を、パディング処理済みの画素データとして選択出力し、
前記第２セレクタは、
（７）属性データＡ2m+1が、画素データＰ2m+1がオブジェクト内にあることを示している場合、前記画素データＰ2m+1をパディング処理済みの画素データとして選択出力し、
（８）属性データＡ2m+1が、画素データＰ2m+1がオブジェクト外にあることを示している場合、前記第ｍ番目の演算器が有する平均値算出器が算出した平均値を、パディング処理済みの画素データとして選択出力する
ことで、第２番目乃至第ｎ−１番目のパディング処理済み画素データを出力し、
前記第１選択手段Ｓ１1が選択した画素データ、前記第２選択手段Ｓ２nが選択した画素データを、第１番目、第ｎ番目のパディング処理済み画素データとして出力する
ことを特徴とする画像処理装置。
【請求項２】
入力した画像データをパディング処理し、出力する画像処理装置であって、
パディング処理対象の画像データ中の一次元に配列された画素列中の、配列位置を示す番号ｉを用いた第ｉ番目の画素をＰiと表現したとき、ｎ個の画素データＰ1,Ｐ2,…,Ｐnを入力し保持する第１のレジスタ群と、
前記ｎ個の画素データＰ1,Ｐ2,…,Ｐnそれぞれに対応し、各画素がオブジェクト内、オブジェクト外のいずれに属するかを示す属性データＡ1,Ａ2,…,Ａnを保持する第２のレジスタ群と、
前記第２のレジスタ群に保持された属性データＡ1,Ａ2,…,Ａn-1に基づき、前記第１のレジスタ群に保持されたｎ−１個の画素データＰ1,Ｐ2,…,Ｐn-1を、前記番号の若い方向に伝搬させ、伝搬後の画素データＰ１1…Ｐ１n-1を生成する第１の伝搬手段と、
前記第２のレジスタ群に保持された属性データＡ2,Ａ3,…,Ａnに基づき、前記第１のレジスタ群に保持されたｎ−１個の画素データＰ2,Ｐ3,…,Ｐnを、前記番号の大きい方向に伝搬させ、伝搬後の画素データＰ２2…Ｐ２nを生成する第２の伝搬手段と、
前記第１の伝搬手段、及び、前記第２の伝搬手段で生成された伝搬処理後の画素データに演算を施し、前記一次元に配列されたｎ個の両端の画素を除くｎ−２個の画素データに対するパディング処理結果となるｎ−２個の画素データを２回に分けて出力する演算手段とを備え、
前記第１の伝搬手段は、ｎ−１個の第１選択手段を有し、
前記第２の伝搬手段は、ｎ−１個の第２選択手段を有し、
前記ｎ−１個の前記第１選択手段を、前記番号に対応づけてＳ１1,…,Ｓ１n-1と定義し、前記ｎ−１個の前記第２選択手段を前記番号に対応づけてＳ２2,…,Ｓ２nと定義したとき、
第ｉ番目の前記第１選択手段Ｓ１iは、
（１）前記属性データＡiが、画素データＰiがオブジェクト内にあることを示している場合、前記画素データＰiを、伝搬済みの第ｉ番目の画素データＰ１iとして選択出力し、
（２）前記属性データＡiが、画素データＰiがオブジェクト外にあることを示している場合であって、ｉ＜ｎ−１の場合には、前記第１の選択手段Ｓ１i+1からの出力を伝搬済みの第ｉ番目の画素データＰ１iとして選択出力し、ｉ＝ｎ−１の場合には前記第２の選択手段Ｓ２nから出力され該第１の選択手段Ｓ１n-1に入力されるデータを画素データＰ１iとして選択出力し、
第ｉ番目の前記第２の選択手段Ｓ２iは、
（３）前記属性データＡiが、画素データＰiがオブジェクト内にあることを示している場合、前記画素データＰiを、伝搬済みの第ｉ番目の画素データＰ２iとして選択出力し、
（４）前記属性データＡiが、画素データＰiがオブジェクト外にあることを示している場合であって、ｉ＞２の場合には、前記第２の選択手段Ｓ２i-1からの出力を、伝搬済みの第ｉ番目の画素データＰ２iとして選択出力し、ｉ＝２の場合には前記第１の選択手段Ｓ１1から出力され該第２の選択手段Ｓ２2に入力されるデータを画素データＰ２iとして選択出力し、
前記演算手段は、
ｎ／２個の平均値算出器と、
該ｎ／２個の平均値演算器に、ｎ／２個の平均値を算出するための、第１、第２の伝搬手段で得られた同じ画素位置の２つの画素データを１組とする、ｎ−２組と両端部の２つのデータを２回に分けて供給するセレクタと備え、
該セレクタによる各供給によって、前記ｎ／２個の平均値算出器で得られたｎ／２個の平均値を、パディング処理結果であるｎ／２個の画素データとして出力する
ことを特徴とする画像処理装置。
【請求項３】
前記属性データは、各画素データについて１ビットのデータであることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
請求項１又は２に記載の画像処理装置を有することを特徴とする画像符号化装置。
【請求項５】
請求項１又は２に記載の画像処理装置を有することを特徴とする画像復号装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像データをその属性データに基づいて処理する画像処理装置及び画像符号化装置及び画像復号装置に関する。
【０００２】
【従来の技術】
画像（特に動画像）は、そのデータ量が非常に大きい。従って、画像を蓄積・伝送する際には、そのデータ量を大幅に削減するための圧縮処理が不可欠である。動画像を圧縮（符号化）する処理として、既にＭＰＥＧ−１、ＭＰＥＧ−２などの国際標準が定められているが、これらはテレビカメラ等で撮影した矩形領域の画像のみを対象としている。
【０００３】
画像の特徴は様々であるが、背景とその背景より手前にある被写体（オブジェクト）とからなる画像が数多く存在する。一般的に、背景となる画像は、激しい動きを伴なわず、撮影に使用するカメラの動きに合わせて全体が移動したり、背景中の様々なものが各々細かい動きをしたりする。それに対して、オブジェクトは、激しい動きを伴なう場合がある。このように、オブジェクトと背景とは異なる性質を有する。
【０００４】
ＭＰＥＧ−１、ＭＰＥＧ−２に続いて標準化が進められているＭＰＥＧ−４では、オブジェクトと背景とを別々に取り扱えるようにし、有用なオブジェクトを他で再利用することにより、動画コンテンツの生産性を高めたり、画像を見る側でオブジェクトを操作することができる枠組みを用意することで、画像に対して能動的な関係を築き、新しい表現ができるように考えられている。
【０００５】
しかしながら、オブジェクトの形状は矩形ではなく任意であるため、従来のＭＰＥＧ−１、ＭＰＥＧ−２で用いられてきた圧縮手法をそのまま適用することはできない。
【０００６】
動画圧縮では、更にフレーム間の相関を利用してデータ量を減らす。フレーム間の相関を利用するということは、オブジェクトの現フレームのデータを符号化する際に、他のフレームにおける相関の強い領域を参照し、その差分値を符号化することである。
【０００７】
オブジェクトが任意の形状であると、当然、参照される他のフレームにおけるオブジェクトの形状も任意であり、オブジェクトの外の領域においては値が無い状態である。これでは、ブロック単位の動きベクトル情報を求めることが出来ない。
【０００８】
そこで、参照されるオブジェクトにパディング処理を施して矩形領域に広げた上でブロック単位の動きベクトル探索を行なう。
【０００９】
２次元的な広がりを持つ画像データのパディング処理は、１次元のパディング処理を、横方向と縦方向に対して順に行なうことで実現する。１次元のパディング処理は以下のように行なうことができる。
【００１０】
複数のオブジェクトで挟まれたオブジェクト外の領域（行または列）は、該領域の両端のオブジェクト内の画素データの平均値に置き換え、その他のオブジェクト外の領域は、該領域に接するオブジェクト内の画素データに置き換える。
【００１１】
図１は、上記のパディング処理の一例を示す図である。図１では、水平（横）方向パディング処理を説明するため、ブロック内の１行分の２値形状情報（属性データ）と画素データとが示されている。但し、オブジェクト外の領域の画素データは、他の値で置き換えられるため、元の値は殆ど意味が無い。従って、オブジェクト外の領域の画素データの値は省略されている。
【００１２】
図１（ａ）は２値形状情報、（ｂ）はオブジェクト領域内の画素データを示している。この例では、ブロック１行分の画素数は１６である。この１６画素の中には、オブジェクト外の領域が４つある。具体的には、オブジェクト外の領域は、画素値”７８”の画素の左の１画素からなる領域、画素値”７４”の画素と画素値”５６”の画素で挟まれた４画素からなる領域、画素値”６４”の画素と画素値”４２”の画素で挟まれた２画素からなる領域、画素値”４２”の画素の右側の３画素からなる領域の４つである。
【００１３】
両端の領域は、該領域に接するオブジェクト内の画素データで置き換えられるため、左端の１画素は画素値”７８”の画素に置き換えられ、右端の３画素は画素値”４２”の画素に置き換えられる。
【００１４】
残りの２つの領域は、両側のオブジェクト内の画素に挟まれているので、左側の４画素は画素値”７４”と”５６”の平均値”６５”の画素に置き換えられ、右側の２画素は画素値”６４”と”４２”の平均値”５３”の画素に置き換えられる。その結果、図１（ｃ）に示すような画素データが、パディング処理の結果として得られる。
【００１５】
ブロックデータは、複数の行データからなり、それぞれの行データに水平方向パディング処理を施すことにより、図２（ａ）に示すオブジェクト領域内の画素データは、図２（ｂ）のように広がる。ここで、斜線部は、オブジェクト内の領域及びパディング処理によってデータが補充された画素の領域を示す。
【００１６】
水平方向パディング処理の次は、垂直方向パディング処理が実行される。垂直方向パディング処理は、処理の単位が横１行から縦１列に変わる点を除いて、処理方法は、水平方向パディング処理と同様である。垂直パディング処理の後には、図２（ｃ）のようにブロック内の全てが有効な画素データで埋め尽くされる。
【００１７】
【発明が解決しようとする課題】
本発明は、上記の背景に鑑みてなされたものであり、例えば、パディング処理のために要する装置規模を削減することを目的とする。
【００１８】
【課題を解決するための手段】
本発明に係る画像処理装置は、入力した画像データをパディング処理し、出力する画像処理装置であって、
パディング処理対象の画像データ中の一次元に配列された画素列中の、配列位置を示す番号ｉを用いた第ｉ番目の画素をＰiと表現したとき、ｎ個の画素データＰ1,Ｐ2,…,Ｐnを入力し保持する第１のレジスタ群と、
前記ｎ個の画素データＰ1,Ｐ2,…,Ｐnそれぞれに対応し、各画素がオブジェクト内、オブジェクト外のいずれに属するかを示す属性データＡ1,Ａ2,…,Ａnを保持する第２のレジスタ群と、
前記第２のレジスタ群に保持された属性データＡ1,Ａ2,…,Ａn-1に基づき、前記第１のレジスタ群に保持されたｎ−１個の画素データＰ1,Ｐ2,…,Ｐn-1を、前記番号の若い方向に伝搬させ、伝搬後の画素データＰ１1…Ｐ１n-1を生成する第１の伝搬手段と、
前記第２のレジスタ群に保持された属性データＡ2,Ａ3,…,Ａnに基づき、前記第１のレジスタ群に保持されたｎ−１個の画素データＰ2,Ｐ3,…,Ｐnを、前記番号の大きい方向に伝搬させ、伝搬後の画素データＰ２2…Ｐ２nを生成する第２の伝搬手段と、
前記第１の伝搬手段、及び、前記第２の伝搬手段で生成された伝搬処理後の画素データに演算を施し、前記一次元に配列されたｎ個の画素データに対するパディング処理結果となるｎ個の画素データを生成し、出力する演算手段とを備え、
前記第１の伝搬手段は、ｎ−１個の第１選択手段を有し、
前記第２の伝搬手段は、ｎ−１個の第２選択手段を有し、
前記ｎ−１個の前記第１選択手段を、前記番号に対応づけてＳ１1,…,Ｓ１n-1と定義し、前記ｎ−１個の前記第２選択手段を前記番号に対応づけてＳ２2,…,Ｓ２nと定義したとき、
第ｉ番目の前記第１選択手段Ｓ１iは、
（１）前記属性データＡiが、画素データＰiがオブジェクト内にあることを示している場合、前記画素データＰiを、伝搬済みの第ｉ番目の画素データＰ１iとして選択出力し、
（２）前記属性データＡiが、画素データＰiがオブジェクト外にあることを示している場合であって、ｉ＜ｎ−１の場合には、前記第１の選択手段Ｓ１i+1からの出力を伝搬済みの第ｉ番目の画素データＰ１iとして選択出力し、ｉ＝ｎ−１の場合には前記第２の選択手段Ｓ２nから出力され該第１の選択手段Ｓ１n-1に入力されるデータを画素データＰ１iとして選択出力し、
第ｉ番目の前記第２の選択手段Ｓ２iは、
（３）前記属性データＡiが、画素データＰiがオブジェクト内にあることを示している場合、前記画素データＰiを、伝搬済みの第ｉ番目の画素データＰ２iとして選択出力し、
（４）前記属性データＡiが、画素データＰiがオブジェクト外にあることを示している場合であって、ｉ＞２の場合には、前記第２の選択手段Ｓ２i-1からの出力を、伝搬済みの第ｉ番目の画素データＰ２iとして選択出力し、ｉ＝２の場合には前記第１の選択手段Ｓ１1から出力され該第２の選択手段Ｓ２2に入力されるデータを画素データＰ２iとして選択出力し、
前記演算手段は、１個の平均値算出器と２個のセレクタで構成される、（ｎ−２）／２個の演算部を有し、
前記（ｎ−２）／２個の演算部における第ｍ番目の演算部が有する前記平均値算出器には、前記第１の選択手段Ｓ１2m+1が選択した画素データＰ１2m+1と、前記第２の選択手段Ｓ２2mが選択した画素データＰ２2mが平均値算出対象として供給され、
前記第ｍ番目の演算部が有する２つのセレクタを第１セレクタ、第２セレクタとしたとき、
前記第１セレクタは、
（５）属性データＡ2mが、画素データＰ2mがオブジェクト内にあることを示している場合、前記画素データＰ2mをパディング処理済みの画素データとして選択出力し、
（６）属性データＡ2mが、画素データＰ2mがオブジェクト外にあることを示している場合、前記第ｍ番目の演算器が有する平均値算出器が算出した平均値を、パディング処理済みの画素データとして選択出力し、
前記第２セレクタは、
（７）属性データＡ2m+1が、画素データＰ2m+1がオブジェクト内にあることを示している場合、前記画素データＰ2m+1をパディング処理済みの画素データとして選択出力し、
（８）属性データＡ2m+1が、画素データＰ2m+1がオブジェクト外にあることを示している場合、前記第ｍ番目の演算器が有する平均値算出器が算出した平均値を、パディング処理済みの画素データとして選択出力する
ことで、第２番目乃至第ｎ−１番目のパディング処理済み画素データを出力し、
前記第１選択手段Ｓ１1が選択した画素データ、前記第２選択手段Ｓ２nが選択した画素データを、第１番目、第ｎ番目のパディング処理済み画素データとして出力することを特徴とする。
【００２５】
本発明に係る画像処理装置において、前記の各演算手段は、例えば、前記第１の伝搬手段の出力と前記第２の伝搬手段の出力との平均値を演算することにより出力画像を構成する画素データを生成することが好ましい。
【００２８】
本発明に係る画像処理装置において、前記属性データは、例えば、各画素データについて１ビットのデータであることが好ましい。
【００２９】
本発明に係る画像処理装置において、前記属性データは、例えば、対応する画素データが画像中のオブジェクトに属するか否かを示すデータであることが好ましい。
【００３１】
【発明の実施の形態】
まず、本出願人が他の出願において開示したパディング処理回路について説明する。
【００３２】
本出願人が他の出願において開示したパディング処理回路は、１行が１０画素のデータに対して１次元方向のパディング処理を施すが、この原理は、例えば、任意の数の画素データに対する１次元方向のパディング処理に拡張することができる。
【００３３】
図３は、本出願人が他の出願において開示したパディング処理用の画像処理部の構成を示す図である。図３において、３０１は、パディング処理を施すべき一元の画像データを構成する複数の画素データを入力する端子群、３０３は、一次元の画像データを構成する複数の画素データを保持するレジスタ群、３０５は、一次元の画像データを構成する各画素データに係る画素がオブジェクト内の画素であるか、オブジェクト外の画素であるかを表わす属性データとしての形状情報（ここでは、各画素に対して１ビット）を入力する端子群、３０７は、形状情報を保持するレジスタ群、３２１は、形状情報に基づいて該当する画素データを左方向に伝搬させるための左伝搬処理部、３２３は、形状情報に基づいて該当する画素データを右方向に伝搬させるための右伝搬処理部、３２５ｂ〜ｊは、左伝搬処理部３２１を構成するセレクタ群、３２７ａ〜ｉは、右伝搬処理部３２３を構成するセレクタ群、３３１ｂ〜ｉは、２つの画素データ間の平均値を演算するための演算器群である。
【００３４】
パディング処理を施すべき画素データ、該画素データに対する２値形状情報は、１個ずつ或いは１０個同時に端子３０１、３０５から各々入力され、レジスタ３０３、３０７に各々保持される。形状情報（２値）の“１”は、当該画素がオブジェクト内の画素であることを表わし、“０”は、当該画素がオブジェクト外の画素であることを表わす。
【００３５】
レジスタ群３０３に保持された複数の画素データは、各々左伝搬処理部３２１、右伝搬処理部３２３内の対応するセレクタに入力される。レジスタ群３０７に保持された形状情報は、各々左伝搬処理部３２１、右伝搬処理部３２３内の対応するセレクタの制御信号として入力される。
【００３６】
各セレクタは、該制御信号が“１”の時はレジスタ群３０３から入力される画素データを選択し、“０”の時は前段のセレクタで選択された画素データを選択する。これにより、オブジェクト外の画素をオブジェクト内の画素データで置き換えるように、画素データが伝搬する。
【００３７】
左伝搬処理部３２１では、オブジェクト内の画素データが図３の左方向に伝搬し、右伝搬処理部３２３では、オブジェクト内の画素データが図３の右方向に伝搬する。
【００３８】
各々のセレクタで選択された画素データは演算器群３３１の該当する演算器に送られる。演算器群３３１の各演算器は、対応するセレクタから供給される２つの画素データの平均値を求めて出力する。
【００３９】
図４は、図３に示す画像処理部における処理の具体例を示す図である。図４の（ａ）は、２値の形状情報、（ｂ）は、入力画素データ（オブジェクト外は意味が無いので省略されている）、（ｃ）は、左伝搬処理部３２１におけるセレクタの出力値（セレクタの無いところは省略）、（ｄ）は、右伝搬処理部３２３におけるセレクタの出力値（セレクタの無いところは省略）、（ｅ）は、演算器群３３１の平均値出力（両端は、セレクタ出力）を表わす。
【００４０】
両端の画素はオブジェクトに挟まれることは有り得ないので、平均値を求めるための演算器は不要であり、また、該不要な演算器に対する入力を選択する２つのセレクタの一方は不要である。従って、両端の画素位置では、１つのセレクタで選択された値がパディング処理の結果として出力される。
【００４１】
その他の画素位置では、各々２つのセレクタがあり、形状情報が“１”（オブジェクト内）の画素については入力画素データが選択され、形状情報が“０”の画素についてはオブジェクト内の画素データを左又は右に伝搬させた値が選択される。
【００４２】
演算器群３３１は、各画素ごとに選択された２つの値の平均値を演算して、パディング処理の結果として出力する。オブジェクト内の画素（形状情報”１”に対応する画素）については、演算器に供給される２つの値が同じ値（入力画素データ）であり、演算結果は、該２つの値と同じである。
【００４３】
オブジェクトに挟まれた領域の画素（形状情報が”０”に対応する画素）については、対応する演算器に供給される左伝搬画素データの値と右伝搬画素データの値とが異なるため、左伝搬画素データの値と右伝搬画素データの値との平均値が各画素ごと演算され、パディング処理の結果として出力される。
【００４４】
以上の処理により、オブジェクトで挟まれたオブジェクト外の領域は、該領域の両端のオブジェクト内の画素データの平均値に置き換えられ、その他のオブジェクト外の領域は、該領域に接するオブジェクト内の画素データに置き換えられる。
【００４５】
上記と同一構成で、１０画素未満の任意の画素数についてのパディング処理が可能である。これは、画素入力の無い端子に対応する形状情報を“０”に固定することによって実現される。
【００４６】
この構成では、Ｎ画素を同時に処理するには、（Ｎ−２）個の演算器が必要であり、また、演算器群３３１の回路規模は他のレジスタやセレクタ等の回路規模に比べて大きいため、回路規模を小さくする上での障害となる。そこで、以下の実施の形態では、演算器の数を削減することにより、全体の回路規模を削減する。これにより、例えば、低コストな回路を製造すること、及び／又は、同様なパディング処理回路を更に設けて処理を更に高速化することが可能になる。
【００４７】
［第１の実施の形態］
以下に説明する本発明の第１の実施の形態に係る画像処理部は、図３に示す画像処理部の半分の数の演算器で同等のパディング処理性能を奏する。
【００４８】
図５は、本発明の第１の実施の形態に係る画像処理部の構成を示す図である。
この画像処理部５００は、例えば、コンピュータ等の画像処理装置の一部として好適に利用され得る。図５において、５０１〜５０４は、平均値を演算する演算器、５０５ｂ〜ｉは、形状情報に基づいて、演算器５０１〜５０４で演算した平均値及び入力画素データの一方を個別に選択するセレクタ（決定手段）である。
その他の構成要素は、図３における同一番号の構成要素と同一である。
【００４９】
１０画素を並列にパディング処理する画像処理部５００において、独立して平均値を演算する必要がある最大の数は４である。これは、以下の説明から理解できるであろう。
【００５０】
Ｍ個の平均値を独立に計算する必要があるとすると、形状情報には、最低Ｍ個の“０”と、その“０”を分断し挟み込むために少なくとも（Ｍ＋１）個の“１”がなければならない。即ち、（２Ｍ＋１）又は（２Ｍ＋２）個の一次元の画素データにおいて、独立に計算する必要のある平均値の数はＭ個である。また、隣接する画素の画素データの値を決定するために平均値を独立に決定する必要はない。
【００５１】
４個の平均値を独立に計算するには、少なくとも４個の演算器が必要である。
ここで、この４個の演算器の配置を特定するために、次のパターンの形状情報について考える。
【００５２】
（ｐ１）  １０１０１０１０１０
（ｐ２）  １０１０１０１００１
（ｐ３）  １０１０１００１０１
（ｐ４）  １０１００１０１０１
（ｐ５）  １００１０１０１０１
（ｐ６）  ０１０１０１０１０１
上記の６つのパターンは、４個の演算器を必要とする形状情報の代表的なパターンである。上記の６つのパターンの中で、（ｐ２）〜（ｐ５）は、２個の“０”が連続するパターンを含んでいる。連続する２個の“０”の内どちらか一方の“０”を“１”に置き換えたパターンを含めると、４個の演算器を必要とする全てのパターンを網羅することになる。
【００５３】
形状情報として２個の“０”が連続している位置に対応する画素の画素データを決定するために使用する２つの平均値は互いに等しいため、これらを独立に計算する必要は無く、１個の演算器で演算した平均値を共通に使用することができる。
【００５４】
よって、右端又は左端から２画素目と３画素目の組、４画素目と５画素目の組、６画素目と７画素目の組、８画素目と９画素目の組のそれぞれに対して１つの演算器を割り当てることが妥当である。
【００５５】
この妥当性を裏付ける１つの例として、“４個の演算器が必要であり且つ、右又は左端から（２ｎ−１）番目の画素と２ｎ番目の画素を共通の平均値で置き換えるべきパターンは存在しない”という事実に留意されたい。
【００５６】
次に、どの信号を演算器に入力するかという問題について考える。
【００５７】
図３において、演算器３３１ｂには、セレクタ３２５ｂの出力とセレクタ３２７ｂの出力が入力されている。セレクタ３２７ｂの制御信号（右から２画素目の形状情報）が“０”の時、該セレクタ３２７ｂの選択出力は、前段（左側）のセレクタ３２７ｃの出力と同一である。同様に、セレクタ３２５ｃの制御信号（右から３画素目の形状情報）が“０”の時、該セレクタ３２５ｃの出力は、前段（右側）のセレクタ３２５ｂの出力と同一である。
【００５８】
よって、セレクタ３２５ｂの出力とセレクタ３２７ｃの出力のペアは、右から２画素目の形状情報が“０”の時に、右から２番目の画素データを置き換えるべき平均値を演算するための演算器に対する入力データとして使用することができると共に、右から３画素目の形状情報が“０”の時に、右から３番目の画素データを置き換えるべき平均値を演算するための演算器に対する入力データとして使用することができる。一方、形状情報が“１”の場合、該形状情報の位置に対応する画素についての平均値の演算は不要であるので、演算器に対する入力を考慮する必要はない。
【００５９】
以上の考察より、この実施の形態に係る画像処理部５００の演算器５０１には、セレクタ３２５ｂの出力とセレクタ３２７ｃの出力と供給すればよい。
【００６０】
同様に、演算器５０２には、セレクタ３２５ｄの出力とセレクタ３２７ｅの出力、演算器５０３には、セレクタ３２５ｆの出力とセレクタ３２７ｇの出力、演算器５０４には、セレクタ３２５ｈの出力とセレクタ３２７ｉの出力を供給すればよい。
【００６１】
図３に示す画像処理部では、演算器が各画素について独立に設けられているため、対応する形状情報が“０”であるか“１”であるかに拘らず、各演算器から出力される平均値をそのまま画素データとして出力することができる。しかしながら、この実施の形態に係る画像処理部５００では、画素と演算器とが１対１に対応していないため、平均値による置き換えが必要の無い画素データ（形状情報が”１”の位置の画素データ、即ち、オブジェクト内の画素の画素データ）は、レジスタ群３０３に保持されている画素データをそのまま出力画素データとする必要がある。セレクタ５０５ｂ〜５０５ｉは、そのために設けられている。
【００６２】
この実施の形態に係る画像処理部に図４の（ａ）、（ｂ）に各々示す形状情報、画素データを入力すると（以下にも示す）、
0004574020.tif 000002
各演算器５０１〜５０４には、以下に示す値が入力され、平均値が演算される。
【００６３】
0004574020.tif 000003
この例では、上記の平均値（演算結果）は、セレクタ群５０５ｂ〜５０５ｉのうち該当するセレクタを通して出力される。言い換えると、右から３番目の画素データは加算器５０１の出力によって置き換えられ、右から４番目の画素データは加算器５０２の出力によって置き換えられ、右から７番目の画素データは加算器５０３の出力によって置き換えられ、右から８番目の画素データは加算器５０４の出力によって置き換えられ、図４の（ｅ）と同一の結果が得られる。即ち、この実施の形態に係る画像処理部５００により、図３に示す画像処理部と同等のパディング処理結果を得ることができる。
【００６４】
以上のように、この実施の形態によれば、図３に示す画像処理部の半分の演算器で、該画像処理部と同一の処理結果が得られる。
【００６５】
［第２の実施の形態］
第１の実施の形態は、一次元の画像データを構成するＮ画素を同時に処理する例であるが、Ｎ画素を同時に処理する必要が無ければ、演算器の数を更に削減することができる。
【００６６】
パディング処理により得られる画素データを一旦メモリ等に格納する場合、コスト等によって制限されるメモリのバス幅の関係で、例えば同時に１６画素をメモリに格納するということは少ないと考えられる。一般的には、４画素、多くても８画素が一度にメモリに格納することができるデータ量である。
【００６７】
そこで、ここでは、パディング処理の結果を４画素単位で出力する構成について考える。図６は、本発明の第２の実施の形態に係る画像処理部の構成を示す図である。この画像処理部６００は、８画素の画素データで構成される行データにパディング処理を施して、その結果を４画素単位で出力する構成を有する。なお、この画像処理部６００は、例えば、コンピュータ等の画像処理装置の一部として好適に利用され得る。
【００６８】
この実施の形態に係る画像処理部６００では、形状情報は、左伝搬処理部３２１と右伝搬処理部３２３を構成するセレクタの切り換え用の制御信号として利用される。なお、形状情報に関する構成は、図５に示す画像処理部と同様であるので、図６では省略されている。
【００６９】
図６において、６０１は、平均値を演算する演算器に供給するデータを選択するためのセレクタ群（選択手段）である。該セレクタ群６０１は、演算器５０１〜５０４に、８画素分のデータを４画素分のデータ毎に処理させるために、演算器５０１〜５０４に供給するデータを切り換える。例えば、演算器５０１には、右端の画素データを生成するためのデータ又は右から５番目の画素データを生成するためのデータがセレクタ群６０１の該当するセレクタにより選択的に供給される。
【００７０】
なお、例えば、１６画素の画素データで構成される行データにパディング処理を施して４画素単位で出力するには、セレクタ群６０１の各セレクタを２入力から４入力に変更し、例えば、第１サイクル（第１段階）では、演算器５０１〜５０４より第１画素〜第４画素の画素データを出力し、第２サイクル（第２段階）では、演算器５０１〜５０４より第５画素〜第８画素の画素データを出力し、第３サイクル（第３段階）では、演算器５０１〜５０４より第９画素〜第１２画素の画素データを出力し、第４サイクル（第４段階）では、演算器５０１〜５０４より第１３画素〜第１６画素を出力するように、セレクタ群を制御すればよい。
【００７１】
［第３の実施の形態］
この実施の形態は、第１の実施の形態と第２の実施の形態とを組み合わせたものである。これにより、演算器の個数を更に削減し、全体の回路規模を削減することができる。
【００７２】
図７は、本発明の第３の実施の形態に係る画像処理部の構成を示す図である。
この画像処理部７００は、例えば、コンピュータ等の画像処理装置の一部として好適に利用され得る。
【００７３】
図７に示す画像処理部７００において、７０１は、右側の４画素の出力画素データを生成する第１サイクル及び左側の４画素出力画素データを生成する第２サイクルを切り換える切換信号に従って演算器５０１及び５０２に供給すべきデータを選択するセレクタ群（選択手段）であって、第２の実施の形態におけるセレクタ群６０１に相当する。７０３は、上記切換信号に従ってパディング処理前の画素データ（入力画素データ）のうち右側の４画素又は左側の４画素を選択的に出力するセレクタ群である。７０５は、対応する形状情報が“１”であればセレクタ群７０３の出力を選択し、“０”なら演算器５０１及び５０２で演算した平均値を選択するセレクタ群（決定手段）である。その他の構成要素は、図６における同一番号の構成要素と同じである。
【００７４】
なお、セレクタ群７０５の切り換えは形状情報に従ってなされる。形状情報に関する構成は、第１の実施の形態と同様である。
【００７５】
この実施の形態と第１の実施の形態との主要な相違点は、次の通りである。第１の実施の形態では、右から２ｎ番目の画素と（２ｎ＋１）番目の画素に対して１つの演算器が割り当てられているが、この実施の形態では、右から（２ｎ−１）番目の画素と２ｎ番目の画素に対して１つの演算器が割り当てられている。
【００７６】
このような割り当て方式は、第１の実施の形態においても可能であるが、第１の実施の形態においては、行データの両端の画素データを置き換えるべきデータとして平均値を使用する必要が無いため、両端の画素を除いた残りの画素に対して、２画素毎に１つの演算器を割り当てる方式が効率的である（例えば、１０画素の行データに対して４個の演算器を備えればよい）。
【００７７】
この実施の形態では、複数の画素データを部分的に選択（参照）しながら形状情報が”０”の画素データを平均値によって置き換えるため、演算器５０１及び５０２に供給すべき両端のデータ（４つのデータのうち左端及び右端のデータ）には、平均値を演算するために不可欠なデータも入力され得る。よって、同時処理する４画素に対して、均等に２画素毎に１つの演算器を割り当てる必要がある。
【００７８】
図７の左伝搬処理部３２１において右から１番目の画素から２番目の画素へ伝搬する画素データと、右伝搬処理部３２３において右から２番目の画素から１番目の画素へ伝搬する画素データとの平均値を演算するために、これらの２つのデータが１組（第１組）としてセレクタ群７０１に供給される。
【００７９】
同様に、右から３番目の画素から４番目の画素へ伝搬する画素データと右から４番目の画素から３番目の画素へ伝搬する画素データの組（第２組）、右から５番目の画素から６番目の画素へ伝搬する画素データと右から６番目の画素から５番目の画素へ伝搬する画素データの組（第３組）、右から７番目の画素から８番目の画素へ伝搬する画素データと右から８番目の画素から７番目の画素へ伝搬する画素データの組（第４組）が選択的にセレクタ群７０１に供給される。
【００８０】
ここで、８画素の内、右側の４画素及び左側の４画素のいずれを処理するかに従って、即ち、切換信号に従って、セレクタ群７０１は、上記の４組から２組（第１組及び第２組、又は、第３組及び第４組）を選択して、演算器５０１及び５０２にデータを供給する。
【００８１】
これにより、選択された２組の画素データについて、演算器５０１及び５０２により各組毎に平均値が演算されて出力される。そして、形状情報が“０”であれば、それに対応するセレクタ群７０５のセレクタは、演算器から出力される平均値を選択し、形状情報“１”であれば、それに対応するセレクタ群７０３及び７０５のセレクタは、元の入力画素データを選択し、パディング処理結果として４画素単位で出力する。
【００８２】
［第４の実施の形態］
上記の各実施の形態は、所定のサイズの画像データを構成する画素データを固定のサイクル数（段階数）で処理するものであるが、この実施の形態は、入力される２値形状情報のパターンに応じて処理サイクル数を変更する構成に関する。
【００８３】
第１の実施の形態では、どのような形状情報であっても全入力画素データを同時に処理することができる。何故なら、任意の形状情報に対して全入力画素データを同時に処理し得る個数の演算器を備えているからである。これは、演算器の個数がこれより１つでも少なければ、全入力画素データを同時に処理できない場合があることを意味する。同時処理の可否は、処理回路の構成と形状情報のパターンによって決まる。
【００８４】
この実施の形態は、任意の形状情報に対して全入力画素データを同時に処理できる必要最小限の個数よりも少ない個数の演算器しか備えていないが、同時処理が可能な場合には同時処理を行なって１サイクル（第１段階）で処理を終え、同時処理が不能な場合に限り、未処理の画素を第２サイクル（第２段階）で処理する。
【００８５】
この実施の形態では、形状情報のパターンが同時処理が可能なパターンであるか否かを検出すると共に、同時処理が不能な画素を検出し、該未処理の画素を第２サイクルで処理する。
【００８６】
図８は、本発明の第４の実施の形態に係る画像処理装置の構成を示す図である。この画像処理部８００は、例えば、コンピュータ等の画像処理装置の一部として好適に利用され得る。
【００８７】
図８に示す画像処理部８００は、８画素用のパディング処理回路であり、８０１は、８画素データの全てを１サイクルで処理することができるか否かを検出すると共に、第２サイクルで処理しレジスタに取り込むべき画素データを特定する検出器（制御手段；詳細は図１１参照）、８０７及び８０９は、各々画素データの平均値を演算する演算器、８１１及び８１２は、演算器８０７に供給すべき２つのデータを選択するセレクタ（選択手段）、８１３及び８１４は、演算器器８０９に供給すべき２つのデータを選択するセレクタ（選択手段）、８２１〜８２８は、出力画素データを保持するレジスタ、８３２及び８３７は、レジスタ８２２及び８２７は、データの取り込みを制御する制御信号を生成する論理素子である。その他の構成要素は、第１の実施の形態（図５）における同一番号の構成要素と同じである。
【００８８】
この実施の形態で導入されたセレクタ８１１〜８１４は、処理サイクルに従って制御される。即ち、セレクタ８１１〜８１４は、第１サイクルの処理では一方を選択し、第２サイクルの処理では他方を選択するように制御される。
【００８９】
８画素を同時にパディング処理するには、上記の説明から明らかなように３個の演算器が必要であるが、この実施形態では、それより１つ少ない２個の演算器８０７及び８０９で処理を行なう。
【００９０】
第１サイクル（第１段階）では、この２個の演算器８０７及び８０９の一方を右から３番目の画素と４番目の画素に対して割り当てると共に、他方を右から５番目の画素と６番目の画素に対して割り当る。
【００９１】
右から２画素目の処理結果を選択するセレクタ５０５ｂには、右から３番目と４番目の画素に対して割り当てられた演算器８０７の出力（平均値）が供給され、右から７画素目の処理結果を選択するセレクタ５０５ｇには、右から５番目と６番目の画素に対して割り当てられた演算器８０９の出力（平均値）が供給される。
【００９２】
２つのセレクタ５０５ｂ及び５０５ｇは、処理サイクル（処理の段階）に従って、第１サイクル（第１段階）では、左伝搬処理部３２１あるいは右伝搬処理部３２３における対応するセレクタの出力を選択し、第２サイクル（第２段階）では、演算器の出力を選択する。
【００９３】
この画像処理部８００に次の形状情報（ａ）と画素データ（ｂ）を入力すると、
0004574020.tif 000004
第１サイクルの処理により、レジスタ８２１〜８２８に以下の値（左端がレジスタ８２８、右端がレジスタ８２１）が取り込まれる。
（ｃ）    １５６  １５６  ９９    ９９    ９９  ４２    ４２    ４２
この時、２つの演算器８０７及び８０９は、いずれも“９９”を出力している。
【００９４】
第２サイクルでは、セレクタ５０５ｂ及び５０５ｇにより選択されるデータが切り換わり、レジスタ８２１〜８２８に以下の値（左端がレジスタ８２８、右端がレジスタ８２１）が供給される。
（ｄ）    １５６    ９９  ９９    ９９    ９９  ４２    ９９    ４２
これらのデータのうち、実際にレジスタに取り込まれるのは、右から７画素目（左から２画素目）の“９９”のみで、レジスタ８２１〜８２８の最終的な出力（左端がレジスタ８２８、右端がレジスタ８２１）は、以下のようになる。
（ｅ）    １５６    ９９  ９９    ９９    ９９  ４２    ４２    ４２
この実施の形態に係る画像処理部８００において、パディング処理が１サイクルで終了しない形状情報のパターンは、以下の２つの場合である。
（１）右端の２ビットが“０１”で、且つ、左側の６ビットに“１”が１つ以上存在する場合
（２）左端の２ビットが“１０”で、且つ、右側の６ビットに“１”が１つ以上存在する場合
（１）及び（２）のパターンは、右から２画素目と７画素目の画素データを２つの画素データの平均値で置き換える必要がある場合を示している。
【００９５】
検出器８０１は、入力された形状情報から上記（１）及び（２）を検出し、少なくとも一方が検出された場合には、第１サイクルに次いで第２サイクルを実行し、（１）の場合には右から２画素目、（２）の場合には右から７画素目に対応する出力段のレジスタ８２２、８２７にのみ、第２サイクルにおいてセレクタ５０５ｂ、５０５ｇの出力を各々取り込ませる。
【００９６】
検出器８０１により（１）と（２）の両方が検出された場合は、２画素目と７画素目のレジスタ８２２、８２７の双方に、第２サイクルにおいてセレクタ５０５ｂ、５０５ｇの出力を取り込ませる。
【００９７】
上記（１）及び（２）のいずれも検出されない時は、第１サイクルで処理を終了し、次の行データ（又は列データ）を処理する。
【００９８】
［第５の実施の形態］
この実施の形態は、第４の実施の形態の変形例に関する。図９は、本発明の第５の実施の形態に係る画像処理部の構成を示す図である。
【００９９】
この実施の形態（図９）と第４の実施の形態（図８）とは、セレクタ５０５ｂ及び５０５ｇを制御するための切換信号と、検出器８０１により検出する内容が相違する。
【０１００】
この実施の形態では、検出器９０１と９０２を追加し、検出器９０１の出力でセレクタ５０５ｂを切り換え、検出器９０２の出力でセレクタ５０５ｇを切り換える。
【０１０１】
この実施の形態では、パディング処理が１サイクルで終了しない形状情報のパターンは、以下の２つの場合であり、これを検出器８０１’（制御手段；詳細は図１２参照）で検出する。
（１）右端の３ビットが“１０１”である場合
（２）左端の３ビットが“１０１”である場合
検出器８０１’で上記パターンを検出した後の処理は、第４の実施の形態と同様である。
【０１０２】
両端から２つ目の画素データを平均値で置き換える場合でも、それが孤立していない場合（形状情報”１”で挟まれた位置の画素でない場合）には、隣接する画素のために演算された平均値を用いることができるので、パディング処理は１サイクルで終了する。しかし、置き換えるべき画素が孤立している場合には、第２サイクルで該孤立した画素を置き換えるための平均値を演算する必要があるので、パディング処理に第２サイクルを要する。上記２つのパターンは、該孤立した画素を置き換えるための平均値の演算が必要な場合を示している。
【０１０３】
一方、検出器９０１は、以下のパターン（イ）を検出してセレクタ５０５ｂを制御する。
（イ）右端から２ビット目の形状情報が“１”又は右端の形状情報が“０”
パターン（イ）が検出された場合、右端から２つ目の画素データが平均値で置き換えられることは無く、左伝搬処理部３２１内の対応するセレクタの出力がパディング処理結果となる。
【０１０４】
パターン（イ）以外では、演算器８０７が出力する平均値をセレクタ５０５ｂが選択するが、残りの左側６ビットが全て“０”である場合、平均値を出力するのでは都合が悪い。ところが、この場合、演算器８０７に入力される２つのデータは同一であるため、結果的にその同一のデータが選択され、このような不都合はない。これについて、具体的な例を示す。
【０１０５】
以下の形状情報（ａ）と画素データ（ｂ）が入力されたとする。
0004574020.tif 000005
この場合、右端の２ビットの形状情報は、上記パターン（イ）に該当しないため、右端から２つ目の出力画素データを選択するセレクタ５０５ｂは、演算器８０７が出力する値（平均値）を選択する。該演算器に対する２つの入力は、左伝搬処理部３２１と右伝搬処理部３２３から供給されるが、どちらの値も“１５６”なので、演算器８０７の出力は“１５６”となる。よって、出力段のセレクタ５０５ｂが演算器８０７の出力を選択しても画素データは“１５６”に置き換えられる。
【０１０６】
検出器９０２とセレクタ５０５ｇとの関係も同様である。
【０１０７】
［第６の実施の形態］
この実施の形態は、第４及び第５の実施の形態における演算器の個数を増加することなく同時処理が可能なパターンが最大となるように、演算器の配置（割り当て）と出力段のセレクタの構成の一部を変更し、更に演算器の入力データを形状情報のパターンに基づいて切り換えるようにしたものである（第４及び第５の実施の形態では、処理サイクルに従って演算器の入力データが切り換えられる）。
【０１０８】
図１０は、本発明の第６の実施の形態に係る画像処理部の構成を示す図である。この画像処理部１０００は、例えば、コンピュータ等の画像処理装置の一部として好適に利用され得る。
【０１０９】
図１０において、１００１及び１００２が新たに追加されたセレクタである。
中央の２画素の画素データは、該セレクタ１００１及び１００２により２つの演算器８０７及び８０９の出力を選択することにより得ることができる。
【０１１０】
検出器８０１”（制御手段；詳細は図１３参照）では、第５の実施の形態で検出するパターン（１）及び（２）に加え、下記のパターン（３）を検出する。
（３）形状情報の右側７ビット内に“０１”変化点が３個あり、且つ
形状情報の左側７ビット内に“１０”変化点が３個ある。
【０１１１】
これを、より具体的なパターンで表わすと以下のようになる。
【０１１２】
（Ａ）  １０１０１０１−
（Ｂ）  １０１０１０−１
（Ｃ）  １０１０１−０１
（Ｄ）  １０１０−１０１
（Ｅ）  １０１−０１０１
（Ｆ）  １０−１０１０１
（Ｇ）  １−０１０１０１
（Ｈ）  −１０１０１０１
上記の８パターンにおいて“−”は、“０”及び“１”のいずれでもよい。
【０１１３】
検出器８０１”が、上記の（Ａ）〜（Ｈ）に記述したパターンを検出する。該パターンが検出された時は１つの行データを２サイクルで処理し、検出されない時は１つの行データを１サイクルで処理する。
【０１１４】
第１の実施の形態で述べた演算器の割り当て方式では、右から２ｎ番目の画素と（２ｎ＋１）番目の画素に対して１つの演算器を割り当てる。この割り当て方式では、処理対象の一次元の画像データを構成する画素データの数が８つの場合に、３個の演算器が必要である。
【０１１５】
この実施の形態では、上記の割り当て方式に準じた方式が採用されている。しかしながら、この実施の形態では、２個の演算器しか設けられていないため、この２個の演算器を３個の演算器の代わりとして動作させる。これは、２個の演算器に対して供給するデータをセレクタで切換ることにより実現される。
【０１１６】
セレクタによるデータの切り換え方法としては、種々の方法が考えられるが、以下に説明する方法が比較的簡単である。
【０１１７】
ここで述べる切換方式では、第５の実施の形態において第２サイクルで実行する処理、即ち、右から２番目と７番目の画素データの処理を優先する。即ち、形状情報の右端２ビットが“０１”、且つ、第１サイクルの時は、右から２番目の画素データを処理するために、セレクタ８１１及び８１２を右側に設定する。一方、これ以外の条件では、セレクタ８１１及び８１２を左側に設定する。形状情報の右端２ビットが“０１”の場合は、右から２番目の画素データは、演算された平均値で置き換える必要があるため、そのための処理を優先する。
【０１１８】
同様に、形状情報の左端２ビットが“１０”、且つ、第１サイクルの時は、右から７番目の画素データを処理するために、セレクタ８１３及び８１４を左側に設定し、これ以外の条件では、セレクタ８１３及び８１４を右側に設定する。
【０１１９】
演算器８０７及び８０９の出力側にあるセレクタの内、第５の実施の形態と同様のセレクタは、切り換え方法も第５の実施の形態と同様である。
【０１２０】
この実施の形態で導入したセレクタ１００１及び１００２は、以下のように制御される。即ち、形状情報の右端３ビットが“１０１”であれば、演算器８０７は、右から２画素目に対応する平均値を演算するために使用されるため、セレクタ１００１に演算器８０９の出力を選択させる。一方、これ以外の条件では、セレクタ１００１に演算器８０７の出力を選択させる。
【０１２１】
同様に、形状情報の左端３ビットが“１０１”であれば、セレクタ１００２に演算器８０７の出力を選択させ、これ以外の条件では、セレクタ１００２に演算器８０９の出力を選択させる。
【０１２２】
セレクタ１００１及び１００２は、対応する画素の形状情報の値が“０”の時に元の画素データを置き換えるための平均値を出力する。
【０１２３】
上記の構成と制御により、新たに１サイクルで処理が可能になった形状情報のパターンについて説明する（第５の実施の形態では１サイクルで処理できないパターン）。
【０１２４】
例えば、“１００００１０１”という形状情報では、第５の実施の形態では１サイクルで処理することができない。この実施の形態では、一方の演算器８０７で右から２番目の画素に対応する平均値を演算し、他方の演算器８０９で左側２画素（６画素目と７画素目）に対応する平均値を演算する。後者の平均値は４画素目と５画素目の画素データを置き換えるためにも用いることができる。
【０１２５】
演算器８０９の出力は、セレクタ１００１と５０５ｄを通して４画素目に出力されると共に、セレクタ１００２と５０５ｅを通して５画素目に出力される。そして、検出器８０１”は、１サイクルで処理可能なパターンであることを検出する。
【０１２６】
よって、上記の形状情報のパターン（“１００００１０１”）では、形状情報が“０”の全ての画素データを置き換えるために必要な平均値を１サイクルで演算することができ、また、該平均値による置き換えに必要なセレクタとそれを制御する手段とが設けられているため、１サイクルで完全に処理を終えることができる。
【０１２７】
これにより、上記の（Ａ）〜（Ｈ）のパターンのように３つの演算器を必要とする場合以外は、全て１サイクルで処理することができる。上記の（Ａ）〜（Ｈ）のパターンは理論上は有り得るものであるが、実際の画像データの形状情報としては殆ど存在しない。よって、この実施の形態によれば、略すべての画像データを１サイクルで処理することができる。
【０１２８】
［第７の実施の形態］
図１４は本発明の第７の実施の形態に係る画像符号化部の構成を示すブロック図である。
【０１２９】
図１４において、１は１フレーム分の画像データを格納し、MPEG-4の手順に従ってマクロブロック単位に出力するフレームメモリであり、２は後述する予測値を減算する減算器である。３はDCT変換を施すDCT変換器であり、４は変換係数をそれぞれ量子化する量子化器である。５は量子化結果をエントロピー符号化するエントロピー符号化器である。６は量子化結果を変換係数に戻す逆量子化器であり、７は変換係数から画素データを復元する逆DCT器である。８は予測値を加算する加算器であり、９は再生画像を格納するフレームメモリである。
【０１３０】
１０は入力されたマクロブロックの画素データとフレームメモリ９に格納された画素データから動きベクトルを検出する動きベクトル検出器である。１１は検出された動きベクトルに従ってマクロブロック毎の予測値を算出する動き補償器であり、１２は動きベクトルを符号化する動きベクトル符号化器である。１３は２値の形状情報1フレーム分を格納し、MPEG-4の手順に従ってマクロブロック単位に切出して出力する２値のフレームメモリである。形状情報は各画素がオブジェクトの外か内かを示すデータである。１４はマクロブロック単位で形状情報を算術符号化する形状符号化器である。１５は前記再生画像に対応した形状情報を格納するフレームメモリである。１６は該当するマクロブロックについて動きベクトル検出器10から動きベクトルを入力し、入力されたマクロブロックの形状情報とフレームメモリ15の形状情報を比較して形状情報の動きベクトルを算出して動き補償を行う動き補償器である。
【０１３１】
２０、２１は形状情報からパディングを制御するパディング制御器である。１７はパディング制御器２０からの制御と形状情報に従って、フレームメモリ1のオブジェクト外の画素データを補填するパディング器である。１８はパディング制御器２１からの制御と形状情報に従って、フレームメモリ9のオブジェクト外の画素データを補填するパディング器である。１９は拡張パディングを実行する拡張パディング器である。
【０１３２】
上記の構成において、動画像の各フレームの符号化動作について述べる。
【０１３３】
まず、１フレーム分の画素データと形状情報がそれぞれフレームメモリ１とフレームメモリ１３に格納される。
【０１３４】
入力された符号化対象のフレームがフレーム内符号化の対象であった場合はパディング制御器２０とパディング器１７が動作し、動き補償を伴うフレーム間符号化の対象であった場合はパディング制御器２０、２１、パディング器１７、１８及び拡張パディング器１９が動作する。
【０１３５】
パディング器１７及びパディング制御器２０は、フレーム内符号化時には低域成分外挿法と呼ばれている方法でパディング処理を行ない、フレーム間符号化時には特に処理はせず、減算器２から出力される予測誤差の内、オブジェクト領域外の予測誤差の値をパディング制御器からの信号に基づいて“０”に置き換える。
【０１３６】
前記低域成分外挿法とは、オブジェクト内の画素の平均値でオブジェクト外の領域を埋めた後に、オブジェクト外の画素を該画素の上下左右４画素の平均値で置き換えるものである。パディング器１８には、前記第１〜第６の実施形態で説明した１次元のパディング処理ユニットを２つ又は１つ用いる。２つのパディング処理ユニットを用いる場合は、一方で水平方向のパディング処理を行ない、もう一方で垂直方向のパディング処理をする。１つのパディング処理ユニットで処理する場合は、水平方向のパディング処理をした後、同じユニットで垂直方向のパディング処理を行なう。
【０１３７】
フレーム内符号化が選択された場合、パディング器１７は符号化に先行してパディング処理を行う。パディング制御器２０はフレーメモリ１３に格納された形状情報からオブジェクトの境界を含むマクロブロックを検出しそのマクロブロックの位置と形状情報をパディング器１７に供給する。パディング器１７はオブジェクトの境界を含むマクロブロックの画素データをフレームメモリ１から読み出して、前記低域成分外挿法によりオブジェクト外の画素データをオブジェクト内の画素データから算出する。
【０１３８】
フレーム間符号化が選択された場合、パディング器１８は符号化に先行してパディング処理を行う。パディング制御器２１はフレーメモリ１５に格納された形状情報からオブジェクトの境界を含むマクロブロックを検出しそのマクロブロックの位置と形状情報をパディング器１８に供給する。パディング器１８はオブジェクトの境界を含むマクロブロックの画素データをフレームメモリ９から読み出して、オブジェクト外の画素データをオブジェクト内の画素データから生成する。
【０１３９】
上記パディング処理と平行して、パディング制御器２１はフレーメモリ１５に格納された形状情報から左右上下がオブジェクト内部の画素を含むマクロブロックと接しているマクロブロックを検出し、マクロブロックの位置を拡張パディング器１９に供給する。拡張パディング器１９はMPEG-4符号化方式の拡張パディングの手順に従って、隣接するマクロブロックの画素データをコピーする。
【０１４０】
符号化するブロックのパディング処理が終了したら、フレーム内符号化の場合は、マクロブロック単位に画素データをフレームメモリ１から読み出し、減算器2で予測値０を引き、DCT器3でDCT変換し、その変換係数を量子化器4で量子化する。
【０１４１】
量子化結果はエントロピ符号化器5にて符号化し、外部に出力する。と同時に量子化結果は逆量子化器６にも送られ、DCT変換係数が再生され、逆DCT器７にて画素データを再生して加算器8で予測値0を加えた後、フレームメモリ９に格納する。
【０１４２】
これと平行して、フレームメモリ１３の２値形状情報は符号化器１４にて、オブジェクト外のマクロブロックに関してはTransparentとして符号化し、境界を含むマクロブロックに関してはその形状を算術符号化し、完全にオブジェクト内に含まれる場合はOpaqueとして符号化して、外部に出力する。また該２値形状情報をフレームメモリ１５にも格納し、次の形状情報の符号化に使用する。
【０１４３】
エントロピ符号化器５と形状符号化器１４の出力が外部でMPEG-4の書式に必要なヘッダ情報等の符号化データと多重化されてMPEG-4符号化データとして出力される。
【０１４４】
フレーム間符号化の場合は、マクロブロック単位に画素データがフレームメモリ１から読み出され、動き検出器１０に入力される。動き検出器１０は入力されたマクロブロックの画素データとフレームメモリ９に格納されている再生画像データの部分画像と逐次比較し、該再生画像中の最も類似度の高い領域を特定し、その偏差を動きベクトルとして出力する。
【０１４５】
出力された動きベクトルは動きベクトル符号化器１２で符号化され、外部に出力される。と同時に、動きベクトルは動き補償器１１、１６にも供給される。動き補償器１１では動きベクトルに従って、フレームメモリ９から予測値を読み出し、減算器２に入力する。減算器２では符号化するマクロブロックの画素データから、前記入力された予測値を減算する。
【０１４６】
減算結果はDCT器３でDCT変換され、その変換係数を量子化器４で量子化される。量子化結果はエントロピ符号化器５で符号化され、外部に出力される。と同時に量子化結果は逆量子化器6に入力され、DCT変換係数を再生し、逆DCT器７で画素データを再生して加算器８で動き補償器１１からの予測値を加え、フレームメモリ９に格納する。
【０１４７】
これと平行して、動き補償器１６に動き検出器１０で算出した動きベクトルを供給する。動き補償器１６は、該動きベクトルを基準としてフレームメモリ１５の形状情報と符号化マクロブロックの形状情報とを比較して形状情報の動きベクトルを算出し、動きベクトルと該動きベクトルが示す形状情報を予測値として形状符号化器１４に供給する。
【０１４８】
フレームメモリ１３の形状情報は形状符号化器１４にて、オブジェクト外のマクロブロックに関してはTransparentとして符号化し、完全にオブジェクト内に含まれる場合はOpaqueとして符号化して、外部に出力する。
【０１４９】
境界を含むマクロブロックに関しては、インターモードにおいては形状情報の動きベクトルを符号化した後、その形状を動き補償器１６からの予測値も参照して算術符号化し、外部に出力する。イントラモードでは動き補償器１６からの予測値を参照せずに算術符号化し、外部に出力する。また形状情報はフレームメモリ１５に格納し、次の形状情報の符号化に使用する。
【０１５０】
エントロピ符号化器５と形状符号化器１４と動きベクトル符号化器１２出力が外部でMPEG-4の書式に必要な情報等の符号化データと多重化されてMPEG-4符号化データとして出力される。
【０１５１】
拡張パディング器１９は実際にはフレームメモリとそのメモリコントロールの機能で実現されるので、特別に設けなくても実現が可能な場合も有る。
【０１５２】
［第８の実施の形態］
図１５は本発明の第８の実施の形態に係る画像復号部の構成を示すブロック図である。
【０１５３】
図１５において、５０は符号化データを入力し、量子化結果を再生するエントロピー復号器である。５１は量子化結果を変換係数に戻す逆量子化器であり、５２は変換係数から予測差分画素データを復元する逆DCT器である。５３は予測値を加算する加算器であり、５４はMPEG-4の手順に従ってマクロブロック単位に画像データを1フレーム分、格納するフレームメモリである。５５は再生画像を格納するフレームメモリである。５６は動きベクトルを復号して再生する動きベクトル復号器である。
【０１５４】
５７は復号された動きベクトルに従ってマクロブロック毎の予測値を算出する動き補償器である。５８はマクロブロック単位で形状データを復号する形状復号器である。
【０１５５】
５９、６０は復号された２値形状情報を格納する２値のフレームメモリである。６１は該当するマクロブロックについて動きベクトル復号器５６から動きベクトルを入力し、動きベクトルと形状復号器５８で復号された形状情報の動きベクトルにしたがってフレームメモリ５９から形状情報を読み出す動き補償器である。
【０１５６】
６２は形状情報に従ってパディングを制御するパディング制御器である。６３はフレームメモリ５９の形状情報に従って、フレームメモリ５５のオブジェクト外の画素データを補填するパディング器である。６４は拡張パディングを実行する拡張パディング器である。
【０１５７】
上記の構成において、動画像の各フレームの復号動作について述べる。
【０１５８】
まず、フレーム内符号化されたフレームの復号から説明する。マクロブロック単位で形状情報の符号化データを形状復号器５８に入力して、形状情報を復号する。
【０１５９】
形状復号器５８は、マクロブロックのモードがTransparentの場合は形状情報としてすべて“０”を出力する。このモードの形状情報に対応したマクロブロックの画素データは存在しないので、復号処理は行なわない。
【０１６０】
マクロブロックのモードがOpaqueであれば、形状情報としてすべて“１” を出力する。算術符号化されている場合はこれを復号し、オブジェクトの境界の形状情報を再生する。再生された形状情報はフレームメモリ５９とフレームメモリ６０に格納される。
【０１６１】
マクロブロックの形状情報のモードがOpaqueか算術符号化であれば、マクロブロック単位で符号化データがエントロピ復号器５０に入力される。エントロピ復号器５０では符号化データを復号処理して量子化結果を再生する。該量子化結果を逆量子化器５１に入力して、DCT変換係数を再生し、逆DCT器５２で画素データを再生して加算器５３で予測値“０”を加え、フレームメモリ５４とフレームメモリ５５に格納する。
【０１６２】
１フレーム分の処理が終了したら、フレームメモリ５４およびフレームメモリ５９の内容が外部に出力され、適宜合成される。
【０１６３】
次にフレーム間符号化されたフレームの復号を説明する。
【０１６４】
パディング器６３は境界パディングの処理を行う。パディング制御器６２はフレーメモリ６０に格納された２値形状情報からオブジェクトの境界を含むマクロブロックを検出し、該マクロブロックのオブジェクトの境界を含むマクロブロックの画素データをフレームメモリ５５から読み出して、該画素データと形状情報をパディング器６３に供給する。
【０１６５】
パディング器６３には、前記第１〜第６の実施形態で説明した１次元のパディング処理ユニットを２つ又は１つ用いて、第７の実施形態で説明したようにパディング処理する。そして、入力された画素データと２値形状情報からオブジェクト外部の画素データを生成する。
【０１６６】
続けて、パディング制御器６２はフレーメモリ６０に格納された２値形状情報から、オブジェクト内部の画素を含むマクロブロックと左右上下で接しているマクロブロックを検出し、マクロブロックの位置を拡張パディング器６４に入力する。拡張パディング器６４はMPEG-4符号化方式の拡張パディングの手順に従って、隣接するマクロブロックの画素データをコピーする。
【０１６７】
上記復号化処理と平行して、マクロブロック単位で形状情報の符号化データを形状復号器５８に入力して、２値形状情報を復号する。
【０１６８】
マクロブロックのモードがTransparentの場合は形状情報としてすべて“０”を出力する。このモードの形状情報に対応したマクロブロックの画素データは存在しないので、復号処理は行なわない。
【０１６９】
マクロブロックのモードがOpaqueであれば、形状情報としてすべて“１”を出力する。イントラモードで算術符号化されている場合はこれを復号し、オブジェクトの境界の形状情報を再生し、フレームメモリ５９に格納する。
【０１７０】
動き補償されているマクロブロックでは、まず動きベクトル復号器５６にて動きベクトルを復号し、復号した動きベクトルを動き補償器５７、６１に供給する。
【０１７１】
形状情報がインターモードで算術符号化されていれば、形状復号器５８は形状情報のための動きベクトルを算出するデータを復号し、動き補償器６１はこの動きベクトルを用いて、フレームメモリ６０から形状情報の予測値を読み出す。この予測値を参照して形状復号器５８は形状情報を復号し、２値のフレームメモリ５９に格納する。
【０１７２】
マクロブロックがフレーム内符号化されている場合は前述のフレーム内符号化データの復号動作によって復号を行いフレームメモリ５４、５５に画素データを格納する。
【０１７３】
マクロブロックがフレーム間符号化されている場合はマクロブロックの形状情報のモードがOpaqueか算術符号化であれば、マクロブロック単位で符号化データをエントロピ復号器５０に入力し、該エントロピ復号器５０で復号処理して量子化結果を再生する。
【０１７４】
量子化結果を逆量子化器５１に入力してDCT変換係数を再生し、逆DCT器５２にて変換係数から予測差分画素データを再生して加算器５３に送る。
【０１７５】
平行して、動き補償器５７は動きベクトル復号器５６で復号された動きベクトルに基づき、フレームメモリ５５から予測値を読み出し加算器５３に入力する。
加算器５３にて前記予測差分画素データに該予測値を加え、フレームメモリ５４、５５に格納する。
【０１７６】
フレーム内符号化の場合は前述のフレーム内符号化データの復号と同様に処理される。１フレーム分の処理が終了したら、フレームメモリ５４およびフレームメモリ５９の内容が外部に出力され、適宜合成される。
【０１７７】
［その他］
なお、本発明は、複数の機器から構成されるシステムに適用しても、一つの機器からなる装置に適用してもよい。
【０１７８】
【発明の効果】
本発明によれば、例えば、パディング処理のために要する装置規模を削減することができる。
【図面の簡単な説明】
【図１】入力画素データとパディング処理後の画素データを示す図である。
【図２】パディング処理によってブロック内の画素データが処理される様子を示す図である。
【図３】本出願人が他の出願において開示したパディング処理用の画像処理部の構成を示す図である。
【図４】パディング処理の一例を示す図である。
【図５】本発明の第１の実施の形態に係る画像処理部の構成を示す図である。
【図６】本発明の第２の実施の形態に係る画像処理部の構成を示す図である。
【図７】本発明の第３の実施の形態に係る画像処理部の構成を示す図である。
【図８】本発明の第４の実施の形態に係る画像処理装置の構成を示す図である。
【図９】本発明の第５の実施の形態に係る画像処理部の構成を示す図である。
【図１０】本発明の第６の実施の形態に係る画像処理部の構成を示す図である。
【図１１】第４の実施形態における検出器８０１の構成を示す図である。
【図１２】第５の実施形態における検出器８０１’の構成を示す図である。
【図１３】第６の実施形態における検出器８０１”の構成を示す図である。
【図１４】第７の実施の形態に係る画像符号化装置の構成を示す図である。
【図１５】第８の実施の形態に係る画像復号装置の構成を示す図である。
【符号の説明】
３０３，３０７  レジスタ群
３２５，３２７  セレクタ群
３２１  左伝搬処理部
３２３  右伝搬処理部
３３１  演算器群
５０１，５０２，５０３，５０４  演算器
５０５ｂ〜ｉ  セレクタ
６０１，７０１，７０３，７０５  セレクタ群
８０１，９０１，９０２  検出器
８０７，８０９  演算器
８１１〜８１４  セレクタ
８２１〜８２８  レジスタ
８３２，８３７  論理素子
１００１，１００２  セレクタ
【図１】
0004574020.tif 000006
【図２】
0004574020.tif 000007
【図３】
0004574020.tif 000008
【図４】
0004574020.tif 000009
【図５】
0004574020.tif 000010
【図６】
0004574020.tif 000011
【図７】
0004574020.tif 000012
【図８】
0004574020.tif 000013
【図９】
0004574020.tif 000014
【図１０】
0004574020.tif 000015
【図１１】
0004574020.tif 000016
【図１２】
0004574020.tif 000017
【図１３】
0004574020.tif 000018
【図１４】
0004574020.tif 000019
【図１５】
0004574020.tif 000020