分配编码通道内存的方法和装置的制造方法_3

文档序号:8415925阅读:来源:国知局
第一重构帧的内存单元释放至该公共缓存池,或者当确定将该第一重构帧作为该第I个通道对应的第一参考帧时,将该第I个通道对应的原参考帧的内存单元释放至该公共缓存池。
[0050]例如:下一通道为第5个通道时,该第5个通道可以申请130中释放至该公共缓存池中的内存单元作为该第5个通道对应的重构帧的内存单元,然后该第5个通道根据该第5个通道对应的原参考帧,对该第5个通道的目标图像帧进行编码处理得到该第5个通道对应的重构帧,并当确定将该第5个通道对应的原参考帧作为第二参考帧时,将该第5个通道对应的重构帧的内存单元释放至该公共缓存池,或者当确定将该第5个通道对应的重构帧作为第二参考帧时,将该第5个通道对应的原参考帧的内存单元释放至该公共缓存池。
[0051]第二种方式,该当前通道根据该当前通道对应的原参考帧,对该当前通道的目标图像帧进行降噪处理得到该第二重构帧。
[0052]具体的,在本发明实施例中,可以将上一通道释放至所述公共缓存池中的内存确定为当前通道对应的第二重构帧的内存单元。然后该当前通道根据该当前通道对应的原参考帧,对该当前通道的目标图像帧进行降噪处理得到该第二重构帧,当确定将当前通道对应的原参考帧作为第二参考帧时,将第二重构帧的内存单元释放至公共缓存池,即:当确定不将该第二重构帧作为当前通道对应的第二参考帧时,将该第二重构帧的内存单元释放至该公共缓存池,或者当确定将该第二重构帧作为当前通道对应的第二参考帧时,将该当前通道对应的原参考帧的内存单元释放至该公共缓存池,并作为下一通道对应的第三重构帧的内存单元。
[0053]类似的,对于第一个通道而言,在将公共缓存池中的多个缓存区中的一个缓存区确定为第I个通道对应的重构帧的内存单元后,需要该第I个通道根据该第I个通道对应的原参考帧,对该第I个通道的目标图像帧进行降噪处理得到该第一重构帧,并当确定将第I个通道对应的原参考帧作为第一参考帧时,将第一重构帧的内存单元释放至公共缓存池,即:当确定不将该第一重构帧作为该第I个通道对应的第一参考帧时,将该第一重构帧的内存单元释放至该公共缓存池,或者当确定将该第一重构帧作为该第I个通道对应的第一参考帧时,将该第I个通道对应的原参考帧的内存单元释放至该公共缓存池。
[0054]下面以N个通道编码为例,并结合图2对本发明实施例的技术方案进行详细的描述,其中,N取大于或者等于2的正整数。应理解,这仅是本发明实施例的一个例子,并不对本发明实施例构成任何限定。
[0055]图3是根据本发明实施例的分配编码通道内存的方法200的示意性流程图。如图3所示的方法200包括:
[0056]210,将公共缓存池划分为M+1个缓存区,该公共缓存池未被占用且能够被多个通道所利用。
[0057]具体的,在本发明实施例中,可以将DDR的部分内存作为该公共缓存池,再将该公共缓存池划分为M+1个缓存区,其中,M为N个通道的参考帧占用内存单元的总数。也就是说,N个通道中的每个通道可以有I个或者多个参考帧,则可以占用I个或者多个内存单元,且当每个通道有多个参考帧占用多个内存单元时,每个通道的参考帧占用的内存单元的数量可以相同也可以不同,本发明实施例对此并不做限定。而将该公共缓存池划分为M+1个缓存区时,需要考虑N个通道中每个通道对分辨率的要求。N个通道中每个通道对分辨率的要求可以是相同的,也可以是不同的。当N个通道中每个通道对分辨率的要求不同时,按照分辨率要求最高的那个通道划分缓存区的大小,以保证能够满足N个通道中每个通道对分辨率的要求,从而实现重构帧的内存的共用。
[0058]220,将公共缓存池中的多个缓存区中的一个缓存区确定为第一个通道对应的第一重构帧的内存单元。
[0059]230,该第一个通道根据该第一个通道对应的原参考帧,对该第一个通道的目标图像帧进行编码处理得到该第一重构帧。
[0060]具体的,在本发明实施例中,可以在230之后包括下列步骤:对编码处理得到的重构帧进行 DPB (Decoded picture buffer)管理。
[0061]240,确定是否将该第一重构帧作为该第一个通道对应的第一参考帧。
[0062]具体的,在本发明实施例中,可以在编码时预先设定是否要将该第一重构帧作为该第一个通道对应的第一参考帧。
[0063]251,当确定不将该第一重构帧作为该第一个通道对应的第一参考帧时,将该第一重构帧的内存单元释放至该公共缓存池。也就是说,确定将该第一个通道对应的原参考帧继续作为第一参考帧时,将该第一重构帧的内存单元释放至该公共缓存池。
[0064]252,当确定该第一重构帧作为该第一个通道对应的第一参考帧时,将该第一个通道对应的原参考帧的内存单元释放至该公共缓存池。
[0065]260,将上一通道释放至公共缓存池中的内存单元确定为当前通道对应的第二重构帧的内存单元,当前通道为除所述第一个通道之外的通道。
[0066]270,该当前通道根据该当前通道对应的原参考帧,对该当前通道的目标图像帧进行编码处理得到该第二重构帧。
[0067]275,确定是否将该第二重构帧作为该当前通道对应的第二参考帧。
[0068]281,当确定不将该第二重构帧作为该当前通道对应的第二参考帧时,将该第二重构帧的内存单元释放至该公共缓存池。也就是说,确定将该当前通道对应的原参考帧继续作为第二参考帧时,将该第二重构帧的内存单元释放至该公共缓存池。
[0069]282,当确定该第二重构帧作为该当前通道对应的第二参考帧时,将该当前通道对应的原参考帧的内存单元释放至该公共缓存池。
[0070]290,开始下一通道的编码过程,重复步骤260至步骤282。
[0071 ] 具体的,在本发明实施例中,假设当前通道为第3个通道,下一通道为第2个通道,则该第2个通道可以将第3个通道释放至该公共缓存池中的内存单元确定为该第2个通道对应的重构帧的内存单元。该第2个通道根据该第2个通道对应的原参考帧,对该第2通道的目标图像帧进行编码处理得到该第2个通道对应的重构帧;然后可以对编码处理得到的该第2个通道对应的重构帧进行DPB (Decoded picture buffer)管理。可以根据编码协议的规定和需要输出的码流的结构来确定是否要将该第2个通道对应的重构帧作为该第2通道的参考帧,当确定不可以将该第2个通道对应的重构帧作为该第2通道的参考帧时,将该第2个通道对应的重构帧的内存单元释放至该公共缓存池;当确定可以将该第2个通道对应的重构帧作为该第2通道的参考帧时,将该第2个通道对应的原参考帧的内存单元释放至该公共缓存池,并作为下一通道对应的第三重构帧的内存单元。显然,在本发明实施例中,第2个通道的重构帧的内存单元复用了第3个通道释放至公共缓存池中的那个内存单
J L.ο
[0072]需要说明的是,在本发明实施例中,M可以等于N,S卩,N个通道中的每个通道的参考帧占用I个内存单元,而N个通道可以复用I个内存单元,因此,与现有的编码系统相比,本发明实施例的技术方案能够节省出N-1个内存单元。
[0073]因此,本发明实施例提供的分配编码通道内存的方法,通过将上一通道释放至该公共缓存池中的内存单元确定为当前通道对应的重构帧的内存,并确定是否将该重构帧的内存单元释放至该公共缓存池,作为下一通道对应的第三重构帧的内存单元,以实现多个通道复用一个内存单元,从而节省内存的占用量,降低内存成本。
[0074]应理解,在本发明各实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
[0075]上文中结合图2和图3,详细描述了根据本发明实施例的分配编码通道内存的方法,下面将结合图4和图5,详细描述本发明实施例的分配编码通道内存的装置。
[0076]图4是根据本发明实施例的分配编码通道内存的装置400的示意性结构图。如图4的装置400,其中,编码通道内存包括参考帧的内存和重构帧的内存,该装置400包括:划分模块410,第一确定模块420、第一释放模块430、第二确定模块440和第二释放模块450,其中,
[0077]划分模块410,用于将公共缓存池划分为多个缓存区,所述公共缓存池未被占用且能够被多个通道所利用;
[0078]第一确定模块420,用于将所述公共缓存池中的多个缓存区中的一个缓存区确定为第一个通道对应的第一重构帧的内存单元;
[0079]第一释放模块430,用于当确定将所述第一个通道对应的原参考帧作为第一参考帧时,将所述第一重构帧的内存单元释放至所述公共缓存池;或,当确定将所述第一重构帧作为所述第一参考帧时,将所述第一个通道对应的原参考帧的内存单元释放至所述公共缓存池;
[0080]第二确定模块440,用于将上一通道释放至所述公共缓存池中的内存单元确定为当前通道对应的第二重构帧的内存单元,其中,所述当前通道为除所述第个一通道之外的通道;
[0081]第二释放模块450,用于当确定将所述当前通道对应的原参考帧作为第二参考帧时,将所述第二重构帧的内存单元释放至所述公共缓存池;或当确定将所述第二重构帧作为所述第二参考帧时,将所述当前通道对应的原参考帧的内存单元释
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1