JP4802928B2 - 画像データ処理装置 - Google Patents

画像データ処理装置 Download PDF

Info

Publication number
JP4802928B2
JP4802928B2 JP2006216497A JP2006216497A JP4802928B2 JP 4802928 B2 JP4802928 B2 JP 4802928B2 JP 2006216497 A JP2006216497 A JP 2006216497A JP 2006216497 A JP2006216497 A JP 2006216497A JP 4802928 B2 JP4802928 B2 JP 4802928B2
Authority
JP
Japan
Prior art keywords
coefficient
prediction
data
unit
block
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.)
Expired - Fee Related
Application number
JP2006216497A
Other languages
English (en)
Other versions
JP2008042701A (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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2006216497A priority Critical patent/JP4802928B2/ja
Publication of JP2008042701A publication Critical patent/JP2008042701A/ja
Application granted granted Critical
Publication of JP4802928B2 publication Critical patent/JP4802928B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

この発明は、離散コサイン変換またはカルーネン・レーベ変換等の直交変換によって画像情報を圧縮する画像符号化方法において、画面内の予測符号化によって圧縮率を向上させた場合の復号に適用される画像データ処理装置に関する。
近年、画像情報をディジタルとして取り扱い、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮するMPEGなどの方式に準拠した画像情報符号化装置や復号化装置が、放送局などの情報配信、および一般家庭における情報受信の双方において普及しつつある。
特に、MPEG2(ISO(International Organization for Standardization)/IEC(International Electrotechnical Commition)13818−2)は、汎用画像符号化方式として定義されている。またMPEG2は、飛び越し走査画像および順次走査画像の双方、並びに標準解像度画像および高精細画像を網羅する標準で、現在、プロフェッショナル用途およびコンシューマー用途の広範なアプリケーションに広く用いられている。
MPEG2は、主として放送用に適合する高画質符号化を対象としていたが、MPEG1より小さい符号量(低ビットレート)、つまり、より高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してMPEG4符号化方式の標準化が行われた。画像符号化方式に関しては、1998年12月にISO/IEC14496−2という規格が国際標準として承認された。
さらに、近年、当初テレビ会議用の画像符号化を目的として策定されたH. 26L(ITU(International Telecommunication Union )−T Q6/16 VCEG)という標準の規格化が進んでいる。H.26Lは、MPEG2やMPEG4といった従来の符号化方式に比べ、その符号化、復号化により多くの演算量が要求されるものの、より高い符号化効率が実現されることが知られている。また、現在、MPEG4の活動の一環として、このH.26Lをベースに、H.26Lではサポートされない機能も取り入れ、より高い符号化効率を実現する標準化がJointModel of Enhanced−Compression Video Codingとして行われ、2003年3月には、H.264/AVC(Advanced Video Coding )という規格が国際標準として認められた。非特許文献1には、この規格に基づく処理の内容が記載されている。
「Draft Errata List with Revision-Marked Corrections for H.264/AVC」, JVT-1050, Thomas Wiegand et al., Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG, 2003
さらに、2003年9月にマイクロソフトがSMPTE(Society of Motion Picture and Television Engineers)に対してWMV9にインターレス対応のための拡張を追加したものを提出し、2005年10月にSMPTEでの規格化作業が終了し、SMPTE 421Mとして発表された。この規格は、VC−1フォーマットと称される。VC−1フォーマットは、H.264/AVCと共通点と相違点を有しており、二つの方式の比較については、例えば下記の非特許文献2に記載されている。
日経エレクトロニクス2004年3月29日号,131−136頁,および日経エレクトロニクス2004年4月12日号,115−120頁,「ベールを脱ぐWMV9 H.264とはここが違う」
図1および図2は、非特許文献2に記載されているVC−1フォーマットの符号化および復号化の流れを示すブロック図である。入力画像データが分割され、イントラ(フレーム内)予測符号化部1およびインター(フレーム間)予測符号化部2にそれぞれ入力される。イントラ予測符号化部1が直交変換部3、画面内予測符号化部4および量子化部5からなり、量子化部5からの量子化された係数データが可変長符号符号化部6に供給される。可変長符号符号化部6から可変長符号化された符号化データが出力される。係数データとしては、2次元周波数が0でないAC係数と2次元周波数が0のDC係数とがある。
インター予測符号化部2は、入力画像データと局部復号化画像データとの差分を得るための加算器7、差分を直交変換する直交変換部8および直交変換部8からの係数データを量子化する量子化部9とからなる。量子化部9からの量子化された係数データが可変長符号符号化部10に供給される。可変長符号符号化部10から可変長符号化された符号化データが出力される。
局部復号化のために、量子化部5および9のそれぞれの出力が供給される逆量子化部11、直交変換の逆の変換を行う逆変換部12、動き補償部13、動き補償部13の出力と逆変換部12の出力を加算する加算器14、加算器14の出力が供給され、ブロック境界を平滑化するためのデブロックフィルタ15、および入力画像データの動きを検出する動き予測部16が設けられている。動き予測部16で形成された動きベクトルが動き補償部13に供給されると共に、予測符号化され、可変長符号符号化部10に対して供給される。
入力画像信号は、イントラ予測で符号化されるものと、インター予測で符号化されるものとに分離され、それぞれイントラ予測符号化部1およびインター予測符号化部2に対して供給される。イントラ予測符号化部1では、単一のフレームを用いて符号化が行われる。イントラ予測符号化部1では、入力画像の画素値が直交変換部3に入力され、ここで離散コサイン変換、カルーネン・レーベ変換等の直交変換が施される。直交変換部3の出力(変換係数)が画面内予測符号化部4に供給され、ブロック間の相関を利用して係数データが画面内予測符号化部4によって予測符号化される。画面内予測符号化で符号化された係数データ(差分値)が量子化部5に提供され、量子化部5において量子化処理が施される。量子化部5からの量子化された変換係数が可変長符号符号化部6に供給されて可変長符号化が施される。
インター予測符号化部2では、複数のフレームの画像情報を用いて入力画像信号が符号化される。ローカル復号化によって動き補償部13から得られた参照画像と入力画像との差分が加算器7の出力に得られる。動き補償部13では、入力フレームと異なる他のフレームの画像情報の動き補償処理が行われ、参照画像情報が生成される。動き補償のために動き予測部16からの動きベクトルが使用され、また、動きベクトル情報が可変長符号符号化部10に出力され、動きベクトル情報が可変長符号化され、画像圧縮情報のヘッダ部に挿入される。その他の処理はイントラ符号化に関するものと同様である。
次に、図2のブロック図を参照して、画像情報復号化装置について説明する。受け取った符号化データがイントラ予測で復号されるものと、インター予測で復号されるものとに分けられ、イントラ予測復号化部21およびインター予測復号化部22にそれぞれ供給される。
イントラ予測復号化部21は、可変長符号復号化部23と、画面内予測符号復号化部24と、量子化の逆の処理を行う逆量子化部25と、直交変換の逆の変換を行う逆変換部26と、ブロック歪みの軽減のためのデブロッキング・フィルタ27とからなる。デブロッキング・フィルタ27の出力に復号画像が得られる。
インター予測復号化部22は、可変長符号復号化部28と、量子化の逆の処理を行う逆量子化部29と、直交変換の逆の変換を行う逆変換部30と、加算器31と、ブロック境界を平滑化するためのデブロッキング・フィルタ32と、動きベクトル復号化部33と、復号された動きベクトルによって動き補償を行う動き補償部34とからなる。動き補償部34において、デブロッキング・フィルタ32から得られる復号画像が動き補償され、復号画像が加算器31に供給される。加算器31において、逆変換部30からの差分信号と復号画像信号とが加算される。
VC−1フォーマットは、MPEGなどと異なる処理がなされている。非特許文献2によれば、主なものは、以下の通りである。
1.適応型ブロック・サイズによる直交変換
(複数のサイズの直交変換ブロックを使用して直交変換を行う。)
2.16ビット処理を前提とした直交変換セット
(16ビットの固定小数点演算を使用して逆変換を実装し、復号化時の演算量を抑える。)
3.動き補償
(探索ブロックと、動きベクトルの検出の画素単位と、予測値生成に使用するフィルタの種類との3つのパラメータの組合せによる4つの動き補償のモードを規定する。)
4.量子化と逆量子化
(2つの量子化の方法が切り換えられる。)
5.デブロッキング・フィルタ
(ブロック境界に不連続が生じるのを防止するために、H.264/AVCと同様にデブロッキング・フィルタを導入して、ブロック境界を平滑化している。)
6.2つのインタレース符号化方式
(インタレース符号化方式としてInterlaced fieldピクチャ符号化方式と、Interlaced frameピクチャ符号化方式との2つの方式が可能とされている。)
7.Bピクチャの符号化方式
(参照するピクチャに対するBピクチャの位置関係を明示して符号化する等の特徴を有する。)
この発明は、上述したVC−1フォーマットの復号化装置における画面内予測符号復号化部24に適用される。図3に示すように、従来の処理手順では、前段の可変長符号復号化部23からの係数(ストリームデータ)と、ピクチャ、マクロブロック、ブロックのそれぞれの先頭を示す同期信号SyncとがDC予測部41に入力される。DC係数は、11ビット定義であり、例えばMSB(最上位ビット)側に1ビットの0を付加することによって、12ビットデータとする。AC係数は、12ビットである。同期信号が3ビット存在するので、合計15ビットの幅のストリームがDC予測部41に対して入力される。
入力データとしては、入力されたストリームに対するパラメータが存在し、パラメータはその変化単位がピクチャ、マクロブロック、ブロックのものが存在するので、それぞれの変化点になった場合、例えば各Syncに同期して可変長符号復号化部23より送られてくるように設計される。DC予測部41で処理を施されたストリームデータは、同様に各Syncを付加された状態で次の並び替え部としてのジグザグスキャン部42に入力され、さらに、同様に各Syncを付加された状態で次のAC予測部43で処理される。AC予測部43から出力されるSyncおよびストリームデータが次段の逆量子化部25に供給される。
DC予測部41で決定される予測方向のデータは、ジグザグスキャン部42の処理に影響を及ぼし、また、予測方向のデータがAC予測部43で予測方向として使用されるので、予測方向のデータがDC予測部41からジグザグスキャン部42とAC予測部43に伝達される。
VC−1フォーマットにおけるピクチャ、マクロブロック、ブロックの概要を図4に示す。図4は、横方向画素数がXSIZ、縦方向画素数がYSIZのピクチャを表している。このピクチャ中のマクロブロックでDC予測を施される予測対象のマクロブロック(カレントマクロブロックと適宜称する)が示されている。カレントマクロブロックのピクチャ内の位置は、縦mbx (0≦mbx ≦MBXSIZ)、横mby (0≦mby ≦MBYSIZ)とする。VC−1では、画像は、(Y:Cb:Cr=4:2:0)フォーマットに基づいて符号化されるので、マクロブロックは、Y×4、Cb×1、Cr×1の合計6個の(8×8)サイズのDCTブロックより構成される。すなわち、MBXSIZ=int(XSIZ/16)、MBYSIZ=int(YSIZ/16)(int(x)はx の整数部分を表す)なる関係である。
DC予測で使用されるDCプリディクタについて図5を参照して説明する。DCプリディクタとは、DC予測が施されるカレントブロック(予測対象ブロック)に隣接する上、左上、左のブロックに属するDC係数のことで、そのブロックをBLKA, BLKB, BLKCと
呼び、DCプリディクタをDCA, DCB, DCCと呼ぶこととする。
図4においてこの関係を示せば、例えばカレントブロックをY0(mbx, mby)とすれば、BLKAは、Y2(mbx, mby-1)、BLKBは、Y3(mbx-1, mby-1)、BLKCは、Y1(mbx-1, mby)となる
。また、カレントブロックをCb(mbx, mby)とすれば、BLKAは、Cb(mbx, mby-1)、BLKBは、Cb(mbx-1, mby-1)、BLKCは、Cb(mbx-1, mby)となる。
DC予測の演算方法を以下に述べる。DC予測演算を行うためには予測の方向を決定する必要がある。予測の方向は、プリディクタDCAとDCBの差と、DCCとDCBの差から決定する。abs(DCB−DCA)≦abs(DCB−DCC)が真であるときには、予測方向が左となり、この関係が偽であるときには、予測方向が上となる。Abs(A)は、Aの絶対値を表す。DC予測演算は、この方法で決定された方向の隣接ブロックのDC係数、すなわち、予測方向が左のとき(左予測と適宜称する)では、DCCをカレントブロックのDC係数に加算し、予測方向が上のとき(上予測と適宜称する)では、DCAをカレントブロックのDC係数に加算し、DC係数を復号する。
ここで、DC係数のスケーリングについて述べる。VC−1においてはパラメータとしてマクロブロック単位でMQuantと呼ぶ量子化係数値が定義されている。また、HalfStepと呼ばれるパラメータがマクロブロック単位で定義されており、この2つをQuantizerと呼
び、BLKA、BLKB、BLKCのQuantizerをそれぞれMQA, MQB, MQCとする。カレントブロックと隣接するブロックのQuantizerが異なる場合、所定の演算によってスケーリング処
理が施される。予測方向の決定や加算の処理時では、プリディクタDCA, DCB, DCCとして、このスケーリング処理後の値が使用される。
次に、ジグザグスキャンに関して説明する。一般にAC係数は、高周波領域(ブロックの右下)に向かうほど量子化により0が発生する確率が高くなる。そのためエンコーダは可変長符号化効率を高めるために、左上側から斜め方向にデータを読むことによって連続して0が発生しやすいようにする。これをジグザグスキャンと呼ぶ。したがってデコーダでは、エンコーダがジグザグにスキャンしたデータを並べ替える必要がある。VC−1では、プロファイルやサブブロックパターン、予測の方向等により複数種類のスキャンパターンが定義されている。
図6Aは、ACPRED=0(AC予測なし)の場合のスキャンパターン(ノーマルスキャン)を示し、図6Bは、ACPRED=1(AC予測あり)且つ上予測の場合のスキャンパターン(水平スキャン)を示し、図6Cは、ACPRED=1(AC予測あり)且つ左予測の場合のスキャンパターン(垂直スキャン)を示す。図7A〜図7Dは、インターSimple/Mainプログレッシブの場合のスキャンパターンを示す。図6および図7中の点線で示す順序でもって係数データが順次出力される。これらの図6および図7以外のスキャンパターンも定義されているが、簡単のため、その図示を省略する。
ジグザグスキャン部42は、入力されたカレントストリームが複数のスキャンパターンのどのパターンであるかをパラメータデータから知り、係数データの順序をブロック内の位置に対応したものに並び替え、並び替えられた係数データがAC予測部43に入力される。
AC予測部43においてなされるAC予測について図8を参照して説明する。AC予測は、AC係数の比較的低次のデータに対してのみなされる。すなわち、各ブロックの第1列のDC係数を除く7個のAC係数、または第1行のDC係数を除く7個のAC係数が予測符号化される。AC予測演算は、AC予測を許可するパラメータが有効であり、隣接するブロックがイントラである等の条件を満たした場合、DC予測で決定された予測の方向によって、カレントブロックの整列する7個のAC係数(予測符号化されている差分値)に対してプリディクタACAまたはプリディクタACCの7個のAC係数(予測符号化が復号されている)を加算するものである。すなわち、予測方向が左のときはACCがカレントブロックの第1列のAC係数に対して加算され、予測方向が上のときはACAがカレントブロックの第1行のAC係数に対して加算される。DC係数と同様に、AC係数もスケーリング処理後のものが使用される。
図9に示すように、DC予測部41には、前述したDCA,DCB,DCC,MQA, MQB,MQC,intraflagA, intraflagB, intraflagCを記録しておくメモリを持つ必要がある
。Intraflagは、そのブロックがイントラかインターかを示すフラグである。
通常、コーデックは、マクロブロック単位で行われることが多いが、本明細書では説明の都合上、ブロック単位の処理とする。すなわち、入力ストリームの順番は図10におけるブロック(0,0),(1,0),(2,0),…(Bx,0),(0,1),(1,1), (1,2) …(Bx, By)であり、出
力ストリームの順番も同様とする。図10において、処理を施すカレントブロックをU(bx, by) とすると、BLKAはR、BLKBはQ、BLKCはTとなる。
ここで、ブロックUの処理後(予測符号化の復号後)のデータU’(’の記号は処理後を意味する)をブロックQが記憶されていたメモリのアドレスbx−1に書き込むとする
。次の処理ブロックV(bx+1、by)では、BLKAは、メモリ上のアドレスbx+1(メモリ上のアドレスには実際は各係数の開始位置を示すオフセットを加算したアドレス)のS’、BLKBは、メモリ上のアドレスbxのR’、BLKCは、メモリ上のアドレスbx−1のQ’となる。同様に、処理ブロックU(bx,by)に対するBLKCは、Rである。このように、DC予測に使用する処理後のデータは、連続する3個のアドレス(bx−1,bx,bx+1
)に格納されているので、参照するデータを保持するためには、Bx+1(ブロック)分
のデータがあれば都合がよいことがわかる。
上述したように、DC予測部41において、DC予測に必要なデータはDCA,DCB,DCC,MQA,MQB,MQC,intraflagA,intraflagB,intraflagCの9個であるから
、メモリに対して9回の読み出しがなされる。したがって、DC予測部41の出力ストリームは、メモリから必要なデータが全て読み出されるための遅延とその後の演算遅延の分、遅れて出力されることとなる。また、DC予測部41において、予測後のカレントブロックのDC係数、カレントブロックのMQ、intraflagの3個のデータをメモリへ書き込む
ので、書き込みが3回なされる。
DC予測部41によってDC係数の予測復号化がなされ、DC予測部41からは、復号後のDC係数と、カレントストリームのAC係数(12ビット)のストリームデータと、スライス、マクロブロック、ブロックの先頭を示す同期信号Syncからなる15ビットのデータが出力される。また、DC予測方向のデータも出力される。このDC予測部41の出力データがジグザグスキャン部42に供給される。
ジグザグスキャン部42は、メモリに1ブロックの64個の係数データを書き込み、また、メモリから1ブロックの係数データを読み出す。カレントストリームのパラメータに含まれるスキャンパターンを示すデータによって書き込みアドレスおよび読み出しアドレスの一方を制御して、AC係数の順序を並び替え、1ブロックの64個の係数データを順番に出力する。メモリは、15ビット×64の容量を有する。このメモリを2個(2バンク)持つことによって、ストリームデータを途切れなく処理することができる。
スキャンパターンは、図6および図7に示されている。例えば図6Bに示すスキャンパターンの場合では、ストリーム入力の並び順は点線で示す順であって、0,1,8,2,3,・・・,55,63である。ジグザグスキャン部42では、この係数データの順序を0,1,2,3,4,・・・・,62,63の順に並べ替える。並び替えのために書き込みアドレスとして、0,1,8,2,3,・・・,55,63のアドレスを生成し、入力ストリームを該当するメモリアドレスに書き込む。1 ブロック分の書き込みが終了すると、読み出しアドレスとして0,1,2,3,4,・・・・,62,63を生成し、メモリから指定アドレスを読み出すことによって、0,1,2,3,4,・・・・,62,63と並んだ係数データを得ることができる。ジグザグスキャン部42から係数データと予測方向を示すデータとがAC予測部43に対して出力される。
図11に示すように、AC予測部43には、ACA,ACC,MQA,MQC,intraflagA,
intraflagCを記録しておくメモリを持つ必要がある。Intraflagは、そのブロックがイントラかインターかを示すフラグである。DC係数は、一つの係数データの予測であるのに対して、AC係数は、7個の係数データの予測であり、また、予測方向のデータを受け取るまでは、予測方向が分からないために、ACAおよびACCの合計14個のAC係数をメモリに記憶するようになされる。AC予測部43では、MQを使用したスケーリングの処理を行い、スケーリング後のAC係数によって予測復号化がなされる。後段の逆量子化部25(図2参照)に対して、DC係数と、カレントストリームのAC係数の8ビットのストリームデータと、スライス、マクロブロック、ブロックの先頭を示す同期信号Syncからなる11ビットのデータが出力される。
AC予測部43では、予測方向が上の場合には、ACAの7個の係数データと、MQA
、intraflagAの9個のデータがメモリから読み出され、予測方向が左の場合には、AC
Cの7個の係数データと、MQC、intraflagCの9個のデータがメモリから読み出される
。この9個のデータが全て読み出されるための遅延と、その後の演算に要する時間の遅延を伴ってデータが出力されることになる。
メモリに対して、予測処理が施された後のカレントブロックの最上段の1行に位置する7個のAC係数と、最も左側の列に位置する7個のAC係数と、カレントブロックのMQと、intraflagとの合計16個のデータを書き込むために、書き込みは、16回行われる。
0,1,2,・・・,62,63と順番に1ブロックの係数データが並ぶ場合に、1,2,3,4,5,6,7の位置のAC係数データと、8,16,24,32,40,8,56の位置のAC係数データとがメモリに書き込まれる。カレントブロックのMQと、intraflagとは、AC係数の書き込みがなされていないタイミングでメモリに書き込まれる。
上述した従来の画面内予測符号化の復号化の構成は、DC予測、ジグザグスキャン、AC予測を順次処理する構成のために、DC予測およびAC予測とで共通する演算処理回路を別々に備える必要があり、演算処理回路を二重に備える構成上の無駄があり、また、処理によって生じる遅延が大きくなる問題があった。また、演算回路のみならず、各部でメモリをそれぞれ備えているために、メモリの容量が大きくなり、効率的な構成ではなかった。
したがって、この発明の目的は、演算回路およびメモリの統合を図り、効率的な構成であって、処理によって生じる遅延を短いものとできる画像データ処理装置を提供することにある。
上述した課題を解決するために、この発明は、1画面が複数の画素からなるブロックに細分化され、各ブロックの単位で直交変換符号化がなされ、直交変換符号化によってDC係数およびAC係数が形成され、符号化対象のブロックのDC係数が予測方向で隣接するブロックのDC係数によって予測符号化され、予測方向を使用して符号化対象のブロックのAC係数が隣接するブロックのAC係数によって予測符号化され、符号化データがビットストリームに変換されて伝送され、ビットストリームが入力される画像データ処理装置において、
DC係数予測用プリディクタに相当するDC係数と、AC係数予測のために使用される可能性のあるプリディクタに相当するAC係数と、スケーリング処理に使用するパラメータとをメモリから読み出すためのアドレスを生成する読み出しアドレス発生部と、
メモリから読み出されたDC係数およびAC係数のスケーリング処理をパラメータを使用して行う第1の演算部と、
スケーリング処理後のDC係数予測用プリディクタに相当するDC係数を使用して複数の予測方向の一つを決定する第2の演算部と、
決定された予測方向に対応するプリディクタを入力ビットストリーム中のDC係数および所定のAC係数に対して加算して予測後のDC係数およびAC係数を生成する加算部と、
加算部の出力に得られる予測後のビットストリームにおいて、DC係数予測用プリディクタ、AC係数予測のために使用される可能性のあるプリディクタに相当するAC係数およびスケーリング処理に使用するパラメータをメモリに書き込むための書き込みアドレスを発生する書き込みアドレス発生部と
予測後のビットストリームの係数の順序を並び替える係数並び替え部と
を備える画像データ処理装置である。
この発明は、上述した画像データ処理装置において、書き込みアドレス発生部がスキャンパターンとメモリに書き込むべき位置の番号との対応関係を示すテーブルを備え、処理対象のブロックのスキャンパターンに基づいてAC係数予測のために使用される可能性のあるプリディクタに相当するAC係数を規定する画像データ処理装置である。
この発明においては、DC予測と、AC予測で共通する演算処理回路の削減が可能となる。演算回路を共通化することにより、入力および出力間の遅延を短くすることができる。また、参照値としてのプリディクタを記録するメモリも統合することができ、メモリを効率よく配置することが可能となり、無駄のないメモリ配置が可能となる。
以下、図面を参照してこの発明の一実施の形態について説明する。この一実施の形態は、上述したVC−1フォーマットの復号化装置における画面内予測符号復号化部24に対してこの発明を適用した例である。但し、VC−1フォーマット以外のフォーマットであっても、直交変換の結果の係数データの画面内予測符号復号化を行う処理に対して、この発明を適用することができる。
図12は、一実施の形態の全体的構成を示す。前段の可変長符号復号化部23からの係数(ストリームデータ)と、ピクチャ、マクロブロック、ブロックのそれぞれの先頭を示す同期信号SyncとがDC/AC予測部51に入力される。DC係数は、11ビット定義であり、例えばMSB(最上位ビット)側に1ビットの0を付加することによって、12ビットデータとする。AC係数は、12ビットである。同期信号が3ビット存在するので、合計15ビットの幅のストリームがDC/AC予測部51に対して入力される。
入力データとしては、入力されたストリームに対するパラメータが存在し、パラメータはその変化単位がピクチャ、マクロブロック、ブロックのものが存在するので、それぞれの変化点になった場合、例えば各Syncに同期して可変長符号復号化部23より送られてくるように設計される。DC/AC予測部51で処理を施されたストリームデータは、同様に各Syncを付加された状態で次のジグザグスキャン部52に入力され、処理される。ジグザグスキャン部52から出力されるSyncおよびストリームデータが次段の逆量子化部25に供給される。
DC/AC予測部51で決定される予測方向のデータは、ジグザグスキャン部52の処理に影響を及ぼすので、予測方向のデータがDC/AC予測部51からジグザグスキャン部52に伝送される。
並び替え部としてのジグザグスキャン部52は、従来構成におけるジグザグスキャン部42と同様に、エンコーダがジグザグにスキャンしたデータを並べ替える。VC−1では、図6および図7に示すように、プロファイルやサブブロックパターン、予測の方向等により複数種類のスキャンパターンが定義されているので、ジグザグスキャン部52は、入力されたカレントストリームが複数のスキャンパターンのどのパターンであるかをパラメータデータから知り、係数データの順序をブロック内の位置に対応したものに並び替える。
一実施の形態では、DC予測とAC予測とがメモリに対するアクセス、係数のスケーリング処理、予測値の加算処理などが類似していることに着目し、DC予測と、AC予測とを共通処理ブロック(DC/AC予測部51)としてまとめている。DC/AC予測部51は、DC予測のためのプリディクタDCA,DCB,DCCと、AC予測のためのプリディクタACA,ACCと、MQA, MQB,MQC,intraflagA,intraflagB,intraflagCを記憶するメモリを備えている。図13に示すように、これらのデータがメモリに保持される。予測のためのDC係数データおよびAC係数データを保持する容量として従来の構成と同様に必要とされるが、MQA, MQB, MQC,intraflagA,intraflagB,intraflagCを二重に保持する必要がなくなり、容量が節減できる。
図14に示すような構成をDC/AC予測部51が備え、DC/AC予測部51が図15に示すタイミングにしたがって動作する。図16は、動作説明用のシーケンスチャートである。可変長符号復号化部23からストリームデータS801が入力される(図16のシーケンスST1)。上述したように、このストリームは、15ビット幅を有している。タイミング生成器(図ではTGと表記する。)801が入力ストリームS801の同期信号に基づいてタイミング信号を生成する。タイミング信号S802がアドレス生成器(図ではADGと表記する。)802に供給される。
図15に示すように、アドレス生成器802は、ブロックタイミングを示す同期信号Blocksyncと同期して、入力ストリームS801に対するDCA 、DCB 、DCCに相当
するDC係数と、ACA, ACCに相当するAC係数と、MQA,MQB, MQC,intraflagA,intraflagB,intraflagCが記憶されているアドレスと、そのそれぞれのデータを読み出すリードイネーブル信号(ハイレベルのときに有効)を生成する。メモリ817から読み出されたこれらのデータがセレクタ803に入力される(シーケンスST2)。この段階では、未だ予測方向が決定されていないので、AC予測のためにACAおよびACCの何れを使用するかが決定されない。しかしながら、この一実施の形態では、AC予測に使用される可能性のある二つのAC係数を先読みすることによってDC予測とAC予測とを共通の構成で行うことを可能としている。
セレクタ803は、メモリ817から読み出されたデータをDC/AC係数S805と、MQ(MQA,MQ B, MQC)S806と、intra flag(intra flag A,intra flag B,intra flag C)S829に分離する。これらのデータがレジスタ804、805および821に対してそれぞれ保持される。ここでDC係数とAC係数の合計8個のスケーリング処理が順次行われることから、レジスタ804にAC係数のビット幅分の12ビットを持たせることによって、メモリ817から読み出されたAC係数がレジスタ804に順次記憶される。レジスタ804、805および821に保持されているデータS807,S808およびS830が演算ユニット(図ではALUと表記する)806に対して供給される。
演算ユニット806において、参照するDC/AC係数、およびMQA,MQB, MQC,intra flagが全て揃ったタイミングでスケーリング演算を行う(シーケンスST3)。すな
わち、演算ユニット806は、入力ストリームS801が持つカレントMQとレジスタ805からの参照ブロックのMQとを比較し、両者が異なり、且つスケーリングを行う条件の場合には、DC係数S807に対してスケーリング処理を行う。スケーリングが不要な場合では、1を乗算する処理がなされる。演算ユニット806の出力信号S809がセレクタ807に供給され、レジスタ808,809,810,818に記憶される(シーケンスST4)。
セレクタ807は、演算ユニット806が出力したDC係数S809がプリディクタDCAからスケーリング演算されたものの場合は、S810としてレジスタ808に出力し、レジスタ808がそのDC係数を記憶する。プリディクタDCBからスケーリング演算されたDC係数は、S811としてレジスタ809に出力され、レジスタ809がそのDC係数を記憶する。プリディクタDCCからスケーリング演算されたDC係数は、S812としてレジスタ810に出力され、レジスタ810がそのDC係数を記憶する。さらに、演算ユニット806が出力したAC係数S809がS823としてレジスタ818に出力され、レジスタ818がそのAC係数(ACA(7個のAC係数)およびACB(7個のAC係数))を記憶する。
レジスタ808,809,810,818にスケーリング処理後のプリディクタDCA,DCB,DCC,ACAおよびACBが全て揃ったタイミングで演算ユニット811が予測方向を決定する(シーケンスST6)。前述したように、予測の方向は、プリディクタDCAとDCBの差と、DCCとDCBの差から決定される。abs(DCB−DCA)
≦abs(DCB−DCC)が真であるときには、予測方向が左となり、この関係が偽であ
るときには、予測方向が上となる。左予測では、DCCをカレントストリームのDC係数に加算し、上予測では、DCAをカレントストリームのDC係数に加算し、DC係数を復号する。
演算ユニット811が決定した予測方向を示す予測方向信号S815がセレクタ812に制御信号として供給されると共に、次段のジグザグスキャン部52に対して出力される。セレクタ812に対してレジスタ808からのS813(DCA)およびレジスタ812からのS814(DCC)が入力され、予測方向信号S815に応じて一方の信号がセレクタ812によって選択され、レジスタ813に対してカレントストリームのDC係数に対して加算される値S816として供給される。
レジスタ813に書き込まれたプリディクタがセレクタ820に対してS817として出力される。セレクタ820に対してS827(0データ)およびAC係数予測用のプリディクタS824(レジスタ818の出力)が供給される。セレクタ820は、タイミング生成器819の出力S826によって制御され、S827(0データ)、S817(DC予測用プリディクタ)、S824(AC予測用プリディクタ)のそれぞれを適切なタイミングでS828として加算器814に対して出力する(シーケンスST8,ST9)。
加算器814に対しては、入力(カレント)ストリームが遅延補償用の遅延DLを介して供給される。カレントストリーム中のDC係数に対してセレクタ820からのプリディクタDCAまたはDCCが加算され、AC係数に対してセレクタ820からのプリディクタACAまたはACCが加算される(シーケンスST10)。加算が不要な係数データのタイミングでは、セレクタ820が0データを加算器814に出力する。このようにして加算器814の出力には、予測後のDC係数と、カレントストリームのAC係数の12ビットのストリームデータと、スライス、マクロブロック、ブロックの先頭を示す同期信号Syncからなる15ビットのデータS822が取り出される。
演算ユニット811から出力される予測方向信号S815がアドレス生成器816に供給される。アドレス生成器816には、タイミング生成器815が遅延後のカレントストリームの同期信号Syncから形成したタイミング信号S819が供給される。アドレス生成器816は、メモリ817に対する書き込みアドレスおよびライトイネーブル信号(ハイレベルのときに有効)を生成し、書き込みアドレスおよびライトイネーブル信号をS820としてメモリ817に対して供給する(シーケンスST11)。
図15に示すように、加算器814の出力データS822の中で次のブロックの予測に必要とされる係数データのタイミングでライトイネーブル信号がアクティブとなり、書き込みアドレスが発生し、係数データがメモリ817に対して書き込まれる(シーケンスST12)。係数データ以外にカレントストリームのMQおよびintra flagを書き込むためのライトイネーブル信号および書き込みアドレスをアドレス生成器816が発生し、これらのデータがメモリ817に書き込まれる。
図15に示すタイミングチャートにおいて、メモリ817からデータが23回読み出される。すなわち、DC/AC予測部51において、DC/AC 予測に必要なデータはDCA,DCB,DCC,MQA,MQB,MQC,intraflagA,intraflagB,intraflagC,AC
A,ACC各7個の合計23個であるから、メモリから23回の読み出しがなされる。ここで、ACAとACCの両方を読み出すのは、メモリから読み出す時点では予測の方向が決定されていないためで、方向がどちらになってもよいようにスケーリング処理までは両方のデータに関する処理がそれぞれ行われる。
出力ストリームS822は、このメモリ817から必要なデータがすべて読み出されるための遅延と、その後の演算遅延とを伴った分だけ遅れて出力されることとなる。メモリへの書き込みは、予測処理が施された後のカレントのDC係数、および処理後のAC係数のブロック最上段にあたる7個のAC係数と、最左列に当たる7個のAC係数とカレントのMQ、intra flagの合計17個であるので、17回行われる。すなわち、出力ストリームのDC係数を0として以下のAC係数の位置をカウントアップすることによって、AC係数の書き込み位置が1,2,3,4,5,6,7,8,16,24,32,40,48,56となる。MQとintra flagは、DC係数の書き込み位置0とこの位置以外で書き込めば良い。一例として、62および63でこれらを書き込むようになされる。
図17は、ジグザグスキャンの一例とDC/AC予測部51がプリディクタ(参照データ)を必要とする箇所をメモリ817に記録する際の関連の一例を示す。AC予測で必要とされるAC係数は、図17に示すように、上プリディクタ候補は、1,2,3,4,5,6,7であり、左プリディクタ候補は、8,16,24,32,40,48,56である。出力ストリームS822の中でこの位置の係数データのみをメモリ817に記憶しておけばよいことがわかる。したがって、アドレス生成器816は、上プリディクタ候補として、Blocksyncから数えて入力ストリームの位置1,3,4,10,11,22,23をメモリ817に記憶し、左プリディクタ候補として、Blocksyncから数えて入力ストリームの位置2,6,7,15,16,17,29をメモリ817に記憶し、さらに、カレントストリームのMQおよびintra flagを記憶するための書き込みイネーブル信号および書き込みアドレスを生成する。
これらの書き込みべきデータの位置は、スキャンパターン(図6および図7参照)によって変化する。したがって、スキャンパターンと書き込むべき位置の番号との対応関係を示すテーブルが予め作成され、アドレス生成器816に備えられている。図18は、上予測の場合のAC係数の加算位置(メモリ817への書き込み位置)を示すテーブルと、左予測の場合のAC係数の加算位置(メモリ817への書き込み位置)を示すテーブルを示す。
スキャンパターンとしては、5種類(Normal Scan(図6A),Horizontal Scan(図6B),Vertical Scan(図6C),Inter特殊,P Pic Progressive Intra)ある。イントラブロ
ックの場合には、予測方向に応じた3種類のスキャンパターンの何れかである。「Intra
」の条件は、
・I(BIを含む)PictureのIntra Block
・Interlace Frame Coded P/B Pictureにおいて予測ブロックBLK AまたはBLK Cの少な
くとも一方がIntra Blockの場合
の何れかを満たすものである。ACPRED=0(AC予測なし)の場合には、Normal Scan(
図6A)とされ、ACPRED=1(AC予測あり)で且つ上予測の場合には、Horizontal Scan(図6B)とされ、ACPRED=1(AC予測あり)で且つ左予測の場合には、Vertical Scan(図6C)とされる。
さらに、「Inter特殊」の場合と、「P Pic Progressive Intra」の場合とがある。「Inter特殊」の条件は、
カレントブロックがInterlace Frame Coded P/B PictureにおけるIntra Macro Blockに含まれるブロックであり、且つACPRED=0(AC予測なし)または予測ブロックBLK AまたはBLK CがInter Block(すなわち、Intra Blockでない)
である。この条件を満たすものを本明細書では、便宜上「Inter特殊」と称するもので
ある。さらに、「P Pic Progressive Intra」は、厳密に書くと
Progressive画像のP PictureにおけるIntra Block
を示す。
各テーブルにおいては、上プリディクタ候補を書き込む場合の位置の番号が複数のスキャンパターンに関して規定され、また、左プリディクタ候補を書き込む場合の位置の番号も同様に複数のスキャンパターンに関して規定されている。但し、画面内予測符号の復号化は、イントラブロックに対してのみなされる処理であるために、全てのスキャンパターンに関する規定を行う必要がなく、図示するような5個のスキャンパターンに関して規定がなされている。
図19は、DCプリディクタの加算およびDC係数の書き込み位置と、MQおよびintra
flagの書き込み位置と、各スキャンパターンに関しての上予測および左予測のそれぞれの場合のACプリディクタの加算位置を示すタイミングチャートである。MQおよびintra flagの書き込み位置(62,63)は、2段のタイミングチャートで示されている。
なお、図13にメモリ817がデータを保持する態様の一例を示したが、図20に示すように、DC係数(11ビット)に対してintra flagの1ビットを付加し、MQ(6ビット)を12ビットの幅にすることによって、メモリを効率的に利用でき、メモリの構成間口を12ビットに統一することができる。
以上、この発明の一実施の形態について具体的に説明したが、この発明は、上述した一実施の形態に限定されるものではなく、この発明の技術的思想に基づく各種の変形が可能である。例えばこの発明は、VC−1フォーマットに限らず、画面内予測符号の復号化に対して適用できる。例えばカレントブロックの全データに対して予測を行うようにしても良い。また、係数データではなく、画素値に対する予測を行うものに対してもこの発明は適用可能である。
この発明を適用することができる符号化装置の一例のブロック図である。 この発明を適用することができる復号化装置の一例のブロック図である。 従来の画像データ処理装置の構成例を示すブロック図である。 ピクチャ、マクロブロック、ブロックの関係を説明するための略線図である。 DC係数の予測を説明するための略線図である。 スキャンパターンのいくつかの例を示す略線図である。 スキャンパターンの他のいくつかの例を示す略線図である。 AC係数の予測を説明するための略線図である。 従来の構成におけるDC係数予測部のメモリに保持されるデータを説明するための略線図である。 メモリに保持されるデータを説明するための略線図である。 従来の構成におけるAC係数予測部のメモリに保持されるデータを説明するための略線図である。 この発明の一実施の形態の構成を示すブロック図である。 この発明の一実施の形態におけるDC/AC係数予測部のメモリに保持されるデータを説明するための略線図である。 この発明の一実施の形態におけるDC/AC係数予測部の構成の一例を示すブロック図である。 図14に示す構成の処理の説明に用いるタイミングチャートである。 図14に示す構成の処理の説明に用いるシーケンスチャートである。 ジグザグスキャンの一例とAC予測のためのプリディクタの位置を示すタイミングチャートとを示す略線図である。 AC係数に対する加算位置とスキャンパターンとの対応関係を示すテーブルの一例を示す略線図である。 スキャンパターンのそれぞれに関してAC係数に対する加算位置を示すタイミングチャートである。 この発明の一実施の形態におけるDC/AC係数予測部のメモリにデータを保持する場合のデータ配置を説明するための略線図である。
符号の説明
1 イントラ予測符号化部
2 インター予測符号化部
3 直交変換部
4 画面内予測符号化部
21 イントラ予測復号化部
22 インター予測復号化部
24 画面内予測符号復号化部
41 DC予測部
42,52 ジグザグスキャン部
43 AC予測部
51 DC/AC予測部

Claims (2)

  1. 1画面が複数の画素からなるブロックに細分化され、各ブロックの単位で直交変換符号化がなされ、直交変換符号化によってDC係数およびAC係数が形成され、符号化対象のブロックのDC係数が予測方向で隣接するブロックのDC係数によって予測符号化され、上記予測方向を使用して符号化対象のブロックのAC係数が隣接するブロックのAC係数によって予測符号化され、符号化データがビットストリームに変換されて伝送され、上記ビットストリームが入力される画像データ処理装置において、
    DC係数予測用プリディクタに相当するDC係数と、AC係数予測のために使用される可能性のあるプリディクタに相当するAC係数と、スケーリング処理に使用するパラメータとをメモリから読み出すためのアドレスを生成する読み出しアドレス発生部と、
    上記メモリから読み出されたDC係数およびAC係数のスケーリング処理を上記パラメータを使用して行う第1の演算部と、
    上記スケーリング処理後の上記DC係数予測用プリディクタに相当するDC係数を使用して複数の予測方向の一つを決定する第2の演算部と、
    決定された上記予測方向に対応するプリディクタを上記入力ビットストリーム中のDC係数および所定のAC係数に対して加算して予測後のDC係数およびAC係数を生成する加算部と、
    上記加算部の出力に得られる予測後のビットストリームにおいて、上記DC係数予測用プリディクタ、上記AC係数予測のために使用される可能性のあるプリディクタに相当する上記AC係数および上記スケーリング処理に使用するパラメータを上記メモリに書き込むための書き込みアドレスを発生する書き込みアドレス発生部と
    上記予測後のビットストリームの係数の順序を並び替える係数並び替え部と
    を備える画像データ処理装置。
  2. 上記書き込みアドレス発生部がスキャンパターンと上記メモリに書き込むべき位置の番号との対応関係を示すテーブルを備え、処理対象のブロックの上記スキャンパターンに基づいて上記AC係数予測のために使用される可能性のあるプリディクタに相当するAC係数を規定する請求項記載の画像データ処理装置。
JP2006216497A 2006-08-09 2006-08-09 画像データ処理装置 Expired - Fee Related JP4802928B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006216497A JP4802928B2 (ja) 2006-08-09 2006-08-09 画像データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006216497A JP4802928B2 (ja) 2006-08-09 2006-08-09 画像データ処理装置

Publications (2)

Publication Number Publication Date
JP2008042701A JP2008042701A (ja) 2008-02-21
JP4802928B2 true JP4802928B2 (ja) 2011-10-26

Family

ID=39177214

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006216497A Expired - Fee Related JP4802928B2 (ja) 2006-08-09 2006-08-09 画像データ処理装置

Country Status (1)

Country Link
JP (1) JP4802928B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012175615A (ja) * 2011-02-24 2012-09-10 Sony Corp 画像処理装置及び画像処理方法
JP5592295B2 (ja) * 2011-03-09 2014-09-17 日本電信電話株式会社 画像符号化方法,画像符号化装置,画像復号方法,画像復号装置およびそれらのプログラム
SI2838270T1 (sl) * 2011-06-28 2017-01-31 Samsung Electronics Co., Ltd Postopek dekodiranja videa z uporabo notranjega napovedovanja

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3343554B1 (ja) * 1996-05-28 2002-11-11 松下電器産業株式会社 画像予測復号化方法及び画像予測符号化装置
JP4166305B2 (ja) * 1996-09-20 2008-10-15 エイ・ティ・アンド・ティ・コーポレーション ビデオの画像コーディング及びイントラコーディングのための暗黙の係数予測及び走査適合化を提供するビデオコーダー
JP2002118853A (ja) * 2000-08-04 2002-04-19 Matsushita Electric Ind Co Ltd 画像復号装置及び画像復号方法

Also Published As

Publication number Publication date
JP2008042701A (ja) 2008-02-21

Similar Documents

Publication Publication Date Title
KR100962759B1 (ko) 동화상 신호의 부호화 방법 및 복호화 방법
US7426308B2 (en) Intraframe and interframe interlace coding and decoding
JP4577048B2 (ja) 画像符号化方法、画像符号化装置および画像符号化プログラム
JP5672302B2 (ja) 動画像復号装置、動画像復号方法及び動画像符号化装置ならびに動画像符号化方法
US20080205508A1 (en) Method and apparatus for low complexity video encoding and decoding
JP4501631B2 (ja) 画像符号化装置及び方法、画像符号化装置のコンピュータ・プログラム、並びに携帯端末
JP2005510150A (ja) より大きな画素グリッド動き補償を利用した複雑さが減少されたビデオ復号化
WO2007034918A1 (ja) 動画像符号化装置及び動画像復号装置
US20190230379A1 (en) Method and device for intra-prediction
WO2010100672A1 (ja) 圧縮動画符号化装置、圧縮動画復号化装置、圧縮動画符号化方法および圧縮動画復号化方法
WO2010070818A1 (ja) 動画像符号化装置、動画像符号化方法、動画像復号化装置および動画像復号化方法
US8599921B2 (en) Adaptive partition subset selection module and method for use therewith
EP2658261A1 (en) Movement estimation device, movement estimation method, movement estimation program, and video image encoding device
JP4879269B2 (ja) 復号化方法及び装置
US20070133689A1 (en) Low-cost motion estimation apparatus and method thereof
US8588308B2 (en) Method and apparatus for low complexity video encoding and decoding
US9420308B2 (en) Scaled motion search section with parallel processing and method for use therewith
JP4802928B2 (ja) 画像データ処理装置
JP4760552B2 (ja) 動きベクトル復号化方法および復号化装置
JP2009260421A (ja) 動画像処理システム、符号化装置、符号化方法、符号化プログラム、復号化装置、復号化方法および復号化プログラム
US20100246682A1 (en) Scaled motion search section with downscaling and method for use therewith
JP2009049969A (ja) 動画像符号化装置及び方法並びに動画像復号化装置及び方法
KR20080035904A (ko) 영상 인코더 및 디코더에서의 색차 신호 보간 방법
JP2006166308A (ja) 復号化装置及び復号化方法
JP2008289105A (ja) 画像処理装置およびそれを搭載した撮像装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090610

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110404

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

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

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

Free format text: PAYMENT UNTIL: 20140819

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees