JP5207693B2 - 画像符号化装置及び画像符号化方法 - Google Patents

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

Info

Publication number
JP5207693B2
JP5207693B2 JP2007241430A JP2007241430A JP5207693B2 JP 5207693 B2 JP5207693 B2 JP 5207693B2 JP 2007241430 A JP2007241430 A JP 2007241430A JP 2007241430 A JP2007241430 A JP 2007241430A JP 5207693 B2 JP5207693 B2 JP 5207693B2
Authority
JP
Japan
Prior art keywords
motion vector
encoding
macroblock
image data
encoded
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
Application number
JP2007241430A
Other languages
English (en)
Other versions
JP2009076972A (ja
JP2009076972A5 (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2007241430A priority Critical patent/JP5207693B2/ja
Publication of JP2009076972A publication Critical patent/JP2009076972A/ja
Publication of JP2009076972A5 publication Critical patent/JP2009076972A5/ja
Application granted granted Critical
Publication of JP5207693B2 publication Critical patent/JP5207693B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は画像符号化装置、画像符号化方法、プログラム及び記録媒体に関し、特に、フォーマットを変換するために用いて好適な技術に関する。
従来、ディジタル映像の符号化を行う際に、ディジタル放送やハードディスクレコーダ、あるいはカムコーダといった製品においては、MPEG−2方式が広く用いられてきた。MPEG−2方式では、図8に示すように、フレームベースの動き予測の場合、Pピクチャ(前方予測ピクチャ)では1つの動きベクトルを指定することができ、Bピクチャ(双方向予測ピクチャ)では最大2つの動きベクトルを指定することができる。特に、Bピクチャにおいては、前後の参照フレームを用いて、参照データ間の平均との差分を取ることも可能である。
また、最近では、より符号化効率を高めたMPEG−4フォーマットや、H.264/MPEG−4 AVCフォーマットも勧告化され、実用化されている。特に、H.264/MPEG−4 AVC方式では、MPEG−2方式と比べて、参照フレームを選択する自由度が上がっている。例えば、図9に示すように、Bピクチャの参照フレームとして、直前のIピクチャではなく、それ以前のPピクチャなどから参照することも可能になっている。
以上のようにそれぞれの符号化方式において、その方法が異なるため、フォーマット間での相互変換性や、再生互換性が重要になってきている。特に、H.264/MPEG−4 AVCフォーマットはこれから普及度が高くなると見込まれるが、再生環境がまだ十分とはいえず、第三者への配布用途などにおいては、依然として普及度の高いMPEG−2フォーマットに変換する需要がある。そこで、フォーマットを変換する従来の技術としては、例えば、特許文献1には、再符号化(トランスコーディング)の際の動きベクトルの補正についての提案が開示されている。
一方、H.264方式の符号化方法については、例えば特許文献2には、H.264符号化で用いられているダイレクトモード予測精度向上に関する提案が開示されている。
特開平10−271494号公報 特開2004−165703号公報
前述したように、MPEG−4方式やH.264方式など各種異なるフォーマット規格が勧告されている中で、規格(フォーマット)によって、参照可能なフレームには制限がある。このため、再符号化(フォーマット変換)の際に、変換前のオリジナルのベクトル情報を使えない場合があった。
また、前記特許文献1に記載の動画符号変換装置は、MPEG−4方式及びH.264方式には対応していない。したがって、MPEG−4方式またはH.264方式からMPEG−2方式のフォーマットに変換する際には、参照フレームが異なる場合にオリジナルのベクトル情報を使えず、復号化した後に最初から動き検出等を行わなければならない。このため、処理の負荷が大きくなってしまうという問題点があった。
本発明は前述の問題点に鑑み、参照フレームが異なる場合であっても、異なるフォーマットに簡単に変換できるようにすることを目的としている。
本発明の画像符号化装置は、マクロブロック毎に、或いは、マクロブロックを構成する複数のサブマクロブロック毎に生成された動きベクトルを用いてフレーム間予測符号化を行う第1の符号化方式によって符号化された第1の画像データを、フレーム内符号化とフレーム間予測符号化とを用いた符号化方式であって、マクロブロック毎に生成された動きベクトルを用いてフレーム間予測符号化を行う第2の符号化方式によって符号化する画像符号化装置であって、前記第1の画像データを復号して第2の画像データを生成する復号手段と、前記復号手段により前記第1の画像データを復号することにより得られた第2の画像データにおける符号化対象のマクロブロックに対応した、前記第1の画像データの一つのマクロブロックが複数のサブマクロブロックで構成されていた場合、前記一つのマクロブロックを構成する複数のサブマクロブロックの動きベクトルのうち、前記符号化対象のマクロブロックの参照フレームと異なる参照フレームに対する動きベクトルを内分することにより補正し、前記補正された動きベクトルを含む複数の前記サブマクロブロックの動きベクトルから、前記符号化対象のマクロブロックに対応する動きベクトルを生成する動きベクトル補正手段と、前記動きベクトル補正手段により生成された動きベクトルを用いて、前記復号手段により前記第1の画像データを復号することにより得られた第2の画像データを前記第2の符号化方式により符号化する符号化手段とを備え、前記符号化手段は、前記補正された動きベクトルを含む複数の前記サブマクロブロックの動きベクトルの分散値の少なくとも一つが所定の値を上回る場合、前記符号化対象のマクロブロックをフレーム内符号化により符号化することを特徴とする。
本発明の画像符号化方法は、マクロブロック毎に、或いは、マクロブロックを構成する複数のサブマクロブロック毎に生成された動きベクトルを用いてフレーム間予測符号化を行う第1の符号化方式によって符号化された第1の画像データを、フレーム内符号化とフレーム間予測符号化とを用いた符号化方式であって、マクロブロック毎に生成された動きベクトルを用いてフレーム間予測符号化を行う第2の符号化方式によって符号化する画像符号化方法であって、前記第1の画像データを復号して第2の画像データを生成する復号工程と、前記復号工程により前記第1の画像データを復号することにより得られた第2の画像データにおける符号化対象のマクロブロックに対応した、前記第1の画像データの一つのマクロブロックが複数のサブマクロブロックで構成されていた場合、前記一つのマクロブロックを構成する複数のサブマクロブロックの動きベクトルのうち、前記符号化対象のマクロブロックの参照フレームと異なる参照フレームに対する動きベクトルを内分することにより補正し、前記補正された動きベクトルを含む複数の前記サブマクロブロックの動きベクトルから、前記符号化対象のマクロブロックに対応する動きベクトルを生成する動きベクトル補正工程と、前記動きベクトル補正工程において生成された動きベクトルを用いて、前記復号工程により前記第1の画像データを復号することにより得られた第2の画像データを前記第2の符号化方式により符号化する符号化工程とを備え、前記符号化工程においては、前記補正された動きベクトルを含む複数の前記サブマクロブロックの動きベクトルの分散値の少なくとも一つが所定の値を上回る場合、前記符号化対象のマクロブロックをフレーム内符号化により符号化することを特徴とする。
本発明のプログラムは、マクロブロック毎に、或いは、マクロブロックを構成する複数のサブマクロブロック毎に生成された動きベクトルを用いてフレーム間予測符号化を行う第1の符号化方式によって符号化された第1の画像データを、フレーム内符号化とフレーム間予測符号化とを用いた符号化方式であって、マクロブロック毎に生成された動きベクトルを用いてフレーム間予測符号化を行う第2の符号化方式によって符号化する画像符号化装置を制御するためのプログラムであって、前記第1の画像データを復号して第2の画像データを生成する復号工程と、前記復号工程により前記第1の画像データを復号することにより得られた第2の画像データにおける符号化対象のマクロブロックに対応した、前記第1の画像データの一つのマクロブロックが複数のサブマクロブロックで構成されていた場合、前記一つのマクロブロックを構成する複数のサブマクロブロックの動きベクトルのうち、前記符号化対象のマクロブロックの参照フレームと異なる参照フレームに対する動きベクトルを内分することにより補正し、前記補正された動きベクトルを含む複数の前記サブマクロブロックの動きベクトルから、前記符号化対象のマクロブロックに対応する動きベクトルを生成する動きベクトル補正工程と、前記動きベクトル補正工程において生成された動きベクトルを用いて、前記復号工程により前記第1の画像データを復号することにより得られた第2の画像データを前記第2の符号化方式により符号化する符号化工程とをコンピュータに実行させ、前記符号化工程においては、前記補正された動きベクトルを含む複数の前記サブマクロブロックの動きベクトルの分散値の少なくとも一つが所定の値を上回る場合、前記符号化対象のマクロブロックをフレーム内符号化により符号化することを特徴とする。
本発明の記録媒体は、前記に記載のプログラムを記録したことを特徴とする。
本発明によれば、異なる符号化方式で再符号化を行う際に、第1の符号化方式で用いられた動きベクトルを内分して、第2の符号化方式に対応する動きベクトルに補正するようにした。これにより、参照フレームが異なる場合であってもオリジナルの動きベクトルの再利用をすることができる。したがって、処理負荷を小さくして異なるフォーマットに変換することができる。
(第1の実施形態)
以下、本発明の実施形態について、図面を参照しながら説明する。
図5は、従来のMPEG−2方式を用いた画像符号化装置の機能構成例を示すブロック図である。
図5において、501は動き検出部であり、動きベクトルを探索する。502は動き補償部であり、検出された動きベクトルを用いて画像間の差分をとり、動き補償を行う。
503はDCT部であり、二次元でDCT変換を行う。504は量子化部であり、予め算出された量子化ステップ値を用い、DCT係数に対して量子化処理を行う。505は逆量子化部であり、量子化されたDCT係数の逆量子化処理を行う。506はIDCT部であり、逆DCT変換を行い、動き補償部502に出力する。これにより、ローカルデコード画像を生成する。
507は可変長符号化部であり、量子化されたDCT係数情報や、ベクトル情報などを可変長符号化により圧縮する。508はフレームメモリであり、符号化対象画像データや、参照画像データを蓄積する。符号化対象画像データは、図10に示すように、マクロブロックと呼ばれる小さな画像単位で処理が行われる。MPEG−2方式では、図10(a)に示すように、輝度については16×16単位のマクロブロックを用い、色差については8×8単位のマクロブロックを用いている。MPEG−2方式では、このマクロブロック単位にて動き補償を行い、時間的な冗長度を削減して圧縮率を高めている。
次に、フレーム間予測における動き検出について説明する。
図6は、動き検出の概要を示す図である。動き検出においては、符号化対象のマクロブロック602と、ローカルデコード後の参照フレーム601との差分を取って絶対値を演算する方法が一般的に用いられる。具体的には、輝度ブロックに対して、参照フレーム601内の任意の位置における16×16単位の画素との差分を取り、絶対値和を算出する。そして、参照フレーム601の位置をずらしながら、前記絶対値和が最小になるポイントを求める。その結果、この最小ポイントを動きベクトルとして決定する。
すべての参照画像の位置に対して、このような処理によって動きベクトルを決定する方法はフルサーチ法と呼ばれており、最も性能の高い方法ではある。ところが、演算量が膨大となるため、実用上は、実時間のエンコード用途としてはほとんど使用されていない。そこで、実時間エンコーダ用としては、処理を簡略化したステップサーチ法と呼ばれる方法が一般的に使用されている。
図7は、ステップサーチ法による動き検出の概要を示す図である。ステップサーチ法は、まず大域的に動きベクトルを検出し、検出した動きベクトルの周辺に対してより詳細な探索を行って、探索処理を削減する方法である。
図12は、ステップサーチ法による動きベクトルの探索処理手順の一例を示すフローチャートである。
図7に示す例に沿って説明すると、まずステップS1において、フレーム701内において、大域的にサーチするサーチエリア702を指定する。次に、ステップS2において、サーチエリア702のエリア内で動きベクトルの候補を求め、その中の候補から絶対値和が最小となるポイントの動きベクトルの候補を選ぶ。
次に、ステップS3において、前記候補に対して、1画素単位で再度動きベクトルの探索を行い、絶対値和が最小となるポイントの動きベクトルの候補を求める。そして、ステップS4において、1/2画素あるいはそれ以下の精度で再度動きベクトルの探索を行い、最終的な動きベクトルを決定する。以上のように、4段階にわたって処理を行い、動きベクトルの精度を順次高める。
なお、ステップS1において、サーチエリア702の決定を行っているが、この演算を行う範囲のサーチエリア702はサーチウィンドウと呼ばれている。このサーチウィンドウを広くするほうがベクトル探索精度を高くすることができるが、それだけ演算量が多くなってしまう。また、サーチウィンドウを一度定めてしまうと、サーチウィンドウ外のエリアは探索対象から外れる。このため、正確な動きベクトルが検出されない可能性がある。したがって、このステップS1におけるサーチウィンドウの設定位置は、正確な動きベクトルを求めるため(高い符号化効率を実現するため)には非常に重要な項目となっている。
MPEG−2方式では、以上のような手順で動きベクトルを求めている。ところが、前述したように、H.264方式では、参照フレームを選択する自由度が上がっているため、H.264方式で求められた動きベクトルをそのままMPEG−2方式で用いることができるとは限らない。そこで、本実施形態においては、H.264方式で参照したピクチャの位置とMPEG−2方式で参照するピクチャの位置との関係から、MPEG−2方式で用いる動きベクトルを算出するようにした。以下、その手順について詳細に説明する。
図1は、本実施形態における画像符号化装置(H.264/MPEG−2トランスコーダ)の機能構成例を示すブロック図である。
図1に示す画像符号化装置100において、121は、H.264方式に対応のエンコーダ及びデコーダである。122は、MPEG−2方式に対応のエンコーダである。
101は動き検出部であり、動きベクトルを探索する。102は動き補償部であり、検出された動きベクトルを用いて画像間の差分をとり、動き補償を行う。103はDCT部であり、二次元でDCT変換を行う。104は量子化部であり、予め算出された量子化ステップ値を用い、DCT係数に対して量子化処理を行う。105は逆量子化部であり、量子化されたDCT係数の逆量子化処理を行う。106はIDCT部であり、逆DCT変換を行い、動き補償部102に出力する。これにより、参照画像データを生成する。
107は可変長符号化部であり、量子化されたDCT係数情報や、ベクトル情報などを可変長符号化により圧縮する。なお、H.264方式の場合は、可変長符号化には算術符号が使用される。108はフレームメモリであり、符号化対象画像データ、参照画像データ、及び復号化された画像データを蓄積する画像メモリである。復号化された画像データは、MPEG−2方式に対応のエンコーダ122において再度符号化を行うために使用される。
また、109は可変長復号化部であり、可変長符号化部107で符号化された圧縮データの可変長復号化を行う。なお、H.264方式の場合は算術復号を行う。復号結果としてはDCT係数のほかに、動きベクトル、マクロブロックタイプなどからなるマクロブロック情報があり、このマクロブロック情報は、後述するマクロブロック情報メモリ118に出力される。
一方、MPEG−2方式に対応のエンコーダ122において、112は動き補償部であり、後述する動きベクトル補正部119において補正された動きベクトルを用いて画像間の差分をとり、動き補償を行う。113はDCT部であり、二次元でDCT変換を行う。114は量子化部であり、予め算出された量子化ステップ値を用い、DCT係数に対して量子化処理を行う。115は逆量子化部であり、量子化されたDCT係数の逆量子化処理を行う。116はIDCT部であり、逆DCT変換を行い、動き補償部112に出力する。これにより、参照画像データを生成する。
117は可変長符号化部であり再符号化手段として機能し、量子化されたDCT係数情報や、ベクトル情報などを可変長符号化により圧縮する。118はマクロブロック情報メモリであり、可変長復号化部109で復号化されたマクロブロック情報を複数フレーム分記録する。119は動きベクトル補正部であり、MPEG−2方式で再符号化を行うために、マクロブロック情報に含まれる動きベクトルを補正し、MPEG−2方式に対応した動きベクトルを生成する。
図13は、本実施形態の動きベクトル補正部119による処理手順の一例を示すフローチャートである。
まず、ステップS11において、再符号化の対象となるフレームに相当する動きベクトルをマクロブロック情報メモリ118から読み出し、H.264方式の場合と参照フレームが同一であるか否かを判断する。この判断の結果、参照フレームが同一である場合は、動きベクトルを補正する必要はないため、動き補償部112にそのまま動きベクトルを送り、処理を終了する。
一方、ステップS11の判断の結果、参照フレームが同一でない場合は、ステップS12において、H.264方式で参照したフレームとの位置関係を調べる。
図3は、復号化された動きベクトルから、再符号を行う場合の動きベクトルの求め方を示す簡略図である。なお、図3に示す例では、オリジナルのマクロブロックサイズも16×16単位であったものとする。
304は再符号化の対象となっているBピクチャであり、303はMPEG−2方式で参照対象となる直前に復号化済みのPピクチャである。H.264方式で用いられた該当するマクロブロックのオリジナルの動きベクトルが、Bピクチャ302の前に位置するIピクチャ301を参照していたものとする。
このとき、例えば、フレーム予測モードで、特定のマクロブロックの前方動きベクトルの成分を(30、20)とし、後方動きベクトルの成分を(15、3)とする。この場合、ステップS12で調べたオリジナルの動きベクトルが参照していたIピクチャ301からの距離と、Pピクチャ303からの距離との関係によって動きベクトルを補正する。図3に示す例では、前方動きベクトルのみを修正する。
次に、ステップS13において、MPEG−2方式で用いる動きベクトルの成分を求める。図3に示す例では、補正された動きベクトルは、前方動きベクトルのX成分が30*1/3となり、前方動きベクトルのY成分が20*1/3となる。一方、後方動きベクトルについては、再符号化する際に、同じPピクチャ305を参照するため、このまま同じ動きベクトルを使用するものとする。
以上のように本実施形態においては、オリジナルの動きベクトルが参照するフレームと符号化対象のフレームとのフレーム間隔によって、ベクトル値を内分して動きベクトルを補正する。等速度で移動する物体の映像の場合、動きベクトルの大きさが、フレーム間隔に比例して変化するため、フレーム間距離の比率に応じて修正された動きベクトルは十分な精度が得られる。このような構成にすることにより、元のエンコーダとは異なる参照フレームに対する動きベクトルを容易に算出することができ、処理負荷を小さくすることができる。
(第2の実施形態)
第1の実施形態においては、再符号化を行う場合、オリジナルの動きベクトルを内分した値を動きベクトルとしてそのまま用いた。ところが、符号化の方式によっては、その動きベクトルが必ずしも最適ではない可能性がある。そこで本実施形態では、内分した値(成分)をステップサーチの開始点として設定する例について説明する。
図2は、本実施形態における画像符号化装置の機能構成例を示すブロック図である。なお、図1に示した画像符号化装置と重複する構成については同一の番号を付しており、同一の構成については説明を省略する。
図2において、画像符号化装置200のMPEG−2方式に対応のエンコーダ222に動き検出部211が含まれている。動き検出部211は、動きベクトル補正部119で内分したベクトル値を、前述した動き検出法におけるステップサーチの開始点として設定し、動き検出を再度行う。
以上のように本実施形態によれば、内分したベクトル値をステップサーチの開始点として設定し、動き検出を再度行うことにより、より精度の高い動きベクトルを算出することが可能になる。
(第3の実施形態)
従来は、規格(フォーマット)によってマクロブロックのサイズが異なるため、再符号化の際にオリジナルベクトルを使えない場合があった。図10(a)に示すように、MPEG−2方式では、マクロブロックは、16×16単位のサイズの輝度ブロックで固定されており、この単位で動きベクトルが設定される。ところが、MPEG−4方式では、図10(b)に示すように、8×8単位のサイズまで細分化した輝度ブロックで動きベクトルを設定できる。さらに、H.264/MPEG−4 AVC方式では、図10(c)に示すように、4×4単位のサイズまで細分化した輝度ブロック(あるいはサブマクロブロック)で動きベクトルを設定することができる。また、H.264/MPEG−4 AVC方式では、図10(d)に示すような、縦横のサイズの比率が異なるブロックを用いることができる。このようにH.264/MPEG−4 AVC方式では、可変ブロックサイズと呼ばれる動き予測も可能としている。
以上のように、符号化方式によっては、図10(b)〜図10(d)に示すように、マクロブロック内が分割されている場合もある。このようなケースでは、単純に元の動きベクトルを内分するだけでは、補正ベクトルを求めることはできない。本実施形態では、各サブマクロブロックが個別の動きベクトルをもっていた場合の例について説明する。
図4は、本実施形態において、復号化された動きベクトルから、再符号を行う場合の動きベクトルの求め方を示す簡略図である。また、図14は、それぞれのサブマクロブロックの動きベクトルを示す図である。本実施形態では、16×16単位のマクロブロックが、8×8単位の4つのサブマクロブロック(S1、S2、S3、S4)に分割されているものとする。
符号化対象ピクチャがBピクチャ404である場合に、各サブマクロブロックがPピクチャ403を参照していない場合がある。具体的には、例えば、あるサブマクロブロックではPピクチャ403を参照しているが、別のサブマクロブロックではIピクチャ401を参照している場合もある。そこで、まずBピクチャ402の前に位置するIピクチャ401を参照しているベクトルを第1の実施形態と同様に内分して補正したベクトルを算出する。このようにして、各サブマクロブロックにおいてPピクチャ403を参照する前方動きベクトルを算出する。また、同様に、Pピクチャ405を参照する後方動きベクトルも算出する。次に、この補正済みベクトルから、最終的な補正ベクトルを算出する。
各サブマクロブロックの前方動きベクトルをfx(0<x<5)とし、後方動きベクトルをbx(0<x<5)とすると、例えば、前方動きベクトルf1〜f4、後方動きベクトルb1〜b4の成分が以下のとおりであったとする。
f1=(10、−5)、
f2=(8、−3)、
f3=(5、0)、
f4=(7,3)、
b1=(10、−5)、
b2=(8、−1)、
b3=(7、2)、
b4=(2,3)
次に、最終的な補正ベクトルである代表前方参照ベクトルをFとし、代表後方参照ベクトルをBとする。また、水平成分をFxとし、垂直成分をFyとする。代表前方参照ベクトルF及び代表後方参照ベクトルBを例えばメディアン(中央値)で求める場合には、以下の数1に示す式によって算出される。
Figure 0005207693
なお、数1に示す例のように、サブマクロブロックの数によっては、演算結果が、ハーフペル(小数点以下=0.5)やクオーターペル(小数点以下=0.25)になるケースもある。この場合、小数点以下をこのまま使用しても、あるいは簡略化のため、切り捨てなどによって処理してもよい。また、メディアン(中央値)ではなく、平均値で計算を行ってもよい。
また、図11に示すように、サブマクロブロック間でベクトル値のばらつきが激しい場合もある。このようなケースでは、16×16単位のマクロブロックで1つのベクトルに補正すると、その信頼性が低くなってしまう。そこで、サブマクロブロックの各ベクトルの分散値を求め、これが特定の値以内になったときのみ、前述した手順で算出した最終的な補正ベクトルを使用するようにする。
具体的には、ベクトルの分散値の水平成分及び垂直成分は、以下の数2に示す式によって算出する。
Figure 0005207693
このとき、分散値DFx、DFy、DBx、DByが全て所定の値以内であることを満たした場合のみ、この最終的な補正ベクトルを採用する。なお、分散値の少なくとも何れか1つが所定の値を上回る場合には、サブマクロブロックのすべてのベクトルを使用して、1つのベクトルを求めることは的確にはないと判断し、例えば、以下のような方法にて代替することが可能である。
(1)マクロブロックのうち、左上に位置するサブマクロブロックの動きベクトルを使用する。
(2)マクロブロックのうち、最大サイズのサブマクロブロックの動きベクトルを使用する。
(3)隣接するマクロブロックの代表ベクトルを使用する。
(4)動き補償自体が最適ではないと判断し、フレーム内符号化を行う。
また、本実施形態では、各サブマクロブロックがH.264方式で前方+後方の双方向の予測を行った例について説明した。ところがH.264方式では、前方+前方もしくは後方+後方で予測する場合もある。この場合、例えば、サブマクロブック(S1)が前方+前方の予測を行っていた場合は、代表前方参照ベクトルFは、5つの成分から計算し、代表後方参照ベクトルBは3つの成分から計算する。
また、前述した手順で求めた補正ベクトルを第2の実施形態と同様にステップサーチの開始点として設定し、動き検出を再度行うようにしてもよい。
以上のように本実施形態においては、ブロックサイズが異なる場合であっても元のエンコーダとは異なる参照フレームに対する動きベクトルを容易に算出することができ、処理負荷を小さくすることができる。
(本発明に係る他の実施形態)
前述した本発明の実施形態における画像符号化装置を構成する各手段、並びに画像符号化方法の各工程は、コンピュータのRAMやROMなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
また、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図12、13に示すフローチャートに対応したプログラム)を、システムまたは装置に直接、または遠隔から供給する場合も含む。そして、そのシステムまたは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスクなどがある。さらに、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM、DVD−R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する方法がある。そして、前記ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、その他の方法として、本発明のプログラムを暗号化してCD−ROM等の記録媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。さらに、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、その他の方法として、まず記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。そして、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
本発明の第1の実施形態における画像符号化装置の機能構成例を示すブロック図である。 本発明の第2の実施形態における画像符号化装置の機能構成例を示すブロック図である。 本発明の第1の実施形態において、ベクトルを補正する概要例を示す図である。 本発明の第3の実施形態において、ベクトルを補正する概要例を示す図である。 従来のMPEG−2方式の画像符号化装置の機能構成例を示すブロック図である。 マクロブロックにおける動き検出の方法を示す図である。 ステップサーチの方法を示す図である。 MPEG−2による参照フレームの一例を示す図である。 H.264による参照フレームの一例を示す図である。 マクロブロックの構成例を示す図である。 本発明の第3の実施形態において、各サブマクロブロック間で分散値の大きい動きベクトルの一例を示す図である。 ステップサーチの方法の処理手順の一例を示す図である。 本発明の第1の実施形態の動きベクトル補正部による処理手順の一例を示すフローチャートである。 本発明の第3の実施形態において、4分割された各サブマクロブロックの動きベクトルの一例を示す図である。
符号の説明
100 画像符号化装置
101 動き検出部
102 動き補償部
103 DCT部
104 量子化部
105 逆量子化部
106 IDCT部
107 可変長符号化部
108 フレームメモリ
109 可変長復号化部
112 動き補償部
113 DCT部
114 量子化部
115 逆量子化部
116 IDCT部
117 可変長符号化部
118 マクロブロック情報メモリ
119 動きベクトル補正部
121 H.264方式に対応のエンコーダ及びデコーダ
122 MPEG−2方式に対応のエンコーダ

Claims (7)

  1. マクロブロック毎に、或いは、マクロブロックを構成する複数のサブマクロブロック毎に生成された動きベクトルを用いてフレーム間予測符号化を行う第1の符号化方式によって符号化された第1の画像データを、フレーム内符号化とフレーム間予測符号化とを用いた符号化方式であって、マクロブロック毎に生成された動きベクトルを用いてフレーム間予測符号化を行う第2の符号化方式によって符号化する画像符号化装置であって、
    前記第1の画像データを復号して第2の画像データを生成する復号手段と、
    前記復号手段により前記第1の画像データを復号することにより得られた第2の画像データにおける符号化対象のマクロブロックに対応した、前記第1の画像データの一つのマクロブロックが複数のサブマクロブロックで構成されていた場合、前記一つのマクロブロックを構成する複数のサブマクロブロックの動きベクトルのうち、前記符号化対象のマクロブロックの参照フレームと異なる参照フレームに対する動きベクトルを内分することにより補正し、前記補正された動きベクトルを含む複数の前記サブマクロブロックの動きベクトルから、前記符号化対象のマクロブロックに対応する動きベクトルを生成する動きベクトル補正手段と、
    前記動きベクトル補正手段により生成された動きベクトルを用いて、前記復号手段により前記第1の画像データを復号することにより得られた第2の画像データを前記第2の符号化方式により符号化する符号化手段とを備え、
    前記符号化手段は、前記補正された動きベクトルを含む複数の前記サブマクロブロックの動きベクトルの分散値の少なくとも一つが所定の値を上回る場合、前記符号化対象のマクロブロックをフレーム内符号化により符号化することを特徴とする画像符号化装置。
  2. 前記動きベクトル補正手段は、前記補正された動きベクトルを含む複数の前記サブマクロブロックの動きベクトルの平均値、あるいは中央値を用いて、前記符号化対象のマクロブロックの動きベクトルを生成することを特徴とする請求項1に記載の画像符号化装置。
  3. 前記符号化手段は、前記補正された動きベクトルを含む複数の前記サブマクロブロックの動きベクトルの分散値が何れも前記所定の値より小さい場合、前記動きベクトル補正手段により生成された動きベクトルを用いて前記復号手段により前記第1の画像データを復号することにより得られた第2の画像データを符号化することを特徴とする請求項1に記載の画像符号化装置。
  4. 前記第1の符号化方式はMPEG−4方式またはH.264方式であり、前記第2の符号化方式はMPEG−2方式であることを特徴とする請求項1から3の何れか1項に記載の画像符号化装置。
  5. マクロブロック毎に、或いは、マクロブロックを構成する複数のサブマクロブロック毎に生成された動きベクトルを用いてフレーム間予測符号化を行う第1の符号化方式によって符号化された第1の画像データを、フレーム内符号化とフレーム間予測符号化とを用いた符号化方式であって、マクロブロック毎に生成された動きベクトルを用いてフレーム間予測符号化を行う第2の符号化方式によって符号化する画像符号化方法であって、
    前記第1の画像データを復号して第2の画像データを生成する復号工程と、
    前記復号工程により前記第1の画像データを復号することにより得られた第2の画像データにおける符号化対象のマクロブロックに対応した、前記第1の画像データの一つのマクロブロックが複数のサブマクロブロックで構成されていた場合、前記一つのマクロブロックを構成する複数のサブマクロブロックの動きベクトルのうち、前記符号化対象のマクロブロックの参照フレームと異なる参照フレームに対する動きベクトルを内分することにより補正し、前記補正された動きベクトルを含む複数の前記サブマクロブロックの動きベクトルから、前記符号化対象のマクロブロックに対応する動きベクトルを生成する動きベクトル補正工程と、
    前記動きベクトル補正工程において生成された動きベクトルを用いて、前記復号工程により前記第1の画像データを復号することにより得られた第2の画像データを前記第2の符号化方式により符号化する符号化工程とを備え、
    前記符号化工程においては、前記補正された動きベクトルを含む複数の前記サブマクロブロックの動きベクトルの分散値の少なくとも一つが所定の値を上回る場合、前記符号化対象のマクロブロックをフレーム内符号化により符号化することを特徴とする画像符号化方法。
  6. マクロブロック毎に、或いは、マクロブロックを構成する複数のサブマクロブロック毎に生成された動きベクトルを用いてフレーム間予測符号化を行う第1の符号化方式によって符号化された第1の画像データを、フレーム内符号化とフレーム間予測符号化とを用いた符号化方式であって、マクロブロック毎に生成された動きベクトルを用いてフレーム間予測符号化を行う第2の符号化方式によって符号化する画像符号化装置を制御するためのプログラムであって、
    前記第1の画像データを復号して第2の画像データを生成する復号工程と、
    前記復号工程により前記第1の画像データを復号することにより得られた第2の画像データにおける符号化対象のマクロブロックに対応した、前記第1の画像データの一つのマクロブロックが複数のサブマクロブロックで構成されていた場合、前記一つのマクロブロックを構成する複数のサブマクロブロックの動きベクトルのうち、前記符号化対象のマクロブロックの参照フレームと異なる参照フレームに対する動きベクトルを内分することにより補正し、前記補正された動きベクトルを含む複数の前記サブマクロブロックの動きベクトルから、前記符号化対象のマクロブロックに対応する動きベクトルを生成する動きベクトル補正工程と、
    前記動きベクトル補正工程において生成された動きベクトルを用いて、前記復号工程により前記第1の画像データを復号することにより得られた第2の画像データを前記第2の符号化方式により符号化する符号化工程とをコンピュータに実行させ、
    前記符号化工程においては、前記補正された動きベクトルを含む複数の前記サブマクロブロックの動きベクトルの分散値の少なくとも一つが所定の値を上回る場合、前記符号化対象のマクロブロックをフレーム内符号化により符号化することを特徴とするプログラム。
  7. 請求項6に記載のプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
JP2007241430A 2007-09-18 2007-09-18 画像符号化装置及び画像符号化方法 Expired - Fee Related JP5207693B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007241430A JP5207693B2 (ja) 2007-09-18 2007-09-18 画像符号化装置及び画像符号化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007241430A JP5207693B2 (ja) 2007-09-18 2007-09-18 画像符号化装置及び画像符号化方法

Publications (3)

Publication Number Publication Date
JP2009076972A JP2009076972A (ja) 2009-04-09
JP2009076972A5 JP2009076972A5 (ja) 2010-10-28
JP5207693B2 true JP5207693B2 (ja) 2013-06-12

Family

ID=40611562

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007241430A Expired - Fee Related JP5207693B2 (ja) 2007-09-18 2007-09-18 画像符号化装置及び画像符号化方法

Country Status (1)

Country Link
JP (1) JP5207693B2 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE515535C2 (sv) * 1996-10-25 2001-08-27 Ericsson Telefon Ab L M En transkoder
JPH11275592A (ja) * 1998-01-22 1999-10-08 Victor Co Of Japan Ltd 動画像符号列変換装置及びその方法
JP4779207B2 (ja) * 2001-01-17 2011-09-28 ソニー株式会社 動きベクトル変換装置及び動きベクトル変換方法
JP2006524000A (ja) * 2003-04-17 2006-10-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ビデオトランスコーディング
JP2005236584A (ja) * 2004-02-18 2005-09-02 Victor Co Of Japan Ltd 動画像情報変換符号化装置
JP4764706B2 (ja) * 2004-11-30 2011-09-07 パナソニック株式会社 動画像変換装置

Also Published As

Publication number Publication date
JP2009076972A (ja) 2009-04-09

Similar Documents

Publication Publication Date Title
JP4529919B2 (ja) 適応量子化装置及び適応量子化プログラム
CN102369730B (zh) 动态图像编码装置、动态图像解码装置、动态图像编码方法及动态图像解码方法
JP5521202B2 (ja) 多視点画像符号化方法、多視点画像復号方法、多視点画像符号化装置、多視点画像復号装置、多視点画像符号化プログラムおよび多視点画像復号プログラム
JP4114885B2 (ja) 画像符号化装置、方法、及びプログラム
US7583302B2 (en) Image processing device having blur correction function
WO2009084340A1 (ja) 動画像符号化装置、および、動画像復号装置
US20040202249A1 (en) Real-time MPEG video encoding method of maintaining synchronization between video and audio
US20020057739A1 (en) Method and apparatus for encoding video
JP3633159B2 (ja) 動画像信号符号化方法及び装置、並びに動画像信号伝送方法
JP2008182527A (ja) 画像符号化装置及び方法、並びに撮像システム
JP2007134755A (ja) 動画像符号化装置及び画像記録再生装置
JP4898415B2 (ja) 動画像符号化装置及び動画像符号化方法
JP2002152751A (ja) 画像処理装置、方法及びコンピュータ読み取り可能な記録媒体
JP2002199392A (ja) 映像符号化方法および装置
JP4569968B2 (ja) 動画像合成装置及びプログラム
JP2006246277A (ja) 再符号化装置、再符号化方法、および再符号化用プログラム
JP5207693B2 (ja) 画像符号化装置及び画像符号化方法
KR20150028832A (ko) 동화상 예측 부호화 장치, 동화상 예측 부호화 방법, 동화상 예측 부호화 프로그램, 동화상 예측 복호 장치, 동화상 예측 복호 방법, 및 동화상 예측 복호 프로그램
JP4971817B2 (ja) 画像符号化装置
JP2008187694A (ja) 画像符号化装置およびその方法
JP2008301270A (ja) 動画像符号化装置及び動画像符号化方法
JP5247210B2 (ja) 動画像符号化装置及び動画像符号化方法
JP2009021786A (ja) 画像符号化装置及び画像符号化方法
JP4590337B2 (ja) 動画像符号化装置及び動画像符号化方法
JP2006295502A (ja) 再符号化装置、再符号化方法、および再符号化用プログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100910

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100910

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111207

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120117

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120313

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121106

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121225

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130219

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

Free format text: PAYMENT UNTIL: 20160301

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20160301

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees