主页 > imtoken钱包正确的下载地址 > 比特流缓冲控制器及其控制方法

比特流缓冲控制器及其控制方法

比特流缓冲控制器及其控制方法

技术

[0001] 本发明涉及一种视频解码器,尤其涉及一种用于H.264/AVC解码器的比特流缓冲控制器及其控制方法。

背景技术

[0002] FIFO缓冲区通常用于视频解码器的比特流控制器中,用于临时存储和流量控制,并且通常用作循环队列来读取和写入指针。前面的读写指针都是同一个内存位置,FIFO队列为空。像往常一样,视频解码器每次读取数据都要先查询FIFO的空状态,以保证存储的数据的正确性,从而降低了视频解码器的效率。

[0003]因此,当前的需要是提供一种比特流缓冲控制器,能够减少视频解码器的FIFO空状态不必要的排队。

发明内容

[0004] 本发明提供了一种高效的比特流缓冲控制器,其具有用于可变比特流的空状态的检查模块。

[0005] 一种视频解码器的比特流缓存控制器,包括第一FIFO缓存器、第二FIFO缓存器和中断控制器,第一FIFO缓存器用于存储输入的比特流,第二FIFO缓存器是用于存储payload,其中payload取自输入比特流比特流谁发明的,中断控制器根据第一个FIFO缓冲区和第二个FIFO缓冲区的满状态输出一个中断信号比特流谁发明的,这样每次负载加载完成后,视频解码器可以切换加载负载而不检查完整状态。

[0006] 一种视频解码器的比特流缓存控制方法,包括:接收并存储第一FIFO缓存的输入比特流,获取并存储有效载荷,所述有效载荷取自两个输入比特流FIFO缓存,并根据第一个FIFO缓存和第二个FIFO缓存的满状态产生一个中断信号,使视频解码器在checked模式和unchecked模式之间切换加载payload,从而使检查的频率可以减少完整状态。

比特流谁发明的

[0007] 本发明通过产生合适的中断信号并保持SW函数索引,使处理器只要触发中断,就可以检查索引的状态,即比特流不需要确认FIFO缓冲区的状态指示符可以被访问,以达到提高进程效率的效果。

[0008] 前述段落概述了本发明的特征和技术优点。为了能够更清楚地理解本发明的详细描述,本发明的其他特征和优点将在以下说明书中公开

图纸说明

[0009] 下面对附图及附图进行简要说明,以更全面地揭示本发明的细节和优点:

[0010] 图。附图说明图1是表示本发明的一个实施方式的比特流缓冲控制器的结构的框图。

[0011] 图。图2是示出图1的比特流缓冲器控制器的控制信号和数据流的细节的框图。 1.

[0012] 图。图3是示出图1的比特流缓冲器控制器的操作的流程图。 1.

[0013]【主要部件符号说明】

[0014] 100位流缓冲控制器

[0015]101视频解码器

比特流谁发明的

[0016] 102 外部存储器

[0017] 103 内存接口

[0018] 104位流FIFO缓冲区

[0019] 105 进程管理器

[0020]107 分组基本比特流解析器

[0021] 108 网络抽象层单元到原始字节序列有效负载解析器

[0022] 109 原始字节序列加载 FIFO 缓冲区

[0023] 110 中断控制器

[0024] 112 位流管理器

[0025]201比特流缓冲控制器

比特流谁发明的

[0026]202多路复用器

[0027] 301、302、303、304、305 步

具体实现方法

[0028] 以下对本发明实施例的相关描述均与本发明的附图相关。

[0029] 图。图1是显示根据本发明实施例的比特流缓冲器控制器100的配置的框图,其可以避免不必要的FIFO缓冲器空状态检查,例如应用于H.264/AVC解码器。

[0030] 比特流缓冲器控制器100包括存储器接口103、比特流先进先出缓冲器(BSB FIFO;比特流缓冲器先进先出)104、 process Manager 105、Packetized Elementary Stream Parser (PES parser; Packetized Elementary Stream Parser) 107、 Network from image layer unit to original female station byte sequence load (NALU2RBSP; Network AbstractLayer Unit to Raw Byte序列有效负载)解析器108、原始字节序列有效负载先进先出缓冲器(RB SP FIFO;原始字节序列分组先进先出)109、中断控制控制器110和比特流管理器112、比特流缓存控制器100用于接收比特流,该比特流可以是打包后的基本比特流的形式,也可以是基本比特流的形式,例如外部存储器102,并且该比特流缓冲控制器100还用于输出中断信号,这使得视频解码器101能够获取b itstream 并将其以检查或未检查模式存储在 RBSP FIFO 109 中。在检查模式中,每次视频解码器101加载存储在RBSPFIF0 109中的原始字节序列有效载荷时,视频解码器101检查RBSP FIFO 109的充满度;当视频解码器101加载存储在RBSPFIF0 109中的原始字节序列有效载荷时,视频解码器101不检查RBSP FIFO 109的完整状态。

[0031] 假设外部存储器102提供比特流,存储器接口103通过BSB FIF0104连接到外部存储器102,进程管理器105控制BSB FIFO 104加载比特流,并且比特流要么是基本比特流的形式,要么是打包的基本比特流形式,其中比特流通过存储器接口103从外部存储器102加载。此外,外部存储器102优选为双倍数据速率同步动态随机存取存储器(DDR SDRAM;Double Data Rate Synchronous Dynamic Random Access Memory),外部存储器102由双倍数据速率同步动态随机存取存储器控制器控制。 (DDR 控制器)。 )(图中未显示)。在一个实施例中,BSB FIFO 104可以生成第一指示符,该指示符可以指示BSB FIFO 104的五种不同状态,即空、几乎空、半满、几乎满、满等。指示符可以指示BSB FIFO 104的更多或更少种类的状态。

[0032] 分组基本比特流解析器107用于:如果存储在BSB FIFO 104中的比特流是分组基本比特流的形式,则分组基本比特流解析器107存储在BSB FIFO 104中的比特流获得基本比特流格式有效载荷;在替代实施例中,如果存储在BSB FIFO 104中的比特流是分组基本比特流格式,则分组基本比特流解析器107也可以将输入比特流绕过到下一级,即NALU2RBSP的解析器108。在本实施例中,分包基本码流解析器107还可以通过分包基本码流的形式获得码流中的呈现时间戳(PTS;Presentation Time Stamp)信息,用于后续的视频解码过程。

[0033] 在打包后的基本比特流解析器107之后,使用NALU2RBSP的解析器108去除基本比特流形式有效载荷(0*00_00_03)的仿真防止3字节,其中仿真防止3字节为基本比特流形式的payload通过打包后的基本比特流解析器107得到,或者使用NALU2RBSP的解析器108去除基本比特流模拟为比特流,防止3个字节得到原始字节序列payload。

[0034]RBSP FIFO 109用于加载由NALU2RBSP的解析器108获得的原始字节序列有效载荷。在此实施例中,RBSP FIFO 109可产生第二索引,其可指示五种RBSP FIFO 109的不同状态,即空、几乎空、半满、几乎满、满状态等,在替代实施例中,第一指示符可以指示RBSP FIFO 109的更多或更少种类的状态。

比特流谁发明的

[0035] 此外,比特流管理器112用于根据语法规范将存储在RBSP FIFO 109中的原始字节序列有效载荷非转换到视频解码器101。

[0036] 中断控制器110用于减少检查视频解码器101的FIFO空状态的不必要过程。在本实施例中,中断控制器110用于产生中断信号,使得视频解码器101 在检查或未检查模式之间切换以加载存储在 RBSP FIFO 109 中的原始字节序列有效负载。如在本例中,中断信号可以是[null]中断信号以将视频解码器101切换到检查模式以加载存储在RBSP FIF0109中的原始字节序列有效载荷;或者中断信号可以是[full]中断信号用于将视频解码器101切换到未检查模式以加载存储在RBSP FIF0109中的原始字节序列有效载荷。

[0037] 在[empty]中断信号的例子中,中断控制器110用于检测BSB FIFO 104和RBSP FIFO 109的状态指示符是否达到预设的空配置(empty configuration),如在本例中,仅当中断控制器110接收到BSBFIF0 104和RBSP的状态指示符时,预设空配置可以设计为几乎为空的BSB FIFO 1045的第一指示符和几乎为空的RBSP FIFO 109的第二指示符。 FIFO 109,当确认满足预设的空配置时,视频解码器101可以切换到检查模式以加载存储在RBSP FIFO 109中的原始字节序列有效载荷。在关于[full]中断信号的另一替代实施例中,中断控制器110用于检测BSB FIFO 104和RBSP FIFO 109的状态指示器是否达到预设的满配置。如在本例中,只有当中断控制器110接收到BSB FIFO 104的状态指示符时,预设全配置才能被设计为几乎全满的BSBFIF0 1045的第一指示符和几乎全满的RBSP FIFO 109的第二指示符。和RBSP FIFO 109,当确认满足预设的全配置时,视频解码器101可以切换到未检查模式以加载存储在RBSP FIFO 109中的原始字节序列有效载荷。此外,本发明所属领域的技术人员可以理解:为了产生中断信号并使BSB FIFO 104和RBSPFIF0 109能够得到更好的利用,可以单独设计预设的中断配置。

[0038] 通过将视频解码器101适当地切换到未检查模式来加载存储在RBSPFIF0 109中的原始字节序列有效载荷,从而降低查询FIFO状态的频率,并且具有中断控制器101这有助于和利用BSB FIFO 104和RBSP FIFO 109的组合,因此视频解码器101的性能可以大大提高。

[0039] 图。图2是示出用于图1的比特流缓冲器控制器100的控制信号和数据流的细节的框图。参照图1,此外,例如,图1的过程管理器105也可以与图1的过程管理器105相结合。流缓冲控制器201和多路复用器202的详细特征如下。

[0040] 比特流缓冲控制器201调整访问速率使得BSB FIFO 104被填满,比特流缓冲控制器201为存储器接口103生成控制协议,然后从外部加载比特流存储器102到BSB FIFO 104,并且比特流或者是分组化的基本比特流形式或者是基本比特流形式。如果 BSB FIFO 104 的状态指示符变满或几乎满了,比特流缓冲控制器 201 将根据控制协议中止将比特流从外部存储器 102 加载到 BSB FIFO 104,并且如果 BSB FIFO 104 的状态指示符BSB FIFO 104变为半满、几乎为空或为空时,码流缓冲控制器201将根据控制协议请求将来自外部存储器102的码流加载到BSB FIFO 104。

[0041] 多路复用器202连接到BSB FIFO 104或具有NALU2RBSP的解析器108的打包基本比特流解析器107。如上所述,当输入比特流为分组基本比特流的形式时,复用器处理器202将分组基本比特流格式比特流存储在BSB FIFO 104中以流经分组基本比特流解析器107,然后得到基本比特流格式有效载荷,然后进入NALU2RBSP的解析器108,得到原始字节序列载荷。在替代实施例中,当输入比特流是基本比特流形式时,多路复用器202将具有存储在BSB FIF 104中的基本比特流形式比特流并直接流入NALU2RBSP的解析器108以获得原始字节序列有效载荷。此外,打包的基本比特流解析器107用于从存储在BSB FIFO 104中的比特流中获得基本比特流格式有效载荷,并且NALU2RBSP解析器108用于去除用于防止仿真的基本比特流格式有效载荷3字节,其中仿真防止3字节的基本比特流形式的有效载荷由打包基本比特流解析器107获得,或者直接存储在BSB FIFO 104中以获得原始字节序列有效载荷,上述技术特征与图1中公开的技术特征相似。 1.多路复用器202用于:如果第二FIFO缓冲器109的状态指示符变得几乎满或已满,多路复用器202将中止将基本比特流有效载荷加载到NALU2RBSP的解析器108以获得第二FIFO原始字节序列有效负载存储在输出缓冲器109中,并且如果第二FIFO缓冲器109的状态指示符变为半满、几乎为空或为空,则多路复用器202要求将基本比特流有效负载加载到NALU2RBSP的解析器108中获得原始字节序列有效载荷,用于存储在第二个 FIFO 缓冲区 109 中。

[0042] 比特流管理器112读取存储在RBSP FIFO 109中的原始字节序列有效载荷,并根据语法规范将存储在RBSP FIFO 109中的原始字节序列有效载荷反变换到视频解码器101。

[0043] 这里的BSB FIFO 104和RBSP FIFO 109除了存储分包后的基本比特流/基本比特流格式比特流和原始字节序列有效载荷外,还用于根据不同用途流来标记比特,以及产生自己的状态指示器(例如空、几乎空、半满、几乎满或满状态)来指示其满状态

7 个州。 BSB FIFO 104和RBSP FIFO 109的状态指示符可以被中断控制器110发送和接收,并用于根据预设产生中断信号,例如[empty]中断信号或[full]中断信号。中断配置,预设的中断配置可以是预设的空配置或预设的满配置,以便视频解码器101可以在检查模式或取消检查模式之间切换以加载存储在RBSP FIFO 109中的原始字节顺序加载。在类似的实施例中,本发明所属领域的任何技术人员都可以理解:为了产生中断信号并使BSB FIFO 104和RBSP FIFO 109达到更好的利用,预设的中断配置可以是彼此不同。不要设计。

比特流谁发明的

[0044] 通过将视频解码器 101 适当地切换到未检查模式以加载存储在 RBSPFIF0 109 中的原始字节序列有效负载,从而降低查询 FIFO 状态的频率,并且具有中断控制器 101 这有助于和利用BSB FIFO 104和RBSP FIFO 109,因此视频解码器101的性能可以大大提高。

[0045] 图。图3是示出图1的比特流缓冲器控制器100的操作的流程图。 1.

[0046] 关于步骤301,比特流缓冲控制器100处于初始状态,其中输入比特流被存储在BSB FIFO 104中,并且从输入比特流中取出的原始字节序列有效载荷被存储在RBSP FIFO中如图109所示,当视频解码器101以校验模式加载存储在RBSPFIF0 109中的原始字节序列有效载荷时,即,当视频解码器101加载存储在RBSP FIFO 109中的原始字节序列有效载荷时,视频解码器101必须每次检查RBSP FIFO 109的充满度指标,例如,可以通过存储器接口加载比特流。此外,将输入比特流加载到BSB FIFO 104的过程可以根据BSB FIFO 104的满状态被中止或请求,并且将提取的原始字节序列加载到RBSPFIF0 109的过程也可以基于在RBSP FIFO 109的完整状态上。被挂起或需要。另外,如果输入比特流是分组基本比特流的形式,则可以解析存储在BSB FIFO 104中的输入比特流以获得基本比特流形式的有效载荷、输入基本比特流形式比特流或获取的基本比特流中的有效载荷可以解析f​​orm获取原始字节序列payload,存储在RBSPFIF0 109中。

[0047] 关于步骤302,位流缓冲控制器100的中断控制器110检测BSB FIFO 104和RBSP FIFO 109的满状态。

[0048] 关于步骤303,中断控制器110检测BSB FIFO 104和RBSP FIFO 109的满状态是否满足预设的中断配置,例如预设的[empty]中断配置或预设的[full]中断组状态。

[0049] 接下来,视频解码器101在未检查模式和检查模式之间切换以加载存储在RBSP FIFO 109中的原始字节序列有效载荷,从而降低查询FIFO状态的频率。例如,在步骤304,当中断控制器110检测到BSB FIFO 104和BSP FIFO 109的满状态满足预设的中断配置时,视频解码器101以未检查模式加载存储在RBSP FIFO 109中的数据。 原始字节序列加载;相反地​​,在步骤305,当中断控制器110检测到BSB FIFO 104和BSP FIFO 109的满状态不满足预设中断配置时,视频解码器101将存储在校验模式中的原始字节序列有效载荷加载到RBSP中FIFO 109。前述的预设中断配置可以是预设的[empty]中断配置、预设的[full]中断配置,或者被设计为分别产生中断信号,使得BSB FIFO 104和RBSP FIFO 109能够达到更好的效果利用率。

[0050] 然后返回到步骤302和步骤303,比特流缓存控制器100的中断控制器110再次检测BSB FIFO 104和RBSP FIFO 109的满状态,并检测其满状态。 BSBFIF0 104 和 RBSP FIFO 109 状态指示符是否满足预设中断配置。

[0051]视频解码器101在unchecked模式和checked模式之间进行适当的切换,以加载存储在RBSP FIFO 109中的原始字节序列payload,从而降低查询FIFO状态的频率,并具有中断控制

在8位调制器101的帮助下,利用BSB FIFO 104和RBSP FIFO 109,可以大大提高视频解码器101的性能。

[0052] 最后,本发明所属领域的技术人员应当理解,以上描述和实施例仅为本发明所展示和公开的优选实施例和实施细节,并不用于限制本发明的范围。本发明。本发明所属领域的技术人员应该知道,在不脱离本发明的精神和范围的情况下,可以进行一些变化和修改。因此,本发明的保护范围应以所附权利要求为准。