CN101674479B - 信息处理设备和方法 - Google Patents

信息处理设备和方法 Download PDF

Info

Publication number
CN101674479B
CN101674479B CN2009101736647A CN200910173664A CN101674479B CN 101674479 B CN101674479 B CN 101674479B CN 2009101736647 A CN2009101736647 A CN 2009101736647A CN 200910173664 A CN200910173664 A CN 200910173664A CN 101674479 B CN101674479 B CN 101674479B
Authority
CN
China
Prior art keywords
memory bank
read
data
write
pointer
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
CN2009101736647A
Other languages
English (en)
Other versions
CN101674479A (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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Publication of CN101674479A publication Critical patent/CN101674479A/zh
Application granted granted Critical
Publication of CN101674479B publication Critical patent/CN101674479B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

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

Description

信息处理设备和方法
技术领域
本发明涉及信息处理设备和方法,更具体而言,涉及可以更适当地执行缓冲器的输入/输出控制的信息处理设备和方法。
背景技术
迄今为止,MPEG-2(运动图像专家组)和AVC(高级视频编解码)已被实现为用于基于帧间相关、运动补偿等实现高压缩率的编码方法(被称为“编解码术”)。这些编解码技术由于高压缩率适合用于记录数据,但是因为执行帧间相关或运动补偿,它们生成了以几帧为单位的延迟,另一方面,JPEG(联合图像专家组)、JPEG2000等已被实现为不采用帧间相关的编码方法(编解码术)。这一类型的编解码术在压缩率上次于MPEG-2和AVC,但是它具有能够将延迟抑制到一帧的特征,这是因为采用了帧内的封闭式压缩方法。因此,后一编解码术适合用于低延迟通信中,并且例如用在监视相机中。另外,用于按行压缩数据的编解码术已被实现为提供比JPEG和JPEG2000更低延迟的技术。术语“基于行的编解码术”意味着以几行为单位执行压缩而不是以整个一帧为单位执行压缩、并且相继输出压缩数据的编解码技术。
在基于行的编解码术中,因为压缩参数是基于几行的信息(而不使用整个画面的信息)确定的,所以每处理单位的比特率的变化相对于目标比特率(即,图像流的压缩率)增大。基于行的编解码术的输出被提供为VBR(可变比特率),并且当经由通信线路发送输出时,VBR被转换为CBR(恒定比特率)。为此,码流和附带数据(编码参数)被临时缓冲在编码器的后级中,并且与传输路径的状况相匹配地输出(例如,参见日本未实审专利申请公布No.2008-28541)。
然而,在这种缓冲处理中,如果传输路径的状况并不好,则停止从缓冲器输出数据,并且在传输路径的状况返回到良好状态之前不恢复。另一方面,无论传输路径的状况如何,对缓冲器的数据输入都持续地进行。因此,如果传输路径的状况一直较差,则缓冲器变得充满数据(即,写指针从后面追上读指针),从而导致存储体满状态。在存储体满状态中,由于还未读取的数据被存储在缓冲器的所有存储体中,因此新数据无法正常缓冲。
第一种可想到的克服上述问题的解决方案是当在存储体满状态中输入数据时丢弃新数据而不存储输入的数据。第二种可想到的解决方案是当在存储体满状态中输入接下来的数据时,使所有存储体为空并且在空存储体中存储所提供的数据。第三种可想到的解决方案是增大缓冲器的容量(即,存储体的数目)以便可以缓冲更多的信息,从而避免存储体满状态的发生。
发明内容
然而,上述可想到的解决方案具有以下问题。例如,第一解决方案伴随有以下可能性:即使旧的数据稍后传输,保留在存储体中的旧数据也会相对于解码器一侧的解码时间来说变得太晚。如果所传输的数据对于解码时间来说太晚,则该数据被丢弃而不被解码。换句话说,一般而言,存储相对于解码起始时间具有足够余量的新数据提供了使更多数据受到解码的可能性,并且与连续保存相对于解码起始时间不具有足够余量的数据的情况相比,更加有利于提高解码后图像的质量。因此,像第一方案中那样丢弃新数据增大了新数据和旧数据在解码器一侧都不被解码的可能性。这导致数据的未解码部分可能增多致使解码后图像的质量恶化的程度的风险。
第二解决方案容易控制,但是它伴随有以下风险:由于丢弃大量的数据,当停止数据读取一段非常短的时间时,由于不希望地丢弃了必要的数据,解码图像的质量可能发生不希望的恶化。尤其是在无线环境中,传输速率变化的程度如此之大,以至于临时不能发送数据的情形频繁发生。因而,容易发生非常短时间的存储体满状态。
第三解决方案伴随有增大电路规模和成本(因为存储容量的增大)的风险。另外,存储容量(缓冲量)的增大延长了传输中的延迟时间。因此,第三解决方案可能损害编解码器(具体而言是基于行的编解码器)的优点(低延迟),而在使用这一类型的编解码器时若数据被缓冲,则给予低延迟以最高的优先级。另外,数据读取的停止时间并不恒定,取决于用作传输路径的网络的特性而有极大的不同。换句话说,缓冲量的最优值取决于各种条件,例如系统配置和所传输的数据,并且难以规定。因此,有必要基于最坏值来设定存储体的数目(缓冲量)以防止存储体满状态的发生。该设定可能无用地增大存储量,并且可能增大成本和功耗。还可想到动态改变存储体的数目。然而,这种方法使得控制复杂且不易于实现,并且可能进一步增大成本、功耗、处理时间等。
如上所述,现有技术的方法具有难以适当地应对存储体满状态的问题,并且在缓冲器的输入/输出控制技术方面需要某种其他更合适的方法。
本发明解决了上述问题,并且意图适当地执行缓冲器的输入和输出控制。
根据本发明的一个实施例,一种信息处理设备包括:存储体溢出标志确认装置,用于确认存储体溢出标志是否被置位,该存储体溢出标志通知存储体满状态的发生,在该存储体满状态中,在设有多个用于存储数据的存储体的存储区中,还未读取的数据被存储在所有存储体中;读指针控制装置,用于当存储体溢出标志确认装置确认存储体溢出标志被置位时,使得由读指针指定的位置移动到由写指针指定的位置处的存储体的下一个存储体,所述读指针将存储区的多个存储体中的每一个循环指定为要从中读取数据的存储体,所述写指针将存储区的多个存储体中的每一个循环指定为要写入数据的存储体;以及读装置,用于从由读指针指定的位置已被读指针控制装置更新后的读指针所指定的存储体中读取数据。
根据本实施例的信息处理设备还可包括:存储装置,该存储装置包括所述存储区并且在每个存储体中存储数据;写指针控制装置,用于控制写指针;写装置,用于将数据写入到由所述写指针控制装置控制的写指针所指定的存储体中;以及存储体溢出标志设置装置,用于在还未读取的数据被存储在存储装置的所有存储体中时置位存储体溢出标志。
当写指针控制装置更新写指针时,写指针控制装置可以限定由写指针指定的位置,以使正被读装置读取的存储体不被指定。
根据本实施例的信息处理设备还可包括存储体溢出标志清零装置,用于清零由存储体溢出标志设置装置置位的存储体溢出标志,存储体溢出标志的置位由存储体溢出标志确认装置确认。
写指针控制装置可以在写装置执行写入之前更新写指针,并且读指针控制装置可以在读装置执行读取之后更新读指针。
写指针控制装置可以在写装置执行写入之前更新写指针,并且读指针控制装置可以在读装置执行读取之前更新读指针。
写指针控制装置可以在写装置执行写入之后更新写指针,并且读指针控制装置可以在读装置执行读取之前更新读指针。
写指针控制装置可以在写装置执行写入之后更新写指针,并且读指针控制装置可以在读装置执行读取之后更新读指针。
根据本实施例的信息处理设备还可包括写标志设置装置,用于在写装置正在写入数据期间置位指示数据正在写入中的写标志。
根据本实施例的信息处理设备还可包括读标志设置装置,用于在读装置正在读取数据期间置位指示数据正在读取中的读标志。
数据可包括指示图像数据被编码的每编码单位的编码数据的属性的属性信息。
属性信息可以添加有保存编码数据的存储区的地址信息。
根据本发明的另一个实施例,一种用在信息处理设备中的信息处理方法包括以下步骤:确认存储体溢出标志是否被置位,该存储体溢出标志通知存储体满状态的发生,在该存储体满状态中,在设有多个用于存储数据的存储体的存储区中,还未读取的数据被存储在所有存储体中;在确认存储体溢出标志被置位后,使得由读指针指定的位置移动到由写指针指定的位置处的存储体的下一个存储体,所述读指针将存储区的多个存储体中的每一个循环指定为要从中读取数据的存储体,所述写指针将存储区的多个存储体中的每一个循环指定为要写入数据的存储体;以及从由读指针指定的位置已被更新后的读指针所指定的存储体中读取数据。
在本发明的实施例中,确认存储体溢出标志是否被置位。存储体溢出标志通知存储体满状态的发生,在该状态中,在形成有多个用于存储数据的存储体的存储区中,还未读取的数据被存储在所有存储体中。当确认存储体溢出标志被置位时,由读指针指定的位置移动到由写指针指定的位置处的存储体的下一个存储体,读指针将存储区的多个存储体中的每一个循环指定为要从其读取数据的存储体,写指针将存储区的多个存储体中的每一个循环指定为要向其写入数据的存储体。在由读指针指定的位置已被更新之后,从由更新后的读指针所指定的存储体读取数据。
本发明的实施例使得信息能被适当地处理。具体而言,本发明的实施例使得缓冲器的输入/输出控制能被更适当地处理。
附图说明
图1是图示实施本发明的信息处理系统的配置示例的框图;
图2是用于说明基于行的小波变换的处理的说明图;
图3是用于说明基于行的小波变换的处理的一个例子的说明图;
图4是用于说明基于行的小波变换的处理的另一个例子的说明图;
图5是用于说明发送缓冲器的输入/输出接口的说明图;
图6是图示发送缓冲器的内部配置示例的框图;
图7是图示写控制器和读控制器的功能例子的功能框图;
图8A和8B是用于说明存储体溢出的发生的说明图;
图9A和9B是用于说明在发生存储体溢出时执行的控制的说明图;
图10A和10B是用于说明在发生存储体溢出时执行的控制的说明图;
图11是用于说明各种指针和标志的控制情形的框图;
图12是用于说明指针的更新定时的模式的表;
图13是用于说明情况1中写处理流程的例子的流程图;
图14是用于说明情况1中读处理流程的例子的流程图;
图15是用于说明情况2中写处理流程的例子的流程图;
图16是用于说明情况2中读处理流程的例子的流程图;
图17是用于说明情况3中写处理流程的例子的流程图;
图18是用于说明情况3中读处理流程的例子的流程图;
图19是用于说明情况4中写处理流程的例子的流程图;
图20是用于说明情况4中读处理流程的例子的流程图;
图21是用于说明当在读期间生成存储体满状态时在情况2中各个参数的变化例子的时序图;
图22是用于说明当在除了读期间以外的时刻生成存储体满状态时在情况2中各个参数的变化例子的时序图;
图23是用于说明当在存储体满状态期间对多个存储体执行写入时在情况2中各个参数的变化例子的时序图;以及
图24是图示实施本发明的个人计算机的配置例子的框图。
具体实施方式
图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中形成分层结构。
如上所述,通过周期性重复较低频分量的小波变换,较低空间频带中的数据被逐渐缩窄到一个较小区域中以便能以较高的效率执行压缩编码。
在基于行的编解码术中,编码的处理单位不是整个图像,而是一行或多行。因而,在基于行的编解码术中,也按每一行或每多行执行小波变换。
例如,如图3所示的转换后信号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。
以这种方式,每预定行数地执行小波变换。由小波变换得到的图像数据(即,小波系数数据)被相继编码。换句话说,每预定行数地执行编码。因而,通过按小于帧图像的编码单位对图像数据编码,基于行的编解码术可以减少因编码和解码产生的延迟时间,因而实现数据传输中延迟时间的缩减。
例如,当如图4所示在垂直方向上每八个基带行地执行小波变换时,在三重小波分解的情况下,与八个基带行相对应地产生了最低频范围中(即,最高有效级)的子图像3LL的一行。另外,按每子带一行地产生下一级的子带3H(3HL、3LH和3HH)。按每子带两行地产生再下一级的子带2H(2HL、2LH和2HH)。按每子带四行地产生最高频率范围中的子带1H(1HL、1LH和1HH)。
产生最高有效级的最低频子带“LL”的一行系数数据所必需的一组基带像素数据被称为“子区(或行块)”。在某些情况下,术语“子区(precinct)”也指用于所有子带的一组系数数据(即,一组对齐单位),它是通过执行与一个子区相对应的像素数据的小波变换而获得的。该组系数数据基本上等于该组基带像素数据,该组基带像素数据是用于产生最高有效级的最低频子带“LL”的一行系数数据所必需的。
应当注意,对于图片内的每个子区而言,一个子区中的行数并不一定保持相同。
按照由子区规定的处理单位来执行基于行的小波变换。例如,图4的左侧所示的与基带信号131中的8行相对应的子区(在图4中加阴影线示出)是由图4右侧所示的以下各项构成的:基于行的小波变换得到的转换后信号132的1H上的1HL、1LH和1HH中每一个的四行(在图4中加阴影线示出)、2H上的2HL、2LH和2HH中每一个的两行(在图4中加阴影线示出)、以及3LL、3HL、3LH和3HH中每一个的一行(在图4中加阴影线示出)。
通过采用如上所述的基于行的小波变换处理,可以实现数据传输中的较低延迟。基于行的小波变换处理的特征在于,由于对小波系数而不是基带信号131执行了划分(这与JPEG2000中的瓦片(tile)划分不同),因此在瓦片边界不产生由于块噪声而引起的图像质量的恶化。
下面描述发送设备101的详细配置。图5是用于说明发送缓冲器113的输入/输出接口的说明图。如图5所示,发送缓冲器113临时保存从基于行的编解码术编码器112送来的数据,并将所输送的数据输出到传输接口114。
基于行的编解码术编码器112向发送缓冲器113输送包括每子区的编码数据(下文中也称为“子区数据”)的数据信号141和与数据信号141相对应的包括子区属性信息(子区信息,Precinct Info)的数据属性信号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在图5中被示为经由不同的总线从基于行的编解码术编码器112输送到发送缓冲器113,但是本发明的实际实施例并不限于所示布置。数据信号141和数据属性信号142可以经由共同的总线输送到发送缓冲器113。另外,用于传输数据信号141和数据属性信号142中每一种的总线数目可以可选地设定。数据信号141和数据属性信号142可以各自经由单条总线或多条总线来传输。用于传输数据信号141的总线数目和用于传输数据属性信号142的总线数目可以彼此不同。作为另一种修改,在用于传输数据信号141的总线和用于传输数据属性信号142的总线之间,传输速率可以设定为不同。
类似地,用于传送传输包143的总线数目、用于传送输出停止信号144的总线数目、以及这些总线中相应的传输速率也可以可选地设定。另外,传输包143和输出停止信号144可以经由共同的总线发送和接收。
下面描述发送缓冲器113的详细配置的例子。图6是图示发送缓冲器113的内部配置例的框图。如图6所示,发送缓冲器113包括写控制器151、数据存储区(例如,存储器)152、子区属性信息存储区(子区寄存体)153和读控制器154。
写控制器151将从基于行的编解码术编码器112提供来的作为数据信号141的子区数据输送到数据存储区152以存储在其中。另外,写控制器151定义写地址,即,子区数据的存储目的地地址。写控制器151将所提供的子区数据存储在数据存储区152中所定义的写地址上。
另外,写控制器151将从基于行的编解码术编码器112提供来的作为数据属性信号142的子区属性信息(子区信息)输送到子区属性信息存储区(子区寄存体)153以存储在其中。此时,写控制器151将与所提供的子区属性信息相对应的子区数据的存储目的地地址添加到相关的子区属性信息,以送到子区属性信息存储区153进行存储。
子区属性信息存储区153具有多个区域(存储体),每个区域用于一次存储一组子区属性信息(包括子区数据的存储目的地地址)。在图6所示的情况中,8个存储体“存储体0”至“存储体7”被形成在子区属性信息存储区153中。
写控制器151设置写指针162,即,用于指定要存储子区属性信息的存储体的信息。换句话说,写控制器151设置用于选择子区属性信息存储区153中形成的多个存储体(在图6的情况中是8个存储体)之一并且用于指定所选存储体的写指针162。
尽管选择存储体的方法可以可选地设定,但是通常按预定顺序一个接一个地循环选择存储体。例如,在图6的情况中,写控制器151更新写指针162的值以使8个存储体一个接一个地按“存储体0”、“存储体1”、“存储体2”等的顺序指定。在设置了写指针162以便指定第八存储体“存储体7”之后,写控制器151在下一次设置中返回到开头,并且设置写指针162以便再次指定第一存储体“存储体0”。因而,写控制器151进行的设置使得写指针162按预定顺序反复地指定“存储体0”到“存储体7”的8个存储体。当然,指定所选存储体的顺序可以可选地设定,甚至可以在处理期间改变(如果该顺序被正确管理的话)。
数据存储区152是例如由半导体存储器或硬盘形成的存储区。数据存储区152将从写控制器151提供来的子区数据存储在由写地址161指定的地址上,从而临时保存子区数据。
子区属性信息存储区153也是例如由半导体存储器或硬盘形成的存储区。子区属性信息存储区153将从写控制器151提供来的子区属性信息存储在由写控制器151指定的存储体中,从而临时保存子区属性信息。
读控制器154从子区属性信息存储区153读取子区属性信息(包括子区数据的存储目的地地址)。另外,读控制器154设置用于指定要从中读取子区属性信息的存储体的读指针171,并且进一步从由读指针171指示的存储体读取子区属性信息(包括子区数据的存储目的地地址)。
与写指针162一样,设置读指针171的方法可以被可选地设定。例如,读控制器154设置读指针171以便按预定顺序一个接一个地循环选择存储体。
例如,在图6的情况中,读控制器154更新读指针171的值以使得8个存储体一个接一个地按“存储体0”、“存储体1”、“存储体2”等的顺序指定。在设置了读指针171以便指定第八存储体“存储体7”之后,读控制器154在下一次设置中返回到开头并且设置读指针171以便再次指定第一存储体“存储体0”。因而,读控制器154进行的设置使得读指针171按预定顺序反复地指定“存储体0”到“存储体7”的8个存储体。当然,指定所选存储体的顺序可以被可选地设定,甚至可以在处理期间改变(如果该顺序被正确管理的话)。
由读控制器154读取的子区属性信息添加有子区数据的存储目的地地址(即,写地址161)。读控制器154利用所添加的地址(即,写地址161)作为读地址172来读取子区数据。换句话说,读控制器154访问数据存储区152中的写地址161(即,读地址172)(该地址被添加到子区属性信息),并且从该地址读取子区数据。以这种方式,读控制器154可以从数据存储区152读取与从子区属性信息存储区153读取的子区属性信息中所指示的相同子区中的子区数据。
读控制器154具有用于将子区数据转换为包的形式的包生成器181。读控制器154向包生成器181提供从子区属性信息存储区153读取的子区属性信息和从数据存储区152读取的子区数据两者。包生成器181由子区属性信息生成子区头部并将子区数据转换为包的形式。另外,读控制器154将所生成的传输包143输送到传输接口114。
当传输路径102由于某种原因进入不能传送传输包143的状态中时,传输接口114将输出停止信号(Stop信号)144输送到读控制器154。在接收到输出停止信号144后,包生成器181停止包的生成。响应于输出停止信号144,读控制器154停止读取子区属性信息和子区数据。当传输路径102进入能够传送传输包143的状态中并且输出停止信号144的供应停止时,读控制器154恢复读取子区属性信息和子区数据。响应于读取的恢复,包生成器181恢复包的生成。
读控制器154与写控制器151独立地操作。更具体而言,读控制器154中的处理(例如从子区属性信息存储区153读取子区属性信息、从数据存储区152读取子区数据以及生成包)与写控制器151中的写处理相互独立地进行。
图7是图示写控制器151和读控制器154的功能示例的功能框图。
写控制器151包括数据获得部件201、写指针更新部件202、读标志确认部件203、存储体溢出标志设置部件204、写标志设置部件205、写部件206和保存部件207。
数据获得部件201获得全都从基于行的编解码术编码器112提供来的子区数据和子区属性信息。写指针更新部件202更新保存在保存部件207中的写指针162的值。读标志确认部件203保存从读控制器154提供来的读标志(即,指示是否正在执行读处理的标志信息),然后基于读标志的值向写部件206通知读处理的状况。
存储体溢出标志设置部件204在必要时置位保存部件207中的存储体溢出标志212(即,将标志信息的值设置为“有效(例如“1”)”)。存储体溢出标志212是指示在子区属性信息存储区153中是否发生以下状态(存储体满状态)的标志信息,该状态为:在不删除还未读出的子区属性信息的情况下不能够再存储新的子区属性信息。存储体溢出标志212的细节将在后面描述。
写标志设置部件205置位保存部件207中的写标志211(即,指示是否正在执行写处理的标志信息),或者清零写标志211(即,将标志信息的值复位为“无效(例如“0”)”)。例如,写标志设置部件205在写部件206正在写入子区数据和子区属性信息的时间内置位保存部件207中的写标志211。在写入结束后,写标志设置部件205清零写标志211。因而,通过参考写标志211的值,即使在其他控制处理中也可容易地确认写处理是否在执行中。
写部件206将子区数据写入数据存储区152中,并且还将子区属性信息写入子区属性信息存储区153中。更具体而言,写部件206设置写地址161,并且将子区数据作为处理目标存储在数据存储区152中的写地址161上。另外,写部件206将写地址161添加到作为处理目标的子区属性信息,然后将包括写地址161的子区属性信息存储在子区属性信息存储区153中由写指针162指定的存储体中。
保存部件207是例如由半导体存储器或硬盘形成的存储区。保存部件207在其中保存诸如写地址161、写指针162、写标志211和存储体溢出标志212之类的信息。当然,保存部件207可以保存除了上述例子以外的信息。
读控制器154包括读指针更新部件222、存储体溢出标志确认部件223、存储体溢出标志设置部件224、读标志设置部件225、读部件226、保存部件227和包生成器181。
读指针更新部件222更新保存在保存部件227中的读指针171的值。存储体溢出标志确认部件223访问写控制器151的保存部件207,并且参考(确认)存储体溢出标志212的值。
存储体溢出标志设置部件224访问写控制器151的保存部件207,并且清零存储体溢出标志212。读标志设置部件225置位保存部件227中的读标志231(即,指示是否正在执行读处理的标志信息),或者清零读标志231。例如,读标志设置部件225在读部件226正从存储区读取信息的时间内置位保存部件227中的读标志231。在读取结束后,读标志设置部件225清零读标志231。
因而,通过参考读标志231的值,即使在其他控制处理中也可容易地确认读处理是否在执行中。例如,基于读标志确认部件203对读标志231的值的确认结果,可以使写部件206在读取时不向存储体中写入数据。换句话说,写部件206可以以不破坏读取中的数据的方式安全地执行写入。
读部件226从数据存储区152读取子区数据,并且还从子区属性信息存储区153读取子区属性信息。更具体而言,读部件226从子区属性信息存储区153中由读指针171指定的存储体中读取子区属性信息。另外,读部件226获得添加到相关的子区属性信息的写地址161,然后从数据存储区152中读取由所获得的写地址161给出的读地址172上的子区数据。
保存部件227是例如由半导体存储器或硬盘形成的存储区。保存部件227在其中保存诸如读指针171和读标志231之类的信息。当然,保存部件227可以保存除了上述例子以外的信息。
包生成器181将由读部件226读取的子区数据和子区属性信息转换为包的形式。
尽管上述实施例被描述为将存储体溢出标志212保存在写控制器151的保存部件207中,但是存储体溢出标志212可以保存在任意位置处。例如,存储体溢出标志212可以保存在读控制器154中,或者保存在除了写控制器151和读控制器154以外的位置处。
写控制器151和读控制器154可以部分地或者整体地构造成一体(集成的形式)。例如,写控制器151和读控制器154可被集成为用于控制数据存储区152和子区属性信息存储区153的输入/输出的缓冲器输入/输出控制器240。
下面参考图8A至10B更详细地描述产生存储体溢出并且执行控制以解决存储体溢出的情况的例子。
在图8A至10B中,8个存储体(#0至#7)被形成在子区属性信息存储区(子区寄存体)153中。读指针171和写指针162各自被设置为按从#0至#7的顺序(包括在#7之后返回到#0)一个接一个地循环指定8个存储体。
在图8A至10B中,由#0至#7指示的每个框表示一个存储体,并且在框架中所示的数字表示存储在相应存储体中的子区属性信息的子区ID。子区ID是用于标识每个子区的标识信息,并且用“0”或正整数表达。子区按照从子区ID为“0”的子区起的升序被处理。换句话说,每个子区中的子区数据和子区属性信息按照从子区ID为“0”的子区起的子区ID的升序被写入到存储区中或者从存储区读取。
在缓冲器特有的结构中,写位置基本上领先于读位置。例如,如图8A所示,当子区ID为“5”的子区中的子区属性信息被写入到第六存储体(#5)中时,从第三存储体(#2)读取子区ID为“2”的子区中的子区属性信息。
因为写指针162和读指针171各自被设置为按照从#0到#7的顺序循环指定8个存储体,所以从另一个角度说,读指针171指定在写指针162的前进方向上位于前面的存储体。
正常执行读写的状态在这里被称为“普通状态”。在普通状态中,观察按升序存在于由写指针162指定的位置和由读指针171指定的位置之间的存储体,在这些存储体中没有存储子区属性信息,或者已被读取的子区属性信息被存储在这些存储体中。因而,在图8A的情况中,还未读取的子区属性信息不被存储在按升序在存储体#5和存储体#2之间的存储体#6、#7、#0和#1中。
现在假定提供了输出停止信号144并且在上述情形中停止读取,例如,由读指针171指定的位置停止进一步的前进,而仅有由写指针162指定的位置前进。因此,如图8B所示,写指针162很快到达存储体#1并且将具有子区ID“9”的子区中的子区属性信息写入存储体#1中。此时,缓冲器进入这样一种状态,即还未读取的子区属性信息被存储在所有存储体中。该状态被称为存储体满状态(Bank Full)。换句话说,存储体满状态对应于这样一种状态:此时写指针162指定的位置比读指针171指定的位置领先1个周期或更多。该状态还被称为存储体溢出状态(Bank Over)。
即使在存储体满状态中,子区数据和子区属性信息也被从基于行的编解码术编码器112输送到写控制器151。换句话说,必须有数据被丢弃。在这种情形中,写控制器151按照从最旧信息起的顺序在存储于存储区的信息当中丢弃可允许的最少量的信息。写控制器151随后将新送来的信息存储在已从中丢弃信息的区域中。利用这样的处理,写控制器151可以更有效地抑制存储体满(存储体溢出)状态的发生对解码图像的质量的影响(即,图像质量恶化)。结果,写控制器151可以进一步改进解码图像的质量。
具体而言,这里假定在图8B所示的例子中存储体#2没有在读取中。因而,如果在图8B所示的例子中读标志231未被置位,则写部件206将下一子区(即,具有子区ID“10”的子区)中的子区属性信息存储在存储体#2中以进行覆写,如图9A所示。换句话说,写部件206删除存储在子区属性信息存储区153中的最旧信息,并且代之以存储新的子区属性信息。
子区数据被存储在数据存储区152中。数据存储区152的容量可以被可选地设置,只要它能够存储与存储在子区属性信息存储区153中的子区属性信息相对应的所有子区数据即可。因此,例如,即使当在子区属性信息存储区153中产生存储体满状态并且子区属性信息被覆写时,子区数据有时也不被覆写。如果数据存储区152的容量足够大,则子区数据可以存储在数据存储区152的新区域中。因此,在下文中,除非必要,否则省略关于子区数据的描述。
在基于行的编解码器中,针对作为帧图像的一部分的每个子区来编码数据。因此,如果在传输期间缺少对应于一个子区的数据,则在解码图像中也缺少对应于一个子区的图像。对于帧图像的整个区域,除了其上端和下端外,每个子区中的行数基本上都是相同的。这意味着,不考虑图像的细节,无论缺少哪一个子区,图像质量的恶化程度在理论上是均等的。换句话说,因为无论在存储体满状态的情况下从哪个存储体丢弃数据,缺少的数据量基本上都相等,所以就这一点而言,每个存储体中的子区属性信息的重要性也是基本上相同的。
然而,如上所述,子区数据和子区属性信息是已经历基于行的编解码的图像信息,并且按照子区的顺序在接收设备103中被处理。当数据传输相对于数据处理而言变得太晚时,省略相关子区中数据的处理,并且开始下一子区中数据的处理。换句话说,没来得及开始处理的数据被丢弃。这样,在接收设备103中处理被部分省略,但是处理顺序并不按这种方式改变,例如,传输延时超过解码处理时间的子区中的数据将被稍后处理。
这意味着,在时间上较旧的子区中的数据被赋予在解码处理开始的期限前的较短时间,因而在其传输后被丢弃的可能性较高。换句话说,在时间上较旧的子区中的数据具有较低的重要性级别。
具体而言,上述基于行的编解码术的特征在于缩短因数据传输产生的延迟时间。因此,发送缓冲器113和接收缓冲器122中每一个的缓冲器容量被如愿地设为尽可能小,并且基于行的编解码术与其他编解码器技术相比,在数据变得不必要之前的时间容许度通常较小。因而,关于存储在子区属性信息存储区153中的信息,在基于行的编解码术中,取决于信息的新鲜度的重要性级别的变化较大。
因此,如上参考图9A所述,通过在发生存储体满状态后从最旧信息起覆写存储在缓冲器中的信息,写部件206可以丢弃(覆写)从重要性级别最低的信息起的缓冲信息。结果,解码图像的质量恶化可以被抑制到较低的程度。
如上所述,由于较旧的信息具有较高的被丢弃的可能性(因传输延迟),因此如果被缓冲的信息被新信息覆写,则存在将旧信息和新信息两者都丢弃的风险,即,增大丢弃的信息量的风险。然而,通过如上所述从最旧信息起覆写所缓冲的信息,写部件206可以避免信息被不必要地丢弃并且可以减小丢弃的信息量。因而,可以进一步抑制解码图像的质量恶化。
例如,当存储体#2在读取中时,写部件206使得下一子区中的子区属性信息被存储在存储体#3(存储体#3位于由读指针171指定的存储体#2的下一个位置上)中,如图9B所示。换句话说,在这种情况下,写部件206利用子区ID为“10”的子区中的子区属性信息来覆写存储体#3中的子区属性信息。新的子区属性信息不被写入到存储体#2中的原因是为了防止破坏正读取中的数据。被破坏的数据被丢弃,因为该数据即使被传输也无法解码。这意味着,徒劳地执行了相关数据的读处理。因此,正读取中的存储体中的信息的覆写被禁止,并且下一存储体中的信息被新信息覆写。结果,写部件206可以抑制处理效率的降低。
当输出停止信号144的供应停止时,读取被恢复。例如,如果在图10A的状态(该状态与图9A的状态一样发生存储体满状态)中恢复读取,则读指针171前进到由写指针162指定的存储体的下一个存储体,如图10B所示。换句话说,图10A图示了存储体满状态,其中读指针171指定存储体#2并且写指针162指定存储体#3。当在该存储体满状态中恢复读取时,读指针更新部件222将读指针171的值更新为存储体#4(而不是下一存储体#3),存储体#4位于由写指针162指定的存储体的下一个位置上。
利用上述更新,读部件226可以被控制为不读取子区ID为“10”的子区(即,最新子区)中的子区属性信息,而跳读子区ID为“4”到“9”的子区。因而,读部件226可以按子区ID的顺序执行读取,以使得在子区ID为“2”的子区中的子区属性信息之后,下一最旧子区(即,子区ID为“4”的子区)中的子区属性信息被读取。因此,在图示情况中,由于存储体满状态的发生而丢弃的数据仅仅是子区ID为“3”的子区中的子区属性信息。因此,被丢弃的数据可以减少到可能的最小量,并且可以抑制不希望发生的解码图像的质量恶化(即,可以提高图像质量)。
当在写指针162的值被更新之后信息被写入时,存在这样一种可能性,即存储在由写指针162指定的存储体中的子区属性信息可能是最旧的。这种可能性可以例如通过以下方式避免:基于写标志211的值确定是否已开始写,并且基于确定结果限定读指针171的移动目的地。然而,这种方法不仅使时序控制等变得复杂,还使得必需以精确的方式执行复杂的控制。因而,通过无条件地将由读指针171指定的位置设定为由写指针162指定的存储体的下一个存储体,可以更容易地执行无错误的准确控制。
另一种用于应对存储体满状态的发生的缓冲器控制方法的可想到的例子是:清空所有存储体,然后将新子区的数据存储在空存储体中。该方法可以利用简单控制执行,但是它伴随有这样的风险,即当经过了非常短的时间之后恢复读取时,丢弃的数据量比可允许的必要水平更大。换句话说,该类型的缓冲器控制方法具有解码图像的质量恶化的风险。尤其是,当传输路径102是无线通信的形式时,传输速率变化的程度很大,以至于临时不能发送数据的情形频繁发生。尤其在这种情形中,利用上述缓冲器控制方法增大了不希望发生的解码图像的质量恶化的可能性。
可想到的控制方法的另一例子是预先准备更大数目的存储体以应对网络的临时拥塞。通过增大存储体的数目,可以抑制存储体满状态的发生。然而,该控制方法伴随有增大了缓冲器所必需的存储体容量的风险。存储体容量的增大不仅导致了较高的成本,还导致了数据传输中较长的延迟时间。因而,增大存储体数目的方法例如在采用延迟并不那么重要的编解码术(如现有技术的编解码术)的数据传输中是有效的。
然而,在采用上述基于行的编解码术的数据传输中,低延迟是一个重要的特征。基于行的编解码术包括实现低延迟的各种措施。例如,通过将处理单位设定为较小的数据量并且减小缓冲器所必需的存储容量,抑制了传输中延迟时间的增大。如上所述,如果存储体数目增大,则在这种增大存储容量的系统中,可能发生延迟时间增大并且上述优点被削弱的风险。
另外,因为网络中的拥塞程度取决于所使用的网络的特性而不同,所以难以定义足以防止存储体满状态的发生的存储体数目。即使当存储体数目的上限被定义为系统规范之一时,也会存在传输路径102可能进入比预期更坏的状况的合理可能性。基于所有情况下的最坏值定义存储体数目导致不希望发生的成本、电路规模、功耗等增大的风险。尽管存储体数目可以动态改变,但是这种方法需要非常复杂的控制并且并不实际。
相反,根据本实施例的上述输入/输出控制方法可以利用更简单的控制抑制不希望发生的解码图像质量的恶化。
下面参考图11描述各种指针和标志的控制。如图11所示,写控制器151更新写指针162并将更新结果通知给读控制器154。另外,写控制器151置位或清零写标志211。当写控制器151置位或清零写标志211时,写控制器151可以将写标志211的值通知给读控制器154。另外,当在子区属性信息存储区153中发生存储体满状态时,写控制器151置位存储体溢出标志212。
读控制器154更新读指针171并将更新结果通知给写控制器151。另外,读控制器154置位或清零读标志231。当读控制器154置位或清零读标志231时,读控制器154可以将读标志231的值通知给写控制器151。另外,读控制器154参考存储体溢出标志212的值,确认在子区属性信息存储区153中是否发生存储体满状态。另外,当在子区属性信息存储区153中消除了存储体满状态时,读控制器154清零存储体溢出标志212。
如上所述,写控制器151和读控制器154彼此独立地操作。下面描述由写控制器151和读控制器154执行的相应处理流程。
写指针162和读指针171的更新定时取决于在每一(写和读)处理之前还是之后(即,在读写开始和结束时)而被分组为两种模式。具体而言,存在四种模式,即情况1至4,如图12所示。
下面针对四种模式中的每一种描述处理流程的例子。
首先,描述写指针162和读指针171的更新定时分别在写和读之前(即,在读写开始时)的情况,即情况1。
参考图13的流程图描述情况1中由写控制器151执行的写处理的流程例子。写处理是在每当从基于行的编解码术编码器112送来新子区中的子区数据和子区属性信息时执行的。这一点也类似地应用于其他情况下的写处理。
当写控制器151的数据获得部件201(图7)获得新子区中的子区数据和子区属性信息时,写处理开始。写处理一旦开始,写指针更新部件202就在步骤S101中更新写指针162,并使由写指针162指定的位置前进到下一存储体。在步骤S102中,写指针更新部件202确定写指针162指定的位置(存储体)和读指针171指定的位置(存储体)(后者被通知给写指针更新部件202)彼此是否匹配。如果确定这两个位置彼此匹配,则处理前进到步骤S103。
在步骤S103中,读标志确认部件203参考读标志231,确定存储在由写指针162指定的存储体中的数据是否正在由读控制器154读取。如果读标志231被置位并且相关数据的读取被确定为正在执行中,则处理前进到步骤S104。
在步骤S104中,写指针更新部件202使由写指针162指定的位置移动到由读指针171指定的存储体的下一个存储体,以使读取中的数据不被破坏。此时,因为生成了存储体满状态,所以存储体溢出标志设置部件204在步骤S105中置位存储体溢出标志212。
一旦存储体溢出标志212被置位,写标志设置部件205就在步骤S106中置位写标志211。在步骤S107中,写部件206将由数据获得部件201获得的子区数据存储在数据存储区152中。另外,写部件206将写地址161添加到由数据获得部件201获得的子区属性信息上,然后将子区属性信息写入由写指针162指定的存储体中。在写入结束之后,写标志设置部件205在步骤S108中清零写标志211,从而写处理结束。
如果在步骤S103中读标志231未被置位并且相关数据的读取被确定为未在执行中,则处理前进到步骤S106,在步骤S106中写标志211被置位。因而,在这种情况下,由写指针162指定的位置并不移动,并且执行向当前指定的存储体中写入子区属性信息的处理。当然,还执行向数据存储区152中写入子区数据的处理。
在情况1中,在读之前更新读指针171。因此,当读标志231未被置位时,这意味着存储在相关存储体中的数据已被读取。因此,即使在新子区属性信息被写入相关存储体中的情况下,也可以执行正常读取,因为下一读取是从下一存储体开始执行。因而,此时,未生成存储体满状态,并且存储体溢出标志212不被置位。
步骤S107之后的处理与上述处理相同,因而这里省略其描述。
如果在步骤S102中确定由写指针162指定的位置(存储体)和由读指针171指定的位置(存储体)彼此不匹配,则这可以被认为表示两种情形中的任何一种。在这两种情形之一中,未生成存储体满状态。在另一情形中,已经生成存储体满状态,并且写指针162超过读指针171的状态继续。在任何一种情形中,因为存储体溢出标志212的置位不改变并且信息可被写入当前由写指针162指定的存储体中,所以处理前进到步骤S106。步骤S106之后的处理与上述处理相同,因而这里省略其描述。
情况1中的写处理如上所述地执行。
接下来,参考图14的流程图描述情况1中的读处理。读处理被反复执行,直到输出停止信号144被提供为止,或者只要在存储区中还存在尚未读取的子区数据就一直执行。这一点类似地应用于其他情况中的读处理。
读处理一旦开始,存储体溢出标志确认部件223就在步骤S121中确定存储体溢出标志212是否被置位。如果确定存储体溢出标志212被置位,则处理前进到步骤S122。
在步骤S122中,存储体溢出标志设置部件224清零存储体溢出标志212,因为通过接下来要执行的处理消除了存储体满状态。在步骤S123中,读指针更新部件222使由读指针171指定的位置移动到由写指针162指定的存储体的下一个存储体。如上所述,该处理是为了以简单方式减少丢弃的子区数目。
在读指针171被更新之后,读标志设置部件225在步骤S125中置位读标志231,从而指示读处理正在执行中。在步骤S126中,读部件226从由读指针171指定的存储体中读取子区属性信息。另外,读部件226利用添加到已读取的子区属性信息的写地址161来读取子区数据。在读取了数据之后,读标志设置部件225在步骤S127中清零读标志231,从而读处理结束。
如果在步骤S121中确定存储体溢出标志212未被置位,则处理前进到步骤S124。在这种情况下,因为未生成存储体满状态,所以在步骤S124中读指针更新部件222使由读指针171指定的位置前进到被安排为接下来要指定的存储体(即,当前指定的存储体的下一个存储体)。在读指针171已被更新之后,处理前进到步骤S125。步骤S125之后的处理与上述处理相同,因而这里省略其描述。
情况1中的读处理如上所述地执行。通过如上所述控制数据的写和读,在情况1中可以更适当地执行缓冲器的输入/输出控制。结果,即使当生成存储体满状态时,也可以进一步降低对解码图像的影响。
接下来,描述写指针162的更新定时在写之前(即,在写开始时)并且读指针171的更新定时在读之后(即,在读结束时)的情况,即情况2。
下面参考图15的流程图描述情况2中由写控制器151执行的写处理的流程的例子。
当数据获得部件201(图7)获得新子区中的数据时,写处理开始。写处理一旦开始,写指针更新部件202就在步骤S201中更新写指针162,并且使由写指针162指定的位置前进到当前指定的存储体的下一个存储体。在步骤S202中,写指针更新部件202确定由更新后的写指针162指定的位置(存储体)和由读指针171指定的位置(存储体)(后者被通知给写指针更新部件202)彼此是否匹配。如果确定这两个位置彼此匹配,则处理前进到步骤S203。
在步骤S203中,读标志确认部件203参考读标志231,确定存储在由写指针162指定的存储体中的数据是否正在由读控制器154读取。如果读标志231被置位并且相关数据的读取被确定为正在执行中,则处理前进到步骤S204。
在步骤S204中,写指针更新部件202使由写指针162指定的位置移动到由读指针171指定的存储体的下一个存储体,以使读取中的数据不被破坏。此时,因为生成了存储体满状态,所以存储体溢出标志设置部件204在步骤S205中置位存储体溢出标志212。
一旦存储体溢出标志212被置位,写标志设置部件205就在步骤S206中置位写标志211。在步骤S207中,写部件206将由数据获得部件201获得的子区数据存储在数据存储区152中。另外,写部件206将写地址161添加到由数据获得部件201获得的子区属性信息上,然后将子区属性信息写入由写指针162指定的(位置上的)存储体中。在写入结束后,写标志设置部件205在步骤S208中清零写标志211,从而写处理结束。
因而,当生成了存储体满状态并且相关数据的读取在执行中时,以与情况1中相同的方式执行处理。
如果在步骤S203中读标志231未被置位并且相关数据的读取被确定为未在执行中,则处理前进到步骤S205,在步骤S205中存储体溢出标志212被置位。在情况2中,在读取之后更新读标志231。因此,如果读标志231未被置位,则这意味着相关存储体中的数据还未被读取。换句话说,如果相关数据未在读取中,则允许向相关存储器中进行写入,但是因写入产生了存储体满状态。因此,在这种情况下,处理前进到步骤S205,其中存储体溢出标志212被置位。步骤S206之后的处理与上述处理相同,因而这里省略其描述。
如果在步骤S202中确定由写指针162指定的位置(存储体)和由读指针171指定的位置(存储体)彼此不匹配,则这可以被认为表示两种情形中的任一种。在这两种情形之一中,未生成存储体满状态。在另一情形中,已经生成存储体满状态,并且写指针162超过读指针171的状态继续。在任一种情形中,因为存储体溢出标志212的置位不改变并且信息可以被写入到当前由写指针162指定的存储体中,所以处理前进到步骤S206。步骤S206之后的处理与上述处理相同,因而这里省略其描述。
情况2中的写处理如上所述地执行。
接下来,参考图16的流程图描述情况2中的读处理。
读处理一旦开始,存储体溢出标志确认部件223就在步骤S221中确定存储体溢出标志212是否被置位。如果确定存储体溢出标志212被置位,则处理前进到步骤S222。
在步骤S222中,存储体溢出标志设置部件224清零存储体溢出标志212,因为通过接下来要执行的处理消除了存储体满状态。在步骤S223中,读指针更新部件222使由读指针171指定的位置移动到由写指针162指定的存储体的下一个存储体。如上所述,该处理是为了以简单方式减少丢弃的子区数目。
在读指针171已被更新之后,读标志设置部件225在步骤S224中置位读标志231,从而指示读取处理正在执行中。在步骤S225中,读部件226从由读指针171指定的存储体中读取子区属性信息。另外,读部件226利用添加到已读取的子区属性信息的写地址161来读取子区数据。在读取了数据之后,读标志设置部件225在步骤S226中清零读标志231。另外,由读指针171指定的位置在步骤S227中前进到下一存储体,从而读处理结束。
因而,当缓冲器处于存储体满状态时,通过执行上述读处理(即,步骤S223中的处理),无论指针位置如何,都消除了存储体满状态。
另外,在情况2中,尽管读指针171的更新定时基本上位于读结束时,但读指针171不仅在读之后被更新,还特别在读之前(步骤S223)被更新以减小当生成存储体满状态时丢弃的数据量。
如果在步骤S221中确定存储体溢出标志212未被置位,则处理前进到步骤S224。在这种情况下,因为未生成存储体满状态,所以不执行在读之前对读指针171的更新。步骤S224之后的处理与上述处理相同,因而这里省略其描述。
情况2中的读处理如上所述地执行。通过如上所述控制数据的写和读,在情况2中也可以更适当地执行缓冲器的输入/输出控制。结果,即使当生成存储体满状态时,也可以进一步降低对解码图像的影响。
接下来,描述写指针162的更新定时在写之后(即,在写结束时)并且读指针171的更新定时在读之前(即,在读开始时)的情况,即情况3。
下面参考图17的流程图描述情况3中由写控制器151执行的写处理的流程的例子。
当数据获得部件201获得新子区中的子区数据和子区属性信息时,写处理开始。写处理一旦开始,写指针更新部件202就在步骤S301中确定由写指针162指定的位置(存储体)和由读指针171指定的位置(存储体)(后者被通知给写指针更新部件202)彼此是否匹配。如果确定这两个位置彼此匹配,则处理前进到步骤S302。
在步骤S302中,读标志确认部件203参考读标志231,确定存储在由写指针162指定的存储体中的数据是否正在由读控制器154读取。如果读标志231被置位并且相关数据的读取被确定为正在执行中,则处理前进到步骤S303。
在步骤S303中,写指针更新部件202使由写指针162指定的位置移动到由读指针171指定的存储体的下一个存储体,以使读取中的数据不被破坏。此时,因为生成了存储体满状态,所以存储体溢出标志设置部件204在步骤S304中置位存储体溢出标志212。
一旦存储体溢出标志212被置位,写标志设置部件205就在步骤S305中置位写标志211。在步骤S306中,写部件206将由数据获得部件201获得的子区数据存储在数据存储区152中。另外,写部件206将写地址161添加到由数据获得部件201获得的子区属性信息上,然后将子区属性信息写入由写指针162指定的存储体中。在写结束之后,写标志设置部件205在步骤S307中清零写标志211。另外,写指针更新部件202在步骤S308中更新写指针162,并且使由写指针162指定的位置前进到下一存储体,从而写处理结束。
因而,在情况3中,当写指针162追上读指针171并且读控制器154正在读取相关存储体中的数据时,基本上按与上述情况1和2中相同的方式执行处理。然而,写指针162的更新定时在情况3中与情况1和2不同。
如果在步骤S302中读标志231未被置位并且相关数据的读取被确定为未在执行中,则处理前进到步骤S305,在步骤S305中写标志211被置位。换句话说,在这种情况下,由写指针162指定的位置并不移动,并且执行向当前指定的存储体中写入子区属性信息的处理。当然,还执行向数据存储区152中写入子区数据的处理。
在情况3中,在读之前更新读指针171。因此,当读标志231未被置位时,这意味着存储在相关存储体中的数据已被读取。因此,即使在新的子区属性信息被写入相关存储体的情况下,因为下一读取从下一存储体开始执行,所以仍可以执行正常读取。因而,此时,未生成存储体满状态,并且存储体溢出标志212未被置位。
步骤S306之后的处理与上述处理相同,因而这里省略其描述。
如果在步骤S301中确定由写指针162指定的位置(存储体)和由读指针171指定的位置(存储体)彼此不匹配,则这可被认为表示两种情形中的任一种。在这两种情形之一中,未生成存储体满状态。在另一情形中,已经生成存储体满状态,并且写指针162超过读指针171的状态继续。在任一种情形中,因为存储体溢出标志212的置位不改变并且信息可以被写入当前由写指针162指定的存储体中,所以处理前进到步骤S305。步骤S305之后的处理与上述处理相同,因而这里省略其描述。
情况3中的写处理如上所述地执行。
接下来,参考图18的流程图描述情况3中的读处理。
读处理一旦开始,存储体溢出标志确认部件223就在步骤S321中确定存储体溢出标志212是否被置位。如果确定存储体溢出标志212被置位,则处理前进到步骤S322。
在步骤S322中,存储体溢出标志设置部件224清零存储体溢出标志212,因为通过接下来要执行的处理消除了存储体满状态。在步骤S323中,读指针更新部件222确认写标志211是否被置位,从而确定写控制器151是否正在写入数据。如果确定数据正在写入中,则处理前进到步骤S324。
在步骤S324中,读指针更新部件222使由读指针171指定的位置移动到由写指针162指定的存储体的下一个存储体。如上所述,该处理是为了以简单的方式减少丢弃的子区数目。该处理也可有效用于防止写入中的存储体中的数据被读取。
在读指针171已被更新之后,读标志设置部件225在步骤S327中置位读标志231,从而指示读处理正在执行中。在步骤S328中,读部件226从由读指针171指定的存储体中读取子区属性信息。另外,读部件226利用添加到已读取的子区属性信息的写地址161来读取子区数据。在读取了数据之后,读标志设置部件225在步骤S329中清零读标志231,从而读处理结束。
如果在步骤S323中确定写控制器151并未在写入数据,则处理前进到步骤S325。在步骤S325中,读指针更新部件222使由读指针171指定的位置移动到由写指针162指定的存储体。
在情况3中,在写之后更新写指针162。因此,如果写标志211未被置位,则这意味着相关存储体中的数据还未被更新为新数据。因此,在这种情况下,由写指针162指定的存储体中的数据是存储在所有存储体中的数据中的最旧数据。因而,如果处理并不是正在写入中,则读控制器154可以通过读取由写指针162指定的存储体中的数据(步骤S325)来进一步减少丢弃的子区数目。
换句话说,写控制器151在步骤S323中确认处理是否是正在写入中,并且取决于确认结果控制由读指针171指定的位置的移动目的地。结果,写控制器151可以进一步减少丢弃的子区数目。
在步骤S325中处理的结束之后,处理前进到步骤S327。步骤S327之后的处理与上述处理相同,因而这里省略其描述。
如果在步骤S321中确定存储体溢出标志212未被置位,则处理前进到步骤S326。在这种情况下,因为未生成存储体满状态,所以读指针更新部件222在步骤S326中使由读指针171指定的位置前进到被安排为接下来要指定的存储体(即,当前指定的存储体的下一个存储体)。在读指针171被更新之后,处理前进到步骤S327。步骤S327之后的处理与上述处理相同,因而这里省略其描述。
情况3中的读处理如上所述地执行。通过如上所述控制数据的写和读,在情况3中也可以更适当地执行缓冲器的输入/输出控制。结果,即使当生成存储体满状态时,也可以进一步降低对解码图像的影响。
接下来,描述写指针162和读指针171的更新定时分别在写和读之后(即,在读写结束时)的情况,即情况4。
参考图19的流程图描述情况4中由写控制器151执行的写处理的流程的例子。
当数据获得部件201(图7)获得新子区中的数据时,写处理开始。写处理一旦开始,写指针更新部件202就在步骤S401中确定由写指针162指定的位置(存储体)和由读指针171指定的位置(存储体)(后者被通知给写指针更新部件202)彼此是否匹配。如果确定这两个位置彼此匹配,则处理前进到步骤S402。
在步骤S402中,读标志确认部件203参考读标志231,确定存储在由写指针162指定的存储体中的数据是否正在由读控制器154读取。如果读标志231被置位并且相关数据的读取被确定为正在执行中,则处理前进到步骤S403。
在步骤S403中,写指针更新部件202使由写指针162指定的位置移动到由读指针171指定的存储体的下一个存储体,以使读取中的数据不被破坏。此时,因为生成了存储体满状态,所以存储体溢出标志设置部件204在步骤S404中置位存储体溢出标志212。
一旦存储体溢出标志212被置位,写标志设置部件205就在步骤S405中置位写标志211。在步骤S406中,写部件206将由数据获得部件201获得的子区数据存储在数据存储区152中。另外,写部件206将写地址161添加到由数据获得部件201获得的子区属性信息上,然后将子区属性信息写入由写指针162指定的存储体中。在写结束之后,写标志设置部件205在步骤S407中清零写标志211。另外,写指针更新部件202在步骤S408中使由写指针162指定的位置前进到当前指定的存储体的下一个存储体,从而写处理结束。
因而,当生成了存储体满状态并且数据的读取在执行中时,处理以与上述情况3中相同的方式执行。
如果在步骤S402中读标志231未被置位并且数据的读取被确定为未在执行中,则处理前进到步骤S404,在步骤S404中存储体溢出标志212被置位。在情况4中,在读之后更新读标志231。因此,如果读标志231未被置位,则这意味着相关存储体中的数据还未读取。换句话说,如果数据未在读取中,则允许向相关存储体中写入,但是因写入生成了存储体满状态。因此,在这种情况下,处理前进到步骤S404,其中存储体溢出标志212被置位。步骤S405之后的处理与上述处理相同,因而这里省略其描述。
如果在步骤S401中确定由写指针162指定的位置(存储体)和由读指针171指定的位置(存储体)彼此不匹配,则这可以被认为表示两种情形中的任一种。在这两种情形之一中,未生成存储体满状态。在另一情形中,已经生成存储体满状态,并且写指针162超过读指针171的状态继续。在任一种情形中,因为存储体溢出标志212的置位不改变并且信息可以被写入到当前由写指针162指定的存储体中,所以处理前进到步骤S405。步骤S405之后的处理与上述处理相同,因而这里省略其描述。
情况4中的写处理如上所述地执行。
接下来,参考图20的流程图描述情况4中的读处理。
读处理一旦开始,存储体溢出标志确认部件223就在步骤S421中确定存储体溢出标志212是否被置位。如果确定存储体溢出标志212被置位,则处理前进到步骤S422。
在步骤S422中,存储体溢出标志设置部件224清零存储体溢出标志212,因为通过接下来要执行的处理(读)消除了存储体满状态。在步骤S423中,读指针更新部件222确认写标志211是否被置位,从而确定写控制器151是否正在写入数据。如果写标志211被置位并且相关数据的写入被确定为正在执行中,则处理前进到步骤S424。在步骤S424中,读指针更新部件222使由读指针171指定的位置移动到由写指针162指定的存储体的下一个存储体。如上所述,该处理是为了以简单的方式减少丢弃的子区数目。
在读指针171被更新之后,读标志设置部件225在步骤S426中置位读标志231,从而指示读取处理正在执行中。在步骤S427中,读部件226从由读指针171指定的存储体中读取子区属性信息。另外,读部件226利用添加到已读取的子区属性信息的写地址161来读取子区数据。在读取了数据之后,读标志设置部件225在步骤S428中清零读标志231。另外,由读指针171指定的位置在步骤S429中前进到下一存储体,从而读处理结束。
如果在步骤S423中确定数据未在写入中,则处理前进到步骤S425。在步骤S425中,读指针更新部件222使由读指针171指定的位置移动到由写指针162指定的存储体。
在情况4中,与情况3中一样,写指针162在写之后被更新。因此,同样在情况4中,由写指针162指定的存储体中的数据是存储在所有存储体中的数据当中的最旧数据。因而,如果处理并不是正在写入中,则读控制器154可以通过读取由写指针162指定的存储体中的数据(步骤S425)来进一步减少丢弃的子区数目。
换句话说,写控制器151在步骤S423中确认处理是否为正在写入中,并且取决于确认结果控制由读指针171指定的位置的移动目的地。结果,写控制器151可以进一步减少丢弃的子区数目。
在步骤S425中处理的结束之后,处理前进到步骤S426。步骤S426之后的处理与上述处理相同,因而这里省略其描述。
如果在步骤S421中确定存储体溢出标志212未被置位,则处理前进到步骤S426。在这种情况下,因为未生成存储体满状态,所以在不更新读指针171的情况下执行数据读取。步骤S426之后的处理与上述处理相同,因而这里省略其描述。
情况4中的读处理如上所述地执行。通过如上所述控制数据的写和读,在情况4中也可以更合适地执行缓冲器的输入/输出控制。结果,即使当生成存储体满状态时,也可以进一步降低对解码图像的影响。
下面参考图21至23描述在上述输入/输出控制下的读和写之间的关系。下面的描述是针对情况2进行的。
图21是用于说明当在情况2的读期间生成存储体满状态时各个参数的变化例子的时序图。注意,在图21中,时间序列从左向右前进。
图21中的最上一行表示时钟信号(CLOCK)的波形。如图21所示,时钟信号是二进制信号,该信号在图中在高电平时具有值“1”,而在低电平时具有值“0”。图21中的上数第二行以波形(阶梯线)来表示写标志(WritingFlag)211的值的变化。如图21所示,写标志211是二进制参数,该参数在图中在高电平时具有值“1”,而在低电平时具有值“0”。图21中的上数第三行以数值来表示写指针(WritePointer)162的值的变化。写指针162的行中放入的数值指示由写指针162指定的存储体的ID信息。因而,数值改变的时刻表示写指针162被更新时的定时。
图21中的上数第四行以波形(阶梯线)来表示读标志(ReadingFlag)231的值的变化。如图21所示,读标志231是二进制参数,该参数在图中在高电平时具有值“1”,而在低电平时具有值“0”。图21中的上数第五行以数值来表示读指针(ReadPointer)171的值的变化。读指针171的行中放入的数值指示由读指针171指定的存储体的ID信息。因而,数值改变的时刻表示读指针171被更新时的定时。
图21中的最下一行以波形(阶梯线)来表示存储体溢出标志(BankOverFlag)212的值的变化。如图21所示,存储体溢出标志212是二进制参数,该参数在图中在高电平时具有值“1”,而在低电平时具有值“0”。
在图21中的时刻T1,写控制器151未在执行写入。然而,读控制器154正从存储体2读取数据。未生成存储体满状态。
在时刻T2,由写指针162指定的位置在写之前被更新为存储体2。此时,由写指针162指定的位置和由读指针171指定的位置彼此匹配。因此,基于读标志231的值确认存储体2中的数据正在读取中。由于确认存储体2中的数据正在读取中,因此由写指针162指定的位置在时刻T3被进一步更新为存储体3,并且存储体溢出标志212和写标志211都被置位。然后开始向存储体3中写入。
当在时刻T4读取完成时,读标志231被清零,并且由读指针171指定的位置被更新为下一存储体(存储体3)。然而,存储体满状态仍然继续,并且存储体溢出标志212保持置位。即使在时刻T5写入完成并且写标志211被清零之后,存储体满状态仍然继续,并且存储体溢出标志212保持置位。因为写指针162在写开始时被更新,所以它在时刻T5不被更新。
当在时刻T6读处理开始时,存储体溢出标志212被清零,并且由读指针171指定的位置移动到由写指针162指定的位置处的存储体的下一个存储体(存储体4)。然后从存储体4开始执行从存储体读取数据的处理。
通过以这种方式执行控制,即使当生成了存储体满状态时,发送缓冲器113也可以在仅有存储体3中的数据被丢弃的情况下传输数据。换句话说,发送设备101可以更适当地执行缓冲器的输入/输出控制。结果,即使当生成了存储体满状态时,发送设备101也可以进一步降低对解码图像的影响。
图22是用于说明当在除了读期间以外的时刻生成存储体满状态时情况2中各个参数的变化例子的时序图。图22的时序图的结构基本上类似于图21的结构。
在图22中的时刻T11,写控制器151未在执行写入,并且读控制器154未在执行读取。另外,未生成存储体满状态。
当在时刻T12写处理开始时,由写指针162指定的位置被从存储体1更新为存储体2。因为存储体2未在读取中,所以写标志211被置位并且开始向存储体2中写入。另外,此时,由写指针162指定的位置和由读指针171指定的位置彼此匹配,从而生成存储体满状态。因而,存储体溢出标志212被置位。
当在时刻T13开始读处理时,存储体溢出标志212被清零,并且由读指针171指定的位置被更新为由写指针162指定的位置处的存储体(存储体2)的下一个存储体(存储体3)。另外,读标志231被置位,并且开始从存储体3读取数据的处理。
在时刻T14,写入完成并且写标志211被清零。此时,读标志231和读指针171不被更新。另外,存储体溢出标志212不被置位。
在时刻T15,读取完成并且读标志231被清零。另外,由读指针171指定的位置移动到当前指定的位置处的存储体(存储体3)的下一个存储体(存储体4)。
通过以这种方式执行控制,即使当生成了存储体满状态时,发送缓冲器113也可以在不丢弃存储体3中的数据的情况下传输数据。换句话说,发送设备101可以更适当地执行缓冲器的输入/输出控制。结果,即使当生成存储体满状态时,发送设备101也可以进一步降低对解码图像的影响。
图23是用于说明当在存储体满状态期间对多个存储体执行写入时情况2中各个参数的变化例子的时序图。图23的时序图的结构基本上类似于图22的结构。
在图23中的时刻T21,写控制器151未在执行写入,并且读控制器154未在执行读取。另外,未生成存储体满状态。
当在时刻T22写处理开始时,由写指针162指定的位置被从存储体1更新为存储体2。因为存储体2未在读取中,所以写标志211被置位并且开始向存储体2中写入。另外,此时,由写指针162指定的位置和由读指针171指定的位置彼此匹配,从而生成存储体满状态。因而,存储体溢出标志212被置位。
当在时刻T23开始读处理时,存储体溢出标志212被清零。当在时刻T24写处理再次开始时,由写指针162指定的位置被从存储体2更新为存储体3。另外,写标志211被置位并且开始向存储体3中写入。存储体溢出标志212已经被置位。
当在时刻T25读处理开始时,由读指针171指定的位置被从存储体2更新为由写指针162指定的位置处的存储体(存储体3)的下一个存储体(存储体4)。另外,读标志231被置位,并且开始从存储体4读取数据的处理。另外,存储体溢出标志212被清零。
此时,即使由读指针171指定的位置被从存储体2更新为下一存储体(存储体3),存储体3中的数据也不被读取,因为存储体3正在写入中。另外,即使此时写入已经完成,存储体3中的数据也被更新为最新子区中的数据。因此,读控制器154通过如上所述将由读指针171指定的位置更新为由写指针162指定的位置处的存储体的下一个存储体(存储体4),可以进一步降低对解码图像的影响。
在时刻T26,写入完成并且写标志211被清零。在时刻T27,读取完成并且读标志231被清零。另外,在时刻T27,由读指针171指定的位置被更新为下一存储体(存储体5)。
通过以这种方式执行控制,即使当在存储体满状态期间多次执行写时,发送缓冲器113也可以在不丢弃存储体3中的数据的情况下传输数据。换句话说,发送设备101可以更适当地执行缓冲器的输入/输出控制。结果,即使当生成存储体满状态时,发送设备101也可以进一步降低对解码图像的影响。
尽管如上所述关于写指针162和读指针171的更新定时存在四种情况(即,情况1至情况4),但是可以基于四种情况中任选的一种情况(只要它被预先设定)来执行输入/输出控制。然而,应当注意,从以上参考图13至20的描述看,情况1或2比情况3或4更易于执行输入/输出控制。另外,在情况2中,写指针162和读指针171的更新定时彼此不同。因此,在情况2中,由写指针指定的位置和由读指针指定的位置彼此匹配并且读处理正在执行中的可能性比情况1更低。结果,情况2可以减少写指针的更新次数(步骤S104和S204),并且与情况1相比可能更易于处理。另外,在情况2中读处理也更易于执行。
出于上述原因,情况2是希望采用的,以便更容易且更适当地执行缓冲器的输入/输出控制。
下面描述应用本发明实施例的使用低延迟编解码器的信息处理系统100(传输系统)的可想到的具体例子。
一种示例性的系统是将由转播相机拍摄的视频传输到广播台。传输路径102可以是有线或无线的。另一例子是视频会议系统。
另外,本发明的实施例可以应用于实时地在屏幕上显示用户的交互操作的系统,即,实时压缩和传输系统。这种系统的可想到的例子包括其中调谐器和显示器彼此分离的TV视频传输系统以及家庭网络中视频累积器(例如,HDD记录器)和显示器(例如,TV)之间的无线视频传输系统。
上述处理序列可以利用硬件或软件执行。例如,配置为图24中所示的个人计算机可以用于执行上述处理序列。
参考图24,个人计算机500的CPU(中央处理单元)501根据存储在ROM(只读存储器)502中的程序或者从存储单元513加载到RAM(随机访问存储器)503中的程序执行各种处理。CPU 501执行各种处理所必需的数据等根据需要也存储在RAM 503中。
CPU 501、ROM 502和RAM 503经由总线504互连。输入/输出接口510也连接到总线504。
输入/输出接口510还连接有诸如键盘和/或鼠标之类的输入单元511、包括显示器(例如CRT(阴极射线管)或LCD(液晶显示器))和扬声器的输出单元512、例如硬盘形式的存储单元513、以及例如调制解调器形式的通信单元514。通信单元514经由包括因特网在内的网络执行通信处理。
另外,驱动器515根据需要连接到输入/输出接口510。诸如磁盘、光盘、磁光盘或半导体存储器之类的可移动介质521被加载到驱动器515中,并且从所记载的可移动介质521读取的计算机程序根据需要被安装到存储单元513中。
当上述处理序列利用软件执行时,构成该软件的程序被从网络或记录介质安装。
例如,记录介质被提供作为如图24所示的可移动介质521,例如磁盘(包括柔性盘)、光盘(包括CD-ROM(致密盘-只读存储器)和DVD(数字多功能盘))、磁光盘(包括MD(迷你盘))或半导体存储器,该记录介质在其上记录程序并且与设备的主单元分离地分发以将程序传递给用户。另外,记录介质还可以被提供为ROM 502或者包括在存储单元513中的硬盘,在这种记录介质上记录程序并且该记录介质以预先包含在设备的主单元中的状态被传递给用户。
执行本说明书中的上述步骤并且描述记录在记录介质上的程序的方式并不限于按上述时间顺序执行处理的情况,而是可包括并行地或者独立地(并非按时间顺序)执行处理的情况。
而且,在该说明书中,术语“系统”表示由多个部件构成的整个设备。
上面被描述为一个设备的配置可以被划分为多个设备。相反,上面被描述为多个设备的配置可以被集成为一个设备。当然,除了上述以外的其他配置可以被添加到每个设备的配置。另外,只要系统的配置和/或操作作为整体基本相同,在某一个设备的配置中也可包括某个其他设备的配置的一部分。换句话说,本发明的实施例并不限于上述实施例,而是可以在不脱离本发明的要旨的情况下进行各种修改。
本申请包含与2008年9月11日向日本专利局提交的日本在先专利申请JP 2008-233334有关的主题,上述申请的全部内容通过引用而结合于此。
本领域技术人员应当理解,取决于设计需求和其他因素可以发生各种修改、组合、子组合和变更,只要这些修改、组合、子组合和变更在权利要求或其等同物的范围内。

Claims (11)

1.一种信息处理设备,包括:
存储体溢出标志确认装置,用于确认存储体溢出标志是否被置位,所述存储体溢出标志通知存储体满状态的发生,在该存储体满状态中,在设有多个用于存储数据的存储体的存储区中,还未读取的数据被存储在所有存储体中;
读指针控制装置,用于当所述存储体溢出标志确认装置确认所述存储体溢出标志被置位时,使得由读指针指定的位置移动到由写指针指定的位置处的存储体的下一个存储体,所述读指针将所述存储区的多个存储体中的每一个循环指定为要从中读取数据的存储体,所述写指针将所述存储区的多个存储体中的每一个循环指定为要写入数据的存储体;
读装置,用于从由所述读指针指定的位置已被所述读指针控制装置更新后的读指针所指定的存储体中读取数据;
存储装置,该存储装置包括所述存储区并且在每个存储体中存储数据;
写指针控制装置,用于控制所述写指针;
写装置,用于将数据写入到由所述写指针控制装置控制的写指针所指定的存储体中;以及
存储体溢出标志设置装置,用于在还未读取的数据被存储在所述存储装置的所有存储体中时置位所述存储体溢出标志,
其中当所述写指针控制装置更新所述写指针时,所述写指针控制装置限定由所述写指针指定的位置,以使正被所述读装置读取的存储体不被指定。
2.如权利要求1所述的信息处理设备,还包括:
存储体溢出标志清零装置,用于清零由所述存储体溢出标志设置装置置位的存储体溢出标志,所述存储体溢出标志的置位由所述存储体溢出标志确认装置确认。
3.如权利要求1所述的信息处理设备,其中所述写指针控制装置在所述写装置执行写入之前更新所述写指针,并且
其中所述读指针控制装置在所述读装置执行读取之后更新所述读指针。
4.如权利要求1所述的信息处理设备,其中所述写指针控制装置在所述写装置执行写入之前更新所述写指针,并且
其中所述读指针控制装置在所述读装置执行读取之前更新所述读指针。
5.如权利要求1所述的信息处理设备,其中所述写指针控制装置在所述写装置执行写入之后更新所述写指针,并且
其中所述读指针控制装置在所述读装置执行读取之前更新所述读指针。
6.如权利要求1所述的信息处理设备,其中所述写指针控制装置在所述写装置执行写入之后更新所述写指针,并且
其中所述读指针控制装置在所述读装置执行读取之后更新所述读指针。
7.如权利要求1所述的信息处理设备,还包括:
写标志设置装置,用于在所述写装置正在写入数据期间置位指示数据正在写入中的写标志。
8.如权利要求1所述的信息处理设备,还包括:
读标志设置装置,用于在所述读装置正在读取数据期间置位指示数据正在读取中的读标志。
9.如权利要求1所述的信息处理设备,其中所述数据包括指示图像数据被编码的每编码单位的编码数据的属性的属性信息。
10.如权利要求9所述的信息处理设备,其中所述属性信息添加有保存所述编码数据的存储区的地址信息。
11.一种用在信息处理设备中的信息处理方法,该方法包括以下步骤:
确认存储体溢出标志是否被置位,所述存储体溢出标志通知存储体满状态的发生,在该存储体满状态中,在设有多个用于存储数据的存储体的存储区中,还未读取的数据被存储在所有存储体中;
在确认所述存储体溢出标志被置位后,使得由读指针指定的位置移动到由写指针指定的位置处的存储体的下一个存储体,所述读指针将所述存储区的多个存储体中的每一个循环指定为要从中读取数据的存储体,所述写指针将所述存储区的多个存储体中的每一个循环指定为要写入数据的存储体;以及
从由所述读指针指定的位置已被更新后的读指针所指定的存储体中读取数据,
其中,当所述写指针被更新时,限定由所述写指针指定的位置,以使正被读取的存储体不被指定。
CN2009101736647A 2008-09-11 2009-09-10 信息处理设备和方法 Expired - Fee Related CN101674479B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008233334 2008-09-11
JP2008233334A JP5240513B2 (ja) 2008-09-11 2008-09-11 情報処理装置および方法
JP2008-233334 2008-09-11

Publications (2)

Publication Number Publication Date
CN101674479A CN101674479A (zh) 2010-03-17
CN101674479B true CN101674479B (zh) 2013-07-03

Family

ID=41800147

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101736647A Expired - Fee Related CN101674479B (zh) 2008-09-11 2009-09-10 信息处理设备和方法

Country Status (3)

Country Link
US (1) US8565574B2 (zh)
JP (1) JP5240513B2 (zh)
CN (1) CN101674479B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6396819B1 (en) * 1998-03-21 2002-05-28 Richard D. Fleeter Low-cost satellite communication system
US7227884B2 (en) 2000-02-28 2007-06-05 Aeroastro, Inc. Spread-spectrum receiver with progressive fourier transform
WO2007136415A2 (en) * 2005-12-30 2007-11-29 Comtech Mobile Datacom Corporation Mobile satellite communications
US8548107B1 (en) 2009-01-26 2013-10-01 Comtech Mobile Datacom Corporation Advanced multi-user detector
US9106364B1 (en) 2009-01-26 2015-08-11 Comtech Mobile Datacom Corporation Signal processing of a high capacity waveform
US8675711B1 (en) * 2009-09-25 2014-03-18 Comtech Mobile Datacom Corporation System and methods for dynamic spread spectrum usage
US8390743B2 (en) * 2011-03-31 2013-03-05 Intersil Americas Inc. System and methods for the synchronization and display of video input signals
CN103037204A (zh) * 2011-10-10 2013-04-10 深圳市蓝韵实业有限公司 超声图像传输方法及系统
CN104205851A (zh) 2012-04-13 2014-12-10 索尼公司 信息处理装置和方法以及程序
US9715887B2 (en) * 2015-12-28 2017-07-25 Avago Technologies General Ip (Singapore) Pte. Ltd. Magnetic recording system using pattern dependent writer having register pages for storing write currents
US20170371797A1 (en) * 2016-06-24 2017-12-28 Qualcomm Incorporated Pre-fetch mechanism for compressed memory lines in a processor-based system
CN110557341A (zh) * 2018-05-31 2019-12-10 北京京东尚科信息技术有限公司 数据限流的方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0735780A2 (en) * 1995-01-31 1996-10-02 Sony Corporation Reproduction of encoded data in reverse playback operations
CN1516964A (zh) * 2002-02-28 2004-07-28 松下电器产业株式会社 图像发送装置及图像发送方法
CN1665233A (zh) * 2004-03-04 2005-09-07 华为技术有限公司 数据丢弃模块及数据丢弃的实现方法
CN1780254A (zh) * 2004-11-17 2006-05-31 华为技术有限公司 网络处理器中使用缓冲区的方法
CN1968061A (zh) * 2006-10-08 2007-05-23 华为技术有限公司 一种再定时的设备及方法
CN1984339A (zh) * 2005-10-06 2007-06-20 迪康公司 用于存储数据分组的方法和系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6196846A (ja) * 1984-10-17 1986-05-15 Mitsubishi Electric Corp プレジオクロナススリツプ制御回路
JPH0652099A (ja) * 1992-07-28 1994-02-25 Hitachi Ltd Fifoメモリ、そのアクセス制御方式及びfifoメモリを用いた処理システム
JP3511342B2 (ja) * 1996-09-18 2004-03-29 沖電気工業株式会社 データ蓄積回路
US6990598B2 (en) * 2001-03-21 2006-01-24 Gallitzin Allegheny Llc Low power reconfigurable systems and methods
JP3506130B2 (ja) * 2001-06-19 2004-03-15 日本電気株式会社 バッファリング装置及びバッファリング方法
JP3879547B2 (ja) * 2002-03-18 2007-02-14 三菱電機株式会社 データ同期化装置
US7929560B2 (en) * 2005-07-15 2011-04-19 Panasonic Corporation Packet transmitting apparatus
JP4129694B2 (ja) 2006-07-19 2008-08-06 ソニー株式会社 情報処理装置および方法、プログラム、並びに記録媒体
JP2008042222A (ja) * 2006-08-01 2008-02-21 Sony Corp 送信装置および方法、並びにプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0735780A2 (en) * 1995-01-31 1996-10-02 Sony Corporation Reproduction of encoded data in reverse playback operations
CN1516964A (zh) * 2002-02-28 2004-07-28 松下电器产业株式会社 图像发送装置及图像发送方法
CN1665233A (zh) * 2004-03-04 2005-09-07 华为技术有限公司 数据丢弃模块及数据丢弃的实现方法
CN1780254A (zh) * 2004-11-17 2006-05-31 华为技术有限公司 网络处理器中使用缓冲区的方法
CN1984339A (zh) * 2005-10-06 2007-06-20 迪康公司 用于存储数据分组的方法和系统
CN1968061A (zh) * 2006-10-08 2007-05-23 华为技术有限公司 一种再定时的设备及方法

Also Published As

Publication number Publication date
US20100064091A1 (en) 2010-03-11
JP2010068301A (ja) 2010-03-25
US8565574B2 (en) 2013-10-22
CN101674479A (zh) 2010-03-17
JP5240513B2 (ja) 2013-07-17

Similar Documents

Publication Publication Date Title
CN101674479B (zh) 信息处理设备和方法
CN102263950B (zh) 编码设备和编码方法以及解码设备和解码方法
JP4356028B2 (ja) 情報処理装置および方法
AU2017204643B2 (en) Method, apparatus and system for encoding and decoding video data
US20140362098A1 (en) Display stream compression
US8098947B2 (en) Method and apparatus for processing image data by rearranging wavelet transform data
CN1937773B (zh) 外部存储装置、存储图像数据的方法及图像处理器
CN105379256A (zh) 信息处理装置和方法
US8339406B2 (en) Variable-length coding data transfer interface
CN102915280A (zh) 用于多格式视频处理的可配置缓冲器分配
US8503534B2 (en) Multi-bus architecture for a video codec
TWI393447B (zh) 視訊解碼器之訊框緩衝壓縮和記憶體配置
JP2008287460A (ja) 情報処理装置および方法
JP2008288857A (ja) 情報処理装置および方法
US8238434B2 (en) Apparatus and method for processing wavelet information
US10609408B2 (en) Video data processing system using encoding information derived from a previous frame in a sequence of video frames
US8411984B2 (en) Image processing device and method
CN101459839A (zh) 去块效应滤波方法及实现该方法的装置
CN102695060B (zh) 基于jpeg2000标准的自适应存储器和存储方法
CN101754014A (zh) 信息处理设备和方法
CN107241601B (zh) 图像数据传输方法、装置及终端
US20080181518A1 (en) Method and Apparatus for Fast and Flexible Digital Image Compression Using Programmable Sprite Buffer
CN108574847A (zh) 执行缓冲器控制的信息处理设备和方法
EP2845383A1 (en) Mechanism for facilitating cost-efficient and low-latency encoding of video streams
JP2005086723A (ja) 画像送信装置、画像転送方法、画像処理システム、プログラム、及び、情報記録媒体

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130703

Termination date: 20150910

EXPY Termination of patent right or utility model