JP5083248B2 - 画像データ復号演算装置 - Google Patents
画像データ復号演算装置 Download PDFInfo
- Publication number
- JP5083248B2 JP5083248B2 JP2009052014A JP2009052014A JP5083248B2 JP 5083248 B2 JP5083248 B2 JP 5083248B2 JP 2009052014 A JP2009052014 A JP 2009052014A JP 2009052014 A JP2009052014 A JP 2009052014A JP 5083248 B2 JP5083248 B2 JP 5083248B2
- Authority
- JP
- Japan
- Prior art keywords
- prediction
- direct
- peripheral
- direct prediction
- processing
- 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
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
符号器10は、入力画像を入力し、符号化して、復号器11に渡し、復号器11は、渡された符号化画像を復号して、出力画像として出力する。
図2は、動きベクトルを説明する図である。
図3は、フレーム内のデコード順を説明する図である。
(MB分割:16×16、16×8、8×16、8×8)
更にMB分割が8×8分割の場合、下記に示すSubMB分割がある。
(SubMB分割:8×8、8×4、4×8、4×4)
1マクロブロックは、16×16画素であるが、これを横に分割する16×8、縦に分割する8×16、4つに分割する8×8の分割方法がある。それぞれ、16×16画素、16×8画素、8×16画素、8×8画素の単位で動きベクトルを生成する。また、8×8画素の分割の場合には、SubMB分割がある。これは、H.264の場合であり、AVSには適用されない。SubMB分割は、8×8画素を基準に、横に分割する8×4分割、縦に分割する4×8分割、4つの分割する4×4分割がある。
動きベクトル(MV)を求めるのにH.264やAVSでは周辺予測やDirect予測といった算出方法がある。
周辺予測ベクトル演算について以下に示す。
現ブロックのMVを求める場合、左隣接情報(A)、真上隣接情報(B)、右上隣接情報(C)、左上隣接情報(D)として図中に示される予測動きベクトルから、これらの中間値のMVP(予測動きベクトル)を求め、現ブロックの差分MV情報(MVD)との和で、現ブロックの動きベクトルを求める。隣接Cがない場合のみ隣接Dを隣接Cとして演算に用いる。
周辺予測演算に用いるメモリは、隣接B,C,Dを保持しておく必要がある為、4×4ブロックで処理する場合、(4)×1(Line)と、4×16(マクロブロックの左の縦の部分)と、現ブロック処理分(16)のメモリが必要となる。すなわち、図6のように、4×4画素を単位として処理を行う場合、図5で説明したように、隣接情報として、4×4ブロックA〜Dを保持しておく必要がある。したがって、現ブロックの上側の、現ブロックから右側に向かって一列と、現ブロックの左側の縦の列が必要である。上側のブロックを現ブロックから右側に一列分保持しておくのは、次のマクロブロックを処理するようになると、マクロブロックの位置が右にずれるが、その場合にもメモリ内に必要なデータ保持しておくためである。また、現マクロブロックがフレームの右端から、1段下の左端に移動する場合のために、メモリには、現ブロックから左に向かって一列分、現マクロブロックの一番下のブロックを保持しておく。前方、後方参照の両方を考慮した場合2倍のメモリ量が必要となる。
Direct予測ベクトル演算は、時間Direct演算モードと空間Direct演算モードが存在する。
時間Direct予測は、過去に復号したベクトル情報を後方参照ピクチャとし、対象ピクチャ、後方参照ピクチャ、前方参照ピクチャの時間的距離を演算し、ベクトルを生成する予測符号化モードである。
ここで、
ColPic(Colocated Picture):復号対象ピクチャの後方参照ピクチャの事を意味する。
mvCol(motion vector Colocated MB):対象MB(マクロブロック16×16画素)におけるColPic内の同MB位置のMVを意味する。
POCは画面表示順のパラメータであり現フレーム、前方参照、後方参照のPOCを用いる。
POC0 :前方参照画 MV(Fwd)に対応したPOCもの
POC1 :後方参照画 MV(Bwd)に対応したPOCもの
POC_CU :現フレームに対応したPOC
・tb /tdを演算(POC_CU/POC0/POC1より)
tb = POC_CU-POC0
td = POC1-POC0
・txを演算(td/tbより)
tx = (16384 + Abs(td/2))/td
・DSF(DistScaleFactor)を演算(tb/txより)
DSF = Clip3(-1024,1023,(tb*tx + 32)>>6)
・TempralDirectMVを演算 MV内分式
前方MV mvFwd = (DSF * mvCol + 128)>>8
後方MV mvBwd= mvFwd - mvCol
時間Direct予測においては、周辺予測と異なりMB内で分割があった場合でも隣接A-Dの生成を参照する事なく演算開始が可能となる。
時間Direct予測と同じく過去に復号化した後方参照のベクトル情報を用いてmvColと
復号化対象のMB分割に関わらず分割サイズを16×16とした隣接A、B、C、Dの情報から得られるMVPよりMV値を決定する。
エントロピー復号部40から出力された復号データは、MBTYPE解析部41に入力され、現在のマクロブロックがDirect予測か周辺予測か否かが決定される。また、現在のピクチャの表示順番PROC_CUと、参照先のピクチャの参照順番POC1、POC2がDirect予測処理部42に入力され、Direct予測処理が行われる。Direct予測処理の作業メモリとして、Direct演算メモリが設けられている。Direct予測処理が終わったマクロブロックは、Directメモリ44に格納される。Direct処理が終わると、完了報告が周辺予測処理部43に入力されると共に、Direct予測処理で得られた動きベクトルが周辺予測処理部43に入力される。周辺予測処理部43には、エントロピー復号部40からの差分動きベクトルも入力され、周辺予測処理が行われる。周辺予測処理が完了したマクロブロックは、周辺予測メモリ45に入力される。周辺予測処理部43は、Direct予測処理の対象のマクロブロックについては、Directメモリ44から動きベクトルを読み出して、そのままMV生成部46に入力する。周辺予測対照のマクロブロックについては、周辺予測メモリ45から動きベクトルを読み出して、MV生成部46に入力する。MV生成部46では、動きベクトルを、参照画像生成部47に送り、参照画像生成部47において、参照画像を生成する。
また、以上のような従来技術では、1ピクチャ分のDirect予測処理の結果を格納するDirect演算メモリが必要である。また、Direct予測処理が完全に完了しないと周辺予測ができない。
Direct予測処理部42は上述したDirect予測の演算を行う。Directメモリ44はDirect予測処理部42からのmvColの格納取得を行うためのメモリである。
しかしながら、周辺予測演算とDirect予測演算はMBのPartition毎にMV再生完了を待つ必要があり、生成処理時間に対する演算効率が悪いという問題があった。
MBpartとして、0〜3のMBpartがあり、MBpart1、2がDirect予測であるとする。まず、MBpart1、2を最初に処理する。この処理が終わると、Direct予測処理の完了通知が発行され、周辺予測演算が開始される。最初にMBpart0が周辺予測処理され、MV0が生成される。次に、MBpart1と2が処理されるが、これは、Direct予測するべきものであるので、DirectメモリからMV1、MV2を取得して、MBpart1、2の動きベクトルとする。次に、MBpart3が周辺予測処理される。これにより、動きベクトルMV3が得られる。Direct予測処理がすべて終わり、周辺予測処理で、MBpart0の処理が終わった時点から、参照画取得処理が可能となる。
本発明の課題は、異なる予測演算を含む画像復号処理を高速化することの出来る画像データ復号演算装置を提供することである。
図11において、図9と同じ構成要素には、同じ参照符号を付し、詳しい説明を省略する。
時間Direct予測は隣接情報MVの生成完了を待たずに処理が開始できる特徴を活かす事で、周辺予測とDirect予測が混在する場合、時間Direct予測と周辺予測の処理並列化が可能となる。
まず、ステップS20において、どのMBpartがDirect予測処理を行うべきかを示す変数DIRPART[0]〜[3]をみな「0」に初期化する。この変数に「1」が立っているMBpartがDirect予測を行うものである。ステップS21において、エントロピー復号されたデータからMBTYPEを読み取り、ステップS21において、Direct予測処理を行うMBpartがあるか否かを判断する。ステップS22のループにおいては、iを0〜3まで1ずつ変化させながらステップS23を実行する。ステップS23は、Direct予測処理を行うMBpartの変数DIRPARTを「1」に設定する。
図14の例は、マクロブロックが4つに分割されており、MBpart1,2がDirect予測処理で、MBpart0,3が周辺予測処理の場合の動作タイミングを示している。最初に、MBpart1、2のDirect予測処理を行い、次に、MBpart0,3について、周辺予測処理を行う。この場合は、図13のDIRPART[0]〜[3]が「0110」の場合を示しており、4つのMBpartを処理するのに、3サイクルかかる場合である。
図15(a)のように、従来では、時間Direct予測処理をすべて終えてから周辺予測処理を行っていた。したがって、最初に、MBpart2,3の時間Direct予測処理を行い、結果を格納してから、MBpart0,1の周辺予測処理を行って、4サイクルかかっていた。周辺予測処理のMBpart2,3の部分については、格納された結果を取得するのみである。
図16(a)のように、従来の場合には、MBpart0、3の時間Direct予測処理を最初に行ってしまい、その後、MBpart1,2の周辺予測処理を行っていた。周辺予測に必要な参照画の取得は、Direct予測処理の終了後である。
図17において、図11と同じ構成要素には、同じ参照符号を付し、詳しい説明を省略する。選択部50aは、Direct予測と周辺予測のMBPartを判定する。空間Direct予測が含まれる場合、現在のマクロブロックCuの分割サイズに関わらず、周辺予測部を分割サイズ=16×16とする隣接位置ABCDから空間Direct予測に使用する予測ベクトル値MVPを演算する。Direct予測のMBPartは、空間Directあるいは時間Directに関わらず、Direct予測の箇所だけを順次処理していく。演算結果は周辺予測処理部43を経由してDirectメモリ44へ格納する。周辺予測のMBPartは、隣接A‐Dが生成されてあればMBPart順に処理していく。まだ生成されていない場合は生成完了まで待つ。演算結果は周辺予格納メモリ45へ格納する。空間Direct予測と時間Direct予測は同一MB内での混在はない。なお、空間Direct予測処理部51へは、周辺予測処理部43より、空間Direct予測用MVPが入力される。すなわち、隣接A〜DのMVの中間値のMVが空間Direct予測処理部51に入力される。
最初に空間Direct予測用のMVP値を得るために周辺予測処理部を起動し、その後の動作は時間Direct予測と同じである。従来では、図18(a)のように、周辺予測処理部で空間Direct予測用MVPを得た後、空間Direct処理をMBpart2,3について行い、これが完了してから、MBpart0,1の周辺予測処理を行っていた。一方、本実施形態では、図18(b)のように、空間Direct予測用MVPを得てから、MBpart2,3の空間Direct予測処理と、MBpart0,1の周辺予測処理を並行して実行することになる。これにより、処理サイクルが従来の1/2となる。
最初に空間Direct予測用のMVP値を得るために周辺予測処理部を起動し、その後の動作は時間Direct予測と同じである。従来では、図19(a)のように、周辺予測処理部で空間Direct予測用MVPを得た後、空間Direct処理をMBpart0,3について行い、これが完了してから、MBpart1,2の周辺予測処理を行っていた。一方、図19(b)のように、本実施形態では、最初に周辺予測処理部で空間Direct予測用MVPを得た後、MBpart0の空間Direct予測処理を行う。これにより、周辺予測に必要な参照画の取得が、MBpart0の処理の後可能となるので、次のサイクルで、MBpart3の空間Direct予測処理とMBpart1の周辺予測処理とを並行して行う。すなわち、MBpart1の周辺予測処理は、MBpart0が隣接Aとなるので、MBpart0の処理が完了しないとMBpart1は処理を開始できないので、MBpart1の周辺予測処理は、MBpart0の空間Direct予測処理の完了をまって始める。そして、最後に、MBpart2の周辺予測処理を行う。これにより、処理サイクルが従来の3/4となる。
1つのマクロブロックが、MBpart0〜3の4つに分割されている場合、それぞれのMBpartが周辺予測か、時間Direct予測かによって、組み合わせは16パターンあり、11パターンで効果がある。図20において、△が従来と同じで高速化の効果が無い場合であり、○が4サイクルが3サイクルになる効果がある場合であり、◎が4サイクルが2サイクルになる効果がある場合である。生成時間は、それぞれサイクル0〜3が記載されており、どのサイクルで、どのMBpartをどのように処理するかが記載されている。
・2パターンで処理サイクルが1/2になる。
・9パターンで処理サイクルが3/4になる。
・5パターンで従来と同じ。
MB分割8×8の場合 :4(MBPart)×8=32サイクル
全分割双方向参照 :32×2(Fwd/Bwd)=64サイクル
全分割(SubMB分割4×4):64×4(SubPart)=256サイクル
1Picture処理(HDサイズ:1920画素(120MB) × 1080画素(68MB))
120MB × 68MB=8160MB
8160MB × 256 × (1/2) =1044480サイクルの処理性能向上の効果がある。
11 復号器
15 MB分解部
16 動きベクトル検出部
17 過去のフレームバッファ
18 フレーム間予測部
19 エントロピー符号化部
20 予測モード選択部
21 現フレームバッファ
22 フレーム内予測部
23 デブロッキングフィルタ
24 フレームバッファ管理部
25 減算器
26 直交変換量子化部
27 逆量子化逆直交変換部
28 加算器
30 エントロピー復号化部
31 フレーム間予測部
32 逆量子化逆直交変換部
33 加算器
34 現フレームバッファ
35 フレーム内予測部
36 予測モード選択部
37 デブロッキングフィルタ
38 フレームバッファ管理部
39 過去フレームバッファ
40 エントロピー復号部
41 MBTYPE解析部
42 時間Direct予測処理部
43 周辺予測処理部
44 Directメモリ
45 周辺予測メモリ
46 MV生成部
47 参照画像生成部
50、50a 選択部
51 空間Direct予測処理部
Claims (5)
- Direct予測方式で符号化されたデータと周辺予測方式で符号化されたデータとが混在する画像データを復号する画像データ復号演算装置において、
Direct予測方式で符号化されたデータを復号して、動きベクトルを取得するDirect予測処理部と、
ピクチャのすべてのDirect予測方式で符号化されたデータの復号を待たずに、Direct予測処理部の動作と並行して、周辺予測方式で符号化されたデータのうち参照先のデータが揃ったデータから復号して、動きベクトルを取得する周辺予測処理部と、
Direct予測方式で符号化されたデータを該Direct予測処理部へ、周辺予測方式で符号化されたデータを該周辺予測処理部へ選択出力する選択部と、
を備えることを特徴とする画像データ復号演算装置。 - 前記Direct予測方式は、時間Direct予測方式であることを特徴とする請求項1に記載の画像データ復号演算装置。
- 前記Direct予測方式は、時間Direct予測方式と空間Direct予測方式とを含むことを特徴とする請求項1に記載の画像データ復号演算装置。
- 前記データは、マクロブロックを分割したブロック単位で動きベクトルの生成が行われることを特徴とする請求項1に記載の画像データ復号演算装置。
- Direct予測方式で符号化されたデータと周辺予測方式で符号化されたデータとが混在する画像データを復号する画像データ復号演算方法において、
Direct予測方式で符号化されたデータを復号して、動きベクトルを取得し、
ピクチャのすべてのDirect予測方式で符号化されたデータの復号を待たずに、Direct予測処理部の動作と並行して、周辺予測方式で符号化されたデータのうち参照先のデータが揃ったデータから復号して、動きベクトルを取得する、
ことを特徴とする画像データ復号演算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009052014A JP5083248B2 (ja) | 2009-03-05 | 2009-03-05 | 画像データ復号演算装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009052014A JP5083248B2 (ja) | 2009-03-05 | 2009-03-05 | 画像データ復号演算装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010206688A JP2010206688A (ja) | 2010-09-16 |
JP5083248B2 true JP5083248B2 (ja) | 2012-11-28 |
Family
ID=42967679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009052014A Expired - Fee Related JP5083248B2 (ja) | 2009-03-05 | 2009-03-05 | 画像データ復号演算装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5083248B2 (ja) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4114859B2 (ja) * | 2002-01-09 | 2008-07-09 | 松下電器産業株式会社 | 動きベクトル符号化方法および動きベクトル復号化方法 |
JP3879741B2 (ja) * | 2004-02-25 | 2007-02-14 | ソニー株式会社 | 画像情報符号化装置および画像情報符号化方法 |
-
2009
- 2009-03-05 JP JP2009052014A patent/JP5083248B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010206688A (ja) | 2010-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI597974B (zh) | Dynamic image prediction decoding method and dynamic image prediction decoding device | |
JP2019115061A (ja) | 符号化装置、符号化方法、復号装置、復号方法、及びプログラム | |
KR101990423B1 (ko) | 인터 예측 방법 및 그 장치 | |
TWI722842B (zh) | 影像預測解碼方法 | |
JP5821542B2 (ja) | 動画像符号化装置、および動画像復号装置 | |
JP5895469B2 (ja) | 動画像符号化装置、および動画像復号装置 | |
JP2011199362A (ja) | 動画像符号化装置、動画像符号化方法及び動画像復号装置ならびに動画像復号方法 | |
EP2380354A1 (en) | Video processing method and apparatus with residue prediction | |
US20070133689A1 (en) | Low-cost motion estimation apparatus and method thereof | |
JP2004032355A (ja) | 動画像符号化方法,動画像復号方法,動画像符号化装置および動画像復号装置 | |
JP2009260421A (ja) | 動画像処理システム、符号化装置、符号化方法、符号化プログラム、復号化装置、復号化方法および復号化プログラム | |
JP5083248B2 (ja) | 画像データ復号演算装置 | |
JP5442039B2 (ja) | 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法 | |
JP2007221202A (ja) | 動画像符号化装置及び動画像符号化プログラム | |
Ahmed et al. | Enhanced computation time for fast block matching algorithm | |
KR20120008271A (ko) | 주변 화소의 정합을 이용한 예측 움직임 벡터 선택 장치 및 그 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111125 |
|
TRDD | Decision of grant or rejection written | ||
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120731 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120807 |
|
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: 20120820 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5083248 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150914 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |