(57)【特許請求の範囲】
【請求項１】
マクロブロックの予測画像を作成するための２つの方向から生成される予測画像を示す参照ブロックに属し、サブマクロブロックごとの予測画像を示すサブ参照ブロックの動きベクトルを、２つの前記サブ参照ブロック間で交互に復号化する動きベクトル復号化部と、
前記２つの参照ブロック間でサブ参照ブロックの動きベクトルが復号されるごとに、前記サブマクロブロックの位置に対応したブロック境界強度をブロック境界の歪みが発生しやすいかどうかを判断する指標として計算するブロック境界強度計算部と、
前記動きベクトル復号化部及びブロック境界強度計算部からアクセス可能であり、処理対象となるサブ参照ブロックの周辺のサブ参照ブロックの動きベクトル情報を格納するレジスタとを備え、
前記動きベクトル復号化部は、前記２つの参照ブロック間で処理対象となるサブ参照ブロックの動きベクトルが復号されるごとに、前記処理対象となるサブ参照ブロックの動きベクトルの復号に用いられる周辺のサブ参照ブロックの動きベクトル情報を前記レジスタに書き込み、
前記ブロック境界強度計算部は、前記ブロック境界強度の計算時に前記レジスタから前記周辺のサブ参照ブロックの動きベクトル情報を読み出すことを特徴とする動画像復号化装置。
【請求項２】
前記２つの参照ブロックのそれぞれについての１６個分のサブ参照ブロックの動きベクトル情報を格納するメモリをさらに備え、
前記動きベクトル復号化部は、前記メモリから処理対象となるサブ参照ブロックの動きベクトルの復号に用いられる周辺のサブ参照ブロックの動きベクトル情報を順次読み出すことを特徴とする請求項１に記載の動画像復号装置。
【請求項３】
第１の参照ブロックに属する第１のサブ参照ブロックの動きベクトルを復号するステップと、
前記第１の参照ブロックと参照方向の異なる第２の参照ブロックに属する第２のサブ参照ブロックの動きベクトルを復号するステップと、
前記第１および第２のサブ参照ブロックの動きベクトルが復号された後に、前記第１および第２のサブ参照ブロックの動きベクトルの復号に用いられる周辺のサブ参照ブロックの動きベクトル情報をレジスタに書き込み、前記レジスタから前記周辺のサブ参照ブロックの動きベクトル情報を読み出すことで、前記第１および第２のサブ参照ブロックの位置に対応した第１のサブマクロブロックについてのブロック境界強度をブロック境界の歪みが発生しやすいかどうかを判断する指標として計算するステップと、
前記第１のサブマクロブロックについてのブロック境界強度が計算された後に、前記第１の参照ブロックに属する第３のサブ参照ブロックの動きベクトルを復号するステップと、
前記第１のサブマクロブロックについてのブロック境界強度が計算された後に、前記第２の参照ブロックに属する第４のサブ参照ブロックの動きベクトルを復号するステップと、
前記第３および第４のサブ参照ブロックの動きベクトルが復号された後に、前記第３および第４のサブ参照ブロックの動きベクトルの復号に用いられる周辺のサブ参照ブロックの動きベクトル情報をレジスタに書き込み、前記レジスタから前記周辺のサブ参照ブロックの動きベクトル情報を読み出すことで、前記第３および第４のサブ参照ブロックの位置に対応した第２のサブマクロブロックについてのブロック境界強度を計算するステップとを備えることを特徴とする動画像復号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は動画像復号化装置および動画像復号化方法に関し、特に、動画像復号化におけるデブロッキングフィルタ処理に適用して好適なものである。
【背景技術】
【０００２】
次世代の動画像圧縮符号化技術として、Ｈ．２６４／ＡＶＣ（ＡＶＣ：Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）規格が注目されている。このＨ．２６４／ＡＶＣ規格では、１／４画素精度の動き補償、フレーム内予測、４×４画素単位の整数精度のＤＣＴなどが採用されることで、ＭＰＥＧ２などの圧縮符号化技術よりも高能率の圧縮符号化が実現されている。
また、ＭＰＥＧ−２では、動き補償のマクロブロックサイズは１６×１６画素に固定されていたが、Ｈ．２６４／ＡＶＣでは、１６×１６画素以外にも、１６×８画素、８×１６画素、８×８画素、８×４画素、４×８画素、４×４画素の７種類のマクロブロックサイズが用意され、これらのマクロブロックサイズを任意に選択できるようにすることで、きめ細やかな動き補償が実現されている。
【０００３】
また、ブロック単位の処理を用いる画像圧縮符号化方式では、ブロック境界の歪み（ブロック・ノイズ）が発生しやすくなる。特に、ＭＰＥＧ２などの画像圧縮符号化方式においてインター予測を行う場合、動き補償時にブロック・ノイズを含んだ復号画像が参照されると、フレーム間で画質の劣化が伝播することがある。このため、Ｈ．２６４／ＡＶＣ規格では、ブロックの歪みを防ぐデブロッキングフィルタが導入され、隣接ブロック同士のつながりが調整される。
このデブロッキングフィルタは、ループ内フィルタとして符号化ループに組み込まれており、復号画像に対して適応的に重み付けを行うことで予測画像を生成する。Ｈ．２６４／ＡＶＣ規格では、このようなデブロッキングフィルタを用いることにより、動き補償における予測誤差からブロック・ノイズの影響を除去し、符号化効率の向上が図られている。
【０００４】
また、例えば、特許文献１には、動画像復号装置内の処理負荷の大きさのレベルを示す負荷レベルに応じてデブロッキングフィルタ処理を行うか否かを判定するための判定閾値を設定し、各フレームを構成する複数のブロックのうちの隣接するブロックから求められる処理パラメータが判定閾値よりも小さい場合、デブロッキングフィルタ処理を行わないように制御する方法が開示されている。
【０００５】
しかしながら、従来の動画像復号装置では、入力ビットストリームにおけるサブマクロブロックの出現順に動きベクトルが復号化される。例えば、Ｌ０／Ｌ１方向の２枚のフレームから動き補償を行う場合、動き補償のマクロブロックサイズが４×４画素であるとすると、Ｌ０方向の１マクロブロック分の１６個のサブマクロブロックの全てについて動きベクトルが復号化された後、Ｌ１方向の１マクロブロック分の１６個のサブマクロブロックの全てについて動きベクトルが復号化される。
そして、デブロッキングフィルタでは、ブロック境界強度ｂＳを計算するため、Ｌ０／Ｌ１方向それぞれの１６個のサブマクロブロックの全てについて動きベクトルが復号化された後、その動きベクトルの復号化に用いられたＬ０／Ｌ１方向それぞれの周辺ブロックの動きベクトル情報が参照される。
【０００６】
このため、ブロック境界強度ｂＳを計算するには、Ｌ０／Ｌ１方向それぞれの１６個のサブマクロブロックの全てについて、ブロック境界強度ｂＳの計算に必要な周辺ブロックの動きベクトル情報などを一時メモリから再度読み出す必要があるため、余分なサイクル数や電力が消費されるという問題があった。
具体的には、４×４画素の１個分のサブマクロブロックの動きベクトル情報が３１ビットであるとすると、４×４画素の１個分のサブマクロブロックについてのブロック境界強度ｂＳを計算するには、Ｌ０／Ｌ１方向それぞれについての今回処理対象となるサブマクロブロックの周辺の３つのサブマクロブロックの動きベクトル情報が必要となることから、６×３１＝１８６ビット分のデータを一時メモリから読み込む必要があり、１６×１６画素の１個分のマクロブロック全体では、１６×１８６＝２９７６ビット分のデータを一時メモリから読み込む必要がある。
【０００７】
また、同じマクロブロック内の動きベクトル情報をレジスタ上に保存し、同じマクロブロック内の動きベクトル情報を使い回すことで、同じマクロブロック内の動きベクトル情報については一時メモリからの再読み込みを行わないようにした場合においても、今回処理対象となるサブマクロブロックの動きベクトル情報とそのサブマクロ周辺のブロックの動きベクトル情報の計１５５０ビット分のデータ用レジスタを用意しなければならず、回路規模が増大するという問題があった。
【０００８】
【特許文献１】特開２００７−２０８４７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
そこで、本発明の目的は、回路規模の増大を抑制しつつ、デブロッキングフィルタ処理におけるブロック境界強度の計算時のサイクル数を削減することが可能な動画像復号化装置および動画像復号化方法を提供することである。
【課題を解決するための手段】
【００１０】
上述した課題を解決するために、本発明の一態様によれば、マクロブロックの予測画像を作成するための２つの方向から生成される予測画像を示す参照ブロックに属し、サブマクロブロックごとの予測画像を示すサブ参照ブロックの動きベクトルを、２つの前記サブ参照ブロック間で交互に復号化する動きベクトル復号化部と、前記２つの参照ブロック間でサブ参照ブロックの動きベクトルが復号されるごとに、前記サブマクロブロックの位置に対応したブロック境界強度をブロック境界の歪みが発生しやすいかどうかを判断する指標として計算するブロック境界強度計算部と、前記動きベクトル復号化部及びブロック境界強度計算部からアクセス可能であり、処理対象となるサブ参照ブロックの周辺のサブ参照ブロックの動きベクトル情報を格納するレジスタとを備え、前記動きベクトル復号化部は、前記２つの参照ブロック間で処理対象となるサブ参照ブロックの動きベクトルが復号されるごとに、前記処理対象となるサブ参照ブロックの動きベクトルの復号に用いられる周辺のサブ参照ブロックの動きベクトル情報を前記レジスタに書き込み、前記ブロック境界強度計算部は、前記ブロック境界強度の計算時に前記レジスタから前記周辺のサブ参照ブロックの動きベクトル情報を読み出すことを特徴とする動画像復号化装を提供する。
【００１１】
また、本発明の一態様によれば、第１の参照ブロックに属する第１のサブ参照ブロックの動きベクトルを復号するステップと、前記第１の参照ブロックと参照方向の異なる第２の参照ブロックに属する第２のサブ参照ブロックの動きベクトルを復号するステップと、前記第１および第２のサブ参照ブロックの動きベクトルが復号された後に、前記第１および第２のサブ参照ブロックの動きベクトルの復号に用いられる周辺のサブ参照ブロックの動きベクトル情報をレジスタに書き込み、前記レジスタから前記周辺のサブ参照ブロックの動きベクトル情報を読み出すことで、前記第１および第２のサブ参照ブロックの位置に対応した第１のサブマクロブロックについてのブロック境界強度をブロック境界の歪みが発生しやすいかどうかを判断する指標として計算するステップと、前記第１のサブマクロブロックについてのブロック境界強度が計算された後に、前記第１の参照ブロックに属する第３のサブ参照ブロックの動きベクトルを復号するステップと、前記第１のサブマクロブロックについてのブロック境界強度が計算された後に、前記第２の参照ブロックに属する第４のサブ参照ブロックの動きベクトルを復号するステップと、前記第３および第４のサブ参照ブロックの動きベクトルが復号された後に、前記第３および第４のサブ参照ブロックの動きベクトルの復号に用いられる周辺のサブ参照ブロックの動きベクトル情報をレジスタに書き込み、前記レジスタから前記周辺のサブ参照ブロックの動きベクトル情報を読み出すことで、前記第３および第４のサブ参照ブロックの位置に対応した第２のサブマクロブロックについてのブロック境界強度を計算するステップとを備えることを特徴とする動画像復号化方法を提供する。
【発明の効果】
【００１２】
以上説明したように、本発明によれば、回路規模の増大を抑制しつつ、デブロッキングフィルタ処理におけるブロック境界強度の計算時のサイクル数を削減することが可能となる。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施形態に係る動画像復号化装置について図面を参照しながら説明する。
【００１４】
（第１実施形態）
図１は、本発明の第１実施形態に係る動画像復号化装置の概略構成を示すブロック図である。なお、本願の明細書の実施形態では、フレーム内で分割された１６×１６画素のブロックをマクロブロックと言い、そのマクロブロックを分割した４×４画素のブロックをサブマクロブロックと言う。また、マクロブロックの予測画像を作成するために参照される１６×１６画素のブロックを参照ブロック、その参照ブロックを分割した４×４画素のブロックをサブ参照ブロックと言う。
図１において、動画像復号化装置には、入力ビットストリームＩｍに含まれるエントロピー符号を復号化するエントロピー符号復号化部１１、量子化された直交変換係数を逆量子化し、逆量子化された直交変換係数を逆整数変換する逆量子化逆整数変換部１４、フレーム内予測およびフレーム間予測に基づいて復号画像を生成するフレーム内／フレーム間予測部１５、復号対象のブロックについての動きベクトルに基づいて、参照フレームＩｓからフレーム間予測画像を生成する動き補償部１６、ブロック境界の歪みが発生しやすいかどうかに基づいて復号画像に適応的に重み付けを行うデブロッキングフィルタ１７が設けられている。
なお、入力ビットストリームＩｍには、符号化された動画像データの他、動き補償フレーム間予測符号化（インター予測符号化）で用いられた動きベクトル情報、フレーム内予測符号化（イントラ予測符号化）で用いられたフレーム内予測情報などを含めることができる。
【００１５】
ここで、動き補償フレーム間予測符号化では、参照方向の異なる参照フレームにおいて、動きの分だけずらされた位置の画像が用いられることでフレーム間予測画像が生成され、そのフレーム間予測画像と入力画像との差分に対応したフレーム間誤差画像が符号化される。また、フレーム内予測符号化では、フレーム間予測を用いないマクロブロックに対して、上や左などに隣接するマクロブロックの隣接画素から補間によってフレーム内予測画像が生成され、そのフレーム内予測画像と入力画像との差分に対応したフレーム内誤差画像が符号化される。
【００１６】
また、Ｈ．２６４／ＡＶＣ規格の直交変換では、４×４および８×８の整数精度のＤＣＴ（離散コサイン変換）およびＤＨＴ（離散アダマール変換）が用いられ、イントラおよびインターの予測方法や輝度および色差の信号内容に応じて使い分けられる。
また、動き補償に用いられる参照フレームＩｓとしては、デブロッキングフィルタ処理された複数のフレームを用いることができ、例えば、Ｂフレームについては、未来方向のフレームを使わずに過去の２フレームを参照フレームとして指定したり、別のＢフレームを参照フレームとして指定したりすることができる。
また、デブロッキングフィルタ１７は、マクロブロックに含まれている互いに隣接するサブマクロブロックの境界のうち、連続性が途絶えるような段差があるような箇所を対象として、その段差を解消して滑らかにする処理を行うことができ、ブロック境界の歪みが発生しやすいかどうかを判断する指標としてブロック境界強度ｂＳを用いることができる。そして、ブロック境界強度ｂＳの値に応じてフィルタリング強度を変更し、それぞれのブロック境界に適したフィルタリング処理を実行することができる。
【００１７】
また、エントロピー符号復号化部１１には、動きベクトル復号化部１２およびブロック境界強度計算部１３が設けられている。ここで、動きベクトル復号化部１２は、参照方向の異なる２つの参照ブロック間において、その参照ブロックに属するサブ参照ブロックの動きベクトルを交互に復号化することができる。ブロック境界強度計算部１３は、２つの参照ブロック間でのサブ参照ブロックの動きベクトルが復号されるごとに、そのサブマクロブロックの位置に対応した今回処理対象となるサブマクロブロックについてのブロック境界強度ｂＳを計算することができる。
【００１８】
そして、入力ビットストリームＩｍがエントロピー符号復号化部１１に入力されると、エントロピー符号復号化部１１に対してエントロピー復号処理が行われ、量子化された直交変換係数、動きベクトル情報およびフレーム内予測情報などが入力ビットストリームＩｍから抽出される。そして、エントロピー符号復号化部１１にて抽出された直交変換係数およびフレーム内予測情報などは逆量子化逆整数変換部１４に出力され、動きベクトル情報は動きベクトル復号化部１２に出力される。
そして、エントロピー符号復号化部１１にて抽出された直交変換係数が逆量子化逆整数変換部１４に入力されると、逆量子化逆整数変換部１４は、その直交変換係数を逆量子化し、さらに逆整数変換することで、フレーム内誤差画像およびフレーム間誤差画像を生成し、フレーム内／フレーム間予測部１５に出力する。
【００１９】
一方、動きベクトル情報が動きベクトル復号化部１２に入力されると、動きベクトル復号化部１２は、参照方向の異なる２つの参照ブロック間において、その参照ブロックに属するサブ参照ブロックの動きベクトル情報を交互に復号化し、ブロック境界強度計算部１３および動き補償部１６に出力する。
そして、動き補償部１６は、予測方向の異なる２つのサブ参照ブロックの動きベクトル情報を受け取ると、それらの動きベクトル情報に基づいて参照フレームＩｓを動き補償することで、フレーム間予測画像を生成し、フレーム内／フレーム間予測部１５に出力する。
【００２０】
そして、フレーム内／フレーム間予測部１５は、逆量子化逆整数変換部１４から出力されたフレーム間誤差画像の画素値にフレーム間予測画像の画素値を加算することで、インターフレームを復号化し、デブロッキングフィルタ１７に出力する。また、フレーム内／フレーム間予測部１５は、復号対象のブロックに近接する復号済みの他のブロック内の画素値からフレーム内予測画像を生成する。そして、逆量子化逆整数変換部１４から出力されたフレーム内誤差画像の画素値にフレーム内予測画像の画素値を加算することで、イントラフレームを復号化し、デブロッキングフィルタ１７に出力する。
【００２１】
一方、ブロック境界強度計算部１３は、参照方向の異なる２つのサブ参照ブロックの動きベクトル情報を受け取ると、今回のサブ参照ブロックの動きベクトル情報と、今回のサブマクロブロックの周辺の復号化済のサブマクロブロックの動きベクトル情報に基づいて、今回のサブマクロブロックについてのブロック境界強度ｂＳを計算し、デブロッキングフィルタ１７に出力する。ここで、ブロック境界強度計算部１３は、参照方向の異なる今回の２つのサブ参照ブロックの動きベクトル情報が復号化されると、参照方向の異なる次回の２つのサブ参照ブロックの動きベクトル情報が復号化されるのを待つことなく、今回のサブマクロブロックについてのブロック境界強度ｂＳを計算することができる。
【００２２】
そして、デブロッキングフィルタ１７は、ブロック境界強度ｂＳの値に応じてフィルタリング強度を変更し、フレーム内／フレーム間予測部１５にて復号化された各フレームに対して、それぞれのブロック境界に適したフィルタリング処理を実行することで、出力画像ＯＵＴを生成する。
【００２３】
図２は、図１の動きベクトル復号化部１２における動きベクトルの予測方法を示す図である。
図２において、今回の動きベクトルの復号対象となるサブマクロブロックをＭＢｅとし、サブマクロブロックＭＢｅの左にはサブマクロブロックＭＢａが隣接し、サブマクロブロックＭＢｅの上にはサブマクロブロックＭＢｂが隣接し、サブマクロブロックＭＢｅの右斜め上にはサブマクロブロックＭＢｃが隣接しているものとする。
そして、Ｈ．２６４／ＡＶＣ規格では、サブマクロブロックＭＢｅの動きベクトルＭＶｅは、以下の（１）式にて求めることができる。
【００２４】
ＭＶｅ＝ｍｖｅ＋Ｍｅｄｉａｎ（ｍｖＡ，ｍｖＢ，ｍｖＣ）            ・・・（１）
ただし、
ｍｖｅ：入力ビットストリームＩｍ中に出現する隣接ブロックの動きベクトルとの差分値
ｍｖＡ：サブマクロブロックＭＢａの動きベクトルＭＶａの値
ｍｖＢ：サブマクロブロックＭＢｂの動きベクトルＭＶｂの値
ｍｖＣ：サブマクロブロックＭＢｃの動きベクトルＭＶｃの値
Ｍｅｄｉａｎ：動きベクトルＭＶａ、ＭＶｂ、ＭＶｃの３つの値のうちの中間値
なお、サブマクロブロックＭＢｅの動きベクトルＭＶｅの復号時に、サブマクロブロックＭＢｃの動きベクトルＭＶｃが未だ復号されていない場合には、サブマクロブロックＭＢｃの動きベクトルＭＶｃの代わりに、サブマクロブロックＭＢｅの左斜め上に隣接するサブマクロブロックＭＢｄの動きベクトルＭＶｄを用いることができる。
【００２５】
図３は、図１のブロック境界強度計算部１３における境界強度計算時の対象画素を示す図である。
図３において、１６×１６画素のマクロブロックＭＢを４×４画素のサブマクロブロックに分割し、サブマクロブロックＳＰＢ、ＳＱＢ間の境界ＬＫのブロック境界強度ｂＳを求めるものとする。この場合、サブマクロブロックＳＰＢの画素ｐ０〜ｐ３およびサブマクロブロックＳＱＢの画素ｑ０〜ｑ３が、以下の表１に示される条件を満たすかどうかによってブロック境界強度ｂＳが設定される。
【００２６】
【表１】
0004896915.tif 000002
【００２７】
この表１に示されるように、ブロック境界強度ｂＳが１か０かを判断するには、動き補償に用いられる動きベクトルＭＶなどの隣接情報が参照され、今回復号対象となるサブマクロブロックの動きベクトル情報と、その周辺のサブマクロブロックの動きベクトル情報が必要となる。
【００２８】
図４−１は、本発明の一実施形態に係る入力ビットストリームにおけるサブマクロブロックの出現順序を示す図、図４−２は、本発明の一実施形態に係る境界強度計算時におけるサブマクロブロックの復号化の順序を示す図である。
図４−１において、マクロブロック内のサブマクロブロックの位置をｉ行ｊ列（ｉ＝１、２、３、４，ｊ＝１、２、３、４）で特定するものとする。そして、Ｌ０方向の参照フレームに含まれる参照ブロック内のサブ参照ブロックの位置を（ｉ，ｊ）Ｌ０、Ｌ１方向の参照フレームに含まれる参照ブロック内のサブ参照ブロックの位置を（ｉ，ｊ）Ｌ１とすると、入力ビットストリームＩｍｄでは、サブマクロブロックは以下の順序で出現する。
（１，１）Ｌ１→（１，２）Ｌ１→（２，１）Ｌ１→（２，２）Ｌ１→（１，３）Ｌ１→（１，４）Ｌ１→（２，３）Ｌ１→（２，４）Ｌ１→（３，１）Ｌ１→（３，２）Ｌ１→（４，１）Ｌ１→（４，２）Ｌ１→（３，３）Ｌ１→（３，４）Ｌ１→（４，３）Ｌ１→（４，４）Ｌ１→（１，１）Ｌ２→（１，２）Ｌ２→（２，１）Ｌ２→（２，２）Ｌ２→（１，３）Ｌ２→（１，４）Ｌ２→（２，３）Ｌ２→（２，４）Ｌ２→（３，１）Ｌ２→（３，２）Ｌ２→（４，１）Ｌ２→（４，２）Ｌ２→（３，３）Ｌ２→（３，４）Ｌ２→（４，３）Ｌ２→（４，４）Ｌ２
【００２９】
これに対して、Ｌ０／Ｌ１方向のサブマクロブロックの動きベクトルの復号は、図４−２に示す順序で行うことができる。
すなわち、図４−２において、Ｌ０／Ｌ１方向のサブマクロブロックの動きベクトルの復号は以下の順序で行うことができる。
（１，１）Ｌ１→（１，１）Ｌ２→（１，２）Ｌ１→（１，２）Ｌ２→（２，１）Ｌ１→（２，１）Ｌ２→（２，２）Ｌ１→（２，２）Ｌ２→（１，３）Ｌ１→（１，３）Ｌ２→（１，４）Ｌ１→（１，４）Ｌ２→（２，３）Ｌ１→（２，３）Ｌ２→（２，４）Ｌ１→（２，４）Ｌ２→（３，１）Ｌ１→（３，１）Ｌ２→（３，２）Ｌ１→（３，２）Ｌ２→（４，１）Ｌ１→（４，１）Ｌ２→（４，２）Ｌ１→（４，２）Ｌ２→（３，３）Ｌ１→（３，３）Ｌ２→（３，４）Ｌ１→（３，４）Ｌ２→（４，３）Ｌ１→（４，３）Ｌ２→（４，４）Ｌ１→（４，４）Ｌ２
【００３０】
そして、今回のサブマクロブロックのブロック境界強度ｂＳの計算は、Ｌ０／Ｌ１方向の今回のサブマクロブロックの動きベクトルがそれぞれ復号化された後、Ｌ０／Ｌ１方向の次回の２つのサブマクロブロックの動きベクトルがそれぞれ復号化される前に行うことができる。
すなわち、Ｌ０／Ｌ１方向のサブマクロブロックの動きベクトルの復号および今回のサブマクロブロックのブロック境界強度ｂＳの計算は以下の順序で行うことができる。
（１，１）Ｌ１→（１，１）Ｌ２→（１，１）ｂＳ→（１，２）Ｌ１→（１，２）Ｌ２→（１，２）ｂＳ→（２，１）Ｌ１→（２，１）Ｌ２→（２，１）ｂＳ→（２，２）Ｌ１→（２，２）Ｌ２→（２，２）ｂＳ→（１，３）Ｌ１→（１，３）Ｌ２→（１，３）ｂＳ→（１，４）Ｌ１→（１，４）Ｌ２→（１，４）ｂＳ→（２，３）Ｌ１→（２，３）Ｌ２→（２，３）ｂＳ→（２，４）Ｌ１→（２，４）Ｌ２→（２，４）ｂＳ→（３，１）Ｌ１→（３，１）Ｌ２→（３，１）ｂＳ→（３，２）Ｌ１→（３，２）Ｌ２→（３，２）ｂＳ→（４，１）Ｌ１→（４，１）Ｌ２→（４，１）ｂＳ→（４，２）Ｌ１→（４，２）Ｌ２→（４，２）ｂＳ→（３，３）Ｌ１→（３，３）Ｌ２→（３，３）ｂＳ→（３，４）Ｌ１→（３，４）Ｌ２→（３，４）ｂＳ→（４，３）Ｌ１→（４，３）Ｌ２→（４，３）ｂＳ→（４，４）Ｌ１→（４，４）Ｌ２→（４，４）ｂＳ
【００３１】
図５は、本発明の一実施形態に係る動きベクトル復号化および境界強度計算の順序を示す図である。
図５において、（１，１）の位置のサブマクロブロックをＢ１、（１，２）の位置のサブマクロブロックをＢ２、（２，１）の位置のサブマクロブロックをＢ３、（２，２）の位置のサブマクロブロックをＢ４、（１，３）の位置のサブマクロブロックをＢ５、（１，３）の位置のサブマクロブロックをＢ６、（２，３）の位置のサブマクロブロックをＢ７、（２，４）の位置のサブマクロブロックをＢ８、（３，１）の位置のサブマクロブロックをＢ９、（３，２）の位置のサブマクロブロックをＢ１０、（４，１）の位置のサブマクロブロックをＢ１１、（４，２）の位置のサブマクロブロックをＢ１２、（３，３）の位置のサブマクロブロックをＢ１３、（３，３）の位置のサブマクロブロックをＢ１４、（４，３）の位置のサブマクロブロックをＢ１５、（４，４）の位置のサブマクロブロックをＢ１６とすると、Ｌ０／Ｌ１方向のサブ参照ブロックの動きベクトルの復号および今回のサブマクロブロックのブロック境界強度ｂＳの計算は、Ｂ１→Ｂ２→・・・→Ｂ１６の順序で行うことができる。
【００３２】
ここで、各サブマクロブロックＢ１〜Ｂ１６について、Ｌ０方向の各サブ参照ブロックの動きベクトルを計算するための周辺のサブマクロブロックのデータが読み出され、Ｌ０方向の各サブ参照ブロックの動きベクトルが復号される。また、各サブマクロブロックＢ１〜Ｂ１６について、Ｌ１方向の各サブ参照ブロックの動きベクトルを計算するための周辺のサブマクロブロックのデータが読み出され、Ｌ１方向の各サブ参照ブロックの動きベクトルが復号される。そして、各サブマクロブロックＢ１〜Ｂ１６について、今回のサブマクロブロックのブロック境界強度ｂＳが計算される。
【００３３】
これにより、Ｌ０／Ｌ１方向それぞれについての１６個分全てのサブマクロブロックＢ１〜Ｂ１６の動きベクトルの復号を待つことなく、各サブマクロブロックＢ１〜Ｂ１６についてのＬ０／Ｌ１方向の動きベクトルが復号されるごとに、今回のサブマクロブロックのブロック境界強度ｂＳを計算することができる。このため、各サブマクロブロックＢ１〜Ｂ１６についてのＬ０／Ｌ１方向の動きベクトルを復号するために使用される周辺のサブマクロブロックの動きベクトル情報をレジスタに保持することで、そのサブマクロブロックＢ１〜Ｂ１６についてのブロック境界強度ｂＳを計算することができ、Ｌ０／Ｌ１方向それぞれについての１６個分全てのサブマクロブロックＢ１〜Ｂ１６についての動きベクトル情報を一時メモリから再度読み出す必要がなくなることから、回路規模の増大を抑制しつつ、ブロック境界強度ｂＳの計算時のサイクル数を削減することが可能となる。
【００３４】
（第２実施形態）
図６は、本発明の第２実施形態に係るブロック境界強度の計算に用いられるレジスタとの接続状態を示すブロック図である。
図６において、動画像復号化装置には、動きベクトル情報格納用レジスタ２１および動きベクトル情報格納用メモリ２２が設けられている。ここで、動きベクトル情報格納用メモリ２２ではアドレスを指定してデータが読み出されるのに対して、動きベクトル情報格納用レジスタ２１ではアドレスを指定することなくデータを読み出すことができ、動きベクトル情報格納用レジスタ２１は、動きベクトル情報格納用メモリ２２よりも容量は小さいが、データの読み出しを高速に行うことができる。なお、動きベクトル情報格納用メモリ２２としては、例えば、ＳＲＡＭを用いることができる。そして、動きベクトル情報格納用メモリ２２は動きベクトル復号化部１２に接続され、動きベクトル情報格納用レジスタ２１は、動きベクトル復号化部１２およびブロック境界強度計算部１３に接続されている。
【００３５】
ここで、動きベクトル情報格納用レジスタ２１は、今回動きベクトルが復号されるサブマクロブロックのＬ０／Ｌ１方向それぞれについての周辺のサブマクロブロックの動きベクトル情報を格納することができる。なお、動きベクトル情報格納用レジスタ２１の容量は、４×４画素の１個分のサブマクロブロックＢ１〜Ｂ１６の動きベクトル情報が３１ビットであるとすると、各サブマクロブロックＢ１〜Ｂ１６についてのブロック境界強度ｂＳを計算するには、Ｌ０／Ｌ１方向それぞれについて３つの周辺のサブマクロブロックの動きベクトル情報が必要となることから、６×３１＝１８６ビット分で済ませることができる。また、動きベクトル情報格納用メモリ２２は、各サブマクロブロックＢ１〜Ｂ１６の動きベクトルを復号するために用いられるＬ０／Ｌ１方向それぞれについての１６個分のサブマクロブロックＢ１〜Ｂ１６の動きベクトル情報を格納することができる。
【００３６】
そして、動きベクトル復号化部１２は、Ｌ０／Ｌ１方向それぞれについてのサブマクロブロックＢ１〜Ｂ１６の動きベクトルを復号するために用いる周辺サブマクロブロックの動きベクトル情報を、動きベクトル情報格納用メモリ２２から順次読み出す。そして、各サブマクロブロックＢ１〜Ｂ１６について動きベクトル情報が動きベクトル情報格納用メモリ２２から読み出されるごとに、Ｌ０／Ｌ１方向それぞれについての各サブマクロブロックＢ１〜Ｂ１６の動きベクトル情報を復号化するとともに、動きベクトル情報格納用メモリ２２から今回読み出した動きベクトル情報を動きベクトル情報格納用レジスタ２１に格納する。
【００３７】
ここで、（１）式に示すように、今回のサブマクロブロックＭＢｅの動きベクトルＭＶｅを復号するためには、周辺サブマクロブロックの動きベクトル情報として、ＭＶａ、ＭＶｂ、ＭＶｃの３つの動きベクトルの値が用いられる。このため、Ｌ０／Ｌ１方向それぞれについての各サブマクロブロックＢ１〜Ｂ１６の動きベクトル情報を復号するには、Ｌ０／Ｌ１方向それぞれについてＭＶａ、ＭＶｂ、ＭＶｃの３つの動きベクトルの値が必要となることから、周辺のサブマクロブロックの動きベクトル情報として６つの動きベクトルの値が必要となる。
【００３８】
そして、ブロック境界強度計算部１３は、Ｌ０／Ｌ１方向それぞれについての各サブマクロブロックＢ１〜Ｂ１６の動きベクトル情報が動きベクトル復号化部１２にて復号化されるごとに、今回のサブマクロブロックＢ１〜Ｂ１６のブロック境界強度ｂＳを計算するために用いる周辺のサブマクロブロックの動きベクトル情報を動きベクトル情報格納用レジスタ２１から順次読み出す。
そして、今回のサブマクロブロックＢ１〜Ｂ１６の動きベクトル情報と、今回のサブマクロブロックＢ１〜Ｂ１６の周辺の復号化済のサブマクロブロックＢ１〜Ｂ１６の動きベクトル情報に基づいて、今回のサブマクロブロックＢ１〜Ｂ１６のブロック境界強度ｂＳを順次計算し、図１のデブロッキングフィルタ１７に順次出力する。
【００３９】
ここで、各サブマクロブロックＢ１〜Ｂ１６のブロック境界強度ｂＳを計算する場合に用いられる周辺のサブマクロブロックＢ１〜Ｂ１６の動きベクトル情報は、そのサブマクロブロックＢ１〜Ｂ１６の動き補償に用いられるＬ０／Ｌ１方向それぞれについての周辺のサブマクロブロックＢ１〜Ｂ１６の動きベクトル情報と共通であることから、動きベクトル情報格納用レジスタ２１に格納されている周辺のサブマクロブロックＢ１〜Ｂ１６の動きベクトル情報をブロック境界強度ｂＳの計算に共通に用いることができる。
このため、今回のサブマクロブロックＢ１〜Ｂ１６の周辺のサブマクロブロックＢ１〜Ｂ１６の動きベクトル情報を動きベクトル情報格納用レジスタ２１に保持することで、そのサブマクロブロックＢ１〜Ｂ１６の動きベクトル情報を動きベクトル情報の復号処理とブロック境界強度ｂＳの計算処理に使い回すことができ、ブロック境界強度ｂＳの計算時に周辺のサブマクロブロックＢ１〜Ｂ１６の動きベクトル情報を動きベクトル情報格納用メモリ２２から再度読み出す必要がなくなることから、回路規模の増大を抑制しつつ、ブロック境界強度ｂＳの計算時のサイクル数を削減することが可能となる。
【００４０】
尚、図４−２において、境界強度計算時におけるサブマクロブロックの復号化の順序の一例を示したが、これに限らず、例えば、図７のような順序で行うようにしてもよい。
図７において、Ｌ０／Ｌ１方向のサブ参照ブロックの動きベクトルの復号は以下の順序になる。
（１，１）Ｌ１→（１，２）Ｌ１→（１，１）Ｌ２→（１，２）Ｌ２→（２，１）Ｌ１→（２，２）Ｌ１→（２，１）Ｌ２→（２，２）Ｌ２→（１，３）Ｌ１→（１，４）Ｌ１→（１，３）Ｌ２→（１，４）Ｌ２→（２，３）Ｌ１→（２，４）Ｌ１→（２，３）Ｌ２→（２，４）Ｌ２→（３，１）Ｌ１→（３，２）Ｌ１→（３，１）Ｌ２→（３，２）Ｌ２→（４，１）Ｌ１→（４，２）Ｌ１→（４，１）Ｌ２→（４，２）Ｌ２→（３，３）Ｌ１→（３，４）Ｌ１→（３，３）Ｌ２→（３，４）Ｌ２→（４，３）Ｌ１→（４，４）Ｌ１→（４，３）Ｌ２→（４，４）Ｌ２
【００４１】
そして、Ｌ０／Ｌ１方向のサブ参照ブロックの動きベクトルの復号および今回のサブマクロブロックのブロック境界強度ｂＳの計算は以下の順序で行うようにしてもよい。
（１，１）Ｌ１→（１，２）Ｌ１→（１，１）Ｌ２→（１，２）Ｌ２→（１，１）ｂＳ→（１，２）ｂＳ→（２，１）Ｌ１→（２，２）Ｌ１→（２，１）Ｌ２→（２，２）Ｌ２→（２，１）ｂＳ→（２，２）ｂＳ→（１，３）Ｌ１→（１，４）Ｌ１→（１，３）Ｌ２→（１，４）Ｌ２→（１，３）ｂＳ→（１，４）ｂＳ→（２，３）Ｌ１→（２，４）Ｌ１→（２，３）Ｌ２→（２，４）Ｌ２→（２，３）ｂＳ→（２，４）ｂＳ→（３，１）Ｌ１→（３，２）Ｌ１→（３，１）Ｌ２→（３，２）Ｌ２→（３，１）ｂＳ→（３，２）ｂＳ→（４，１）Ｌ１→（４，２）Ｌ１→（４，１）Ｌ２→（４，２）Ｌ２→（４，１）ｂＳ→（４，２）ｂＳ→（３，３）Ｌ１→（３，４）Ｌ１→（３，３）Ｌ２→（３，４）Ｌ２→（３，３）ｂＳ→（３，４）ｂＳ→（４，３）Ｌ１→（４，４）Ｌ１→（４，３）Ｌ２→（４，４）Ｌ２→（４，３）ｂＳ→（４，４）ｂＳ
【図面の簡単な説明】
【００４２】
【図１】本発明の第１実施形態に係る動画像復号化装置の概略構成を示すブロック図。
【図２】図１の動きベクトル復号化部１２における動きベクトルの予測方法を示す図。
【図３】図１のブロック境界強度計算部１３における境界強度計算時の対象画素を示す図。
【図４−１】本発明の一実施形態に係る入力ビットストリームにおけるサブマクロブロックの出現順序を示す図。
【図４−２】本発明の一実施形態に係る境界強度計算時におけるサブマクロブロックの復号化の順序を示す図。
【図５】本発明の一実施形態に係る動きベクトル復号化および境界強度計算の順序を示す図。
【図６】本発明の第２実施形態に係るブロック境界強度の計算に用いられるレジスタとの接続状態を示すブロック図。
【図７】境界強度計算時におけるサブマクロブロックの復号化の順序の他の例を示す図。
【符号の説明】
【００４３】
１１  エントロピー符号復号化部、１２  動きベクトル復号化部、１３  ブロック境界強度計算部、１４  逆量子化逆整数変換部、１５  フレーム内／フレーム間予測部、１６  動き補償部、１７  デブロッキングフィルタ、２１  動きベクトル情報格納用レジスタ、２２  動きベクトル情報格納用メモリ
【図１】
0004896915.tif 000003
【図２】
0004896915.tif 000004
【図３】
0004896915.tif 000005
【図４−１】
0004896915.tif 000006
【図４−２】
0004896915.tif 000007
【図５】
0004896915.tif 000008
【図６】
0004896915.tif 000009
【図７】
0004896915.tif 000010