一种游程解码数字电路的制作方法

文档序号:24538540发布日期:2021-04-02 10:21阅读:126来源:国知局
一种游程解码数字电路的制作方法

本发明涉及数字电路设计领域,特别涉及一种游程解码数字电路。



背景技术:

游程编码是一种常见的压缩算法,其基本思想是将重复且连续出现多次的字符使用{连续出现次数,某个字符}的格式来描述,在游程编码过程中,一共包括两种数据,一种是原数据(也可以称为待压缩或者待编码的数据),一种是压缩后的数据(或者称为编码后的数据)。在本说明书中,图片流数据、解码后的数据、未编码的数据、普通格式的数据以及类似描述,都是指原数据;游程编码格式的数据、压缩数据以及类似描述,都是指压缩后的数据;从原数据得到压缩后的数据的过程,被称为游程编码;从压缩后的数据得到原数据的过程,被称为游程解码。本发明所提供的一种游程解码数字电路,是指将压缩后的数据解码为原始的图片流数据的电路。

游程编码是实现osd(画中画)功能的加载叠加图或字符的一种解决方案,实现osd功能包括如下五个步骤:1.获得游程编码格式的叠图数据;2.获得普通格式的待叠图数据;3.对游程编码格式的叠图数据进行解码,得到解码后的叠图数据;4.将普通格式的叠图数据叠加于普通格式的待叠图数据之上,得到组合后的图片流数据;5.输出组合后的图片流数据。

现有技术中,采用通过mcu(microcontrollerunit,微控制单元或者微控制器)实现上述过程。具体实现为通过mcu对存放在外部存储器或内部缓存中的叠图编码信息和待叠图数据进行存取(即上述的步骤1和2),然后通过软件方式对叠图编码信息进行解码并将解码后的叠图数据与待叠图数据进行组合,完成osd叠图功能(即上述的步骤3和4)完成后再将叠图结果写回数据存储器中(即上述的步骤5)。

通过mcu进行解码存在以下问题:由于数据的读取、解码以及叠加过程完全基于mcu来完成,因此读编码和解码速度均受mcu性能限制,在较低性能mcu上可能存在osd叠图帧率较低情况。图1是mcu解码导致叠图出错的示意图。图1显示,普通的解码电路所输出图片流数据最终参与生成的yuv格式的图片流数据中,出现了多个错误数据,影响了最终的叠图效果。

综上,在现有技术中,通过软件方式实现osd功能的电路,对mcu性能要求高,并容易出现帧率低、无法实时输出图片流数据、以及实时输出图片流数据时容易出现延迟、断点或错误的问题。



技术实现要素:

本发明的目的在于提供一种游程解码数字电路,以解决现有技术中,通过软件方式实现osd功能的电路,对mcu性能要求高,并容易出现帧率低、无法实时输出图片流数据、以及实时输出图片流数据时容易出现延迟、断点或错误的问题。

为了解决上述技术问题,本发明提供了一种游程解码数字电路,所述游程解码数字电路包括解码控制模块以及两个解码器,所述解码控制模块用于获取不同数据类型的压缩数据,并根据第一预设逻辑将获取的所述压缩数据发送给所述解码器,所述解码器用于将获取的所述压缩数据解码为预设格式的图片流数据并根据第二预设逻辑输出;所述压缩数据为游程编码格式的图片流数据。

可选的,所述第一预设逻辑包括交替地向两个所述解码器发送所述压缩数据,在同一时间只向一个所述解码器发送压缩数据。

可选的,所述第一预设逻辑还包括在切换发送对象之前,只发送同一数据类型的所述压缩数据。

可选的,所述第二预设逻辑包括两个所述解码器交替不间断地输出图片流数据,在同一时间只有一个所述解码器输出数据。

可选的,所述游程解码数字电路还包括存储控制模块和图片流数据存储器,所述存储控制模块用于按接收时间的顺序直接拼接所述解码器输出的图片流数据,并将组合后的图片流数据写入图片流数据存储器。

可选的,所述图片流数据存储器的数据处理模式为先进先出。

可选的,所述存储控制模块还用于读取存放于所述图片流数据存储器中的图片流数据并输出给外部电路。

可选的,当所述图片流数据存储器的可用储存空间小于或等于预设比例时,所述存储控制模块暂停向所述图片流数据存储器写入数据。

可选的,所述预设比例为1/2。

可选的,所述游程解码数字电路还包括存储器,所述存储器用于存储待解码的所述压缩数据,所述解码控制模块从所述存储器中获取所述压缩数据。

与现有技术相比,本发明提供的游程解码数字电路包括解码控制模块以及两个解码器,所述解码控制模块用于获取不同数据类型的压缩数据,并根据第一预设逻辑将获取的所述压缩数据发送给所述解码器,所述解码器用于将获取的所述压缩数据解码为预设格式的图片流数据并根据第二预设逻辑输出。如此配置,以硬件方式进行解码,具有实时性,解码速度完全与输入时钟保持一致,可在确保输出图片流帧率的情况下完成叠图操作,解决了通过软件方式实现osd功能的电路,对mcu性能要求高,并容易出现帧率低、无法实时输出图片流数据、以及实时输出图片流数据时容易出现延迟、断点或错误的问题。

附图说明

本领域的普通技术人员将会理解,提供的附图用于更好地理解本发明,而不对本发明的范围构成任何限定。其中:

图1为mcu实现osd功能导致叠图出错的示意图;

图2为本发明一实施例的游程解码数字电路的结构示意图;

图3为本发明一实施例的压缩数据的部分的数据类型示意图;

图4为本发明一实施例的osd电路得到的正确叠加数据的示意图。

附图中:

1-解码控制模块;2-解码器;3-存储控制模块;4-图片流数据存储器;5-存储器;6-存储器控制模块。

具体实施方式

为使本发明的目的、优点和特征更加清楚,以下结合附图和具体实施例对本发明作进一步详细说明。需说明的是,附图均采用非常简化的形式且未按比例绘制,仅用以方便、明晰地辅助说明本发明实施例的目的。此外,附图所展示的结构往往是实际结构的一部分。特别的,各附图需要展示的侧重点不同,有时会采用不同的比例。

如在本发明中所使用的,单数形式“一”、“一个”以及“该”包括复数对象,术语“或”通常是以包括“和/或”的含义而进行使用的,术语“若干”通常是以包括“至少一个”的含义而进行使用的,术语“至少两个”通常是以包括“两个或两个以上”的含义而进行使用的,此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括一个或者至少两个该特征,术语“近端”通常是靠近操作者的一端,术语“远端”通常是靠近患者的一端,“一端”与“另一端”以及“近端”与“远端”通常是指相对应的两部分,其不仅包括端点,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。此外,如在本发明中所使用的,一元件设置于另一元件,通常仅表示两元件之间存在连接、耦合、配合或传动关系,且两元件之间可以是直接的或通过中间元件间接的连接、耦合、配合或传动,而不能理解为指示或暗示两元件之间的空间位置关系,即一元件可以在另一元件的内部、外部、上方、下方或一侧等任意方位,除非内容另外明确指出外。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

本发明的核心思想在于提供一种游程解码数字电路,以解决现有技术中,通过软件方式实现osd功能的电路,对mcu性能要求高,并容易出现帧率低、无法实时输出图片流数据、以及实时输出图片流数据时容易出现延迟、断点或错误的问题。

在背景技术部分,已经详细分析了通过mcu实现osd功能的弊端。进一步地,发明人发现,由于游程编码数据包含多种数据类型,并且不同数据类型的游程编码数据的长度也不同,这就导致有可能在解码过程中会占用多个数字时钟才能拿到游程编码数据中包含的完整准确的像素信息。而为了实现osd功能,又需要有一解码电路输出待叠加的图片流,并且该解码电路输出的图片流与另一路的图片流输入数据需按照使用者的配置、叠加区域大小等要求严格叠加,中间不能出现信号的中断以及图片流数据的延迟。简单设置的硬件解码电路并不能符合上述要求。由此,发明人进一步想到,可以通过本实施例中的游程解码数字电路来解决上述的困难。

以下参考附图进行描述。

请参考图2至图4,其中,图2为本发明一实施例的游程解码数字电路的结构示意图;图3为本发明一实施例的压缩数据的部分的数据类型示意图;图4为本发明一实施例的osd电路得到的正确叠加数据的示意图。

如图2所示,本实施例提供了一种游程解码数字电路,所述游程解码数字电路包括解码控制模块1以及两个解码器2,所述解码控制模块1用于获取不同数据类型的压缩数据,并根据第一预设逻辑将获取的所述压缩数据发送给所述解码器2,所述解码器2用于将获取的所述压缩数据解码为预设格式的图片流数据并根据第二预设逻辑输出;所述压缩数据为游程编码格式的图片流数据。

如此配置,一方面,以硬件方式进行解码,具有实时性,解码速度完全与输入时钟保持一致,可在确保输出图片流帧率的情况下完成叠图操作,解决了通过软件方式实现osd功能的电路,对mcu性能要求高,并容易出现帧率低、无法实时输出图片流数据、以及实时输出图片流数据时容易出现延迟、断点或错误的问题。另一个方面,结合第一预设逻辑和第二预设逻辑,可以实现两个所述解码器2交替工作的效果,当其中一个所述解码器2未完成解码任务时,另一个所述解码器2可以作为缓冲输出已经解码完成的图片流数据,从而消除了单个所述解码器2在输出解码图片流时出现的图片流数据的中断和延迟的问题,满足了osd功能中对于待叠加的图片流数据的要求的问题。

需理解,所述预设格式,可以是任意一种便于后续叠图实施的数据格式,本领域技术人员可以根据公知常识进行设置,在此不做详细的描述。

需理解,所述第一预设逻辑可以是任意一种令上述效果得以实现的逻辑,例如,可以先向其中一个所述解码器2发送数据,在发送过程尚未结束时,就发送另外的数据给另一个所述解码器2,从时间尺度上来看,同时向两个所述解码器2发送数据的时间占比为10%,单独向其中一个所述解码器2发送数据的时间占比为80%,不发送数据的时间占比为10%的方案,也能够实现上述效果。但是,优选地,所述第一预设逻辑包括交替地向两个所述解码器2发送所述压缩数据,在同一时间只向一个所述解码器2发送压缩数据。如此配置,有利于所述解码控制模块1的设计与实现。另一方面,解码后的图片流数据最终需要和另一路的图片流数据进行叠图运算,输出最终的图像,因此本游程解码数字电路并不需要以(相比于另一路的图片流数据)更快的速度输出图片流数据,在部分时间内同时向两个所述解码器2发送数据的设计并非是必要的。当然,在其他的一些工况下,可以通过其他形式的所述第一预设逻辑实现预期的效果。

优选地,所述第一预设逻辑还包括在切换发送对象之前,只发送同一数据类型的所述压缩数据。也就是说,每一次连续的发送压缩数据的过程中,只输出同一类型的所述压缩数据。请参考图3,图3为本发明一实施例的压缩数据的部分的数据类型示意图。由图3可知,所述压缩数据的数据类型是多种的,每一中数据类型的压缩数据的总长度也不全相等。若以时间长度或者数据长度作为切换发送对象的逻辑,则对于每个所述解码器2的工作负担则增加了,另一方面,若同一数据类型的所述压缩数据未发送完毕就进行了切换,则另一个所述解码器2接收到了后续的数据中,未包含数据头,也不利于其对该数据的解码实现。

需理解,所述第二预设逻辑也可以是多样的,例如每个所述解码器2在接收到所述压缩数据时,就立刻进行解码,并在解码完成的第一时间就输出解码后的图片流数据,也可以实现上述的效果。但是这样的方案,给后续的电路模块处理带来了不便。在一个较优的实施例中,所述第二预设逻辑包括两个所述解码器2交替不间断地输出图片流数据,在同一时间只有一个所述解码器2输出数据。需理解,每个所述解码器2如何判断另一个所述解码器2是否已经完成了本次的数据输出,可以通过多种方案实施,例如,两个所述解码器2之间互相通讯,或者通过设置一模块向每个所述解码器2发送另一个所述解码器2数据已经发送完毕的信息,又或者其他的实施方案。本说明书不对上述的方案进行限定,本领域技术人员可以根据实际需要和公知常识进行设计和实现。

在一实施例中,所述游程解码数字电路还包括存储控制模块3和图片流数据存储器4,所述存储控制模块3用于按接收时间的顺序直接拼接所述解码器输出的图片流数据,并将组合后的图片流数据写入图片流数据存储器4。如此配置,首先可以通过拼接过程形成最终需要输出的图片流数据,不再需要其他电路进行进一步的处理,其次通过所述图片流数据存储器4的设置增加了缓冲环节,使得最终输出的图片流数据更为流畅,进一步减少中断或延迟的可能。需理解,此处的“直接拼接”应当理解为简单的拼接过程,例如直接将两份数据进行直接组合,或者删除第一份数据末尾的一些数据和/或删除第二份数据首部的一些数据,然后将处理后的两份数据进行直接组合。凡是需要进行诸如解码、重排序、数据转换中的至少一个的拼接过程,都不应理解为“直接拼接”。

进一步地,所述图片流数据存储器4的数据处理模式为先进先出。如此配置,所述图片流数据存储器4在存储和删除数据时,能够与所述游程解码数字电路在最终向外部电路输出数据的时序相匹配,不再需要额外的转换。

在一实施例中,所述存储控制模块3还用于读取存放于所述图片流数据存储器4中的图片流数据并输出给外部电路。如此配置,使得所述游程解码数字电路的整个功能得以完整实现。

在一较优的实施例中,当所述图片流数据存储器4的可用储存空间小于或等于预设比例时,所述存储控制模块3暂停向所述图片流数据存储器4写入数据。如此配置,防止特殊情况下,所述图片流数据存储器4被装满后,多余的图片流数据被丢失,从而导致整个所述游程解码数字电路发生错误。所述预设比例可以根据实际情况设置,较优的方案是,所述预设比例为1/2。如此配置,可以兼顾安全性和存储空间的利用率。需理解,当所述存储控制模块3暂停写入数据时,其他模块的运行逻辑可以根据实际情况进行设置,例如,将数据暂存在所述存储控制模块3上,或者所述解码器2同步地暂停输出数据,或者所述解码控制模块暂停输出压缩数据,等。各模块间的通讯及触发逻辑,也可以根据实际情况进行配置,在此不做详细的描述。

在一实施例中,所述游程解码数字电路还包括存储器5,所述存储器5用于存储待解码的所述压缩数据,所述解码控制模块1从所述存储器5中获取所述压缩数据。所述解码控制模块1可以通过一存储器控制模块6与所述存储器5连接,以便更好地读取所述存储器5内部的数据。所述存储器控制模块6的控制逻辑,本领域技术人员可以根据实际需要以及公知常识进行配置,在此不作详细的描述。较优地,所述存储器5为静态随机存取存储器(即sram,staticrandom-accessmemory),所述存储器控制模块6为sram控制模块。在其他的实施例中,只要能够保证所述压缩数据能够被连续地读取,也可以选择其他形式的存储器和存储器控制模块,例如rom(read-onlymemory只读存储器)及其控制模块等。

如背景技术中所述,实现osd功能包括五个步骤,本实施例公开的所述游程解码数字电路对五个步骤中的步骤3进行了优化,并实现了步骤1和步骤3的功能。

本实施例还提供了一种osd电路,实现完整的osd功能,所述osd电路包括上述的游程解码数字电路和叠图模块,所述叠图模块被配置为,接收由所述游程解码数字电路发送的预设格式的第一图片流数据,以及接收所述预设格式的第二图片流数据,按照叠图逻辑将第一图片流数据和第二图片流数据进行叠加得到叠图后的图片流数据。所述osd电路的其他模块、所述叠图模块的内部具体实现方式以及所述osd电路各模块之间的连接关系,本领域技术人员可以根据公知常识进行设置,不在此做具体的说明。请参考图4,在一实施例中,所述osd电路输出的yuv格式的视频数据如图4所示,可见,所述osd电路克服了普通解码电路容易出现的中断和延迟的问题。

综上,本发明提供的游程解码数字电路包括解码控制模块1以及两个解码器2,所述解码控制模块1用于获取不同数据类型的压缩数据,并根据第一预设逻辑将获取的所述压缩数据发送给所述解码器2,所述解码器2用于将获取的所述压缩数据解码为预设格式的图片流数据并根据第二预设逻辑输出。如此配置,以硬件方式进行解码,具有实时性;同时,两个所述解码器2互为缓冲,各自都具有足够的时间将接收到的压缩数据进行解码,从而避免出现普通硬件解码电路输出的图片流数据容易出现的中断和延迟,满足了osd功能中对于待叠加的图片流数据的要求。

上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于本发明技术方案的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1