JP2010011185A - 動画像復号装置及び動画像復号方法 - Google Patents
動画像復号装置及び動画像復号方法 Download PDFInfo
- Publication number
- JP2010011185A JP2010011185A JP2008169086A JP2008169086A JP2010011185A JP 2010011185 A JP2010011185 A JP 2010011185A JP 2008169086 A JP2008169086 A JP 2008169086A JP 2008169086 A JP2008169086 A JP 2008169086A JP 2010011185 A JP2010011185 A JP 2010011185A
- Authority
- JP
- Japan
- Prior art keywords
- motion vector
- motion
- resolution
- image
- moving 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.)
- Withdrawn
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
【課題】動画像符号化データに対して、演算量の増加を最低限に止めつつ画質の劣化を低減する、解像度の縮小を伴う動画像復号装置を実現する。
【解決手段】動画像復号装置に、DCT係数の低周波成分のみを復号する4×4IDCT部14と、動き補償がフレーム予測である場合に、解像度の縮小に合わせて動きベクトルを縮小し、縮小した動きベクトルが指し示すフィールドを修正する動きベクトル決定部15と、動き補償がフィールド予測でDCT符号化がフレームDCTである場合に、高周波成分を含む予測画像を補正する予測画像補正部17とを設け、解像度の縮小を伴う動画像復号化を行う。これにより、演算量をあまり増加させずに復号画像の劣化を低減できる。
【選択図】図1
【解決手段】動画像復号装置に、DCT係数の低周波成分のみを復号する4×4IDCT部14と、動き補償がフレーム予測である場合に、解像度の縮小に合わせて動きベクトルを縮小し、縮小した動きベクトルが指し示すフィールドを修正する動きベクトル決定部15と、動き補償がフィールド予測でDCT符号化がフレームDCTである場合に、高周波成分を含む予測画像を補正する予測画像補正部17とを設け、解像度の縮小を伴う動画像復号化を行う。これにより、演算量をあまり増加させずに復号画像の劣化を低減できる。
【選択図】図1
Description
本発明は、動画像符号化データを復号する動画像復号装置及び動画像復号方法に関する。
映像信号をより少ないデータ量で伝送・蓄積するための動画像符号化技術は、例えばMPEG2ビデオ規格(ISO/IEC136162)に代表されるように実用化が進んでいる。
MPEG2ビデオ規格では、1枚の画像を複数の8×8画素のブロックに分割し、各ブロックに直交変換の一つであるDCT(離散コサイン変換)を行い、得られたDCT係数を量子化して可変長符号化することで圧縮を行う。また、動き補償予測を併用することで、時間軸方向の画像の相関を利用して符号化の効率を高めている。
動画像の符号化により得られた動画像符号化データ(MPEGビットストリーム)は、放送や通信、DVDやハードディスクなどの記憶媒体を用いた蓄積などに用いられる。特に近年、パーソナルコンピュータのアプリケーションによる動画像符号化データの利用が増加している。アプリケーションには、単に動画像符号化データを復号して再生するものだけでなく、動画像符号化データを復号してこれを編集する、いわゆる映像編集ソフトウェアなどが挙げられる。さらに、パーソナルコンピュータよりも演算能力の劣る、携帯電話をはじめとした携帯通信端末においても動画像復号機能が実装され、動画像符号化データの再生に用いられている。
このような用途においては、動画像符号化データを単に復号した高解像度の画像だけでなく、動画像符号化データを復号するとともに解像度を縮小した低解像度の画像が用いられることがある。例えば、映像の再生や編集を行うパーソナルコンピュータのアプリケーションにおいては、低解像度の画像は、利用者が再生したい箇所や編集したい箇所を素早くサーチすることに利用できる。このようなアプリケーションにおける低解像度画像の利用は、演算量を削減できるため、高い応答性が求められる処理や何らかの処理と並列に行う処理等において有効である。
特許文献1には、インターレース画像を符号化した符号化画像データに対して、画像の解像度を水平および垂直方向にそれぞれ1/2にする復号(以下、1/4縮小デコードと云う)を行い、かつ垂直方向のトップフィールドとボトムフィールドの位相のずれを補償する画像復号装置が開示されている。
特開2000−175194号公報
しかし、特許文献1の画像復号装置では1/4縮小デコードにおいて、符号化画像データのDCT符号化モードがマクロブロック毎に設定されることによるフィールドDCTおよびフレームDCTの混在に起因する位相ずれについては考慮しているものの、動き補償に起因する画像劣化については考慮されていない。
1/4縮小デコードを行う場合、IDCT(逆離散コサイン変換)の処理において、8×8のブロックから高域の周波数成分を除いた4×4のブロックによりIDCTを行う。また、動き補償の処理において、動きベクトルを1/2にしたベクトルを用いて動き補償を行う。
MPEG2における動き補償は、動画像符号化データがフレーム構造のシンタックスである場合、マクロブロック毎に予測モードとしてフィールド予測およびフレーム予測が切り替えられる。このため、動き補償画像にはフィールド予測で生成された画像とフレーム予測で生成された画像が混在することになる。
復号するマクロブロックがフレーム予測である場合、1/2にした動きベクトルは、元の動きベクトルが指し示す領域の先頭画素がトップフィールドとボトムフィールドのどちらに含まれるかを考慮せずに決定される。このとき、参照画像がプログレッシブ画像である場合は、フィールド間に時間差がないため、生成される復号画像に問題は生じない。一方、参照画像がインターレース画像である場合は、フィールド間に時間差があり、1/2にした動きベクトルが指し示す領域の先頭画素が含まれるフィールドがトップフィールドであり、元のベクトルが指し示す領域の先頭画素が含まれるフィールドがボトムフィールドである場合、または1/2にした動きベクトルが指し示す領域の先頭画素が含まれるフィールドがボトムフィールドであり、元のベクトルが指し示す領域の先頭画素が含まれるフィールドがトップフィールドである場合には、復号画像にフィールドのずれが生じる。このため、復号画像の画質劣化が目立つという現象が起きる。
このように、画像の解像度を水平および垂直方向それぞれ1/2にして復号(1/4縮小デコード)を行うと、画素数が1/4となり、演算量の減少による高速な復号が可能となるが、動きベクトルを単純に1/2にすると、動き補償にフレーム予測を行うマクロブロックでは、1/2された動きベクトルの値によっては、縮小復号画像にフィールドのずれによる画質劣化が生じるという問題がある。
また、動画像符号化データがフレーム構造のシンタックスである場合、DCT符号化モードには、フィールドDCTモードとフレームDCTモードがあり、マクロブロック毎にモードが切り替えられる。
動き補償モードがフィールド予測、DCT符号化モードがフレームDCTで符号化されたインターレース画像を復号する場合、予測画像にフィールド予測に起因する高周波成分が含まれる場合がある。通常の復号では、残差信号と予測画像に共に高周波成分が含まれるため、足し合わせた画像において高周波成分は相殺される。しかし、1/4縮小デコードを行う場合、DCT係数のうち低周波成分に属する一部の係数を用いてIDCTを行い、残差信号を取得するため、残差信号から高周波成分が除かれる。このため、高周波成分の除かれた残差信号と高周波成分を含む予測画像を足し合わせた復号画像において、予測画像の高周波成分が相殺されず、画像劣化が生じるという問題がある。
本発明は上述の事情を考慮してなされたものであり、演算量の増加を最低限に止めつつ、縮小復号画像の画質の劣化を低減することができる動画像復号装置を提供することを目的とする。
上述の課題を解決するため、本発明の動画像復号装置は、第1の解像度をもつ動画像符号化データを復号する動画像復号装置であって、前記動画像符号化データをエントロピー復号して、前記動画像符号化データの符号化に用いたモード、量子化直交変換係数、および第1の動きベクトルを取得するエントロピー復号手段と、前記量子化直交変換係数に対して逆量子化を行う逆量子化手段と、前記逆量子化によって得られる直交変換係数に対して、符号化時のブロックサイズである第1のブロックのうち、低域の周波数成分を示す係数からなる前記第1のブロックよりも小さい第2のブロックを用いて逆直交変換を行い、前記第1の解像度よりも低い第2の解像度の残差信号を生成する逆直交変換手段と、前記第2の解像度の残差信号と第2の解像度の動き補償予測信号を加算して第2の解像度の復号画像を生成する加算手段と、前記復号画像を参照画像として格納するフレームメモリと、前記第1の動きベクトルの水平成分および垂直成分から前記第1の解像度と前記第2の解像度の比に基づいて縮小した第2の動きベクトルの水平成分および垂直成分をそれぞれ算出すると共に、前記動画像符号化データのシンタックスがフレーム構造で、且つ動き補償予測がフレーム予測方式である場合に、前記第1の動きベクトルの垂直成分が指示する領域の先頭ラインが属するフィールドと前記第2の動きベクトルの垂直成分が指示する領域の先頭ラインが属するフィールドとが同相のフィールドとなるように前記第2の動きベクトルの垂直成分を修正することによって、動き補償予測に使用する動きベクトルを決定する動きベクトル決定手段と、前記フレームメモリに格納された参照画像に対して、前記決定された動きベクトルを用いて動き補償を行い、前記動き補償予測信号を生成する動き補償手段とを具備することを特徴とする。
本発明によれば、演算量の増加を最低限に止めつつ、縮小復号画像の画質の劣化を低減することができる。
以下、図面を参照して本発明の一実施形態を説明する。
本実施形態に係る動画像復号装置は、圧縮符号化された動画像データである動画像符号化データのビットストリームを入力し、この動画像符号化データのビットストリームを復号する。動画像データは例えばMPEG2方式で符号化されている。復号処理においては、動画像符号化データから縮小復号画像を生成するための縮小デコード処理(例えば、1/4縮小デコード処理)が実行される。1/4縮小デコード処理は、動画像符号化データを復号して、水平および垂直方向の解像度がそれぞれ1/2である、解像度が1/4の動画像データを得る処理である。
1/4縮小デコード処理は簡易的なデコード処理であるため、処理能力の低いパーソナルコンピュータや、携帯型電子機器に好適である。1/4縮小デコード処理は低解像度画像を復号画像として生成することが出来る。したがって、1/4縮小デコード処理を利用することにより、処理能力の低いパーソナルコンピュータや、携帯型電子機器においても、早送り、巻き戻しといったトリック再生をスムーズに実行することとが出来る。
まず、図1を参照して、動画像復号装置の構成について説明する。動画像復号装置は、ストリームバッファ11、VLC(Variable Length Coding)デコード部12、IQUANT(逆量子化)部13、4×4IDCT(4×4逆離散コサイン変換)部14、動きベクトル決定部15、1/4画像動き補償部16、予測画像補正部17、フレームメモリ18、および信号加算部19を備える。
ストリームバッファ11は、動画像復号装置に入力されるビットストリームを一時的に蓄積する。蓄積されたビットストリームは、VLCデコード部12からの要求に応じてVLCデコード部12に送出される。
VLCデコード部12は、動画像符号化データをエントロピー復号の一種である可変長復号する。具体的には、VLCデコード部12は、ストリームバッファ11を介して入力されたビットストリームを可変長復号し、この可変長復号されたビットストリームのシンタックスを解析して、各種モード、量子化DCT係数、および動きベクトルの情報を取得する。
IQUANT部13は、VLCデコード部12で取得した量子化DCT係数を逆量子化し、直交変換係数の一つであるDCT係数を取得する。逆量子化は、例えば、8×8のブロック単位で実行される。
4×4IDCT部14は、逆直交変換の一種である逆離散コサイン変換を行う。具体的には、4×4IDCT部14は、DCT係数に対して、画像の水平および垂直方向の解像度をそれぞれ1/2にする解像度の縮小を伴う逆離散コサイン変換を行う。4×4IDCT部14は、8×8のブロックによる離散コサイン変換で符号化された8×8のDCT係数に対して、高域の周波数成分を除いた4×4のブロックによる逆離散コサイン変換を行う。すなわち、逆量子化によってブロック単位で得られる8×8のDCT係数の内、低域の4×4のDCT係数のみが逆離散コサイン変換される。したがって、この変換により得られる残差信号は、符号化前の画像に対して水平および垂直方向の解像度がそれぞれ1/2である、解像度が1/4の画像となる。
動きベクトル決定部15は、VLCデコード部12において取得した動きベクトルmvと動き補償の予測モードの情報を用いて、この1/4の解像度の画像に対して適切な動きベクトルmv’を決定する。
1/4画像動き補償部16は、VLCデコード部12で取得した動き補償の予測モードの情報、動きベクトル決定部15で取得した動きベクトルmv’、およびフレームメモリ18に蓄積された参照画像を用いて、符号化前の画像に対して解像度が1/4の予測画像を生成する。
予測画像補正部17は、この予測画像とVLCデコード部12で取得した動き補償の予測モード、およびDCT符号化モードの情報を用いて、予測画像の補正を行う。
フレームメモリ18は、復号した画像を、後に続く復号化処理で参照される参照画像として蓄積するメモリである。したがって、参照画像は復号画像であるから、符号化前の画像に対して水平および垂直方向の解像度がそれぞれ1/2である、解像度が1/4の画像となる。蓄積された参照画像は、1/4画像動き補償部16からの要求に応じてフレームメモリ18から1/4画像動き補償部16に送出される。
動画像復号装置は、4×4IDCT部14から出力される残差信号、予測画像補正部17から出力される補正された予測画像、および入力ビットストリームがフレーム内符号化(intra)モードとフレーム間符号化(inter)モードのどちらによって符号化されたかをマクロブロック単位で示すintra/interモードの情報を用いて、復号画像を生成する。
入力ビットストリーム中の符号化画像がintraモードにより符号化されたものである場合、残差信号がそのまま復号画像として出力される。一方、入力ビットストリーム内の符号化画像がinterモードにより符号化されたものである場合、残差信号と補正された予測画像を足し合わせて生成された画像が復号画像として出力される。この復号画像はさらに、新たな参照画像としてフレームメモリ18に蓄積される。
動きベクトル決定部15は、インターレース画像をフレーム構造として符号化し、且つ符号化に用いられた動き補償がフレーム予測である動画像符号化データを復号する場合において、動き補償に用いる動きベクトルの決定を行う。
一般に、動画像符号化データに対して1/4縮小デコード処理を施す場合、動きベクトルmvの水平成分mvhおよび垂直成分mvvをそれぞれ1/2にすることが必要となる。この場合、動きベクトルの垂直成分mvvを1/2にしたベクトルが指し示す領域の先頭画素(先頭ライン)が含まれるフィールドが、動きベクトルmvが指し示す領域の先頭画素(先頭ライン)が含まれるフィールドと同相のフィールドであるか否かについては考慮されていない。つまり、動きベクトルmvが指し示す領域の先頭画素がトップフィールドの画素を指し示している場合に、垂直成分mvvを1/2にしたベクトルが指し示す領域の先頭画素がボトムフィールドの画素を指し示していたり、また、動きベクトルmvが指し示す領域の先頭画素がボトムフィールドの画素を指し示している場合に、垂直成分mvvを1/2にしたベクトルが指し示す領域の先頭画素がトップフィールドの画素を指し示しているということが起こる。
図2は、符号化前の画像に対して、1/4縮小デコードする画像を生成するために、動きベクトルの垂直成分mvvを変換して取得したベクトルが、参照画像において指し示すフィールドの例を表したものである。図2(a)は、トップフィールドを指し示す第1乃至第4の動きベクトルの垂直成分mvavの例を示す。図2(b)は、これら第1乃至第4の動きベクトルの垂直成分mvavを1/2にしたベクトルmvbvをそれぞれ示す。
図2(b)におけるベクトルmvbv31およびベクトルmvbv33は、図2(a)のベクトルmvav21およびベクトルmvav23と同じく、トップフィールドを指し示している。一方、図2(b)におけるベクトルmvbv32およびベクトルmvbv34は、図2(a)のベクトルmvav22およびベクトルmvav24とは異なり、ボトムフィールドを指し示している。このように元の動きベクトルが指し示すフィールドとは異なる位相のフィールドを指し示すベクトルを用いて動き補償を行った場合、作成される予測画像においてもフィールドの配置が異なってくる。
図3は、動き補償により得られる画像の例を示したものである。
図3(a)は、通常の参照画像25に対し、動きベクトルmvavを用いて動き補償を行った例である。図3(a)では、動きベクトルmvavが指し示す参照画像25内の領域(参照ブロック)の先頭画素(先頭ライン)がトップフィールドである場合が例示されている。この場合、動き補償により生成される予測信号のブロック26においては、その先頭ラインから最終ラインに向かって、トップフィールドの画像、ボトムフィードの画像、トップフィールドの画像、……が順に配置されることになる。
一方、図3(b)は水平および垂直方向の解像度をそれぞれ1/2とした、解像度が1/4の参照画像35に対して、単純に1/2に縮小された動きベクトルを用いて動き補償を行った例である。1/2に縮小された動きベクトルが、図2(b)のベクトルmvbv32またはベクトルmvbv34のように元のベクトルが指し示すフィールドとは異なる位相のフィールドを指し示す場合には、動き補償により生成される予測信号のブロック36における先頭ラインは、トップフィールドではなく、ボトムフィールドとなる。予測画像のブロック36においては、その先頭ラインから最終ラインに向かって、ボトムフィードの画像、トップフィールドの画像、ボトムフィールドの画像、……が順に配置されることになる。動画像符号化データがプログレッシブ画像でフィールドに時間的な差がない場合には問題がない。しかし、トップフィールドとボトムフィールドとの間に時間的な差があるようなインターレース画像から生成されたフレーム構造の動画像符号化データの場合には、このようなフィールドの並びの違いにより、生成される復号画像の画像劣化が目立つという現象が生じる可能性がある。
そこで本実施形態では、動きベクトル決定部15において、動きベクトルの垂直成分mvavを1/2にしたベクトルmvbvに対して修正を加える。この修正は、動きベクトルが指し示す領域の先頭画素が含まれるフィールドと、ベクトルmvbvが指し示す領域の先頭画素が含まれるフィールドとを同相のフィールドにする操作である。
図2(c)にその例を示す。図2(b)において、動きベクトルの垂直成分mvavと異なるフィールドであるボトムフィールドを指し示していた、ベクトルmvbv32またはベクトルmvbv34は、それぞれトップフィールドを指し示す、ベクトルmvcv42またはベクトルmvcv44に修正される。
図3(c)は、修正されたベクトルmvcv42またはベクトルmvcv44を用いて、水平および垂直方向の解像度をそれぞれ1/2とした、解像度が1/4の参照画像45に動き補償を行った場合の予測信号のブロック46を示している。修正されたベクトルを用いることで、動き補償により生成されたブロック46における先頭フィールドはトップフィールドとなる。これにより、フィールドのずれによる復号画像の画質劣化を回避することができる。
図4は、動画像復号装置における動きベクトル決定部15の構成を示すものである。動きベクトル決定部15は、上述したようにフィールドのずれによる復号画像の画質劣化を回避するため、動きベクトルの修正を行う。
動きベクトル決定部15は、1/2動きベクトル算出部151と動きベクトル修正部152を備える。1/2動きベクトル算出部151は、入力された動きベクトルmvの水平成分mvhおよび垂直成分mvvをそれぞれ1/2にする。動きベクトル修正部152は、垂直成分mvvを1/2にしたベクトルが指し示す領域の先頭画像が含まれるフィールドが、動きベクトルmvが指し示す領域の先頭画像が含まれるフィールドと同相になるように、垂直成分mvvを1/2にしたベクトルを修正する。つまり、動きベクトルmvが指し示す領域の先頭画像がトップフィールドに含まれる場合、垂直成分mvvを1/2にしたベクトルが指し示す領域の先頭画像が含まれるフィールドもトップフィールドとする。また、動きベクトルmvが指し示す領域の先頭画像がボトムフィールドに含まれる場合、垂直成分mvvを1/2にしたベクトルが指し示す領域の先頭画像が含まれるフィールドもボトムフィールドとする。
この動きベクトルの決定は、図5に示す動きベクトル修正アルゴリズムによって実現することができる。なお、動きベクトルmvの大きさは、隣接する画素間の距離を1として表す。したがって例えば、図2(a)に示す4パターンの動きベクトルの垂直成分であるmvavの大きさはそれぞれ、ベクトルmvav21が8、ベクトルmvav22が6、ベクトルmvav23が4、そしてベクトルmvav24が2となる。
以下、図5に示すフローチャートにしたがって、動きベクトル修正アルゴリズムについて説明する。まず、VLCデコード部12から入力された動きベクトルmvの垂直成分mvvは、1/2動きベクトル算出部151により1/2にされ、ベクトル1/2mvvがmvvに設定される(ステップS101)。つまり、図2(a)に示すベクトルmvavから、図2(b)に示すベクトルmvbvに変換する操作が行われる。したがって、図2(b)に示す4パターンの動きベクトルmvbvの大きさはそれぞれ、ベクトルmvbv31が4、ベクトルmvbv32が3、ベクトルmvbv33が2、そしてベクトルmvbv34が1となる。このとき、ベクトルmvbv32およびベクトルmvbv34は、元のベクトルmvav22およびベクトルmvav24とは異なるフィールドであるボトムフィールドを指し示している。
次に、1/2に縮小された動きベクトルmvの垂直成分mvvの値に基づいて、mvvの値を修正する処理を行う。ここでは、元の動きベクトルmvが半画素精度で参照ブロックを示すものであるとする。この場合、元の動きベクトルmvの垂直成分mvvは、垂直成分mvvの整数部の値を2進数で表した整数部用のビット列(第1ビット列)と、その最下位ビットに付加される、小数部(0または0.5)を示す1ビットとを含む、ビット列(第2ビット列)で表される。例えば、垂直成分mvvが十進表記で4.0であれば、整数部用の第1ビット列“100”の下位1ビットにビット“0”を付加した第2ビット列“1000”によってmvvが表現される。垂直成分mvvが十進表記で4.5であれば、整数部用の第1ビット列“100”の下位1ビットにビット“1”を付加した第2ビット列“1001”によってmvvが表現される。1/2に縮小された動きベクトルmvの垂直成分mvvも、同様にして、整数部用の第1ビット列とその最下位ビットに付加される小数部(0または0.5)を示す1ビットとを含む第2ビット列によって表現される。
動きベクトル修正部152は、1/2に縮小された動きベクトルmvの垂直成分mvvを表すビット列と“0x3”のANDをとる操作を実行する。“0x”は16進数表記を示している。“0x3”は2進数表記のビット列“11”に相当する。垂直成分mvvのビット列と“0x3”のANDをとる操作は、ベクトルmvvの下位2ビットを取得する操作を意味する。
ベクトルmvvの下位2ビットの値が“00”(十進表記で0.0)である場合(ステップS102のYes)、ベクトルmvvをそのまま動きベクトルの垂直成分として設定する(ステップS202)。図2(b)に示すベクトルmvbv31およびベクトルmvbv33は、ステップS202へ分岐する。したがって、ベクトルmvbv31の値は4のまま変更されずに、修正後のベクトルmvcv41として使用される。ベクトルmvbv33の値も2のまま変更されずに、修正後のベクトルmvcv43として使用される。ベクトルmvvの下位2ビットの値が“01”(十進表記で0.5)である場合(ステップS103のYes)、ベクトルmvvに0.5を加えた値をmvvに設定する(ステップS203)。
ベクトルmvvの下位2ビットの値が“10”(十進表記で1.0)である場合(ステップS104のYes)、ベクトルmvvに1を加えた値をmvvに設定する(ステップS204)。図2(b)に示すベクトルmvbv32およびベクトルmvbv34は、ステップS204へ分岐する。したがって、ベクトルmvbv32の値は4、ベクトルmvbv34の値は2に修正される。つまり、図2(c)に示すベクトルmvcv42およびベクトルmvcv44がそれぞれ算出される。
ベクトルmvvの下位2ビットの値が“11” (十進表記で1.5)である場合(ステップS105のYes)、ベクトルmvvから0.5を引いた値をmvvに設定する(ステップS205)。
ステップS203,S205の処理は、1/2に縮小された動きベクトルmvの垂直成分mvvによって示される領域の先頭画素が半画素位置である場合に、そのmvvの値を整数値に修正する処理である。この修正により、mvvによって指定される画素の上下に存在する2つのフィールドの画素から参照画素の画素値を算出するという操作を行う必要がなくなり、1/4縮小デコード処理の負荷を低減することができる。
1/4縮小デコード処理は、デコードに要する負荷を低減することを目的としたデコード処理である。よって、mvvの値を整数値に修正する処理ことにより、1/4縮小デコード処理の負荷の増大を防止することは有効である。
以上のアルゴリズムにより、元の動きベクトルを1/2にして、かつ元の動きベクトルが指し示すフィールドと同相のフィールドを指し示すように修正された動きベクトルが得られる。すなわち、図2(a)に示すベクトルmvav21,22,23,24から、図2(c)に示すベクトルmvcv41,42,43,44がそれぞれ算出される。
図6は、動きベクトルの垂直成分mvvが0.0から8.5までの値をとるそれぞれの場合について、動きベクトル決定部15による修正された動きベクトルの垂直成分算出の例を示したものである。ここで、動きベクトルの垂直成分mvvは半画素単位で領域を指示できるものとする。つまり、動きベクトルの垂直成分mvvは、0.0,0.5,1.0,1.5,……という0.5刻みの値をとる。
動きベクトル決定部15は、動きベクトルの垂直成分mvvを1/2にした1/2mvvを算出する。ここで、1/2mvvの小数点以下の値が0.25もしくは0.75である場合、0.25を0.0に、0.75を0.5とする半画素単位への切り捨ての操作を行う。例えば、mvv=6.5である場合、1/2mvv=3.25であるが、半画素単位への切捨ての操作により1/2mvv=3.0とする。また、mvv=7.5である場合、1/2mvv=3.75であるが、半画素単位への切捨ての操作により1/2mvv=3.5とする。
次に、動きベクトル決定部15は、1/2mvvを2進数表記し、その最下位ビットに小数部を示す1ビットを付加したビット列の下位2ビットに注目し、1/2mvvを修正する。下位2ビットの値は、“00”,“01”,“10”,もしくは“11”の値をとる。
下位2ビットが“00”であれば、1/2mvvの値をそのまま修正された動きベクトルの垂直成分の値として決定する。下位2ビットが“01”であれば、1/2mvvの値に0.5を加えた値を修正された動きベクトルの垂直成分の値として決定する。下位2ビットが“10”であれば、1/2mvvの値に1.0を加えた値を修正された動きベクトルの垂直成分の値として決定する。下位2ビットが“11”であれば、1/2mvvの値から0.5を引いた値を修正された動きベクトルの垂直成分の値として決定する。
例えば、1/2mvv=2.0(2進表記00100)の場合、下位2ビットは“00”であるから、修正された動きベクトルの垂直成分の値はそのまま2.0となる。1/2mvv=2.5(2進表記00101)の場合、下位2ビットは“01”であるから、修正された動きベクトルの垂直成分の値は、1/2mvv+0.5=3.0となる。1/2mvv=3.0(2進表記00110)の場合、下位2ビットは“10”であるから、修正された動きベクトルの垂直成分の値は、1/2mvv+1.0=4.0となる。1/2mvv=3.5(2進表記00111)の場合、下位2ビットは“11”であるから、修正された動きベクトルの垂直成分の値は、1/2mvv−0.5=3.0となる。
動きベクトル決定部15は、動きベクトルの垂直成分mvv=9.0以上の値についても同様の手順によって、修正された動きベクトルの垂直成分を決定することができる。
予測画像補正部17は、インターレース画像をフレーム構造として符号化し、且つ動き補償がフィールド予測であり、DCT符号化モードがフレームDCTである動画像符号化データに対して処理を行う。符号化時、フィールド予測の動き補償により入力動画像データから作成された予測画像には、フィールド予測に起因する高周波成分が含まれる場合がある。予測画像補正部17は、この高周波成分により生じる復号画像の画像劣化を低減するための予測画像の補正を行う。
動き補償がフィールド予測モード、DCTがフレームDCTモードで符号化されたインターレース画像のマクロブロックを復号する場合、図7に示すような画質劣化が生じる場合がある。これは、符号化された元の画像に高周波成分があまり含まれていないにもかかわらず、フィールド予測モードの動き補償により作成された予測画像に、フィールドの違いによる高周波成分が生じることによるものである。
この場合、画像を符号化する際には、図8に示すように、フィールドの違いによる高周波成分が含まれた予測画像52と入力画像51の残差信号53が求められ、その残差信号53に対してフレームDCTモードによるDCTが行われる。残差信号53には、フィールドの違いによって生じた高周波成分が含まれている。入力画像51から予測画像52を差し引く操作により、残差信号53に含まれる高周波成分の位相は予測画像52に含まれる高周波成分の位相に対して反転されたものとなる。したがって、この残差信号にDCTを行うと高周波成分を含むDCT係数54が得られる。
復号する際には、図9に示すように、DCT係数61にIDCTを行い、高周波成分を含む残差信号62を復元する。この残差信号62と高周波成分を含む予測画像63とを足し合わせた復号画像64は、入力画像51に近い画像となる。つまり、足し合わせることによって得られた復号画像64においては、高周波成分は相殺される。
ところで、動画像符号化データを1/4縮小デコードする場合、4×4IDCT部14は、図10のように低周波成分に属する4×4の係数のみを用いて変換を行う。
図11は、入力画像符号化における動き補償がフィールド予測であって、予測画像にフィールド予測に起因する高周波成分が多く含まれる場合に、この予測画像と入力画像との残差信号に対して、フレームDCTモードでDCTを行って得られたDCT係数の分布を示す。一般には、画像にDCTを行うと、水平および垂直方向ともに低周波成分に係数が集中する。しかし、予測画像にフィールド予測の動き補償に起因する高周波成分が含まれる場合、図11のように垂直方向の高周波成分にもDCT係数が分布するようになる。
動画像符号化データを1/4縮小デコードする場合、図10のように低周波成分に属する4×4の係数のみを用いる4×4IDCT部14によりIDCTを行う。すると、図12に示すように垂直方向の高周波成分が失われる。
図13は、動画像符号化データを水平および垂直方向それぞれ1/2の解像度にして復号する場合の処理の流れを示したものである。まず、4×4IDCT部14は、DCT係数71にIDCTを行い、残差信号72を取得する。4×4IDCT部14が低周波成分の4×4の係数のみを用いて変換を行うため、高周波成分は捨てられ、残差信号72にも高周波成分は含まれていない。1/4画像動き補償部16は予測画像73を生成する。予測画像73には、フィールド予測に起因する高周波成分が含まれている。このため、高周波成分が失われた残差信号と高周波成分を含む予測画像とが足し合わせられることになり、生成される復号画像74にフィールドを強調するような縞状のノイズが生じる。
図14は、予測画像補正部17によりこの画像劣化を軽減するための処理の流れを示したものである。予測画像補正部17は、高周波成分を含む予測画像に対してローパスフィルタをかけることで、高周波成分を除いた予測画像を生成する。まず、4×4IDCT部14は、DCT係数71にIDCTを行い、低周波成分のみを含む残差信号72を取得する。1/4画像動き補償部16はフィールド予測に起因する高周波成分を含む予測画像73を生成する。次に、予測画像73にローパスフィルタ75をかける。これにより、高周波成分を除いた予測画像76が取得される。この高周波成分を除いた予測画像76と残差信号72を足し合わせることで、高周波成分による画像劣化を軽減した予測画像77を取得することができる。
なお、予測画像補正部17は、予測画像に含まれる輝度ブロックおよび色差ブロックのそれぞれに対して、DCT符号化モード、および動き補償モードに基づく判定をし、該当する予測画像のブロックに対して補正を行う。補正処理は、4×4IDCT部14においてDCT係数から高周波成分が除かれるように、予測画像にローパスフィルタをかけることで予測画像からも高周波成分を除く。
なお図15に示すように、輝度ブロックは、フレームDCTモードもしくはフィールドDCTモードによりDCT符号化される。一方、色差ブロックは、フレームDCTモードでのみDCT符号化される。
輝度ブロックは、図16に示すフローチャートに従ってDCT符号化モードおよび動き補償モードを判定して、補正する。
まず、輝度ブロックのDCT符号化モードがフレームDCTであるかどうかを判定する(ステップS301)。DCT符号化モードがフレームDCTである場合(ステップS301のYes)、次に、動き補償モードがフィールド予測であるかどうかを判定する(ステップS302)。動き補償モードがフィールド予測である場合(ステップS302のYes)、輝度ブロックの補正処理を行う(ステップS303)。DCT符号化モードがフィールドDCTである場合(ステップS301のNo)、もしくは動き補償モードがフレーム予測である場合(ステップS302のNo)には処理を終了する。
色差ブロックは、動き補償モードがフィールド予測である場合に補正処理を行う。
補正処理に用いるローパスフィルタの例を図17および図18に示す。ローパスフィルタは、予測画像を構成するトップフィールドとボトムフィールドとを1つのフレームとしてフィルタをかける。ローパスフィルタは、図17のように例えば、垂直方向に3タップのフィルタをかける。つまり、注目画素とその上下の隣接する画素からなる3画素が示す画素値により、注目画素に設定する補正した画素値を算出する。例えば図18においてボトムフィールドに含まれる画素bを注目画素とした場合、垂直上方向に隣接する画素aと垂直下方向に隣接する画素cの画素値を用いて、フィルタにより補正した画素値b’は次式により算出する。
b’=(a+b×2+c)/4
また、トップフィールドに含まれる画素cを注目画素とした場合、垂直上方向に隣接する画素bと垂直下方向に隣接する画素dの画素値を用いて、フィルタにより補正した画素値c’は次式により算出する。
また、トップフィールドに含まれる画素cを注目画素とした場合、垂直上方向に隣接する画素bと垂直下方向に隣接する画素dの画素値を用いて、フィルタにより補正した画素値c’は次式により算出する。
c’=(b+c×2+d)/4
予測画像に含まれる他の画素についても同様にしてフィルタをかけて補正した画素値を求め、高周波成分を除いた予測画像を生成する。
予測画像に含まれる他の画素についても同様にしてフィルタをかけて補正した画素値を求め、高周波成分を除いた予測画像を生成する。
信号加算部19は、入力される信号を足し合わせて復号画像を生成する。動画像符号化データがフレーム間予測モード(interモード)である場合、信号加算部19は、予測画像補正部17から出力された予測画像と4×4IDCT部14から出力された残差信号とを足し合わせた復号画像を出力する。動画像符号化データがフレーム内予測モード(intraモード)である場合、信号加算部19は、4×4IDCT部14から出力された残差信号を復号画像として出力する。
この復号画像はさらに、次のフレームを復号する際の参照画像としてフレームメモリ18へ格納される。
以上のように、本実施形態においては、インターレース方式の動画像符号化データに対して、1/4縮小デコードを行う際、動き補償がフレーム予測である場合に、動きベクトルのフィールド情報に基づいて垂直方向の動きベクトルを決定する。また、動き補償がフィールド予測モード、且つDCT符号化がフレームDCTモードである場合に、動き補償で生成された予測画像からフィールド予測に起因する高周波成分を取り除く。これらの処理により、演算量の増加を最低限に止めつつ、1/4縮小デコードに伴う画質劣化を低減することができる。
なお、本実施形態では、動きベクトル決定部15と予測画像補正部17とを有する動画像復号装置について説明したが、動きベクトル決定部15と予測画像補正部17のいずれかを有する構成でもよい。
また、本実施形態の1/4縮小デコード処理の手順は全てソフトウェアによって実行することができる。このため、1/4縮小デコード処理の手順を実行するプログラムをコンピュータ読み取り可能な記憶媒体を通じて通常のコンピュータにインストールして実行するだけで、本実施形態と同様の効果を容易に実現することが出来る。
また本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
11…ストリームバッファ、12…VLCデコード部、13…IQUANT(逆量子化)部、14…4×4IDCT(4×4離散コサイン変換)部、15…動きベクトル決定部、16…1/4画像動き補償部、17…予測画像補正部、18…フレームメモリ、19…信号加算部。
Claims (10)
- 第1の解像度をもつ動画像符号化データを復号する動画像復号装置であって、
前記動画像符号化データをエントロピー復号して、前記動画像符号化データの符号化に用いたモード、量子化直交変換係数、および第1の動きベクトルを取得するエントロピー復号手段と、
前記量子化直交変換係数に対して逆量子化を行う逆量子化手段と、
前記逆量子化によって得られる直交変換係数に対して、符号化時のブロックサイズである第1のブロックのうち、低域の周波数成分を示す係数からなる前記第1のブロックよりも小さい第2のブロックを用いて逆直交変換を行い、前記第1の解像度よりも低い第2の解像度の残差信号を生成する逆直交変換手段と、
前記第2の解像度の残差信号と第2の解像度の動き補償予測信号を加算して第2の解像度の復号画像を生成する加算手段と、
前記復号画像を参照画像として格納するフレームメモリと、
前記第1の動きベクトルの水平成分および垂直成分から前記第1の解像度と前記第2の解像度の比に基づいて縮小した第2の動きベクトルの水平成分および垂直成分をそれぞれ算出すると共に、前記動画像符号化データのシンタックスがフレーム構造で、且つ動き補償予測がフレーム予測方式である場合に、前記第1の動きベクトルの垂直成分が指示する領域の先頭ラインが属するフィールドと前記第2の動きベクトルの垂直成分が指示する領域の先頭ラインが属するフィールドとが同相のフィールドとなるように前記第2の動きベクトルの垂直成分を修正することによって、動き補償予測に使用する動きベクトルを決定する動きベクトル決定手段と、
前記フレームメモリに格納された参照画像に対して、前記決定された動きベクトルを用いて動き補償を行い、前記動き補償予測信号を生成する動き補償手段とを具備することを特徴とする動画像復号装置。 - 前記動きベクトル決定部は、前記第1の動きベクトルが半画素単位で領域を指示できる場合に、前記前記第2の動きベクトルの垂直方向成分に含まれる半画素を示す値を切り上げ、もしくは切り捨てする操作により、前記第2の動きベクトルの垂直方向成分を整数画素単位に修正することを特徴とする請求項1記載の動画像復号装置。
- 前記動きベクトル決定部は、前記第1の動きベクトルが半画素単位で領域を指示できる場合に、前記第2の動きベクトルの垂直方向成分の整数部を2進表記した第1ビット列と、当該第1ビット列の下位ビットに付加される、前記第2の動きベクトルの垂直方向成分に含まれる半画素単位の小数部を示す1ビットとから構成される第2ビット列の下位2ビットの値に基づいて、前記第2の動きベクトルの垂直成分を修正することを特徴とする請求項1記載の動画像復号装置。
- 前記動きベクトル決定部は、前記下位2ビットの値が“00”であればそのままの値を前記修正した第2の動きベクトルの垂直成分の値とし、下位2ビットの値が“01”であれば0.5を加えた値を前記修正した第2の動きベクトルの垂直成分の値とし、下位2ビットの値が“10”であれば1.0を加えた値を前記修正した第2の動きベクトルの垂直成分の値とし、下位2ビットの値が“11”であれば0.5を引いた値を前記修正した第2の動きベクトルの垂直成分の値とすることを特徴とする請求項3記載の動画像復号装置。
- 前記動画像符号化データのシンタックスがフレーム構造で、且つ動き補償予測モードがフィールド予測であり、DCT符号化モードがフレームDCTである場合に、前記動き補償手段で作成された前記動き補償予測信号をフィルタリングして前記動き補償予測信号における垂直方向の高周波成分を除くフィルタリング手段をさらに具備することを特徴とする請求項1記載の動画像復号装置。
- 前記逆直交変換手段は、符号化時のブロックが8×8のブロックサイズである場合に、前記8×8のブロックのうち、低域の周波数成分を示す係数からなる4×4のブロックを用いて逆直交変換を行うことを特徴とする請求項1記載の動画像復号装置。
- 第1の解像度をもつ動画像符号化データを復号する動画像復号方法であって、
前記動画像符号化データをエントロピー復号して、前記動画像符号化データの符号化に用いたモード、量子化直交変換係数、および第1の動きベクトルを取得するエントロピー復号ステップと、
前記量子化直交変換係数に対して逆量子化を行う逆量子化ステップと、
前記逆量子化によって得られる直交変換係数に対して、符号化時のブロックサイズである第1のブロックのうち、低域の周波数成分を示す係数からなる前記第1のブロックよりも小さい第2のブロックを用いて逆直交変換を行い、前記第1の解像度よりも低い第2の解像度の残差信号を生成する逆直交変換ステップと、
前記第2の解像度の残差信号と第2の解像度の動き補償予測信号を加算して第2の解像度の復号画像を生成する加算ステップと、
前記第1の動きベクトルの水平成分および垂直成分から前記第1の解像度と前記第2の解像度の比に基づいて縮小した第2の動きベクトルの水平成分および垂直成分をそれぞれ算出すると共に、前記動画像符号化データのシンタックスがフレーム構造で、且つ動き補償予測がフレーム予測方式である場合に、前記第1の動きベクトルの垂直成分が指示する領域の先頭ラインが属するフィールドと前記第2の動きベクトルの垂直成分が指示する領域の先頭ラインが属するフィールドとが同相のフィールドとなるように前記第2の動きベクトルの垂直成分を修正することによって、動き補償予測に使用する動きベクトルを決定する動きベクトル決定ステップと、
フレームメモリに格納された復号画像を参照画像として使用し、前記参照画に対して、前記決定された動きベクトルを用いて動き補償を行い、前記動き補償予測信号を生成する動き補償ステップとを具備することを特徴とする動画像復号方法。 - 前記動画像符号化データのシンタックスがフレーム構造で、且つ動き補償予測モードがフィールド予測であり、DCT符号化モードがフレームDCTである場合に、前記動き補償ステップで作成された前記動き補償予測信号をフィルタリングして前記動き補償予測信号における垂直方向の高周波成分を除くステップをさらに具備することを特徴とする請求項7記載の動画像復号方法。
- 第1の解像度をもつ動画像符号化データを復号する処理をコンピュータに実行させるプログラムであって、
前記動画像符号化データをエントロピー復号して、前記動画像符号化データの符号化に用いたモード、量子化直交変換係数、および第1の動きベクトルを取得する手順と、
前記量子化直交変換係数に対して逆量子化を行う手順と、
前記逆量子化によって得られる直交変換係数に対して、符号化時のブロックサイズである第1のブロックのうち、低域の周波数成分を示す係数からなる前記第1のブロックよりも小さい第2のブロックを用いて逆直交変換を行い、前記第1の解像度よりも低い第2の解像度の残差信号を生成する手順と、
前記第2の解像度の残差信号と第2の解像度の動き補償予測信号を加算して第2の解像度の復号画像を生成する手順と、
前記第1の動きベクトルの水平成分および垂直成分から前記第1の解像度と前記第2の解像度の比に基づいて縮小した第2の動きベクトルの水平成分および垂直成分をそれぞれ算出すると共に、前記動画像符号化データのシンタックスがフレーム構造で、且つ動き補償予測がフレーム予測方式である場合に、前記第1の動きベクトルの垂直成分が指示する領域の先頭ラインが属するフィールドと前記第2の動きベクトルの垂直成分が指示する領域の先頭ラインが属するフィールドとが同相のフィールドとなるように前記第2の動きベクトルの垂直成分を修正することによって、動き補償予測に使用する動きベクトルを決定する手順と、
フレームメモリに格納された復号画像を参照画像として使用し、前記参照画像に対して、前記決定された動きベクトルを用いて動き補償を行い、前記動き補償予測信号を生成する手順とをコンピュータに実行させることを特徴とするプログラム。 - 前記動画像符号化データのシンタックスがフレーム構造で、且つ動き補償予測モードがフィールド予測であり、DCT符号化モードがフレームDCTである場合に、前記動き補償ステップで作成された前記動き補償予測信号をフィルタリングして前記動き補償予測信号における垂直方向の高周波成分を除く手順を前記コンピュータにさらに実行させることを特徴とする請求項9記載のプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008169086A JP2010011185A (ja) | 2008-06-27 | 2008-06-27 | 動画像復号装置及び動画像復号方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008169086A JP2010011185A (ja) | 2008-06-27 | 2008-06-27 | 動画像復号装置及び動画像復号方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010011185A true JP2010011185A (ja) | 2010-01-14 |
Family
ID=41591117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008169086A Withdrawn JP2010011185A (ja) | 2008-06-27 | 2008-06-27 | 動画像復号装置及び動画像復号方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010011185A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011090162A1 (ja) | 2010-01-21 | 2011-07-28 | 株式会社エヌ・ティ・ティ・ドコモ | 移動通信システム、ネットワーク装置及び移動通信方法 |
-
2008
- 2008-06-27 JP JP2008169086A patent/JP2010011185A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011090162A1 (ja) | 2010-01-21 | 2011-07-28 | 株式会社エヌ・ティ・ティ・ドコモ | 移動通信システム、ネットワーク装置及び移動通信方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5090158B2 (ja) | 映像情報記録装置、映像情報記録方法、映像情報記録プログラム、及び映像情報記録プログラムを記録した記録媒体 | |
JP4534935B2 (ja) | トランスコーダ、記録装置及びトランスコード方法 | |
JP2011130410A (ja) | 符号化方法、復号化方法及び装置 | |
KR20060109290A (ko) | 화상 복호 장치 및 화상 복호 방법과 화상 복호 프로그램 | |
JP6704932B2 (ja) | ビデオコーディングシステムにおける残差変換及び逆変換方法 | |
KR101147744B1 (ko) | 비디오 트랜스 코딩 방법 및 장치와 이를 이용한 pvr | |
JP2012034213A (ja) | 画像処理装置、画像処理システムおよび画像処理方法 | |
JP2006279573A (ja) | 符号化装置と方法、ならびに復号装置と方法 | |
JP2007124564A (ja) | 画像符号化装置、方法、及びプログラム | |
US20100020883A1 (en) | Transcoder, transcoding method, decoder, and decoding method | |
JP2009290463A (ja) | 符号化装置/復号化装置、符号化方法/復号化方法及びプログラム | |
US20070133689A1 (en) | Low-cost motion estimation apparatus and method thereof | |
JP4643437B2 (ja) | 情報処理装置 | |
JP2006340183A (ja) | 画像符号化装置及び画像符号化方法 | |
JP5447239B2 (ja) | 動画像符号化装置及び動画像符号化方法 | |
JP4357560B2 (ja) | 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム | |
US20130083858A1 (en) | Video image delivery system, video image transmission device, video image delivery method, and video image delivery program | |
JP2016158282A (ja) | 動画像予測復号方法及び動画像予測復号装置 | |
JP5972687B2 (ja) | 動画像予測符号化装置、動画像予測符号化方法、動画像予測符号化プログラム、動画像予測復号装置、動画像予測復号方法及び動画像予測復号プログラム | |
JP2010010917A (ja) | 動画像符号化装置、動画像復号装置、動画像符号化方法、及び動画像復号方法 | |
JP2010011185A (ja) | 動画像復号装置及び動画像復号方法 | |
JP2006025033A (ja) | 画像処理装置および画像処理方法 | |
WO2013125171A1 (ja) | イントラ予測モード判定装置、方法、プログラム記憶媒体 | |
JP5240230B2 (ja) | トランスコーダ、記録装置及びトランスコード方法 | |
JP6646125B2 (ja) | 動画像予測復号方法及び動画像予測復号装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20110906 |