JP2007088922A - 符号化装置と符号化方法 - Google Patents

符号化装置と符号化方法 Download PDF

Info

Publication number
JP2007088922A
JP2007088922A JP2005276417A JP2005276417A JP2007088922A JP 2007088922 A JP2007088922 A JP 2007088922A JP 2005276417 A JP2005276417 A JP 2005276417A JP 2005276417 A JP2005276417 A JP 2005276417A JP 2007088922 A JP2007088922 A JP 2007088922A
Authority
JP
Japan
Prior art keywords
encoding
motion vector
search
motion detection
motion
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
Application number
JP2005276417A
Other languages
English (en)
Inventor
Hiroo Ishii
裕夫 石井
Mitsuru Suzuki
満 鈴木
Shigeyuki Okada
茂之 岡田
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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co 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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2005276417A priority Critical patent/JP2007088922A/ja
Priority to US11/520,709 priority patent/US20070064808A1/en
Publication of JP2007088922A publication Critical patent/JP2007088922A/ja
Pending legal-status Critical Current

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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • 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)

Abstract

【課題】 動きベクトル検出の際、フレームメモリから頻繁にデータを転送するため、バス帯域が圧迫され、処理性能が悪化する。
【解決手段】 フレーム210においてマクロブロックの動きベクトル検出を全探索法で行う際、上下に隣接するマクロブロックを対象マクロブロック220cおよび220dとして連続で処理する。フレームメモリに保持された参照画像データのうち、それらの対象マクロブロックに対する2つの動きベクトル探索範囲の和である合成探索範囲260aの画素データを一度に高速メモリに転送する。そして、次の対象マクロブロック220eおよび220fの処理時は、新たに合成探索範囲260bに加わった領域280の画素データのみを高速メモリに転送する。
【選択図】 図6

Description

本発明は、動画像を符号化する符号化装置および符号化方法に関する。
ブロードバンドネットワークが急速に発展しており、高品質な動画像を利用したサービスに期待が集まっている。また、DVDなど大容量の記録媒体が利用されており、高画質の画像を楽しむユーザ層が広がっている。動画像を通信回線で伝送したり、記録媒体に蓄積するために不可欠な技術として圧縮符号化がある。動画像圧縮符号化技術の国際標準として、MPEG4の規格やH.264/AVC規格がある。また、1つのストリームにおいて高画質のストリームと低画質のストリームを併せもつSVC(Scalable Video Coding)のような次世代画像圧縮技術がある。
動画像の圧縮符号化および復号では、フレームメモリに動画像のフレームを蓄積し、フレームメモリを参照して、動き補償が行われるため、フレームメモリからのデータ転送が頻繁に行われる。特により高画質の動画を生成するために、動き探索を小数画素単位で行うことがあり、動き補償で扱うデータ量は増えており、メモリ帯域幅が処理のボトルネックとなりやすい。特許文献1には、フレームメモリのバンド幅の使用効率を改善することのできるディジタル画像復号装置が開示されている。
特開平11−298903号公報
動画像の圧縮符号化の際、符号化対象フレームの対象マクロブロックの動きベクトル検出をするために、参照フレームの所定の探索範囲内の画素領域のデータをフレームメモリから読み出し、その画素領域内で対象マクロブロックとマッチングするマクロブロックを探索する。動きベクトル検出では、探索を繰り返して対象マクロブロックと適合する参照フレームのマクロブロックを見つけるため、フレームメモリからの読み出し回数が多くなり、データ転送量も増え、フレームメモリの転送帯域幅を圧迫する。フレームメモリへのアクセスがボトルネックとなって、圧縮符号化の処理速度が低下するという問題が生じる。
本発明はこうした状況に鑑みてなされたもので、その目的は、フレームメモリへのアクセスを減らして、符号化の処理効率を高めることのできる動画像の符号化技術を提供することにある。
本発明のある態様は符号化装置に関する。この装置は、動画像のピクチャを符号化する符号化装置であって、符号化対象ピクチャの動き検出をする際に参照する参照ピクチャを保持するフレームメモリと、フレームメモリに保持された前記参照ピクチャを参照して、前記符号化対象ピクチャの所定のブロック幅を有するブロックごとに動き探索を繰り返して動き検出を行う動き検出部とを含み、動き検出部は、一の方向に隣接した複数のブロックを一の対象ブロック群とし、一の対象ブロック群に含まれる複数のブロックにそれぞれ対応する、参照ピクチャにおける動き探索範囲の和を含む、合成探索範囲の画素データを、フレームメモリから読み込む内部メモリを含むことを特徴とする。ここで動き検出部は、内部メモリに保持された合成探索範囲に含まれる動き探索範囲を探索することにより、一の対象ブロック群に含まれる複数のブロックの動き検出を連続して行い、その後、一の方向と異なる方向に隣接した複数のブロックを次の対象ブロック群として連続して動き検出処理を行うことを順次繰り返すことにより動き検出を進捗させる。
ここで「動き探索範囲の和」とは一の対象ブロック群に含まれる個々のブロックに対応する動き探索範囲を全て含んだ範囲のことである。また、「一の方向に隣接した」とは、ピクチャの水平方向、垂直方向、ななめ方向のいずれの方向に隣接していてもよい。また、ななめ方向に隣接した複数のブロックを一の対象ブロック群とした場合、「一の方向と異なる方向に隣接した複数のブロック」とは、ピクチャの水平方向または垂直方向に隣接した複数のブロックのことである。
「ピクチャ」は、フレーム、フィールド、VOP(Video Object Plane)などを含む符号化の単位である。
この態様によれば、隣接した複数のブロックの動き探索範囲の画素データを一度に内部メモリに保持し、複数のブロックの動き探索範囲の重複部分は同じデータを利用できるため、フレームメモリからのデータ転送量が削減される。
本発明の別の態様は、符号化方法である。この方法は、動画像のピクチャの所定のブロック幅を有するブロックごとに動き検出を行い、符号化データを出力する符号化方法であって、一の方向に隣接した複数のブロックを一の対象ブロック群とし、一の対象ブロック群に含まれる複数のブロックの動き検出を連続して行うステップと、一の方向と異なる方向に隣接した複数のブロックを次の対象ブロック群として連続して動き検出を行うことを順次繰り返すことにより動き検出を進捗させるステップと、動き検出を行ったブロックの順序で、対応する符号化データを出力するステップと、を含むことを特徴とする。
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、動画像の符号化の処理効率を向上することができる。
実施の形態1
図1は、本実施の形態に係る符号化装置100の構成図である。これらの構成は、ハードウエア的には、任意のコンピュータのCPU、メモリ、その他のLSIで実現でき、ソフトウエア的にはメモリにロードされた画像符号化機能のあるプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは、当業者には理解されるところである。
本実施の形態の符号化装置100は、国際標準化機関であるISO(International Organization for Standardization)/IEC(International Electrotechnical Commission)によって標準化されたMPEG(Moving Picture Experts Group)シリーズの規格(MPEG−1、MPEG−2およびMPEG−4)、電気通信に関する国際標準機関であるITU−T(International Telecommunication Union-Telecommunication Standardization Sector)によって標準化されたH.26xシリーズの規格(H.261、H.262およびH.263)、もしくは両方の標準化機関によって合同で標準化された最新の動画像圧縮符号化標準規格であるH.264/AVC(両機関における正式勧告名はそれぞれMPEG-4 Part 10: Advanced Video CodingとH.264)に準拠して動画像の符号化を行う。
MPEGシリーズの規格では、フレーム内符号化を行う画像フレームをI(Intra)フレーム、過去のフレームを参照画像として順方向のフレーム間予測符号化を行う画像フレームをP(Predictive)フレーム、過去と未来のフレームを参照画像として双方向のフレーム間予測符号化を行う画像フレームをBフレームという。
一方、H.264/AVCでは、参照画像として利用できるフレームは、時間の先後を問わず、過去の2枚のフレームを参照画像としてもよく、未来の2枚のフレームを参照画像としてもよい。また、参照画像として利用できるフレームの枚数も問わず、3枚以上のフレームを参照画像として用いることもできる。したがって、MPEG−1/2/4では、Bフレームは双方向予測(Bi-directional prediction)フレームのことを指していたが、H.264/AVCでは、Bフレームは、参照画像の時間の先後は問わないため、双予測(Bi-predictive prediction)フレームのことを指すことに留意する。
なお、実施の形態では、符号化の単位としてフレームを例に挙げて説明するが、符号化の単位はフィールドであってもよい。また、符号化の単位はMPEG−4におけるVOPであってもよい。
符号化装置100は、フレーム単位で動画像の入力を受け取り、動画像を符号化し、符号化ストリームを出力する。入力された動画フレームはフレームメモリ80に格納される。
動き補償部60は、フレームメモリ80に格納されている過去または未来の画像フレームを参照画像として利用し、PフレームまたはBフレームのマクロブロック毎に動き補償を行い、動きベクトルと予測画像を生成する。動き補償部60は、符号化対象のPフレームまたはBフレームの画像と予測画像の差分を取り、差分画像をDCT部20に供給する。また、動き補償部60は、生成した動きベクトルを可変長符号化部90に供給する。
DCT部20は、動き補償部60から供給された画像を離散コサイン変換(DCT)し、得られたDCT係数を量子化部30に与える。
量子化部30は、DCT係数を量子化し、可変長符号化部90に与える。可変長符号化部90は、差分画像の量子化されたDCT係数および動き補償部60から与えられた動きベクトルを可変長符号化し、多重化部92に与える。多重化部92は、可変長符号化部90から与えられた符号化後のDCT係数と動きベクトル情報とを多重化し、符号化ストリームを生成する。多重化部92は、符号化ストリームを生成する際、符号化されたフレームを時間順序に並べ替える処理を行う。
PフレームもしくはBフレームの符号化処理の場合は、上述のように動き補償部60が動作するが、Iフレームの符号化処理の場合は、動き補償部60は動作せず、ここでは図示しないが、Iフレームはフレーム内予測が行われた後、DCT部20に供給される。
図2は、本実施の形態における動き補償部60の構成を説明する図である。フレームメモリ80と動き補償部60は、SBUS82により接続されている。動き補償部60は、アドレスを指定してフレームメモリ80にデータを要求し、フレームメモリ80からSBUS82を介して伝送されるデータを受け取る。
動き補償部60は、SRAM66、動きベクトル検出部62、および動き補償予測部68を有する。動きベクトル検出部62は、フレームメモリ80に保持された参照画像の所定の探索範囲内の画素データをSRAM66に転送する。
フレームメモリ80は、一例として大容量のSDRAMで構成され、SBUS82を介してアクセスされる。一方、SRAM66は、動きベクトル検出部62と同一の集積回路内に形成されており、動きベクトル検出部62から高速にアクセスすることが可能である。SRAM66はフレームメモリ80に比べて容量が限られており、フレームメモリ80に対する高速なキャッシュメモリとして機能する。SRAM66はデータ転送が高速であるから、動きベクトル検出部62がSRAM66内の画素領域を頻繁に参照して、動き探索するのに適している。なお、読み出しポート数を増やすために、一般的には複数枚のSRAM66が設けられる。
動きベクトル検出部62は、SRAM66に転送された画素データを参照して動きベクトルの検出を行う。動きベクトル検出部62は、対象マクロブロックに対して誤差の最も小さい予測マクロブロックを参照画像から検出し、対象マクロブロックから予測マクロブロックへの動きを示す動きベクトルを求める。動きベクトル検出は、対象マクロブロックとマッチングする参照画像における参照マクロブロックを整数画素単位または小数画素単位で探すことにより行われるため、探索は通常、画素領域内で複数回にわたって繰り返し行われ、その複数回の探索の中で対象マクロブロックと最も適合する参照マクロブロックが予測マクロブロックとして選択される。求められた動きベクトルは動き補償予測部68と可変長符号化部90に与えられる。
動き補償予測部68は、動きベクトルを用いて対象マクロブロックを動き補償して、予測画像を生成し、符号化対象画像と予測画像の差分画像をDCT部20に出力する。
動きベクトルの探索方法として、探索方向を求めながら繰り返し探索を行う追跡法や勾配法を利用した場合、各回の探索で参照する範囲の画素データが、探索の度にフレームメモリ80からSRAM66に転送される。たとえば、縦横16画素のマクロブロックの探索を6回繰り返して、対象マクロブロックにマッチングする予測マクロブロックを探し当てたとする。ここで6タップフィルタを用いた1/4画素精度の探索を行った場合、1回の探索では、マクロブロックの周囲の画素も含めて縦横21画素の画素データがSRAM66に転送される。それが6回繰り返されると、1つの対象マクロブロックに対して動きベクトルを探索するのに要するデータ転送量は、21×21×6=2646バイトとなる。ただし、1画素の情報量を簡単のため1バイトとした。
追跡法や勾配法の場合、探索精度を上げるためには探索回数を増やす必要があり、探索回数に比例してデータ転送量が増え、フレームメモリ80からSRAM66へのデータ転送が動きベクトル検出処理のボトルネックとなって処理性能が低下する。この問題を克服するために、例えばフレームメモリ80を複数個設け、それぞれのフレームメモリ80に対応した複数のSBUS82によってデータ転送を行うことも考えられるが、それにより製造コストが増大してしまう。
動きベクトルの別の探索方法として、探索範囲を決めてその中のすべてのマクロブロックを一つずつ取り上げ、対象マクロブロックとの間でマッチングを計算し、最もマッチングするマクロブロックを予測マクロブロックとして求める全探索法がある。全探索法を利用した場合、あらかじめ決められている探索範囲内のすべての画素データがフレームメモリ80からSRAM66に転送される。そして動きベクトル検出部62は、SRAM66に転送された画素領域内で動きベクトルの探索を行う。全探索法の場合、1つの対象マクロブロックに対して行われるデータ転送は1回だけである。たとえば、縦横16画素の対象マクロブロックに対して探索範囲が±32画素である場合、全探索範囲は縦横80画素になり、1つの対象マクロブロックに対して動きベクトルを探索するのに要するデータ量は、80×80=6400バイトとなる。
ただし全探索法においては、ある対象マクロブロックに対する探索範囲と、次の対象マクロブロックに対する探索範囲とに重複領域がある場合は、その重複領域の画素データはSRAM66にそのまま確保しておくことができる。そして新たに探索範囲となった領域の画素データのみをフレームメモリ80からSRAM66に転送することにより、SRAM66には次の対象ブロックに対する探索範囲の画素データが保持されることになる。
ここで本実施の形態の特徴を明らかにするために、一般的な全探索法の手順について説明する。図3は動きベクトル検出部62によって動きベクトルが検出されるマクロブロックの処理順を模式的に示している。同図のごとく、フレーム210を所定の画素単位で分割したマクロブロックが順次、対象マクロブロック220として選択され、動きベクトル検出が行われる。このとき、図の矢印に示すように、1行のマクロブロックを左から右に選択していく。これは、符号化装置100が出力する符号化ストリームの構成順序と同じである。
図4は、上述の一般的な全探索法において、連続して処理される2つの対象マクロブロック220に対する探索範囲の推移を模式的に示している。すなわち、図4(a)における対象マクロブロック220aの動きベクトルが検出されると、図4(b)における対象マクロブロック220bの動きベクトル探索が開始される。図4(a)において、対象マクロブロック220aに対する探索範囲230aは、上述の例では、縦横16画素の対象マクロブロック220aの周囲32画素を含む、縦横80画素の領域である。このときSRAM66には探索範囲230aの画素データが保持される。対象マクロブロック220aに対する動きベクトル探索の終了後、次の対象マクロブロック220bに対する探索範囲230bは図4(b)に示す領域となる。このとき、SRAM66に保持されている探索範囲230aの画素データのうち、今回の探索範囲230bと重ならない領域240のデータは破棄され、新たに探索範囲230bとなった領域250のデータが、フレームメモリ80からSRAM66へ転送される。同図の例では、1つの対象マクロブロックに対する動きベクトルを探索するのに、80×16=1280バイトのデータが転送されることになる。
このように全探索法は、追跡法や勾配法と比べ、転送されるデータ量が少なくなる。ところが、近年一般にも浸透してきたフルハイビジョンの1920×1088画素の画像を例にとると、上述した縦横16画素のマクロブロックが、画面全体で8160個存在する。2枚のフレームを参照画像として30fpsのリアルタイムで全マクロブロックを処理するとすると、1280×8160×2×30=598メガバイト/秒という、高い転送レートが必要となる。
このように画像が高精細になるほど、SBUS82の帯域幅を圧迫し、符号化処理のボトルネックとなりやすい。このような問題意識のもと、本出願人は、フレームメモリ80からのデータ転送に関して改良の余地があることを認識するに至った。以下、本実施の形態における動きベクトル探索の処理手順について説明する。
図5は本実施の形態における動きベクトル検出部62によって動きベクトルが検出されるマクロブロックの処理順を模式的に示している。本実施の形態では、矢印に示すように上下のマクロブロックを連続して処理する。すなわち、対象マクロブロック220cに対する動きベクトル探索が終了すると、次は、その下に位置する対象マクロブロック220dに対する動きベクトル探索が行われる。そして上下2つののマクロブロックの処理が終わったら、その右側に位置する上下2つのマクロブロック、というように、左から右に処理していく。
図6は、図5に示した処理順で動きベクトル探索を行う場合の探索範囲の推移を模式的に示している。本実施の形態では、上下2つのマクロブロックを1単位とし、それらに対する2つの探索範囲からなる合成探索範囲の画素データをSRAM66に一度に転送する。すなわち図6(a)において、対象マクロブロック220cと対象マクロブロック220dの探索範囲の和である合成探索範囲260aの画素データを、対象マクロブロック220cの処理を開始する際に転送しておく。上述の例では、合成探索範囲260aは同図に示すごとく、縦96画素、横80画素の領域となる。動きベクトル検出部62は、対象マクロブロック220cおよび220dに対する動きベクトル探索を、SRAM66に保持された合成探索範囲260aの画素データに含まれる、各々の探索範囲の画素データを用いて行う。
対象マクロブロック220cおよび220dに対する動きベクトル探索が終了すると、次はそれらの右側に隣接する2つのマクロブロックが、対象マクロブロック220eおよび対象マクロブロック220fとなる。すると、それらの対象マクロブロック220eおよび220fに対する合成探索範囲260bは図6(b)に示す領域となる。このとき、SRAM66に保持されている合成探索範囲260aの画素データのうち、今回の合成探索範囲260bと重ならない領域270のデータは破棄され、新たに合成探索範囲260bとなった領域280の画素データが、フレームメモリ80からSRAM66へ転送される。同図の例では、2つの対象マクロブロック220に対する動きベクトルを探索するのに、96×16=1536バイトのデータが転送されることになる。結果として1つの対象マクロブロックあたりに換算すると、768バイトのデータ転送となり、図4で示した一般的な全探索法の手順と比較すると、データ転送量が60%に削減される。
以上述べたように本実施の形態では、連続して処理される対象マクロブロック220の探索範囲の重複を、水平方向のみならず垂直方向にも利用することにより、フレームメモリ80からSRAM66へのデータ転送量を削減することができ、画像の高精細化に対応した符号化処理が可能となる。また本実施の形態は、メモリの個数やバス帯域を増加させることなく実現できるため、導入コストが抑えられる。
動きベクトル検出部62は、上述の順序で対象マクロブロック220を処理し、順次得られる動きベクトルを可変長符号化部90へ与える前に、動きベクトルの並べ替えを行ってもよい。すなわち、可変長符号化部90において動きベクトルの差分符号化を行う際、あるマクロブロックの差分符号化に必要となるマクロブロックの動きベクトルを先に与える。
図7はH.264/AVCにおいて動きベクトルの差分符号化を行う際に必要となるマクロブロックの位置関係を説明している。H.264/AVCで対象マクロブロック220dの動きベクトルの差分符号化を行う場合、計算に用いられるのは、マクロブロック222a、222b、および222cの3つの動きベクトルである。本実施の形態では、動きベクトル検出部62が対象マクロブロック220dの動きベクトルを求めた際、マクロブロック222cの動きベクトルはまだ求められていない。従って、動き補償部60に図示しないバッファを設けるなどして、対象マクロブロック220dの動きベクトルを保存しておき、マクロブロック222cの動きベクトルが得られたら、それを先に可変長符号化部90へ与える。その後、対象マクロブロック220dの動きベクトルを、上記バッファから可変長符号化部90へ供給する。これにより、可変長符号化部90における処理態様を変化させることなく本実施の形態を実現することができる。
実施の形態2
本実施の形態の符号化装置100および動き補償部60の構成は、実施の形態1の図1および図2で示したのと同様である。一方、本実施の形態は、動きベクトル検出部62が、斜めに位置する2つの対象マクロブロックを連続して処理する点で実施の形態1と異なる。ここでは実施の形態1との相違点に主眼を置き説明する。
図8は本実施の形態における動きベクトル検出部62によって動きベクトルが検出されるマクロブロックの処理順を模式的に示している。本実施の形態では、矢印に示すように右上と左下に位置して互いに接する2つのマクロブロックを連続して処理する。すなわち、対象マクロブロック220gに対する動きベクトル探索が終了すると、次は、その左下に位置する対象マクロブロック220hに対する動きベクトル探索が行われる。そしてこれら2つのマクロブロックの処理が終わったら、それらの右側に位置し、同様に斜めに接する2つのマクロブロック、というように、左から右に処理していく。
図9は、図8示した処理順で動きベクトル探索を行う場合の探索範囲の推移を模式的に示している。本実施の形態でも実施の形態1と同様、2つのマクロブロックに対する2つの探索範囲からなる合成探索範囲の画素データをSRAM66に一度に転送する。一方、本実施の形態では、2つのマクロブロックが上述のごとく斜めに接しているため、合成探索範囲290aは、図9(a)に示すような領域とする。すなわち、対象マクロブロック220gと対象マクロブロック220hの探索範囲の和を含む最小の矩形を合成探索範囲290aとする。実施の形態1と同様の例では、合成探索範囲290aは同図に示すごとく、縦96画素、横96画素の領域となる。動きベクトル検出部62は、対象マクロブロック220gおよび220hに対する動きベクトル探索を、SRAM66に保持された合成探索範囲290aの画素データに含まれる、各々の探索範囲の画素データを用いて行う。
対象マクロブロック220gおよび220hに対する動きベクトル探索が終了すると、次はそれらの右側に隣接する2つのマクロブロックが、対象マクロブロック220iおよび対象マクロブロック220jとなる。すると、それらの対象マクロブロック220iおよび220jに対する合成探索範囲290bは図9(b)に示す領域となる。従って実施の形態1と同様、SRAM66に保持されている合成探索範囲290aの画素データのうち、領域300の画素データが破棄され、領域310の画素データが新たにフレームメモリ80からSRAM66へ転送される。この例では、実施の形態1と同様、96×16=1536バイトのデータが転送されるため、1つの対象マクロブロックあたりに換算すると768バイトのデータ転送となる。
本実施の形態においても、連続して処理される対象マクロブロック220の探索範囲の重複を、水平方向のみならず垂直方向にも利用することにより、フレームメモリ80からSRAM66へのデータ転送量を削減することができ、画像の高精細化に対応した符号化処理が可能となる。また本実施の形態も、メモリの個数やバス帯域を増加させることなく実現できるため、導入コストが抑えられる。
さらに本実施の形態では、H.264/AVCにおける動きベクトルの差分符号化を行う際に、実施の形態1で説明した、動きベクトルの並べ替えを行う必要がない。すなわち動きベクトル検出部62において、図7における対象マクロブロック220dの動きベクトルを求めた際、マクロブロック222a、222b、222cの動きベクトルは取得済みである。従って、取得した順で動きベクトルを可変長符号化部90に与えても差分符号化に支障がない。そのため、並べ替えに必要な構成を動き補償部60に付加することなく、本実施の形態を実現することができる。
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素などの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
例えば実施の形態1では、上下に接する2つのマクロブロックを1単位として、それらに対する探索範囲の画素データを1度にSRAMに転送した。変形例としては、上中下など垂直に連なる3つ以上のマクロブロックを1単位としてもよい。このとき、1単位に含まれるマクロブロックが1つ増加すると、そのマクロブロックの垂直方向の画素分だけ、合成探索範囲は垂直方向に拡張する。従って、1単位に含まれるマクロブロックが増加すればSRAMに保持するデータ量が増加することになるが、それらのマクロブロックに対する動きベクトル探索において、重複して利用できる探索領域が増加するため、データ転送量はより減少する。これらのことから、1単位に含まれるマクロブロックの個数は、SRAMの容量、データ転送所要時間、データ転送量などに鑑み、最適値を決定してよい。これにより、より効率のよい動きベクトル探索が可能となる。
上述の変形例と同様に、斜めに連なる3つ以上のマクロブロックを1単位とし、実施の形態2で説明したのと同様の処理を行ってもよい。この場合、1単位に含まれるマクロブロックの数によって合成探索範囲が水平方向および垂直方向に拡張する。このときも、SRAMの容量などに鑑みマクロブロックの数を決定すれば、より効率の良い動きベクトル探索が可能となる。
また実施の形態1では、上下に接する2つのマクロブロックを1単位としたが、左右に接するマクロブロックを1単位とし、それらに対する探索範囲内の画素データを1度にSRAMに転送するようにしてもよい。この場合は、左右の2つのマクロブロックに対する動きベクトル探索を終了したら、次はその下に位置する2つのマクロブロックに対する動きベクトル探索を行う、というように垂直方向に処理を進めていく。このようにしても、本実施の形態1で説明したのと同様、効率の良いベクトル探索が実現できる。
さらに、これまで説明してきた動きベクトル探索の処理順を、そのまま符号化装置が出力する符号化ストリームの構成順としてもよい。すなわち、動きベクトル検出部62で取得した動きベクトルを、取得した順に動き補償予測部68および可変長符号化部90に与え、最終的にはDCT係数と動きベクトル情報とを、動きベクトルを探索した順序で多重化して出力する。このとき、探索した順序で可変長符号化などが滞りなく行われるよう、すでに動きベクトルを検出したマクロブロックのデータで符号化するようにしてもよい。例えば実施の形態1では、上、左上、左に隣接するマクロブロックの動きベクトルを用いて、動きベクトルの差分符号化を行う。これにより、ストリーム形成を含めたいずれの処理においてもデータの並べ替えを行うことなく、本実施の形態の動きベクトル探索による効率性向上が得られるため、より一層、符号化処理レートを向上させることができる。
実施の形態1における符号化装置の構成を示す図である。 図1の動き補償部の構成を示す図である。 一般的な全探索法において動きベクトルが検出されるマクロブロックの処理順を模式的に示す図である。 図3の処理順において連続して処理される2つの対象マクロブロックに対する探索範囲の推移を模式的に示す図である。 実施の形態1において動きベクトルが検出されるマクロブロックの処理順を模式的に示す図である。 図5の処理順において連続して処理される4つの対象マクロブロックに対する探索範囲の推移を模式的に示す図である。 H.264/AVCにおいて動きベクトルの差分符号化を行う際に必要となるマクロブロックの位置関係を説明する図である。 実施の形態2において動きベクトルが検出されるマクロブロックの処理順を模式的に示す図である。 図8の処理順において連続して処理される4つの対象マクロブロックに対する探索範囲の推移を模式的に示す図である。
符号の説明
20 DCT部、 30 量子化部、 60 動き補償部、 62 動きベクトル検出部、 66 SRAM、 68 動き補償予測部、 80 フレームメモリ、 82 SBUS、 90 可変長符号化部、 92 多重化部、 100 符号化装置、 210 フレーム、 220 対象マクロブロック。

Claims (5)

  1. 動画像のピクチャを符号化する符号化装置であって、
    符号化対象ピクチャの動き検出をする際に参照する参照ピクチャを保持するフレームメモリと、
    前記フレームメモリに保持された前記参照ピクチャを参照して、前記符号化対象ピクチャの所定のブロック幅を有するブロックごとに動き探索を繰り返して動き検出を行う動き検出部とを含み、
    前記動き検出部は、一の方向に隣接した複数のブロックを一の対象ブロック群とし、前記一の対象ブロック群に含まれる複数のブロックにそれぞれ対応する、前記参照ピクチャにおける動き探索範囲の和を含む、合成探索範囲の画素データを、前記フレームメモリから読み込む内部メモリを含み、
    前記動き検出部は、前記内部メモリに保持された前記合成探索範囲に含まれる前記動き探索範囲を探索することにより、前記一の対象ブロック群に含まれる複数のブロックの動き検出を連続して行い、その後、前記一の方向と異なる方向に隣接した複数のブロックを次の対象ブロック群として動き検出を連続して行うことを順次繰り返すことにより動き検出を進捗させることを特徴とする符号化装置。
  2. 前記一の対象ブロック群に含まれる複数のブロックは、ピクチャの垂直方向に隣接していることを特徴とする請求項1に記載の符号化装置。
  3. 前記一の対象ブロック群に含まれる複数のブロックは、ピクチャのななめ方向に隣接していることを特徴とする請求項1に記載の符号化装置。
  4. 前記動き検出部は、前記次の対象ブロック群の処理開始時に、前記次の対象ブロック群に対応する前記合成探索範囲のうち前記内部メモリに保持されていた画素データの領域に含まれない領域の画素データを、前記フレームメモリから前記内部メモリに読み込むことを特徴とする請求項1から3のいずれかに記載の符号化装置。
  5. 動画像のピクチャの所定のブロック幅を有するブロックごとに動き検出を行い、符号化データを出力する符号化方法であって、
    一の方向に隣接した複数のブロックを一の対象ブロック群とし、前記一の対象ブロック群に含まれる前記複数のブロックの動き検出を連続して行うステップと、
    前記一の方向と異なる方向に隣接した複数のブロックを次の対象ブロック群として連続して動き検出を行うことを順次繰り返すことにより動き検出を進捗させるステップと、
    前記動き検出を行ったブロックの順序で、対応する符号化データを出力するステップと、
    を含むことを特徴とする符号化方法。
JP2005276417A 2005-09-22 2005-09-22 符号化装置と符号化方法 Pending JP2007088922A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005276417A JP2007088922A (ja) 2005-09-22 2005-09-22 符号化装置と符号化方法
US11/520,709 US20070064808A1 (en) 2005-09-22 2006-09-14 Coding device and coding method enable high-speed moving image coding

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005276417A JP2007088922A (ja) 2005-09-22 2005-09-22 符号化装置と符号化方法

Publications (1)

Publication Number Publication Date
JP2007088922A true JP2007088922A (ja) 2007-04-05

Family

ID=37884053

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005276417A Pending JP2007088922A (ja) 2005-09-22 2005-09-22 符号化装置と符号化方法

Country Status (2)

Country Link
US (1) US20070064808A1 (ja)
JP (1) JP2007088922A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010010943A1 (ja) * 2008-07-25 2010-01-28 ソニー株式会社 画像処理装置および方法
JP2012227608A (ja) * 2011-04-15 2012-11-15 Toshiba Corp 画像符号化装置及び画像復号装置

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5053774B2 (ja) * 2007-09-14 2012-10-17 キヤノン株式会社 動画像符号化装置
US8498493B1 (en) 2009-06-02 2013-07-30 Imagination Technologies Limited Directional cross hair search system and method for determining a preferred motion vector
US20100309981A1 (en) * 2009-06-04 2010-12-09 Texas Instruments Incorporated Reuse of a search region in motion estimation of multiple target frames
US9672584B2 (en) * 2012-09-06 2017-06-06 Imagination Technologies Limited Systems and methods of partial frame buffer updating
EP3264284B1 (en) * 2015-03-27 2021-09-15 Huawei Technologies Co., Ltd. Data processing method and device
CN105376582B (zh) * 2015-11-17 2018-10-16 复旦大学 适用于hevc标准的基于sram的dct输入输出数据缓存方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5801778A (en) * 1996-05-23 1998-09-01 C-Cube Microsystems, Inc. Video encoding with multi-stage projection motion estimation
US6195389B1 (en) * 1998-04-16 2001-02-27 Scientific-Atlanta, Inc. Motion estimation system and methods
WO2000022833A1 (en) * 1998-10-13 2000-04-20 Stmicroelectronics Asia Pacific Pte Ltd Motion vector detection with local motion estimator
JP4163618B2 (ja) * 2001-08-28 2008-10-08 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化伝送システム、動画像符号化伝送方法、これらに用いて好適な符号化装置、復号化装置、符号化方法、復号化方法及びプログラム
US6980596B2 (en) * 2001-11-27 2005-12-27 General Instrument Corporation Macroblock level adaptive frame/field coding for digital video content
US7369706B2 (en) * 2003-01-06 2008-05-06 Matsushita Electric Industrial Co., Ltd. Image-data processing device, image-data processing method, image-data distributing device and image-data transmitting system
US7440500B2 (en) * 2003-07-15 2008-10-21 Lsi Logic Corporation Supporting motion vectors outside picture boundaries in motion estimation process
US20060002472A1 (en) * 2004-06-30 2006-01-05 Mehta Kalpesh D Various methods and apparatuses for motion estimation
TWI250423B (en) * 2004-07-30 2006-03-01 Ind Tech Res Inst Method for processing video images

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010010943A1 (ja) * 2008-07-25 2010-01-28 ソニー株式会社 画像処理装置および方法
JPWO2010010943A1 (ja) * 2008-07-25 2012-01-05 ソニー株式会社 画像処理装置および方法
US8483495B2 (en) 2008-07-25 2013-07-09 Sony Corporation Image processing device and method
RU2494568C2 (ru) * 2008-07-25 2013-09-27 Сони Корпорейшн Способ и устройство обработки изображения
JP2012227608A (ja) * 2011-04-15 2012-11-15 Toshiba Corp 画像符号化装置及び画像復号装置

Also Published As

Publication number Publication date
US20070064808A1 (en) 2007-03-22

Similar Documents

Publication Publication Date Title
US8000388B2 (en) Parallel processing apparatus for video compression
KR101485014B1 (ko) 크기 조정 가능한 스트림의 형태로 비디오 콘텐츠를 코딩하는 디바이스 및 방법
JP3662171B2 (ja) 符号化装置及び符号化方法
RU2573257C2 (ru) Устройство декодирования сигнала изображения, способ декодирования сигнала изображения, устройство кодирования сигнала изображения, способ кодирования сигнала изображения и программа
JP4401336B2 (ja) 符号化方法
US20070047649A1 (en) Method for coding with motion compensated prediction
JP4703449B2 (ja) 符号化方法
JP5340289B2 (ja) 画像復号装置、画像復号方法、集積回路及びプログラム
JP2007088922A (ja) 符号化装置と符号化方法
JP2014506443A (ja) 平滑化演算を適応的に実行すること
JP2006279573A (ja) 符号化装置と方法、ならびに復号装置と方法
JP2006217560A (ja) 参考フレームバッファメモリのサイズとアクセス量を減らす方法
JP2008011455A (ja) 符号化方法
US8379985B2 (en) Dominant gradient method for finding focused objects
CN113259671B (zh) 视频编解码中的环路滤波方法、装置、设备及存储介质
US20080089418A1 (en) Image encoding apparatus and memory access method
JP2007036888A (ja) 符号化方法
JP2006279574A (ja) 復号装置と方法
JP2007036889A (ja) 符号化方法
US20090067494A1 (en) Enhancing the coding of video by post multi-modal coding
JP2011211498A (ja) 画像符号化装置および画像符号化方法
JP4401341B2 (ja) 符号化方法
Salah et al. Hevc implementation for iot applications
US20130170565A1 (en) Motion Estimation Complexity Reduction
JP2007036887A (ja) 符号化方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070911

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20081201

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20081217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090127

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090609