JP4523023B2 - 画像符号化装置および方法 - Google Patents

画像符号化装置および方法 Download PDF

Info

Publication number
JP4523023B2
JP4523023B2 JP2007205864A JP2007205864A JP4523023B2 JP 4523023 B2 JP4523023 B2 JP 4523023B2 JP 2007205864 A JP2007205864 A JP 2007205864A JP 2007205864 A JP2007205864 A JP 2007205864A JP 4523023 B2 JP4523023 B2 JP 4523023B2
Authority
JP
Japan
Prior art keywords
vector
information
motion
encoded
average
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.)
Active
Application number
JP2007205864A
Other languages
English (en)
Other versions
JP2009044350A (ja
Inventor
秀之 大古瀬
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2007205864A priority Critical patent/JP4523023B2/ja
Priority to US12/186,042 priority patent/US8548058B2/en
Publication of JP2009044350A publication Critical patent/JP2009044350A/ja
Application granted granted Critical
Publication of JP4523023B2 publication Critical patent/JP4523023B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/112Selection of coding mode or of prediction mode according to a given display mode, e.g. for interlaced or progressive display mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/533Motion estimation using multistep search, e.g. 2D-log search or one-at-a-time search [OTS]

Landscapes

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

Description

本発明は、画像符号化装置およびその方法に関し、特に、第1の符号化方式で符号化された画像を第2の符号化方式で再符号化する画像符号化装置および方法に関する。
近年、アナログテレビ放送等の標準品位テレビ(SDTV:Standard Definition TeleVision)のストリームをデジタル化し、さらに圧縮符号化してハードディスク(HDD:Hard Disk Drive)やDVD−RAM(Digital Versatile Disk Random Access Memory)等の光ディスクに記録するデジタルビデオレコーダが普及している。さらに、衛星放送や地上波のデジタルハイビジョンテレビ放送等の高品位テレビ(HDTV:High Definition TeleVision、以下、HDTVと記載。)のストリームを記録可能なデジタルビデオレコーダが商品化されはじめている。
HDTV放送ではMPEG(Moving Picture Experts Group)−2規格で符号化されたストリームが送信されている。HDTV放送を記録するときには、MPEG−2ストリームのままで記録する。あるいは、MPEG−2規格で符号化され復号化されたストリームの画像をDVD規格で規定された画像サイズに変換し、MPEG−2規格で再符号化して記録する方法が一般的である。また、MPEG−2規格で符号化され復号化されたストリームの画像をMPEG−2規格よりも符号化効率が高いH.264規格で再符号化して記録する方法もある。H.264規格で再符号化した場合、ビットレートを下げて記録したとしてもHDTVの画像サイズのままで画質劣化を抑えて記録できる。
しかし、H.264規格で符号化する場合、MPEG−2規格で符号化する場合に比べて動き補償の自由度が高く参照可能な画像が多いため処理量が膨大なものになる。
また、HDTV放送のようにHD(High Definition;高解像度)画像を符号化する場合には、動き検出を行う探索範囲を広くする必要があり、動き検出を行う探索範囲を広げるとSDTV放送を記録するときと比べるとさらに処理量が増大する。
HDTV放送の画像サイズは、SDTV放送の画像サイズの約6倍である。そのため、MPEG−2規格でHDTV放送を記録する場合でも、SDTV放送を記録する場合と同程度の動きベクトル検出性能を実現するためにはSDTV放送を記録するときと比べて約6倍の探索範囲が必要となる。
さらに、H.264規格でHDTV放送を記録(符号化)する場合、MPEG−2規格でHDTV放送を記録(符号化)する場合と比べると、符号化単位であるマクロブロック(MB:MACRO BLOCK)数は6倍であることから、36倍の処理量が必要となる。
また、MPEG−2規格では最大2フレーム(4フィールド)が参照できるのに対して、H.264規格では、動き補償を行うときに、最大16ピクチャを参照することが許されている。そのため、H.264規格ではMPEG−2規格に比べてより精度の高い動きベクトルを検出することが可能となる。しかし、H.264規格において、全ての参照ピクチャに対して動きベクトル検出を行うと、MPEG−2規格に対してさらに8倍の処理量が必要となる。以上のように、MPEG−2規格よりも符号化効率が高いH.264規格で再符号化する場合、MPEG−2規格で再符号化する場合と比べると処理量が膨大になってしまうという課題がある。
そこで、動き検出を行う探索範囲を狭めても精度の良い動きベクトルを検出して符号化する方法が提案されている(例えば、特許文献1)。
上記特許文献1の「デジタル画像符号化装置とこれに用いる動きベクトル検出装置」では、符号化時に既に符号化した画像の動きベクトル情報を用いることで動き検出を行う探索範囲を決定している。
特開平11−308617号公報
しかしながら、上記特許文献1では、過去に符号化した結果のみを用いて動き検出を行う探索範囲を狭めると、動きの方向が急に逆向きになる場合や動きに加速度を伴う場合に、画面全体の動きに追従できず、動きベクトルの検出精度が低下する。さらにまた、検出精度が低下した動きベクトルを用いて動き検出を行う探索範囲にフィードバックされるため、間違った情報を基に探索範囲を狭めることになり、さらに動き検出精度が低下することになる。そのため、探索範囲を充分に狭めることができない。
そこで、本発明は上記の事情に鑑みてなされたものであり、処理量を削減しつつ、精度の高い動きベクトルを検出して符号化することができる画像符号化装置および方法を提供することを目的とする。
上記目的を達成するために、本発明に係る画像符号化装置は、第1符号化方式で符号化された第1の符号化データを第2符号化方式で符号化された第2の符号化データに変換する画像符号化装置であって前記第1の符号化データを復号化し、動きベクトルを含む復号化情報と復号画像とを生成する復号化手段と、前記復号化手段が生成した復号画像を前記第2符号化方式で符号化し、動きベクトルを含む符号化情報と符号化画像とを含む第2の符号化データを生成する符号化手段と、前記復号化手段が生成した復号化情報を保持する復号化情報保持手段と、前記符号化手段が生成した符号化情報を保持する符号化情報保持手段と、前記復号化情報保持手段に保持された復号化情報に含まれる動きベクトルと前記符号化情報保持手段に保持された符号化情報に含まれる動きベクトルとから前記復号画像の動きを示す基本動き情報を生成する基本動き情報生成手段とを備え、前記符号化手段は、前記基本動き情報生成手段が生成した基本動き情報の示す動きによって指し示される範囲を探索範囲として決定し、決定した探索範囲内で前記復号画像の動きベクトルを検出し、検出した動きベクトルを含む符号化情報と符号化画像とを含む第2の符号化データを生成する。
この構成により、動きベクトルを検出する際に、入力ストリームの第1の符号化データの復号化情報あるいは再符号化したときの符号化情報が選択されて、動きベクトルを検出するのに利用可能な情報である基本動き情報として用いられることにより、動きベクトル検出を行う探索範囲を効果的に決定できる。すなわち、動きベクトル検出を行う探索範囲が基本動き情報を基に絞っても精度よく動きベクトルが検出できる。それ故、動きベクトル検出を行う探索範囲を狭めて処理量を削減しても、精度の高い動きベクトルを検出することが可能となる。それにより、処理量を削減しつつ、精度の高い動きベクトルを検出して符号化することができる画像符号化装置および方法を実現することができる。
また、前記基本動き情報生成手段は、前記復号化情報保持手段に保持された復号化情報に含まれる複数の動きベクトルと前記符号化情報保持手段に保持された符号化情報に含まれる複数の動きベクトルとから動きベクトルのばらつきの小さい方を選択して基本動き情報を生成してもよい。
この構成により、より精度の高い探索範囲を指し示す基本動き情報を生成することができる。
また、前記基本動き情報生成手段は、前記復号化情報に含まれる複数の動きベクトルを代表する第1の代表ベクトルと前記符号化情報に含まれる複数の動きベクトルを代表する第2の代表ベクトルとを生成する生成部と、前記第1あるいは前記第2の代表ベクトルを基本動き情報として選択することにより前記基本動き情報を生成する選択部とを備えてもよい。
この構成により、前記復号化情報に含まれる動きベクトルを代表するベクトルあるいは前記符号化情報に含まれる動きベクトルを代表するベクトルから選択することでより精度の高い探索範囲を指し示す基本動き情報を生成することができる。
また、前記生成部は、前記復号化情報から前記復号化情報に含まれるマクロブロックごとの動きベクトルを平均し、平均ベクトルを前記第1の代表ベクトルとして算出する第1の平均ベクトル算出部と、前記復号化デコード情報から前記復号化情報に含まれるマクロブロックごとの動きベクトルの分散を算出する第1のベクトル分散算出部と、前記符号化情報から前記符号化情報に含まれるマクロブロックごとの動きベクトルを平均し、平均ベクトルを前記第2の代表ベクトルとして算出する第2の平均ベクトル算出部と、前記符号化情報から前記符号化情報に含まれるマクロブロックごとの動きベクトルの分散を算出する第2のベクトル分散算出部とを備え、前記基本動き情報生成手段は、さらに、前記第1のベクトル分散算出部が算出したベクトルの分散の値と前記第2のベクトル分散算出部が算出したベクトルの分散の値とを比較する比較部を備え、前記選択部は、前記比較部の選択結果から、前記第1あるいは前記第2の代表ベクトルを選択して基本動き情報とすることより基本動き情報を生成してもよい。
また、前記選択部は、前記比較部の比較結果から、分散値が小さい方である前記第1の代表ベクトルあるいは前記第2の代表ベクトルを選択してもよい。
これら構成により、マクロブロックごとの動きベクトルの平均ベクトルを、マクロブロックごとの動きベクトルの分散値を比較することにより、復号化情報からの第1の代表ベクトルあるいは符号化情報からの第2の代表ベクトルを選択できるので、より精度の高い探索範囲を指し示す基本動き情報を生成することができる。
また、前記符号化情報保持手段は、前記符号化手段が符号化対象とする前記復号画像以前に符号化された復号画像の動きベクトルを含む符号化情報を保持し、前記生成部は、前記符号化情報保持手段が保持する前記復号画像の直前に符号化された復号画像の符号化情報から前記符号化情報に含まれる動きベクトルを代表する前記第2の代表ベクトルを生成してもよい。
この構成により、基本動き情報を符号化対象の復号画像の直前の符号化情報と復号化対象の復号画像の復号化情報とから生成することができ、より精度の高い探索範囲を指し示す基本動き情報を生成することができる。
また、前記第2の平均ベクトル算出部は、前記符号化手段で符号化対象となる前記復号画像と同じピクチャタイプで、前記符号化手段により前記復号画像の直前に符号化された復号画像の符号化情報から第2の代表ベクトルを生成してもよい。
この構成により、符号化情報からより符号化対象画像の動きベクトルに近い動きベクトルの代表する第2の代表ベクトルを生成することができる。
また、前記第1の平均ベクトル算出部は、符号化対象となる前記復号画像の前方予測方向におけるマクロブロックごとの動きベクトルの平均である平均ベクトルを前記復号化情報から算出し、前記第2の平均ベクトル算出部は、符号化対象となる前記復号画像の前方予測方向におけるマクロブロックごとの動きベクトルの平均である平均ベクトルを前記符号化情報から算出してもよい。
この構成より、前方予測方向における動きベクトルを代表する代表ベクトルを生成することで、より精度の高い探索範囲を指し示す基本動き情報を生成することができる。
また、前記第1の平均ベクトル算出部は、符号化対象となる前記復号画像の予測方向ごとにマクロブロックごとの動きベクトルの平均である平均ベクトルを前記復号化情報から算出し、前記第2の平均ベクトル算出部は、符号化対象となる前記復号画像の予測方向ごとにマクロブロックごとの動きベクトルの平均である平均ベクトルを前記符号化情報から算出し、前記第1の代表ベクトルは、前記第1の平均ベクトル算出部が算出した予測方向ごとの平均ベクトルである第1の前方方向および後方方向代表ベクトルとして生成され、前記第2の代表ベクトルは、前記第2の平均ベクトル算出部が算出した予測方向ごとの平均ベクトルである第2の前方方向および後方方向代表ベクトルとして生成されてもよい。
この構成より、予測方向ごとに動きベクトルを代表する代表ベクトルを生成することで、より精度の高い探索範囲を指し示す基本動き情報を生成することができる。
また、前記第1および前記第2の平均ベクトル算出部は、前記符号化手段がフレーム構造で符号化する場合、1フレーム間の距離の大きさと方向とで表現した基本ベクトルを用いて前記平均ベクトルを算出し、前記符号化手段がフィールド構造で符号化する場合、1フィールド間の距離の大きさと方向とで表現した基本ベクトルを用いて前記平均ベクトルを算出してもよい。
この構成より、前記符号化手段がフレーム構造あるいはフィールド構造で符号化する場合でも、マクロブロックの動きベクトルを代表する動きベクトルを算出することができ、より精度の高い探索範囲を指し示す基本動き情報を生成することができる。
また、前記生成部は、前記復号化情報から得られた符号化対象となる前記復号画像を2以上の領域に分割し、分割された領域ごとの動きベクトルの平均値を算出し、算出した動きベクトルの平均値の中で最も大きい平均値の動きベクトルを前記第1の代表ベクトルとし、前記符号化情報から得られた符号化対象となる前記復号画像を2以上の領域に分割し、分割された領域ごとの動きベクトルの平均値を算出し、算出した動きベクトルの平均値の中で最も大きい平均値の動きベクトルを前記第2の代表ベクトルとしてもよい。
この構成より、領域ごとの動きベクトルの中でより動きの大きいベクトルをもつ領域の平均ベクトルを代表ベクトルとして生成することができ、より精度の高い探索範囲を指し示す基本動き情報を生成することができる。
また、前記生成部は、前記復号化情報から得られる符号化対象となる前記復号画像を2以上の領域に分割し、分割された領域ごとの動きベクトルの平均値を算出し、算出した動きベクトルの平均値の中央値の動きベクトルを前記第1の代表ベクトルとし、前記符号化情報から得られる符号化対象となる前記復号画像を2以上の領域に分割し、分割された領域ごとの動きベクトルの平均値を算出し、算出した動きベクトルの平均値の中央値の動きベクトルを前記第2の代表ベクトルとしてもよい。
この構成より、領域ごとの動きベクトルの中で中央値となる領域の動きベクトルを代表ベクトルとして生成することができ、より精度の高い探索範囲を指し示す基本動き情報を生成することができる。
また、前記生成部は、前記復号化情報から得られる符号化対象となる前記復号画像を2以上の領域に分割し、分割された領域ごとに算出した動きベクトルの平均である平均ベクトルを大きさと方向とでグルーピングし、グルーピングされた平均ベクトルの個数が最も多いグループの動きベクトルの平均値を前記第1の代表ベクトルとし、前記符号化情報から得られる符号化対象となる前記復号画像を2以上の領域に分割し、分割された領域ごとに算出した動きベクトルの平均である平均ベクトルを大きさと方向とでグルーピングし、グルーピングされた平均ベクトルの個数が最も多いグループの動きベクトルの平均値を前記第2の代表ベクトルとしてもよい。
この構成より、基本動き情報生成手段は基本動き情報として、大きさと方向とでグルーピングした領域ごとの代表ベクトルを生成することができる。動きベクトルを検出する際に、入力ストリーム(第1の符号化データ)の復号化情報と再符号化したときの符号化情報とから得られる大きさと方向とでグルーピングした領域ごとの代表ベクトルが比較され、選択されて用いられることにより、動きベクトル検出を行う探索範囲を効果的に決定できる。
また、前記基本動き情報生成手段は、マクロブロックごとの動きベクトルの第1の平均ベクトルとマクロブロックごとの動きベクトルの第1の絶対値和平均を前記復号化情報から算出し、マクロブロックごとの動きベクトルの第2の平均ベクトルとマクロブロックごとの動きベクトルの第2の絶対値和平均を前記符号化情報から算出し、前記第1の絶対値和平均および前記第1の平均ベクトルあるいは前記第2の絶対値和平均および前記第2の平均ベクトルの差の小さい方の第1の平均ベクトルあるいは第2の平均ベクトルを選択し、前記基本動き情報として生成してもよい。
また、前記符号化部は、符号化対象画像と参照画像間の動きベクトルの総和を前記基本動き情報から算出し、参照画像ごとに前記動きベクトルの総和分だけずらした位置を中心として動きベクトル検出の探索範囲を決定してもよい。
なお、本発明は、装置として実現するだけでなく、このような装置が備える処理手段を備える集積回路として実現したり、その装置を構成する処理手段をステップとする方法として実現したり、それらステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、それらプログラム、情報、データおよび信号は、CD−ROM等の記録媒体やインターネット等の通信媒体を介して配信してもよい。
本発明によれば、動きベクトルを検出する際に、入力ストリームのデコード情報と、再符号化したときの符号化情報とに基づいて動き検出を行う探索範囲を決定することで、動き検出を行う探索範囲を狭めて処理量を削減しても、精度の高い動きベクトルを検出することが可能となる。それにより、処理量を削減しつつ、精度の高い動きベクトルを検出して符号化することができる画像符号化装置および方法を実現することができる。したがって、衛星放送や地上波のデジタルハイビジョンテレビ放送等の高品位テレビが普及しつつある今日における本発明の実用的価値は極めて高い。
(実施の形態1)
以下、本発明の実施の形態1について、図面を用いて説明する。
図1は、画像符号化装置100の構成を示すブロック図である。図1において、画像符号化装置100は、第1符号化方式で符号化された第1の符号化データを第2符号化方式で符号化された第2の符号化データに変換する画像符号化装置であって、復号化部102と、デコード情報保持部103と、符号化部104と、基本動き情報生成部105と、符号化情報保持部106とを備えている。
以下、第1の符号化データをMPEG−2規格で符号化された符号化データとし、第2の符号化データをH.264規格で符号化された符号化データとした場合を例として説明する。また、GOP(Group Of Picture)構成がフレーム構造である場合の表示順のフレームは、I、B、B、Pとなり、GOP構成がフィールド構造の場合の表示順のフィールドは、I、I、B、B、B、B、P、Pとなる場合を説明する。
復号化部102は、本発明に係る復号化手段に相当し、前記第1の符号化データを復号化し、動きベクトルを含む復号化情報と復号画像とを生成する。具体的には、入力された第1の符号化データを、MPEG−2規格のシンタックスに沿って復号する。ここで、シンタックスとは、圧縮符号化されたデータ列の規則であり、符号化されたデータのビットストリーム構成方法を示す。
復号化部102は、第1符号化データを復号化するときに第1符号化されたデータのストリームから、シーケンス全体の情報(Sequence header等)、GOPに関する情報(GOP header)、ピクチャ情報(Picture header等)、スライス情報(Slice)およびマクロブロック情報(Macroblock modes)等の輝度情報や動き情報を含む情報(以下、デコード情報と記載。)を抽出する。復号化部102は、抽出したデコード情報に基づいて入力された第1の符号化データを復号することで、復号画像を生成する。また、抽出した情報をデコード情報としてデコード情報保持部103に出力する。
ところで、MPEG−2規格では、画面間の動き補償を用いて符号化が行われるため、符号化された画像の記録順と画像の表示順が異なる場合がある。MPEG−2規格からH.264規格に変換して再符号化する復号化部102では、復号画像を表示順に並び替えて符号化部104に出力する場合と、符号化順のまま符号化部104に出力する場合が考えられる。例えば、MPEG−2規格で記録されている画像をその画像のピクチャタイプに相当するH.264規格のピクチャタイプで符号化する場合、動き予測時の参照関係がほぼ同じになるので、復号化部102では表示順に画像を並べ替える必要がない。
デコード情報保持部103は、本発明に係る復号化情報保持手段に相当し、前記復号化手段が生成した復号化情報を保持する。具体的には、復号化部102により抽出され出力されたデコード情報を、復号画像と関連づけて保持する。デコード情報保持部103から、復号画像と関連づけられたデコード情報が基本動き情報生成部105へ出力される。
ところで、H.264規格ではMPEG−2規格と同様に画面間の動き補償をマクロブロック、ブロックおよびサブブロックの7種類のブロックサイズを用いて行うことが可能である。一般的には上記の各ブロックサイズでブロックマッチングを行い、符号化対象のブロックと参照画像との間で差分絶対値和等の評価値が最も小さくなるブロック位置とブロックサイズを検出、すなわち、動き検出する。このブロックマッチングを行うときの探索範囲を基本動き情報から決定する。
符号化部104は、本発明に係る符号化手段に相当し、前記復号化手段が生成した復号画像を前記第2符号化方式で符号化し、動きベクトルを含む符号化情報と符号化画像とを含む第2の符号化データを生成する。具体的には、復号化部102で復号され復号化部102より入力された復号画像をH.264規格で符号化する。符号化部104は、符号化した復号画像を第2の符号化データ110として出力する。また、符号化部104は、復号画像を符号化するときに用いたマクロブロックタイプ、動きベクトル情報および量子化値等の輝度情報や動き情報を含む情報(以下、符号化情報と記載。)を符号化情報保持部106に出力する。なお、符号化部104が復号画像を符号化するときには、復号化部102がその復号画像を復号したときに用いたデコード情報あるいは、符号化部104が既に符号化した画像(符号化対象となる復号画像の前の画像)を符号化するときに用いた符号化情報のどちらか一方から生成された基本動き情報に基づいて動き検出の探索範囲を決定する。
符号化情報保持部106は、本発明に係る符号化情報保持手段に相当し、前記符号化手段が生成した符号化情報を保持する。具体的には、符号化部104より出力された符号化情報を保持する。符号化情報保持部106が保持している符号化情報は現在以降の画像を符号化するときに用いられる。
基本動き情報生成部105は、本発明に係る基本動き情報生成手段に相当し、前記復号化情報保持手段に保持された復号化情報に含まれる動きベクトルと前記符号化情報保持手段に保持された符号化情報に含まれる動きベクトルとから前記復号画像の動きを示す基本動き情報を生成する。具体的には、符号化対象となる画像(復号画像)についてのデコード情報と既に符号化した画像(符号化対象となる前の画像)についての符号化情報を用いて、画面の動きを表す動き情報である基本動き情報を生成する。基本動き情報生成部105は、デコード情報保持部103からのデコード情報に含まれる動きベクトルを代表する代表ベクトルと、符号化情報保持部106からの符号化情報に含まれる動きベクトルを代表する代表ベクトルとを比較する。基本動き情報生成部105は、所定の選択基準に基づいて、デコード情報に含まれる動きベクトルを代表する代表ベクトルあるいは符号化情報に含まれる動きベクトルを代表する代表ベクトルを選択する。基本動き情報生成部105は、選択した代表ベクトルに基づいて、基本動き情報を生成する。
なお、選択される代表ベクトルは、動きベクトルのよりそろっている方としている。
図2は、画像符号化装置100が符号化する場合の処理を説明するフローチャートである。
まず、符号化情報保持部106は、符号化部104が符号化対象となる復号画像の前の画像を符号化するときに用いた符号化情報を保持している。次に、復号化部102により符号化対象となる画像が復号化され、デコード情報保持部103は、符号化対象となる画像を復号化する際に用いられたデコード情報を保持している。
次に、基本動き情報生成部105は、デコード情報保持部103からのデコード情報に含まれる動きベクトルを代表する代表ベクトルと、符号化情報保持部106からの符号化情報に含まれる動きベクトルを代表する代表ベクトルとを比較する(S101)。
次に、基本動き情報生成部105は、所定の選択基準に基づいて、デコード情報に含まれる動きベクトルを代表する代表ベクトルあるいは符号化情報に含まれる動きベクトルを代表する代表ベクトルを選択する(S102)。
次に、基本動き情報生成部105は、選択した代表ベクトルに基づいて、基本動き情報を生成する。
次に、符号化部104は、基本動き情報生成部105により生成された基本動き情報に基づいて動き検出の探索範囲を決定する(S104)。
次に、符号化部104は、動き検出の探索範囲で動きベクトルを検出し、動きベクトルと動き補償等の符号化情報から、符号化対象となる画像を符号化する。
以下、基本動き情報生成部105における基本動き情報の生成方法と、符号化部104における探索範囲の決定方法に関して説明する。
まず、基本動き情報生成部105における基本動き情報の生成方法について説明する。
図3は、基本動き情報生成部105の構成を示すブロック図である。
基本動き情報生成部105は、平均ベクトル算出部1051および1053と、ベクトル分散算出部1052および1054と、比較部1055と、選択器1056とを備える。
平均ベクトル算出部1051は、デコード情報保持部103からのデコード情報から得られたマクロブロックごとの動きベクトルから平均ベクトルを算出し代表ベクトルとして選択器1056へ出力する。
ベクトル分散算出部1052は、デコード情報保持部103からのデコード情報から得られたマクロブロックごとの動きベクトルからベクトルの分散を算出し、算出したベクトルの分散の値を比較部1055へ出力する。
平均ベクトル算出部1053は、符号化情報保持部106からの符号化情報から得られたマクロブロックごとの動きベクトルから平均ベクトルを算出し代表ベクトルとして選択器1056へ出力する。
ベクトル分散算出部1054は、符号化情報保持部106からの符号化情報から得られたマクロブロックごとの動きベクトルからベクトルの分散を算出し、算出したベクトルの分散の値を比較部1055へ出力する。
比較部1055は、ベクトル分散算出部1054から出力されたベクトルの分散値とベクトル分散算出部1054から出力されたベクトルの分散値とを比較する。比較部1055は、所定の選択基準、例えば、ベクトルの分散値の小さい方を選択するなどに基づいて、比較したベクトル分散算出部1052から出力されたベクトルの分散値とベクトル分散算出部1054から出力されたベクトルの分散値のいずれかに対応する代表ベクトルを選択するよう選択器1056を制御する。
選択器1056は、比較部1055により制御され、平均ベクトル算出部1051からのデコード情報から得られた代表ベクトル、あるいは、平均ベクトル算出部1053からの符号化情報から得られた代表ベクトルを選択する。選択器1056により選択された代表ベクトルは基本動き情報として符号化部104に入力される。
ここでは、基本動き情報生成部105から基本動き情報として一つのベクトルが出力される場合について説明する。また、第1の符号化データと第2の符号化データとは共にフレーム構造である場合としている。
図4は、デコード情報から平均ベクトルとベクトルの分散とを算出する方法を説明するための図である。図4では復号化された第1の符号化データがフレーム構造で符号化され、かつB2ピクチャが符号化部104における符号化対象の画像である場合を示している。
図4において、B2ピクチャが参照できる画像は、I0ピクチャとP3ピクチャの2フレームである。I0ピクチャとP3ピクチャとの2フレームに対するB2ピクチャからの動きベクトルMVF(B2)と動きベクトルMVB(B2)とが存在する。マクロブロックごとに存在するこれらのベクトル、すなわち動きベクトルMVF(B2)および動きベクトルMVB(B2)をB2ピクチャから1フレーム分前方参照した場合の動きベクトルに時間スケーリングする。すなわち、B2ピクチャから1フレーム分前方参照した場合の動きベクトルをMVdec(B2)とし、MVdec(B2)を、B2ピクチャからI0ピクチャに対する動きベクトルMVF(B2)と、B2ピクチャからP3ピクチャに対する動きベクトルMVB(B2)とで表すものである。関係式で表すと以下のようになる。
MVdec(B2)=1/2×MVF(B2)
MVdec(B2)=−MVB(B2)
時間スケーリングした動きベクトルMVdec(B2)を用いてベクトルの平均値と分散を求める。
AveMVdec(B2)=ΣMVdec(B2)/ベクトル数
VarMVdec(B2)=(ΣMVdec(B2)^2)/ベクトル数−AveMVdec(B2)^2
ここで、MVdec(B2)=1/2×MVF(B2)の式における係数値「1/2」とMVdec(B2)=−MVB(B2)の式における係数値「−1」をスケーリング係数値と呼ぶ。
また、AveMVdec(B2)は、図3における平均ベクトル算出部1051で算出されたデコード情報から得られたマクロブロックごとの動きベクトルの平均ベクトルである。
また、VarMVdec(B2)は、図3におけるベクトル分散算出部1052で算出されたデコード情報から得られたマクロブロックごとの動きベクトルからのベクトルの分散である。
ところで、MPEG−2規格の場合、画像がフレーム構造であってもマクロブロック単位でフレームとフィールドとを切り替えて符号化することが可能である。その場合には、時間方向のスケーリング係数を変えることで算出することが可能である。具体的には、フィールド予測となる場合、以下の4通りの組み合わせがあり、上記のスケーリング係数値(1/2)を以下のように変える。
(1)トップがトップを参照する。スケーリング係数値は1/2
(2)トップがボトムを参照する。スケーリング係数値は2/3
(3)ボトムがトップを参照する。スケーリング係数値は2/5
(4)ボトムがボトムを参照する。スケーリング係数値は1/2
なお、本実施の形態1では、画像がフレーム構造の場合で2枚目のBピクチャを符号化部104の符号化対象画像として説明したが、1枚目のBピクチャあるいはPピクチャが符号化部104の符号化対象画像としてよく、その場合にも同様の考え方で平均ベクトルとベクトルの分散を算出できる。
次に、符号化情報から平均ベクトルとベクトルの分散を算出する方法を説明する。
図5は、符号化情報から平均ベクトルとベクトルの分散とを算出する方法を説明するための図である。図5では、復号化部102で復号化されたフレーム構造の画像が符号化部104で符号化され、かつB2ピクチャが符号化部104における符号化対象の画像である場合を示している。ところで、H.264規格では、Iピクチャよりも前のPピクチャを参照することが可能であるが、説明を簡単にするため、MPEG−2規格と同様に直前・直後にあるIピクチャとPピクチャのみを参照する場合について説明する。符号化対象であるB2ピクチャを符号化するとき、符号化順で直前に符号化したフレームはB1ピクチャである。
図5において、B1ピクチャが参照できる画像は、I0ピクチャとP3ピクチャの2フレームである。I0ピクチャとP3ピクチャとの2フレームに対するB1ピクチャからの動きベクトルMVF(B1)と動きベクトルMVB(B1)とが存在する。
マクロブロックごとに存在するB1ピクチャの動きベクトルであるMVF(B1)とMVB(B1)を用いて、B1ピクチャから1フレーム分前方参照した場合の動きベクトルに時間スケーリングする。すなわち、B1ピクチャから1フレーム分前方参照した場合の動きベクトルをMVenc(B1)とし、MVenc(B1)を、B1ピクチャからI0ピクチャに対する動きベクトルMVF(B1)と、B2ピクチャからP3ピクチャに対する動きベクトルMVB(B1)とで表す。関係式で表すと以下のようになる。
MVenc(B1)=MVF(B1)
MVenc(B1)=−1/2×MVB(B1)
ベクトルの平均値と分散は、時間スケーリングした動きベクトルMVenc(B1)を用いて以下のように表せる。
AveMVenc(B1)=ΣMVenc(B1)/ベクトル数
VarMVenc(B1)=(ΣMVenc(B1)^2)/ベクトル数−AveMVenc(B1)^2
ここでは、符号化対象であるB2ピクチャを符号化する直前に符号化された画像(B1ピクチャ)の動きベクトル情報を利用することを前提としている。
また、AveMVenc(B1)は、図3における平均ベクトル算出部1053で算出された符号化情報から得られたマクロブロックごとの動きベクトルの平均ベクトルである。
また、VarMVenc(B1)は、図3におけるベクトル分散算出部1054で算出された符号化情報から得られたマクロブロックごとの動きベクトルからのベクトルの分散である。
また、図5における表示順で符号化する場合、符号化順に直すと、I0、P3、B1、B2、P6、B4、B5・・という順になる。上記の例では、B1ピクチャはP3ピクチャの動きベクトルを利用し、P6ピクチャはB2ピクチャの動きベクトル情報を用いることを想定している。
なお、本実施の形態1とは別の方法として、同じピクチャタイプで直前に符号化されたピクチャの動きベクトル情報を利用してもよい。
上記のように算出されたベクトルの分散値が小さい方の平均ベクトルを選択してMVsel(B2)とする。このMVsel(B2)を基本動き情報として出力する。具体的には、比較部1055で、ベクトル分散算出部1052から出力されたベクトルの分散値VarMVdec(B2)とベクトル分散算出部1054から出力されたベクトルの分散値VarMVenc(B1)とが比較される。ベクトルの分散値の小さい方が選択されるという所定の選択基準に基づいて、ベクトル分散算出部1052から出力されたベクトルの分散値VarMVdec(B2)とベクトル分散算出部1054から出力されたベクトルの分散値VarMVenc(B1)とのうちベクトル分散の小さい方に対応する平均ベクトルが選択器1056で選択される。選択器1056で選択された、デコード情報から得られた平均ベクトルであるAveMVdec(B2)あるいは符号化情報から得られた平均ベクトルAveMVenc(B1)は基本動き情報MVsel(B2)として符号化部104に出力される。
図6は、基本動き情報生成部105が代表ベクトルを生成する場合の処理を説明するフローチャートである。
ここで、平均ベクトル算出部1051が代表ベクトルを生成する場合について説明する。
まず、平均ベクトル算出部1051は、デコード情報保持部103から出力されたデコード情報から得られたマクロブロックごとの動きベクトルを算出する(S201)。
次に、平均ベクトル算出部1051は、マクロブロックごとに存在する符号化対象画像の動きベクトルを符号化対象画像から所定の参照画像に対するマクロブロックごとの動きベクトルへと時間スケーリングする(S202)。
次に、平均ベクトル算出部1051は、時間スケーリングしたマクロブロックごとに存在する符号化対象画像の動きベクトルを用いて、マクロブロックごとに存在する符号化対象画像の動きベクトルの平均ベクトルを算出する(S203)。
次に、平均ベクトル算出部1051は、算出した平均ベクトルをデコード情報から得られる代表ベクトルとすることにより、代表ベクトルを生成する(S204)。
なお、平均ベクトル算出部1053が代表ベクトルを生成する場合についても同様であるので割愛する。
図7は、基本動き情報生成部105がベクトルの分散を算出する場合の処理を説明するフローチャートである。
ここで、ベクトル分散算出部1052がベクトルの分散を算出する場合について説明する。
まず、ベクトル分散算出部1052は、デコード情報保持部103から出力されたデコード情報からマクロブロックごとの動きベクトルを算出する(S301)。
次に、ベクトル分散算出部1052は、マクロブロックごとに存在する符号化対象画像の動きベクトルを符号化対象画像から所定の参照画像に対するマクロブロックごとの動きベクトルへと時間スケーリングする(S302)。
次に、ベクトル分散算出部1052は、時間スケーリングしたマクロブロックごとに存在する符号化対象画像の動きベクトルを用いて、マクロブロックごとに存在する符号化対象画像の動きベクトルにおけるベクトルの分散を算出する(S303)。
なお、ベクトル分散算出部1054がベクトルの分散を算出する場合についても同様であるので割愛する。
次に、符号化部104における探索範囲の決定方法について説明する。
図8は、基本動き情報を用いて探索範囲を決定する方法を説明するための図である。
符号化部104では、基本動き情報生成部105から出力された基本動き情報であるMVsel(B2)を用いて、符号化対象画像から参照画像への時間スケーリングを行い、参照画像ごとに探索を行う中心位置を決定する。符号化対象画像のマクロブロックの動きベクトル検出を行うための基準となる探索範囲は、図8では参照画像801中で基準探索範囲802として点線で囲まれた範囲で示されている。この基準探索範囲802を符号化対象画像から参照画像801へ時間スケーリングしたMVsel(B2)分だけずらした位置を新たに探索範囲として動きベクトル検出を行う。これは、図6中の探索範囲803として点線で囲まれた範囲で示されている。
なお、本実施の形態1では、動きベクトルを検出する際の探索範囲の広さが一定で、中心位置のみを変えるとして説明したが、例えば、時間スケーリングした基本動き情報MVsel(B2)が大きな値の時には動きベクトルを検出する際の探索範囲を広げて、さらに間引き探索を行う等の設定を行ってもよい。
以上、本実施の形態1では、基本動き情報生成部105から基本動き情報として一つのベクトルが出力される場合について説明した。基本動き情報は、選択器1056で選択された平均ベクトル算出部1051からのデコード情報から得られた代表ベクトル、あるいは平均ベクトル算出部1053からの符号化情報から得られた代表ベクトルである。また、平均ベクトル算出部1051からのデコード情報から得られる代表ベクトル(平均ベクトル)と平均ベクトル算出部1053からの符号化情報から得られる代表ベクトル(平均ベクトル)とを選択する基準としてベクトルの分散を用いている。
それにより、動きベクトルを検出する際に、入力ストリームのデコード情報あるいは再符号化したときの符号化情報からの代表ベクトルが比較され、選択されて基本動き情報として用いられることにより動きベクトル検出を行う探索範囲を効果的に決定できる。それ故、動きベクトル検出を行う探索範囲を狭めて処理量を削減しても、精度の高い動きベクトルを検出することが可能となる。それにより、処理量を削減しつつ、精度の高い動きベクトルを検出して符号化することができる画像符号化装置を実現することができる。
なお、代表ベクトルを選択する選択基準は、ベクトルの絶対値和の平均と平均値の一致度合い、ベクトルのダイナミックレンジ、マクロブロック単位の残差成分等の値としてもよい。その場合には、比較部1055が選択基準に従って比較できるように、ベクトル分散算出部1052および1054を、ベクトルの絶対値和の平均と平均値を算出するベクトル絶対値和平均算出部や、ベクトルのダイナミックレンジを算出する算出部などに置き換えればよい。
また、本実施の形態1では、デコード情報と符号化情報とから得られるそれぞれの代表ベクトルとして、時間スケーリングしたマクロブロックごとの全動きベクトルの平均を算出する構成として説明しているが、参照画像ごとに平均ベクトルとベクトルの分散を算出し、分散値が小さい方の平均ベクトル、あるいは、動きベクトルの本数が多い方の平均ベクトルを選択してそれぞれの代表ベクトルとしてもよい。
また、デコード情報と符号化情報とから得られる平均ベクトルの選択にベクトルの分散値を用いているが、符号化部104で行ったマクロブロックごとの動きベクトル検出時の評価値を保持し、1フレーム分の総和を算出し、総和が閾値を超える場合には動きベクトル検出の精度が低いと判断して、デコード情報から得られる平均ベクトルを選択してもよい。あるいは、算出した1フレーム分の総和が閾値以下の場合は符号化情報から得られる平均ベクトルを選択する構成としてもよい。
(実施の形態2)
次に、本発明の実施の形態2について図面を用いて説明する。
実施の形態1では、基本動き情報生成部105から基本動き情報として一つのベクトルが出力される場合であり、第1の符号化データと第2の符号化データとは共にフレーム構造である場合を説明した。本実施の形態2では、基本動き情報生成部105から基本動き情報として一つのベクトルが出力される場合であるが、第1の符号化データと第2の符号化データとが共にフィールド構造である場合について以下に説明する。
図9は、デコード情報から平均ベクトルとベクトルの分散とを算出する方法を説明するための図である。図9では復号化された第1の符号化データがフィールド構造で符号化され、かつB4フィールドが符号化部104における符号化対象の画像である場合を示している。
図9において、B4フィールドが参照できる画像は、参照画像がそれぞれフィールド構造であるので4フィールドになる。すなわち、B4フィールドからの前方参照は、I0フィールドとI1フィールドとの2フィールドに対するB4フィールドからの動きベクトルMVFt(B4)およびMVFb(B4)の2種類の動きベクトルとが存在することになり、B4フィールドからの後方参照は、P6フィールドとP7フィールドとの2フィールドに対するB4フィールドからのMVBt(B4)およびMVBb(B4)の2種類の動きベクトルとが存在することになる。マクロブロックごとに存在するこれらの動きベクトルを、B4フィールドから1フィールド分前方参照した場合の動きベクトルに時間スケーリングする。B4フィールドから1フィールド分前方参照した場合の動きベクトルをMVdec(B4)として、関係式で表すと以下のようになる。
MVdec(B4)=1/4×MVFt(B4)
MVdec(B4)=1/3×MVFb(B4)
MVdec(B4)=−1/2×MVBt(B4)
MVdec(B4)=−1/3×MVBb(B4)
ベクトルの分散と平均は実施の形態1に示すフレーム構造と同様に、時間スケーリングした動きベクトルMVdec(B4)を用いて以下のように表せる。
AveMVdec(B4)=ΣMVdec(B4)/ベクトル数
VarMVdec(B4)=(ΣMVdec(B4)^2)/ベクトル数−AveMVdec(B4)^2
図10は、符号化情報から平均ベクトルとベクトルの分散とを算出する方法を説明するための図である。図10では、復号化部102で復号化されたフィールド構造の画像が符号化部104で符号化され、かつB4フィールドが符号化部104における符号化対象の画像である場合を示している。ところで、H.264規格では、Iピクチャよりも前のPピクチャを参照することが可能であるが、説明を簡単にするため、MPEG−2規格と同様に直前・直後にあるIピクチャとPピクチャのみを参照する場合について説明する。符号化対象であるB4フィールドを符号化するとき、符号化順で直前に符号化したフィールドはB3フィールドとなる。
図10において、B3フィールドが参照できる画像は、B3フィールドからの前方参照では、I0フィールドとI1フィールドとの2フィールドに対するB3フィールドからの動きベクトルMVFt(B3)およびMVFb(B3)の2種類の動きベクトルとが存在し、B3フィールドからの後方参照では、P6フィールドとP7フィールドとの2フィールドに対するB3フィールドからのMVBt(B3)およびMVBb(B3)の2種類の動きベクトルとが存在することになる。マクロブロックごとに存在するこれらのベクトルを、B3フィールドから1フィールド分前方参照した場合の動きベクトルに時間スケーリングする。B4フィールドから1フィールド分前方参照した場合の動きベクトルをMVenc(B3)として、関係式で表すと以下のようになる。
MVenc(B3)=1/3×MVFt(B3)
MVenc(B3)=1/2×MVFb(B3)
MVenc(B3)=−1/3×MVBt(B3)
MVenc(B3)=−1/4×MVBb(B3)
ベクトルの平均と分散とは、時間スケーリングした動きベクトルMVenc(B3)を用いて以下のように表せる。
AveMVenc(B3)=ΣMVenc(B3)/ベクトル数
VarMVenc(B3)=(ΣMVenc(B3)^2)/ベクトル数−AveMVenc(B3)^2
ここでは、符号化対象であるB4フィールドを符号化する直前に符号化された画像の動きベクトル情報を利用することを前提としている。
図10における表示順で符号化する場合、符号化順に直すと、I0、I1、P6、P7、B2、B3、B4、B5、P12、P13・・という順になる。上記の例では、B2フィールドはP7フィールドの動きベクトルを利用し、P12フィールドはB5フィールドの動きベクトル情報を用いることを想定している。
なお、本実施の形態2とは別の方法として、同じピクチャタイプで直前に符号化されたピクチャの動きベクトル情報を利用してもよい。あるいは、同じピクチャタイプで、かつ同一パリティの直前に符号化されたピクチャの動きベクトル情報を利用してもよい。
次に、符号化部104における探索範囲の決定方法について説明する。
基本動き情報生成部105は、上記のように算出されたベクトルの分散を用いて、その値が小さい方の平均ベクトルを選択して基本動き情報MVsel(B4)として符号化部104へ出力する。
符号化部104は、基本動き情報生成部105より出力された基本動き情報MVsel(B4)を用いて、符号化対象画像から参照画像への時間スケーリングを行い、参照画像ごとに探索を行う中心位置を決定する。
なお、本実施の形態2では、探索範囲の広さが一定で、中心位置のみを変えることを想定しているが、例えば、時間スケーリングした基本動き情報MVsel(B4)が大きな値の時には探索範囲を広げて、さらに間引き探索を行う等の設定を行ってもよい。
以上、本実施の形態2では、符号化対象となる復号画像がフィールド構造であっても、動きベクトルを検出する際に、入力ストリームのデコード情報と、再符号化したときの符号化情報とからの代表ベクトルが比較され、選択されて用いられることにより、動きベクトル検出を行う探索範囲を効果的に決定できる。それ故、動きベクトル検出を行う探索範囲を狭めて処理量を削減しても、精度の高い動きベクトルを検出することが可能となる。それにより、処理量を削減しつつ、精度の高い動きベクトルを検出して符号化することができる画像符号化装置を実現することができる。
なお、本実施の形態2では、デコード情報と符号化情報とから得られるそれぞれの代表ベクトルとして、時間スケーリングしたマクロブロックごとの全動きベクトルの平均を算出する構成として説明しているが、参照画像ごとに平均ベクトルとベクトルの分散を算出し、分散値が小さい方の平均ベクトル、あるいは、動きベクトルの本数が多い方の平均ベクトルを選択してそれぞれの代表ベクトルとしてもよい。
また、デコード情報と符号化情報とから得られる平均ベクトルの選択にベクトルの分散値を用いているが、符号化部104で行ったマクロブロックごとの動きベクトル検出時の評価値を保持し、1フィールド分の総和を算出し、総和が閾値を超える場合には動きベクトル検出の精度が低いと判断して、デコード情報から得られる平均ベクトルを選択してもよい。あるいは、算出した1フィールド分の総和が、閾値以下の場合には符号化情報から得られる平均ベクトルを選択する構成としてもよい。
(実施の形態3)
次に、本発明の実施の形態3について説明する。
実施の形態2では、基本動き情報生成部105から基本動き情報として一つのベクトルが出力される場合で、第1の符号化データと第2の符号化データとが共にフィールド構造である場合について説明した。本実施の形態3では、基本動き情報生成部105から基本動き情報として一つのベクトルが出力される場合であるが、第1の符号化データと第2の符号化データとにおける符号化構造が異なる場合について以下に説明する。
第1の符号化データがフレーム構造で、第2の符号化データがフィールド構造である場合、デコード情報から得られる代表ベクトルは、実施の形態1で示した方法で平均ベクトルを算出することで得ることができ、符号化情報から得られる代表ベクトルは、実施の形態2で示した方法で平均ベクトルを算出することで得ることができる。すなわち、デコード情報で得られる代表ベクトルは1フレーム分前方参照した場合の符号化部104における符号化対象画像のピクチャの動きベクトルとなるため、時間スケーリングして算出した平均ベクトルをさらに1/2倍することで1フィールド分前方参照した場合の符号化部104における符号化対象画像のフィールドの動きベクトルとして算出することができる。
また、第1の符号化データがフィールド構造で、第2の符号化データがフレーム構造である場合、デコード情報から得られる代表ベクトルは実施の形態2で示した方法で平均ベクトルを算出することで得ることができ、符号化情報から得られる代表ベクトルは、実施の形態1で示した方法で平均ベクトルを算出することで得ることができる。すなわち、デコード情報で得られる代表ベクトルは1フィールド分前方参照した場合の符号化部104における符号化対象画像のフィールドの動きベクトルとなるため、時間スケーリングして算出した平均ベクトルをさらに2倍することで符号化部104における符号化対象画像の1フレーム分前方参照した場合のピクチャの動きベクトルとして算出することができる。
以上、本実施の形態3では、第1の符号化データがフィールド構造で、第2の符号化データがフレーム構造であっても、第1の符号化データがフレーム構造で、第2の符号化データがフィールド構造であっても、動きベクトルを検出する際に、入力ストリームのデコード情報と再符号化したときの符号化情報とからの代表ベクトルが比較され、選択され用いられることにより、動きベクトル検出を行う探索範囲を効果的に決定できる。それ故、動きベクトル検出を行う探索範囲を狭めて処理量を削減しても、精度の高い動きベクトルを検出することが可能となる。それにより、処理量を削減しつつ、精度の高い動きベクトルを検出して符号化することができる画像符号化装置を実現することができる。
なお、本実施の形態3では、デコード情報と符号化情報とから得られる平均ベクトルの選択にベクトルの分散値を用いているが、符号化部104で行ったマクロブロックごとの動きベクトル検出時の評価値を保持し、1フィールドもしくは1フレーム分の総和を算出し、総和が閾値を超える場合には動きベクトル検出の精度が低いと判断して、デコード情報から得られる平均ベクトルを選択してもよい。あるいは、算出した1フィールドもしくは1フレーム分の総和が、閾値以下の場合には、符号化情報から得られる平均ベクトルを選択する構成としてもよい。
(実施の形態4)
次に、本発明の実施の形態4について説明する。
実施の形態3では、基本動き情報生成部105から基本動き情報として一つのベクトルが出力される場合で、第1の符号化データと第2の符号化データとが符号化構造で異なる場合について説明した。本実施の形態4では、基本動き情報生成部105から基本動き情報として、参照方向ごとの代表ベクトルが出力される場合を示す。ここでは、第1の符号化データと、第2の符号化データとにおける符号化構造が共にフレーム構造である場合について以下に説明する。
デコード情報から得られる代表ベクトルと符号化情報から得られる代表ベクトルとは、実施の形態1で示した方法で算出できる。
図6のS201と同様に、基本動き情報生成部105における平均ベクトル算出部1051は、デコード情報からマクロブロックごとの動きベクトルを算出する。
次に、基本動き情報生成部105における平均ベクトル算出部1051は、参照方向ごとに、算出したマクロブロックごとの動きベクトルのベクトルを集計する。
次に、図6のS202と同様に、基本動き情報生成部105における平均ベクトル算出部1053は、参照方向ごとに集計された動きベクトルを符号化対象画像から所定の参照画像に対する参照方向ごとの動きベクトルへと時間スケーリングを行う。
次に、図6のS202と同様に、基本動き情報生成部105における平均ベクトル算出部1053は、時間スケーリングした参照方向ごとの符号化対象画像の動きベクトルを用いて、参照方向ごとの符号化対象画像の動きベクトルの平均ベクトルを算出する。
また、上記および図7と同様に、ベクトルの分散も参照方向ごとに算出する。
基本動き情報生成部105は、ベクトル分散値を用いて参照方向ごとにデコード情報から得られた平均ベクトルと符号化情報から得られた平均ベクトルとのいずれかを選択し、選択した平均ベクトルを基本動き情報として、符号化部104に参照方向ごとの動きベクトルを出力する。
以上、本実施の形態4では、基本動き情報生成部105から基本動き情報として、参照方向ごとの代表ベクトルを生成する。動きベクトルを検出する際に、入力ストリームのデコード情報と再符号化したときの符号化情報とから得られる参照方向ごとの代表ベクトルが比較され、選択されて用いられることにより、動きベクトル検出を行う探索範囲を効果的に決定できる。それ故、動きベクトル検出を行う探索範囲を狭めて処理量を削減しても、精度の高い動きベクトルを検出することが可能となる。それにより、処理量を削減しつつ、精度の高い動きベクトルを検出して符号化することができる画像符号化装置を実現することができる。
なお、本実施の形態4では、参照方向ごとにデコード情報と符号化情報とから得られる動きベクトルの平均ベクトル値を集計する場合を説明したが、参照画像ごとに集計してもよい。また、参照画像ごとに集計した平均ベクトルにベクトル本数の偏りがある場合には、ベクトルの本数が多い参照画像を参照方向の代表として平均ベクトルを算出してもよい。
また、第1の符号化データと、第2の符号化データとの符号化構造が共にフィールド構造である場合も実施の形態2で示した方法で参照方向ごとにデコード情報と符号化情報とから得られるそれぞれの代表ベクトルを算出してもよい。
また、第1の符号化データと、第2の符号化データとの符号化構造が異なる場合は、実施の形態3で示した方法で参照方向ごとにデコード情報と符号化情報とから得られるそれぞれの代表ベクトルを算出してもよい。
また、本実施の形態4では、デコード情報と符号化情報とから得られる平均ベクトルの選択にベクトルの分散値を用いているが、符号化部104で行ったマクロブロックごとの動きベクトル検出時の評価値を保持し、1フレーム分の総和を算出し、総和が閾値を超える場合には動きベクトル検出の精度が低いと判断して、デコード情報から得られる平均ベクトルを選択してもよい。あるいは、算出した1フレーム分の総和が、閾値以下の場合は符号化情報から得られる平均ベクトルを選択する構成としてもよい。
(実施の形態5)
次に、本発明の実施の形態5について説明する。
実施の形態4では、基本動き情報生成部105から基本動き情報として、参照方向ごとの代表ベクトルが出力される場合を説明した。本実施の形態5では、基本動き情報生成部105で画像を複数の領域に分割し、領域ごとに代表ベクトルを算出し、算出した代表ベクトルを基本動き情報として出力する場合について説明する。ここで、基本動き情報生成部105からは複数のベクトルが出力される。
ここでは、第1の符号化データと、第2の符号化データとの符号化構造が共にフレーム構造である場合として説明する。
また、画像を水平4分割かつ垂直4分割した場合(以下、分割画面と記載。)を例として以下に説明する。
図11は、分割画面901における分割された領域ごとの代表ベクトルが算出される場合について説明するための図である。図11において、左上に記載されている小矩形領域がマクロブロックを表しており、一例としてマクロブロック9011およびマクロブロック9012が表されている。
図11のマクロブロック9011およびマクロブロック9012に示されている矢印はベクトルであり、前方方向に1フレーム分前方参照に時間スケーリングした場合の符号化部104における符号化対象画像のマクロブロック9011およびマクロブロック9012の動きベクトルとして表している。
また図11におけるR(x,y)(x,yとも0から3の整数)で示される領域は、分割画面901の分割された各領域を示している。分割された領域ごとに含まれるマクロブロックごとの動きベクトルを集計し、領域ごとに平均ベクトルを算出する。デコード情報と符号化情報とそれぞれから得られた領域ごとの代表ベクトルを算出し、領域ごとにベクトルの分散等の評価値を用いて、デコード情報と符号化情報とのどちらの情報から算出した平均ベクトルを領域ごとの代表ベクトルとするかを決定する。そして、領域ごとに選択された16本の代表ベクトルが基本動き情報生成部105から基本動き情報として出力される。
図12は、基本動き情報生成部105が分割画面901の領域ごとの代表ベクトルを生成する場合の処理を説明するフローチャートである。
ここで、平均ベクトル算出部1051が分割画面901の各領域について代表ベクトルを生成する場合について説明する。
まず、平均ベクトル算出部1051は、デコード情報保持部103から入力したデコード情報からマクロブロックごとの動きベクトルを算出する(S401)。
次に、平均ベクトル算出部1051は、マクロブロックごとに存在する符号化対象画像の動きベクトルを符号化対象画像から所定の参照画像に対するマクロブロックごとの動きベクトルへと時間スケーリングする(S402)。
次に、平均ベクトル算出部1051は、分割画面901の領域ごとに、時間スケーリングしたマクロブロックごとの動きベクトルのベクトルを集計する(S403)。
次に、平均ベクトル算出部1051は、時間スケーリングされ、分割画面901の領域ごとに集計された符号化対象画像の動きベクトルを用いて、分割画面901の領域ごとに符号化対象画像の動きベクトルの平均ベクトルを算出する(S404)。
次に、平均ベクトル算出部1051は、算出した領域ごとの平均ベクトルをデコード情報から得られる領域ごとの代表ベクトルとすることにより、代表ベクトルを生成する(S404)。
なお、平均ベクトル算出部1053が領域ごとに代表ベクトルを生成する場合についても同様であるので割愛する。
図13は、基本動き情報生成部105が分割画面901における領域ごとのベクトルの分散を算出する場合の処理を説明するフローチャートである。
ここで、ベクトル分散算出部1052が分割画面901の各領域についてベクトルの分散を算出する場合について説明する。
まず、ベクトル分散算出部1052は、デコード情報保持部103から入力したデコード情報からマクロブロックごとの動きベクトルを算出する(S501)。
次に、ベクトル分散算出部1052は、マクロブロックごとに存在する符号化対象画像の動きベクトルを符号化対象画像から所定の参照画像に対するマクロブロックごとの動きベクトルへと時間スケーリングする(S502)。
次に、ベクトル分散算出部1052は、分割画面901の領域ごとに、時間スケーリングしたマクロブロックごとの動きベクトルのベクトルを集計する。
次に、ベクトル分散算出部1052は、時間スケーリングされ、分割画面901の領域ごとに集計された符号化対象画像の動きベクトルを用いて、分割画面901の領域ごとに符号化対象画像の動きベクトルにおけるベクトルの分散を算出する(S503)。
なお、ベクトル分散算出部1054が分割画面901の各領域についてベクトルの分散を算出する場合についても同様であるので割愛する。
次に、符号化部104における探索範囲の決定方法について説明する。
符号化部104は、符号化対象画像のマクロブロックが分割画面901における16個の領域のどこに存在するかによって、動きベクトルを検出する際の探索範囲を変える。例えば、R(0,0)の領域内に存在するマクロブロックが符号化対象画像のマクロブロックとすると、R(0,0)の領域の代表ベクトルを用いて、その代表ベクトルが指し示す位置を中心とした探索範囲において動きベクトルの検出を行う。
この場合、図8で説明したように、基本動き情報であるMVsel(B2)が1つの参照画像に付き1本ではなく、符号化対象マクロブロック位置が存在する領域ごとに基本動き情報であるMVsel(B2)を変えることで、探索範囲の中心位置を変えることができる。
以上、本実施の形態5では、基本動き情報生成部105から基本動き情報として、領域ごとの代表ベクトルを生成する。動きベクトルを検出する際に、入力ストリームのデコード情報と、再符号化したときの符号化情報とから得られる領域ごとの代表ベクトルが比較され、選択されて用いられることにより、動きベクトル検出を行う探索範囲を効果的に決定できる。それ故、動きベクトル検出を行う探索範囲を狭めて処理量を削減しても、精度の高い動きベクトルを検出することが可能となる。それにより、処理量を削減しつつ、精度の高い動きベクトルを検出して符号化することができる画像符号化装置を実現することができる。
なお、本実施の形態では、第1の符号化データと、第2の符号化データとの符号化構造が共にフレーム構造である場合について説明したが、第1の符号化データと、第2の符号化データとの両方がフィールド構造の場合、あるいは一方がフレーム構造で他方がフィールド構造の場合においても実施の形態2もしくは実施の形態3で説明した代表ベクトル算出方法を領域ごとの代表ベクトル算出に適用させてもよい。
また、基本動き情報生成部105が生成する基本動き情報として符号化対象画像における領域ごとに1本の代表ベクトルを生成する例を説明しているが、実施の形態4に示すように符号化対象画像の参照方向ごとに、領域ごとの代表ベクトルを算出し、基本動き情報としてもよい。
また、基本動き情報生成部105は、符号化対象画像の領域ごとの代表ベクトルを、大きさと方向とでグルーピングし、1または複数の代表ベクトルを基本動き情報として生成してもよい。例えば、図11の分割画面901における各領域のベクトルは、R(0,0)に示される代表ベクトルは左向きの大きいベクトルに、R(2,1)に示される代表ベクトルは右向きの小さいベクトルにグルーピングされる。基本動き情報生成部105は、グルーピングされたベクトルの平均ベクトルを算出し、グルーピングしたグループそれぞれに1本の代表ベクトルを基本動き情報とする。また、基本動き情報生成部105は、グルーピングしたグループごとの動きベクトルの平均値ではなく、中央値もしくは最大値や最小値を算出してもよい。
(実施の形態6)
次に、本発明の実施の形態6について説明する。
実施の形態5では、基本動き情報生成部105で行うマクロブロックの動きベクトルの集計方法として分割画面における分割された領域ごとに代表ベクトルを算出した場合について説明した。本実施の形態6では、基本動き情報生成部105で行うマクロブロックの動きベクトルの集計方法として、マクロブロックの動きベクトルを大きさと方向とでグルーピングすることで集計を行う方法を説明する。
図14は、領域902における大きさと方向でグルーピングされた領域ごとの代表ベクトルが算出される場合について説明するための図である。
基本動き情報生成部105は、デコード情報あるいは符号化情報から得られるマクロブロックごとの動きベクトルを時間スケーリングする。時間スケーリングした動きベクトルを図14のように大きさと方向で区切った領域のどこに存在するかを調べる。
ここでは、動きベクトルがゼロ近辺にあるグループはG(0,0)で示される領域にあるとしている。G(0,0)で示される領域の周辺にあり、比較的小さな動きベクトルが存在するグループは、第1〜4の象限にあるG(1,0)からG(1,3)の領域にあるとしている。また、大きい動きベクトルが存在するグループは象限ごとにG(2,0)からG(2,3)の領域にあるとしている。例えば、領域902の第1象限おけるG(1,0)の領域の境界値であるx0、x1、y0、y1は、任意に設定できる。例えば、x0=y0=16、x1=y1=48と設定してもよい。図14の中で、マクロブロックの動きベクトルは、G(1,1)の領域に存在するように示されている。
次に、基本動き情報生成部105は、デコード情報あるいは符号化情報から得られるマクロブロックごとに時間スケーリングした動きベクトルを大きさと方向でグルーピングしたグループごとに集計する。基本動き情報生成部105は、大きさと方向でグルーピングしたグループごとに集計したデコード情報と符号化情報とからの動きベクトルから、平均ベクトルを算出する。基本動き情報生成部105は、大きさと方向でグルーピングした9つのグループごとに、デコード情報あるいは符号化情報から算出した平均ベクトルを代表ベクトルとして選択する。基本動き情報生成部105は、大きさと方向でグルーピングした9つのグループごとに選択した9本の代表ベクトルを基本動き情報として符号化部104に出力する。
図15は、基本動き情報生成部105が大きさと方向でグルーピングした領域ごとに代表ベクトルを生成する場合の処理を説明するフローチャートである。
ここで、平均ベクトル算出部1051が大きさと方向でグルーピングした領域ごとに代表ベクトルを生成する場合について説明する。
まず、平均ベクトル算出部1051は、デコード情報保持部103から入力したデコード情報からマクロブロックごとの動きベクトルを算出する(S601)。
次に、平均ベクトル算出部1051は、マクロブロックごとに存在する符号化対象画像の動きベクトルを符号化対象画像から所定の参照画像に対するマクロブロックごとの動きベクトルへと時間スケーリングする(S602)。
次に、平均ベクトル算出部1051は、大きさと方向でグルーピングした領域ごとに、時間スケーリングしたマクロブロックごとの動きベクトルのベクトルを集計する(S603)。
次に、平均ベクトル算出部1051は、時間スケーリングされ、大きさと方向でグルーピングした領域ごとに集計された符号化対象画像の動きベクトルを用いて、分割画面901の領域ごとに符号化対象画像の動きベクトルの平均ベクトルを算出する(S604)。
次に、平均ベクトル算出部1051は、大きさと方向でグルーピングした領域ごとに算出した平均ベクトルをデコード情報から得られる領域ごとの代表ベクトルとすることにより、代表ベクトルを生成する(S605)。
なお、平均ベクトル算出部1053が大きさと方向でグルーピングした領域ごとに代表ベクトルを生成する場合についても同様であるので割愛する。
図16は、基本動き情報生成部105が大きさと方向でグルーピングした領域ごとにベクトルの分散を算出する場合の処理を説明するフローチャートである。
ここで、ベクトル分散算出部1052が大きさと方向でグルーピングした領域ごとにベクトルの分散を算出する場合について説明する。
まず、ベクトル分散算出部1052は、デコード情報保持部103から入力したデコード情報からマクロブロックごとの動きベクトルを算出する(S701)。
次に、ベクトル分散算出部1052は、マクロブロックごとに存在する符号化対象画像の動きベクトルを符号化対象画像から所定の参照画像に対するマクロブロックごとの動きベクトルへと時間スケーリングする(S702)。
次に、ベクトル分散算出部1052は、大きさと方向でグルーピングした領域ごとに、時間スケーリングしたマクロブロックごとの動きベクトルのベクトルを集計する。
次に、ベクトル分散算出部1052は、時間スケーリングされ、大きさと方向でグルーピングした領域ごとに集計された符号化対象画像の動きベクトルを用いて、大きさと方向でグルーピングした領域ごとに符号化対象画像の動きベクトルにおけるベクトルの分散を算出する(S703)。
なお、ベクトル分散算出部1054が大きさと方向とでグルーピングした領域ごとにベクトルの分散を算出する場合についても同様であるので割愛する。
次に、符号化部104における探索範囲の決定方法について説明する。
符号化部104は、大きさと方向でグルーピングした領域ごとの9本の代表ベクトルに基づき、参照画像ごとに9箇所を探索することで動きベクトル検出を行う。あるいは、参照画像ごとに探索する範囲を選択して合計9箇所を探索すること等の方法で動きベクトル検出を行う。
なお、本実施の形態6では、基本動き情報生成部105が、グルーピングし、算出した平均ベクトルを全て基本動き情報として出力することを前提として説明したが、例えば、グルーピングした動きベクトル数が最も多いグループの平均ベクトルのみを代表ベクトルとして生成してもよい。グルーピングした動きベクトル数が2番目に多いグループまでの平均ベクトルを代表ベクトルとして生成してもよい。
また、基本動き情報生成部105は、参照方向および大きさと方向とでグルーピングした領域ごとに動きベクトルの集計を行ってもよい。その場合、参照方向および大きさと方向とでグルーピングした領域は18種類となり、18種類の平均ベクトルが代表ベクトルとして符号化部104に出力される。また、基本動き情報生成部105は、参照方向および大きさと方向とでグルーピングした領域でベクトル数が最も多いグループの平均ベクトルのみを基本動き情報として符号化部104に出力してもよく、参照方向および大きさと方向とでグルーピングした領域でベクトル数が2番目に多いグループまでのグループごとの代表ベクトルを基本動き情報として符号化部104に出力してもよい。
なお、本実施の形態6では、大きさと方向とでグルーピングした領域が合計9つのグループとなるよう分けることを説明したが、これに限らない。例えば、x軸を基準に90°ごとに4方向にグルーピングし、x軸から22.5°の位置を基準に45°ごとにさらに8方向にグルーピングしてもよい。この場合、大きさと方向との分類方法を図14と同じとした場合、17種類にグルーピングされることになる。
また、基本動き情報生成部105は、各マクロブロックの動きベクトルをグルーピングし、グループごとに平均ベクトルを算出することから代表ベクトルを生成する場合のグルーピングの例を説明したが、これに限らない。基本動き情報生成部105は、領域ごとの平均ベクトルを算出後にグルーピングしてもよい。すなわち、基本動き情報生成部105は、デコード情報あるいは符号化情報から算出されたマクロブロックごとに時間スケーリングした動きベクトルの、例えば分割領域901における領域ごとの平均ベクトルを算出し、算出した平均ベクトルを大きさと方向でグルーピングすることから代表ベクトルを生成してもよい。
以上、本実施の形態6では、基本動き情報生成部105から基本動き情報として、大きさと方向とでグルーピングした領域ごとの代表ベクトルを生成する。動きベクトルを検出する際に、入力ストリームのデコード情報と、再符号化したときの符号化情報とから得られる大きさと方向とでグルーピングした領域ごとの代表ベクトルが比較され、選択されて用いられることにより、動きベクトル検出を行う探索範囲を効果的に決定できる。それ故、動きベクトル検出を行う探索範囲を狭めて処理量を削減しても、精度の高い動きベクトルを検出することが可能となる。それにより、処理量を削減しつつ、精度の高い動きベクトルを検出して符号化することができる画像符号化装置を実現することができる。
以上、本発明の画像符号化装置について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
本発明は、画像符号化装置およびその方法に利用でき、特に、HDTV放送等のHD画像をH.264規格で録画を行う画像符号化装置に利用することができる。
本発明の実施の形態1における画像符号化装置の構成を示すブロック図である。 本発明の実施の形態1における画像符号化装置が符号化する場合の処理を説明するフローチャートである。 本発明の実施の形態1における基本動き情報生成部の構成を示すブロック図である。 本発明の実施の形態1におけるデコード情報から平均ベクトルとベクトルの分散とを算出する方法を説明するための図である。 本発明の実施の形態1における符号化情報から平均ベクトルとベクトルの分散とを算出する方法を説明するための図である。 本発明の実施の形態1における基本動き情報生成部が代表ベクトルを生成する場合の処理を説明するフローチャートである。 本発明の実施の形態1における基本動き情報生成部がベクトルの分散を算出する場合の処理を説明するフローチャートである。 本発明の実施の形態1における基本動き情報を用いて探索範囲を決定する方法を説明するための図である。 本発明の実施の形態2におけるデコード情報から平均ベクトルとベクトルの分散とを算出する方法を説明するための図である。 本発明の実施の形態2における符号化情報から平均ベクトルとベクトルの分散とを算出する方法を説明するための図である。 本発明の実施の形態5における分割画面における分割された領域ごとの代表ベクトルについて説明するための図である。 本発明の実施の形態5における基本動き情報生成部が分割画面の領域ごとの代表ベクトルを生成する場合の処理を説明するフローチャートである。 本発明の実施の形態5における基本動き情報生成部が分割画面における領域ごとのベクトルの分散を算出する場合の処理を説明するフローチャートである。 本発明の実施の形態6における領域における大きさと方向でグルーピングされた領域ごとの代表ベクトルが算出される場合について説明するための図である。 本発明の実施の形態6における基本動き情報生成部が大きさと方向でグルーピングした領域ごとに代表ベクトルを生成する場合の処理を説明するフローチャートである。 本発明の実施の形態6における基本動き情報生成部が大きさと方向でグルーピングした領域ごとにベクトルの分散を算出する場合の処理を説明するフローチャートである。
符号の説明
100 画像符号化装置
102 復号化部
103 デコード情報保持部
104 符号化部
105 基本動き情報生成部
106 符号化情報保持部
801 参照画像
802 基準探索範囲
803 探索範囲
901 分割画面
902 領域
9011、9012 マクロブロック
1051、1053 平均ベクトル算出部
1052、1054 ベクトル分散算出部
1055 比較部
1056 選択器

Claims (16)

  1. 第1符号化方式で符号化された第1の符号化データを第2符号化方式で符号化された第2の符号化データに変換する画像符号化装置であって、
    前記第1の符号化データを復号化し、動きベクトルを含む復号化情報と復号画像とを生成する復号化手段と、
    前記復号化手段が生成した復号画像を前記第2符号化方式で符号化し、動きベクトルを含む符号化情報と符号化画像とを含む第2の符号化データを生成する符号化手段と、
    前記復号化手段が生成した復号化情報を保持する復号化情報保持手段と、
    前記符号化手段が生成した符号化情報を保持する符号化情報保持手段と、
    前記復号化情報保持手段に保持された復号化情報に含まれる複数の動きベクトルのばらつきと前記符号化情報保持手段に保持された符号化情報に含まれる複数の動きベクトルのばらつきとのうち、ばらつきの小さい方の動きベクトルを基に、前記復号画像の動きを示す基本動き情報を生成する基本動き情報生成手段とを備え、
    前記符号化手段は、前記基本動き情報生成手段が生成した基本動き情報の示す動きによって指し示す位置を中心位置とする所定範囲を探索範囲として決定し、決定した探索範囲内で前記復号画像の動きベクトルを検出し、検出した動きベクトルを含む符号化情報と符号化画像とを含む第2の符号化データを生成する
    ことを特徴とする画像符号化装置。
  2. 前記基本動き情報生成手段は、
    前記復号化情報に含まれる複数の動きベクトルを代表する第1の代表ベクトルと前記符号化情報に含まれる複数の動きベクトルを代表する第2の代表ベクトルとを生成する生成部と、
    前記第1あるいは前記第2の代表ベクトルを基本動き情報とする選択部とを備える
    ことを特徴とする請求項1に記載の画像符号化装置。
  3. 前記生成部は、
    前記復号化情報から前記復号化情報に含まれるマクロブロックごとの動きベクトルの平均を示す第1の平均ベクトルを算出し、当該第1の平均ベクトルを前記第1の代表ベクト
    ルとして算出する第1の平均ベクトル算出部と、
    前記復号化情報から前記復号化情報に含まれるマクロブロックごとの動きベクトルの分散である第1の分散値を算出する第1のベクトル分散算出部と、
    前記符号化情報から前記符号化情報に含まれるマクロブロックごとの動きベクトルの平均を示す第2の平均ベクトルを算出し、当該第2の平均ベクトルを前記第2の代表ベクトルとして算出する第2の平均ベクトル算出部と、
    前記符号化情報から前記符号化情報に含まれるマクロブロックごとの動きベクトルの分散である第2の分散値を算出する第2のベクトル分散算出部とを備え、
    前記基本動き情報生成手段は、さらに、
    前記第1の分散値と前記第2の分散値とを比較する比較部を備え、
    前記選択部は、
    前記比較部の比較結果を基に、前記第1の分散値が小さい場合は前記第1の代表ベクトルを基本動き情報とし、前記第2の分散値が小さい場合は前記第2の代表ベクトルを基本動き情報として出力する
    ことを特徴とする請求項2に記載の画像符号化装置。
  4. 前記符号化情報保持手段は、前記符号化手段が符号化対象とする前記復号画像以前に符号化された復号画像の動きベクトルを含む符号化情報を保持し、
    前記生成部は、前記符号化情報保持手段が保持する前記復号画像の直前に符号化された復号画像の符号化情報から前記符号化情報に含まれる動きベクトルを代表する前記第2の代表ベクトルを生成する
    ことを特徴とする請求項2に記載の画像符号化装置。
  5. 前記生成部は、
    前記符号化手段で符号化対象となる前記復号画像と同じピクチャタイプで、前記符号化手段により前記復号画像の直前に符号化された復号画像の符号化情報から第2の代表ベクトルを生成する
    ことを特徴とする請求項2に記載の画像符号化装置。
  6. 前記第1の平均ベクトル算出部は、
    前記復号化情報に含まれる複数の動きベクトルを基に、符号化対象となる前記復号画像の前方予測方向に対するマクロブロックごとの動きベクトルを生成し、生成した動きベクトルの平均を前記第1の平均ベクトルとし、
    前記第2の平均ベクトル算出部は、
    前記符号化情報に含まれる複数の動きベクトルを基に、符号化対象となる前記復号画像の前方予測方向に対するマクロブロックごとの動きベクトルを生成し、生成した動きベクトルの平均を前記第2の平均ベクトルとする
    ことを特徴とする請求項3に記載の画像符号化装置。
  7. 前記第1の平均ベクトル算出部は、
    前記第1の平均ベクトルを予測方向ごとに算出するとともに、当該予測方向ごとの当該第1の平均ベクトルを前記第1の代表ベクトルとし、
    前記第2の平均ベクトル算出部は、
    前記第2の平均ベクトルを予測方向ごとに算出するとともに、当該予測方向ごとの当該第2の平均ベクトルを前記第2の代表ベクトルとする
    ことを特徴とする請求項3に記載の画像符号化装置。
  8. 前記第1および前記第2の平均ベクトル算出部は、
    前記符号化手段がフレーム構造で符号化する場合、1フレーム間の距離の大きさと方向とで表現した基本ベクトルを用いて前記第1の平均ベクトル及び、前記第2の平均ベクト
    ルを算出し、
    前記符号化手段がフィールド構造で符号化する場合、1フィールド間の距離の大きさと方向とで表現した基本ベクトルを用いて前記第1の平均ベクトル及び、前記第2の平均ベクトルを算出する
    ことを特徴とする請求項3に記載の画像符号化装置。
  9. 前記生成部は、
    前記復号化情報から得られた符号化対象となる前記復号画像を2以上の領域に分割し、当該領域内に含まれるマクロブロックごとの動きベクトルを基に、前記第1の代表ベクトルを、分割した領域毎に生成し、
    前記符号化情報から得られた符号化対象となる前記復号画像を前記領域に分割し、当該領域内に含まれるマクロブロックごとの動きベクトルを基に、前記第2の代表ベクトルを、分割した領域毎に生成し、
    前記選択部は、
    前記領域毎に生成された前記第1および前記第2の代表ベクトルのうち一方の代表ベクトルを、当該第1あるいは当該第2の代表ベクトルが属する領域の基本動きベクトルとする
    ことを特徴とする請求項2に記載の画像符号化装置。
  10. 前記生成部は、
    前記復号化情報から得られた符号化対象となる前記復号画像を2以上の領域に分割し、当該領域内に含まれるマクロブロックごとの動きベクトルを基に、前記第1の代表ベクトルを、分割した領域毎に生成し、
    前記符号化情報から得られた符号化対象となる前記復号画像を2以上の領域に分割し、当該領域内に含まれるマクロブロックごとの動きベクトルを基に、前記第2の代表ベクトルを、分割した領域毎に生成し、
    前記選択部は、
    複数の前記領域を、当該領域に属する前記第1の代表ベクトル若しくは前記第2の代表ベクトルの大きさまたは方向を基に、少なくとも1以上の領域からなるグループにグループ化し、
    前記グループに属する前記第1の代表ベクトルの平均ベクトルおよび前記第2の代表ベクトルの平均ベクトルのうち一方の平均ベクトルを、当該グループの基本動きベクトルとする
    ことを特徴とする請求項2に記載の画像符号化装置。
  11. 前記生成部は、
    前記グループ内に含まれるマクロブロックごとの動きベクトルの中央値若しくは、最大値を示す動きベクトルを、前記第1の代表ベクトルおよび、前記第2の代表ベクトルとする
    ことを特徴とする請求項10に記載の画像符号化装置。
  12. 前記生成部は、
    前記復号化情報に含まれる複数の動きベクトルを、少なくともベクトルの大きさと方向との一方を用いて2以上のグループ毎にグループ化し、
    前記グループ内に含まれる動きベクトルを基に、前記第1の代表ベクトルを、当該グループ毎に生成し、
    前記符号化情報に含まれる複数の動きベクトルを、前記グループ毎にグループ化し、
    前記グループ内に含まれる動きベクトルを基に、前記第2の代表ベクトルを、当該グループ毎に生成し、
    前記選択部は、
    前記グループ毎に生成された前記第1および前記第2の代表ベクトルのうち一方の代表ベクトルを、当該第1あるいは当該第2の代表ベクトルが属するグループの基本動きベク
    トルとする
    ことを特徴とする請求項2に記載の画像符号化装置。
  13. 前記生成部は、
    前記復号化情報から前記復号化情報に含まれるマクロブロックごとの動きベクトルの平均を示す第1の平均ベクトルと、当該マクロブロックごとの動きベクトルの大きさに対する平均を示す第1の絶対値和平均と、を算出する第1の平均ベクトル算出部と、
    前記符号化情報から前記符号化情報に含まれるマクロブロックごとの動きベクトルの平均を示す第2の平均ベクトルと、当該マクロブロックごとの動きベクトルの大きさに対する平均を示す第2の絶対値和平均と、を算出する第2の平均ベクトル算出部とを有し、
    前記基本動き情報生成手段は、さらに、
    前記第1の平均ベクトルの大きさおよび、前記第1の絶対値和平均の差分結果である第1の差分値、並びに、前記第2の平均ベクトルの大きさおよび、前記第2の絶対値和平均の差分結果である第2の差分値、を比較する比較部を備え、
    前記選択部は、前記比較部の比較結果を基に、前記第1の差分値が小さい場合は前記第1の平均ベクトルを選択し、前記第2の差分値が小さい場合は前記第2の平均ベクトルを選択し、前記基本動き情報として出力する
    ことを特徴とする請求項2に記載の画像符号化装置。
  14. 前記符号化手段は、
    前記復号画像の動きが大きくなるにつれ、前記探索範囲を大きくする
    ことを特徴とする請求項1に記載の画像符号化装置。
  15. 第1符号化方式で符号化された第1の符号化データを第2符号化方式で符号化された第2の符号化データに変換する画像符号化方法であって、
    前記第1の符号化データを復号化し、動きベクトルを含む復号化情報と復号画像とを生成する復号化ステップと、
    前記復号化ステップが生成した復号画像を前記第2符号化方式で符号化し、動きベクトルを含む符号化情報と符号化画像とを含む第2の符号化データを生成する符号化ステップと、
    前記復号化ステップが生成した復号化情報を保持する復号化情報保持ステップと、
    前記符号化ステップが生成した符号化情報を保持する符号化情報保持ステップと、
    前記復号化情報保持ステップに保持された復号化情報に含まれる複数の動きベクトルのばらつきと前記符号化情報保持ステップに保持された符号化情報に含まれる複数の動きベクトルのばらつきとのうち、ばらつきの小さい方の動きベクトルを基に、前記復号画像の動きを示す基本動き情報を生成する基本動き情報生成ステップとを含み、
    前記符号化ステップは、前記基本動き情報生成ステップが生成した基本動き情報の示す動きによって指し示す位置を中心位置とする所定範囲を探索範囲として決定し、決定した探索範囲内で前記復号画像の動きベクトルを検出し、検出した動きベクトルを含む符号化情報と符号化画像とを含む第2の符号化データを生成する
    ことを特徴とする画像符号化方法。
  16. 第1符号化方式で符号化された第1の符号化データを第2符号化方式で符号化された第2の符号化データに変換することで画像符号化する集積回路であって、
    前記第1の符号化データを復号化し、動きベクトルを含む復号化情報と復号画像とを生成する復号化手段と、
    前記復号化手段が生成した復号画像を前記第2符号化方式で符号化し、動きベクトルを含む符号化情報と符号化画像とを含む第2の符号化データを生成する符号化手段と、
    前記復号化手段が生成した復号化情報を保持する復号化情報保持手段と、
    前記符号化手段が生成した符号化情報を保持する符号化情報保持手段と、
    前記復号化情報保持手段に保持された復号化情報に含まれる複数の動きベクトルのばらつきと前記符号化情報保持手段に保持された符号化情報に含まれる複数の動きベクトルのばらつきとのうち、ばらつきの小さい方の動きベクトルを基に、前記復号画像の動きを示す基本動き情報を生成する基本動き情報生成手段とを備え、
    前記符号化手段は、前記基本動き情報生成手段が生成した基本動き情報の示す動きによって指し示す位置を中心位置とする所定範囲を探索範囲として決定し、決定した探索範囲内で前記復号画像の動きベクトルを検出し、検出した動きベクトルを含む符号化情報と符号化画像とを含む第2の符号化データを生成する
    ことを特徴とする集積回路。
JP2007205864A 2007-08-07 2007-08-07 画像符号化装置および方法 Active JP4523023B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007205864A JP4523023B2 (ja) 2007-08-07 2007-08-07 画像符号化装置および方法
US12/186,042 US8548058B2 (en) 2007-08-07 2008-08-05 Image coding apparatus and method for re-recording decoded video data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007205864A JP4523023B2 (ja) 2007-08-07 2007-08-07 画像符号化装置および方法

Publications (2)

Publication Number Publication Date
JP2009044350A JP2009044350A (ja) 2009-02-26
JP4523023B2 true JP4523023B2 (ja) 2010-08-11

Family

ID=40346496

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007205864A Active JP4523023B2 (ja) 2007-08-07 2007-08-07 画像符号化装置および方法

Country Status (2)

Country Link
US (1) US8548058B2 (ja)
JP (1) JP4523023B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6765964B1 (en) 2000-12-06 2004-07-20 Realnetworks, Inc. System and method for intracoding video data
US8462852B2 (en) 2009-10-20 2013-06-11 Intel Corporation Methods and apparatus for adaptively choosing a search range for motion estimation
US9654792B2 (en) 2009-07-03 2017-05-16 Intel Corporation Methods and systems for motion vector derivation at a video decoder
US8917769B2 (en) 2009-07-03 2014-12-23 Intel Corporation Methods and systems to estimate motion based on reconstructed reference frames at a video decoder
US9509995B2 (en) 2010-12-21 2016-11-29 Intel Corporation System and method for enhanced DMVD processing
EP2665271A4 (en) 2011-01-12 2014-06-18 Panasonic Corp VIDEO ENCODING METHOD AND VIDEO DECODING METHOD
JP6108309B2 (ja) 2011-02-22 2017-04-05 サン パテント トラスト 動画像符号化方法、動画像符号化装置、動画像復号方法、および、動画像復号装置
WO2012117728A1 (ja) 2011-03-03 2012-09-07 パナソニック株式会社 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、及び動画像符号化復号装置
WO2017156669A1 (en) 2016-03-14 2017-09-21 Mediatek Singapore Pte. Ltd. Methods for motion vector storage in video coding
JP6435029B2 (ja) * 2017-09-28 2018-12-05 日本電信電話株式会社 映像符号化装置及び映像符号化プログラム
US10735759B2 (en) * 2018-10-06 2020-08-04 Tencent America LLC Pairwise average motion vector prediction
CN110677653B (zh) * 2019-09-27 2024-01-09 腾讯科技(深圳)有限公司 视频编解码方法和装置及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003143609A (ja) * 2001-08-21 2003-05-16 Canon Inc 画像処理装置、画像処理方法、記録媒体及びプログラム
JP2005110083A (ja) * 2003-10-01 2005-04-21 Sony Corp データ処理装置およびその方法と符号化装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11308617A (ja) 1998-04-23 1999-11-05 Hitachi Ltd ディジタル画像符号化装置とこれに用いる動きベクトル検出装置
KR100386583B1 (ko) * 2000-11-30 2003-06-02 엘지전자 주식회사 영상 변환 부호화 장치 및 방법
US7899117B2 (en) * 2004-05-26 2011-03-01 Panasonic Corporation Apparatus and method for encoding motion vector, and program and medium therefor
US7933335B2 (en) * 2004-11-30 2011-04-26 Panasonic Corporation Moving picture conversion apparatus

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003143609A (ja) * 2001-08-21 2003-05-16 Canon Inc 画像処理装置、画像処理方法、記録媒体及びプログラム
JP2005110083A (ja) * 2003-10-01 2005-04-21 Sony Corp データ処理装置およびその方法と符号化装置

Also Published As

Publication number Publication date
JP2009044350A (ja) 2009-02-26
US20090041124A1 (en) 2009-02-12
US8548058B2 (en) 2013-10-01

Similar Documents

Publication Publication Date Title
JP4523023B2 (ja) 画像符号化装置および方法
JP4523625B2 (ja) 画像符号化装置および方法
JP4735375B2 (ja) 画像処理装置及び動画像符号化方法。
JP2016123131A (ja) デジタルビデオコンテンツのマクロブロックレベルにおける適応フレーム/フィールド符号化
US20060153299A1 (en) Coded video sequence conversion apparatus, method and program product for coded video sequence conversion
US8229233B2 (en) Method and apparatus for estimating and compensating spatiotemporal motion of image
JP5216710B2 (ja) 復号化処理方法
JP2004207802A (ja) 画像データ処理装置および方法、記録媒体、並びにプログラム
KR20090094595A (ko) 복수 참조에 의한 움직임 예측을 이용한 부호화 방법 및장치, 그리고 복수 참조에 의한 움직임 예측을 이용한복호화 방법 및 장치
JP5156704B2 (ja) 画像符号化装置、画像符号化方法、集積回路及びカメラ
JP2007251497A (ja) 動画像符号化方法、動画像符号化装置、動画像符号化プログラム
JP2007189276A (ja) 画像圧縮装置及び画像圧縮プログラム
JP2007228560A (ja) 動画像符号化方法および動画像符号化装置
JP4957780B2 (ja) 動き補償予測符号化装置、動き補償予測符号化方法及びプログラム
JP2010074496A (ja) 動きベクトル検出処理装置本発明は、動画像情報をビデオストリームに符号化する動画像符号化処理における、演算量を削減した動きベクトル検出処理装置に関する。
JP4235209B2 (ja) 動きベクトル検出装置および動きベクトル検出方法
JP4547668B2 (ja) 動き補償予測符号化装置及び動き補償予測符号化方法
US10075691B2 (en) Multiview video coding method using non-referenced view video group
JP2014200078A (ja) 動画像符号化装置及びその制御方法
JP4438949B2 (ja) 動き補償予測符号化装置、動き補償予測符号化方法及びプログラム
JP2012120108A (ja) 補間画像生成装置及びプログラム、並びに、動画像復号装置及びプログラム
KR101650056B1 (ko) 복수 참조에 의한 움직임 예측을 이용한 부호화 방법 및 장치, 그리고 복수 참조에 의한 움직임 예측을 이용한 복호화 방법 및 장치
JP4561701B2 (ja) 動画像符号化装置
KR101590875B1 (ko) 복수 참조에 의한 움직임 예측을 이용한 부호화 방법 및 장치, 그리고 복수 참조에 의한 움직임 예측을 이용한 복호화 방법 및 장치
JP2008028882A (ja) 動画像符号化装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090811

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090818

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100209

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100318

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4523023

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130604

Year of fee payment: 3