编码装置及方法

文档序号:7557118阅读:90来源:国知局
专利名称:编码装置及方法
技术领域
本发明涉及一种使用游程长度编码和可变长度编码两种方式的编码装置及方法。特别涉及一种在压缩图像数据的图像压缩技术中使用的编码装置及方法。
背景技术
使用游程长度编码处理和可变长度编码处理的编码方法应用于图像数据的普通压缩技术即JPEG(Joint Photographic ExpertsGroup)和MPEG(Moving Picture Experts Group)中,伴随着数字照相机和数字摄像机的普及、通信技术的发达等,能够用少量的信息量进行数据传送的技术开始广泛普及。
图30表示以往的图像压缩装置的代表结构图。在图30中,DCT(Discrete Cosine Transform)单元801对预先分割成1块8×8个数据而依序输入的图像数据进行频率变换,生成DCT系数。
一般来说,自然图像中的颜色变化大部分是很平滑的。因此,在通过进行频率变换而生成的图31所示的DCT系数分布中,在低频区域f集中数值大的DCT系数,在高频区域g集中数值小的DCT系数。
量化单元802对所生成的DCT系数,通过用预先设定的量化值除以DCT系数来生成量化系数。通过进行这种处理,可以使量化系数集中,以使不影响画质的高频区域g的数值为0。
在编码单元803,根据数值为0的数据个数和量化系数值的组合出现率来分配长度不同的代码字,从而缩小数据整体的容量。
图32是以往的图像压缩装置的编码单元803的结构图。在图32中,从输入单元804输入的1块8×8个数据的相关量化系数是通过写入控制单元806的控制被写入到数据缓冲器805中,通过读出控制单元807从数据缓冲器805中进行图4所示的Z形扫描而顺序读出的。
在游程长度编码单元808中,在比较判定单元811判定由读出控制单元807顺序读出的量化系数是否为0,当量化系数是0时,把该个数累积在游程长度计数器812中,当不是0时,把游程长度计数器812初始化为‘0’。然后输出LEVEL信号和RUN信号,LEVEL信号表示量化系数不是“0”时读出的量化系数值,RUN信号表示在当前时间量化系数是0时的累积个数。
可变长度编码单元809使用来自游程长度编码单元808的输出信号即RUN信号和LEVEL信号,进行可变长度编码,输出编码数据。
但是,上述结构使用LEVEL信号和RUN信号进行编码处理。因此,在连续读出数值是“0”的量化系数,并在游程长度计数器812累积该连续个数期间,不能在可变长度编码单元809进行编码处理。所以,在编码处理中产生等待时间,具有整体上不能实现编码处理的快速化的问题。
作为该问题的一个解决方案,有特开2000-50271号公报公开的图像压缩装置。
如图33所示,特开2000-50271号公报中记述的DCT/量化单元21输出被量化后的DCT系数CF1。另外,游程长度计数器23在DCT系数CF1是‘0’时,把零旗标ZF设为‘1’,在DCT系数CF1不是‘0’时,把零旗标ZF设为‘0’。
游程长度RL1表示DCT系数CF1中数值连续是‘0’的个数。通过求出游程长度RL1,进行游程长度编码。即,游程长度计数器23对应用于图32中的求出游程长度的游程长度编码单元808。
缓冲控制器24根据零旗标ZF、游程长度RL1和DCT系数CF1,把写入数据WD写入缓冲器22的地址WA中。
在DCT系数CF1不是‘0’时,写入数据WD是由上位1比特和CF1构成,上位1比特为零旗标ZF=‘0’。
在DCT系数CF1是‘0’时,写入数据WD是由上位1比特和游程长度RL1构成,上位1比特为零旗标ZF=‘1’。
在零旗标ZF连续是‘1’时,即DCT系数CF1连续是‘0’时,可以通过不改变地址WA的方法而最终将由零旗标ZF=‘1’和游程长度RL1构成的写入数据WD仅存储在一个地址中。
缓冲控制器24从缓冲器22的地址RA读出数据RD,把游程长度RL2和DCT系数CF2作为一对数据供给可变长度编码单元25。
但是,特开2000-50271号公报公开的图像压缩装置,虽然解决了在连续读出数值是‘0’的量化系数并在游程长度计数器23累积该连续的个数期间编码处理不能连续进行的问题,但是仍保留向游程长度RL1的缓冲器的写入处理及从游程长度RL2的缓冲器的读出处理,在将数值连续是‘0’的量化系数的个数写入缓冲器、及由缓冲器读出的处理结束之前,在可变长度编码单元25不能进行编码处理。即,尽管时间变短,但由于依然发生与以往相同的等待时间,所以仍遗留有不能整体实现编码处理的快速化的问题。

发明内容
为了解决上述问题,本发明的目的是,提供一种通过进一步减少进行可变长度编码处理的等待时间来实现编码处理的更快速化的编码装置及方法。
为了达到上述目的,本发明涉及的编码装置,是一种进行游程长度编码和可变长度编码的编码装置,它包括顺序输入1块m×n个数据的输入单元;判定由所述输入单元输入的各个数据的值是否是0的比较判定单元;存储与所述比较判定单元的判定结果相关的判定结果信息的信息寄存器;存储用所述输入单元输入的数据的数据缓冲器;读出控制单元,根据存储在所述信息寄存器的所述判定结果信息,控制对所述数据缓冲器进行的所述数据的读出,以便仅读出所述输入数据的值是非0的数据;游程长度编码单元,使用从所述数据缓冲器读出的数据和存储在所述信息寄存器的所述判定结果信息,进行游程长度编码;和可变长度编码单元,使用在所述游程长度编码单元求出的数值连续是0的数据的个数和所述输入数据形成的一对数据,进行可变长度编码。
采用这种结构,根据存储在信息寄存器的判定结果信息,可以控制对数据缓冲器中数值是0的数据的读出。因此,可以缩短在进行可变长度编码处理前的等待时间,缩短程度是读出数值是0的数据所需要的时间,可以从整体上使编码处理快速化。
另外,本发明涉及的编码装置优选,在所述信息寄存器中,相对所述块内的数据配置,所述判定结果信息是按Z形扫描顺序存储的。
本发明涉及的编码装置优选,还包括控制对数据缓冲器的所述数据写入的写入控制单元,仅在所述比较判定单元判定所述数据的值不是0时,所述写入控制单元允许对所述数据缓冲器的写入。可以减少写入转送,提高数据缓冲器的利用效率。
本发明涉及的编码装置优选,所述数据缓冲器具有可以在一个地址存储L(L为2以上的自然数)个输入数据的结构,还具有选择单元,根据存储在所述信息寄存器的判定结果信息,从所述数据缓冲器读出的L个输入数据中,选择应该把哪个数据输出到所述游程长度编码单元。可以同时判断信息寄存器的多个比特,所以对连续的多个比特的数据,可以同时判断数值是否是0。这样,对数据缓冲器的访问时间变短,所以能够缩短在进行长度编码处理前的等待时间。结果,能够从整体上使编码处理快速化。
本发明涉及的编码装置优选,信息寄存器具有可以存储m×n比特的判定结果信息的结构,在所述信息寄存器中,仅在对应L个输入数据的判定结果信息中至少一个比特表示输入数据不是0时,所述读出控制单元从所述数据缓冲器读出该L个输入数据,6选择单元根据在所述信息寄存器的比特中对应L个输入数据的L比特的判定结果信息,选择从所述数据缓冲器读出的L个输入数据。
本发明涉及的编码装置优选,信息寄存器具有可以按分别不同的排列顺序、以m×n比特存储所述判定结果信息的结构,并且使用由多个所述信息寄存器构成信息寄存器组,还具有输入用于表示由所述输入单元输入的数据的块特征的特征信息的第二输入单元,和根据从所述第二输入单元输入的所述特征信息,从所述信息寄存器组选择任一信息寄存器的寄存器选择单元。对MPEG-4等有多个扫描的可变长度编码,也能实现编码处理的快速化。
本发明涉及的编码装置优选,具有输出切换单元,该输出切换单元具有多个把信息寄存器、所述数据缓冲器、所述写入控制单元和所述读出控制单元作为1个系统的处理系统,对从隶属于哪个处理系统的数据缓冲器向所述扫描长度编码单元进行输出做切换控制,同时进行向所述处理系统之一的数据缓冲器的写入处理和向其他处理系统的数据缓冲器的读出处理。通过同时进行数据的写入处理和读出处理,不用等待从数据缓冲器读出的时间就能进行数据转送。这样,可以缩短可变长度编码处理的等待时间,从整体上使编码处理快速化。
本发明涉及的编码装置优选,还包括代码字数累积单元,根据信息寄存器的判定结果信息,累积不是0的输入数据的个数。10还包括区域设定单元,设定应成为代码字数累积单元的累积处理对象的1块内的区域。进行编码数据的速率控制时,不用等待可变长度编码处理的结束,即可根据外部指示再次进行编码处理。
本发明涉及的编码装置优选,还具有设定代码字数累积单元的累积值的界限值的界限值设定单元,和比较所述累积值和所述界限值的比较单元。这是因为可以在可变长度编码处理的过程中比较判断累积值和界限值,在达到该界限值以上时,可以不等待可变长度编码处理结束就进行再编码,能够缩短可变长度编码处理的等待时间。
本发明涉及的编码装置优选,还具有最终数据判定单元,根据存储在所述信息寄存器的判定结果信息,在从数据缓冲器读出的输入数据被判定为不是数据块内最后的非0的输入数据时,把表示该输入数据是最终数据的信息输出到所述可变长度编码单元。这是因为也可以对应MPEG-4使用的三维可变长度编码。
本发明涉及的编码装置优选,还具有控制对所述数据缓冲器的供给时钟的时钟控制单元,所述时钟控制单元根据存储在所述信息寄存器的判定结果信息,仅在所述输入数据的值不是0的期间,向所述数据缓冲器供给时钟。
其次,为了达到上述目的,本发明涉及的编码装置,一种进行游程长度编码和可变长度编码的编码装置,其特征在于,具有顺序输入1块m×n个数据的输入单元、处理器、第一处理单元和第二处理单元,其中,第一处理单元包括比较并判定用所述输入单元输入的各个数据的值是否是0的比较判定单元;存储与所述比较判定单元的判定结果相关的第一判定结果信息的第一信息寄存器;存储用所述输入单元输入的数据的第一数据缓冲器;和控制对所述第一数据缓冲器的所述数据写入的写入控制单元;第二处理单元包括存储所述第二数据的第二数据缓冲器;存储与所述第二数据的值是否是0相关的第二判定结果信息的第二信息寄存器;读出控制单元,根据存储在所述第二信息寄存器的所述第二判定结果信息,控制从所述第二数据缓冲器进行的所述第二数据的读出;游程长度编码单元,使用从所述第二数据缓冲器读出的所述第二数据和存储在所述第二信息寄存器的所述第二判定结果信息,进行游程长度编码;和可变长度编码单元,使用由在所述游程长度编码单元求出的数值连续是0的所述第二数据的个数和所述第二数据形成的一对数据,进行可变长度编码;所述处理器根据存储在所述第一信息寄存器的信息,从所述第一数据缓冲器读出所述数据,生成第二数据;所述读出控制单元根据所述第二信息寄存器的第二判定结果信息,从所述第二数据缓冲器仅读出数值不是0的所述第二数据,所述游程长度编码单元把所述第二信息寄存器中的第二判定结果信息表示所述第二数据值不是0的区间,作为数值连续是0的所述第二数据的个数输出到所述可变长度编码单元。
这样,通过采用利用处理器划分成第一处理单元和第二处理单元的结构,在两个处理单元间转送数据时,可以缩短读出处理部分和写入处理部分的时间,能够缩短可变长度编码处理的等待时间。因此可以从整体上实现编码处理的快速化。
本发明涉及的编码装置优选,所述处理器在所生成的第二数据的值是0时不输出该第二数据,累积数值是0的所述第二数据的个数,在所生成的第二数据的值不是0时输出该第二数据,同时向所述游程长度编码单元输出数值是0的所述第二数据的累积个数。
其次,为了达到上述目的,本发明涉及的编码装置,一种进行游程长度编码和可变长度编码的编码装置,包括顺序输入1块m×n个数据的输入单元;判定用所述输入单元输入的各个数据的值是否是0的比较判定单元;存储用所述输入单元输入的数据的数据缓冲器;存储在所述比较判定单元被判定为数值不是0的所述数据在所述数据缓冲器中的地址的地址存储单元;读出控制单元,根据存储在所述地址存储单元的所述地址,控制从所述数据缓冲器进行的所述数据的读出;游程长度编码单元,使用从所述数据缓冲器读出的所述输入数据和存储在所述地址存储单元的所述地址,进行游程长度编码;和可变长度编码单元,使用在所述游程长度编码单元求出的数值连续是0的所述数据的个数和所述数据形成的一对数据,进行可变长度编码,所述读出控制单元根据存储在所述地址存储单元的所述地址,从所述数据缓冲器仅读出数值不是0的所述数据,所述游程长度编码单元把上次从所述地址存储单元读出的地址和此次读出的地址的差分,作为数值是0的所述数据的个数输出到所述可变长度编码单元。
采用这种结构,根据存储在地址存储单元的地址,仅对数据缓冲器中数值不是0的数据输出地址。这样,可以缩短可变长度编码处理的等待时间,缩短程度是读出数值是0的数据所需要的时间,可以从整体上使编码处理快速化。
本发明涉及的编码装置优选,所述游程长度编码单元按照Z形扫描顺序计算从所述数据缓冲器读出的地址和前一次读出的地址之间的差分,把所述差分作为数值是0的所述数据的个数输出到所述可变长度编码单元。
本发明涉及的编码装置优选,利用处理器实现所述地址存储单元和所述读出控制单元。
其次,为了达到上述目的,本发明涉及的编码方法,一种进行游程长度编码和可变长度编码的编码方法,包括顺序输入1块m×n个数据的步骤;判定所输入的各个所述数据的值是否是0的步骤;把与所述判定结果相关的判定结果信息存储到信息寄存器中的步骤;把所述输入数据存储到数据缓冲器中的步骤;根据存储在所述信息寄存器的判定结果信息,从所述数据缓冲器选择读出数据的步骤;使用从所述数据缓冲器读出的数据和所述判定结果信息,进行游程长度编码的步骤;和使用在所述进行游程长度编码的步骤求出的数值连续是0的所述数据的个数和所述数据形成的一对数据,进行可变长度编码的步骤。
采用这种方法,根据存储在信息寄存器的判定结果信息,可以控制对数据缓冲器中数值不是0的数据的读出。因此,可以缩短在进行可变长度编码处理前的等待时间,缩短程度是读出数值不是0的数据所需要的时间,可以从整体上使编码处理快速化。
另外,本发明涉及的编码方法优选,把可以在一个地址存储L(L为2以上的自然数)个所述数据的缓冲器作为数据缓冲器使用,从所述数据缓冲器选择读出数据的步骤包括根据存储在所述信息寄存器的判定结果信息,选择应该把从所述数据缓冲器读出的L个所述数据中的哪些数据转送到游程长度编码步骤的步骤;和把所选择的数据转送到游程长度编码步骤的步骤。可以同时判断信息寄存器的判定结果信息中的多个比特,所以对连续的比特数据,可以同时判断数值是否是0,使对数据缓冲器的访问时间变短。结果,能够缩短在进行长度编码处理前的等待时间,可以从整体上使编码处理快速化。
本发明涉及的编码方法优选,所述信息寄存器具有可以按分别不同的排列顺序、以m×n比特存储所述判定结果信息的结构,并且使用由多个所述信息寄存器构成信息寄存器组,还包括输入用于表示输入数据的块特征的特征信息的步骤,和根据所输入的所述特征信息,从所述信息寄存器组选择任一信息寄存器的步骤。对MPEG-4等有多个扫描的可变长度编码,也能实现编码处理的快速化。
本发明涉及的编码方法优选,还包括同时执行多个处理系统,控制在所述多个处理系统中的哪一个处理系统把从数据缓冲器读出的数据转送到游程长度编码步骤的步骤,同时执行所述多个处理系统之一的向所述数据缓冲器的写入处理和其他处理系统中的对所述数据缓冲器的读出处理,其中,所述处理系统包括把所述判定结果信息存储在所述信息寄存器中的步骤;把所述输入数据存储在所述数据缓冲器中的步骤;和根据所述判定结果信息,从所述数据缓冲器选择读出数据的步骤。通过同时进行数据的写入处理和读出处理,不用等待从数据缓冲器读出的时间就能进行数据转送。这样,可以缩短可变长度编码处理的等待时间,从整体上使编码处理快速化。
本发明涉及的编码方法优选,还包括根据所述信息寄存器的判定结果信息,累积不是0的输入数据的个数的步骤。本发明涉及的编码方法优选,还包括设定应成为所述累积处理对象的1块内的区域的步骤。进行编码数据的速率控制时,不用等待可变长度编码处理的结束,即可根据外部指示再次进行编码处理。
本发明涉及的编码方法优选,还包括设定累积值的界限值的步骤;比较所述累积值和所述界限值的比较步骤;和根据所述比较结果,控制所述可变长度编码步骤,以便把编码后的数据容量控制在规定范围内的步骤。也可以在可变长度编码处理的过程中比较判断累积值和界限值,在达到该界限值以上时,可以不等待可变长度编码处理结束就进行再编码,能够缩短可变长度编码处理的等待时间。
本发明涉及的编码方法优选,还包括根据存储在所述信息寄存器的判定结果信息,判定从数据缓冲器读出的输入数据是否是数据块内最后是0的输入数据的步骤,在判定为不是最后是0的输入数据时,把表示该输入数据是最终数据的信息输出到所述可变长度编码步骤。这是因为也可以对应MPEG-4使用的三维可变长度编码。
本发明涉及的编码方法优选,包括控制对所述数据缓冲器的供给时钟的步骤,根据存储在所述信息寄存器的判定结果信息,仅在所述数据的值不是0的期间,向所述数据缓冲器供给时钟。仅对数值不是0的数据个数部分的数据缓冲器各个时钟,所以能抑止消耗电力,实现低电力化。
其次,为了达到上述目的,本发明涉及的编码方法,一种进行游程长度编码和可变长度编码的编码方法,具有第一处理步骤和第二处理步骤,其中,第一处理步骤包括顺序输入1块m×n个数据的步骤;判定各个输入数据的值是否是0的步骤;把与所述判定结果相关的判定结果信息存储在第一信息寄存器的步骤;和把所述输入数据存储在第一数据缓冲器的步骤,第二处理步骤包括根据存储在所述第一信息寄存器的信息,从所述第一数据缓冲器读出所述数据,生成第二数据的步骤;把所述第二数据存储在第二数据缓冲器的步骤;把与所述第二数据的值是否是0相关的第二判定结果信息存储在第二信息寄存器的步骤;根据存储在所述第二信息寄存器的所述第二判定结果信息,控制从所述第二数据缓冲器进行的所述第二数据的读出的步骤;使用从所述第二数据缓冲器读出的所述第二数据和存储在所述第二信息寄存器的所述第二判定结果信息,进行游程长度编码的步骤;和使用在进行所述游程长度编码的步骤求出的数值连续是0的所述第二数据的个数和所述第二数据形成的一对数据,进行可变长度编码的步骤,根据所述第二信息寄存器,从所述第二数据缓冲器仅读出数值不是0的所述第二数据,在所述进行游程长度编码的步骤,把所述第二信息寄存器的第二判定结果信息表示所述第二数据值不是0的区间,作为连续数值是0的所述第二数据的个数转送到进行所述可变长度编码的步骤。
采用这种方法,在第一处理步骤和第二处理步骤之间转送数据时,可以缩短读出处理部分和写入处理部分的时间,能够缩短可变长度编码处理的等待时间。结果,可以从整体上实现编码处理的快速化。
其次,为了达到上述目的,本发明涉及的编码方法,一种进行游程长度编码和可变长度编码的编码方法,包括顺序输入1块m×n个数据的步骤;判定各个输入数据的值是否是0的步骤;把所述输入数据存储在数据缓冲器的步骤;把被判定为数值不是0的所述数据在所述数据缓冲器中的地址存储在地址存储单元的步骤;根据存储在所述地址存储单元的所述地址,从所述数据缓冲器读出所述数据的步骤;使用从所述缓冲器读出的所述输入数据和所存储的所述地址,进行游程长度编码的步骤;和使用在进行所述游程长度编码的步骤求出的数值连续是0的所述数据的个数和所述数据形成的一对数据,进行可变长度编码的步骤,根据存储在所述存储单元的所述地址,从所述数据缓冲器仅读出数值不是0的所述数据,把上次读出的地址和此次读出的地址的差分作为数值是0的输入数据的个数转送到所述进行可变长度编码的步骤。
采用这种方法,根据存储在地址存储单元的地址,仅对数据缓冲器中数值不是0的数据输出地址。这样,可以缩短可变长度编码处理的等待时间,缩短程度是读出数值是0的数据所需要的时间,可以从整体上使编码处理快速化。


图1是本发明的实施方式1涉及的编码装置的结构图。
图2是本发明的实施方式1涉及的编码装置的处理流程图。
图3是本发明的实施方式1涉及的编码装置中的输入单元的输入顺序说明图。
图4是本发明的实施方式1涉及的编码装置中的信息寄存器的存储顺序说明图。
图5是本发明的实施方式1涉及的编码装置中的信息寄存器的存储记录的示例图。
图6是本发明的实施方式1涉及的编码装置的读出地址过渡示例图。
图7是本发明的实施方式1涉及的编码装置的另一种结构图。
图8是本发明的实施方式1涉及的编码装置的再一种结构图。
图9是本发明的实施方式1涉及的编码装置的数值是0的数据的个数计算方法说明图。
图10是本发明的实施方式1涉及的编码装置的又一种结构图。
图11是本发明的实施方式2涉及的编码装置的结构图。
图12是本发明的实施方式2涉及的编码装置的数据获取方法及数据缓冲器结构的示例图。
图13是本发明的实施方式2涉及的编码装置的信息寄存器的存储记录的示例图。
图14是本发明的实施方式3涉及的编码装置的结构图。
图15是本发明的实施方式3涉及的编码装置的水平优先扫描顺序的说明图。
图16是本发明的实施方式3涉及的编码装置的垂直优先扫描顺序的说明图。
图17是采用本发明的实施方式3涉及的编码装置的水平优先扫描顺序时的信息寄存器的存储记录的示例图。
图18是采用本发明的实施方式3涉及的编码装置中的垂直优先扫描顺序时的信息寄存器的存储记录的示例图。
图19是本发明的实施方式4涉及的编码装置的结构图。
图20是本发明的实施方式5涉及的编码装置的结构图。
图21是以往的编码数据量控制处理的流程图。
图22是本发明的实施方式5涉及的编码装置的编码数据量控制处理的流程图。
图23是本发明的实施方式5涉及的编码装置的累积区域设定示例图。
图24是本发明的实施方式5涉及的编码装置的另一种结构图。
图25是本发明的实施方式5涉及的编码装置的编码数据量控制处理的流程图。
图26是本发明的实施方式6涉及的编码装置的结构图。
图27是本发明的实施方式7涉及的编码装置的结构图。
图28是本发明的实施方式8涉及的编码装置的结构图。
图29是本发明的实施方式8涉及的编码装置的另一种结构图。
图30是以往的图像编码装置的结构图。
图31是DCT系数值的示例图。
图32是以往的图像编码装置的编码单元的结构图。
图33是以往的图像编码装置的另一种结构图。
具体实施例方式
(实施方式1)以下,参照

本发明的实施方式1涉及的编码装置。图1是本发明的实施方式1涉及的编码装置的结构图。在本实施方式1中,说明1块数据是8×8个时的情况。
在图1中,2表示顺序输入1块8×8个数据的输入单元,3表示判定从输入单元2输入的数据的值是否是0的比较判定单元,4表示存储同比较判定单元3中数据值是否是0相关的判定信息的8×8比特信息寄存器,5表示存储从输入单元2输入的数据的数据缓冲器。
6表示控制对数据缓冲器5的数据写入的写入控制单元,7表示控制从数据缓冲器5读出数据的读出控制单元。
8表示游程长度编码单元,根据从数据缓冲器5读出的数据和从信息寄存器4读出的判定信息,累积数值是0的数据的个数,进行利用具有连续数值的数据的个数来编码的游程长度编码,9表示可变长度编码单元,把从游程长度编码单元8输出的、值是0的数据的个数和数据自身作为一对数据来使用,从而进行可变长度编码,10表示输出来自可变长度编码单元9的编码数据的输出单元。
图2是本发明的实施方式1涉及的编码装置的处理流程图。根据图2说明处理流程。
首先,在输入单元2按图3所示的从左上部向右下部的顺序输入1块8×8个数据(步骤S201),利用比较判定单元3判定数据的值是否是0(步骤S202)。
比较判定单元3的判定结果被存储到信息寄存器4(步骤S203)。例如,数据的值是0时被存储为‘0’,不是0时被存储为‘1’。
此时,将1块数据按照图4所示Z形扫描顺序、即把第1个数据的判定结果存储到第1比特、把第2个数据的判定结果存储到第2比特、把第3个数据的判定结果存储到第6比特等等的图5所示排列顺序存储到信息寄存器4。
另外,在比较判定单元3判定来自输入单元2的数据的同时,写入控制单元6依次更新例如由RAM(Random Access Memory)构成的数据缓冲器5的地址,写入来自输入单元2的数据自身(步骤S204)。
由输入单元2进行的1块数据的输入结束后(步骤S205Yes),读出控制单元7向数据缓冲器5输出同信息寄存器4中被存储为‘1’的比特相当的地址,读出数值不是0的数据,按图6所示过渡地址,从而进行只读出数值不连续为0的数据的动作(步骤S206)。
即,如图6所示,把对应任意位置比特x的地址设为Ax,为了读出数值不是0的数据,按照A1→A2→A17→A11…这种顺序连续地过渡地址。
在游程长度编码单元8,根据存储在信息寄存器4的信息,计算当前的信息寄存器4中的比特位置和同上次读出数据的末尾相当的信息寄存器4中的比特位置之间的区间,把该区间长度作为数值是0的数据的个数,并与从数据缓冲器5读出的数据一起输出到可变长度编码单元9(步骤S207)。图5表示信息寄存器4中的存储记录的示例图,例如,假设当前的信息寄存器4中的比特位置是‘17’,当前的信息寄存器4中的比特位置和同上次读出数据的末尾相当的信息寄存器4中的比特位置之间的区间,则相当于区间a。
在可变长度编码单元9,把从游程长度编码单元8输出的数值是0的数据的个数和数据作为一对数据来使用,进行可变长度编码,向输出单元10输出编码数据(步骤S208)。
如图7的示例结构所示,也可考虑根据比较判定单元3的判定结果决定是否进行写入处理。即,在比较判定单元3的判定结果是数值是0的数据时,写入控制单元6可以不更新数据缓冲器5的地址,不进行写入处理。
如图8的示例结构所示,也可考虑用地址存储单元11来取代信息寄存器4。该场合时,把写入在比较判定单元3被判定为数值不是0的数据的数据缓冲器5的地址存储在地址存储单元11。
读出控制单元7进行以下控制,通过仅输出存储在地址存储单元11的地址,仅读出除数值是0的数据以外的数据。游程长度编码单元8根据上次读出的地址和此次读出的地址,按照图9所示Z形扫描顺序,计算数值是0的数据的个数。即,计算结果为地址1和2之间为‘0’个、地址2和17之间为‘1’个、地址17和11之间为‘3’个、地址11和26之间为‘3’个。
如图10的示例结构所示,也可以考虑把写有在比较判定单元3被判定为数值不是0的数据的数据缓冲器5的地址由处理器12存储的结构。该场合时,处理器12存储用于读出数据的地址,所以通过直接向数据缓冲器5输出地址,可以读出数值不是0的数据。
另外,处理器12存储用于读出数据的地址,所以处理器12可以按照图9所示Z形扫描顺序,计算数值连续是0的数据的个数,并向游程长度编码单元8输出。
通过采用上述结构,读出控制单元7根据存储在信息寄存器4的信息,仅对数值不是0的数据输出地址。结果,缩短对数据缓冲器5的访问时间,缩短程度是读出数值是0的数据所需的时间,所以能够缩短可变长度编码处理之前的处理时间,可以从整体上使编码处理快速化。
另外,游程长度编码单元8根据存储在信息寄存器4的信息,计算当前的信息寄存器4中的比特位置和同上次读出的数值不是0的数据相当的信息寄存器4中的比特位置之间的区间,从而可以算出当前比特位置中连续数值是0的数据的个数,所以不需要对游程长度进行计数的单元。
再者,在写入控制单元6,可以仅对在比较判定单元3被判定为数值是0的数据进行向数据缓冲器5的写入,所以能够减少写入转送量,可以提高数据缓冲器5的利用效率。
此外,处理器12存储地址时,可以将用于读出数值不是0的数据的地址直接向数据缓冲器5输出,不需要存储地址的单元,所以能够削减硬件的构成部件。
(实施方式2)以下,参照

本发明的实施方式2涉及的编码装置。关于结构和实施方式1相同的部分,通过赋予同一标号来省略其详细说明。在本实施方式2中,也说明1块数据是8×8个时的情况。
图11表示本发明的实施方式2涉及的编码装置101的概略结构图。在图11中,相对实施方式1涉及的编码装置,本实施方式2的特征是具有选择单元110,选择从数据缓冲器5输出的数据,以便能在数据缓冲器5的一个地址中存储例如2个从输入单元2输入的数据。输入单元2、比较判定单元3和信息寄存器4的动作与实施方式1相同。
在图11中,在比较判定单元3判定从输入单元2输入的数据的同时,写入控制单元6按图12(a)所示地向数据缓冲器5输出按Z形扫描顺序在一个地址存储2个数据的地址。即,在地址A0写入第1及第2个数据,在地址A1写入第9及第17个数据,在地址A2写入第10及第3个数据。即如图12(b)所示,在一个地址保存2个数据。向一个地址存储数据的方法是按照Z形扫描顺序把序号在前的数据存储在上位侧,把序号在后的数据存储在下位侧。
从输入单元2进行的1块数据的输入结束时,读出控制单元7同时判断同数据缓冲器5中的地址相对应的信息寄存器4中的比特信息,即同时判断对应图13所示各个地址的两个比特,当某一方的一个数值不是0时、或任何一方的数值均不是0时,向数据缓冲器5输出同信息寄存器4的当前比特位置对应的地址。
读出控制单元7还向选择单元110输出用于表示读出的数据中哪方数值不是0的信息寄存器4的2比特,选择单元110在该2比特的上位比特是‘1’时,输出从数据缓冲器5读出的数据的上位,在该2比特的下位比特是‘1’时,输出从数据缓冲器5读出的数据的下位。在信息寄存器4的2比特都是‘1’时,选择单元110按上位、下位顺序输出从数据缓冲器5读出的数据。
在读出控制单元7根据存储在信息寄存器4的信息从数据缓冲器5的地址读出数据的同时,如果所读出的数据的上位或下位中某一方数值不是0时,游程长度编码单元8按图13所示计算当前的信息寄存器4中的比特位置和同上次读出的数据末尾相当的信息寄存器4中的比特位置之间的区间b,并作为数值是0的数据的个数进行计算。
根据存储在信息寄存器4的信息所读出的数据的上位、下位的数值都不是0时,作为与上位数据成对的0的个数,输出当前的信息寄存器4中的比特位置和同上次读出的数据末尾相当的信息寄存器4中的比特位置之间的区间、即图13中的b,作为与下位数据成对的数值是0的数据的个数,为表示数值不是0的数据是连续的,而输出‘0’。
在下面,可变长度编码单元9的动作与实施方式1相同。
如上所述,在数据缓冲器5使多个数据相关地存储在一个地址中,然后在读出控制单元7,对存储在信息寄存器4的信息,以多比特单位判断数值是否是0,从而也可以同时判断是否是数值不连续是0的数据,在数值连续是0时,相应地可以缩短向数据缓冲器5的访问时间,所以能够缩短可变长度编码处理之前的处理时间,可以从整体上使编码处理快速化。
在本实施方式2中,说明了向数据缓冲器5的一个地址存储两个数据时的情况,但对此没有特别限定,也可以在一个地址存储两个以上的数据。
(实施方式3)以下,参照

本发明的实施方式3涉及的编码装置。关于结构和实施方式1相同的部分,通过赋予同一标号来省略其详细说明。在本实施方式3中,也说明1块数据是8×8个时的情况。
图14表示本发明的实施方式3涉及的编码装置的概略结构图。根据图14可以明确,相对实施方式1,本实施方式3的特征是具有信息寄存器组204,具有至少一个以上以的8×8比特信息寄存器,分别按不同的排列顺序存储在比较判定单元3进行的是否是数值为0的数据的判定结果;第二输入单元205,输入用于表示从输入单元2输入的编码对象块的特征的信息;和信息寄存器选择单元206,根据在第二输入单元205输入的用于表示编码对象块的特征的信息,从信息寄存器组204选择一个信息寄存器。输入单元2、比较判定单元3、写入控制单元6的动作和实施方式1相同。
在图14中,从第二输入单元205输入例如MPEG-4的空间预测编码即AC/DC预测结果。
根据所输入的AC/DC预测结果,并通过在选择单元206选择合适的信息寄存器,可以选择对编码对象块进行可变长度编码时使用的扫描顺序。在图14的示例中,如果选择了信息寄存器c时,则选择图4所示的Z形扫描,如果选择了信息寄存器d时,则选择图15所示的水平优先扫描,而选择了信息寄存器e时,则选择图16所示的垂直优先扫描。
向信息寄存器组204中的信息寄存器c如下所述地存储对1块数据的判定结果,作为图5所示的记录,即,按图4所示的Z形扫描顺序,把第1个数据的判定结果存储到第1比特,把第2个数据的判定结果存储到第2比特,把第3个判定结果存储到第6比特。
向信息寄存器d如下所述地存储对1块数据的判定结果,作为图17所示的记录,即,按图15所示的MPEG-4中使用的水平优先扫描顺序,把第1个数据的判定结果存储到第1比特,把第2个数据的判定结果存储到第2比特,把第3个判定结果存储到第3比特。
向信息寄存器e如下所述地存储对1块数据的判定结果,作为图18所示的记录,即,按图16所示的MPEG-4中使用的垂直优先扫描顺序,把第1个数据的判定结果存储到第1比特,把第2个数据的判定结果存储到第9比特,把第3个判定结果存储到第17比特。
在信息寄存器选择单元206,根据从第二输入单元205输入的AC/DC预测结果,选择信息寄存器组204中的一个信息寄存器,向读出控制单元7输出存储在所选择的信息寄存器中的信息。
以下的读出控制单元7、游程长度编码单元8和可变长度编码单元9的动作和实施方式1相同。
如上所述,在信息寄存器组204中准备具有多种排列顺序的信息寄存器,可以根据从第二输入单元205输入的信息选择信息寄存器,例如MPEG-4等可变长度编码,也能实现编码快速化。
在本实施方式3中,作为示例,说明了把MPEG-4的AC/DC预测结果作为第二输入时的情况,但并不限定于此,也可以是根据其他信息来选择信息寄存器的结构。
另外,在本实施方式3中,说明了从具有利用三种不同扫描而形成的存储顺序的信息寄存器中选择一个时的情况,但并不限定于该结构,也可以准备具有利用其他扫描来形成存储顺序的信息寄存器。
(实施方式4)以下,参照

本发明的实施方式4涉及的编码装置。关于结构和实施方式1相同的部分,通过赋予同一标号来省略其详细说明。在本实施方式4中,也说明1块数据是8×8个时的情况。
相对实施方式1,本实施方式4的特征是,具有进行从与输入到信息寄存器的数据是否是0相关的信息的存储、到从数据缓冲器的数据读出的多个处理系统。以下,举例说明具有两个该处理系统时的情况。
图19表示本发明的实施方式4涉及的编码装置的概略结构。在图19中,本编码装置还具有8×8比特的信息寄存器304,用于存储比较判定单元3的判定结果、即与所输入的数据的数值是否是0相关的信息;用于存储从输入单元2输入的数据的数据缓冲器305;控制向数据缓冲器305的写入的写入控制单元306;控制从数据缓冲器305进行的读出的读出控制单元307;对来自数据缓冲器5和数据缓冲器305的数据进行切换输出的切换单元308。
首先,在图19中,把包含进行和实施方式1相同处理的信息寄存器4、数据缓冲器5、写入控制单元6、读出控制单元7的一系列处理系统作为处理A,把包含进行和实施方式1相同处理的信息寄存器304、数据缓冲器305、写入控制单元306、读出控制单元307的一系列处理系统作为处理B。
在比较判定单元3判定从输入单元2输入的1块8×8个数据,通过处理A进行向数据缓冲器5的写入处理。然后,在从输入单元2输入的1块数据的输入结束时,执行利用处理A进行的从数据缓冲器5的读出处理,并从切换单元308输出。在利用该处理A开始进行读出处理的同时,从输入单元2顺序输入下1块数据,在比较判定单元3进行判定,通过处理B进行向数据缓冲器5的写入处理。
从输入单元2输入的1块数据的输入结束时,执行利用处理B进行的从数据缓冲器305的读出处理,并从切换单元308输出。在利用该处理B开始进行读出处理的同时,从输入单元2顺序输入下1块数据,在比较判定单元3进行判定,通过处理A进行向数据缓冲器5的写入处理。这样,交替利用处理A和处理B进行编码处理。游程长度编码单元8和可变长度编码单元9的动作和实施方式1相同。
这样,通过具有多个从与输入到和实施方式1相同的信息寄存器的数据数值是否是0相关的信息的存储、到从数据缓冲器进行的数据读出的处理系统,可以同时并行进行向数据缓冲器的数据写入处理和读出处理,相应地不用等待从数据缓冲器的读出时间就能进行编码处理,所以能从整体上使编码处理快速化。
另外,在本实施方式4中说明了每个数据缓冲器具有写入控制单元和读出控制单元,但也可以是利用一个写入控制单元和读出控制单元来控制双方数据缓冲器的结构。
(实施方式5)以下,参照

本发明的实施方式5涉及的编码装置。关于结构和实施方式1相同的部分,通过赋予同一标号来省略其详细说明。在本实施方式5中,说明进行JPEG等编码时1块数据是8×8个时的情况。
图20表示本发明的实施方式5涉及的编码装置的概略结构图。相对实施方式1,本实施方式5的特征是,具有累积信息寄存器4中数值不是0的数据的个数的代码字数累积单元402;对代码字数累积单元402累积的1块数据内的区域进行设定的区域设定单元403;和输出代码字数累积单元402生成的累积值的输出单元404。
在JPEG等编码技术中,为了控制编码后的数据容量,以往是如图21的处理流程图所示,进行DCT处理(步骤S211),进行量化处理(步骤S212),利用可变长度编码进行编码(步骤S213),计算所生成的一个画面的编码量(步骤S214),通过与规定界限值进行比较判定编码量的累积值是否在合适范围内(步骤S215)。
即,在一个画面的编码量的累积值超过所设定的规定界限值时(步骤S215Yes),为了增大数值是0的系数以减少编码量,,是变更在量化处理的除法运算中使用的量化值(步骤S216),再次进行编码处理。在一个画面的编码量的累积值小于所设定的规定界限值时(步骤S215No),输出生成的编码(步骤S217)。
这样,以往的编码技术为了控制编码后的数据容量,在完成一次编码处理后,需要再次变更量化值进行编码处理。
一般,可变长度编码是向数值不是0的数据分配代码字,数值不是0的数据越多,代码字数也越多。因此,在本实施方式5中,通过在信息寄存器4累积数值是‘1’的个数,不用完成编码处理就能判定编码数据量是否合适。
本实施方式5涉及的编码装置的处理流程图如图22所示。在图22中,对输入的数据进行DCT处理(步骤S221)及量化处理(步骤S222),进行可变长度编码处理(步骤S223)的同时,在代码字数累积单元402判定存储在信息寄存器4的数值是否是0(步骤S224),并累积数值是‘1’的数据的个数(步骤S225)。
在该代码字数累积单元402进行累积时,高频区域的数据不怎么影响画质,所以在区域设定单元403把区域优选设在高频区域。这样,可以在不影响画质的情况下把改变量化值以使在指定区域含有更多数值是0的数据,能够减小编码量。
所以,在区域设定单元403如图23所示,例如,把1块数据内的高频区域设定为代码字数累积范围,代码字数累积单元402累积一个画面的、同区域设定单元403设定的区域相当的信息寄存器4内的、数值是‘1’的数据的个数累积为1个画面,并从输出单元404输出。
根据从输出单元404输出的累积值,例如,使用外部处理器和规定界限值进行比较(步骤S226),如果超过规定的界限值(步骤S226Yes),判断为编码后的数据容量过多,在可变长度编码单元9结束可变长度编码之前变更量化值(步骤S227),然后再次进行可变长度编码。
从输出单元404输出的累积值如果小于规定的界限值(步骤S226No),判断为编码后的数据容量合适,在可变长度编码单元9继续进行可变长度编码处理,生成代码字(步骤S228)。
如图24所示,还可以具有界限值设定单元405,对代码字数累积单元402的累积值设定界限值;比较单元406,比较来自代码字数累积单元402的累积值和在代码字数界限值设定单元405设定的界限值;和输出单元407,输出用于表示比较单元406的比较结果的信息。
这样,如图25的处理流程图所示,可以在进行编码处理时进行累积值的大小判断,所以不需要使用外部处理器,就能以块单位进行编码数据的速率控制。
通过采用以上结构,进行可变长度编码时的编码数据的速率控制时,不用等待可变长度编码处理结束就能再次进行编码处理,缩短了等待时间,相应地实现编码处理的快速化。
(实施方式6)
以下,参照

本发明的实施方式6涉及的编码装置。关于结构和实施方式1相同的部分,通过赋予同一标号来省略其详细说明。在本实施方式6中,也说明1块数据是8×8个时的情况。
图26表示本发明的实施方式6涉及的编码装置的概略结构图。相对实施方式1,本实施方式6的特征是,具有最终数据判定单元502,判定用于表示存储在信息寄存器4的数值不是0的数据的信息,是否是用于表示不是该块内的最后是0的数据的信息。输入单元2、比较判定单元3、信息寄存器4、写入控制单元6、读出控制单元7的动作和实施方式1相同。
在读出控制单元7向数据缓冲器5输出用于读出当前块内最后的不是0的数据的地址的同时,最终数据判定单元502根据存储在信息寄存器4中的信息,判定是否为当前块内最后的数值是非0的数据,把与该判定结果相关的信息输出到可变长度编码单元9。
这样,最终数据判定单元502根据存储信息寄存器4的信息,可以判定当前块内最后的数值是非0的数据,因此可变长度编码单元9可以对应例如在MPEG-4中使用的、利用表示数据值大小的LEVEL信号、表示游程长度的RUN信号以及表示最终数据信息的LAST信号进行的三维可变长度编码。
(实施方式7)以下,参照

本发明的实施方式7涉及的编码装置。关于结构和实施方式1相同的部分,通过赋予同一标号来省略其详细说明。在本实施方式7中,也说明1块数据是8×8个时的情况。
图27表示本发明的实施方式7涉及的编码装置的概略结构图。相对实施方式1,本实施方式7的特征是,具有时钟控制单元602,根据存储在信息寄存器4的信息,控制向数据缓冲器5的时钟供给。输入单元2、比较判定单元3、信息寄存器4、写入控制单元6、读出控制单元7的动作和实施方式1相同。
时钟控制单元602根据存储在信息寄存器4的信息,例如将数值不是0的数据表示为‘1’时,通过累积‘1’的个数可以判定当前块内数值不是0的数据有几个。
因此,时钟控制单元602仅在读出控制单元7根据存储在信息寄存器4的信息向数据缓冲器5只输出数值不是0的数据的地址期间,即仅在处于数值不是0的数据的期间向数据缓冲器5供给时钟。
如上所述,时钟控制单元602根据存储在信息寄存器4的信息,仅向数据缓冲器5供给同数值不是0的数据个数相应的时钟,所以能够抑止功耗,实现低功率化。
(实施方式8)以下,参照

本发明的实施方式8涉及的编码装置。本实施方式8把实施方式1的整个处理划分成多个处理,通过进行类似流水线处理的先行控制,实现编码处理的快速化。在本实施方式8中,也说明1块数据是8×8个时的情况。
图28表示本发明的实施方式8涉及的编码装置的概略结构图。在图28中,把整个编码处理划分成截止到向数据缓冲器进行写入处理的第一处理,和从数据缓冲器进行读出处理以后的第二处理,对此进行说明。
首先,702表示顺序输入1块8×8个数据的输入单元,703表示判定从输入单元702输入的数据的数值是否是0的比较判定单元,704表示根据比较判定单元703的判定存储同数据的值是否是0相关的信息的8×8比特的第一信息寄存器,705表示存储从输入单元702输入的数据的第一数据缓冲器,706表示控制向第一数据缓冲器705的数据写入的写入控制单元。
707表示处理器,对存储在第一信息寄存器704的信息和存储在第一数据缓冲器705的数据进行量化处理,并转送到第二信息寄存器709和第二数据缓冲器708。
710表示控制从第二数据缓冲器708进行的数据读出的读出控制单元,711表示游程长度编码单元,根据从第二数据缓冲器708读出的数据和存储在第二信息寄存器709的信息,计算出数值连续是0的数据的个数,进行游程长度编码,712表示可变长度编码单元,将从游程长度编码单元711输出的数值连续是0的数据的个数和数据作为一对数据使用,进行可变长度编码,713表示输出来自可变长度编码单元712的编码数据的输出单元。
在第一处理,首先从,将例如在JPEG中使用的DCT的结果为1块8×8个的数据作为一个单位输入到输入单元702,通过比较判定单元703判定所输入的全部数据的值是否是0。
将比较判定单元703的判定结果存储到第一信息寄存器704中,例如,数值是0时存储为‘0’,数值不是0时存储为‘1’。
在比较判定单元703判定从输入单元702输入的数据的同时,写入控制单元706顺序更新例如由RAM等构成的第一数据缓冲器705的地址,写入从输入单元702输入的DCT系数。
处理器707读入存储在第一信息寄存器704的8×8比特的信息,访问第一数据缓冲器705中相当于第一信息寄存器704中存储着‘1’的比特的地址,读出数值不是0的数据,按图6所示进行地址过渡,从而只读出数值连续为非0的数据。
另外,处理器707在从第一数据缓冲器705读出数值不是0的数据后,通过量化处理生成量化系数,在量化系数不是0时,向第二数据缓冲器708的、同第一数据缓冲器705的读出地址相同的地址中写入生成的量化系数。
并且,向第二信息寄存器709的规定比特中写入同所写入量化系数是否是0有关的信息。此时,处理器707在进行向第二数据缓冲器708的写入处理之前,需要把第二信息寄存器709的所有比特设为‘0’。即,需要把第二信息寄存器709初始化。
以下,第二读出控制单元710、第二游程长度编码单元711、第二可变长度编码单元712的动作和实施方式1中对应的读出控制单元7、游程长度编码单元8和可变长度编码单元9相同。
采用通过处理器707来设置上述第一处理和第二处理的结构,可以缩短处理之间转送数据时的读出处理和写入处理时间。因此,能够从整体上使编码处理快速化。
另外,处理器707既可以逐个对每个数据交替进行从数据缓冲器705的数据读出处理和向第二数据缓冲器708的写入处理,也可以在数值不是0的数据的读出全部结束后进行写入处理。
信息寄存器709也可以是在1块数据处理结束后自动将所有比特初始化使为‘0’的结构。
另外,也可以考虑图29所示的结构。在图29中,把第二处理特定为具体的编码处理。
即,处理器707根据存储在信息寄存器704的信息,从数据缓冲器705读出数值不是0的数据的同时,求出当前的信息寄存器704中的比特位置和同上次读出的数据末尾相当的信息寄存器704中的比特位置之间的区间、例如图5中的a,并计数数值是0的数据的个数进行量化处理,从而在量化系数变为0时把数值是0的数据的个数增加‘1’,并根据存储在信息寄存器704的信息,从数据缓冲器705读出下一个数值不是0的数据。
在量化系数不是0时,把该量化系数输出到游程长度编码单元711,同时输出数值是0的数据的累积个数。
如上所述,采用通过处理器来设置上述第一处理和第二处理的结构,可以缩短在处理之间转送数据时的读出处理和写入处理时间,所以能够从整体上使编码处理快速化。
如果采用以上所述的本发明涉及的编码装置,根据存储在信息寄存器的信息来控制对数据缓冲器中数值不是0的数据的读出等,实现读出时间的缩短和写入转送时间的缩短等,从而可以缩短可变长度编码处理中的等待时间,能够从整体上使编码处理快速化。
权利要求
1.一种进行游程长度编码和可变长度编码的编码装置,其特征在于,包括顺序输入1块m×n个数据的输入单元;判定用所述输入单元输入的各个数据的值是否是0的比较判定单元;存储与所述比较判定单元的判定结果相关的判定结果信息的信息寄存器;存储所述输入单元输入的数据的数据缓冲器;读出控制单元,根据存储在所述信息寄存器的所述判定结果信息,控制对所述数据缓冲器进行的所述数据的读出,以便仅读出所述输入数据的值是非0的数据;游程长度编码单元,使用从所述数据缓冲器读出的数据和存储在所述信息寄存器的所述判定结果信息,进行游程长度编码;和可变长度编码单元,使用由在所述游程长度编码单元求出的数值连续是0的数据的个数和所述输入数据形成的一对数据,进行可变长度编码。
2.根据权利要求1所述的编码装置,其特征在于,在所述信息寄存器中,相对所述块内的数据配置,所述判定结果信息是按Z形扫描顺序存储的。
3.根据权利要求1所述的编码装置,其特征在于,还包括控制对所述数据缓冲器的所述数据写入的写入控制单元,仅在所述比较判定单元判定所述数据的值不是0时,所述写入控制单元允许对所述数据缓冲器的写入。
4.根据权利要求1所述的编码装置,其特征在于,所述数据缓冲器具有可以在一个地址存储L(L为2以上的自然数)个输入数据的结构,还具有选择单元,根据存储在所述信息寄存器的判定结果信息,从所述数据缓冲器读出的L个输入数据中,选择应该把哪个数据输出到所述游程长度编码单元。
5.根据权利要求4所述的编码装置,其特征在于,所述信息寄存器具有可以存储m×n比特的判定结果信息的结构,在所述信息寄存器中,仅在与L个输入数据对应的判定结果信息中至少一个比特表示输入数据不是0时,所述读出控制单元从所述数据缓冲器读出所述L个输入数据。
6.根据权利要求4所述的编码装置,其特征在于,所述选择单元根据在所述信息寄存器的比特中对应L个输入数据的L比特的判定结果信息,选择从所述数据缓冲器读出的L个输入数据。
7.根据权利要求1所述的编码装置,其特征在于,所述信息寄存器具有可以按分别不同的排列顺序、以m×n比特存储所述判定结果信息的结构,并且由多个所述信息寄存器构成信息寄存器组,还具有输入用于表示由所述输入单元输入的数据的块特征的特征信息的第二输入单元,和根据从所述第二输入单元输入的所述特征信息从所述信息寄存器组选择任一信息寄存器的寄存器选择单元。
8.根据权利要求2所述的编码装置,其特征在于,具有输出切换单元,该输出切换单元具有多个把所述信息寄存器、所述数据缓冲器、所述写入控制单元和所述读出控制单元作为1个系统的处理系统,对从隶属于哪个处理系统的数据缓冲器向所述扫描长度编码单元进行输出做切换控制,并同时进行向所述处理系统之一的数据缓冲器的写入处理和向其他处理系统的数据缓冲器的读出处理。
9.根据权利要求1所述的编码装置,其特征在于,还包括代码字数累积单元,根据信息寄存器的判定结果信息,累积不是0的输入数据的个数。
10.根据权利要求9所述的编码装置,其特征在于,还包括区域设定单元,设定应成为代码字数累积单元的累积处理对象的1块内的区域。
11.根据权利要求9所述的编码装置,其特征在于,还具有设定所述代码字数累积单元的累积值的界限值的界限值设定单元,和对所述累积值与所述界限值进行比较的比较单元。
12.根据权利要求1所述的编码装置,其特征在于,还具有最终数据判定单元,根据存储在所述信息寄存器的判定结果信息,在从数据缓冲器读出的输入数据被判定为是数据块内最后的非0的输入数据时,把表示该输入数据是最终数据的信息输出到所述可变长度编码单元。
13.根据权利要求1所述的编码装置,其特征在于,还具有控制对所述数据缓冲器的供给时钟的时钟控制单元,所述时钟控制单元根据存储在所述信息寄存器的判定结果信息,仅在所述输入数据的值不是0的期间,向所述数据缓冲器供给时钟。
14.一种进行游程长度编码和可变长度编码的编码装置,其特征在于,具有顺序输入1块m×n个数据的输入单元、处理器、第一处理单元和第二处理单元,其中,第一处理单元包括比较并判定用所述输入单元输入的各个数据的值是否是0的比较判定单元;存储与所述比较判定单元的判定结果相关的第一判定结果信息的第一信息寄存器;存储用所述输入单元输入的数据的第一数据缓冲器;和控制对所述第一数据缓冲器的所述数据写入的写入控制单元;第二处理单元包括存储所述第二数据的第二数据缓冲器;存储与所述第二数据的值是否是0相关的第二判定结果信息的第二信息寄存器;读出控制单元,根据存储在所述第二信息寄存器的所述第二判定结果信息,控制从所述第二数据缓冲器进行的所述第二数据的读出;游程长度编码单元,使用从所述第二数据缓冲器读出的所述第二数据和存储在所述第二信息寄存器的所述第二判定结果信息,进行游程长度编码;和可变长度编码单元,使用由在所述游程长度编码单元求出的数值连续是0的所述第二数据的个数和所述第二数据形成的一对数据,进行可变长度编码;所述处理器根据存储在所述第一信息寄存器的信息,从所述第一数据缓冲器读出所述数据,生成第二数据;所述读出控制单元根据所述第二信息寄存器的第二判定结果信息,从所述第二数据缓冲器仅读出数值不是0的所述第二数据,所述游程长度编码单元把所述第二信息寄存器中的第二判定结果信息表示所述第二数据值不是0的区间,作为数值连续是0的所述第二数据的个数输出到所述可变长度编码单元。
15.根据权利要求14所述的编码装置,其特征在于,所述处理器在所生成的第二数据的值是0时不输出所述第二数据,而累积数值是0的所述第二数据的个数,在所生成的第二数据的值不是0时输出所述第二数据,同时向所述游程长度编码单元输出数值是0的所述第二数据的累积个数。
16.一种进行游程长度编码和可变长度编码的编码装置,其特征在于,包括顺序输入1块m×n个数据的输入单元;判定用所述输入单元输入的各个数据的值是否是0的比较判定单元;存储用所述输入单元输入的数据的数据缓冲器;存储在所述比较判定单元被判定为数值不是0的所述数据在所述数据缓冲器中的地址的地址存储单元;读出控制单元,根据存储在所述地址存储单元的所述地址,控制从所述数据缓冲器进行的所述数据的读出;游程长度编码单元,使用从所述数据缓冲器读出的所述输入数据和存储在所述地址存储单元的所述地址,进行游程长度编码;和可变长度编码单元,使用由在所述游程长度编码单元求出的数值连续是0的所述数据的个数和所述数据形成的一对数据,进行可变长度编码;所述读出控制单元根据存储在所述地址存储单元的所述地址,从所述数据缓冲器仅读出数值不是0的所述数据,所述游程长度编码单元把上次从所述地址存储单元读出的地址和此次读出的地址的差分,作为数值是0的所述数据的个数输出到所述可变长度编码单元。
17.根据权利要求16所述的编码装置,其特征在于,所述游程长度编码单元按照Z形扫描顺序计算从所述数据缓冲器读出的地址和前一次读出的地址之间的差分,把所述差分作为数值是0的所述数据的个数输出到所述可变长度编码单元。
18.根据权利要求16所述的编码装置,其特征在于,利用处理器实现所述地址存储单元和所述读出控制单元。
19.一种进行游程长度编码和可变长度编码的编码方法,其特征在于,包括顺序输入1块m×n个数据的步骤;判定所输入的各个所述数据的值是否是0的步骤;把与所述判定结果相关的判定结果信息存储到信息寄存器中的步骤;把所述输入数据存储到数据缓冲器中的步骤;根据存储在所述信息寄存器的判定结果信息,从所述数据缓冲器有选择地读出数据的步骤;使用从所述数据缓冲器读出的数据和所述判定结果信息,进行游程长度编码的步骤;和使用由在所述进行游程长度编码的步骤求出的数值连续是0的所述数据的个数和所述数据形成的一对数据,进行可变长度编码的步骤。
20.根据权利要求19所述的编码方法,其特征在于,,把可以在一个地址存储L(L为2以上的自然数)个所述数据的缓冲器作为数据缓冲器使用,从所述数据缓冲器有选择地读出数据的步骤包括根据存储在所述信息寄存器的判定结果信息,选择应该把从所述数据缓冲器读出的L个所述数据中的哪些数据转送到游程长度编码步骤的步骤,和把所选择的数据转送到游程长度编码步骤的步骤。
21.根据权利要求19所述的编码方法,其特征在于,所述信息寄存器具有可以按分别不同的排列顺序、以m×n比特存储所述判定结果信息的结构,并且使用由多个所述信息寄存器构成的信息寄存器组,还包括输入用于表示输入数据的块特征的特征信息的步骤,和根据所输入的所述特征信息,从所述信息寄存器组选择任一信息寄存器的步骤。
22.根据权利要求19所述的编码方法,其特征在于,还包括同时执行多个处理系统并控制在所述多个处理系统中的哪一个处理系统中把从数据缓冲器读出的数据转送到游程长度编码步骤的步骤,同时执行所述多个处理系统之一的向所述数据缓冲器的写入处理和其他处理系统中的对所述数据缓冲器的读出处理,其中,所述处理系统包括把所述判定结果信息存储在所述信息寄存器中的步骤;把所述输入数据存储在所述数据缓冲器中的步骤;和根据所述判定结果信息,从所述数据缓冲器有选择地读出数据的步骤。
23.根据权利要求19所述的编码方法,其特征在于,还包括根据所述信息寄存器的判定结果信息,累积不是0的输入数据的个数的步骤。
24.根据权利要求23所述的编码方法,其特征在于,还包括设定应成为所述累积处理对象的1块内的区域的步骤。
25.根据权利要求23所述的编码方法,其特征在于,还包括设定累积值的界限值的步骤;比较所述累积值和所述界限值的比较步骤;和根据所述比较结果对所述可变长度编码步骤进行控制、以便把编码后的数据容量控制在规定范围内的步骤。
26.根据权利要求19所述的编码方法,其特征在于,还包括根据存储在所述信息寄存器的判定结果信息,判定从数据缓冲器读出的输入数据是否是数据块内最后的非0的输入数据的步骤,在判定为是最后的非0的输入数据时,把表示该输入数据是最终数据的信息输出到所述可变长度编码步骤。
27.根据权利要求19所述的编码方法,其特征在于,包括控制对所述数据缓冲器的供给时钟的步骤,根据存储在所述信息寄存器的判定结果信息,仅在所述数据的值不是0的期间,向所述数据缓冲器供给时钟。
28.一种进行游程长度编码和可变长度编码的编码方法,其特征在于,具有第一处理步骤和第二处理步骤,其中,第一处理步骤包括顺序输入1块m×n个数据的步骤;判定各个输入数据的值是否是0的步骤;把与所述判定结果相关的判定结果信息存储在第一信息寄存器的步骤;和把所述输入数据存储在第一数据缓冲器的步骤;第二处理步骤包括根据存储在所述第一信息寄存器的信息,从所述第一数据缓冲器读出数据,生成第二数据的步骤;把所述第二数据存储在第二数据缓冲器的步骤;把与所述第二数据的值是否是0相关的第二判定结果信息存储在第二信息寄存器的步骤;根据存储在所述第二信息寄存器的所述第二判定结果信息,控制从所述第二数据缓冲器进行的所述第二数据的读出的步骤;使用从所述第二数据缓冲器读出的所述第二数据和存储在所述第二信息寄存器的所述第二判定结果信息,进行游程长度编码的步骤;和使用由在所述进行游程长度编码的步骤求出的数值连续是0的所述第二数据的个数和所述第二数据形成的一对数据,进行可变长度编码的步骤;并且,根据所述第二信息寄存器,从所述第二数据缓冲器仅读出数值不是0的所述第二数据,在所述进行游程长度编码的步骤中,把所述第二信息寄存器中的第二判定结果信息表示所述第二数据值不是0的区间,作为连续数值是0的所述第二数据的个数转送到进行所述可变长度编码的步骤。
29.一种进行游程长度编码和可变长度编码的编码方法,其特征在于,包括顺序输入1块m×n个数据的步骤;判定各个输入数据的值是否是0的步骤;把所述输入数据存储在数据缓冲器的步骤;把被判定为数值不是0的所述数据在所述数据缓冲器中的地址存储在地址存储单元的步骤;根据存储在所述地址存储单元的所述地址,从所述数据缓冲器读出所述数据的步骤;使用从所述数据缓冲器读出的所述数据和所存储的所述地址,进行游程长度编码的步骤;和使用由在所述进行游程长度编码的步骤求出的数值连续是0的所述数据的个数和所述数据形成的一对数据,进行可变长度编码的步骤;并且,根据存储在所述存储单元的所述地址,从所述数据缓冲器仅读出数值不是0的所述数据,把上次读出的地址和此次读出的地址的差分,作为数值是0的输入数据的个数转送到所述进行可变长度编码的步骤。
全文摘要
本发明提供一种通过减少进行可变长度编码处理的等待时间,实现进一步快速化的编码装置及方法。进行游程长度编码和可变长度编码的编码装置,顺序输入1块m×n个数据,判定各个输入数据的值是否是0,把判定结果存储在信息寄存器中,同时把输入数据存储在数据缓冲器中,根据判定结果,控制从所述数据缓冲器进行的数据读出,使用从数据缓冲器读出的数据和判定结果进行游程长度编码,将数值连续是0的数据的个数和数据作为一对数据使用,进行可变长度编码。
文档编号H04N7/26GK1501716SQ20031011814
公开日2004年6月2日 申请日期2003年11月13日 优先权日2002年11月14日
发明者高仓宪太郎, 二, 北村臣二 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1