执行缓冲器控制的信息处理设备和方法与流程

文档序号:15521808发布日期:2018-09-25 19:39阅读:177来源:国知局

本发明涉及执行缓冲器控制的信息处理设备和方法,更具体而言,涉及可以更适当地执行缓冲器的输入/输出控制的执行缓冲器控制的信息处理设备和方法。



背景技术:

迄今为止,mpeg-2(运动图像专家组)和avc(高级视频编解码)已被实现为用于基于帧间相关、运动补偿等实现高压缩率的编码方法(被称为“编解码术”)。这些编解码技术由于高压缩率适合用于记录数据,但是因为执行帧间相关或运动补偿,它们生成了以几帧为单位的延迟,另一方面,jpeg(联合图像专家组)、jpeg2000等已被实现为不采用帧间相关的编码方法(编解码术)。这一类型的编解码术在压缩率上次于mpeg-2和avc,但是它具有能够将延迟抑制到一帧的特征,这是因为采用了帧内的封闭式压缩方法。因此,后一编解码术适合用于低延迟通信中,并且例如用在监视相机中。另外,用于按行压缩数据的编解码术已被实现为提供比jpeg和jpeg2000更低延迟的技术。术语“基于行的编解码术”意味着以几行为单位执行压缩而不是以整个一帧为单位执行压缩、并且相继输出压缩数据的编解码技术。

在基于行的编解码术中,因为压缩参数是基于几行的信息(而不使用整个画面的信息)确定的,所以每处理单位的比特率的变化相对于目标比特率(即,图像流的压缩率)增大。基于行的编解码术的输出被提供为vbr(可变比特率),并且当经由通信线路发送输出时,vbr被转换为cbr(恒定比特率)。为此,码流和附带数据(编码参数)被临时缓冲在编码器的后级中,并且与传输路径的状况相匹配地输出。

然而,在这种缓冲处理中,如果传输路径的状况并不好,则停止从缓冲器输出数据,并且在传输路径的状况返回到良好状态之前不恢复。另一方面,无论传输路径的状况如何,对缓冲器的数据输入都持续地进行。因此,如果传输路径的状况一直较差,则缓冲器变得充满数据(即,写指针从后面追上读指针),从而导致存储体满状态。在存储体满状态中,由于还未读取的数据被存储在缓冲器的所有存储体中,因此新数据无法正常缓冲。

第一种可想到的克服上述问题的解决方案是当在存储体满状态中输入数据时丢弃新数据而不存储输入的数据。第二种可想到的解决方案是当在存储体满状态中输入接下来的数据时,使所有存储体为空并且在空存储体中存储所提供的数据。第三种可想到的解决方案是增大缓冲器的容量(即,存储体的数目)以便可以缓冲更多的信息,从而避免存储体满状态的发生。



技术实现要素:

然而,上述可想到的解决方案具有以下问题。例如,第一解决方案伴随有以下可能性:即使旧的数据稍后传输,保留在存储体中的旧数据也会相对于解码器一侧的解码时间来说变得太晚。如果所传输的数据对于解码时间来说太晚,则该数据被丢弃而不被解码。换句话说,一般而言,存储相对于解码起始时间具有足够余量的新数据提供了使更多数据受到解码的可能性,并且与连续保存相对于解码起始时间不具有足够余量的数据的情况相比,更加有利于提高解码后图像的质量。因此,像第一方案中那样丢弃新数据增大了新数据和旧数据在解码器一侧都不被解码的可能性。这导致数据的未解码部分可能增多致使解码后图像的质量恶化的程度的风险。

第二解决方案容易控制,但是它伴随有以下风险:由于丢弃大量的数据,当停止数据读取一段非常短的时间时,由于不希望地丢弃了必要的数据,解码图像的质量可能发生不希望的恶化。尤其是在无线环境中,传输速率变化的程度如此之大,以至于临时不能发送数据的情形频繁发生。因而,容易发生非常短时间的存储体满状态。

第三解决方案伴随有增大电路规模和成本(因为存储容量的增大)的风险。另外,存储容量(缓冲量)的增大延长了传输中的延迟时间。因此,第三解决方案可能损害编解码器(具体而言是基于行的编解码器)的优点(低延迟),而在使用这一类型的编解码器时若数据被缓冲,则给予低延迟以最高的优先级。另外,数据读取的停止时间并不恒定,取决于用作传输路径的网络的特性而有极大的不同。换句话说,缓冲量的最优值取决于各种条件,例如系统配置和所传输的数据,并且难以规定。因此,有必要基于最坏值来设定存储体的数目(缓冲量)以防止存储体满状态的发生。该设定可能无用地增大存储量,并且可能增大成本和功耗。还可想到动态改变存储体的数目。然而,这种方法使得控制复杂且不易于实现,并且可能进一步增大成本、功耗、处理时间等。

如上所述,现有技术的方法具有难以适当地应对存储体满状态的问题,并且在缓冲器的输入/输出控制技术方面需要某种其他更合适的方法。

本发明解决了上述问题,并且意图适当地执行缓冲器的输入和输出控制。

根据本发明的一个实施例,一种信息处理设备包括:存储体溢出标志确认装置,用于确认存储体溢出标志是否被置位,该存储体溢出标志通知存储体满状态的发生,在该存储体满状态中,在设有多个用于存储数据的存储体的存储区中,还未读取的数据被存储在所有存储体中;读指针控制装置,用于当存储体溢出标志确认装置确认存储体溢出标志被置位时,使得由读指针指定的位置移动到由写指针指定的位置处的存储体的下一个存储体,所述读指针将存储区的多个存储体中的每一个循环指定为要从中读取数据的存储体,所述写指针将存储区的多个存储体中的每一个循环指定为要写入数据的存储体;以及读装置,用于从由读指针指定的位置已被读指针控制装置更新后的读指针所指定的存储体中读取数据。

根据本实施例的信息处理设备还可包括:存储装置,该存储装置包括所述存储区并且在每个存储体中存储数据;写指针控制装置,用于控制写指针;写装置,用于将数据写入到由所述写指针控制装置控制的写指针所指定的存储体中;以及存储体溢出标志设置装置,用于在还未读取的数据被存储在存储装置的所有存储体中时置位存储体溢出标志。

当写指针控制装置更新写指针时,写指针控制装置可以限定由写指针指定的位置,以使正被读装置读取的存储体不被指定。

根据本实施例的信息处理设备还可包括存储体溢出标志清零装置,用于清零由存储体溢出标志设置装置置位的存储体溢出标志,存储体溢出标志的置位由存储体溢出标志确认装置确认。

写指针控制装置可以在写装置执行写入之前更新写指针,并且读指针控制装置可以在读装置执行读取之后更新读指针。

写指针控制装置可以在写装置执行写入之前更新写指针,并且读指针控制装置可以在读装置执行读取之前更新读指针。

写指针控制装置可以在写装置执行写入之后更新写指针,并且读指针控制装置可以在读装置执行读取之前更新读指针。

写指针控制装置可以在写装置执行写入之后更新写指针,并且读指针控制装置可以在读装置执行读取之后更新读指针。

根据本实施例的信息处理设备还可包括写标志设置装置,用于在写装置正在写入数据期间置位指示数据正在写入中的写标志。

根据本实施例的信息处理设备还可包括读标志设置装置,用于在读装置正在读取数据期间置位指示数据正在读取中的读标志。

数据可包括指示图像数据被编码的每编码单位的编码数据的属性的属性信息。

属性信息可以添加有保存编码数据的存储区的地址信息。

根据本发明的另一个实施例,一种用在信息处理设备中的信息处理方法包括以下步骤:确认存储体溢出标志是否被置位,该存储体溢出标志通知存储体满状态的发生,在该存储体满状态中,在设有多个用于存储数据的存储体的存储区中,还未读取的数据被存储在所有存储体中;在确认存储体溢出标志被置位后,使得由读指针指定的位置移动到由写指针指定的位置处的存储体的下一个存储体,所述读指针将存储区的多个存储体中的每一个循环指定为要从中读取数据的存储体,所述写指针将存储区的多个存储体中的每一个循环指定为要写入数据的存储体;以及从由读指针指定的位置已被更新后的读指针所指定的存储体中读取数据。

在本发明的实施例中,确认存储体溢出标志是否被置位。存储体溢出标志通知存储体满状态的发生,在该状态中,在形成有多个用于存储数据的存储体的存储区中,还未读取的数据被存储在所有存储体中。当确认存储体溢出标志被置位时,由读指针指定的位置移动到由写指针指定的位置处的存储体的下一个存储体,读指针将存储区的多个存储体中的每一个循环指定为要从其读取数据的存储体,写指针将存储区的多个存储体中的每一个循环指定为要向其写入数据的存储体。在由读指针指定的位置已被更新之后,从由更新后的读指针所指定的存储体读取数据。

本发明的实施例使得信息能被适当地处理。具体而言,本发明的实施例使得缓冲器的输入/输出控制能被更适当地处理。

附图说明

图1是示出第一实施方式的双工器的概要结构的图;

图2是用于说明各种指针和标志的控制情形的框图。

具体实施方式

图1是图示实施本发明的信息处理系统的配置示例的框图。图1中所示的信息处理系统100是用于传输图像数据的系统。

信息处理系统100包括经由传输路径102互连的发送设备101和接收设备103。发送设备101经由传输路径102向接收设备103传输图像数据。

发送设备101对输入的图像数据进行编码并经由传输路径102将编码后的数据发送到接收设备103。发送设备101包括输入接口(i/f)111、基于行的编解码术编码器112、发送缓冲器113和传输接口(i/f)114。

输入接口111接受从外部输入到发送设备101的图像数据,并将输入的图像数据输送到基于行的编解码术编码器112。基于行的编解码术编码器112例如每几行对输入的图像数据进行编码,并将编码后的数据输送到发送缓冲器113。

发送缓冲器113临时保存输送给它的编码数据(图像数据)。传输接口114以预定比特率读取保存在发送缓冲器113中的编码数据,并在转换为包格式后将读出的编码数据输出到传输路径102。

从发送设备101发送的编码数据经由传输路径102被输送到接收设备103。接收设备103对从发送设备101输送来的编码数据进行解码并输出解码后的图像数据。接收设备103包括传输接口(i/f)121、接收缓冲器122、基于行的编解码术解码器123和输出接口(i/f)124。

传输接口121接收通过传输路径102输送来的编码数据包,从所接收的包中提取编码数据,并将所提取的编码数据输送到接收缓冲器122。接收缓冲器122临时保存所接收的编码数据。基于行的编解码术解码器123以预定量为单位获得保存在接收缓冲器122中的编码数据,并对获得的编码数据进行解码以产生几行图像数据。输出接口124向接收设备103的外部输出基于行的编解码术解码器123通过对编码数据进行解码而产生的图像数据(解码后的图像数据)。

在这种系统中,发送设备101的基于行的编解码术编码器112以vbr(可变比特率)执行编码。另一方面,传输接口114以独立于编码比特率的比特率来发送编码数据。

例如,传输接口114基本上以预定数据量为单位将编码数据转换为包的形式,并以cbr(恒定比特率)发送编码数据。然而,例如,当用作传输路径102的网络被其他系统共享时,即,当除了相关编码数据以外的数据也经由传输路径102传输时,传输路径102中可用于传输编码数据的带宽并不恒定。因此,传输接口114一边发送编码数据一边与传输路径102中可用的带宽相匹配地调节比特率。

为了适应这种编码和发送之间的比特率的差异,发送缓冲器113临时保存编码数据和附带数据(例如编码参数)。

此时,发送缓冲器113以更适当的方式执行数据输入/输出控制。例如,当在发送缓冲器113中发生存储体满状态时,发送缓冲器113适当地控制数据存储位置和数据读取位置。这种由发送缓冲器113执行的控制降低了利用接收设备103中的解码处理获得的解码图像的质量恶化(与编码之前的图像相比)。另外,发送缓冲器113以更容易的方式执行数据输入/输出控制,从而例如实现对成本、电路规模(存储器容量)和延迟时间增大的抑制。具体的控制方法将在后面描述。

下面更详细描述图像数据的传输。首先描述基于行的编解码术,即,用于实现数据传输中延迟时间的缩减的编解码术。

在基于行的编解码术中采用小波变换,以按图像数据中的一帧图像的每一行或每多行对图像数据进行编码。一般而言,在离散小波变换中,原始图像被一维小波卷积(它是在每个水平像素行上执行的)划分为两个子图像,即,包括较低频信息的子图像和包括较高频信息的子图像。每个子图像被在每个垂直像素列上执行的类似的小波卷积划分为两个子图像,即,包括较低频信息的子图像和包括较高频信息的子图像。

更具体而言,图2中所示的一帧的基带信号131被分解为四个子带,即,四个子图像(hh、hl、lh和ll),如转换后信号132所示。子图像ll表示在垂直和水平方向的每一个上都具有较低频率的分量。子图像lh表示在水平方向上具有较低频率而在垂直方向上具有较高频率的分量。子图像hl表示在水平方向上具有较高频率而在垂直方向上具有较低频率的分量。子图像hh表示在垂直和水平方向的每一个上都具有较高频率的分量。每个子图像具有原始图像的1/4大小,并且包括原始图像中1/4数量的数据点。

反复地对所获得的子图像ll执行这种小波变换。在图2中,假定在通过对原始图像的小波变换的第一分解级获得的子图像例如是1hh、1hl、1lh和1ll(未示出)。在这种情况下,进一步对子图像1ll执行小波变换,以在第二分解级划分为四个子图像2hh、2hl、2lh和2ll(未示出)。而且,对子图像2ll执行小波变换,以在第三分解级划分为四个子图像3hh、3hl、3lh和3ll(未示出)。因而,反复执行小波变换,以使得这些子图像在转换后的信号132中形成分层结构。

如上所述,通过周期性重复较低频分量的小波变换,较低空间频带中的数据被逐渐缩窄到一个较小区域中以便能以较高的效率执行压缩编码。

在基于行的编解码术中,编码的处理单位不是整个图像,而是一行或多行。因而,在基于行的编解码术中,也按每一行或每多行执行小波变换。

例如,如图2所示的转换后信号132所指示的,与基带图像的一部分相对应的多行经历小波变换,从而产生1ll-1(未示出)、1lh-1、1hl-1和1hh-1。另外,1ll-1经历小波变换,从而产生2ll-1、2lh-1、2hl-1和2hh-1。在如上所述图像的一部分经历预定次数的小波变换之后,与图像的下一部分相对应的多行类似地经历小波变换,从而产生1ll-2(未示出)、1lh-2、1hl-2和1hh-2。另外,1ll-2经历小波变换,从而产生2ll-2、2lh-2、2hl-2和2hh-2。

以这种方式,每预定行数地执行小波变换。由小波变换得到的图像数据(即,小波系数数据)被相继编码。换句话说,每预定行数地执行编码。因而,通过按小于帧图像的编码单位对图像数据编码,基于行的编解码术可以减少因编码和解码产生的延迟时间,因而实现数据传输中延迟时间的缩减。

例如,当如图2所示在垂直方向上每八个基带行地执行小波变换时,在三重小波分解的情况下,与八个基带行相对应地产生了最低频范围中(即,最高有效级)的子图像3ll的一行。另外,按每子带一行地产生下一级的子带3h(3hl、3lh和3hh)。按每子带两行地产生再下一级的子带2h(2hl、2lh和2hh)。按每子带四行地产生最高频率范围中的子带1h(1hl、1lh和1hh)。

产生最高有效级的最低频子带“ll”的一行系数数据所必需的一组基带像素数据被称为“子区(或行块)”。在某些情况下,术语“子区(precinct)”也指用于所有子带的一组系数数据(即,一组对齐单位),它是通过执行与一个子区相对应的像素数据的小波变换而获得的。该组系数数据基本上等于该组基带像素数据,该组基带像素数据是用于产生最高有效级的最低频子带“ll”的一行系数数据所必需的。

应当注意,对于图片内的每个子区而言,一个子区中的行数并不一定保持相同。

按照由子区规定的处理单位来执行基于行的小波变换。例如,图2的左侧所示的与基带信号131中的8行相对应的子区(在图2中加阴影线示出)是由图2右侧所示的以下各项构成的:基于行的小波变换得到的转换后信号132的1h上的1hl、1lh和1hh中每一个的四行(在图2中加阴影线示出)、2h上的2hl、2lh和2hh中每一个的两行(在图2中加阴影线示出)、以及3ll、3hl、3lh和3hh中每一个的一行(在图2中加阴影线示出)。

通过采用如上所述的基于行的小波变换处理,可以实现数据传输中的较低延迟。基于行的小波变换处理的特征在于,由于对小波系数而不是基带信号131执行了划分(这与jpeg2000中的瓦片(tile)划分不同),因此在瓦片边界不产生由于块噪声而引起的图像质量的恶化。

下面描述发送设备101的详细配置。图2是用于说明发送缓冲器113的输入/输出接口的说明图。如图2所示,发送缓冲器113临时保存从基于行的编解码术编码器112送来的数据,并将所输送的数据输出到传输接口114。

基于行的编解码术编码器112向发送缓冲器113输送包括每子区的编码数据(下文中也称为“子区数据”)的数据信号141和与数据信号141相对应的包括子区属性信息的数据属性信号142。子区属性信息是指示子区数据的设置和内容的信息,并且是按每一子区产生的。子区属性信息例如包含指示图像内相关子区的位置的信息(例如,标识号(子区id))、子区数据的数据大小、编码中使用的量化参数以及图像的分量信息。当然,子区属性信息还可包含除了以上例子以外的信息。

在发送缓冲器113中,基于作为数据属性信号142而被提供的子区属性信息来产生传输用头部(即,子区头部)。传输头部被添加到子区数据的头部。添加有传输头部的子区数据被以传输包143(子区头部+数据)的形式输出到传输接口114。传输接口114将从发送缓冲器113送来的传输包143发送到传输路径102(图1)。另外,当传输路径102进入不能临时传输包的状态中时,传输接口114向发送缓冲器113提供输出停止信号(stop信号)144以停止从发送缓冲器113的输出。例如,当编码数据经由无线线路被传输到接收设备103时(即,当传输路径102是无线线路时),可能由于干扰而发生不能传输无线电波的状态。在这种情况下,传输接口114向发送缓冲器113提供输出停止信号144以停止从发送缓冲器113的数据供应,从而使数据不会溢出。

发送缓冲器113临时保存编码数据以便适应上述编码比特率和传输比特率之间的差异(即,编码和传输期间比特率的变化)。此时,发送缓冲器113以适当的方式执行数据输入/输出控制,以便可以抑制解码图像的质量恶化,同时不增大例如电路规模、成本和延迟时间。

尽管数据信号141和数据属性信号142在图2中被示为经由不同的总线从基于行的编解码术编码器112输送到发送缓冲器113,但是本发明的实际实施例并不限于所示布置。数据信号141和数据属性信号142可以经由共同的总线输送到发送缓冲器113。另外,用于传输数据信号141和数据属性信号142中每一种的总线数目可以可选地设定。数据信号141和数据属性信号142可以各自经由单条总线或多条总线来传输。用于传输数据信号141的总线数目和用于传输数据属性信号142的总线数目可以彼此不同。作为另一种修改,在用于传输数据信号141的总线和用于传输数据属性信号142的总线之间,传输速率可以设定为不同。

类似地,用于传送传输包143的总线数目、用于传送输出停止信号144的总线数目、以及这些总线中相应的传输速率也可以可选地设定。另外,传输包143和输出停止信号144可以经由共同的总线发送和接收。

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