CN105681789B - 一种参考帧数据读取命令的重排方法及装置 - Google Patents
一种参考帧数据读取命令的重排方法及装置 Download PDFInfo
- Publication number
- CN105681789B CN105681789B CN201410667883.1A CN201410667883A CN105681789B CN 105681789 B CN105681789 B CN 105681789B CN 201410667883 A CN201410667883 A CN 201410667883A CN 105681789 B CN105681789 B CN 105681789B
- Authority
- CN
- China
- Prior art keywords
- page
- marks
- reference frame
- frame data
- reading order
- 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.)
- Active
Links
Landscapes
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及计算机技术领域,公开了一种参考帧数据读取命令的重排方法及装置,用以解决数据传输延时大,传输效率差的问题。该方法为:首先获取待发送的n个参考帧数据读取命令,并分别确定每一个命令的参考帧数据在DDR中的目的地址,以及按照设定的目的地址对齐方式,将目的地址相邻的每m个命令进行合并;然后统计所有经过合并处理后的命令的标识信息;再确定各个page标识的发送顺序;最后基于page标识对各个命令进行分组,按照调整后的page标识的发送顺序,依次对相应的每一个命令组进行发送,这样能够极大提高数据处理效率,减少数据处理时延,同时提升了解码器读取参考帧数据的效率,进一步提升了系统性能。
Description
技术领域
本发明涉及图像处理领域,尤其涉及一种参考帧数据读取命令的重排方法及装置
背景技术
HEVC(High Efficiency Video Coding),是一种新的主要针对高清和超高清视频图像的视频压缩标准,可以替代H.264/AVC编码标准。HEVC的目标是在H.264/AVC高端类(high profile)的基础上,对高分辨率/高保真的视频图像压缩效率提高一倍,也就是在保证相同视频图像质量的前提下,视频流的码率减少50%,这就意味着视频内容的质量将上升许多,而且可以节省下大量的网络带宽,对于消费者而言,我们可以享受到更高质量的4K视频、3D蓝光、高清电视节目内容。
HEVC的编解码架构采用传统的混合视频编码架构,也就是预测加熵编码。预测是为了消除像素间的时间和空间上的差异性,空间的相关性采用帧内预测消除,而时间的相关性采用帧间预测消除。视频编码中,帧间预测对编码性能影响最大。
在解码端,解码器在做帧间预测的时候需要大量的读取已经解码的图像缓冲区(Decoded Picture Buffer,DPB)中的像素信息,而帧图像缓存所占空间巨大,只能放在双倍速率同步动态随机存储器(Double Data Rate,DDR)中,由于处理器需要不停地读取已经解码的帧信息,这样在DDR与CPU之间会带来巨大的带宽损耗,造成处理器时延较大,进一步影响数据传输效率,这也是影响解码器性能的主要原因。
发明内容
本发明的目的是提供一种参考帧数据读取命令的重排方法及装置,用以解决数据传输延时大,传输效率差的问题。
本发明的目的是通过以下技术方案实现的:
一种参考帧数据读取命令的重排方法,包括:
获取待发送的n个参考帧数据读取命令,并分别确定每一个参考帧数据读取命令所指示读取的参考帧数据在DDR中的目的地址,按照设定的目的地址对齐方式,将目的地址相邻的每m个参考帧数据读取命令进行合并,其中1<m<n;
统计所有经过合并处理后的参考帧数据读取命令的标识信息,其中,一个参考帧数据读取命令的标识信息包括:目的地址在DDR中的页page标识,区bank标识和行row标识;
确定各个page标识的发送顺序,其中,若发送顺序相邻的两个page标识对应的row标识不同但bank标识相同,则对其中一个page标识的发送顺序进行调整;
基于page标识对各个参考帧数据读取命令进行分组,按照调整后的page标识的发送顺序,,依次对相应的每一组参考帧数据读取命令进行发送。
这样能够对发送的参考帧数据读取命令进行重排及合并,既能够有效减少命令的个数,通过命令重排,又极大提高数据处理效率,减少数据处理时延,同时大幅减少了DDR的带宽利用率,提升了解码器读取参考帧数据的效率,从而使解码器的解码速度得到有效提高。
可选的,若一个参考帧数据读取命令的数据长度为x,且m=2,则按照设定的目的地址对齐方式,将目的地址相邻的每m个参考帧数据读取命令进行合并,包括:
每读取一个参考帧数据读取命令,将其与已保存的每一个参考帧数据读取命令进行比较,获得比较结果;
若当前读取的参考帧数据读取命令的目的地址与已保存的一个参考帧数据读取命令的目的地址相邻,且当前读取的参考帧数据读取命令的目的地址的起始位置是是x的偶数倍,则将所述当前读取的参考帧数据读取命令合并至所述已保存的一个参考帧数据读取命令中,并将所述当前读取的参考帧数据读取命令的目的地址的起始位置作为合并后的参考帧数据读取命令的目的地址的起始位置;
若当前读取的参考帧数据读取命令的目的地址与已保存的一个参考帧数据读取命令的目的地址相邻,且当前读取的参考帧数据读取命令的目的地址的起始位置是是x的奇数倍,则将所述已保存的一个参考帧数据读取命令合并至所述当前读取的参考帧数据读取命令中,并将所述已保存的一个参考帧数据读取命令的目的地址的起始位置作为合并后的参考帧数据读取命令的目的地址的起始位置。
这样,能够有效减少命令的个数,减少了数据读取的次数,从而减少数据处理时延。
可选的,确定各个page标识的发送顺序,其中,若发送顺序相邻的两个page标识对应的row标识不同但bank标识相同,则对其中一个page标识的发送顺序进行调整,包括:
读取当前待处理的一批page标识,将各个page标识的读取顺序确定为各个page标识的初始发送顺序;
判断当前待处理的一批page标识是否为首次读取的一批page标识,
若是,则按照确定的初始发送顺序依次读取每一个page标识,从第二个page标识开始,依次将当前读取的page标识和上一次读取的page标识进行比较,判定两者满足对应的row标识不同但bank标识相同时,对所述当前读取的page标识的发送顺序进行调整;
否则,按照确定的初始发送顺序在读取第一个page标识时和上一次读取的一批page标识中发送顺序经过调整的最后一个page标识进行比较,判定两者满足对应的row标识不同但bank标识相同,对所述当前读取的page标识的发送顺序进行调整,从第二个page标识开始,依次将当前读取的page标识和上一次读取的page标识进行比较,判定两者满足对应的row标识不同但bank标识相同时,对所述当前读取的page标识的发送顺序进行调整。
可选的,对所述当前读取的page标识的发送顺序进行调整,进一步包括:
按照确定的发送顺序,将所述上一次读取的page标识与所述当前读取的page标识之后的每一个page标识进行比较,确定存在某一page标识与所述当前读取的page标识之间不满足row标识不同但bank标识相同时,将所述某一page标识的发送顺序与所述当前读取的page标识的发送顺序进行对调。
这样能够保证了同page标识的命令同时发送,以及不同page标识的参考帧数据读取命令选择最佳的发送顺序发送,尽可能减少或避免同bank标识不同row标识的参考帧数据读取命令依次发出的情况,这样,可以减少数据处理的时延问题,提高了数据传输效率。
可选的,基于page标识对各个参考帧数据读取命令进行分组,包括:
按照page标识的发送顺序,依次将每一个page标识与合并后的每一个参考帧数据读取命令的page标识进行比较;将具有相同page标识的参考帧数据读取命令分为同一组。
一种参考帧数据读取命令的重排装置,包括:
合并单元,用于获取待发送的n个参考帧数据读取命令,并分别确定每一个参考帧数据读取命令所指示读取的参考帧数据在DDR中的目的地址,按照设定的目的地址对齐方式,将目的地址相邻的每m个参考帧数据读取命令进行合并,其中1<m<n;
统计单元,用于统计所有经过合并处理后的参考帧数据读取命令的标识信息,其中,一个参考帧数据读取命令的标识信息包括:目的地址在DDR中的页page标识,区bank标识和行row标识;
调整单元,用于确定各个page标识的发送顺序,其中,若发送顺序相邻的两个page标识对应的row标识不同但bank标识相同,则对其中一个page标识的发送顺序进行调整;
处理单元,用于针对page标识对各个参考帧数据读取命令进行分组,按照调整后的page标识的发送顺序,依次对相应的每一组参考帧数据读取命令进行发送。
这样能够对发送的参考帧数据读取命令进行重排及合并,既能够有效减少命令的个数,通过命令重排,又极大提高数据处理效率,减少数据处理时延,同时大幅减少了DDR的带宽利用率,提升了解码器读取参考帧数据的效率,从而使解码器的解码速度得到有效提高。
可选的,若一个参考帧数据读取命令的数据长度为x,且m=2,则按照设定的目的地址对齐方式,将目的地址相邻的每m个参考帧数据读取命令进行合并时,所述合并单元用于:
每读取一个参考帧数据读取命令,将其与已保存的每一个参考帧数据读取命令进行比较,获得比较结果;
若当前读取的参考帧数据读取命令的目的地址与已保存的一个参考帧数据读取命令的目的地址相邻,且当前读取的参考帧数据读取命令的目的地址的起始位置是x的偶数倍,则将所述当前读取的参考帧数据读取命令合并至所述已保存的一个参考帧数据读取命令中,并将所述当前读取的参考帧数据读取命令的目的地址的起始位置作为合并后的参考帧数据读取命令的目的地址的起始位置;
若当前读取的参考帧数据读取命令的目的地址与已保存的一个参考帧数据读取命令的目的地址相邻,且当前读取的参考帧数据读取命令的目的地址的起始位置是x的奇数倍,则将所述已保存的一个参考帧数据读取命令合并至所述当前读取的参考帧数据读取命令中,并将所述已保存的一个参考帧数据读取命令的目的地址的起始位置作为合并后的参考帧数据读取命令的目的地址的起始位置。
这样,能够有效减少命令的个数,减少了数据读取的次数,从而减少数据处理时延。
可选的,确定各个page标识的发送顺序,其中,若发送顺序相邻的两个page标识对应的row标识不同但bank标识相同,则对其中一个page标识的发送顺序进行调整时,所述调整单元用于:
读取当前待处理的一批page标识,将各个page标识的读取顺序确定为各个page标识的初始发送顺序;
判断当前待处理的一批page标识是否为首次读取的一批page标识,
若是,则按照确定的初始发送顺序依次读取每一个page标识,从第二个page标识开始,依次将当前读取的page标识和上一次读取的page标识进行比较,判定两者满足对应的row标识不同但bank标识相同时,对所述当前读取的page标识的发送顺序进行调整;
否则,按照确定的初始发送顺序在读取第一个page标识时和上一次读取的一批page标识中发送顺序经过调整的最后一个page标识进行比较,判定两者满足对应的row标识不同但bank标识相同,对所述当前读取的page标识的发送顺序进行调整,从第二个page标识开始,依次将当前读取的page标识和上一次读取的page标识进行比较,判定两者满足对应的row标识不同但bank标识相同时,对所述当前读取的page标识的发送顺序进行调整。
可选的,对所述当前读取的page标识的发送顺序进行调整时,所述调整单元进一步用于:
按照确定的发送顺序,将所述上一次读取的page标识与所述当前读取的page标识之后的每一个page标识进行比较,确定存在某一page标识与所述当前读取的page标识之间不满足row标识不同但bank标识相同时,将所述某一page标识的发送顺序与所述当前读取的page标识的发送顺序进行对调。
这样能够保证了同page标识的命令同时发送,以及不同page标识的参考帧数据读取命令选择最佳的发送顺序发送,尽可能减少或避免同bank标识不同row标识的参考帧数据读取命令依次发出的情况,这样,可以减少数据处理的时延问题,提高了数据传输效率。
可选的,基于page标识对各个参考帧数据读取命令进行分组时,所述处理单元用于:
按照page标识的发送顺序,依次将每一个page标识与合并后的每一个参考帧数据读取命令的page标识进行比较;将具有相同page标识的参考帧数据读取命令分为同一组。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中基于HEVC参考帧数据读取的命令重排方法概述流程图;
图2为本发明实施例中两个参考帧数据读取命令合并示意图;
图3A为本发明实施例中参考帧数据读取命令合并过程示意图;
图3B为本发明实施例中参考帧数据在DDR中的存储示意图;
图4为本发明实施例中参考帧数据读取命令的page重排的详细流程图;
图5为本发明实施例中参考帧数据读取命令的page重排的示意图;
图6为本发明实施例中5个参考帧数据读取命令的page进行重排的结果示意图;
图7为本发明实施例中参考帧数据读取命令进行分组的过程示意图;
图8为本发明实施例中参考帧数据读取命令重排的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中,参考帧数据存储在DDR中,由于从DDR读取的参考帧数据之间具有相关性,所以在解码器生成参考帧数据读取命令时,可以基于参考帧数据之间的相关性,在解码器内进行参考帧数据读取命令的重排,从而能够将有相关性的参考帧数据进行一次性读取,进而极大地减少了数据传输延时,也提高了数据传输效率。
参阅图1所示,本发明实施例中,提供一种基于HEVC参考帧数据读取的命令重排方法,具体流程如下:
步骤100:获取待发送的n个参考帧数据读取命令,并分别确定每一个参考帧数据读取命令所指示读取的参考帧数据在DDR中的目的地址,按照设定的目的地址对齐方式,将目的地址相邻的每m个参考帧数据读取命令进行合并,其中1<m<n,且m和n均为正整数。
具体的,若一个参考帧数据读取命令指示的数据长度为x,且m=2,则按照设定的目的地址对齐方式,将目的地址相邻的每m个参考帧数据读取命令进行合并,包括:每读取一个参考帧数据读取命令,将其与已保存的每一个参考帧数据读取命令进行比较,获得比较结果;
若当前读取的参考帧数据读取命令的目的地址与已保存的一个参考帧数据读取命令的目的地址相邻,且当前读取的参考帧数据读取命令的目的地址的起始位置是x的偶数倍,则将当前读取的参考帧数据读取命令合并至已保存的一个参考帧数据读取命令中,并将该当前读取的参考帧数据读取命令的目的地址的起始位置作为合并后的参考帧数据读取命令的目的地址的起始位置;
若当前读取的参考帧数据读取命令的目的地址与已保存的一个参考帧数据读取命令的目的地址相邻,且当前读取的参考帧数据读取命令的目的地址的起始位置是x的奇数倍,则将已保存的一个参考帧数据读取命令合并至该当前读取的参考帧数据读取命令中,并将已保存的一个参考帧数据读取命令的目的地址的起始位置作为合并后的参考帧数据读取命令的目的地址的起始位置。
例如:从DDR读取参考帧数据时,为了提高读取参考帧数据的效率,本发明的hevc解码器把一系列参考帧数据读取命令看做一个命令块进行处理。假设命令块中包含N个命令(command)(N为大于1的整数)。
本发明实施例中,Hevc解码器使用一个32层的寄存器堆(buffer)将命令缓存,buffer分两块,每块16层的命令,两块16层的buffer做乒乓操作,一块做command的合并(merge)和统计,另一块做command的重排(reorder)。
下面以突发脉冲(burst8)传输作为一个command(burst8的数据长度为8*8=64bytes)为例进行命令的合并设计,参阅图2所示,其他情况可以以相同的设计思想进行简单变化就可以实现。
为了顺应目前最常用的DDR3内部数据存取结构,本发明实施例中,把两个目的地址相邻的且数据长度为64字节的command,对齐并合并为一个数据长度为128字节的命令。
如,command0的目标起始地址为0,数据长度为64字节,command1的目的地址的起始位置为64,数据长度为64字节,那么就可以把command0和command1合成为一个目的地址的起始位置为0,数据长度为128的命令。
本实施例中,一块16层的buffer做command的合并,首先需要有16个命令比较单元,参阅图3A所示,命令比较单元的运算逻辑是:
If((command_in&1)&&command_in==commandi+1)
Merge_in_to_i;//改变commandi的长度
If(!(command_in&1)&&command_in==commandi-1)
Merge_i_to_in;//改变command_in的起始地址和长度
以上公式释义为:如果command_in的目的地址的起始位置是64的偶数倍(图2的command0),那么就把command_in合并到commandi,并改变command_in的长度(由64改变为128);如果command_in的目的地址的起始位置是64的奇数倍(图2中的command1),那么就把commandi合并到command_in,并改变command_in的起始地址(由64改变为0)和长度(由64改变为128)。根据比较的类型分两种,一种是改变原命令的长度,另外一种是改变命令的起始地址和长度。
具体合并过程为:每在command buffer中存入一个command就和已经存入的所有command依次对比,判断是否存在与其符合设定的合并条件的command存在,若存在符合条件的就进行合并操作。例如,首先读取command0,并获取其目的地址的起始位置,并判断该目的地址的起始位置是64的奇数倍还是偶数倍,接着读取command1,并获取其目的地址的起始位置,并判断该目的地址的起始位置是64的奇数倍还是偶数倍,进一步确定在16层buffer中是否存在与command1符合上述合并条件的目的地址相邻的命令,若存在则将两个命令合并为一个,否则不进行命令的合并处理,如此往复,每读取一个命令都要进行判断是否存在与其符合设定的合并条件的命令存在,若存在则将两个命令合并为一个,否则不进行命令的合并处理,直到command15读取完毕。
步骤110:统计所有经过合并处理后的参考帧数据读取命令的标识信息,其中,一个参考帧数据读取命令的标识信息包括:目的地址在DDR中的page标识,bank标识和row标识。
经过步骤100合并处理的命令,就开始统计参考帧数据读取命令的存储目的地址在DDR中的的page标识,bank标识,以及row标识。
首先统计一个command buffer中的command分布在多少个不同的page中,即page_num,例如command buffer的16个命令分布在DDR的6个page中,那么page_num=6;然后统计每个不同的page对应的bank标识和row标识,即page_id[i](0≤i≤page_num),其中,每个page拥有一个page_id,i为page号,page_id[i]内记录了此page对应的bank标识和row标识。
参阅图3B所示,一个bank就是一个存储区,不同bank中相同行的存储区域称为row,一个row在一个bank中的存储区称为page。
在一个command buffer接收完命令之后,这些信息也统计完毕,此时,另外一个command buffer需要开始进行命令的接收与合并,所以存储这些命令信息的buffer寄存器组需要两套。
步骤120:确定各个page标识的发送顺序,其中,若发送顺序相邻的两个page标识对应的row标识不同但bank标识相同,则对其中一个page标识的发送顺序进行调整。
具体的,确定各个page标识的发送顺序,其中,若发送顺序相邻的两个page标识对应的row标识不同但bank标识相同,则对其中一个page标识的发送顺序进行调整,包括:读取当前待处理的一批page标识,将各个page标识的读取顺序确定为各个page标识的初始发送顺序;判断当前待处理的一批page标识是否为首次读取的一批page标识,若是,则按照确定的初始发送顺序依次读取每一个page标识,从第二个page标识开始,依次将当前读取的page标识和上一次读取的page标识进行比较,判定两者满足对应的row标识不同但bank标识相同时,对所述当前读取的page标识的发送顺序进行调整;否则,按照确定的初始发送顺序在读取第一个page标识时和上一次读取的一批page标识中重排处理后的最后一个page标识进行比较,判定两者满足对应的row标识不同但bank标识相同时,对所述当前读取的page标识的发送顺序进行调整,从第二个page标识开始,依次将当前读取的page标识和上一次读取的page标识进行比较,判定两者满足对应的row标识不同但bank标识相同,对所述当前读取的page标识的发送顺序进行调整。
Page重排目的是:局限于DDR的数据存取的内部特性,如果相邻的两次数据读取命令的地址是在不同row且相同bank,这时从DDR中读取数据的效率最差,耗时最长,为了提高参考帧数据读取命令的处理效率,尽量使同一存储区(即row标识不同且bank标识相同的page_id)对应的参考帧数据读取命令不要依次发出,如果不针对page标识的发送顺序进行调整,发送顺序就是各个page标识被读取出来的顺序,这样很可能出现row标识不同且bank标识相同的page_id依次发出的情况,从而会由于等待存储区重启,而增加数据处理时延。
进一步的,对当前读取的page标识的发送位置进行调整,包括:按照确定的发送顺序,将上一次读取的page标识与当前读取的page标识之后的每一个page标识进行比较,确定存在某一page标识与当前读取的page标识之间不满足row标识不同但bank标识相同时,将该某一page标识的发送位置与当前读取的page标识的发送位置进行对调。
Page重排的具体实现流程参阅图4所示:
步骤400:获取进入commond buffer中的当前参考帧数据读取命令的page_id[j],统计该commond buffer中的所有参考帧数据读取命令的page_id[i],其中0<i≤page_num,page_id[i]内记录了此page的bank和row标识。
步骤401:判断当前处理的page_id[j]是否是统计后的page_id[i](0<i≤page_num)的第一个page_id(即page_id[0]),如果不是,则执行步骤402,否则,执行步骤403。
步骤402:将当前处理的page_id[j]与上一次已经处理的page_id[j-1]进行比较,比较两者的page标识对应的bank标识和row标识,接着,执行步骤405。
步骤403:进一步判断当前处理的page_id[j]是否是命令块的第一个page_id,如果是,则执行步骤409,否则,执行步骤404。
步骤404:将当前处理的page_id[j]与上一次command buffer中16个参考帧数据读取命令page重排处理后的最后一个page_id进行比较,比较两者的page标识对应的bank标识和row标识。
步骤405:判断比较的两个page标识是否满足row标识不同且bank标识相同,如果不满足,则执行步骤409,否则执行步骤406。
步骤406:将page_id[j-1]分别与page_id[j+1]、page_id[j+2]...page_id[page_num]进行比较。
步骤407:判断page_id[j-1]分别与page_id[j+1]、page_id[j+2]...page_id[page_num]是否满足row标识不同且bank标识相同,若都满足,则执行步骤409,否则,执行步骤408。
步骤408:记录第一个不满足row标识不同且bank标识相同的page标识的发送顺序并与page_id[j]的发送顺序进行交换。
步骤409:计数j=j+1,其中0<j≤page_num,返回步骤402,直到j=page_num。
基于上述实施例,参阅图5所示,图5为page重排的示意图,两个不同page_id在比较其page标识对应的bank标识和row标识时,若对应的row标识不同且bank标识相同则用1表示,否则用0表示,将比较结果存放到比较结果存储区中。
例如,参阅图6所示,假设16个command分布在5个不同的page中,page_id分别是1000、1008、1009、1002、1001,其中1008与1000属于同bank标识不同row标识,经过以上page重排步骤后,page_id排列顺序如图6所示,Page_id=1008发送位置调整到Page_id=1009之后,重排后1000和1009不属于同bank不同row,1009和1008也不属于同bank不同row,1008和1002也不属于同bank不同row,这样尽可能的避免了同bank标识不同row标识的page标识的发送位置相邻的情况出现。
步骤130:基于page标识对各个参考帧数据读取命令进行分组,按照调整后的page标识的发送顺序,依次对相应的每一组参考帧数据读取命令进行发送。
具体的,基于page标识对各个参考帧数据读取命令进行分组,包括:按照page标识的发送顺序,依次将每一个page标识与合并后的每一个参考帧数据读取命令的page标识进行比较;将具有相同page标识的参考帧数据读取命令分为同一组。
例如,经过步骤120,各个page标识的发送顺序重排之后,按照page_id的发送顺序,对page_num个page_id进行command重排,逐一对page_id[i](0≤i≤page_num)与command buffer中每个command的page_id做对比,参阅图7所示,比较结果放在16个1bit的比较结果储存区(cmp result buffer)中;将cmp result buffer中具有相同page id的command放在一起;如此往复,直到基于page_num个page_id完成command的分组;
通过上述操作,保证了相同page标识的command同时发送,以及不同page标识的command选择最佳的发送顺序发送,尽可能减少或避免同bank标识不同row标识的命令依次发出的情况,这样,可以减少数据处理的时延问题,提高了数据传输效率。
基于上述技术方案,参阅图8所示,本发明实施例中还提供一种参考帧数据读取命令的重排装置,包括合并单元80,统计单元81,调整单元82,以及处理单元83,其中:
合并单元80,用于获取待发送的n个参考帧数据读取命令,并分别确定每一个参考帧数据读取命令所指示读取的参考帧数据在DDR中的目的地址,按照设定的目的地址对齐方式,将目的地址相邻的每m个参考帧数据读取命令进行合并,其中1<m<n;
统计单元81,用于统计所有经过合并处理后的参考帧数据读取命令的标识信息,其中,一个参考帧数据读取命令的标识信息包括:目的地址在DDR中的页page标识,区bank标识和行row标识;
调整单元82,用于确定各个page标识的发送顺序,其中,若发送顺序相邻的两个page标识对应的row标识不同但bank标识相同,则对其中一个page标识的发送顺序进行调整;
处理单元83,用于针对page标识对各个参考帧数据读取命令进行分组,按照调整后的page标识的发送顺序,依次对相应的每一组参考帧数据读取命令进行发送。
这样能够对发送的参考帧数据读取命令进行重排及合并,既能够有效减少命令的个数,通过命令重排,又极大提高数据处理效率,减少数据处理时延,同时大幅减少了DDR的带宽利用率,提升了解码器读取参考帧数据的效率,从而使解码器的解码速度得到有效提高。
可选的,若一个参考帧数据读取命令的数据长度为x,且m=2,则按照设定的目的地址对齐方式,将目的地址相邻的每m个参考帧数据读取命令进行合并时,合并单元用于:
每读取一个参考帧数据读取命令,将其与已保存的每一个参考帧数据读取命令进行比较,获得比较结果;
若当前读取的参考帧数据读取命令的目的地址与已保存的一个参考帧数据读取命令的目的地址相邻,且当前读取的参考帧数据读取命令的目的地址的起始位置是x的偶数倍,则将该当前读取的参考帧数据读取命令合并至已保存的一个参考帧数据读取命令中,并将该当前读取的参考帧数据读取命令的目的地址的起始位置作为合并后的参考帧数据读取命令的目的地址的起始位置;
若当前读取的参考帧数据读取命令的目的地址与已保存的一个参考帧数据读取命令的目的地址相邻,且当前读取的参考帧数据读取命令的目的地址的起始位置是x的奇数倍,则将该已保存的一个参考帧数据读取命令合并至当前读取的参考帧数据读取命令中,并将该已保存的一个参考帧数据读取命令的目的地址的起始位置作为合并后的参考帧数据读取命令的目的地址的起始位置。
这样,能够有效减少命令的个数,减少了数据读取的次数,从而减少数据处理时延。
可选的,确定各个page标识的发送顺序,其中,若发送顺序相邻的两个page标识对应的row标识不同但bank标识相同,则对其中一个page标识的发送顺序进行调整时,调整单元用于:
读取当前待处理的一批page标识,将各个page标识的读取顺序确定为各个page标识的初始发送顺序;
判断当前待处理的一批page标识是否为首次读取的一批page标识,
若是,则按照确定的初始发送顺序依次读取每一个page标识,从第二个page标识开始,依次将当前读取的page标识和上一次读取的page标识进行比较,判定两者满足对应的row标识不同但bank标识相同时,对该当前读取的page标识的发送顺序进行调整;
否则,按照确定的初始发送顺序在读取第一个page标识时和上一次读取的一批page标识中发送顺序经过调整的最后一个page标识进行比较,判定两者满足对应的row标识不同但bank标识相同,对该当前读取的page标识的发送顺序进行调整,从第二个page标识开始,依次将当前读取的page标识和上一次读取的page标识进行比较,判定两者满足对应的row标识不同但bank标识相同时,对该当前读取的page标识的发送顺序进行调整。
可选的,对该当前读取的page标识的发送顺序进行调整时,调整单元进一步用于:
按照确定的发送顺序,将上一次读取的page标识与该当前读取的page标识之后的每一个page标识进行比较,确定存在某一page标识与该当前读取的page标识之间不满足row标识不同但bank标识相同时,将某一page标识的发送顺序与该当前读取的page标识的发送顺序进行对调。
这样能够保证了同page标识的命令同时发送,以及不同page标识的参考帧数据读取命令选择最佳的发送顺序发送,尽可能减少或避免同bank标识不同row标识的参考帧数据读取命令依次发出的情况,这样,可以减少数据处理的时延问题,提高了数据传输效率。
可选的,基于page标识对各个参考帧数据读取命令进行分组时,处理单元用于:
按照page标识的发送顺序,依次将每一个page标识与合并后的每一个参考帧数据读取命令的page标识进行比较;将具有相同page标识的参考帧数据读取命令分为同一组。
综上所述,本发明实施例中,获取待发送的n个参考帧数据读取命令,并分别确定每一个参考帧数据读取命令所指示读取的参考帧数据在DDR中的目的地址,以及按照设定的目的地址对齐方式,将目的地址相邻的每m个参考帧数据读取命令进行合并,统计所有经过合并处理后的参考帧数据读取命令的标识信息,其中,一个参考帧数据读取命令的标识信息包括:目的地址在DDR中的page标识,bank标识和row标识,确定各个page标识的发送顺序,其中,若发送顺序相邻的两个page标识对应的row标识不同但bank标识相同,则对其中一个page标识的发送顺序进行调整,基于page标识对各个参考帧数据读取命令进行分组,按照调整后的page标识的发送顺序,依次对相应的每一个参考帧数据读取命令组进行发送。这样能够对发送的参考帧数据读取命令进行重排及合并,既能够有效减少命令的个数,通过命令重排,又极大提高数据处理效率,减少数据处理时延,同时大幅减少了DDR的带宽利用率,提升了解码器读取参考帧数据的效率,从而使解码器的解码速度得到有效提高,进一步的提升系统性能。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种参考帧数据读取命令的重排方法,其特征在于,包括:
获取待发送的n个参考帧数据读取命令,并分别确定每一个参考帧数据读取命令所指示读取的参考帧数据在DDR中的目的地址,按照设定的目的地址对齐方式,将目的地址相邻的每m个参考帧数据读取命令进行合并,其中1<m<n,且m和n均为正整数;
统计所有经过合并处理后的参考帧数据读取命令的标识信息,其中,一个参考帧数据读取命令的标识信息包括:目的地址在DDR中的页page标识,区bank标识和行row标识;
确定各个page标识的发送顺序,其中,若发送顺序相邻的两个page标识对应的row标识不同但bank标识相同,则对其中一个page标识的发送顺序进行调整,使得调整后的发送顺序相邻的两个page标识,对应的bank标识不同;
将具有相同page标识的参考帧数据读取命令分为同一组,按照调整后的page标识的发送顺序,依次对相应的每一组参考帧数据读取命令进行发送。
2.如权利要求1所述的方法,其特征在于,若一个参考帧数据读取命令的数据长度为x,且m=2,则按照设定的目的地址对齐方式,将目的地址相邻的每m个参考帧数据读取命令进行合并,包括:
每读取一个参考帧数据读取命令,将其与已保存的每一个参考帧数据读取命令进行比较,获得比较结果;
若当前读取的参考帧数据读取命令的目的地址与已保存的一个参考帧数据读取命令的目的地址相邻,且当前读取的参考帧数据读取命令的目的地址的起始位置是x的偶数倍,则将所述当前读取的参考帧数据读取命令合并至所述已保存的一个参考帧数据读取命令中,并将所述当前读取的参考帧数据读取命令的目的地址的起始位置作为合并后的参考帧数据读取命令的目的地址的起始位置;
若当前读取的参考帧数据读取命令的目的地址与已保存的一个参考帧数据读取命令的目的地址相邻,且当前读取的参考帧数据读取命令的目的地址的起始位置是x的奇数倍,则将所述已保存的一个参考帧数据读取命令合并至所述当前读取的参考帧数据读取命令中,并将所述已保存的一个参考帧数据读取命令的目的地址的起始位置作为合并后的参考帧数据读取命令的目的地址的起始位置。
3.如权利要求1所述的方法,其特征在于,确定各个page标识的发送顺序,其中,若发送顺序相邻的两个page标识对应的row标识不同但bank标识相同,则对其中一个page标识的发送顺序进行调整,具体包括:
读取当前待处理的一批page标识,将各个page标识的读取顺序确定为各个page标识的初始发送顺序;
判断当前待处理的一批page标识是否为首次读取的一批page标识,
若是,则按照确定的初始发送顺序依次读取每一个page标识,从第二个page标识开始,依次将当前读取的page标识和上一次读取的page标识进行比较,判定两者满足对应的row标识不同但bank标识相同时,对所述当前读取的page标识的发送顺序进行调整;
否则,按照确定的初始发送顺序在读取第一个page标识时和上一次读取的一批page标识中发送顺序经过调整后的最后一个page标识进行比较,判定两者满足对应的row标识不同但bank标识相同,对所述当前读取的page标识的发送顺序进行调整,从第二个page标识开始,依次将当前读取的page标识和上一次读取的page标识进行比较,判定两者满足对应的row标识不同但bank标识相同时,对所述当前读取的page标识的发送顺序进行调整。
4.如权利要求3所述的方法,其特征在于,对所述当前读取的page标识的发送顺序进行调整,进一步包括:
按照确定的发送顺序,将所述上一次读取的page标识与所述当前读取的page标识之后的每一个page标识进行比较,确定存在所述当前读取的page标识之后的某一page标识与所述当前读取的page标识之间不满足row标识不同但bank标识相同时,将所述某一page标识的发送顺序与所述当前读取的page标识的发送顺序进行对调。
5.如权利要求1-4任一项所述的方法,其特征在于,基于page标识对各个参考帧数据读取命令进行分组,具体包括:
按照page标识的发送顺序,依次将每一个page标识与合并后的每一个参考帧数据读取命令的page标识进行比较;将具有相同page标识的参考帧数据读取命令分为同一组。
6.一种参考帧数据读取命令的重排装置,其特征在于,包括:
合并单元,用于获取待发送的n个参考帧数据读取命令,并分别确定每一个参考帧数据读取命令所指示读取的参考帧数据在DDR中的目的地址,按照设定的目的地址对齐方式,将目的地址相邻的每m个参考帧数据读取命令进行合并,其中1<m<n,且m和n均为正整数;
统计单元,用于统计所有经过合并处理后的参考帧数据读取命令的标识信息,其中,一个参考帧数据读取命令的标识信息包括:目的地址在DDR中的页page标识,区bank标识和行row标识;
调整单元,用于确定各个page标识的发送顺序,其中,若发送顺序相邻的两个page标识对应的row标识不同但bank标识相同,则对其中一个page标识的发送顺序进行调整,使得调整后的发送顺序相邻的两个page标识,对应的bank标识不同;
处理单元,用于将具有相同page标识的参考帧数据读取命令分为同一组,按照调整后的page标识的发送顺序,依次对相应的每一组参考帧数据读取命令进行发送。
7.如权利要求6所述的装置,其特征在于,若一个参考帧数据读取命令的数据长度为x,且m=2,则按照设定的目的地址对齐方式,将目的地址相邻的每m个参考帧数据读取命令进行合并时,所述合并单元用于:
每读取一个参考帧数据读取命令,将其与已保存的每一个参考帧数据读取命令进行比较,获得比较结果;
若当前读取的参考帧数据读取命令的目的地址与已保存的一个参考帧数据读取命令的目的地址相邻,且当前读取的参考帧数据读取命令的目的地址的起始位置是x的偶数倍,则将所述当前读取的参考帧数据读取命令合并至所述已保存的一个参考帧数据读取命令中,并将所述当前读取的参考帧数据读取命令的目的地址的起始位置作为合并后的参考帧数据读取命令的目的地址的起始位置;
若当前读取的参考帧数据读取命令的目的地址与已保存的一个参考帧数据读取命令的目的地址相邻,且当前读取的参考帧数据读取命令的目的地址的起始位置是x的奇数倍,则将所述已保存的一个参考帧数据读取命令合并至所述当前读取的参考帧数据读取命令中,并将所述已保存的一个参考帧数据读取命令的目的地址的起始位置作为合并后的参考帧数据读取命令的目的地址的起始位置。
8.如权利要求6所述的装置,其特征在于,确定各个page标识的发送顺序,其中,若发送顺序相邻的两个page标识对应的row标识不同但bank标识相同,则对其中一个page标识的发送顺序进行调整时,所述调整单元用于:
读取当前待处理的一批page标识,将各个page标识的读取顺序确定为各个page标识的初始发送顺序;
判断当前待处理的一批page标识是否为首次读取的一批page标识,
若是,则按照确定的初始发送顺序依次读取每一个page标识,从第二个page标识开始,依次将当前读取的page标识和上一次读取的page标识进行比较,判定两者满足对应的row标识不同但bank标识相同时,对所述当前读取的page标识的发送顺序进行调整;
否则,按照确定的初始发送顺序在读取第一个page标识时和上一次读取的一批page标识中发送顺序经过调整的最后一个page标识进行比较,判定两者满足对应的row标识不同但bank标识相同,对所述当前读取的page标识的发送顺序进行调整,从第二个page标识开始,依次将当前读取的page标识和上一次读取的page标识进行比较,判定两者满足对应的row标识不同但bank标识相同时,对所述当前读取的page标识的发送顺序进行调整。
9.如权利要求8所述的装置,其特征在于,对所述当前读取的page标识的发送顺序进行调整时,所述调整单元进一步用于:
按照确定的发送顺序,将所述上一次读取的page标识与所述当前读取的page标识之后的每一个page标识进行比较,确定存在所述当前读取的page标识之后的某一page标识与所述当前读取的page标识之间不满足row标识不同但bank标识相同时,将所述某一page标识的发送顺序与所述当前读取的page标识的发送顺序进行对调。
10.如权利要求6-9任一项所述的装置,其特征在于,基于page标识对各个参考帧数据读取命令进行分组时,所述处理单元用于:
按照page标识的发送顺序,依次将每一个page标识与合并后的每一个参考帧数据读取命令的page标识进行比较;将具有相同page标识的参考帧数据读取命令分为同一组。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410667883.1A CN105681789B (zh) | 2014-11-20 | 2014-11-20 | 一种参考帧数据读取命令的重排方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410667883.1A CN105681789B (zh) | 2014-11-20 | 2014-11-20 | 一种参考帧数据读取命令的重排方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105681789A CN105681789A (zh) | 2016-06-15 |
CN105681789B true CN105681789B (zh) | 2018-07-17 |
Family
ID=56957290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410667883.1A Active CN105681789B (zh) | 2014-11-20 | 2014-11-20 | 一种参考帧数据读取命令的重排方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105681789B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106652879B (zh) * | 2017-02-27 | 2020-06-19 | 上海寰视网络科技有限公司 | 一种显示帧数据的方法及设备 |
CN110389913B (zh) * | 2019-07-26 | 2021-01-29 | 南京凯鼎电子科技有限公司 | 一种用于提高ddr总线利用率的反馈装置及方法 |
CN113704143A (zh) * | 2021-08-27 | 2021-11-26 | 湖南国科微电子股份有限公司 | 数据读取方法、装置及计算机设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7471298B1 (en) * | 2000-06-26 | 2008-12-30 | S3 Graphics Co., Ltd. | Fetching pixel data with reduced memory bandwidth requirement |
CN102456391A (zh) * | 2010-10-26 | 2012-05-16 | 中兴通讯股份有限公司 | 提高ddr控制器效率的方法和装置 |
CN103092785A (zh) * | 2013-02-08 | 2013-05-08 | 豪威科技(上海)有限公司 | Ddr2 sdram控制器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100668302B1 (ko) * | 2004-07-28 | 2007-01-12 | 삼성전자주식회사 | 비디오 디코더/엔코더에서의 메모리 맵핑 장치 및 그 방법 |
-
2014
- 2014-11-20 CN CN201410667883.1A patent/CN105681789B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7471298B1 (en) * | 2000-06-26 | 2008-12-30 | S3 Graphics Co., Ltd. | Fetching pixel data with reduced memory bandwidth requirement |
CN102456391A (zh) * | 2010-10-26 | 2012-05-16 | 中兴通讯股份有限公司 | 提高ddr控制器效率的方法和装置 |
CN103092785A (zh) * | 2013-02-08 | 2013-05-08 | 豪威科技(上海)有限公司 | Ddr2 sdram控制器 |
Non-Patent Citations (3)
Title |
---|
An SDRAM controller optimized for high definition video coding application;Jiayi Zhu,Peilin Liu,Dajiang Zhou;《2008 IEEE International Symposium on Circuits and Systems》;IEEE;20080613;第3518-3521页 * |
DDR2内存控制器的模块设计和验证平台技术研究;张永志;《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》;中国学术期刊(光盘版)电子杂志社;20091015(第10期);第27-46页 * |
基于H.264编码器的DDR3控制器设计;王林林,郭勇,袁兴,李磊,王桂海;《电视技术》;中国电子科技集团公司第三研究所;20131231;第37卷(第23期);第89-92页 * |
Also Published As
Publication number | Publication date |
---|---|
CN105681789A (zh) | 2016-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9426480B2 (en) | Image signal decoding apparatus and image signal decoding method | |
US10951914B2 (en) | Reliable large group of pictures (GOP) file streaming to wireless displays | |
US10819994B2 (en) | Image encoding and decoding methods and devices thereof | |
US20090219985A1 (en) | Systems and Methods for Processing Multiple Projections of Video Data in a Single Video File | |
US10448036B2 (en) | Motion compensation matching for video coding | |
CN106664414A (zh) | 视频编码中用于单个样本模式的候选生成的方法及装置 | |
US10757431B2 (en) | Method and apparatus for processing video | |
CN103339932A (zh) | 在灵活分块时利用图片边界填补的代码化和解码 | |
CN105681789B (zh) | 一种参考帧数据读取命令的重排方法及装置 | |
WO2016045581A1 (zh) | 编码方法、解码方法、装置及电子设备 | |
CN105025347B (zh) | 一种gop图像组的发送和接收方法 | |
CN107396112A (zh) | 一种编码方法及装置、计算机装置、可读存储介质 | |
WO2014194722A1 (zh) | 确定小物体区域的方法、视频帧之间插补帧的方法和装置 | |
CN109688407A (zh) | 编码单元的参考块选择方法、装置、电子设备及存储介质 | |
US20240015310A1 (en) | Multimedia data processing method, apparatus, device, computer-readable storage medium, and computer program product | |
US8761529B2 (en) | Apparatus and method for parallel encoding and decoding image data based on correlation of macroblocks | |
US20060109909A1 (en) | Decision mechanism for partition types of macro block | |
US20190182503A1 (en) | Method and image processing apparatus for video coding | |
TW202205852A (zh) | 一種編解碼方法、裝置及其設備 | |
CN111770334B (zh) | 数据编码方法及装置、数据解码方法及装置 | |
WO2024098821A1 (zh) | Av1的滤波方法及装置 | |
BR112020025939A2 (pt) | previsão intra de ângulo amplo e combinação de previsão intra dependente da posição | |
CN112422983B (zh) | 通用多核并行解码器系统及其应用 | |
CN112468826B (zh) | 一种基于多层gan的vvc环路滤波方法及系统 | |
CN102300086A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 519085 High-tech Zone, Tangjiawan Town, Zhuhai City, Guangdong Province Patentee after: ACTIONS TECHNOLOGY Co.,Ltd. Address before: 519085 High-tech Zone, Tangjiawan Town, Zhuhai City, Guangdong Province Patentee before: ACTIONS (ZHUHAI) TECHNOLOGY Co.,Ltd. |
|
CP01 | Change in the name or title of a patent holder |