CN102023944A - 一种存储器多模访问控制方法及其片上sram存储器控制系统 - Google Patents

一种存储器多模访问控制方法及其片上sram存储器控制系统 Download PDF

Info

Publication number
CN102023944A
CN102023944A CN 201010594827 CN201010594827A CN102023944A CN 102023944 A CN102023944 A CN 102023944A CN 201010594827 CN201010594827 CN 201010594827 CN 201010594827 A CN201010594827 A CN 201010594827A CN 102023944 A CN102023944 A CN 102023944A
Authority
CN
China
Prior art keywords
data
address
signal
piece
sram
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
CN 201010594827
Other languages
English (en)
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.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
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 Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN 201010594827 priority Critical patent/CN102023944A/zh
Publication of CN102023944A publication Critical patent/CN102023944A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种存储器多模访问控制方法,将图像数据中,1个16×16宏块中的每个4×4块分为4行,分别为a、b、c、d,每行由4个字节的数据,访问控制方法包括以下过程:在反量化反变换模式、解块滤波模式下、直接存储器存储模式的存储机制,在缺省模式下,根据外部提供的片选使能信号、写使能信号、写位段选择信号、地址输入信号和数据输入信号对片上SRAM进行读写操作。以及提供了实现该多模访问控制方法的存储器控制系统。本发明提供一种能灵活切换访问模式、具有转置存储功能、提升图像存储读写效率的存储器多模访问控制方法及其存储器控制系统。

Description

一种存储器多模访问控制方法及其片上SRAM存储器控制系统
技术领域
本发明涉及图像编解码领域,尤其涉及图像编解码处理的存储器控制方法及其控制系统。
背景技术
H.264是由国际电信标准化部门(ITU-T)和制定MPEG的国际标准化组织(ISO)/国际电工协会(IEC)共同制定的一种视频编码标准,以实现视频的高压缩比、高图像质量、良好的网络适应性。H.264同时又被称为MPEG-4AVC(“活动图像专家组-4的高级视频编码”)或称为MPEG-4 Part10。由于其相比以往标准的出色的性能,被人们称为新一代视频编码标准,在国际上受到了广泛地重视和欢迎。H.264解码器的硬件设计已成为研究的热点,一个典型的H.264解码器的流程图如图1所示。整个解码器大致分为三个部分:A.解码残差数据,B.解码帧间或帧内预测的数据,C.数据重建和去方块效应滤波。关于H.264解码器的组成,请参见参考文献1:毕厚杰,《新一代视频压缩编码标准-H.264/AVC》。
A部分包括几乎所有图像/视频解码其中都有的一些基本解码步骤,比如熵解码、反量化和反变换。在熵解码这步,解码器会分析输入的H.264的比特流,然后得到图像数据(16×16的宏块),并把它们送到反量化模块来恢复初始的能量。反变换模块会把前面得到的数据从频域转换到时域。经过以上的步骤,一个宏块的像素残差数据就被解码出来了。
B部分的功能是得到一个宏块的预测数据。有两种预测模式:帧间预测和帧内预测。根据A部分解得的预测模式参数,解码器选择合适的预测器来生成一个宏块的正确的预测数据。
C部分的作用是数据重建和去块效应滤波。它根据A部分所得的残差数据和B部分所得的预测数据重建出一个宏块的数据。然后,经过去块效应滤波来减少方块失真以达到更好的图像质量。
去块效应滤波完成后,还采用了直接存储器存储装置(DMA)把放在片内静态随机存储器(SRAM)中解码好的数据搬运到片外同步动态随机存储器(SDRAM)中,提高系统的数据传输效率。
在解码过程中,反量化反变换模块(IQIT)、去块效应滤波模块(DF)和直接存储器存储模块(DMA)将共享一块片上SRAM作为数据临时缓冲区(buffer),存储各个宏块的数据,作为这些模块的数据交换区。
如图2所示,是一个具有写位段选择功能的片上SRAM存储器,其地址、数据访问机制如下:
数据线宽度为64-bit,每个连续64-bit的数据占用一位地址;它的读写是时钟同步的,由时钟信号(CLK)的上升沿触发。片选信号为低电平(CEN=0)有效。当片选信号有效且读使能信号为高电平(CEN=0,WEN=1)时,进入读数据模式。在读数据模式时,数据根据地址信号A[i:0]读取相应地址的数据,输出到输出数据信号Q[63:0]。当片选信号有效且读使能信号为低电平(CEN=0,WEN=0)时,进入读数据模式。根据地址信号A[i:0],输入的数据D[63:0]被写入相应的地址中。输入数据信号D[63:0]上的数据会根据写位段选择信号BWEN[63:0],使每个数据位各自可选是否写入。当写位段选择脚BWEN[j]为低电平时,相应的数据引脚D[j]被选中,数据根据地址信号写入相应的地址中。下表列出了不同的信号组合所对应的操作。关于SRAM的详细介绍,请参见参考文献2:《SMIC 65nm SRAM用户手册》。
Figure BDA0000039138240000021
Figure BDA0000039138240000031
片上SRAM中存储的就是在H.264解码过程中一些临时的16×16的宏块(MB)的数据,但是,由于解码器的去块效应滤波模块(DF)、反量化反变换模块(IQIT)和直接存储器存储模块(DMA)在其工作的特定阶段对一个16×16的宏块(MB)的数据访问的方式是不同的,需要设计SRAM控制器使SRAM可以实现多种模式存取。
如图3所示:图中最小的方块称为1个像素,占8-bit的数据;16个4×4的像素组成的方块称为1个块,16个4×4的块组成的大方块称为1个宏块(Macro Block)。水平的像素称为行,垂直的像素称为列。对1个宏块的访问有一下3个阶段。
在反量化反变换(IQIT)阶段,反变换产生像素的时候是4个像素4个像素产生的,而这4个像素是以垂直像素的形式产生的。即在反量化反变换模式下,每个时钟周期需要存储1列4个像素组成的32-bit数据。
在去块效应滤波(DF)阶段,每个时钟周期要读取1行4个像素组成的32-bit数据。
在直接存储器存储(DMA)阶段,由于总线数据宽度是64位的,可以一次读取64-bit数据。即在直接存储器存储模式下,每个时钟周期读取2行8个像素组成的64-bit数据,把它们搬运到片外SDRAM。
发明内容
为了克服已有存储器访问机制的灵活性差、无转置存储功能、图像存储读写效率较低的不足,本发明提供一种能灵活切换访问模式、具有转置存储功能、提升图像存储读写效率的存储器多模访问控制方法及其存储器控制系统。
本发明解决其技术问题所采用的技术方案是:
一种存储器多模访问控制方法,将图像数据中,1个16×16宏块中的每个4×4块分为4行,分别为a、b、c、d,每行由4个字节的数据组成,访问控制方法包括以下过程:
在反量化反变换模式下,每个时钟周期生成1列4个像素组成的32-bit数据,并把它们写入片上SRAM中;按顺序先生成块0的每列,再生成块1的每列,依次直到块15的每列也生成完,再开始下一宏块的生成;在块中列的生成顺序为:先生成a行的第k个字节、b行的第k个字节、c行的第k个字节、d行的第k个字节组成的32-bit数据,再生成a行的第k+1个字节、b行的第k+1个字节、c行的第k+1个字节、d行的第k+1个字节组成的32-bit数据;
在解块滤波模式下,每个时钟周期读取片上SRAM中的1行4个像素组成的32-bit数据;按顺序先读取块0的每行,再读取块1的每行,依次直到块15的每行也读取完,再开始下一宏块的读取;在块中行的读取顺序为:先读取a行,再读取b行,再读取c行,最后读取d行;
在直接存储器存储模式下,每个时钟周期读取片上SRAM中2行8个像素组成的64-bit数据,并把它们搬运到片外SDRAM中;做如下定义:把16个块分为8个块对,把块0和和块1称为块对0,把块2和块3称为块对1,以此类推,把块14和块15称为块对7;按顺序先读取块对0中的数据,再读取块对1中的数据,依次直到块对7中的数据也读取完,再开始下一宏块的读取;在每个块对中的数据读取顺序为:从上到下,先读取2个a行,再读取2个b行,再读取2个c行,最后读取2个d行;
在缺省模式下,根据外部提供的片选使能信号、写使能信号、写位段选择信号、地址输入信号和数据输入信号对片上SRAM进行读写操作。
在所述缺省模式下,与普通的片上SRAM访问机制相同,不考虑像素的组成情况,不进行转置存储,当片选信号有效且读使能信号为高电平(CEN=0,WEN=1)时,进入读数据模式。在读数据模式时,数据根据地址信号A[i:0]读取相应地址的数据,输出到输出数据信号Q[63:0]。片当选信号有效且读使能信号为低电平(CEN=0,WEN=0)时,进入读数据模式。根据地址信号A[i:0],输入的数据D[63:0]被写入相应的地址中。输入数据信号D[63:0]上的数据会根据写位段选择信号BWEN[63:0],使每个数据位各自可选是否写入。当写位段选择脚BWEN[j]为低电平时,相应的数据引脚D[j]被选中,数据根据地址信号写入相应的地址块中。
进一步,总线数据宽度为64位,采用两块数据宽度为64位的片上SRAM支持数据存取方式。
再进一步,所述1个16×16的宏块中的数据按如下的地址组织方式存储在2块片上SRAM中:
把1个16×16的宏块的块按先从左到右、在从上到下的顺序从0到15排号,每个块分成a行、b行、c行、d行。
设m=宏块的序号,n=块的序号,p=n除以2的余数,q=n-p+16×m,k=n+p+16×m;
把第m个宏块的第n块的a行的数据放在第p个SRAM的地址块q的低32-bit中,把第m个宏块的第n块的b行的数据放在第p个SRAM的地址块q的高32-bit中,把第m个宏块的第n块的c行的数据放在第p+1个SRAM的地址块k的低32-bit中,把第m个宏块的第n块的c行的数据放在第p+1个SRAM的地址块k的高32-bit中。
一种存储器控制系统,由2块SRAM组成,2块SRAM按照全局的排列顺序,如图7所示,全局地址块按照两块SRAM地址块交替递增的顺序排列;所述存储器控制系统包括:
片选生成部,其输入信号有地址模式信号、转置模式信号、地址输入信号的低2位和片选使能信号;输出信号为SRAM0的片选信号和SRAM1的片选信号;在缺省模式下,依照全局地址块排列的方式,根据地址输入信号的最低位选择哪块SRAM的片选使能信号有效;转置模式有效时,由于两块SRAM的地址块都要被访问,故两块SRAM的片选使能信号都有效;地址模式有效而转置模式无效时,根据地址输入信号的低2位来选择哪块SRAM的片选使能信号有效;
写位段选择生成部,其输入信号有地址模式信号、转置模式信号、地址输入信号的低2位和写使能信号;输出信号为SRAM0的写使能信号、写位段选择信号和SRAM1的写使能信号、写位段选择信号;按照前文所描述的地址、数据组织形式,根据输入的地址和模式选择哪块SRAM的哪个地址块的哪几个字节被选中以及是否被写入;
地址译码部,其输入信号为地址模式信号、转置模式信号和地址输入信号;输出信号为SRAM0的地址输入信号和SRAM1的地址输入信号;按照前文所述的地址、数据组织形式,根据输入的地址和模式来生成每块SRAM的相对地址块;
输入数据分配部,其输入信号为地址模式信号、转置模式信号、地址输入信号的低位和输入数据;输出信号为SRAM0的输入数据信号和SRAM1的输入数据信号;按照前文所述的数据组织方式,根据输入的地址和模式选择信号把输入的数据进行分配、重组,分配到2块SRAM中去;
输出数据组合部,其输入信号为地址模式信号、转置模式信号和地址输入信号的低位;输出信号为总的输出数据信号;按照前文所述的地址组织形式,根据输入的地址和模式选择信号把两块SRAM输出的数据进行重组、拼接,得到满足要求的输出数据。
进一步,将各种访问模式按地址模式和转置模式划分:
在反量化反变换模式下,每次是一列一列访问的,在块中不是按一行一行的顺序访问,所以属于转置模式,即转置模式状态量设为1;由于每次访问1列的32-bit数据,故相对于缺省模式,地址模式时是特殊的,地址模式状态量设为1;
在去块效应滤波模式下,每次访问1行的32-bit数据,故没有转置,转置模式状态量设为0,但地址模式是特殊的,地址模式状态量设为1;
在直接存储器存储模式下,每次访问的不是同一个块中的数据,故属于转置模式,转置模式状态量设为1;每次访问2行的64-bit数据,故属于普通的地址模式,地址模式状态量设为0;
在缺省模式下,转置模式状态量设为0,地址模式状态量设为0。
更进一步,向SRAM中写数据只要在时钟的上升沿提供数据和控制信号就可以,而对SRAM的读操作需要一个时钟周期才能把SRAM中的数据读出来;控制信号经过触发器保持一个时钟周期,以供从2块SRAM中读出数据后进行数据拼接时使用。
本发明的技术构思为:针对现有的数据访问模式,现有的片上SRAM访问机制已不能满足H.264视频解码器各模块对存储器的灵活访问,需要提出一种新的存储器架构。本发明针对这个问题提出一种存储器多模访问控制方法,设计出如图4所示的片上SRAM控制器,可以根据解码的各个阶段发出的请求信号灵活切换片上SRAM的数据访问模式,提供转置存储的功能,可以在一个时钟周期把需要的像素写入或读取出来,提高了图像存储读写的效率。
本发明的有益效果主要表现在:能灵活切换访问模式、具有转置存储功能、提升图像存储读写效率。
附图说明
图1是表示一个典型的H.264解码器的流程图
图2是表示一个数据宽度为64位的SRAM的结构;
图3是表示反量化反变换、解块滤波和直接存储器存储三种模式下每个周期从1个16×16的宏块中访问数据的格式;
图4是表示采取本发明的多模访问机制下2块片上SRAM中数据的组织格式;
图5是表示1个16×16的宏块中数据的划分;
图6是表示采用本发明所设计的片上SRAM存储器控制器的组成部件;
图7是表示2块SRAM的全局的地址块的排列顺序;
图8是表示在反量化反变换(IQIT)模式下,外部地址块0到7的数据写到SRAM中的数据分布情况;
图9是表示在去块效应滤波(DF)模式下,从SRAM中读到外部地址块0到7中的数据分布情况;
图10是表示在直接存储器存储(DMA)模式下,从SRAM中读到外部地址块0到3中的数据分布情况。
具体实施方式
下面结合附图对本发明作进一步描述。
实施例1
参照图3~图10,一种存储器多模访问控制方法,把图5所示的1个16×16宏块中的每个4×4块分为4行,分别为a、b、c、d,每行由4个字节(8-bit数据称为1个字节)的数据组成。则访问控制过程如下:
在反量化反变换(IQIT)模式下,每个时钟周期生成1列4个像素组成的32-bit数据,并把它们写入片上SRAM中。按顺序先生成块0的每列,再生成块1的每列,依次直到块15的每列也生成完,再开始下一宏块的生成。在块中列的生成顺序为:先生成a行的第k个字节、b行的第k个字节、c行的第k个字节、d行的第k个字节组成的32-bit数据,再生成a行的第k+1个字节、b行的第k+1个字节、c行的第k+1个字节、d行的第k+1个字节组成的32-bit数据。
在解块滤波(DF)模式下,每个时钟周期读取片上SRAM中的1行4个像素组成的32-bit数据。按顺序先读取块0的每行,再读取块1的每行,依次直到块15的每行也读取完,再开始下一宏块的读取。在块中行的读取顺序为:先读取a行,再读取b行,再读取c行,最后读取d行。
在直接存储器存储(DMA)模式下,每个时钟周期读取片上SRAM中2行8个像素组成的64-bit数据,并把它们搬运到片外SDRAM中。做如下定义:把16个块分为8个块对,把块0和和块1称为块对0,把块2和块3称为块对1,以此类推,把块14和块15称为块对7。按顺序先读取块对0中的数据,再读取块对1中的数据,依次直到块对7中的数据也读取完,再开始下一宏块的读取。在每个块对中的数据读取顺序为:从上到下,先读取2个a行,再读取2个b行,再读取2个c行,最后读取2个d行。
另外还定义一种缺省模式,称为正常模式,与普通的片上SRAM访问机制相同,以便正常情况下使用。
缺省模式下,根据外部提供的片选使能信号、写使能信号、写位段选择信号、地址输入信号和数据输入信号对片山SRAM进行读写操作。在所述缺省模式下,与普通的片上SRAM访问机制相同,不考虑像素的组成情况,不进行转置存储,当片选信号有效且读使能信号为高电平(CEN=0,WEN=1)时,进入读数据模式。读数据模式时,数据根据地址信号A[i:0]读取相应地址的数据,输出到输出数据信号Q[63:0]。当片选信号有效且读使能信号为低电平(CEN=0,WEN=0)时,进入读数据模式。根据地址信号A[i:0],输入的数据D[63:0]被写入相应的地址中。输入数据信号D[63:0]上的数据会根据写位段选择信号BWEN[63:0],使每个数据位各自可选是否写入。当写位段选择脚BWEN[j]为低电平时,相应的数据引脚D[j]被选中,数据根据地址信号写入相应的地址块中。
由于系统的总线数据宽度为64位,为了支持以上的数据存取方式,需要用两块数据宽度为64位的片上SRAM来实现,以支持两种不同的地址模式和两种不同的数据模式,满足转置存储的要求。反量化反变换(IQIT)模块、去块效应滤波(DF)模块和直接存储器存储(DMA)模块产生各自的地址模式信号和转置模式信号,并提供给片上SRAM存储器,这样在不同模式下,相同的地址输入信号可以得到不同的数据组织方式。
跟据上面的访问机制,定义16×16的宏块的数据在存储器中的存放方式。把图5所示的16×16的宏块中的数据按图4所示的地址组织方式存储在2块片上SRAM中:
设m=宏块的序号,n=块的序号,p=n除以2的余数,q=n-p+16×m,k=n+p+16×m。
把第m个宏块的第n块的a行的数据放在第p个SRAM的地址块q的低32-bit中,把第m个宏块的第n块的b行的数据放在第p个SRAM的地址块q的高32-bit中,把第m个宏块的第n块的c行的数据放在第p+1个SRAM的地址块k的低32-bit中,把第m个宏块的第n块的c行的数据放在第p+1个SRAM的地址块k的高32-bit中。
根据以上的访问模式和数据存放方式,设计地址生成模块和转置模块,根据模式选择信号、地址信号、片选信号、写使能信号、输入数据和传输位宽信号和为存储器组生成相应的片选信号、写使能信号、写位段选择信号、地址信号和输入数据。
下面根据反量化反变换(IQIT)、去块效应滤波(DF)、直接存储器存储(DMA)这三种模式来举例说明。
在反量化反变换(IQIT)模式下,每个时钟周期生成1列4个像素组成的32-bit数据,并把它们写入片上SRAM中。如图8所示,描述了外部地址块0到7的数据写到SRAM中的数据分布情况。其中SRAM中方块中的数字代表该字节属于哪个外部地址块中的数据,相应的位置关系用虚线连接。以外部的地址块0和地址块7为例说明SRAM控制器中各生成部的情况。
1)当传输外部地址块0时,其32-bit的数据要放在SRAM0的地址块0的第0和第4个字节,以及SRAM1的地址块1的第0和第4个字节中。此时两块SRAM都要选中,故片选生成部的输出信号cen0和cen1都有效。写使能信号输出部的输出信号wen0和wen1都有效;此时两块SRAM的地址块都是第0个和第4个字节被选中,故bwen0和bwen1都为0xFFF0_FFF0。由于对SRAM0的地址块0和SRAM1的地址块1进行操作,故地址生成部的输出信号addr0为0x0,addr1为0x1。由于要把1个32位的数据写到64位的SRAM中去,输入的数据需要扩增,故输入数据分配部的输出信号wdata0为{4{wdata[15:8]},4{wdata[7:0]}},wdata1为{4{wdata[31:24]},4{wdata[23:16]}}。
2)当传输外部地址块7时,其32-bit的数据要放在SRAM0的地址块1的第3和第7个字节,以及SRAM1的地址块0的第3和第7个字节中。此时两块SRAM都要选中,故片选生成部的输出信号cen0和cen1都有效。写使能信号输出部的输出信号wen0和wen1都有效;此时两块SRAM的地址块都是第3个和第7个字节被选中,故bwen0和bwen1都为0x0FFF_0FFF。由于对SRAM0的地址块1和SRAM1的地址块0进行操作,故地址生成部的输出信号addr0为0x1,addr1为0x0。由于要把1个32位的数据写到64位的SRAM中去,输入的数据需要扩增,故输入数据分配部的输出信号wdata0为{4{wdata[31:24]},4{wdata[23:16]}},wdata1为{4{wdata[15:8]},4{wdata[7:0]}}。
在解块滤波(DF)模式下,每个时钟周期读取片上SRAM中的1行4个像素组成的32-bit数据。如图9所示,描述了从SRAM中读到外部地址块0到7中的数据分布情况。其中SRAM中方块中的数字代表该字节属于哪个外部地址块中的数据,相应的位置关系用虚线连接。以外部的地址块0和3为例说明SRAM控制器中各生成部的情况。
1)当传输外部地址块0时,其32-bit的数据从低位到高位依次由SRAM0的地址块0的第0到第3个字节拼接而成。此时仅SRAM0被选中即可,故片选生成部的输出信号cen0有效,cen1无效。由于是读数据,写使能信号输出部的输出信号wen0、wen1、bwen0、bwen1都无效。由于对SRAM0的地址块0进行操作,故地址生成部的输出信号addr0为0x0,addr1为缺省值。由于SRAM中读出的是一个64-bit的数据,而需要的是32-bit数据,故输出数据组合部截取读出来的低32位数据作为最终的输出。
2)当传输外部地址块3时,其32-bit的数据从低位到高位依次由SRAM1的地址块2的第4到第7个字节拼接而成。此时仅SRAM1被选中即可,故片选生成部的输出信号cen1有效,cen0无效。由于是读数据,写使能信号输出部的输出信号wen0、wen1、bwen0、bwen1都无效。由于对SRAM1的地址块1进行操作,故地址生成部的输出信号addr1为0x1,addr0为缺省值。由于SRAM中读出的是一个64-bit的数据,而需要的是32-bit数据,故输出数据组合部截取读出来的高32位数据作为最终的输出。
在直接存储器存储(DMA)模式下,每个时钟周期读取片上SRAM中2行8个像素组成的64-bit数据,并把它们搬运到片外SDRAM中。如图10所示,描述了从SRAM中读到外部地址块0到3中的数据分布情况。其中SRAM中方块中的数字代表该字节属于哪个外部地址块中的数据,相应的位置关系用虚线连接。以外部的地址块0和3为例说明SRAM控制器中各生成部的情况。
1)当传输外部地址块0时,其64-bit的数据从低位到高位依次由SRAM0的地址块0的第0到第3个字节以及SRAM1的地址块0的第0到第3个字节拼接而成。此时SRAM0和SRAM1都要被选中,故片选生成部的输出信号cen0和cen1都有效。由于是读数据,写使能信号输出部的输出信号wen0、wen1、bwen0、bwen1都无效。由于对SRAM0的地址块0和SRAM1的地址块0进行操作,故地址生成部的输出信号addr0为0x0,addr1为0x0。输出数据组合部把这两个32-bit的数据拼接为一个64-bit的数据作为最终的输出。
2)当传输外部地址块3时,其64-bit的数据从低位到高位依次由SRAM1的地址块1的第4到第7个字节以及SRAM0的地址块1的第4到第7个字节拼接而成。此时SRAM0和SRAM1都要被选中,故片选生成部的输出信号cen0和cen1都有效。由于是读数据,写使能信号输出部的输出信号wen0、wen1、bwen0、bwen1都无效。由于对SRAM0的地址块1和SRAM1的地址块1进行操作,故地址生成部的输出信号addr0为0x1,addr1为0x1。输出数据组合部把这两个32-bit的数据拼接为一个64-bit的数据作为最终的输出。
实施例2
参照图3~图10,一种存储器控制系统,由2块SRAM组成,2块SRAM按照全局的排列顺序,全局地址块按照两块SRAM地址块交替递增的顺序排列;所述存储器控制系统包括:片选生成部、写位段选择生成部、地址译码部、输入数据分配部和输出数据组合部。
为了更好的设计控制器模块,可以将各种模式按地址模式和转置模式划分。在反量化反变换(IQIT)模式下,根据前面介绍的存储访问机制,每次是一列一列访问的,在块中不是按一行一行的顺序访问,所以属于转置模式;由于每次访问1列的32-bit数据,故相对于缺省模式,地址模式是特殊的。在去块效应滤波(DF)模式下,由于每次访问1行的32-bit数据,故没有转置,但地址模式是特殊的。在直接存储器存储(DMA)模式下,由于每次访问的不是同一个块中的数据,故属于转置模式;每次访问2行的64-bit数据,故属于普通的地址模式。地址模式和转置模式的划分如下表所示。
  模式划分   IQIT   DF   DMA   正常模式
  地址模式   1   1   0   0
  转置模式   1   0   1   0
下面详细描述该片上SRAM控制器的组成,如图6所示,该片上SRAM控制器由5个模块组成,分别为:片选生成部、写位段选择生成部、地址译码部、输入数据分配部和输出数据组合部。需要说明的是,这2块SRAM在外界看来相当于1块SRAM,其地址块的顺序不是按照2块SRAM各自的地址块顺序组织的,而是按照全局的排列顺序。全局的地址块排列如图7所示,全局地址块按照两块SRAM地址块交替递增的顺序排列。
片选生成部根的输入信号有地址模式信号(addrrmode)、转置模式信号(permumode)、地址输入信号的低2位(addr[1:0])和片选使能信号(cen);输出信号为SRAM0的片选信号(cen0)和SRAM1的片选信号(cen1)。在缺省模式下,依照照全局地址块排列的方式,可以根据地址输入信号的最低位(addr[0])来选择哪块SRAM的片选使能信号有效;转置模式有效时,由于两块SRAM的地址块都要被访问,故两块SRAM的片选使能信号都有效;地址模式有效而转置模式无效时(即去块效应滤波模式),根据地址输入信号的低2位(addr[1:0])来选择哪块SRAM的片选使能信号有效。
写位段选择生成部的输入信号有地址模式信号(addrmode)、转置模式信号(permumode)、地址输入信号的低2位(addr[1:0])和写使能信号(wen);输出信号为SRAM0的写使能信号(wen0)、写位段选择信号(bwen0)和SRAM1的写使能信号(wen1)、写位段选择信号(bwen1)。按照前文所描述的地址、数据组织形式,根据输入的地址和模式选择哪块SRAM的哪个地址块的哪几个字节被选中以及是否被写入。
地址译码部的输入信号为地址模式信号(addrmode)、转置模式信号(permumode)和地址输入信号;输出信号为SRAM0的地址输入信号(addr0)和SRAM1的地址输入信号(addr1)。按照前文所述的地址、数据组织形式,根据输入的地址和模式来生成每块SRAM的相对地址块。
输入数据分配部的输入信号为地址模式信号(addrmode)、转置模式信号(permumode)、地址输入信号(addr)的低位和输入数据(wrdata);输出信号为SRAM0的输入数据信号(wdata0)和SRAM1的输入数据信号(wdata1)。按照前文所述的数据组织方式,根据输入的地址和模式选择信号把输入的数据进行分配、重组,分配到2块SRAM中去。
输出数据组合部的输入信号为地址模式信号(addrmode)、转置模式信号(permumode)和地址输入信号(addr)的低位;输出信号为总的输出数据信号(rdata)。按照前文所述的地址组织形式,根据输入的地址和模式选择信号把两块SRAM输出的数据进行重组、拼接,得到满足要求的输出数据。这里要注意的是,向SRAM中写数据只要在时钟的上升沿提供数据和控制信号就可以,而对SRAM的读操作需要一个时钟周期才能把SRAM中的数据读出来。故所需要的控制信号都要经过触发器保持一个时钟周期,以供从两块SRAM中读出数据后进行数据拼接时使用。
根据以上的片上SRAM控制器的硬件结构,可以实现用于提高图像存储读写效率的多模访问机制。

Claims (6)

1.一种存储器多模访问控制方法,其特征在于:将图像数据中,1个16×16宏块中的每个4×4块分为4行,分别为a、b、c、d,每行由4个字节的数据组成,访问控制方法包括以下过程:
在反量化反变换模式下,每个时钟周期生成1列4个像素组成的32-bit数据,并把它们写入片上SRAM中;按顺序先生成块0的每列,再生成块1的每列,依次直到块15的每列也生成完,再开始下一宏块的生成;在块中列的生成顺序为:先生成a行的第k个字节、b行的第k个字节、c行的第k个字节、d行的第k个字节组成的32-bit数据,再生成a行的第k+1个字节、b行的第k+1个字节、c行的第k+1个字节、d行的第k+1个字节组成的32-bit数据;
在解块滤波模式下,每个时钟周期读取片上SRAM中的1行4个像素组成的32-bit数据;按顺序先读取块0的每行,再读取块1的每行,依次直到块15的每行也读取完,再开始下一宏块的读取;在块中行的读取顺序为:先读取a行,再读取b行,再读取c行,最后读取d行;
在直接存储器存储模式下,每个时钟周期读取片上SRAM中2行8个像素组成的64-bit数据,并把它们搬运到片外SDRAM中;做如下定义:把16个块分为8个块对,把块0和和块1称为块对0,把块2和块3称为块对1,以此类推,把块14和块15称为块对7;按顺序先读取块对0中的数据,再读取块对1中的数据,依次直到块对7中的数据也读取完,再开始下一宏块的读取;在每个块对中的数据读取顺序为:从上到下,先读取2个a行,再读取2个b行,再读取2个c行,最后读取2个d行;
在缺省模式下,根据外部提供的片选使能信号、写使能信号、写位段选择信号、地址输入信号和数据输入信号对片上SRAM进行读写操作。
2.如权利要求1所述的一种存储器多模访问控制方法,其特征在于:总线数据宽度为64位,采用两块数据宽度为64位的片上SRAM支持数据存取方式。
3.如权利要求2所述的一种存储器多模访问控制方法,其特征在于:所述1个16×16的宏块中的数据按如下的地址组织方式存储在2块片上SRAM中:
把1个16×16的宏块的块按先从左到右、在从上到下的顺序从0到15排号,每个块分成a行、b行、c行、d行;
设m=宏块的序号,n=块的序号,p=n除以2的余数,q=n-p+16×m,k=n+p+16×m;
把第m个宏块的第n块的a行的数据放在第p个SRAM的地址块q的低32-bit中,把第m个宏块的第n块的b行的数据放在第p个SRAM的地址块q的高32-bit中,把第m个宏块的第n块的c行的数据放在第p+1个SRAM的地址块k的低32-bit中,把第m个宏块的第n块的c行的数据放在第p+1个SRAM的地址块k的高32-bit中。
4.一种用以实现如权利要求1所述的存储器多模访问控制方法的存储器控制系统,其特征在于:所述存储器控制系统由2块SRAM组成,2块SRAM按照全局的排列顺序,全局地址块按照两块SRAM地址块交替递增的顺序排列;所述存储器控制系统包括:
片选生成部,其输入信号有地址模式信号、转置模式信号、地址输入信号的低2位和片选使能信号;输出信号为SRAM0的片选信号和SRAM1的片选信号;在缺省模式下,依照照全局地址块排列的方式,根据地址输入信号的最低位选择哪块SRAM的片选使能信号有效;转置模式有效时,由于两块SRAM的地址块都要被访问,故两块SRAM的片选使能信号都有效;地址模式有效而转置模式无效时,根据地址输入信号的低2位来选择哪块SRAM的片选使能信号有效;
写位段选择生成部,其输入信号有地址模式信号、转置模式信号、地址输入信号的低2位和写使能信号;输出信号为SRAM0的写使能信号、写位段选择信号和SRAM1的写使能信号、写位段选择信号;按照前文所描述的地址、数据组织形式,根据输入的地址和模式选择哪块SRAM的哪个地址块的哪几个字节被选中以及是否被写入;
地址译码部,其输入信号为地址模式信号、转置模式信号和地址输入信号;输出信号为SRAM0的地址输入信号和SRAM1的地址输入信号;按照前文所述的地址、数据组织形式,根据输入的地址和模式来生成每块SRAM的相对地址块;
输入数据分配部,其输入信号为地址模式信号、转置模式信号、地址输入信号的低位和输入数据;输出信号为SRAM0的输入数据信号和SRAM1的输入数据信号;按照前文所述的数据组织方式,根据输入的地址和模式选择信号把输入的数据进行分配、重组,分配到2块SRAM中去;
输出数据组合部,其输入信号为地址模式信号、转置模式信号和地址输入信号的低位;输出信号为总的输出数据信号;按照前文所述的地址组织形式,根据输入的地址和模式选择信号把两块SRAM输出的数据进行重组、拼接,得到满足要求的输出数据。
5.如权利要求4所述的存储器控制系统,其特征在于:将各种访问模式按地址模式和转置模式划分:
在反量化反变换模式下,每次是一列一列访问的,在块中不是按一行一行的顺序访问,所以属于转置模式,即转置模式状态量设为1;由于每次访问1列的32-bit数据,故相对于缺省模式,地址模式时是特殊的,地址模式状态量设为1;
在去块效应滤波模式下,每次访问1行的32-bit数据,故没有转置,转置模式状态量设为0,但地址模式是特殊的,地址模式状态量设为1;
在直接存储器存储模式下,每次访问的不是同一个块中的数据,故属于转置模式,转置模式状态量设为1;每次访问2行的64-bit数据,故属于普通的地址模式,地址模式状态量属于0;
在缺省模式下,转置模式状态量设为0,地址模式状态量设为0。
6.如权利要求4或5所述的存储器控制系统,其特征在于:向SRAM中写数据只要在时钟的上升沿提供数据和控制信号就可以,而对SRAM的读操作需要一个时钟周期才能把SRAM中的数据读出来;控制信号经过触发器保持一个时钟周期,以供从两块SRAM中读出数据后进行数据拼接时使用。
CN 201010594827 2010-12-18 2010-12-18 一种存储器多模访问控制方法及其片上sram存储器控制系统 Pending CN102023944A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010594827 CN102023944A (zh) 2010-12-18 2010-12-18 一种存储器多模访问控制方法及其片上sram存储器控制系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010594827 CN102023944A (zh) 2010-12-18 2010-12-18 一种存储器多模访问控制方法及其片上sram存储器控制系统

Publications (1)

Publication Number Publication Date
CN102023944A true CN102023944A (zh) 2011-04-20

Family

ID=43865257

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010594827 Pending CN102023944A (zh) 2010-12-18 2010-12-18 一种存储器多模访问控制方法及其片上sram存储器控制系统

Country Status (1)

Country Link
CN (1) CN102023944A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102131098A (zh) * 2011-04-02 2011-07-20 中兴通讯股份有限公司 视频图像的去块滤波方法及装置
CN103677655A (zh) * 2012-09-26 2014-03-26 北京信威通信技术股份有限公司 一种二维数组数据流在存储器上的读写方法及装置
CN106331712A (zh) * 2015-06-30 2017-01-11 展讯通信(上海)有限公司 一种视频图像压缩方法
CN108961147A (zh) * 2018-06-11 2018-12-07 北京集创北方科技股份有限公司 一种数据处理方法和装置
CN110322406A (zh) * 2019-07-05 2019-10-11 南京芯驰半导体科技有限公司 一种图像转置方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030145184A1 (en) * 2002-01-31 2003-07-31 Fujitsu Limited DRAM having SRAM equivalent interface
CN1828773A (zh) * 2005-03-04 2006-09-06 中国科学院计算技术研究所 多维数组在动态随机存取存储器上的快速读写方法及装置
CN101252694A (zh) * 2008-03-31 2008-08-27 清华大学 基于块的视频解码的帧存储压缩和地址映射系统
CN101776988A (zh) * 2010-02-01 2010-07-14 中国人民解放军国防科学技术大学 一种块大小可变的可重构矩阵寄存器文件

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030145184A1 (en) * 2002-01-31 2003-07-31 Fujitsu Limited DRAM having SRAM equivalent interface
CN1828773A (zh) * 2005-03-04 2006-09-06 中国科学院计算技术研究所 多维数组在动态随机存取存储器上的快速读写方法及装置
CN101252694A (zh) * 2008-03-31 2008-08-27 清华大学 基于块的视频解码的帧存储压缩和地址映射系统
CN101776988A (zh) * 2010-02-01 2010-07-14 中国人民解放军国防科学技术大学 一种块大小可变的可重构矩阵寄存器文件

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102131098A (zh) * 2011-04-02 2011-07-20 中兴通讯股份有限公司 视频图像的去块滤波方法及装置
CN102131098B (zh) * 2011-04-02 2016-03-30 深圳市中兴微电子技术有限公司 视频图像的去块滤波方法及装置
CN103677655A (zh) * 2012-09-26 2014-03-26 北京信威通信技术股份有限公司 一种二维数组数据流在存储器上的读写方法及装置
CN106331712A (zh) * 2015-06-30 2017-01-11 展讯通信(上海)有限公司 一种视频图像压缩方法
CN106331712B (zh) * 2015-06-30 2019-06-25 展讯通信(上海)有限公司 一种视频图像压缩方法
CN108961147A (zh) * 2018-06-11 2018-12-07 北京集创北方科技股份有限公司 一种数据处理方法和装置
CN108961147B (zh) * 2018-06-11 2022-12-13 北京集创北方科技股份有限公司 一种数据处理方法和装置
CN110322406A (zh) * 2019-07-05 2019-10-11 南京芯驰半导体科技有限公司 一种图像转置方法及装置
CN110322406B (zh) * 2019-07-05 2022-11-29 南京芯驰半导体科技有限公司 一种图像转置方法及装置

Similar Documents

Publication Publication Date Title
KR100695141B1 (ko) 영상처리시스템에 있어서 메모리 억세스장치 및 방법, 데이터 기록장치 및 방법과 데이터 독출장치 및 방법
US8442107B2 (en) Memory mapping apparatus and method for video decoder/encoder
KR101127962B1 (ko) 영상 처리 장치 및 영상 처리를 위한 프레임 메모리 관리 방법
CN101252694B (zh) 基于块的视频解码的帧存储压缩和地址映射系统
CN100579225C (zh) 图像数据的存取和解码方法及解码装置
CN102023944A (zh) 一种存储器多模访问控制方法及其片上sram存储器控制系统
CN101340580A (zh) 视频硬件解码器的片外动态存储器的地址映射方法
WO2007024413A2 (en) Transpose buffering for video processing
CN101212674A (zh) 图像在存储器中的地址映射方法
CN100356780C (zh) 用于压缩视频信号解码的图像存储方法
US20050259744A1 (en) Video deblocking memory utilization
US20050259887A1 (en) Video deblocking method and apparatus
CN101883276A (zh) 软硬件联合解码的多格式高清视频解码器结构
Wang et al. Motion compensation architecture for 8K UHDTV HEVC decoder
CN103957419A (zh) 一种双缓冲存储器结构的视频解码器及控制方法
KR101331093B1 (ko) 프레임 메모리의 단일뱅크 내 참조 영상의 픽셀 인터리빙 방법 및 장치, 이를 포함하는 영상코덱 시스템
TWI418219B (zh) 用於動態補償系統之資料映像方法及快取記憶體系統
CN101662684A (zh) 用于视频图像编解码的数据存储的方法及装置
CN103220507A (zh) 一种视频编解码方法及系统
CN104754363A (zh) 用于hevc的环路滤波方法及装置、编码器及解码器
US10085022B1 (en) Two-dimensional transformation with minimum buffering
KR101419378B1 (ko) 영상 처리를 위한 시스템
Song et al. High-performance memory interface architecture for high-definition video coding application
CN101847394B (zh) 用以解码及显示视讯文件的存储器映射方法及装置
CN100486334C (zh) 视频解码系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent for invention or patent application
CB03 Change of inventor or designer information

Inventor after: Yan Xiaolang

Inventor after: Xiu Siwen

Inventor after: Huang Kai

Inventor after: Ma De

Inventor after: Chen Liang

Inventor before: Yan Xiaolang

Inventor before: Xiu Siwen

Inventor before: Huang Kai

Inventor before: Ma De

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: YAN XIAOLANG XIU SIWEN HUANG KAI MA DE TO: YAN XIAOLANG XIU SIWEN HUANG KAI MA DE CHEN LIANG

C53 Correction of patent for invention or patent application
CB03 Change of inventor or designer information

Inventor after: Yan Xiaolang

Inventor after: Xiu Siwen

Inventor after: Huang Kai

Inventor after: Ma De

Inventor after: Chen Liang

Inventor after: Ran Fan

Inventor after: Liu Zhongfang

Inventor before: Yan Xiaolang

Inventor before: Xiu Siwen

Inventor before: Huang Kai

Inventor before: Ma De

Inventor before: Chen Liang

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: YAN XIAOLANG XIU SIWEN HUANG KAI MA DE CHEN LIANG TO: YAN XIAOLANG XIU SIWEN HUANG KAI MA DE CHEN LIANG RAN FAN LIU ZHONGFANG

C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20110420