CN109726034A - 数据处理设备和数据处理方法 - Google Patents
数据处理设备和数据处理方法 Download PDFInfo
- Publication number
- CN109726034A CN109726034A CN201811270546.3A CN201811270546A CN109726034A CN 109726034 A CN109726034 A CN 109726034A CN 201811270546 A CN201811270546 A CN 201811270546A CN 109726034 A CN109726034 A CN 109726034A
- Authority
- CN
- China
- Prior art keywords
- data
- coding
- error control
- control coding
- type
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/65—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/63—Joint error correction and other techniques
- H03M13/6312—Error control coding in combination with data compression
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/007—Unequal error protection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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 an image region, e.g. an object
- H04N19/176—Methods 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 an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Detection And Correction Of Errors (AREA)
- Memory System (AREA)
- Communication Control (AREA)
Abstract
本发明提供了数据处理设备,其在数据和错误控制编码要被存储在存储器中的情况下,减少存储器访问量。处理设备包括数据压缩部分、编码生成部分、绑定部分和传输部分。数据压缩部分通过对要存储在存储器中的并且具有预定数据长度的第一数据进行预定压缩处理来生成第二数据。编码生成部分生成针对第一数据或第二数据的错误控制编码。绑定部分通过将由数据压缩部分生成的第二数据绑定到由编码生成部分生成的错误控制编码来生成第三数据。传输部分以预定数据长度为单位向存储器传输由绑定部分生成的第三数据。
Description
相关申请的交叉引用
于2017年10月27日提交的、包括说明书、附图和摘要的日本专利申请号2017-208263的公开内容,以其整体通过引用并入本文。
技术领域
本发明涉及数据处理设备和数据处理方法。例如,本发明涉及用于在存储器中存储错误控制编码的技术。
背景技术
已知的是错误检测编码或错误校正编码,即,用于检测或校正在数据中出现的错误的技术。在下文中错误检测编码和错误校正编码统称为错误控制编码。数据和数据的错误控制编码存储在存储器中,以便在读取存储在存储器中的数据时检查错误的发生。
在日本未审查专利申请公开号Hei 7(1995)-6100中描述了相关技术。日本未审查专利申请公开号Hei 7(1995)-6100中所公开的信号处理设备有效地使用了错误控制编码生成部分、存储器和错误校正部分。错误控制编码生成部分根据提供的固定长度数据来产生固定长度的错误校正编码,并添加固定长度的错误校正编码。存储器存储具有由错误校正部分扩展的数据宽度的数据。错误校正部分读取存储在存储器中的数据,并根据错误校正编码校正任何错误。
发明内容
当数据和数据的错误控制编码要存储在存储器中时,不仅需要将数据而且需要将错误控制编码传输到存储器。与仅传输数据相比,这涉及更大的存储器访问量。因此,当要将数据和错误控制编码存储在存储器中时,要求减少存储器访问量。
根据以下描述和附图,其它问题和新颖特征将变得显而易见。
根据本发明的一个方面,提供了数据处理设备,包括绑定部分和传输部分。绑定部分生成通过将由数据压缩部分生成的数据绑定到由编码生成部分生成的错误控制编码而获得的数据。传输部分以预定数据长度为单位将绑定数据传输到存储器。
在将数据和错误控制编码存储在存储器中的情况下,本发明的上述方面减少了存储器访问量。
附图说明
图1是示出根据一个比较性示例的数据处理设备的配置的框图;
图2是示出根据本发明的实施例的概述的数据处理设备的示例性配置的框图;
图3是示出绑定部分如何执行绑定操作的示意图;
图4是示出根据本发明的第一实施例的数据处理设备的示例性配置的框图;
图5是示出根据本发明的第一实施例的数据处理设备的更详细配置的框图,特别注意视频编解码系统;
图6是示出为了将从视频编解码核心输出的图像数据写入DDR存储器中而由根据第一实施例的数据处理设备执行的示例性操作的流程图;
图7是示出为了读取存储在数据/编码存储区域中的数据而由根据第一实施例的数据处理设备执行的示例性操作的流程图;
图8是示出在将第一实施例应用于视频编码处理的情况下的视频编解码系统的示例性配置的框图;
图9是示出在将第一实施例应用于视频解码处理的情况下的视频编解码系统的示例性配置的框图;
图10是示出根据本发明的第三实施例的数据处理设备的更详细配置的框图,特别注意视频编解码系统;
图11是示出为了将从视频编解码核心输出的图像数据写入DDR存储器中而由根据第三实施例的数据处理设备执行的示例性操作的流程图;
图12是示出为了读取存储在数据/编码存储区域中的数据而由根据第三实施例的数据处理设备执行的示例性操作的流程图;
图13是示出根据本发明的第四实施例的数据处理设备的更详细配置的框图,特别注意视频编解码系统;以及
图14是示出为了将从视频编解码核心输出的图像数据写入DDR存储器中而由根据第四实施例的数据处理设备执行的示例性操作的流程图。
具体实施方式
在以下描述和附图中,为了澄清解释,根据需要进行省略和简化。此外,附图中相似的元件由相似的参考标号来表示,并且将不再重复描述。
初步研究
在解释实施例之前,将描述由本发明的发明人进行的初步研究。
图1是示出根据比较性示例的数据处理设备9的配置的框图。数据处理设备9包括视频编解码系统200、总线系统500、双倍数据速率(DDR)存储器700和DDR存储器控制器600。数据处理设备9执行视频编解码处理。
当执行编解码处理时,视频编解码系统200将数据存储在DDR存储器700中,DDR存储器700是外部存储器。此外,当执行编解码处理时,视频编解码系统200读取存储在DDR存储器700中的数据。DDR存储器控制器600控制对DDR存储器700的访问。
错误可能发生在被存储在DDR存储器700中的数据中,即数据被破坏。因此,根据比较性示例的数据处理设备9被配置为使得总线系统500包括错误控制编码生成部分501和错误检测/错误校正部分502作为错误控制编码处理机制,以便检测或校正错误。
错误控制编码生成部分501从写入数据生成错误控制编码,并将错误控制编码存储在写入数据存储区域以外的区域中。更具体地,写入数据存储在DDR存储器700的数据存储区域703中,并且由错误控制编码生成部分501生成的错误控制编码存储在DDR存储器700的编码存储区域702中。当要读取存储在数据存储区域703中的数据时,从编码存储区域702读取针对数据的错误控制编码,并且错误检测/错误校正部分502检测或校正错误。应当注意,根据比较性示例的数据处理设备9使用汉明(Hamming)编码作为错误控制编码。对于8字节数据,编码长度为1个字节。
编解码处理使用两种类型的存储器访问,即图像数据的传输和其它数据的传输(或者更具体地,比特流或其它比特序列)。图像数据传输量占编解码处理中传输总量的大约85%。因此,为了减少用于传输所要消耗的存储器带宽,根据比较性示例的数据处理设备9对图像数据应用无损压缩。也就是说,视频编解码系统200包括无损压缩部分290和无损解压缩部分291。
无损压缩部分290对从视频编解码系统200中的视频编解码核心210的写入接口(写入I/F)211输出的图像数据执行无损压缩。应当注意,视频编解码核心210是执行编码处理或解码处理的元件。
如图1所示,由无损压缩部分290压缩的图像数据和非图像数据(例如,比特流)通过选择器292输入到错误控制编码生成部分501。因此,错误控制编码生成部分501针对由无损压缩部分290压缩的图像数据和非图像数据生成错误控制编码。然后将压缩的图像数据和非图像数据存储在数据存储区域703中,并且将生成的错误控制编码存储在编码存储区域702中。如上所述,根据比较性示例的数据处理设备9生成错误控制编码,而不区分从视频编解码核心输出的两种类型的数据,并将所生成的错误控制编码存储在DDR存储器700中。
同时,无损解压缩部分291通过对从错误检测/错误校正部分502输出的压缩图像数据执行解压缩处理来恢复图像数据。然后,如图1所示,从错误检测/错误校正部分502输出的非图像数据和从无损解压缩部分291输出的图像数据通过选择器293被输入到视频编解码核心210的读取接口(读取I/F)212,并用于视频编解码核心210的处理。
当考虑DDR存储器700的访问效率时,期望对连续地址的进行访问,该连续地址每次访问都具有一定长度。原因在于,如果每次访问的数据长度过小,那么与访问处理相关的处理(例如,用于存储器组切换的处理)不能容易地与访问处理并行执行。这降低了访问效率。然而,从视频编解码处理的图像数据访问的观点来看,如果一次访问过长的数据,则读取不必要的数据以增加存储器带宽的总量。因此,在DDR存储器700中存在每次访问的最佳数据长度。在视频编解码处理中,例如,考虑到DDR存储器700的访问效率和存储器带宽的总量,由单次访问处理的最佳数据长度是256字节。也就是说,写入I/F 211一次输出256字节数据。
最小访问单元被定位以用于DDR存储器700。如果DDR存储器700是例如具有32比特接口的LPDDR4(低功率DDR4),则最小访问单元是64字节(32比特×16个脉冲串)。这表示即使访问涉及少于64字节的数据,传输量也始终以64字节为单位。同时,256字节数据的错误控制编码的长度是32字节。因此,应用无损压缩的图像数据在传输数据长度上可以少于256字节。但是,针对图像数据的错误控制编码总是经历64字节的传输。
如上所述,编解码处理使用两种类型的存储器访问,即图像数据的传输和其它数据的传输(比特流)。通常以矩形区域(诸如,13×13像素或9×9像素)为单位以随机顺序访问图像数据。同时,通常以地址顺序访问其它数据。
因此,可以使用高速缓存存储器,以使得针对非图像数据的错误控制编码一旦从DDR存储器700被读取,就可以被重复使用。更具体地说,以下重复使用是可能的。在错误控制编码的单次读取中,针对读取目标数据(数据D1)(即要读取的数据)的错误控制编码(编码C1)和针对不要读取的数据(数据D2)的错误控制编码(编码C2)被读取,并且两个错误控制编码(编码C1和C2)被存储在高速缓存存储器中。如果随后数据D2成为读取目标数据需要被访问以进行读取,那么编码C2不需要从DDR存储器700读取,而是可以从高速缓存存储器读取。
然而,图像数据是以随机顺序访问的。因此,即使当64字节的错误控制编码(即,两个(=64字节/32字节)错误控制编码)存储在例如高速缓存存储器中时,那么错误控制编码也会在被重复使用之前从高速缓存存储器中排出。因此,重复使用的可能性很低。因此,在最坏的情况下,每次数据访问(256字节或更少)时传输64字节的错误控制编码。
现在将研究根据比较性示例的数据处理设备9中的传输量。当在没有执行压缩并且没有添加错误控制编码的情况下的传输量是100%时,下面的等式(1)表示在执行压缩并且添加错误控制编码的情况下的传输量的相对值V。应当注意,等式(1)中的R表示平均无损压缩比率。R是0至1范围内的值。R值为1指示完全不压缩数据。此外,等式(1)假设要传输到DDR存储器700的图像数据的百分比是85%,并且要传输到DDR存储器700的其它数据的百分比是15%。此外,以地址顺序执行非图像数据的传输。因此,还假设使用高速缓存存储器来允许重复使用错误控制编码。也就是说,假设针对非图像数据的错误控制编码基本上经历32字节传输。
相对值V=(85%×(256×R+64)+15%×(256+32))/(85%×256+15%×256)---(1)
下表说明了在值R以0.1为增量从0.1变化到1.0的情况下的传递量的相对值V。
表格1
表1提供了以下发现。即使无损压缩将图像数据量减少30%,添加错误控制编码也会导致98%的相对值V。它表示所需的传输带宽基本上等于压缩前所需的传输带宽。此外,即使无损压缩将图像数据量减少50%,添加错误控制编码也会导致整体数据量减少大约20%。此外,如果无损压缩将图像数据量减少低于30%的百分比,那么未使用的传输带宽大于压缩前未使用的传输带宽。例如,如果通过无损压缩实现的减少为0,那么传输带宽增加23%。
如上所述,即使应用无损压缩来减少传输带宽,那么添加错误控制编码也会增加传输带宽。这抵消了无损压缩的带宽减少的影响。因此,当数据和错误控制编码要存储在存储器中时,期望存储器访问量将减少。
实施例概述
现在将概述本发明的实施例。
图2是示出根据实施例的概述的数据处理设备1的示例性配置的框图。如图2所示,数据处理设备1包括数据压缩部分2、编码生成部分3、绑定部分4和传输部分5,以及访问外部存储器6。在图2的示例中,存储器6设置在数据处理设备1的外部。然而,数据处理设备1可以备选地包括存储器6。例如,存储器6是DDR存储器。然而,存储器6不限于DDR存储器。
数据压缩部分2通过对具有预定数据长度的第一数据执行预定压缩处理来生成第二数据,并将其存储在存储器6中。第一数据例如是图像数据。然而,第一数据不限于图像数据,并且可以是任何类型的数据。此外,预定压缩处理例如是无损压缩处理。然而,预定压缩处理不限于无损压缩处理,并且可以是任何压缩处理。
编码生成部分3生成针对第一数据或第二数据的错误控制编码(通过压缩第一数据获得的数据)。编码生成部分3生成预定的错误控制编码。
绑定部分4通过将由数据压缩部分2生成的第二数据绑定到由编码生成部分3生成的错误控制编码来生成第三数据。
传输部分5以预定数据长度为单位将由绑定部分4产生的第三数据传输到存储器6。因此,通过以预定数据长度为单位获得访问,可以将第二数据和错误控制编码存储在存储器6中。因此,即使在读取时,也可以通过以预定数据长度为单位获得访问,从存储器6获取第二数据和错误控制编码。
图3是示出绑定部分4如何执行绑定操作的示意图。这里,假设预定数据长度是256字节。也就是说,假设第一数据是256字节数据。第一数据由数据压缩部分2压缩,以获得具有256字节或更少的数据长度的第二数据。因此,当要以256字节为单位访问存储器6时,在带中可能出现间隙,如图3所示。绑定部分4的绑定操作使得可以使用间隙,以便与压缩数据(第二数据)同时传输错误控制编码。这抑制了传输错误控制编码所获得的存储器访问量的增加。
第一实施例
现在将描述本发明的第一实施例。图4是示出根据第一实施例的数据处理设备10的示例性配置的框图。数据处理设备10包括中央处理单元(CPU)100、视频编解码系统200、图形系统300、视频输入/输出系统400、总线系统500、DDR存储器控制器600和DDR存储器700。在图4的示例中,数据处理设备包括诸如视频编解码系统200、图形系统300和视频输入/输出系统400的子系统,但是根据需要可以附加地包括一些其它子系统。
CPU 100、视频编解码系统200、图形系统300、视频输入/输出系统400和DDR存储器控制器600各自被耦合到总线系统500并且能够彼此通信。
CPU 100提供数据处理设备10的整体控制。CPU 100通过执行例如存储在DDR存储器700中的程序(应用软件)来控制数据处理设备10。视频编解码系统200对视频执行编解码处理,并且稍后将对其进行详细描述。图形系统300生成二维或三维图形。视频输入/输出系统400执行从被耦合到数据处理设备10的摄像机(未示出)获取视频的处理,或者执行在耦合到数据处理设备10的显示器(未示出)上显示视频的处理。
总线系统500控制CPU 100、视频编解码系统200、图形系统300、视频输入/输出系统400和DDR存储器控制器600之间的传输处理。DDR存储器控制器600控制对DDR存储器700的访问。DDR存储器700存储例如由CPU 100所使用的程序和数据、子系统使用的数据、以及CPU和子系统共享的数据。子系统、总线系统500和DDR存储器控制器600的处理是由它们各自的硬件电路实现的。然而,这种处理可以备选地通过允许处理器执行程序来实现。
现在将特别关注视频编解码系统200来描述配置和操作,以便解释数据处理设备10中的存储器访问量的减少。图5是示出数据处理设备10的更详细配置的框图,其中特别关注视频编解码系统200。例如,当CPU 100执行用于控制编解码处理的程序时,控制视频编解码系统200的操作。下面参考图5描述数据处理设备10的配置。
除了视频编解码核心210之外,视频编解码系统200还包括用于执行写入相关处理的元件和用于执行读取相关处理的元件。用于执行写入相关处理的元件包括无损压缩部分220、错误控制编码生成部分221、数据长度确定部分222和绑定部分223。用于执行读取相关处理的元件包括分离/解压缩部分230和错误检测/错误校正部分240。
视频编解码核心210是执行视频编码处理或视频解码处理的元件。当执行处理时,视频编解码核心210通过写入I/F 211将数据写入DDR存储器700,并通过读取I/F 212从DDR存储器700读取数据。当将数据写入DDR存储器700时,视频编解码核心210以预定数据长度为单位(或更具体地,以256字节为单位)从写入I/F 211输出存储目标数据。视频编解码核心210的写入I/F 211输出图像数据或非图像数据。这里,图像数据是指示每个像素的像素值的数据。更具体地,图像数据是例如RGB数据和YUV数据。同时,非图像数据是例如由编解码处理生成的比特流。
从写入I/F 211输出的以预定数据长度(256字节)为单位的图像数据被输入到无损压缩部分220和错误控制编码生成部分221。无损压缩部分220对应于如图2所示的数据压缩部分2,并对具有预定数据长度(256字节)的图像数据执行预定的无损压缩处理。也就是说,无损压缩部分220以256字节为单位执行压缩处理。应当注意,无损压缩部分220执行例如熵编码处理。然而,无损压缩部分220可以执行备选的无损压缩处理。
错误控制编码生成部分221对应于图2中所示的编码生成部分3,并生成针对具有预定数据长度(256字节)的图像数据的预定错误控制编码。也就是说,错误控制编码生成部分221计算针对仍然没有被无损压缩的256字节图像数据的错误控制编码。应当注意,错误控制编码生成部分221生成例如循环冗余校验(CRC)编码作为错误控制编码。然而,错误控制编码生成部分221可以生成备选的错误控制编码。
数据长度确定部分222确定由无损压缩部分220压缩的数据的数据长度和由错误控制编码生成部分221生成的错误控制编码的编码长度之和是否等于或小于预定数据长度(256字节)。由无损压缩部分220压缩的数据的数据长度不是固定的,而是随着压缩目标数据的类型而变化。
绑定部分223对应于图2中所示的绑定部分4。如果总和等于或小于预定数据长度(256字节),则绑定部分223生成通过将由无损压缩部分220生成的压缩数据绑定到由错误控制编码生成部分221生成的错误控制编码而获得的数据,并将生成的数据输出到总线系统500。更具体地,绑定部分223将错误控制编码例如加到压缩数据的末尾,以便生成作为压缩数据和错误控制编码的组合的单个数据。从绑定部分223输出的数据由总线系统500存储在DDR存储器700的数据/编码存储区域701中。数据/编码存储区域701是用于存储作为压缩数据和错误控制编码的组合的数据的存储器区域。
总线系统500对应于图2中所示的传输部分5,并以预定数据长度(256字节)为单位将由绑定部分223生成的数据传输到DDR存储器700。如果总和小于256字节,则传输包括由绑定部分223生成的数据和任意数据的256字节数据。
如果数据长度确定部分222确定总和大于预定数据长度(256字节),则绑定部分223不执行绑定操作。在这种情况下,总线系统500将从写入I/F 211输出的图像数据和针对图像数据的错误控制编码两者都存储在DDR存储器700中。更具体地,如果数据长度确定部分222确定总和大于256字节,则图5中所示的配置将从写入I/F 211输出的图像数据(仍然没有无损压缩的图像数据)存储在DDR存储器700的数据存储区域703中,并且将由总线系统500的错误控制编码生成部分501针对图像数据生成的错误控制编码存储在编码存储区域702中。数据存储区域703是用于存储数据的存储器区域。编码存储区域702是用于存储错误控制编码的存储器区域。如上所述,即使当总数据长度大于预定数据长度时,本实施例也将数据和错误控制编码适当地存储在DDR存储器700中。
总线系统500包括错误控制编码生成部分501和错误检测/错误校正部分502。错误控制编码生成部分501生成针对从写入I/F 211输出的非图像数据的预定错误控制编码。此外,如果数据长度确定部分222确定总和大于预定数据长度,则错误控制编码生成部分501生成针对从写入I/F 211输出的图像数据的预定错误控制编码。错误控制编码生成部分501可以生成与错误控制编码生成部分221相同类型的错误控制编码,或者生成不同类型的错误控制编码。
总线系统500将由错误控制编码生成部分501生成的错误控制编码存储在DDR存储器700的编码存储区域702中。此外,总线系统500将与由错误控制编码生成部分501生成的错误控制编码有关的数据存储在数据存储区域703中。
当访问DDR存储器700以读取数据/编码存储区域701中的数据时,总线系统500将通过将压缩数据绑定到错误控制编码而获得的数据输出到视频编解码系统200的分离/解压缩部分230。相反地,当访问DDR存储器700以读取数据存储区域703中的数据时,总线系统500读取数据存储区域703中的数据和针对数据的错误控制编码,其存储在编码存储区域702中,并允许错误检测/错误校正部分502处理读取数据和错误控制编码。
错误检测/错误校正部分502针对从数据存储区域703读取的数据生成预定的错误控制编码(与错误控制编码生成部分501生成的错误控制编码类型相同的错误控制编码),并通过使用从编码存储区域702读取的错误控制编码来检测或校正数据中的错误。当校正错误时,错误检测/错误校正部分502通过选择器241将错误校正的数据输出到视频编解码核心210的读取I/F 212。在其它情况下,错误检测/错误校正部分502通过选择器241将从数据存储区域703读取的数据输出到读取I/F 212。
视频编解码系统200的分离/解压缩部分230包括无损解压缩部分231和分离部分232,并根据通过将压缩数据绑定到错误控制编码而获得的数据执行分离错误控制编码和解压缩数据的处理。无损解压缩部分231通过使用从DDR存储器700的数据/编码存储区域701获取的绑定数据,对在无损压缩部分220中执行的预定压缩处理执行解压缩处理。无损解压缩部分231也称为数据解压缩部分。
分离部分232提取包括在绑定数据中的错误控制编码。例如,分离/解压缩部分230分离错误控制编码,如下所述。然而,可以通过备选方法实现分离。例如,分离/解压缩部分230从数据/编码存储区域701读取的数据的开始来开始无损解压缩处理。当获得具有预定数据长度(256字节)的数据时,分离/解压缩部分230终止解压缩处理。然后,分离/解压缩部分230从数据/编码存储区域701读取的数据中提取不是无损解压缩目标的数据部分作为错误控制编码。
分离/解压缩部分230将从解压缩处理获得的数据和分离的错误控制编码输出到错误检测/错误校正部分240。
错误检测/错误校正部分240通过使用包括在从DDR存储器700获取的绑定数据中的错误控制编码来检测或校正错误。错误检测/错误校正部分240也称为检测部分。更具体地说,错误检测/错误校正部分240针对从解压缩处理获得的数据(256字节图像数据)生成预定的错误校正编码(与错误控制编码生成部分221生成的错误控制编码相同类型的错误控制编码),并使用分离的错误控制编码检测或校正数据中的错误。当校正错误时,错误检测/错误校正部分240通过选择器241将错误校正的数据输出到读取I/F 212。在其它情况下,错误检测/错误校正部分240通过选择器241将从分离/解压缩部分230输出的数据输出到读取I/F 212。
当由分离/解压缩部分230执行上述处理时,可以正确地读取存储在数据/编码存储区域701中的绑定数据。
现在将描述数据处理设备10中的数据写入和数据读取操作。这里,特别地,下面参考流程图描述图像数据写入和图像数据读取操作。
图6是示出根据第一实施例的数据处理设备10执行的示例性操作的流程图,以便将从视频编解码核心210输出的图像数据写入DDR存储器700。现在将参考图6描述图像数据写入操作。
当从视频编解码核心210的写入I/F 211输出图像数据时,执行如步骤100和101中所述的处理。步骤100和101可以并行或依次执行。
在步骤100(S100)中,无损压缩部分220无损压缩具有预定数据长度(256字节)的图像数据。
在步骤101(S101)中,错误控制编码生成部分221生成针对具有预定数据长度(256字节)的图像数据的错误控制编码。
接下来,在步骤102(S102)中,数据长度确定部分222确定在步骤100中生成的数据的数据长度与在步骤101中生成的错误控制编码的编码长度之和是否等于或小于预定值。预定值与上述预定数据长度(256字节)相同。如果总和等于或小于预定值,则处理进行到步骤103。相反地,如果总和大于预定值,则处理进行到步骤105。
在步骤103(S103)中,绑定部分223通过将在步骤100中压缩的图像数据绑定到在步骤101中生成的错误控制编码来获得单个数据。
完成步骤103后,处理进行到步骤104(S104)。在步骤104中,总线系统500以预定数据长度(256字节)为单位将步骤103中绑定的数据传输到DDR存储器700,并将传输的数据存储在数据/编码存储区域701中。
同时,在步骤105(S105)中,错误控制编码生成部分501生成针对具有预定数据长度(256字节)的图像数据的错误控制编码,该错误控制编码从写入I/F 211输出。
完成步骤105后,处理进行到步骤106(S106)。在步骤106中,总线系统500将从写入I/F 211输出的图像数据存储在数据存储区域703中,并将在步骤105中生成的错误控制编码存储在编码存储区域702中。
如果总和大于预定值,则本实施例将未压缩数据存储在DDR存储器700中。然而,备选地,压缩数据可以存储在DDR存储器700中。
现在将描述为读取存储在数据/编码存储区域701中的数据(绑定数据)而执行的操作。图7是示出为了读取存储在数据/编码存储区域701中的数据而根据第一实施例的数据处理设备10执行的示例性操作的流程图。
首先,在步骤200(S200)中,总线系统500从数据/编码存储区域701获取通过将压缩数据绑定到错误控制编码而获得的数据。
接下来,在步骤201(S201)中,分离/解压缩部分230根据在步骤200中获取的绑定数据执行分离错误控制编码和解压缩数据的处理。
然后,在步骤202(S202)中,错误检测/错误校正部分240通过使用根据解压缩的图像数据和分离的错误控制编码计算的错误控制编码来执行错误检测或错误校正处理。然后,错误检测/错误校正部分240将解压缩的数据或校正的解压缩数据输出到视频编解码核心210的读取I/F 212。
现在将描述更详细的示例。
图8是示出在将第一实施例应用于视频编码处理的情况下的视频编解码系统200的示例性配置的框图。在图8中,无损压缩部分220、错误控制编码生成部分221、数据长度确定部分222和绑定部分223(如图5中所示)被共同描绘为写入相关处理部分250。此外,分离/解压缩部分230和错误检测/错误校正部分240如图5中所示被共同描绘为读取相关处理部分251。在图8中,除了写入相关处理部分25、读取相关处理部分251和DDR存储器700之外的元件属于图5所示的视频编解码核心210。
从DDR存储器700读取的编码目标图像被输入到减法器252,以便计算其与由帧间预测部分253生成的预测图像或者由帧内预测部分254生成的预测图像的差异,帧间预测部分提供帧间预测,以及帧内预测部分提供帧内预测。在来自帧间预测部分253和来自帧内预测部分254的数据中,由选择部分255选择的数据被输入到减法器252。选择部分255选择例如提供增加的编码效率的数据。
从减法器252输出的差异数据被输入到变换部分256。变换部分256对差异数据进行正交变换(离散余弦变换)。量化部分257量化由变换部分256变换的数据,并将量化数据输出到熵编码处理部分258和逆量化部分259。逆量化部分259对由量化部分257量化的数据进行逆量化。逆变换部分260对由逆量化部分259逆量化的数据进行逆正交变换。加法器261将逆变换部分260的输出与由选择部分255选择的预测图像相加。从加法器261输出的数据用于帧内预测部分254的预测。去块滤波器262执行减少从加法器261输出的图像数据的块失真的滤波处理。
从去块滤波器262输出的图像数据作为局部解码图像存储在DDR存储器700中。也就是说,从图5中所示的写入I/F 211输出局部解码图像,并输入到写入相关处理部分250。在写入相关处理部分250中,由上述无损压缩部分220、错误控制编码生成部分221、数据长度确定部分222和绑定部分223执行处理。因此,图像数据及其错误控制编码存储在DDR存储器700中。
如上所述存储在DDR存储器700中的图像数据在由帧间预测部分253处理或由运动预测部分263处理期间被读取以供参考。在这种情况下,通过读取相关处理部分251读取图像数据。也就是说,图像数据由上述分离/解压缩部分230和错误检测/错误校正部分240处理,然后输入到读取I/F 212。
运动预测部分263通过使用编码目标图像和从DDR存储器700读取的图像来执行运动预测处理。作为运动预测部分263的处理结果获得的数据被输出到熵编码处理部分258。熵编码处理部分258例如对来自量化部分257的数据和来自运动预测部分263的数据执行熵编码处理,并将处理结果输出为比特流。从熵编码处理部分258输出的比特流从图5中所示的写入I/F 211输出,并作为非图像数据写入DDR存储器700。也就是说,由错误控制编码生成部分501生成错误控制编码,并且生成的错误控制编码和比特流数据都存储在DDR存储器700中。
如上所述,数据处理设备10可以应用于视频编解码处理。具体地,数据处理设备10包括视频编解码核心210(也称为编解码部分),其执行从编码目标图像生成比特流的预定视频编解码处理。输入到写入相关处理部分250的数据是用于在预定视频编解码处理中生成预测图像的图像数据。当在视频编解码处理中生成预测图像时,上述配置减少了存储器访问量。
此外,数据处理设备10包括错误控制编码生成部分501,其生成针对比特流的错误控制编码,并且总线系统500将比特流和由错误控制编码生成部分501生成的错误控制编码两者都传输到DDR存储器700。因此,还可以实现比特流的错误检测或校正。
现在将描述在将第一实施例应用于视频解码处理的情况下的视频编解码系统200的示例性配置。图9是示出在将第一实施例应用于视频解码处理的情况下视频编解码系统200的示例性配置的框图。如图9所示,视频解码处理可以通过将熵解码处理部分264添加到逆量化部分259、逆变换部分260、加法器261、帧间预测部分253、帧内预测部分254、选择部分255、去块滤波器262、写入相关处理部分250和读取相关处理部分251(如图8所示)来实现。熵解码处理部分264是属于图5中所描绘的视频编解码核心210的元件,对从DDR存储器700读取的比特流执行熵解码处理。通过执行非图像数据读取操作来读取DDR存储器700中的比特流,而不涉及读取相关处理部分251的处理。也就是说,比特流由图5中所示的错误检测/错误校正部分502处理,然后输入到读取I/F 212。
通过使用逆量化部分259、逆变换部分260、加法器261、帧间预测部分253、帧内预测部分254、选择部分255和去块滤波器262,对从熵解码处理部分264输出的数据进行与上述视频编码处理中局部解码图像生成的处理相同的处理。在这种情况下,从去块滤波器262输出的解码图像从图5所示的写入I/F 211输出,然后输入到写入相关处理部分250。
在写入相关处理部分250中,由上述无损压缩部分220、错误控制编码生成部分221、数据长度确定部分222和绑定部分223执行处理。因此,图像数据及其错误控制编码存储在DDR存储器700中。存储在DDR存储器700中的图像数据被参考以解码不同的图像。在这种情况下,通过读取相关处理部分251读取图像数据。也就是说,图像数据由上述分离/解压缩部分230和错误检测/错误校正部分240处理,然后输入到读取I/F 212。
上面已经描述了第一实施例。在根据第一实施例的数据处理设备10中,存储目标数据及其错误控制编码被连接在一起并作为单个数据写入DDR存储器700。这通过将错误控制编码传输到DDR存储器700来抑制传输带宽的增加。当以与根据比较性示例的数据处理设备9中的传输量相同的方式研究根据第一实施例的数据处理设备10中的传输量时,相对值V如下面表2所示。
这里,相对值V由下面的等式(2)表示。等式(2)与等式(1)的不同之处在于,针对图像数据的错误控制编码的传输量不是64字节,而是32字节,这是错误控制编码的编码长度。相对值V=(85%×(256×R+32)+15%×(256+32))/(85%×256+15%×256)---(2)
表2
根据比较性示例的数据处理设备9中的相对值V与根据第一实施例的数据处理设备10中的相对值V之间的比较表明带宽可以减少大约10%至11%。
第二实施例
在第一实施例中,错误控制编码生成部分221生成针对具有预定数据长度(256字节)的图像数据的预定错误控制编码。因此,在第一实施例中,错误控制编码生成部分221生成一个错误控制编码,例如,针对8字节数据。在这种情况下,针对256字节的图像数据生成32字节的错误控制编码。为了允许绑定部分223执行绑定操作,要求绑定目标数据和错误控制编码的总数据长度等于预定数据(256字节)。由无损压缩部分220压缩的数据长度随压缩目标数据而变化。因此,为了允许绑定部分223对任何图像数据执行绑定操作,优选地,待生成的错误控制编码的编码长度小。因此,第二实施例中的错误控制编码生成部分221生成针对256字节数据的一个错误控制编码,以便减少待生成的错误控制编码的编码长度。因此,与错误控制编码生成部分221的情况一样,错误检测/错误校正部分240还在检测或校正处理时生成针对256字节数据的一个错误控制编码。
与由CPU 100执行的比特流数据和程序数据形成鲜明对比,即使在DDR存储器700中发生错误,用于编解码处理的图像数据也不会受到致命影响。原因是在出现错误的情况下,极小区域中的图像部分是无序的。因此,即使将具有低检测能力或低校正能力的错误控制编码应用于待输入到错误控制编码生成部分221的图像数据,图像数据也不会受到致命影响。因此,本实施例不生成针对8字节的1字节错误控制编码,而是生成针对256字节的一个错误控制编码。例如,在1比特数据反转的概率足够低的情况下(例如,这种反转的概率大约为10-4),不需要错误校正,并且错误检测失败的可容忍概率大约是10%,4比特CRC可以用作要添加到256字节数据的错误检测编码。
如上所述,本实施例中的错误控制编码生成部分221例如生成具有4比特编码长度的错误控制编码(错误检测编码)。当无损压缩256字节图像数据时,无论图像数据如何,都可以实现至少约4比特的压缩。因此,如果生成4比特错误控制编码,则绑定部分223总是可以执行绑定操作。因此,由于针对图像数据的错误控制编码的传输而导致的传输量的增加可以基本上减少到大约0(零)。
当研究在使用4比特错误控制编码的情况下的传输量时,相对值V如下表3所示。
这里,相对值V由下面的等式(3)表示。等式(3)与等式(1)的不同之处在于,针对图像数据的错误控制编码的传输量不是64字节,而是4比特(=0.5字节),这是错误控制编码的编码长度。相对值V=(85%×(256×R+0.5)+15%×(256+32))/(85%×256+15%×256)---(3)
表3
根据比较性示例的数据处理设备9中的相对值V与根据第二实施例的数据处理设备10中的相对值V之间的比较表明带宽可以减少大约21%。
第三实施例
本发明的第三实施例与前述实施例的不同之处在于,由错误控制编码生成部分221生成的错误控制编码的类型被改变为图像数据的图像类型。根据第三实施例的配置与根据前述实施例的配置的不同之处在于视频编解码系统200由视频编解码系统201代替。图10是示出根据第三实施例的数据处理设备10的更详细配置的框图,其中特别关注视频编解码系统201。视频编解码系统201与图5所示的视频编解码系统200的不同之处在于添加了类型指定寄存器270。现在将主要通过解释与前述实施例的不同来描述第三实施例。然而,应该注意,将不再冗余地描述与前述实施例中的元件和操作类似的元件和操作。
类型指定寄存器270存储指示待存储在DDR存储器700中的图像数据或要从DDR存储器700读取的图像数据是否是待由不同图片参考的图片的值。更具体地,当在视频编解码核心210的编解码处理内由用于帧间预测的不同图片参考传输目标图像数据时,在类型指定寄存器270中设置第一值。同时,当转移目标图像数据是不被不同图片参考的图片时,在类型指定寄存器270中设置第二值。在第三实施例中,通过允许CPU 100执行用于控制编解码处理的程序来控制视频编解码系统201的操作。因此,CPU 100设置类型指定寄存器270。更具体地,CPU 100将类型指定寄存器270设置为指示待由视频编解码核心210处理的图片的类型的值。应当注意,类型指定寄存器270可以以备选方式设置。
错误控制编码生成部分221基于在类型指定寄存器270中设置的值生成错误控制编码。更具体地,如果在类型指定寄存器270中设置第一值,则错误控制编码生成部分221生成首要类型错误控制编码。如果在类型指定寄存器270中设置第二值,则错误控制编码生成部分221生成次要类型错误控制编码。首要类型错误控制编码具有比次要类型错误控制编码更大的编码长度(首要类型错误控制编码具有比次要类型错误控制编码更高的检测能力或校正能力)。例如,首要类型错误控制编码是32比特CRC,并且次要类型错误控制编码是4比特CRC。
类似地,错误检测/错误校正部分240还基于在类型指定寄存器270中设置的值生成错误控制编码,并执行检测或校正处理。
如上所述,可以通过在类型指定寄存器270中设置的值来改变待生成的错误控制编码。在该方面,类型指定寄存器270可以被定义为其中设置用于指定一种类型的错误控制编码的值的寄存器。在类型指定寄存器270中设置值的CPU 100也被称为类型指定部分。
如上所述,CPU 100根据待存储在DDR存储器700中的图像数据或要从DDR存储器700读取的图像数据是否将被不同的图片参考用于帧间预测目的而指定一种类型的错误控制编码。特别地,当待存储在DDR存储器700中的图像数据或要从DDR存储器700读取的图像数据将由不同的图片参考时,CPU 100指定首要类型的错误控制编码。同时,当图像数据不被不同图片参考时,CPU 100指定次要类型错误控制编码。
具有上述配置的视频编解码系统201能够根据图片类型来改变用于视频编解码处理的错误检测或错误校正能力。
在通过对不同图片的解码处理所参考的I图片或其它图片的情况下,由错误引起的数据被引用具有乱码数据的图片的不同图片接管。因此,在该情况下,指定具有高检测或高校正能力(具有大编码长度)的错误控制编码(例如,32比特CRC)。同时,即使当未被参考的图片包括乱码数据时,乱码数据的影响也限于图片。这使得可以优先减少转移量。因此,指定具有低检测或低校正能力(具有小编码长度)的错误控制编码(例如,4比特CRC)。
现在将描述根据第三实施例的数据处理设备10中的数据写入和数据读取操作。图11是示出为了将从视频编解码核心21输出的图像数据写入DDR存储器700而由根据第三实施例的数据处理设备10执行的示例性操作的流程图。图11的流程图与图6的流程图的不同之处在于在步骤101之前添加了步骤110。
在步骤110(S110)中,错误控制编码生成部分221指定待生成的错误控制编码的类型。更具体地,错误控制编码生成部分221参考由CPU 100在类型指定寄存器270中设置的值,以便指定待生成的错误控制编码的类型。完成步骤110后,处理进行到步骤101。在步骤101中,生成在步骤110中指定的错误控制编码。随后,执行与图6的流程图中所示的相同的步骤。
现在将描述为读取存储在数据/编码存储区域701中的数据而执行的操作。图12是示出为了读取存储在数据/编码存储区域701中的数据而由根据第三实施例的数据处理设备10执行的示例性操作的流程图。图12的流程图与图7的流程图的不同之处在于在步骤201和202之间添加了步骤210。
完成步骤201后,处理进行到步骤210。在步骤210(S210)中,错误控制编码生成部分221指定待生成的错误控制编码的类型。随后,在步骤202中,错误检测/错误校正部分240根据解压缩数据生成在步骤210中指定的错误控制编码的类型,并通过使用所生成的错误控制编码和分离的错误控制编码执行错误检测或错误校正处理。
已经描述了第三实施例。基于图像数据的图片类型,第三实施例能够改变待生成的错误控制编码的类型。因此,第三实施例能够适当地调整错误容限和传输量。
第四实施例
在上面已经描述的第三实施例中,可以根据图像数据的类型改变错误控制编码的类型。然而,也可以根据存储目标数据的使用来改变错误控制编码的类型。更具体地,CPU100可以根据存储目标数据的使用来指定错误控制编码的类型。也就是说,如结合第三实施例所述,根据存储目标图像数据是否将用于预测不同图片,可以指定错误控制编码的类型。但是,可以根据不同的用途指定错误控制编码的类型。当根据数据的使用改变错误控制编码的类型时,可以根据数据的使用适当地调整错误容限和传输量。例如,CPU 100可以根据使用存储目标数据的处理的重要性来指定错误控制编码的类型。也就是说,可以根据使用存储目标数据的处理的重要程度来指定错误控制编码的类型。例如,可以根据每个应用程序所需的错误容限来改变错误控制编码的类型。
现在将通过解释关于根据处理的重要性改变错误控制编码的类型的配置来描述本发明的第四实施例。在从两个或更多个摄像机接收输入的系统(诸如,用于高级驾驶员辅助系统(ADAS)的片上系统(SoC))中,由摄像机捕获的图像的重要性可以不同。例如,当车辆正在倒车时,例如,出于停车的目的,由车载后视摄像机捕获的图像出现在显示器上以将其呈现给车辆的驾驶员。在这种情况下,由后视摄像机捕获的图像比由其它车载摄像机捕获的图像更重要。也就是说,后视摄像机的视频处理比其它车载摄像机的视频处理更重要(优先级更高)。因此,优选地,对高度重要的视频(呈现给驾驶员的视频)的处理优先于错误容限地执行。同时,优选地,在优先考虑减少传输量的情况下执行对其它类型视频的处理。
图13是示出根据第四实施例的数据处理设备10的更详细配置的框图,其中特别关注视频编解码系统202。视频编解码系统202与图10中描绘的视频编解码系统201的不同之处在于添加了确定部分280。现在将主要通过解释与前述实施例的不同来描述第四实施例。然而,应该注意,将不再冗余地描述与前述实施例中的元件和操作类似的元件和操作。
与第三实施例的情况一样,类型指定寄存器270用于设置指定错误控制编码类型的值。然而,在第四实施例中,例如,CPU 100设置指示使用存储目标数据的处理的重要性的值。因此,可以说类型指定寄存器270存储指示使用要存储在DDR存储器700中的数据或者要从DDR存储器700读取的数据的处理的重要性的值。
确定部分280确定是否要由错误控制编码生成部分221或错误控制编码生成部分501生成针对存储目标数据的错误控制编码。在本实施例中,错误控制编码生成部分501生成错误控制编码,该错误控制编码具有比可以由错误控制编码生成部分221生成的错误控制编码更高的检测能力或更高的校正能力。因此,当要存储要用于具有最高重要性的处理中的数据时,优选地,错误控制编码生成部分501生成错误控制编码。因此,确定部分280参考在类型指定寄存器270中设置的值,以便确定是否要由错误控制编码生成部分221或错误控制编码生成部分501生成针对存储目标数据的错误控制编码。如果确定要由错误控制编码生成部分221生成错误控制编码,则本实施例允许错误控制编码生成部分221和无损压缩部分220处理存储目标数据。相反,如果确定要由错误控制编码生成部分501生成错误控制编码,则本实施例将存储目标数据存储在DDR存储器700中而不对其进行压缩。
如果确定要由错误控制编码生成部分221生成错误控制编码,则错误控制编码生成部分221生成由类型指定寄存器270中设置的值指定的错误控制编码的类型。如果错误控制编码生成部分221能够仅生成一种类型的错误控制编码,则错误控制编码生成部分221可以生成错误控制编码而不参考类型指定寄存器270。
存储目标数据可以是由两个或更多车载摄像机中的任何一个捕获的视频数据。CPU 100(类型指定部分)可以根据哪个摄像机捕获了用作存储目标数据的视频数据来指定错误控制编码的类型。也就是说,根据存储目标数据是否是用于高度重要的视频编解码处理的图像数据,可以在类型指定寄存器270中设置值。这使得可以确保高度重要的视频处理中的错误容限,并减少为执行不太重要的视频处理而获得的存储器访问量。
如上所述,CPU 100(类型指定部分)在处理具有首要重要性时指定首要类型错误控制编码,并且当处理具有低于首要重要性的次要重要性时指定次要类型错误控制编码。首要类型错误控制编码具有比次要类型错误控制编码更大的编码长度(具有比次要类型错误控制编码更高的检测能力或更高的校正能力)。由错误控制编码生成部分221或错误控制编码生成部分501生成由CPU 100指定的错误控制编码类型(类型指定部分)。
图14是示出根据第四实施例的数据处理设备10执行的示例性操作的流程图,以便将从视频编解码核心210输出的图像数据写入DDR存储器700。图14的流程图与图11的流程图的不同之处在于在步骤100和步骤110之前添加了步骤120。
首先,在步骤120(S120)中,执行检查以确定是否生成具有最高错误容限的错误控制编码。更具体地,基于在类型指定寄存器270中设置的值,确定部分280确定错误控制编码生成部分501是否生成错误控制编码。如果确定要由错误控制编码生成部分501生成错误控制编码,则处理进行到步骤105。然后,数据处理设备10生成具有最高错误容限的可生成错误控制编码。步骤105及以后执行的处理与图11的流程图中所描绘的相同。
相反,如果确定错误控制编码不需要由错误控制编码生成部分501生成,则处理进行到步骤100和步骤110。在步骤100、步骤110和以后的步骤中执行的处理与图11的流程图中所描绘的相同。在步骤110中生成的是错误控制编码,其是具有比由错误控制编码生成部分501生成的错误控制编码更低的错误容限的两个或更多个错误控制编码之一,并且由类型指定寄存器270中设置的值指定。
为读取存储在数据/编码存储区域701中的数据而执行的操作与图12的流程图中所描绘的操作相同,并且将不再重复描述。
基于处理的重要性,第四实施例能够改变要生成的错误控制编码的类型。因此,第四实施例能够根据处理的重要性适当地调整错误容限和传输量。
虽然已经根据特定实施例详细描述了其发明人所设想的本发明,但是本发明不限于前述实施例。对于本领域技术人员显而易见的是,在不脱离本发明的精神和范围的情况下,可以进行各种修改。
例如,第三实施例被配置为使得错误控制编码生成部分501能够生成具有比错误控制编码生成部分221更高的错误容限的错误控制编码。因此,第三实施例中的确定部分280确定要使用哪个错误控制编码生成部分。然而,如果仅允许错误控制编码生成部分221改变要生成的错误控制编码的类型,则不需要提供确定部分280。
此外,前述实施例被配置为使得视频编解码系统200和总线系统500两者都生成错误控制编码。然而,备选地,系统200和系统500中的任一个可以被配置为生成错误控制编码。进一步地,备选方案是省略用于生成不受绑定部分223(即,错误控制编码生成部分501)绑定的错误控制编码的元件。此外,已经关于在编解码处理时要存储在存储器中的图像数据描述了前述实施例。然而,在包括非图像处理的某些处理时要存储在存储器中的数据可以由绑定部分223绑定。
存储目标数据的存储目的地不限于DDR存储器。备选地,存储目标数据也可以存储在具有某种配置的不同存储器中。进一步地,当存储目标数据的存储目的地是DDR存储器时,可以使用符合某种DDR标准的DDR存储器。
此外,已经在附图中所描绘的元件由硬件电路实现的假设下描述了前述实施例。然而,备选地,可以通过允许处理器执行程序来实现一些或所有元件。也就是说,在配置为计算机的数据处理设备中,可以通过允许处理器执行程序来实现附图中所描绘的元件的处理。在这种情况下,处理器可以是例如CPU 100或设置在子系统中的不同CPU。
此外,上述程序可以存储在各种类型的非暂时性计算机可读介质上并提供给计算机。非暂时性计算机可读介质包括各种类型的有形存储介质。非暂时性计算机可读介质的示例包括磁记录介质(例如,软盘,磁带或硬盘驱动器)、磁光记录介质(例如,磁光盘)、CD-ROM(光盘只读存储器)、CD-R、CD-R/W,半导体存储器(例如,掩模ROM、PROM(可编程ROM)、EPROM(可擦除PROM)、闪存ROM或RAM(随机存取存储器))。进一步地,可以通过使用各种类型的暂时性计算机可读介质将程序提供给计算机。暂时性计算机可读介质的示例包括电信号、光信号和电磁波。暂时性计算机可读介质能够通过有线通信信道(诸如电线或光纤)或通过无线通信信道将程序提供给计算机。
Claims (13)
1.一种数据处理设备,包括:
数据压缩部分,所述数据压缩部分通过对第一数据进行预定压缩处理来生成第二数据,所述第一数据是要存储在存储器中的并且具有预定数据长度的数据;
第一编码生成部分,所述第一编码生成部分生成针对所述第一数据或所述第二数据的错误控制编码;
绑定部分,所述绑定部分通过将由所述数据压缩部分生成的所述第二数据绑定到由所述第一编码生成部分生成的所述错误控制编码来生成第三数据;
传输部分,所述传输部分以所述预定数据长度为单位将由所述绑定部分生成的所述第三数据传输到所述存储器。
2.根据权利要求1所述的数据处理设备,进一步包括:
类型指定部分,所述类型指定部分根据所述第一数据的使用来指定所述错误控制编码的类型;
其中,所述第一编码生成部分生成由所述类型指定部分指定的所述错误控制编码的类型。
3.根据权利要求2所述的数据处理设备,
其中,所述第一数据是图像数据,并且
其中,所述类型指定部分根据所述第一数据是否是要由用于帧间预测的不同图片引用的图片,来指定所述错误控制编码的类型。
4.根据权利要求3所述的数据处理设备,
其中,如果所述第一数据是要由不同图片引用的图片,则所述类型指定部分指定首要类型错误控制编码,
其中,如果所述第一数据不是要由不同图片引用的图片,则所述类型指定部分指定次要类型错误控制编码,并且
其中,所述首要类型错误控制编码具有比所述次要类型错误控制编码更大的编码长度。
5.根据权利要求2所述的数据处理设备,
其中,所述类型指定部分根据使用所述第一数据的处理的重要性来指定所述错误控制编码的类型。
6.根据权利要求5所述的数据处理设备,
其中,如果所述处理具有首要重要性,则所述类型指定部分指定首要类型错误控制编码,
其中,如果所述处理具有次要重要性,则所述类型指定部分指定次要类型错误控制编码,所述次要重要性低于所述首要重要性,以及其中,所述首要类型错误控制编码具有比所述次要类型错误控制编码更大的编码长度。
7.根据权利要求1所述的数据处理设备,
其中,所述第一数据是由多个车载摄像机之一所捕获的视频数据,
其中,所述数据处理设备进一步包括类型指定部分,所述类型指定部分根据所述摄像机中的哪个摄像机已经捕获到用作所述第一数据的视频数据来指定所述错误控制编码的类型,以及
其中,所述第一编码生成部分生成由所述类型指定部分指定的错误控制编码的类型。
8.根据权利要求1所述的数据处理设备,
其中,所述第一数据是视频数据,
其中,所述预定压缩处理提供无损压缩,并且
其中,所述错误控制编码具有4比特的编码长度。
9.根据权利要求1所述的数据处理设备,进一步包括:
数据解压缩部分,所述数据解压缩部分通过使用从所述存储器获取的所述第三数据来对所述预定压缩处理执行解压缩处理;
检测部分,所述检测部分通过使用所述错误控制编码来检测或校正错误,所述错误控制编码被包括在从所述存储器获取的所述第三数据中。
10.根据权利要求1所述的数据处理设备,进一步包括:
编解码部分,所述编解码部分执行从编码目标图像生成比特流的预定视频编解码处理;
其中,所述第一数据是用于在所述预定视频编解码处理期间来生成预测图像的图像数据。
11.根据权利要求10所述的数据处理设备,进一步包括:
第二编码生成部分,所述第二编码生成部分生成针对所述比特流的错误控制编码;
其中,所述传输部分向所述存储器传输由所述第二编码生成部分生成的所述比特流和所述错误控制编码两者。
12.根据权利要求1所述的数据处理设备,进一步包括:
确定部分,所述确定部分确定所述第二数据的所述数据长度和由所述第一编码生成部分生成的所述错误控制编码的所述编码长度的总和是否不大于所述预定数据长度;
其中,如果所述确定部分确定所述总和大于所述预定数据长度,那么所述传输部分将所述第一数据或所述第二数据以及所述错误控制编码传输到所述存储器,而不允许所述绑定部分执行绑定操作。
13.一种数据处理方法,包括以下步骤:
通过对要存储在存储器中的并且具有预定数据长度的第一数据执行预定压缩处理来生成第二数据;
生成针对所述第一数据或所述第二数据的错误控制编码;
通过将所述第二数据绑定到所述错误控制编码来生成第三数据;以及
以所述预定数据长度为单位将所述第三数据传输到所述存储器。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017-208263 | 2017-10-27 | ||
| JP2017208263A JP2019080291A (ja) | 2017-10-27 | 2017-10-27 | データ処理装置及びデータ処理方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN109726034A true CN109726034A (zh) | 2019-05-07 |
| CN109726034B CN109726034B (zh) | 2023-04-11 |
Family
ID=63840585
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201811270546.3A Active CN109726034B (zh) | 2017-10-27 | 2018-10-29 | 数据处理设备和数据处理方法 |
Country Status (5)
| Country | Link |
|---|---|
| US (2) | US10645420B2 (zh) |
| EP (1) | EP3477882B1 (zh) |
| JP (1) | JP2019080291A (zh) |
| CN (1) | CN109726034B (zh) |
| TW (1) | TWI784068B (zh) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113552999A (zh) * | 2020-04-01 | 2021-10-26 | 株式会社日立制作所 | 存储装置 |
| US12353712B2 (en) | 2020-04-01 | 2025-07-08 | Hitachi Vantara, Ltd. | Storage device |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11847012B2 (en) * | 2019-06-28 | 2023-12-19 | Intel Corporation | Method and apparatus to provide an improved fail-safe system for critical and non-critical workloads of a computer-assisted or autonomous driving vehicle |
| US11450116B2 (en) * | 2020-03-09 | 2022-09-20 | Ford Global Technologies, Llc | Systems and methods for sharing camera setting control among multiple image processing components in a vehicle |
| JP7639379B2 (ja) * | 2021-02-10 | 2025-03-05 | セイコーエプソン株式会社 | 回路装置、電子機器及び画像処理方法 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN101080014A (zh) * | 2006-03-28 | 2007-11-28 | 株式会社东芝 | 视频解码方法和装置 |
| US20090118017A1 (en) * | 2002-12-10 | 2009-05-07 | Onlive, Inc. | Hosting and broadcasting virtual events using streaming interactive video |
| WO2011006538A1 (en) * | 2009-07-15 | 2011-01-20 | Nokia Corporation | An apparatus |
| CN102484717A (zh) * | 2009-09-03 | 2012-05-30 | 日本电气株式会社 | 视频编码设备、视频编码方法和视频编码程序 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH076100A (ja) | 1993-06-18 | 1995-01-10 | Sony Corp | 信号処理装置 |
| US6008743A (en) * | 1997-11-19 | 1999-12-28 | International Business Machines Corporation | Method and apparatus for switching between data compression modes |
| JP2011087194A (ja) * | 2009-10-16 | 2011-04-28 | Sony Corp | 画像処理装置および画像処理方法 |
| US9621907B2 (en) * | 2014-08-15 | 2017-04-11 | Lattice Semiconductor Corporation | System and method for transcoding data |
-
2017
- 2017-10-27 JP JP2017208263A patent/JP2019080291A/ja active Pending
-
2018
- 2018-09-10 US US16/126,739 patent/US10645420B2/en active Active
- 2018-09-23 EP EP18196131.9A patent/EP3477882B1/en active Active
- 2018-10-16 TW TW107136262A patent/TWI784068B/zh active
- 2018-10-29 CN CN201811270546.3A patent/CN109726034B/zh active Active
-
2020
- 2020-03-30 US US16/834,616 patent/US11190805B2/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20090118017A1 (en) * | 2002-12-10 | 2009-05-07 | Onlive, Inc. | Hosting and broadcasting virtual events using streaming interactive video |
| CN101080014A (zh) * | 2006-03-28 | 2007-11-28 | 株式会社东芝 | 视频解码方法和装置 |
| WO2009073800A1 (en) * | 2007-12-05 | 2009-06-11 | Onlive, Inc. | Hosting and broadcasting virtual events using streaming interactive video |
| WO2011006538A1 (en) * | 2009-07-15 | 2011-01-20 | Nokia Corporation | An apparatus |
| CN102484717A (zh) * | 2009-09-03 | 2012-05-30 | 日本电气株式会社 | 视频编码设备、视频编码方法和视频编码程序 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113552999A (zh) * | 2020-04-01 | 2021-10-26 | 株式会社日立制作所 | 存储装置 |
| US12353712B2 (en) | 2020-04-01 | 2025-07-08 | Hitachi Vantara, Ltd. | Storage device |
Also Published As
| Publication number | Publication date |
|---|---|
| US20190132611A1 (en) | 2019-05-02 |
| EP3477882A1 (en) | 2019-05-01 |
| TWI784068B (zh) | 2022-11-21 |
| US10645420B2 (en) | 2020-05-05 |
| US11190805B2 (en) | 2021-11-30 |
| EP3477882B1 (en) | 2023-02-08 |
| US20200228842A1 (en) | 2020-07-16 |
| JP2019080291A (ja) | 2019-05-23 |
| TW201923585A (zh) | 2019-06-16 |
| CN109726034B (zh) | 2023-04-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN109726034A (zh) | 数据处理设备和数据处理方法 | |
| Jia et al. | Towards practical real-time neural video compression | |
| JP4568887B2 (ja) | ビデオ圧縮方法 | |
| US8442107B2 (en) | Memory mapping apparatus and method for video decoder/encoder | |
| US9143793B2 (en) | Video processing system, computer program product and method for managing a transfer of information between a memory unit and a decoder | |
| US8908982B2 (en) | Image encoding device and image encoding method | |
| CN113347488B (zh) | 视频渲染方法、装置、设备及存储介质 | |
| CN104581177B (zh) | 一种结合块匹配和串匹配的图像压缩方法和装置 | |
| CN103888777A (zh) | 运动图像压缩解压缩装置 | |
| CN113473148A (zh) | 一种用于视频编码的计算系统及视频编码方法 | |
| US7113644B2 (en) | Image coding apparatus and image coding method | |
| CN110446045A (zh) | 视频编码方法、装置、网络设备及存储介质 | |
| US9008185B2 (en) | Apparatus and method of lossless compression/restoration of selective image information | |
| US20230239470A1 (en) | Video encoding and decoding methods, encoder, decoder, and storage medium | |
| JP6985924B2 (ja) | 画像符号化装置、画像処理装置、画像符号化方法 | |
| CN112954350B (zh) | 一种基于帧分类的视频后处理优化方法及装置 | |
| WO2024078148A1 (zh) | 一种视频解码方法、视频处理设备、介质及产品 | |
| JP2020530229A (ja) | 動き補償参照フレーム圧縮 | |
| CN115941958A (zh) | 一种视频编码方法、装置、电子设备及存储介质 | |
| CN101790848B (zh) | 分配给解码器的解码函数的选择 | |
| CN112468826A (zh) | 一种基于多层gan的vvc环路滤波方法及系统 | |
| CN112422965B (zh) | 一种视频码率控制方法、装置、计算机设备及存储介质 | |
| CN119496899A (zh) | 编解码方法及电子设备 | |
| US20180124412A1 (en) | Processing apparatuses and controlling methods thereof | |
| TW201404165A (zh) | 具有初始化片段之視訊及音訊之寫碼 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |