(57)【特許請求の範囲】
【請求項１】
入力した画像データをパディング処理し、出力する画像処理装置であって、
パディング処理対象の画像データ中の一次元に配列された画素データから、１サイクル毎に１画素データを入力しつつ１画素データずつシフトし、ｎ個の画素データを記憶保持可能な第１のシフトレジスタと、
前記第１のシフトレジスタに保持されるｎ個の画素データに対し、各々がオブジェクト内、オブジェクト外のいずれに属するかを示す属性データを、前記１サイクル毎に１属性データを入力しつつ１属性データずつシフトするか、又は、ｎ個の属性データを並列にロードして記憶保持することが可能な第２のシフトレジスタと、
前記第２のシフトレジスタに保持された属性データに基づき、前記第１のシフトレジスタに保持された画素データを、当該第１のシフトレジスタの終端から入力端に向かう方向に伝搬処理させる第１の伝搬手段と、
前記第２のシフトレジスタに保持された属性データに基づき、前記第１のシフトレジスタに保持された画素データを、当該第１のシフトレジスタの入力端から終端に向かう方向に伝搬処理させる第２の伝搬手段と、
前記第１の伝搬手段による、１つ前のサイクルにて、前記第１のシフトレジスタの終端の画素データに対する伝搬処理にて得られた画素データを、現サイクルの終端位置の伝搬対象の画素データとして補充するデータ補充手段と、
前記第２のシフトレジスタの終端の属性データが、当該属性データに対応する終端の画素データがオブジェクト内にあることを示している場合、前記第１の伝搬手段によって得られた終端の画素データと、前記第２の伝搬手段によって得られた終端の画素データの平均値を算出し、算出後の画素データをパディング処理結果の画素データとして出力し、
前記第２のシフトレジスタの終端の属性データが、当該属性データに対応する画素がオブジェクト外にあることを示している場合、前記データ補充手段から補充された画素データと、前記第２の伝搬手段によって得られた終端画素位置における伝搬画素データの平均値を算出し、算出後の画素データをパディング処理結果の画素データとして出力する演算手段とを備え、
前記第１の伝搬手段は、ｎ個の第１の選択手段で構成され、
前記第２の伝搬手段は、ｎ個の第２の選択手段で構成され、
前記第１又は第２のシフトレジスタの入力端から終端に向かう方向に並ぶ、前記ｎ個の第１の選択手段をＳ１1乃至Ｓ１n、前記ｎ個の第２の選択手段をＳ２1乃至Ｓ２n、前記第１のシフトレジスタの入力端子から終端に向かう第ｉ番目の画素データをＰi、前記第ｉ番目の画素データに対応する前記第２の保持手段に保持された第ｉ番目の属性データをＡiとしたとき、
第ｉ番目の前記第１の選択手段Ｓ１iは、
（１）前記属性データＡiが、画素データＰiがオブジェクト内にあることを示している場合、前記画素データＰiを選択出力し、
（２）前記属性データＡiが、画素データＰiがオブジェクト外にあることを示している場合であって、ｉ＜ｎの場合には前記第１の選択手段Ｓ１i+1からの画素データを選択出力し、ｉ＝ｎの場合には前記データ補充手段から補充された画素データを選択出力し、
第ｉ番目の前記第２の選択手段Ｓ２iは、
（３）前記属性データＡiが、画素データＰiがオブジェクト内にあることを示している場合、前記画素データＰiを選択出力し、
（４）前記属性データＡiが、画素データＰiがオブジェクト外にあることを示している場合、前記第２の選択手段Ｓ２i-1からの画素データを選択出力する
ことを特徴とする画像処理装置。
【請求項２】
前記データ補充手段は、前記一次元の画像データを構成する先頭の画素データを処理する際は、前記第１の伝搬手段の第１選択手段Ｓ１nに、前記第２の伝搬手段の第２選択手段Ｓ２nから出力される画素データを補充することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第１の伝搬手段の第１の選択手段Ｓ１1の出力端子は、前記第２の伝搬手段の第２の選択手段Ｓ２1の入力端子に連結されていることを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記第１の伝搬手段の第１選択手段Ｓ１1は、前記第２の伝搬手段の第２選択手段Ｓ２1に連結されており、前記第２のシフトレジスタには、前記第１及び第２の伝搬手段中を無効な画素データが伝搬しないように制御するデータが、前記属性データに続けて供給されることを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
１つの一次元の画像データと次の一次元の画像データとを連続的に処理するように、前記第１及び第２の伝搬手段を制御する制御手段を更に備えることを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
１つの一次元の画像データと次の一次元の画像データとを連続的に処理するように、前記第１及び第２の伝搬手段を制御する制御手段を更に備え、
前記制御手段は、１つの一次元の画像データと次の一次元の画像データとの区切りを特定する区切り情報に基づいて、前記第１及び第２の伝搬手段を制御することを特徴とする請求項１に記載の画像処理装置。
【請求項７】
前記制御手段は、１つの一次元の画像データの処理と次の一次元の画像データの処理とが干渉しないように、前記第１及び第２の伝搬手段を制御することを特徴とする請求項５又は６に記載の画像処理装置。
【請求項８】
前記第１の伝搬手段と前記演算手段との間及び前記第２の伝搬手段と前記演算手段との間に各々レジスタを更に備え、前記演算手段は、該レジスタを介して前記第１及び第２の伝搬手段から供給される画素データを入力として演算処理を実行することを特徴とする請求項１乃至７のいずれか１項に記載の画像処理装置。
【請求項９】
前記属性データは、各画素データについて１ビットのデータであることを特徴とする請求項１乃至８のいずれか１項に記載の画像処理装置。
【請求項１０】
請求項１に記載の画像処理装置を有することを特徴とする画像符号化装置。
【請求項１１】
請求項１に記載の画像処理装置を有することを特徴とする画像復号装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像データをその属性データに基づいて処理する画像処理装置及び画像符号化装置及び画像復号装置に関する。
【０００２】
【従来の技術】
画像（特に動画像）は、そのデータ量が非常に大きい。従って、画像を蓄積・伝送する際には、そのデータ量を大幅に削減するための圧縮処理が不可欠である。動画像を圧縮（符号化）する処理として、既にＭＰＥＧ−１、ＭＰＥＧ−２などの国際標準が定められているが、これらはテレビカメラ等で撮影した矩形領域の画像のみを対象としている。
【０００３】
画像の特徴は様々であるが、背景とその背景より手前にある被写体（オブジェクト）とからなる画像が数多く存在する。一般的に、背景となる画像は、激しい動きを伴なわず、撮影に使用するカメラの動きに合わせて全体が移動したり、背景中の様々なものが各々細かい動きをしたりする。それに対して、オブジェクトは、激しい動きを伴なう場合がある。このように、オブジェクトと背景とは異なる性質を有する。
【０００４】
ＭＰＥＧ−１、ＭＰＥＧ−２に続いて標準化が進められているＭＰＥＧ−４では、オブジェクトと背景とを別々に取り扱えるようにし、有用なオブジェクトを他で再利用することにより、動画コンテンツの生産性を高めたり、画像を見る側でオブジェクトを操作することができる枠組みを用意することで、画像に対して能動的な関係を築き、新しい表現ができるように考えられている。
【０００５】
しかしながら、オブジェクトの形状は矩形ではなく任意であるため、従来のＭＰＥＧ−１、ＭＰＥＧ−２で用いられてきた圧縮手法をそのまま適用することはできない。
【０００６】
動画圧縮では、更にフレーム間の相関を利用してデータ量を減らす。フレーム間の相関を利用するということは、オブジェクトの現フレームのデータを符号化する際に、他のフレームにおける相関の強い領域を参照し、その差分値を符号化することである。
【０００７】
オブジェクトが任意の形状であると、当然、参照される他のフレームにおけるオブジェクトの形状も任意であり、オブジェクトの外の領域においては値が無い状態である。これでは、ブロック単位の動きベクトル情報を求めることが出来ない。
【０００８】
そこで、参照されるオブジェクトにパディング処理を施して矩形領域に広げた上でブロック単位の動きベクトル探索を行なう。
【０００９】
２次元的な広がりを持つ画像データのパディング処理は、１次元のパディング処理を、横方向と縦方向に対して順に行なうことで実現する。１次元のパディング処理は以下のように行なうことができる。
【００１０】
複数のオブジェクトで挟まれたオブジェクト外の領域（行または列）は、該領域の両端のオブジェクト内の画素データの平均値に置き換え、その他のオブジェクト外の領域は、該領域に接するオブジェクト内の画素データに置き換える。
【００１１】
図１は、上記のパディング処理の一例を示す図である。図１では、水平（横）方向パディング処理を説明するため、ブロック内の１行分の２値形状情報（属性データ）と画素データとが示されている。但し、オブジェクト外の領域の画素データは、他の値で置き換えられるため、元の値は殆ど意味が無い。従って、オブジェクト外の領域の画素データの値は省略されている。
【００１２】
図１（ａ）は２値形状情報、（ｂ）はオブジェクト領域内の画素データを示している。この例では、ブロック内の１行分の画素数は１６である。この１６画素の中には、オブジェクト外の領域が４つある。具体的には、オブジェクト外の領域は、画素値”７８”の画素の左の１画素からなる領域、画素値”７４”の画素と画素値”５６”の画素で挟まれた４画素からなる領域、画素値”６４”の画素と画素値”４２”の画素で挟まれた２画素からなる領域、画素値”４２”の画素の右側の３画素からなる領域の４つである。
【００１３】
両端の領域は、該領域に接するオブジェクト内の画素データで置き換えられるため、左端の１画素は画素値”７８”の画素に置き換えられ、右端の３画素は画素値”４２”の画素に置き換えられる。
【００１４】
残りの２つの領域は、両側のオブジェクト内の画素に挟まれているので、左側の４画素は画素値”７４”と”５６”の平均値”６５”の画素に置き換えられ、右側の２画素は画素値”６４”と”４２”の平均値”５３”の画素に置き換えられる。その結果、図１（ｃ）に示すような画素データが、パディング処理の結果として得られる。
【００１５】
ブロックデータは、複数の行データからなり、それぞれの行データに水平方向パディング処理を施すことにより、図２（ａ）に示すオブジェクト領域内の画素データは、図２（ｂ）のように広がる。ここで、斜線部は、オブジェクト内の領域及びパディング処理によってデータが補充された画素の領域を示す。
【００１６】
水平方向パディング処理の次は、垂直方向パディング処理が実行される。垂直方向パディング処理は、処理の単位が横１行から縦１列に変わる点を除いて、処理方法は、水平方向パディング処理と同様である。垂直パディング処理の後には、図２（ｃ）のようにブロック内の全てが有効な画素データで埋め尽くされる。
【００１７】
【発明が解決しようとする課題】
本発明は、上記の背景に鑑みてなされたものであり、例えば、パディング処理を実行するための新規な画像処理装置を提供することを目的とする。
【００１８】
【課題を解決するための手段】
本発明に係る画像処理装置は、入力した画像データをパディング処理し、出力する画像処理装置であって、
パディング処理対象の画像データ中の一次元に配列された画素データから、１サイクル毎に１画素データを入力しつつ１画素データずつシフトし、ｎ個の画素データを記憶保持可能な第１のシフトレジスタと、
前記第１のシフトレジスタに保持されるｎ個の画素データに対し、各々がオブジェクト内、オブジェクト外のいずれに属するかを示す属性データを、前記１サイクル毎に１属性データを入力しつつ１属性データずつシフトするか、又は、ｎ個の属性データを並列にロードして記憶保持することが可能な第２のシフトレジスタと、
前記第２のシフトレジスタに保持された属性データに基づき、前記第１のシフトレジスタに保持された画素データを、当該第１のシフトレジスタの終端から入力端に向かう方向に伝搬処理させる第１の伝搬手段と、
前記第２のシフトレジスタに保持された属性データに基づき、前記第１のシフトレジスタに保持された画素データを、当該第１のシフトレジスタの入力端から終端に向かう方向に伝搬処理させる第２の伝搬手段と、
前記第１の伝搬手段による、１つ前のサイクルにて、前記第１のシフトレジスタの終端の画素データに対する伝搬処理にて得られた画素データを、現サイクルの終端位置の伝搬対象の画素データとして補充するデータ補充手段と、
前記第２のシフトレジスタの終端の属性データが、当該属性データに対応する終端の画素データがオブジェクト内にあることを示している場合、前記第１の伝搬手段によって得られた終端の画素データと、前記第２の伝搬手段によって得られた終端の画素データの平均値を算出し、算出後の画素データをパディング処理結果の画素データとして出力し、
前記第２のシフトレジスタの終端の属性データが、当該属性データに対応する画素がオブジェクト外にあることを示している場合、前記データ補充手段から補充された画素データと、前記第２の伝搬手段によって得られた終端画素位置における伝搬画素データの平均値を算出し、算出後の画素データをパディング処理結果の画素データとして出力する演算手段とを備え、
前記第１の伝搬手段は、ｎ個の第１の選択手段で構成され、
前記第２の伝搬手段は、ｎ個の第２の選択手段で構成され、
前記第１又は第２のシフトレジスタの入力端から終端に向かう方向に並ぶ、前記ｎ個の第１の選択手段をＳ１1乃至Ｓ１n、前記ｎ個の第２の選択手段をＳ２1乃至Ｓ２n、前記第１のシフトレジスタの入力端子から終端に向かう第ｉ番目の画素データをＰi、前記第ｉ番目の画素データに対応する前記第２の保持手段に保持された第ｉ番目の属性データをＡiとしたとき、
第ｉ番目の前記第１の選択手段Ｓ１iは、
（１）前記属性データＡiが、画素データＰiがオブジェクト内にあることを示している場合、前記画素データＰiを選択出力し、
（２）前記属性データＡiが、画素データＰiがオブジェクト外にあることを示している場合であって、ｉ＜ｎの場合には前記第１の選択手段Ｓ１i+1からの画素データを選択出力し、ｉ＝ｎの場合には前記データ補充手段から補充された画素データを選択出力し、
第ｉ番目の前記第２の選択手段Ｓ２iは、
（３）前記属性データＡiが、画素データＰiがオブジェクト内にあることを示している場合、前記画素データＰiを選択出力し、
（４）前記属性データＡiが、画素データＰiがオブジェクト外にあることを示している場合、前記第２の選択手段Ｓ２i-1からの画素データを選択出力することを特徴とする。
【００２２】
本発明に係る画像処理装置において、前記第１の伝搬手段の第１の選択手段Ｓ１1の出力端子は、前記第２の伝搬手段の第２の選択手段Ｓ２1の入力端子に連結されていることが好ましい。
【００２３】
本発明に係る画像処理装置において、前記第１の伝搬手段の第１選択手段Ｓ１1は、前記第２の伝搬手段の第２選択手段Ｓ２1に連結されており、前記第２のシフトレジスタには、前記第１及び第２の伝搬手段中を無効な画素データが伝搬しないように制御するデータが、前記属性データに続けて供給されることが好ましい。
【００２５】
本発明に係る画像処理装置は、例えば、１つの一次元の画像データと次の一次元の画像データとを連続的に処理するように、前記第１及び第２の伝搬手段を制御する制御手段を更に備えることが好ましい。
【００２６】
前記制御手段は、例えば、１つの一次元の画像データと次の一次元の画像データとの区切りを特定する区切り情報に基づいて、前記第１及び第２の伝搬手段を制御することが好ましい。
【００２７】
前記制御手段は、例えば、１つの一次元の画像データの処理と次の一次元の画像データの処理とが干渉しないように、前記第１及び第２の伝搬手段を制御することが好ましい。
【００２８】
本発明に係る画像処理装置は、例えば、前記第１の伝搬手段と前記演算手段との間及び前記第２の伝搬手段と前記演算手段との間に各々レジスタを更に備え、前記演算手段は、該レジスタを介して前記第１及び第２の伝搬手段から供給される画素データを入力として演算処理を実行することが好ましい。
【００３３】
【発明の実施の形態】
まず、本出願人が他の出願において開示したパディング処理回路について説明する。
【００３４】
本出願人が他の出願において開示したパディング処理回路は、１行が１０画素のデータに対して１次元方向のパディング処理を施すが、この原理は、例えば、任意の数の画素データに対する１次元方向のパディング処理に拡張することができる。
【００３５】
図３は、本出願人が他の出願において開示したパディング処理用の画像処理部の構成を示す図である。図３において、３０１は、パディング処理を施すべき一次元の画像データを構成する複数の画素データを入力する端子群、３０３は、一次元の画像データを構成する複数の画素データを保持するレジスタ群、３０５は、一次元の画像データを構成する各画素データに係る画素がオブジェクト内の画素であるか、オブジェクト外の画素であるかを表わす属性データとしての形状情報（ここでは、各画素に対して１ビット）を入力する端子群、３０７は、形状情報を保持するレジスタ群、３２１は、形状情報に基づいて該当する画素データを左方向に伝搬させるための左伝搬処理部、３２３は、形状情報に基づいて該当する画素データを右方向に伝搬させるための右伝搬処理部、３２５ａ〜ｊは、左伝搬処理部３２１を構成するセレクタ群、３２７ａ〜ｊは、右伝搬処理部３２３を構成するセレクタ群、３３１ａ〜ｊは、２つの画素データ間の平均値を演算するための演算器群である。
【００３６】
パディング処理を施すべき画素データ、該画素データに対する２値形状情報は、１個ずつ或いは１０個同時に端子３０１、３０５から各々入力され、レジスタ３０３、３０７に各々保持される。形状情報（２値）の“１”は、当該画素がオブジェクト内の画素であることを表わし、“０”は、当該画素がオブジェクト外の画素であることを表わす。
【００３７】
レジスタ群３０３に保持された複数の画素データは、各々左伝搬処理部３２１、右伝搬処理部３２３内の対応するセレクタに入力される。レジスタ群３０７に保持された形状情報は、各々左伝搬処理部３２１、右伝搬処理部３２３内の対応するセレクタの制御信号として入力される。
【００３８】
各セレクタは、該制御信号が“１”の時はレジスタ群３０３から入力される画素データを選択し、“０”の時は前段のセレクタで選択された画素データを選択する。これにより、オブジェクト外の画素をオブジェクト内の画素データで置き換えるように、画素データが伝搬する。
【００３９】
左伝搬処理部３２１では、オブジェクト内の画素データが図３の左方向に伝搬し、右伝搬処理部３２３では、オブジェクト内の画素データが図３の右方向に伝搬する。
【００４０】
各々のセレクタで選択された画素データは演算器群３３１の該当する演算器に送られる。演算器群３３１の各演算器は、対応するセレクタから供給される２つの画素データの平均値を求めて出力する。
【００４１】
図４は、図３に示す画像処理部における処理の具体例を示す図である。図４の（ａ）は、２値の形状情報、（ｂ）は、入力画素データ（オブジェクト外は意味が無いので省略されている）、（ｃ）は、左伝搬処理部３２１におけるセレクタの出力値、（ｄ）は、右伝搬処理部３２３におけるセレクタの出力値、（ｅ）は、演算器群３３１の平均値出力を表わす。
【００４２】
各画素位置では、各々２つのセレクタがあり、形状情報が“１”（オブジェクト内）の画素については入力画素データが選択され、形状情報が“０”の画素についてはオブジェクト内の画素データを左又は右に伝搬させた値が選択される。
【００４３】
演算器群３３１は、各画素ごとに選択された２つの値の平均値を演算して、パディング処理の結果として出力する。オブジェクト内の画素（形状情報”１”に対応する画素）については、演算器に供給される２つの値が同じ値（入力画素データ）であり、演算結果は、該２つの値と同じである。
【００４４】
オブジェクトに挟まれた領域の画素（形状情報が”０”に対応する画素）については、対応する演算器に供給される左伝搬画素データの値と右伝搬画素データの値とが異なるため、左伝搬画素データの値と右伝搬画素データの値との平均値が各画素ごと演算され、パディング処理の結果として出力される。
【００４５】
以上の処理により、オブジェクトで挟まれたオブジェクト外の領域は、該領域の両端のオブジェクト内の画素データの平均値に置き換えられ、その他のオブジェクト外の領域は、該領域に接するオブジェクト内の画素データに置き換えられる。
【００４６】
上記と同一構成で、１０画素未満の任意の画素数についてのパディング処理が可能である。これは、画素入力の無い端子に対応する形状情報を“０”に固定することによって実現される。
【００４７】
以上のように、パディング処理は、並列処理に適しており、１行あるいは１列単位（以下では、１行あるいは１列を単に１行と記す）で並列に処理すると、上述の画素伝搬処理を高速かつ効率的に行なうことができる。しかし、他の処理、例えば、ＤＣＴ変換後の量子化処理やジグザグスキャン変換処理、可変長符号化処理などは、１サイクル当たり１画素あるいは１シンボルを処理するのが一般的であり、その方が回路規模を小さくすることができ、回路を効率的に使用することができる。
【００４８】
よって、上記の如きパディング処理回路を採用する場合、他の処理回路との間で画素データの直並列変換処理や並直列変換処理等を実行する必要が生じる場合がある。また、他の処理が並列処理を実行しないにも拘らず、パディング処理回路だけが並列処理を実行すると、両回路の間で処理能力にミスマッチが生じ、パディング処理回路はフル稼働せずに間欠動作することになる。
【００４９】
そこで、他の処理と同じように、１サイクルで１画素ずつパディング処理の結果を出力するような構成が望まれる。
【００５０】
［第１の実施の形態］
本発明の第１の実施の形態では、１サイクルで１画素ずつパディング処理の結果を出力するパディング処理回路を提供する。
【００５１】
図５は、本発明の第１の実施の形態に係る画像処理部の構成を示す図である。この画像処理部５００は、例えば、コンピュータ等の画像処理装置の一部として好適に使用され得る。図５において、５０１は、パディング処理を施こすべき画素データを１画素ずつ入力する端子、５０３は、画素データを保持し、それを１サイクルの処理毎にシフトさせる８ビット幅のシフトレジスタ、５０５は、形状情報（属性データ）を１ビットずつ入力する端子、５０７は形状情報を保持し、それを１サイクルの処理毎にシフトさせる１ビット幅のシフトレジスタ、５１１は、伝搬データを保持するレジスタ（データ補充レジスタ）、５１３は、必要に応じてレジスタ５１１の出力を選択するセレクタである。
【００５２】
その他の構成要素は、図３における同一番号の構成要素と同様である。
【００５３】
この実施の形態に係る画像処理部５００は、１サイクル毎にシフトレジスタ５０３に保持された画素データを右側に１画素分ずつシフトさせて、該シフトレジスタ５０３中の一番右の画素データに対応するパディング処理後の画素データを出力する。
【００５４】
パディング処理された最初の画素データが出力されるまでに、パディング処理すべき１行分の画素データが端子５０１から入力され、シフトレジスタ５０３に保持される。この規模の回路でパディング処理可能な１行の画素数は、最大１０画素である。
【００５５】
シフトレジスタ５０３に画素データが入力されると同時に、端子５０５にも形状情報が入力され、シフトレジスタ５０７に該形状情報が保持される。
【００５６】
セレクタ５１３は、１行の画像データを構成する最初の画素データをパディング処理する時のみ、右伝搬処理部３２３から出力さる画素データを選択し、２画素目以降の処理では、レジスタ５１１から出力される画素データを選択する。左伝搬処理部３２１及び右伝搬処理部３２３に対する入力信号及びこれらの内部状態は、図３に示す画像処理部と同様であり、従って、演算器３３１ａに供給される画素データも図３に示す画像処理部と同様である。
【００５７】
以上の手順に従って、演算器３３１ａからパディング処理された最初の画素データが出力される。なお、セレクタ３２５ａの出力端子は、レジスタ５１１の入力端子にも接続されている。
【００５８】
次の処理サイクル（２画素目の処理サイクル）に移ると、シフトレジスタ５０３及び５０７に保持されているデータは各々右方向に１つシフトされ、これと同時に、レジスタ５１１は前回のサイクルでセレクタ３２５ａから出力されていたデータを取り込む。
【００５９】
１行分の画素データ及び形状情報が入力された後は、端子５０５には“０”が入力される。しかし、端子５０１に対する入力は無視されるので、ここでは、端子５０１には、次にパディング処理すべき行の画像データを構成する画素データが入力される。
【００６０】
レジスタ５１１に取り込まれたデータは、セレクタ５１３で選択されて左伝搬処理部３２１に入力される。よって、現サイクルにおけるセレクタ３２５ａには、１サイクル前における該セレクタ３２５ａの出力と、１サイクル前におけるシフトレジスタ５０３，５０７のそれぞれの右から２つ目のデータ（現サイクルにおけるシフトレジスタ５０３，５０７のそれぞれの右端のデータ）が入力される。従って、セレクタ３２５ａの出力は、１サイクル前のセレクタ３２５ｂの出力と同一、言い換えると、図３に示すセレクタ３２５ｂの出力と同一である。
【００６１】
一方、端子５０５から入力された値が“０”の形状情報により、セレクタ３２５ｊ，３２７ｊはそれぞれ前段のセレクタ出力を選択して画素データを伝搬するように動作するので、該セレクタ３２５ｊ，３２７ｊの存在は無視することができ、右伝搬処理部３２３のセレクタ３２７ａの入出力は、１サイクル前のセレクタ３２７ｂの入出力と同一になる。左及び右伝搬処理部内３２１及び３２３の他のセレクタの入出力も、１サイクル前の左側のセレクタの入出力と同一である。
【００６２】
よって、現サイクルにおける演算器３３１ａの入力は、１サイクル前の図３における演算器３３１ｂの入力と同一になるため、演算器３３１ａから出力される画素データは、行データの２番目の画素のパディング処理結果となる。
【００６３】
さらに次のサイクル（３画素目の処理サイクル）に移ると、シフトレジスタ５０３，５０７の内容が右方向に１つシフトし、それに伴ない、左及び右伝搬処理部３２１及び３２３の各セレクタの入出力状態も１つ右にシフトする。
【００６４】
よって、このサイクルでは３番目の画素データのパディング処理結果が演算器３３１ａから出力され、さらに次のサイクルでは４番目の画素データのパディング処理結果が演算器３３１ａから出力される。このようにして、１サイクル毎に１画素についてのパディング処理結果が出力され、１行分、即ち１０画素目までのパディング処理の結果が連続して出力される。
【００６５】
次のサイクル（１行分の画像データのパディング処理が完了した後のサイクル）では、シフトレジスタ５０３には、次に処理すべき１行分の画素データが格納されているが、シフトレジスタ５０７には全て“０”が保持されている。
【００６６】
そこで、シフトレジスタ５０３の内容を保持したまま、形状情報のみをシフトレジスタ５０７にシフト入力して、次の行のパディング処理の準備がなされる。
【００６７】
ここで、形状情報は２バイト程度の情報量であるので、端子５０５の前段にバッファ（シフトレジスタ）を設け、該バッファに形状情報を１サイクルでロードし、該バッファから１ビットシリアルで高速に読み出しながら端子５０５に供給することで、高速に形状情報をシフトレジスタ５０７に転送することが好ましい。
【００６８】
［第２の実施の形態］
この実施の形態に係る画像処理部では、シフトレジスタ５０７に対する形状情報の格納処理をより高速に実行する。第１の実施の形態では、シフトレジスタ５０３への画素データの入力は、無駄なく連続的に行なうことができるが、シフトレジスタ５０７への形状情報の入力は、１行分のパディング処理がすべて終了した後でなければ次の行の形状情報を入力することができない。前述のように、パディング処理中は“０”を入力しなければならないからである。
【００６９】
図６は、本発明の第２の実施の形態に係る画像処理部の構成を示す図である。この画像処理部６００は、例えば、コンピュータ等の画像処理装置の一部として好適に使用され得る。この実施の形態では、シフトレジスタ５０７にパラレルロード機能を設けた新たなシフトレジスタ６０７を第１の実施の形態におけるシフトレジスタ５０７の代わりに設けて、１行の画像データに対応する形状情報を並列に入力するための端子３０５（図３参照）を設ける。その他は、第１の実施の形態と同様である。
【００７０】
この実施の形態では、形状情報は端子３０５からシフトレジスタ６０７に並列に入力され、端子５０５は“０”に固定される。１行分の画像データを構成する最後の画素データがシフトレジスタ５０３に入力されるタイミングで、端子３０５に並列に入力される形状情報をシフトレジスタ６０７に取り込み（ロード）、該１行分の画素データをパディング処理する間は、１サイクル毎に形状情報を右方向へシフトさせると共に端子５０５から“０”が入力される。
【００７１】
端子３０５からシフトレジスタ６０７に形状情報を取り込むことを除けば、処理タイミング、内部状態、及び出力データは、第１の実施の形態と同様である。
【００７２】
１行分のパディング処理が終了して、次の行のパディング処理に移る場合、次の行の画像データを構成する最後の画素データがシフトレジスタ５０１に入力されるのと同時に、該画像データに対応する形状情報が端子３０５からシフトレジスタ６０７にロードされる。
【００７３】
これにより、形状情報のみを後でシフト入力することによる時間のロスが無くなり、連続的にパディング処理を実行することができる。
【００７４】
図６の構成では、１行当たり最大１０画素までのパディング処理を実行することができるが、上記の説明は１行当たり１０画素の場合に関する。１０画素未満の画素数の画像データをパディング処理する場合には、以下のような制御となる。
【００７５】
例えば、１行当たり８画素からなる画像データのパディング処理を実行する場合は、まず、第１行の８つの画素データが端子５０１から入力され、続けて次の行の画素データが入力される。即ち、画素データに関しては、行と行との間で無駄なデータを挿入することなく、処理すべき画素データのみが端子５０１に連続して入力される。
【００７６】
第１行の先頭の画素データが、シフトレジスタ５０３の一番右へシフトされる時、それと同時に、形状情報が端子３０５からシフトレジスタ６０７に取り込まれる。入力される形状情報は、右側の８ビットが有効な情報で、左側の２ビットは“０”である。
【００７７】
これにより、シフトレジスタ５０３，６０７の右側の８画素分のレジスタには、処理すべき画素データとそれに対応する形状情報が格納されるので、前述の説明と同様に、１行分の画素データのパディング処理を滞り無く実行することができる。
【００７８】
１行の画像データを構成する画素データのパディング処理が終わるサイクルの次のサイクルから新しい行のパディング処理が開始される。それに合わせて、新しい行の形状情報が端子３０５からシフトレジスタ６０７に取り込まれる。
【００７９】
以上のように１行当たりの画素数に応じてシフトレジスタ６０７への形状情報の取り込みタイミングを変更することにより、１行が任意の画素数で構成される画像データのパディング処理についても連続して実行することができる。
【００８０】
［第３の実施の形態］
この実施の形態では、第１の実施の形態における形状情報の入力の問題（時間のロス）が第２の実施の形態とは別の方法で解決されている。
【００８１】
図７は、本発明の第３の実施の形態に係る画像処理部の構成を示す図である。この画像処理部７００は、例えば、コンピュータ等の画像処理装置の一部として好適に使用され得る。
【００８２】
この実施の形態に係る画像処理部７００では、図５に示す画像処理部５００に対して、シフトレジスタ５０７と同様の１ビット幅のシフトレジスタ７０７が追加されている。シフトレジスタ７０７には、１行分の画素データの境界を表わす区切り情報が他の情報（画素データ、形状情報）と対応するように端子７０１から入力される。
【００８３】
この区切り情報により、左及び右伝搬処理部内の画像データの伝搬が制御される。これに応じて、この画像処理部７００では、図３、図５及び図６で採用されている左及び右伝搬処理部３２１及び３２３とは異なる構成を有する画素伝搬処理部７１１及び７１３を使用する。
【００８４】
比較のため、図５に示す画像処理部５００の一部（２画素分）の構成を図８に示す。５０３ｃと５０３ｄは、８ビット幅のシフトレジスタ５０３を構成する個々のレジスタであり、５０７ｃと５０７ｄは、１ビット幅のシフトレジスタ５０７を構成する個々のレジスタである。３２５ｃと３２５ｄは、左伝搬処理部３２１を構成する個々のセレクタであり、３２７ｃと３２７ｄは右伝搬処理部３２３を構成する個々のセレクタである。
【００８５】
図９は、図７に示す画像処理部７００の一部（２画素分）の構成を示す図である。シフトレジスタ７０７を構成するレジスタ７０７ｃには、シフトレジスタ５０３を構成するレジスタ５０３ｃ及び５０３ｄに各々保持されている画素データが同一行に属する画素データであるか否かを示す区切り情報が保持される。この２つの画素データが同一行に属する場合には、レジスタ７０７ｃにはその旨を示す“０”が保持され、この２つの画素データが異なる行に属する場合には、レジスタ７０７ｃには行の区切りを示す“１”が保持される。
【００８６】
セレクタ群３２５（３２５ｃ、３２５ｄ等）の間にはセレクタ群７１５が、セレクタ群３２７（３２７ｃ、３２７ｄ等）の間にはセレクタ群７１７が追加されている。この実施の形態で、前述の実施の形態に対して追加されたセレクタの総数は（１０−１）×２＝１８個であり、これらの追加に係るセレクタを２個を１組として、各組のセレクタが１つの区切り情報により切り替え制御される。
【００８７】
よって、シフトレジスタ７０７のレジスタ長は最低９ビットであり、９ビット長を超えるレジスタは遅延回路として働く。
【００８８】
区切り情報は、形状情報や画素データと同期してシフトさせる必要があり、行データの区切りを示す“１”という値は、シフトレジスタ長が９ビットの場合は、先頭の画素データと同時に入力する必要があり、シフトレジスタ長が１０ビットの場合は終端の画素データと同時に入力する必要がある。
【００８９】
ここで、区切り情報は空間的に画素データの位置とは一致せず、画素データと画素データとの間に位置するため、区切り情報を画素データと時間的に同時に入力しようとすれば、両側の画素データのいずれか一方の入力に同期させる必要があるので、上記のようなことが生じる。
【００９０】
以下、具体的な動作を説明する。レジスタ５０３ｃと５０３ｄに保持されている画素データが異なる行に属する画素データである場合、レジスタ７０７ｃは値“１”を保持しており、該値はセレクタ７１５ｃと７１７ｃの切替制御信号として使用される。
【００９１】
セレクタ７１５ｃは、右伝搬処理部のセレクタ３２７ｄから供給される画素データを選択し、選択された画素データは左伝搬処理部（３２５ｄ等）で左方向に伝搬される。同様に、セレクタ７１７ｃは、左伝搬処理部のセレクタ３２５ｃから供給される画素データを選択し、選択された画素データは右伝搬処理部（３２７ｃ等）で右方向に伝搬される。
【００９２】
ここで、レジスタ５０７ｃと５０７ｄに保持されている形状情報が両方とも“０”である場合は、簡単に記述すると、図１０のように、右伝搬処理部の左側から入力された画素データは、セレクタ７１５ｃを経由して、左伝搬処理部を左方向に伝搬する。また、この場合、左伝搬処理部の右側から入力された画素データは、セレクタ７１７ｃを経由して、右伝搬処理部を右方向に伝搬する。
【００９３】
このように、同一の区切り情報によって制御される１組のセレクタ７１５ｃ及び７１７ｃの左右の画素データは、互いに干渉すること無く伝搬される。
【００９４】
従って、左伝搬処理部内のセレクタ３２５ａの出力と右伝搬処理部内のセレクタ３２７ａの出力との平均値を演算器３３１ａで演算することにより、第１及び第２の実施の形態と同様に、１画素ずつパディング処理結果を出力することができる。
【００９５】
また、この実施の形態においても、第２の実施の形態と同様に、１行当たり１０画素以下の任意の画素数の画像データについてパディング処理を実行することができる。
【００９６】
区切り情報は、１つの１行分の画素データと次の１行分の画素データとの区切りを示すだけでなく、有効な画素データ（処理対象の画素データ）と無効な画素データとの区別するために用いることもできる。従って、この画像処理部７００では、シフトレジスタ５０３に無効な画素データを取り込んでも、それに対応する区切り情報を使用することにより、適正な処理を実行することができる。また、該無効なデータと同時に入力する形状情報は、“０”及び“１”のいずれであっても差し支えない。
【００９７】
［第４の実施の形態］
この実施の形態は、第１の実施の形態の変形例に関する。この実施の形態に係る画像処理部は、レジスタ５１１とセレクタ５１３の配置が第１の実施の形態と異なる。
【００９８】
図１１は、本発明の第４の実施の形態に係る画像処理部と図５に示す画像処理部の構成（第１の実施の形態）との相違部分を説明するために、右側の２画素分の処理部のみを示した図である。
【００９９】
第１の実施の形態との主な構成上の違いは、レジスタ５１１への入力をセレクタ３２５ａの出力からセレクタ３２５ｂの出力に変更した点と、セレクタ５１３の配置をセレクタ３２５ａの入力側から出力側に変更した点である。
【０１００】
レジスタ５１１の出力をセレクタ５１３が選択するタイミングは第１の実施の形態と同様である。すなわち、セレクタ５１３は、各行データの先頭の１画素だけはレジスタ５１１の出力ではなくセレクタ３２５ａの出力を選択し、２画素目以降ではレジスタ５１１の出力を選択する。
【０１０１】
この実施の形態では、セレクタ３２５ａの出力は必ずセレクタ３２７ａの出力と一致するので、セレクタ３２７ａの出力を直接セレクタ５１３に入力することで、セレクタ３２５ａを省略してもよい。
【０１０２】
先頭の１画素目におけるセレクタ５１３経由の演算器３３１ａへの入力は、第１の実施の形態と同様であり、セレクタ３２７ａの出力と同じである。
【０１０３】
１サイクル後（２画素目の処理）に演算器３３１ａに供給するために必要なデータは、現時点（１画素目の処理）でセレクタ３２５ｂから出力されているので、これをレジスタ５１１で１サイクル遅延させた後にセレクタ５１３経由で演算器３３１ａに入力することにより、目的のデータを演算器３３１ａに供給することができる。
【０１０４】
セレクタ５１３の出力をさらにセレクタ３２５ｂに供給することにより、次のサイクルで演算器３３１ａに供給するために必要なデータが、該セレクタ３２５ｂから再び出力される。
【０１０５】
よって、第２サイクル以降、セレクタ５１３にレジスタ５１１の出力を選択させることにより、演算器３３１ａに供給するために必要なデータの１つを得ることができる。演算器３３１ａに供給すべきもう１つデータは、セレクタ３２７ａの出力データである。
【０１０６】
［第５の実施の形態］
この実施の形態は、第１及び第４の実施の形態の変形例である。図１２は、本発明の第５の実施の形態に係る画像処理部と図５に示す画像処理部の構成（第１の実施の形態）との相違部分を説明するために、右側の２画素分の処理部のみを示した図である。
【０１０７】
この実施の形態の係る画像処理部では、演算器３３１ａの後段に設けたセレクタ１２０１により、先頭の画素のパディング処理結果と２画素目以降のパディング処理結果とを切り替えて出力するのに加え、レジスタ５１１及び１２０３により、演算器３３１ａに供給すべき２つのデータを該レジスタから直接供給することにより、処理遅延を小さくして高速化が図られている。
【０１０８】
まず、第４の実施の形態に係る画像処理部では、パディング処理後の先頭の画素データについても演算器３３１ａにより生成するため、セレクタ５１３の出力を該演算器３３１ａに供給する必要がある。一方、この実施の形態に係る画像処理部では、パディング処理後の先頭の画素データについては、演算器３３１ａで生成せず、別系統のパスを通して生成することにより、レジスタ５１１の出力を演算器３３１ａに直接供給することができる。
【０１０９】
また、この実施の形態では、第４の実施の形態で補足的に述べたように、セレクタ３２５ａが省略されている。
【０１１０】
演算器３３１ａに供給すべきもう一方のデータは、新たに設けたレジスタ１２０３から直接供給される。該レジスタ１２０３には、次のサイクルで演算器３３１ａに供給すべき画素データが供給さるため、該レジスタ１２０３でこれを１サイクル遅延させることにより、演算器３３１ａに供給すべきデータを得ることができる。
【０１１１】
この実施の形態では、画素伝搬処理部と演算器とをレジスタで分離しているため、動作周波数を上げることが容易である。より詳細には、
先頭画素の処理遅延時間    ＝画素伝搬処理部による遅延＋セレクタ１２０１による遅延
２画素目以降の処理遅延時間＝演算器３３１ａによる遅延＋セレクタ１２０１による遅延
となり、他の実施の形態における処理遅延時間（画素伝搬処理部による遅延＋演算器３３１ａによる遅延）よりも明らかに処理遅延時間が短く、高速化に適している。
【０１１２】
［第６の実施の形態］
図１３は本発明の第６の実施の形態に係る画像符号化部の構成を示すブロック図である。
【０１１３】
図１３において、１は１フレーム分の画像データを格納し、MPEG-4の手順に従ってマクロブロック単位に出力するフレームメモリであり、２は後述する予測値を減算する減算器である。３はDCT変換を施すDCT変換器であり、４は変換係数をそれぞれ量子化する量子化器である。5は量子化結果をエントロピー符号化するエントロピー符号化器である。６は量子化結果を変換係数に戻す逆量子化器であり、７は変換係数から画素データを復元する逆DCT器である。８は予測値を加算する加算器であり、９は再生画像を格納するフレームメモリである。
【０１１４】
１０は入力されたマクロブロックの画素データとフレームメモリ９に格納された画素データから動きベクトルを検出する動きベクトル検出器である。１１は検出された動きベクトルに従ってマクロブロック毎の予測値を算出する動き補償器であり、１２は動きベクトルを符号化する動きベクトル符号化器である。１３は２値の形状情報1フレーム分を格納し、MPEG-4の手順に従ってマクロブロック単位に切出して出力する２値のフレームメモリである。形状情報は各画素がオブジェクトの外か内かを示すデータである。１４はマクロブロック単位で形状情報を算術符号化する形状符号化器である。１５は前記再生画像に対応した形状情報を格納するフレームメモリである。１６は該当するマクロブロックについて動きベクトル検出器１０から動きベクトルを入力し、入力されたマクロブロックの形状情報とフレームメモリ１５の形状情報を比較して形状情報の動きベクトルを算出して動き補償を行う動き補償器である。
【０１１５】
２０、２１は形状情報からパディングを制御するパディング制御器である。１７はパディング制御器２０からの制御と形状情報に従って、フレームメモリ１のオブジェクト外の画素データを補填するパディング器である。１８はパディング制御器２１からの制御と形状情報に従って、フレームメモリ９のオブジェクト外の画素データを補填するパディング器である。１９は拡張パディングを実行する拡張パディング器である。
【０１１６】
上記の構成において、動画像の各フレームの符号化動作について述べる。
【０１１７】
まず、１フレーム分の画素データと形状情報がそれぞれフレームメモリ１とフレームメモリ１３に格納される。
【０１１８】
入力された符号化対象のフレームがフレーム内符号化の対象であった場合はパディング制御器２０とパディング器１７が動作し、動き補償を伴うフレーム間符号化の対象であった場合はパディング制御器２０、２１、パディング器１７、１８及び拡張パディング器１９が動作する。
【０１１９】
パディング器１７及びパディング制御器２０は、フレーム内符号化時には低域成分外挿法と呼ばれている方法でパディング処理を行ない、フレーム間符号化時には特に処理はせず、減算器２から出力される予測誤差の内、オブジェクト領域外の予測誤差の値をパディング制御器からの信号に基づいて“０”に置き換える。
【０１２０】
前記低域成分外挿法とは、オブジェクト内の画素の平均値でオブジェクト外の領域を埋めた後に、オブジェクト外の画素を該画素の上下左右４画素の平均値で置き換えるものである。パディング器１８には、前記第１〜第５の実施形態で説明した１次元のパディング処理ユニットを２つ又は１つ用いる。２つのパディング処理ユニットを用いる場合は、一方で水平方向のパディング処理を行ない、もう一方で垂直方向のパディング処理をする。１つのパディング処理ユニットで処理する場合は、水平方向のパディング処理をした後、同じユニットで垂直方向のパディング処理を行なう。
【０１２１】
フレーム内符号化が選択された場合、パディング器１７は符号化に先行してパディング処理を行う。パディング制御器２０はフレーメモリ１３に格納された形状情報からオブジェクトの境界を含むマクロブロックを検出しそのマクロブロックの位置と形状情報をパディング器１７に入力する。パディング器１７はオブジェクトの境界を含むマクロブロックの画素データをフレームメモリ１から読み出して、前記低域成分外挿法によりオブジェクト外の画素データをオブジェクト内の画素データから算出する。
【０１２２】
フレーム間符号化が選択された場合、パディング器1８は符号化に先行してパディング処理を行う。パディング制御器２１はフレーメモリ１５に格納された形状情報からオブジェクトの境界を含むマクロブロックを検出しそのマクロブロックの位置と形状情報をパディング器１８に供給する。パディング器１８はオブジェクトの境界を含むマクロブロックの画素データをフレームメモリ９から読み出して、オブジェクト外の画素データをオブジェクト内の画素データから生成する。
【０１２３】
上記パディング処理と平行して、パディング制御器２１はフレーメモリ１５に格納された形状情報から左右上下がオブジェクト内部の画素を含むマクロブロックと接しているマクロブロックを検出し、マクロブロックの位置を拡張パディング器１９に供給する。拡張パディング器１９はMPEG-4符号化方式の拡張パディングの手順に従って、隣接するマクロブロックの画素データをコピーする。
【０１２４】
符号化するブロックのパディング処理が終了したら、フレーム内符号化の場合は、マクロブロック単位に画素データをフレームメモリ１から読み出し、減算器２で予測値０を引き、DCT器３でDCT変換し、その変換係数を量子化器４で量子化する。
【０１２５】
量子化結果はエントロピ符号化器５にて符号化し、外部に出力する。と同時に量子化結果は逆量子化器６にも送られ、DCT変換係数が再生され、逆DCT器７にて画素データを再生して加算器８で予測値０を加えた後、フレームメモリ９に格納する。
【０１２６】
これと平行して、フレームメモリ１３の２値形状情報は符号化器１４にて、オブジェクト外のマクロブロックに関してはTransparentとして符号化し、境界を含むマクロブロックに関してはその形状を算術符号化し、完全にオブジェクト内に含まれる場合はOpaqueとして符号化して、外部に出力する。また該２値形状情報をフレームメモリ１５にも格納し、次の形状情報の符号化に使用する。
【０１２７】
エントロピ符号化器５と形状符号化器１４の出力が外部でMPEG-4の書式に必要なヘッダ情報等の符号化データと多重化されてMPEG-4符号化データとして出力される。
【０１２８】
フレーム間符号化の場合は、マクロブロック単位に画素データがフレームメモリ１から読み出され、動き検出器１０に入力される。動き検出器１０は入力されたマクロブロックの画素データとフレームメモリ９に格納されている再生画像データの部分画像と逐次比較し、該再生画像中の最も類似度の高い領域を特定し、その偏差を動きベクトルとして出力する。
【０１２９】
出力された動きベクトルは動きベクトル符号化器１２で符号化され、外部に出力される。と同時に、動きベクトルは動き補償器１１、１６にも供給される。動き補償器１１では動きベクトルに従って、フレームメモリ９から予測値を読み出し、減算器２に供給する。減算器２では符号化するマクロブロックの画素データから、前記入力された予測値を減算する。
【０１３０】
減算結果はDCT器３でDCT変換され、その変換係数を量子化器４で量子化される。量子化結果はエントロピ符号化器５で符号化され、外部に出力される。と同時に量子化結果は逆量子化器６に供給され、DCT変換係数を再生し、逆DCT器７で画素データを再生して加算器８で動き補償器１１からの予測値を加え、フレームメモリ９に格納する。
【０１３１】
これと平行して、動き補償器１６に動き検出器１０で算出した動きベクトルを供給する。動き補償器１６は、該動きベクトルを基準としてフレームメモリ１５の形状情報と符号化マクロブロックの形状情報とを比較して形状情報の動きベクトルを算出し、動きベクトルと該動きベクトルが示す形状情報を予測値として形状符号化器１４に入力する。
【０１３２】
フレームメモリ１３の形状情報は形状符号化器１４にて、オブジェクト外のマクロブロックに関してはTransparentとして符号化し、完全にオブジェクト内に含まれる場合はOpaqueとして符号化して、外部に出力する。
【０１３３】
境界を含むマクロブロックに関しては、インターモードにおいては形状情報の動きベクトルを符号化した後、その形状を動き補償器１６からの予測値も参照して算術符号化し、外部に出力する。イントラモードでは動き補償器１６からの予測値を参照せずに算術符号化し、外部に出力する。また形状情報はフレームメモリ１５に格納し、次の形状情報の符号化に使用する。
【０１３４】
エントロピ符号化器５と形状符号化器１４と動きベクトル符号化器１２出力が外部でMPEG-4の書式に必要な情報等の符号化データと多重化されてMPEG-4符号化データとして出力される。
【０１３５】
拡張パディング器１９は実際にはフレームメモリとそのメモリコントロールの機能で実現されるので、特別に設けなくても実現が可能な場合も有る。
【０１３６】
［第７の実施の形態］
図１４は本発明の第７の実施の形態に係る画像復号部の構成を示すブロック図である。
【０１３７】
図１４において、５０は符号化データを入力し、量子化結果を再生するエントロピー復号器である。５１は量子化結果を変換係数に戻す逆量子化器であり、５２は変換係数から予測差分画素データを復元する逆DCT器である。５３は予測値を加算する加算器であり、５４はMPEG-4の手順に従ってマクロブロック単位に画像データを１フレーム分、格納するフレームメモリである。５５は再生画像を格納するフレームメモリである。５６は動きベクトルを復号して再生する動きベクトル復号器である。
【０１３８】
５７は復号された動きベクトルに従ってマクロブロック毎の予測値を算出する動き補償器である。５８はマクロブロック単位で形状データを復号する形状復号器である。
【０１３９】
５９、６０は復号された２値形状情報を格納する２値のフレームメモリである。６１は該当するマクロブロックについて動きベクトル復号器５６から動きベクトルを入力し、動きベクトルと形状復号器58で復号された形状情報の動きベクトルにしたがってフレームメモリ５９から形状情報を読み出す動き補償器である。
【０１４０】
６２は形状情報に従ってパディングを制御するパディング制御器である。６３はフレームメモリ５９の形状情報に従って、フレームメモリ５５のオブジェクト外の画素データを補填するパディング器である。６４は拡張パディングを実行する拡張パディング器である。
【０１４１】
上記の構成において、動画像の各フレームの復号動作について述べる。
【０１４２】
まず、フレーム内符号化されたフレームの復号から説明する。マクロブロック単位で形状情報の符号化データを形状復号器５８に入力して、形状情報を復号する。
【０１４３】
形状復号器５８は、マクロブロックのモードがTransparentの場合は形状情報としてすべて“０”を出力する。このモードの形状情報に対応したマクロブロックの画素データは存在しないので、復号処理は行なわない。
【０１４４】
マクロブロックのモードがOpaqueであれば、形状情報としてすべて“１” を出力する。算術符号化されている場合はこれを復号し、オブジェクトの境界の形状情報を再生する。再生された形状情報はフレームメモリ５９とフレームメモリ６０に格納される。
【０１４５】
マクロブロックの形状情報のモードがOpaqueか算術符号化であれば、マクロブロック単位で符号化データがエントロピ復号器５０に入力される。エントロピ復号器５０では符号化データを復号処理して量子化結果を再生する。該量子化結果を逆量子化器５１に入力して、DCT変換係数を再生し、逆DCT器５２で画素データを再生して加算器５３で予測値“０”を加え、フレームメモリ５４とフレームメモリ５５に格納する。
【０１４６】
１フレーム分の処理が終了したら、フレームメモリ５４およびフレームメモリ５９の内容が外部に出力され、適宜合成される。
【０１４７】
次にフレーム間符号化されたフレームの復号を説明する。
【０１４８】
パディング器６３は境界パディングの処理を行う。パディング制御器６２はフレーメモリ６０に格納された２値形状情報からオブジェクトの境界を含むマクロブロックを検出し、該マクロブロックのオブジェクトの境界を含むマクロブロックの画素データをフレームメモリ５５から読み出して、該画素データと形状情報をパディング器６３に供給する。
【０１４９】
パディング器６３には、前記第１〜第５の実施形態で説明した１次元のパディング処理ユニットを２つ又は１つ用いて、第６の実施形態で説明したようにパディング処理する。そして、入力された画素データと２値形状情報からオブジェクト外部の画素データを生成する。
【０１５０】
続けて、パディング制御器６２はフレーメモリ６０に格納された２値形状情報から、オブジェクト内部の画素を含むマクロブロックと左右上下で接しているマクロブロックを検出し、マクロブロックの位置を拡張パディング器６４に入力する。拡張パディング器６４はMPEG-4符号化方式の拡張パディングの手順に従って、隣接するマクロブロックの画素データをコピーする。
【０１５１】
上記復号化処理と平行して、マクロブロック単位で形状情報の符号化データを形状復号器５８に入力して、２値形状情報を復号する。
【０１５２】
マクロブロックのモードがTransparentの場合は形状情報としてすべて“０”を出力する。このモードの形状情報に対応したマクロブロックの画素データは存在しないので、復号処理は行なわない。
【０１５３】
マクロブロックのモードがOpaqueであれば、形状情報としてすべて“１”を出力する。イントラモードで算術符号化されている場合はこれを復号し、オブジェクトの境界の形状情報を再生し、フレームメモリ５９に格納する。
【０１５４】
動き補償されているマクロブロックでは、まず動きベクトル復号器５６にて動きベクトルを復号し、復号した動きベクトルは動き補償器５７、６１に入力する。
【０１５５】
形状情報がインターモードで算術符号化されていれば、形状復号器５８は形状情報のための動きベクトルを算出するデータを復号し、動き補償器６１はこの動きベクトルを用いて、フレームメモリ６０から形状情報の予測値を読み出す。この予測値を参照して形状復号器５８は形状情報を復号し、２値のフレームメモリ５９に格納する。
【０１５６】
マクロブロックがフレーム内符号化されている場合は前述のフレーム内符号化データの復号動作によって復号を行いフレームメモリ５４、５５に画素データを格納する。
【０１５７】
マクロブロックがフレーム間符号化されている場合はマクロブロックの形状情報のモードがOpaqueか算術符号化であれば、マクロブロック単位で符号化データをエントロピ復号器５０に入力し、該エントロピ復号器５０で復号処理して量子化結果を再生する。
【０１５８】
量子化結果を逆量子化器５１に入力してDCT変換係数を再生し、逆DCT器５２にて変換係数から予測差分画素データを再生して加算器５３に送る。
【０１５９】
平行して、動き補償器５７は動きベクトル復号器５６で復号された動きベクトルに基づき、フレームメモリ５５から予測値を読み出し加算器５３に入力する。加算器５３にて前記予測差分画素データに該予測値を加え、フレームメモリ５４、５５に格納する。
【０１６０】
フレーム内符号化の場合は前述のフレーム内符号化データの復号と同様に処理される。１フレーム分の処理が終了したら、フレームメモリ５４およびフレームメモリ５９の内容が外部に出力され、適宜合成される。
【０１６１】
［その他］
なお、本発明は、複数の機器から構成されるシステムに適用しても、一つの機器からなる装置に適用してもよい。
【０１６２】
【発明の効果】
本発明によれば、例えば、逐次的なパディング処理を効率良く実行することができる。
【図面の簡単な説明】
【図１】入力画素データとパディング処理後の画素データを示す図である。
【図２】パディング処理によってブロック内の画素データが処理される様子を示す図である。
【図３】本出願人が他の出願において開示したパディング処理回路を示す図である。
【図４】パディング処理の一例を示す図である。
【図５】本発明の第１の実施の形態に係る画像処理部の構成を示す図である。
【図６】本発明の第２の実施の形態に係る画像処理部の構成を示す図である。
【図７】本発明の第３の実施の形態に係る画像処理部の構成を示す図である。
【図８】図５における画像処理部の一部を詳細に示す図である。
【図９】本発明の第３の実施の形態に係る画像処理部の一部を詳細に示す図である。
【図１０】本発明の第３の実施の形態に係る画素伝搬処理部における画素データの流れを示す図である。
【図１１】本発明の第４の実施の形態に係る画像処理部の一部を詳細に示す図である。
【図１２】本発明の第５の実施の形態に係る画像処理部の一部を詳細に示す図である。
【図１３】第６の実施の形態に係る画像符号化装置の構成を示す図である。
【図１４】第７の実施の形態に係る画像復号装置の構成を示す図である。
【符号の説明】
３０３，３０７  レジスタ群
３２５ａ〜ｊ，３２７ａ〜ｊ  セレクタ
３２１，７１１  左伝搬処理部
３２３，７１３  右伝搬処理部
３３１ａ〜ｊ  加算器
５０３，５０７，６０７，７０７  シフトレジスタ
５１１，１２０３  レジスタ
５１３，１２０１  セレクタ
６０１，７０１，７０３，７０５  セレクタ群
【図１】
0004557440.tif 000002
【図２】
0004557440.tif 000003
【図３】
0004557440.tif 000004
【図４】
0004557440.tif 000005
【図５】
0004557440.tif 000006
【図６】
0004557440.tif 000007
【図７】
0004557440.tif 000008
【図８】
0004557440.tif 000009
【図９】
0004557440.tif 000010
【図１０】
0004557440.tif 000011
【図１１】
0004557440.tif 000012
【図１２】
0004557440.tif 000013
【図１３】
0004557440.tif 000014
【図１４】
0004557440.tif 000015