JP4039221B2 - 画像処理装置、符号化装置、復号装置およびそれらの方法 - Google Patents
画像処理装置、符号化装置、復号装置およびそれらの方法 Download PDFInfo
- Publication number
- JP4039221B2 JP4039221B2 JP2002347390A JP2002347390A JP4039221B2 JP 4039221 B2 JP4039221 B2 JP 4039221B2 JP 2002347390 A JP2002347390 A JP 2002347390A JP 2002347390 A JP2002347390 A JP 2002347390A JP 4039221 B2 JP4039221 B2 JP 4039221B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- motion vector
- pixel position
- image data
- representative
- 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 Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【発明の属する技術分野】
本発明は、画像データの動きベクトルを生成する画像処理装置、当該画像処理装置を用いた符号化装置および復号装置、並びにそれらの方法に関する。
【0002】
【従来の技術】
近年、画像データデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮するMPEG(Moving Picture Experts Group)などの方式に準拠した装置が、放送局などの情報配信、及び一般家庭における情報受信の双方において普及しつつある。
【0003】
特に、MPEG2(ISO/IEC13818−2)は、汎用画像符号化方式として定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準で、プロフェッショナル用途及びコンシューマー用途の広範なアプリケーションに現在広く用いられている。
MPEG2圧縮方式を用いることにより、例えば720×480画素を持つ標準解像度の飛び越し走査画像であれば4〜8Mbps、1920×1088画素を持つ高解像度の飛び越し走査画像であれば18〜22Mbpsの符号量(ビットレート)を割り当てることで、高い圧縮率と良好な画質の実現が可能である。
【0004】
MPEG2は主として放送用に適合する高画質符号化を対象としていたが、MPEG1より低い符号量(ビットレート)、つまりより高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してMPEG4符号化方式の標準化が行われた。画像符号化方式に関しては、1998年12月にISO/IEC14496−2としてその規格が国際標準に承認された。
【0005】
さらに、近年、当初テレビ会議用の画像符号化を目的として、H. 26L(ITU−T Q6/16 VCEG)という標準の規格化が進んでいる。H.26LはMPEG2やMPEG4といった従来の符号化方式に比べ、その符号化、復号化により多くの演算量が要求されるものの、より高い符号化効率が実現されることが知られている。また、現在、MPEG4の活動の一環として、このH.26Lをベースに、H.26L規格ではサポートされない機能をも取り入れ、より高い符号化効率を実現する標準化がJoint Model of Enhanced−Compression Video Codingとして行われている。
【0006】
このようなMPEGおよびH.26L規格の符号化装置および復号装置などの画像処理装置では、高い符号化効率を得るために、種々の演算により動きベクトルを生成している。
【0007】
【発明が解決しようとする課題】
しかしながら、上述した従来の画像処理装置では、動きベクトルの生成に伴う演算量が大きく、負荷が大きいという問題がある。
また、上述した従来の画像処理装置では、動きベクトルの生成に伴う演算を単に簡略化して演算量を削減すると、十分な符号化効率が得られないという問題がある。
【0008】
本発明はかかる事情に鑑みてなされたものであり、従来に比べて少ない演算量で、比較的高い符号化効率を提供する動きベクトルを生成できる画像処理装置、符号化装置およびそれらの方法を提供することを目的とする。
また、本発明によれば、上述した画像処理装置、符号化装置およびそれらの方法によって生成された動きベクトルを用いた復号処理を可能にする画像処理装置、符号化装置、復号装置およびそれらの方法を提供することを目的とする。
【0009】
【課題を解決するための手段】
上記の目的を達成するため、第1の発明の画像処理装置は、複数の画素位置を含む所定のサイズのブロックが規定されている場合に、第1の画像データを前記ブロック内の複数の画素位置の画素データを単位として処理し、前記第1の画像データの前記ブロック内の画素位置の動きベクトルを、第2の画像データを基に生成する画像処理装置であって、前記ブロック、並びに当該ブロックに隣接する前記ブロック内の第1の代表画素位置の動きベクトルを用いた所定の演算によって前記ブロック内のサブブロックの第2の代表画素位置の動きベクトルを規定し、前記サブブロック内の前記第2の代表画素位置の前記動きベクトルを当該サブブロック内の前記第2の代表画素位置以外の画素位置の動きベクトルとして用いるという規則がある場合に、前記ブロック内の画素位置に対応する前記第1の画像データの画素データと、当該画素位置と当該画素位置の前記動きベクトルとを用いて得られる画素位置に対応する前記第2の画像データの画素データとの差分に応じた値が所定の基準を満たすように、前記ブロック内の前記第1の代表画素位置の前記動きベクトルを前記規則に従って検索し、当該第1の代表画素位置の動きベクトルを用いて前記演算を行って前記第2の代表画素位置の前記動きベクトルを生成する演算手段を有する。
【0010】
第1の発明の前記画像処理装置の作用は以下のようになる。
前記演算手段が、前記ブロック内の画素位置に対応する前記第1の画像データの画素データと、当該画素位置と当該画素位置の前記動きベクトルとを用いて得られる画素位置に対応する前記第2の画像データの画素データとの差分に応じた値が所定の基準を満たすように、前記ブロック内の前記第1の代表画素位置の前記動きベクトルを前記規則に従って検索する。
そして、前記演算手段が、当該検索によって得た第1の代表画素位置の動きベクトルを用いて前記演算を行って前記第2の代表画素位置の前記動きベクトルを生成する。
【0011】
第2の発明の画像処理方法は、複数の画素位置を含む所定のサイズのブロックが規定されている場合に、第1の画像データを前記ブロック内の複数の画素位置の画素データを単位として処理し、前記第1の画像データの前記ブロック内の画素位置の動きベクトルを、第2の画像データを基に生成する画像処理方法であって、前記ブロック、並びに当該ブロックに隣接する前記ブロック内の第1の代表画素位置の動きベクトルを用いた所定の演算によって前記ブロック内のサブブロックの第2の代表画素位置の動きベクトルを規定し、前記サブブロック内の前記第2の代表画素位置の前記動きベクトルを当該サブブロック内の前記第2の代表画素位置以外の画素位置の動きベクトルとして用いるという規則がある場合に、前記ブロック内の画素位置に対応する前記第1の画像データの画素データと、当該画素位置と当該画素位置の前記動きベクトルとを用いて得られる画素位置に対応する前記第2の画像データの画素データとの差分に応じた値が所定の基準を満たすように、前記ブロック内の前記第1の代表画素位置の前記動きベクトルを前記規則に従って検索する第1の工程と、前記第1の代表画素位置の動きベクトルを用いて前記演算を行って前記第2の代表画素位置の前記動きベクトルを生成する第2の工程とを有する。
【0012】
第3の発明の符号化装置は、複数の画素位置を含む所定のサイズのブロックが規定されている場合に、第1の画像データを前記ブロック内の複数の画素位置の画素データを単位として処理し、前記第1の画像データの前記ブロック内の画素位置の動きベクトルを、第2の画像データを基に生成する符号化装置であって、前記ブロック、並びに当該ブロックに隣接する前記ブロック内の第1の代表画素位置の動きベクトルを用いた所定の演算によって前記ブロック内のサブブロックの第2の代表画素位置の動きベクトルを規定し、前記サブブロック内の前記第2の代表画素位置の前記動きベクトルを当該サブブロック内の前記第2の代表画素位置以外の画素位置の動きベクトルとして用いるという規則がある場合に、前記ブロック内の画素位置に対応する前記第1の画像データの画素データと、当該画素位置と当該画素位置の前記動きベクトルとを用いて得られる画素位置に対応する前記第2の画像データの画素データとの差分に応じた値が所定の基準を満たすように、前記ブロック内の前記第1の代表画素位置の前記動きベクトルを前記規則に従って検索し、当該第1の代表画素位置の動きベクトルを用いて前記演算を行って前記第2の代表画素位置の前記動きベクトルを生成する第1の演算手段と、前記第1の演算手段が生成した前記動きベクトルと前記第2の画像データとを用いて第3の画像データを生成する第2の演算手段と、前記第1の画像データと、前記第3の画像データとの差分を示す第4の画像データを符号化する符号化手段とを有する。
【0013】
第3の発明の前記符号化装置の作用は以下のようになる。
前記第1の演算手段が、前記ブロック内の画素位置に対応する前記第1の画像データの画素データと、当該画素位置と当該画素位置の前記動きベクトルとを用いて得られる画素位置に対応する前記第2の画像データの画素データとの差分に応じた値が所定の基準を満たすように、前記ブロック内の前記第1の代表画素位置の前記動きベクトルを前記規則に従って検索する。
そして、前記第1の演算手段が、当該検索によって得た第1の代表画素位置の動きベクトルを用いて前記演算を行って前記第2の代表画素位置の前記動きベクトルを生成する。
そして、前記第2の演算手段が、前記第1の演算手段が生成した前記動きベクトルと前記第2の画像データとを用いて第3の画像データを生成する。
そして、前記符号化手段が、前記第1の画像データと、前記第3の画像データとの差分を示す第4の画像データを符号化する。
【0014】
第4の発明の符号化方法は、複数の画素位置を含む所定のサイズのブロックが規定されている場合に、第1の画像データを前記ブロック内の複数の画素位置の画素データを単位として処理し、前記第1の画像データの前記ブロック内の画素位置の動きベクトルを、第2の画像データを基に生成する符号化方法であって、前記ブロック、並びに当該ブロックに隣接する前記ブロック内の第1の代表画素位置の動きベクトルを用いた所定の演算によって前記ブロック内のサブブロックの第2の代表画素位置の動きベクトルを規定し、前記サブブロック内の前記第2の代表画素位置の前記動きベクトルを当該サブブロック内の前記第2の代表画素位置以外の画素位置の動きベクトルとして用いるという規則がある場合に、前記ブロック内の画素位置に対応する前記第1の画像データの画素データと、当該画素位置と当該画素位置の前記動きベクトルとを用いて得られる画素位置に対応する前記第2の画像データの画素データとの差分に応じた値が所定の基準を満たすように、前記ブロック内の前記第1の代表画素位置の前記動きベクトルを前記規則に従って検索する第1の工程と、前記第1の代表画素位置の動きベクトルを用いて前記演算を行って前記第2の代表画素位置の前記動きベクトルを生成する第2の工程と、前記第1の工程で検索および前記第2の工程で生成された前記動きベクトルと前記第2の画像データとを用いて第3の画像データを生成する第3の工程と、前記第1の画像データと、前記第3の画像データとの差分を示す第4の画像データを符号化する第4の工程とを有する。
【0015】
第5の発明の画像処理装置は、複数の画素位置を含む所定のサイズのブロックが規定されている場合に、第1の画像データを前記ブロック内の複数の画素位置の画素データを単位として処理し、前記第1の画像データの前記ブロック内の画素位置の動きベクトルを、第2の画像データを基に生成する画像処理装置であって、前記ブロック、並びに当該ブロックに隣接する前記ブロック内の第1の代表画素位置の動きベクトルを用いた所定の演算によって前記ブロック内のサブブロックの第2の代表画素位置の動きベクトルを規定し、前記サブブロック内の前記第2の代表画素位置の前記動きベクトルを当該サブブロック内の前記第2の代表画素位置以外の画素位置の動きベクトルとして用いるという第1の規則がある場合に、前記ブロック内の画素位置に対応する前記第1の画像データの画素データと、当該画素位置と当該画素位置の前記動きベクトルとを用いて得られる画素位置に対応する前記第2の画像データの画素データとの差分に応じた値が所定の基準を満たすように、前記ブロック内の前記第1の代表画素位置の前記動きベクトルを前記第1の規則に従って検索し、当該第1の代表画素位置の動きベクトルを用いて前記演算を行って前記第2の代表画素位置の前記動きベクトルを生成する第1の処理と、前記ブロック内の全ての画素位置の前記動きベクトルとして前記第1の代表画素データの前記動きベクトルが用いるという第2の規則がある場合に、前記ブロック内の画素位置に対応する前記第1の画像データの画素データと、当該画素位置と当該画素位置の前記動きベクトルとを用いて得られる画素位置に対応する前記第2の画像データの画素データとの差分が所定の基準を満たすように、前記ブロック内の前記第1の代表画素位置の前記動きベクトルを前記第2の規則に従って検索する第2の処理とを行い、前記第1の処理および前記第2の処理で生成された前記動きベクトルのうち、前記ブロック内の画素位置に対応する前記第1の画像データをより高い符号化効率で符号化する前記動きベクトルを選択する演算手段を有する。
【0016】
第6の発明の画像処理方法は、複数の画素位置を含む所定のサイズのブロックが規定されている場合に、第1の画像データを前記ブロック内の複数の画素位置の画素データを単位として処理し、前記第1の画像データの前記ブロック内の画素位置の動きベクトルを、第2の画像データを基に生成する画像処理方法であって、前記ブロック、並びに当該ブロックに隣接する前記ブロック内の第1の代表画素位置の動きベクトルを用いた所定の演算によって前記ブロック内のサブブロックの第2の代表画素位置の動きベクトルを規定し、前記サブブロック内の前記第2の代表画素位置の前記動きベクトルを当該サブブロック内の前記第2の代表画素位置以外の画素位置の動きベクトルとして用いるという第1の規則がある場合に、前記ブロック内の画素位置に対応する前記第1の画像データの画素データと、当該画素位置と当該画素位置の前記動きベクトルとを用いて得られる画素位置に対応する前記第2の画像データの画素データとの差分に応じた値が所定の基準を満たすように、前記ブロック内の前記第1の代表画素位置の前記動きベクトルを前記第1の規則に従って検索し、当該第1の代表画素位置の動きベクトルを用いて前記演算を行って前記第2の代表画素位置の前記動きベクトルを生成する第1の工程と、前記ブロック内の全ての画素位置の前記動きベクトルとして前記第1の代表画素データの前記動きベクトルが用いるという第2の規則がある場合に、前記ブロック内の画素位置に対応する前記第1の画像データの画素データと、当該画素位置と当該画素位置の前記動きベクトルとを用いて得られる画素位置に対応する前記第2の画像データの画素データとの差分が所定の基準を満たすように、前記ブロック内の前記第1の代表画素位置の前記動きベクトルを前記第2の規則に従って検索する第2の工程と、前記第1の工程および前記第2の工程で生成された前記動きベクトルのうち、前記ブロック内の画素位置に対応する前記第1の画像データをより高い符号化効率で符号化する前記動きベクトルを選択する第3の工程とを有する。
【0017】
第7の発明の符号化装置は、複数の画素位置を含む所定のサイズのブロックが規定されている場合に、第1の画像データを前記ブロック内の複数の画素位置の画素データを単位として処理し、前記第1の画像データの前記ブロック内の画素位置の動きベクトルを、第2の画像データを基に生成する符号化装置であって、前記第1の画像データと前記第2の画像データとを用いて、前記第1の画像データの前記ブロック内の動きベクトルを生成する第1の演算手段と、前記第1の演算手段が生成した前記動きベクトルと前記第2の画像データとを用いて第3の画像データを生成する第2の演算手段と、前記第1の画像データと、前記第3の画像データとの差分を示す第4の画像データを符号化する符号化手段とを有し、前記第1の演算手段は、前記ブロック、並びに当該ブロックに隣接する前記ブロック内の第1の代表画素位置の動きベクトルを用いた所定の演算によって前記ブロック内のサブブロックの第2の代表画素位置の動きベクトルを規定し、前記サブブロック内の前記第2の代表画素位置の前記動きベクトルを当該サブブロック内の前記第2の代表画素位置以外の画素位置の動きベクトルとして用いるという第1の規則がある場合に、前記ブロック内の画素位置に対応する前記第1の画像データの画素データと、当該画素位置と当該画素位置の前記動きベクトルとを用いて得られる画素位置に対応する前記第2の画像データの画素データとの差分に応じた値が所定の基準を満たすように、前記ブロック内の前記第1の代表画素位置の前記動きベクトルを前記第1の規則に従って検索し、当該第1の代表画素位置の動きベクトルを用いて前記演算を行って前記第2の代表画素位置の前記動きベクトルを生成する第1の処理と、前記ブロック内の全ての画素位置の前記動きベクトルとして前記第1の代表画素データの前記動きベクトルが用いるという第2の規則がある場合に、前記ブロック内の画素位置に対応する前記第1の画像データの画素データと、当該画素位置と当該画素位置の前記動きベクトルとを用いて得られる画素位置に対応する前記第2の画像データの画素データとの差分が所定の基準を満たすように、前記ブロック内の前記第1の代表画素位置の前記動きベクトルを前記第2の規則に従って検索する第2の処理とを行い、前記第1の処理および前記第2の処理で生成された前記動きベクトルのうち、前記ブロック内の画素位置に対応する前記第1の画像データをより高い符号化効率で符号化する前記動きベクトルを選択する。
【0018】
第8の発明の符号化方法は、複数の画素位置を含む所定のサイズのブロックが規定されている場合に、第1の画像データを前記ブロック内の複数の画素位置の画素データを単位として処理し、前記第1の画像データの前記ブロック内の画素位置の動きベクトルを、第2の画像データを基に生成する符号化方法であって、前記ブロック、並びに当該ブロックに隣接する前記ブロック内の第1の代表画素位置の動きベクトルを用いた所定の演算によって前記ブロック内のサブブロックの第2の代表画素位置の動きベクトルを規定し、前記サブブロック内の前記第2の代表画素位置の前記動きベクトルを当該サブブロック内の前記第2の代表画素位置以外の画素位置の動きベクトルとして用いるという第1の規則がある場合に、前記ブロック内の画素位置に対応する前記第1の画像データの画素データと、当該画素位置と当該画素位置の前記動きベクトルとを用いて得られる画素位置に対応する前記第2の画像データの画素データとの差分に応じた値が所定の基準を満たすように、前記ブロック内の前記第1の代表画素位置の前記動きベクトルを前記第1の規則に従って検索し、当該第1の代表画素位置の動きベクトルを用いて前記演算を行って前記第2の代表画素位置の前記動きベクトルを生成する第1の工程と、前記ブロック内の全ての画素位置の前記動きベクトルとして前記第1の代表画素データの前記動きベクトルが用いるという第2の規則がある場合に、前記ブロック内の画素位置に対応する前記第1の画像データの画素データと、当該画素位置と当該画素位置の前記動きベクトルとを用いて得られる画素位置に対応する前記第2の画像データの画素データとの差分が所定の基準を満たすように、前記ブロック内の前記第1の代表画素位置の前記動きベクトルを前記第2の規則に従って検索する第2の工程と、前記第1の工程および前記第2の工程で生成された前記動きベクトルのうち、前記ブロック内の画素位置に対応する前記第1の画像データをより高い符号化効率で符号化する前記動きベクトルを選択する第3の工程と、前記第2の工程および前記第3の工程で得られた前記動きベクトルと前記第2の画像データとを用いて第3の画像データを生成する第4の工程と、前記第1の画像データと、前記第3の画像データとの差分を示す第4の画像データを符号化する第5の工程とを有する。
【0019】
第9の発明の画像処理装置は、複数の画素位置を含む所定のサイズのブロックが規定されている場合に、第1の画像データおよび第2の画像データを前記ブロック内の複数の画素位置の画素データを単位として処理し、前記第1の画像データと前記第2の画像データとを補間する第3の画像データを生成する画像処理装置であって、前記ブロック、並びに当該ブロックに隣接する前記ブロック内の第1の代表画素位置の動きベクトルを用いた所定の演算によって前記ブロック内のサブブロックの第2の代表画素位置の動きベクトルを規定し、前記サブブロック内の前記第2の代表画素位置の前記動きベクトルを当該サブブロック内の前記第2の代表画素位置以外の画素位置の動きベクトルとして用いるという規則がある場合に、前記ブロック内の画素位置に対応する前記第1の画像データの画素データと、当該画素位置と当該画素位置の前記動きベクトルとを用いて得られる画素位置に対応する前記第2の画像データの画素データとの差分に応じた値が所定の基準を満たすように、前記ブロック内の前記第1の代表画素位置の前記動きベクトルを前記規則に従って検索し、当該第1の代表画素位置の動きベクトルを用いて前記演算を行って前記第2の代表画素位置の前記動きベクトルを生成する演算手段と、前記第1の画像データまたは前記第2の画像データと、前記動きベクトルとを用いて前記第3の画像データを生成する画像生成手段とを有する。
【0020】
第9の発明の画像処理装置の作用は以下のようになる。
前記演算手段が、前記ブロック内の画素位置に対応する前記第1の画像データの画素データと、当該画素位置と当該画素位置の前記動きベクトルとを用いて得られる画素位置に対応する前記第2の画像データの画素データとの差分に応じた値が所定の基準を満たすように、前記ブロック内の前記第1の代表画素位置の前記動きベクトルを前記規則に従って検索する。
そして、前記演算手段が、当該第1の代表画素位置の動きベクトルを用いて前記演算を行って前記第2の代表画素位置の前記動きベクトルを生成する。
そして、前記画像生成手段が、前記第1の画像データまたは前記第2の画像データと、前記動きベクトルとを用いて前記第3の画像データを生成する。
【0021】
第10の発明の画像処理方法は、複数の画素位置を含む所定のサイズのブロックが規定されている場合に、第1の画像データおよび第2の画像データを前記ブロック内の複数の画素位置の画素データを単位として処理し、前記第1の画像データと前記第2の画像データとを補間する第3の画像データを生成する画像処理方法であって、前記ブロック、並びに当該ブロックに隣接する前記ブロック内の第1の代表画素位置の動きベクトルを用いた所定の演算によって前記ブロック内のサブブロックの第2の代表画素位置の動きベクトルを規定し、前記サブブロック内の前記第2の代表画素位置の前記動きベクトルを当該サブブロック内の前記第2の代表画素位置以外の画素位置の動きベクトルとして用いるという規則がある場合に、前記ブロック内の画素位置に対応する前記第1の画像データの画素データと、当該画素位置と当該画素位置の前記動きベクトルとを用いて得られる画素位置に対応する前記第2の画像データの画素データとの差分に応じた値が所定の基準を満たすように、前記ブロック内の前記第1の代表画素位置の前記動きベクトルを前記規則に従って検索する第1の工程と、前記第1の工程で検索された前記第1の代表画素位置の動きベクトルを用いて前記演算を行って前記第2の代表画素位置の前記動きベクトルを生成する第2の工程と、前記第1の画像データまたは前記第2の画像データと、前記第1の工程および前記第2の工程で得られた前記動きベクトルとを用いて前記第3の画像データを生成する第3の工程とを有する。
【0022】
第11の発明の画像処理装置は、複数の画素位置を含む所定のサイズのブロックが規定されている場合に、第1の画像データおよび第2の画像データを前記ブロック内の複数の画素位置の画素データを単位として処理し、前記第1の画像データと前記第2の画像データとを補間する第3の画像データを生成する画像処理装置であって、前記第1の画像データと前記第2の画像データとの間の動きベクトルを生成する演算手段と、前記第1の画像データまたは前記第2の画像データと、前記動きベクトルとを用いて前記第3の画像データを生成する画像生成手段とを有し、前記演算手段は、前記ブロック、並びに当該ブロックに隣接する前記ブロック内の第1の代表画素位置の動きベクトルを用いた所定の演算によって前記ブロック内のサブブロックの第2の代表画素位置の動きベクトルを規定し、前記サブブロック内の前記第2の代表画素位置の前記動きベクトルを当該サブブロック内の前記第2の代表画素位置以外の画素位置の動きベクトルとして用いるという第1の規則がある場合に、前記ブロック内の画素位置に対応する前記第1の画像データの画素データと、当該画素位置と当該画素位置の前記動きベクトルとを用いて得られる画素位置に対応する前記第2の画像データの画素データとの差分に応じた値が所定の基準を満たすように、前記ブロック内の前記第1の代表画素位置の前記動きベクトルを前記第1の規則に従って検索し、当該第1の代表画素位置の動きベクトルを用いて前記演算を行って前記第2の代表画素位置の前記動きベクトルを生成する第1の処理と、前記ブロック内の全ての画素位置の前記動きベクトルとして前記第1の代表画素データの前記動きベクトルが用いるという第2の規則がある場合に、前記ブロック内の画素位置に対応する前記第1の画像データの画素データと、当該画素位置と当該画素位置の前記動きベクトルとを用いて得られる画素位置に対応する前記第2の画像データの画素データとの差分が所定の基準を満たすように、前記ブロック内の前記第1の代表画素位置の前記動きベクトルを前記第2の規則に従って検索する第2の処理とを行い、前記第1の処理および前記第2の処理で生成された前記動きベクトルのうち、前記ブロック内の画素位置に対応する前記第1の画像データをより高い符号化効率で符号化する前記動きベクトルを選択する。
【0023】
第12の発明の画像処理方法は、複数の画素位置を含む所定のサイズのブロックが規定されている場合に、第1の画像データおよび第2の画像データを前記ブロック内の複数の画素位置の画素データを単位として処理し、前記第1の画像データと前記第2の画像データとを補間する第3の画像データを生成する画像処理方法であって、前記ブロック、並びに当該ブロックに隣接する前記ブロック内の第1の代表画素位置の動きベクトルを用いた所定の演算によって前記ブロック内のサブブロックの第2の代表画素位置の動きベクトルを規定し、前記サブブロック内の前記第2の代表画素位置の前記動きベクトルを当該サブブロック内の前記第2の代表画素位置以外の画素位置の動きベクトルとして用いるという第1の規則がある場合に、前記ブロック内の画素位置に対応する前記第1の画像データの画素データと、当該画素位置と当該画素位置の前記動きベクトルとを用いて得られる画素位置に対応する前記第2の画像データの画素データとの差分に応じた値が所定の基準を満たすように、前記ブロック内の前記第1の代表画素位置の前記動きベクトルを前記第1の規則に従って検索し、当該第1の代表画素位置の動きベクトルを用いて前記演算を行って前記第2の代表画素位置の前記動きベクトルを生成する第1の工程と、前記ブロック内の全ての画素位置の前記動きベクトルとして前記第1の代表画素データの前記動きベクトルが用いるという第2の規則がある場合に、前記ブロック内の画素位置に対応する前記第1の画像データの画素データと、当該画素位置と当該画素位置の前記動きベクトルとを用いて得られる画素位置に対応する前記第2の画像データの画素データとの差分が所定の基準を満たすように、前記ブロック内の前記第1の代表画素位置の前記動きベクトルを前記第2の規則に従って検索する第2の工程と、前記第1の工程および前記第2の工程で生成された前記動きベクトルのうち、前記ブロック内の画素位置に対応する前記第1の画像データをより高い符号化効率で符号化する前記動きベクトルを選択する第3の工程と、前記第1の画像データまたは前記第2の画像データと、前記第3の工程で選択させた前記動きベクトルとを用いて前記第3の画像データを生成する第4の工程とを有する。
【0024】
第13の発明の画像処理装置は、複数の画素位置を含む所定のサイズのブロックが規定されており、第1の画像データを前記ブロック内の複数の画素位置の画素データを単位として画像処理を行い、前記ブロック内の第1の代表画素位置の動きベクトルを用いて当該ブロック内の他の画素位置の動きベクトルを生成する画像処理装置であって、前記ブロック、並びに当該ブロックに隣接する前記ブロック内の第1の代表画素位置の動きベクトルを用いた所定の演算によって前記ブロック内のサブブロックの第2の代表画素位置の動きベクトルを生成し、前記サブブロック内の前記第2の代表画素位置の前記動きベクトルを、当該サブブロック内の前記第2の代表画素位置以外の画素位置の動きベクトルとする演算手段を有する。
【0025】
第14の発明の画像処理方法は、複数の画素位置を含む所定のサイズのブロックが規定されており、第1の画像データを前記ブロック内の複数の画素位置の画素データを単位として画像処理を行い、前記ブロック内の第1の代表画素位置の動きベクトルを用いて当該ブロック内の他の画素位置の動きベクトルを生成する画像処理方法であって、前記ブロック、並びに当該ブロックに隣接する前記ブロック内の第1の代表画素位置の動きベクトルを用いた所定の演算によって前記ブロック内のサブブロックの第2の代表画素位置の動きベクトルを生成し、前記サブブロック内の前記第2の代表画素位置の前記動きベクトルを、当該サブブロック内の前記第2の代表画素位置以外の画素位置の動きベクトルとする工程を有する。
【0026】
第15の発明の復号装置は、複数の画素位置を含む所定のサイズのブロックが規定されており、第1の画像データを前記ブロック内の複数の画素位置の画素データを単位として画像処理を行い、前記ブロック内の第1の代表画素位置の動きベクトルを用いて当該ブロック内の他の画素位置の動きベクトルを生成し、当該動きベクトルを用いて復号を行う復号装置であって、画像データおよび動きベクトルを復号して前記第1の画像データおよび前記第1の代表画素位置の前記動きベクトルを生成する復号手段と、前記ブロック、並びに当該ブロックに隣接する前記ブロック内の第1の代表画素位置の前記復号手段で復号された前記動きベクトルを用いた所定の演算によって前記ブロック内のサブブロックの第2の代表画素位置の動きベクトルを生成し、前記サブブロック内の前記第2の代表画素位置の前記動きベクトルを、当該サブブロック内の前記第2の代表画素位置以外の画素位置の動きベクトルとする第1の演算手段と、前記第1の演算手段で得た前記動きベクトルおよび第2の画像データを用いて第3の画像データを生成する第2の演算手段と、前記第1の画像データと前記第3の画像データを用いて第4の画像データを生成する第3の演算手段とを有する。
【0027】
第16の発明の復号方法は、複数の画素位置を含む所定のサイズのブロックが規定されており、第1の画像データを前記ブロック内の複数の画素位置の画素データを単位として画像処理を行い、前記ブロック内の第1の代表画素位置の動きベクトルを用いて当該ブロック内の他の画素位置の動きベクトルを生成し、当該動きベクトルを用いて復号を行う復号方法であって、画像データおよび動きベクトルを復号して前記第1の画像データおよび前記第1の代表画素位置の前記動きベクトルを生成する第1の工程と、前記ブロック、並びに当該ブロックに隣接する前記ブロック内の第1の代表画素位置の前記第1の工程で復号された前記動きベクトルを用いた所定の演算によって前記ブロック内のサブブロックの第2の代表画素位置の動きベクトルを生成し、前記サブブロック内の前記第2の代表画素位置の前記動きベクトルを、当該サブブロック内の前記第2の代表画素位置以外の画素位置の動きベクトルとする第2の工程と、前記第1の工程および前記第2の工程で得られた前記動きベクトルおよび第2の画像データを用いて第3の画像データを生成する第3の工程と、前記第1の画像データと前記第3の画像データを用いて第4の画像データを生成する第4の工程とを有する。
【0028】
第17の発明の画像処理装置は、複数の画素位置を含む所定のサイズのブロックが規定されており、第1の画像データを前記ブロック内の複数の画素位置の画素データを単位として画像処理を行い、前記ブロック内の第1の代表画素位置の動きベクトルを用いて当該ブロック内の他の画素位置の動きベクトルを生成する画像処理装置であって、前記第1の代表画素位置の前記動きベクトルと関連付けられた識別データに基づいて、前記第1の代表画素位置の前記動きベクトルが第1の処理で生成された場合に、前記ブロック、並びに当該ブロックに隣接する前記ブロック内の第1の代表画素位置の動きベクトルを用いた所定の演算によって前記ブロック内のサブブロックの第2の代表画素位置の動きベクトルを生成し、前記サブブロック内の前記第2の代表画素位置の前記動きベクトルを当該サブブロック内の前記第2の代表画素位置以外の画素位置の動きベクトルとして用い、前記第1の代表画素位置の前記動きベクトルが第2の処理で生成された場合に、前記ブロック内の全ての画素位置の前記動きベクトルとして前記第1の代表画素データの前記動きベクトルを用いる演算手段を有する。
【0029】
第18の発明の画像処理方法は、複数の画素位置を含む所定のサイズのブロックが規定されており、第1の画像データを前記ブロック内の複数の画素位置の画素データを単位として画像処理を行い、前記ブロック内の第1の代表画素位置の動きベクトルを用いて当該ブロック内の他の画素位置の動きベクトルを生成する画像処理方法であって、前記第1の代表画素位置の前記動きベクトルと関連付けられた識別データに基づいて、前記第1の代表画素位置の前記動きベクトルが第1の処理で生成された場合に、前記ブロック、並びに当該ブロックに隣接する前記ブロック内の第1の代表画素位置の動きベクトルを用いた所定の演算によって前記ブロック内のサブブロックの第2の代表画素位置の動きベクトルを生成し、前記サブブロック内の前記第2の代表画素位置の前記動きベクトルを当該サブブロック内の前記第2の代表画素位置以外の画素位置の動きベクトルとして用い、前記第1の代表画素位置の前記動きベクトルが第2の処理で生成された場合に、前記ブロック内の全ての画素位置の前記動きベクトルとして前記第1の代表画素データの前記動きベクトルを用いる工程を有する。
【0030】
第19の発明の復号装置は、複数の画素位置を含む所定のサイズのブロックが規定されており、第1の画像データを前記ブロック内の複数の画素位置の画素データを単位として画像処理を行い、前記ブロック内の第1の代表画素位置の動きベクトルを用いて当該ブロック内の他の画素位置の動きベクトルを生成し、当該動きベクトルを用いて復号を行う復号装置であって、画像データおよび動きベクトルを復号して前記第1の画像データおよび前記第1の代表画素位置の前記動きベクトルを生成する復号手段と、前記第1の代表画素位置の前記動きベクトルと関連付けられた識別データに基づいて、前記第1の代表画素位置の前記動きベクトルが第1の処理で生成された場合に、前記ブロック、並びに当該ブロックに隣接する前記ブロック内の第1の代表画素位置の動きベクトルを用いた所定の演算によって前記ブロック内のサブブロックの第2の代表画素位置の動きベクトルを生成し、前記サブブロック内の前記第2の代表画素位置の前記動きベクトルを当該サブブロック内の前記第2の代表画素位置以外の画素位置の動きベクトルとして用い、前記第1の代表画素位置の前記動きベクトルが第2の処理で生成された場合に、前記ブロック内の全ての画素位置の前記動きベクトルとして前記第1の代表画素データの前記動きベクトルを用いる第1の演算手段と、前記第1の演算手段によって得られた前記動きベクトルおよび第2の画像データを用いて第3の画像データを生成する第2の演算手段と、前記第1の画像データと前記第3の画像データを用いて第4の画像データを生成する第3の演算手段とを有する。
【0031】
第20の発明の復号方法は、複数の画素位置を含む所定のサイズのブロックが規定されており、第1の画像データを前記ブロック内の複数の画素位置の画素データを単位として画像処理を行い、前記ブロック内の第1の代表画素位置の動きベクトルを用いて当該ブロック内の他の画素位置の動きベクトルを生成し、当該動きベクトルを用いて復号を行う復号方法であって、画像データおよび動きベクトルを復号して前記第1の画像データおよび前記第1の代表画素位置の前記動きベクトルを生成する第1の工程と、前記第1の代表画素位置の前記動きベクトルと関連付けられた識別データに基づいて、前記第1の代表画素位置の前記動きベクトルが第1の処理で生成された場合に、前記ブロック、並びに当該ブロックに隣接する前記ブロック内の第1の代表画素位置の動きベクトルを用いた所定の演算によって前記ブロック内のサブブロックの第2の代表画素位置の動きベクトルを生成し、前記サブブロック内の前記第2の代表画素位置の前記動きベクトルを当該サブブロック内の前記第2の代表画素位置以外の画素位置の動きベクトルとして用い、前記第1の代表画素位置の前記動きベクトルが第2の処理で生成された場合に、前記ブロック内の全ての画素位置の前記動きベクトルとして前記第1の代表画素データの前記動きベクトルを用いる第2の工程と、前記第2の工程によって得られた前記動きベクトルおよび第2の画像データを用いて第3の画像データを生成する第3の工程と、前記第1の画像データと前記第3の画像データを用いて第4の画像データを生成する第4の工程とを有する。
【0032】
【発明の実施の形態】
〔本発明の関連技術〕
図1は、本発明の関連技術に係わる符号化装置501の機能ブロック図である。
図1に示す符号化装置501において、入力となる画像信号は、まず、A/D変換回路501においてデジタル信号に変換される。次に、出力となる画像圧縮情報のGOP(Group of Pictures)構造に応じ、画面並べ替え回路502においてフレーム画像データの並べ替えが行われる。
そして、イントラ符号化が行われる画像に関しては、フレーム画像データの全体が直交変換回路504に入力され、直交変換回路504において離散コサイン変換やカルーネン・レーベ変換等の直交変換が施される。
直交変換回路504の出力となる変換係数は、量子化回路505において量子化処理される。
量子化回路505の出力となる、量子化された変換係数は、可逆変換回路506に入力され、ここで可変長符号化、算術符号化等の可逆符号化が施された後、バッファ507に蓄積され、圧縮された画像データとして出力される。
量子化回路505における量子化レートは、レート制御回路512によって制御される。同時に、量子化回路505の出力となる、量子化された変換係数は、逆量子化回路508に入力され、さらに逆直交変換回路509において逆直交変換処理が施されて、復号された参照フレーム画像データとなり、その参照フレーム画像データがフレームメモリ510に蓄積される。
【0033】
一方、インター符号化が行われる画像に関しては、画面並べ替え回路502から出力されたフレーム画像データが、動き予測・補償回路511に入力される。同時に参照フレーム画像データがフレームメモリ510より読み出され、動き予測・補償回路511によって動きベクトルが生成され、当該動きベクトルおよび参照フレーム画像データを用いて予測フレーム画像データが生成される。予測フレーム画像データが演算回路503に出力され、演算回路503において、画面並べ替え回路502からのフレーム画像データと、動き予測・補償回路511からの予測フレーム画像データとの差分を示す画像データが生成され、当該画像データが直交変換回路504に出力される。
また、動き補償・予測回路511は、動きベクトルを可逆符号化回路506に出力し、可逆符号化回路506において、動きベクトルが可変長符号化あるいは算術符号化といった可逆符号化処理され、画像信号のヘッダ部に挿入される。その他の処理はイントラ符号化を施される画像信号と同様である。
【0034】
上述した動き補償・予測回路511における動きベクトルの生成は、例えば、下記式(2)で示される。
【0035】
【数2】
【0036】
上記式(2)において、sはマクロブロックMB内の画素位置を示す。
F_CUR(s)は動きベクトルの生成対象となるフレーム画像データの画素位置sの画素データ(画素値)を示し、F_REF(s)は参照フレーム画像データの画素位置sの画素データを示している。また、MV(s)は、フレーム画像データの画素位置sの動きベクトルを示している。
【0037】
動きベクトルの生成方法としては、様々なものが提案されているが、現在、最も広範に用いられているのが、以下の式で表されるブロックマッチング(Block Matching Algorithm、以下、BMAと呼ぶ)である。BMAは、例えば、下記式(3)に示すように、フレーム画像データについて画像処理の単位として規定された16×16画素のマクロブロックMB内の所定の画素位置s1の動きベクトルMVを、当該マクロブロックMB内のその他の画素位置の動きベクトルとして用いる。すなわち、マクロブロックMB内の全ての画素位置で同じ動きベクトルMVを用いる。
【0038】
【数3】
【0039】
BMAにおいては、各マクロブロックMBにおける動きベクトル情報は、隣接するマクロブロックMBの動きベクトルMVには影響を及ぼさないため、収束演算を必要とせず、その演算量は限られている。
しかし、BMAでは、拡大、回転といった動きをうまく表現することができず、図1に示された符号化装置501で、その出力となる符号化された画像データ内にブロック歪が生じてしまうという問題がある。
【0040】
かかる問題を解決するため、“Motion Compensationfor Video Compression Using ControlGrid Interpolation”,(G.L.Sullivan andR.L.Baker, IEEE Conf. on Acoustic Speech and Signal Proc. pp2713−2716,1991)には、いわゆるCGI(Control Grid Interpolation)と呼ばれる動きベクトル生成手法が提案されている。
CGIは、図2に示すように、マクロブロックMBの全ての画素位置sの動きベクトルMVを、当該マクロブロックMBに隣接するマクロブロックMBの動きベクトルMV(MV(s1),MV(s2),MV(s3),MV(s4))を用いて収束演算を行って生成する。
このCGIにおいて各マクロブロックMBに対する最適な動きベクトルを求める手法として、CPMV(Control Point Motion Vector)が提案されている。
【0041】
上述したCGIおよびCPMVを用いれば、拡大や回転を含むシーケンスに関しては、前述したBMA動きモデルに比べ、高い符号化効率を実現できる。
しかしながら、平行移動を含むシーケンスに関しては、BMA動きモデルを上回る符号化効率を実現することが出来ないという問題を有する。
【0042】
かかる問題を解決するため、“On Spatial Adaptationof Motion Field Smoothness”,(P.Ishwar and Pierre Moulin, IEEE Trans. on Circuit and Systems for Video Tech.,pp980−989, Sept 2000)には、SCGI(SwitchedControl−Grid Interpolation)が提案されている。SCGIでは、各マクロブロックMBに対し、BMAとCGIとの両手法で、動きベクトルを生成し、より高い符号化効率を実現可能な動きベクトルを選択する。
SCGIによれば、平行移動を含むシーケンス、及び、拡大、回転等の動きを含むシーケンスの双方で、先述のBMA,CGIより高い符号化効率を実現することが可能となる。
また、SCGIでは、1ビットの識別データ(label)により、BMAとCGIのどちらが選択されたかに関する情報を、符号化データに埋め込む。
図3は、BMA,CGI,SCGI動きモデルの違いを1次元で表した図である。
【0043】
ところで、上述したCGIおよびCPMVを組み合わせた手法では、マクロブロックMB内の全ての画素位置の動きベクトルを、当該マクロブロックMBに隣接する3つのマクロブロックMBの所定の画素位置の動きベクトルを用いて所定の演算を行って生成する。
従って、動きベクトルの生成に伴う演算量が大きく、負荷が大きいという問題がある。
後述する実施形態は、かかる事情に鑑みてなされたものであり、上述したCGIおよびCPMVを組み合わせた手法に比べて少ない演算量で、比較的高い符号化効率を提供する動きベクトルを生成できる画像処理装置およびその方法に関するものである。
【0044】
図4は、図1に示す符号化装置501に対応する復号回路502の機能ブロック図である。
図4に示す復号回路502では、入力となる画像データがバッファ613に格納された後、可逆復号回路614に出力される。そして、可逆復号回路614において、フレーム画像データのフォーマットに基づき、可変長復号化、算術復号化等の処理が行われる。同時に、当該フレーム画像データがインター符号化されたものである場合には、可逆復号回路614において、フレーム画像データのヘッダ部に格納された動きベクトルMVも復号され、その動きベクトルMVが動き予測・補償装置620に出力される。
【0045】
可逆復号回路614の出力となる、量子化された変換係数は、逆量子化回路615に入力され、ここで変換係数が生成される。当該変換係数には、逆直交変換回路616において、定められたフレーム画像データのフォーマットに基づき、逆離散コサイン変換や逆カルーネン・レーベ変換等の逆直交変換が施される。当該フレーム画像データがイントラ符号化されたものである場合には、逆直交変換処理が施されたフレーム画像データは画面並べ替え回路618に格納され、D/A変換回路619によるD/A変換処理を経て出力される。
【0046】
一方、当該フレームがインター符号化されたものである場合には、動き予測・補償回路620において動きベクトルMV、及びフレームメモリ621に格納された参照フレーム画像データを基に予測フレーム画像データが生成され、この予測フレーム画像データと、逆直交変換回路616から出力されたフレーム画像データとが加算器617において加算される。その他の処理はイントラ符号化されたフレーム画像データと同様である。
【0047】
動き予測・補償装置の用途は、上述の画像圧縮に限らない。
例えば、図5に示すように、動き予測・補償を用いたフレームレートアップコンバート装置などの画像補間装置は、動き予測回路722、フレームメモリ723、補間画像生成装置724、遅延バッファ725およびセレクタ726を有する。
動き予測回路722は、入力となるn[ Hz] の画像データの構成要素であるフレーム画像データと、それより時間的に前にフレームメモリ23に蓄積された参照フレーム画像データとを用いて、動きベクトルの探索および生成を行う。
図6に示す例では、フレームメモリ23に蓄積された、時刻tにおけるフレーム画像データFLAME1、及び時刻t+2δtにおけるフレーム画像データFLAME2との間で動きベクトルMVの探索が行われる。
そして、補間画像生成回路724において、この動きベクトル情報MVを用いて、時刻t+δtにおける補間フレーム画像データの生成が行われる。このように生成された補間フレーム画像データFLAME_INTERと、フレーム画像データFLMAE1を、一定のタイミングでセレクタ726で選択して、m[Hz] (m>n)となるような出力画像を生成する。図6は、m=2の例である。
【0048】
以下、上述した問題を解決するための本実施形態の画像処理装置、符号化装置、復号装置、およびそれらの方法について説明する。
第1実施形態
当該実施形態は、第1〜第4および第13〜第16の発明に対応している。
図7は、本実施形態の通信システム1の概念図である。
図7に示すように、通信システム1は、送信側に設けられた符号化装置2と、受信側に設けられた復号装置3とを有する。
通信システム1では、送信側の符号化装置2において、離散コサイン変換やカルーネン・レーベ変換などの直交変換と動き補償によって圧縮したフレーム画像データ(ビットストリーム)を生成し、当該フレーム画像データを変調した後に、衛星放送波、ケーブルTV網、電話回線網、携帯電話回線網などの伝送媒体を介して送信する。
受信側では、受信した画像信号を復調した後に、上記変調時の直交変換の逆変換と動き補償によって伸張したフレーム画像データを生成して利用する。
なお、上記伝送媒体は、光ディスク、磁気ディスクおよび半導体メモリなどの記録媒体であってもよい。
なお、本実施形態では、符号化装置2における動きベクトルMVの生成、並びに復号装置3における動きベクトルMVおよび参照フレーム画像データを用いたフレーム画像データの生成に特徴を有している。
【0049】
〔符号化装置2〕
図8は、図7に示す符号化装置2の全体構成図である。
図8に示すように、符号化装置2は、例えば、A/D変換回路22、画面並べ替え回路23、演算回路24、直交変換回路25、量子化回路26、可逆符号化回路27、バッファ28、逆量子化回路29、逆直交変換回路30、フレームメモリ31、レート制御回路32、サブブロック分割回路33、動きベクトル生成回路34および動き予測・補償回路35を有する。
ここで、動きベクトル生成回路34が第1の発明の演算手段および第3の発明の第1の演算手段に対応している。
【0050】
以下、符号化装置2の構成要素について説明する。
A/D変換回路22は、入力されたアナログの輝度信号Y、色差信号Pb,Prから構成される画像信号をデジタルの画像信号に変換し、これを画面並べ替え回路23に出力する。
画面並べ替え回路23は、A/D変換回路22から入力した画像信号内のフレーム画像信号を、そのピクチャタイプI,P,BからなるGOP(Group Of Pictures) 構造に応じて、符号化する順番に並べ替えたフレーム画像データS23を演算回路24および動き予測・補償回路35に出力する。
【0051】
演算回路24は、フレーム画像データS23がインター(Inter) 符号化される場合には、フレーム画像データS23と、動き予測・補償回路35から入力した予測フレーム画像データS35aとの差分を示す画像データS24を生成し、これを直交変換回路25に出力する。
また、演算回路24は、フレーム画像データS23がイントラ(Intra) 符号化される場合には、フレーム画像データS23を画像データS24として直交変換回路25に出力する。
直交変換回路25は、画像データS24に離散コサイン変換やカルーネン・レーベ変換などの直交変換を施して画像データ(例えばDCT係数信号)S25を生成し、これを量子化回路26に出力する。
量子化回路26は、レート制御回路32から入力した量子化スケールで、画像データS25を量子化して画像データS26を生成し、これを可逆符号化回路27および逆量子化回路29に出力する。
【0052】
可逆符号化回路27は、画像データS26を可変長符号化あるいは算術符号化した画像データをバッファ28に格納する。
このとき、可逆符号化回路27は、動き予測・補償回路35から入力した動きベクトルMVあるいはその差分を符号化してヘッダデータに格納する。
また、可逆符号化回路27は、必要に応じて、後述するサブブロック分割回路33の処理によって得られたサブブロック(本発明のサブブロック)のサイズを示すデータをヘッダデータなどに格納してもよい。
バッファ28に格納された画像データは、変調等された後に送信される。
逆量子化回路29は、画像データS26を逆量子化した信号を生成し、これを逆直交変換回路30に出力する。
逆直交変換回路30は、逆量子化回路29から入力した画像データに、上記直交変換を逆変換を施して生成したフレーム画像データをフレームメモリ31に格納する。
レート制御回路32は、バッファ23から読み出した画像データを基に量子化スケールを生成し、これを量子化回路26に出力する。
【0053】
サブブロック分割回路33は、動き予測・補償回路35から入力したフレーム画像データS23について、当該フレーム画像データS23の各マクロブロックMB(本発明のブロック)内の画素位置の動きベクトルMVを動きベクトル生成回路34で生成する際に用いられるサブブロックSUB_MBを、マクロブロックMBを分割して決定(規定)し、当該分割の内容(サブブロックSUB_MBのサイズ)を示す分割データDIV生成する。サブブロック分割回路33は、分割データDIVをフレーム画像データS23と共に、動きベクトル生成回路34に出力する。
また、サブブロック分割回路33は、動き予測・補償回路35から入力したフレーム画像データS23に対応するピクチャタイプの参照フレーム画像データS31を動きベクトル生成回路34に出力する。
【0054】
図9は、サブブロック分割回路33がマクロブロックMBを分割してサブブロックSUB_MBを決定する処理を説明するための図である。
図9に示すように、サブブロック分割回路33は、16×16の画素位置からなるマクロブロックMBを、例えば、それぞれ4×4の画素位置からなる4行×4列の16個のサブブロックSUB_MBに分割する。
ここで、マクロブロックMB内の所定の画素位置、例えば、1行、1列目のサブブロックSUB_MB内の1行、1列目の画素位置を第1の代表画素位置とする。
また、1行、1列目のサブブロックSUB_MB以外の各サブブロックSUB_MB内の1行、1列目の画素位置を第2の代表画素位置とする。
図9に示す例では、画素位置s1,s2,s3,s4が、それぞれマクロブロックMB1,MB2,MB3,MB4の第1の代表画素位置となる。
また、画素位置sが、第1のマクロブロックMB1の2行、2列目のサブブロックSUB_MBの第2の代表画素位置となる。
【0055】
なお、マクロブロックMB内での第1の代表画素位置、並びにサブブロックSUB_MB内の第2の代表画素位置は例示であり、任意の画素位置を指定可能である。
【0056】
動きベクトル生成回路34は、サブブロック分割回路33から入力したフレーム画像データS23の各画素位置の動きベクトルMVを、分割データDIVを基にサブブロック単位で後述するように生成し、動きベクトルMVおよび分割データDIVを動き予測・補償回路35に出力する。
【0057】
動き予測・補償回路35は、参照フレーム画像データS31と、動きベクトルMVとを用いて、動き予測された予測フレーム画像データS35aを生成し、これを演算回路24に出力する。
そして、動き予測・補償回路35は、予測フレーム画像データS35aを演算回路24に出力する。
また、動き予測・補償回路35は、動きベクトル生成回路34から入力した動きベクトルMV、並びに必要に応じて分割データDIVを可逆符号化回路27に出力する。
なお、マクロブロックMB内の第1の代表画素位置以外の画素位置の動きベクトルMVは、後述するように、当該マクロブロックMBおよび隣接するマクロブロックMBの第1の代表画素位置の動きベクトルMVによって演算可能であるため、動き予測・補償回路35から可逆符号化回路27に第1の代表画素位置の動きベクトルMVのみを出力するようにしてもよい。また、動き予測・補償回路35は、各マクロブロックMB内の全ての画素位置、あるいは第1および第2の代表画素位置の動きベクトルを可逆符号化回路27に出力してもよい。
また、動き予測・補償回路35は、復号装置3がサブブロックSUB_MBのサイズに関する情報を保持している場合には、分割データDIVを可逆符号化回路27に出力しなくてもよい。
【0058】
以下、動きベクトル生成回路34における動きベクトルMVの生成処理を説明する。
動きベクトル生成回路34は、フレーム画像データS31の各マクロブロックMB内の各画素位置の動きベクトルMVを、サブブロック分割回路33から入力した分割データDIVを用いて生成する。
このとき、動きベクトル生成回路34は、以下に示す規則(本発明の規則および第1の規則)に従って各マクロブロックMB内の画素位置の動きベクトルMVが規定されているという前提で、図10に示すように、フレーム画像データS23(第1〜第4の発明の第1の画像データ)の各画素データに対応する画素位置の動きベクトルMVを、フレーム画像データS23の当該マクロブロックMB内の全ての画素位置の画素データとの間の差分が所定の基準を満たす参照フレーム画像データS31(第1〜第4の発明の第2の画像データ)内の画素データ群の画素位置を、参照フレーム画像データS31内の所定の検索範囲の画素位置を対象として検索して生成する。
ここで、参照フレーム画像データS23は、フレーム画像データS23に対して時間的に前後に位置するデータであり、フレーム画像データと相関性を有している。
【0059】
上記規則は、例えば、マクロブロックMB、並びに当該マクロブロックMBに隣接するマクロブロックMBの第1の代表画素位置の動きベクトルを用いた下記式(4)に示す演算によって当該マクロブロックMB内のサブブロックSUB_MBの第2の代表画素位置の動きベクトルが規定され、各サブブロックSUB_MB内の第2の代表画素位置以外の画素位置の動きベクトルとして、当該サブブロックSUB_MB内の第2の代表画素位置の前記動きベクトルが用いられるというものである。
【0060】
【数4】
【0061】
このとき、マクロブロックMB内の第1の代表画素位置の動きベクトルMV以外の動きベクトルMVは、上記規則、並びに上記(4)に従ってマクロブロックMBの第1の代表画素位置の動きベクトルMVを基に生成される。
従って、動きベクトル生成回路34は、後述するように、上記所定の基準を満たすように、各マクロブロックMBの第1の代表画素位置の動きベクトルMVを検索する。
そして、動きベクトル生成回路34は、当該検索した当該第1の代表画素位置の動きベクトルを用いて上記式(4)に示す演算を行って、当該マクロブロックMB内の各サブブロックSUB_MBの第2の代表画素位置の動きベクトルMVを生成する。
【0062】
上記式(4)では、図9に示すように、マクロブロックMB1の第1の代表画素位置をs1とし、マクロブロックMB1に隣接する3つのマクロブロックMB2,MB3,MB3の第1の代表画素位置をそれぞれs2,s3,s4としている。
また、マクロブロックMB1内のサブブロックSUB_MBの第2の代表画素位置をsとし、フレーム画像データS23の第1の代表画素位置s1,s2,s3,s4の前記動きベクトルをそれぞれMV(s1),MV(s2),MV(s3),MV(s4)とし、フレーム画像データS23の第2の代表画素位置sの動きベクトルをMV(s)とし、wを画素位置を引数とする双1次関数である重み付け関数としている。
ここで、重み付け関数wは、マクロブロックMBのサイズを2m ×2n (m,nは整数)とした場合に、その値はk/2l (k,lは整数)となり、除算を行うことなく、シフト演算によって実現される。
【0063】
ここで、上記式(4)に示すように、各マクロブロックMBの第1の代表画素位置の動きベクトルMVは、隣接する3つのマクロブロックMBの第1の代表画素位置の動きベクトルMVに応じて決まる。従って、フレーム画像データS23内の全てのマクロブロックMBの第1の代表画素位置の動きベクトルMVを最適な値に収束させるためには、各マクロブロックMBの動きベクトルMVの生成演算を複数回行う必要がある。
そのため、動きベクトル生成回路34は、フレーム画像データS23に対応する全てのマクロブロックMBについての第1の代表画素位の動きベクトルMVの生成を、所定の基準を満たすまで繰り返し行う。
【0064】
以下、上記所定の基準の一例について説明する。
例えば、マクロブロックMB内の全ての画素位置に対応するフレーム画像データS23の画素データと、前記画素位置と当該画素位置の前記動きベクトルとを用いて得られる前記検索範囲内の画素位置に対応する参照フレーム画像データS31の全ての画素データとの差分に応じた値を当該マクロブロックMBブロックの残差エネルギーとした場合を考える。
この場合に、動きベクトル生成回路34は、図9〜図11に示す例では、マクロブロックMB1の残差エネルギーε1と、マクロブロックMB1の隣接するマクロブロックMB2,MB3,MV4の残差エネルギーε2,ε3,ε4との総和εが最小になることを上記所定の基準として、マクロブロックMB1の第1の代表画素位置s1の動きベクトルMV(s1)を検索する。
【0065】
ここで、図11に示すように、マクロブロックMB1の動きベクトルMV1が変化すると、マクロブロックMB1の残差エネルギーε1のみならず、マクロブロックMB2,MB3,MV4の残差エネルギーε2,ε3,ε4も変化する。すなわち、マクロブロックMB1,MB2,MB3,MB4の総和εは、下記式(5)のように、動きベクトルMV1の関数として規定できる。
【0066】
【数5】
【0067】
動きベクトル生成回路34は、上記式(5)の総和εを最小にする動きベクトルMV1を検索する。
【0068】
以下、動きベクトル生成回路34が、以下に示す第1の手法に基づいて、フレーム画像データ内の全てのマクロブロックMB(i,j)の第1の代表画素位置の動きベクトルMV(i,j)を生成する手順を説明する。
図12は、当該手順を説明するためのフローチャートである。
ステップST1:
動きベクトル生成回路34は、サブブロック分割回路33から入力したフレーム画像データS23内のマクロブロックMB(i,j)の第1の代表画素位置の動きベクトルMV(i,j)を0に初期化する。
また、動きベクトル生成回路34は、動きベクトルMV(i,j)の収束の有無を示す変数local_opt(i,j)、並びに動きベクトルの生成処理の繰り返し回数を示す変数itrを0に初期化する。
【0069】
ステップST2:
動きベクトル生成回路34は、変数itrをインクリメントする。
また、動きベクトル生成回路34は、全てのマクロブロックMB(i,j)の変数local_opt(i,j)が1を示し、全ての動きベクトルMV(i,j)が収束したかを判断する指標となる変数cout_checkを0に初期化する。
【0070】
動きベクトル生成回路34は、以下に示すステップST3〜S9の処理を、全てのマクロブロックMB(i,j)について行う。
【0071】
ステップST3:
動きベクトル生成回路34は、変数local_opt(i,j)が0を示すか否かを判断し、0を示すと判断した場合にはステップST4の処理に進み、そうでない場合(1を示す場合)には、次のマクロブロックMB(i,j)についてステップST3の処理を行う。
ステップST4:
動きベクトル生成回路34は、変数count_checkをインクリメントする。
ステップST5:
動きベクトル生成回路34は、動きベクトルMV_oldに、動きベクトルMV(i,j)を代入する。
ステップST6:
動きベクトル生成回路34は、図9〜図11を用いて前述した第1の手法で、当該マクロブロックMB(i,j)の第1の代表画素データの動きベクトルMV(i,j)を検索する。
【0072】
ステップST7:
動きベクトル生成回路34は、動きベクトルMV_oldと、ステップST6で検索した動きベクトルMV(i,j)とが一致するか否かを判断し、一致すると判断した場合にはステップST8の処理に進み、一致しないと判断した場合にはステップST9の処理に進む。
【0073】
ステップST8:
動きベクトル生成回路34は、変数local_opt(i,j)に1を設定する。
ステップST9:
動きベクトル生成回路34は、処理対象のマクロブロックMB(i,j)の周辺のマクロブロックMBの変数local_opt(i,j)に0を設定する。図9に示す例では、マクロブロックMB1の動きベクトルMV(s1)を生成している場合には、動きベクトル生成回路34は、マクロブロックMB1に隣接するマクロブロックMB2,MB3,MB4の変数local_opt(i,j)に0を設定する。
【0074】
ステップST10:
動きベクトル生成回路34は、全てのマクロブロックMB(i,j)について前述したステップST3〜ST9の処理が終了した後に、変数check_countが0であるか否かを判断し、0でないと判断した場合にはステップST11の処理に進み、0であると判断した場合には処理を終了する。
ステップST11:
動きベクトル生成回路34は、変数itrが所定の回数max_itrに達したか否かを判断し、達したと判断した場合には処理を終了し、そうでない場合にはステップST2の処理に戻る。
【0075】
上述したように、符号化装置2では、動きベクトル生成回路34におけるマクロブロックMB内の第1の代表画素位置の動きベクトルMVの検索を図9〜図12を用いて説明した第1の手法で行い、当該第1の代表画素位置の動きベクトルMVを用いて、サブブロックSUB_MBの第2の代表画素位置の動きベクトルMVを上記式(4)を基に算出することで、フレーム画像データS23と参照フレーム画像データS31との間でマクロブロックMB内の画像が回転、または拡大された場合でも、高い符号化効率を実現すると共に、高い画質を得ることができる。
また、符号化装置2では、動きベクトル生成回路34において、サブブロックSUB_MB内の第2の代表画素位置以外の画素位置の動きベクトルMVとして、第2の代表画素位置の動きベクトルMVを用いることで、全ての画素位置の動きベクトルMVを算出する場合に比べて演算量を大幅に削減できる。
【0076】
次に、図8に示す符号化装置2の全体動作を説明する。
入力となる画像信号は、まず、A/D変換回路22においてデジタル信号に変換される。次に、出力となる画像圧縮情報のGOP構造に応じ、画面並べ替え回路23においてフレーム画像データの並べ替えが行われる。
そして、イントラ符号化が行われるフレーム画像データに関しては、フレーム画像データ全体の画像情報が直交変換回路25に入力され、直交変換回路25において離散コサイン変換やカルーネン・レーベ変換等の直交変換が施される。
直交変換回路25の出力となる変換係数は、量子化回路26において量子化処理される。
量子化回路26の出力となる、量子化された変換係数は、可逆変換回路27に入力され、ここで可変長符号化、算術符号化等の可逆符号化が施された後、バッファ28に蓄積され、圧縮された画像データとして出力される。
量子化回路26における量子化レートは、レート制御回路32によって制御される。同時に、量子化回路26の出力となる、量子化された変換係数は、逆量子化回路29に入力され、さらに逆直交変換回路30において逆直交変換処理が施されて、復号されたフレーム画像データとなり、そのフレーム画像データがフレームメモリ31に蓄積される。
【0077】
一方、インター符号化が行われる画像に関しては、先ず、そのフレーム画像データS23が動き予測・補償回路35に入力される。また、参照フレーム画像データS31がフレームメモリ31より読み出され、動き予測・補償回路35に出力される。
そして、動き予測・補償回路35からサブブロック分割回路33に、フレーム画像データS23および参照フレーム画像データS31が出力される。
そして、サブブロック分割回路33において、マクロブロックMBを分割したサブブロックSUB_MBが規定され、当該分割の内容を示す分割データDIV、並びにフレーム画像データS23および参照フレーム画像データS31が動きベクトル生成回路34に出力される。
【0078】
そして、動きベクトル生成回路34において、図8〜図12を用いて説明した第1の手法により、マクロブロックMB内の各画素位置の動きベクトルMVが生成および決定され、当該動きベクトルMV、並びに分割データDIVが動き予測・補償回路35に出力される。
そして、動き予測・補償回路35において、参照フレーム画像データS31および動きベクトルMVを用いて、予測フレーム画像データS35aが生成される。
動き予測・補償回路35は、予測フレーム画像データS35aを演算回路24に出力する。
また、動き予測・補償回路35は、動きベクトルMVおよび必要に応じて分割データDIVを可逆符号化回路27に出力する。
【0079】
そして、演算回路24において、画面並べ替え回路23からのフレーム画像データと、動き予測・補償回路35からの予測フレーム画像データS35aとの差分信号である画像データS24が生成され、当該画像データS24が直交変換回路25に出力される。
そして、可逆符号化回路27において、動きベクトルMVおよび分割データDIVが可変長符号化あるいは算術符号化といった可逆符号化処理され、画像データのヘッダ部に挿入される。その他の処理はイントラ符号化を施される画像データと同様である。
【0080】
〔復号装置3〕
図13は、復号装置3の機能ブロック図である。
図13に示すように、復号装置3は、例えば、蓄積バッファ71、可逆復号化回路72、逆量子化回路73、逆直交変換回路74、演算回路75、画面並べ替え回路76、D/A変換回路77、フレームメモリ78、サブブロック分割回路79、動きベクトル生成回路80および動き予測・補償回路81を有する。
ここで、動きベクトル生成回路80が第13の発明の演算手段、並びに第15の発明の第1の演算手段に対応している。
また、可逆復号化回路72が第15の発明の復号手段に対応し、動き予測・補償回路81が第15の発明の第2の演算手段に対応し、動き予測・補償回路81が第15の発明の第2の演算手段に対応し、演算回路75が第15の発明の第3の演算手段に対応している。
【0081】
蓄積バッファ71は、図8に示す符号化装置2で符号化され、続いて変調されて送信された画像信号が受信され、当該画像信号が復調されると、当該復調によって得られたフレーム画像データを記憶する。
可逆復号化回路72は、蓄積バッファ71から入力したフレーム画像データに対して、可逆符号化回路27の符号化処理に対応する復号処理を行い、それによって得られた画像データを逆量子化回路73に出力し、当該復号処理で得られたマクロブロックMB内の第1の代表画素位置の動きベクトルMVおよび分割データDIVを動き予測・補償回路81に出力する。
なお、マクロブロックMBが予め決められたサブブロックSUB_MBで分割される場合には、可逆復号化回路72から動き予測・補償回路81に分割デ−タDIVは出力されない。
【0082】
逆量子化回路73は、可逆復号化回路72から入力した画像データを逆量子化して逆直交変換回路74に出力する。
逆直交変換回路74は、逆量子化回路73から入力した画像データに、図8に示す直交変換回路25の直交変換処理に対応する逆直交変換処理を施し、それによって得られたフレーム画像データS74を演算回路75に出力する。
【0083】
演算回路75は、逆直交変換回路74からのフレーム画像データS74と、動き予測・補償回路81からの予測フレーム画像データS81とを加算してフレーム画像データS75を生成し、これを画面並べ替え回路76およびフレームメモリ78に出力する。
画面並べ替え回路76は、フレーム画像データS75を表示順に並べ替えてD/A変換回路77に出力する。
D/A変換回路77は、画面並べ替え回路76から入力したデジタルのフレーム画像データをアナログの画像信号に変換して出力する。
【0084】
フレームメモリ78は、フレーム画像データS75を参照フレーム画像データとして記憶する。
サブブロック分割回路79は、動き予測・補償回路81から動きベクトルMV、分割データDIVおよび参照フレーム画像データS78を入力し、分割データDIVに基づいて、参照フレーム画像データS78のマクロブロックMBを、図8に示すサブブロック分割回路33で行った場合と同じサブブロックSUB_MBに分割する。
動きベクトル生成回路80は、サブブロック分割回路79における分割結果に基づいて、サブブロック分割回路79から入力した各マクロブロックMBの第1の代表画素位置の動きベクトルMVを用いて、上記式(4)の演算を行い、各サブブロックSUB_MBの第2の代表画素位置の動きベクトルMVを算出する。また、動きベクトル生成回路80は、各サブブロックSUB_MB内の第2の代表画素位置以外の画素位置の動きベクトルとして、当該サブブロックSUB_MB内の第2の代表画素位置の動きベクトルを用いる。
そして、動きベクトル生成回路80は、上述したように生成および決定した各マクロブロックMB内の各画素位置の動きベクトルMVを動き予測・補償回路81に出力する。
【0085】
動き予測・補償回路80は、フレームメモリ78から読み出されたフレーム画像データS23と、動きベクトル生成回路80から入力した動きベクトルMVとを用いて、予測フレーム画像データS81を生成し、これを演算回路75に出力する。
【0086】
以下、復号装置3の全体動作例を説明する。
復号装置3では、入力となる画像データがバッファ71に格納された後、可逆復号回路72に出力される。
そして、可逆復号回路72において、定められた画像圧縮情報のフォーマットに基づき、可変長復号化、算術復号化等の処理が行われる。同時に、当該フレームがインター符号化されたものである場合には、可逆復号回路72において、画像信号のヘッダ部に格納された第1の代表画素位置の動きベクトルMVも復号され、その動きベクトルMVが動き予測・補償装置81に出力される。
【0087】
可逆復号回路72の出力となる、量子化された変換係数は、逆量子化回路73に入力され、ここで変換係数が生成される。当該変換係数には、逆直交変換回路74において、定められた画像圧縮情報のフォーマットに基づき、逆離散コサイン変換や逆カルーネン・レーベ変換等の逆直交変換が施される。当該フレーム画像データがイントラ符号化されたものである場合には、逆直交変換処理が施されたフレーム画像データは画面並べ替え回路76に格納され、D/A変換回路77によるD/A変換処理を経て出力される。
一方、当該フレームがインター符号化されたものである場合には、動き予測・補償回路81からサブブロック分割回路79に、参照フレーム画像データS78、第1の代表画素位置の動きベクトルMVおよび分割データDIVが出力される。
そして、サブブロック分割回路79において、分割データDIVに基づいて、参照フレーム画像データS78のマクロブロックMBがサブブロックSUB_MBに分割される。
そして、動きベクトル生成回路80が、サブブロック分割回路79における分割結果に基づいて、サブブロック分割回路79から入力した各マクロブロックMBの第1の代表画素位置の動きベクトルMVを用いて、上記式(4)の演算を行い、各サブブロックSUB_MBの第2の代表画素位置の動きベクトルMVを算出する。また、動きベクトル生成回路80が、各サブブロックSUB_MB内の第2の代表画素位置以外の画素位置の動きベクトルとして、当該サブブロックSUB_MB内の第2の代表画素位置の動きベクトルを用いる。
そして、動きベクトル生成回路80は、上述したようにして生成した各マクロブロックMB内の各画素位置の動きベクトルMVを動き予測・補償回路81に出力する。
【0088】
動き予測・補償回路80そして、フレームメモリ78から読み出された参照フレーム画像データS78と、動きベクトル生成回路80から入力した動きベクトルMVとを用いて、予測フレーム画像データS81を生成し、これを演算回路75に出力する。
【0089】
以上説明したように、復号装置3によれば、符号化装置2によって符号化されたフレーム画像データを適切に復号することができる。
【0090】
第2実施形態
上述した実施形態では、符号化装置2の動きベクトル生成回路34がフレーム画像データS23および参照フレーム画像データS31をそのまま用いて、マクロブロックMB内の第1の代表画素位置の動きベクトルMVの検索を行う場合を説明したが、本実施形態では、その他の検索方法を説明する。
図14は、当該実施形態における動きベクトル生成回路34の動きベクトルMVの探索方法を説明するための図である。
動きベクトル生成回路34は、フレーム画像データS23および参照フレーム画像データS31の各々を、水平方向および垂直方法のそれぞれに対して1/2に画素データをダウンサンプリング(間引き処理)してフレーム画像データFLS23_1および参照フレーム画像データS31_1を生成する。
また、動きベクトル生成回路34は、フレーム画像データS23_1および参照フレーム画像データS31_1の各々を、水平方向および垂直方法のそれぞれに対して1/2に画素データをダウンサンプリングしてフレーム画像データS23_2および参照フレーム画像データS31_2を生成する。
【0091】
そして、動きベクトル生成回路34は、フレーム画像データS23_2および参照フレーム画像データS31_2を用いて第1実施形態で説明した第1の手法で各マクロブロックMBの第1の代表画素位置の動きベクトルMV_2の第1の検索を行う。
そして、動きベクトル生成回路34は、フレーム画像データS23_1および参照フレーム画像データS31_1を用いて、参照フレーム画像データS31_1内の画素データのうち、上記第1の検索によって得られた動きベクトルMV_2によって規定される範囲、並びにその周辺数画素位置の範囲内の画素データを対象として動きベクトルMV_1の第2の検索を行う。
そして、フレーム画像データS23および参照フレーム画像データS31を用いて、参照フレーム画像データS31内の画素データのうち、上記第2の検索によって得られた動きベクトルMV_1によって規定される範囲、並びにその周辺数画素位置の範囲内の画素データを対象とし動きベクトルMVの第3の検索を行う。
【0092】
上述したように、動きベクトル生成回路34において、動きベクトルMVの検索を階層的に行うことで、動きベクトルMVの検索範囲を小さくでき、動きベクトルMVの検索を少ない演算量で高精度に行うことができる。
【0093】
上述した実施形態では、動きベクトルMVを3階層で行う場合を例示したが、2階層以上であれば、その他の階層数を用いてもよい。
また、上述した実施形態では、間引き処理において、水平方向および垂直方向にそれぞれ1/2に画素データを間引く場合を例示したが、その他の間引き率を用いてもよい。
【0094】
第3実施形態
本実施形態は、第5〜第8、並びに、第17〜第20の発明に対応した実施形態である。
上述した第1実施形態では、図8に示す動きベクトル生成回路34が、マクロブロックMB内の第1の代表画素位置の動きベクトルMVの生成を、図12に示すステップST6に示すように、前述した第1の手法で行う場合を例示した。
図15は、本実施形態の符号化装置102の機能ブロック図である。
図15において、図8と同じ符号を付した構成要素は第1実施形態で説明したものと同じである。
符号化装置102では、図15に示す動きベクトル生成回路134が、上述した第1の手法と、以下に示す第2の手法とによって得られた動きベクトルMVのうち、フレーム画像データS23の符号化効率をより高くできる動きベクトルMVを選択する。
【0095】
当該第2の手法は、いわゆるブロックマッチング法であり、マクロブロックMB内の全ての画素位置において同じ動きベクトルMVを用いるという規則(本発明の第2の規則)に基づいて、マクロブロックMBの各画素位置に対応するフレーム画像データS23の画素データと、当該画素位置と当該画素位置の動きベクトルMVとを用いて得られる画素位置に対応する参照フレーム画像データS31の画素データとの差分が所定の基準を満たすように、当該マクロブロックMBの動きベクトルMVを検索する。
【0096】
図16および図17は、図15に示す符号化装置102の動きベクトル生成回路134における第1の代表画素位置の動きベクトルMVの生成処理を説明するためのフローチャートである。
図16および図17において、図12と同じ符号を付したものは、第1実施形態で説明したものと同じである。
動きベクトルMV_CGI(i,j)は上記第1の手法で検索した第1の代表画素位置の動きベクトルMVである。
動きベクトルMV_BMA(i,j)は上記第2の手法で検索した第1の代表画素位置の動きベクトルMVである。
【0097】
ステップST21:
動きベクトル生成回路134は、サブブロック分割回路33から入力したフレーム画像データS23のマクロブロックMB(i,j)の第1の代表画素位置の動きベクトルMV_BMA(i,j),MV_CGI(i,j)を0に初期化する。
また、動きベクトル生成回路134は、第1の代表画素位置の動きベクトルMVが第1の手法および第2の手法の何れの手法で検索されたかを示す識別データlabel(i,j)(本発明の識別データ)を1に初期化する。
また、動きベクトル生成回路134は、動きベクトルMV(i,j)の収束の有無を示す変数local_opt(i,j)、並びに動きベクトルの生成処理の繰り返し回数を示す変数itrを0に初期化する。
【0098】
ステップST22:
動きベクトル生成回路134は、変数itrをインクリメントする。
また、動きベクトル生成回路134は、全てのマクロブロックMB(i,j)の変数local_opt(i,j)が1を示し、全ての動きベクトルMV(i,j)が収束したかを判断する指標となる変数cout_checkを0に初期化する。
【0099】
動きベクトル生成回路134は、以下に示すステップST23〜ST31の処理を、全てのマクロブロックMB(i,j)について行う。
【0100】
ステップST23:
動きベクトル生成回路134は、変数local_opt(i,j)が0を示すか否かを判断し、0を示すと判断した場合にはステップST24の処理に進み、そうでない場合(1を示す場合)には、次のマクロブロックMB(i,j)についてステップST23の処理を行う。
ステップST24:
動きベクトル生成回路134は、変数count_checkをインクリメントする。
ステップST25:
動きベクトル生成回路134は、処理対象のマクロブロックMB(i,j)について、当該マクロブロックMB(i,j)の第1の代表画素位置の動きベクトルMV(i,j)の検索を、前述した第1の手法および第2の手法の双方で行う。
そして、動きベクトル生成回路134は、第1の手法で検索した動きベクトルMV_CGIを用いた場合のフレーム画像データS23の当該マクロブロックMBの符号化効率CGI_DIFを求める。
動きベクトル生成回路134は、第2の手法で検索した動きベクトルMV_BMAを用いた場合のフレーム画像データS23の当該マクロブロックMBの符号化効率BMA_DIFを求める。
【0101】
ステップST26:
動きベクトル生成回路134は、ステップST25で求めた符号化効率CGI_IFが、BMA_DIFより大きいか否かを判断し、大きいと判断した場合にはステップST27の処理に進み、そうでない場合にはステップST28の処理に進む。
ステップST27:
動きベクトル生成回路134は、動きベクトルMV(i,j)として第2の手法で検索した動きベクトルMV_BMA(i,j)を設定する。
また、当該マクロブロックMB(i,j)の識別データ(i,j)に0を設定する。
ステップST28:
動きベクトル生成回路134は、動きベクトルMV(i,j)として第1の手法で検索した動きベクトルMV_CGI(i,j)を設定する。
また、当該マクロブロックMB(i,j)の識別データlabel(i,j)に1を設定する。
【0102】
ステップST29:
動きベクトル生成回路134は、ステップST27あるいはST28で設定した動きベクトルMV(i,j)および識別データlabel(i,j)が共に前回の設定値と同じであるか否かを判断し、同じであると判断した場合にはステップST30の処理に進み、異なると判断した場合にはステップST31の処理に進む。
ステップST30:
動きベクトル生成回路134は、変数local_opt(i,j)に1を設定する。
ステップST31:
動きベクトル生成回路134は、処理対象のマクロブロックMB(i,j)の周辺のマクロブロックMBの変数local_opt(i,j)に0を設定する。
ステップST32:
動きベクトル生成回路134は、全てのマクロブロックMB(i,j)について前述したステップST23〜ST31の処理が終了した後に、変数check_countが0であるか否かを判断し、0でないと判断した場合にはステップST33の処理に進み、0であると判断した場合には処理を終了する。
ステップST33:
動きベクトル生成回路134は、変数itrが所定の回数max_itrに達したか否かを判断し、達したと判断した場合には処理を終了し、そうでない場合にはステップST22の処理に戻る。
【0103】
図15に示す符号化装置102は、動きベクトル生成回路134において生成された識別データlabel(i,j)が、動き予測・補償回路35を会して可逆符号化回路27に出力され、フレーム画像データのヘッダデータなどに格納される。
【0104】
図18は、図15に示す符号化装置102で符号化されたフレーム画像データを復号する復号装置103の機能ブロック図である。
図18において、図13と同じ符号を付した構成要素は第1実施形態で説明したものと同じである。
復号装置103は、可逆復号化回路72において、フレーム画像データ、並びに当該フレーム画像データのヘッダデータに格納された第1の代表画素位置の動きベクトルMV、分割データDIV、並びに識別データlabel(i,j)が復号されて動き予測・補償回路81に出力される。
動き予測・補償回路81は、参照フレーム画像データS78、第1の代表画素位置の動きベクトルMV、分割データDIVおよび識別データlabel(i,j)をサブブロック分割回路79に出力する。
動きベクトル生成回路180では、識別データlabel(i,j)に基づいて、処理対象のマクロブロックMBの動きベクトルMVが上記第1の手法を用いて生成された場合に、上記式(4)に基づいて、第1の代表画素位置の動きベクトルMVを用いて、当該マクロブロックMB内のその他の画素位置の動きベクトルMVを生成する。
また、動きベクトル生成回路180では、識別データlabel(i,j)に基づいて、処理対象のマクロブロックMBの動きベクトルMVが上記第2の手法を用いて生成された場合に、第1の代表画素位置の動きベクトルMVを、当該マクロブロックMB内のその他の画素位置の動きベクトルMVとする。
動きベクトル生成回路180は、このように生成した動きベクトルMVを動き予測・補償回路81に出力する。
【0105】
以上説明したように、符号化装置102によれば、第1の手法と第2の手法で生成した動きベクトルMVのうち、より高い符号化効率を実現する動きベクトルMVを選択するため、例えば、画像に回転や拡大がない場合などに、比較的少ない演算で、第1実施形態の符号化装置2よりも高い符号化効率を実現できる。
また、復号装置103によれば、符号化装置102によって符号化されたフレーム画像データを適切に復号することができる。
【0106】
第4実施形態
上述した第3実施形態では、符号化装置102の動きベクトル生成回路134がフレーム画像データS23および参照フレーム画像データS31をそのまま用いて、マクロブロックMB内の第1の代表画素位置の動きベクトルMVの検索を行う場合を説明したが、本実施形態では、その他の検索方法を説明する。
図19は、当該実施形態における動きベクトル生成回路134の動きベクトルMVの探索方法を説明するための図である。
動きベクトル生成回路134は、フレーム画像データS23および参照フレーム画像データS31の各々を、水平方向および垂直方法のそれぞれに対して1/2に画素データをダウンサンプリング(間引き処理)してフレーム画像データFLS23_1および参照フレーム画像データS31_1を生成する。
また、動きベクトル生成回路34は、フレーム画像データS23_1および参照フレーム画像データS31_1の各々を、水平方向および垂直方法のそれぞれに対して1/2に画素データをダウンサンプリングしてフレーム画像データS23_2および参照フレーム画像データS31_2を生成する。
【0107】
そして、動きベクトル生成回路134は、フレーム画像データS23_2および参照フレーム画像データS31_2を用いて第1および第3の実施形態で説明した第1の手法で各マクロブロックMBの第1の代表画素位置の動きベクトルMV_2_CGIの第1の検索を行う。
また、動きベクトル生成回路134は、フレーム画像データS23_2および参照フレーム画像データS31_2を用いて第3の実施形態で説明した第2の手法で各マクロブロックMBの第1の代表画素位置の動きベクトルMV_2_BMAの第1の検索を行う。
【0108】
そして、動きベクトル生成回路134は、フレーム画像データS23_1および参照フレーム画像データS31_1を用いて、参照フレーム画像データS31_1内の画素データのうち、上記第1の検索によって得られた動きベクトルMV_2_CGIによって規定される範囲、並びにその周辺数画素位置の範囲内の画素データを対象として上記第1の手法で動きベクトルMV_1_CGIの第2の検索を行う。
また、動きベクトル生成回路134は、フレーム画像データS23_1および参照フレーム画像データS31_1を用いて、参照フレーム画像データS31_1内の画素データのうち、上記第1の検索によって得られた動きベクトルMV_2_BMAによって規定される範囲、並びにその周辺数画素位置の範囲内の画素データを対象として上記第1の手法で動きベクトルMV_1_MBAの第2の検索を行う。
【0109】
動きベクトル生成回路134は、フレーム画像データS23および参照フレーム画像データS31を用いて、参照フレーム画像データS31内の画素データのうち、上記第2の検索によって得られた動きベクトルMV_1_CGI,MV_1_BMAによって規定される範囲、並びにその周辺数画素位置の範囲内の画素データを対象とし、図16および図17を用いて説明した手法で動きベクトルMVの第3の検索を行う。
【0110】
上述したように、動きベクトル生成回路134において、動きベクトルMVの検索を階層的に行うことで、動きベクトルMVの検索範囲を小さくでき、動きベクトルMVの検索を少ない演算量で高精度に行うことができる。
【0111】
上述した実施形態では、動きベクトルMVを3階層で行う場合を例示したが、2階層以上であれば、その他の階層数を用いてもよい。
また、上述した実施形態では、間引き処理において、水平方向および垂直方向にそれぞれ1/2に画素データを間引く場合を例示したが、その他の間引き率を用いてもよい。
【0112】
第5実施形態
上述した第1実施形態では、図9に示すように、マクロブロックMBを、それぞれ4×4画素位置のサブブロックSUB_MBに分割した場合を例示したが、n,mが少なくとも一つが2以上の整数である場合に、マクロブロックMBをn×m画素位置のサブブロックSUB_MBに分割してもよい。
また、nとmは異なる整数であってもよい。
さらに、図20に示すように、マクロブロックMBを、異なるサイズのサブブロックSUB_MBに分割してもよい。
この場合には、サブブロックSUB_MBのサイズを示すサイズデータが、可逆符号化回路27に出力されて符号化され、可逆符号化回路27から出力される対応する画像データに関連付けられる。
【0113】
第6実施形態
上述した第3実施形態では、動きベクトル生成の対象となるマクロブロックMBおよびそれに隣接するマクロブロックMBの残差エネルギーを、マクロブロックMBの全ての画素位置の画素データを対象として算出する場合を例示した。
本実施形態では、“New Fast Algorithms for theEstimation of Block Motion Vectors”(B.Liu and A.Zaccarin,IEEE Trans. onCircuit and Systems for Video Tech.vol 3, No.2, April 1993)に基づいて、第2の手法で、動きベクトルMVの探索の動きベクトル情報を探索する際に、マクロブロックMB内全ての画素位置の画素データではなく、図21に示すように、半分の画素を用いて残差エネルギーの算出を行ってもよい。
この残差エネルギーの算出方法を、例えば、図19を用いて説明したいずれかの階層での動きベクトルの検索に適用してもよい。
【0114】
第7実施形態
本実施形態は、第9および第10の発明に対応した実施形態である。
上述した本実施形態の動きベクトルMVの検索および生成方法を、動き予測・補償を用いたフレームレートアップコンバート装置などの画像補間装置に適用してもよい。
図22は、本実施形態の画像補間装置201の機能ブロック図である。
図22に示すように、画像補間装置201は、例えば、サブブロック分割回路33、動きベクトル生成回路34、動き予測回路253、フレームメモリ231、補間画像生成回路250、遅延バッファ251およびセレクタ252を有する。
ここで、動きベクトル生成回路34が第9の発明の演算手段に対応し、補間画像生成回路250が第9の発明の画像生成手段に対応している。
サブブロック分割回路33および動きベクトル生成回路34は、例えば、第1実施形態で説明したものと同じである。
サブブロック分割回路33および動きベクトル生成回路34は、入力したn[Hz] の画像信号内のフレーム画像データと、それより時間的に前に入力してフレームメモリ23に蓄積された参照フレーム画像データとを用いて、第1実施形態で説明した方法で動きベクトルMVの探索および生成を行う。
図6に示す例では、フレームメモリ23に蓄積された、時刻tにおけるフレーム画像データFLAME1、及び時刻t+2δtにおけるフレーム画像データFLAME2との間で動きベクトルMVの探索が行われる。
そして、補間画像生成回路253において、この動きベクトル情報MVを用いて、時刻t+δtにおける補間フレーム画像データの生成が行われる。このように生成された補間フレーム画像データFLAME_INTERは、遅延バッファ251に蓄積される。
セレクタ252は、フレーム画像データFLMAE1と補間フレーム画像データFLAME_INTERとを、一定のタイミングでセレクタ252で選択して、m[ Hz] (m>n)の画像信号を出力する。
【0115】
なお、当該実施形態では、入力したフレーム画像データ間に時間的に位置する1個の補間フレーム画像データを生成および配置する場合を例示したが、当該間に2個以上の補間フレーム画像データを生成および配置してもよい。
【0116】
なお、本発明の第11および第12の発明に対応して、図22に示す動きベクトル生成回路34の代わりに、図15を用いて説明した動きベクトル生成回路134を用いてもよい。
【0117】
【発明の効果】
本発明によれば、従来に比べて少ない演算量で、比較的高い符号化効率を提供する動きベクトルを生成できる画像処理装置、符号化装置およびそれらの方法を提供できる。
また、本発明によれば、これらの画像処理装置、符号化装置およびそれらの方法による符号化に対応した復号に用いられる画像処理装置、復号装置およびそれらの方法を提供できる。
【図面の簡単な説明】
【図1】図1は、本発明の関連技術に係わる符号化装置の機能ブロック図である。
【図2】図2は、図1に示す動き予測・補償回路のおける動きベクトルの生成処理を説明するための図である。
【図3】図3は、図2に示す動きベクトル生成処理に用いられる種々の手法を説明するための図である。
【図4】図4は、本発明の関連技術に係わる復号装置の機能ブロック図である。
【図5】図5は、本発明の関連技術に係わる画像補間装置の機能ブロック図である。
【図6】図6は、図5に示す画像補間装置の処理を説明するための図である。
【図7】図7は、本発明の第1実施形態の通信システムの概念図である。
【図8】図8は、本発明の第1実施形態に係わる符号化装置の機能ブロック図である。
【図9】図9は、図8に示す動きベクトル生成回路における動きベクトルの生成処理を説明するための図である。
【図10】図10は、図8に示す動きベクトル生成回路における動きベクトルの生成処理を説明するための図である。
【図11】図11は、図8に示す動きベクトル生成回路における動きベクトルの生成処理を説明するための図である。
【図12】図12は、図8に示す動きベクトル生成回路における動きベクトルの生成処理のフローチャートである。
【図13】図13は、図1に示す復号装置の機能ブロック図である。
【図14】図14は、本発明の第2実施形態の符号化装置における動きベクトル生成処理を説明するための図である。
【図15】図15は、本発明の第3実施形態に係わる符号化装置の機能ブロック図である。
【図16】図16は、図15に示す動きベクトル生成回路における動きベクトルの生成処理のフローチャートである。
【図17】図17は、図15に示す動きベクトル生成回路における動きベクトルの生成処理の図16の続きのフローチャートである。
【図18】図18は、本発明の第3実施形態の復号装置の機能ブロック図である。
【図19】図19は、本発明の第4実施形態の符号化装置を説明するための図である。
【図20】図20は、本発明の第5実施形態を説明するための図である。
【図21】図21は、本発明の第6実施形態を説明するための図である。
【図22】図22は、本発明の第7実施形態を説明するための図である。
【符号の説明】
1…通信システム、2…符号化装置、3…復号装置、22…A/D変換回路、23…画面並べ替え回路、24…演算回路、25…直交変換回路、26…量子化回路、27…可逆符号化回路、28…バッファ、29…逆量子化回路、30…逆直交変換回路、31…フレームメモリ、32…レート制御回路、33…サブブロック分割回路、34,134…動きベクトル生成回路、35…動き予測・補償回路、71…バッファ、72…可逆復号化回路、73…逆量子化回路、74…逆直交変換回路、75…演算回路、76…画像並べ替え回路、77…D/A変換回路、78…フレームメモリ、79…サブブロック分割回路、80,180…動きベクトル生成回路、201…画像補間装置2、231…フレームメモリ、250…補間画像生成回路、251…遅延バッファ、252…セレクタ、253…動き予測回路
Claims (12)
- 複数の画素位置を含む所定のサイズのブロックが規定されている場合に、第1の画像データを前記ブロック内の複数の画素位置の画素データを単位として処理し、前記第1の画像データの前記ブロック内の画素位置の動きベクトルを、第2の画像データを基に生成する画像処理装置において、
前記ブロック、並びに当該ブロックに隣接する前記ブロック内の第1の代表画素位置の動きベクトルを用いた所定の演算によって前記ブロック内のサブブロックの第2の代表画素位置の動きベクトルを規定し、前記サブブロック内の前記第2の代表画素位置の前記動きベクトルを当該サブブロック内の前記第2の代表画素位置以外の画素位置の動きベクトルとして用いるという規則がある場合に、
前記ブロック内の画素位置に対応する前記第1の画像データの画素データと、当該画素位置と当該画素位置の前記動きベクトルとを用いて得られる画素位置に対応する前記第2の画像データの画素データとの差分に応じた値が所定の基準を満たすように、前記ブロック内の前記第1の代表画素位置の前記動きベクトルを前記規則に従って検索し、当該第1の代表画素位置の動きベクトルを用いて前記演算を行って前記第2の代表画素位置の前記動きベクトルを生成する演算手段
を有する画像処理装置。 - 前記演算手段は、前記第1の画像データに対応する全てのブロックについての前記第1の代表画素位置の前記動きベクトルが収束するまで、あるいは所定の回数、前記第1の代表画素位置の前記動きベクトルの検索を繰り返して行う
請求項1に記載の画像処理装置。 - 前記演算手段は、前記第2の画像データ内の所定の検索範囲内の画素位置の画素データを対象として、前記ブロック内の画素位置に対応する前記第1の画像データの画素データとの間の前記差分が前記所定の基準を満たす画素データを検索して前記動きベクトルの検索を行う
請求項1に記載の画像処理装置。 - 前記演算手段は、前記ブロック内の全ての画素位置に対応する前記第1の画像データの画素データと、前記画素位置と当該画素位置の前記動きベクトルとを用いて得られる前記検索範囲内の画素位置に対応する前記第2の画像データの全ての画素データとの差分に応じた値を当該ブロックの残差エネルギーとした場合に、前記動きベクトルの生成を行うブロックの残差エネルギーと、当該ブロックに隣接するブロックの残差エネルギーとの総和が最小になることを前記所定の基準として、前記第1の代表画素位置の前記動きベクトルを検索する
請求項1に記載の画像処理装置。 - 前記第1の画像データおよび前記第2の画像データの間引き処理を行う間引き手段
をさらに有し、
前記演算手段は、前記間引き手段で間引き処理された前記第1の画像データおよび前記第2の画像データを対象として前記動きベクトルの第1の検索を行い、前記間引き処理される前の前記2の画像データ内の画素データのうち、前記第1の検索によって得られた前記動きベクトルによって規定される範囲、並びにその周辺数画素位置の範囲内の画素データを対象として前記動きベクトルを検索する
請求項1に記載の画像処理装置。 - 複数の画素位置を含む所定のサイズのブロックが規定されている場合に、第1の画像データを前記ブロック内の複数の画素位置の画素データを単位として処理し、前記第1の画像データの前記ブロック内の画素位置の動きベクトルを、第2の画像データを基に生成する画像処理方法において、
前記ブロック、並びに当該ブロックに隣接する前記ブロック内の第1の代表画素位置の動きベクトルを用いた所定の演算によって前記ブロック内のサブブロックの第2の代表画素位置の動きベクトルを規定し、前記サブブロック内の前記第2の代表画素位置の前記動きベクトルを当該サブブロック内の前記第2の代表画素位置以外の画素位置の動きベクトルとして用いるという規則がある場合に、
前記ブロック内の画素位置に対応する前記第1の画像データの画素データと、当該画素位置と当該画素位置の前記動きベクトルとを用いて得られる画素位置に対応する前記第2の画像データの画素データとの差分に応じた値が所定の基準を満たすように、前記ブロック内の前記第1の代表画素位置の前記動きベクトルを前記規則に従って検索する第1の工程と、
前記第1の代表画素位置の動きベクトルを用いて前記演算を行って前記第2の代表画素位置の前記動きベクトルを生成する第2の工程と
を有する画像処理方法。 - 複数の画素位置を含む所定のサイズのブロックが規定されている場合に、第1の画像データを前記ブロック内の複数の画素位置の画素データを単位として処理し、前記第1の画像データの前記ブロック内の画素位置の動きベクトルを、第2の画像データを基に生成する符号化装置であって、
前記ブロック、並びに当該ブロックに隣接する前記ブロック内の第1の代表画素位置の動きベクトルを用いた所定の演算によって前記ブロック内のサブブロックの第2の代表画素位置の動きベクトルを規定し、前記サブブロック内の前記第2の代表画素位置の前記動きベクトルを当該サブブロック内の前記第2の代表画素位置以外の画素位置の動きベクトルとして用いるという規則がある場合に、
前記ブロック内の画素位置に対応する前記第1の画像データの画素データと、当該画素位置と当該画素位置の前記動きベクトルとを用いて得られる画素位置に対応する前記第2の画像データの画素データとの差分に応じた値が所定の基準を満たすように、前記ブロック内の前記第1の代表画素位置の前記動きベクトルを前記規則に従って検索し、当該第1の代表画素位置の動きベクトルを用いて前記演算を行って前記第2の代表画素位置の前記動きベクトルを生成する第1の演算手段と、
前記第1の演算手段が生成した前記動きベクトルと前記第2の画像データとを用いて第3の画像データを生成する第2の演算手段と、
前記第1の画像データと、前記第3の画像データとの差分を示す第4の画像データを符号化する符号化手段と
を有する符号化装置。 - 複数の画素位置を含む所定のサイズのブロックが規定されている場合に、第1の画像データを前記ブロック内の複数の画素位置の画素データを単位として処理し、前記第1の画像データの前記ブロック内の画素位置の動きベクトルを、第2の画像データを基に生成する符号化方法であって、
前記ブロック、並びに当該ブロックに隣接する前記ブロック内の第1の代表画素位置の動きベクトルを用いた所定の演算によって前記ブロック内のサブブロックの第2の代表画素位置の動きベクトルを規定し、前記サブブロック内の前記第2の代表画素位置の前記動きベクトルを当該サブブロック内の前記第2の代表画素位置以外の画素位置の動きベクトルとして用いるという規則がある場合に、
前記ブロック内の画素位置に対応する前記第1の画像データの画素データと、当該画素位置と当該画素位置の前記動きベクトルとを用いて得られる画素位置に対応する前記第2の画像データの画素データとの差分に応じた値が所定の基準を満たすように、前記ブロック内の前記第1の代表画素位置の前記動きベクトルを前記規則に従って検索する第1の工程と、
前記第1の代表画素位置の動きベクトルを用いて前記演算を行って前記第2の代表画素位置の前記動きベクトルを生成する第2の工程と、
前記第1の工程で検索および前記第2の工程で生成された前記動きベクトルと前記第2の画像データとを用いて第3の画像データを生成する第3の工程と、
前記第1の画像データと、前記第3の画像データとの差分を示す第4の画像データを符号化する第4の工程と
を有する符号化方法。 - 複数の画素位置を含む所定のサイズのブロックが規定されており、第1の画像データを前記ブロック内の複数の画素位置の画素データを単位として画像処理を行い、前記ブロック内の第1の代表画素位置の動きベクトルを用いて当該ブロック内の他の画素位置の動きベクトルを生成する画像処理装置であって、
前記ブロック、並びに当該ブロックに隣接する前記ブロック内の第1の代表画素位置の動きベクトルを用いた所定の演算によって前記ブロック内のサブブロックの第2の代表画素位置の動きベクトルを生成し、
前記サブブロック内の前記第2の代表画素位置の前記動きベクトルを、当該サブブロック内の前記第2の代表画素位置以外の画素位置の動きベクトルとする
演算手段
を有する画像処理装置。 - 複数の画素位置を含む所定のサイズのブロックが規定されており、第1の画像データを前記ブロック内の複数の画素位置の画素データを単位として画像処理を行い、前記ブロック内の第1の代表画素位置の動きベクトルを用いて当該ブロック内の他の画素位置の動きベクトルを生成する画像処理方法であって、
前記ブロック、並びに当該ブロックに隣接する前記ブロック内の第1の代表画素位置の動きベクトルを用いた所定の演算によって前記ブロック内のサブブロックの第2の代表画素位置の動きベクトルを生成し、前記サブブロック内の前記第2の代表画素位置の前記動きベクトルを、当該サブブロック内の前記第2の代表画素位置以外の画素位置の動きベクトルとする工程
を有する画像処理方法。 - 複数の画素位置を含む所定のサイズのブロックが規定されており、第1の画像データを前記ブロック内の複数の画素位置の画素データを単位として画像処理を行い、前記ブロック内の第1の代表画素位置の動きベクトルを用いて当該ブロック内の他の画素位置の動きベクトルを生成し、当該動きベクトルを用いて復号を行う復号装置であって、
画像データおよび動きベクトルを復号して前記第1の画像データおよび前記第1の代表画素位置の前記動きベクトルを生成する復号手段と、
前記ブロック、並びに当該ブロックに隣接する前記ブロック内の第1の代表画素位置の前記復号手段で復号された前記動きベクトルを用いた所定の演算によって前記ブロック内のサブブロックの第2の代表画素位置の動きベクトルを生成し、前記サブブロック内の前記第2の代表画素位置の前記動きベクトルを、当該サブブロック内の前記第2の代表画素位置以外の画素位置の動きベクトルとする第1の演算手段と、
前記第1の演算手段で得た前記動きベクトルおよび第2の画像データを用いて第3の画像データを生成する第2の演算手段と、
前記第1の画像データと前記第3の画像データを用いて第4の画像データを生成する第3の演算手段と
を有する復号装置。 - 複数の画素位置を含む所定のサイズのブロックが規定されており、第1の画像データを前記ブロック内の複数の画素位置の画素データを単位として画像処理を行い、前記ブロック内の第1の代表画素位置の動きベクトルを用いて当該ブロック内の他の画素位置の動きベクトルを生成し、当該動きベクトルを用いて復号を行う復号方法であって、
画像データおよび動きベクトルを復号して前記第1の画像データおよび前記第1の代表画素位置の前記動きベクトルを生成する第1の工程と、
前記ブロック、並びに当該ブロックに隣接する前記ブロック内の第1の代表画素位置の前記第1の工程で復号された前記動きベクトルを用いた所定の演算によって前記ブロック内のサブブロックの第2の代表画素位置の動きベクトルを生成し、前記サブブロック内の前記第2の代表画素位置の前記動きベクトルを、当該サブブロック内の前記第2の代表画素位置以外の画素位置の動きベクトルとする第2の工程と、
前記第1の工程および前記第2の工程で得られた前記動きベクトルおよび第2の画像データを用いて第3の画像データを生成する第3の工程と、
前記第1の画像データと前記第3の画像データを用いて第4の画像データを生成する第4の工程と
を有する復号方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002347390A JP4039221B2 (ja) | 2002-07-16 | 2002-11-29 | 画像処理装置、符号化装置、復号装置およびそれらの方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002207484 | 2002-07-16 | ||
JP2002347390A JP4039221B2 (ja) | 2002-07-16 | 2002-11-29 | 画像処理装置、符号化装置、復号装置およびそれらの方法 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004104746A JP2004104746A (ja) | 2004-04-02 |
JP2004104746A5 JP2004104746A5 (ja) | 2006-01-19 |
JP4039221B2 true JP4039221B2 (ja) | 2008-01-30 |
Family
ID=32300266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002347390A Expired - Fee Related JP4039221B2 (ja) | 2002-07-16 | 2002-11-29 | 画像処理装置、符号化装置、復号装置およびそれらの方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4039221B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5686018B2 (ja) * | 2010-05-21 | 2015-03-18 | 株式会社Jvcケンウッド | 画像符号化装置、画像符号化方法および画像符号化プログラム |
JP5686019B2 (ja) * | 2010-05-21 | 2015-03-18 | 株式会社Jvcケンウッド | 画像復号装置、画像復号方法および画像復号プログラム |
-
2002
- 2002-11-29 JP JP2002347390A patent/JP4039221B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004104746A (ja) | 2004-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108769682B (zh) | 视频编码、解码方法、装置、计算机设备和存储介质 | |
JP4120301B2 (ja) | 画像処理装置およびその方法 | |
KR100703760B1 (ko) | 시간적 레벨간 모션 벡터 예측을 이용한 비디오인코딩/디코딩 방법 및 장치 | |
JP4682410B2 (ja) | 画像処理装置及び画像処理方法 | |
JP3855522B2 (ja) | 動画変換装置 | |
JP2009089332A (ja) | 動き予測方法及び動き予測装置 | |
JP4470431B2 (ja) | データ処理装置およびその方法 | |
KR100597397B1 (ko) | 고속 움직임추정 알고리즘을 갖는 동영상 코딩방법 및 장치 | |
JP4360093B2 (ja) | 画像処理装置および符号化装置とそれらの方法 | |
JP4289126B2 (ja) | データ処理装置およびその方法と符号化装置 | |
JP4622077B2 (ja) | 画像処理装置及び画像処理方法 | |
JP4747494B2 (ja) | データ処理装置およびその方法と符号化装置 | |
KR100926752B1 (ko) | 동영상 부호화를 위한 미세 움직임 추정 방법 및 장치 | |
JP4039221B2 (ja) | 画像処理装置、符号化装置、復号装置およびそれらの方法 | |
JP3746708B2 (ja) | 動画像符号化装置 | |
KR101691380B1 (ko) | 시프팅 매트릭스를 이용한 dct 기반의 부화소 단위 움직임 예측 방법 | |
JP2006025033A (ja) | 画像処理装置および画像処理方法 | |
JP4277793B2 (ja) | 画像処理装置、符号化装置およびそれらの方法 | |
JP2002010267A (ja) | 動きベクトル変換装置及び方法 | |
KR100351568B1 (ko) | 움직임 보상 예측 블록의 경계 방향성을 고려한 고압축장치 및 그 방법 | |
JP4161676B2 (ja) | 信号処理装置、その方法およびそのプログラム | |
JP4556286B2 (ja) | 動きベクトル変換装置及び方法 | |
JP2004165816A (ja) | 画像処理装置、符号化装置およびそれらの方法 | |
KR100203638B1 (ko) | 반화소 단위 움직임 추정방법 | |
JP3166835B2 (ja) | 動画像の高能率符号化方法及び装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051129 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051129 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070927 |
|
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: 20071016 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071029 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101116 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101116 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111116 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121116 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131116 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |