JP2004297528A - Coding decoding system - Google Patents
Coding decoding system Download PDFInfo
- Publication number
- JP2004297528A JP2004297528A JP2003088217A JP2003088217A JP2004297528A JP 2004297528 A JP2004297528 A JP 2004297528A JP 2003088217 A JP2003088217 A JP 2003088217A JP 2003088217 A JP2003088217 A JP 2003088217A JP 2004297528 A JP2004297528 A JP 2004297528A
- Authority
- JP
- Japan
- Prior art keywords
- image
- reference image
- information
- decoding
- encoding
- 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.)
- Granted
Links
Images
Abstract
Description
【0001】
【発明の属する技術分野】
この発明は、放送、通信分野で使用される符号化復号化システムに関する。
【0002】
【従来の技術】
【0003】
従来では、復号化器において、1枚以上前の参照画像を使用し、復号動作を行うためには、各参照画像の全てを保存しておくことが必要であり、メモリ容量が嵩むという問題がある。
【0004】
【発明が解決しようとする課題】
この発明は、復号化器側で、参照画像を保存するためのメモリ容量の低減化が図れる符号化復号化システムを提供することを目的とする。
【0005】
【課題を解決するための手段】
請求項1に記載の発明は、1枚前以上の前参照画像を使用する符号化器と、符号化器で符号化されたデータを復号化する復号化器とを備えた符号化復号化システムにおいて、符号化器は、何枚前の参照画像を参照したかという情報および動きベクトルを、符号化している画像の符号化データに、復号用情報として多重する第1手段、ならびに参照画像内の参照部分に関する大きさおよび位置を示す情報を参照位置情報として、符号化ストリーム中に多重させる第2手段を備えており、復号化器は、復号用情報を用いて復号した参照画像をフレームメモリに格納する第3手段、当該参照画像に対する参照位置情報を用いて当該参照画像内の参照部分を別メモリに格納する第4手段、ならびに別メモリに格納された参照画像を参照して画像を復号する際に、別メモリから当該参照画像内の参照部分を読み出して参照する第5手段を備えていることを特徴とする。
【0006】
請求項2に記載された発明は、請求項1に記載の符号化復号化システムにおいて、第2手段は、複数の参照部分に重なる部分が存在する場合には、それらの参照部分を画素位置に関して論理和をとることによって、最大公約数的な参照領域を算出し、算出した最大公約数的な参照領域の大きさおよび位置を示す情報を参照位置情報として、符号化ストリーム中に多重させるものであることを特徴とする。
【0007】
請求項3に記載された発明は、請求項2に記載の符号化復号化システムにおいて、第4手段は、参照画像に対する参照位置情報を用いて当該参照画像内の最大公約数的な参照領域を別メモリに格納するものであることを特徴とする。
【0008】
請求項4に記載された発明は、請求項1に記載の符号化復号化システムにおいて、第2手段は、複数の参照部分に重なる部分が存在する場合には、それらの参照部分を画素位置に関して論理和をとることによって、最大公約数的な参照領域を含む最小の矩形領域を算出し、算出した矩形領域の大きさおよび位置を示す情報を参照位置情報として、符号化ストリーム中に多重させるものであることを特徴とする。
【0009】
請求項5に記載された発明は、請求項4に記載の符号化復号化システムにおいて、第4手段は、参照画像に対する参照位置情報を用いて当該参照画像内の最大公約数的な参照領域を含む最小の矩形領域を別メモリに格納するものであることを特徴とする。
【0010】
請求項6に記載された発明は、請求項1に記載の符号化復号化システムにおいて、第2手段は、複数の参照部分に重なる部分が存在する場合には、それらの参照部分を画素位置に関して論理和をとることによって、最大公約数的な参照領域を含む最小の矩形領域を算出し、算出した矩形領域の大きさおよび位置を示す情報および矩形領域内の必要部分と不必要部分とを識別するための情報を参照位置情報として、符号化ストリーム中に多重させるものであることを特徴とする。
【0011】
請求項7に記載された発明は、請求項6に記載の符号化復号化システムにおいて、第4手段は、参照画像に対する参照位置情報を用いて当該参照画像内の最大公約数的な参照領域を含む最小の矩形領域内の必要部分のみを別メモリに格納するものであることを特徴とする。
【0012】
請求項8に記載の発明は、請求項6乃至7に記載の符号化復号化システムにおいて、矩形領域内の必要部分と不必要部分とを識別するための情報がラン情報であることを特徴とする。
【0013】
請求項9に記載の発明は、請求項1乃至8に記載の符号化復号化システムにおいて、第4手段は、フレームメモリへの参照画像の書き込み時またはフレームメモリからの再生画像の読み出し時に、参照部分を別メモリに格納することを特徴とする。
【0014】
【発明の実施の形態】
以下、図面を参照して、 この発明をMPEG方式の符号化復号化システムに適用した場合の実施の形態について説明する。
【0015】
〔1〕本願発明の基本的な考え方についての説明
【0016】
符号化器では、1フレーム内の各マクロブロック単位に対する参照画像として、複数枚の過去のフレーム内の画像中のマクロブロックを用いることができる。このような場合、復号化器側に参照画像の全てを記憶すればよいが、その分フレームメモリが必要となる。
【0017】
この発明では、基本的には、2枚前以前の参照画像においては、参照される部分のみを復号化器側の別メモリに保存することにより、復号化器側のメモリ量を低減させるようにする。このためには、従来の符号化器から復号化器に送られる復号用情報に加えて、2枚前以前の参照画像に関して参照される部分のみを別メモリに保存させるための情報(参照位置情報)が必要となる。
【0018】
なお、画像の前後とは、原画像が符号化のために並び替えが行われた後の画像(フレーム)の並び順を基準とした場合の前後をいう。
【0019】
〔2〕符号化器の説明
【0020】
図1は、符号化器の構成を示している。
【0021】
図1において、101は第1の選択回路、102は減算回路、103はDCT(Discrete Cosin Transfer)変換回路(直交変換回路)、104は量子化回路、105はエントロピ符号化回路(可変長符号化回路)、106は多重化回路(MUX)、107は出力バッファである。また、108は逆量子化回路、109は逆DCT変換回路(逆直交変換回路)、110は加算回路、111〜116はフレームメモリ、117は動き補償回路、118は第2の選択回路、119は動き予測回路である。また、120はエンコードコントロール回路である。
【0022】
符号化器には、原画像が符号化のために並び替えが行われた後の画像データが、16×16の大きさのマクロブロック(MB)単位で入力される。第1の選択回路101は、入力画像データの画像タイプ(Iピクチャ,Pピクチャ、Bピクチャ)に応じて、入力画像データをDCT変換回路103または減算回路102に送るための回路であり、エンコードコントロール回路120によって制御される。具体的には、入力画像データの画像タイプがIピクチャの場合には、入力画像データをDCT変換回路103に送り、入力画像データの画像タイプがPまたはBピクチャの場合には、入力画像データを減算回路102に送る。減算回路102の出力は、DCT変換回路103に送られる。
【0023】
DCT変換回路103に入力された画像データは、8×8の大きさのサブブロック単位で、DCTが行われる。DCT変換回路103から出力されるDCT係数は、量子化回路104によって量子化され、量子化されたDCT係数が得られる。
【0024】
量子化されたDCT係数は、ジクザクスキャンまたはオルタネートスキャンされて1次元に並べられ、エントロピ符号化回路105によって符号化される。エントロピ符号化回路105によって得られた符号は、多重化回路106に送られ、エンコードコントロール回路120から送られてくる制御情報および動き予測回路119から送られてくる動きベクトル(MV)の可変長符号からなる復号用情報が多重された後、出力バッファ107に蓄積される。出力バッファ107から出力されるデータに、エンコードコントロール回路120から送られてくる参照位置情報が多重され、符号化ストリームとして出力される。なお、出力バッファ107内において、参照位置情報を多重するようにしてもよい。
【0025】
量子化回路104で得られた量子化されたDCT係数は、逆量子化回路108、逆DCT変換回路109および加算回路110によって復号化され、参照画像としてフレームメモリ111〜116に蓄積される。この例では、5枚の参照画像が前参照画像として利用され、1枚の参照画像が後参照画像として利用される。ただし、Bピクチャは参照画像として用いられないので、フレームメモリ111〜116には蓄積されない。つまり、IピクチャおよびPピクチャのみがフレームメモリ111〜116に蓄積される。
【0026】
第2の選択回路118は、イントラ符号化(フレーム内符号化)とインター符号化(フレーム間符号化)を選択するための回路であり、エンコードコントロール回路120によって制御される。
【0027】
動き予測回路119は、例えば、次のような動作を行う。つまり、符号化の対象となるマクロブロックを含むフレームに対して過去5枚のフレームの中から、ブロックマッチング等の動き検出方法によって、対象マクロブロックに対して誤差の最も小さい予測マクロブロックを検出する。また、動き予測回路119は、検出した誤差の最も小さい予測マクロブロックと対象マクロブロックとの差分(予測誤差)に対する符号量(インター符号化した場合の符号量)と、対象マクロブロックをイントラ符号化した場合の符号量とを比較する。そして、符号量が小さい方の符号化モードを、対象マクロブロックに対する符号化モードとして決定する。
【0028】
対象マクロブロックに対する符号化モードとしてインター符号化が選択された場合には、検出した誤差の最も小さい予測マクロブロックへの動きを示す信号が動きベクトル(MV)となる。動き補償回路117は、動き予測回路119によって検出された誤差の最も小さい予測マクロブロックを含む参照画像を、動き予測回路119によって検出された動きベクトル(MV)に基づいて動き補償して、最適な予測マクロブロックを取得し、減算回路102および第2の選択回路118に送る。
【0029】
これ以後は、インター符号化が選択された場合について説明する。動き予測回路119によって得られる情報、つまり、符号化モード(マクロブロック・タイプ)、参照画像が現フレームに対して何フレーム前の画像であるかという情報(参照画像特定情報)、2枚以前の参照画像が使用される場合には採用された予測マクロブロックの位置情報をエンコードコントロール回路120に送る。
【0030】
エンコードコントロール回路120は、対象マクロブロックに対するマクロブロック・タイプおよび参照画像特定情報を含む制御情報等を、多重化回路106に送る。多重化回路106は、エントロピ符号化回路105から送られてきた符号に、エンコードコントロール回路120から送られてくる制御情報および動き予測回路119から送られてくる動きベクトル(MV)の可変長符号からなる復号用情報を多重する。
【0031】
1フレーム内の全てのマクロブロックに対する符号化が行われると、エンコードコントロール回路120は、後述するように、出力バッファ107内に存在するIピクチャまたはPピクチャに関して、それより後に符号化されるフレームから2枚前以前の参照画像として採用される可能性がなくなったときに、それまでに2枚前以前の参照画像として採用された際の参照部分を示す参照位置情報を生成する。
【0032】
出力バッファ107の出口では、出力バッファ107から出力される1フレーム分の符号化データおよび復号用情報からなるデータの前または後に、当該符号化データに対応する参照位置情報が付加される。出力バッファ107には、通常、複数フレーム分の符号化データが蓄積されるが、この実施の形態においては、IピクチャまたはPピクチャのピクチャに関して、合計5フレーム分以上のピクチャが出力バッファ107に蓄積されるようにしておく必要がある。
【0033】
〔2−1〕参照位置情報の生成方法についての説明
【0034】
時間的および空間的に近い複数のブロックの参照先は、同じ参照画像内の近い部分となることが多く、参照部分が重なる場合が多い。このため、2枚前以前の参照画像における各マクロブロック毎の参照部分を、それぞれ別々に復号化器側の別メモリに保存させると、重複したデータが別メモリに保存されてしまう場合がある。そのような場合には、別メモリの使用効率が悪くなる。
【0035】
そこで、同じ参照画像内の複数のマクロブロック単位の参照部分間で重なる部分が存在する場合、それらの参照部分を画素位置に関して論理和をとることによって最大公約数的な参照領域を算出し、算出した最大公約数的な参照領域内の画像データを別メモリに保存させるようにすることによって、重複部分の画像データが別メモリに重複して保存されないようにする。
【0036】
今、符号化器に入力されるIピクチャまたはPピクチャの順番を、入力順序の早いものから、フレーム1、フレーム2、フレーム3、フレーム4、フレーム5、フレーム6とすると、フレーム1に対応する復号化画像を2枚前以前の参照画像として用いることができるのは、フレーム3〜フレーム6の画像である。つまり、1枚の参照画像は、2枚前以前の参照画像として、4つのフレームから参照される可能性がある。1枚の参照画像が4つのフレームから2枚前以前の参照画像として用いられた場合には、4つのフレームから参照された部分全体の位置情報の論理和をとる。フレーム1に対する復号化画像に対する参照部分全体の位置情報の論理和は、フレーム6の画像に対する符号化が行われた後に、行われる。
【0037】
図2は、ある参照画像が、3つのフレーム(a,b,cフレーム)から2枚前以前の参照画像として参照された場合の例を示している。
【0038】
図2において、1はaフレームからの参照部分を示している。この例では、2つのマクロブロックがaフレームからの2枚前以前の参照部分として参照参照されている。また、この例では、斜線で示すように、これらの2つのマクロブロックは、一部が重複している。それらの参照部分を画素位置に関して論理和をとると、図2の2に示すようになる。3は、bフレームからの参照部分を示している。bフレームからの参照部分を画素位置に関して論理和をとると、図2の4に示すようになる。5はcフレームからの参照部分を示している。cフレームからの参照部分を画素位置に関して論理和をとると、図2の6に示すようになる。
【0039】
さらに、該当参照画像における2枚前以前の参照部分の全てに関して重なりを除去する必要がある。上記のようにして得られた各論理和結果(図2の2、4、6)を重ねると、図2の7に示すようになる。図2の2、4、6で示される各論理和結果を、さらに画素位置に関して論理和をとることにより、図2の8に示すような参照領域が得られる。
【0040】
ところで、参照部分を画素位置に関して論理和をとることによって得られる参照領域内の画像データを画素毎に順番に別メモリに保存していく場合、どの位置の画素が別メモリのどのアドレスに割り当てられているかという情報がないと、読み出しの際、正しく読み出せない可能性がある。
【0041】
そこで、参照部分を画素位置に関して論理和をとることによって得られる参照領域を含む最小の矩形領域を想定する。例えば、参照領域が、図3(a)に示すような場合には、参照領域を含む最小の矩形領域は図3(b)に太線で示すような領域となる。
【0042】
そして、その矩形領域を表す位置情報(矩形領域の左上頂点の座標)と、矩形領域の大きさ(垂直方向画素数および水平方向画素数)と、矩形領域内の参照領域の画素単位の位置情報とを生成する。矩形領域内の参照領域の画素単位の位置情報としては、ラン情報を用いることができる。
【0043】
ラン情報は、例えば、矩形領域内を左から右に水平走査するといった動作を、垂直方向上から下に向かって行うことにより、〔必要部分の連続数(必要部分が最初に無ければ0とする),不必要部分の連続数,必要部分の連続数,……,必要部分の連続数,不必要部分の連続数(最後に無ければ0とする)〕の形式で生成される。
【0044】
図3(b)の例では、ラン情報は、〔4,2,17,1,3,3〕となる。図3(b)の例では、矩形領域を表す位置情報は、左上頂点の座標(3,3)と、矩形領域の大きさ(5×6)となる。
【0045】
矩形領域を表す位置情報とラン情報とが、参照位置情報となる。
【0046】
〔3〕復号化器の説明
【0047】
図4は、復号化器の構成を示している。
【0048】
図4において、201は入力バッファ、202はエントロピ復号化回路、203は逆量子化回路、204は逆DCT回路(逆直交変換回路)、205は加算回路、206は動き補償回路、207は第1の選択回路である。また、208は第2の選択回路、209は第1のフレームメモリ、210は第2のフレームメモリ、211は第3の選択回路、212は別メモリ、213は第4の選択回路、220はデコードコントロール回路、221はアドレス計算部である。
【0049】
符号化されたストリームは入力バッファ201に一時的に蓄積された後、エントロピ復号化回路202に送られる。エントロピ復号化回路202によって、量子化DCT係数、復号用情報(符号化モード(マクロブロック・タイプ)、参照画像特定情報、動きベクトル(MV)等)、参照位置情報等が抽出される。復号用情報、参照位置情報は、デコードコントロール回路220に送られる。復号用情報中の動きベクトル(MV)等は、動き補償回路206にも送られる。
【0050】
復号された8×8のサブブロック単位の量子化DCT係数は、逆量子化回路203によってDCT係数に変換された後、逆DCT回路204によって逆DCTが行われる。
【0051】
逆DCT回路204によって生成されたマクロブロック単位の予測誤差データには、そのマクロブロック・タイプに応じた参照画像データが加算器205によって加算されて、再生画像データが生成される。参照画像データは、第4の選択回路213および動き補償回路206を介して加算器205に送られる。ただし、逆DCT回路204から出力されたデータがイントラに対する再生画像データである場合には、参照画像データは加算されない。
【0052】
逆DCT回路204または加算器205によって得られたマクロブロック単位の再生画像データが、Bピクチャに対する再生画像データである場合には、その再生画像データは第1の選択回路207に送られる。
【0053】
逆DCT回路204または加算器205によって得られたマクロブロック単位の再生画像データが、IピクチャまたはPピクチャに対する再生画像データである場合には、第2の選択回路208を介して第1のフレームメモリ209または第2のフレームメモリ210に格納されるとともに、その再生画像データの一部が符号化時に2枚前以前の参照画像として用いられている場合には、参照位置情報を基に、2枚前以前の参照画像として用いられている領域が、第2の選択回路208および第3の選択回路211を介して別メモリ212に格納される。
【0054】
第1のフレームメモリ209または第2のフレームメモリ210には、現在復号されているフレームの直前、直後の参照画像が格納される。別メモリ212には、現在復号されているフレームの2枚前以前の参照画像が格納される。なお、別メモリ212上の6枚以上前のデータは、例えば、FIFOの要領で消去(オーバーライト)されていく。
【0055】
逆DCT回路204から出力されるデータがインター符号化に対する予測誤差データである場合には、第1のフレームメモリ209、第2のフレームメモリ210または別メモリ212から参照領域が読み出され、第4の選択回路213および動き補償回路206を介して加算器205に送られる。
【0056】
第1の選択回路には、第1のフレームメモリ209に格納されたIピクチャまたはPピクチャに対する再生画像データ、および第2のフレームメモリ210に格納されたIピクチャまたはPピクチャに対する再生画像データも送られる。第1の選択回路は、加算器205から送られてくるBピクチャに対する再生画像データ、第1のフレームメモリ209に格納されたIピクチャまたはPピクチャに対する再生画像データ、第2のフレームメモリ210に格納されたIピクチャまたはPピクチャに対する再生画像データが、原画像の順序と同じ順番で出力されるように制御される。
【0057】
なお、別メモリ212に必要部分を書き込むタイミングとしては、上述したように、参照画像が復号されてフレームメモリ209、210に格納されるときに行なってもよいし、フレームメモリ209、210に格納された参照画像を第1の選択回路207に送るためにフレームメモリ209、210から読み出されるときに行ってもよい。
【0058】
次に、別メモリ212への参照画像の必要部分の書き込み処理について説明する。この処理は、デコードコントロール回路220およびアドレス計算部221によって行われる。
【0059】
ここでは、説明の便宜上、参照部分の最小単位がマクロブロック単位であるものとして説明する。
【0060】
まず、後のフレームの復号時に参照される参照領域を含む最小矩形領域を表す位置情報(矩形領域の左上頂点の座標と矩形領域の大きさ)およびラン情報を、参照位置情報から得る。これにより、矩形領域が元画像(参照画像)のどこに位置するのか、および矩形領域内の必要部分(参照領域)を把握する。
【0061】
復号化器での復号動作は、フレームの左上のマクロブロックから右に向かって、そして右端にきたら下の列へ移ってマクロブロック単位で行われる。そこで、参照画像が復号される場合には、そのマクロブロックが将来参照されることになる参照領域に含まれているか否かを判別する。復号されたマクロブロックが参照領域に含まれている場合には、その復号されたマクロブロックをフレームメモリ209または210に格納するとともに、別メモリ212に保存する。この際、デコードコントロール回路220は、何フレーム前の参照領域の最初の画素が、別メモリ212内のどのアドレスから保存されたかを表す情報をデコードコントロール回路220内に保存しておく。
【0062】
次に、別メモリ212からの参照画像の読み出し処理について説明する。この処理は、デコードコントロール回路220およびアドレス計算部221によって行われる。
【0063】
別メモリ212には、2枚前以前の参照画像の参照領域が格納されている。そこで、まず、2枚以上前の参照画像に関する(動き補償用)の動きベクトル(MV)を、参照領域を含む矩形領域に合わせた値へ変換する。つまり、次式(1)に基づいて、動き補償用の動きベクトル(相対ベクトル)(p,q)を、画像左上を基準とした、絶対ベクトル(x,y)に変換する。
【0064】
(x,y)=(α,β)+(p,q) …(1)
【0065】
上記式(1)において、(α,β)は現在復号しているマクロブロックの座標である。そして、次式(2)で示すように、得られた絶対ベクトル(x,y)から、参照領域を含む最小の矩形領域の左上を基準とした位置ベクトル(x’,y’)に変換する。
【0066】
(x’,y’)=(x,y)−(a,b) …(2)
【0067】
上記式(2)において、(a,b)は矩形の左上の座標を示している。
【0068】
そして、別メモリ212上の該当アドレス(参照領域の最初の画素を特定するためのアドレス)、換算した動きベクトル、ラン情報(矩形領域内の参照領域を特定するためのラン情報)を用いて、参照領域の読み出しを行う。
【0069】
上記実施の形態では、別メモリ212には、矩形領域内の必要部分(参照領域)のみが格納されているが、矩形領域内の不要部分をも含めて矩形領域全体を格納するようにしてもよい。なお、書き込み時および読み出し時においては、ラン情報を基に必要画素のアドレスが算出される。
【0070】
また、参照部分の最小単位がマクロブロック単位であるものとして説明したが、参照部分の最小単位がマクロブロック単位以下の単位であっても、この発明を適用することができる。
【0071】
上記では、MPEG2を基本とした符号化器および復号化器に適用した場合の実施の形態について説明したが、本願発明は符号化方式や符号化器および復号化器の形態にかかわらず適用することが可能である。
【0072】
【発明の効果】
この発明によれば、復号化器側で、参照画像を保存するためのメモリ容量の低減化が図れるようになる。
【図面の簡単な説明】
【図1】符号化器の構成を示すブロック図である。
【図2】ある参照画像が、3つのフレーム(a、b,cフレーム)から2枚前以前の参照画像として参照された場合の例を示す模式図である。
【図3】参照部分の位置情報の論理和によって規定される参照領域を含む最小の矩形領域を示す模式図である。
【図4】復号化器の構成を示すブロック図である。
【符号の説明】
106 多重化回路
107 出力バッファ
111〜116 フレームメモリ
120 エンコードコントロール回路
209 第1のフレームメモリ、
210 第2のフレームメモリ、
212 別メモリ
220 デコードコントロール回路
221 アドレス計算部[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an encoding / decoding system used in the broadcasting and communication fields.
[0002]
[Prior art]
[0003]
Conventionally, in order to perform a decoding operation by using one or more previous reference images in a decoder, it is necessary to save all of the reference images, which increases the memory capacity. is there.
[0004]
[Problems to be solved by the invention]
SUMMARY OF THE INVENTION It is an object of the present invention to provide an encoding / decoding system capable of reducing a memory capacity for storing a reference image on a decoder side.
[0005]
[Means for Solving the Problems]
An encoding / decoding system according to
[0006]
According to a second aspect of the present invention, in the encoding / decoding system according to the first aspect, when there is a portion overlapping a plurality of reference portions, the second portion converts the reference portions with respect to a pixel position. By calculating the logical sum, a greatest common divisor reference area is calculated, and information indicating the calculated size and position of the greatest common divisor reference area is multiplexed in the encoded stream as reference position information. There is a feature.
[0007]
According to a third aspect of the present invention, in the encoding / decoding system according to the second aspect, the fourth means uses the reference position information for the reference image to form a greatest common denominator reference area in the reference image. It is stored in another memory.
[0008]
According to a fourth aspect of the present invention, in the encoding / decoding system according to the first aspect, when there is a portion overlapping a plurality of reference portions, the second portion converts the reference portions with respect to a pixel position. By calculating the logical sum, the smallest rectangular area including the greatest common divisor reference area is calculated, and information indicating the size and position of the calculated rectangular area is multiplexed in the encoded stream as reference position information. It is characterized by being.
[0009]
According to a fifth aspect of the present invention, in the encoding / decoding system according to the fourth aspect, the fourth means uses the reference position information for the reference image to form a greatest common denominator reference area in the reference image. It is characterized in that a minimum rectangular area including the same is stored in another memory.
[0010]
According to a sixth aspect of the present invention, in the coding / decoding system according to the first aspect, when there are portions overlapping a plurality of reference portions, the second portion converts the reference portions with respect to pixel positions. By calculating the logical sum, the smallest rectangular area including the greatest common divisor reference area is calculated, information indicating the size and position of the calculated rectangular area, and necessary and unnecessary parts in the rectangular area are identified. The information to be multiplexed in the encoded stream is used as reference position information.
[0011]
According to a seventh aspect of the present invention, in the encoding / decoding system according to the sixth aspect, the fourth means uses the reference position information for the reference image to form a greatest common denominator reference area in the reference image. It is characterized in that only a necessary part in the smallest rectangular area including it is stored in another memory.
[0012]
According to an eighth aspect of the present invention, in the encoding / decoding system according to the sixth or seventh aspect, information for identifying a necessary part and an unnecessary part in a rectangular area is run information. I do.
[0013]
According to a ninth aspect of the present invention, in the encoding / decoding system according to the first to eighth aspects, the fourth means is configured to execute the reference when writing the reference image to the frame memory or reading the reproduced image from the frame memory. The part is stored in a separate memory.
[0014]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, an embodiment in which the present invention is applied to an MPEG encoding / decoding system will be described with reference to the drawings.
[0015]
[1] Description of basic concept of the present invention
In the encoder, a macroblock in a plurality of past frames of images can be used as a reference image for each macroblock unit in one frame. In such a case, it is sufficient to store all of the reference images on the decoder side, but a frame memory is required accordingly.
[0017]
In the present invention, basically, in a reference image two frames before, only the referenced part is stored in another memory on the decoder side, so that the memory amount on the decoder side is reduced. I do. For this purpose, in addition to the decoding information sent from the conventional encoder to the decoder, information (reference position information) for storing only a part referred to with respect to the reference image two frames earlier is stored in another memory. )Is required.
[0018]
It should be noted that the terms “before and after the image” refer to before and after when the order of arrangement of the images (frames) after the original image is rearranged for encoding is used as a reference.
[0019]
[2] Description of Encoder
FIG. 1 shows the configuration of the encoder.
[0021]
In FIG. 1, 101 is a first selection circuit, 102 is a subtraction circuit, 103 is a DCT (Discrete Cosine Transfer) transformation circuit (orthogonal transformation circuit), 104 is a quantization circuit, and 105 is an entropy coding circuit (variable length coding). Circuit), 106 is a multiplexing circuit (MUX) and 107 is an output buffer. Also, 108 is an inverse quantization circuit, 109 is an inverse DCT transform circuit (inverse orthogonal transform circuit), 110 is an addition circuit, 111 to 116 are frame memories, 117 is a motion compensation circuit, 118 is a second selection circuit, and 119 is This is a motion prediction circuit.
[0022]
Image data obtained by rearranging the original images for encoding is input to the encoder in units of macroblocks (MB) having a size of 16 × 16. The
[0023]
The image data input to the
[0024]
The quantized DCT coefficients are zigzag scanned or alternate scanned, arranged one-dimensionally, and encoded by the
[0025]
The quantized DCT coefficients obtained by the
[0026]
The second selection circuit 118 is a circuit for selecting intra-coding (intra-frame coding) and inter-coding (inter-frame coding), and is controlled by the encode
[0027]
The motion prediction circuit 119 performs, for example, the following operation. In other words, a predicted macroblock having the smallest error with respect to the target macroblock is detected from the past five frames including the macroblock to be coded by a motion detection method such as block matching. . Further, the motion prediction circuit 119 encodes a code amount (a code amount in the case of inter-coding) for a difference (prediction error) between the detected macro block having the smallest detected error and the target macro block, and performs intra-coding on the target macro block. Then, the code amount is compared with the code amount. Then, the coding mode with the smaller code amount is determined as the coding mode for the target macroblock.
[0028]
When the inter encoding is selected as the encoding mode for the current macroblock, a signal indicating the motion to the predicted macroblock having the smallest detected error is a motion vector (MV). The motion compensation circuit 117 performs motion compensation on a reference image including a predicted macroblock with the smallest error detected by the motion prediction circuit 119 based on the motion vector (MV) detected by the motion prediction circuit 119, and performs optimal motion compensation. The prediction macro block is obtained and sent to the
[0029]
Hereinafter, the case where the inter-coding is selected will be described. Information obtained by the motion prediction circuit 119, that is, information on the coding mode (macroblock type), how many frames before the reference image is the image before the current frame (reference image specifying information), When the reference image is used, the position information of the adopted predicted macro block is sent to the encode
[0030]
The
[0031]
When encoding is performed on all macroblocks in one frame, the
[0032]
At the exit of the
[0033]
[2-1] Description of Generating Reference Position Information
The reference destination of a plurality of blocks that are temporally and spatially close is often a close part in the same reference image, and the reference parts often overlap. For this reason, if the reference portion for each macroblock in the reference image two frames earlier is separately stored in another memory on the decoder side, duplicate data may be stored in another memory. In such a case, the use efficiency of the separate memory deteriorates.
[0035]
Therefore, if there is an overlapping portion between the reference portions of a plurality of macroblock units in the same reference image, the greatest common denominator reference region is calculated by ORing these reference portions with respect to the pixel position. By storing the image data in the reference area of the greatest common denominator in another memory, the image data of the overlapping portion is prevented from being stored in another memory in an overlapping manner.
[0036]
Now, assuming that the order of an I picture or a P picture input to the encoder is
[0037]
FIG. 2 shows an example of a case where a certain reference image is referred to as a reference image two frames before the three frames (a, b, and c frames).
[0038]
In FIG. 2,
[0039]
Further, it is necessary to remove the overlap for all of the reference portions two frames before the reference image in the corresponding reference image. When the logical sum results (2, 4, and 6 in FIG. 2) obtained as described above are superimposed, the result is as shown in 7 in FIG. The logical sum of each of the logical sums indicated by 2, 4, and 6 in FIG. 2 is further ORed with respect to the pixel position, thereby obtaining a reference area as shown in 8 in FIG.
[0040]
By the way, when image data in a reference area obtained by ORing a reference portion with respect to a pixel position is sequentially stored in another memory for each pixel, a pixel at which position is assigned to which address of another memory. If there is no information as to whether or not the data is read correctly, there is a possibility that the data cannot be read correctly.
[0041]
Therefore, a minimum rectangular area including a reference area obtained by ORing a reference portion with respect to a pixel position is assumed. For example, when the reference area is as shown in FIG. 3A, the smallest rectangular area including the reference area is an area shown by a thick line in FIG. 3B.
[0042]
Then, position information representing the rectangular area (the coordinates of the upper left vertex of the rectangular area), the size of the rectangular area (the number of pixels in the vertical direction and the number of pixels in the horizontal direction), and the positional information of the reference area in the rectangular area in pixel units And generate Run information can be used as the pixel-by-pixel position information of the reference area in the rectangular area.
[0043]
The run information is obtained, for example, by performing an operation of horizontally scanning a rectangular area from left to right from top to bottom in the vertical direction. ), The number of consecutive unnecessary parts, the number of consecutive necessary parts,..., The number of consecutive unnecessary parts, and the number of consecutive unnecessary parts (0 if there is no last part)].
[0044]
In the example of FIG. 3B, the run information is [4, 2, 17, 1, 3, 3]. In the example of FIG. 3B, the position information representing the rectangular area is the coordinates (3, 3) of the upper left vertex and the size (5 × 6) of the rectangular area.
[0045]
The position information representing the rectangular area and the run information serve as reference position information.
[0046]
[3] Description of Decoder
FIG. 4 shows the configuration of the decoder.
[0048]
In FIG. 4, 201 is an input buffer, 202 is an entropy decoding circuit, 203 is an inverse quantization circuit, 204 is an inverse DCT circuit (inverse orthogonal transform circuit), 205 is an addition circuit, 206 is a motion compensation circuit, and 207 is the first Is a selection circuit.
[0049]
The encoded stream is temporarily stored in the
[0050]
The decoded 8 × 8 sub-block quantized DCT coefficients are converted into DCT coefficients by the
[0051]
Reference image data corresponding to the macroblock type is added to the prediction error data in macroblock units generated by the
[0052]
If the reproduced image data in macroblock units obtained by the
[0053]
If the playback image data in macroblock units obtained by the
[0054]
In the
[0055]
If the data output from the
[0056]
The first selection circuit also sends the reproduced image data for the I picture or P picture stored in the
[0057]
As described above, the necessary portion may be written to the
[0058]
Next, a process of writing a necessary portion of the reference image to the
[0059]
Here, for convenience of explanation, the description will be made assuming that the minimum unit of the reference portion is a macroblock unit.
[0060]
First, position information (the coordinates of the upper left vertex of the rectangular region and the size of the rectangular region) representing the minimum rectangular region including the reference region referred to when decoding the subsequent frame and run information are obtained from the reference position information. Thereby, the position of the rectangular area in the original image (reference image) and the necessary part (reference area) in the rectangular area are grasped.
[0061]
The decoding operation in the decoder is performed in units of macroblocks from the upper left macroblock of the frame to the right, and to the right end, to the lower row. Therefore, when the reference image is decoded, it is determined whether or not the macroblock is included in a reference area to be referenced in the future. If the decoded macroblock is included in the reference area, the decoded macroblock is stored in the
[0062]
Next, a process of reading a reference image from the
[0063]
In another
[0064]
(X, y) = (α, β) + (p, q) (1)
[0065]
In the above equation (1), (α, β) is the coordinates of the currently decoded macroblock. Then, as shown by the following equation (2), the obtained absolute vector (x, y) is converted into a position vector (x ′, y ′) based on the upper left of the smallest rectangular area including the reference area. .
[0066]
(X ′, y ′) = (x, y) − (a, b) (2)
[0067]
In the above equation (2), (a, b) indicates the upper left coordinates of the rectangle.
[0068]
Then, using the corresponding address (address for specifying the first pixel of the reference area) on the
[0069]
In the above embodiment, only the necessary part (reference area) in the rectangular area is stored in the
[0070]
Further, although the description has been made assuming that the minimum unit of the reference portion is a macroblock unit, the present invention can be applied even if the minimum unit of the reference portion is a unit equal to or smaller than the macroblock unit.
[0071]
In the above, the embodiment in which the present invention is applied to an encoder and a decoder based on MPEG2 has been described. However, the present invention is applicable regardless of the encoding method and the form of the encoder and the decoder. Is possible.
[0072]
【The invention's effect】
According to the present invention, the memory capacity for storing the reference image can be reduced on the decoder side.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of an encoder.
FIG. 2 is a schematic diagram illustrating an example of a case where a reference image is referred to as a reference image two frames before from three frames (a, b, and c frames).
FIG. 3 is a schematic diagram illustrating a minimum rectangular area including a reference area defined by a logical sum of position information of a reference portion;
FIG. 4 is a block diagram illustrating a configuration of a decoder.
[Explanation of symbols]
106
210 second frame memory,
212
Claims (9)
符号化器は、何枚前の参照画像を参照したかという情報および動きベクトルを、符号化している画像の符号化データに、復号用情報として多重する第1手段、ならびに参照画像内の参照部分に関する大きさおよび位置を示す情報を参照位置情報として、符号化ストリーム中に多重させる第2手段を備えており、
復号化器は、復号用情報を用いて復号した参照画像をフレームメモリに格納する第3手段、当該参照画像に対する参照位置情報を用いて当該参照画像内の参照部分を別メモリに格納する第4手段、ならびに別メモリに格納された参照画像を参照して画像を復号する際に、別メモリから当該参照画像内の参照部分を読み出して参照する第5手段を備えていることを特徴とする符号化復号化システム。In an encoding / decoding system including an encoder using one or more previous reference images and a decoder decoding data encoded by the encoder,
An encoder configured to multiplex information indicating the number of previous reference images and a motion vector on the encoded data of the image being encoded as decoding information, and a reference portion in the reference image. Second means for multiplexing the information indicating the size and position related to the encoded stream as reference position information,
A decoder configured to store the reference image decoded using the decoding information in the frame memory; and a fourth unit configured to store the reference portion in the reference image in another memory using the reference position information for the reference image. And a fifth means for reading a reference portion in the reference image from another memory for reference when decoding the image with reference to the reference image stored in another memory. Decryption system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003088217A JP4118180B2 (en) | 2003-03-27 | 2003-03-27 | Coding / decoding system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003088217A JP4118180B2 (en) | 2003-03-27 | 2003-03-27 | Coding / decoding system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004297528A true JP2004297528A (en) | 2004-10-21 |
JP4118180B2 JP4118180B2 (en) | 2008-07-16 |
Family
ID=33402408
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003088217A Expired - Fee Related JP4118180B2 (en) | 2003-03-27 | 2003-03-27 | Coding / decoding system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4118180B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008038513A1 (en) * | 2006-09-26 | 2008-04-03 | Panasonic Corporation | Decoding device, decoding method, decoding program, and integrated circuit |
-
2003
- 2003-03-27 JP JP2003088217A patent/JP4118180B2/en not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008038513A1 (en) * | 2006-09-26 | 2008-04-03 | Panasonic Corporation | Decoding device, decoding method, decoding program, and integrated circuit |
CN101518091B (en) * | 2006-09-26 | 2011-09-28 | 松下电器产业株式会社 | Decoding device, decoding method, decoding program, and integrated circuit |
US8731311B2 (en) | 2006-09-26 | 2014-05-20 | Panasonic Corporation | Decoding device, decoding method, decoding program, and integrated circuit |
Also Published As
Publication number | Publication date |
---|---|
JP4118180B2 (en) | 2008-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101227667B1 (en) | Piecewise processing of overlap smoothing and in-loop deblocking | |
KR101057863B1 (en) | Picture decoding apparatus and picture decoding method | |
TWI495302B (en) | Monitoring system and method for storing video | |
KR101103723B1 (en) | Video encoding method, decoding method, device thereof, program thereof, and recording medium containing the program | |
EP1879388A1 (en) | Video information recording device, video information recording method, video information recording program, and recording medium containing the video information recording program | |
JP2010041354A (en) | Moving image coding method, coding device and coding program | |
JP4574444B2 (en) | Image decoding apparatus and method, image encoding apparatus and method, computer program, and storage medium | |
JPH0818979A (en) | Image processor | |
JP2007067526A (en) | Image processor | |
JP2006246277A (en) | Re-encoding apparatus, re-encoding method, and re-encoding program | |
JP4708821B2 (en) | Moving picture coding apparatus, control method therefor, computer program, and storage medium | |
JPH06350995A (en) | Moving picture processing method | |
JP2003348594A (en) | Device and method for decoding image | |
JPH10145237A (en) | Compressed data decoding device | |
JP4118180B2 (en) | Coding / decoding system | |
JPH11289515A (en) | Picture signal processor and its method, picture signal recorder and its method and recording medium | |
JP4519723B2 (en) | Encoding or decoding apparatus for moving image data using motion vectors | |
JP2008042701A (en) | Image data processing method and processing apparatus | |
JPH0795536A (en) | Device and method for reversely reproducing moving image | |
JP2011129979A (en) | Image processor | |
JP2009290387A (en) | Encoder, decoder and recording reproducing device | |
JP3129279B2 (en) | Encoding device, encoding method, and recording medium | |
JPH1023415A (en) | Method and device for encoding and decoding picture | |
JP4659005B2 (en) | Moving picture encoding method, decoding method, encoding apparatus, decoding apparatus based on texture synthesis, program thereof, and recording medium thereof | |
JP3743220B2 (en) | Encoded video editing method and apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050719 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070601 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070613 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070809 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070810 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070809 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070810 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070911 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080115 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080220 |
|
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: 20080325 |
|
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: 20080422 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110502 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |