CN101064516B - 数据处理器和数据处理方法 - Google Patents

数据处理器和数据处理方法 Download PDF

Info

Publication number
CN101064516B
CN101064516B CN2007101010617A CN200710101061A CN101064516B CN 101064516 B CN101064516 B CN 101064516B CN 2007101010617 A CN2007101010617 A CN 2007101010617A CN 200710101061 A CN200710101061 A CN 200710101061A CN 101064516 B CN101064516 B CN 101064516B
Authority
CN
China
Prior art keywords
order
bit stream
piece
processor
putting
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
CN2007101010617A
Other languages
English (en)
Other versions
CN101064516A (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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Publication of CN101064516A publication Critical patent/CN101064516A/zh
Application granted granted Critical
Publication of CN101064516B publication Critical patent/CN101064516B/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/48Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Abstract

数据处理器包括读取器,用于如果在缓冲器中存在8位或更多的空闲空间,则读取在存储器中存储的位流,以及输出到第一排列变换器;第一排列变换器,对PNG位流,按相反顺序改变8位的排列顺序,但不改变用于JPEG位流的排列顺序;第二排列变换器,用于当从缓冲器读出8位的固定长度数据时,在PNG的情况下,进一步改变8位的排列顺序以便输出,但在JPEG的情况下,原样输出到第二处理器;以及第一处理器,用于从缓冲器按每一10位读取VLC的位。

Description

数据处理器和数据处理方法
技术领域
本发明涉及数据处理,以及更具体地说,涉及用于通用地处理具有不同位排列顺序的位流的技术。 
背景技术
近年来,数字图像数据已经在日常中进行使用。由于对于节省存储图像数据的存储介质容量和降低传送图像数据的时间的需求,图像数据通常通过在传输和存储时进行编码而受到压缩,并在再现时进行解码。 
作为图像数据的压缩标准,JPEG(联合图像专家组)是广泛公知的。基于JPEG的图像格式被广泛用于网页、数码相机和DVD(数字通用盘)中。 
为再现JPEG压缩数据,作为压缩数据的位流被从存储介质读出,以便从中恢复霍夫曼码。将恢复的霍夫曼码输入到解码器并由解码器解码(见日本未审专利申请公开号No.Hei-11-261424)。 
图13是表示JPEG格式的视图。如图13所示,JPEG流由多个8位的位块构成,其中在开始处包括一个或多个8位固定长度数据位块,其后是可变长度(VLC)部分的位块。VLC部分中的位块的数量是与VLC的码长度相对应的一个或多个。在VLC部分中的最后一个位块的末尾处包含入填充位,该填充位是被插入的无效位,以便将在VLC部分后跟随的固定长度数据位块的起始点与流的8位边界对齐。这些位的数量为0至7。 
除JPEG格式外,近年来,PNG(便携式网络图形)已经被广泛使用。PNG的结构与图13所示的JPEG格式相当类似。 
这两种图像格式被应用到作为下一代DVD标准的HD DVD(高清晰度DVD)和蓝光盘,并且这些标准允许将两种格式组合起来。 
在这样的背景下,需要支持JPEG和PNG图像格式的再现装置。在这样的再现装置中,鉴于JPEG和PNG格式间的相似性,期望的是降低再现装置的尺寸,以及通过单个再现装置再现JPEG和PNG两种格式的图像,来降低制造成本。 
例如,与JPEG位流中的VLC部分相同,PNG的VLC部分也是霍夫曼码,从而用于PNG和JPEG的VLC部分的编码方法基本上相同。因此,能够考虑用于通用地处理JPEG和PNG位流中的VLC部分的装置。 
通过图14所示的方法,JPEG和PNG位流的8位固定长度数据的块中的位顺序是相同的,然而,VLC块中的位顺序不同。 
因此,为了组合用于处理JPEG和PNG的位流中的VLC部分的装置,在被输入到VLC处理器前,两种VLC块的位排列顺序都需要被对齐。然而,现在已经发现,为了实现这一点,用于读取位流的控制变得复杂。 
发明内容
根据本发明的方面,提供一种数据处理器,包括第一排列变换器,改变用于位流的每一位块的反向顺序中的位的排列顺序,通过多个位块形成位流,缓冲器,临时存储具有由第一排列变换器变换的位排列顺序的位块,以及第一处理器,缓冲器的排列顺序中,按为预定处理单位的每一位数,读取包括在将由第一处理器处理的位块中的位。 
“位块”是指位流的基本构成单位。由为JPEG或PNG而通过的标准而定,由位块的8位形成位流。 
注意由方法、系统或程序代替的上述装置的效果与本发明的实施例相同。 
根据本发明的数据处理器,可以将该装置通用于处理具有不同位排列顺序的位流以及还简化到处理装置的数据供给。 
附图说明
本发明的上述和其他目的、优点和特征从结合附图的下述描述将更显而易见,其中: 
图1是表示用于说明本发明的原理的数据处理系统的框图; 
图2是说明在图1的数据处理系统中,第一和第二排列变换器的操作的视图; 
图3是表示根据本发明的实施例的数据处理系统的结构的框图; 
图4是表示在图3的数据处理系统的解码器的结构的视图; 
图5是示例说明图3的数据处理系统中的控制器和解码器的过程的流程图; 
图6是示例说明图4的解码器中的读取器的过程的流程图; 
图7是示例说明用于固定长度数据的部分的处理的流程图; 
图8是表示数据块间的边界的视图; 
图9是说明对固定长度数据执行的过程的视图; 
图10是示例说明用于VLC部分的过程的流程图; 
图11是说明对VLC执行的过程的视图; 
图12是示例说明图4的解码器中的变换器的过程的流程图; 
图13是表示JPEG的格式的视图;以及 
图14是说明JPEG和PNG的位排列顺序中的差异的视图。 
具体实施方式
现在,将参考所示的实施例来描述本发明。本领域的技术人员将意识到,可以使用本发明的教导来实现许多另外的实施例,并且本发明不限于为说明目的而举例说明的这些实施例。 
在说明本发明的具体实施例前,在下文中将通过作为例子的图1的数据处理系统100,详细描述根据本发明的数据处理技术的原理。 
图1所示的数据处理系统100是对编码图像数据进行解码的例子(在下文中,该编码图像数据被称为位流),并包括存储器10、流处理器80和控制器90。存储器10存储位流,并且流处理器80对存储器10中存储的位流进行解码。控制器90控制流处理器80。 
图1中所示的数据处理系统100的、作为用于执行各种过程的功能块的每一部件可以被构造成硬件形式的处理器、存储器和其他LST。作为软件,它们可以通过加载到存储器的程序来实现它们。因此,本领域的技术人员应理解到能仅通过硬件、软件或其组合来实现功能块,并且不限于它们中的任何一个。 
流处理器80包括读取器20、第一排列变换器30、缓冲器40、第一处理器50、第二排列变换器60和第二处理器70。数据处理系统100能支持多种类型的位流,在这些位流中,位排列顺序的一部分是不同的。例如,如在图14的JPEG和PNG位流中,将由数据处理系统100处理VLC和固定长度数据部分的位流。另外,这两种类型的部分分别由第一处理器50和第二处理器70来处理。在下文中,由第一处理器50处理的部分称为部分A,而由第二处理器70处理的部分称为部分B。注意,在图14所示的例子中,将VLC部分(包括填充位)称为部分A,而将固定长度部分称为部分B。 
读取器20按照在位流中包括的每一位块,从存储器10读出位流, 并将位块输出到第一排列变换器30。例如,如果位块中的位数为n位,则按每一个为n位的方式来读出位块。注意,对于JPEG和PNG位流来说,位块中的位数为8,由此按8位来读出它。 
第一排列变换器30根据控制器90的控制(稍后详细地描述细节),按相反顺序改变从读取器20输出的n位的排列顺序(按相反顺序改变排列顺序在下文中称为交换(swap))并输出到缓冲器40,或按原样输出它。 
缓冲器40是FIFO(先入先出),以及在先入先出的原理下,如果数据是部分A,临时存储在缓冲器40中的数据被输出到第一处理器50,而如果数据是部分B,则经第二排列变换器60输出到第二处理器70。 
第一处理器50处理位流的部分A。第二排列变换器60根据控制器90的控制,交换从缓冲器40输出的部分B的n位、然后输出到第二处理器70,或按原样输出它。 
第二处理器70处理从第二排列变换器60输出的位流的部分B。 
在下文中,将详细地描述控制器90。控制器90执行两种控制。一种是控制是否由第一排列变换器30和第二排列变换器60改变位的排列顺序。另一种是控制对缓冲器40的内容进行移位的移位器(未示出),以便缓冲器40的开始处是接下来将被处理的第一个位块。 
如在上文所述,数据处理系统100能支持多种类型的位流,其中位排列顺序的一部分是不同的。对于这些位流,第一处理器50通常用来处理部分A,而第二处理器70通常用来处理部分B。因此,要求位流中的部分A和部分B的位排列顺序与第一处理器50和第二处理器70进行处理的处理顺序对齐。控制器90依据位流的类型来控制第一排 列变换器30和第二排列变换器60,以便对齐位的排列顺序。 
参考图2,在下文中,将通过第一排列变换器30和第二排列变换器60的操作,来详细地描述控制器90所能采用的4种控制模式、以及按照每一控制模式进行位串排列顺序的改变。在图2中,“开”和“关”分别指“改变”和“未改变”。 
图2的顶部是在存储器10中存储的流的原始排列顺序。通过读取器20,位流按排列顺序读出,并输入到第一排列变换器30。另外,在位流被存储在缓冲器40中后,部分A被输入到第一处理器50,以及部分B经第二排列变换器60被输入到第二处理器70。 
图2的左列表示控制模式,而图2的右列表示按每一控制模式,被输入到第一处理器50的部分A中的位排列的状态,以及被输入到第二处理器70的部分B中的位排列的状态。 
在图2所示的控制模式1中,第一排列变换器30和第二排列变换器60均不执行位交换。因此,输入到第一处理器50的数据(部分A)和输入到第二处理器70的数据(部分B)具有位串的原始排列顺序。该控制模式能支持如下位流,其中部分A和B的位排列顺序与分别由第一处理器50和第二处理器70进行处理的处理顺序相同。 
在图2所示的控制模式2中,第一数据变换器30不执行位交换,而第二排列变换器60执行位交换。因此,尽管输入到第一处理器50的数据(部分A)的位排列顺序保持原样,但输入到第二处理器70的数据(部分B)的位排列顺序具有与原始顺序相反的位排列顺序。该控制模式能支持如下位流,其中部分A的位排列顺序与由第一处理器50进行处理的处理顺序相同,而部分B的位排列顺序与由第二处理器70进行处理的处理顺序相反。 
在图2所示的控制模式3中,第一排列变换器30执行位交换,但第二排列变换器60不执行位交换。因此,输入到第一处理器50的数据(部分A)的位排列顺序和输入到第二处理器70的数据(部分B)的位排列顺序均具有与原始顺序相反的位排列顺序。控制模式能支持如下位流,其中部分A和B的位排列顺序与由第一处理器50和第二处理器70进行处理的处理顺序相反。 
在图2所示的控制模式4中,第一排列变换器30和第二排列变换器60执行位交换。因此,尽管输入到第一处理器50的数据(部分A)的位排列顺序具有与原始顺序相反的位排列顺序,但输入到第二处理器70的数据(部分B)的位排列顺序保持原样。控制模式能支持如下位流,其中部分A的位排列顺序与由第一处理器50进行处理的处理顺序相反,而部分B的位排列顺序与由第二处理器70进行处理的处理顺序相同。 
如上所述,通过利用图1所示的数据处理系统100,可以共同地使用第一处理器50和第二处理器70,来处理部分A或B中数据顺序不同的多种类型的位流。 
在下文中将考虑对两种类型(类型1和类型2)的位流进行处理的情形,所述位流在部分A中的位块中具有相反的位排列顺序,而在部分B中的位块中具有相同的位排列顺序。例如,第一处理器50和第二处理器70在类型1中将按照位流中的位块的原始位排列顺序来进行处理。在这种情况下,如果从存储器10读出位流以便直接提供给第一处理器50和第二处理器70,则由于类型2位流的部分A中的位块的位排列顺序与第一处理器50的处理顺序相反,当读出时,需要调整该排列顺序。另一方面,对于部分B来说,则不要求调整排列顺序。因此,即使对于相同的位流,仍需要不同的控制来读出部分A和B,由此产生由于控制切换而引起的在数据供给中的等待时间。 
而另一方面,根据在图中所示的数据处理系统100,通过第一排列变换器30和第二排列变换器60的组合,使得部分A和B的位排列顺序与第一处理器50和第二处理器70的处理顺序对齐。由此,为了处理一个位流,通过一次将第一排列变换器30和第二排列变换器60设置成开/关,便不需要切换用于由读取器20读出部分A和B的控制。这实现了高速的数据供给。 
而且,当确定是否从存储器10读出下一处理单位(例如8位)的数据时,用于读出的控制对于读取器20来说很简单,因为仅需要参考在缓冲器40中是否存在用于一个处理单位的空闲空间。 
接着,在下文中,将详细地描述实现本发明的上述原理的实施例。图3是表示根据本发明的实施例的数据处理系统200的结构的视图。数据处理系统200包括存储器110,用于存储为位流的编码图像数据;解码器180,用于对在存储器110中存储的位流进行解码;以及控制器190,用于控制解码器180。例如,假定将由数据处理系统200处理的数据是图14中所示的JPEG和PNG位流。 
图4是表示解码器180的结构的视图。解码器180包括读取器120、第一位交换器130、缓冲器140、移位器148、VLC处理器150、第二位交换器160和固定长度数据处理器170。读取器120按每一个为8位的方式从存储器110读出位流,并输出到第一位交换器130。 
第一位交换器130根据控制器190的控制(稍后描述细节),将输出到读取器120的8位数据的排列顺序改变为相反的顺序、并输出到缓冲器140,或按原样输出。 
缓冲器140是FIFO,并与图1中所示的数据处理100中的缓冲器40相同。因此,将不再重复其详细描述。 
移位器148对缓冲器140的内容进行移位,以便缓冲器140的存储区的开始处是接下来将被处理的第一个数据,并且这一操作是根据来自VLC处理器150的移位请求A和码长度、以及来自固定长度数据处理器170的移位请求B(稍后描述细节)来执行的。 
VCL处理器150对应于图1中所示的数据处理系统100的第一处理器50,并对位流中的VLC部分进行解码。 
第二位交换器160将从缓冲器140输出的8位的固定长度数据部分的排列顺序改变为相反顺序,并输出到固定长度数据处理器170。 
固定长度数据处理器170对应于图1中所示的数据处理系统100中的第二处理器70,并对从第二位交换器160输出的固定长度数据部分进行解码。 
如前文所述,在JPEG和PNG位流中,固定长度数据部分的位排列顺序相同,然而,VLC部分的位排列顺序彼此相反。在本实施例中,缺省的是处理JPEG位流。VLC处理器150和固定长度数据处理器170处理JPEG的VLC部分中的数据的排列顺序以及固定长度数据部分中的位排列顺序。 
在图4中,由控制器190发布由第一位交换器130和第二位交换器160接收的“开”或“关”的控制信号以及表示由VLC处理器150和固定长度数据处理器170接收的“读出开始”的控制信号。控制器190通过将控制信号发送到第一位交换器130和第二位交换器160来控制是否执行位交换,并通过将控制信号发送到VCL处理器150和固定长度数据处理器170,指示开始从缓冲器140读出数据。 
在下文中,将详细地描述包括在数据处理系统200中的每一功能块的操作。图5是示例说明通过数据处理系统200中的解码器180和 控制器190的过程流的流程图。左边的流程是控制器190的处理流,而右边的流程是解码器180的处理流。 
控制器190首先根据在存储器110中存储的待处理的位流的类型,来控制第一位交换器130和第二位交换器160是开还是关。具体地,如果待处理的位流是JPEG位流(S10:JPEG),则发送控制信号以便将第一位交换器130和第二位交换器160均设置成“关”(S30)。 
这将第一位交换器130和第二位交换器160设置成“关”,其中,两个交换器均不执行位交换(S110)。 
另一方面,如果待处理的位流是PNG位流(S10:PNG),则控制器190发送控制信号以便将第一位交换器130和第二位交换器160设置成“开”(S20)。这将第一位交换器130和第二位交换器160设置成“开”,其中,两个交换器均执行位交换(S110)。 
然后,控制器190将“读出开始开”信号发送到固定长度数据处理器170,以便指示开始读出位于缓冲器140中存储的位流(稍后描述细节)的开始处的固定长度数据(S40)。在此之后,一旦从固定长度数据处理器170接收到表示固定长度数据的结束的信号(在下文中,称为固定长度结束信号),则控制器190将“读出开始开”信号发送到VLC处理器150,以便指示开始从缓冲器140读出VLC(S50:固定长度数据结束信号和S70)。另一方面,在从VLC处理器150接收表示VLC的结束的信号(在下文中,称为VLC结束信号)后,控制器190重复将“读出开始开”信号发送到固定长度数据处理器170的过程(S50:VLC结束信号和S60)。 
注意,当编码器180结束处理一个位流时(S80:是),控制器190结束数据处理系统200的处理(S90)。在这里,步骤S90中的处理终止的估计是通过解码器180的VLC处理器150来执行。稍后描述 该细节。 
为了对存储器110中存储的位流进行解码,解码器180首先从存储器110中,从位流的开始处开始,以8位的方式按照顺序来依次读出,并输出到第一位交换器130(S 120)。 
经第一位交换器130,由读取器120读出的数据被临时地存储在缓冲器140中,并且被VLC处理器140或固定长度数据处理器170顺序地处理(S130至S150)。一旦从控制器190接收到“读出开”信号,固定长度数据处理器170从缓冲器140读出固定长度数据(S 130:固定长度数据和S140),以进行解码。一旦从控制器190接收“读出开”信号,VLC处理器150从缓冲器140读出VLC,以进行解码(S130:VLC和S150)。重复这些过程,直到被控制器190终止(S170)。 
图6是示例说明在步骤S120中,由读取器120的读出过程的细节的流程图。依据缓冲器140中的空闲空间是否大于或等于8位,如果空闲空间大于或等于8位,则读取器120从存储器110读出8位,经第一位交换器130存储到缓冲器140(S122;否和S124)。如果空闲空间小于8位,则读取器120停止从存储器110读出直到缓冲器140中的空闲空间变得大于等于8位为止(S122:是)。 
在下文中,将通过处理PNG位流的例子,来详细地描述VLC处理器150、第二位交换器160、固定长度数据处理器170和移位器148的处理过程。在这种情况下,当要处理PNG位流时,第一位交换器130和第二位交换器160被设置成“开”,具体来讲是设置成执行交换。 
图7是示例说明图5的固定长度数据过程(S140)的流程图。一旦从控制器190接收到表示读出开始的信号后,固定长度数据处理器170开始从缓冲器140读出开始的8位数据(S141)。 
如在图9的栏1和栏2中所示,在这种情况下,按每个为8位的方式,交换从读取器120读出的固定长度数据的数据顺序,并按照与当存储在存储器110中时的排列顺序相反的排列顺序,将其存储到缓冲器140中。 
固定长度数据处理器170从缓冲器140读出8位固定长度数据,并且当完成读出时,也发出移位请求(在下文中,称为移位请求B以便与来自VLC处理器150的移位请求区分开来)。 
在这里,由固定长度数据处理器170从缓冲器140读出的8位固定长度数据被输入到第二位交换器160。第二位交换器160改变8位数据的排列顺序(S143)。如图9的列3中所示,由第二位交换器160从缓冲器140读出的8位固定长度数据的排列顺序被反向,具体来讲,排列顺序被恢复为在存储器110中存储时的排列顺序。 
固定长度数据处理器170对第二位交换器160已经执行了位交换的该8位固定长度数据执行解码(S144)。 
尽管在图7中未示出,一旦接收到移位请求B,则移位器148朝着缓冲器140的开始处,按8位的方式来对缓冲器140的内容进行移位。通过这样做,在已经由固定长度数据处理器170读出的8位之后的下一8位的开始处到达了缓冲器140的开始处(图9的列4)。 
固定数据处理器170对通过第二位交换器160使其数据顺序恢复到初始的8位进行编码,并且还检测该过程中的8位的最后一位是否是固定长度数据的结束(S144)。其中,“固定长度数据结束”表示固定长度数据与随后的VLC之间的边界A。 
如果解码的固定长度数据的最后位不是边界A(S145:否),则固定长度数据处理器170重复如下过程:从缓冲器140读出8位(以 及发送移位请求B),并在由第二位交换器160执行位交换(包括检测边界A)后,对读出的8位进行解码(S141至S144)。另一方面,如果编码的8位固定长度数据的最后位是边界A(S145:是),则固定长度数据处理器170将固定长度数据结束信号发送到控制器190(S146)以便结束该过程。 
此时,由于由移位器148执行的移位操作,缓冲器140的开始位变为在由固定长度数据处理器170处理的固定长度数据之后的VCL的第一位(见图9的栏6)。 
如上所述,一旦从固定长度数据处理器170接收到固定长度数据结束信号,则控制器190发送信号来指示VLC处理器150开始读出。图10是示例说明在VLC处理器150接收该信号后的过程的流程图。 
一旦从控制器190接收到表示读出开始的信号,则VLC处理器150从缓冲器140的开始处读出预定位数的数据(S152)。依据设计,由VLC处理器150一次读取的位数可以是任何数。在这种情况下,假定为10位。 
如上所述,PNG的VLC部分的位排列顺序与JPEG的VLC部分的位排列顺序相反。如图11的栏1和栏2中所示,在这种情况下,按照每个为8位的方式,交换从读取器120读出的VLC部分的数据的排列顺序,并按照与当在存储器110中存储时的数据顺序相反的排列顺序,将其存储在缓冲器140中。具体来讲,在缓冲器140中存储的VLC部分的位排列与JPEG的VLC部分的位排列顺序相同。在图11所示的例子中,VLC部分具有10位有效数据和5位填充位,以便将该流的8位边界与该块的最后8位对齐。 
VLC处理器150从缓冲器140读出10位数据(S152),对该10位数据解码,并且还检测是否存在VLC的结束位(S154)。如图8所 示,VLC的结束表示在VLC的有效位和填充位之间的边界B1。 
如果没有在处理中的10位内检测到VLC(S156:否),那么VLC处理器150将解码后的码长度(在这种情况下为10位)连同移位请求A一起输出到移位器148(S158)。尽管该图中未示出,一旦从VLC处理器150接收到移位请求A,则移位器148朝着开始处,按照与移位请求A一起输出的码长度,对缓冲器140的内容进行移位。这使得将在已经由VLC处理器150读出的10位之后的数据的开始处将被定位在缓冲器140的开始处(见图11的列4)。 
在这种情况下,如图11的栏5所示,VLC处理器150从缓冲器140读出进一步的10位以便解码,并且检测边界B1(S152至S154)。 
另一方面,当VLC处理器150在解码的同时,检测边界B1时(S156:是),VLC处理器150将当检测到边界B1时进行解码的码长度与填充位数的总和作为所要移位的码长度,与移位请求A一起输出到移位器148。另外,VLC结束信号被发送到控制器190(S164),以便结束该过程。 
此时,由于移位器148的移位操作,填充位被移除,并且缓冲器140中的第一位变为在由VLC处理器150处理的VLC之后的固定长度数据的第一位(见图11中的栏6)。 
如上所述,对位流重复执行由固定长度数据处理器170和VLC处理器150进行的处理,直到位流结束为止。在这里,例如可以如下检测位流的结束。在VLC处理器150中提供计数器,以便对由VLC处理器150编码的像素数进行计数。在所计数的像素数达到构成一帧的像素数时,流结束。另外,当VLC处理器150检测到流的结束时,它将表示该结束的信号发送到控制器190。一旦接收到该信号时,则控制器190控制结束数据处理系统200的过程(图5中的S80:是以及S90)。 
在上述说明中,当说明通过VLC处理器150和固定长度数据处理器170执行的处理时,说明了移位器148的操作。在这里,将对移位器148的操作进行整理说明。 
图12是示例说明移位器148的过程的流程图。一旦从固定长度数据处理器170接收到移位请求B(S180:B),则移位器148按8位的方式对缓冲器140的内容进行移位(S184)。另一方面,一旦从VLC处理器150接收到移位请求A(S180:A),则移位器148按照与移位请求A一起发送的码长度,来对缓冲器140的内容进行移位(S182)。 
随后将描述用于PNG位流的过程。对于JPEG位流来说,当第一位交换器130和第二位交换器160被设置成“关”时,具体来讲是在设置成不执行位交换时,每一功能块按照JPEG位流的位排列顺序来进行处理。除这一点外,该过程与在PNG位流的情况下的过程相同,应此将不重复详细描述。 
如上所述,根据本实施例的数据处理系统200,能够使用通用的VLC处理器150来处理JPEG和PNG位流。另外,第一位交换器130将PNG位流中的VLC的位排列改变为相反顺序,由此可以根据FIFO来执行从缓冲器140的VLC的读出,因此这是很简单的。 
另外,以类似的方式,由于第二位交换器160对已经由第一位交换器130进行了位交换后的PNG位流中的固定长度数据的位排列进行了进一步的交换,以便使该位排列恢复到原始,因此可以根据FIFO来从缓冲器140中读取固定长度数据,因此这是很简单的。 
另外,通过依据JPEG或PNG,一次设置第一位交换器130和第二位交换器160,因此在稍后处理相应的位流时,无论是VLC还是固定长度数据,均不要求设置两个位交换。因此,可以通过读取器120 来读出缓冲器140中的数据,而无需等待VLC结束的检测结果。这实现了高速的数据供给。 
很显然本发明不限于上述实施例,可以修改和改进,而不背离本发明的范围和精神。 

Claims (9)

1.一种数据处理器,包括:
第一排列变换器,其为位流的每一位块,将位的排列顺序改变为相反顺序,所述位流具有多个位块;
缓冲器,其临时地存储被第一排列变换器改变了位排列顺序的位块;
第一处理器,其按照在所述缓冲器的排列顺序,按照每预定处理单位的位数,来读取在将由该第一处理器处理的位块中所包括的位;
第二处理器,其处理与由第一处理器处理的位块不同的位块;
第二排列变换器,其按照在缓冲器的排列顺序,读取在将由第二处理器处理的位块中所包括的位,并按照相反的顺序来改变其中所包括的位的排列顺序,并提供给该第二处理器;以及
控制器,其根据位流的类型,控制是否通过第一和第二排列变换器来改变位的排列顺序,所述位块中的位的排列顺序依据类型而不同,
其中:
所述第一处理器处理包括所述位流中的可变长度数据部分的位块,
所述第二处理器处理包括所述位流中的固定长度数据部分的位块,以及
在包括固定长度部分的位块内的位的排列顺序相同、在包括可变长度数据部分的位块中的位的排列顺序不同的两种类型的位流之间,对于所述位流中的一种类型,所述控制器控制第一和第二排列变换器不改变排列顺序,而对于所述位流中的另一种类型,所述控制器控制第一和第二数据变换器改变排列顺序。
2.如权利要求1所述的数据处理器,其中,所述两种类型的位流是JPEG和PNG位流。
3.如权利要求2所述的数据处理器,其中所述控制器控制第一和第二排列变换器不改变JPEG位流的排列顺序,且所述控制器控制第一和第二排列变换器改变PNG位流的排列顺序。
4.一种数据处理的方法,包括:
执行第一排列变换过程,用于为位流的每一位块,将位的排列顺序改变为相反顺序,该位流具有多个位块;
在缓冲器中临时地存储被第一排列变换器改变了位排列顺序的位块;
按照在所述缓冲器的排列顺序,按照每预定处理单位的位数,来读取在位块之中的特定位块中所包括的位;
按照在所述缓冲器的排列顺序来读取在位块中包括的位,所述位块不同于所述特定位块;
执行第二排列变换过程,以便将所读出的位块中的位的排列顺序改变为相反的顺序;
对通过第二排列变换过程改变了位的排列顺序的所述位块进行处理;以及
根据位流的类型,控制是否执行第一排列变换过程或第二排列变换过程,位块中的位的排列顺序根据类型而不同,
其中:
所述特定位块包括所述位流中的可变长度数据部分,
与所述特定位块不同的位块包括所述位流中的固定长度数据部分,以及
在包括固定长度部分的位块内的位的排列顺序相同、在包括可变长度数据部分的位块中的位的排列顺序不同的两种类型的位流之间,对于所述位流中的一种类型,所述控制器控制不执行第一和第二排列变换过程,而对于所述位流中的另一种类型,控制器控制执行第一和第二排列变换过程。
5.如权利要求4所述的方法,其中所述两种类型的位流是JPEG和PNG位流。
6.如权利要求5所述的方法,其中所述控制器通过第一和第二排列变换过程来控制不改变JPEG位流的排列顺序,且所述控制器通过第一和第二排列变换过程来控制改变PNG位流的排列顺序。
7.一种数据处理器,用于处理在包括固定长度部分的位块内的位的排列顺序相同而在包括可变长度数据部分的位块中的位的排列顺序不同的位流,所述数据处理器包括:
第一排列变换器,其为位流中的每一位块,将位的排列顺序改变为相反顺序;
第二排列变换器,其从第一排列变换器接收位块并且对包括在其中的位的排列顺序按照相反顺序进行变换;
处理位块的第一和第二处理器,第二处理器所处理的位块不同于第一处理器所处理的位块,其中第一处理器从第一排列变换器接收输出并且处理具有可变长度的位块,第二处理器从第二排列变换器接收输出并且处理具有固定长度的位块;以及
控制器,其根据位流的类型,控制是否通过第一和第二排列变换器来改变位的排列顺序,位块中的位的排列顺序依据位流的类型而不同,其中对于一种类型的位流所述控制器控制第一和第二排列变换器不改变排列顺序,而对于另一种类型的位流所述控制器控制第一和第二数据变换器改变排列顺序。
8.根据权利要求7所述的数据处理器,其中所述类型的位流是JPEG和PNG位流。
9.根据权利要求8所述的数据处理器,其中所述控制器不通过第一和第二排列变换器改变JPEG位流的排列顺序,并且所述控制器通过第一和第二排列变换器改变PNG位流的排列顺序。
CN2007101010617A 2006-04-26 2007-04-26 数据处理器和数据处理方法 Expired - Fee Related CN101064516B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006121512 2006-04-26
JP2006-121512 2006-04-26
JP2006121512A JP4717704B2 (ja) 2006-04-26 2006-04-26 データ処理装置およびデータ処理方法

Publications (2)

Publication Number Publication Date
CN101064516A CN101064516A (zh) 2007-10-31
CN101064516B true CN101064516B (zh) 2012-04-04

Family

ID=38649677

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101010617A Expired - Fee Related CN101064516B (zh) 2006-04-26 2007-04-26 数据处理器和数据处理方法

Country Status (5)

Country Link
US (1) US7689808B2 (zh)
JP (1) JP4717704B2 (zh)
KR (1) KR100875860B1 (zh)
CN (1) CN101064516B (zh)
TW (1) TWI340932B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8281395B2 (en) * 2009-01-07 2012-10-02 Micron Technology, Inc. Pattern-recognition processor with matching-data reporting module
US8615138B2 (en) 2011-11-03 2013-12-24 Google Inc. Image compression using sub-resolution images

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1201331A (zh) * 1997-02-27 1998-12-09 松下电器产业株式会社 目标数据处理记录装置、存储媒体和用于传输的数据结构

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0225139A (ja) 1988-07-13 1990-01-26 Fujitsu Ltd プロトコル変換装置
JPH03277069A (ja) * 1990-03-27 1991-12-09 Nec Corp 圧縮伸張コントローラ
EP0778703A3 (en) * 1992-03-24 1999-03-31 Kabushiki Kaisha Toshiba Variable length code recording/playback apparatus
JPH06152888A (ja) 1992-11-13 1994-05-31 Ricoh Co Ltd 両面原稿読取装置
JPH07255055A (ja) * 1994-01-28 1995-10-03 Matsushita Electric Ind Co Ltd 可変長符号復号回路及び復号方法
JPH11275592A (ja) 1998-01-22 1999-10-08 Victor Co Of Japan Ltd 動画像符号列変換装置及びその方法
JP3014999B2 (ja) 1998-03-09 2000-02-28 鐘紡株式会社 ハフマン復号化装置
US7162080B2 (en) * 2001-02-23 2007-01-09 Zoran Corporation Graphic image re-encoding and distribution system and method
US7539393B2 (en) * 2003-12-05 2009-05-26 Microsoft Corporation Method and system for reverse playback of compressed data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1201331A (zh) * 1997-02-27 1998-12-09 松下电器产业株式会社 目标数据处理记录装置、存储媒体和用于传输的数据结构

Also Published As

Publication number Publication date
US20070255932A1 (en) 2007-11-01
KR20070105919A (ko) 2007-10-31
TWI340932B (en) 2011-04-21
TW200818062A (en) 2008-04-16
JP2007295328A (ja) 2007-11-08
US7689808B2 (en) 2010-03-30
CN101064516A (zh) 2007-10-31
JP4717704B2 (ja) 2011-07-06
KR100875860B1 (ko) 2008-12-26

Similar Documents

Publication Publication Date Title
CN1078798C (zh) Mpeg2传送译码器
CN100508585C (zh) 用于控制数字视频比特流逆向播放的装置和方法
US10026146B2 (en) Image processing device including a progress notifier which outputs a progress signal
JP2611637B2 (ja) 画像圧縮伸長装置
CN101064516B (zh) 数据处理器和数据处理方法
CN100574405C (zh) 用于反向播放的方法和装置
US20120243619A1 (en) Apparatus processing video stream
US20070127570A1 (en) Image processor and image processing method
JP2007259323A (ja) 画像復号化装置
CN1367614A (zh) 图象信号译码方法和装置
JPS61164377A (ja) 符号,復号方式
CN100576917C (zh) 逆扫描频率系数的方法和系统
JPH04298164A (ja) ファクシミリ装置用データ圧縮/解凍回路
CN101064515B (zh) 可增进译码效能的方法
JP3156853B2 (ja) 復号化装置および符号化/復号化装置
JP3254899B2 (ja) 画像復号処理装置
JP2950005B2 (ja) 情報記録装置および情報再生装置
JPH05316355A (ja) 画像データ符号化復号化装置
JP3187696B2 (ja) 画像符号化装置
JPH0131830B2 (zh)
JPH05347712A (ja) 復号および符号化装置
JP3108243B2 (ja) 符号化及び復号化装置
JPS5927544B2 (ja) フアクシミリ信号復号化装置
JPH04363971A (ja) 符号化・復号化処理方法
JPH0556284A (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120404

Termination date: 20170426