JP4502203B2 - 画像符号化装置、及び画像復号化装置 - Google Patents

画像符号化装置、及び画像復号化装置 Download PDF

Info

Publication number
JP4502203B2
JP4502203B2 JP2005077922A JP2005077922A JP4502203B2 JP 4502203 B2 JP4502203 B2 JP 4502203B2 JP 2005077922 A JP2005077922 A JP 2005077922A JP 2005077922 A JP2005077922 A JP 2005077922A JP 4502203 B2 JP4502203 B2 JP 4502203B2
Authority
JP
Japan
Prior art keywords
coefficient
memory
block
motion vector
prediction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2005077922A
Other languages
English (en)
Other versions
JP2006262188A (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.)
Renesas Electronics Corp
NEC AccessTechnica Ltd
Original Assignee
Renesas Electronics Corp
NEC AccessTechnica Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Electronics Corp, NEC AccessTechnica Ltd filed Critical Renesas Electronics Corp
Priority to JP2005077922A priority Critical patent/JP4502203B2/ja
Priority to US11/376,197 priority patent/US7876830B2/en
Publication of JP2006262188A publication Critical patent/JP2006262188A/ja
Application granted granted Critical
Publication of JP4502203B2 publication Critical patent/JP4502203B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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/43Hardware specially adapted for motion estimation or compensation
    • H04N19/433Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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/423Methods 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 characterised by memory arrangements
    • H04N19/426Methods 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 characterised by memory arrangements using memory downsizing methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

本発明は、画像符号化器、及び画像復号器に関しており、特に、ベクトル予測(motion vector prediction)とDC/AC予測(DC/AC prediction)の両方を行う画像符号化方式に対応する画像符号化器、及び画像復号器に関する。
画像符号化には、大きく分けて、フレーム間予測とフレーム内予測との2つの手法がある。フレーム間予測は、時間的に近接する2つのフレームの画像には、多くの場合強い相関関係があることを利用した画像符号化である。動画像に急激な変化がない限り、動画像の多くの部分は、対象フレームとそれに時間的に近接するフレームとでほぼ同じである。従って、フレーム間の画像の変化を表すデータを符号化することにより、効率的な画像符号化を行うことができる。動き検出(motion estimation)は、フレーム間予測による画像符号化の典型例である。動き検出では、対象フレームの画像(入力画像)と参照画像との変化を表す動きベクトル(motion vector)が生成され、その動きベクトルが符号化される。
一方、フレーム内予測とは、一のフレーム内における隣接する又は近傍の画素の階調は、互いに強い相関を有していることを利用した画像符号化である。DCT(discrete cosine translation)は、フレーム内予測による画像符号化の典型例である。
多くの画像符号化技術は、フレーム間予測とフレーム内予測とを併用している。例えば、MPEG4 SP(Moving Picture Experts Group 4 Simple Profile)に準拠した動画像データは、フレーム内予測のみを用いて生成されるI−VOP(Video Object Plane)と、フレーム間予測と順方向フレーム内予測とを用いて生成されるP−VOPとで動画像を表現する。また、MPEG4 ASP(Advanced Simple Profile)に準拠した動画データは、I−VOP、P−VOPに加え、双方向フレーム間予測とフレーム内予測とを用いて生成されるB−VOPと、S−VOP(スプライトVOP)とで動画像を表現する。MPEG4では、フレーム内予測による画像符号化はイントラモードと呼ばれ、フレーム間予測による画像符号化はインターモードと呼ばれることに留意されたい。
フレーム間予測において使用される画像符号化技術の一つが、ベクトル予測である。ベクトル予測とは、動き検出によって算出された動きベクトルを、更に差分符号化によって符号化することによって画像の圧縮を行う技術である。
一方、フレーム内予測において使用される画像符号化技術の一つが、DC/AC予測(DC/AC prediction)である。DC/AC予測とは、画像のDC成分及びAC成分を、差分符号化によって符号化することにより画像の圧縮を行う技術である。フレーム内予測において、DCTが使用される場合には、DCTによって算出されたDC係数およびAC係数が差分符号化によって符号化される。
上述のMPEG4は、ベクトル予測とDC/AC予測の両方を採用している。以下では、MPEG4に規定されたベクトル予測の手順とDC/AC予測の手順とが概略的に説明される。
MPEG4に規定されたベクトル予測、DC/AC予測では、一のフレーム画像が、図1に示されているフォーマットを有していることを基礎としている。MPEG4は、一のフレーム画像を16×16の画素から構成されるマクロブロック(MB)に分割し、更に、一のマクロブロックを2行2列のブロックに分割する。一のブロックは、8×8の画素から構成される。例えば、一のフレーム画像が、横720×縦480画素で構成される場合、一のフレーム画像は、30行45列のマクロブロックで構成される。この場合、一のフレーム画像は、60行90列のブロックで構成されると表現することもできる。以下において、一のフレーム画像の横方向に並ぶ1行のマクロブロックはマクロブロックラインと呼ばれることがあり、1行のブロックは、ブロックラインと呼ばれることがある。MPEG4に規定されたベクトル予測、DC/AC予測では、ブロック毎に処理が行われる。
図2A乃至図2Bは、MPEG4に規定されたベクトル予測の手順の概略図である。MPEG4によれば、ある対象マクロブロックのある対象ブロックのベクトル予測は、3つの参照ブロックの動きベクトルを参照して行われる;図2A乃至図2Bでは、対象ブロックが記号「MV」、参照ブロックが記号「MV1」、「MV2」、「MV3」によって参照されている。ベクトル予測では、3つの参照ブロックについて算出された動きベクトルの中央値が求められ、その中央値と対象ブロックの動きベクトルの差分が、最終的に差分動きベクトルとして算出される。
差分動きベクトルには、いずれの参照ブロックから当該差分動きベクトルが生成されたかを示す制御データ(即ち、差分動きベクトルの生成に使用された中央値が、いずれの参照ブロックの動きベクトルであるかを示す制御データ)が添付される。この制御データは、差分動きベクトルから元の動きベクトルを復元する、即ち、ベクトル逆予測を行うために使用される。ベクトル逆予測は、制御データに示されている参照ブロックの動きベクトルに差分動きベクトルを加算することによって行われる。
参照ブロックと対象ブロックとの相対位置は、対象ブロックの対象マクロブロック内の位置に応じて異なる。図2Aに示されているように、対象ブロックMVが対象マクロブロックの左上に位置する場合、対象ブロックMVの左に隣接するブロックMV1、上に隣接するブロックMV2、及び、ブロックMV2から2ブロックだけ右に位置するブロックMV3が参照ブロックとして使用される。図2Bに示されているように、対象ブロックMVが、マクロブロックの右上に位置する場合、対象ブロックMVの左に隣接するブロックMV1、上に隣接するブロックMV2、及び、ブロックMV2の右に隣接するブロックMV3が、参照ブロックとして使用される。図2Cに示されているように、対象ブロックMVが、マクロブロックの左下に位置する場合、対象ブロックMVの左に隣接するブロックMV1、上に隣接するブロックMV2、及び、ブロックMV2の右に隣接するブロックMV3が、参照ブロックとして使用される。更に、図2Dに示されているように、対象ブロックMVが、マクロブロックの右下に位置する場合、対象ブロックMVの左に隣接するブロックMV1、ブロックMV1の上に隣接するブロックMV2、及び、対象ブロックMVの上に隣接するブロックMV3が、参照ブロックとして使用される。
ただし、動きベクトルが算出されていないブロックが参照ブロックとして選択された場合には、その参照ブロックは存在しないものとして対象ブロックMVに対するベクトル予測が行われる。例えば、図2Aを参照して、参照ブロックMV1に対して動きベクトルが算出されていない場合には、対象ブロックMVの差分動きベクトルは、参照ブロックMV2、MV3の動きベクトルから算出される。このような状況は、対象マクロブロックに隣接するマクロブロックが、インターモードで符号化されている場合や、対象マクロブロックが画像の端に位置している場合に起こり得る。
図2A乃至図2Dから理解されるように、ある対象マクロブロックの4つのブロックについてベクトル予測を行うためには、対象マクロブロックの4つのブロックの動きベクトルに加え、図2Eに図示された位置にある対象マクロブロックの周囲の5つのブロック(即ち、対象マクロブロックの左隣の2つのブロックと、対象マクロブロックの上に隣接するブロックラインの3つのブロック)の動きベクトルが必要である。ベクトル予測を行うためには、これらのブロックの動きベクトルを一時的にワークエリアに保存しておく必要がある。
一方、ある対象マクロブロックについてベクトル逆予測を行うためには、その対象マクロブロックに含まれる各対象ブロックに対応する参照ブロックについて復元された動きベクトルをワークエリアに保存する必要がある。参照ブロックは上記の5つのブロックから選択され得るから、対象マクロブロックに対するベクトル逆予測を行うためには、当該5つのブロックについて復元された動きベクトルを一時的にワークエリアに保存しておく必要がある。
一方、図3A乃至図3Dは、MPEG4に規定されたDC/AC予測の手順の概略図である。MPEG4によれば、ある対象マクロブロックのある対象ブロックのDC/AC予測は、3つの参照ブロックのDC係数及びAC係数を参照して行われる。ベクトル予測とは異なり、DC/AC予測における3つの参照ブロックと対象ブロックとの相対位置は、対象ブロックのマクロブロック内の位置に無関係である。図3A〜3Dに示されているように、対象ブロックXが対象マクロブロックのいずれの位置にあるかに無関係に、ある対象ブロックXのDC/AC予測では、対象ブロックXの左隣のブロックA、ブロックAの上隣のブロックB、及び対象ブロックXの上隣のブロックCが参照ブロックとして使用される。参照ブロックA、B、Cについて算出されたDC係数に基づいて、DC係数予測値及びAC係数予測値の算出に使用されるブロックが参照ブロックA、Cのいずれかから選択される。選択されたブロックのDC係数及びAC係数と、対象ブロックXのDC係数及びAC係数との差分が、DC係数予測値及びAC係数予測値として算出される。
ただし、DC係数及びAC係数が算出されていないブロックが参照ブロックとして選択された場合には、その参照ブロックは存在しないものとして対象ブロックXに対するDC/AC予測が行われる。例えば、図3Aを参照して、参照ブロックBに対してDC係数及びAC係数が算出されていない場合には、対象ブロックMVのDC係数予測値及びAC係数予測値は、参照ブロックMV1、MV3のDC係数及びAC係数から算出される。このような状況は、対象マクロブロックに隣接するマクロブロックが、イントラモードで符号化されている場合や、対象マクロブロックが画像の端に位置している場合に起こり得る。
算出されたDC係数予測値及びAC係数予測値には、いずれの参照ブロックから当該DC係数予測値及びAC係数予測値が生成されたかを示す制御データが添付される。この制御データは、DC係数予測値及びAC係数予測値から元の動きDC係数及びAC係数を復元する、即ち、DC/AC逆予測を行うために使用される。DC/AC逆予測は、制御データに示されている参照ブロックのDC係数及びAC係数にDC係数予測値及びAC係数予測値を加算することによって行われる。
図3A乃至図3Dから理解されるように、ある対象マクロブロックの4つのブロックについてDC/AC予測を行うためには、対象マクロブロックの4つのブロックのDC係数及びAC係数の組に加え、図3Eに図示された位置にある対象マクロブロックの周囲の5つのブロック(即ち、対象マクロブロックの左隣の2つのブロックと、対象マクロブロックの上に隣接するブロックラインの3つのブロック)のDC係数及びAC係数の組が必要である。ベクトル予測を行うためには、これらのブロックのDC係数及びAC係数を一時的にワークエリアに保存しておく必要がある。
一方、ある対象マクロブロックについてDC/AC逆予測を行うためには、その対象マクロブロックに含まれる各対象ブロックに対応する参照ブロックについて復元されたDC/AC係数をワークエリアに保存する必要がある。参照ブロックは上記の5つのブロックから選択され得るから、対象マクロブロックに対するDC/AC逆予測を行うためには、当該5つのブロックについて復元されたDC係数及びAC係数一時的にワークエリアに保存しておく必要がある。
動画像の符号化及び復号化を小さいハードウエアで実現する、とりわけ、符号化処理及び復号化処理のワークエリアとして使用されるメモリの容量を抑制することは、画像符号化装置、及び画像復号化装置において最も重要な要求の一つである。MPEG4を初めとする多くの動画符号化規格では、動画像の符号化及び復号化を行うためのハードウエアの実装形態については何ら規定されていないから、効率的なハードウエアの実装形態を開発することは、画像符号化装置、及び画像復号化装置のメーカにとって重要である。
例えば、特開2004−274411号公報(特許文献1)は、ベクトル予測のワークエリアとして使用される動きベクトルメモリの容量を、1マクロブロックライン分の動きベクトルを保存可能な容量にまで減少させるための技術を開示している。この技術では、必要に応じて動きベクトルメモリの内部で動きベクトルをコピーすることにより、動きベクトルメモリの容量を減少させている。
一方、特開2002−118853号公報(特許文献2)は、DC/AC予測の参照値を保存するメモリ領域の容量を、1マクロブロックライン分のDC/AC予測処理に必要な容量まで減少させるための画像復号装置を開示している。この技術では、復元されたDC成分とAC成分とをライン部に複写することにより、メモリ領域の容量を小さくしている。
特開2004−274411号公報 特開2002−118853号公報
しかしながら、従来技術には、ベクトル予測とDC/AC予測とを行うために必要なメモリ領域のトータルの容量が充分に小さくないという課題がある。更に、従来技術には、ベクトル逆予測とDC/AC逆予測とを行うために必要なメモリ領域のトータルの容量が充分に小さくないという課題がある。上記の2つの従来技術を併用しても、ベクトル予測とDC/AC予測とを行うために必要なメモリ領域の容量は、2マクロブロックライン分の予測処理に必要な容量までにしか減少されない。ベクトル逆予測及びDC/AC逆予測についても同様である。
上記の課題を解決するために、本発明は、DC/AC予測とベクトル予測とが排他的に行われることを利用する。具体的には、本発明に係る画像符号化装置は、一のメモリをDC/AC予測とベクトル予測のワークエリアとして兼用し、これによって、これらの処理の実行に必要なメモリ領域を削減する。同様に、本発明に係る画像復号化装置は、一のメモリをDC/AC逆予測とベクトル逆予測のワークエリアとして兼用し、これによって、これらの処理の実行に必要なメモリ領域を削減する。
具体的には、本発明は、以下に述べられる手段を採用する。その手段を構成する技術的事項の記述には、[特許請求の範囲]の記載と[発明を実施するための最良の形態]の記載との対応関係を明らかにするために、[発明を実施するための最良の形態]で使用される番号・符号が付加されている。但し、付加された番号・符号は、[特許請求の範囲]に記載されている発明の技術的範囲を限定的に解釈するために用いてはならない。
本発明の一の観点において、本発明に係る画像符号化装置(10)は、DC係数及びAC係数を受け取ってDC係数予測値及びAC係数予測値を算出するDC/AC予測器(4)と、動きベクトルを受け取って差分動きベクトルを算出する動きベクトル予測器(13)と、DC/AC予測器(4)と動きベクトル予測器(13)との両方からアクセス可能なメモリ(14)とを備えている。
好適な実施形態では、DC/AC予測器(4)は、前記DC係数及びAC係数を前記メモリに保存し、且つ、前記メモリに保存された前記DC係数及びAC係数を用いて前記DC係数予測値及びAC係数予測値を算出するように構成される。一方、動きベクトル予測器(13)は、前記動きベクトルをメモリ(14)に保存し、且つ、前記メモリ(14)に保存された前記動きベクトルを用いて前記差分動きベクトルを算出するように構成される。
他の観点において、本発明に係る画像復号化装置(40)は、DC係数予測値及びAC係数予測値を受け取って、前記DC係数予測値及び前記AC係数予測値からDC係数及びAC係数を復元するDC/AC逆予測器(42)と、差分動きベクトルを受け取って、前記差分動きベクトルから動きベクトルを復元する動きベクトル逆予測器(46)と、DC/AC逆予測器(42)と動きベクトル逆予測器(46)との両方からアクセス可能なメモリ(49)とを具備する。
好適な実施形態では、DC/AC逆予測器(42)は、第1DC係数予測値及び第1AC係数予測値から第1DC係数及び第1AC係数を復元してメモリ(49)に格納し、且つ、メモリ(49)に格納された第1DC係数及び第1AC係数を用いて、第2DC係数予測値及び前記第2AC係数予測値から前記第2DC係数及び前記第2AC係数を復元するように構成される。一方、動きベクトル逆予測器(46)は、前記第1差分動きベクトルから前記第1動きベクトルを復元して前記メモリ(49)に格納し、且つ、メモリ(49)に格納された前記第1動きベクトルを用いて前記第2差分動きベクトルから前記第2動きベクトルを復元するように構成される。
本発明によれば、ベクトル予測とDC/AC予測とを行うために必要なメモリ領域のトータルの容量を小さくすることができる。
以下、添付図面を参照しながら、本発明による画像符号化装置及び画像復号化装置の好適な実施形態が詳細に説明される。
第1 処理対象の画像のフォーマット
図4、図5は、本実施の形態に係る画像符号化装置及び画像復号化装置によって処理される動画像のフォーマットを示している。本実施の形態に係る画像符号化装置及び画像復号化装置は、MPEG4 SPに準拠した動画像のフォーマットに対応している。図4に示されているように、MPEG4 SPに準拠した動画像は、一連のVOPで構成されている。
各VOPは、図5に示されているように、M行N列のマクロブロックに分割され、各マクロブロックは、更に、2行2列のブロックに分割される;これは、処理される画像が、2M行2N列のブロックに分割されていることを意味している。既述のように、各マクロブロックは、16×16画素で構成され、各ブロックは、8×8画素で構成されている。
以下、本明細書において、第i番目の行、第j番目の列に位置するマクロブロックは、マクロブロックMB(i,j)と記述される。更に、第p番目の行、第q番目のブロックは、ブロックB(p,q)と記述される。このような記述法によると、マクロブロックMB(i,j)は、4つのブロックB(2i−1,2j−1),B(2i−1,2j),B(2i,2j−1),B(2i,2j)で構成されることになる。
図4を再度に参照して、MPEG4 SPに準拠した動画像のVOPには、I−VOPとP−VOPの2種類がある。I−VOPは、イントラモードのみを使用して(即ち、フレーム内予測のみを使用して)符号化されるVOPであり、P−VOPは、イントラモードとインターモードの両方を使用して(即ち、フレーム内予測と順方向フレーム間予測との両方を使用して)符号化されるVOPである。P−VOPの各マクロブロックは、イントラモードと、インターモードとのうちのいずれかの圧縮モードによって圧縮される。後述されるように、イントラモードに設定されたマクロブロックは、DCTと、量子化と、DA/AC予測と、可変長符号化とを用いて符号化される。一方、イントラモードに設定されたマクロブロックは、動き補償と、動きベクトル予測と、可変長符号化とを用いて符号化される。
第2 画像符号化装置
1.画像符号化装置の全体構成と動作の概略
図6は、本実施の形態に係る画像符号化装置10の構成を示すブロック図である。当該画像符号化装置は、MPEG4 SPに準拠した動画像の符号化に対応した構成を有している。具体的には、当該画像符号化装置10は、減算器1と、DCT演算器2と、量子化器3と、DC/AC予測器4と、可変長符号器5と、逆量子化器6と、逆DCT演算器7と、加算器8と、ビデオメモリ9と、動き検出ブロック11と、動き補償ブロック12と、動きベクトル予測器13とを備えている。
減算器1は、符号化の対象であるマクロブロックの圧縮モードに応じて、外部から入力される入力画像の画像データと、動き補償ブロック12から出力される予測画像データとの差分を算出し、或いは外部入力画像素データをそのまま出力する機能を有している;符号化の対象であるマクロブロックは、以下、対象マクロブロックといい、外部から入力される入力画像の画像データは、以下、外部入力画像データという。対象マクロブロックがイントラモードで符号化されるマクロブロックである場合、減算器1は、外部入力画像データをそのままDCT演算器2に出力する。一方、対象マクロブロックがインターモードで符号化されるマクロブロックである場合、減算器1は、外部入力画像データと予測画像データとの差分をDCT演算器2に出力する。
DCT演算器2は、減算器1から供給される画像データに対して離散コサイン変換(DCT)を施してDC係数及びAC係数を算出し、量子化器3に出力する。
量子化器3は、DC係数及びAC係数を量子化する。量子化されたDC係数及びAC係数は、DC/AC予測器4及び逆量子化器6に送られる。
DC/AC予測器4は、量子化器3から送られてくる量子化されたDC係数及びAC係数についてMPEG4に規定されたDC/AC予測を行い、DC係数予測値及びAC係数予測値を算出する。DC/AC予測器4は、テンポラリメモリ21を備えており、そのテンポラリメモリ21を用いてDC/AC予測を行う。DC/AC予測によって算出されたDC係数予測値及びAC係数予測値は、可変長符号器5に送られる。画像符号化装置10には、更に、DC/AC予測器4をバイパスするデータスルーパス4aが設けられている。このデータスルーパス4aは、DC/AC予測が行われないとき(即ち、インターモードで対象マクロブロックを符号化するとき)に使用される。
逆量子化器6、逆DCT演算器7、加算器8、ビデオメモリ9、動き検出ブロック11、及び動き補償ブロック12は、動き補償を行うための回路群である。逆量子化器6は、量子化器3から送られてくる量子化されたDC係数及びAC係数に対して逆量子化を行う。逆DCT演算器7は、逆量子化されたDC係数及びAC係数に対して逆離散コサイン変換を行い、画像データを再生する。加算器8は、動き補償ブロック12から出力される画像データと、逆DCT演算器7から出力される画像データとを加算して、動き補償の際に参照される参照画像の画像データを再生する。ビデオメモリ9は、加算器8から出力される参照画像の画像データを保存する。動き検出ブロック11は、外部から入力される外部入力画像データとビデオメモリ9に保存されている参照画像の画像データとを使用して参照画像から入力画像への動き検出を行い、動きベクトルを算出する。動き検出ブロック11によって算出された動きベクトルは、動き補償ブロック12と動きベクトル予測器13に送られる。動き補償ブロック12は、動き検出ブロック11によって算出された動きベクトルを使用してビデオメモリ9に保存されている参照画像について動き補償(motion compensation)を行い、予測画像データが生成される。予測画像データは、減算器1と加算器8に供給される。
動きベクトル予測器13は、動き検出ブロック11によって算出された動きベクトルについてベクトル予測を行い、差分動きベクトルを算出する。動きベクトル予測器13は、テンポラリメモリ24を備えており、そのテンポラリメモリ24を用いてベクトル予測を行う。ベクトル予測によって算出された差分動きベクトルは、可変長符号器5に送られる。
可変長符号器5は、DC/AC予測器4から送られるDC係数予測値及びAC係数予測値、並びに、動きベクトル予測器13から送られる差分動きベクトルについて可変長符号化を行い、符号化データを最終的に生成する。
画像符号化装置10は、更に、DC/AC予測器4と動きベクトル予測器13の両方からアクセス可能な共用メモリ14を備えている。共用メモリ14は、符号化の対象である対象マクロブロックの上に隣接するブロックについて算出されたDC係数、AC係数や、動きベクトルを保存するために使用されるワークエリアである;DC/AC予測器4と動きベクトル予測器13は、この共用メモリ14をワークエリアとして共有している。図2E、及び図3Eに図示されているように、DC/AC予測及びベクトル予測には、対象マクロブロックの上に隣接するブロックのDC係数、AC係数や、動きベクトルが使用されることに留意されたい。より具体的には、DC/AC予測器4と動きベクトル予測器13は、選択器15を介して共用メモリ14に接続されている。選択器15は、制御信号Cに応じてDC/AC予測器4と動きベクトル予測器13の一方を選択し、選択された一方の予測器が共用メモリ14に接続される。後述されるように、DC/AC予測器4と動きベクトル予測器13とが共用メモリ14をワークメモリとして共有していることが、メモリ領域の容量をなるべく小さくするために重要である。
このような構成の画像符号化装置10は、対象マクロブロックの圧縮モードに応じて異なる動作を行う。対象マクロブロックがイントラモードで符号化される場合、対象マクロブロックは、DCTと、量子化と、DA/AC予測と、可変長符号化とを用いて符号化される。詳細には、減算器1は、動き補償ブロック12の出力を無視し、注目マクロブロックの外部入力画像データをそのままDCT演算器2に出力する。その外部入力画像データについて、DCT演算器2によって離散コサイン変換が行われ、量子化器3によって量子化が行われ、DC/AC予測器4によってDC/AC予測が行われ、更に、可変長符号器5によって可変長符号化される。可変長符号器5の出力が、目的とする符号化データである。
一方、対象マクロブロックがインターモードで符号化される場合、対象マクロブロックは、動き検出と、ベクトル予測と、可変長符号化とを用いて符号化される。より具体的には、減算器1の出力について、DCT演算器2と、量子化器3とによってDCT及び量子化が行われ、量子化された画像データが、データスルーパス4aを介して可変長符号器5に送られる。更に、量子化器3から出力される画像データから、逆量子化器6と、逆DCT演算器7と、加算器8と、動き補償ブロック12とによって参照画像の画像データが生成され、生成された画像データがビデオメモリ9に格納される。更に、ビデオメモリ9に格納された参照画像の画像データと外部入力画像データとから、動き検出ブロック11によって動きベクトルが算出される。算出された動きベクトルに対して、動きベクトル予測器13によってベクトル予測が行われて差分動きベクトルが算出される。量子化器3から出力される画像データと、差分動きベクトルとが、更に、可変長符号器5によって可変長符号化される。可変長符号器5の出力が、目的とする符号化データである。
本実施の形態に係る画像符号化装置10の最も重要な特徴は、当該画像符号化装置10は、DC/AC予測器4と動きベクトル予測器13との両方からアクセス可能な共用メモリ14を備えていることである。共用メモリ14がDC/AC予測器4と動きベクトル予測器13との両方からアクセス可能であることにより、DC/AC予測器4及び動きベクトル予測器13が、DC/AC予測及びベクトル予測を行うために使用するトータルのメモリ領域の容量、(即ち、共用メモリ14と、DC/AC予測器4に搭載されるテンポラリメモリ21と、動きベクトル予測器13のテンポラリメモリ24の容量の和)を小さくすることができる。
詳細には、本実施の形態に係る画像符号化装置10は、対象マクロブロックの上に隣接するブロックラインのデータを共用メモリ14に格納し、対象マクロブロックのデータ、及び、対象マクロブロックの左に隣接する2つのブロックのデータをDC/AC予測器4と動きベクトル予測器13のテンポラリメモリ21、24に保存するアーキテクチャを採用している。本実施の形態に係る画像符号化装置10は、かかるアーキテクチャの採用とともに、共用メモリ14とテンポラリメモリ21、24の間のデータ転送を最適化することにより、DC/AC予測及びベクトル予測を行うために使用するトータルのメモリ領域の容量を小さくしている。
2. 共用メモリ及びテンポラリメモリの構成と、それを用いたDC/AC予測処理及びベクトル予測処理
(1)共用メモリ、及びテンポラリメモリの構成
図7は、DC/AC予測器4と動きベクトル予測器13に共通に使用される共用メモリ14のメモリマップを示している。既述のとおり、共用メモリ14は、一ブロックライン分のDC係数及びAC係数、並びに動きベクトルを格納可能であるように構成されている。
より具体的には、共用メモリ14は、マクロブロックにそれぞれに対応付けられたN個のメモリエリア31〜31を備えている;メモリエリア31〜31の数が、一マクロブロックラインに含まれるマクロブロックの数と同一であることに留意されたい。各メモリエリア31は、第j列に位置する、あるマクロブロックに対応している。
メモリエリア31〜31のそれぞれは、2つのメモリブロック32と、一つのフラグ領域33とを備えている。メモリエリア31に含まれる2つのメモリブロック32は、以下、メモリブロック322j−1、322jと記載され、メモリエリア31に含まれるフラグ領域33は、フラグ領域33と記載される。言い換えれば、共用メモリ14は、メモリブロック32〜322Nと、フラグ領域33〜33とを備えている。
メモリブロック32〜322Nは、ブロックにそれぞれに対応付けられており、対応するブロックについて算出された(量子化後の)DC係数及びAC係数、又は、動きベクトルを格納するために使用される。メモリブロック32の数が、一ブロックラインに含まれるブロックの数2Nと同一であることに留意されたい。
より具体的には、あるメモリエリア31がイントラモードで符号化されるマクロブロックに対応付けられている場合、そのメモリエリア31に含まれる2つのメモリブロック322j−1、322jには、メモリブロック322j−1、322jがそれぞれに対応するブロックのDC係数及びAC係数が格納される。図7の例では、メモリブロック32、32に、対応するブロックのDC係数(DC[11:0])及びAC係数(AC[11:0]〜AC[11:0])が格納されている。DC係数、AC係数は、いずれも12ビットのデータである。
一方、あるメモリエリア31がインターモードで符号化されるマクロブロックに対応付けられている場合、そのメモリエリア31に含まれる2つのメモリブロック322j−1、322jには、メモリブロック322j−1、322jがそれぞれに対応するブロックの動きベクトルが格納される;図7の例では、メモリブロック32、32に、対応するブロックの動きベクトルMV[7:0]、MV[7:0]が格納されている;MV[7:0]は、x方向の動きベクトルであり、MV[7:0]は、y方向の動きベクトルである。動きベクトルMV[7:0]、MV[7:0]は、いずれも、8ビットのデータである。
各メモリブロック32は、対応するブロックのDC係数、及びAC係数を格納可能なだけの容量を有している。このような容量があれば、各メモリブロック32は、対応するブロックの動きベクトルを格納可能である。一のブロックについて算出される動きベクトルを格納するために必要な容量は、一のブロックについて算出されるDC係数、及びAC係数を格納するために必要な容量よりも小さい。
各メモリブロック32には、無効データが格納されることも許される。無効データとは、DC係数及びAC係数、動きベクトルのいずれでもないデータであり、DC/AC予測、ベクトル予測のいずれが行われる場合も無視されるデータである。例えば、最上列のマクロブロックラインについて、DC/AC予測及びベクトル予測が行われる場合、全てのメモリブロック32〜322Nに無効データが書き込まれる。
各フラグ領域33には、それが格納しているデータの種類を示すフラグが格納される。各フラグ領域33に格納されているフラグにより、各メモリブロック32に格納されているデータが、DC係数及びAC係数なのか、動きベクトルなのか、あるいは無効データなのかが判別可能である。
既述のように、DC/AC予測には、共用メモリ14に加えてDC/AC予測器4に内蔵されているテンポラリメモリ21が使用される。テンポラリメモリ21は、対象マクロブロックに含まれる4つのブロック、及び対象マクロブロックの左隣の2つのブロックのDC係数及びAC係数を格納するために使用される。図3Eから理解されるように、DC/AC予測には、対象マクロブロックの左隣の2つのブロックのDC係数及びAC係数が必要であることに留意されたい。
図8は、テンポラリメモリ21の具体的な構成を示すブロック図である。テンポラリメモリ21は、それぞれが一のブロックのDC係数及びAC係数を格納可能に構成された6つのメモリブロック:対象メモリブロック22〜22及び参照メモリブロック23、23を備えている。対象メモリブロック22、22、22、22は、それぞれ、対象マクロブロックの左上、右上、左下、右下に位置するブロックのDC係数及びAC係数を保存するためのワークエリアである。一方、参照メモリブロック23は、対象マクロブロックの左上のブロックの左隣に位置するブロックのDC係数及びAC係数を保存するためのワークエリアであり、参照メモリブロック23は、対象マクロブロックの左下に位置するブロックの左隣に位置するブロックのDC係数及びAC係数を保存するためのワークエリアである。
同様に、ベクトル予測には、共用メモリ14に加えて動きベクトル予測器13に内蔵されているテンポラリメモリ24が使用される。テンポラリメモリ24は、対象マクロブロックに含まれる4つのブロック、及び対象マクロブロックの左隣の2つのブロックの動きベクトルを格納するために使用される。図2Eから理解されるように、ベクトル予測には、対象マクロブロックの左隣の2つのブロックの動きベクトルが必要であることに留意されたい。
図9は、テンポラリメモリ24の具体的な構成を示すブロック図である。テンポラリメモリ24は、それぞれが一のブロックの動きベクトルを格納可能に構成された6つのメモリブロック:対象メモリブロック25〜25及び参照メモリブロック26、26を備えている。対象メモリブロック25、25、25、25は、それぞれ、対象マクロブロックの左上、右上、左下、右下に位置するブロックの動きベクトルを保存するためのワークエリアである。一方、参照メモリブロック26は、対象マクロブロックの左上のブロックの左隣に位置するブロックの動きベクトルを保存するためのワークエリアであり、参照メモリブロック26は、対象マクロブロックの左下に位置するブロックの左隣に位置するブロックの動きベクトルを保存するためのワークエリアである。
このようなアーキテクチャでは、DC/AC予測及びベクトル予測においてワークエリアとして使用されるメモリの容量は、1ブロックラインと6ブロック分のDC係数及びAC係数を格納するのに必要な容量、6ブロック分の動きベクトルを格納するのに必要な容量、及び、フラグ領域の容量の和である。このアーキテクチャの有用性は、従来技術によってDC/AC予測及びベクトル予測を行うためには、2マクロブロックライン分のデータを格納するのに必要な容量が必要であったことと比較すれば明白である。
以下では、上記のアーキテクチャにより、DC/AC予測及びベクトル予測を実行できることを実証する。
(2) DC/AC予測及びベクトル予測の処理手順
図10A乃至図15Bは、第i行に位置するマクロブロックMB(i,1)〜MB(i,N)に対してDC/AC予測及びベクトル予測を行う好適な手順を示す概念図である。
図10A(及び図11A)に示されているように、第i行に位置するマクロブロックMB(i,1)〜(i,N)に対するDC/AC予測及びベクトル予測の開始前には、第i行に位置するマクロブロックMB(i,1)〜MB(i,N)の上に隣接するブロックラインに属するブロックB(2i−2,1)〜ブロックB(2i−1,2N)のデータ(即ち、DC係数及びAC係数、又は動きベクトル)が共用メモリ14に格納されている。詳細には、ブロックB(2i−1,1)〜(2i−1,2N)のデータは、それぞれ、共用メモリ14のメモリブロック32〜322Nに格納されている。ただし、最も上の行(第1行)に位置するマクロブロックMB(1,1)〜(1,N)に対するDC/AC予測及びベクトル予測の開始前には、共用メモリ14の全てのメモリブロック32は、無効データが書き込まれてリセットされる。これは、マクロブロックMB(1,1)〜(1,N)に対するDC/AC予測及びベクトル予測の際には、参照されるべきブロックがその上側に存在しないからである。このような前提が妥当であることは、以下に述べられるDC/AC予測及びベクトル予測の処理が回帰的であることから理解されるであろう。なお、以下において、あるメモリブロックに無効データを書き込んでリセットすることは、単にリセットする、と表記されることに留意されたい。
第i行に位置するマクロブロックMB(i,1)〜MB(i,N)の各ブロックのDC/AC予測及びベクトル予測は、左に位置するマクロブロックから順に行われる。DC/AC予測及びベクトル予測の手順は、いずれのマクロブロックでも概略的には同じであるが、DC/AC予測及びベクトル予測の際に行われるデータ転送が、マクロブロックの位置に応じて多少異なる。以下では、各マクロブロックについてのDC/AC予測及びベクトル予測の詳細を説明する。
(2−A)左端のマクロブロックMB(i,1)の処理
図10A、10B、図11A、図11Bは、左端のマクロブロックMB(i,1)の処理を示す概念図である。
図10A(及び図11A)に示されているように、第i行に位置するマクロブロックMB(i,1)のDC/AC予測及びベクトル予測は、DC/AC予測器4のテンポラリメモリ21の参照メモリブロック23、23をリセットし、動きベクトル予測器13のテンポラリメモリ24の参照メモリブロック26、26をリセットすることで開始される。これは、最も左に位置する対象マクロブロックMB(i,1)の左隣には、DC/AC予測、ベクトル予測の際に参照されるべきブロックが存在しないことに基づいている。図において、無効データが書き込まれたメモリブロックは、記号”X”によって示されている。
続いて、対象マクロブロックMB(i,1)の圧縮モードが判別され、共用メモリ14が、判別された圧縮モードに応じてDC/AC予測器4と動きベクトル予測器13のいずれかに接続される。
対象マクロブロックMB(i,1)の圧縮モードがイントラモードである場合には、図10Aに示されているように、対象マクロブロックMB(i,1)の4つのブロックB(2i−1,1)、B(2i−1,2),B(2i,1)、B(2i,2)のDC係数、及びAC係数が、それぞれ、DC/AC予測器4のテンポラリメモリ21の対象メモリブロック22〜22に格納される。一方、動きベクトル予測器13のテンポラリメモリ24の対象メモリブロック25〜25はリセットされる。
更に、共用メモリ14のメモリブロック32、32から対象マクロブロックMB(i,1)の上に隣接する2つのブロックB(2i−2,1)、B(2i−2,2)のデータが読み出され、読み出されたこれらのデータを参照しながらマクロブロックMB(i,1)の4つのブロックのそれぞれのDC係数予測値、AC係数予測値が算出される;DC/AC予測の際に参照されるブロックのデータを保存するメモリブロックは、図10Aにおいて、ハッチングによって示されていることに留意されたい。ただし、読み出されたデータがDC係数とAC係数の組でない場合(即ち、動きベクトル又は無効データである場合)、そのデータは無視される。算出されたDC係数予測値、AC係数予測値は、可変長符号器5に送られて符号化される。
本来、ある対象マクロブロックの4つのブロックのDC/AC予測には当該4つのブロックのDC係数及びAC係数の組以外に対象メモリブロックの周囲の5つのブロックのDC係数及びAC係数の組が必要であるが(図3E参照)、左端に位置するマクロブロックMB(i,1)についてのDC/AC予測では、5つのブロックのうちの2つのブロックのデータしか使用されない。これは、対象マクロブロックMB(i,1)が左端に位置するために、参照されるべきブロックが2つしかないからである。
DC係数予測値、AC係数予測値の算出の後、図10Bに示されているように、共用メモリ14及びテンポラリメモリ21の間でデータ転送が行われ、共用メモリ14及びテンポラリメモリ21の内容が更新される;データ転送先のメモリブロックはハッチングによって図示されていることに留意されたい。まず、対象マクロブロックMB(i,1)の左下のブロックB(2i,1)のDC係数及びAC係数が、テンポラリメモリ21の対象メモリブロック22から共用メモリ14のメモリブロック32に転送される。更に、対象マクロブロックMB(i,1)の右側2つのブロックB(2i−1,2)、B(2i,2)のDC係数及びAC係数が、テンポラリメモリ21の対象メモリブロック22、22から参照メモリブロック23、23に転送される。これにより、マクロブロックMB(i,1)のDC/AC予測処理が完了する。
マクロブロックMB(i,1)のDC/AC予測が完了した後では、動きベクトル予測器13のテンポラリメモリ24の参照メモリブロック26、26に無効データが保存されていることに留意されたい。動きベクトル予測器13は、引き続き行われるマクロブロックMB(i,2)の処理において、マクロブロックMB(i,1)がイントラモードで符号化されたことを参照メモリブロック26、26に無効データが保存されていることから認識することができる。
一方、対象マクロブロックMB(i,1)の圧縮モードがインターモードである場合には、図11Aに示されているように、対象マクロブロックMB(i,1)の4つのブロックB(2i−1,1)、B(2i−1,2),B(2i,1)、B(2i,2)の動きベクトルが、それぞれ、動きベクトル予測器13のテンポラリメモリ24の対象メモリブロック25〜25に格納される。一方、DC/AC予測器4のテンポラリメモリ21の対象メモリブロック22〜22はリセットされる。
更に、共用メモリ14のメモリブロック32、32、32から対象マクロブロックMB(i,1)の上に隣接する3つのブロックB(2i−2,1)、B(2i−2,2)、B(2i−2,3)のデータが読み出され、読み出されたこれらのデータを用いてマクロブロックMB(i,1)の4つのブロックのそれぞれの差分動きベクトルが算出される;ベクトル予測の際に参照されるブロックのデータを保存するメモリブロックは、図11Aにおいて、ハッチングによって示されていることに留意されたい。ただし、読み出されたデータが動きベクトルでない場合(即ち、DC係数とAC係数の組又は無効データである場合)、そのデータは無視される。算出された差分動きベクトルは、可変長符号器5に送られて符号化される。
本来、ある対象マクロブロックの4つのブロックのベクトル予測にはその4つのブロックの動きベクトル以外に対象メモリブロックの周囲の5つのブロックの動きベクトルが必要であるにもかかわらず、左端に位置するマクロブロックMB(i,1)についての動きベクトルでは、5つのブロックのうちの3つのブロックのデータしか使用されない。これは、対象マクロブロックMB(i,1)が左端に位置するために、参照されるべきブロックが3つしかないからである。
差分動きベクトルの算出の後、図11Bに示されているように、共用メモリ14とテンポラリメモリ24の間でデータ転送が行われ、その内容が更新される。まず、対象マクロブロックMB(i,1)の左下のブロックB(2i,1)の動きベクトルが、テンポラリメモリ24の対象メモリブロック25から共用メモリ14のメモリブロック32に転送される。更に、対象マクロブロックMB(i,1)の右側2つのブロックB(2i−1,2)、B(2i,2)のDC動きベクトルが、テンポラリメモリ24の対象メモリブロック25、25から参照メモリブロック26、26に転送される。これにより、マクロブロックMB(i,1)のベクトル予測処理が完了する。
マクロブロックMB(i,1)のベクトル予測が完了した後では、DC/AC予測器4のテンポラリメモリ21の参照メモリブロック23、23に無効データが保存されていることに留意されたい。DC/AC予測器4は、引き続き行われるマクロブロックMB(i,2)の処理において、マクロブロックMB(i,1)がインターモードで符号化されたことを参照メモリブロック23、23に無効データが保存されていることから認識することができる。
(2−B)中間のマクロブロックMB(i,2)〜MB(i,N−1)の処理
図12A、12B、図13A、図13Bは、中間のマクロブロックMB(i,j)(jは2以上、N−1以下の任意の自然数)の処理を示す概念図である。
図12A(及び図13A)に図示されているように、第i行の左からj番目に位置するマクロブロックMB(i,j)のDC/AC予測又はベクトル予測の開始時には、共用メモリ14のメモリブロック32〜322j−3にブロックB(2i,1)〜B(2i、2j−3)のデータ(即ち、次のマクロブロックラインの処理に使用されるデータ)が格納され、メモリブロック322j−2〜322Nには、ブロックB(2i−2,1)〜B(2i−2、2j−3)のデータが格納されている。このことがj=2について成立することは、図10B,図11Bから理解されるであろうし、また、2より大きくN−1以下であるjについても成立することは、以下に述べられる処理が回帰的であることから理解されるであろう。
更に、DC/AC予測器4のテンポラリメモリ21の参照メモリブロック23、23には、対象マクロブロックMB(i,j)の左隣の2つのブロックB(2i−1,2j−2)、B(2i,2j−2)のDC係数とAC係数の組、又は、それらが算出されていない場合には無効データが格納される。同様に、動きベクトル予測器13のテンポラリメモリ24の参照メモリブロック26、26には、対象マクロブロックMB(i,j)の左隣の2つのブロックの動きベクトル、又は、それらが算出されていない場合には無効データが格納される。このことがj=2について成立することは、図10B,図11Bから理解されるであろうし、また、2より大きくN−1以下であるjについても成立することは、以下に述べられる処理が回帰的であることから理解されるであろう。図12Aには、参照メモリブロック23、23にDC係数とAC係数の組が格納され、参照メモリブロック26、26に無効データが格納されている場合が図示されており、図13Aには、参照メモリブロック23、23に無効データが格納され、参照メモリブロック26、26に動きベクトルが格納されている場合が図示されている。
マクロブロックMB(i,1)についてのDC係数予測値とAC係数予測値の算出、及び差分動きベクトルの算出の処理手順は、概略的には、上述されたマクロブロックMB(i,1)について行われた処理手順と同一である。具体的には、まず、マクロブロックMB(i,j)の圧縮モードが判別され、判別された圧縮モードに応じて、共用メモリ14がDC/AC予測器4と動きベクトル予測器13のいずれかに接続される。
対象マクロブロックMB(i,j)がイントラモードで圧縮される場合には、図12Aに示されているように、対象マクロブロックMB(i,j)の4つのブロックB(2i−1,2j−1)、B(2i−1,2j),B(2i,2j−1)、B(2i,2j)のDC係数及びAC係数が、それぞれ、DC/AC予測器4のテンポラリメモリ21の対象メモリブロック22〜22に格納される。一方、動きベクトル予測器13のテンポラリメモリ24の対象メモリブロック25〜25はリセットされる。
更に、共用メモリ14のメモリブロック322j−2、322j−1、322jから対象マクロブロックMB(i,j)の上に隣接する3つのブロックB(2i−2,2j−2)、B(2i−2,2j−1)、B(2i−2,2j)のデータが読み出され、更にDC/AC予測器4のテンポラリメモリ21の参照メモリブロック23、23からデータが読み出され、読み出されたこれらのデータを用いてマクロブロックMB(i,j)の4つのブロックのそれぞれのDC係数予測値、AC係数予測値が算出される;DC/AC予測の際に参照されるブロックのデータを保存するメモリブロックは、図12Aにおいて、ハッチングによって示されていることに留意されたい。ただし、読み出されたデータがDC係数とAC係数の組でない場合(即ち、動きベクトル又は無効データである場合)、そのデータは無視される。
参照メモリブロック23、23には、対象マクロブロックMB(i,j)の左に隣接するブロックB(2i−1,2j−2),B(2i,2j−2)のDC係数及びAC係数の組が保存されている場合もあるし、無効データが保存されている場合もあることに留意されたい;対象マクロブロックMB(i,j)の左隣のマクロブロックMB(i,j−1)がインターモードで符号化されている場合には、参照メモリブロック23、23に無効データが保存され、従って参照メモリブロック23、23に保存されているデータは無視される。
DC係数予測値、AC係数予測値の算出の後、図12Bに示されているように、共用メモリ14及びテンポラリメモリ21、24の間でデータ転送が行われ、共用メモリ14及びテンポラリメモリ21、24の内容が更新される;中間のマクロブロックMB(i,j)について行われるデータ転送は、左端のマクロブロックMB(i,1)について行われるデータ転送(図10B参照)と異なっていることに留意されたい。
詳細には、図12Bに示されているように、対象マクロブロックMB(i,j)の左下に位置するブロックの左隣のブロックB(2i,2j−2)のデータが、共用メモリ14のメモリブロック322j−2に転送される。ブロックB(2i,2j−2)のデータは、対象マクロブロックMB(i,j)の左に隣接するマクロブロックMB(i,j−1)の圧縮モードに応じて、DC/AC予測器4のテンポラリメモリ21の参照メモリブロック23、又は動きベクトル予測器13のテンポラリメモリ24の参照メモリブロック26のうちの一方から転送される;対象マクロブロックMB(i,j)の左に隣接するマクロブロックMB(i,j−1)がイントラモードで符号化されている場合、ブロックB(2i,2j−2)のデータはDC係数及びAC係数の組である。DC/AC予測器4は、そのDC係数及びAC係数の組を参照メモリブロック23からメモリブロック322j−2に転送する。一方、左に隣接するマクロブロックMB(i,j−1)がインターモードで符号化されている場合、ブロックB(2i,2j−2)のデータは動きベクトルである。動きベクトル予測器13は、その動きベクトルを参照メモリブロック26からメモリブロック322j−2に転送する。
更に、対象マクロブロックMB(i,j)の左下のブロックB(2i,2j−1)のDC係数及びAC係数が、テンポラリメモリ21の対象メモリブロック22から共用メモリ14のメモリブロック322j−1に転送される。更に、対象マクロブロックMB(i,j)の右側2つのブロックB(2i−1,2j)、B(2i,2j)のDC係数及びAC係数が、テンポラリメモリ21の対象メモリブロック22、22から参照メモリブロック23、23に転送される。
加えて、無効データが、動きベクトル予測器13のテンポラリメモリ24の対象メモリブロック25、25から参照メモリブロック26、26に転送される。これは、次のマクロブロックMB(i,j+1)の処理の際に、マクロブロックMB(i,j)がイントラモードで処理されたことを動きベクトル予測器13に認識させる役割を有している。これにより、マクロブロックMB(i,j)のDC/AC予測処理が完了する。
一方、対象マクロブロックMB(i,1)の圧縮モードがインターモードである場合には、図13Aに示されているように、対象マクロブロックMB(i,1)の4つのブロックB(2i−1,1)、B(2i−1,2),B(2i,1)、B(2i,2)の動きベクトルが、それぞれ、動きベクトル予測器13のテンポラリメモリ24の対象メモリブロック25〜25に格納される。一方、DC/AC予測器4のテンポラリメモリ21の対象メモリブロック22〜22はリセットされる。
更に、共用メモリ14のメモリブロック322j−1、322j、322j+1から対象マクロブロックMB(i,j)の上に隣接する3つのブロックB(2i−2,2j−1)、B(2i−2,2j)、B(2i−2,2j+1)のデータが読み出され、更に動きベクトル予測器13のテンポラリメモリ24の参照メモリブロック26、26からデータが読み出され、読み出されたこれらのデータを用いてマクロブロックMB(i,1)の4つのブロックのそれぞれの差分動きベクトルが算出される;DC/AC予測の際に参照されるブロックのデータを保存するメモリブロックは、図13Aにおいて、ハッチングによって示されていることに留意されたい。ただし、読み出されたデータが動きベクトルでない場合(即ち、DC係数とAC係数の組又は無効データである場合)、そのデータは無視される。
参照メモリブロック26、26には、対象マクロブロックMB(i,j)の左に隣接するブロックB(2i−1,2j−2),B(2i,2j−2)の動きベクトルが保存されている場合もあるし、無効データが保存されている場合もあることに留意されたい;対象マクロブロックMB(i,j)の左隣のマクロブロックMB(i,j−1)がイントラモードで符号化されている場合には、参照メモリブロック26、26に無効データが保存され、従って参照メモリブロック26、26に保存されているデータは無視される。
差分動きベクトルの算出の後、図13Bに示されているように、共用メモリ14及びテンポラリメモリ21、24の間でデータ転送が行われ、その内容が更新される。まず、イントラモードの場合と同様の過程により、対象マクロブロックMB(i,j)の左下に位置するブロックの左隣のブロックB(2i,2j−2)のデータが、共用メモリ14のメモリブロック322j−2に転送される。対象マクロブロックMB(i,j)の左に隣接するマクロブロックMB(i,j−1)がイントラモードで符号化されている場合、ブロックB(2i,2j−2)のデータはDC係数及びAC係数の組であり、そのDC係数及びAC係数の組は、DC/AC予測器4の参照メモリブロック23からメモリブロック322j−2に転送される。一方、左に隣接するマクロブロックMB(i,j−1)がインターモードで符号化されている場合、ブロックB(2i,2j−2)のデータは動きベクトルであり、その動きベクトルは、動きベクトル予測器13の参照メモリブロック26からメモリブロック322j−2に転送される。
更に、対象マクロブロックMB(i,j)の左下のブロックB(2i,2j−1)の動きベクトルが、テンポラリメモリ24の対象メモリブロック25から共用メモリ14のメモリブロック322j−1に転送される。更に、対象マクロブロックMB(i,j)の右側2つのブロックB(2i−1,2j)、B(2i,2j)の動きベクトルが、テンポラリメモリ24の対象メモリブロック25、25から参照メモリブロック26、26に転送される。
加えて、無効データが、DC/AC予測器4のテンポラリメモリ21の対象メモリブロック22、22から参照メモリブロック23、23に転送される。これは、次のマクロブロックMB(i,j+1)の処理の際に、マクロブロックMB(i,j)がインターモードで処理されたことをDC/AC予測器4に認識させる役割を有している。これにより、マクロブロックMB(i,j)のベクトル予測処理が完了する。
以上に述べられているDC/AC予測処理又はベクトル予測処理が、マクロブロックMB(i,2)〜MB(i,N−1)について順次に行われる。
(2−C)右端のマクロブロックMB(i,N)の処理
図14A、14B、図15A、図15Bは、右端のマクロブロックMB(i,N)の処理を示す概念図である。右端のマクロブロックMB(i,N)の処理は、DC/AC予測及びベクトル予測の処理については上述された中間のマクロブロックの処理と同一である(図14A、図15A参照);しかし、共用メモリ14とテンポラリメモリ21、24の間で特別なデータ転送が行われる点で相違する。
図14B、及び図15Bに示されているように、マクロブロックMB(i,N)がイントラモード、インターモードのいずれで符号化されたかに関わらず、マクロブロックMB(i,N)のDC/AC予測又はベクトル予測が完了すると、まず、対象マクロブロックMB(i,j)の左下に位置するブロックの左隣のブロックB(2i,2j−2)のデータが、共用メモリ14のメモリブロック322j−2に転送される。詳細には、対象マクロブロックMB(i,j)の左に隣接するマクロブロックMB(i,j−1)がイントラモードで符号化されている場合、ブロックB(2i,2j−2)のデータはDC係数及びAC係数の組であり、そのDC係数及びAC係数の組は、DC/AC予測器4の参照メモリブロック23からメモリブロック322j−2に転送される。一方、左に隣接するマクロブロックMB(i,j−1)がインターモードで符号化されている場合、ブロックB(2i,2j−2)のデータは動きベクトルであり、その動きベクトルは、動きベクトル予測器13の参照メモリブロック26からメモリブロック322j−2に転送される。
更に、図14Bに示されているように、マクロブロックMB(i,N)がイントラモードで符号化された場合には、対象マクロブロックMB(i,j)の下側の2つのブロックB(2i,2N−1)、B(2i,2N)のDC係数及びAC係数が、テンポラリメモリ21の対象メモリブロック22、22から共用メモリ14のメモリブロック322N−1、322Nに転送される。これにより、共用メモリ14には、第i行のマクロブロックMB(i,1)〜MB(i,N)の下側のブロックラインのデータが完成し、次の行のマクロブロックMB(i+1,1)〜MB(i+1,N)の処理の準備が完了する。
一方、マクロブロックMB(i,N)がインターモードで符号化された場合には、マクロブロックMB(i,N)のベクトル予測の完了に続いて、対象マクロブロックMB(i,j)の下側の2つのブロックB(2i,2N−1)、B(2i,2N)の動きベクトルが、テンポラリメモリ24の対象メモリブロック25、25から共用メモリ14のメモリブロック322N−1、322Nに転送される。これにより、共用メモリ14には、第i行のマクロブロックMB(i,1)〜MB(i,N)の下側のブロックラインのデータが完成し、次の行のマクロブロックMB(i+1,1)〜MB(i+1,N)の処理の準備が完了する。
3.小括及び補足
以上に説明された手順によれば、少ないメモリ資源によって、即ち、図7乃至図9に示されているような共用メモリ14及びテンポラリメモリ21、24のアーキテクチャによって、DC/AC予測及びベクトル予測を実現することができる。これは、画像符号化装置10のハードウエアの縮小に有効である。
なお、本実施の形態の画像符号化装置10は、MPEG4 SPに準拠するように構成されているが、本発明は、適宜の構成の変更によってDC/AC予測及びベクトル予測の両方を行う画像符号化装置に適用可能であることは当業者には明らかである。
例えば、本実施の形態の画像符号化装置10は、双方向予測を行うことができるようにその構成を変更することにより、MPEG4 ASP(advanced simple profile)にも適用可能である。図6を参照して、画像符号化装置10が双方向予測に対応するように構成される場合には、ビデオメモリ9、動き検出ブロック11、及び動き補償ブロック12の構成が、双方向予測を行うことができるように変更される;双方向予測の技術は当業者に周知であり、双方向予測に対応するための構成の変更は、当業者には自明的であろう。この場合、動き検出ブロック11は、各ブロックについて、順方向の動きベクトルと逆方向の動きベクトルとを算出して動きベクトル予測器13に送る。動きベクトル予測器13は、順方向の動きベクトルと逆方向の動きベクトルを、必要に応じて共用メモリ14に保存する。
図16は、双方向予測に対応するように構成が変更された場合の共用メモリ14のメモリマップを示している。注目されるべきことは、双方向予測への対応するために共用メモリ14の容量を増加する必要がないことである。1ブロックについて算出された順方向の動きベクトルと逆方向の動きベクトルとを格納するために必要な容量は、1ブロックについて算出されたDC係数及びAC係数を格納するために必要な容量よりも小さい。これは、共用メモリ14の容量を増加させることなく、メモリマップの変更のみで双方向予測に対応可能であることを意味している。
第3 画像復号化装置
1.画像復号化装置の全体構成と動作の概略
図17は、本実施の形態に係る画像復号化装置40の構成を示すブロック図である。以下に詳細に述べられるように、上述された共有メモリ及びテンポラリメモリのアーキテクチャは、画像復号化装置40にも適用可能である。
具体的には、画像復号化装置40は、可変長復号器41と、DC/AC逆予測器42と、逆量子化器43と、逆DCT演算器44と、加算器45と、動きベクトル逆予測器46と、ビデオメモリ47と、動き補償ブロック48とを備えている。
可変長復号器41は、外部から入力される符号化データに対して可変長復号化を行う。復号化の対象である対象マクロブロックがイントラモードで符号化されている場合には、符号化データの対象マクロブロックに対応する部分からDC係数予測値及びAC係数予測値が取り出される。対象マクロブロックがインターモードで符号化されている場合には、符号化データの対象マクロブロックに対応する部分から差分動きベクトルが取り出される。取り出されたDC係数予測値及びAC係数予測値は、DC/AC逆予測器42に送られ、差分動きベクトルは、動きベクトル逆予測器46に送られる。
DC/AC逆予測器42は、DC係数予測値及びAC係数予測値に対してDC/AC逆予測を行い、量子化されたDC係数及びAC係数を再生する。DC/AC逆予測器42は、テンポラリメモリ51を備えており、そのテンポラリメモリ51を用いてDC係数及びAC係数を再生する。画像復号化装置40には、更に、DC/AC逆予測器42をバイパスするデータスルーパス42aが設けられている。このデータスルーパス42aは、DC/AC逆予測が行われないとき(即ち、インターモードで符号化されているマクロブロックを復号化するとき)に使用される。
逆量子化器43は、DC/AC逆予測器42から送られる(量子化された)DC係数及びAC係数に対して逆量子化を行い、DC係数及びAC係数を再生する。
逆DCT演算器44は、逆量子化器43によって再生されたDC係数及びAC係数に対して逆離散コサイン変換を行い、画像データを得る。
加算器45は、復号化の対象マクロブロックの圧縮モードに応じて、逆DCT演算器44から送られる画像データをそのまま出力し、又は、逆DCT演算器44から送られる画像データと動き補償ブロック48から出力される動き補償された画像データとの和を出力する。加算器45の出力が、最終的な復号化データである。
動きベクトル逆予測器46は、可変長復号器41によって取り出された差分動きベクトルに対して動きベクトル逆予測を行い、動きベクトルを再生する。動きベクトル逆予測器46は、テンポラリメモリ54を備えており、そのテンポラリメモリ54を用いて動きベクトルを再生する。
ビデオメモリ47は、加算器45から出力される画像データを参照画像の画像データとして格納する。
動き補償ブロック48は、動きベクトル逆予測器46から出力される動きベクトルを用いて、ビデオメモリ47から出力される参照画像の画像データに対して動き補償を行う。既述のように、動き補償ブロック48の出力は加算器45に接続されている。
画像復号化装置40は、更に、DC/AC逆予測器42と動きベクトル逆予測器46の両方からアクセス可能な共用メモリ49を備えている。共用メモリ49は、復号化の対象である対象マクロブロックの上に隣接するブロックについて算出されたDC係数、AC係数や、動きベクトルを保存するために使用されるワークエリアであり、DC/AC逆予測器42と動きベクトル逆予測器46は、この共用メモリ49をワークエリアとして共有している。共用メモリ49は、選択器50を介してDC/AC逆予測器42と動きベクトル逆予測器46とに接続されており、制御信号Cによって選択された一方の予測器が共用メモリ49にアクセス可能である。
このような構成の画像復号化装置40は、対象マクロブロックの符号化に用いられた圧縮モードに応じて異なる動作を行う。対象マクロブロックがイントラモードで符号化されている場合、対象マクロブロックは、可変長復号化と、DC/AC逆予測と、逆量子化と、逆DCTとを用いて復号化される。詳細には、可変長復号器41によってDC係数予測値及びAC係数予測値が再生され、そのDC係数予測値及びAC係数予測値からDC/AC逆予測器42によって(量子化された)DC係数及びAC係数が再生される。更に、そのDC係数及びAC係数が、逆量子化器43によって逆量子化され、更に、逆DCT演算器44によって逆離散コサイン変換され、これにより対象マクロブロックの復号化データが生成される;加算器45は、逆DCT演算器44の出力をそのまま復号化データとして出力する。
一方、対象マクロブロックがインターモードで符号化されている場合、動き補償によって復号化が行われる。詳細には、可変長復号器41によって差分動きベクトルが再生され、その差分動きベクトルから動きベクトルが再生される。更に、ビデオメモリ47から出力される参照画像の画像データに対して、動きベクトル逆予測器46から出力される動きベクトルを用いて動き補償が行われ、動き補償が行われた画像データが、可変長復号化と、逆量子化と、逆DCTとを用いて復号化され、復号化データとして出力される。
本実施の形態に係る画像復号化装置40の最も重要な特徴は、既述の画像符号化装置10と同様に、DC/AC逆予測器42と動きベクトル逆予測器46との両方からアクセス可能な共用メモリ49を、DC/AC逆予測器42と動きベクトル逆予測器46のワークエリアとして備えていることである。詳細には、本実施の形態に係る画像復号化装置40は、対象マクロブロックの上に隣接するブロックラインのデータを共用ライン49に格納し、対象マクロブロックのデータ、及び、対象マクロブロックの左に隣接する2つのブロックのデータをDC/AC逆予測器42と動きベクトル逆予測器46のテンポラリメモリ51、54に保存するアーキテクチャを採用している。本実施の形態に係る画像復号化装置40は、かかるアーキテクチャの採用とともに、共用メモリ49とテンポラリメモリ51、54の間のデータ転送を最適化することにより、DC/AC逆予測及びベクトル逆予測を行うために使用するトータルのメモリ領域の容量を小さくしている。以下では、共用メモリ49とテンポラリメモリ51、54を用いたDC/AC逆予測処理及びベクトル逆予測処理について説明する。
2. DC/AC逆予測及びベクトル逆予測の処理手順
図18A乃至図23Bは、第i行に位置するマクロブロックMB(i,1)〜MB(i,N)に対してDC/AC逆予測及びベクトル逆予測を行う好適な手順を示す概念図である。
図18Aを参照して、共用メモリ49、テンポラリメモリ51、54の構成は、画像符号化装置10に搭載されている共用メモリ14、テンポラリメモリ21、24の構成と同様である。詳細には、共用メモリ49は、画像符号化装置10の共用メモリ14と同様に、2N個のメモリブロック62〜622Nを備えている。共用メモリ14と同様に、2つのメモリブロック622j−1、622jは一のメモリエリアに格納され、そのメモリエリアにはメモリブロック622j−1、622jに格納されているデータの種類を示すフラグが格納されたフラグ領域が用意されているが、メモリエリア及びフラグ領域は図示されていない。更に、画像符号化装置10のDC/AC予測器4のテンポラリメモリ21と同様に、DC/AC逆予測器42のテンポラリメモリ51は対象メモリブロック52〜52と参照メモリブロック53、53とを備えている。同様に、動きベクトル逆予測器46のテンポラリメモリ54は対象メモリブロック55〜55と参照メモリブロック56、56とを備えている。DC/AC逆予測及びベクトル逆予測の処理では、このように構成された共用メモリ49、及びテンポラリメモリ51、54の間でデータ転送が行われる。
加えて、第i行に位置するマクロブロックMB(i,1)〜MB(i,N)に対してDC/AC逆予測及びベクトル逆予測を行う手順は、DC/AC予測の代わりにDC/AC逆予測が行われ、ベクトル予測の代わりにベクトル逆予測が行われる点を除けば、第i行に位置するマクロブロックMB(i,1)〜MB(i,N)に対してDC/AC予測及びベクトル予測を行う手順とほぼ同様である。以下、DC/AC逆予測及びベクトル逆予測の手順が詳細に説明される。
(2−A)左端のマクロブロックMB(i,1)の処理
図18A(及び図19A)に示されているように、第i行に位置するマクロブロックMB(i,1)〜(i,N)に対するDC/AC逆予測及びベクトル逆予測の開始前には、共用メモリ49には、マクロブロックMB(i,1)の上に隣接するブロックラインに属するブロックB(2i−2,1)〜ブロックB(2i−1,2N)についてDC/AC逆予測及びベクトル逆予測が行われることによって得られた復元データ(即ち、復元されたDC係数及びAC係数、又は動きベクトル)が格納されている。詳細には、ブロックB(2i−1,1)〜(2i−1,2N)の復元データは、それぞれ、共用メモリ14のメモリブロック62〜622Nに格納されている。ただし、最も上の行(第1行)のマクロブロックMB(1,1)に対するDC/AC逆予測及びベクトル逆予測の開始時には、共用メモリ49の全てのメモリブロック62は、無効データが書き込まれてリセットされる。このような前提が妥当であることは、以下に述べられるDC/AC予測及びベクトル予測の処理が回帰的であることから理解されるであろう。
第i行に位置するマクロブロックMB(i,1)〜(i,N)に対するDC/AC逆予測及びベクトル逆予測では、まず、左端のマクロブロックMB(i,1)の処理が行われる。図18A、18B、図19A、図19Bは、左端のマクロブロックMB(i,1)の処理を示す概念図である。
図18A(及び図19A)に示されているように、第i行に位置するマクロブロックMB(i,1)のDC/AC逆予測及びベクトル逆予測は、DC/AC逆予測器42のテンポラリメモリ51、及び動きベクトル逆予測器46のテンポラリメモリ54をリセットすることで開始される。
続いて、対象マクロブロックMB(i,1)がイントラモードで圧縮されている場合には、可変長復号器41からDC/AC逆予測器42にDC係数予測値、AC係数予測値、及び制御データが送られ、これらからDC係数及びAC係数が復元される;既述のとおり、制御データとは、いずれの参照ブロックを用いてDC係数予測値、AC係数予測値を算出したかを示すデータである。具体的には、図18Aに示されているように、制御データによって指定されているブロックについて復元されたDC係数及びAC係数が、対応するメモリブロックから読み出され、読み出されたDC係数及びAC係数と、DC係数予測値及びAC係数予測値から、対象マクロブロックMB(i,1)の各ブロックのDC係数及びAC係数が復元される。図18Aにおいて、DC係数及びAC係数が読み出され得るメモリブロックは、ハッチングによって示されている。
例えば、マクロブロックMB(i,1)の左上のブロックB(2i−1,1)のDC係数及びAC係数の復元の際、制御データによってブロックB(2i−1,1)の上に隣接するブロックB(2i−2,1)のDC係数及びAC係数を復元に使用するように指示されている場合を考える。この場合、共用メモリ49のメモリブロック62からブロックB(2i−1,1)のDC係数及びAC係数が読み出され、そのDC係数及びAC係数と、DC係数予測値及びAC係数予測値から、ブロックB(2i−1,1)のDC係数及びAC係数が復元される。対象マクロブロックMB(i,1)の他のブロックについても同様である。
復元されたDC係数及びAC係数は、図18Bに示されているように、DC/AC逆予測器42のテンポラリメモリ51の対象メモリブロック52〜52に格納される。具体的には、ブロックB(2i−1,1)のDC係数及びAC係数が復元されると、復元されたDC係数及びAC係数は、対象メモリブロック52に格納される。同様に、ブロックB(2i−1,2)、B(2i,1)、B(2i,2)のDC係数及びAC係数が復元されると、復元されたDC係数及びAC係数は、それぞれ、対象メモリブロック52、52、52に格納される。復元されたDC係数及びAC係数は、対象メモリブロック52〜52から逆量子化器43に送られる。
続いて、図18Bに示されているように、共用メモリ49及びテンポラリメモリ51の間でデータ転送が行われ、共用メモリ49及びテンポラリメモリ51の内容が更新される;データ転送先のメモリブロックはハッチングによって図示されていることに留意されたい。まず、対象マクロブロックMB(i,1)の左下のブロックB(2i,1)について復元されたDC係数及びAC係数が、テンポラリメモリ51の対象メモリブロック52から共用メモリ49のメモリブロック62に転送される。更に、対象マクロブロックMB(i,1)の右側2つのブロックB(2i−1,2)、B(2i,2)について復元されたDC係数及びAC係数が、テンポラリメモリ51の対象メモリブロック52、52から参照メモリブロック53、53に転送される。これにより、マクロブロックMB(i,1)のDC/AC逆予測処理が完了する。
一方、図19Aに示されているように、対象マクロブロックMB(i,1)の圧縮モードがインターモードである場合には、可変長復号器41から動きベクトル逆予測器46に差分動きベクトルと制御データとが送られ、これらから動きベクトルが復元される;既述のとおり、制御データとは、いずれの参照ブロックを用いて差分動きベクトルを算出したかを示すデータである。具体的には、制御データによって指定されているブロックについて復元された動きベクトルが、対応するメモリブロックから読み出され、読み出された動きベクトルと、差分動きベクトルから、対象マクロブロックMB(i,1)の各ブロックの動きベクトルが復元される。図19Aにおいて、動きベクトルが読み出され得るメモリブロックは、ハッチングによって示されている。
復元された動きベクトルは、図19Bに示されているように、動きベクトル逆予測器46のテンポラリメモリ54の対象メモリブロック55〜55に格納される。具体的には、ブロックB(2i−1,1)の動きベクトルが復元されると、復元された動きベクトルは対象メモリブロック52に格納される。同様に、ブロックB(2i−1,2)、B(2i,1)、B(2i,2)の動きベクトルが復元されると、復元された動きベクトルは、それぞれ、対象メモリブロック55、55、55に格納される。復元された動きベクトルは、対象メモリブロック55〜55から動き補償ブロック48に送られる。
続いて、図19Bに示されているように、共用メモリ49及びテンポラリメモリ54の間でデータ転送が行われ、共用メモリ49及びテンポラリメモリ54の内容が更新される;データ転送先のメモリブロックはハッチングによって図示されていることに留意されたい。まず、対象マクロブロックMB(i,1)の左下のブロックB(2i,1)について復元された動きベクトルが、テンポラリメモリ54の対象メモリブロック55から共用メモリ49のメモリブロック62に転送される。更に、対象マクロブロックMB(i,1)の右側2つのブロックB(2i−1,2)、B(2i,2)について復元された動きベクトルが、テンポラリメモリ54の対象メモリブロック55、55から参照メモリブロック56、56に転送される。これにより、マクロブロックMB(i,1)のベクトル逆予測処理が完了する。
(2−B)中間のマクロブロックMB(i,2)〜MB(i,N−1)の処理
図20A、20B、図21A、図21Bは、中間のマクロブロックMB(i,j)(jは2以上、N−1以下の任意の自然数)の処理を示す概念図である。
図20A(及び図21A)に図示されているように、第i行の左からj番目に位置するマクロブロックMB(i,j)のDC/AC逆予測又はベクトル逆予測の開始時には、共用メモリ49のメモリブロック62〜622j−3には、ブロックB(2i,1)〜B(2i、2j−3)のデータ(即ち、次のマクロブロックラインの処理に使用されるデータ)が格納され、メモリブロック622j−2〜622Nには、ブロックB(2i−2,1)〜B(2i−2、2j−3)のデータが格納されている。このことがj=2について成立することは、図18B,図19Bから理解されるであろうし、また、2より大きくN−1以下であるjについても成立することは、以下に述べられる処理が回帰的であることから理解されるであろう。
更に、DC/AC逆予測器42のテンポラリメモリ51の参照メモリブロック53、53には、対象マクロブロックMB(i,j)の左隣の2つのブロックB(2i−1,2j−2)、B(2i,2j−2)について復元されたDC係数とAC係数の組、又は、それらが算出されていない場合には無効データが格納される。同様に、動きベクトル逆予測器46のテンポラリメモリ54の参照メモリブロック56、56には、対象マクロブロックMB(i,j)の左隣の2つのブロックの動きベクトル、又は、それらが算出されていない場合には無効データが格納される。このことがj=2について成立することは、図18B,図19Bから理解されるであろうし、また、2より大きくN−1以下であるjについても成立することは、以下に述べられる処理が回帰的であることから理解されるであろう。図20Aには、参照メモリブロック53、53にDC係数とAC係数の組が格納され、参照メモリブロック56、56に無効データが格納されている場合が図示されており、図21Aには、参照メモリブロック53、53に無効データが格納され、参照メモリブロック56、56に動きベクトルが格納されている場合が図示されている。
マクロブロックMB(i,1)についてのDC係数予測値とAC係数予測値の算出、及び差分動きベクトルの算出の処理手順は、概略的には、上述されたマクロブロックMB(i,1)について行われた処理手順と同一である。
図20Aに示されているように、対象マクロブロックMB(i,1)がイントラモードで圧縮されている場合には、可変長復号器41からDC/AC逆予測器42にDC係数予測値、AC係数予測値、及び制御データが送られ、これらからDC係数及びAC係数が復元される;既述のとおり、制御データとは、いずれの参照ブロックを用いてDC係数予測値、AC係数予測値を算出したかを示すデータである。具体的には、制御データによって指定されているブロックについて復元されたDC係数及びAC係数が、対応するメモリブロックから読み出され、読み出されたDC係数及びAC係数と、DC係数予測値及びAC係数予測値から、対象マクロブロックMB(i,1)の各ブロックのDC係数及びAC係数が復元される。図20Aにおいて、DC係数及びAC係数が読み出され得るメモリブロックは、ハッチングによって示されている。
復元されたDC係数及びAC係数は、図20Bに示されているように、DC/AC逆予測器42のテンポラリメモリ51の対象メモリブロック52〜52に格納される。具体的には、ブロックB(2i−1,2j−1)のDC係数及びAC係数が復元されると、復元されたDC係数及びAC係数は、対象メモリブロック52に格納される。同様に、ブロックB(2i−1,2j)、B(2i,2j−1)、B(2i,2j)のDC係数及びAC係数が復元されると、復元されたDC係数及びAC係数は、それぞれ、対象メモリブロック52、52、52に格納される。復元されたDC係数及びAC係数は、対象メモリブロック52〜52から逆量子化器43に送られる。
DC係数予測値、AC係数予測値の算出の後、図20Bに示されているように、共用メモリ49及びテンポラリメモリ51、54の間でデータ転送が行われ、共用メモリ49及びテンポラリメモリ51、54の内容が更新される;中間のマクロブロックMB(i,j)について行われるデータ転送は、左端のマクロブロックMB(i,1)について行われるデータ転送(図10B参照)と異なっていることに留意されたい。
詳細には、図20Bに示されているように、対象マクロブロックMB(i,j)の左下に位置するブロックの左隣のブロックB(2i,2j−2)のデータが、共用メモリ49のメモリブロック622j−2に転送される。ブロックB(2i,2j−2)のデータは、対象マクロブロックMB(i,j)の左に隣接するマクロブロックMB(i,j−1)の圧縮モードに応じて、DC/AC逆予測器42のテンポラリメモリ51の参照メモリブロック53、又は動きベクトル逆予測器46のテンポラリメモリ54の参照メモリブロック56のうちの一方から転送される;対象マクロブロックMB(i,j)の左に隣接するマクロブロックMB(i,j−1)がイントラモードで符号化されている場合、ブロックB(2i,2j−2)のデータはDC係数及びAC係数の組である。DC/AC逆予測器42は、そのDC係数及びAC係数の組を参照メモリブロック53からメモリブロック622j−2に転送する。一方、左に隣接するマクロブロックMB(i,j−1)がインターモードで符号化されている場合、ブロックB(2i,2j−2)のデータは動きベクトルである。動きベクトル逆予測器46は、その動きベクトルを参照メモリブロック56からメモリブロック622j−2に転送する。
更に、対象マクロブロックMB(i,j)の左下のブロックB(2i,2j−1)のDC係数及びAC係数が、テンポラリメモリ51の対象メモリブロック52から共用メモリ49のメモリブロック622j−1に転送される。更に、対象マクロブロックMB(i,j)の右側2つのブロックB(2i−1,2j)、B(2i,2j)のDC係数及びAC係数が、テンポラリメモリ51の対象メモリブロック52、52から参照メモリブロック53、53に転送される。
加えて、無効データが、動きベクトル逆予測器46のテンポラリメモリ54の対象メモリブロック55、55から参照メモリブロック56、56に転送される。これは、次のマクロブロックMB(i,j+1)の処理の際に、マクロブロックMB(i,j)がイントラモードで処理されたことを動きベクトル逆予測器46に認識させる役割を有している。これにより、マクロブロックMB(i,j)のDC/AC逆予測処理が完了する。
一方、図21Aに示されているように、対象マクロブロックMB(i,j)の圧縮モードがインターモードである場合には、可変長復号器41から動きベクトル逆予測器46に差分動きベクトルと制御データとが送られ、これらから動きベクトルが復元される;既述のとおり、制御データとは、いずれの参照ブロックを用いて差分動きベクトルを算出したかを示すデータである。具体的には、制御データによって指定されているブロックについて復元された動きベクトルが、対応するメモリブロックから読み出され、読み出された動きベクトルと、差分動きベクトルから、対象マクロブロックMB(i,j)の各ブロックの動きベクトルが復元される。図21Aにおいて、動きベクトルが読み出され得るメモリブロックは、ハッチングによって示されている。
復元された動きベクトルは、図21Bに示されているように、動きベクトル逆予測器46のテンポラリメモリ54の対象メモリブロック55〜55に格納される。具体的には、ブロックB(2i−1,1)の動きベクトルが復元されると、復元された動きベクトルは対象メモリブロック52に格納される。同様に、ブロックB(2i−1,2)、B(2i,1)、B(2i,2)の動きベクトルが復元されると、復元された動きベクトルは、それぞれ、対象メモリブロック55、55、55に格納される。復元された動きベクトルは、対象メモリブロック55〜55から動き補償ブロック48に送られる。
差分動きベクトルの算出の後、図20Bに示されているように、共用メモリ49及びテンポラリメモリ51、54の間でデータ転送が行われ、その内容が更新される。まず、イントラモードの場合と同様の過程により、対象マクロブロックMB(i,j)の左下に位置するブロックの左隣のブロックB(2i,2j−2)のデータが、共用メモリ49のメモリブロック622j−2に転送される。対象マクロブロックMB(i,j)の左に隣接するマクロブロックMB(i,j−1)がイントラモードで符号化されている場合、ブロックB(2i,2j−2)のデータはDC係数及びAC係数の組であり、そのDC係数及びAC係数の組は、DC/AC逆予測器42の参照メモリブロック53からメモリブロック622j−2に転送される。一方、左に隣接するマクロブロックMB(i,j−1)がインターモードで符号化されている場合、ブロックB(2i,2j−2)のデータは動きベクトルであり、その動きベクトルは、動きベクトル逆予測器46の参照メモリブロック56からメモリブロック622j−2に転送される。
更に、対象マクロブロックMB(i,j)の左下のブロックB(2i,2j−1)の動きベクトルが、テンポラリメモリ54の対象メモリブロック55から共用メモリ49のメモリブロック622j−1に転送される。更に、対象マクロブロックMB(i,j)の右側2つのブロックB(2i−1,2j)、B(2i,2j)の動きベクトルが、テンポラリメモリ54の対象メモリブロック55、55から参照メモリブロック56、56に転送される。
加えて、無効データが、DC/AC逆予測器42のテンポラリメモリ51の対象メモリブロック52、52から参照メモリブロック53、53に転送される。これは、次のマクロブロックMB(i,j+1)の処理の際に、マクロブロックMB(i,j)がインターモードで処理されたことをDC/AC逆予測器42に認識させる役割を有している。これにより、マクロブロックMB(i,j)のベクトル逆予測処理が完了する。
(2−C)右端のマクロブロックMB(i,N)の処理
図22A、22B、図23A、図23Bは、右端のマクロブロックMB(i,N)の処理を示す概念図である。右端のマクロブロックMB(i,N)の処理における、DC/AC逆予測及びベクトル逆予測の処理は、上述された中間のマクロブロックの処理と同一である;ただし、共用メモリ49とテンポラリメモリ51、54の間で特別なデータ転送が行われる点で相違している。
図22B、及び図23Bに示されているように、マクロブロックMB(i,N)がイントラモード、インターモードのいずれで符号化されたかに無関係に、マクロブロックMB(i,N)のDC/AC逆予測又はベクトル逆予測が完了すると、まず、対象マクロブロックMB(i,j)の左下に位置するブロックの左隣のブロックB(2i,2j−2)の復元データが、共用メモリ49のメモリブロック622j−2に転送される。詳細には、対象マクロブロックMB(i,j)の左に隣接するマクロブロックMB(i,j−1)がイントラモードで符号化されている場合、ブロックB(2i,2j−2)の復元データはDC係数及びAC係数の組であり、そのDC係数及びAC係数の組は、DC/AC逆予測器42の参照メモリブロック53からメモリブロック622j−2に転送される。一方、左に隣接するマクロブロックMB(i,j−1)がインターモードで符号化されている場合、ブロックB(2i,2j−2)の復元データは動きベクトルであり、その動きベクトルは、動きベクトル逆予測器46の参照メモリブロック56からメモリブロック622j−2に転送される。
更に、図22Bに示されているように、マクロブロックMB(i,N)がイントラモードで符号化された場合には、対象マクロブロックMB(i,j)の下側の2つのブロックB(2i,2N−1)、B(2i,2N)について復元されたDC係数及びAC係数が、テンポラリメモリ51の対象メモリブロック52、52から共用メモリ49のメモリブロック622N−1、622Nに転送される。これにより、共用メモリ49には、第i行のマクロブロックMB(i,1)〜MB(i,N)の下側のブロックラインのデータが完成し、次の行のマクロブロックMB(i+1,1)〜MB(i+1,N)の処理の準備が完了する。
一方、マクロブロックMB(i,N)がインターモードで符号化された場合には、マクロブロックMB(i,N)のベクトル逆予測の完了に続いて、対象マクロブロックMB(i,j)の下側の2つのブロックB(2i,2N−1)、B(2i,2N)の動きベクトルが、テンポラリメモリ54の対象メモリブロック55、55から共用メモリ49のメモリブロック622N−1、622Nに転送される。これにより、共用メモリ49には、第i行のマクロブロックMB(i,1)〜MB(i,N)の下側のブロックラインのデータが完成し、次の行のマクロブロックMB(i+1,1)〜MB(i+1,N)の処理の準備が完了する。
3.小括及び補足
以上に説明された手順によれば、少ないメモリ資源によって、DC/AC逆予測及びベクトル逆予測を実現することができる。これは、画像復号化装置40のハードウエアの縮小に有効である。
なお、本実施の形態の画像復号化装置40は、MPEG4 SPに準拠するように構成されているが、本発明は、適宜の構成の変更によってDC/AC逆予測及びベクトル逆予測の両方を行う画像符号化装置に適用可能であることは当業者には明らかである。
例えば、本実施の形態の画像復号化装置40は、双方向予測に対応するにその構成を変更することにより、MPEG4 ASP(advanced simple profile)にも適用可能である。双方向予測が行われる場合には、差分動きベクトルから、順方向の動きベクトルと逆方向の動きベクトルとが復元されて動き補償ブロック48に送る。動き補償ブロック48は、順方向の動きベクトルと逆方向の動きベクトルから、動き補償された画像データを生成する。
図1は、MPEG4に準拠した動画像のフレーム画像のフォーマットを示す図である。 図2Aは、MPEG4に規定されたベクトル予測処理を説明する概念図である。 図2Bは、MPEG4に規定されたベクトル予測処理を説明する概念図である。 図2Cは、MPEG4に規定されたベクトル予測処理を説明する概念図である。 図2Dは、MPEG4に規定されたベクトル予測処理を説明する概念図である。 図2Eは、ある対象マクロブロックのベクトル予測処理において参照され得る、対象マクロブロックの周囲のブロックを示す概念図である。 図3Aは、MPEG4に規定されたDC/AC予測処理を説明する概念図である。 図3Bは、MPEG4に規定されたDC/AC予測処理を説明する概念図である。 図3Cは、MPEG4に規定されたDC/AC予測処理を説明する概念図である。 図3Dは、MPEG4に規定されたDC/AC予測処理を説明する概念図である。 図3Eは、ある対象マクロブロックのDC/AC予測処理において参照され得る、対象マクロブロックの周囲のブロックを示す概念図である。 図4は、本発明の実施の一形態に係る画像符号化装置及び画像復号化装置によって処理される動画像のフォーマットを示す概念図である。 図5は、本実施形態に係る画像符号化装置及び画像復号化装置によって処理される動画像の各フレーム画像のフォーマットを示す概念図である。 図6は、本実施の形態に係る画像符号化装置の構成を示すブロック図である。 図7は、本実施の形態に係る画像符号化装置の共用メモリのフォーマットを示す概念図である。 図8は、本実施の形態に係る画像符号化装置のDC/AC予測器に搭載されるテンポラリメモリの構成を示す概念図である。 図9は、本実施の形態に係る画像符号化装置の動きベクトル予測器に搭載されるテンポラリメモリの構成を示す概念図である。 図10Aは、左端のマクロブロックMB(j,1)に対するDC/AC予測処理の手順を示す概念図である。 図10Bは、左端のマクロブロックMB(j,1)に対するDC/AC予測処理の手順を示す概念図である。 図11Aは、左端のマクロブロックMB(j,1)に対するベクトル予測処理の手順を示す概念図である。 図11Bは、左端のマクロブロックMB(j,1)に対するベクトル予測処理の手順を示す概念図である。 図12Aは、中間のマクロブロックMB(j,j)に対するDC/AC予測処理の手順を示す概念図である。 図12Bは、中間のマクロブロックMB(j,j)に対するDC/AC予測処理の手順を示す概念図である。 図13Aは、中間のマクロブロックMB(j,j)に対するベクトル予測処理の手順を示す概念図である。 図13Bは、中間のマクロブロックMB(j,j)に対するベクトル予測処理の手順を示す概念図である。 図14Aは、右端のマクロブロックMB(j,N)に対するDC/AC予測処理の手順を示す概念図である。 図14Bは、右端のマクロブロックMB(j,N)に対するDC/AC予測処理の手順を示す概念図である。 図15Aは、右端のマクロブロックMB(j,N)に対するベクトル予測処理の手順を示す概念図である。 図15Bは、右端のマクロブロックMB(j,N)に対するベクトル予測処理の手順を示す概念図である。 図16は、双方向予測に対応するように構成された場合の、本実施の形態に係る画像符号化装置の共用メモリのフォーマットを示す概念図である。 図17は、本実施の形態に係る画像復号化装置の構成を示すブロック図である。 図18Aは、左端のマクロブロックMB(j,1)に対するDC/AC予測処理の手順を示す概念図である。 図18Bは、左端のマクロブロックMB(j,1)に対するDC/AC予測処理の手順を示す概念図である。 図19Aは、左端のマクロブロックMB(j,1)に対するベクトル予測処理の手順を示す概念図である。 図19Bは、左端のマクロブロックMB(j,1)に対するベクトル予測処理の手順を示す概念図である。 図20Aは、中間のマクロブロックMB(j,j)に対するDC/AC予測処理の手順を示す概念図である。 図20Bは、中間のマクロブロックMB(j,j)に対するDC/AC予測処理の手順を示す概念図である。 図21Aは、中間のマクロブロックMB(j,j)に対するベクトル予測処理の手順を示す概念図である。 図21Bは、中間のマクロブロックMB(j,j)に対するベクトル予測処理の手順を示す概念図である。 図22Aは、右端のマクロブロックMB(j,N)に対するDC/AC予測処理の手順を示す概念図である。 図22Bは、右端のマクロブロックMB(j,N)に対するDC/AC予測処理の手順を示す概念図である。 図23Aは、右端のマクロブロックMB(j,N)に対するベクトル予測処理の手順を示す概念図である。 図23Bは、右端のマクロブロックMB(j,N)に対するベクトル予測処理の手順を示す概念図である。
符号の説明
1:減算器
2:DCT演算器
3:量子化器
4:DC/AC予測器
5:可変長符号器
6:逆量子化器
7:逆DCT演算器
8:加算器
9:ビデオメモリ
10:画像符号化装置
11:動き検出ブロック
12:動き補償ブロック
13:動きベクトル予測器
14:共用メモリ
15:選択器
21:テンポラリメモリ
22〜22:対象メモリブロック
23、23:参照メモリブロック
24:テンポラリメモリ
25〜25:対象メモリブロック
26、26:参照メモリブロック
31〜31:メモリエリア
32〜322N:メモリブロック
33〜33:フラグ領域
40:画像復号化装置
41:可変長復号器
42:DC/AC逆予測器
43:逆量子化器
44:逆DCT演算器
45:加算器
46:動きベクトル逆予測器
47:ビデオメモリ
48:動き補償ブロック
49:共用メモリ
50:選択器
51:テンポラリメモリ
52、52、52、52:対象メモリブロック
53、53、56、56:参照メモリブロック
54:テンポラリメモリ
55、55、55、55:対象メモリブロック
56、56:参照メモリブロック
62〜622N:メモリブロック

Claims (6)

  1. DC係数及びAC係数を受け取ってDC係数予測値及びAC係数予測値を算出するDC/AC予測器と、
    動きベクトルを受け取って差分動きベクトルを算出する動きベクトル予測器と、
    前記DC/AC予測器と前記動きベクトル予測器との両方からアクセス可能なメモリ
    とを備え
    前記DC/AC予測器は、前記DC係数及び前記AC係数を前記メモリに保存し、且つ、前記メモリに保存された前記DC係数及びAC係数を用いて前記DC係数予測値及びAC係数予測値を算出するように構成され、
    前記動きベクトル予測器は、前記動きベクトルを前記メモリに保存し、且つ、前記メモリに保存された前記動きベクトルを用いて前記差分動きベクトルを算出するように構成され、
    前記メモリは、複数のマクロブロックにそれぞれに対応付けられている複数のメモリエリアを備え、
    前記メモリエリアのそれぞれは、前記DC係数及び前記AC係数、又は、前記動きベクトルの一方を、排他的に記憶するように構成され、
    前記DC/AC予測器は、ある対象ブロックの前記DC係数予測値及び前記AC係数予測値を算出するときに、前記対象ブロックについて定められた参照ブロックに対応するデータを前記複数のメモリエリアから取り出し、前記取り出されたデータが前記DC係数及び前記AC係数、又は、前記動きベクトルのいずれであるかを判別し、前記取り出されたデータが前記動きベクトルである場合、前記取り出されたデータを無視して前記DC係数予測値及び前記AC係数予測値を算出するように構成された
    画像符号化装置。
  2. 請求項1に記載の画像符号化装置であって、
    前記動きベクトル予測器は、ある対象ブロックの前記差分動きベクトルを算出するときに、前記対象ブロックについて定められた参照ブロックに対応するデータを前記複数のメモリエリアから取り出し、前記取り出されたデータが前記DC係数及び前記AC係数、又は、前記動きベクトルのいずれであるかを判別し、前記取り出されたデータが前記DC係数及び前記AC係数である場合、前記取り出されたデータを無視して前記差分動きベクトルを算出するように構成された
    画像符号化装置。
  3. DC係数及びAC係数を受け取ってDC係数予測値及びAC係数予測値を算出するDC/AC予測器と、
    動きベクトルを受け取って差分動きベクトルを算出する動きベクトル予測器と、
    前記DC/AC予測器と前記動きベクトル予測器との両方からアクセス可能なメモリ
    とを備え、
    前記DC/AC予測器は、前記DC係数及び前記AC係数を前記メモリに保存し、且つ、前記メモリに保存された前記DC係数及びAC係数を用いて前記DC係数予測値及びAC係数予測値を算出するように構成され、
    前記動きベクトル予測器は、前記動きベクトルを前記メモリに保存し、且つ、前記メモリに保存された前記動きベクトルを用いて前記差分動きベクトルを算出するように構成され、
    前記メモリは、複数のマクロブロックにそれぞれに対応付けられている複数のメモリエリアを備え、
    前記メモリエリアのそれぞれは、前記DC係数及び前記AC係数、又は、前記動きベクトルの一方を、排他的に記憶するように構成され、
    前記動きベクトル予測器は、ある対象ブロックの前記差分動きベクトルを算出するときに、前記対象ブロックについて定められた参照ブロックに対応するデータを前記複数のメモリエリアから取り出し、前記取り出されたデータが前記DC係数及び前記AC係数、又は、前記動きベクトルのいずれであるかを判別し、前記取り出されたデータが前記DC係数及び前記AC係数である場合、前記取り出されたデータを無視して前記差分動きベクトルを算出するように構成された
    画像符号化装置。
  4. 請求項1乃至3のいずれかに記載の画像符号化装置であって、
    前記メモリエリアのそれぞれは、対応するマクロブロックの下側2つのブロックにそれぞれに対応付けられている2つのメモリブロックを備え、
    前記メモリブロックは、対応する前記ブロックについて算出されている前記DC係数及び前記AC係数、又は、前記動きベクトルの一方を、排他的に記憶するように構成された
    画像符号化装置。
  5. 請求項に記載の画像符号化装置であって、
    前記DC/AC予測器は、前記画像符号化装置の符号化の対象である対象マクロブロックの各ブロックのDC係数及びAC係数、及び前記対象マクロブロックの左に隣接するブロックのDC係数及びAC係数を保存するテンポラリメモリを備え、
    前記メモリエリアの前記メモリブロックに保存されている前記DC係数及び前記AC係数は、前記対象マクロブロックの上に隣接しているブロックラインに位置するブロックのDC係数及びAC係数である
    画像符号化装置。
  6. 請求項に記載の画像符号化装置であって、
    前記動ベクトル予測器は、前記画像符号化装置の符号化の対象である対象マクロブロックの各ブロックの動きベクトル、及び前記対象マクロブロックの左に隣接するブロックの動きベクトルを保存するテンポラリメモリを備え、
    前記メモリエリアの前記メモリブロックに保存されている前記動きベクトルは、前記対象マクロブロックの上に隣接しているブロックラインに位置するブロックの動きベクトルである
    画像符号化装置。
JP2005077922A 2005-03-17 2005-03-17 画像符号化装置、及び画像復号化装置 Active JP4502203B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005077922A JP4502203B2 (ja) 2005-03-17 2005-03-17 画像符号化装置、及び画像復号化装置
US11/376,197 US7876830B2 (en) 2005-03-17 2006-03-16 Video encoder and decoder for achieving inter-and intra-frame predictions with reduced memory resource

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005077922A JP4502203B2 (ja) 2005-03-17 2005-03-17 画像符号化装置、及び画像復号化装置

Publications (2)

Publication Number Publication Date
JP2006262188A JP2006262188A (ja) 2006-09-28
JP4502203B2 true JP4502203B2 (ja) 2010-07-14

Family

ID=37010283

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005077922A Active JP4502203B2 (ja) 2005-03-17 2005-03-17 画像符号化装置、及び画像復号化装置

Country Status (2)

Country Link
US (1) US7876830B2 (ja)
JP (1) JP4502203B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008541649A (ja) * 2005-05-20 2008-11-20 エヌエックスピー ビー ヴィ リフレッシュ・マップを用いた画像符号化装置
KR100904442B1 (ko) * 2006-01-09 2009-06-24 엘지전자 주식회사 영상 신호의 레이어 간 예측 방법
US9020047B2 (en) * 2006-05-24 2015-04-28 Panasonic Intellectual Property Management Co., Ltd. Image decoding device
WO2008114403A1 (ja) * 2007-03-20 2008-09-25 Fujitsu Limited デコード方法、デコーダ及びデコード装置
KR101228020B1 (ko) * 2007-12-05 2013-01-30 삼성전자주식회사 사이드 매칭을 이용한 영상의 부호화 방법 및 장치, 그복호화 방법 및 장치
KR101426271B1 (ko) * 2008-03-04 2014-08-06 삼성전자주식회사 영상의 부호화, 복호화 방법 및 장치
US8165211B2 (en) * 2008-05-30 2012-04-24 Hong Kong Applied Science and Technology Research Institute Company Limited Method and apparatus of de-interlacing video
TW200952497A (en) * 2008-06-04 2009-12-16 Ind Tech Res Inst Memory arrangement method and system for parallel processing AC/DC prediction in video compression
KR101377527B1 (ko) * 2008-10-14 2014-03-25 에스케이 텔레콤주식회사 복수 개의 참조 픽처의 움직임 벡터 부호화/복호화 방법 및장치와 그를 이용한 영상 부호화/복호화 장치 및 방법
KR101274112B1 (ko) 2009-09-15 2013-06-13 한국전자통신연구원 영상 부호화 장치
JP5378344B2 (ja) * 2009-12-07 2013-12-25 韓國電子通信研究院 映像処理のためのシステム
JP5368631B2 (ja) 2010-04-08 2013-12-18 株式会社東芝 画像符号化方法、装置、及びプログラム
GB2527315B (en) * 2014-06-17 2017-03-15 Imagination Tech Ltd Error detection in motion estimation
US11025937B2 (en) * 2019-03-16 2021-06-01 Tencent America LLC Method and apparatus for video coding
US11343465B2 (en) * 2019-11-01 2022-05-24 Apple Inc. Varying audio visual compression based on AI detection or classification results

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1175200A (ja) * 1997-09-01 1999-03-16 Hitachi Ltd 動画像符号化装置及びこれを用いた簡易復号化画像モニタ方法,制御方法
JP2002232887A (ja) * 1996-11-07 2002-08-16 Matsushita Electric Ind Co Ltd 画像符号化方法および画像符号化装置並びに画像復号化方法および画像復号化装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1689188A3 (en) * 1996-11-07 2008-12-10 Panasonic Corporation Image encoder and image decoder
JP2001308715A (ja) * 2000-04-20 2001-11-02 Mitsubishi Electric Corp 可変長符号化装置および可変長復号装置
JP3662171B2 (ja) * 2000-06-05 2005-06-22 三菱電機株式会社 符号化装置及び符号化方法
JP3613514B2 (ja) * 2000-06-12 2005-01-26 三菱電機株式会社 ディジタル画像データ出力装置及びディジタル画像データ出力方法
JP2002118853A (ja) 2000-08-04 2002-04-19 Matsushita Electric Ind Co Ltd 画像復号装置及び画像復号方法
KR100454501B1 (ko) * 2001-12-26 2004-10-28 브이케이 주식회사 영상신호를 부호화 또는 복호화하기 위한 예측 장치 및 방법
US6931061B2 (en) * 2002-11-13 2005-08-16 Sony Corporation Method of real time MPEG-4 texture decoding for a multiprocessor environment
JP4155063B2 (ja) 2003-03-10 2008-09-24 ソニー株式会社 画像符号化装置と画像復号装置および画像符号化方法と画像復号方法
US7426308B2 (en) * 2003-07-18 2008-09-16 Microsoft Corporation Intraframe and interframe interlace coding and decoding
US7688894B2 (en) * 2003-09-07 2010-03-30 Microsoft Corporation Scan patterns for interlaced video content

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002232887A (ja) * 1996-11-07 2002-08-16 Matsushita Electric Ind Co Ltd 画像符号化方法および画像符号化装置並びに画像復号化方法および画像復号化装置
JPH1175200A (ja) * 1997-09-01 1999-03-16 Hitachi Ltd 動画像符号化装置及びこれを用いた簡易復号化画像モニタ方法,制御方法

Also Published As

Publication number Publication date
JP2006262188A (ja) 2006-09-28
US7876830B2 (en) 2011-01-25
US20060209960A1 (en) 2006-09-21

Similar Documents

Publication Publication Date Title
JP4502203B2 (ja) 画像符号化装置、及び画像復号化装置
JP4373702B2 (ja) 動画像符号化装置、動画像復号化装置、動画像符号化方法、動画像復号化方法、動画像符号化プログラム及び動画像復号化プログラム
JP5669278B2 (ja) 画像シーケンスのブロックを符号化する方法およびこのブロックを再構成する方法
KR100307340B1 (ko) 화상예측복호화방법,화상예측복호화장치및화상예측부호화장치
KR100451326B1 (ko) 화상 예측 복호화 방법 및 화상 예측 부호화 방법
JP3686436B2 (ja) 映像信号の復号化方法
JP5426655B2 (ja) 圧縮動画符号化装置、圧縮動画復号化装置、圧縮動画符号化方法および圧縮動画復号化方法
KR20110008653A (ko) 움직임 벡터 예측 방법과 이를 이용한 영상 부호화/복호화 장치 및 방법
JP2005507587A (ja) 空間的にスケーラブルな圧縮
JP2004518342A (ja) スケーラブルビデオトランスコーディング方法及び装置
JP2013048481A (ja) イントラ予測映像復号化のための方法及び装置
JP2013541899A (ja) 階層的映像符号化及び復号化のための方法及び装置
JP2009267689A (ja) 動画像符号化装置、及び動画像符号化方法
US7113644B2 (en) Image coding apparatus and image coding method
JP4284265B2 (ja) 動画像符号化装置、動画像符号化方法、動画像復号化装置および動画像復号化方法
JP2008182527A (ja) 画像符号化装置及び方法、並びに撮像システム
KR20080064011A (ko) 인접 파티션의 크기를 고려한 움직임 벡터 예측 방법,장치, 인코더, 디코더 및 복호화 방법
TW200301655A (en) Method of detecting motion vector
JP2010081498A (ja) 画像圧縮符号化方法、及び装置
KR100926752B1 (ko) 동영상 부호화를 위한 미세 움직임 추정 방법 및 장치
JP5598199B2 (ja) 動画像符号化装置
JP5003534B2 (ja) トランスコード装置、トランスコード方法およびトランスコードプログラム
KR100899658B1 (ko) 고속 동작을 위한 mpeg2/h.264 디지털 비디오트랜스코딩 시스템 및 방법
JP4361665B2 (ja) 動画像符号化データのトランスコーディング方法およびトランスコーディング装置
JP5401909B2 (ja) トランスコード装置およびトランスコード方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080122

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091009

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091015

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091214

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4502203

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130430

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130430

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140430

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

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

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