JP5025286B2 - 符号化装置及び復号装置 - Google Patents
符号化装置及び復号装置 Download PDFInfo
- Publication number
- JP5025286B2 JP5025286B2 JP2007048279A JP2007048279A JP5025286B2 JP 5025286 B2 JP5025286 B2 JP 5025286B2 JP 2007048279 A JP2007048279 A JP 2007048279A JP 2007048279 A JP2007048279 A JP 2007048279A JP 5025286 B2 JP5025286 B2 JP 5025286B2
- Authority
- JP
- Japan
- Prior art keywords
- motion vector
- mvd
- selection information
- bits
- pmv
- 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
Description
これらの映像符号化方式においては、映像を構成する各静止画像(ピクチャ)を所定サイズ(16×16など)のブロックに分割し、前記ブロック単位で画面内予測方式、画面間予測方式と呼ばれる2つの予測方式を適宜切替えて予測符号化を行う。
ここで、予測符号化とは、所定の方法で符号化対象の画像についての予測画像を生成し、前記符号化対象の画像と前記予測画像との差分(差分情報)と、前記予測画像の生成方法についての情報(予測情報)とを符号化することにより、高い符号化効率を実現する符号化方法である。
また、画面内予測方式とは、所定ブロックの符号化の際、前記所定ブロックと同一ピクチャに属するブロックのうち、既に符号化済みのブロックについての再生画像を利用して、前記所定ブロックについての予測画像を生成する予測方式である。
一方、画面間予測方式とは、符号化の際、前記所定ブロックを含むピクチャ以前に符号化されたピクチャの再生画像(参照画像)を利用して、前記所定のブロックについての予測画像を生成する予測方式である。
ブロック1の内容に最も近い内容を持つブロック2の位置を参照画像の中から見つけること(動き探索という)が、画面間予測符号化の符号化効率向上の観点で重要になる。
一般に、参照画像と符号化対象の画像の間に大きな変化(シーンチェンジなど)が発生しなければ、画面内予測を用いるより画面間予測を用いた方が高い符号化効率が得られる。
ただ、画面間予測方式における予測情報、すなわち動きベクトル情報は、通常水平方向と垂直方向の2成分を持ち、さらにブロック単位で符号化される。また、映像に動きが少なければ少ないほど、割り当てる符号量が短くなるように符号表が設計されることが多い。そのため、ブロック数が多い場合や動きが激しい場合、その符号量は無視できない。よって、動きベクトル情報についても、所定の方法で予測を行い、得られた予測ベクトル(以下PMVと呼ぶ)との差分ベクトル(以下MVDと呼ぶ)のみを符号化することにより、符号量を削減することが一般的である。このような動きベクトルの符号化方法は、非特許文献1、2に記載の映像符号化方式においても採用されている。
また、動きベクトルの予測方法としては、符号化対象のブロックと空間的あるいは時間的に近傍する複数の符号化済みブロックの動きベクトル情報をPMV候補とし、所定の方法で前記PMV候補の中から1つのPMVを選択する、という方法がある。
具体的には、PMV候補間の分散を求め、その分散値が所定の閾値未満であれば選択情報は付与せず従来どおりメジアンをPMVとして選択し、そうでないときはMVDが最小となるPMVの選択を指示する選択情報を付与して符号化することにより、選択情報による符号量増加を抑えつつ、動きベクトル全体の符号化効率向上を図るという技術である。
なお、前記分散値DISは、以下の式によって求められる。
符号化パターン2における分散値DISは、式(1)より4/3と求められるから、DIS<DIS1が成り立ち、選択情報の付与は行われず、固定的にPMV候補のメジアンがPMVとして選択されることになる。つまり、動きベクトルの符号化に掛かるビット数は依然合計14ビットのままで、符号量の削減はなされていない。
つまり、符号化パターン2においては、選択情報を付与せずに、固定的にPMV候補のメジアンをPMVとして選択する方法が最も動きベクトルの符号化に掛かるビット数を小さくできるのである。
第3の技術手段は、第2の技術手段において、前記所定の基準選択方法とは、前記予測動きベクトル候補のメジアンを予測動きベクトルとして選択することであることを特徴とする。
第6の技術手段は、前記所定の基準選択方法とは、前記予測動きベクトル候補のメジアンを予測動きベクトルとして選択することであることを特徴とする。
また、本発明の復号装置によれば、まずMVDを復号し、続いてPMVの選択情報を復号することにより、本発明の符号化装置により効率的に符号化された動きベクトル符号化データを正しく復号することが出来るようになる。
図1は、本発明の実施形態における符号化装置の構成の概要を示すブロック図である。
図において、11は、符号化装置、12は、動きベクトルを保持するためのメモリ部、13は、メモリ部12からM個(M>1)のPMV候補を抽出し、各PMV候補に所定のインデクスを付与した上で後段に出力する、PMV候補抽出部である。PMV候補抽出部13の具体的なインデクスの付与方法の例については後述する。
また、説明を簡単にするためと、前記従来技術の説明との整合を取るために、M=3とし、3つのPMV候補は、上記非特許文献1、2に記載の映像符号化方式と同様にして選択されるものとする。また、選択情報を付与しない場合に選択されるPMV(基準PMV候補と呼ぶ)は、以下においても、3つのPMV候補のメジアンであるとするが、固定的に位置Aについての動きベクトルとするなど、他の方法で基準PMV候補を選択しても構わない。
動きベクトルの符号化処理開始後、まず、符号化対象の動きベクトルをメモリ部12にて保持する(ステップS1)。ステップS1にて保持される動きベクトルは、後の動きベクトルの符号化においてPMV候補として参照される。メモリ部12は、その実現に必要十分な容量を持つものとする。
次に、PMV候補抽出部13にて、メモリ部12に保持されている既に符号化済みの動きベクトルの中からPMV候補3つを選択、抽出する(ステップS2)。このとき、各PMV候補にはインデクスを付与する。例えば、抽出されたPMV候補のうち、メジアンと等しい値を持つものにはインデクス0、メジアンより小さい値を持つものにはインデクス1、メジアンより大きい値を持つものにはインデクス2、などというように、成分ごとに独立したインデクスの付与を行っておく(インデクス付与方法1)。なお、PMVの選択が、成分ごとではなく、ベクトルごとに出来れば十分という場合には、必ずしも成分ごとに独立したインデクスを付与する必要はなく、各PMV候補について1つのインデクスを付与するようにしてもよい。
次に、MVD偏差評価部15にて、選択情報の付与がコストに見合うか否かを、各MVD候補とM個のPMV候補に対する所定の演算の結果から判定し、選択情報付与情報を生成する(ステップS4)。
このように、本発明の符号化装置においては、選択情報の付与・非付与の判定のために、PMV候補だけでなく、MVDを用いる点で前記従来技術と異なっている。選択情報の付与・非付与の判定に、MVDを用いることの効果については、後述する各実施例において説明する。
なお、選択情報の付与・非付与の判定は、ベクトルごとに行ってもよいし、成分ごとに行ってもよい。前記判定を、ベクトルごとに行う方法を選択情報判定方法1、成分ごとに行う方法を選択情報判定方法2と命名する。以下では、特に記載がない限り、成分ごとに判定する(つまり選択情報判定方法2を採用する)ものとして説明する。
最後に、選択情報符号化部18にて、使用インデクスが指し示す選択情報付与情報が選択情報を付与することを示している場合のみ、3つのPMV候補のうちのいずれを正式なPMVとして選んだかを示す選択情報を符号化して(ステップS7)、処理を終了する。例えば、インデクス付与方法1に従ってPMV候補にインデクスが付与されているならば、図16の符号表を用いて、使用インデクスが0のときはビット列「0」、使用インデクスが1のときはビット列「10」、使用インデクスが2のときはビット列「11」、と符号化する(使用インデクス符号化方法1)。
また、3つのPMV候補全てが一致する場合は、選択情報の符号化そのものが不要となるが、そもそもこの場合、MVD偏差評価部15にて、選択情報そのものを付与する必要がないと判定されるべきであろう。
処理開始後、まず、最小コスト値をコスト値が取りうる最大値に設定する(ステップS11)。
次に、ループカウンタであるiを0〜2まで変化させて、ステップS12〜S18の処理を繰り返し実行する。
「選択情報を付与」と判定された場合は(ステップS12/YES)、選択情報の符号化に掛かるコスト値を計算し(ステップS13)、後述するステップS16に移行する。
他方、「選択情報を非付与」と判定された場合は(ステップS12/NO)、ループカウンタiの値が0か否かを判定する(ステップS14)。
「i=0」と判定された場合は(ステップS14/YES)、コスト値を0として(ステップS15)、後述するステップS16に移行する。
他方、「i≠0」と判定された場合は(ステップS14/NO)、1回分のループ処理を完了する。
「コスト値<最小コスト値」と判定された場合は(ステップS17/YES)、最小コスト値をコスト値にて更新するとともに、最小コスト・インデクスをiに設定し(ステップS18)、1回分のループ処理を完了する。
他方、「コスト値≧最小コスト値」と判定された場合は(ステップS17/NO)、1回分のループ処理を完了する。
全てのループ処理が終了すると、その時点での最小コスト・インデクスを使用インデクスとして後段に出力し(ステップS19)、処理を終了する。
以上の流れにより、コスト最小で符号化することが出来るMVD候補のインデクスを選択できるのである。
なぜなら、このように符号化された動きベクトルの復号時、選択情報が符号化されているか否かを判定するために、MVDが先に必要となるからである。
図10(A)、(B)は、選択情報判定方法2、インデクス選択方法2を採用する場合の、MVDと選択情報の多重化形式の例である。これらの多重化形式においては、PMVの選択情報が成分ごとに独立して符号化される。また、各成分のMVDを符号化した後に、対応する選択情報が符号化されているのが分かる。
なお、選択情報判定方法2、インデクス選択方法1を採用する場合については例示しない。なぜなら、上述のとおり、選択情報の付与・非付与の判定を成分ごとに行うと、使用インデクスの選択をベクトルごとに行うことが必ずしも可能とは限らなくなるため、前記方法の組み合わせが採用されることは実際には起こりえないからである。
図2は、本発明の実施形態における復号装置の構成の概要を示すブロック図である。
図示の復号装置21において、符号化装置11と同一のブロックには、同一符号を付し、その説明は省略する。22は、動きベクトル符号化データを入力し、MVDを復号、結果を後段に出力する、MVD復号部である。23は、選択情報付与情報と動きベクトル符号化データを入力として、PMVを特定するためのインデクスを導出、前記インデクスを後段に出力する、インデクス再生部である。24は、PMV候補とインデクスとMVDを入力とし、動きベクトルを再生し、後段に出力する、動きベクトル再生部である。動きベクトル再生部24はさらに、再生された動きベクトルをメモリ部12に保存する。
動きベクトルの復号処理開始後、まず、MVD復号部22にて、動きベクトル符号化データからMVDを抽出、復号する(ステップS21)。
次に、PMV候補抽出部13にて、メモリ部12に保持されている既に復号済みの動きベクトルの中からPMV候補3つを選択、抽出する(ステップS22)。このとき、各PMV候補にはインデクスを付与する。前記インデクスの付与の方法は、符号化処理におけるインデクスの付与の方法と同一であるとする。
次に、インデクス再生部23にて、PMV候補を特定するためのインデクスを再生、出力する(ステップS24)。
インデクス再生部23は、ステップS23にて生成された選択情報付与情報がPMVの選択情報が符号化されていないことを示す場合は、動きベクトル符号化データからは何も読み出さず、無条件でPMV候補のメジアンを指し示すインデクスを後段に出力する。
最後に、ステップS25にて再生された動きベクトルを、以降の動きベクトル再生におけるPMV候補として再利用するため、メモリ部12に保持して処理を終了する(ステップS26)。
まず、本発明の実施例1としての符号化装置について説明する。なお、本実施例における符号化装置の構成の概要は図1と同様であり、その動作の概要についても既に説明したとおりなので、ここでは、MVD偏差評価部15の動作の詳細に限って説明を行うこととする。
図3は、上述した符号化装置11、復号装置21における、MVD偏差評価部15のより詳細な構成を示すブロック図である。図3において、31は、M個のPMV候補を入力し、所定の方法でPMV候補の偏差(PMV偏差)を計算し、結果を後段に出力する、PMV候補偏差計算部である。なお、本発明の記載において「偏差」とは、標準となる数値からのばらつき、のことを指す。PMV候補における前記標準とは、例えば、メジアンなどが妥当であろう。32は、MVD候補(復号時は「候補」ではなく正式なMVD)を入力し、所定の方法でMVDの値をPMV候補の偏差と同一オーダーの値に変換し、後段に出力する、MVD変換部である。以下、変換されたMVDの値を変換MVDと呼ぶ。33は、PMV偏差と変換MVDを入力とし、両者の差分を所定の閾値と比較、前記比較結果に基づいて選択情報の付与・非付与を判定し、選択情報付与情報を生成、出力する、比較部である。
処理開始後、まず、PMV候補偏差計算部31にて、PMV偏差を計算する(ステップS31)。具体的には、PMV候補のメジアンと前記メジアンから最も離れたPMV候補との差分を導出し、前記差分をMVDの符号表で符号化するのに掛かるビット数を以って、PMV偏差とする方法などが挙げられる(PMV偏差計算方法1)。その他、前記従来技術と同様PMV候補の分散、PMV候補の標準偏差、PMV候補の最大と最小との差分、あるいは前記差分をMVDの符号表で符号化するのに掛かるビット数など、PMV候補間のばらつきを表現する値であれば、何をPMV偏差としても構わない。以下では、PMV偏差計算方法1によりPMV偏差を計算することを前提に説明を行う。
次に、比較部33にて、PMV偏差と変換MVDの差を求め、所定の閾値THR1以上か否かを判定する(ステップS33)。
前記判定結果が「閾値THR1未満」の場合は(ステップS33/NO)、選択情報の非付与を示す選択情報付与情報を出力し(ステップS34)、処理を終了する。
他方、前記判定結果が「閾値THR1以上」の場合は(ステップS33/YES)、選択情報の付与を示す選択情報付与情報を出力し(ステップS35)、処理を終了する。
1つの動きベクトルの符号化において、図8に示す動作フローチャートの処理が、3つのMVD候補それぞれを入力として呼び出される。
インデクス付与方法1に従って、PMV候補にインデクスが付与されているとするなら、インデクス0、1、2のPMV候補は、それぞれ−4、−7、−1である。また、符号化対象の動きベクトルは−8であるから、対応するMVD候補は、それぞれ−4、−1、−7となる。
インデクス1のMVD候補「−1」について、図8に示すフローチャートの処理を呼び出すと、変換MVDは、図14に示す符号表より、「3ビット」となる。また、ステップS33の計算結果は2ビット(≧THR1)となるため、図3のMVD偏差評価部15は、選択情報の「付与」を示す選択情報付与情報を出力する。
インデクス2のMVD候補「−7」について、図8に示すフローチャートの処理を呼び出すと、変換MVDは、図14に示す符号表より、「7ビット」となる。また、ステップS33の計算結果は−2ビット(<THR1)となるため、図3のMVD偏差評価部15は、選択情報の「非付与」を示す選択情報付与情報を出力する。
図12(A)は、符号化パターン1についての動きベクトル符号化において、図10(A)に示す多重化形式で出力した場合の動きベクトル符号化データの例である。
符号化パターン2においては、符号化対象の動きベクトル、各PMV候補ともに、それぞれの水平成分、垂直成分の値が等しいため、いずれの成分についても同じ処理が施されることになる。よって以下では、一方の成分だけを抽出して説明を行う。
PMV偏差計算方法1によると、PMV候補のメジアンは−4、メジアンから最も離れたPMV候補は−5(あるいは−3)であり、差分は−1(あるいは1)、この差分を図14に示す符号表で符号化すると3ビット所要するため、PMV偏差は「3ビット」となる。
インデクス付与方法1に従って、PMV候補にインデクスが付与されているとするなら、インデクス0、1、2のPMV候補は、それぞれ−4、−5、−3である。また、符号化対象の動きベクトルは−9であるから、対応するMVD候補は、それぞれ−5、−4、−6となる。
インデクス1のMVD候補「−4」について、図8に示すフローチャートの処理を呼び出すと、変換MVDは、図14に示す符号表より、「7ビット」となる。また、ステップS33の計算結果は−4ビット(<THR1)となるため、図3のMVD偏差評価部15は、選択情報の「非付与」を示す選択情報付与情報を出力する。
インデクス2のMVD候補「−6」について、図8に示すフローチャートの処理を呼び出すと、変換MVDは、図14に示す符号表より、「7ビット」となる。また、ステップS33の計算結果は−4ビット(<THR1)となるため、図3のMVD偏差評価部15は、選択情報の「非付与」を示す選択情報付与情報を出力する。
図12(B)は、符号化パターン2についての動きベクトル符号化において、図10(A)に示す多重化形式で出力した動きベクトルの符号化データの例である。選択情報は付与されないため、MVDの水平成分、垂直成分のみが多重化されている。
符号化パターン3においても、符号化対象の動きベクトル、各PMV候補ともに、それぞれの水平成分、垂直成分の値が等しいため、いずれの成分についても同じ処理が施されることになる。よって以下では、一方の成分だけを抽出して説明を行う。
PMV偏差については、PMV候補の内容が符号化パターン1と全く同じであるため、「5ビット」となる。
インデクス付与方法1に従って、PMV候補にインデクスが付与されているとするなら、インデクス0、1、2のPMV候補は、それぞれ−4、−7、−1である。また、対応するMVD候補は、それぞれ−11、−8、−14となる。
インデクス1のMVD候補「−8」について、図8に示すフローチャートの処理を呼び出すと、変換MVDは、図14に示す符号表より、「9ビット」となる。また、ステップS33の計算結果は−4ビット(<THR1)となるため、図3のMVD偏差評価部15は、選択情報の「非付与」を示す選択情報付与情報を出力する。
インデクス2のMVD候補「−14」について、図8に示すフローチャートの処理を呼び出すと、変換MVDは、図14に示す符号表より、「9ビット」となる。また、ステップS33の計算結果は−4ビット(<THR1)となるため、図3のMVD偏差評価部15は、選択情報の「非付与」を示す選択情報付与情報を出力する。
図12(C)は、符号化パターン3についての動きベクトル符号化において、図10(A)に示す多重化形式で出力した動きベクトル符号化データの例である。選択情報は付与されないため、MVDの水平成分、垂直成分のみが多重化されている。
次に、本発明の実施例2としての復号装置について説明する。なお、本実施例における復号装置の構成の概要を示すブロック図は、図2に示すとおりであり、また、同復号装置におけるMVD偏差評価部は図3にそれぞれ示したとおりである。それらの動作の概要についても既述したとおりなので説明は省略し、ここでは、本発明の実施例1に記載の符号化装置によって符号化された図12に示す動きベクトル符号化データが、本実施例の復号装置によって正しく復号できることを証明する。
次に、PMV候補抽出部13にて、PMV候補3つを選択、抽出する。ここで、既に復号済みの動きベクトルが正しいものであると仮定すると、符号化時と同様、インデクス付与方法1に従ってインデクス0、1、2が付与されるPMV候補はそれぞれ(−4、−4)、(−7、−7)、(−1、−1)となる。
ここで、MVD、各PMV候補ともに、それぞれの水平成分、垂直成分の値が等しいため、いずれの成分についても同じ処理が施されることになる。よって以下では、一方の成分だけを抽出して説明を行う。
動きベクトル再生部24は、インデクス1のPMV候補「−7」と、MVD「−1」とを加算することにより、動きベクトル「−8」(水平成分、垂直成分とも)を再生する。
この再生された動きベクトルは、本発明の実施例1に記載の符号化装置が、図12(A)に示す動きベクトル符号化データを生成、出力した際の、入力動きベクトルと合致する。
復号処理開始後、まず、MVD復号部22にて、MVDの水平成分、垂直成分を復号する。復号に際しては、図14に示す符号表を用いる。すると、MVD(−5、−5)が得られる。
次に、PMV候補抽出部13にて、PMV候補3つを選択、抽出する。ここで、既に復号済みの動きベクトルが正しいものであると仮定すると、符号化時と同様、インデクス付与方法1に従ってインデクス0、1、2が付与されるPMV候補はそれぞれ(−4、−4)、(−5、−5)、(−3、−3)となる。
ここで、MVD、各PMV候補ともに、それぞれの水平成分、垂直成分の値が等しいため、いずれの成分についても同じ処理が施されることになる。よって以下では、一方の成分だけを抽出して説明を行う。
次に、インデクス再生部23にて、インデクスを再生する。前記判定において、PMV候補を選択する選択情報が符号化されていないことが分かったので、PMV候補のメジアンを選択するインデクス0がPMV候補を特定するインデクスとして得られる。
動きベクトル再生部24は、インデクス0のPMV候補「−4」と、MVD「−5」とを加算することにより、動きベクトル「−9」(水平成分、垂直成分とも)を再生する。
この再生された動きベクトルは、本発明の実施例1に記載の符号化装置が、図12(B)に示す動きベクトル符号化データを生成、出力した際の、入力動きベクトルと合致する。
復号処理開始後、まず、MVD復号部22にて、MVDの水平成分、垂直成分を復号する。復号に際しては、図14に示す符号表を用いる。すると、MVD(−11、−11)が得られる。
次に、PMV候補抽出部13にて、PMV候補3つを選択、抽出する。ここで、既に復号済みの動きベクトルが正しいものであると仮定すると、符号化時と同様、インデクス付与方法1に従ってインデクス0、1、2が付与されるPMV候補はそれぞれ(−4、−4)、(−7、−7)、(−1、−1)となる。
次に、MVD偏差評価部15にて、上記PMV候補と上記MVDを用いて、図8に示すフローチャートの処理を呼び出す。PMV偏差計算方法1によると得られるPMV偏差は「5ビット」、図14に示す符号表よるとMVD「−11」についての変換MVDは「9ビット」となり、PMV偏差−変換MVDは、「−4ビット」となる。この値を、本発明の実施例1における符号化装置でも用いた閾値THR1=2ビットと比較すると、PMV偏差−変換MVD<閾値THR1、が成立し、結果、PMV候補を選択する選択情報は符号化されていないと判定される。
動きベクトル再生部24は、インデクス0のPMV候補「−4」と、MVD「−11」とを加算することにより、動きベクトル「−15」(水平成分、垂直成分とも)を再生する。
この再生された動きベクトルは、本発明の実施例1に記載の符号化装置が、図12(C)に示す動きベクトル符号化データを生成、出力した際の、入力動きベクトルと合致する。
次に、本発明の実施例3としての符号化装置について説明する。なお、本実施例における符号化装置の構成の概要を示すブロック図は、図1に示すとおりであり、その動作の概要についても既述したとおりなので説明は省略し、ここでは、MVD偏差評価部の動作の詳細に限って説明を行うこととする。
図4は、本発明の符号化装置、復号装置における、MVD偏差評価部のさらに詳細な別の構成を示すブロック図である。図4において、41は、MVD候補(復号時は「候補」ではなく正式なMVD)とPMV候補を入力し、両者を加算することで再生動きベクトルの候補を生成、後段に出力する、再生ベクトル候補計算部である。再生ベクトル候補計算部41は、再生動きベクトル候補をメモリ部12に保存する動作は行わないが、それ以外は復号装置21における動きベクトル再生部24と同等の処理を行う。42は、再生動きベクトル候補とPMV候補を入力し、両者の差分を再計算MVDとして計算、後段に出力する、MVD再計算部である。43は、合計M×M個の再計算MVDを入力し、前記再計算MVD間の偏差を所定の方法で求め、前記偏差を所定の閾値と比較、前記比較結果に基づいて選択情報の付与・非付与を判定し、選択情報付与情報を生成、出力する、再計算MVD偏差評価部である。
処理開始後、ループカウンタであるiを0〜2まで変化させて、ステップS41〜S43を繰り返し実行する(ループ1)。
ステップS42では、MVD再計算部42にて、ステップS41で求めた再生動きベクトルの候補RMViとjの値をインデクスに持つPMV候補であるPMVjとから、再計算MVDであるRMVDijを求める。
このようなステップS41〜S43で構成されるループ1の処理が終了すると、偏差DEV0、DEV1、DEV2が得られることになる。
他方、前記判定結果が「閾値THR3以上」の場合は(ステップS44/YES)、選択情報の付与を示す選択情報付与情報を出力し(ステップS46)、処理を終了する。
1つの動きベクトルの符号化において、図9に示す動作フローチャートの処理が、3つのMVD候補それぞれを入力として呼び出される。
まず、前記従来技術の説明における符号化パターン1について考える。
符号化パターン1においては、符号化対象の動きベクトル、各PMV候補ともに、それぞれの水平成分、垂直成分の値が等しいため、いずれの成分についても同じ処理が施されることになる。よって以下では、一方の成分だけを抽出して説明を行う。
インデクス0のMVD候補「−4」について、図9に示すフローチャートの処理を呼び出すと、その計算過程は以下のようになる。
RMVD00=RMV0−PMV0=(−8)−(−4)=−4
RMVD01=RMV0−PMV1=(−8)−(−7)=−1
RMVD02=RMV0−PMV2=(−8)−(−1)=−7
DEV0=(RMVD0jのメジアンの符号量)
−(RMVD0jの最小の符号量)
=(RMVD00の符号量)−(RMVD01の符号量)
=7ビット−3ビット=4ビット
RMVD10=RMV1−PMV0=(−11)−(−4)=−7
RMVD11=RMV1−PMV1=(−11)−(−7)=−4
RMVD12=RMV1−PMV2=(−11)−(−1)=−10
DEV1=(RMVD1jのメジアンの符号量)
−(RMVD1jの最小の符号量)
=(RMVD10の符号量)−(RMVD10、11の符号量)
=7ビット−7ビット=0ビット
RMVD20=RMV2−PMV0=(−5)−(−4)=−1
RMVD21=RMV2−PMV1=(−5)−(−7)=2
RMVD22=RMV2−PMV2=(−5)−(−1)=−4
DEV2=(RMVD2jのメジアンの符号量)
−(RMVD2jの最小の符号量)
=(RMVD20の符号量)−(RMVD20の符号量)
=3ビット−3ビット=0ビット
RMVD00=RMV0−PMV0=(−5)−(−4)=−1
RMVD01=RMV0−PMV1=(−5)−(−7)=2
RMVD02=RMV0−PMV2=(−5)−(−1)=−4
DEV0=(RMVD0jのメジアンの符号量)
−(RMVD0jの最小の符号量)
=(RMVD00の符号量)−(RMVD00の符号量)
=3ビット−3ビット=0ビット
RMVD10=RMV1−PMV0=(−8)−(−4)=−4
RMVD11=RMV1−PMV1=(−8)−(−7)=−1
RMVD12=RMV1−PMV2=(−8)−(−1)=−7
DEV1=(RMVD1jのメジアンの符号量)
−(RMVD1jの最小の符号量)
=(RMVD10の符号量)−(RMVD11の符号量)
=7ビット−3ビット=4ビット
RMVD20=RMV2−PMV0=(−2)−(−4)=2
RMVD21=RMV2−PMV1=(−2)−(−7)=5
RMVD22=RMV2−PMV2=(−2)−(−1)=−1
DEV2=(RMVD2jのメジアンの符号量)
−(RMVD2jの最小の符号量)
=(RMVD20の符号量)−(RMVD22の符号量)
=5ビット−3ビット=2ビット
RMVD00=RMV0−PMV0=(−11)−(−4)=−7
RMVD01=RMV0−PMV1=(−11)−(−7)=−4
RMVD02=RMV0−PMV2=(−11)−(−1)=−10
DEV0=(RMVD0jのメジアンの符号量)
−(RMVD0jの最小の符号量)
=(RMVD00の符号量)−(RMVD00、01の符号量)
=7ビット−7ビット=0ビット
RMVD10=RMV1−PMV0=(−14)−(−4)=−10
RMVD11=RMV1−PMV1=(−14)−(−7)=−7
RMVD12=RMV1−PMV2=(−14)−(−1)=−13
DEV1=(RMVD1jのメジアンの符号量)
−(RMVD1jの最小の符号量)
=(RMVD10の符号量)−(RMVD11の符号量)
=9ビット−7ビット=2ビット
RMVD20=RMV2−PMV0=(−8)−(−4)=−4
RMVD21=RMV2−PMV1=(−8)−(−7)=−1
RMVD22=RMV2−PMV2=(−8)−(−1)=−7
DEV2=(RMVD2jのメジアンの符号量)
−(RMVD2jの最小の符号量)
=(RMVD20の符号量)−(RMVD21の符号量)
=7ビット−3ビット=4ビット
上記の結果を受けて、図6に示すフローチャートの処理を、コスト=符号化に掛かるビット数、として呼び出すと、使用インデクスは「1」で、そのときのMVDと選択情報の合計コストは「5ビット」となり、水平、垂直の2成分の合計では「10ビット」となる。これは、固定的にメジアンをPMVとする場合と比べて、前記従来技術と同様「4ビット」の符号量削減効果があることが分かる。
本発明の実施例1に記載の符号化装置同様、図12(A)が、符号化パターン1についての動きベクトル符号化データである(多重化形式が図10(A)の場合)。
インデクス付与方法1に従って、PMV候補にインデクスが付与されているとするなら、インデクス0、1、2のPMV候補は、それぞれ−4、−5、−3である。また、対応するMVD候補は、それぞれ−5、−4、−6となる。
インデクス0のMVD候補「−5」について、図9に示すフローチャートの処理を呼び出すと、その計算過程は以下のようになる。
RMVD00=RMV0−PMV0=(−9)−(−4)=−5
RMVD01=RMV0−PMV1=(−9)−(−5)=−4
RMVD02=RMV0−PMV2=(−9)−(−3)=−6
DEV0=(RMVD0jのメジアンの符号量)
−(RMVD0jの最小の符号量)
=(RMVD00の符号量)−(RMVD00、01、02の符号量)
=7ビット−7ビット=0ビット
RMVD10=RMV1−PMV0=(−10)−(−4)=−6
RMVD11=RMV1−PMV1=(−10)−(−5)=−5
RMVD12=RMV1−PMV2=(−10)−(−3)=−7
DEV1=(RMVD1jのメジアンの符号量)
−(RMVD1jの最小の符号量)
=(RMVD10の符号量)−(RMVD10、11、12の符号量)
=7ビット−7ビット=0ビット
RMVD20=RMV2−PMV0=(−8)−(−4)=−4
RMVD21=RMV2−PMV1=(−8)−(−5)=−3
RMVD22=RMV2−PMV2=(−8)−(−3)=−5
DEV2=(RMVD2jのメジアンの符号量)
−(RMVD2jの最小の符号量)
=(RMVD20の符号量)−(RMVD21の符号量)
=7ビット−5ビット=2ビット
インデクス1のMVD候補「−4」について、図9に示すフローチャートの処理を呼び出すと、その計算過程は以下のようになる。
RMVD00=RMV0−PMV0=(−8)−(−4)=−4
RMVD01=RMV0−PMV1=(−8)−(−5)=−3
RMVD02=RMV0−PMV2=(−8)−(−3)=−5
DEV0=(RMVD0jのメジアンの符号量)
−(RMVD0jの最小の符号量)
=(RMVD00の符号量)−(RMVD01の符号量)
=7ビット−5ビット=2ビット
RMVD10=RMV1−PMV0=(−9)−(−4)=−5
RMVD11=RMV1−PMV1=(−9)−(−5)=−4
RMVD12=RMV1−PMV2=(−9)−(−3)=−6
DEV1=(RMVD1jのメジアンの符号量)
−(RMVD1jの最小の符号量)
=(RMVD10の符号量)−(RMVD10、11、12の符号量)
=7ビット−7ビット=0ビット
RMVD20=RMV2−PMV0=(−7)−(−4)=−3
RMVD21=RMV2−PMV1=(−7)−(−5)=−2
RMVD22=RMV2−PMV2=(−7)−(−3)=−4
DEV2=(RMVD2jのメジアンの符号量)
−(RMVD2jの最小の符号量)
=(RMVD20の符号量)−(RMVD20、21の符号量)
=5ビット−5ビット=0ビット
インデクス2のMVD候補「−6」について、図9に示すフローチャートの処理を呼び出すと、その計算過程は以下のようになる。
RMVD00=RMV0−PMV0=(−10)−(−4)=−6
RMVD01=RMV0−PMV1=(−10)−(−5)=−5
RMVD02=RMV0−PMV2=(−10)−(−3)=−7
DEV0=(RMVD0jのメジアンの符号量)
−(RMVD0jの最小の符号量)
=(RMVD00の符号量)−(RMVD00、01、02の符号量)
=7ビット−7ビット=0ビット
RMVD10=RMV1−PMV0=(−11)−(−4)=−7
RMVD11=RMV1−PMV1=(−11)−(−5)=−6
RMVD12=RMV1−PMV2=(−11)−(−3)=−8
DEV1=(RMVD1jのメジアンの符号量)
−(RMVD1jの最小の符号量)
=(RMVD10の符号量)−(RMVD10、11の符号量)
=7ビット−7ビット=0ビット
RMVD20=RMV2−PMV0=(−9)−(−4)=−5
RMVD21=RMV2−PMV1=(−9)−(−5)=−4
RMVD22=RMV2−PMV2=(−9)−(−3)=−6
DEV2=(RMVD2jのメジアンの符号量)
−(RMVD2jの最小の符号量)
=(RMVD20の符号量)−(RMVD20、21、22の符号量)
=7ビット−7ビット=0ビット
本発明の実施例1に記載の符号化装置同様、図12(B)が、符号化パターン2についての動きベクトル符号化データである(多重化形式が図10(A)の場合)。
インデクス付与方法1に従って、PMV候補にインデクスが付与されているとするなら、インデクス0、1、2のPMV候補は、それぞれ−4、−7、−1である。また、対応するMVD候補は、それぞれ−11、−8、−14となる。
インデクス0のMVD候補「−11」について、図9に示すフローチャートの処理を呼び出すと、その計算過程は以下のようになる。
RMVD00=RMV0−PMV0=(−15)−(−4)=−11
RMVD01=RMV0−PMV1=(−15)−(−7)=−8
RMVD02=RMV0−PMV2=(−15)−(−1)=−14
DEV0=(RMVD0jのメジアンの符号量)
−(RMVD0jの最小の符号量)
=(RMVD00の符号量)−(RMVD00、01、02の符号量)
=9ビット−9ビット=0ビット
RMVD10=RMV1−PMV0=(−18)−(−4)=−14
RMVD11=RMV1−PMV1=(−18)−(−7)=−11
RMVD12=RMV1−PMV2=(−18)−(−1)=−17
DEV1=(RMVD1jのメジアンの符号量)
−(RMVD1jの最小の符号量)
=(RMVD10の符号量)−(RMVD10、11の符号量)
=9ビット−9ビット=0ビット
RMVD20=RMV2−PMV0=(−12)−(−4)=−8
RMVD21=RMV2−PMV1=(−12)−(−7)=−5
RMVD22=RMV2−PMV2=(−12)−(−1)=−11
DEV2=(RMVD2jのメジアンの符号量)
−(RMVD2jの最小の符号量)
=(RMVD20の符号量)−(RMVD21の符号量)
=9ビット−7ビット=2ビット
インデクス1のMVD候補「−8」について、図9に示すフローチャートの処理を呼び出すと、その計算過程は以下のようになる。
RMVD00=RMV0−PMV0=(−12)−(−4)=−8
RMVD01=RMV0−PMV1=(−12)−(−7)=−5
RMVD02=RMV0−PMV2=(−12)−(−1)=−11
DEV0=(RMVD0jのメジアンの符号量)
−(RMVD0jの最小の符号量)
=(RMVD00の符号量)−(RMVD01の符号量)
=9ビット−7ビット=2ビット
RMVD10=RMV1−PMV0=(−15)−(−4)=−11
RMVD11=RMV1−PMV1=(−15)−(−7)=−8
RMVD12=RMV1−PMV2=(−15)−(−1)=−14
DEV1=(RMVD1jのメジアンの符号量)
−(RMVD1jの最小の符号量)
=(RMVD10の符号量)−(RMVD10、11、12の符号量)
=9ビット−9ビット=0ビット
RMVD20=RMV2−PMV0=(−9)−(−4)=−5
RMVD21=RMV2−PMV1=(−9)−(−7)=−2
RMVD22=RMV2−PMV2=(−9)−(−1)=−8
DEV2=(RMVD2jのメジアンの符号量)
−(RMVD2jの最小の符号量)
=(RMVD20の符号量)−(RMVD21の符号量)
=7ビット−5ビット=2ビット
インデクス2のMVD候補「−14」について、図9に示すフローチャートの処理を呼び出すと、その計算過程は以下のようになる。
RMVD00=RMV0−PMV0=(−18)−(−4)=−14
RMVD01=RMV0−PMV1=(−18)−(−7)=−11
RMVD02=RMV0−PMV2=(−18)−(−1)=−17
DEV0=(RMVD0jのメジアンの符号量)
−(RMVD0jの最小の符号量)
=(RMVD00の符号量)−(RMVD00、01の符号量)
=9ビット−9ビット=0ビット
RMVD10=RMV1−PMV0=(−21)−(−4)=−17
RMVD11=RMV1−PMV1=(−21)−(−7)=−14
RMVD12=RMV1−PMV2=(−21)−(−1)=−20
DEV1=(RMVD1jのメジアンの符号量)
−(RMVD1jの最小の符号量)
=(RMVD10の符号量)−(RMVD11の符号量)
=11ビット−9ビット=2ビット
RMVD20=RMV2−PMV0=(−15)−(−4)=−11
RMVD21=RMV2−PMV1=(−15)−(−7)=−8
RMVD22=RMV2−PMV2=(−15)−(−1)=−14
DEV2=(RMVD2jのメジアンの符号量)
−(RMVD2jの最小の符号量)
=(RMVD20の符号量)−(RMVD20、21、22の符号量)
=9ビット−9ビット=0ビット
上記の結果を受けて、図6に示すフローチャートの処理を、コスト=符号化に掛かるビット数、として呼び出すと、使用インデクスは「0」で、そのときのMVDと選択情報の合計コスト(このケースでは選択情報は0ビット)は「9ビット」となり、水平、垂直の2成分の合計では「18ビット」となる。これは、固定的にメジアンをPMVとする場合と同じ符号量となる。このことは、前記従来技術によると逆に符号量が増大していた問題を解決していることになる。
本発明の実施例1に記載の符号化装置同様、図12(C)が、符号化パターン3についての動きベクトル符号化データである(多重化形式が図10(A)の場合)。
符号化パターン4においても、符号化対象の動きベクトル、各PMV候補ともに、それぞれの水平成分、垂直成分の値が等しいため、いずれの成分についても同じ処理が施されることになる。よって以下では、一方の成分だけを抽出して説明を行う。
インデクス付与方法1に従って、PMV候補にインデクスが付与されているとするなら、インデクス0、1、2のPMV候補は、それぞれ−4、−7、−2である。また、対応するMVD候補は、それぞれ−4、−1、−6となる。
インデクス0のMVD候補「−4」について、図9に示すフローチャートの処理を呼び出すと、その計算過程は以下のようになる。
RMVD00=RMV0−PMV0=(−8)−(−4)=−4
RMVD01=RMV0−PMV1=(−8)−(−7)=−1
RMVD02=RMV0−PMV2=(−8)−(−2)=−6
DEV0=(RMVD0jのメジアンの符号量)
−(RMVD0jの最小の符号量)
=(RMVD00の符号量)−(RMVD01の符号量)
=7ビット−3ビット=4ビット
RMVD10=RMV1−PMV0=(−11)−(−4)=−7
RMVD11=RMV1−PMV1=(−11)−(−7)=−4
RMVD12=RMV1−PMV2=(−11)−(−2)=−9
DEV1=(RMVD1jのメジアンの符号量)
−(RMVD1jの最小の符号量)
=(RMVD10の符号量)−(RMVD10、11の符号量)
=7ビット−7ビット=0ビット
RMVD20=RMV2−PMV0=(−6)−(−4)=−2
RMVD21=RMV2−PMV1=(−6)−(−7)=1
RMVD22=RMV2−PMV2=(−6)−(−2)=−4
DEV2=(RMVD2jのメジアンの符号量)
−(RMVD2jの最小の符号量)
=(RMVD20の符号量)−(RMVD21の符号量)
=5ビット−3ビット=2ビット
インデクス1のMVD候補「−1」について、図9に示すフローチャートの処理を呼び出すと、その計算過程は以下のようになる。
RMVD00=RMV0−PMV0=(−5)−(−4)=−1
RMVD01=RMV0−PMV1=(−5)−(−7)=2
RMVD02=RMV0−PMV2=(−5)−(−2)=−3
DEV0=(RMVD0jのメジアンの符号量)
−(RMVD0jの最小の符号量)
=(RMVD00の符号量)−(RMVD00の符号量)
=3ビット−3ビット=0ビット
RMVD10=RMV1−PMV0=(−8)−(−4)=−4
RMVD11=RMV1−PMV1=(−8)−(−7)=−1
RMVD12=RMV1−PMV2=(−8)−(−2)=−6
DEV1=(RMVD1jのメジアンの符号量)
−(RMVD1jの最小の符号量)
=(RMVD10の符号量)−(RMVD11の符号量)
=7ビット−3ビット=4ビット
RMVD20=RMV2−PMV0=(−3)−(−4)=1
RMVD21=RMV2−PMV1=(−3)−(−7)=4
RMVD22=RMV2−PMV2=(−3)−(−2)=−1
DEV2=(RMVD2jのメジアンの符号量)
−(RMVD2jの最小の符号量)
=(RMVD20の符号量)−(RMVD20、22の符号量)
=3ビット−3ビット=0ビット
インデクス2のMVD候補「−6」について、図9に示すフローチャートの処理を呼び出すと、その計算過程は以下のようになる。
RMVD00=RMV0−PMV0=(−10)−(−4)=−6
RMVD01=RMV0−PMV1=(−10)−(−7)=−3
RMVD02=RMV0−PMV2=(−10)−(−2)=−8
DEV0=(RMVD0jのメジアンの符号量)
−(RMVD0jの最小の符号量)
=(RMVD00の符号量)−(RMVD01の符号量)
=7ビット−5ビット=2ビット
RMVD10=RMV1−PMV0=(−13)−(−4)=−9
RMVD11=RMV1−PMV1=(−13)−(−7)=−6
RMVD12=RMV1−PMV2=(−13)−(−2)=−11
DEV1=(RMVD1jのメジアンの符号量)
−(RMVD1jの最小の符号量)
=(RMVD10の符号量)−(RMVD11の符号量)
=9ビット−7ビット=2ビット
RMVD20=RMV2−PMV0=(−8)−(−4)=−4
RMVD21=RMV2−PMV1=(−8)−(−7)=−1
RMVD22=RMV2−PMV2=(−8)−(−2)=−6
DEV2=(RMVD2jのメジアンの符号量)
−(RMVD2jの最小の符号量)
=(RMVD20の符号量)−(RMVD21の符号量)
=7ビット−3ビット=4ビット
上記の結果を受けて、図6に示すフローチャートの処理を、コスト=符号化に掛かるビット数、として呼び出すと、使用インデクスは「1」で、そのときのMVDと選択情報の合計コストは「5ビット」となり、水平、垂直の2成分の合計では「10ビット」となる。
図13(A)は、符号化パターン4についての動きベクトル符号化において、図10(A)に示す多重化形式で出力した場合の動きベクトル符号化データの例である。
(RMVDi2の符号量)≧(RMVDi0の符号量)・・・(2)
が常に成立している。
そして、式(2)が成立するということは、符号化パターン4に示す動きベクトルの符号化において、インデクス2が使用インデクスとして選択される可能性はないと判断してよい、ということを意味するのである。その理由を以下に説明する。
BITS0=(RMVDi0の符号量)+(0または1ビット)・・・(3)
となる。
一方、インデクス2が使用インデクスであると仮定したときの符号量BITS2は、
BITS2=(RMVDi2の符号量)+(2ビット)・・・(4)
となる。ここで、式(2)〜(4)から、
BITS2>BITS0・・・(5)
が常に真となることが分かる。
つまり、符号化パターン4においては、インデクス0とインデクス1のみが区別できればよいため、例えば使用インデクスが0のときのビット列を「0」、使用インデクスが1のときのビット列を「1」、として符号化するならば、使用インデクスが「1」の場合の動きベクトルの符号化に掛かるビット数は成分ごとにさらに1ビットずつ削減することができ、結果、水平、垂直の2成分の合計で「8ビット」とすることができるのである。
図13(B)は、このときの動きベクトル符号化データを図10(A)に示す多重化形式で出力した場合の例である。
・使用インデクスを「1」とするとき、式(2)が任意のiについて成立する。
・使用インデクスを「2」とするとき、以下の式が任意のiについて成立する。
(RMVDi1の符号量)≧(RMVDi0の符号量)・・・(6)
のいずれかが成り立つか否かで判断できる。これらのいずれも成立しない場合には、依然としてインデクス1とインデクス2を区別して選択情報を符号化しなければならない。
次に、本発明の実施例4としての復号装置について説明する。なお、本実施例における復号装置の構成の概要を示すブロック図は図2に示すとおりであり、また、本発明の実施例3に記載の符号化装置及び本実施例の復号装置におけるMVD偏差評価部15′の詳細な構成を示すブロック図は、図4に示すとおりである。
図2に示した復号装置21および図4に示したMVD偏差評価部15′の動作については、既述したとおりなので説明は省略し、ここでは、本発明の実施例3に記載の符号化装置によって符号化された図12に示す動きベクトル符号化データが、本実施例の復号装置によって正しく復号できることを証明する。
復号処理開始後、まず、MVD復号部22にて、MVDの水平成分、垂直成分を復号する。復号に際しては、図14に示す符号表を用いる。すると、MVD(−1、−1)が得られる。
次に、PMV候補抽出部13にて、PMV候補3つを選択、抽出する。ここで、既に復号済みの動きベクトルが正しいものであると仮定すると、符号化時と同様、インデクス付与方法1に従ってインデクス0、1、2が付与されるPMV候補はそれぞれ(−4、−4)、(−7、−7)、(−1、−1)となる。
ここで、MVD、各PMV候補ともに、それぞれの水平成分、垂直成分の値が等しいため、いずれの成分についても同じ処理が施されることになる。よって以下では、一方の成分だけを抽出して説明を行う。
次に、MVD偏差評価部15′にて、上記PMV候補と上記MVDを用いて、図9に示すフローチャートの処理を呼び出すと、その計算過程は以下のようになる。
RMVD00=RMV0−PMV0=(−5)−(−4)=−1
RMVD01=RMV0−PMV1=(−5)−(−7)=2
RMVD02=RMV0−PMV2=(−5)−(−1)=−4
DEV0=(RMVD0jのメジアンの符号量)
−(RMVD0jの最小の符号量)
=(RMVD00の符号量)−(RMVD00の符号量)
=3ビット−3ビット=0ビット
RMVD10=RMV1−PMV0=(−8)−(−4)=−4
RMVD11=RMV1−PMV1=(−8)−(−7)=−1
RMVD12=RMV1−PMV2=(−8)−(−1)=−7
DEV1=(RMVD1jのメジアンの符号量)
−(RMVD1jの最小の符号量)
=(RMVD10の符号量)−(RMVD11の符号量)
=7ビット−3ビット=4ビット
RMVD20=RMV2−PMV0=(−2)−(−4)=2
RMVD21=RMV2−PMV1=(−2)−(−7)=5
RMVD22=RMV2−PMV2=(−2)−(−1)=−1
DEV2=(RMVD2jのメジアンの符号量)
−(RMVD2jの最小の符号量)
=(RMVD20の符号量)−(RMVD22の符号量)
=5ビット−3ビット=2ビット
次に、インデクス再生部23にて、インデクスを再生する。前記判定において、PMV候補を選択する選択情報が符号化されていることが分かったので、図16に示す符号表から、水平成分、垂直成分ともに、メジアンより小さいPMV候補を選択するインデクス、すなわちインデクス1がPMV候補を特定するインデクスとして得られる。
動きベクトル再生部24は、インデクス1のPMV候補「−7」と、MVD「−1」とを加算することにより、動きベクトル「−8」(水平成分、垂直成分とも)を再生する。
この再生された動きベクトルは、本発明の実施例3に記載の符号化装置が、図12(A)に示す動きベクトル符号化データを生成、出力した際の、入力動きベクトルと合致する。
復号処理開始後、まず、MVD復号部22にて、MVDの水平成分、垂直成分を復号する。復号に際しては、図14に示す符号表を用いる。すると、MVD(−5、−5)が得られる。
次に、PMV候補抽出部13にて、PMV候補3つを選択、抽出する。ここで、既に復号済みの動きベクトルが正しいものであると仮定すると、符号化時と同様、インデクス付与方法1に従ってインデクス0、1、2が付与されるPMV候補はそれぞれ(−4、−4)、(−5、−5)、(−3、−3)となる。
ここで、MVD、各PMV候補ともに、それぞれの水平成分、垂直成分の値が等しいため、いずれの成分についても同じ処理が施されることになる。よって以下では、一方の成分だけを抽出して説明を行う。
次に、MVD偏差評価部15′にて、上記PMV候補と上記MVDを用いて、図9に示すフローチャートの処理を呼び出すと、その計算過程は以下のようになる。
RMVD00=RMV0−PMV0=(−9)−(−4)=−5
RMVD01=RMV0−PMV1=(−9)−(−5)=−4
RMVD02=RMV0−PMV2=(−9)−(−3)=−6
DEV0=(RMVD0jのメジアンの符号量)
−(RMVD0jの最小の符号量)
=(RMVD00の符号量)−(RMVD00、01、02の符号量)
=7ビット−7ビット=0ビット
RMVD10=RMV1−PMV0=(−10)−(−4)=−6
RMVD11=RMV1−PMV1=(−10)−(−5)=−5
RMVD12=RMV1−PMV2=(−10)−(−3)=−7
DEV1=(RMVD1jのメジアンの符号量)
−(RMVD1jの最小の符号量)
=(RMVD10の符号量)−(RMVD10、11、12の符号量)
=7ビット−7ビット=0ビット
RMVD20=RMV2−PMV0=(−8)−(−4)=−4
RMVD21=RMV2−PMV1=(−8)−(−5)=−3
RMVD22=RMV2−PMV2=(−8)−(−3)=−5
DEV2=(RMVD2jのメジアンの符号量)
−(RMVD2jの最小の符号量)
=(RMVD20の符号量)−(RMVD21の符号量)
=7ビット−5ビット=2ビット
次に、インデクス再生部23にて、インデクスを再生する。前記判定において、PMV候補を選択する選択情報が符号化されていないことが分かったので、PMV候補のメジアンを選択するインデクス0がPMV候補を特定するインデクスとして得られる。
動きベクトル再生部24は、インデクス0のPMV候補「−4」と、MVD「−5」とを加算することにより、動きベクトル「−9」(水平成分、垂直成分とも)を再生する。
この再生された動きベクトルは、本発明の実施例3に記載の符号化装置が、図12(B)に示す動きベクトル符号化データを生成、出力した際の、入力動きベクトルと合致する。
復号処理開始後、まず、MVD復号部22にて、MVDの水平成分、垂直成分を復号する。復号に際しては、図14に示す符号表を用いる。すると、MVD(−11、−11)が得られる。
次に、PMV候補抽出部13にて、PMV候補3つを選択、抽出する。ここで、既に復号済みの動きベクトルが正しいものであると仮定すると、符号化時と同様、インデクス付与方法1に従ってインデクス0、1、2が付与されるPMV候補はそれぞれ(−4、−4)、(−7、−7)、(−1、−1)となる。
ここで、MVD、各PMV候補ともに、それぞれの水平成分、垂直成分の値が等しいため、いずれの成分についても同じ処理が施されることになる。よって以下では、一方の成分だけを抽出して説明を行う。
次に、MVD偏差評価部15′にて、上記PMV候補と上記MVDを用いて、図9に示すフローチャートの処理を呼び出すと、その計算過程は以下のようになる。
RMVD00=RMV0−PMV0=(−15)−(−4)=−11
RMVD01=RMV0−PMV1=(−15)−(−7)=−8
RMVD02=RMV0−PMV2=(−15)−(−1)=−14
DEV0=(RMVD0jのメジアンの符号量)
−(RMVD0jの最小の符号量)
=(RMVD00の符号量)−(RMVD00、01、02の符号量)
=9ビット−9ビット=0ビット
RMVD10=RMV1−PMV0=(−18)−(−4)=−14
RMVD11=RMV1−PMV1=(−18)−(−7)=−11
RMVD12=RMV1−PMV2=(−18)−(−1)=−17
DEV1=(RMVD1jのメジアンの符号量)
−(RMVD1jの最小の符号量)
=(RMVD10の符号量)−(RMVD10、11の符号量)
=9ビット−9ビット=0ビット
RMVD20=RMV2−PMV0=(−12)−(−4)=−8
RMVD21=RMV2−PMV1=(−12)−(−7)=−5
RMVD22=RMV2−PMV2=(−12)−(−1)=−11
DEV2=(RMVD2jのメジアンの符号量)
−(RMVD2jの最小の符号量)
=(RMVD20の符号量)−(RMVD21の符号量)
=9ビット−7ビット=2ビット
次に、インデクス再生部23にて、インデクスを再生する。前記判定において、PMV候補を選択する選択情報が符号化されていないことが分かったので、PMV候補のメジアンを選択するインデクス0がPMV候補を特定するインデクスとして得られる。
なお、図13(A)で示される動きベクトル符号化データについては、図12(A)で示される動きベクトル符号化データとほぼ同様にして復号できるため、説明を省略する。
最後に、図13(B)で示される動きベクトル符号化データを復号することを考える。
復号処理開始後、まず、MVD復号部22にて、MVDの水平成分、垂直成分を復号する。復号に際しては、図14に示す符号表を用いる。すると、MVD(−1、−1)が得られる。
ここで、MVD、各PMV候補ともに、それぞれの水平成分、垂直成分の値が等しいため、いずれの成分についても同じ処理が施されることになる。よって以下では、一方の成分だけを抽出して説明を行う。
次に、MVD偏差評価部15′にて、上記PMV候補と上記MVDを用いて、図9に示すフローチャートの処理を呼び出すと、その計算過程は以下のようになる。
RMVD00=RMV0−PMV0=(−5)−(−4)=−1
RMVD01=RMV0−PMV1=(−5)−(−7)=2
RMVD02=RMV0−PMV2=(−5)−(−2)=−3
DEV0=(RMVD0jのメジアンの符号量)
−(RMVD0jの最小の符号量)
=(RMVD00の符号量)−(RMVD00の符号量)
=3ビット−3ビット=0ビット
RMVD10=RMV1−PMV0=(−8)−(−4)=−4
RMVD11=RMV1−PMV1=(−8)−(−7)=−1
RMVD12=RMV1−PMV2=(−8)−(−2)=−6
DEV1=(RMVD1jのメジアンの符号量)
−(RMVD1jの最小の符号量)
=(RMVD10の符号量)−(RMVD11の符号量)
=7ビット−3ビット=4ビット
RMVD20=RMV2−PMV0=(−3)−(−4)=1
RMVD21=RMV2−PMV1=(−3)−(−7)=4
RMVD22=RMV2−PMV2=(−3)−(−2)=−1
DEV2=(RMVD2jのメジアンの符号量)
−(RMVD2jの最小の符号量)
=(RMVD20の符号量)−(RMVD20、22の符号量)
=3ビット−3ビット=0ビット
次に、インデクス再生部23にて、インデクスを再生する。前記判定において、PMV候補を選択する選択情報が符号化されていることが分かったので、まず1ビットだけを復号する。復号されたビット列の内容は「1」であるため、次に前記式(2)あるいは前記式(6)が成立するか否かを判定する。結果、式(2)のみが成立すると判定されるため、インデクス2が選択される可能性はない。よって、これ以上ビット列を読み出す必要はなく、インデクス1がPMV候補を特定するインデクスとして確定する。全く同じ処理が、水平、垂直の2成分に対して行われる。
動きベクトル再生部24は、インデクス1のPMV候補「−7」と、MVD「−1」とを加算することにより、動きベクトル「−8」(水平成分、垂直成分とも)を再生する。
この再生された動きベクトルは、本発明の実施例3に記載の符号化装置が、図13(B)に示す動きベクトル符号化データを生成、出力した際の、入力動きベクトルと合致する。
Claims (6)
- 所定の動きベクトルの符号化に際し、既に符号化済みの所定のM個(Mは2以上の自然数)の動きベクトルを予測動きベクトル候補とし、前記予測動きベクトル候補の中から符号化に用いる予測動きベクトルを選択し、
前記所定の動きベクトルと前記予測動きベクトルとの差分を符号化する符号化装置であって、
前記所定の動きベクトルと前記予測動きベクトル候補との差分候補を求める差分計算部と、
前記予測動きベクトル候補間の距離の符号化に必要な符号量と前記差分候補の符号化に必要な符号量との差を所定の閾値と比較し、予測動きベクトルの選択情報を付与するか否かを判定する選択情報付与判定部と、
前記選択情報と前記差分候補の符号化に必要な符号量から、符号化する差分を選択し、前記差分の計算に用いる予測動きベクトルを選択する予測動きベクトル選択部と、
前記差分を符号化する差分符号化部と、
前記選択情報を付与する場合には前記選択情報を符号化する選択情報符号化部と、を備えることを特徴とする符号化装置。 - 前記予測動きベクトル選択部は、前記選択情報付与判定部が前記選択情報を付与しないと判定した場合には、前記予測動きベクトル候補の中から所定の基準選択方法にて予測動きベクトルを選択することを特徴とする請求項1に記載の符号化装置。
- 前記所定の基準選択方法とは、前記予測動きベクトル候補のメジアンを予測動きベクトルとして選択することであることを特徴とする請求項2に記載の符号化装置。
- 所定の動きベクトルの復号に際し、符号化されている差分を復号し、既に復号済みの所定のM個(Mは2以上の自然数)の動きベクトルを予測動きベクトル候補とし、前記予測動きベクトル候補の中から復号に用いる予測動きベクトルを選択し、前記差分と前記予測動きベクトルを足し合わせることで前記所定の動きベクトルを復号する復号装置であって、
前記差分を復号する差分復号部と、
前記差分の符号量と前記予測動きベクトル候補間の距離の符号化に必要な符号量との差を所定の閾値と比較し、予測動きベクトルの選択情報が存在するか否かを判定する選択情報存在判定部と、
前記判定の結果が前記選択情報の存在を示す場合には前記選択情報を復号する選択情報復号部と、
前記選択情報が存在する場合は、前記選択情報を利用して予測動きベクトルを決定する予測動きベクトル決定部と、を備えることを特徴とする復号装置。 - 前記予測動きベクトル決定部は、前記選択情報が存在しない場合には前記予測動きベクトル候補の中から所定の基準選択方法にて予測動きベクトルを選択して決定することを特徴とする請求項4に記載の復号装置。
- 前記所定の基準選択方法とは、前記予測動きベクトル候補のメジアンを予測動きベクトルとして選択することであることを特徴とする請求項5に記載の復号装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007048279A JP5025286B2 (ja) | 2007-02-28 | 2007-02-28 | 符号化装置及び復号装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007048279A JP5025286B2 (ja) | 2007-02-28 | 2007-02-28 | 符号化装置及び復号装置 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2008211697A JP2008211697A (ja) | 2008-09-11 |
JP2008211697A5 JP2008211697A5 (ja) | 2009-05-28 |
JP5025286B2 true JP5025286B2 (ja) | 2012-09-12 |
Family
ID=39787612
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007048279A Expired - Fee Related JP5025286B2 (ja) | 2007-02-28 | 2007-02-28 | 符号化装置及び復号装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5025286B2 (ja) |
Families Citing this family (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5422168B2 (ja) * | 2008-09-29 | 2014-02-19 | 株式会社日立製作所 | 動画像符号化方法および動画像復号化方法 |
US9628794B2 (en) | 2009-06-18 | 2017-04-18 | Kabushiki Kaisha Toshiba | Video encoding apparatus and a video decoding apparatus |
EP3809703B1 (en) | 2009-06-18 | 2023-09-13 | Kabushiki Kaisha Toshiba | Video encoding |
WO2011034148A1 (ja) * | 2009-09-18 | 2011-03-24 | シャープ株式会社 | 符号化装置、復号装置、動画像符号化装置、動画像復号装置、および符号化データ |
US20120207221A1 (en) * | 2009-10-16 | 2012-08-16 | Tomoko Aono | Video coding device and video decoding device |
JPWO2011061880A1 (ja) * | 2009-11-19 | 2013-04-04 | 三菱電機株式会社 | 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法 |
KR101768207B1 (ko) * | 2010-01-19 | 2017-08-16 | 삼성전자주식회사 | 축소된 예측 움직임 벡터의 후보들에 기초해 움직임 벡터를 부호화, 복호화하는 방법 및 장치 |
JP6523494B2 (ja) * | 2010-01-19 | 2019-06-05 | サムスン エレクトロニクス カンパニー リミテッド | 縮小された予測動きベクトルの候補に基づいて、動きベクトルを符号化/復号化する方法及び装置 |
JPWO2011104993A1 (ja) * | 2010-02-24 | 2013-06-17 | シャープ株式会社 | 画像符号化装置、及び画像復号装置 |
WO2011125411A1 (ja) * | 2010-04-01 | 2011-10-13 | ソニー株式会社 | 画像処理装置および方法 |
KR101914018B1 (ko) * | 2010-09-30 | 2018-10-31 | 미쓰비시덴키 가부시키가이샤 | 동화상 복호 장치, 동화상 복호 방법, 동화상 부호화 장치, 동화상 부호화 방법 및 기록 매체 |
WO2012070857A2 (ko) | 2010-11-25 | 2012-05-31 | 엘지전자 주식회사 | 영상 정보의 시그널링 방법 및 이를 이용한 영상 정보의 복호화 방법 |
US11284081B2 (en) | 2010-11-25 | 2022-03-22 | Lg Electronics Inc. | Method for signaling image information, and method for decoding image information using same |
JP2012124591A (ja) * | 2010-12-06 | 2012-06-28 | Sony Corp | 画像符号化装置と動きベクトル符号化方法、画像復号化装置と動きベクトル復号化方法、およびプログラム |
JP2012124580A (ja) * | 2010-12-06 | 2012-06-28 | Sony Corp | 画像処理装置および方法 |
GB2487200A (en) * | 2011-01-12 | 2012-07-18 | Canon Kk | Video encoding and decoding with improved error resilience |
JP2012151576A (ja) | 2011-01-18 | 2012-08-09 | Hitachi Ltd | 画像符号化方法、画像符号化装置、画像復号方法及び画像復号装置 |
PL2675167T3 (pl) | 2011-02-10 | 2018-11-30 | Sun Patent Trust | Sposób kodowania ruchomych obrazów, urządzenie do kodowania ruchomych obrazów, sposób dekodowania ruchomych obrazów, urządzenie do dekodowania ruchomych obrazów oraz urządzenie do kodowania i dekodowania ruchomych obrazów |
PL2698999T3 (pl) | 2011-04-12 | 2017-10-31 | Sun Patent Trust | Sposób kodowania ruchomych obrazów, urządzenie do kodowania ruchomych obrazów, sposób dekodowania ruchomych obrazów, urządzenie do dekodowania ruchomych obrazów, oraz urządzenie do kodowania/dekodowania ruchomych obrazów |
KR20120118780A (ko) * | 2011-04-19 | 2012-10-29 | 삼성전자주식회사 | 다시점 비디오의 움직임 벡터 부호화 방법 및 장치, 그 복호화 방법 및 장치 |
US9485518B2 (en) | 2011-05-27 | 2016-11-01 | Sun Patent Trust | Decoding method and apparatus with candidate motion vectors |
ES2959039T3 (es) | 2011-05-27 | 2024-02-19 | Sun Patent Trust | Aparato, procedimiento y programa para codificar imágenes en movimiento |
MX2013012209A (es) * | 2011-05-31 | 2013-11-01 | Panasonic Corp | Metodo de codificacion de video, aparato de codificacion de video, metodo de decodificacion de video, aparato de decodificacion de video y aparato de codificacion/decodificacion de video. |
CA2806796C (en) | 2011-06-24 | 2020-08-25 | Panasonic Corporation | Image coding and decoding using two-part horizontal and two-part vertical components of motion difference vectors |
MY181718A (en) * | 2011-06-30 | 2021-01-05 | Sun Patent Trust | Image decoding method, image encoding method, image decoding device, image encoding device, and image encoding/decoding device |
PL3419290T3 (pl) * | 2011-06-30 | 2021-05-31 | JVC Kenwood Corporation | Urządzenie do kodowania obrazu, sposób kodowania obrazu, program do kodowania obrazu, urządzenie do dekodowania obrazu, sposób dekodowania obrazu i program do dekodowania obrazu |
US10536701B2 (en) * | 2011-07-01 | 2020-01-14 | Qualcomm Incorporated | Video coding using adaptive motion vector resolution |
CA2843560C (en) | 2011-08-03 | 2020-09-22 | Panasonic Corporation | Video encoding method, video encoding apparatus, video decoding method, video decoding apparatus, and video encoding/decoding apparatus |
CN103024370B (zh) * | 2011-09-23 | 2018-03-23 | 中兴通讯股份有限公司 | 一种运动矢量二次压缩编解码方法及装置 |
IN2014CN02602A (ja) | 2011-10-19 | 2015-08-07 | Panasonic Corp | |
KR20130050405A (ko) | 2011-11-07 | 2013-05-16 | 오수미 | 인터 모드에서의 시간 후보자 결정방법 |
MY169873A (en) | 2012-07-02 | 2019-05-28 | Samsung Electronics Co Ltd | Method and apparatus for predicting motion vector for coding video or decoding video |
AU2013394857B2 (en) * | 2013-08-30 | 2018-04-19 | Komatsu Ltd. | Management system and management method for mining machine |
JP5788952B2 (ja) * | 2013-11-25 | 2015-10-07 | 日立マクセル株式会社 | 動画像復号化方法 |
JP5666028B2 (ja) * | 2014-01-20 | 2015-02-04 | 株式会社東芝 | 動画像復号化装置及び方法 |
JP5739026B2 (ja) * | 2014-01-20 | 2015-06-24 | 株式会社東芝 | 動画像符号化装置及び方法 |
JP5739025B2 (ja) * | 2014-01-20 | 2015-06-24 | 株式会社東芝 | 動画像復号化装置及び方法 |
JP5750191B2 (ja) * | 2014-10-15 | 2015-07-15 | 日立マクセル株式会社 | 画像復号化方法 |
JP5911982B2 (ja) * | 2015-02-12 | 2016-04-27 | 日立マクセル株式会社 | 画像復号化方法 |
JP5946980B1 (ja) * | 2016-03-30 | 2016-07-06 | 日立マクセル株式会社 | 画像復号化方法 |
JP5951915B2 (ja) * | 2016-03-30 | 2016-07-13 | 日立マクセル株式会社 | 画像復号化方法 |
JP6181242B2 (ja) * | 2016-06-08 | 2017-08-16 | 日立マクセル株式会社 | 画像復号化方法 |
KR20230051321A (ko) * | 2017-09-12 | 2023-04-17 | 삼성전자주식회사 | 움직임 정보의 부호화 및 복호화 방법, 및 움직임 정보의 부호화 및 복호화 장치 |
WO2019135648A1 (ko) * | 2018-01-08 | 2019-07-11 | 삼성전자 주식회사 | 움직임 정보의 부호화 및 복호화 방법, 및 움직임 정보의 부호화 및 복호화 장치 |
JP6862522B2 (ja) * | 2019-10-18 | 2021-04-21 | 株式会社東芝 | 動画像符号化装置及び動画像復号化装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100252342B1 (ko) * | 1997-08-12 | 2000-04-15 | 전주범 | 움직임 벡터 부호화 방법 및 그 장치 |
-
2007
- 2007-02-28 JP JP2007048279A patent/JP5025286B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008211697A (ja) | 2008-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5025286B2 (ja) | 符号化装置及び復号装置 | |
CN110169061B (zh) | 编解码电子装置与方法 | |
US10841609B1 (en) | Modification of motion vector with adaptive motion vector resolution | |
JP7096373B2 (ja) | 部分的コスト計算 | |
US11228784B2 (en) | Decoding method and apparatuses with candidate motion vectors | |
US10721474B2 (en) | Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus | |
US10412404B2 (en) | Image decoding method and image decoding apparatus using candidate motion vectors | |
US10097850B2 (en) | Method and apparatus for removing redundancy in motion vector predictors | |
US11109057B2 (en) | Overlapped block motion compensation based on blended predictors | |
US9113110B2 (en) | Method and apparatus for estimating motion vector using plurality of motion vector predictors, encoder, decoder, and decoding method | |
US11218708B2 (en) | Picture decoding method for decoding using a merging candidate selected from a first merging candidate derived using a first derivation process and a second merging candidate derived using a second derivation process | |
US10165298B1 (en) | Moving picture coding device, moving picture coding method, and moving picture coding program, and moving picture decoding device, moving picture decoding method, and moving picture decoding program | |
US11539940B2 (en) | Method and apparatus of multi-hypothesis in video coding | |
JP2009508388A (ja) | 多視点動映像を符号化及び復号化する装置及び方法 | |
US11863771B2 (en) | Updating of history based motion vector prediction tables | |
JP6288209B2 (ja) | 画像符号化装置 | |
JP2015053720A (ja) | 画像符号化装置、画像符号化方法及び画像符号化プログラム、並びに、送信装置、送信方法、及び送信プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090414 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090414 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101124 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101130 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110128 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111115 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120112 |
|
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: 20120619 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120619 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150629 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |