JP2010161747A - サブピクセル生成装置及び方法並びに動き補償装置 - Google Patents
サブピクセル生成装置及び方法並びに動き補償装置 Download PDFInfo
- Publication number
- JP2010161747A JP2010161747A JP2009004062A JP2009004062A JP2010161747A JP 2010161747 A JP2010161747 A JP 2010161747A JP 2009004062 A JP2009004062 A JP 2009004062A JP 2009004062 A JP2009004062 A JP 2009004062A JP 2010161747 A JP2010161747 A JP 2010161747A
- Authority
- JP
- Japan
- Prior art keywords
- round
- pixel
- switching
- processing
- image
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/59—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/43—Hardware specially adapted for motion estimation or compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/523—Motion estimation or motion compensation with sub-pixel accuracy
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】内挿処理における丸め誤差が累積されることを抑制して、画質の向上を図る。
【解決手段】 画像中の複数の画素の画素値に対する平均値計算を切り上げ処理によって実行する第1の演算部と、前記画像中の複数の画素の画素値に対する平均値計算を切り下げ処理によって実行する第2の演算部と、前記画像中に補間する補間画素の位置に応じて前記切り上げ処理又は前記切り下げ処理を切換える第1の切換え処理、前記画像に設定される符号化予測方法毎に前記切り上げ処理又は前記切り下げ処理を切換える第2の切換え処理、前記補間画素を複数回の前記平均値計算によって求める場合において各平均値計算毎に前記切り上げ処理又は前記切り下げ処理を切換える第3の切換え処理のうちの少なくとも1つの切換え処理によって前記補間画素を生成する選択部とを具備したことを特徴とする。
【選択図】図1
【解決手段】 画像中の複数の画素の画素値に対する平均値計算を切り上げ処理によって実行する第1の演算部と、前記画像中の複数の画素の画素値に対する平均値計算を切り下げ処理によって実行する第2の演算部と、前記画像中に補間する補間画素の位置に応じて前記切り上げ処理又は前記切り下げ処理を切換える第1の切換え処理、前記画像に設定される符号化予測方法毎に前記切り上げ処理又は前記切り下げ処理を切換える第2の切換え処理、前記補間画素を複数回の前記平均値計算によって求める場合において各平均値計算毎に前記切り上げ処理又は前記切り下げ処理を切換える第3の切換え処理のうちの少なくとも1つの切換え処理によって前記補間画素を生成する選択部とを具備したことを特徴とする。
【選択図】図1
Description
本発明は、平均値計算によってサブピクセルを求めるサブピクセル生成装置及び方法並びに動き補償装置に関する。
近年、MPEG(Moving Picture Experts Group)及びH.264等の普及に伴って、画像はディジタル化されるようになってきた。H.264等の符号化方式においては、映像信号をブロック単位でDCT処理して量子化し、更に所定の可変長符号表を用いて可変長符号化処理することにより、符号化ストリームを得ている。また、H.264等のエンコーダは、入力された映像信号を予測符号化することもできるようになっている。更に、エンコーダは、予測誤差の情報量を低減させるために、画像の動きを予測して予測誤差を求める動き補償予測符号化を採用する。
このようなインター符号化(フレーム間符号化)された符号化ストリームを復号化する動画像復号化装置においては、予測誤差と参照画像との加算を行って、元の画像を復号する。
符号化及び復号化処理は、マクロブロックと呼ばれる所定画素数領域単位で行われる。動画像復号化装置は、マクロブロック単位で、メモリーに記憶された参照画像から動きベクトルに基づく領域を読み出し、読み出した参照画像マクロブロックと予測誤差マクロブロックとの加算によって、元のマクロブロックを復元するものである。
動き補償した参照画像を得る動き補償装置の処理量は、動画像符号化及び復号化装置の全体の処理量の大きな部分を占める。しかも、H.264等では、動きベクトルは、参照画像の画素位置(以下、整数画素位置という)を示す精度(以下、整数画素精度という)だけでなく、参照画像の画素同士の間の画素(サブピクセル)の位置(以下、小数点画素位置)を示す精度(以下、小数点画素精度という)でも用いられ、動き補償装置の計算量は極めて多い。
そこで、この動き補償装置の処理量を削減するために、特許文献1においては、小数点画素精度の画素であるサブピクセルを加重平均によって得る手法が開示されている。しかし、この提案の手法では、加重平均の繰り返し処理によって、丸め誤差が累積するという欠点を有する。
このような動き補償処理における累積誤差を防止するものとして、特許文献2の提案においては、累積的に参照されるフレームについて、切上げ/切下げを交互に行い丸め誤差の蓄積を抑制する提案が開示されている。
しかしながら、特許文献2においては、フレーム毎に丸め方向を切換えていることから、微小に振動している絵柄部分等について丸め誤差が蓄積されてしまうことがある。これを防止するために、特許文献2では、更に丸め方向に関する誤差差分を多重化する方法を提案されている。しかし、この方法では、計算量の大幅な削減は望めない。
また、従来、復号化装置においては、演算量を削減するために、画像を例えば水平方向に1/2に間引いてデコードを行うハーフデコードが採用されることがある。この場合には、動きベクトルが参照画像の画素同士の中間の位置(1/2画素位置)を示す精度(以下、1/2画素精度という)であった場合でも、実際の演算は、参照画像の画素同士の1/4の位置(1/4画素位置)を示す精度(以下、1/4画素精度という)で行われることになり、一層誤差が増大する虞がある。
特開2008−187727号公報
特開2008−160877号公報
本発明は、必要な計算量及び記憶域量を削減すると共に累積誤差を抑制したサブピクセルを生成し、また、動き補償精度を向上させることができるサブピクセル生成装置及び方法並びに動き補償装置を提供することを目的とする。
本発明の一態様のサブピクセル生成装置は、画像中の複数の画素の画素値に対する平均値計算を切り上げ処理によって実行する第1の演算部と、前記画像中の複数の画素の画素値に対する平均値計算を切り下げ処理によって実行する第2の演算部と、前記画像中に補間する補間画素の位置に応じて前記切り上げ処理又は前記切り下げ処理を切換える第1の切換え処理、前記画像に設定される符号化予測方法毎に前記切り上げ処理又は前記切り下げ処理を切換える第2の切換え処理、前記補間画素を複数回の前記平均値計算によって求める場合において各平均値計算毎に前記切り上げ処理又は前記切り下げ処理を切換える第3の切換え処理のうちの少なくとも1つの切換え処理によって前記補間画素を生成する選択部とを具備したことを特徴とする。
また、本発明の一態様のサブピクセル生成方法は、画像中の複数の画素の画素値に対する平均値計算を切り上げ処理によって実行する第1の演算部及び前記画像中の複数の画素の画素値に対する平均値計算を切り下げ処理によって実行する第2の演算部によって、前記画像中に補間する補間画素を生成するサブピクセル生成方法であって、前記補間画素の位置に応じて前記切り上げ処理又は前記切り下げ処理を切換える第1の切換え処理、前記画像に設定される符号化予測方法毎に前記切り上げ処理又は切り下げ処理を切換える第2の切換え処理、前記補間画素を複数回の前記平均値計算によって求める場合において各平均値計算毎に前記切り上げ処理又は切り下げ処理を切換える第3の切換え処理のうちの少なくとも1つの切換え処理によって前記補間画素を生成することを特徴とする。
また、本発明の一態様の動き補償装置は、請求項1乃至3のいずれか1つに記載のサブピクセル生成装置と、動き補償予測符号化された符号化ストリームから抽出された動きベクトルに基づいて参照画像用メモリーから参照画像を読出して前記第1及び第2の演算部に与えるメモリー制御部と、前記第1の切換え処理のために前記符号化ストリームから抽出された動きベクトルを前記選択部に与え、前記第2の切換え処理のために前記符号化ストリームから抽出された符号化予測方法の情報を前記選択部に与え、前記第3の切換え処理のために前記符号化ストリームから抽出されたフレームナンバーの情報を前記選択部に与える制御部とを具備したことを特徴とする。
本発明によれば、必要な計算量及び記憶域量を削減すると共に累積誤差を抑制したサブピクセルを生成し、また、動き補償精度を向上させることができるという効果を有する。
以下、図面を参照して本発明の実施の形態について詳細に説明する。図1は本発明の一実施の形態に係るサブピクセル生成装置を示すブロック図である。本実施の形態は、サブピクセル生成装置を動き補償装置に適用した例を示していま。また、図2は本発明の一実施の形態に係る動き補償装置が組み込まれた動画像復号化装置の構成を示すブロック図である。
先ず、図2を参照して動画像復号化装置について説明する。図2において、動画像復号化装置10には、図示しない動画像符号化装置によって符号化された符号化ストリームが入力される。動画像符号化装置においては、映像信号をDCT処理して量子化し、更に所定の可変長符号表を用いて可変長符号化処理することにより、符号化ストリームを得ている。また、動画像符号化装置は、差分回路、逆量子化回路、逆DCT回路、動き補償回路等を有しており、入力された映像信号と所定期間前後の参照画像との予測誤差を求め、求めた予測誤差のみをDCT処理、量子化処理及び可変長符号化処理することにより、入力された映像信号を動き補償予測符号化することもできるようになっている。なお、動きベクトルの検出は、マクロブロック単位で行われ、可変長符号化された後多重されて出力される。
動画像復号化装置10のストリーム解析部11には、このような動き補償予測符号化された符号化ストリームが入力される。ストリーム解析部11は、入力された符号化ストリームに対して可変長復号化処理が可能である。ストリーム解析部11は、入力された符号化ストリームを可変長復号化して、多重されているデータを取り出す。ストリーム解析部11は、インター符号化されたマクロブロックについては、可変長復号化された符号化ストリームから、マクロブロック毎に、動きベクトルの情報、参照画像のフレームナンバーの情報及びフレーム内で複数の符号化予測方法が採用されている場合に当該マクロブロックがいずれの方法により符号化されているかを示す情報を抽出し、抽出した情報をマクロブロック情報として動き補償装置13に出力するようになっている。また、ストリーム解析部11は、入力された符号化ストリームから復号化対象マクロブロックと参照画像マクロブロックとの差分情報を分離して逆量子化/逆DCT処理部12に出力する。
逆量子化/逆DCT処理部12は、入力された差分情報を逆量子化処理して、符号化側における量子化処理前のDCT変換係数に戻す。更に、逆量子化/逆DCT処理部12は、DCT変換係数を逆DCT処理して符号化側におけるDCT処理前の予測誤差を復元して、加算部15に出力する。
動き補償装置13は、後述するように、参照画像用メモリー14に記憶された参照画像に基づいて動き補償参照画像を生成する。この場合には、動き補償装置13は、動きベクトルに応じて、参照画像用メモリー14から読出す参照画像のブロック化位置を決定して、動き補償参照画像を得る。動き補償装置13は生成した動き補償参照画像を加算部15に出力する。加算部15は、予測誤差と動き補償参照画像との加算によって元の画像を復元して、復号画像として出力するようになっている。
図3は動き補償装置13の具体的な構成の一例を示すブロック図である。
ストリーム解析部11からのマクロブロック情報は、参照画像生成制御部21に与えられる。参照画像生成制御部21は、マクロブロック情報に含まれる動きベクトルの情報に基づいて、クォーターペルフラグを生成してサブピクセル生成装置22に出力する。動きベクトルは、H.264では、1/2画素精度で求められる。動きベクトルによって指定される1/2画素位置は、ハーフデコードでは1/4画素位置に相当する。動きベクトルは整数画素位置を示す情報と小数点画素位置を示す情報とを含む。クォーターペルフラグは、動きベクトルのうちの小数点画素位置の情報に基づいて生成され、小数点画素精度のいずれの画素位置であるかを示す情報である。
参照画像生成制御部21は、フレーム内で複数の符号化予測方法が採用されている場合に当該マクロブロックがいずれの方法により符号化されているかを示す情報に基づいて、符号化選択フラグを生成してサブピクセル生成装置22に出力する。符号化選択フラグは、2つの符号化予測方法のいずれであるかを示す1ビットのフラグである。また、参照画像生成制御部21は、参照画像のフレームナンバーの情報に基づいて、フレームナンバーが偶数であるか奇数であるかを示す1ビットのフレームナンバーフラグを生成してサブピクセル生成装置22に出力する。なお、フレームナンバーは、符号化ストリーム中の各フレームの伝送順に応じた番号となっている。
参照画像生成制御部21は、マクロブロック情報中に含まれる動きベクトルの情報に基づいて、メモリー制御部23に制御信号を出力する。メモリー制御部23は、参照画像生成制御部21に制御されて、参照画像用メモリー24から参照画像を読出す。即ち、メモリー制御部23は、動きベクトルの整数画素位置の情報によって指定された範囲の参照画像を読出してサブピクセル生成装置22に出力するようになっている。
サブピクセル生成装置22は、メモリー制御部23から読出した参照画像が与えられて、符号化選択フラグFs、フレームナンバーフラグFf及びクォーターペルフラグFqに基づいて、サブピクセルを生成して出力する。サブピクセル生成装置22は、例えば、1/4画素精度相当のサブピクセルを生成することができる。例えば、参照画像用メモリー24に、ハーフデコード用の参照画像、即ち、水平方向に1/2に間引かれた参照画像が記憶され、動きベクトルの精度が1/2画素精度である場合には、サブピクセル生成装置22は、間引かれた画素位置及び1/2画素位置の画素値を生成することができる。また、例えば、サブピクセル生成装置22は、参照画像用メモリー24に、間引かれていない参照画像が記憶され、動きベクトルの精度が1/4画素精度である場合には、1/2画素位置及び1/4画素位置の画素値を生成することができる。
H.264等では、各マクロブロック毎に、1/2画素精度の動きベクトルが求められる。動きベクトルが整数画素位置を示すものである場合には、サブピクセル生成装置22は、動きベクトルに応じた参照画像のマクロブロックを参照画像用メモリー24から読出してそのまま出力すればよい。動きベクトルが小数点画素位置を示すものである場合には、サブピクセル生成装置22は、参照画像用メモリー24から読出した参照画像の各画素を用いた内挿処理によって、動き補償参照画像の各サブピクセルを求める。
いま、内挿処理に用いる2つの整数画素位置の画素値がx,yであるものとする。この場合には、H.264等では、サブピクセルPsは、下記(1)式によって求められる。
Ps=[(x+y+1)/2] (1)
但し、[]は、小数点以下の切り捨て処理を示す。
但し、[]は、小数点以下の切り捨て処理を示す。
この切り捨て処理によって、上述したように、丸め誤差が累積してしまう。(1)式の切り捨て処理は、x,yの平均に0.5を加算して整数にしているので、以下、平均値計算の切り上げ処理又は単に切り上げ処理という。本実施の形態においては、サブピクセル生成装置22は、サブピクセルPsを上記(1)式による切り上げ処理だけでなく、下記(2)式の平均値計算の切り下げ処理(又は単に切り下げ処理)によっても求める。
Ps=[(x+y)/2] (2)
本実施の形態においては、サブピクセル生成装置22は、以下の4つの場合(A)〜(D)において、上記(1),(2)式の切り上げ又は切り下げ処理を切換えて、サブピクセルを求めるようになっている。これらの処理によって、サブピクセル生成装置22は、丸め誤差が累積することを防止するようになっている。
本実施の形態においては、サブピクセル生成装置22は、以下の4つの場合(A)〜(D)において、上記(1),(2)式の切り上げ又は切り下げ処理を切換えて、サブピクセルを求めるようになっている。これらの処理によって、サブピクセル生成装置22は、丸め誤差が累積することを防止するようになっている。
(A)上記(1),(2)式の演算を、画面内において切換える。
(B)複数の平均値計算を行う場合に、上記(1),(2)式の演算を組み合わせてサブピクセルを求める。
(C)上記(1),(2)式の演算を、フレーム毎に切換える。
(D)上記(1),(2)式の演算を、1画面に設定された複数の予測方法毎に切換える。
図4及び図5はサブピクセル生成装置22を説明するための説明図である。図4は参照画像の画素と生成する画素との位置関係を示し、図5はサブピクセル生成装置22の処理をまとめたものである。
先ず、図4及び図5を参照して本実施の形態におけるサブピクセル生成方法について説明する。
図4の丸印は、参照画像の整数画素位置の画素A〜Dを示している。図4の画素F,H,J,Lは、1/2画素位置の画素であり、画素E,G,I,Kは、1/4画素位置の画素である。画素F,H,J,L,E,G,I,Kは、画素A〜Dに対する演算によって求める。この場合の演算方法を図5によって示してある。図5中の↑は、↑に続く2つの画素値に対する(1)式の切り上げ処理を示し、↓は、↓に続く2つの画素値に対する(2)式の切り下げ処理を示している。
図5はサブピクセルの求め方を4種類の画素、即ち、整数画素位置の画素A、垂直方向の内挿処理によって求められる画素H、水平方向の内挿処理によって求められる画素E,F,G及び水平及び垂直方向の内挿処理によって求められる画素I,J,Kに分けて分類したものである。
図5の太枠で囲った左欄のA〜Lと右欄のA〜Lとは、夫々フレーム内で2つの予測符号化方法を採用して2つの動きベクトルが求められている場合における1つ目の動きベクトルに対する演算と2つ目の動きベクトルに対する演算とを夫々示している(上記(D)に対応)。上述した符号化選択フラグFsは、これらの選択を示すもので、例えば、符号化選択フラグFsの“1”で図5の左欄の演算が行われ、符号化選択フラグFsの“0”で図5の右欄の演算が行われることを示している。なお、フレーム内で1つの予測符号化方法のみが採用されている場合には、例えば、左欄の演算が採用される。
また、図5の左欄の演算と右欄の演算とは、丸め誤差の累積方向が逆となるように演算方法が設定されている点を除き、相互に略等価な処理であるので、1つ目の動きベクトルに対して右欄の演算を採用し、2つ目の動きベクトルに対して左欄の演算を採用するようにしてもよい。
また、図5中のOdd,Evenは、夫々フレームナンバーフラグFfによって示されるフレームナンバーが奇数であるか偶数であるかに応じた処理を示している。例えば、フレームナンバーフラグFfの“1”は奇数フレーム(Odd)を示し、“0”は偶数フレーム(Even)を示している。図5のOdd,Evenに示すように、サブピクセル生成装置22は、偶数フレームと奇数フレームとで、切り上げ処理と切り下げ処理とを切換えるようになっている(上記(C)に対応)。これにより、丸め誤差が累積することが防止される。
なお、Odd,Evenにおいて、切り上げ処理と切り下げ処理とを図5の逆にしても同様の効果が得られることは明らかである。
例えば、図5の左欄のFに示すように、サブピクセル生成装置22は、1/2画素位置の画素Fについては、奇数フレームでは、画素A,Bの画素値に対する切り上げ処理によって求めるのに対し、偶数フレームでは、画素A,Bの画素値に対する切り下げ処理によって求める。
画像中の動きが小さい部分では、時間的に連続した一連の画像中の同一位置の各マクロブロックが連続的に参照画像として用いられることが多い。即ち、動きが小さい部分では、丸め誤差が蓄積されやすく、切り上げ及び切り下げ処理が画質に与える悪影響は大きい。そこで、連続したフレームの同一画素について、切り上げ処理と切り下げ処理とを切換えることで、このような丸め誤差を打ち消すようになっている。これにより、丸め誤差が累積することを抑制して、画質劣化を防ぐことができる。
なお、図5の左欄のEに示すように、サブピクセル生成装置22は、1/4画素位置の画素Eについては、整数画素位置の画素Aと内挿処理によって求めた1/2画素位置の画素Fを用いて生成する。この場合には、画素Fの丸め誤差は、奇数フレーム及び偶数フレームの処理によって相殺されていると考えられるので、画素Eについては、奇数及び偶数フレームのいずれも切り上げ処理によって求める。なお、画素Eを画素Aと画素Fとの切り下げ処理によって求めてもよい。
また、図5の左欄のIに示すように、サブピクセル生成装置22は、画素A,Cによって画素Hを求め、画素B,Dによって画素Lを求め、画素H,Lによって画素Jを求め、画素H,Jによって画素Iを求める。この場合において、画素H,Jは切り下げ処理によって求められ、画素L,Iは切り上げ処理によって求められる。即ち、サブピクセル生成装置22は、切り上げ処理と切り下げ処理とを組み合わせて、1つのサブピクセルIを求める(上記(B)に対応)。これにより、丸め誤差が累積されることが防止される。
なお、画素Lは、図4に隣接する整数画素精度の画素位置では、図4の画素Hに相当する。従って、画素Jの生成に際して求める画素H,Lを、一方は切り上げ処理で他方は切り下げ処理で求めることにより、連続したフレームでみれば丸め誤差が累積されることを抑制することができる。
また、図5の左欄のHに示すように、サブピクセル生成装置22は、1/2画素位置の画素Fについては、奇数フレームにおいて画素A,Bの画素値に対する切り上げ処理によって求めたのに対し、画素Hについては、奇数フレームにおいても、画素A,Cの画素値に対する切り下げ処理によって求める(上記(A)に対応)。また、図5の左欄に示すように、画素Lについては、サブピクセル生成装置22は、奇数フレームにおいて画素B,Dの画素値に対する切り上げ処理によって求める。このように、サブピクセル生成装置22は、画面上の位置に応じて、サブピクセルの生成のための切り上げ処理と切り下げ処理とを切換えることにより、丸め誤差による画質への悪影響を緩和するようになっている。
なお、図5は特定の画像において、丸め誤差の画質への悪影響を最も抑制可能な処理の組み合わせの一例を示すものであり、図5に限らず種々の処理の組み合わせを選択することができることは明らかである。例えば、図5では、サブピクセル生成装置22は、画素Hを、符号化選択フラグFs及びフレームナンバーフラグFfに拘わらず、画素A,Cを用いた切り上げ処理によって求めているが、上記(C),(D)等に従って一方を切り上げ処理、他方を切り下げ処理によって求めてもよい。
図1のサブピクセル生成装置22は、図5の処理を実現する回路の一例を示している。
図1において、参照画像生成制御部21からのクォーターペルフラグFqは、サブピクセル生成装置22のMUX31に供給される。また、符号化選択フラグFsは、サブピクセル生成装置22のNOT回路33及びXOR回路34に供給される。また、フレームナンバーフラグFfは、サブピクセル生成装置22のXOR回路34及びOR回路35に供給される。また、サブピクセル生成装置22には、メモリー制御部23から4つの整数画素位置の画素A,B,C,Dの画素値も入力される。
また、サブピクセル生成装置22は、2入力1出力の演算器41乃至49を有する。図1の各演算器中のAVG↑は、2入力x,yに対して、(1)式の切り上げ処理を行うことを示している。また、AVG↑/↓は、選択信号として“1”が印加されると(1)式の切り上げ処理を行い、“0”が印加されると(2)式の切り下げ処理を行うことを示す。また、同様に、AVG↓/↑は、選択信号として“1”が印加されると(2)式の切り下げ処理を行い、“0”が印加されると(1)式の切り上げ処理を行うことを示している。
メモリー制御部23によって読出された画素Aの画素値はMUX31及び演算器41,42,44に与えられる。また、画素Bの画素値は演算器43,44に与えられる。また、画素Cの画素値は演算器41,42に与えられる。また、画素Dの画素値は演算器43に与えられる。
符号化選択フラグFs=“0”の場合(図5の右欄)には、NOT回路33の出力は“1”であり、OR回路35の出力は常に“1”であって、演算器44は切り上げ処理を行って画素Fを得る。
符号化選択フラグFs=“1”の場合(図5の左欄)には、NOT回路33の出力は“0”であり、OR回路35の出力はフレームナンバーフラグFfに一致する。奇数フレーム(図5の左欄のOdd)では、フレームナンバーフラグFf=“1”であり、演算器44は画素A,Bを用いた切り上げ処理を行って画素Fを生成する。また、演算器45は“1”の選択信号によって、画素A,Fを用いた切り上げ処理によって画素Eを生成し、演算器46も“1”の選択信号によって、画素B,Fを用いた切り上げ処理によって画素Gを生成する。
フレームナンバーフラグFf=“0”の場合(図5の左欄のEven)には、演算器44は画素A,Bを用いた切り下げ処理を行って画素Fを生成する。またこの場合には、演算器45,46は、画素A,Fを用いた切り上げ処理又は画素B,Fを用いた切り上げ処理によって、夫々画素E,Gを生成する。
XOR回路34はフレームナンバーフラグFfと符号化選択フラグFsとの排他的論理和を求める。符号化選択フラグFs=“1”で、フレームナンバーフラグFf=“1”(奇数フレーム)(図5の左欄のOdd)では、XOR回路34の出力は“0”であり、演算器42は画素A,Cを用いた切り下げ処理を行って画素Hを生成し、演算器43は画素B,Dを用いた切り上げ処理を行って画素Lを生成する。演算器47は、“1”の選択信号が与えられて、生成された画素H,Lを用いた切り下げ処理によって画素Jを生成する。更に、演算器48,49は、“1”の選択信号が与えられて、生成された画素H,Jを用いた切り下げ処理又は画素J,Lを用いた切り上げ処理によって夫々画素I,Kを生成する。
上述したFs=“1”、Ff=“1”の場合(図5の左欄Odd)と、Fs=“0”で、Ff=“0”の場合、即ち、図5の右欄のEvenの場合とでは、演算器42,43の動作は同一であり、演算器47〜49の動作は切り上げ及び切り下げ処理が相互に逆となる。
また、Fs=“1”、Ff=“0”の場合(図5の左欄のEven)と、Fs=“0”で、Ff=“1”の場合(図5の右欄のOdd)とでは、演算器42,43の動作は相互に同一であり、演算器47〜49の切り上げ及び切り下げ処理は、フレームナンバーフラグFfの値に応じて切換る。
なお、演算器41は、符号化選択フラグFs及びフレームナンバーフラグFfに拘わらず、常に、画素A,Cを用いた切り上げ処理によって、画素Hを生成する。演算器41、44〜49の出力は夫々画素H,F,E,G,J,I,Kの画素値としてMUX31に供給される。MUX31は、クォーターペルフラグFqによって指定された画素位置の画素値を選択して、動き補償参照画像として出力する。こうして、図5に示す処理が行われて各画素が得られる。
次に、図5に示す処理をソフトウェアによって実現する例を説明する。
上記(1)式の切り上げ処理は、コンピュータ上では、(x+y+1)を1ビット右にシフトすることによって得られる。以下、この処理を(x+y+1)>>1と表記する。また、上記(2)式の切り下げ処理は、コンピュータ上では、(x+y)を1ビット右にシフトすることによって得られる。以下、この処理を(x+y)>>1と表記する。
更に、ソフトウェア処理を明確にするために、これらの処理を以下のように表記する。
avg(x,y)=(x+y+1)>>1 …(切り上げ処理)
avgDOWN=(x+y)>>1 …(切り下げ処理)
また、上述したように、切り上げ処理と切り下げ処理とは、フレームナンバーがOddかEvenかでも切換えられる。そこで、この点を考慮して、以下の表記も採用する。
avgDOWN=(x+y)>>1 …(切り下げ処理)
また、上述したように、切り上げ処理と切り下げ処理とは、フレームナンバーがOddかEvenかでも切換えられる。そこで、この点を考慮して、以下の表記も採用する。
avgVROUND(x,y)=(x+y+vround)>>1
avg1-VROUND=(x+y+1−vround)>>1
なお、Oddの場合vround=1で、Evenの場合vround=0である。即ち、avgVROUNDはFf=1で切り上げ処理を示し、avg1-VROUNDはFf=1で切り下げ処理を示している。
avg1-VROUND=(x+y+1−vround)>>1
なお、Oddの場合vround=1で、Evenの場合vround=0である。即ち、avgVROUNDはFf=1で切り上げ処理を示し、avg1-VROUNDはFf=1で切り下げ処理を示している。
サブピクセルの求め方は、図5に示すように4種類に分類することができる。即ち、(a)整数画素位置の画素Aの求め方、(b)垂直方向の内挿処理による画素Hの求め方、(c)水平方向の内挿処理による画素E,F,Gの求め方及び(d)水平及び垂直方向の内挿処理による画素I,J,Kの求め方である。
(a)整数画素位置の画素Aの求め方
画素Aは下記(3)式によって求められる。なお、画素Aの画素値をA、画素Aと同一位置の参照画像の座標を(x,y)とし、pel_ref[a][b]は参照画像の座標(a,b)における画素値を示し、vec[1]、vec[0]は、夫々動きベクトルの垂直成分及び水平成分を示している。
画素Aは下記(3)式によって求められる。なお、画素Aの画素値をA、画素Aと同一位置の参照画像の座標を(x,y)とし、pel_ref[a][b]は参照画像の座標(a,b)における画素値を示し、vec[1]、vec[0]は、夫々動きベクトルの垂直成分及び水平成分を示している。
A=pel_ref[y+vec[1]][x+vec[0]] …(3)
(b)垂直方向の内挿処理による画素Hの求め方
画素Hの座標は、画素Aの垂直方向の座標を+1したものであり、画素値Hは下記(4)式によって求められる。
(b)垂直方向の内挿処理による画素Hの求め方
画素Hの座標は、画素Aの垂直方向の座標を+1したものであり、画素値Hは下記(4)式によって求められる。
H=avg(A,C)
={pel_ref[y+vec[1]][x+vec[0]]+pel_ref[y+vec[1]+1][x+vec[0]]}/2 …(4)
(c)水平方向の内挿処理による画素E,F,Gの求め方
画素E,F,Gの画素値E,F,Gは、下記(5)及び(6)式によって求められる。
={pel_ref[y+vec[1]][x+vec[0]]+pel_ref[y+vec[1]+1][x+vec[0]]}/2 …(4)
(c)水平方向の内挿処理による画素E,F,Gの求め方
画素E,F,Gの画素値E,F,Gは、下記(5)及び(6)式によって求められる。
この場合には、符号化選択フラグに応じて計算式が異なる。
符号化選択フラグFs=0の場合
F=avg(A,B)
={pel_ref[y+vec[1]][x+vec[0]]+pel_ref[y+vec[1]][x+vec[0]+1]}/2
E=avgDOWN(A,F)
G=avgDOWN(B,F) …(5)
符号化選択フラグFs=1の場合
F=avg(A,B)
={pel_ref[y+vec[1]][x+vec[0]]+pel_ref[y+vec[1]][x+vec[0]+1]+vround}/2
E=avg(A,F)
G=avg(B,F) …(6)
(d)水平及び垂直方向の内挿処理による画素I,J,Kの求め方
画素I,J,Kの画素値I,J,Kは、下記(7)及び(8)式によって求められる。
F=avg(A,B)
={pel_ref[y+vec[1]][x+vec[0]]+pel_ref[y+vec[1]][x+vec[0]+1]}/2
E=avgDOWN(A,F)
G=avgDOWN(B,F) …(5)
符号化選択フラグFs=1の場合
F=avg(A,B)
={pel_ref[y+vec[1]][x+vec[0]]+pel_ref[y+vec[1]][x+vec[0]+1]+vround}/2
E=avg(A,F)
G=avg(B,F) …(6)
(d)水平及び垂直方向の内挿処理による画素I,J,Kの求め方
画素I,J,Kの画素値I,J,Kは、下記(7)及び(8)式によって求められる。
この場合にも、符号化選択フラグに応じて計算式が異なる。
符号化選択フラグFs=0の場合
H=avgVROUND(A,C)
={pel_ref[y+vec[1]][x+vec[0]]+pel_ref[y+vec[1]+1][x+vec[0]]+vround}/2
L=avg1-VROUND(B,D)
={pel_ref[y+vec[1]][x+vec[0]+1]+pel_ref[y+vec[1]+1][x+vec[0]+1]+1−vround}/2
J=avg(H,L)
I=avgDOWN(H,J)
K=avgDOWN(J,J) …(7)
符号化選択フラグFs=1の場合
H=avg1-VROUND(A,C)
={pel_ref[y+vec[1]][x+vec[0]]+pel_ref[y+vec[1]+1][x+vec[0]]+1−vround}/2
L=avgVROUND(B,D)
={pel_ref[y+vec[1]][x+vec[0]+1]+pel_ref[y+vec[1]+1][x+vec[0]+1]+vround}/2
J=avgDOWN(H,L)
I=avg(H,J)
K=avg(J,J) …(8)
以上の計算によって、図5に示す処理が可能である。
H=avgVROUND(A,C)
={pel_ref[y+vec[1]][x+vec[0]]+pel_ref[y+vec[1]+1][x+vec[0]]+vround}/2
L=avg1-VROUND(B,D)
={pel_ref[y+vec[1]][x+vec[0]+1]+pel_ref[y+vec[1]+1][x+vec[0]+1]+1−vround}/2
J=avg(H,L)
I=avgDOWN(H,J)
K=avgDOWN(J,J) …(7)
符号化選択フラグFs=1の場合
H=avg1-VROUND(A,C)
={pel_ref[y+vec[1]][x+vec[0]]+pel_ref[y+vec[1]+1][x+vec[0]]+1−vround}/2
L=avgVROUND(B,D)
={pel_ref[y+vec[1]][x+vec[0]+1]+pel_ref[y+vec[1]+1][x+vec[0]+1]+vround}/2
J=avgDOWN(H,L)
I=avg(H,J)
K=avg(J,J) …(8)
以上の計算によって、図5に示す処理が可能である。
このように本実施の形態においては、サブピクセルを求めるための内挿処理として、切り上げ処理だけでなく切り下げ処理を採用し、切り上げ処理及び切り下げ処理を画面内、フレーム毎、予測符号化方法毎に切換え、あるいは組み合わせて用いることで、丸め誤差が累積されることを防止して、画質の向上を図っている。
なお、本発明は上記実施の形態に限定されるものではなく、種々の変形が可能である。例えば、符号化選択フラグFs及びフレームナンバーフラグFfの論理値は上記説明と逆にしてもよく、この場合でも、同様の演算によって各サブピクセルを求めることができることは明らかである。
22…サブピクセル生成装置、31…MUX、33…NOT回路、34…XOR回路、35…OR回路、41〜49…演算器。
Claims (5)
- 画像中の複数の画素の画素値に対する平均値計算を切り上げ処理によって実行する第1の演算部と、
前記画像中の複数の画素の画素値に対する平均値計算を切り下げ処理によって実行する第2の演算部と、
前記画像中に補間する補間画素の位置に応じて前記切り上げ処理又は前記切り下げ処理を切換える第1の切換え処理、前記画像に設定される符号化予測方法毎に前記切り上げ処理又は前記切り下げ処理を切換える第2の切換え処理、前記補間画素を複数回の前記平均値計算によって求める場合において各平均値計算毎に前記切り上げ処理又は前記切り下げ処理を切換える第3の切換え処理のうちの少なくとも1つの切換え処理によって前記補間画素を生成する選択部と
を具備したことを特徴とするサブピクセル生成装置。 - 前記選択部は、前記画像のフレーム毎に前記切り上げ処理又は前記切り下げ処理を切換える第4の切換え処理が可能に構成されることを特徴とする請求項1に記載のサブピクセル生成装置。
- 前記選択部は、動きベクトルの情報に基づいて前記第1の切換え処理を実行し、前記符号化予測方法の情報に基づいて前記第2の切換え処理を実行することを特徴とする請求項1に記載のサブピクセル生成装置。
- 画像中の複数の画素の画素値に対する平均値計算を切り上げ処理によって実行する第1の演算部及び前記画像中の複数の画素の画素値に対する平均値計算を切り下げ処理によって実行する第2の演算部によって、前記画像中に補間する補間画素を生成するサブピクセル生成方法であって、
前記補間画素の位置に応じて前記切り上げ処理又は前記切り下げ処理を切換える第1の切換え処理、前記画像に設定される符号化予測方法毎に前記切り上げ処理又は切り下げ処理を切換える第2の切換え処理、前記補間画素を複数回の前記平均値計算によって求める場合において各平均値計算毎に前記切り上げ処理又は切り下げ処理を切換える第3の切換え処理のうちの少なくとも1つの切換え処理によって前記補間画素を生成する
ことを特徴とするサブピクセル生成方法。 - 請求項1乃至3のいずれか1つに記載のサブピクセル生成装置と、
動き補償予測符号化された符号化ストリームから抽出された動きベクトルに基づいて参照画像用メモリーから参照画像を読出して前記第1及び第2の演算部に与えるメモリー制御部と、
前記第1の切換え処理のために前記符号化ストリームから抽出された動きベクトルを前記選択部に与え、前記第2の切換え処理のために前記符号化ストリームから抽出された符号化予測方法の情報を前記選択部に与え、前記第3の切換え処理のために前記符号化ストリームから抽出されたフレームナンバーの情報を前記選択部に与える制御部と
を具備したことを特徴とする動き補償装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009004062A JP2010161747A (ja) | 2009-01-09 | 2009-01-09 | サブピクセル生成装置及び方法並びに動き補償装置 |
US12/609,356 US20100177827A1 (en) | 2009-01-09 | 2009-10-30 | Sub-pixel generating apparatus, sub-pixel generating method and storage medium, as well as motion compensating apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009004062A JP2010161747A (ja) | 2009-01-09 | 2009-01-09 | サブピクセル生成装置及び方法並びに動き補償装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010161747A true JP2010161747A (ja) | 2010-07-22 |
Family
ID=42319084
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009004062A Pending JP2010161747A (ja) | 2009-01-09 | 2009-01-09 | サブピクセル生成装置及び方法並びに動き補償装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20100177827A1 (ja) |
JP (1) | JP2010161747A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011223261A (ja) * | 2010-04-08 | 2011-11-04 | Ntt Docomo Inc | 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法、及び動画像予測復号プログラム |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102611887B (zh) | 2011-01-21 | 2015-08-05 | 华为技术有限公司 | 非整像素位置运动矢量的坐标值取整方法和装置 |
JP5768491B2 (ja) * | 2011-05-17 | 2015-08-26 | ソニー株式会社 | 画像処理装置および方法、プログラム、並びに記録媒体 |
WO2020259507A1 (en) * | 2019-06-24 | 2020-12-30 | Huawei Technologies Co., Ltd. | Method for computing position of integer grid reference sample for block level boundary sample gradient computation in bi-predictive optical flow computation and bi-predictive correction |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1169362A (ja) * | 1997-06-09 | 1999-03-09 | Hitachi Ltd | 動画像の符号化方法および復号化方法 |
JPH1169345A (ja) * | 1997-06-11 | 1999-03-09 | Fujitsu Ltd | フレーム間予測動画像符号化装置及び復号装置並びにフレーム間予測動画像符号化方法及び復号方法 |
JP2003339050A (ja) * | 2002-04-10 | 2003-11-28 | Microsoft Corp | マルチステージ補間の丸め制御 |
JP2007512761A (ja) * | 2003-11-28 | 2007-05-17 | タンベルグ テレコム エーエス | 補間された画素値を修正する方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5712799A (en) * | 1995-04-04 | 1998-01-27 | Chromatic Research, Inc. | Method and structure for performing motion estimation using reduced precision pixel intensity values |
US6539058B1 (en) * | 1998-04-13 | 2003-03-25 | Hitachi America, Ltd. | Methods and apparatus for reducing drift due to averaging in reduced resolution video decoders |
US6950469B2 (en) * | 2001-09-17 | 2005-09-27 | Nokia Corporation | Method for sub-pixel value interpolation |
-
2009
- 2009-01-09 JP JP2009004062A patent/JP2010161747A/ja active Pending
- 2009-10-30 US US12/609,356 patent/US20100177827A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1169362A (ja) * | 1997-06-09 | 1999-03-09 | Hitachi Ltd | 動画像の符号化方法および復号化方法 |
JPH1169345A (ja) * | 1997-06-11 | 1999-03-09 | Fujitsu Ltd | フレーム間予測動画像符号化装置及び復号装置並びにフレーム間予測動画像符号化方法及び復号方法 |
JP2003339050A (ja) * | 2002-04-10 | 2003-11-28 | Microsoft Corp | マルチステージ補間の丸め制御 |
JP2007512761A (ja) * | 2003-11-28 | 2007-05-17 | タンベルグ テレコム エーエス | 補間された画素値を修正する方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011223261A (ja) * | 2010-04-08 | 2011-11-04 | Ntt Docomo Inc | 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法、及び動画像予測復号プログラム |
Also Published As
Publication number | Publication date |
---|---|
US20100177827A1 (en) | 2010-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5697614B2 (ja) | デジタルビデオコンテンツのマクロブロックレベルにおける適応フレーム/フィールド符号化 | |
TWI556633B (zh) | 視訊解碼裝置、視訊編碼裝置、視訊解碼方法、視訊編碼方法、及儲存媒體(三) | |
JP4527677B2 (ja) | 動画像符号化方法、動画像符号化装置、動画像符号化プログラム | |
JP2005510985A5 (ja) | ||
KR20110008653A (ko) | 움직임 벡터 예측 방법과 이를 이용한 영상 부호화/복호화 장치 및 방법 | |
JP2022008349A (ja) | 低減されたメモリアクセスを用いてfrucモードでビデオデータを符号化又は復号する方法及び装置 | |
JP2004096757A (ja) | 動き補償のための補間方法及びその装置 | |
JP2007060673A (ja) | 画像予測装置、画像符号化装置、画像復号化装置、画像予測方法、画像符号化方法、画像復号化方法、記録媒体及びプログラム | |
JP2013115583A (ja) | 動画像符号化装置及びその制御方法並びにプログラム | |
JP2010161747A (ja) | サブピクセル生成装置及び方法並びに動き補償装置 | |
JP5522252B2 (ja) | 画像処理装置および画像処理方法 | |
JP2010130351A (ja) | 動き補償装置 | |
CN114727114B (zh) | 运动矢量的确定方法和装置 | |
JP4571069B2 (ja) | 動画像符号化装置 | |
JP2010081635A (ja) | 動き補償予測符号化装置、動き補償予測符号化方法及びプログラム | |
JP5552078B2 (ja) | 符号化装置 | |
JP6390275B2 (ja) | 符号化回路、符号化方法 | |
JP5353719B2 (ja) | 動画像符号化装置、動画像符号化方法、動画像符号化プログラム | |
JP4533157B2 (ja) | 画像復号方法 | |
JP2013093668A (ja) | 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラムおよび動画像復号プログラム | |
JP2012120108A (ja) | 補間画像生成装置及びプログラム、並びに、動画像復号装置及びプログラム | |
JP5720399B2 (ja) | 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム | |
JP2005244542A (ja) | 動画像符号化装置、動画像符号化方法 | |
JP5353560B2 (ja) | 画像処理回路および画像符号化装置 | |
JP2006180014A (ja) | 動き補償予測符号化装置及び動き補償予測符号化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110222 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111228 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120207 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120605 |