JP5526641B2 - メモリコントローラ - Google Patents
メモリコントローラ Download PDFInfo
- Publication number
- JP5526641B2 JP5526641B2 JP2009180330A JP2009180330A JP5526641B2 JP 5526641 B2 JP5526641 B2 JP 5526641B2 JP 2009180330 A JP2009180330 A JP 2009180330A JP 2009180330 A JP2009180330 A JP 2009180330A JP 5526641 B2 JP5526641 B2 JP 5526641B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- block
- memory
- map information
- compressed
- 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
Description
したがって、動画像のデコード・エンコード処理または、三次元グラフィックス描画処理を行うLSIで使用するメモリコントローラは、以下のような機能を持つことが望ましい。
・メモリのデータの圧縮方法が可逆性を備える
・データへのアクセスがランダムアクセス性を備える
・保存・圧縮対象となる主データ以外に必要となる管理情報がなるべく小さい
・いかなるデータ、アクセスにおいてもメモリ使用量、メモリ帯域を非圧縮状態より低く抑えることができる。
・メモリ内に確保される各領域ブロックがどの方式(2つ以上から選択可能。うちひとつは非圧縮、他は可逆圧縮)で記憶されたかどうか、及び、どの程度のデータサイズに圧縮できたかを示すマップ情報を保持する機能。ここで、メモリ内は、データを所定のデータサイズで分割したデータのブロックを格納する領域ブロックに分割されているとする。また、データサイズは、メモリへの書き込み時および読み出し時のメモリアクセスにおけるアクセス単位(ユニット)が何個分かで示す。ここで、メモリに格納されるデータの圧縮方法は限定しないこととする。各領域ブロックに格納されるデータが非圧縮と可逆圧縮の2通りあるのは、データの圧縮方法によっては、データに処理を行った場合、データ量が圧縮されず、かえって、増加する場合があることによる。データの圧縮処理を行って、実際に、データの量が圧縮された場合にのみ、データを圧縮された状態で格納し、データ量が圧縮されなかった場合には、非圧縮のデータを格納するようにすることを意図している。
・・メモリコントローラの制御対象となるメモリの最小アクセス単位(以下ユニットと記載)を複数個まとめたものをデータのブロックとする(これはビット幅×最小バースト長になる。たとえば16bit DDR2−SDRAMでは16×4=64bit)。
・・このメモリコントローラに対する1つの読み出し/書き込みリクエストは、1つ以上の領域ブロックへのアクセスになり、各領域ブロックへのアクセスはひとつ以上のユニットへのアクセスになる。全てのユニットに格納されているデータが無圧縮であった場合に、領域ブロックへのアクセスでアクセスされるユニット数の全アクセスリクエスト中での最小値をm(ここでは、1ブロックのサイズが一定ではなく、ブロックごとに異なる場合も考慮してこのように記載している。最小値mというのは、もっとも小さいブロックのユニット数である。1ブロックを構成するユニットの個数が一定の場合には、1ブロックのユニット数がmとなる)、ユニットのビット数をnビットすると、ブロックの圧縮結果はm×nビット以下(非圧縮時のデータサイズ以下)である事。この意味は、以下の通りである。読み出し/書き込みリクエストの単位をユニットと呼び、無圧縮の場合の領域ブロック内のデータを読むときのユニット数をmとし、ユニットのビット数をnビットとする。すると、無圧縮の場合の領域データの量は、m×nビットとなる。そして、圧縮結果のデータの量が、m×nビット以下となる場合には、圧縮結果が、無圧縮の場合よりもデータ量が小さくなっていることを意味する。mとnは、メモリコントローラの設計の際に決定されるので、m×nビットは予め分かる量である。したがって、圧縮結果が、予め分かるm×nビットよりも小さくなる場合には、データ量が小さくできたことになるので、圧縮結果のデータをメモリに格納するようにするというものである。この条件を満たすことで、メモリへのアクセスの帯域が絶対に増加しないということを確保する効果がある。
他の動画像符号化方式、またはエンコーダ、または三次元グラフィックス描画回路への適用でも基本的な構成は変わらない。
動画像復号部22は、動画像を復号したデータをメモリコントローラ10の書き込み部11を介して、SDRAM21に書き込んだり、SDRAM21から、動画像復号に必要な参照画を、読み出し部12を介して読み出したりする。また、読み出し部12の出力は、画像出力部23に送られて、出力画像とされることもある。
1.MPEG−2、VC−1等、またはH.264のエンコーダ等で参照画像の枚数が比較的少ない枚数に固定されている場合は、その枚数分の画像の全ブロックのマップ情報を保持する参照用マップ情報メモリをもち、1ピクチャ処理毎にこの参照用マップ情報メモリの内容を書き換える。
2.H.264のデコーダ等で参照画像となりうる画像が多く、全画像の枚数のマップ情報を保持するとメモリ量が多くなる場合は、1ピクチャ処理毎に、参照される可能性が高い(リファレンスインデックスが小さい)画像のマップ情報のみを取り出し、そうでないものは画像参照リクエスト毎にSDRAMから取り出す。
3.H.264では1ピクチャ処理中にリファレンスインデックスリストを切り替える事が可能である。よって、1、2に述べた参照用マップ情報メモリの内容の処理をスライス処理毎に行う。
4.規格、エンコーダ仕様、または運用規定でベクトルの水平方向の大きさが制限されている場合は、1,2で保持するマップ情報の容量は、現在処理中のマクロブロックから参照可能なブロックのマップ情報を保持可能なサイズであればよい。この場合、マクロブロックライン処理毎に新たに参照可能となるブロックのマップ情報をSDRAMから取り出して、参照不可能となったブロックのマップ情報が置かれていた場所に上書きする。
5.三次元グラフィックス描画では、アクセス対象が描画領域全てとなるため、描画領域の全ブロックのマップ情報を保持するマップ領域を持つか、SDRAMに全描画領域のマップ情報を保持し、SDRAM内のマップ領域はキャッシュとして描画領域の一部のみを保持する。
図6は、書き込み処理を説明する図であり、図7は、読み出し処理を説明する図である。図5に示されるように、図6、7においては、点線で囲まれたボックスをユニットとし、1ユニットはメモリアクセスに固有のnビットからなっているとする。また、実線のボックスは、ブロックを示すとし、ここでは、4つのユニットからなっているとする。また、右下がりの斜線で示される領域は、圧縮データを示し、交差する斜線で示される領域は、非圧縮データを示すものとする。
・どのようなリクエストでも、非圧縮状態で1ブロック中で最低2個のユニットへのアクセスが発生する(m=2)。非圧縮状態では、1ブロックが4ユニットで構成される。
・圧縮結果のデータはすべて2個のユニット以内に収まっている。
(1)の太枠は、このリクエストをすべて非圧縮で書き込んだ場合に書き換えられるユニットの領域を示す。
(2)上段左端のブロックでは、ブロックは圧縮され、先頭から2ユニットの領域に圧縮データが書き込まれている。
(3)次に、上段中央のブロックには全ユニットに非圧縮データが書き込まれる。
(4)上段右端のブロックでは、ブロックは圧縮され、先頭から1ユニットの領域に圧縮データが書き込まれている。
(5)同様に残りのブロックについても書き込み処理が行われる。
(1)の太枠は、このリクエストで読み込むデータが全て非圧縮の場合に読み込まれるユニットの領域を示す。
(2)(1)の太枠内の上段左側のブロックでは、マップ情報から非圧縮であることが判り、必要なユニットa、bのみを読み出している。
(3)次に、(1)の太枠内の上段右側のブロックは、マップ情報から1ユニットに圧縮されたブロックであることが判る。そこでユニットcのデータの読み出し、展開を行い、その中からこの読み出しリクエストで必要とするユニットc−1、c−2に相当するデータのみを取り出す。
(4)、(5)についても、(1)、(2)と同様にブロックごとの読み出し処理を行う。
(5)では、太枠内左下のブロックは、マップ情報からデータが非圧縮であることが分かるので、直接、ユニットf、gを読み出す。
以上のようにして、書き込み、読み出しを行う。
・1ブロックは4ユニットから構成される
・非圧縮状態で、1ブロックへのどんなアクセスも2ユニット以下になることはない。
・ブロックの圧縮結果は2ユニットに収まるようになっている。(2ユニットに収まらなかった場合は非圧縮で書きこむ)
とした際の実施形態に対応している。
非圧縮
2ユニットに圧縮される
1ユニットに圧縮される。
また、SDRAM上のマップ情報にはフレームメモリに保持されるj枚分のマップ情報を保持しているので、j×n×2ビット分である。
11 書き込み部
12 読み出し部
13 圧縮処理部
14、18 セレクタ
15 書き込み制御部
16 読み出し制御部
17 展開処理部
20 マップ情報管理部
21 SDRAM
22 動画復号部
23 画像出力部
Claims (5)
- メモリへのアクセスを制御するメモリコントローラにおいて、
入力データをブロックに分割し、圧縮する圧縮部と、
該圧縮されたデータの該ブロックが、非圧縮の場合に比べ、データ量が少なくなった場合には、圧縮されたデータのブロックを、少なくならなかった場合には、非圧縮データのブロックを、該非圧縮のデータのブロックを格納可能なように、各領域ブロックに分割されたメモリの格納領域の先頭アドレスから、メモリに格納させる格納部と、
該メモリに格納されたデータのブロックに対応して分割された格納領域に、データ量、データが圧縮データか非圧縮データかを示す情報からなるマップ情報を別途格納するマップ情報格納部と、
を備えることを特徴とするメモリコントローラ。 - 前記メモリから読み込んだ前記データのブロックを展開する展開部と、
前記マップ情報を参照し、メモリから読み込んだデータのブロックが、圧縮されたデータである場合には、前記展開部によって展開されたデータを、非圧縮のデータの場合には、読み込んだデータそのままを選択して出力する出力部と、
を更に備えることを特徴とする請求項1に記載のメモリコントローラ。 - 前記圧縮部は、前記データのブロック内のみを参照する可逆な圧縮方法を用いてデータのブロックを圧縮することを特徴とする請求項1に記載のメモリコントローラ。
- 前記データのブロックは、メモリへの最小アクセス単位の整数倍の大きさであることを特徴とする請求項1に記載のメモリコントローラ。
- メモリに対する1つの読み出し/書き込みアクセスリクエストは、1つ以上のデータのブロックへのアクセスからなり、各データのブロックへのアクセスはひとつ以上の前記最小アクセス単位へのアクセスとなり、全ての該最小アクセス単位に格納されているデータが無圧縮であった場合における該データのブロックへのアクセスでアクセスされる該最小アクセス単位数をmとし、該最小アクセス単位のビット数をnビットとすると、該データのブロックの圧縮結果がm×nビット以下となった場合に、圧縮によりデータ量が少なくなったと判断することを特徴とする請求項4に記載のメモリコントローラ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009180330A JP5526641B2 (ja) | 2009-08-03 | 2009-08-03 | メモリコントローラ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009180330A JP5526641B2 (ja) | 2009-08-03 | 2009-08-03 | メモリコントローラ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011034370A JP2011034370A (ja) | 2011-02-17 |
JP5526641B2 true JP5526641B2 (ja) | 2014-06-18 |
Family
ID=43763372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009180330A Expired - Fee Related JP5526641B2 (ja) | 2009-08-03 | 2009-08-03 | メモリコントローラ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5526641B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013102958A1 (ja) * | 2012-01-06 | 2013-07-11 | 三菱電機株式会社 | メモリアクセス制御装置 |
JP5687639B2 (ja) * | 2012-02-08 | 2015-03-18 | 株式会社東芝 | コントローラ、データ記憶装置及びプログラム |
WO2015128955A1 (ja) * | 2014-02-26 | 2015-09-03 | 株式会社日立製作所 | 記憶デバイス、記憶デバイスを有する装置、及び記憶制御方法 |
JP6471012B2 (ja) * | 2015-03-25 | 2019-02-13 | 株式会社メガチップス | 半導体メモリ、記憶装置、上位装置、データ処理システム、データ書き込み装置、データ書き込みプログラム、制御プログラム及びデータ書き込み方法 |
JP7142562B2 (ja) * | 2018-12-25 | 2022-09-27 | ルネサスエレクトロニクス株式会社 | 半導体装置、および、データのアクセスを制御するための方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060271761A1 (en) * | 2003-04-16 | 2006-11-30 | Riemens Abraham K | Data processing apparatus that uses compression or data stored in memory |
US8001294B2 (en) * | 2004-09-28 | 2011-08-16 | Sony Computer Entertainment Inc. | Methods and apparatus for providing a compressed network in a multi-processing system |
-
2009
- 2009-08-03 JP JP2009180330A patent/JP5526641B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011034370A (ja) | 2011-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9509992B2 (en) | Video image compression/decompression device | |
JP4991816B2 (ja) | 画像処理装置 | |
KR100606812B1 (ko) | 비디오 디코딩 시스템 | |
US9894371B2 (en) | Video decoder memory bandwidth compression | |
JP2007529178A (ja) | 拡張可能な圧縮を伴い且つ基準フレームデータを記憶して回収するためのバッファを有するビデオデコーダ | |
JP5526641B2 (ja) | メモリコントローラ | |
CN102547283A (zh) | 动态视频数据压缩 | |
WO2007024413A2 (en) | Transpose buffering for video processing | |
US20100061464A1 (en) | Moving picture decoding apparatus and encoding apparatus | |
CN101594535A (zh) | 图像处理装置 | |
JP5194703B2 (ja) | データ処理装置及び共有メモリのアクセス方法 | |
JP6679290B2 (ja) | 半導体装置 | |
CA2185753C (en) | Digital image decoding apparatus | |
US20120147023A1 (en) | Caching apparatus and method for video motion estimation and compensation | |
US20050047510A1 (en) | Data processing device for MPEG | |
US6940909B2 (en) | Video decoding during I-frame decode at resolution change | |
US6687298B1 (en) | Method and apparatus for expanding moving pictures by software | |
US20190095338A1 (en) | Semiconductor device, data processing system, and semiconductor device control method | |
CN101847394B (zh) | 用以解码及显示视讯文件的存储器映射方法及装置 | |
US9990900B2 (en) | Image processing device and method thereof | |
JP2004343553A (ja) | 画像復号表示装置 | |
JP4559785B2 (ja) | 信号処理方法および信号処理装置 | |
JPH04326654A (ja) | 画像データ圧縮伸張装置 | |
JP2004120027A (ja) | 画像処理装置 | |
JP2007288443A (ja) | 画像データ復号装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120405 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130705 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130716 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130917 |
|
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: 20140318 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140331 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5526641 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |