CN101547368B - 一种图像中参考帧的处理装置、方法以及解码器 - Google Patents

一种图像中参考帧的处理装置、方法以及解码器 Download PDF

Info

Publication number
CN101547368B
CN101547368B CN 200910137379 CN200910137379A CN101547368B CN 101547368 B CN101547368 B CN 101547368B CN 200910137379 CN200910137379 CN 200910137379 CN 200910137379 A CN200910137379 A CN 200910137379A CN 101547368 B CN101547368 B CN 101547368B
Authority
CN
China
Prior art keywords
register
reference frame
address pointer
memory cell
control circuit
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
CN 200910137379
Other languages
English (en)
Other versions
CN101547368A (zh
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.)
Actions Technology Co Ltd
Original Assignee
Actions Semiconductor Co Ltd
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 Actions Semiconductor Co Ltd filed Critical Actions Semiconductor Co Ltd
Priority to CN 200910137379 priority Critical patent/CN101547368B/zh
Publication of CN101547368A publication Critical patent/CN101547368A/zh
Application granted granted Critical
Publication of CN101547368B publication Critical patent/CN101547368B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种图像中参考帧的处理装置,包括控制电路(301)、地址指针寄存器(302)、插入位置寄存器(303)、比较器(304)和参考帧列表存储单元(305),并公开了一种一种图像中参考帧的处理方法和解码器。本发明方案通过硬件来实现参考帧重排序,比现有技术可以极大加快处理速度。

Description

一种图像中参考帧的处理装置、方法以及解码器
技术领域
本发明涉及视频编解码技术领域,特别涉及图像中参考帧的处理装置、方法以及解码器。
背景技术
视频编解码标准中,采用了多参考帧预测的技术,因此,参考帧的管理成为编解码的重要内容之一,现有的技术中关于参考帧的管理流程如图1所示,主要涉及到以下的步骤:
步骤101:参考帧列表初始化(ref_pic_list_initial),从所有的已解码图像中选择符合条件的图像帧放入参考帧列表(Reference Frame List)。所述符合条件即该图象帧已被标记为参考帧。
步骤102:参考帧列表重排序。根据当前解码条带(slice)的句法元素,对参考帧列表进行重新排序。
步骤103:解码完一帧后,将其标记为用于参考或者不用于参考,并返回步骤101。
解码图像时将不断循环执行步骤101-步骤103。
现有技术中,参考帧的重排序都是通过软件算法完成的。但是,随着高清视频技术的发展,对图像质量的要求越来越高,视频流的码率也越来越高,通过软件算法实现的参考帧重排序将难以满足实际的需要。
发明内容
有鉴于此,本发明实施例提出一种图像中参考帧的处理装置、方法以及解码器,通过硬件来实现参考帧重排序,比现有技术可以极大加快处理速度。
所述处理装置包括控制电路(301)、地址指针寄存器(302)、插入位置寄存器(303)、比较器(304)、参考帧列表存储单元(305)和位与逻辑计算器(308);
所述控制电路(301)用于根据句法元素启动或结束重排序业务逻辑,重排序业务逻辑包括:向地址指针寄存器(302)、插入位置寄存器(303)、以及参考帧列表存储单元(305)发送初始化使能信息;根据句法元素帧序号绝对偏移量或长期帧序号计算需要进行重排序的参考帧序号,并将输出至地址指针寄存器(302)的移位使能信号置为有效;若收到来自比较器(304)的相等标记信号,则将输出到地址指针寄存器(302)的移位使能信号置为无效,并将需要进行重排序的参考帧序号发送至参考帧列表存储单元(305),向参考帧列表存储单元(305)发送更新指示信号;当参考帧列表存储单元(305)完成更新后,向插入位置寄存器(303)发送移位使能信号;
地址指针寄存器(302)位宽为M比特,与参考帧列表存储单元(305)相连,寄存值表示参考帧列表存储单元(305)中的参考帧寄存器的地址指针,当收到来自控制电路(301)的初始化使能信息,则将寄存值的每一位均设置为0;当收到来自控制电路(301)的移位使能信号为有效,则每过一个时钟周期将寄存值右移1位,并在高位补1;所述M为大于2的自然数;
插入位置寄存器(303)位宽为M比特,与参考帧列表存储单元(305)相连,当收到来自控制电路(301)的初始化使能信息,则将寄存值的每一位均设置为1;当收到来自控制电路(301)的移位使能信号时,则将寄存值右移1位,并在高位补0;
比较器(304)用于将来自控制电路(301)的需要进行重排序的参考帧序号与地址指针寄存器(302)的寄存值表示的地址指针指向的参考帧列表存储单元(305)中的参考帧寄存器中的参考帧序号进行比较,如果两者相等则向控制电路(301)发送相等标记信号;
位与逻辑计算器(308),其输入端分别连接地址指针寄存器(302)和插入位置寄存器(303),位与逻辑计算器(308)的输出端连接参考帧列表存储单元(305),用于将地址指针寄存器(302)的寄存值和插入位置寄存器(303)的寄存值进行位与操作,位与逻辑计算器(308)的操作结果作为需要更新的参考帧寄存器的位置信息;
参考帧列表存储单元(305)包括M个参考帧寄存器以及寄存器读写控制器(309),每个参考帧寄存器分别用于寄存一个参考帧序号;参考帧列表存储单元(305)用于将地址指针寄存器(302)的寄存值表示的地址指针指向的参考帧寄存器中存储的参考帧序号输出至比较器(304);当收到来自控制电路(301)的更新指示信号为有效时,根据位与逻辑计算器(308)输出的位置信息,将插入位置寄存器(303)的寄存值表示的地址指针指向位置之后的参考帧寄存器到地址指针寄存器302地址指针指向的参考帧寄存器的寄存值做顺序移位,所述顺序移位为将第n-1个参考帧寄存器中的寄存值存储到第n个参考帧寄存器中,n取值为自然数,1≤n≤M,然后将接收自控制电路(301)的需要进行重排序的参考帧序号寄存到所述插入位置寄存器(303)的寄存值表示的地址指针指向的参考帧寄存器中。
所述图像中参考帧的处理方法,采用前述装置实现,包括如下步骤:
A、在每帧解码前,将地址指针寄存器(302)的寄存值的每一位均设置为0、将插入位置寄存器(303)的寄存值的每一位均设置为1,并初始化参考帧列表存储单元(305);
B、控制电路(301)判断句法元素参考帧列表重排序标志是否为1,若是则根据句法元素绝对参考帧序号偏移量或长期帧序号计算需要进行重排序的参考帧序号,并继续执行步骤C,否则返回步骤A;
C、控制电路(301)将输出至地址指针寄存器(302)的移位使能信号置为有效,每一个时钟周期将地址指针寄存器(302)的寄存值右移一位,并在高位补1;比较器(304)将地址指针寄存器(302)的寄存值表示的地址指针指向的参考帧列表存储单元(305)中的参考帧寄存器的寄存值与所述控制电路(301)得到的需要进行重排序的参考帧序号进行比较,若两者相等,则向控制电路(301)输出相等标记信号;
D、控制电路(301)将输出到地址指针寄存器(302)的移位使能信号置为无效,并将需要进行重排序的参考帧序号发送至参考帧列表存储单元(305),向参考帧列表存储单元(305)发送更新指示信号;
E、参考帧列表存储单元(305)将插入位置寄存器(303)的寄存值表示的地址指针指向位置之后的参考帧寄存器到地址指针寄存器(302)的寄存值表示的地址指针指向的参考帧寄存器的内容做顺序移位,所述顺序移位为将第n-1个参考帧寄存器中的寄存值寄存到第n个参考帧寄存器中;n为自然数,1≤n≤M,M为参考帧寄存器的总数,然后将接收自控制电路(301)的需要进行重排序的参考帧序号寄存到插入位置寄存器(303)的寄存值表示的地址指针指向的参考帧寄存器中;
F、参考帧列表存储单元(305)从地址指针寄存器(302)和插入位置寄存器(303)获取需要更新的参考帧寄存器的位置信息,插入位置寄存器(303)将寄存值右移1位,并在高位补0;
G、控制电路(301)判断句法元素帧序号重排序指示的值是否为3,若否则转至步骤C,若是则结束参考帧重排序流程。
本发明实施例提出的解码器包含前述图像中参考帧的处理装置,用以实现参考帧重排序。
从以上技术方案可以看出,本发明方案通过硬件来实现参考帧重排序,可以极大加快处理速度,更加适用于高清视频技术发展的需要。
附图说明
图1为参考帧管理的实现流程图;
图2为参考帧重排序的流程图;
图3为本发明实施例提出的图像中参考帧的处理装置框图;
图4为图3所示处理装置进行参考帧处理的流程图;
图5为参考帧寄存器进行内容更新的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细阐述。
在对本发明技术方案进行详细说明之前,首先介绍一下参考帧重排序的算法实现过程。参考帧重排序具体包括如下过程:
初始化过程:解码器在对每个P_Slice解码之前,需要对参考帧进行初始化排序。其中,参考帧又分为短期参考帧和长期参考帧两种,短期参考帧使用参考帧序号(frame_num)按照降序进行排列,帧序号最大的参考帧排在首位,即离当前帧最近的前向参考帧排在第1位,并将索引号(ref_idx)0分配给此帧;而长期参考帧按照参数长期图像序号(LongTermPicNum)的升序进行排列。在参考帧列表中,所有的短期参考帧在长期参考帧之前。
重排序过程:在解码P_Slice过程中,如果句法元素参考帧列表记录标志10(ref_pic_list_reordering_flag_l0)的取值为1,则需要进行参考帧列表的重排序。重排序的好处在于如果当一个索引号(ref_idx)比较大的参考帧被频繁引用时,将该帧放到参考帧列表的前列,从而使其索引号较小,则可以降低传输码流。重排序过程主要涉及四个句法元素:参考帧列表重排序标志(ref_pic_list_reordering_flag_l0),帧序号重排序指示(reordering_of_pic_num_idc),帧序号绝对偏移量(abs_diff_pic_num_minus1)以及长期帧序号(long_term_pic_num)。各个句法元素的用途说明如下:
当句法元素ref_pic_list_reordering_flag_l0为1时,表示需要进行参考帧的重排序,句法元素reordering_of_pic_num_idc用于表示重排序的方法以及是否结束重排序过程。abs_diff_pic_num_minus1或long_term_pic_num则用来表示参考图像中的哪一个将被重新分配索引号(ref_idx)。表1给出了reordering_of_pic_num_idc的值与重排序方法之间的关系。
Figure GSB00000231800600051
Figure GSB00000231800600061
表1
重排序过程的算法实现流程如图2所示,包括如下步骤:
步骤201:将ref_idx初始化为0。
步骤202:将abs_diff_pic_num_minus1或Long_term_pic_num指定的图像放在参考帧列表中索引号ref_idx对应的位置。
步骤203:将索引号ref_idx对应的位置原来的图像及其排在索引号ref_idx对应的位置之后的图像依次向列表后部移动一个图像位置。
步骤204:将ref_idx加1。
步骤205:判断reordering_of_pic_num_idc的取值是否等于3,若是,则结束排序过程,否则,转至步骤202重复步骤202-204。
本发明实施例提出一种图像中参考帧的处理装置,如图3所示,主要包括以下几个部分:控制电路301,地址指针寄存器302,插入位置寄存器303,比较器304,参考帧列表存储单元305。此外,还有与该处理装置相关的控制接口306和初始参考帧列表信息输入接口307。其中,地址指针寄存器302、插入位置寄存器的位宽均为M比特,参考帧列表存储单元305中包含M个参考帧寄存器。M为大于等于2的自然数。
控制电路301用于接收控制接口306输入的句法元素,根据句法元素控制其它各个模块执行重排序逻辑。具体地说,控制电路301判断句法元素ref_pic_list_reordering_flag_l0是否为1,若是,则执行重排序业务逻辑;判断句法元素reordering_of_pic_num_idc的取值是否等于3,若是则结束重排序业务逻辑。
所述重排序业务逻辑包括:
向地址指针寄存器302、插入位置寄存器303、以及参考帧列表存储单元305发送初始化使能信息;
根据abs_diff_pic_num_minus1或long_term_pic_num计算需要进行重排序的参考帧序号,并将输出至地址指针寄存器302的移位使能信号置为有效(例如设置为1),若收到来自比较器302的相等标记信号,将输出到地址指针寄存器302的移位使能信号置为无效(例如设置为0),同时,并将插入位置寄存器303的地址指针指向的参考帧列表存储单元305的参考帧寄存器的寄存值替换为需要进行重排序的参考帧序号,并将插入位置寄存器303的地址指针指向位置之后的参考帧寄存器到地址指针寄存器302地址指针指向的参考帧寄存器的内容做顺序移位;顺序移位的过程具体包括:
将插入位置寄存器303与地址指针寄存器302作位与操作,得到一个16bit位宽的位置信息信号,位置信息的最高位为“1”代表第一个参考帧寄存器frame_R0需要被更新,为“0”代表维持原值不变;最低位为“1”代表第16个参考帧寄存器frame_R15需要被更新,为“0”代表维持原值不变。其他各位分别代表相应寄存器是否需要被更新。比如插入位置寄存器303值为16’b 1111,1111,1111,1111,地址指针寄存器302的值为16’b1111,1111,0000,0000,地址指针寄存器302当前值表示当前参考帧列表存储单元305中第8个参考帧寄存器的参考帧号与需要重排序帧的帧号相等。按位与的结果即位置信息的值为16’b1111,1111,0000,0000,表示参考帧寄存器frame_R0到参考帧寄存器frame_R7之间的8个寄存器的值需要被更新。此时,插入位置寄存器303的值为16’b 1111,1111,1111,1111,因此,参考帧寄存器frame_R0将需排序的参考帧帧号替换自身当前存储内容,寄存器frame_R1将寄存器frame_R0的参考帧号替换自身当前存储参考帧帧号,参考帧寄存器frame_R2将参考帧寄存器frame_R1的参考帧号替换自身当前存储参考帧号,依此类推,参考帧寄存器frame_R(n)将参考帧寄存器frame_R(n-1)的参考帧号来替换本身存储的参考帧号,当所有信息更新后,插入位置寄存器303的值右移1位,值变为16’b 0111,1111,1111,1111,地址指针寄存器302的值被复位。
地址指针寄存器302的位宽为16bit,该寄存器的值表示参考帧列表存储单元305中的参考帧寄存器的地址指针。例如,取值为16’b1000,0000,0000,0000,则地址指针指向参考帧列表存储单元305中的第一个寄存器frame_R0,取值为16’b1100,0000,0000,0000,则地址指针指向参考帧列表存储单元305中的第二个寄存器frame_R1,并依此类推。初始值每一位均为0,即16’b0000,0000,0000,0000。地址指针寄存器302根据控制电路301的移位使能信号进行移位操作,若移位使能信号为1,则地址指针寄存器302的值每过一个时钟周期右移一位,并在高位补1。
插入位置寄存器303位宽为16bit,该寄存器的值表示需要更新的寄存器的地址。插入位置寄存器(303)与参考帧列表存储单元(305)相连,当收到来自控制电路(301)的初始化信息,则将寄存值设置为16’b1111,1111,1111,1111;当收到来自控制电路(301)的移位使能信号时,则将寄存值右移1位,并在高位补0。
地址指针寄存器302和插入位置寄存器303的移位使能信号的区别在于:地址指针寄存器302是用于对参考帧存储单元305中的每个参考帧寄存器进行遍历搜索,其移位使能信号为有效时,每个时钟周期地址指针寄存器302的寄存值都进行一次移位操作;插入位置寄存器303的寄存值是在参考帧存储单元305完成更新后进行移位操作,根据移位使能信号移动1位。
比较器304,用于将来自参考帧列表存储单元305的参考帧序号与来自控制电路301的需要重排序的参考帧序号进行比较,若两者相等。则向控制电路301发送相等标记信号。
参考帧列表存储单元305用于存储参考帧列表,包括16个参考帧寄存器以及寄存器读写控制器309,这16个寄存器编号分别为frame_R0至frame_R15,分别用于存储一个参考帧序号。参考帧列表存储单元305当收到来自控制电路的初始化使能信号为1时,参考帧列表存储单元305中的寄存器读写控制器309读取初始参考帧列表信息输入接口307的初始化信息,并将初始化列表分别写入16个寄存器。参考帧列表存储单元305还用于将地址指针寄存器302的地址指针指向的寄存器中存储的参考帧序号输出至比较器304。当收到来自控制电路301的更新使能信号为有效时,将地址指针寄存器302寄存值和插入位置寄存器303的寄存值共同作为需要更新的参考帧寄存器的位置信息,根据所述位置信息,将待重排序的参考帧序号写入第一个需更新的寄存器中,将其他需要更新寄存器的寄存值做顺序移位,所述顺序移位为将第n-1个参考帧寄存器中的寄存值寄存到第n个参考帧寄存器中,n取值为自然数,1≤n≤16,即1≤n≤M。
该处理装置中还包括位与逻辑计算器308,输入端分别连接地址指针寄存器302的和插入位置寄存器303,输出端连接参考帧列表存储单元305,用于将地址指针寄存器302的寄存值和插入位置寄存器303的寄存值进行位与操作,操作结果作为需要更新的参考帧寄存器的位置信息。
较佳地,该处理装置还可以进一步包括更新位置寄存器(未在图3中示出),所述更新位置寄存器与参考帧列表存储单元305和位于逻辑寄存器308的输出端分别相连接,用于寄存所述位与逻辑计算器308输出的需要更新的参考帧寄存器的位置信息。
上述地址指针寄存器302和插入位置寄存器303的位宽,与参考帧列表存储单元305的参考帧寄存器的数目存在对应关系。设地址指针寄存器302和插入位置寄存器303的位宽为M比特,则参考帧列表存储单元305的参考帧寄存器的数目也为M,M值可以取为16,也可以根据实际需要取为其它大于2的自然数,一般取为2的幂次。以下为描述方便,M值取为16。
本发明实施例的处理装置实现图像中参考帧处理的流程如图4所示,包括如下步骤:
步骤401:在每帧解码之前,初始化参考帧列表存储单元305。参考帧列表存储单元305是由16个参考帧寄存器以及寄存器读写控制器309构成,frame_R0到frame_R15,每个参考帧寄存器位宽为16bit,其取值为参考帧序号,用以标识不同的参考帧。
初始化过程如下:当参考帧列表存储单元305收到来自控制电路301的初始化使能信号为有效(该使能信号的值可预先设定,例如设定1为有效,0为无效),参考帧列表存储单元305中的寄存器读写控制器309读取初始参考帧列表信息输入接口307的初始参考帧列表,并将所述初始参考帧列表分别写入16个参考帧寄存器。
步骤402:在每帧开始解码之前,初始化插入位置寄存器303和地址指针寄存器302两个寄存器。插入位置寄存器303位宽为16bit,初始值的每一位均为1,即16’b1111,1111,1111,1111。地址指针寄存器302的位宽为16bit,初始值每一位均为0,即16’b0000,0000,0000,0000。
步骤403:控制电路301判断句法元素ref_pic_list_reordering_flag_l0是否为1,若是则进行重排序,进行步骤404,否则转至步骤401。
步骤404:控制电路301根据控制接口306输入的abs_diff_pic_num_minus1或long_term_pic_num计算需要进行重排序的参考帧序号,并将地址指针寄存器302的移位使能信号置1,开始对比参考帧列表存储单元305中多个参考帧寄存器的参考帧序号,直到地址指针寄存器302指针指向的某个参考帧寄存器的参考帧序号与需要重新排序帧的参考帧序号相等。具体过程如下:
在控制电路301将地址指针寄存器302的移位使能置1的第一个时钟周期后,地址指针寄存器由16’b 0000,0000,0000,0000变成16’b1000,0000,0000,0000,地址指针寄存器302的地址指针指向参考帧列表存储单元中的第一个寄存器frame_R0,因此,参考帧列表存储单元305输出第一个参考帧寄存器frame_R0中寄存的参考帧序号到比较器304,比较器304将其与控制电路301输出的需重新排序参考帧序号比较,如果相等,比较器304向控制电路301发送相等标记信号,则控制电路301将输出到地址指针寄存器302的移位使能信号置为0,地址指针寄存器302停止移位,转到步骤405。否则,地址指针寄存器302每个时钟周期依次右移一位,由16’b 1000,0000,0000,0000变为16’b 1100,0000,0000,0000,即地址指针指向第二个寄存器,而参考帧列表的输出则相应变化为frame_R1中寄存的参考帧序号,并再次进行比较,如相等停止移位,不相等则再次将地址指针寄存器302右移,直到地址指针寄存器302所指向的参考帧寄存器中寄存的参考帧序号与需重排序的参考帧序号相等,控制电路301将地址指针寄存器302的移位使能置0,并转到步骤405。
步骤405:将参考帧列表存储单元305中由位置信息确定的需要更新寄存器中的第一个寄存器的内容替换为需重排序参考帧序号,并将位置信息确定的需要更新的其他寄存器的内容做顺序移位。具体过程如下:
将插入位置寄存器303与地址指针寄存器302中寄存的内容输入到位与逻辑计算器308中做位与操作,得到一个16bit位宽的位置信息信号,位置信息信号表示需要更新的参考帧寄存器的位置信息。位置信息的最高位为“1”代表frame_R0需要被更新,为“0”代表维持原值不变;最低位为“1”代表frame_R15需要被更新,为“0”代表维持原值不变。其他各位分别代表相应寄存器是否需要被更新。比如插入位置寄存器303的寄存值为16’b1111,1111,1111,1111,地址指针寄存器302的寄存值为16’b1111,1111,0000,0000,地址指针寄存器302当前值表示当前参考帧列表存储单元305中第8个寄存器的参考帧号与需要重排序帧的帧号相等。按位与的结果即位置信息的值为16’b1111,1111,0000,0000,表示frame_R0到frame_R7之间的8个参考帧寄存器的值需要被更新。寄存器读写控制器控制309对frame_R0到frame_R7之间的8个参考帧寄存器的值进行更新操作,参考帧寄存器frame_R0的寄存值被替换为需要重排序的帧序号,参考帧寄存器frame_R1的寄存值被替换为frame_R0的原有参考帧序号,参考帧寄存器frame_R2的寄存值被替换为frame_R1的原有参考帧序号,依此类推,参考帧寄存器frame_R(n)将参考帧寄存器frame_R(n-1)的参考帧号来替换本身存储的参考帧号。其中,n取值为自然数,1≤n≤M参考帧寄存器的总数。
以下结合图5对上述参考帧寄存器的更新内容的选择与更新过程进行说明:
寄存器读写控制器309中包括选择器和判断器,选择器根据来自插入位置寄存器303的寄存值,从需重排序的参考帧序号和参考帧寄存器frame_R(n-1)的寄存值中选择参考帧寄存器frame_R(n)更新信息,并将所述更新信息发送至参考帧寄存器frame_R(n);判断器用于判断是否更新使能信号为1且位置信息中与参考帧寄存器frame_R(n)相对应的比特位为1,若是则向参考帧寄存器frame_R(n)发出写使能信号:
(1)frame_R0的更新内容只可能是需排序的参考帧序号,因此无需根据插入位置寄存器303的寄存值进行选择。如果位置信息的第16位为1,且更新使能为有效,则将参考帧寄存器frame_R0的寄存值更新为需排序的参考帧序号。(2)frame_R1当位置信息的第15位为1时且更新使能为有效进行更新,更新内容则根据插入位置寄存器303的第16位进行选择,若插入位置寄存器303的第16位为0,则选择需重排序帧号作为更新内容,否则选择frame_R0的原有参考帧序号作为更新内容。(3)frame_R2当插入位置寄存器303的第14位为1且更新使能为有效时进行更新,更新内容使用插入位置寄存器303的寄存值的第15位做为选择条件,若插入位置寄存器303的寄存值第15位为0,则选择需重排序帧号作为更新内容,否则,选择frame_r1作为更新内容。以此类推,参考帧寄存器frame_r(n)以插入位置寄存器303寄存值的第17-n位(若插入位置寄存器303的位宽为M,则为第M-n+1位)作为更新内容的选择条件。
具体则如,插入位置寄存器303值为16’b 0111,1111,1111,1111,地址指针寄存器302的值为16’b 1111,1111,1100,0000,地址指针寄存器302的值表示当前参考帧列表存储单元305第10个参考帧寄存器frame_R9的参考帧号与需要重排序帧的帧号相等,按位与的结果即位置信息信号为16’b0111,1111,1100,0000,表示参考帧寄存器frame_R1到参考帧寄存器frame_R9之间的9个寄存器的值需要被替换。根据插入位置寄存器303的寄存值的第15位为0,参考帧寄存器frame_R1将需重排序帧的帧号替换当前存储内容,参考帧寄存器frame_R2到参考帧寄存器frame_R9依次使用前一个寄存器的值替代当前自身存储值。
步骤406:将插入位置寄存器303进行向右移位操作,并在第一位补‘0’。如16’b1111,1111,1111,1111向右移位为变成16’b0111,1111,1111,1111。将地址指针寄存器302复位成16’b 0000,0000,0000,0000。
步骤407:控制电路301判断reordering_of_pic_num_idc的取值是否等于3,若是则结束排序过程,否则,转至步骤404,重复执行步骤404至步骤406。
本发明公开了一种图像中参考帧的处理装置,以及使用该处理装置实现图像中参考帧处理的方法及解码器。本发明方案相对于现有技术,速度具有极大提升,更加适用于高清视频技术发展的需要。
在满足不改变本发明构思的前提下,对本发明实施例提出处理装置中的部分或全部采用本领域熟知的等效电路或器件进行替换,而得到各种用于参考帧重排序的装置都应当在本发明的保护范围内。例如其中的地址指针寄存器302或插入位置寄存器303可以用加法器来实现同样的功能。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (11)

1.一种图像中参考帧的处理装置,其特征在于,包括控制电路(301)、地址指针寄存器(302)、插入位置寄存器(303)、比较器(304)、参考帧列表存储单元(305)和位与逻辑计算器(308);
所述控制电路(301)用于根据句法元素启动或结束重排序业务逻辑,重排序业务逻辑包括:向地址指针寄存器(302)、插入位置寄存器(303)、以及参考帧列表存储单元(305)发送初始化使能信息;根据句法元素帧序号绝对偏移量或长期帧序号计算需要进行重排序的参考帧序号,并将输出至地址指针寄存器(302)的移位使能信号置为有效;若收到来自比较器(304)的相等标记信号,则将输出到地址指针寄存器(302)的移位使能信号置为无效,并将需要进行重排序的参考帧序号发送至参考帧列表存储单元(305),向参考帧列表存储单元(305)发送更新指示信号;当参考帧列表存储单元(305)完成更新后,向插入位置寄存器(303)发送移位使能信号;地址指针寄存器(302)位宽为M比特,与参考帧列表存储单元(305)相连,寄存值表示参考帧列表存储单元(305)中的参考帧寄存器的地址指针,当收到来自控制电路(301)的初始化使能信息,则将寄存值的每一位均设置为0;当收到来自控制电路(301)的移位使能信号为有效,则每过一个时钟周期将寄存值右移1位,并在高位补1;所述M为大于2的自然数;
插入位置寄存器(303)位宽为M比特,与参考帧列表存储单元(305)相连,当收到来自控制电路(301)的初始化使能信息,则将寄存值的每一位均设置为1;当收到来自控制电路(301)的移位使能信号时,则将寄存值右移1位,并在高位补0;
比较器(304)用于将来自控制电路(301)的需要进行重排序的参考帧序号与地址指针寄存器(302)的寄存值表示的地址指针指向的参考帧列表存储单元(305)中的参考帧寄存器中的参考帧序号进行比较,如果两者相等则向控制电路(301)发送相等标记信号; 
位与逻辑计算器(308),其输入端分别连接地址指针寄存器(302)和插入位置寄存器(303),位与逻辑计算器(308)的输出端连接参考帧列表存储单元(305),用于将地址指针寄存器(302)的寄存值和插入位置寄存器(303)的寄存值进行位与操作,位与逻辑计算器(308)的操作结果作为需要更新的参考帧寄存器的位置信息;
参考帧列表存储单元(305)包括M个参考帧寄存器以及寄存器读写控制器(309),每个参考帧寄存器分别用于寄存一个参考帧序号;参考帧列表存储单元(305)用于将地址指针寄存器(302)的寄存值表示的地址指针指向的参考帧寄存器中存储的参考帧序号输出至比较器(304);当收到来自控制电路(301)的更新指示信号为有效时,根据位与逻辑计算器(308)输出的位置信息,将插入位置寄存器(303)的寄存值表示的地址指针指向位置之后的参考帧寄存器到地址指针寄存器(302)的寄存值表示的地址指针指向的参考帧寄存器的寄存值做顺序移位,所述顺序移位为将第n-1个参考帧寄存器中的寄存值存储到第n个参考帧寄存器中,n取值为自然数,1≤n≤M,然后将接收自控制电路(301)的需要进行重排序的参考帧序号寄存到所述插入位置寄存器(303)的寄存值表示的地址指针指向的参考帧寄存器中。
2.根据权利要求1所述的装置,其特征在于,该装置进一步包括:
更新位置寄存器,与参考帧列表存储单元(305)和位与逻辑计算器(308)的输出端分别相连接,用于寄存所述位与逻辑计算器(308)输出的需要更新的参考帧寄存器的位置信息。
3.根据权利要求1所述的装置,其特征在于,所述寄存器读写控制器(309)包括:
选择器,用于根据来自插入位置寄存器(303)的寄存值的第M-n+1位,从需排序的参考帧序号和参考帧寄存器frame_R(n-1)的寄存值中选择参考帧寄存器frame_R(n)的更新内容。
4.根据权利要求1所述的装置,其特征在于,该装置进一步包括: 
控制接口(306),用于接收句法元素,并将所述句法元素发送至控制电路(301),所述句法元素包括参考帧列表重排序标志、帧序号重排序指示、帧序号绝对偏移量以及长期帧序号;
所述控制电路(301)用于判断所述参考帧列表重排序标志是否为1,若是则启动重排序业务逻辑;还用于判断帧序号重排序指示的取值是否为3,若是则结束重排序业务逻辑。
5.根据权利要求1所述的装置,其特征在于,该装置进一步包括初始参考帧列表信息输入接口(307);
所述控制电路(301)启动重排序业务逻辑包括:控制电路(301)向参考帧列表存储单元(305)发送初始化使能信息;
所述参考帧列表存储单元(305)中的寄存器读写控制器(309)取初始参考帧列表信息输入接口(307)的初始参考帧列表,并将所述初始参考帧列表分别写入M个参考帧寄存器。
6.根据权利要求1至5任一项所述的装置,其特征在于,所述寄存器读写控制器(309)包括:
选择器,用于根据来自插入位置寄存器(303)的寄存值的第M-n+1位,从需重排序的参考帧序号和参考帧寄存器frame_R(n-1)的寄存值中选择参考帧寄存器frame_R(n)的更新信息,并将所述更新信息发送至参考帧寄存器frame_R(n);
判断器,用于判断是否更新指示信号为1且位置信息中与参考帧寄存器frame_R(n)相对应的比特位为1,若是则向参考帧寄存器frame_R(n)发出写使能信号。
7.一种解码器,其特征在于,所述解码器采用如权利要求1至5任一项所述的图像中参考帧的处理装置实现参考帧重排序。
8.一种图像中参考帧的处理方法,其特征在于,该方法采用如权利要求1所述装置实现,包括如下步骤:
A、在每帧解码前,将地址指针寄存器(302)的寄存值的每一位均设置为0、将插入位置寄存器(303)的寄存值的每一位均设置为1,并初始化参考帧列表存储单元(305);
B、控制电路(301)判断句法元素参考帧列表重排序标志是否为1,若是,则根据句法元素绝对参考帧序号偏移量或长期帧序号计算需要进行重排序的参考帧序号,并继续执行步骤C,否则返回步骤A;
C、控制电路(301)将输出至地址指针寄存器(302)的移位使能信号置为有效,每一个时钟周期将地址指针寄存器(302)的寄存值右移一位,并在高位补1;比较器(304)将地址指针寄存器(302)的寄存值表示的地址指针指向的参考帧列表存储单元(305)中的参考帧寄存器的寄存值与所述控制电路(301)得到的需要进行重排序的参考帧序号进行比较,若两者相等,则向控制电路(301)输出相等标记信号;
D、控制电路(301)将输出到地址指针寄存器(302)的移位使能信号置为无效,并将需要进行重排序的参考帧序号发送至参考帧列表存储单元(305),向参考帧列表存储单元(305)发送更新指示信号;
E、参考帧列表存储单元(305)将插入位置寄存器(303)的寄存值表示的地址指针指向位置之后的参考帧寄存器到地址指针寄存器(302)的寄存值表示的地址指针指向的参考帧寄存器的内容做顺序移位,所述顺序移位为将第n-1个参考帧寄存器中的寄存值寄存到第n个参考帧寄存器中;n为自然数,1≤n≤M,M为参考帧寄存器的总数,然后将接收自控制电路(301)的需要进行重排序的参考帧序号寄存到插入位置寄存器(303)的寄存值表示的地址指针指向的参考帧寄存器中;
F、参考帧列表存储单元(305)从地址指针寄存器(302)和插入位置寄存器(303)获取需要更新的参考帧寄存器的位置信息,插入位置寄存器(303)将寄存值右移1位,并在高位补0;
G、控制电路(301)判断句法元素帧序号重排序指示的值是否为3,若否则转至步骤C,若是则结束参考帧重排序流程。
9.根据权利要求8所述的方法,其特征在于,该装置进一步包括位与逻辑计算器(308),所述步骤E中地址指针寄存器(302)和插入位置寄存 器(303)分别将寄存值发送至参考帧列表存储单元(305)包括:
地址指针寄存器(302)的寄存值和插入位置寄存器(303)的寄存值发送至位与逻辑计算器(308),位与逻辑计算器(308)将上述两个寄存值进行位与操作,将操作结果作为更新使能信号发送至参考帧列表存储单元(305)。
10.根据权利要求8所述的方法,其特征在于,该装置进一步包括控制接口(306),步骤A之前进一步包括:
控制接口(306)接收句法元素,并将所述句法元素发送至控制电路(301);所述句法元素包括参考帧列表重排序标志、帧序号重排序指示、帧序号绝对偏移量以及长期帧序号。
11.根据权利要求8至10任一项所述的方法,其特征在于,该装置进一步包括初始参考帧列表信息输入接口(307);
步骤A所述初始化参考帧列表存储单元(305)包括:
控制电路(301)向参考帧列表存储单元(305)发送初始化使能信号;
所述参考帧列表存储单元(305)中的寄存器读写控制器(309)取初始参考帧列表信息输入接口(307)的初始参考帧列表,并将所述初始参考帧列表分别写入M个参考帧寄存器。 
CN 200910137379 2009-04-24 2009-04-24 一种图像中参考帧的处理装置、方法以及解码器 Expired - Fee Related CN101547368B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910137379 CN101547368B (zh) 2009-04-24 2009-04-24 一种图像中参考帧的处理装置、方法以及解码器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910137379 CN101547368B (zh) 2009-04-24 2009-04-24 一种图像中参考帧的处理装置、方法以及解码器

Publications (2)

Publication Number Publication Date
CN101547368A CN101547368A (zh) 2009-09-30
CN101547368B true CN101547368B (zh) 2011-03-09

Family

ID=41194193

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910137379 Expired - Fee Related CN101547368B (zh) 2009-04-24 2009-04-24 一种图像中参考帧的处理装置、方法以及解码器

Country Status (1)

Country Link
CN (1) CN101547368B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101901131A (zh) * 2010-07-22 2010-12-01 上海交通大学 音频编解码比特级读写加速装置及其加速读写方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102572419B (zh) * 2010-12-28 2014-09-03 深圳市云宙多媒体技术有限公司 一种帧间预测方法、装置
US8934552B2 (en) * 2011-03-31 2015-01-13 Qualcomm Incorporated Combined reference picture list construction and mapping
US9131245B2 (en) 2011-09-23 2015-09-08 Qualcomm Incorporated Reference picture list construction for video coding
MX338055B (es) * 2012-01-19 2016-04-01 Vid Scale Inc Metodo y aparato para señalizacion y construccion de listas de imagenes de referencia de codificacion de video.
CN103780942B (zh) * 2013-12-23 2017-07-11 青岛海信电器股份有限公司 一种信息配置方法及装置
CN104811721B (zh) * 2015-05-26 2017-09-22 珠海全志科技股份有限公司 视频解码数据存储方法及运动向量数据的计算方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0789495A2 (en) * 1996-02-08 1997-08-13 Samsung Electronics Co., Ltd. Syntax parsing apparatus for video decoder
CN1592398A (zh) * 2003-03-28 2005-03-09 株式会社东芝 帧插值方法和使用该方法的图像显示系统
CN1842165A (zh) * 2005-03-31 2006-10-04 株式会社东芝 产生内插帧的方法和装置
CN101399978A (zh) * 2007-09-28 2009-04-01 上海杰得微电子有限公司 硬件解码器中参考帧数据的读取方法及其装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0789495A2 (en) * 1996-02-08 1997-08-13 Samsung Electronics Co., Ltd. Syntax parsing apparatus for video decoder
CN1592398A (zh) * 2003-03-28 2005-03-09 株式会社东芝 帧插值方法和使用该方法的图像显示系统
CN1842165A (zh) * 2005-03-31 2006-10-04 株式会社东芝 产生内插帧的方法和装置
CN101399978A (zh) * 2007-09-28 2009-04-01 上海杰得微电子有限公司 硬件解码器中参考帧数据的读取方法及其装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101901131A (zh) * 2010-07-22 2010-12-01 上海交通大学 音频编解码比特级读写加速装置及其加速读写方法
CN101901131B (zh) * 2010-07-22 2013-08-21 上海交通大学 音频编解码比特级读写加速装置及其加速读写方法

Also Published As

Publication number Publication date
CN101547368A (zh) 2009-09-30

Similar Documents

Publication Publication Date Title
CN101547368B (zh) 一种图像中参考帧的处理装置、方法以及解码器
US7956776B2 (en) Arithmetic decoding apparatus
US7262722B1 (en) Hardware-based CABAC decoder with parallel binary arithmetic decoding
US7804903B2 (en) Hardware-based CABAC decoder
US5717394A (en) Method and apparatus for encoding and decoding data
CN103843340B (zh) 参考图片列表处理
US20080209190A1 (en) Parallel prediction of multiple branches
CN107801042A (zh) 解码器、编码器、解码和编码视频的方法及存储介质
KR960012741A (ko) 데이타를 부호화 및 복호화하는 장치 및 방법
CN101500160A (zh) 一种码流标识方法、装置及编解码系统
JP3684128B2 (ja) 算術符号化/復号化方法ならびに算術符号化/復号化装置
US20130063287A1 (en) Decoding encoded data
CN100508604C (zh) 算术编码电路和算术编码控制方法
US6094151A (en) Apparatus and method for finite state machine coding of information selecting most probable state subintervals
CN107801044B (zh) 后向适应装置与相关方法
CN100481953C (zh) 一种对于视频码流判断图像边界及预读图像数据的解码方法和装置
CN101489128A (zh) 一种jpeg2000流水线算术编码方法和电路
CN101414830A (zh) 平行处理至少两个二进制值的方法与相应算术编码系统
CN110072114A (zh) 用于静态霍夫曼表生成的全并行频数生成电路结构与方法
JP3929312B2 (ja) 算術符号化装置および画像処理装置
JP3459759B2 (ja) 算術復号化装置
CN103313048B (zh) 自适应控制算术编码上下文编码模式bin数量的方法
CN115563116A (zh) 一种数据库表扫描方法、装置以及设备
CN102256121B (zh) 背景调适性二进制运算解码装置及其解码方法
US5572334A (en) Variable-length coding device

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: JUXIN(ZHUHAI) TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: JULI INTEGRATED CIRCUIT DESIGN CO., LTD.

Effective date: 20141217

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20141217

Address after: 519085 C District, 1# workshop, No. 1, science and technology No. four road, hi tech Zone, Zhuhai, Guangdong, China

Patentee after: ACTIONS (ZHUHAI) TECHNOLOGY Co.,Ltd.

Address before: 519085 No. 1, unit 15, building 1, 1 Da Ha Road, Tang Wan Town, Guangdong, Zhuhai

Patentee before: Juli Integrated Circuit Design Co., Ltd.

CP01 Change in the name or title of a patent holder
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.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110309

Termination date: 20200424

CF01 Termination of patent right due to non-payment of annual fee