(57)【要約】【課題】演算量を減らすことを課題とする。【解決手段】複数のウィンドウで構成される操作画面において、操作画面内のウィンドウの配置を示すウィンドウ情報を取得する。ウィンドウ情報とマクロブロック情報とから、重なり合うウィンドウ同士の境界を含むマクロブロックを特定するとともに、特定したマクロブロックを境界に沿うように分割する分割形式を決定する。境界を含むマクロブロックを分割形式に従って複数のブロックに分割し、分割した複数のブロックを境界の有無に応じてグループに分類する。グループに分類したブロックを符号化する際に、同一のグループに分類されたブロック間で、動きベクトル予測結果をコピーする。【選択図】        図１
2010068103.tif 000002
【特許請求の範囲】
【請求項１】
複数のウィンドウで構成される画面において、当該画面内のウィンドウの配置を示すウィンドウ情報を取得するウィンドウ情報取得手段と、
前記ウィンドウ情報取得手段によって取得されたウィンドウ情報と前記画面をマクロブロック単位に分割する際のマクロブロックの配置を示すマクロブロック情報とから、重なり合うウィンドウ同士の境界を含むマクロブロックを特定するとともに、特定した当該マクロブロックを当該境界に沿うように分割する分割形式を決定する分割形式決定手段と、
前記分割形式決定手段によって特定されたマクロブロックを前記分割形式決定手段によって決定された分割形式に従って複数のブロックに分割し、分割した複数のブロックを境界を含むブロックであるか否かに応じてグループに分類する分類手段と、
前記分類手段によってグループに分類されたブロックを符号化する際に、同一のグループに分類されたブロックについて、所定のブロックを用いて動きベクトル予測を行い、当該動きベクトル予測の予測結果を当該同一のグループに分類された他のブロックに適用する符号化手段と、
を備えたことを特徴とする符号化装置。
【請求項２】
複数のウィンドウで構成される画面において、当該画面内のウィンドウの配置を示すウィンドウ情報を取得するウィンドウ情報取得手順と、
前記画面をマクロブロック単位に分割する際のマクロブロックの配置を示すマクロブロック情報を記憶する記憶部から、当該マクロブロック情報を読み出すマクロブロック情報読出手順と、
前記ウィンドウ情報取得手順によって取得されたウィンドウ情報と前記マクロブロック情報読出手順によって読み出されたマクロブロック情報とから、重なり合うウィンドウ同士の境界を含むマクロブロックを特定するとともに、特定した当該マクロブロックを当該境界に沿うように分割する分割形式を決定する分割形式決定手順と、
前記分割形式決定手順によって特定されたマクロブロックを前記分割形式決定手順によって決定された分割形式に従って複数のブロックに分割し、分割した複数のブロックを境界を含むブロックであるか否かに応じてグループに分類する分類手順と、
前記分類手順によってグループに分類されたブロックを符号化する際に、同一のグループに分類されたブロックについて、所定のブロックを用いて動きベクトル予測を行い、当該動きベクトル予測の予測結果を当該同一のグループに分類された他のブロックに適用する符号化手順と、
をコンピュータに実行させることを特徴とする符号化プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化装置および符号化プログラムに関する。
【背景技術】
【０００２】
シンクライアントシステムで用いられるＶＮＣ（Virtual  Network  Computing）などのように、端末がネットワーク上の他の端末を遠隔操作するシステムにおいては、操作画面がネットワーク上を伝送されることになる。従来、操作画面は、ビットマップイメージなどで伝送されていたが、近年では、帯域幅を少なくすることを目的として、Ｈ．２６４などの映像符号化方式で符号化された操作画面が伝送される。
【０００３】
ところで、例えば、図１１に示すように、複数のウィンドウが重なり合う操作画面を符号化する際、符号化装置は、ウィンドウ同士の境界については、境界に沿う最適な分割形式でマクロブロックを分割し、分割したブロックごとに動きベクトル予測を行う。ここで、Ｈ．２６４では、図１２に示すように、１６×１６画素のマクロブロックを複数のブロックに分割する分割形式として、４×４画素のブロックに分割する分割形式まで様々な分割形式が存在する。
【０００４】
このため、符号化装置は、例えば、図１３に示すように、境界の角に相当する部分がマクロブロックに含まれる場合には、図１２に示す様々な分割形式（あるいは分割形式の組合せ）を全て試した上で、境界に沿う最適な分割形式を決定し、分割した各ブロックで動きベクトル予測を行う。なお、図１１は、従来の技術を説明するための図であり、図１２および図１３は、マクロブロックの分割を説明するための図である。
【０００５】
【特許文献１】特開昭６２−０２５５８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、上記した従来の技術では、演算量が多くなってしまうという課題があった。すなわち、符号化装置は、ウィンドウ同士の境界については、様々な分割形式（あるいは分割形式の組合せ）を全て試した上で、境界に沿う最適な分割形式を決定し、分割した各ブロックで動きベクトル予測を行うので、演算量が多くなる。
【０００７】
なお、上記した課題は、Ｈ．２６４で符号化する場合に限られず、ＩＴＵ（International  Telecommunication  Union）−Ｔ（Telecommunication  Standardization  Sector）で標準化されたＨ．２６１、Ｈ．２６３や、ＩＳＯ（International  Organization  for  Standardization）で標準化されたＭＰＥＧ（Moving  Picture  Experts  Group）−１、２、４、ＡＶＣ（Advanced  Video  Coding）などで符号化する場合にも、同様に課題となる。
【０００８】
そこで、本発明は、上記した従来の技術の課題を解決するためになされたものであり、演算量を減らすことが可能な符号化装置および符号化プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するため、複数のウィンドウで構成される画面において、画面内のウィンドウの配置を示すウィンドウ情報を取得する。ウィンドウ情報とマクロブロック情報とから、重なり合うウィンドウ同士の境界を含むマクロブロックを特定するとともに、特定したマクロブロックを境界に沿うように分割する分割形式を決定する。境界を含むマクロブロックを分割形式に従って複数のブロックに分割し、分割した複数のブロックを境界を含むブロックであるか否かに応じてグループに分類する。グループに分類したブロックを符号化する際に、同一のグループに分類されたブロックについて、所定のブロックを用いて動きベクトル予測を行い、当該動きベクトル予測の予測結果を当該同一のグループに分類された他のブロックに適用する。
【発明の効果】
【００１０】
演算量を減らすことが可能になる。
【発明を実施するための最良の形態】
【００１１】
以下に添付図面を参照して、本発明に係る符号化装置および符号化プログラムの実施例を詳細に説明する。なお、以下では、まず、実施例１に係る符号化装置の概要を説明し、続いて、構成、処理手順、効果を説明する。次に、他の実施例を説明する。
【実施例１】
【００１２】
［実施例１に係る符号化装置の概要］
まず、図１を用いて、実施例１に係る符号化装置の概要を説明する。図１は、実施例１に係る符号化装置の概要を説明するための図である。なお、実施例１では映像符号化方式として、Ｈ．２６４を用いる。
【００１３】
実施例１に係る符号化装置は、複数のウィンドウで構成される操作画面において、操作画面内のウィンドウの配置を示すウィンドウ情報を取得する。例えば、図１に示すように、ウィンドウ１およびウィンドウ２が操作画面上に存在している場合には、符号化装置は、ウィンドウ１のウィンドウ情報およびウィンドウ２のウィンドウ情報を取得する。
【００１４】
例えば、ウィンドウ１のウィンドウ情報は、操作画面の左上端を起点としウィンドウの左上端までの垂直位置『２４』、水平位置『３２』、ウィンドウの垂直方向の大きさ『９４』、水平方向の大きさ『１０２』などを含む。また、ウィンドウ１が最前面に配置されているといった重なり合いなども含む。
【００１５】
次に、実施例１に係る符号化装置は、取得したウィンドウ情報と、操作画面を１６×１６画素のマクロブロック単位に分割する際のマクロブロックの配置を示すマクロブロック情報とから、重なり合うウィンドウ同士の境界を含むマクロブロックを特定する。例えば、図１に示すように、符号化装置は、操作画面を符号化する際、操作画面の左上端から操作画面をマクロブロック単位に分割するので、マクロブロックの配置を示すマクロブロック情報を記憶している。このため、符号化装置は、ウィンドウ情報とマクロブロック情報とから、境界を含むマクロブロックを特定する。
【００１６】
例えば、符号化装置は、図１に示すように、ウィンドウ１とウィンドウ２とが重なり合うウィンドウ同士の境界のマクロブロックとして太枠で囲ったマクロブロックを特定する。
【００１７】
続いて、実施例１に係る符号化装置は、ウィンドウ情報とマクロブロック情報とから、特定したマクロブロックを境界に沿うように分割する分割形式を決定する。
【００１８】
例えば、符号化装置は、図１に示すように、境界のマクロブロックとして特定したマクロブロックの内、境界の右端の部分が含まれるマクロブロックについては、分割形式を『１』と決定する。分割形式『１』とは、図１２の８×１６画素の２ブロックに分割する分割形式である。
【００１９】
また、符号化装置は、同様に、境界の下端の部分が含まれるマクロブロックについては、分割形式を『２』と決定し、境界の角の部分が含まれるマクロブロックについては、分割形式を『３』と決定する。分割形式『２』とは、図１２の１６×８画素の２ブロックに分割する分割形式であり、分割形式『３』とは、図１２の８×８画素の４ブロックに分割する形式である。
【００２０】
そして、符号化装置は、分割形式を決定したウィンドウの境界のマクロブロックについては、決定した分割形式に従って複数のブロックに分割し、分割したブロック単位で動きベクトル予測を行う。
【００２１】
すなわち、符号化装置は、境界の右端の部分が含まれるマクロブロックについては、８×１６画素の２ブロックに分割し、分割したブロック単位で動きベクトル予測を行う。また、境界の下端の部分が含まれるマクロブロックについては、１６×８画素の２ブロックに分割し、境界の角の部分が含まれるマクロブロックについては、８×８画素の４ブロックに分割し、分割したブロック単位で動きベクトル予測を行う。
【００２２】
なお、後述するように、実施例１に係る符号化装置は、ブロックを符号化する際に、同一のグループに分類されたブロック間で、動きベクトル予測の予測結果をコピーする。
【００２３】
上記してきたように、実施例１に係る符号化装置は、ウィンドウ同士の境界について、様々な分割形式を全て試した上で境界に沿う最適な分割形式を決定するのではなく、ウィンドウ情報とマクロブロック情報とを用いて最適な分割方式を決定する。このようなことから、実施例１によれば、分割形式を決定する処理の演算量を減らすことが可能になる。
【００２４】
また、実施例１に係る符号化装置は、同一のグループに分類されたブロック間で、動きベクトル予測の予測結果をコピーするので、動きベクトル予測処理の演算量を減らすことが可能になる。
【００２５】
［実施例１に係る符号化装置の構成］
次に、図２〜図８を用いて、実施例１に係る符号化装置の構成を説明する。図２は、実施例１に係る符号化装置の構成を示すブロック図である。
【００２６】
図２に示すように、実施例１に係る符号化装置１０は、境界処理部１１と、符号化制御部１６と、操作画面取得部１７と、符号化部１８とを備える。
【００２７】
境界処理部１１は、ウィンドウ情報を取得して、マクロブロックの分割形式やグルーピングを決定する。具体的には、境界処理部１１は、ウィンドウ情報取得部１２と、マクロブロック情報記憶部１３と、ブロック分割形式決定部１４と、グルーピング決定部１５とを備える。
【００２８】
ウィンドウ情報取得部１２は、操作画面上に存在している複数のウィンドウについて、操作画面内の配置を示すウィンドウ情報を取得する。具体的には、ウィンドウ情報取得部１２は、ブロック分割形式決定部１４と接続され、操作画面を描画するグラフィックボードなどにおいて収集されたウィンドウ情報を取得し、取得したウィンドウ情報をブロック分割形式決定部１４に通知する。
【００２９】
例えば、ウィンドウ情報取得部１２は、図３に示すようなウィンドウ情報を取得する。図３は、ウィンドウ情報を説明するための図である。ここで、『Window_No』は、操作画面上のウィンドウ番号であり、『Position_H』は、操作画面の左上端を起点としウィンドウの左上端までの垂直位置であり、『Position_W』は、操作画面の左上端を起点としウィンドウの左上端までの水平位置である。また、『Height』は、ウィンドウの垂直方向の大きさであり、『Width』は、ウィンドウの水平方向の大きさであり、『Layer_No』は、ウィンドウの重なりであり、『Layer_Base』は、どのウィンドウの背面にあるかを示す。『Layer_No』は『1』から開始し、背面に行くに従って加算されるものとする。図３の例では、ウィンドウ１が前面であり、ウィンドウ２が背面となる。
【００３０】
マクロブロック情報記憶部１３は、操作画面をマクロブロック単位に分割する際のマクロブロックの配置を示すマクロブロック情報を記憶する。具体的には、マクロブロック情報記憶部１３は、ブロック分割形式決定部１４とグルーピング決定部１５と接続される。マクロブロック情報記憶部１３が記憶するマクロブロック情報は、ブロック分割形式決定部１４による処理やグルーピング決定部１５による処理に利用される。
【００３１】
例えば、マクロブロック情報記憶部１３は、図４に示すようなマクロブロック情報を記憶する。図４は、マクロブロック情報記憶部を説明するための図である。ここで、『マクロブロック番号』は、操作画面をマクロブロック単位に分割する際のマクロブロックを識別する番号である。また、『Position_H』は、操作画面の左上端を起点としマクロブロックの左上端までの垂直位置であり、『Position_W』は、操作画面の左上端を起点としマクロブロックの左上端までの水平位置である。また、『境界』は、重なり合うウィンドウ同士の境界を含むマクロブロックとして特定されたマクロブロックを識別する情報であり、図４の例では丸印で識別している。また、『ブロック分割形式』は、決定されたブロック分割形式を示す。
【００３２】
なお、『マクロブロック番号』、『Position_H』、および『Position_W』は、原則として変化しない情報であるので、マクロブロック情報記憶部１３は、これらの情報を予め利用者によって入力されるなどして記憶する。一方、『境界』および『ブロック分割形式』は、操作画面に応じて変化しうる情報である。マクロブロック情報記憶部１３は、これらの情報をブロック分割形式決定部１４によって格納されることで記憶する。
【００３３】
ブロック分割形式決定部１４は、ウィンドウ同士の境界を含むマクロブロックを特定するとともに、特定したマクロブロックを境界に沿うように分割する分割形式を決定する。具体的には、ブロック分割形式決定部１４は、ウィンドウ情報取得部１２とマクロブロック情報記憶部１３とグルーピング決定部１５と接続される。
【００３４】
ブロック分割形式決定部１４は、ウィンドウ情報取得部１２によって取得されたウィンドウ情報と、マクロブロック情報記憶部１３に記憶されているマクロブロック情報とを利用して、境界を含むマクロブロックを特定するとともに分割形式を決定する。また、ブロック分割形式決定部１４は、境界を含むマクロブロックを特定すると、特定した情報をマクロブロック情報記憶部１３に格納し、分割形式を決定すると、決定した分割形式をマクロブロック情報記憶部１３に格納する。さらに、ブロック分割形式決定部１４は、マクロブロックの特定や分割形式の決定が終了した旨をグルーピング決定部１５に通知する。
【００３５】
例えば、ブロック分割形式決定部１４は、図１に示すように、境界を含むマクロブロックを特定する。すなわち、ブロック分割形式決定部１４は、図３に示すようなウィンドウ情報と、図４に示すようなマクロブロック情報とを利用することで、『マクロブロック番号』が『２４７』、『３６７』、『４８７』、『６０７』、『７２７』で識別されるマクロブロックは、境界の右端の部分が含まれるマクロブロックであると特定する。また、ブロック分割形式決定部１４は、『マクロブロック番号』が『８４３』、『８４４』、『８４５』、『８４６』、『８４７』で識別されるマクロブロックは、境界の下端の部分が含まれるマクロブロックであると特定する。また、ブロック分割形式決定部１４は、『マクロブロック番号』が『８４８』で識別されるマクロブロックは、境界の角の部分が含まれるマクロブロックであると特定する。
【００３６】
また、ブロック分割形式決定部１４は、図１に示すように、特定したマクロブロックの分割形式を決定する。すなわち、ブロック分割形式決定部１４は、図３に示すようなウィンドウ情報と、図４に示すようなマクロブロック情報とを利用することで、境界の右端の部分が含まれるマクロブロック、つまり『マクロブロック番号』が『２４７』、『３６７』、『４８７』、『６０７』、『７２７』で識別されるマクロブロックは、８×１６画素の２ブロックに分割する分割方式『１』と決定する。また、ブロック分割形式決定部１４は、境界の下端の部分が含まれるマクロブロック、つまり『マクロブロック番号』が『８４３』、『８４４』、『８４５』、『８４６』、『８４７』で識別されるマクロブロックは、１６×８画素の２ブロックに分割する分割形式『２』と決定する。また、ブロック分割形式決定部１４は、境界の角の部分が含まれるマクロブロック、つまり『マクロブロック番号』が『８４８』で識別されるマクロブロックは、８×８画素の４ブロックに分割する分割形式『３』であると決定する。
【００３７】
グルーピング決定部１５は、ウィンドウ同士の境界を含むマクロブロックを分割形式に従って複数のブロックに分割し、分割した複数のブロックを境界を含むブロックであるか否かに応じてグループに分類する。具体的には、グルーピング決定部１５は、ブロック分割形式決定部１４とマクロブロック情報記憶部１３と接続される。
【００３８】
グルーピング決定部１５は、ブロック分割形式決定部１４からマクロブロックの特定や分割形式の決定が終了した旨を通知されると、マクロブロック情報記憶部１３を参照し、グループ情報を作成する。また、グルーピング決定部１５は、マクロブロック情報記憶部１３に記憶されているマクロブロックのマクロブロック番号や、分割形式、および作成したグループ情報をまとめて、符号化制御部１６に通知する。
【００３９】
例えば、グルーピング決定部１５は、図４に示すようなマクロブロック情報を参照し、境界を含むマクロブロックを分割形式に従って複数のブロックに分割し、図５〜図７に示すように、分割した複数のブロックを境界を含むブロックであるか否かに応じてグループに分類する。図５は、ウィンドウ境界部分（角）におけるブロック分割とグルーピングを説明するための図である。図６は、ウィンドウ境界部分（右端）におけるブロック分割とグルーピングを説明するための図である。図７は、ウィンドウ境界部分（下端）におけるブロック分割とグルーピングを説明するための図である。
【００４０】
図５に示すように、境界の角の部分が含まれるマクロブロックについて、グルーピング決定部１５は、分割形式『３』に従って８×８画素の４ブロックに分割する。そして、グルーピング決定部１５は、境界の角を含む左上のブロックのグループ『１』と、境界の角を含まないその他のブロックのグループ『２』とに分類する。また、図６に示すように、境界の右端の部分が含まれるマクロブロックについて、グルーピング決定部１５は、分割形式『１』に従って８×１６画素の２ブロックに分割する。そして、グルーピング決定部１５は、境界の右端を含む左側のブロックのグループ『１』と、境界の右端を含まない右側のブロックのグループ『２』とに分類する。また、図７に示すように、境界の下端の部分が含まれるマクロブロックについて、グルーピング決定部１５は、分割形式『２』に従って１６×８画素の２ブロックに分割する。そして、グルーピング決定部１５は、境界の下端を含む上側のブロックのグループ『１』と、境界の下端を含まない下側のブロックのグループ『２』とに分類する。
【００４１】
そして、グルーピング決定部１５は、グループ情報を作成する。例えば、図８に示すようなグループ情報を作成する。図８は、グループ情報を説明するための図である。図８に示すグループ情報は、図５のように境界の角の部分が含まれるマクロブロックに関するグループ情報である。すなわち、境界の角の部分が含まれるマクロブロックは、８×８画素の４ブロックに分割され、境界の角を含む左上のブロックのグループ『１』と、境界の角を含まないその他のブロックのグループ『２』とに分類された。グループ情報は、図８に示すように、左上のブロックを『Block_No1』としている。このため、『Block_No1』のブロックのみが『Group=1』であり、他のブロックは『Group=2』である。
【００４２】
ここで、『ME_flag』は、動きベクトル予測を行うブロックか否かを示すフラグである。すなわち、『ME_flag』は、グループ情報のひとつとしてグルーピング決定部１５から符号化制御部１６に通知され、符号化制御部１６による符号化制御に利用される。
【００４３】
符号化制御部１６は、分類されたグループに従って符号化を制御する。具体的には、符号化制御部１６は、グルーピング決定部１５と符号化部１８と接続される。また、符号化制御部１６は、グルーピング決定部１５によって通知されたマクロブロック番号、分割形式、グループ情報を利用して、符号化部１８による符号化を制御する。
【００４４】
例えば、符号化制御部１６は、マクロブロック番号『８４８』、分割形式『３』、および図８に示すようなグループ情報をグルーピング決定部１５から通知される。すると、符号化制御部１６は、マクロブロック番号『８４８』で識別されるマクロブロックについて、図８に示すようなグループ情報に基づいて符号化するように、符号化部１８による符号化を制御する。すなわち、符号化制御部１６は、境界を含まないグループとして『Group=2』に分類された３つのブロック間で、動きベクトル予測の予測結果をコピーするように制御する。
【００４５】
つまり、符号化制御部１６は、境界を含まないグループとして『Group=2』に分類されたブロックについて、『ME_flag=１』になっているブロック『Block_No4』のみで動きベクトル予測を行い、『ME_flag=0』になっているブロック『Block_No2』および『Block_No3』については、ブロック『Block_No4』の動きベクトル予測の結果をコピーするように制御する。
【００４６】
操作画面取得部１７は、操作画面を取得する。具体的には、操作画面取得部１７は、符号化部１８と接続され、グラフィックボードなどにおいて収集された操作画面を取得し、取得した操作画面を符号化部１８に送信する。
【００４７】
符号化部１８は、操作画面を符号化する。具体的には、符号化部１８は、符号化制御部１６と操作画面取得部１７と接続され、符号化制御部１６によって制御されつつ、操作画面取得部１７から送信された操作画面を符号化する。
【００４８】
［実施例１に係る符号化装置による処理手順］
次に、図９を用いて、実施例１に係る符号化装置による処理手順を説明する。図９は、実施例１に係る符号化装置による処理手順を示すフローチャートである。
【００４９】
まず、図９に示すように、ウィンドウ情報取得部１２が、ウィンドウ情報を取得したか否かを判定し（ステップＳ１０１）、取得した場合には（ステップＳ１０１肯定）、取得したウィンドウ情報をブロック分割形式決定部１４に通知する。
【００５０】
すると、次に、ブロック分割形式決定部１４が、ウィンドウ情報取得部１２から通知されたウィンドウ情報と、マクロブロック情報とを利用して、ウィンドウ同士の境界を含むマクロブロックを特定する（ステップＳ１０２）。
【００５１】
続いて、ブロック分割形式決定部１４は、ウィンドウ情報取得部１２から通知されたウィンドウ情報と、マクロブロック情報とを利用して、特定したマクロブロックを境界に沿うように分割する分割形式を決定する（ステップＳ１０３）。
【００５２】
そして、グルーピング決定部１５が、マクロブロック情報記憶部１３を参照し、ウィンドウ同士の境界を含むマクロブロックを分割形式に従って複数のブロックに分割し、境界を含むブロックであるか否かに応じてグループに分類する（ステップＳ１０４）。グルーピング決定部１５は、グループ情報を作成し、他の情報とまとめて符号化制御部１６に通知する。
【００５３】
その後、符号化制御部１６は、グルーピング決定部１５によって通知されたマクロブロック番号、分割形式、グループ情報を利用して、符号化部１８による符号化を制御する（ステップＳ１０５）。すなわち、符号化制御部１６は、同一のグループに分類されたブロック間で、動きベクトル予測の予測結果をコピーするように制御する。その後、符号化装置１０は、処理を終了する。
【００５４】
［実施例１の効果］
上記してきたように、実施例１に係る符号化装置１０は、ウィンドウ情報取得部１２が、操作画面上に存在している複数のウィンドウについて、操作画面内のウィンドウの配置を示すウィンドウ情報を取得する。また、ブロック分割形式決定部１４が、ウィンドウ情報とマクロブロック情報とから、重なり合うウィンドウ同士の境界を含むマクロブロックを特定するとともに、特定したマクロブロックを境界に沿うように分割する分割形式を決定する。また、グルーピング決定部１５が、境界を含むマクロブロックを分割形式に従って複数のブロックに分割し、分割した複数のブロックを境界を含むブロックであるか否かに応じてグループに分類する。そして、符号化制御部１６が、グループに分類されたブロックを符号化する際に、同一のグループに分類されたブロックについて、所定のブロックを用いて動きベクトル予測を行い、動きベクトル予測の予測結果を同一のグループに分類された他のブロックに適用する。
【００５５】
このようなことから、実施例１に係る符号化装置１０によれば、演算量を減らすことが可能になる。すなわち、実施例１に係る符号化装置１０は、図１２に示す全ての分割形式を試すことなく、ウィンドウの境界を含むマクロブロックの分割形式を決定するので、分割形式を決定する処理の演算量を減らすことが可能になる。さらに、実施例１に係る符号化装置１０は、マクロブロックを分割したブロックをグルーピングすることによって、動きベクトル予測処理の演算量を減らすことが可能になる。例えば、図１３に示す境界がマクロブロックに含まれる時に、図５に示すようなグルーピングを行うことで、動きベクトル予測が４ブロック分必要なところを２ブロック分で済ませることが可能になる。
【００５６】
また、実施例１に係る符号化装置１０は、ウィンドウ情報は、少なくとも、ウィンドウの位置およびウィンドウの大きさを含む情報であり、重なり合うウィンドウ同士の前面もしくは背面を示す情報をさらに含む情報である。このようなことから、実施例１に係る符号化装置１０によれば、重なり合うウィンドウ同士の境界を容易に特定することが可能になる。
【００５７】
また、実施例１に係る符号化装置１０は、グルーピング決定部１５が、分割した複数のブロックを、前面のウィンドウに含まれるブロックのグループと背面のウィンドウに含まれるブロックのグループとにウィンドウ情報を用いて分類する。このようなことから、実施例１に係る符号化装置１０によれば、動きベクトル予測処理の演算量を減らすことが可能になる。
【００５８】
また、実施例１に係る符号化装置１０は、グルーピング決定部１５が、分割した複数のブロックを、ウィンドウ情報によって前面のウィンドウと示されるウィンドウに前記境界を含むように分類する。これは、動きベクトルはエッジの影響を受けやすいこと、境界は前面ウィンドウに合わせて動き、背面ウィンドウは殆ど動くことはないからである。このようなことから、実施例１に係る符号化装置１０によれば、境界での画質劣化を抑えることが可能になる。
【００５９】
また、実施例１に係る符号化装置１０は、符号化制御部１６が、同一のグループに分類されたブロックの内、所定のブロックを用いて動きベクトル予測を行い、動きベクトル予測の予測結果を、同一のグループに分類された他のブロックに適用する。このようなことから、実施例１に係る符号化装置１０によれば、動きベクトル予測処理の演算量を減らすことが可能になる。
【実施例２】
【００６０】
［他の実施例］
さて、これまで本発明の実施例１について説明してきたが、本発明は、上記の実施例１以外にも、種々の異なる形態にて実施されてよいものである。
【００６１】
［ME_flagを通知しない方法］
実施例１においては、グルーピング決定部１５が、グループ情報を作成する際に、動きベクトル予測を行うブロックか否かを示す『ME_flag』を作成し、符号化制御部１６に通知する手法を説明した。すなわち、実施例１において、符号化制御部１６は、グルーピング決定部１５から通知された『ME_flag』を用いて、動きベクトル予測の予測結果をコピーしていた。しかし、本発明はこれに限られるものではない。
【００６２】
例えば、グルーピング決定部１５は、『ME_flag』を符号化制御部１６に通知しなくてもよい。この場合、符号化制御部１６は、同一のグループに分類されたブロックから任意のブロックを選択して動きベクトル予測を行い、動きベクトル予測の予測結果を同一のグループで選択しなかった他のブロックにコピーしてもよい。
【００６３】
［Ｈ．２６４以外の映像符号化方式］
また、実施例１においては、画面を符号化する際に、映像符号化方式としてＨ．２６４を用いる場合を想定して説明してきたが、本発明はこれに限られるものではない。映像符号化方式としてＨ．２６１、Ｈ．２６３や、ＭＰＥＧ１、２、４を用いる場合にも、本発明を同様に適用することができる。すなわち、本発明は、画面を符号化する際に、ウィンドウ同士の境界を含むマクロブロックを分割する映像符号化方式であれば、どのような映像符号化方式にも適用することができる。
【００６４】
［システム構成等］
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順（図９など）、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００６５】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示（図２など）の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵ（Central  Processing  Unit）および当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００６６】
［符号化プログラム］
また、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図１０を用いて、上記の実施例と同様の機能を有する符号化プログラムを実行するコンピュータの一例を説明する。図１０は、符号化プログラムを実行するコンピュータを示す図である。
【００６７】
図１０に示すように、符号化プログラム（コンピュータ）２０は、キャッシュ２１、ＲＡＭ（Random  Access  Memory）２２、ＨＤＤ（Hard  Disk  Drive）２３、ＲＯＭ（Read  Only  Memory）２４およびＣＰＵ２５をバス２６で接続して構成される。ここで、ＲＯＭ２４には、上記の実施例と同様の機能を発揮する符号化プログラム、つまり、図１０に示すように、ウィンドウ情報取得プログラム２４ａ、ブロック分割形式決定プログラム２４ｂ、グルーピング決定プログラム２４ｃ、符号化制御プログラム２４ｄ、操作画面取得プログラム２４ｅ、符号化プログラム２４ｆが備えられる。
【００６８】
そして、ＣＰＵ２５は、これらのプログラム２４ａ〜２４ｆを読み出して実行することで、図１０に示すように、各プログラム２４ａ〜２４ｆは、ウィンドウ情報取得プロセス２５ａ、ブロック分割形式決定プロセス２５ｂ、グルーピング決定プロセス２５ｃ、符号化制御プロセス２５ｄ、操作画面取得プロセス２５ｅ、符号化プロセス２５ｆとなる。なお、各プロセス２５ａ〜２５ｆは、図２に示した、ウィンドウ情報取得部１２、ブロック分割形式決定部１４、グルーピング決定部１５、符号化制御部１６、操作画面取得部１７、符号化部１８にそれぞれ対応する。
【００６９】
また、ＨＤＤ２３は、図１０に示すように、マクロブロック情報テーブル２３ａを備える。なお、マクロブロック情報テーブル２３ａは、図２に示したマクロブロック情報記憶部１３に対応する。
【００７０】
ところで、上記した各プログラム２４ａ〜２４ｆについては、必ずしもＲＯＭ２４に記憶させておく必要はなく、例えば、コンピュータ２０に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」、または、コンピュータ２０の内外に備えられるハードディスクドライブ（ＨＤＤ）などの「固定用の物理媒体」、さらには、公衆回線、インターネット、ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）などを介してコンピュータ２０に接続される「他のコンピュータ（またはサーバ）」に記憶させておき、コンピュータ２０がこれらからプログラムを読み出して実行するようにしてもよい。
【図面の簡単な説明】
【００７１】
【図１】実施例１に係る符号化装置の概要を説明するための図である。
【図２】実施例１に係る符号化装置の構成を示すブロック図である。
【図３】ウィンドウ情報を説明するための図である。
【図４】マクロブロック情報記憶部を説明するための図である。
【図５】ウィンドウ境界部分（角）におけるブロック分割とグルーピングを説明するための図である。
【図６】ウィンドウ境界部分（右端）におけるブロック分割とグルーピングを説明するための図である。
【図７】ウィンドウ境界部分（下端）におけるブロック分割とグルーピングを説明するための図である。
【図８】グループ情報を説明するための図である。
【図９】実施例１に係る符号化装置による処理手順を示すフローチャートである。
【図１０】符号化プログラムを実行するコンピュータを示す図である。
【図１１】従来の技術を説明するための図である。
【図１２】マクロブロックの分割を説明するための図である。
【図１３】マクロブロックの分割を説明するための図である。
【符号の説明】
【００７２】
１０  符号化装置
１１  境界処理部
１２  ウィンドウ情報取得部
１３  マクロブロック情報記憶部
１４  ブロック分割形式決定部
１５  グルーピング決定部
１６  符号化制御部
１７  操作画面取得部
１８  符号化部
２０  符号化プログラム（コンピュータ）
２１  キャッシュ
２２  ＲＡＭ
２３  ＨＤＤ
２４  ＲＯＭ
２５  ＣＰＵ
２６  バス
【図１】
2010068103.tif 000003
【図２】
2010068103.tif 000004
【図３】
2010068103.tif 000005
【図４】
2010068103.tif 000006
【図５】
2010068103.tif 000007
【図６】
2010068103.tif 000008
【図７】
2010068103.tif 000009
【図８】
2010068103.tif 000010
【図９】
2010068103.tif 000011
【図１０】
2010068103.tif 000012
【図１１】
2010068103.tif 000013
【図１２】
2010068103.tif 000014
【図１３】
2010068103.tif 000015