JP4785769B2 - 符号化装置及び符号化プログラム - Google Patents

符号化装置及び符号化プログラム Download PDF

Info

Publication number
JP4785769B2
JP4785769B2 JP2007042380A JP2007042380A JP4785769B2 JP 4785769 B2 JP4785769 B2 JP 4785769B2 JP 2007042380 A JP2007042380 A JP 2007042380A JP 2007042380 A JP2007042380 A JP 2007042380A JP 4785769 B2 JP4785769 B2 JP 4785769B2
Authority
JP
Japan
Prior art keywords
motion vector
motion
encoding
acquired
coding unit
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
JP2007042380A
Other languages
English (en)
Other versions
JP2008206047A (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.)
Japan Broadcasting Corp
Original Assignee
Japan Broadcasting Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Japan Broadcasting Corp filed Critical Japan Broadcasting Corp
Priority to JP2007042380A priority Critical patent/JP4785769B2/ja
Publication of JP2008206047A publication Critical patent/JP2008206047A/ja
Application granted granted Critical
Publication of JP4785769B2 publication Critical patent/JP4785769B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、符号化装置及び符号化プログラムに関する。
ISO(International Organization for Standardization)/IEC(International Electrotechnical Commission) JTC1/SC29/WG11(MPEG)で規格化されたMPEG−2方式(例えば、非特許文献1参照。)や、MPEGとITU−T(International Telecommunication Union Telecommunication Standardization Sector)で規格化されたH.264/MPEG−4 AVC(Advanced Video Coding)方式(例えば、非特許文献2参照。)といった動画像の圧縮符号化規格では、動画像は一連の画像により構成される。符号化装置は各画像を1つずつ符号化していくのであるが、その際、画像を所定の大きさのブロック(以下、符号化単位ブロックという。)に分割し、この符号化単位ブロックを単位とする符号化処理を行い、符号化データを得る。この符号化処理には、動き補償処理やDCT(Discrete Cosine Transform:離散コサイン変換)処理などが含まれる。以下、このうちの動き補償処理について詳細に説明する。
MPEG−2では、符号化単位ブロックの大きさは水平16画素×垂直16ラインである。この大きさのブロックは一般にマクロブロックと呼ばれ、動画像を符号化する際の基本の大きさとなっている。
MPEG−2の動き補償処理においては、符号化装置は、マクロブロックごとに、既に符号化済みの、例えば直前に符号化した画像内から、当該マクロブロックの中に含まれる画像に似た部分を探す。そして、発見された部分の全体中での位置から、当該マクロブロックの全体中での位置への移動量を示すベクトル情報を取得する。このベクトル情報は動きベクトルと呼ばれるもので、動きベクトルを求める処理は動き推定と呼ばれる。なお、このようにして動きベクトルを取得することは、マクロブロックを単位として、その中に含まれる画像は全て同じ動きベクトルで代表される平行移動をしているという動きモデルを仮定していることを意味している。
符号化装置はさらに、取得した動きベクトルに基づき、過去に符号化した画像内でその各部分の位置を変更することにより予測画像を生成する。そして、符号化対象の画像と、予測画像と、の差分を示す誤差データを取得する。動き補償処理では、最終的に動きベクトルと誤差データとが出力される。符号化装置は、これらを含むデータを符号化して符号化データを取得する。
一方、H.264/MPEG−4 AVCでは、符号化単位ブロックとして、上記マクロブロックに加え、水平16画素×垂直8ライン、水平8画素×垂直16ラインなどの長方形ブロックや、水平8画素×垂直8ライン、水平8画素×垂直4ライン、水平4画素×垂直8ライン、水平4画素×垂直4ラインなどの、マクロブロックをさらに細かく分割してなるブロックも用いられる。その結果、動き補償処理も、この細かいブロック単位で行われることになる。ただしこの場合、符号化装置は、上記動きベクトル及び誤差データに加え、ブロックの分割方法を示す分割情報も含むデータを符号化して符号化データを取得する。このようにブロックを細かくしていくことで、全体として誤差データの情報量が少なくなる一方、動きベクトルの数が多くなるため、動きベクトルなどの情報量は全体として多くなる。その結果、ブロックを細かくしたからといって、必ずしも符号化データの情報量が削減されるとは限らない。
そこで、動きベクトルの情報量を削減するための技術が知られている。この技術では、動きベクトルそのものではなく、動きベクトルの符号化単位ブロック間での差分である動きベクトル差分データを符号化することにより、動きベクトルの情報量を削減する。
図4はH.264において動きベクトル差分データを求める例の説明図である。同図では、各四角形が符号化単位ブロックを示している。H.264では、左上の符号化単位ブロックから右方向に向けて順次符号化を行い、右端に到達したら一段下に降り、その列の一番左に位置する符号化単位ブロックから右方向に向けて順次符号化を行うという処理を繰り返すことにより、符号化が行われる。符号化装置は、ある符号化単位ブロックAの動きベクトル差分データを求める場合、先に符号化した符号化単位ブロックのうち、符号化単位ブロックAの左、上、右上にある各符号化単位ブロックB,C,Dの動きベクトルの中央値を動きベクトルの方向の成分ごとに算出する。そして、この中央値と符号化単位ブロックAの動きベクトルの差分を動きベクトル差分データとする。このような処理によれば、隣接する符号化単位ブロック間で動きベクトルの値が近いほど、符号化する動きベクトルの情報量は小さくなる。
なお、特許文献1には、符号化された動画像を縮小するための動画像符号列変換装置が開示されている。この装置では、縮小後の動画像において、縮小前の動画像を構成する各符号化単位ブロックをそのまま用いるモード(サブブロックモード)と、いくつかを結合して用いるモード(通常モード)と、が用意される。サブブロックモードでは、縮小前の動画像における各符号化単位ブロックについての動きベクトルを、対応する縮小後の符号化単位ブロックの動きベクトルとして用いる。一方、通常モードでは、縮小後の動画像における各符号化単位ブロックそれぞれについて、対応する縮小前の複数の符号化単位ブロックそれぞれについての動きベクトルの中から1つを選択して用いる。
「ISO(国際標準化機構)/IEC(国際電気標準会議) 13818−2」、1994年 「ITU−T(国際電気通信連合電気通信標準化部門) Rec.(勧告) H.264|ISO(国際標準化機構)/IEC(国際電気標準会議) 14496−10 Advanced Video Coding(アドバンスドビデオコーディング)」、2005年 特開2003−153271号公報
上述した従来技術では、符号化単位ブロックの大きさは規格化されており、規格を変更しない限り、符号化単位ブロックの大きさを変更することはできない。しかしながら、規格化された符号化単位ブロックでの動き補償処理では、符号化データの情報量が大きくなってしまう場合があった。
図5は、この場合について、具体的な例を示しながら説明するための説明図である。この例は、SHV(スーパーハイビジョン)などのように超高精細な動画像を用いた場合の例である。高精細になればなるほど、水平16画素×垂直16ラインのマクロブロックの大きさは、全体の大きさと比較して相対的に小さくなる。このため、図5において楕円形の物体内部に位置するマクロブロックのように、1つのマクロブロック内の各画素の輝度値および色差値がほぼ同一となってしまう可能性が高くなる。
ある物体の画像を含むマクロブロックについての動きベクトルを求める際には、該物体全体の画像全体中での位置変化量に等しい位置変化量を示す動きベクトルを求められるようにすることが望ましいが、実際には該マクロブロックと似ている部分を見つけ、その部分の位置に基づき動きベクトルを取得しているだけであるので、上記のように1つのマクロブロック内の各画素の輝度値および色差値がほぼ同一となってしまうと、取得される動きベクトルが上述の望ましい動きベクトルとならない場合が多くなり、その結果、各マクロブロックの動きベクトルがバラバラになり、上記動きベクトル差分データの情報量が大きくなって、符号化データの情報量が増大してしまうのである。
従って、本発明の課題の一つは、符号化単位ブロックのサイズには規格化されたものを用いながらも、符号化データの情報量を削減することのできる符号化装置及びプログラムを提供することにある。
[1]上記課題を解決するための本発明にかかる符号化装置は、複数の符号化単位ブロックからなる符号化単位ブロック群を単位として動き推定処理を行い、該符号化単位ブロック群についての動きベクトルを取得する符号化単位ブロック群動き推定手段と、前記符号化単位ブロック群動き推定手段により取得された前記動きベクトルを、前記複数の符号化単位ブロックそれぞれについての動きベクトルとして取得する動きベクトル取得手段と、前記複数の符号化単位ブロックそれぞれを単位として動き推定処理を行い、該複数の符号化単位ブロックそれぞれについての動きベクトルを取得する符号化単位ブロック動き推定手段と、動きベクトルの方向の成分ごとに、前記符号化単位ブロック動き推定手段により取得される前記各動きベクトルの平均値と、前記符号化単位ブロック群動き推定手段により取得される前記符号化単位ブロック群についての動きベクトルと、の差を算出し、各成分の差に基づいて、前記動きベクトル取得手段により取得される前記各動きベクトルと、前記符号化単位ブロック動き推定手段により取得される前記各動きベクトルと、のいずれかを前記複数の符号化単位ブロックそれぞれについての動きベクトルとして決定する動きベクトル決定手段と、を含むことを特徴とする。
これによれば、符号化単位ブロックのサイズには規格化されたものを用いながらも、符号化データの情報量を削減することが可能になる。
また、これによれば、符号化単位ブロック群を単位とした動き推定処理の処理結果と、符号化単位ブロックそれぞれを単位とした動き推定処理の処理結果と、のうちのいずれかを用いることができるようになる。
また、これによれば、符号化単位ブロックそれぞれを単位とした動き推定処理の結果得られた各符号化単位ブロックの動きベクトル間の違いが少なく、各符号化単位ブロック内に同一の物体の画像があると考えられる場合に、符号化単位ブロック群を単位とした動き推定処理の処理結果を用いることができるようになる。
[2]また、上記課題を解決するための本発明にかかる符号化装置は、複数の符号化単位ブロックからなる符号化単位ブロック群を単位として動き推定処理を行い、該符号化単位ブロック群についての動きベクトルを取得する符号化単位ブロック群動き推定手段と、前記符号化単位ブロック群動き推定手段により取得された前記動きベクトルを、前記複数の符号化単位ブロックそれぞれについての動きベクトルとして取得する動きベクトル取得手段と、前記複数の符号化単位ブロックそれぞれを単位として動き推定処理を行い、該複数の符号化単位ブロックそれぞれについての動きベクトルを取得する符号化単位ブロック動き推定手段と、動きベクトルの方向の成分ごとに、前記符号化単位ブロック動き推定手段により取得される前記各動きベクトルのうちで最大又は最小のものと、他の動きベクトルの平均値と、の差を算出し、各成分の差に基づいて、前記動きベクトル取得手段により取得される前記各動きベクトルと、前記符号化単位ブロック動き推定手段により取得される前記各動きベクトルと、のいずれかを前記複数の符号化単位ブロックそれぞれについての動きベクトルとして決定する動きベクトル決定手段と、を含むことを特徴とする
これによれば、符号化単位ブロックそれぞれを単位とした動き推定処理の結果得られた各符号化単位ブロックの動きベクトル間の違いが大きく、各符号化単位ブロック内に同一の物体の画像がないと考えられる場合に、符号化単位ブロックそれぞれを単位とした動き推定処理の処理結果を用いることができるようになる。
[3]また、上記[2]に記載の符号化装置において、前記動きベクトル決定手段は、前記各成分の差いずれもが第1の所定値以下である場合に、動きベクトルの方向の成分ごとに、前記符号化単位ブロック動き推定手段により取得される前記各動きベクトルの平均値と、前記符号化単位ブロック群動き推定手段により取得される前記符号化単位ブロック群についての動きベクトルと、の差を算出し、各成分の差いずれもが第2の所定値以下である場合は、前記動きベクトル取得手段により取得される前記各動きベクトルを前記複数の符号化単位ブロックそれぞれについての動きベクトルとして決定し、前記各成分の差のうち少なくとも一つが前記第2の所定値を超える場合は、前記符号化単位ブロック動き推定手段により取得される前記各動きベクトルを前記複数の符号化単位ブロックそれぞれについての動きベクトルとして決定する、こととしてもよい。
[4]また、上記[1]に記載の符号化装置において、前記符号化単位ブロック群動き推定手段により取得された前記動きベクトルに基づいて予測画像を生成し、該予測画像と前記符号化単位ブロック群内の画像との誤差データを取得する符号化単位ブロック群動き補償手段と、前記動きベクトル取得手段により取得された前記各動きベクトルのうちの少なくとも1つ又はこれら各動きベクトルの前記複数の符号化単位ブロック間での差分を示す動きベクトル差分データをそれぞれ含む符号化情報を前記複数の符号化単位ブロックそれぞれについて取得する第1符号化情報取得手段と、前記符号化単位ブロック動き推定手段により取得された前記各動きベクトルそれぞれに基づいて予測画像を生成し、該予測画像と前記複数の符号化単位ブロックそれぞれの画像との誤差データを取得する符号化単位ブロック動き補償手段と、前記符号化単位ブロック動き推定手段により取得された前記各動きベクトルのうちの少なくとも1つ又はこれら各動きベクトルの前記複数の符号化単位ブロック間での差分を示す動きベクトル差分データをそれぞれ含む符号化情報を前記複数の符号化単位ブロックそれぞれについて取得する第2符号化情報取得手段と、を含み、前記動きベクトル決定手段は、前記符号化単位ブロック群動き補償手段により取得された誤差データの情報量と、前記第1符号化情報取得手段により取得された各符号化情報の情報量と、の評価値と、前記符号化単位ブロック動き補償手段により取得された各誤差データの情報量と、前記第2符号化情報取得手段により取得された各符号化情報の情報量と、の評価値と、を取得し、各評価値に基づいて、前記動きベクトル取得手段により取得される前記各動きベクトルと、前記符号化単位ブロック動き推定手段により取得される前記各動きベクトルと、のいずれかを前記複数の符号化単位ブロックそれぞれについての動きベクトルとして決定する、こととしてもよい。
これによれば、上記評価値により、より好ましい方の処理結果を用いることができるようになる。
[5]また、上記[4]に記載の符号化装置において、前記動きベクトル決定手段が前記動きベクトル取得手段により取得される前記各動きベクトルを前記複数の符号化単位ブロックそれぞれについての動きベクトルとして決定した場合に、前記符号化単位ブロック群動き補償手段により取得された誤差データと、前記第1符号化情報取得手段により取得された各符号化情報と、を符号化し、前記動きベクトル決定手段が前記符号化単位ブロック動き推定手段により取得される前記各動きベクトルを前記複数の符号化単位ブロックそれぞれについての動きベクトルとして決定した場合に、前記符号化単位ブロック動き補償手段により取得された各誤差データと、前記第2符号化情報取得手段により取得された各符号化情報と、を符号化する符号化処理手段、を含むこととしてもよい。
これによれば、動きベクトル決定手段の決定に従った符号化をすることができるようになる。
[6]また、本発明にかかる符号化プログラムは、複数の符号化単位ブロックからなる符号化単位ブロック群を単位として動き推定処理を行い、該符号化単位ブロック群についての動きベクトルを取得する符号化単位ブロック群動き推定手段と、前記符号化単位ブロック群動き推定手段により取得された前記動きベクトルを、前記複数の符号化単位ブロックそれぞれについての動きベクトルとして取得する動きベクトル取得手段と、前記複数の符号化単位ブロックそれぞれを単位として動き推定処理を行い、該複数の符号化単位ブロックそれぞれについての動きベクトルを取得する符号化単位ブロック動き推定手段と、動きベクトルの方向の成分ごとに、前記符号化単位ブロック動き推定手段により取得される前記各動きベクトルの平均値と、前記符号化単位ブロック群動き推定手段により取得される前記符号化単位ブロック群についての動きベクトルと、の差を算出し、各成分の差に基づいて、前記動きベクトル取得手段により取得される前記各動きベクトルと、前記符号化単位ブロック動き推定手段により取得される前記各動きベクトルと、のいずれかを前記複数の符号化単位ブロックそれぞれについての動きベクトルとして決定する動きベクトル決定手段と、としてコンピュータを機能させるための符号化プログラムである。
本発明の実施の形態について、図面を参照しながら説明する。
図1は、本実施の形態にかかる符号化装置1のシステム構成を示す概略ブロック図である。符号化装置1はマクロブロックを上述の符号化単位ブロックとする符号化装置であり、同図に示すように、マクロブロック群取得部10、マクロブロック群動き推定部20、マクロブロック群動き補償部21、マクロブロック動き推定部30、マクロブロック動き補償部31、動きベクトル決定部40、符号化処理部50、参照画像蓄積部60を含んで構成される。また、動きベクトル決定部40はその内部に、動きベクトル取得部41、符号化情報取得部42及び43を含んで構成される。
マクロブロック群取得部10は、図示しない撮影装置や受信装置などから、一連の画像により構成される動画像データを取得する。各画像は、例えば水平7680画素×垂直4320ラインの画素ごとに、輝度及び色差を示すデータである。
マクロブロック群取得部10は、取得した各画像を、それぞれ複数のマクロブロックに分割する。各マクロブロックの大きさは、上述したように、水平16画素×垂直16ラインである。そして、マクロブロック群取得部10はマクロブロックを複数ずつまとめ、マクロブロック群を構成する。
図2は、こうして構成されるマクロブロック群の例を示す図である。同図に示す例では、マクロブロック群は4つのマクロブロックから構成される。また、各マクロブロック群の形状は正方形である。マクロブロック群を構成するマクロブロックは4つに限られるものではなく、またマクロブロック群の形状も正方形に限られるものではないが、以下では、図2に示す例のマクロブロック群の例を用いて説明を続ける。
マクロブロック群取得部10は、取得したマクロブロック群を、1つずつマクロブロック群動き推定部20及びマクロブロック動き推定部30に出力する。
マクロブロック群動き推定部20は、入力されたマクロブロック群を単位とする動き推定処理を行い、その結果を示す動きベクトルを、マクロブロック群動き補償部21に出力する。これにより、マクロブロック群取得部10は符号化単位ブロック群動き推定手段として機能する。この動き推定処理は、上述したように、例えば直前の画像内から、当該マクロブロック群の中に含まれる画像に似た部分を探し出し、発見された部分の画像全体中での位置から、当該マクロブロック群の画像全体中での位置への移動量を示す動きベクトルを取得する処理である。なお、このとき必要となる直前の画像は、後述する符号化処理部50の処理により参照画像蓄積部60に記憶されるものである。
ここで、動き推定処理における「似た部分を探し出す」処理の具体的な例としては、ブロックマッチング法や勾配法が挙げられる。このうち、例えばブロックマッチング法を用いる場合、マクロブロック群動き推定部20は、直前の画像内からマクロブロック群と同じ大きさの部分を順次切り出し、切り出した部分とマクロブロック群との画素値の差分の絶対値や2乗値の総和が最小になるような部分を見つけ出す。そして、見つけ出した部分を、上記「似た部分」として取り扱う。
マクロブロック動き推定部30は、入力されたマクロブロック群を構成するマクロブロックごとに動き推定処理を行い、その結果を示す各動きベクトルを、マクロブロック動き補償部31に出力する。これにより、マクロブロック動き推定部30は符号化単位ブロック動き推定手段として機能する。マクロブロックごとに行われる点を除き、具体的な処理はマクロブロック群動き推定部20が行うものと同様である。
マクロブロック群動き補償部21は、マクロブロック群動き推定部20が行った動き推定処理の結果取得された動きベクトルに基づき、該動き推定処理の対象となったマクロブロック群について、誤差データを取得する。これにより、マクロブロック群動き補償部21は符号化単位ブロック群動き補償処理手段として機能する。具体的には、マクロブロック群動き推定部20から入力された動きベクトルに基づき、直前の画像内でその各部分の位置を変更することにより予測画像を生成する。そして、マクロブロック群内の画像と、予測画像と、の画素値の差分を求め、誤差データとする。なお、動き推定処理に上記ブロックマッチング法を用いた場合には、その過程で求められる上記差分を用いて誤差データを取得してもよい。また、得られた差分にDCT処理を施した結果得られる係数値群を誤差データとして用いてもよい。
マクロブロック群動き補償部21は、マクロブロック群動き推定部20から入力された動きベクトルと、上記のようにして取得した誤差データと、を動きベクトル決定部40に出力する。なお、上記誤差データ及び上記動きベクトルの他、ブロック分割やブロックタイプを表すモード情報も出力することとしてもよい。
マクロブロック動き補償部31は、マクロブロック動き推定部30により取得された各動きベクトルそれぞれに基づき、マクロブロック群を構成する複数のマクロブロックそれぞれについて、誤差データを取得する。これにより、マクロブロック動き補償部31は符号化単位ブロック動き補償処理手段として機能する。各マクロブロックについて行われる点を除き、具体的な処理はマクロブロック群動き補償部21が行うものと同様である。マクロブロック動き補償部31は、マクロブロック動き推定部30から入力された各動きベクトルと、上記のようにして取得した各誤差データと、を動きベクトル決定部40に出力する。なお、上記各誤差データ及び上記各動きベクトルの他、ブロック分割やブロックタイプを表すモード情報も出力することとしてもよい。
動きベクトル取得部41は、マクロブロック群動き推定部20により取得された動きベクトルを、マクロブロック群を構成する複数のマクロブロックそれぞれについての動きベクトルとして取得する。これにより、動きベクトル取得部41は動きベクトル取得手段として機能する。
動きベクトル決定部40は、動きベクトル取得部41により取得される各動きベクトルと、マクロブロック動き推定部30により取得される各動きベクトルと、のいずれかを、マクロブロック群を構成する複数のマクロブロックについての動きベクトルとして決定する。これにより、動きベクトル決定部40は動きベクトル決定手段として機能する。
動きベクトル決定部40の処理について、より具体的に説明する。まず、符号化情報取得部42は、動きベクトル取得部41により取得された各動きベクトルの、マクロブロック群を構成する複数の符号化単位ブロック間での差分を示す動きベクトル差分データを含む符号化情報を取得する。これにより、符号化情報取得部42は第1手段符号化情報取得手段として機能する。
具体的には、符号化情報取得部42は、マクロブロック群を構成する複数の符号化単位ブロックのうちの1つを選択し、該マクロブロックについて取得されている動きベクトルを基準ベクトルとする。そして、他のマクロブロックについて取得されている動きベクトルと基準ベクトルとの差分を取得する。これにより、他のマクロブロックについて動きベクトル差分データを算出する。
なお、符号化情報取得部42は、上記符号化情報をマクロブロックごとに取得する。上記基準ベクトルに対応するマクロブロックについて取得する符号化情報には、該基準ベクトルが含まれる。また、動きベクトル差分データに対応するマクロブロックについて取得する符号化情報には、該動きベクトル差分データが含まれる。なお、符号化情報は、上記モード情報などの他の情報を含むこととしてもよい。
符号化情報取得部43は、マクロブロック動き推定部30により取得された各動きベクトルの、マクロブロック群を構成する複数の符号化単位ブロック間での差分を示す動きベクトル差分データを含む符号化情報を取得する。これにより、符号化情報取得部43は第2符号化情報取得手段として機能する。符号化情報の詳細及び符号化情報を求めるための具体的な処理は符号化情報取得部42の処理と同様である。
ここまでの処理により、動きベクトル決定部40は、マクロブロック群について、誤差データ及び符号化情報の組み合わせを2組取得したことになる。動きベクトル決定部40は、これらに基づいてマクロブロック群を構成する複数のマクロブロックについての動きベクトルを決定し、符号化処理部50に出力する。以下、この決定処理について、2つの例を挙げて具体的に説明する。
1つ目の例は、誤差データ及び符号化情報の情報量を用いる例である。この例では、動きベクトル決定部40は、マクロブロック群動き補償部21により取得された誤差データの情報量と、符号化情報取得部42により取得された各符号化情報の情報量と、の評価値であるコスト関数Jと、マクロブロック動き補償部31により取得された各誤差データの情報量と、符号化情報取得部43により取得された各符号化情報の情報量と、の評価値であるコスト関数Jと、を取得し、各評価値に基づいて、動きベクトル取得部41により取得される各動きベクトルと、マクロブロック動き推定部30により取得される前記各動きベクトルと、のいずれかを上記複数の符号化単位ブロックそれぞれについての動きベクトルとして決定する。
この例にかかる動きベクトル決定部40の処理について、具体的に説明する。動きベクトル決定部40は、式(1)及び式(2)により、上記コスト関数J及びJを求める。式(1)及び式(2)において、Dはコスト関数Jにかかる誤差データ(マクロブロック群についての誤差データ)の情報量であり、Rはコスト関数Jにかかるマクロブロックごとの符号化情報の情報量の合計である。また、D(i)はコスト関数Jにかかるマクロブロックごとの誤差データの情報量であり、R(i)はコスト関数Jにかかるマクロブロックごとの符号化情報の情報量である。変数iは、マクロブロック群内の各マクロブロックの番号を示している。
=D+λR ・・・(1)
=Σi=1〜4(D(i)+λ(i)) ・・・(2)
動きベクトル決定部40は、算出したコスト関数JとJとを比較し、その値の小さい方を選択し、選択したコスト関数にかかる符号化情報及び誤差データを、実際に用いるものとして決定する。
なお、式(1)及び式(2)に示すように、動きベクトル決定部40は、符号化情報量にλ又はλの重みを付けた上で、コスト関数を算出している。λ=λ=0としたときには、誤差データの情報量のみによって、動きベクトル決定部40が選択する符号化情報及び誤差データが決定されることになる。誤差データの情報量は、コスト関数JとJとでは、普通後者の方が少なくなるので、λ=λ=0とした場合にはコスト関数Jにかかる符号化情報及び誤差データが選択されることが多くなる。λ及びλを大きくしていくと、コスト関数Jにかかる符号化情報及び誤差データが選択される可能性が高まる。λ及びλの具体的な値は、最適な結果が得られるよう、実験等により決定される。
2つ目の例は、マクロブロックごとの動きベクトルを用いる例である。すなわち、マクロブロックごとの動きベクトルが、図3に示すようにいずれもほぼ同じ値であり、かつマクロブロック群の動きベクトルに近い値を有していれば、各マクロブロックに含まれる画像は、いずれも1つの物体の画像である蓋然性が高いと言える。この場合、マクロブロック群の動きベクトルをもって、各符号化単位ブロックの動きベクトルとすれば、動きベクトル差分データの情報量が小さくなり、符号化データの情報量を減らすことができる。
そこで、1つの具体例では、動きベクトル決定部40は、動きベクトルの方向の成分ごとに、マクロブロック動き推定部30により取得される4つの動きベクトルのうちで最大のもの又は最小のものと、他の3つの動きベクトルの平均値と、の差を算出する。そして、成分ごとの差がそれぞれ所定値以下であるか否かを判定する。その結果、成分ごとの差がいずれも所定値以下、すなわち両者にほとんど差がない場合には、動きベクトル決定部40は、動きベクトル取得部41により取得される各動きベクトルを上記複数の符号化単位ブロックそれぞれについての動きベクトルとして決定する。そうでない場合には、マクロブロック動き推定部30により取得される前記各動きベクトルを上記複数の符号化単位ブロックそれぞれについての動きベクトルとして決定する。
また、別の具体例では、動きベクトル決定部40は、成分ごとに、マクロブロック動き推定部30により取得される各動きベクトルの平均値と、マクロブロック群動き推定部20により取得される動きベクトルの値と、の差を算出する。その結果、成分ごとの差がいずれも所定値以下、すなわち両者にほとんど差がない場合には、動きベクトル取得部41により取得される各動きベクトルを上記複数の符号化単位ブロックそれぞれについての動きベクトルとして決定する。そうでない場合には、マクロブロック動き推定部30により取得される前記各動きベクトルを上記複数の符号化単位ブロックそれぞれについての動きベクトルとして決定する。
なお、動きベクトル決定部40は、上記2つの具体例を組み合わせて用いることとしてもよい。すなわち、例えば1つ目の具体例にかかる成分ごとの差がいずれも所定値以下である場合に、さらに2つ目の具体例にかかる処理を行うこととしてもよい。
符号化処理部50は、動きベクトル決定部40により決定された各動きベクトルを用い、各マクロブロックを符号化する。すなわち、符号化処理部50は、動きベクトル決定部40が動きベクトル取得部41により取得される各動きベクトルを上記複数のマクロブロックそれぞれについての動きベクトルとして決定した場合に、マクロブロック群動き補償部21により取得された誤差データと、符号化情報取得部42により取得された各符号化情報と、を符号化する。一方、動きベクトル決定部40がマクロブロック動き推定部30により取得される各動きベクトルを上記複数のマクロブロックそれぞれについての動きベクトルとして決定した場合に、マクロブロック動き補償部31により取得された各誤差データと、符号化情報取得部43により取得された各符号化情報と、を符号化する。これにより、符号化処理部50は、符号化処理手段として機能する。
具体的な例では、符号化処理部50は、各誤差データ及び各符号化情報に対しDCT処理を施す。そして、その結果得られる係数値群に量子化処理を施し、さらに誤り訂正符号化処理を施して出力する。
また、符号化処理部50は、量子化処理まで施した上記係数値群に対して、逆量子化処理及び逆DCT処理を施し、誤差データを取得する。さらに、誤差データとそれまでに参照画像蓄積部60に記憶した画像とに基づいて画像を取得し、参照画像蓄積部60に記憶させる。
以上説明したように、符号化装置1によれば、マクロブロックより大きなブロック単位(マクロブロック群単位)で動き推定処理を行いつつも、その結果に基づき、マクロブロックそれぞれについての動きベクトルを取得することができるので、マクロブロックのサイズには規格化されたものを用いながらも、従来に比べ、符号化データの情報量を削減することが可能になっている。
また、符号化装置1は、マクロブロック群を単位とした動き推定処理の処理結果と、符号化単位ブロックそれぞれを単位とした動き推定処理の処理結果と、のうちのいずれか好ましい方を選択して用いることができるようになる。
以上本発明の実施の形態について説明したが、本発明はこうした実施の形態に何等限定されるものではなく、本発明は、その要旨を逸脱しない範囲において、種々なる態様で実施され得ることは勿論である。
例えば、上記実施形態では、符号化単位ブロックとしてマクロブロックを用いたが、マクロブロックより小さいブロックを符号化単位ブロックとして用いても構わない。この場合、上記実施の形態において、マクロブロックに代えて符号化単位ブロックが、マクロブロック群に代えて符号化単位ブロック群が、それぞれ用いられる。
また、上記実施の形態では、マクロブロック群動き推定部20とマクロブロック動き推定部30とは独立に処理を行っていたが、どちらか一方の推定結果を、他方の推定に利用することも可能である。例えば、マクロブロック動き推定部30で得られた4つの動きベクトルを、マクロブロック群動き推定部20において動き推定の初期値として用い、その初期値を中心に動き推定を行うようにすることで、マクロブロック群動き推定部20の処理量を低減することが可能になる。
また、符号化装置1の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、上記符号化装置1の各処理を行ってもよい。
ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。また、この「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
さらに、「コンピュータ読み取り可能な記録媒体」には、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
さらに、上記プログラムは、上述した各機能の一部を実現するためのものであってもよい。さらに、上述した各機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
本発明の実施の形態にかかる符号化装置のシステム構成を示す概略ブロック図である。 本発明の実施の形態にかかるマクロブロック群の例を示す図である。 本発明の実施の形態にかかるマクロブロックごとの動きベクトルの例を示す図である。 H.264において動きベクトル差分データを求める例の説明図である。 動き補償処理結果データの情報量を少なくできる場合の例の説明図である。
符号の説明
1 符号化装置、
10 マクロブロック群取得部、
20 マクロブロック群動き推定部、
21 マクロブロック群動き補償部、
30 マクロブロック動き推定部、
31 マクロブロック動き補償部、
40 動きベクトル決定部、
41 動きベクトル取得部、
42,43 符号化情報取得部、
50 符号化処理部、
60 参照画像蓄積部。

Claims (6)

  1. 複数の符号化単位ブロックからなる符号化単位ブロック群を単位として動き推定処理を行い、該符号化単位ブロック群についての動きベクトルを取得する符号化単位ブロック群動き推定手段と、
    前記符号化単位ブロック群動き推定手段により取得された前記動きベクトルを、前記複数の符号化単位ブロックそれぞれについての動きベクトルとして取得する動きベクトル取得手段と、
    前記複数の符号化単位ブロックそれぞれを単位として動き推定処理を行い、該複数の符号化単位ブロックそれぞれについての動きベクトルを取得する符号化単位ブロック動き推定手段と、
    動きベクトルの方向の成分ごとに、前記符号化単位ブロック動き推定手段により取得される前記各動きベクトルの平均値と、前記符号化単位ブロック群動き推定手段により取得される前記符号化単位ブロック群についての動きベクトルと、の差を算出し、各成分の差に基づいて、前記動きベクトル取得手段により取得される前記各動きベクトルと、前記符号化単位ブロック動き推定手段により取得される前記各動きベクトルと、のいずれかを前記複数の符号化単位ブロックそれぞれについての動きベクトルとして決定する動きベクトル決定手段と、
    を含むことを特徴とする符号化装置。
  2. 複数の符号化単位ブロックからなる符号化単位ブロック群を単位として動き推定処理を行い、該符号化単位ブロック群についての動きベクトルを取得する符号化単位ブロック群動き推定手段と、
    前記符号化単位ブロック群動き推定手段により取得された前記動きベクトルを、前記複数の符号化単位ブロックそれぞれについての動きベクトルとして取得する動きベクトル取得手段と、
    前記複数の符号化単位ブロックそれぞれを単位として動き推定処理を行い、該複数の符号化単位ブロックそれぞれについての動きベクトルを取得する符号化単位ブロック動き推定手段と、
    きベクトルの方向の成分ごとに、前記符号化単位ブロック動き推定手段により取得される前記各動きベクトルのうちで最大又は最小のものと、他の動きベクトルの平均値と、の差を算出し、各成分の差に基づいて、前記動きベクトル取得手段により取得される前記各動きベクトルと、前記符号化単位ブロック動き推定手段により取得される前記各動きベクトルと、のいずれかを前記複数の符号化単位ブロックそれぞれについての動きベクトルとして決定する動きベクトル決定手段と
    を含むことを特徴とする符号化装置。
  3. 請求項2に記載の符号化装置において、
    前記動きベクトル決定手段は、前記各成分の差いずれもが第1の所定値以下である場合に、動きベクトルの方向の成分ごとに、前記符号化単位ブロック動き推定手段により取得される前記各動きベクトルの平均値と、前記符号化単位ブロック群動き推定手段により取得される前記符号化単位ブロック群についての動きベクトルと、の差を算出し、各成分の差いずれもが第2の所定値以下である場合は、前記動きベクトル取得手段により取得される前記各動きベクトルを前記複数の符号化単位ブロックそれぞれについての動きベクトルとして決定し、前記各成分の差のうち少なくとも一つが前記第2の所定値を超える場合は、前記符号化単位ブロック動き推定手段により取得される前記各動きベクトルを前記複数の符号化単位ブロックそれぞれについての動きベクトルとして決定する、
    ことを特徴とする符号化装置。
  4. 請求項に記載の符号化装置において、
    前記符号化単位ブロック群動き推定手段により取得された前記動きベクトルに基づいて予測画像を生成し、該予測画像と前記符号化単位ブロック群内の画像との誤差データを取得する符号化単位ブロック群動き補償手段と、
    前記動きベクトル取得手段により取得された前記各動きベクトルのうちの少なくとも1つ又はこれら各動きベクトルの前記複数の符号化単位ブロック間での差分を示す動きベクトル差分データをそれぞれ含む符号化情報を前記複数の符号化単位ブロックそれぞれについて取得する第1符号化情報取得手段と、
    前記符号化単位ブロック動き推定手段により取得された前記各動きベクトルそれぞれに基づいて予測画像を生成し、該予測画像と前記複数の符号化単位ブロックそれぞれの画像との誤差データを取得する符号化単位ブロック動き補償手段と、
    前記符号化単位ブロック動き推定手段により取得された前記各動きベクトルのうちの少なくとも1つ又はこれら各動きベクトルの前記複数の符号化単位ブロック間での差分を示す動きベクトル差分データをそれぞれ含む符号化情報を前記複数の符号化単位ブロックそれぞれについて取得する第2符号化情報取得手段と、
    を含み、
    前記動きベクトル決定手段は、前記符号化単位ブロック群動き補償手段により取得された誤差データの情報量と、前記第1符号化情報取得手段により取得された各符号化情報の情報量と、の評価値と、前記符号化単位ブロック動き補償手段により取得された各誤差データの情報量と、前記第2符号化情報取得手段により取得された各符号化情報の情報量と、の評価値と、を取得し、各評価値に基づいて、前記動きベクトル取得手段により取得される前記各動きベクトルと、前記符号化単位ブロック動き推定手段により取得される前記各動きベクトルと、のいずれかを前記複数の符号化単位ブロックそれぞれについての動きベクトルとして決定する、
    ことを特徴とする符号化装置。
  5. 請求項に記載の符号化装置において、
    前記動きベクトル決定手段が前記動きベクトル取得手段により取得される前記各動きベクトルを前記複数の符号化単位ブロックそれぞれについての動きベクトルとして決定した場合に、前記符号化単位ブロック群動き補償手段により取得された誤差データと、前記第1符号化情報取得手段により取得された各符号化情報と、を符号化し、
    前記動きベクトル決定手段が前記符号化単位ブロック動き推定手段により取得される前記各動きベクトルを前記複数の符号化単位ブロックそれぞれについての動きベクトルとして決定した場合に、前記符号化単位ブロック動き補償手段により取得された各誤差データと、前記第2符号化情報取得手段により取得された各符号化情報と、を符号化する符号化処理手段、
    を含むことを特徴とする符号化装置。
  6. 複数の符号化単位ブロックからなる符号化単位ブロック群を単位として動き推定処理を行い、該符号化単位ブロック群についての動きベクトルを取得する符号化単位ブロック群動き推定手段と、
    前記符号化単位ブロック群動き推定手段により取得された前記動きベクトルを、前記複数の符号化単位ブロックそれぞれについての動きベクトルとして取得する動きベクトル取得手段と、
    前記複数の符号化単位ブロックそれぞれを単位として動き推定処理を行い、該複数の符号化単位ブロックそれぞれについての動きベクトルを取得する符号化単位ブロック動き推定手段と、
    動きベクトルの方向の成分ごとに、前記符号化単位ブロック動き推定手段により取得される前記各動きベクトルの平均値と、前記符号化単位ブロック群動き推定手段により取得される前記符号化単位ブロック群についての動きベクトルと、の差を算出し、各成分の差に基づいて、前記動きベクトル取得手段により取得される前記各動きベクトルと、前記符号化単位ブロック動き推定手段により取得される前記各動きベクトルと、のいずれかを前記複数の符号化単位ブロックそれぞれについての動きベクトルとして決定する動きベクトル決定手段と、
    としてコンピュータを機能させるための符号化プログラム。
JP2007042380A 2007-02-22 2007-02-22 符号化装置及び符号化プログラム Expired - Fee Related JP4785769B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007042380A JP4785769B2 (ja) 2007-02-22 2007-02-22 符号化装置及び符号化プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007042380A JP4785769B2 (ja) 2007-02-22 2007-02-22 符号化装置及び符号化プログラム

Publications (2)

Publication Number Publication Date
JP2008206047A JP2008206047A (ja) 2008-09-04
JP4785769B2 true JP4785769B2 (ja) 2011-10-05

Family

ID=39783008

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007042380A Expired - Fee Related JP4785769B2 (ja) 2007-02-22 2007-02-22 符号化装置及び符号化プログラム

Country Status (1)

Country Link
JP (1) JP4785769B2 (ja)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5144423A (en) * 1990-12-11 1992-09-01 At&T Bell Laboratories Hdtv encoder with forward estimation and constant rate motion vectors
US5235419A (en) * 1991-10-24 1993-08-10 General Instrument Corporation Adaptive motion compensation using a plurality of motion compensators
JP2906865B2 (ja) * 1992-09-30 1999-06-21 松下電器産業株式会社 動き補償符号化装置
JP3576618B2 (ja) * 1995-01-04 2004-10-13 日本放送協会 動きベクトル検出方法および装置
JP3715283B2 (ja) * 2003-02-04 2005-11-09 株式会社半導体理工学研究センター 動画像の画像圧縮符号化方法及び装置
JP2005012439A (ja) * 2003-06-18 2005-01-13 Nippon Hoso Kyokai <Nhk> 符号化装置、符号化方法および符号化プログラム
JP4787044B2 (ja) * 2005-03-31 2011-10-05 パナソニック株式会社 画像復号装置、画像復号方法、画像復号プログラム、画像復号集積回路

Also Published As

Publication number Publication date
JP2008206047A (ja) 2008-09-04

Similar Documents

Publication Publication Date Title
KR101770047B1 (ko) 차세대 비디오 코팅용 콘텐츠 적응적 예측 거리 분석기 및 계층적 움직임 추정 시스템
US8023562B2 (en) Real-time video coding/decoding
DK2391129T3 (en) New planar prediction mode
JP5823538B2 (ja) 遷移ゾーン中のサンプルの識別
RU2544799C2 (ru) Устройство кодирования движущихся изображений, устройство декодирования движущихся изображений, способ кодирования движущихся изображений и способ декодирования движущихся изображений
US8179969B2 (en) Method and apparatus for encoding or decoding frames of different views in multiview video using global disparity
US10291925B2 (en) Techniques for hardware video encoding
KR101808327B1 (ko) 영상 코덱에서 패딩을 이용한 영상 부/복호화 방법 및 장치
JP4746550B2 (ja) 画像符号化装置
US9948944B2 (en) Image coding apparatus and image coding method
US9094687B2 (en) Video encoder and video decoder
JP6607040B2 (ja) 動きベクトル探索装置、動きベクトル探索方法、及び動きベクトル探索プログラムを記憶する記録媒体
US8189673B2 (en) Method of and apparatus for predicting DC coefficient of video data unit
JP4709074B2 (ja) 動画像符号化方法,装置,そのプログラムおよびそのプログラムを記録した記録媒体
US20130343449A1 (en) Image encoding apparatus and its control method
US10827179B2 (en) Method for coding and decoding image parameters, device for coding and decoding image parameters and computer programs corresponding thereto
JP4785769B2 (ja) 符号化装置及び符号化プログラム
CN111869211B (zh) 图像编码装置和方法
WO2020129681A1 (ja) 符号化装置及びプログラム
JP4243286B2 (ja) 符号化方法
US11711540B2 (en) Method for encoding video using effective differential motion vector transmission method in omnidirectional camera, and method and device
JP5375697B2 (ja) 動画像符号化装置、動画像復号装置、動画像符号化方法、及びプログラム
CA2614571C (en) A method for encoding images in a block-based manner employing block spatial prediction
KR102235314B1 (ko) 영상 코덱에서 패딩을 이용한 영상 부/복호화 방법 및 장치
JP4536505B2 (ja) 予測画像生成方法および画像符号化方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090319

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101012

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101209

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20140722

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees