JP2011097488A - 映像圧縮符号化装置 - Google Patents

映像圧縮符号化装置 Download PDF

Info

Publication number
JP2011097488A
JP2011097488A JP2009251589A JP2009251589A JP2011097488A JP 2011097488 A JP2011097488 A JP 2011097488A JP 2009251589 A JP2009251589 A JP 2009251589A JP 2009251589 A JP2009251589 A JP 2009251589A JP 2011097488 A JP2011097488 A JP 2011097488A
Authority
JP
Japan
Prior art keywords
reference image
data
inter
macroblock
memory
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
JP2009251589A
Other languages
English (en)
Inventor
Masanari Hamamoto
真生 濱本
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.)
Hitachi Kokusai Electric Inc
Original Assignee
Hitachi Kokusai Electric Inc
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 Hitachi Kokusai Electric Inc filed Critical Hitachi Kokusai Electric Inc
Priority to JP2009251589A priority Critical patent/JP2011097488A/ja
Publication of JP2011097488A publication Critical patent/JP2011097488A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】従来の映像圧縮符号化装置では、画面間予測処理において、記憶容量不足により参照画像を複数枚使用できず、インタレース映像の動きの無い画像領域において大きな画質劣化を招いたり、参照画像を複数枚使用する場合でも、探索範囲の垂直方向範囲を十分に確保できず、動きの大きな映像において大きな画質劣化を招くなどの問題があった。
【解決手段】画面間予測を用いて映像データの圧縮符号化を行う映像圧縮符号化装置において、入力画像150についての動き検出を実行する際に参照される参照画像について、参照画像の枚数および動き検出に使用される参照画像上の探索範囲の大きさの少なくとも一方を制御する。
【選択図】図1

Description

本発明は、映像データを圧縮符号化する映像圧縮符号化装置に関し、特に、画面間予測(フレーム間予測)を用いた符号化方式に関する。
近年、ブロードバンドネットワークの発達による動画配信コンテンツの増加や高精細映像ディスプレイの普及等の状況下において、MPEG(Moving Picture Expert Group)等の映像圧縮符号化技術は必要不可欠な技術となっている。
一般的な映像圧縮符号化技術において、符号化処理とは、処理対象画像をより少ないデータ量のストリームに変換する処理である。一方、復号化処理とは、符号化処理の結果であるストリームから、元の画像を復元する処理である。MPEG方式の符号化処理においては、圧縮効率を高めるために、予測技術を用いた符号化を行う。予測方式としては、画面間予測(フレーム間予測とも言われる)と画面内予測の二つが存在する。これらのうち、特に画面間予測は符号化効率が高く、高画質化に大きく寄与する。
画面間予測は、処理対象画像の前後の、参照画像と言われる複数フレームを用いて、処理対象画像に対する予測画像を作成し、作成した予測画像と処理対象画像との差分を伝送することで、画像データの情報量を削減する予測方式である。予測画像は、参照画像上から処理対象画像と最も良く似た部分を探し、抜き出すことで作成される。この参照画像上から処理対象画像と最も良く似た部分を探し出す処理は、具体的には、映像中の物体の動きを追う処理(すなわち、動き量を求める処理)であるため、動き検出処理などと呼ばれる。
画面間予測においては、動き検出処理および予測画像作成処理のために参照画像データと呼ばれるデータが必要になる。一般的に、MPEG方式では処理対象画像をマクロブロックと呼ばれる所定サイズの画素ブロックに分割し、マクロブロックごとに順次、予測画像の作成を行う。このとき、各マクロブロックの予測画像は、処理対象画像におけるマクロブロックの位置に対応する参照画像上での位置を中心とした探索範囲と言われる領域内から検出されるため、マクロブロックごとに探索範囲分の参照画像データが必要となる。
特に最新の映像圧縮符号化技術の標準規格であるMPEG4−AVC(MPEG-4 Part 10 Advanced Video Coding)/H.246では、画面間予測において複数枚の参照画像を用いて予測画像を作成することで高画質化を実現しているため、使用する参照画像の枚数に比例した探索範囲分の参照画像データを必要とする。
また、一般的に、参照画像データは映像圧縮符号化装置内のフレームバッファと言われる記憶領域に格納される。フレームバッファは数メガから数十メガバイトの記憶容量を必要とするためDRAM(Dynamic Random Access Memory)などの大容量メモリで構成される場合が多い。そのため、画面間予測を処理する画面間予測処理部とフレームバッファとは別々のIC(Integrated Circuit)チップに構成されるのが一般的であり、フレームバッファと画面間予測処理部との間のデータ転送帯域の不足がしばしば問題となる。特に高精細映像用の映像圧縮符号化装置においては上記問題が顕在化する。そのため、特許文献1に記載されているように、画面間予測処理部と同一のチップ内に参照画像データをマクロブロックライン単位でキャッシュするための参照画像バッファを持たせ、次のマクロブロックの画面間予測に必要となる参照画像データをあらかじめ読み込んでおくという方法が一般的に採用される。この方法は先読み処理などと言われるが、この先読み処理によって画面間予測に必要なデータ転送帯域を削減することは、一般的によく行われている手法である。なお、「マクロブロックライン」とは、参照画像を水平方向に分割した帯状の画像であって、その垂直方向の幅がマクロブロックの垂直方向の幅と同一幅である画像を言う。
図8は、従来の高精細映像用の映像圧縮符号化装置の構成例を示す図である。従来における映像圧縮符号化装置900は、画面間予測処理部901と、符号化処理部102と、外部メモリ制御部103と、参照画像バッファ111と、参照画像バッファ制御部912と、外部メモリ(フレームバッファ)120とによって構成される。
画面間予測処理部901は、画面間予測による予測画像を生成する機能を有する。具体的には、参照画像バッファ111より読出した参照画像と処理対象画像である入力画像150とを用いて動き検出処理を行い、入力画像150に対する予測画像を生成する。
符号化処理部102は、生成された予測画像と入力画像150との差分である差分画像に対して符号化処理を施し、ストリーム(符号化データ)151を生成する機能を有する。より具体的には、符号化処理部102は、差分画像に対して直交変換処理、量子化処理を行い、さらに可変長符号化処理を施してストリーム151を生成する。また、符号化処理部102は、量子化処理後のデータに対し、逆量子化処理、逆直交変換処理を行って差分画像を復元し、予測画像に、復元された差分画像を加算することで再構成画像を生成し、外部メモリ制御部103を介して外部メモリ120へ出力する。
参照画像バッファ111は、参照画像データをマクロブロックライン単位でキャッシュするためのメモリである。また、参照画像バッファ111は、画面間予測処理部901での予測処理に使用する参照画像の枚数に応じたメモリ数を備える。
参照画像バッファ制御部112は、参照画像バッファ111を制御する機能を有する。具体的には、参照画像バッファ制御部112は、参照画像を格納している外部メモリ120から、参照画像の一部データである参照画像データを読出し、参照画像バッファ111を構成するメモリの任意のアドレスへ書込む制御を行う。
外部メモリ120は、参照画像を格納するフレームバッファである。また、外部メモリ120は、符号化処理部102から出力された再構成画像を記憶する。この外部メモリ120に記憶された再構成画像は、参照画像として、外部メモリ制御部103を介して参照画像バッファ111へ出力される。
特開2009−152710号公報
従来の映像圧縮符号化装置においては、図8に示すように、参照画像バッファ111を備えることによって高精細映像の圧縮符号化処理におけるデータ転送帯域不足の問題を解決することができた。しかし、参照画像バッファ111に必要な記憶容量は特に探索範囲の垂直方向範囲に比例し、かつ、参照画像1枚あたり数メガビットの記憶容量を必要とする。また、高画質化のためには予測画像生成の際に複数の参照画像を用いる必要があるため、参照画像バッファ111は非常に大きな記憶容量が必要である。この点については、特に、参照画像バッファ111の記憶容量を制限しなければならない状況下において大きな問題となる。なぜなら、記憶容量一定の状況下においては、参照画像枚数と探索範囲の垂直方向の大きさとはトレードオフの関係となるからである。以下、この点について、より具体的に説明する。
図9は、映像圧縮符号化装置900において、1枚の参照画像を用いた動き検出処理について説明する図である。図9において、画像701は圧縮符号化を行う処理対象画像である。また、画像702は処理対象画像701を圧縮符号化処理する際に使用される参照画像である。
処理対象画像701のマクロブロック711について動き検出処理を行う場合、参照画像702における探索範囲は、処理対象画像701におけるマクロブロック711の位置に対応する参照画像702上での位置(図中の破線部分)を中心とした領域732となる。この時、参照画像バッファ111は、探索範囲732を含む参照画像データ722を保持する。ここで、画面間予測処理部901は、探索範囲732からマクロブロック711の動き量742を求めることによって予測画像を生成する。しかしながら、このように1枚の参照画像を用いて生成された予測画像は、特にインタレース映像の動きの無い画像領域において大きな画質劣化を招くという問題があった。
次に、参照画像を2枚用いて動き検出処理を行う場合について説明する。図10は、映像圧縮符号化装置900において、2枚の参照画像を用いた動き検出処理について説明する図である。図10において、画像801は処理対象画像であり、画像802、803は参照画像である。
処理対象画像801のマクロブロック811について動き検出処理を行う場合、参照画像802における探索範囲は、処理対象画像801におけるマクロブロック811の位置に対応する参照画像802上での位置(図中の破線部分)を中心とした領域832となり、参照画像803における探索範囲は、処理対象画像801におけるマクロブロック811の位置に対応する参照画像803上での位置(図中の破線部分)を中心とした領域833となる。そして、この時、参照画像バッファ111は、探索範囲832を含む参照画像データ822、および探索範囲833を含む参照画像データ823を保持する(図中の網掛け部分)。また、画面間予測処理部901は、探索範囲832、833からマクロブロック811の動き量842、843を求め、それぞれの動き量に対応した予測画像を生成する。そして、より精度の高い予測画像を採用して符号化処理を行う。以上のように2枚の参照画像を用いて生成された予測画像は、インタレース映像においても高画質を達成できる。しかし、参照画像バッファ111の記憶容量の制限により、探索範囲の垂直方向を十分に確保できず、動きの大きな映像において大きな画質劣化を招くという問題があった。
映像圧縮符号化装置においては、一般的に、ICチップのコストに大きな制約があって記憶容量を抑えなければならない場合や、フィールドプログラマブルゲートアレイ(FPGA)のように記憶容量に制限があるデバイスを用いて高精細映像用の映像圧縮符号化装置を実現する場合がある。このような場合、上述したように、従来の映像圧縮符号化装置では記憶容量不足により参照画像を複数枚使用できず、インタレース映像の動きの無い画像領域において大きな画質劣化を招くという問題がある。また、参照画像を複数枚使用できる場合でも、探索範囲の垂直方向を十分に確保できず、動きの大きな映像において大きな画質劣化を招くなど、高画質化の観点から大きな問題があった。
上記の課題を解決するために、本発明は、画面間予測を用いて映像データの圧縮符号化を行う映像圧縮符号化装置であって、前記圧縮符号化を行う画像における動き検出において参照される参照画像についての制御であり、前記画面間予測における動き検出の結果である動きベクトルの大きさに応じて、前記画面間予測において参照される参照画像の枚数と前記参照画像における探索範囲の大きさとの少なくとも一方を制御する制御手段(例えば、図1の参照画像バッファ制御部112)を有することを特徴とする映像圧縮符号化装置を提案する。
この構成によれば、映像データの圧縮符号化処理の画面間予測において使用される参照画像の枚数および参照画像における探索範囲の大きさを動的に変更することが可能となる。よって、限られた記憶容量であっても、圧縮映像データの高画質化が可能となる。
以上のように、本発明によれば、映像圧縮符号化装置において限られた記憶容量であっても、圧縮映像データの高画質化が可能である。
本発明の映像圧縮符号化装置の構成例を示す図である。 参照画像バッファ制御部112の具体的構成の一例を示すブロック図である。 映像圧縮符号化装置における処理の流れを示すフロー図である。 参照画像バッファ111における参照画像データの保持状態を示す図である。 参照画像バッファ111における参照画像データの保持状態を具体的に示す図である。 参照画像枚数を2枚から1枚へと切り替える場合の参照画像バッファ111の制御方法について説明する図である。 参照画像枚数を1枚から2枚へと切り替える場合の参照画像バッファ111の制御方法について説明する図である。 従来の高精細映像用の映像圧縮符号化装置の構成例を示す図である。 従来の映像圧縮符号化装置において、1枚の参照画像を用いた動き検出処理について説明する図である。 従来の映像圧縮符号化装置において、2枚の参照画像を用いた動き検出処理について説明する図である。
以下、本発明の実施形態について、図面を参照しながら説明する。なお、以下の説明において参照する各図では、他の図と同等部分は同一符号によって示す。
(映像圧縮符号化装置の構成)
図1は、本実施形態に係る映像圧縮符号化装置の構成例を示す図である。図1において、映像圧縮符号化装置100は、画面間予測処理部101と、符号化処理部102と、外部メモリ制御部103と、参照画像バッファ111と、参照画像バッファ制御部112と、外部メモリ(フレームバッファ)120とを含んで構成される。
ここで、画面間予測処理部101と参照画像バッファ制御部112以外の機能については、図8に示す従来の映像圧縮符号化装置900における機能と同様であり、特許文献1に記載されているように当業者にとっては周知の技術である。このため、それらの機能については、ここでの詳細な説明は省略する。
本実施形態に係る映像圧縮符号化装置100の特徴は、画面間予測処理部101が出力する動き情報に基づいて、参照画像バッファ111が保持する参照画像枚数および探索範囲の垂直方向の大きさを、参照画像バッファ制御部112が動的に制御する点にある。以下、この点について詳細に説明する。
(参照画像バッファ制御部112の具体的構成)
図2は、参照画像バッファ制御部112の具体的構成の一例を示すブロック図である。参照画像バッファ制御部112は、動き情報統計値算出部201と、参照枚数決定部202と、制御部203と、を有する。
動き情報統計値算出部201は、画面間予測処理部101から出力される入力画像150の垂直方向動き情報250を受信して統計値を算出し、この統計値を統計情報254として参照枚数決定部202へ出力する。ここで、「垂直方向動き情報」とは、入力画像150の垂直方向の動きの大きさを反映できる情報であり、具体的には、例えば動きベクトル(MVx,MVy)の垂直方向成分MVyを示す情報である。
参照枚数決定部202は、動き情報統計値算出部201が出力する統計情報254を用いて参照画像枚数を決定し、参照枚数情報255として制御部203に出力する。統計情報254は、具体的には、例えば、所定期間Tにおける動きベクトルの垂直方向成分の絶対値abs(MVy)が特定の閾値以上となっている割合を示す情報であるとする。すると、参照枚数決定部202は、この統計情報254が示す割合が所定値より大きい値であれば参照画像枚数を減らし、所定値未満であれば参照画像枚数を増やす等して、採用すべき参照画像枚数を決定する。また、参照枚数決定部202は、統計情報254が示す割合が所定値である場合には何ら処理を実行しない(つまり、参照画像枚数を変更しない)、もしくは、参照画像枚数を、画面間予測処理部101にて参照している参照画像枚数と同じ枚数に決定する等となっていてもよい。なお、参照画像枚数を削減することで探索範囲の垂直方向を大きくすることが可能となり、動きの大きな映像についても高画質化を実現できる。
制御部203は、参照枚数決定部202から出力される参照枚数情報255を受信して、外部メモリ制御部103への参照画像データ読出しのための制御信号251と、参照画像バッファ111への参照画像データ書込みのための制御信号252とを出力することで、参照画像バッファ111のバッファ状態を制御する。制御信号251の具体例としては、例えば外部メモリ120への読出しアドレスや読出しリクエスト信号などが挙げられる。また、制御信号252の具体例としては、例えば参照画像バッファ111への書込みアドレスや書込みリクエスト信号などが挙げられる。
また、制御部203は、画面間予測処理部101へ参照画像バッファ状態情報253を出力することで、画面間予測処理部101へ参照画像バッファ111の状態を通知する。参照画像バッファ状態情報253の具体例としては、例えば参照枚数情報255、参照画像バッファ111の各メモリへの参照画像データ割当て情報などが挙げられる。制御部203による参照画像バッファ111の制御方法については、後に詳述する。
また、画面間予測処理部101は、参照画像バッファ状態情報253に基づいて参照画像バッファ111の参照画像データ読出しアドレスの切り替え、および参照画像枚数に応じた動き検出処理の動作切り替えを行い、予測画像を生成する。この点については、後に詳述する。
なお、上述した各構成の機能は、映像圧縮符号化装置100の図示しないCPU(Central Processing Unit)がメモリ等の記録媒体に記憶されているプログラムを読出して実行することにより実現される機能である(もしくは、例えばFPGA(Field Programmable Gate Array)においてシーケンサロジックをカスタム設計することにより実現される場合等もある)。また、垂直方向の動き情報250、参照画像バッファ状態情報253、統計情報254、参照枚数情報255は、映像圧縮符号化装置100のメモリ等の記録媒体に記憶され、必要に応じて適宜メモリ上のワーク領域に読出されてCPUによって処理されるデータである。また、図1中の参照画像バッファ111、外部メモリ120は、図示しない映像圧縮符号化装置100内の記録媒体に設けられたデータ記憶領域である。なお、参照画像を複数枚使用した画面間予測処理を許容するために、参照画像バッファ111は、例えば、許容する最大参照画像枚数と同数のメモリを備えている。
(映像圧縮符号化装置における処理の流れ)
ここで、図3を用いて、本実施形態に係る映像圧縮符号化装置100における処理の流れについて説明する。図3は、映像圧縮符号化装置100における処理の流れを示すフロー図である。
画面間予測処理部101において、入力画像150における所定のマクロブロックについて画面間予測処理が実行される(ステップS102)。
動き情報統計値算出部201において、画面間予測処理部101から出力される入力画像150の垂直方向動き情報250(例えば、動きベクトルの垂直方向成分)に基づいて、統計情報254が生成される(ステップS104)。
参照枚数決定部202において、ステップS104において生成された統計情報254に基づいて参照画像枚数が決定され、参照枚数情報255が生成される(ステップS106)。
ステップS106において決定された参照画像枚数に従って、制御部203から画面間予測処理部101に対して、参照画像バッファ状態情報253が出力される。さらに、制御部203から外部メモリ制御部103に対して参照画像データ読出しのための制御信号251が出力され、参照画像バッファ111に対して参照画像データ書込みのための制御信号252が出力される(ステップS108)。
外部メモリ103、参照画像バッファ111に対して出力された制御信号251、252に基づいて、適切な参照画像データが、外部メモリ120から参照画像バッファ111に読込まれる(ステップS110)。
符号化処理を終了するまで、ステップS102に戻って、上記の処理を繰り返す(ステップS112)。
なお、ステップS108における参照画像バッファ状態情報253および制御信号251、252は、参照画像枚数が変更となった場合にのみ出力されるようになっていてもよい。すなわち、参照枚数決定部202において決定された参照画像枚数が、それまでの参照画像枚数と異なる場合にのみ、制御部203から、参照画像バッファ状態情報253等が出力されるようになっていてもよい。この場合、参照画像バッファ状態情報253等が制御部203から出力されない間は、参照画像枚数を変更することなく画面間予測処理が継続される。そして、参照画像バッファ状態情報253等が制御部203から出力された場合には、ステップS110において読込まれる参照画像データが変更となる。
(参照画像バッファ制御部112の動作)
次に、参照画像バッファ制御部112の動作について、図4乃至図7を用いて詳細に説明する。なお、以下では、特に、図3のステップS110における参照画像データの読込み処理について説明する。
また、本実施形態に係る参照画像バッファ制御部112の動作についての理解を容易とするために、まず、図4および図5を用いて、参照画像バッファ111における参照画像データの保持方法について、一般的な方法を説明する。本例においては、参照画像バッファ111の最大記憶容量は6マクロブロックライン分であり、最大参照画像枚数は2枚であることを前提として説明する。
(参照画像バッファ111における参照画像データの保持方法)
図4は、参照画像バッファ111における参照画像データの保持状態を示す図である。図4(a)は、参照画像が1枚である場合の参照画像バッファ111における参照画像データの保持状態を示す。上述したように、参照画像バッファ111の最大記憶容量は6マクロブロックライン分であるので、参照画像バッファ111に確保可能な最大マクロブロックライン数は5ラインである。つまり、図4(a)の場合、参照画像302のデータのうち、入力画像150におけるマクロブロックの位置に対応する参照画像302上のブロック351の属するマクロブロックライン302n2を中心に図中の上側に2ライン(302n、302n1)、下側に2ライン(302n3、302n4)で合計5マクロブロックライン分の参照画像データ303が参照画像バッファ111に保持される。すなわち、参照画像データ303は、参照画像302上のN番目のマクロブロックライン302nから、(N+4)番目のマクロブロックライン302n4までのデータで構成される。なお、この時、ブロック351は、(N+2)番目のマクロブロックライン302n2上に存在することになる。
また、同図中の参照画像302における探索範囲304は、同図中の太線の領域である。すなわち、探索範囲304は、ブロック351を中心に垂直方向±2マクロブロックを上限とした領域となる。そして、ブロック351において動き検出処理がなされている間に、参照画像バッファ制御部112は、参照画像バッファ111に新たな参照画像データ305を格納しておくための制御を行う。この新たな参照画像データ305とは、次のマクロブロックにおける動き検出処理の際に参照される参照画像データである。MPEG方式では参照画像の左から右へと順次マクロブロックごとに符号化処理がされていくため、参照画像データ305を先に読出しておく。つまり、動き検出処理に用いられる時よりも前の時点で参照画像データ305をあらかじめ読出しておくことで、探索範囲を次の位置にスムーズに移行することが可能となる。これは、一般的に、参照画像データの先読みと呼ばれる手法である。
また、図4(b)は、参照画像が2枚である場合の参照画像バッファ111における参照画像データの保持状態を示す。上述したように、参照画像バッファ111の最大記憶容量は6マクロブロックライン分であり、最大参照画像枚数は2枚である。すなわち、参照画像バッファ111は2枚のメモリを有し、各メモリはそれぞれ3マクロブロックライン分の記憶容量を持っている。また、2枚の参照画像における参照画像データは同時に動き検出に利用されるため、この2枚のメモリ上に(すなわち、メモリによって実現される記憶領域に)それぞれ読出しておく必要がある。よって、図4(b)の場合、2枚の参照画像312、322のデータのうち、入力画像150におけるマクロブロックの位置に対応する参照画像302上のブロック361、371を中心に、それぞれ、3マクロブロックライン分の参照画像データ313、323が各メモリ上に読出されて保持される。
参照画像データ313は、具体的には、参照画像312上のN番目のマクロブロックライン312nから、(N+2)番目のマクロブロックライン312n2までのデータで構成される。参照画像データ323は、参照画像322上のN番目のマクロブロックライン322nから、(N+2)番目のマクロブロックライン322n2までのデータで構成される。また、ブロック361、371は、それぞれ、(N+1)番目のマクロブロックライン312n1、322n1上に存在することになる。
また、参照画像312、322における探索範囲314、324は、それぞれ、ブロック361、371を中心に垂直方向±1マクロブロックを上限とした領域となる。そして、ブロック361、371において動き検出処理がなされている間に、参照画像バッファ制御部112は、新たな参照画像データ315、325を参照画像バッファ111に先読みされて書込まれる。
次に、図5を用いて、参照画像バッファ111における参照画像データの保持方法について具体的に説明する。図5は、参照画像バッファ111における参照画像データの保持状態を具体的に示す図である。
上述したように、参照画像バッファ111の最大記憶容量は6マクロブロックライン分であり、最大参照画像枚数は2枚であるので、参照画像バッファ111は、3マクロブロックライン分の記憶容量のメモリを2つ備えるのが好適である。以下、本例においては、参照画像バッファ111は、3マクロブロックライン分の記憶容量の2つのメモリ401、402を備えているものとして説明する。
また、各メモリ401、402において、1マクロブロックライン分のメモリ単位であるメモリバンクごとに制御される。メモリ401は、メモリバンクB0、B1、B2により構成され、メモリ402は、メモリバンクB3、B4、B5により構成される。
図5(a)は、図4(a)に示したように参照画像が1枚である場合の参照画像バッファ111の状態の詳細を示す図である。また、図5(b)は、図4(b)に示したように参照画像が2枚である場合の参照画像バッファ111の状態の詳細を示す図である。
図5(a)に示すように、参照画像が1枚である場合、2枚のメモリ401、402を組み合わせて6マクロブロックライン分の記憶容量を持つ1つのメモリとして運用される。すなわち、メモリ401、402によって5マクロブロックライン302n〜302n4のデータが保持される。具体的には、メモリ401のメモリバンクB0、B1、B2に、それぞれ、マクロブロックライン302n、302n1、302n2のデータが保持され、メモリ402のメモリバンクB3、B4に、それぞれ、マクロブロックライン302n3、302n4のデータが保持される。
そして、参照画像バッファ111に参照画像データ305を先読みする処理は、具体的には、以下のようにして実行される。すなわち、古いデータとして参照画像302の(N−2)番目のマクロブロックライン302n2’のデータを保持しているメモリ402のメモリバンクB4のメモリ空間が開放され、そこに先読み参照画像データ305が書込まれる。また、図5(a)には図示しないが、メモリバンクB4へ(N+4)番目のマクロブロックライン302n4のデータがすべて書込まれた後は、古いデータである(N−1)番目のマクロブロックライン302n1’ のデータを保持しているメモリ402のメモリバンクB5のメモリ空間が開放され、そこに(N+5)番目のマクロブロックラインのデータが順次書込まれていく。以上の処理が繰り返されることで、探索範囲304が必要とする参照画像データ303は参照画像バッファ111に供給され続ける。
また、図5(b)に示すように、参照画像が2枚である場合、2枚のメモリ401、402は、それぞれ3マクロブロックライン分の記憶容量を持つ独立した2つのメモリとして運用される。すなわち、メモリ401には、3マクロブロックライン312n〜312n2のデータが保持され、メモリ402には、3マクロブロックライン322n〜322n2のデータが保持される。具体的には、メモリ401のメモリバンクB0、B1、B2に、それぞれ、マクロブロックライン312n、312n1、312n2のデータが保持され、メモリ402のメモリバンクB3、B4、B5に、それぞれ、マクロブロックライン322n、322n1、322n2のデータが保持される。
そして、参照画像データ315を参照画像バッファ111に先読みする処理は、具体的には、以下のようにして実行される。すなわち、古いデータとして参照画像312の(N−1)番目のマクロブロックライン312n1’のデータを保持しているメモリ401のメモリバンクB2のメモリ空間が開放され、そこに先読み参照画像データ315が書込まれる。また、図5(b)には図示しないが、メモリバンクB2へ(N+2)番目のマクロブロックライン312n2のデータがすべて書込まれた後は、N番目のマクロブロックライン312nのデータを保持しているメモリバンクB0のメモリ空間が開放され、そこに(N+3)番目のマクロブロックラインのデータが順次書込まれていく。以上の処理が繰り返されることで、探索範囲314が必要とする参照画像データ313は参照画像バッファ111に供給され続ける。
同様に、参照画像データ325を参照画像バッファ111に先読みする処理は、具体的には、以下のようにして実行される。参照画像322の(N−1)番目のマクロブロックライン322n1’のデータを保持しているメモリ401のメモリバンクB5のメモリ空間が開放され、そこに先読み参照画像データ325が書込まれる。また、図5(b)には図示しないが、メモリバンクB5へ(N+2)番目のマクロブロックライン322n2のデータがすべて書込まれた後は、N番目のマクロブロックライン322nのデータを保持しているメモリバンクB3のメモリ空間が開放され、そこに(N+3)番目のマクロブロックラインのデータが順次書込まれていく。
なお、以上説明した参照画像バッファ111における参照画像データの保持方法は、従来の映像圧縮符号化装置においても一般的に採用されている手法である。
(参照画像バッファ111の制御方法の具体例)
次に、動き検出において参照する参照画像の枚数を動的に切り替えるための参照画像バッファ111の制御方法について、図6および図7を用いて説明する。図6は、参照画像枚数を2枚から1枚へと切り替える制御方法について説明する図である。また、図7は、参照画像枚数を1枚から2枚へと切り替える制御方法について説明する図である。
(参照画像枚数2枚から1枚への切替え)
まず、図6を用いて参照画像枚数を2枚から1枚へと切り替えるための制御方法について説明する。すなわち、以下に説明するのは、上述した図5(b)の状態から図5(a)の状態に切り替えるための制御方法である。
図6(a)は、図5(b)が示す参照画像バッファ111の状態と同じ状態を示している。すなわち、図6(a)に示す状態においては、メモリ401のメモリバンクB0〜B2に参照画像312のN〜(N+2)番目のマクロブロックライン312n、312n1、312n2のデータが書込まれている。また、メモリ402のメモリバンクB3〜B5には参照画像322のN〜(N+2)番目のマクロブロックライン322n、322n1、322n2のデータが書込まれている。
そして、動き検出処理の進行に伴い、メモリバンクB2へ、参照画像312の(N+2)番目のマクロブロックライン312n2のデータの参照画像データ315以降のデータが書込まれていき、同時に、メモリバンクB5へ、参照画像322の(N+2)番目のマクロブロックライン322n2のデータの参照画像データ325以降のデータが書込まれていく。
また、図6(b)に示すように、これらのデータの書込みが完了すると、参照画像322のN番目のマクロブロックライン322nのデータが書込まれていたメモリ402のメモリバンクB3へ、参照画像312の(N+3)番目のマクロブロックライン312n3のデータが書込まれていく。この後、後述するようにメモリバンクB3に続けてメモリバンクB4に、参照画像312の(N+4)番目のマクロブロックライン312n4のデータが書込まれていくが、メモリバンクB3、B4へのデータ書込み速度は、参照画像1枚に切り替えた時(すなわち、図6(e)の状態となった時)のデータ書込み速度(言い換えれば、探索範囲314・315の進行速度、動き検出処理の処理速度、ブロック361・371の進行速度、と言うこともできる。図6の説明において、以下同じ。)よりも速いことが好ましい。特に、2倍以上であれば、より好適である。その理由は、以下の通りである。
すなわち、この後、図6(e)に示すように、探索範囲314は垂直方向に拡大され、この時、メモリバンクB3、B4に書込まれたデータは拡大された探索範囲314の一部を構成する。よって、メモリバンクB3、B4への参照画像312のデータ書込みが、図6(c)〜(d)に示すように探索範囲314がメモリバンクB1〜B3を移行している間に完了するようになっていれば、探索範囲314が拡大する場合にも、動き検出処理を待ち時間なくスムーズに継続することができるからである。
また、図6(c)に示すように、参照画像312のブロック361が(N+2)番目のマクロブロックライン312n2上に移行した段階で、参照画像枚数は1枚に切り替わる。ただし、この段階では、探索範囲の垂直方向はブロック361の±1マクロブロック分を維持する。そして、図6(c)〜(d)に示すように、動き検出処理の進行に伴い、参照画像322の(N+1)番目のマクロブロックライン322n1のデータが書込まれていたメモリ402のメモリバンクB4へ、参照画像312の(N+4)番目のマクロブロックライン312n4のデータが書込まれていく。なお、上述したように、このメモリバンクB4へのデータ書込み速度は、参照画像1枚の時のデータ書込み速度の2倍以上とするのが好ましい。
そして、図6(e)に示すように、ブロック361が(N+3)番目のマクロブロックライン312n3上に移行した段階で、探索範囲314の垂直方向はブロック361の±2マクロブロック分へと拡大される。すなわち、この段階で、参照画像枚数の2枚から1枚への切り替えが完了したことになる。
また、この後は、参照画像322の(N+2)番目のマクロブロックライン322n2のデータが書込まれていたメモリバンクB5へ、参照画像312の(N+5)番目のマクロブロックライン312n5のデータが書込まれていく。このメモリバンクB5へのデータ書込み速度は、参照画像1枚の時のデータ書込み速度と同じであればよい。なお、(e)において、探索範囲314およびブロック361は、図4および図5における探索範囲304およびブロック351に該当する。
以上説明したように、参照画像バッファ111の参照画像データの書込み先と書込み速度の制御、およびこれと連携した探索範囲の制御により、参照画像枚数を2枚から1枚へとスムーズに切り替えることが可能となる。
(参照画像枚数1枚から2枚への切替え)
次に、図7を用いて参照画像枚数を1枚から2枚へと切り替えるための制御方法について説明する。すなわち、以下に説明するのは、上述した図5(a)の状態から図5(b)の状態に切り替えるための制御方法である。
図7(a)は、図5(a)が示す参照画像バッファ111の状態と同様の状態を示している。ただし、図7(a)に示す状態においては、メモリ401、402のメモリバンクB0〜B5に渡って、参照画像312のN〜(N+5)番目のマクロブロックライン312n〜312n5のデータが書込まれている。また、ブロック351は参照画像302の(N+3)番目のマクロブロックライン312n3上に存在し、探索範囲304は(N+1)〜(N+5)番目のマクロブロックライン312n1〜312n5のデータの一部によって構成されている。
そして、動き検出処理の進行に伴い、メモリバンクB5へ、参照画像312の(N+5)番目のマクロブロックライン312n5のデータの参照画像データ315以降のデータが書込まれていく。図7(b)に示すように、メモリバンクB5へのデータの書込みが完了すると、参照画像312の(N+1)番目のマクロブロックライン312n1のデータが書込まれていたメモリバンクB1へ、参照画像322の(N+4)番目のマクロブロックライン322n4のデータの参照画像データ325以降のデータが書込まれていく。この後、後述するようにメモリバンクB1に続けてメモリバンクB2に、参照画像322の(N+5)番目のマクロブロック322n5のデータが書込まれていくが、メモリバンクB1、B2へのデータ書込み速度は参照画像1枚の時のデータ書込み速度(言い換えれば、探索範囲304の進行速度、動き検出処理の処理速度、ブロック351の進行速度、と言うこともできる。図7の説明において、以下同じ。)よりも速いことが好ましい。特に、前者が後者の2倍以上であれば、より好適である。その理由は、以下の通りである。
すなわち、この後、図7(e)に示すように、探索範囲304は、2枚の参照画像の探索範囲314、324となり、メモリバンクB1、B2に書込まれたデータが探索範囲324の一部を構成することになる。よって、メモリバンクB1、B2への参照画像322のデータ書込みが、探索範囲304がメモリバンクB3〜B5を移行している間に完了するようになっていれば、参照画像枚数が1枚から2枚になる場合にも、動き検出処理を待ち時間なくスムーズに継続することができるからである。
また、図7(c)に示すように、参照画像312のブロック351が(N+4)番目のマクロブロックライン312n4上に移行した段階で、探索範囲304の垂直方向はブロック351の±1マクロブロック分へと切り替わる。ただし、この段階では、参照画像枚数は1枚を維持する。そして、動き検出処理の進行に伴い、参照画像312の(N+2)番目のマクロブロックライン312n2のデータが書込まれていたメモリバンクB2へ、参照画像322の(N+5)番目のマクロブロックライン322n5のデータが書込まれていく。なお、上述したように、このメモリバンクB2へのデータ書込み速度は、好ましくは参照画像1枚の時のデータ書込み速度の2倍以上とする。
また、図7(d)に示すように、メモリバンクB2へのデータ書込みが完了すると、参照画像312のN番目のマクロブロックライン312nのデータが書込まれていたメモリバンクB0へ、参照画像322の(N+6)番目のマクロブロックライン322n6のデータが書込まれていく。同時に、参照画像312の(N+3)番目のマクロブロックライン312n3のデータが書込まれていたメモリバンクB3へ、参照画像312の(N+6)番目のマクロブロックライン312n6のデータが書込まれていく。このメモリバンクB0、B3へのデータ書込み速度は、参照画像1枚の時のデータ書込み速度と同じであればよい。
そして、図7(e)に示すように、ブロック351が参照画像312の(N+5)番目のマクロブロックライン312n5上に移行した段階で、参照画像枚数は1枚から2枚へと切り替わる。すなわち、この時、探索範囲は、ブロック361を中心とする探索範囲314と、ブロック371を中心とする探索範囲324の2つとなる。この段階で、参照画像枚数の1枚から2枚への切り替えが完了したことになる。
なお、図5(b)の例ではメモリ401に参照画像312のデータが保持され、メモリ402に参照画像322のデータが保持されているのに対し、図7(e)の例ではメモリ401に参照画像322のデータが保持され、メモリ402に参照画像312のデータが保持されるようになっているが、特段の問題は生じない。なぜならば、先に説明した参照画像バッファ状態情報253によって、参照画像バッファ111を構成する各メモリへの参照画像データの割当てに関する情報が画面間予測処理部101へ通知されるからである。
以上説明したように、参照画像バッファ111の参照画像データの書込み先と書込み速度の制御、およびこれと連携した探索範囲の制御により、参照画像枚数を1枚から2枚へとスムーズに切り替えることが可能となる。
また、このように参照画像バッファ制御部112によって参照画像枚数が変更されると、制御部203から画面間予測処理部101へ参照画像バッファ状態情報253が出力される。これにより、画面間予測処理部101は、参照画像バッファ制御部112の参照画像枚数の決定に応じて、入力画像150の動き検出処理において用いる参照画像の枚数を変更する。
(他の実施形態)
上記実施形態においては、参照画像バッファ制御部112においては、参照画像の枚数を決定しているが、これに代えて、参照画像における探索範囲の垂直方向の大きさを決定するようになっていてもよい。なぜならば、画面間予測処理部101においては、この決定された記憶容量が一定である場合、参照画像の枚数と、参照画像における探索範囲の垂直方向の大きさはトレードオフの関係であり、いずれか一方が決定されれば他方が決定されるからである。
(まとめ)
以上のように、本発明によれば、映像圧縮符号化装置において、限られた記憶容量であっても圧縮映像データの高画質化が可能である。
(請求項に関する付記)
本発明については、請求項の記載に関して、以下の態様が考えられる。
(請求項2)
前記制御手段は、
前記動き検出に関する情報に基づいて、その統計値である統計情報を生成する統計情報生成手段(例えば、図2の動き情報統計値算出部201)と、
前記統計情報に基づいて前記参照画像の枚数と前記参照画像における探索範囲の大きさとの少なくとも一方を決定する関連情報決定手段(例えば、図2の参照枚数決定部202)と、
前記関連情報決定手段における決定に基づいて、前記参照画像についての制御を行う参照画像制御手段(例えば、図2の制御部203)と、
を有することを特徴とする請求項1に記載の映像圧縮符号化装置。
この構成によれば、映像データの圧縮符号化処理の画面間予測において使用される参照画像の枚数および参照画像における探索範囲の大きさを動的に変更することが可能となる。よって、限られた記憶容量であっても、圧縮映像データの高画質化が可能となる。
(請求項3)
前記参照画像を用いて前記動き検出を実行して、前記動き検出に関する情報を出力する画面間予測処理手段(例えば、図1の画面間予測処理部101)と、
前記参照画像を保持する参照画像保持手段(例えば、図1の外部メモリ120)と、
前記参照画像の一部のデータであり、前記動き検出に使用されるデータである参照画像データを、前記参照画像保持手段から取得して保持する参照画像データ保持手段(例えば、図1の参照画像バッファ111)と、をさらに有し、
前記制御手段は、前記画面間予測処理手段、前記参照画像保持手段、および前記参照画像データ保持手段を制御することによって、前記参照画像についての制御を行うことを特徴とする請求項1又は2に記載の映像圧縮符号化装置。
この構成によれば、映像データの圧縮符号化処理の画面間予測において使用される参照画像の枚数および参照画像における探索範囲の大きさを動的に変更することが可能となる。よって、限られた記憶容量であっても、圧縮映像データの高画質化が可能となる。
(請求項4)
前記制御手段は、前記参照画像についての制御を行う際に、前記参照画像保持手段から前記参照画像データ保持手段への前記参照画像データの出力速度を制御することを特徴とする請求項3に記載の映像圧縮符号化装置。
この構成によれば、参照画像枚数等が変更となった際に参照画像データの記憶バッファへの書込み速度が変化するため、動き検出を待ち時間なくスムーズに継続することができる。
(請求項5)
画面間予測を用いて映像データの圧縮符号化を行う映像圧縮符号化装置において実行される映像圧縮符号化方法であって、
前記圧縮符号化を行う画像における動き検出において参照される参照画像についての制御であり、前記画面間予測における動き検出の結果である動きベクトルの大きさに応じて、前記画面間予測において参照される参照画像の枚数と前記参照画像における探索範囲の大きさとの少なくとも一方を制御する制御ステップ(例えば、図3のステップS104〜S108)を有することを特徴とする映像圧縮符号化方法。
この構成によれば、映像データの圧縮符号化処理の画面間予測において使用される参照画像の枚数および参照画像における探索範囲の大きさを動的に変更することが可能となる。よって、限られた記憶容量であっても、圧縮映像データの高画質化が可能となる。
(請求項6)
画面間予測を用いて映像データの圧縮符号化を行う映像圧縮符号化装置において実行される映像圧縮符号化方法であって、
前記動き検出に関する情報に基づいて、その統計値である統計情報を生成する統計情報生成ステップ(例えば、図3のステップS104)と、
前記統計情報に基づいて前記参照画像の枚数と前記参照画像における探索範囲の大きさとの少なくとも一方を決定する関連情報決定ステップ(例えば、図3のステップS106)と、
前記関連情報決定ステップにおける決定に基づいて、前記参照画像についての制御を行う参照画像制御ステップ(例えば、図3のステップS108)と、
を有することを特徴とする映像圧縮符号化方法。
この構成によれば、映像データの圧縮符号化処理の画面間予測において使用される参照画像の枚数および参照画像における探索範囲の大きさを動的に変更することが可能となる。よって、限られた記憶容量であっても、圧縮映像データの高画質化が可能となる。
100 映像圧縮符号化装置
101 画面間予測処理部
102 符号化処理部
103 外部メモリ制御部
111 参照画像バッファ
112 参照画像バッファ制御部
120 外部メモリ
201 動き情報統計値算出部
202 参照枚数決定部
203 制御部
302、312、322 参照画像
302n、302n1、302n2、302n3、302n4 マクロブロックライン
312n、312n1、312n2、312n3、312n4、312n5、312n6 マクロブロックライン
322n、322n1、322n2、322n4、322n5、322n6 マクロブロックライン
303、313、323 参照画像データ
304、314、324 探索範囲
351、361、371 マクロブロックに対応する参照画像上のブロック
401、402 メモリ
B0、B1、B2、B3、B4、B5、B6 メモリバンク
701 処理対象画像
702 参照画像
711 マクロブロック
722 参照画像データ
732 探索範囲
742 動き量
801 処理対象画像
802、803 参照画像
811 マクロブロック
822、823 参照画像データ
832、833 探索範囲
842、842 動き量

Claims (1)

  1. 画面間予測を用いて映像データの圧縮符号化を行う映像圧縮符号化装置であって、
    前記圧縮符号化を行う画像における動き検出において参照される参照画像についての制御であり、前記画面間予測における動き検出の結果である動きベクトルの大きさに応じて、前記画面間予測において参照される参照画像の枚数と前記参照画像における探索範囲の大きさとの少なくとも一方を制御する制御手段を有することを特徴とする映像圧縮符号化装置。
JP2009251589A 2009-11-02 2009-11-02 映像圧縮符号化装置 Pending JP2011097488A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009251589A JP2011097488A (ja) 2009-11-02 2009-11-02 映像圧縮符号化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009251589A JP2011097488A (ja) 2009-11-02 2009-11-02 映像圧縮符号化装置

Publications (1)

Publication Number Publication Date
JP2011097488A true JP2011097488A (ja) 2011-05-12

Family

ID=44113902

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009251589A Pending JP2011097488A (ja) 2009-11-02 2009-11-02 映像圧縮符号化装置

Country Status (1)

Country Link
JP (1) JP2011097488A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013126083A (ja) * 2011-12-14 2013-06-24 Fujitsu Ltd 画像処理装置
WO2019199045A1 (ko) * 2018-04-11 2019-10-17 엘지전자 주식회사 제한된 참조 영역이 설정된 인터 예측을 이용한 영상 코딩 방법 및 그 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003169338A (ja) * 2001-09-18 2003-06-13 Matsushita Electric Ind Co Ltd 動きベクトル検出方法及び装置並びに方法プログラムを記録した媒体
JP2008124765A (ja) * 2006-11-10 2008-05-29 Canon Inc 動画像符号化装置とその制御方法、及び、コンピュータプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003169338A (ja) * 2001-09-18 2003-06-13 Matsushita Electric Ind Co Ltd 動きベクトル検出方法及び装置並びに方法プログラムを記録した媒体
JP2008124765A (ja) * 2006-11-10 2008-05-29 Canon Inc 動画像符号化装置とその制御方法、及び、コンピュータプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013126083A (ja) * 2011-12-14 2013-06-24 Fujitsu Ltd 画像処理装置
WO2019199045A1 (ko) * 2018-04-11 2019-10-17 엘지전자 주식회사 제한된 참조 영역이 설정된 인터 예측을 이용한 영상 코딩 방법 및 그 장치

Similar Documents

Publication Publication Date Title
JP4764807B2 (ja) 動きベクトル検出装置および動きベクトル検出方法
JP5043012B2 (ja) キャッシュ・ローカリティを保存するビデオ符号化/復号化方法
JP4606311B2 (ja) 画像符号化装置および画像符号化方法
WO2009142003A1 (ja) 画像符号化装置及び画像符号化方法
JP4346573B2 (ja) 符号化装置と方法
JP5260757B2 (ja) 動画像符号化方法、動画像復号化方法、動画像符号化装置および動画像復号化装置
JPWO2006006489A1 (ja) 動き検出装置
JP4675383B2 (ja) 画像復号化装置および方法、画像符号化装置
CN101783958B (zh) Avs视频标准中时域直接模式运动矢量的计算方法和装置
JPWO2013031071A1 (ja) 動画像復号装置、動画像復号方法、及び集積回路
JP2011097488A (ja) 映像圧縮符号化装置
TWI418219B (zh) 用於動態補償系統之資料映像方法及快取記憶體系統
JP2006279330A (ja) 動き補償処理方法
JP2005244749A (ja) 動画像符号化装置
JP4383367B2 (ja) 動きベクトル検出装置
JP5053774B2 (ja) 動画像符号化装置
WO2010021153A1 (ja) 動き検出装置
JP6221820B2 (ja) 符号化装置、符号化方法および符号化プログラム
JP5556082B2 (ja) メモリコントローラ、画像処理システムおよびメモリアクセスの制御方法
JP2008136177A (ja) 動き検出装置、MOS(metal−oxidesemiconductor)集積回路および映像システム
KR100708183B1 (ko) 움직임 추정을 위한 영상 데이터 저장 장치 및 그 데이터저장 방법
JP5299319B2 (ja) 動きベクトル検出装置
JP2009152710A (ja) 画像処理装置及び画像処理方法
JP2010154061A (ja) 画像処理装置およびその方法、並びにプログラム
JP2009130599A (ja) 動画像復号装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120330

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20120523

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120523

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121225

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130507