Nothing Special   »   [go: up one dir, main page]

JP2012178669A - 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム - Google Patents

動画像符号化装置、動画像符号化方法及び動画像符号化プログラム Download PDF

Info

Publication number
JP2012178669A
JP2012178669A JP2011039840A JP2011039840A JP2012178669A JP 2012178669 A JP2012178669 A JP 2012178669A JP 2011039840 A JP2011039840 A JP 2011039840A JP 2011039840 A JP2011039840 A JP 2011039840A JP 2012178669 A JP2012178669 A JP 2012178669A
Authority
JP
Japan
Prior art keywords
block
coding block
motion vector
coding
motion
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.)
Granted
Application number
JP2011039840A
Other languages
English (en)
Other versions
JP5622613B2 (ja
Inventor
Kazuyuki Miyazawa
一之 宮澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2011039840A priority Critical patent/JP5622613B2/ja
Publication of JP2012178669A publication Critical patent/JP2012178669A/ja
Application granted granted Critical
Publication of JP5622613B2 publication Critical patent/JP5622613B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】演算量を削減して符号化処理の高速化を図ることができるとともに、高い符号化性能を得ることができるようにする。
【解決手段】符号化ブロック内の画素値の分散と、当該符号化ブロックの動き補償予測誤差とから、動きベクトルの探索に用いるブロックとしての当該符号化ブロックの適合度を示す評価値を算出する分散・予測誤差合成部23を設け、その評価値を参照して、n分木分割されている複数の符号化ブロックの中から、動きベクトルの探索に用いる符号化ブロックを選択し、その符号化ブロックと局部復号画像の間で動きを探索して、画像間の動き量を表す動きベクトルを検出する。
【選択図】図1

Description

この発明は、デジタル動画像の画像データを符号化する動画像符号化装置、動画像符号化方法及び動画像符号化プログラムに関するものである。
デジタル動画像の情報圧縮を目的とする動画像符号化は、膨大なデジタル動画像データを狭帯域の通信回線で伝送する必要性から発展をはじめ、現在では、MPEG(Moving Picture Experts Group)など、種々の動画像符号化方式が提案されている。
動画像の符号化では、予測・変換処理を実施した後、量子化レベルの縮退などを行うことで動画像信号に含まれている時間的・空間的な冗長度を除去し、符号化データのデータ長を出来るだけ短くするためにエントロピー符号化を実施して圧縮している。
動画像の符号化では、予測処理を実施するが、一般に、動画像信号は空間方向及び時間方向において、近傍画素間で高い相関があるため、画素間で予測を行うことにより符号化すべき情報量を削減することができる。
予測処理には、符号化済の画像を用いて、時間方向の予測を行う画面間予測と、同一画像上の近傍画素を用いて、予測を行う画面内予測がある。
動画像符号化方式の国際標準であるAVC/H.264(ISO/IEC 14496−10 | ITU−T H.264) における画面間予測(動き補償予測)では、符号化対象画像を小さなブロック(符号化ブロック)に区切り、符号化ブロック毎に、参照画像との間で動き探索を実施して、画像間の動き量を表す動きベクトルを検出するようにしている。
この動き補償予測では、動きベクトルを検出すると、その動きベクトルを用いて、符号化ブロックに対する動き補償予測を実施して予測画像を生成し、その予測画像と局部復号画像の差分である予測誤差を符号化するようにしている。
また、各符号化ブロックの予測ベクトルが、空間的・時間的に近傍にある符号化済みのブロックの動きベクトルから算出されて、その予測ベクトルが動画像符号化装置に与えられるので、動き補償予測では、その予測ベクトルと当該符号化ブロックの実際の動きベクトルとの差分を符号化するようにしている(例えば、非特許文献1を参照)。
AVC/H.264では、符号化ブロックのサイズとして、輝度信号上で、16画素×16ラインのブロックサイズが採用されているが、このサイズを拡張して、動き探索などを実施する際のサイズを適応化させることで、符号化性能が大きく改善することが報告されている(例えば、非特許文献2,3を参照)。
このため、ブロック内をn個に分割し、さらに各ブロックを再帰的にn個に分割するといったn分木分割が検討されている。
ここで、図15は符号化ブロックのn分木分割の中で最も一般的な分割である四分木分割(3階層の四分木分割)の一例を示す説明図である。
図16は四分木分割された符号化ブロックの階層構造を表す四分木を示す説明図である。
図16の各ノード内の番号が図15の符号化ブロックの番号と対応している。
高い符号化性能を達成するためには、図16の四分木の各ノードに対応する符号化ブロックのそれぞれで動き探索を実施して、動き補償予測を行った上で、その予測誤差などから最適なノードの組み合わせを決定する必要がある。
なお、以下の特許文献1には、既に符号化が終了している周辺ブロックが持つノードの組み合わせから、符号化対象のブロックのノードの組み合わせを選択し、選択されたノードに対応するブロックについてだけ、動き探索を実施する方法が開示されている。
特開2006−74520号公報
大久保榮(監修)、角野眞也、菊池義浩、鈴木輝彦(共著)「改訂版 H.264/AVC教科書」インプレスR&D、2005年12月22日発行、p.35〜p.60、p.82 S. Ma and C.-C. J. Kuo, "High-definition Video Coding with Super-macroblocks," Visual Communications and Image Processing 2007, September 2007, 2007年1月29日発行 P. Chen, Y. Ye, and M. Karczewicz, "Video Coding Using Extended Block Sizes," VCEG-VJ23, 2009年1月27日発行
従来の動画像符号化装置は以上のように構成されているので、符号化対象画像がn分木分割されている場合、n分木の符号化ブロック(ノード)の中で、どの符号化ブロックが、動き補償予測に最適なブロックであるかを決定するには、全ての符号化ブロックについて動き探索を実施して動きベクトルを検出するとともに、その動きベクトルを用いて予測誤差を算出して、その予測誤差を比較する必要がある。そのため、動き探索の処理等の実施に伴う演算量が膨大になり、符号化処理の高速化を図ることが困難である課題があった。
なお、特許文献1に開示されている方法を用いれば、動き探索に要する演算量を削減することができるが、符号化対象のブロックの特徴に関係なく、周辺ブロックを符号化する際に選択されたノードに基づいてノードの選択が行われるものであるため、全ての符号化ブロックについて動き探索等を実施することで、動き補償予測に最適なブロックを選択する場合と比べて、大きく選択結果が異なることがあり、この場合には、符号化性能が低下してしまう課題があった。
この発明は上記のような課題を解決するためになされたもので、演算量を削減して符号化処理の高速化を図ることができるとともに、高い符号化性能を得ることができる動画像符号化装置、動画像符号化方法及び動画像符号化プログラムを得ることを目的とする。
この発明に係る動画像符号化装置は、画像間の動き量を表す動きベクトルを検出する動きベクトル検出手段が、n分木分割されている符号化ブロック毎に、当該符号化ブロックにおけるテクスチャの平坦度を算出する平坦度算出部と、当該符号化ブロックの予測ベクトルと局部復号画像を用いて、当該符号化ブロックの動き補償予測誤差を算出する予測誤差算出部と、平坦度算出部により算出された平坦度と予測誤差算出部により算出された動き補償予測誤差から、動きベクトルの探索に用いるブロックとしての当該符号化ブロックの適合度を算出する適合度算出部と、適合度算出部により算出された適合度を参照して、n分木分割されている複数の符号化ブロックの中から、動きベクトルの探索に用いる符号化ブロックを選択する符号化ブロック選択部と、符号化ブロック選択部により選択された符号化ブロックと上記局部復号画像の間で動きを探索して、画像間の動き量を表す動きベクトルを検出する動きベクトル検出部とを備えるようにしたものである。
この発明によれば、画像間の動き量を表す動きベクトルを検出する動きベクトル検出手段が、n分木分割されている符号化ブロック毎に、当該符号化ブロックにおけるテクスチャの平坦度を算出する平坦度算出部と、当該符号化ブロックの予測ベクトルと局部復号画像を用いて、当該符号化ブロックの動き補償予測誤差を算出する予測誤差算出部と、平坦度算出部により算出された平坦度と予測誤差算出部により算出された動き補償予測誤差から、動きベクトルの探索に用いるブロックとしての当該符号化ブロックの適合度を算出する適合度算出部と、適合度算出部により算出された適合度を参照して、n分木分割されている複数の符号化ブロックの中から、動きベクトルの探索に用いる符号化ブロックを選択する符号化ブロック選択部と、符号化ブロック選択部により選択された符号化ブロックと上記局部復号画像の間で動きを探索して、画像間の動き量を表す動きベクトルを検出する動きベクトル検出部とを備えるように構成したので、演算量を削減して符号化処理の高速化を図ることができるとともに、高い符号化性能を得ることができる効果がある。
この発明の実施の形態1による動画像符号化装置を示す構成図である。 この発明の実施の形態1による動画像符号化装置の処理内容(動画像符号化方法)の要部を示すフローチャートである。 この発明の実施の形態1による動画像符号化装置の評価値算出部2を示す構成図である。 動きベクトルの探索に適しているブロックと適していないブロックの一例を示す説明図である。 動きベクトルの探索に適しているブロックと適していないブロックの一例を示す説明図である。 重みαと重みβの関係を示す説明図である。 関数γの一例を示す説明図である。 符号化対象画像が四分木分割(3階層の四分木分割)されている例を示す説明図である。 符号化ブロック選択部3により選択される符号化ブロック(ノード)を示す説明図である。 この発明の実施の形態2による動画像符号化装置を示す構成図である。 この発明の実施の形態2による動画像符号化装置の符号化ブロック選択部16を示す構成図である。 この発明の実施の形態3による動画像符号化装置を示す構成図である。 この発明の実施の形態3による動画像符号化装置のノード・探索範囲変更部17を示す構成図である。 兄弟ノードの符号化ブロックの動きベクトルが似通っている例を示す説明図である。 符号化ブロックのn分木分割の中で最も一般的な分割である四分木分割(3階層の四分木分割)の一例を示す説明図である。 四分木分割された符号化ブロックの階層構造を表す四分木を示す説明図である。
実施の形態1.
図1はこの発明の実施の形態1による動画像符号化装置を示す構成図である。
図1の動画像符号化装置には、符号化対象画像がn分木分割されている符号化ブロック(例えば、図15に示す画像が符号化対象画像である場合、階層1の符号化ブロック(1)、階層2の符号化ブロック(2),(7),(12),(17)、階層3の符号化ブロック(3)〜(6),(8)〜(11),(13)〜(16),(18)〜(21))が入力される。
また、図1の動画像符号化装置には、n分木分割されている各符号化ブロックの予測ベクトルが入力される。即ち、図1の動画像符号化装置の外部装置によって、空間的・時間的に近傍にある符号化済みのブロックの動きベクトルから予測ベクトルが算出されて、その予測ベクトルが図1の動画像符号化装置に与えられる。
図1において、符号化制御部1はn分木分割されている符号化ブロック毎に、利用可能な1以上の符号化モード(1以上のイントラ符号化モード、1以上のインター符号化モード)の中から、当該符号化ブロックに適する符号化モードを選択し、その符号化モードに対応する予測パラメータ(イントラ予測パラメータ、インター予測パラメータ)や、目標符号量及び量子化ステップ幅を示す量子化パラメータなどの符号化パラメータを出力する処理を実施する。
評価値算出部2はn分木分割されている符号化ブロック毎に、動きベクトルの探索に用いるブロックとしての当該符号化ブロックの適合度を示す評価値を算出する処理を実施する。
符号化ブロック選択部3は評価値算出部2により算出された評価値を参照して、n分木分割されている複数の符号化ブロックの中から、動きベクトルの探索に用いる符号化ブロックを選択する処理を実施する。
動きベクトル検出部4は符号化ブロック選択部3により選択された符号化ブロックとフレームメモリ14に格納されている局部復号画像の間で動きを探索して、画像間の動き量を表す動きベクトルを検出する処理を実施する。
なお、評価値算出部2、符号化ブロック選択部3及び動きベクトル検出部4から動きベクトル検出手段が構成されている。
動き補償部5は符号化制御部1により選択された符号化モードがインター符号化モードである場合、動きベクトル検出部4により検出された動きベクトル及び符号化制御部1から出力されたインター予測パラメータを用いて、当該符号化ブロックに対する動き補償予測処理を実施して予測画像を生成する処理を実施する。
画面内予測部6は符号化制御部1により選択された符号化モードがイントラ符号化モードである場合、符号化制御部1から出力されたイントラ予測パラメータを用いて、その符号化ブロックに対するイントラ予測処理を実施して予測画像を生成する処理を実施する。
切替スイッチ7は符号化制御部1により選択された符号化モードがイントラ符号化モードであれば、画面内予測部6により生成された予測画像を選択し、符号化制御部1により選択された符号化モードがインター符号化モードであれば、動き補償部5により生成された予測画像を選択する処理を実施する。
減算部8は符号化ブロックと切替スイッチ7により選択された予測画像の差分である予測誤差を算出する処理を実施する。
直交変換・量子化部9は予測誤差に残存する空間方向の冗長度を除くために、減算部8により算出された予測誤差の変換処理(例えば、DCT(離散コサイン変換)や、予め特定の学習系列に対して基底設計がなされているKL変換等の直交変換処理)を実施し、また、符号化制御部1から出力された量子化パラメータを用いて、その予測誤差の変換係数を量子化することで、量子化後の変換係数を圧縮データとして出力する処理を実施する。
エントロピー符号化部10は直交変換・量子化部9から出力された圧縮データと、符号化制御部1から出力された符号化モード及び符号化パラメータとをエントロピー符号化して、その圧縮データ、符号化モード及び符号化パラメータの符号化データが多重化されているビットストリームを生成する処理を実施する。
なお、動き補償部5、減算部8、直交変換・量子化部9及びエントロピー符号化部10から画像符号化手段が構成されている。
逆量子化・逆直交変換部11は符号化制御部1から出力された量子化パラメータを用いて、直交変換・量子化部9から出力された圧縮データを逆量子化し、逆量子化の圧縮データの逆変換処理(例えば、逆DCT(逆離散コサイン変換)や、逆KL変換等の逆変換処理)を実施することで、逆変換処理後の圧縮データを局所復号予測誤差信号として出力する処理を実施する。
加算部12は逆量子化・逆直交変換部11から出力された局所復号予測誤差信号と切替スイッチ7により選択された予測画像を示す予測信号を加算することで、局所復号画像を示す局所復号画像信号を生成する処理を実施する。
ループフィルタ部13は加算部12により生成された局所復号画像信号に含まれている符号化歪みを補償し、符号化歪み補償後の局所復号画像信号が示す局所復号画像をフレームメモリ14に出力する処理を実施する。
フレームメモリ14は動き補償部5により次回の動き補償予測処理で用いられる参照画像として、ループフィルタ部13によるフィルタリング処理後の局所復号画像を格納するRAMなどの記録媒体である。
イントラ予測用メモリ15は画面内予測部6により次回のイントラ予測処理で用いられる画像として、加算部12により生成された局所復号画像信号が示す局所復号画像を格納するRAMなどの記録媒体である。
図1では、動画像符号化装置の構成要素である符号化制御部1、評価値算出部2、符号化ブロック選択部3、動きベクトル検出部4、動き補償部5、画面内予測部6、切替スイッチ7、減算部8、直交変換・量子化部9、エントロピー符号化部10、逆量子化・逆直交変換部11、加算部12及びループフィルタ部13のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路、あるいは、ワンチップマイコンなど)で構成されているものを想定しているが、動画像符号化装置がコンピュータで構成される場合、符号化制御部1、評価値算出部2、符号化ブロック選択部3、動きベクトル検出部4、動き補償部5、画面内予測部6、切替スイッチ7、減算部8、直交変換・量子化部9、エントロピー符号化部10、逆量子化・逆直交変換部11、加算部12及びループフィルタ部13の処理内容を記述している動画像符号化プログラムを当該コンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されている動画像符号化プログラムを実行するようにしてもよい。
図2はこの発明の実施の形態1による動画像符号化装置の処理内容(動画像符号化方法)の要部を示すフローチャートである。
図3はこの発明の実施の形態1による動画像符号化装置の評価値算出部2を示す構成図である。
図3において、分散算出部21はn分木分割されている符号化ブロック毎に、当該符号化ブロックにおけるテクスチャの平坦度として、当該符号化ブロック内の画素値の分散を算出する処理を実施する。なお、分散算出部21は平坦度算出部を構成している。
予測誤差算出部22は当該符号化ブロックの予測ベクトルと局部復号画像を用いて、当該符号化ブロックの動き補償予測誤差を算出する処理を実施する。
分散・予測誤差合成部23は分散算出部21により算出された分散と予測誤差算出部22により算出された動き補償予測誤差の重み付け和を算出することで、動きベクトルの探索に用いるブロックとしての当該符号化ブロックの適合度を示す評価値を算出する処理を実施する。なお、分散・予測誤差合成部23は適合度算出部を構成している。
評価値補正部24は符号化ブロックのサイズと量子化パラメータを用いて、分散・予測誤差合成部23により算出された評価値を補正し、補正後の評価値を符号化ブロック選択部3に出力する処理を実施する。なお、評価値補正部24は適合度補正部を構成している。
次に動作について説明する。
ただし、評価値算出部2及び符号化ブロック選択部3以外の処理部は、例えば、非特許文献1などに開示されている動画像符号化装置と同様の構成要素であるため詳細な説明を省略し、ここでは、主に評価値算出部2及び符号化ブロック選択部3の処理内容を説明する。
評価値算出部2は、n分木分割されている符号化ブロック、当該符号化ブロックの予測ベクトル及び符号化制御部1から出力された符号化パラメータを入力する。
評価値算出部2は、n分木分割されている符号化ブロックを入力すると、符号化ブロック毎に、動きベクトルの探索に用いるブロックとしての当該符号化ブロックの適合度を示す評価値を算出する。
以下、評価値算出部2の処理内容を具体的に説明する。
図4は動きベクトルの探索に適しているブロックと適していないブロックの一例を示す説明図である。
図4において、符号化対象画像から符号化ブロックとして分割されたブロック(1)の内部には、1つの物体(人物)しか含まれておらず、ブロック全体の動きを1つの動きベクトルで表現することができるため、ブロック(1)は動きベクトルの探索に適するブロックである。
一方、符号化対象画像から符号化ブロックとして分割されたブロック(2)の内部には、複数の物体(人物、自動車、道路)が含まれており、それぞれの物体が異なる動きを持っているため、ブロック(2)は動きベクトルの探索に適さないブロックである。
しかし、ブロック(2)を更に4つのブロック(21)〜(24)に分割すると、4つのブロック(21)〜(24)の内部には、1つの物体しか含まれておらず、動きベクトルの探索に適するブロックとなる。
このように、ブロックの内部に複数の物体が含まれているか否かを調べることは、そのブロックが動きベクトルの探索に適しているか否かを評価するために効果的である。
動き探索に適しているブロック(1)、(21)〜(24)は、平坦なテクスチャを持っているのに対して、動き探索に適していないブロック(2)は非常に複雑なテクスチャを持っている。
このため、その評価を行うための指標として、ブロックが持つテクスチャの平坦度が有効な指標となる。
なお、平均値からのばらつきを表す統計量である分散は、テクスチャの平坦度として利用することができる。動き探索に適しているブロック(1)、(21)〜(24)の画素値から算出される分散は小さな値になり、動き探索に適していないブロック(2)の画素値から算出される分散は大きな値になる。つまり、分散が小さな値を示すブロックほど、動き探索に適するブロックであると判断することができる。
評価値算出部2の分散算出部21は、n分木分割されている符号化ブロック毎に、当該符号化ブロックにおけるテクスチャの平坦度として、当該符号化ブロック内の画素値の分散を算出する(図2のステップST1)。
ここでは、分散算出部21が、テクスチャの平坦度として、画素値の分散を算出する例を示しているが、テクスチャの平坦度を示す指標であれば画素値の分散に限るものではなく、例えば、画素平面に対して平面当て嵌めを行うことで得られる当て嵌め誤差を算出するようにしてもよいし、当該符号化ブロック内の最大画素値と最小画素値の差分を算出するようにしてもよい。
図5は動きベクトルの探索に適しているブロックと適していないブロックの一例を示す説明図である。
図5において、符号化対象画像から分割されたブロック(3)は、図4のブロック(1)と同様の理由で、動きベクトルの探索に適するブロックである。
また、符号化対象画像から分割されたブロック(4)は、図4のブロック(2)と同様の理由で、動きベクトルの探索に適さないブロックである。
しかし、ブロック(3)の内部には、1つの物体しか含まれていないが、ブロック(1)と異なり、テクスチャの平坦度が低く、画素値の分散が大きな値になる。
このように、物体が複雑なテクスチャを持つ場合、ブロックが静止領域に属する場合、あるいは、カメラのパンによって画面全体が一様に動いている場合などでは、テクスチャの平坦度と、動きベクトルの探索に対するブロックの適合度との間に関連性がない。
したがって、画素値の分散だけでなく、ブロックが持つ動きについても、考慮した方が望ましい。
そこで、評価値算出部2の予測誤差算出部22は、当該符号化ブロックの予測ベクトル
と局部復号画像を用いて、当該符号化ブロックの動き補償予測誤差を算出する(ステップST2)。
即ち、予測誤差算出部22は、フレームメモリ14に格納されている局部復号画像の中から、当該符号化ブロックの予測ベクトルが指し示す位置から当該符号化ブロックと同サイズのブロックを抽出する。
そして、予測誤差算出部22は、局部復号画像から抽出したブロックと当該符号化ブロックとの間で、画素毎の差分を計算することにより、動き補償予測誤差を算出する。
ここでは、画素毎の差分を計算することで、動き補償予測誤差を算出する例を示しているが、画素毎の差分の総和を動き補償予測誤差として算出するようにしてもよいし、ブロックサイズの変化を正規化するために、画素毎の差分の総和を総画素数で割った平均値を動き補償予測誤差として算出するようにしてもよい。
この動き補償予測誤差が小さければ、当該符号化ブロックの実際の動きも1つの動きベクトルで表現することができる可能性が高く、当該符号化ブロックは動きベクトルの探索に適していると判断することができる。
評価値算出部2の分散・予測誤差合成部23は、n分木分割されている符号化ブロック毎に、分散算出部21が当該符号化ブロック内の画素値の分散を算出し、予測誤差算出部22が当該符号化ブロックの動き補償予測誤差を算出すると、下記の式(1)に示すように、その分散と動き補償予測誤差の重み付け和を算出することで、動きベクトルの探索に用いるブロックとしての当該符号化ブロックの適合度を示す評価値を算出する(ステップST3)。
Figure 2012178669
ここで、vは符号化ブロックi(ノードi)の評価値、σi 2は分散算出部21により算出された符号化ブロックi(ノードi)の分散、eは予測誤差算出部22により算出された符号化ブロックi(ノードi)の動き補償予測誤差、αは分散σi 2に対する重み、βは動き補償予測誤差eに対する重みである。
なお、動き補償予測誤差eが小さい場合、分散σi 2の大小によらず、動き補償予測誤差eを重視した評価値vとする必要がある。一方、動き補償予測誤差eが大きい場合、分散σi 2を重視する必要がある。
そのため、重みα,βは、例えば、下記の式(2)を用いて、決定することができる。
Figure 2012178669
このようにして、分散・予測誤差合成部23により算出される評価値vは、値が小さい程、当該符号化ブロックiが動きベクトルの探索に適するブロックであることを表していると言える。
ここでは、分散・予測誤差合成部23が分散と動き補償予測誤差の重み付け和を計算することで評価値を算出する例を示しているが、評価値は分散と動き補償予測誤差の重み付け和に限るものではなく、例えば、分散と動き補償予測誤差の乗算や除算によって評価値を算出するようにしてもよい。
なお、評価値としては、分散と動き補償予測誤差の他に、空間的・時間的に当該符号化ブロックの近傍にある符号化済ブロックが属する階層の深さを用いることも考えられる。
分散・予測誤差合成部23により算出される評価値vは、一般に、当該符号化ブロックi(ノードi)が属する階層が深いほど(ブロックサイズが小さいほど)、値が小さくなる傾向があるため、下層にある符号化ブロックi(ノードi)ほど、動きベクトルの探索に適していると判断され易くなる。
しかし、符号化性能の観点から考えると、ブロックサイズが小さくなると、その分だけ、多くの分割情報や動きベクトルを符号化しなければならず、符号量の増加につながる。
そこで、評価値算出部2の評価値補正部24は、符号化ブロックが属している階層の深さに応じて、分散・予測誤差合成部23により算出された評価値vの重み付けを行うことで、階層が深くなる程、評価値が大きくなるように補正を行う。
これにより、ブロックサイズが必要以上に小さい符号化ブロックが選択されることを防ぐことができる。
ただし、評価値補正部24が分散・予測誤差合成部23により算出された評価値vを補正する際、量子化パラメータと符号化ブロックのサイズとの間にある関係性を考慮することが望ましい。
量子化パラメータが小さい(ビットレートが高い)場合、ビットレートと符号化歪のうち、符号化歪を抑えることを優先し、符号化ブロックのサイズを小さくして、動き補償予測誤差を小さくする方がよい。
一方、量子化パラメータが大きい(ビットレートが低い)場合、ビットレートを抑えることを優先し、符号化ブロックのサイズを大きくして、符号量を減らす方がよい。
つまり、評価値に対して重み付けを行う際、重み付けの強度を量子化パラメータに応じて、適応的に変化させることで、符号化性能の向上が可能になる。
そこで、評価値補正部24は、分散・予測誤差合成部23により算出された評価値vを補正する際、符号化ブロックのサイズと量子化パラメータから重みγを求め、その重みγを評価値vに乗算することで、その評価値vを補正するようにする(ステップST4)。
評価値に対する重み付け関数としては、例えば、下記の式(3)に示すような関数を用いることができる。
Figure 2012178669
図7は関数γの一例を示す説明図である。
ここでは、評価値補正部24が、重みγを評価値vに乗算することで、その評価値vを補正するようにしているが、その重みγは、式(3)に示すような指数関数を用いて求めるものに限るものではなく、例えば、多項式関数や対数関数などの関数を用いて求めるようにしてもよい。
符号化ブロック選択部3は、評価値算出部2がn分木分割されている全ての符号化ブロックiの評価値vを算出すると、各符号化ブロックiの評価値vを参照して、n分木分割されている全ての符号化ブロックの中から、動きベクトルの探索に適している符号化ブロックを選択する(ステップST5)。
即ち、符号化ブロック選択部3は、未選択の符号化ブロックの中で、最も適合度が高い符号化ブロックを選択して、その符号化ブロックが属する階層より下位の階層に属する符号化ブロックを削除する処理を全てのリーフ(子ノードを持たないノード)が選択されるまで繰り返し実施する。
以下、符号化ブロック選択部3の処理内容を具体的に説明する。
ここでは、符号化対象画像が、図8に示すように、四分木分割(3階層の四分木分割)されているものとして説明する。
図8において、符号化ブロック(ノード)に対応付けられている数値は、評価値算出部2の評価値補正部24から出力された補正後の評価値である。
図9は符号化ブロック選択部3により選択される符号化ブロック(ノード)を示す説明図である。
図8の例では、最初に、符号化ブロック選択部3は、図9(a)に示すように、最も評価値が小さい符号化ブロック(2)を選択し、符号化ブロック(2)が属する階層より下位の階層に属する符号化ブロック(3)〜(6)を削除する。
次に、符号化ブロック選択部3は、図9(b)に示すように、未選択の符号化ブロックの中で、最も評価値が小さい符号化ブロック(8)を選択する。符号化ブロック(8)は子ノードを持っていないので、子ノードの削除は行われない。
以降、全てのリーフ(子ノードを持たないノード)が選択されるまで、同様の処理が繰り返される(図9(c)〜(h))。
なお、符号化ブロック(12)の評価値は“110”であり、下位の階層に属する符号化ブロック(13)〜(16)の評価値より高いため(適合度が低いため)、符号化ブロック(12)は選択されず、下位の階層に属する符号化ブロック(13)〜(16)が選択されている。
一方、符号化ブロック(7)の評価値は“88”であり、下位の階層に属する符号化ブロック(8)の評価値“68”より高いが、同じく下位の階層に属する符号化ブロック(9)〜(11)の評価値より低いため(適合度が高いため)、符号化ブロック(8)〜(11)は選択されず、符号化ブロック(7)が選択されている。
これにより、符号化ブロック選択部3に選択された符号化ブロックは、符号化ブロック(2)、(7)、(13)〜(17)となる。
動きベクトル検出部4は、符号化ブロック選択部3が1個以上の符号化ブロックを選択すると、符号化ブロック選択部3により選択された符号化ブロック毎に、フレームメモリ14に格納されている局部復号画像の中から、当該符号化ブロックの予測ベクトルが指し示す位置のブロック(当該符号化ブロックと同一サイズのブロック)を読み出し、その符号化ブロックと読み出しブロックの間で動きを探索して、画像間の動き量を表す動きベクトルを検出する(ステップST6)。
図9に示すように、7個の符号化ブロック(符号化ブロック(2)、(7)、(13)〜(17))が選択されている場合、動きベクトル検出部4により7個の符号化ブロックについて動きベクトルの探索処理が行われて、7個の動きベクトルが動き補償部5に出力される。
以上で明らかなように、この実施の形態1によれば、n分木分割されている符号化ブロック毎に、当該符号化ブロックにおけるテクスチャの平坦度として、当該符号化ブロック内の画素値の分散を算出する分散算出部21と、当該符号化ブロックの予測ベクトルと局部復号画像を用いて、当該符号化ブロックの動き補償予測誤差を算出する予測誤差算出部22と、分散算出部21により算出された分散と予測誤差算出部22により算出された動き補償予測誤差から、動きベクトルの探索に用いるブロックとしての当該符号化ブロックの適合度を示す評価値を算出する分散・予測誤差合成部23と、符号化ブロックのサイズと量子化パラメータを用いて、分散・予測誤差合成部23により算出された評価値を補正する評価値補正部24と、評価値補正部24による補正後の評価値を参照して、n分木分割されている複数の符号化ブロックの中から、動きベクトルの探索に用いる符号化ブロックを選択する符号化ブロック選択部3と、符号化ブロック選択部3により選択された符号化ブロックと局部復号画像の間で動きを探索して、画像間の動き量を表す動きベクトルを検出する動きベクトル検出部4とを備えるように構成したので、演算量を削減して符号化処理の高速化を図ることができるとともに、高い符号化性能を得ることができる効果を奏する。
即ち、この実施の形態1によれば、n分木分割されている全ての符号化ブロックを対象にして、動きベクトルの探索処理を実施するのではなく、動きベクトルの探索に適している符号化ブロックだけを対象にして、動きベクトルの探索処理を実施するようにしているため、動きベクトルの探索処理に関する演算量を大幅に削減することができる。
また、分散、動き補償予測誤差、量子化パラメータ、ノードが属する階層の深さなどの複数のパラメータを複合的に利用して評価値を算出するようにしているため、従来技術(例えば、特許文献1)よりも信頼性が高いノード選択を行うことができる。
さらに、n分木分割されている全ての符号化ブロックの評価値を算出した上で、動きベクトルの探索に適している符号化ブロックを選択しているため、全ての符号化ブロックを動きベクトルの探索候補ブロックとして考慮することができる。
実施の形態2.
上記実施の形態1では、n分木分割されている全ての符号化ブロックの評価値を算出し、それらの評価値を比較することで、動きベクトルの探索に適している符号化ブロックを選択するものを示したが、全ての符号化ブロックの評価値を算出する前に、ある符号化ブロックの評価値が所定の閾値より小さければ、その符号化ブロックを動きベクトルの探索に用いる符号化ブロックとして選択するとともに、その符号化ブロックが属する階層より下位の階層に属する符号化ブロックの評価値の算出処理を打ち切るようにしてもよい。
図10はこの発明の実施の形態2による動画像符号化装置を示す構成図であり、図において、図1と同一符号は同一または相当部分を示すので説明を省略する。
符号化ブロック選択部16は符号化ブロックの予測ベクトルや量子化パラメータ等を用いて、n分木分割されている複数の符号化ブロックの中から、動きベクトルの探索に用いる符号化ブロックを選択する処理を実施する。
なお、符号化ブロック選択部16及び動きベクトル検出部4から動きベクトル検出手段が構成されている。
図10では、動画像符号化装置の構成要素である符号化制御部1、符号化ブロック選択部16、動きベクトル検出部4、動き補償部5、画面内予測部6、切替スイッチ7、減算部8、直交変換・量子化部9、エントロピー符号化部10、逆量子化・逆直交変換部11、加算部12及びループフィルタ部13のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路、あるいは、ワンチップマイコンなど)で構成されているものを想定しているが、動画像符号化装置がコンピュータで構成される場合、符号化制御部1、符号化ブロック選択部16、動きベクトル検出部4、動き補償部5、画面内予測部6、切替スイッチ7、減算部8、直交変換・量子化部9、エントロピー符号化部10、逆量子化・逆直交変換部11、加算部12及びループフィルタ部13の処理内容を記述している動画像符号化プログラムを当該コンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されている動画像符号化プログラムを実行するようにしてもよい。
図11はこの発明の実施の形態2による動画像符号化装置の符号化ブロック選択部16を示す構成図である。
図11において、ノード指示部31は分散算出部32及び予測誤差算出部33における算出処理対象の符号化ブロック(ノード)を指示する処理を実施する。
分散算出部32はn分木分割されている符号化ブロックの中で、ノード指示部31により指示された符号化ブロックにおけるテクスチャの平坦度として、当該符号化ブロック内の画素値の分散を算出する処理を実施する。なお、分散算出部32は平坦度算出部を構成している。
予測誤差算出部33はノード指示部31により指示された符号化ブロックの予測ベクトルと局部復号画像を用いて、当該符号化ブロックの動き補償予測誤差を算出する処理を実施する。
分散・予測誤差合成部34は分散算出部32により算出された分散と予測誤差算出部33により算出された動き補償予測誤差の重み付け和を算出することで、動きベクトルの探索に用いるブロックとしての当該符号化ブロックの適合度を示す評価値を算出する処理を実施する。なお、分散・予測誤差合成部34は適合度算出部を構成している。
評価値補正部35は符号化ブロックのサイズと量子化パラメータを用いて、分散・予測誤差合成部34により算出された評価値を補正する処理を実施する。なお、評価値補正部35は適合度補正部を構成している。
閾値判定部36は評価値補正部35による補正後の評価値と閾値を比較し、補正後の評価値が閾値より低い場合(符号化ブロックの適合度が基準の適合度より高い場合)、当該符号化ブロックを選択する処理を実施する。
また、閾値判定部36は補正後の評価値が閾値より低い場合、その選択した符号化ブロックが属する階層より下位の階層に属する符号化ブロックに対する分散算出部32、予測誤差算出部33、分散・予測誤差合成部34及び評価値補正部35の算出処理を打ち切らせる旨をノード指示部31に指示する処理を実施する。
次に動作について説明する。
図1の評価値算出部2及び符号化ブロック選択部3の代わりに、符号化ブロック選択部16が設けられている点以外は、上記実施の形態1と同様であるため、ここでは、符号化ブロック選択部16の処理内容を説明する。
符号化ブロック選択部16は、符号化ブロックの予測ベクトルや量子化パラメータ等を入力すると、その予測ベクトルや量子化パラメータ等を用いて、n分木分割されている複数の符号化ブロックの中から、動きベクトルの探索に用いる符号化ブロックを選択して、その符号化ブロックを動きベクトル検出部4に出力する。
具体的には、以下の通りである。
まず、符号化ブロック選択部16のノード指示部31は、条件フラグを“0”に初期化して、対象ノードをルート(図8の例では、符号化ブロック(1))に設定する。
ここでは、条件フラグが“0”である場合、符号化ブロックの階層構造を表すn分木において、深さ優先で対象ノードの次にあたるノードを出力し、そのノードを新たな対象ノードに設定するものとする。ただし、対象ノードがルートの場合は、ルートをそのまま出力する。
条件フラグが“1”である場合、n分木において、対象ノードの子ノード以下を全て削除した上で、深さ優先で対象ノードの次にあたるノードを出力し、そのノードを新たな対象ノードに設定するものとする。
したがって、最初は、評価値を算出する処理対象の符号化ブロックをルートの符号化ブロック(図8の例では、符号化ブロック(1))に設定する。
分散算出部32は、ノード指示部31が算出処理対象の符号化ブロックを設定すると、その符号化ブロックにおけるテクスチャの平坦度として、当該符号化ブロック内の画素値の分散を算出する。
分散算出部32による分散の算出処理は、図3の分散算出部21と同様であるため詳細な説明を省略する。
予測誤差算出部33は、ノード指示部31が算出処理対象の符号化ブロックを設定すると、その符号化ブロックの予測ベクトルと局部復号画像を用いて、当該符号化ブロックの動き補償予測誤差を算出する。
予測誤差算出部33による動き補償予測誤差の算出処理は、図3の予測誤差算出部22と同様であるため詳細な説明を省略する。
分散・予測誤差合成部34は、分散算出部32が分散を算出し、予測誤差算出部33が動き補償予測誤差を算出すると、図3の分散・予測誤差合成部23と同様に、その分散と動き補償予測誤差の重み付け和を算出することで、動きベクトルの探索に用いるブロックとしての当該符号化ブロックの適合度を示す評価値を算出する。
評価値補正部35は、分散・予測誤差合成部34が評価値を算出すると、図3の評価値補正部24と同様に、符号化ブロックのサイズと量子化パラメータを用いて、その評価値を補正する。
閾値判定部36は、評価値補正部35が評価値を補正すると、補正後の評価値と所定の閾値を比較する。
閾値判定部36は、補正後の評価値が閾値より小さい場合、ノード指示部31により指定された符号化ブロックは動きベクトルの探索に適しているブロックであると判断し、その符号化ブロックを動きベクトル検出部4に出力する。
このように、ノード指示部31により指定された符号化ブロックを選択して、その符号化ブロックを動きベクトル検出部4に出力する場合、既に動きベクトルの探索に適している符号化ブロックが見つかっており、もはや、その符号化ブロックが属する階層より下位の階層に属する符号化ブロックの評価値を算出する必要がないため、条件フラグを“1”に設定して、“1”の条件フラグをノード指示部31に出力する。
一方、補正後の評価値が閾値以上である場合、動きベクトルの探索に適している符号化ブロックを引き続き探索する必要があるため、“0”の条件フラグをノード指示部31に出力する。
ノード指示部31は、閾値判定部36から“0”の条件フラグを受けると、n分木において、深さ優先で対象ノードの次にあたるノードを出力し、そのノードを新たな対象ノードに設定する。
図8の例では、例えば、前回設定している符号化ブロックが符号化ブロック(1)であれば、符号化ブロック(2)を評価値の算出処理対象に設定し、前回設定している符号化ブロックが符号化ブロック(2)であれば、符号化ブロック(3)を評価値の算出処理対象に設定し、前回設定している符号化ブロックが符号化ブロック(3)であれば、符号化ブロック(4)を評価値の算出処理対象に設定する。
ノード指示部31は、閾値判定部36から“1”の条件フラグを受けると、前回設定している符号化ブロックが属する階層より下位の階層に属する符号化ブロックの評価値を算出する必要がないため、下位の階層に属する符号化ブロックを削除する。
図8の例では、例えば、符号化ブロック(1)が選択された場合、符号化ブロック(2)〜(21)を削除し、符号化ブロック(7)が選択された場合、符号化ブロック(8)〜(11)を削除する。ただし、符号化ブロック(8)や符号化ブロック(15)などが選択された場合、下位の階層に属する符号化ブロックがないため、削除する符号化ブロックはない。
また、ノード指示部31は、未選択の符号化ブロックにおいて、深さ優先で対象ノードの次にあたるノードを出力し、そのノードを新たな対象ノードに設定する。
図8の例では、例えば、前回設定している符号化ブロックが符号化ブロック(2)であり、その符号化ブロック(2)が選択された場合、符号化ブロック(3)〜(6)を削除しているので、符号化ブロック(7)を評価値の算出処理対象に設定する。
また、前回設定している符号化ブロックが符号化ブロック(3)であり、その符号化ブロック(3)が選択された場合、符号化ブロック(4)を評価値の算出処理対象に設定し、前回設定している符号化ブロックが符号化ブロック(6)であり、その符号化ブロック(6)が選択された場合、符号化ブロック(7)を評価値の算出処理対象に設定する。
以上で明らかなように、この実施の形態2によれば、ノード指示部31により指定された符号化ブロックの評価値を算出し、その評価値が所定の閾値より小さければ、当該符号化ブロックを動きベクトルの探索に用いる符号化ブロックとして選択するとともに、当該符号化ブロックが属する階層より下位の階層に属する符号化ブロックに対する分散算出部32、予測誤差算出部33、分散・予測誤差合成部34及び評価値補正部35の算出処理を打ち切るように構成しているので、評価値の算出処理に要する演算量を大幅に削減して、符号化処理の高速化を図ることができる効果を奏する。
実施の形態3.
上記実施の形態1,2では、符号化ブロック選択部3,16により選択された符号化ブロックの動きベクトルを探索して動き補償予測を行うものを示したが、動きベクトルの探索結果や動き補償予測結果に基づいて、符号化ブロック選択部3,16により選択された符号化ブロックを変更して、再度、動きベクトルの探索や動き補償予測を行うようにしてもよい。
図12はこの発明の実施の形態3による動画像符号化装置を示す構成図であり、図において、図1と同一符号は同一または相当部分を示すので説明を省略する。
ノード・探索範囲変更部17は動きベクトル検出部18により検出された1以上の動きベクトルの中で、1つ上位の階層に属する符号化ブロックが共通する兄弟ノードの符号化ブロックの動きベクトルの相違度を算出し、その相違度が所定値より大きい場合、兄弟ノードの符号化ブロックの代わりに、1つ上位の階層に属する符号化ブロック又は1つ下位の階層に属する符号化ブロックの動きベクトルの検出を動きベクトル検出部18に指示する処理を実施する。
また、ノード・探索範囲変更部17は減算部8により算出された予測誤差が所定値より大きい場合、その予測誤差の算出に用いられた符号化ブロックの代わりに、1つ上位の階層に属する符号化ブロック又は1つ下位の階層に属する符号化ブロックの動きベクトルの検出を動きベクトル検出部18に指示する処理を実施する。なお、ノード・探索範囲変更部17は符号化ブロック変更手段を構成している。
動きベクトル検出部18は図1の動きベクトル検出部4と同様に、符号化ブロック選択部3により選択された符号化ブロックとフレームメモリ14に格納されている局部復号画像の間で動きを探索して、画像間の動き量を表す動きベクトルを検出する処理を実施するが、ノード・探索範囲変更部17から1つ上位の階層に属する符号化ブロック又は1つ下位の階層に属する符号化ブロックの動きベクトルを検出する指示が出力された場合、1つ上位又は1つ下位の階層に属する符号化ブロックの予測ベクトルとして、その指示が出力される前に符号化ブロック選択部3により選択された符号化ブロックの検出済みの動きベクトルを利用して、画像間の動きを探索する処理を実施する。
なお、評価値算出部2、符号化ブロック選択部3及び動きベクトル検出部18から動きベクトル検出手段が構成されている。
図12では、動画像符号化装置の構成要素である符号化制御部1、評価値算出部2、符号化ブロック選択部3、動きベクトル検出部18、動き補償部5、画面内予測部6、切替スイッチ7、減算部8、直交変換・量子化部9、エントロピー符号化部10、逆量子化・逆直交変換部11、加算部12、ループフィルタ部13及びノード・探索範囲変更部17のそれぞれが専用のハードウェア(例えば、CPUを実装している半導体集積回路、あるいは、ワンチップマイコンなど)で構成されているものを想定しているが、動画像符号化装置がコンピュータで構成される場合、符号化制御部1、評価値算出部2、符号化ブロック選択部3、動きベクトル検出部18、動き補償部5、画面内予測部6、切替スイッチ7、減算部8、直交変換・量子化部9、エントロピー符号化部10、逆量子化・逆直交変換部11、加算部12、ループフィルタ部13及びノード・探索範囲変更部17の処理内容を記述している動画像符号化プログラムを当該コンピュータのメモリに格納し、当該コンピュータのCPUが当該メモリに格納されている動画像符号化プログラムを実行するようにしてもよい。
図13はこの発明の実施の形態3による動画像符号化装置のノード・探索範囲変更部17を示す構成図である。
図13において、兄弟ノード動きベクトル相違度算出部41は動きベクトル検出部18により検出された1以上の動きベクトルの中で、1つ上位の階層に属する符号化ブロックが共通する兄弟ノードの符号化ブロックの動きベクトルの相違度を算出する処理を実施する。
ノード・探索範囲変更判定部42は兄弟ノード動きベクトル相違度算出部41により算出された相違度が所定値より小さい場合、あるいは、減算部8により算出された予測誤差が所定値より大きい場合、ノード・探索範囲変更部17から指示が出力される前に符号化ブロック選択部3により選択された符号化ブロックの代わりに、1つ上位の階層に属する符号化ブロック又は1つ下位の階層に属する符号化ブロックの動きベクトルの検出を動きベクトル検出部18に指示する処理を実施する。
次に動作について説明する。
上記実施の形態1,2と比べて、ノード・探索範囲変更部17が実装されている点で相違している。
ノード・探索範囲変更部17の兄弟ノード動きベクトル相違度算出部41は、符号化ブロック選択部3により選択されたN個の符号化ブロックの中に、1つ上位の階層に属する符号化ブロックが共通する兄弟ノードの符号化ブロックが含まれているか否かを確認する。
図8の場合、例えば、符号化ブロック(2)と符号化ブロック(7)は、符号化ブロック(1)が共通の親ノードであるため兄弟ノードである。
同様に、符号化ブロック(3)と符号化ブロック(5)は、符号化ブロック(2)が共通の親ノードであるため兄弟ノードである。
ここで、図14は兄弟ノードの符号化ブロックの動きベクトルが似通っている例を示す説明図である。
図14の例では、階層3に属する4つの符号化ブロックの動きベクトルが似通っている。
符号量を削減する観点からすると、兄弟ノードの符号化ブロック毎に、動きベクトルを用いて、動き補償予測を実施するよりも、親ノードの符号化ブロックの1つの動きベクトルを用いて、動き補償予測を実施する方が有利である。
そこで、兄弟ノード動きベクトル相違度算出部41は、符号化ブロック選択部3により選択されたN個の符号化ブロックの中に、兄弟ノードの符号化ブロックが含まれている場合、動きベクトル検出部18により検出された兄弟ノードの符号化ブロックの動きベクトルの相違度を算出する。
動きベクトルの相違度としては、例えば、動きベクトルの先端間の距離などを用いることができる。
ノード・探索範囲変更判定部42は、兄弟ノード動きベクトル相違度算出部41が兄弟ノードの符号化ブロックの動きベクトルの相違度を算出すると、その相違度と所定値を比較し、その相違度が所定値より大きい場合、兄弟ノードの符号化ブロックの代わりに、1つ上位の階層に属する符号化ブロックの検出を動きベクトル検出部18に指示する。
あるいは、1つ下位の階層に属する符号化ブロックの検出を動きベクトル検出部18に指示する。
あるいは、1つ上位の階層に属する符号化ブロックと1つ下位の階層に属する符号化ブロックの双方の検出を動きベクトル検出部18に指示する。
また、ノード・探索範囲変更判定部42は、減算部8により算出された予測誤差が所定値より大きい場合、その予測誤差の算出に用いられた符号化ブロックの選択の信頼性が低いと考えられるため、その符号化ブロックの代わりに、1つ上位の階層に属する符号化ブロックの検出を動きベクトル検出部18に指示する。
あるいは、1つ下位の階層に属する符号化ブロックの検出を動きベクトル検出部18に指示する。
あるいは、1つ上位の階層に属する符号化ブロックと1つ下位の階層に属する符号化ブロックの双方の検出を動きベクトル検出部18に指示する。
動きベクトル検出部18は、ノード・探索範囲変更部17から1つ上位又は1つ下位の階層に属する符号化ブロックの動きベクトルを検出する指示が出力された場合、1つ上位又は1つ下位の階層に属する符号化ブロックの予測ベクトルとして、その指示が出力される前に符号化ブロック選択部3により選択された符号化ブロックの検出済みの動きベクトルを利用して、画像間の動きを探索する。
即ち、動きベクトル検出部18は、兄弟ノードの符号化ブロックの代わりに、親ノード又は子ノードの符号化ブロックの動きベクトルを検出する指示が出力された場合、フレームメモリ14に格納されている局部復号画像の中から、兄弟ノードの符号化ブロックの検出済みの動きベクトルが指し示す位置のブロックを読み出し、親ノード又は子ノードの符号化ブロックと読み出しブロックの間で動きを探索して、画像間の動き量を表す動きベクトルを検出する。
例えば、兄弟ノードの個数が4個である場合、4個の動きベクトルから求めた代表ベクトル(例えば、平均ベクトルなど)が指し示す位置のブロックを親ノードの符号化ブロックに対応する読み出しブロックとして用いてもよいし、4個のブロックをすべて含んだブロックを用いてもよい。
動き補償部5は、動きベクトル検出部18が、1つ上位又は1つ下位の階層に属する符号化ブロックの動きベクトルを検出すると、その動きベクトルを用いて、当該符号化ブロックに対する動き補償予測処理を実施して予測画像を生成するが、その動き補償予測処理を実施した結果、符号化ブロックを変更する前の方が、符号化効率が高い場合、その予測画像を破棄して、符号化ブロックを変更する前の予測画像を最終的な予測画像に決定する。
一方、符号化ブロックを変更した後の方が、符号化効率が高い場合、符号化ブロックを変更する前の予測画像を破棄して、符号化ブロックを変更した後の予測画像を最終的な予測画像に決定する。
以上で明らかなように、この実施の形態3によれば、動きベクトル検出部18により検出された1以上の動きベクトルの中で、1つ上位の階層に属する符号化ブロックが共通する兄弟ノードの符号化ブロックの動きベクトルの相違度を算出し、その相違度が所定値より小さい場合、あるいは、減算部8により算出された予測誤差が所定値より大きい場合、兄弟ノードの符号化ブロック等の代わりに、1つ上位の階層に属する符号化ブロック又は1つ下位の階層に属する符号化ブロックの検出を動きベクトル検出部18に指示するように構成したので、符号量を削減効果や、符号化ブロック選択の信頼性などを高めることができる効果を奏する。
即ち、符号化ブロック選択部3により選択された符号化ブロックの信頼性が低いと考えられる場合には、別の符号化ブロックを新たに選択して動き探索を実施することが可能になるため、符号化性能の向上を図ることができる。
また、新たに動きベクトルの探索処理を実施する際に、検出済みの動きベクトルを予測ベクトルとして利用して、探索範囲を削減することで、動きベクトルの探索精度を落とすことなく、探索回数が増えることによる演算量の増加を最小限に抑えることができる。
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
1 符号化制御部、2 評価値算出部(動きベクトル検出手段)、3,16 符号化ブロック選択部(動きベクトル検出手段)、4,18 動きベクトル検出部(動きベクトル検出手段)、5 動き補償部(画像符号化手段)、6 画面内予測部、7 切替スイッチ、8 減算部(画像符号化手段)、9 直交変換・量子化部(画像符号化手段)、10 エントロピー符号化部(画像符号化手段)、11 逆量子化・逆直交変換部、12 加算部、13 ループフィルタ部、14 フレームメモリ、15 イントラ予測用メモリ、17 ノード・探索範囲変更部(符号化ブロック変更手段)、21,32 分散算出部(平坦度算出部)、22,33 予測誤差算出部、23,34 分散・予測誤差合成部(適合度算出部)、24,35 評価値補正部(適合度補正部)、31 ノード指示部、36 閾値判定部、41 兄弟ノード動きベクトル相違度算出部、42 ノード・探索範囲変更判定部。

Claims (11)

  1. 符号化対象画像がn分木分割されている符号化ブロックと局部復号画像の間で動きを探索して、画像間の動き量を表す動きベクトルを検出する動きベクトル検出手段と、上記動きベクトル検出手段により検出された動きベクトルを用いて、上記符号化ブロックに対する動き補償予測を実施して予測画像を生成し、上記予測画像と上記符号化ブロックの差分である予測誤差を符号化する画像符号化手段とを備えた動画像符号化装置において、
    上記動きベクトル検出手段は、n分木分割されている符号化ブロック毎に、当該符号化ブロックにおけるテクスチャの平坦度を算出する平坦度算出部と、当該符号化ブロックの予測ベクトルと上記局部復号画像を用いて、当該符号化ブロックの動き補償予測誤差を算出する予測誤差算出部と、上記平坦度算出部により算出された平坦度と上記予測誤差算出部により算出された動き補償予測誤差から、動きベクトルの探索に用いるブロックとしての当該符号化ブロックの適合度を算出する適合度算出部と、上記適合度算出部により算出された適合度を参照して、n分木分割されている複数の符号化ブロックの中から、動きベクトルの探索に用いる符号化ブロックを選択する符号化ブロック選択部と、上記符号化ブロック選択部により選択された符号化ブロックと上記局部復号画像の間で動きを探索して、画像間の動き量を表す動きベクトルを検出する動きベクトル検出部とを備えていることを特徴とする動画像符号化装置。
  2. 符号化ブロックのサイズと量子化パラメータを用いて、適合度算出部により算出された符号化ブロックの適合度を補正し、補正後の適合度を符号化ブロック選択部に出力する適合度補正部を備えていることを特徴とする請求項1記載の動画像符号化装置。
  3. 符号化ブロック選択部は、未選択の符号化ブロックの中で、最も適合度が高い符号化ブロックを動きベクトルの探索に用いる符号化ブロックとして選択するとともに、上記符号化ブロックが属する階層より下位の階層に属する符号化ブロックを削除する処理を、全てのリーフが選択されるまで繰り返し実施することを特徴とする請求項1または請求項2記載の動画像符号化装置。
  4. 適合度算出部により符号化ブロックの適合度が算出される毎に、当該符号化ブロックの適合度と基準の適合度を比較し、当該符号化ブロックの適合度が基準の適合度より高ければ、当該符号化ブロックを動きベクトル検出部に出力するとともに、当該符号化ブロックが属する階層より下位の階層に属する符号化ブロックに対する上記平坦度算出部、上記予測誤差算出部及び上記適合度算出部の算出処理を打ち切らせる閾値判定部を設けたことを特徴とする請求項1または請求項2記載の動画像符号化装置。
  5. 動きベクトル検出手段により検出された1以上の動きベクトルの中で、1つ上位の階層に属する符号化ブロックが共通する兄弟ノードの符号化ブロックの動きベクトルの相違度を算出し、上記相違度が所定値より小さい場合、兄弟ノードの符号化ブロックの代わりに、1つ上位の階層に属する符号化ブロックの動きベクトルの検出を上記動きベクトル検出手段に指示する符号化ブロック変更手段を設けたことを特徴とする請求項1から請求項4のうちのいずれか1項記載の動画像符号化装置。
  6. 画像符号化手段により生成された予測画像と符号化ブロックの差分である予測誤差が所定値より大きい場合、当該符号化ブロックの代わりに、当該符号化ブロックが属する階層より1つ上位の階層に属する符号化ブロック又は1つ下位の階層に属する符号化ブロックの動きベクトルの検出を上記動きベクトル検出手段に指示する符号化ブロック変更手段を設けたことを特徴とする請求項1から請求項4のうちのいずれか1項記載の動画像符号化装置。
  7. 動きベクトル検出手段は、符号化ブロック変更手段から1つ上位の階層に属する符号化ブロック又は1つ下位の階層に属する符号化ブロックの動きベクトルを検出する指示が出力された場合、1つ上位又は1つ下位の階層に属する符号化ブロックの予測ベクトルとして、上記指示が出力される前に符号化ブロック選択部により選択された符号化ブロックの検出済みの動きベクトルを利用して、画像間の動きを探索することを特徴とする請求項5または請求項6記載の動画像符号化装置。
  8. 平坦度算出部は、符号化ブロックにおけるテクスチャの平坦度として、当該符号化ブロック内の画素値の分散を算出することを特徴とする請求項1から請求項7のうちのいずれか1項記載の動画像符号化装置。
  9. 適合度算出部は、符号化ブロックのサイズと量子化パラメータから重み係数を算出し、上記重み係数を用いて、平坦度算出部により算出された平坦度と予測誤差算出部により算出された動き補償予測誤差の重み付き和を算出し、その重み付き和を当該符号化ブロックの適合度として出力することを特徴とする請求項1から請求項8のうちのいずれか1項記載の動画像符号化装置。
  10. 動きベクトル検出手段が、符号化対象画像がn分木分割されている符号化ブロックと局部復号画像の間で動きを探索して、画像間の動き量を表す動きベクトルを検出する動きベクトル検出処理ステップと、画像符号化手段が、上記動きベクトル検出処理ステップで検出された動きベクトルを用いて、上記符号化ブロックに対する動き補償予測を実施して予測画像を生成し、上記予測画像と上記符号化ブロックの差分である予測誤差を符号化する画像符号化処理ステップとを備えた動画像符号化方法において、
    上記動きベクトル検出処理ステップが、n分木分割されている符号化ブロック毎に、当該符号化ブロックにおけるテクスチャの平坦度を算出する平坦度算出処理ステップと、当該符号化ブロックの予測ベクトルと上記局部復号画像を用いて、当該符号化ブロックの動き補償予測誤差を算出する予測誤差算出処理ステップと、上記平坦度算出処理ステップで算出された平坦度と上記予測誤差算出処理ステップで算出された動き補償予測誤差から、動きベクトルの探索に用いるブロックとしての当該符号化ブロックの適合度を算出する適合度算出処理ステップと、上記適合度算出処理ステップで算出された適合度を参照して、n分木分割されている複数の符号化ブロックの中から、動きベクトルの探索に用いる符号化ブロックを選択する符号化ブロック選択処理ステップと、上記符号化ブロック選択処理ステップで選択された符号化ブロックと上記局部復号画像の間で動きを探索して、画像間の動き量を表す動きベクトルを検出する動きベクトル検出処理ステップとから構成されていることを特徴とする動画像符号化方法。
  11. 符号化対象画像がn分木分割されている符号化ブロックと局部復号画像の間で動きを探索して、画像間の動き量を表す動きベクトルを検出する動きベクトル検出処理手順と、上記動きベクトル検出処理手順により検出された動きベクトルを用いて、上記符号化ブロックに対する動き補償予測を実施して予測画像を生成し、上記予測画像と上記符号化ブロックの差分である予測誤差を符号化する画像符号化処理手順とをコンピュータに実行させるための動画像符号化プログラムにおいて、
    上記動きベクトル検出処理手順が、n分木分割されている符号化ブロック毎に、当該符号化ブロックにおけるテクスチャの平坦度を算出する平坦度算出処理手順と、当該符号化ブロックの予測ベクトルと上記局部復号画像を用いて、当該符号化ブロックの動き補償予測誤差を算出する予測誤差算出処理手順と、上記平坦度算出処理手順により算出された平坦度と上記予測誤差算出処理手順により算出された動き補償予測誤差から、動きベクトルの探索に用いるブロックとしての当該符号化ブロックの適合度を算出する適合度算出処理手順と、上記適合度算出処理手順により算出された適合度を参照して、n分木分割されている複数の符号化ブロックの中から、動きベクトルの探索に用いる符号化ブロックを選択する符号化ブロック選択処理手順と、上記符号化ブロック選択処理手順により選択された符号化ブロックと上記局部復号画像の間で動きを探索して、画像間の動き量を表す動きベクトルを検出する動きベクトル検出処理手順とから構成されていることを特徴とする動画像符号化プログラム。
JP2011039840A 2011-02-25 2011-02-25 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム Expired - Fee Related JP5622613B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011039840A JP5622613B2 (ja) 2011-02-25 2011-02-25 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011039840A JP5622613B2 (ja) 2011-02-25 2011-02-25 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム

Publications (2)

Publication Number Publication Date
JP2012178669A true JP2012178669A (ja) 2012-09-13
JP5622613B2 JP5622613B2 (ja) 2014-11-12

Family

ID=46980242

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011039840A Expired - Fee Related JP5622613B2 (ja) 2011-02-25 2011-02-25 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム

Country Status (1)

Country Link
JP (1) JP5622613B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4281926A4 (en) 2021-07-13 2024-07-17 Samsung Electronics Co Ltd SYSTEM AND METHOD FOR DISPLAYING DIFFERENTIAL VIDEOS ON GRAPHIC DISPLAYS

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6469182A (en) * 1987-09-10 1989-03-15 Fujitsu Ltd Movement compensation system for variable block size
JPH05502564A (ja) * 1990-06-29 1993-04-28 トムソン―セーエスエフ 一連の動画イメージ内のムーブメントのフィールドの可変パラメータによるコーディングの方法
US5576767A (en) * 1993-02-03 1996-11-19 Qualcomm Incorporated Interframe video encoding and decoding system
JPH11164305A (ja) * 1997-04-24 1999-06-18 Mitsubishi Electric Corp 動画像符号化方法、動画像符号化装置および動画像復号装置
JP2009272702A (ja) * 2008-04-30 2009-11-19 Canon Inc 動きベクトル探索装置及びその制御方法
JP2010278519A (ja) * 2009-05-26 2010-12-09 Panasonic Corp 動きベクトル検出装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6469182A (en) * 1987-09-10 1989-03-15 Fujitsu Ltd Movement compensation system for variable block size
JPH05502564A (ja) * 1990-06-29 1993-04-28 トムソン―セーエスエフ 一連の動画イメージ内のムーブメントのフィールドの可変パラメータによるコーディングの方法
US5576767A (en) * 1993-02-03 1996-11-19 Qualcomm Incorporated Interframe video encoding and decoding system
JPH11164305A (ja) * 1997-04-24 1999-06-18 Mitsubishi Electric Corp 動画像符号化方法、動画像符号化装置および動画像復号装置
JP2009272702A (ja) * 2008-04-30 2009-11-19 Canon Inc 動きベクトル探索装置及びその制御方法
JP2010278519A (ja) * 2009-05-26 2010-12-09 Panasonic Corp 動きベクトル検出装置

Also Published As

Publication number Publication date
JP5622613B2 (ja) 2014-11-12

Similar Documents

Publication Publication Date Title
JP7004782B2 (ja) 画像予測方法および関連装置
RU2678510C2 (ru) Способ и устройство для кодирования и декодирования вектора движения на основании сокращенных предсказателей-кандидатов вектора движения
JP5937717B2 (ja) 映像復号化方法及び装置
KR101797805B1 (ko) 디코딩 방법, 디코딩 장치, 및 컴퓨터 판독가능한 저장 매체
JP5277257B2 (ja) 動画像復号化方法および動画像符号化方法
US11284087B2 (en) Image encoding device, image decoding device, and image processing method
US20120213278A1 (en) Moving image coding device, moving image decoding device, moving image coding/decoding system, moving image coding method and moving image decoding method
KR20170125086A (ko) 화상 예측 방법 및 관련 장치
KR20120120280A (ko) 움직임 벡터 예측 부호화 방법, 움직임 벡터 예측 복호 방법, 동화상 부호화 장치, 동화상 복호 장치 및 그들의 프로그램
US20170257631A1 (en) Block size determining method and program recording medium
JP6962193B2 (ja) 動画像符号化装置、動画像符号化方法および動画像符号化プログラムを記憶する記録媒体
KR20130046377A (ko) 화소 블록 코딩 및 재구성 방법 및 대응 장치
JP6248783B2 (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化用コンピュータプログラム
JP5622613B2 (ja) 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム
US11528485B2 (en) Encoding apparatus and program
JP2019102861A (ja) 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム
US9549205B2 (en) Method and device for encoding video
JP2017050744A (ja) 画像符号化装置、画像符号化方法、及びプログラム
JP5713719B2 (ja) 動画像符号化装置
WO2019150435A1 (ja) 映像符号化装置、映像符号化方法、映像復号装置、映像復号方法、及び映像符号化システム
JP2020057840A (ja) 画像復号装置、画像符号化装置、画像処理システム及びプログラム
RU2701087C1 (ru) Способ и устройство для кодирования и декодирования вектора движения на основании сокращенных предсказателей-кандидатов вектора движения
JP5375697B2 (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法、及びプログラム
JP2005318106A (ja) 動画像符号化装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131030

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140814

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: 20140826

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140922

R150 Certificate of patent or registration of utility model

Ref document number: 5622613

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees