CN110087085B - 图像处理装置 - Google Patents
图像处理装置 Download PDFInfo
- Publication number
- CN110087085B CN110087085B CN201910075046.2A CN201910075046A CN110087085B CN 110087085 B CN110087085 B CN 110087085B CN 201910075046 A CN201910075046 A CN 201910075046A CN 110087085 B CN110087085 B CN 110087085B
- Authority
- CN
- China
- Prior art keywords
- data
- pixel
- prediction
- group
- image data
- 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.)
- Active
Links
Images
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/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
-
- 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/102—Methods 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/124—Quantisation
-
- 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/182—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 a pixel
-
- 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/184—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 bits, e.g. of the compressed video stream
-
- 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/186—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 a colour or a chrominance component
-
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- 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/90—Methods 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/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
提供一种图像处理装置。所述图像处理装置包括:解码器电路,具有用于对多个像素的压缩图像数据进行解压缩的多个级。解码器电路被配置为将所述多个像素划分为多个组。第一级在第一时间对第一组的第一像素的压缩图像数据执行预测补偿以生成第一预测数据,并在第二时间使用第一预测数据对第一组的第二像素的压缩图像数据执行预测补偿。第二级在第二时间使用第一预测数据对第二组的第一像素的压缩图像数据执行预测补偿以生成第二预测数据。
Description
本申请要求于2018年1月26日提交到韩国知识产权局的第10-2018-0010162号韩国专利申请和2018年4月10日提交到韩国知识产权局的第10-2018-0041788号韩国专利申请的优先权的权益,所述韩国专利申请的公开通过引用全部包含于此。
技术领域
本公开涉及一种图像处理装置。
背景技术
越来越多的应用需要高分辨率视频图像和高帧频图像。因此,通过图像处理装置的各种多媒体知识产权(IP)块向存储这些图像的存储器的数据访问量(即,带宽)已经大大增加。
每个图像处理装置具有有限的处理能力。当带宽增加时,图像处理装置的处理能力可能达到这个限制。因此,图像处理装置的用户在录制或播放视频图像时,可能经历速度的下降。
发明内容
本发明构思的至少一个实施例提供了一种具有提高的处理速度的图像处理装置。
根据本发明构思的示例性实施例,提供一种用于执行数据解压缩的图像处理装置。所述图像处理装置包括:解码器电路,具有用于将多个像素的第一压缩图像数据解压缩为原始图像数据的多个级。所述多个级至少包括第一级和第二级。解码器电路被配置为将所述多个像素划分为多个组,所述多个组至少包括彼此邻近的第一组和第二组。第一级在第一时间对第一组的第一像素的第一压缩图像数据执行预测补偿以生成第一预测数据,并在第二时间使用第一预测数据对第一组的第二像素的第一压缩图像数据执行预测补偿。第二级在第二时间使用第一预测数据对第二组的第一像素的第一压缩图像数据执行预测补偿以生成第二预测数据。
根据本发明构思的示例性实施例,提供一种用于将多个像素的第一压缩图像数据解压缩为原始图像数据的方法。所述方法包括:将所述多个像素划分为多个组,所述多个组至少包括彼此邻近的第一组和第二组;在第一时间对第一组的第一像素的第一压缩图像数据执行预测补偿以生成第一预测数据;在第二时间使用第一预测数据对第一组的第二像素的第一压缩图像数据执行预测补偿;在第二时间使用第一预测数据对第二组的第一像素的第一压缩图像数据执行预测补偿以生成第二预测数据。
根据本发明构思的示例性实施例,提供一种用于执行数据压缩的图像处理装置。所述装置包括:编码器电路,具有用于将多个像素的原始图像数据压缩为第一压缩图像数据的多个级。所述多个级至少包括第一级和第二级。编码器电路被配置为将所述多个像素划分为多个组,所述多个组至少包括彼此邻近的第一组和第二组。第一级在第一时间处理第一组的第一像素的原始图像数据以生成第一预测数据,并在第二时间处理第一组的第二像素的原始图像数据和第一预测数据以生成第一残差数据。第一压缩图像数据包括第一预测数据、第一残差数据和第二残差数据。
根据本发明构思的示例性实施例,提供一种压缩多个像素的原始图像数据的方法。所述方法包括:将所述多个像素划分为多个组,所述多个组至少包括彼此相邻的第一组和第二组;在第一时间处理第一组的第一像素的原始图像数据以生成第一预测数据;在第二时间处理第一组的第二像素的原始图像数据和第一预测数据以生成第一残差数据;在第二时间处理第二组的第一像素的原始图像数据和第一预测数据以生成以生成第二残差数据;生成包括第一预测数据、第一残差数据和第二残差数据的压缩图像数据。
根据本发明构思的示例性实施例,提供一种用于执行数据解压缩的图像处理装置,所述装置包括:解码器电路,包括用于将多个像素的第一压缩图像数据解压缩为原始图像数据的多个级,所述多个级至少包括第一级和第二级,其中,解码器电路被配置为将所述多个像素划分为多个组,所述多个组至少包括彼此邻近的第一组和第二组,其中,第一级在第一时间对第一组的第一像素的第一压缩图像数据执行预测补偿以生成第一预测数据,并在第二时间使用第一预测数据对第一组的第二像素的第一压缩图像数据执行预测补偿,其中,第二级在第二时间使用第一预测数据对第二组的第一像素的第一压缩图像数据执行预测补偿以生成第二预测数据。
对第一像素的第一压缩图像数据执行预测补偿的步骤包括:将第一像素的第一压缩图像数据和原始图像数据的一半比特深度相加以生成第一预测数据。
第一组和第二组位于相同的第一行中。
解码器电路包括用于对所述多个像素的第二压缩图像数据执行熵解码的第一逻辑电路,第一压缩图像数据从熵解码的结果生成。
当选择使用无损解压缩时,第一压缩图像数据是熵解码的结果。
解码器电路包括用于对熵解码的结果执行逆量化的第二逻辑电路,当选择有损解压缩时,第一压缩图像数据是逆量化的结果。
解码器电路包括有损解压缩路径和无损解压缩路径,编码器电路还包括:模式选择电路,被配置为响应于控制信号的接收而启用有损解压缩路径和无损解压缩路径中的一个。
所述多个组包括与第一行邻近的第二行中的第三组,其中,解码器电路使用第一预测数据对第三组的第一像素的第一压缩图像数据执行预测补偿。
所述多个组包括第二行中的与第三组邻近的第四组,其中,解码器电路使用第二预测数据对第四组的第一像素的第一压缩图像数据执行预测补偿。
所述图像处理装置还包括:知识产权(IP)核,连接到解码器电路;存储器装置;数据总线,连接到IP核和存储器装置,其中,解码器电路从IP核接收第一压缩图像数据,并将原始图像数据输出到IP核,其中,IP核通过数据总线转发原始图像数据以存储在存储器装置中。
所述图像处理装置,还包括:知识产权核(IP);存储器装置;数据总线,连接到IP核、存储器装置和解码器电路,其中,IP核使用数据总线将第一压缩图像数据发送到解码器电路,其中,解码器电路通过数据总线输出原始图像数据以存储在存储器装置中。
所述图像处理装置还包括:知识产权核(IP);存储器装置,连接到解码器电路;数据总线,连接到IP核和解码电路,其中,IP核使用数据总线将第一压缩图像数据发送到解码器电路,其中,解码器电路将原始图像数据存储在存储器装置中。
根据本发明构思的示例性实施例,提供一种用于执行数据压缩的图像处理装置,所述装置包括:编码器电路,包括用于将多个像素的原始图像数据压缩为第一压缩图像数据的多个级,所述多个级至少包括第一级和第二级,其中,编码器电路被配置为将所述多个像素划分为多个组,所述多个组至少包括彼此邻近的第一组和第二组,其中,第一级在第一时间处理第一组的第一像素的原始图像数据以生成第一预测数据,在第二时间处理第一组的第二像素的原始图像数据和第一预测数据以生成第一残差数据,其中,第二级在第二时间处理第二组的第一像素的原始图像数据和第一预测数据以生成以生成第二残差数据,其中,第一压缩图像数据包括第一预测数据、第一残差数据和第二残差数据。
第一残差数据是第一预测数据与第一组的第一像素的原始图像数据之间的差,第二残差数据是第一预测数据与第二组的第一像素的原始图像数据之间的差。
第一组和第二组位于相同的第一行中。
当选择无损压缩时,编码器电路对第一压缩图像数据执行熵编码以生成第二压缩图像数据。
当选择有损压缩时,编码器电路使用预设的量化参数(QP)对第一压缩图像数据执行量化以生成第二压缩数据,并对第二压缩图像数据执行熵编码以生成第三压缩图像数据。
编码器电路包括有损压缩路径和无损压缩路径,编码器电路还包括:模式选择电路,被配置为响应于控制信号的接收而启用有损压缩路径和无损压缩路径中的一个。
所述多个组包括与第一行邻近的第二行中的第三组,其中,编码器电路处理第三组的第一像素的原始图像数据和第一预测数据以生成第三残差数据,第一压缩图像数据包括第三残差数据。
所述图像处理装置还包括:知识产权(IP)核,连接到编码器电路;存储器装置;数据总线,连接到IP核和存储器装置,其中,编码器电路从IP核接收原始图像数据,并将第一压缩图像数据输出到IP核,其中,IP核通过数据总线转发第一压缩图像数据以存储在存储器装置中。
附图说明
通过参照附图对本发明的示例性实施例进行详细描述,本发明将变得清楚,其中:
图1是根据本发明构思的示例性实施例的图像处理装置的框图;
图2是图1中所示的帧缓冲压缩器(FBC)的详细框图;
图3是图2中所示的编码器的详细框图;
图4是图2中所示的解码器的详细框图;
图5示出根据实施例的图像处理装置的图像数据的像素的布置;
图6示出顶行中的像素以解释根据实施例的图像处理装置的预测;
图7示出以时间序列的方式对图6的像素执行预测补偿的顺序;
图8示出除了顶行之外的行中的像素以解释根据本发明构思的示例性实施例的图像处理装置的预测;
图9示出以时间序列的方式对图8的像素执行预测补偿的顺序;
图10示出除了顶行之外的行中的像素以解释根据本发明构思的示例性实施例的图像处理装置的预测;
图11示出像素的布置以解释由根据本发明构思的示例性实施例的图像处理装置在组内执行的预测;
图12是根据本发明构思的示例性实施例的图像处理装置的预测模块的详细框图;
图13是图12中所示的分支语句(branch statement)的详细示图;
图14是用于在结构上解释图13的分支语句的操作的概念图;
图15示出图12的查找表;
图16是图12中所示的预测等式的详细示图;
图17是根据本发明构思的示例性实施例的图像处理装置的框图;
图18是根据本发明构思的示例性实施例的图像处理装置的框图。
具体实施方式
现在将参照图1至图9描述根据本发明构思的示例性实施例的图像处理装置。
图1是根据实施例的图像处理装置的框图。
参照图1,根据实施例的图像处理装置包括多媒体知识产权(IP)100(例如,IP核、IP块、电路等)、帧缓冲压缩器(FBC)200(例如,电路、数字信号处理器等)、存储器300和***总线400。
在示例性实施例中,多媒体IP 100是图像处理装置的直接执行图像处理装置的图像处理的部分。多媒体IP 100可包括用于执行图像录制和再现(诸如,视频图像的拍摄、回放等)的多个模块。
多媒体IP 100从外部装置(诸如,相机)接收第一数据(例如,图像数据),并将第一数据转换为第二数据。例如,第一数据可以是原始运动图像数据或原始静态图像数据。第二数据可以是由多媒体IP 100生成的数据,并还可包括从处理第一数据的多媒体IP 100而得到的数据。多媒体IP 100可将第二数据重复地存储在存储器300中,并通过各种步骤更新第二数据。第二数据可包括这些步骤中使用的所有数据。第二数据可以以第三数据的形式存储在存储器300中。因此,第二数据可以是存储在存储器300中以前的数据或者是从存储器300读取之后的数据。
在示例性实施例中,多媒体IP 100包括图像信号处理器(ISP)110、抖动校正模块(G2D)120、多格式编解码器(MFC)130、图形处理单元(GPU)140和显示器150。然而,本发明构思不限于这种情况。也就是说,多媒体IP 100可包括上述ISP 110、G2D 120、MFC 130、GPU140和显示器150中的至少一个。换句话说,多媒体IP 100可通过不得不访问存储器300的处理模块来实现,以处理表示运动图像或静态图像的数据。
ISP 110接收第一数据,并通过预处理第一数据将第一数据转换为第二数据。在一个实施例中,第一数据是RGB格式的图像源数据。例如,ISP 110可将RGB格式的第一数据转换为YUV格式的第二数据。
RGB格式表示基于三原色光表示颜色的数据格式。也就是说,使用三种颜色(即,红色、绿色和蓝色)表示图像。另一方面,YUV格式表示分离地表示亮度(即,亮度信号)和色度(即,色度信号)的数据格式。也就是说,Y表示亮度信号,U(Cb)和V(Cr)分别表示色度信号。U表示亮度信号与蓝色信号分量之间的差异,V表示亮度信号与红色信号分量之间的差异。
可通过使用转换公式转换RGB型数据来获得YUV格式的数据。例如,可使用诸如Y=0.3R+0.59G+0.11B、U=(B-Y)×0.493、V=(R-Y)×0.877的转换公式将RGB型数据转换成YUV型数据。
由于人眼对亮度信号敏感但对颜色信号不太敏感,因此,压缩YUV格式的数据可比压缩RGB格式的数据更容易。因此,ISP 110可将RGB格式的第一数据转换为YUV格式的第二数据。
在ISP 110将第一数据转换为第二数据之后,ISP 110将第二数据存储在存储器300中。
G2D 120可执行静态图像数据或运动图像数据的抖动校正。G2D 120可读取存储在存储器300中的第二数据或第一数据来执行抖动校正。在一个实施例中,抖动校正表示检测运动图像数据中的相机的抖动并从运动图像数据去除抖动。
G2D 120可通过校正第一数据或第二数据中的抖动来生成新的第二数据或更新第二数据,并可将新的第二数据或更新的第二数据存储在存储器300中。
MFC 130可以是用于压缩运动图像数据的编解码器。通常,运动图像数据的尺寸非常大。因此,需要用于减小运动图像数据的尺寸的压缩模块。运动图像数据可基于多个帧之间的关联关系来压缩,这个压缩可由MFC 130来执行。MFC 130可读取并压缩第一数据,或者可读取并压缩存储在存储器300中的第二数据。
MFC 130可通过压缩第一数据或第二数据来生成新的第二数据或更新第二数据,并将新的第二数据或更新的第二数据存储在存储器300中。
GPU 140可执行算术处理以计算并生成二维或三维图形。GPU 140可计算第一数据或计算存储在存储器300中的第二数据。GPU 140可专门处理图形数据并且可并行处理图形数据。
GPU 140可通过压缩第一数据或第二数据来生成新的第二数据或更新第二数据,并将新的第二数据或更新的第二数据存储在存储器300中。
显示器150可将存储在存储器300中的第二数据显示在屏幕上。显示器150可将图像数据(即,由多媒体IP 100的其他组件(即,ISP 110、G2D 120、MFC 130和GPU 140)处理的第二数据)显示在屏幕上。然而,本发明构思不限于这种情况。
多媒体IP 100的ISP110、G2D120、MFC130、GPU140和显示器150中的每个可单独地操作。也就是说,ISP110、G2D120、MFC130、GPU140和显示器150中的每个可单独地访问存储器300以写入或读取数据。
在一个实施例中,在多媒体IP 100的元件单独地访问存储器300之前,FBC 200通过压缩第二数据来将第二数据转换为第三数据。FBC 200可将第三数据发送到多媒体IP100,多媒体IP 100可将第三数据发送到存储器300。
因此,由FBC 200生成的第三数据可被存储在存储器300中。相反地,存储在存储器300中的第三数据可被多媒体IP 100加载并发送到FBC 200。FBC 200可通过对第三数据进行解压缩来将第三数据转换为第二数据。FBC 200可将第二数据发送到多媒体IP 100。
也就是说,每当多媒体IP 100的ISP 110、G2D 120、MFC 130、GPU 140和显示器150单独地访问存储器300时,FBC 200可将第二数据压缩为第三数据,并将第三数据发送到存储器300。例如,在多媒体IP 100的一个组件生成第二数据并将第二数据存储在存储器300中之后,帧缓冲压缩器200可压缩存储的数据并将压缩的数据存储到存储器300中。相反地,每当多媒体IP 100的ISP 110、G2D 120、MFC 130、GPU 140和显示器150向存储器300做出数据请求时,FBC 200可将第三数据解压缩为第二数据并将第二数据发送到多媒体IP 100的ISP 110、G2D 120、MFC 130、GPU 140和显示器150中的每个。
存储器300可存储由FBC 200生成的第三数据,并将存储的第三数据提供给FBC200,使得FBC 200可对第三数据进行解压缩。
在一个实施例中,***总线400连接到多媒体IP 100和存储器300中的每个。具体地讲,多媒体IP 100的ISP 110、G2D 120、MFC 130、GPU 140和显示器150可单独地连接到***总线400。***总线400可用作多媒体IP 100的ISP 110、G2D 120、MFC 130、GPU 140和显示器150与存储器300彼此交换数据的路径。
在一个实施例中,FBC 200未连接到***总线400,并且当多媒体IP 100的ISP110、G2D 120、MFC 130、GPU 140和显示器150中的每个访问存储器300时,FBC 200将第二数据转换为第三数据或将第三数据转换为第二数据。
图2是图1中所示的FBC 200的详细框图。
参照图2,FBC 200包括编码器210(例如,编码电路)和解码器220(例如,解码电路)。
编码器210可从多媒体IP 100接收第二数据并生成第三数据。这里,可从多媒体IP100的ISP 110、G2D 120、MFC 130、GPU 140和显示器150中的每个发送第二数据。可经由多媒体IP 100和***总线400将第三数据发送到存储器300。
相反地,解码器220可将存储在存储器300中的第三数据解压缩为第二数据。第二数据可被发送到多媒体IP 100。这里,第二数据可被发送到多媒体IP 100的ISP 110、G2D120、MFC 130、GPU 140和显示器150中的每个。
图3是图2中所示的编码器210的详细框图。
参照图3,编码器210包括第一模式选择器219(例如,模式选择电路)、预测模块211(例如,逻辑电路)、量化模块213(例如,逻辑电路)、熵编码模块215(例如,逻辑电路)和填充模块217(例如,逻辑电路)。
在一个实施例中,第一模式选择器219确定编码器210将在无损模式下(例如,无损压缩)还是在有损模式下(例如,有损压缩)操作。当编码器210基于第一模式选择器219的确定结果在无损模式下操作时,第二数据可沿着图3的无损路径被压缩。当编码器210在有损模式下操作时,第二数据可沿着有损路径被压缩。
第一模式选择器219可从用于确定将执行无损压缩还是有损压缩的多媒体IP 100接收信号。这里,无损压缩表示不损失数据的压缩,并具有根据数据而变化的压缩率。另一方面,有损压缩表示数据部分丢失的压缩。有损压缩具有比无损压缩更高的压缩率,并具有预设的固定压缩率。
在无损模式的情况下,第一模式选择器219使第二数据沿着无损路径流向预测模块211、熵编码模块215和填充模块217。相反地,在有损模式的情况下,第一模式选择器219使第二数据沿着有损路径流向预测模块211、量化模块213和熵编码模块215。
预测模块211将第二数据转换为预测图像数据。预测图像数据是作为预测数据和残差数据的组合的第二数据的压缩表示。在一个实施例中,预测数据是图像数据的一个像素的图像数据,残差数据从预测数据和图像数据的与一个像素邻近的像素的图像数据之间的差而创建。例如,如果一个像素的图像数据具有0至255的值,则可需要8比特来表示该值。当邻近像素具有与一个像素的值相似的值时,多个邻近像素中的每个邻近像素的残差数据远小于预测数据。例如,如果邻近像素具有相似的值,则在不损失数据的情况下,只有与邻近像素的值的差(即,残差)才能被表示,并且表示该差所需的数据的比特的数量可远小于8比特。例如,当具有值253、254和255的像素被连续布置时,如果预测数据是253,则(253(预测)、1(残差)、2(残差))的残差数据表示可能就足够了,并且这个残差数据表示所需的每个像素的比特的数量可以是远小于8比特的2比特。例如,由于8比特预测数据253(11111101)、2比特残差数据254-251=1(01)以及2比特残差数据255-253=2(10),所以24比特的数据253、254和255可被减少到12比特。
预测模块211可通过将第二数据划分为预测数据和残差数据来压缩第二数据的整体尺寸。各种方法可用于确定预测数据。稍后将更详细地描述具体的预测方法。
预测模块211可基于逐像素或基于逐块执行预测。这里,块可以是由多个邻近像素形成的区域。例如,基于像素的预测可表示从多个像素中的一个像素创建所有的残差数据,基于块的预测可表示针对每个块从相应块的像素创建残差数据。
量化模块213可进一步压缩预测图像数据,其中,第二数据已经被预测模块211压缩为预测图像数据。量化模块213可使用预设的量化参数(QP)来去除预测图像数据的较低位。例如,如果预测数据是253(11111101),则可通过去除较低的2位将预测数据从8比特减少到6比特,这结果是252(111111)的预测数据。具体地讲,可通过将数据乘以QP来选择代表值,其中,丢弃小数点之后的数字,因此导致损失。如果像素数据具有0至28-1(=255)的值,则QP可被定义为1/(2n-1)(其中,n是8或更小的正整数)。然而,当前实施例不限于这种情况。
这里,由于去除的较低位稍后不会被恢复,因此它们丢失。因此,量化模块213仅在有损模式下使用。有损模式可具有比无损模式的压缩率相对高的压缩率,并可具有预设的固定压缩率。因此,后续不需要关于压缩率的信息。
熵编码模块215可通过熵编码来压缩在有损模式下由量化模块213压缩的预测图像数据或者无损模式下的预测图像数据,其中,第二数据已经由预测模块211压缩为无损模式下的预测图像数据。在熵编码中,可根据频率分配比特的数量。
在一个实施例中,熵编码模块215使用霍夫曼(Huffman)编码来压缩预测图像数据。在可选的实施例中,熵编码模块215通过指数哥伦布编码(exponential golombcoding)或哥伦布赖斯编码(golomb rice coding)来压缩预测图像数据。在一个实施例中,熵编码模块215使用k值来生成表,并使用生成的表压缩预测图像数据。k值可以是熵编码中使用的熵编码/码值。
填充模块217可对在无损模式下由熵编码模块215压缩的预测图像数据执行填充。这里,填充可表示添加无意义的数据以符合特定的尺寸。
填充模块217不仅可在无损模式下激活,而且还可在有损模式下激活。在有损模式中,预测图像数据可由量化模块213以大于预期压缩率的压缩率来压缩。在这种情况下,即使在有损模式下,预测图像数据也可通过填充模块217,转换成第三数据然后发送到存储器300。在示例性实施例中,省略填充模块217,使得没有执行填充。
压缩管理器218(例如,逻辑电路)确定分别用于量化和熵编码的QP表和熵表的组合,并根据确定的QP表和熵表的组合来控制第二数据的压缩。
在这种情况下,第一模式选择器219确定编码器210将在有损模式下操作。因此,第二数据沿着图3的有损路径被压缩。也就是说,基于FBC 200使用有损压缩算法压缩第二数据的前提,压缩管理器218确定需要QP表和熵表的组合,并根据确定的QP表和熵表的组合来压缩第二数据。
具体地讲,QP表可包括一个或多个条目,并且多个条目中的每个条目可包括用于量化第二数据的QP。
在一个实施例中,熵表指的是由k值标识的用于执行熵编码算法的多个码表(codetable)。可在一些实施例中使用的熵表可包括指数哥伦布码和哥伦布赖斯码中的至少一个。
压缩管理器218确定包括预定数量的条目的QP表,FBC 200使用确定的QP表来量化预测的第二数据。此外,压缩管理器218使用预定数量的k值确定熵表,FBC 200使用确定的熵表对量化的第二数据执行熵编码。也就是说,FBC 200基于由压缩管理器218确定的QP表和熵表的组合来生成第三数据。
然后,FBC 200可将生成的第三数据写入存储器300中。此外,FBC 200可从存储器300读取第三数据,对读取的第三数据进行解压缩,并将解压缩的第三数据提供给多媒体IP100。
图4是图2中所示的解码器220的详细框图。
参照图4,解码器220包括第二模式选择器229(例如,逻辑电路)、去填充模块227(例如,逻辑电路)、熵解码模块225(例如,逻辑电路)、逆量化模块223(例如,逻辑电路)和预测补偿模块221(例如,逻辑电路)。
第二模式选择器229确定存储在存储器300中的第三数据是通过第二数据的无损压缩生成还是通过第二数据的有损压缩生成。在示例性实施例中,第二模式选择器229基于数据头的存在或不存在,确定第三数据通过在无损模式下压缩第二数据生成还是通过在有损模式下压缩第二数据生成。
如果第三数据通过在无损模式下压缩第二数据生成,则第二模式选择器229使得第三数据沿着无损路径流向去填充模块227、熵解码模块225和预测补偿模块221。相反地,如果第三数据通过在有损模式下压缩第二数据生成,则第二模式选择器229使得第三数据沿着有损路径流向熵解码模块225,逆量化模块223和预测补偿模块221。
去填充模块227可去除由编码器210的填充模块217填充的数据的一部分。当省略填充模块217时,可省略去填充模块227。
熵解码模块225可对由熵编码模块215压缩的数据进行解压缩。熵解码模块225可使用霍夫曼编码、指数哥伦布编码或哥伦布赖斯编码来执行解压缩。由于第三数据包括k值,因此熵解码模块225可使用k值执行解码。
逆量化模块223可对由量化模块213压缩的数据进行解压缩。逆量化模块223可恢复由量化模块213使用预定的量化参数(QP)压缩的第二数据。例如,逆量化模块223可对熵解码模块225的输出执行逆量化操作。然而,逆量化模块223不能完全恢复在压缩过程中丢失的数据。因此,逆量化模块223仅在有损模式下使用。
预测补偿模块221可执行预测补偿以恢复通过预测模块211表示为预测数据和残差数据的数据。例如,预测补偿模块221可将(253(预测)、1(残差)和2(残差))的残差数据表示转换为(253、254和255)。例如,预测补偿模块221可通过将残差数据和预测数据相加来恢复数据。稍后将更详细地描述具体的预测补偿方法。
预测补偿模块221可恢复由预测模块211基于逐像素或基于逐块预测的数据。因此,第二数据可被恢复,或者第三数据可被解压缩然后被发送到多媒体IP 100。
在第三数据的解压缩中,解压缩管理器228(例如,逻辑电路)可执行用于适当地反映QP表和熵表的组合的操作,其中,QP表和熵表的组合已经如上面参照图3所述地由压缩管理器218确定以压缩第二数据。
当预测模块211基于逐像素执行预测时,预测补偿模块221还可基于逐像素执行预测补偿。当基于逐像素执行预测和预测补偿时,块之间不存在依赖性。因此,可随机访问多媒体IP 100。这里,随机访问可表示直接访问必要的块而不是从第一块顺序地访问块。
图5示出根据本发明构思的示例性实施例的图像处理装置的图像数据的像素的布置。
参照图5,根据示例性实施例的图像处理装置的FBC 200的编码器210的预测模块211接收第二数据(例如,图像数据)。预测模块211将图像数据转换为预测图像数据(例如,预测数据和残差数据)。预测图像数据的布置可以与图像数据的布置相同。然而,与图像数据不同,预测图像数据的值可被减少为残差数据并相应地显示。
这里,图像数据可由以多个行和多个列布置的多个像素组成。如图5中所示,图像数据可包括多个行Row 1至Row 10以及多个列Column 1至Column 10。虽然图5中示出十个行Row 1至Row 10以及十个列Column 1至Column 10,但是当前实施例不限于这种情况。
也就是说,在根据实施例的图像处理装置的图像数据中布置像素的行和列的数量可变化。
行Row 1至Row 10可包括第一行Row 1至第十行Row 10。这里,第一行Row 1是顶行,第十行Row 10是底行。也就是说,第二行Row 2至第十行Row 10可顺序地布置在第一行Row 1的下面。
列Column 1至Column 10可包括第一列Column 1至第十列Column 10。这里,第一列Column 1可以是最左列,第十列Column 10可以是最右列。也就是说,第二列Column 2至第十列Column 10可顺序地布置在第一列Column 1的右侧。
图6示出顶行中的像素以解释由根据本发明构思的示例性实施例的图像处理装置执行的预测。
参照图3至图5和图6,当基于逐像素执行预测时,预测模块211沿着从第一行Row 1到第十行Row 10的向下方向顺序地执行预测。然而,当前实施例不限于这种情况,根据至少一个实施例的图像处理装置可基于逐行但是以不同的顺序执行预测。为了便于描述,将假设预测模块211基于逐行沿着向下方向执行预测。
同样地,当基于逐像素执行预测补偿时,预测补偿模块221可沿着从第一行Row 1到第十行Row 10的向下方向顺序地执行预测补偿。然而,当前实施例不限于这种情况,根据至少一个实施例的图像处理装置可基于逐行但是以不同的顺序执行预测补偿。为了便于描述,将假设预测模块211基于逐行沿着向下方向执行预测补偿。
第一行Row 1可包括从左侧顺序地布置的第一像素X1至第十像素X10。也就是说,第一像素X1可位于第一行Row1的最左侧,第二像素X2至第十像素X10可顺序地布置在第一像素X1的右侧。
在示例性实施例中,预测模块211将第一行Row 1划分为多个组。具体地讲,第一行Row 1可包括第一组G1、第二组G2和第三组G3。这里,第一组G1和第二组G2均包括四个像素。因为第一行Row 1中的剩余的像素的数量仅为二,所以第三组G3包括两个像素。
每个组中的像素的数量可以是预设值。除了像第三组G3中具有不足数量的像素的组之外,所有组中的像素的数量可以是相同的。在图6中,每个组中像素的数量是四。然而,这仅是示例,并且每个组中的像素的数量可变化。然而,每个组中的像素的数量应小于或等于第一行Row 1中的像素的总数(例如,10)。
在一个实施例中,预测模块211将第一像素X1的预测数据设置为比特深度的一半。然而,当前实施例不限于这种情况。例如,如果比特深度是8比特,则比特深度的一半将是128。因此,如果第一像素X1(即,第一像素X1的像素值、数据值或值)是253,预测数据是128,则残差数据将是253-128=125。
由预测模块211执行的预测表示将像素的数据值划分为预测数据和残差数据。也就是说,预测模块211可通过获得第一像素X1的预测数据并将第一像素X1的数据值与预测数据之间的差设置为残差数据来对第一像素X1执行预测。
类似地,由预测补偿模块221执行的预测补偿可表示通过使用预测数据和残差数据获得原始像素值(即,包括在像素中的数据值)。例如,可通过将残差数据和预测数据相加来获得原始像素值。
基本地,执行预测的目的是使用相似的邻近数据值来使用较少比特表示数据值。然而,由于第一像素X1因为它是将被预测的第一个像素而不能使用邻近值的像素,所以比特深度的一半可作为预测数据。
然后,预测模块211可对第二像素X2执行预测。在第二像素X2的预测中,预测模块211通过使用第一像素X1的值作为预测数据来获得预测数据和残差数据。例如,如果第一像素X1是253并且第二像素X2是254,则第二像素X2的预测数据是253,第二像素X2的残差数据是254-253=1。类似地,第三像素X3使用第二像素X2的值作为预测数据,第四像素X4使用第三像素X3的值作为预测数据。
也就是说,在第一组G1中,预测模块211可使用将左像素的值用作如上所述的预测数据的差分脉冲编码调制(DPCM)来执行预测。
当执行第二组G2的预测时,预测模块211使用作为第一组G1的第一个像素的第一像素X1的数据值作为第五像素X5的预测数据。同样地,预测模块211使用作为第二组G2的第一个像素的第五像素X5的值作为第三组G3的第九像素X9的预测数据。
也就是说,在每个组内,预测模块211可使用DPCM,换句话说,使用紧邻的左像素的值作为预测数据。然而,对于每个组的第一个像素,预测模块211使用前一组的第一个像素的值作为预测数据。
这与预测补偿模块221的预测补偿以顺序方式执行的事实有关。如果预测模块211不执行分组并使用紧邻的左像素的值作为除了第一行Row 1的第一像素X1之外的每个像素的预测数据,则预测补偿模块221不能获得第五像素X5的值,直到通过预测补偿识别第四像素X4的值。
在这种情况下,预测补偿模块221可仅从第一像素X1到第十像素X10顺序地执行预测补偿。然而,由于对于每个组的第一个像素,根据本发明构思的示例性实施例的预测模块211和预测补偿模块221使用前一组的第一个像素的值作为预测数据,因此预测模块211和预测补偿模块221均能够并行处理。如果预测补偿可并行执行,则可进行更快的预测补偿。如果预测可并行执行,则可进行更快的预测。
根据本发明构思的示例性实施例的图像处理装置的预测模块211不需要等到完成对第一组G1的像素的预测补偿,才对第二组G2的像素执行预测。在示例性实施例中,FBC200,或者,更具体地讲,预测补偿模块221包括多个电路或处理器(例如,多个流水线级(pipeline stage)),其中,每个电路/处理器执行独立的预测补偿,并且这些电路的操作是交错的。例如,这些电路/处理器中的第一电路(例如,流水线的第一级)开始对第一组G1执行预测补偿,然后在第一电路完成处理第一组G1的第一像素X1之后,第二电路(例如,流水线的第二级)开始对第二组G2执行预测补偿。通过第一电路对第一像素X1的处理可包括将第一像素X1的残差数据和从一半比特深度生成的预测数据相加以确定第一像素X1的原始数据,并将第一像素X1的原始数据传递到第二电路作为将在第二电路的第五像素X5的原始数据的生成中使用的预测数据。然后,第二电路/处理器可通过将第五像素X5的残差数据和接收的预测数据相加来生成第五像素X5的原始数据。
图7示出以时间序列的方式对图6的像素执行预测补偿的顺序。
参照图7,预测补偿模块221在第一时间t0对第一像素X1执行预测补偿。这里,由于第一像素X1具有比特深度的一半作为如上所述的预测数据,因此,可执行预测补偿而不管其他像素的值如何。
预测补偿模块221通过使用通过对第一像素X1的预测补偿获得的第一像素X1的值对第二像素X2执行预测补偿来获得第一组G1的第二像素X2的值。也就是说,由于第二像素X2的值使用第一像素X1的值作为预测数据,因此,第二像素X2的值可被获得为残差数据和预测数据之和。预测补偿模块221在第二时间t1获得第二像素X2的值。
预测补偿模块221还通过预测补偿获得第二组G2的第五像素X5的值。这是因为第五像素X5也使用第一像素X1的值作为预测数据。因此,可在第二时间t1直接对第二组G2的第五像素X5执行预测补偿,而不需要等到对第一组G1的所有的像素的预测补偿结束。例如,流水线的第一级可在时间t0对第一像素X1进行操作,以生成将用作第二像素X2和第五像素X5的第一预测数据的第一像素X1的原始数据,然后,由于第一级在时间t0生成产生第五像素X5的原始数据所需的第一预测数据,所以流水线的第二级可在时间t1对第五像素X5进行操作。
类似地,预测补偿模块221可在第三时间t2对第三组G3的第九像素X9执行预测补偿。由于已经在第二时间t1获得了第五像素X5的值,因此预测补偿模块221可使用第五像素X5的值来获得第九像素X9的值。例如,流水线的第二级在时间t1使用从流水线的第一级接收的第一预测数据,以生成将用作第六像素X6和第九像素X9的第二预测数据的第五像素X5的原始数据,然后,因为第二级生成产生第九像素X9的原始数据所需的第二预测数据,所以流水线的第三级可在时间t2对第九像素X9进行操作。在一个实施例中,预测补偿模块221还并行地对第三像素X3和第六像素X6执行预测补偿。
也就是说,根据本发明构思的示例性实施例的图像处理装置的预测补偿模块221可执行并行预测补偿,因为预测模块211不以串行方式对每个组执行预测。
图8示出了除了顶行之外的行中的像素以解释根据本发明构思的实施例的图像处理装置的预测。
参照图8,第二行Row 2包括从左侧顺序布置的第十一像素X11至第二十像素X20。也就是说,第十一像素X11位于第二行Row2的最左侧,第十二像素X12至第二十像素X20可顺序地布置在第十一像素X11的右侧。
预测模块211将第二行Row 2划分为多个组。具体地讲,第二行Row 2包括第四组G4、第五组G5和第六组G6。这里,第四组G4和第五组G5均包括四个像素。因为第二行Row 2中的剩余的像素的数量仅为两个,所以第六组G6包括两个像素。每组中的像素的数量可变化。
预测模块211对作为第四组G4的第一个像素的第十一像素X11执行预测。在本发明构思的实施例中,第十一像素X11的预测使用第一像素X1的值作为预测数据来执行。由于在第十一像素X11的左侧没有可参照的像素,并且最靠近第十一像素X11的像素是第十一像素X11上方的第一像素X1,因此使用第一像素X1作为预测数据可以是有效的。
然后,预测模块211对第十二像素X12执行预测。在第十二像素X12的预测中,预测模块211可通过使用第十一像素X11的值作为预测数据来获得预测数据和残差数据。同样地,第十三像素X13使用第十二像素X12的值作为预测数据,第十四像素X14使用第十三像素X13的值作为预测数据。也就是说,在第四组G4中,预测模块211使用左像素的值被用作如上所述的预测数据的DPCM来执行预测。
类似地,预测模块211通过使用位于第十五像素X15上方的第五像素X5的值作为预测数据,对作为第五组G5的第一个像素的第十五像素X15执行预测。这不仅因为第五像素X5与第十五像素X15邻近而有效,而且还意图用于预测补偿的并行执行。类似地,预测模块211使用第十九像素X19上方的第九像素X9的值作为预测数据,对作为第六组G6的第一个像素的第十九像素X19执行预测。
对第五组G5和第六组G6中的其他像素的预测也可通过预测模块211使用DPCM来执行。
虽然图8仅示出了第一行Row 1和第二行Row 2的像素的操作,但其他行Row 3至Row 10的像素的操作也可与第一行Row 1和第二行Row 2的像素的操作相同或类似。下面将第三行Row 3作为示例进行描述,并且针对第三行Row 3的描述也可应用于第四行Row 4至第十行Row10。
在一个示例中,第三行Row 3的像素的操作可与第一行Row1的像素的操作相同或类似。例如,第三行Row 3中划分的第一个组的第一个像素的预测可与第一行Row 1中划分的第一组G1的第一像素X1的预测相同或类似。
在另一示例中,第三行Row 3的像素的操作可与第二行Row 2的像素的操作相同或类似。例如,第三行Row3中划分的第一个组的第一个像素的预测可与第二行Row 2中划分的第四组G4的第11像素X11的预测相同或类似。
图9示出以时间序列的方式对图8的像素执行预测补偿的顺序。
参照图9,预测补偿模块221在第一时间t0对第十一像素X11、第十五像素X15和第十九像素X19同时并行地执行预测补偿。由于第二行Row 2中的第十一像素X11、第十五像素X15和第十九像素X19使用第一行Row 1中的像素的值作为预测数据,因此,对第十一像素X11、第十五像素X15和第十九像素X19的预测补偿可直接执行,而不管第二行Row 2中的其他像素的值如何。例如,假设针对前一行的像素的数据已经被预先解压缩,则在相同的时间t0,预测补偿模块221的第一级可对像素X11进行操作,预测补偿模块221的第二级可对像素X15进行操作,预测补偿模块221的第三级可对像素X19进行操作。例如,前一行的数据的解压缩提供用于生成第一预测数据的像素X1的值、用于生成第二预测数据的像素X5的值,以及用于生成第三预测数据的像素X9的值,其中,将第一预测数据和像素X11的残差数据相加以恢复像素X11的数据,其中,将第二预测数据和像素X15的残差数据相加以恢复像素X15的数据,并将第三预测数据和像素X19的残差数据相加以恢复像素X19的数据。
然后,预测补偿模块221使用通过预测补偿获得的第十一像素X11、第十五像素X15和第十九像素X19的值并行地对第四组G4、第五组G5和第六组G6的像素执行预测补偿。
现在将参照图1至图4和图10描述根据本发明构思的至少一个实施例的图像处理装置。
图10示出除了顶行之外的行中的像素以解释根据本发明构思的示例性实施例的图像处理装置的预测。
参照图1至图4和图10,根据实施例的图像处理装置的预测模块211通过考虑上像素、左上像素和右上像素中的至少一个来对每组的第一个像素执行预测。
具体地讲,当预测模块211对第十五像素X15执行预测时,预测模块211使用位于第十五像素X15上方的第五像素X5、位于第五像素X5左侧的第四像素X4和位于第五像素X5右侧的第六像素X6中的至少一个来获得预测数据。
也就是说,第十五像素X15的预测数据可以是第四像素X4、第五像素X5和第六像素X6的值中的任何一个值,可以是使用第四像素X4、第五像素X5和第六像素X6的值中的两个值计算的值,或者可以是使用第四像素X4、第五像素X5和第六像素X6的值中的所有的值计算的值。例如,预测数据可通过将两个值一起平均或者将三个值一起平均来生成。
因此,对于第十五像素X15,预测模块211可通过使用更多样化的源来获得具有较高效率的预测数据。同样地,可考虑第八像素X8、第九像素X9和第十像素X10的值中的至少一个来获得第十九像素X19的预测数据。类似地,还可考虑第一像素X1和第二像素X2的值中的至少一个值来获得第十一像素X11的预测数据。这里,由于在第一像素X1的左侧没有像素,因此可仅考虑两个像素。
虽然图10仅示出了第一行Row 1和第二行Row 2的像素的操作,但其他行Row 3至Row 10的像素的操作也可以是相同或类似的。换言之,其他行Row 3至Row10中的每个行的像素的操作可与第一行Row 1的像素的操作相同或类似,或者与第二行Row 2的像素的操作相同或类似。
虽然存在通过考虑多个像素来执行预测的各种方法,但是也可使用稍后将描述的上下文预测。
现在将参照图1至图4以及图11至图16来描述根据本发明构思的实施例的图像处理装置。
图11示出像素的布置以解释由根据本发明构思的示例性实施例的图像处理装置在组内执行的预测。
参照图1至图4和图11,根据实施例的图像处理装置的预测模块211在组内执行上下文预测。上下文预测是使用多个邻近像素生成上下文并基于生成的上下文确定预测数据的方法。
具体地讲,可使用作为左像素的第十一像素X11、作为上像素的第二像素X2、作为左上像素的第一像素X1和作为右上像素的第三像素X3来对第二行Row 2的第十二像素X12执行预测和预测补偿。
由于预测补偿模块221沿着从第一行Row1向下的方向顺序地执行预测补偿,因此,当对第二行Row 2的第十二像素X12执行预测补偿时,第一行Row 1的所有的像素的值已经通过预测补偿获得。此外,由于位于第二行Row 2中的第十二像素X12的左侧的第十一像素X11是与第十二像素X12在同一组内的像素,因此,第十一像素X11的值可已经通过预测补偿获得。
另一方面,由于同一组内的位于第十二像素X12的右侧的第十三像素X13和第十四像素X14还未经历预测补偿,因此,在第十二像素X12的预测补偿中不能参照第十三像素X13和第十四像素X14的值。
虽然图11仅示出了第一行Row 1和第二行Row 2的像素的操作,但其他行Row 3至Row 10的像素的操作也可以是相同或类似的。换言之,其他行Row 3至Row 10中的每一行的像素的操作可与第一行Row 1的像素的操作相同或类似,或者与第二行Row 2的像素的操作相同或类似。
虽然在图4至图11中描述了处理根据行被划分成组的像素的示例,但是本申请不限于此。例如,图4至图11中的术语“行”和术语“列”可彼此交换。换言之,每个列中的像素可被划分成多个组。这里描述的划分的组的操作可类似于图4至图11中的划分的组的操作,因此,其细节将为了简明而省略。
图12是根据本发明构思的示例性实施例的图像处理装置的预测模块的详细框图。
在一个实施例中,预测模块211包括分支语句211a、查找表211b和预测等式211c。
分支语句211a可接收将要参照的像素的值(即,在第十二像素X12的情况下,第一像素X1、第二像素X2、第三像素X3和第十一像素X11的值)。分支语句211a可使用第一像素X1、第二像素X2、第三像素X3和第十一像素X11的值来生成上下文ctx。分支语句211a可将上下文ctx发送到查找表211b。
查找表211b可接收上下文ctx并输出组信息Gr。组信息Gr可以是确定应当使用包括在预测等式211c中的哪个等式的信息。
预测等式211c可接收组信息Gr,并使用与组信息Gr对应的等式产生预测数据Xp和残差r。
图13是图12中所示的分支语句211a的详细示图。图14是用于在结构上解释图13的分支语句211a的操作的概念图。
参照图13,分支语句211a可包括多个分支语句。尽管图13中示出五个分支语句,但是当前实施例不限于这种情况。
分支语句211a中指定的X1、X2、X3和X11分别指示第一像素X1、第二像素X2、第三像素X3和第十一像素X11的值。如果改变参照的像素,则也可改变分支语句211a。也就是说,为了方便起见,图13的分支语句211a基于输入第一像素X1、第二像素X2、第三像素X3和第十一像素X11的假设来创建。
第一分支语句①定义:如果第十一像素X11的值与第二像素X2的值之间的差的绝对值大于10,则上下文ctx为1,否则为0。
第二分支语句②定义:如果第十一像素X11的值大于第二像素X2的值,则上下文ctx加倍(“<<1”是二进制数的逐位运算并表示兼作数字)然后将1和加倍的上下文ctx相加,如果不是,则上下文ctx仅加倍。
第三分支语句③定义:如果第十一像素X11的值大于第一像素X1的值,则上下文ctx加倍,然后将1和加倍的上下文ctx相加,如果不是,则上下文ctx仅加倍。
第四分支语句④定义:如果第二像素X2的值大于第一像素X1的值,则上下文ctx加倍,然后将1和加倍的上下文ctx相加,如果不是,则上下文ctx仅加倍。
第五分支语句⑤定义:如果第二像素X2的值大于第三像素X3的值,则上下文ctx加倍,然后将1和加倍的上下文ctx相加,如果不是,则上下文ctx仅加倍。
参照图14,上下文ctx可通过总共五个分支语句而具有25=32个值。当分支语句的数量改变时,上下文ctx的值的数量也可改变。也就是说,上下文ctx可具有从0到31的总共32个值。
具体地讲,上下文ctx可通过第一分支语句①分支为0和1,并且可通过第二分支语句②分支为从0到3的总共四个值。上下文ctx可通过第三分支语句③分支为从0到7的总共八个值,并可通过第四分支语句④分支为从0到15的总共16个值。最后,上下文ctx可通过第五分支语句⑤分支为从0到31的总共32个值。
图15示出图12的查找表211b。
参照图15,查找表211b可具有与上下文值对应的组信息值的表。在图15中,ctxPredLookUpLuma表示用于YUV数据的亮度信号块的查找表,ctxPredLookUpChroma表示用于YUV数据的色度信号块的查找表。
也就是说,如图15中所示,上下文ctx可分支为从0到31的值,与上下文ctx对应的组信息Gr可具有从0到5的六个值。这里,组信息Gr的值的数量可根据需要而变化。组信息Gr的值的数量可对应于包括在预测等式211c中的等式的数量。
图16是图12中所示的预测等式211c的详细示图。
参照图16,预测等式211c可包括与组信息Gr的从0到5的六个值对应的关于Xp0、Xp1、Xp2、Xp3、Xp4和Xp5的等式。具体地讲,当组信息Gr是0、1、2、3、4和5时,Xp0、Xp1、Xp2、Xp3、Xp4和Xp5可用作Xp(即,预测数据Xp)。如果组信息Gr是0,则Xp0可以是预测数据Xp。因此,残差r可以是像素的数据值X与预测数据Xp之间的差(即,Xp0)。
当在组内执行预测时,根据本发明构思的至少一个实施例的图像处理装置的预测模块211可通过使用上下文预测考虑与邻近像素的关系来执行更准确的和可靠的预测。如果精确地获得预测数据,则预测数据与像素的值之间的差(即,残差)可通过较少的比特来表示。因此,可提高数据压缩的效率。
现在将参照图17描述根据本发明构思的示例性实施例的图像处理装置。
图17是根据本发明构思的示例性实施例的图像处理装置的框图。
参照图17,根据实施例的图像处理装置的FBC 200直接连接到***总线400。
FBC 200不直接连接到多媒体IP 100,而是通过***总线400连接到多媒体IP100。具体地讲,多媒体IP 100的ISP 110、G2D 120、MFC 130、GPU 140和显示器150中的每个可通过***总线400与FBC 200交换数据,并通过***总线400将数据发送到存储器300。
也就是说,在压缩处理中,多媒体IP 100的ISP 110、G2D 120、MFC 130、GPU 140和显示器150中的每个可通过***总线400将第二数据发送到FBC 200。然后,FBC 200可将第二数据压缩为第三数据,并通过***总线400将第三数据发送到存储器300。
类似地,在解压缩处理中,FBC 200可通过***总线400接收存储在存储器300中的第三数据,并将第三数据解压缩为第二数据。然后,FBC 200可通过***总线400将第二数据发送到多媒体IP 100的ISP 110、G2D 120、MFC 130、GPU 140和显示器150中的每个。
在当前实施例中,尽管FBC 200未单独连接到多媒体IP 100的ISP 110、G2D 120、MFC 130、GPU 140和显示器150,但是FBC 200仍然可通过***总线400连接到多媒体IP 100的ISP 110、G2D 120、MFC 130、GPU 140和显示器150。因此,硬件配置可被简化,并且操作速度可被提高。
现在将参照图18描述根据本发明构思的实施例的图像处理装置。
图18是根据本发明构思的示例性实施例的图像处理装置的框图。
参照图18,根据示例性实施例的图像处理装置被配置,使得存储器300和***总线400通过FBC 200彼此连接。
也就是说,存储器300不直接连接到***总线400,并且仅通过FBC 200连接到***总线400。此外,多媒体IP 100的ISP 110、G2D 120、MFC 130、GPU 140和显示器150可直接连接到***总线400。因此,多媒体IP 100的ISP 110、G2D 120、MFC 130、GPU 140和显示器150可仅通过FBC 200访问存储器300。
由于在当前实施例中FBC 200涉及所有对存储器300的访问,因此FBC 200可直接连接到***总线400,存储器300可通过FBC 200连接到***总线400。这样可减少数据传输中的错误并提高速度。
Claims (20)
1.一种用于执行数据解压缩的图像处理装置,所述图像处理装置包括:
解码器电路,包括用于将多个像素的第一压缩图像数据解压缩为原始图像数据的多个级,所述多个级至少包括第一级和第二级,
其中,解码器电路被配置为将所述多个像素的第一行划分为多个组,所述多个组至少包括彼此邻近的第一组和第二组,
其中,第一级在第一时间对第一组的第一像素的第一压缩图像数据执行预测补偿以生成第一预测数据,并在第二时间使用第一预测数据对第一组的第二像素的第一压缩图像数据执行预测补偿,其中,第一组的第一像素在第一组内排序第一,
其中,第二级在第二时间使用第一预测数据对第二组的第一像素的第一压缩图像数据执行预测补偿以生成第二预测数据,其中,第二组的第一像素在第二组内排序第一。
2.根据权利要求1所述的图像处理装置,其中,对第一组的第一像素的第一压缩图像数据执行预测补偿的步骤包括:将第一组的第一像素的第一压缩图像数据和原始图像数据的一半比特深度相加以生成第一预测数据。
3.根据权利要求1所述的图像处理装置,其中,第一组和第二组位于相同的第一行中。
4.根据权利要求1所述的图像处理装置,其中,解码器电路包括用于对所述多个像素的第二压缩图像数据执行熵解码的第一逻辑电路,第一压缩图像数据从熵解码的结果生成。
5.根据权利要求4所述的图像处理装置,其中,当选择无损解压缩时,第一压缩图像数据是熵解码的结果。
6.根据权利要求4所述的图像处理装置,其中,解码器电路包括用于对熵解码的结果执行逆量化的第二逻辑电路,当选择有损解压缩时,第一压缩图像数据是逆量化的结果。
7.根据权利要求1所述的图像处理装置,其中,解码器电路包括有损解压缩路径和无损解压缩路径,解码器电路还包括:模式选择电路,被配置为响应于控制信号的接收而启用有损解压缩路径和无损解压缩路径中的一个。
8.根据权利要求3所述的图像处理装置,其中,所述多个组包括与第一行邻近的第二行中的第三组,其中,解码器电路使用第一预测数据对第三组的第一像素的第一压缩图像数据执行预测补偿。
9.根据权利要求8所述的图像处理装置,其中,所述多个组包括第二行中的与第三组邻近的第四组,其中,解码器电路使用第二预测数据对第四组的第一像素的第一压缩图像数据执行预测补偿。
10.根据权利要求1所述的图像处理装置,还包括:
知识产权核,连接到解码器电路;
存储器装置;
数据总线,连接到知识产权核和存储器装置,
其中,解码器电路从知识产权核接收第一压缩图像数据,并将原始图像数据输出到知识产权核,
其中,知识产权核通过数据总线转发原始图像数据以存储在存储器装置中。
11.根据权利要求1所述的图像处理装置,还包括:
知识产权核;
存储器装置;
数据总线,连接到知识产权核、存储器装置和解码器电路,
其中,知识产权核使用数据总线将第一压缩图像数据发送到解码器电路,
其中,解码器电路通过数据总线输出原始图像数据以存储在存储器装置中。
12.根据权利要求1所述的图像处理装置,还包括:
知识产权核;
存储器装置,连接到解码器电路;
数据总线,连接到知识产权核和解码器电路,
其中,知识产权核使用数据总线将第一压缩图像数据发送到解码器电路,
其中,解码器电路将原始图像数据存储在存储器装置中。
13.一种用于执行数据压缩的图像处理装置,所述图像处理装置包括:
编码器电路,包括用于将多个像素的原始图像数据压缩为第一压缩图像数据的多个级,所述多个级至少包括第一级和第二级,
其中,编码器电路被配置为将所述多个像素的第一行划分为多个组,所述多个组至少包括彼此邻近的第一组和第二组,
其中,第一级在第一时间处理第一组的第一像素的原始图像数据以生成第一预测数据,在第二时间处理第一组的第二像素的原始图像数据和第一预测数据以生成第一残差数据,其中,第一组的第一像素在第一组内排序第一,
其中,第二级在第二时间处理第二组的第一像素的原始图像数据和第一预测数据以生成第二残差数据,其中,第二组的第一像素在第二组内排序第一,
其中,第一压缩图像数据包括第一预测数据、第一残差数据和第二残差数据。
14.根据权利要求13所述的图像处理装置,其中,第一残差数据是第一预测数据与第一组的第二像素的原始图像数据之间的差,第二残差数据是第一预测数据与第二组的第一像素的原始图像数据之间的差。
15.根据权利要求13所述的图像处理装置,其中,第一组和第二组位于相同的第一行中。
16.根据权利要求13所述的图像处理装置,其中,当选择无损压缩时,编码器电路对第一压缩图像数据执行熵编码以生成第二压缩图像数据。
17.根据权利要求13所述的图像处理装置,其中,当选择有损压缩时,编码器电路使用预设的量化参数对第一压缩图像数据执行量化以生成第二压缩数据,并对第二压缩图像数据执行熵编码以生成第三压缩图像数据。
18.根据权利要求13所述的图像处理装置,其中,编码器电路包括有损压缩路径和无损压缩路径,编码器电路还包括:模式选择电路,被配置为响应于控制信号的接收而启用有损压缩路径和无损压缩路径中的一个。
19.根据权利要求15所述的图像处理装置,其中,所述多个组包括与第一行邻近的第二行中的第三组,其中,编码器电路处理第三组的第一像素的原始图像数据和第一预测数据以生成第三残差数据,第一压缩图像数据包括第三残差数据。
20.根据权利要求13所述的图像处理装置,还包括:
知识产权核,连接到编码器电路;
存储器装置;
数据总线,连接到知识产权核和存储器装置,
其中,编码器电路从知识产权核接收原始图像数据,并将第一压缩图像数据输出到知识产权核,
其中,知识产权核通过数据总线转发第一压缩图像数据以存储在存储器装置中。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20180010162 | 2018-01-26 | ||
KR10-2018-0010162 | 2018-01-26 | ||
KR10-2018-0041788 | 2018-04-10 | ||
KR1020180041788A KR102568633B1 (ko) | 2018-01-26 | 2018-04-10 | 이미지 처리 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110087085A CN110087085A (zh) | 2019-08-02 |
CN110087085B true CN110087085B (zh) | 2022-10-28 |
Family
ID=67392556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910075046.2A Active CN110087085B (zh) | 2018-01-26 | 2019-01-25 | 图像处理装置 |
Country Status (2)
Country | Link |
---|---|
US (2) | US11044466B2 (zh) |
CN (1) | CN110087085B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11044466B2 (en) | 2018-01-26 | 2021-06-22 | Samsung Electronics Co., Ltd. | Image processing device |
GB2601503B (en) * | 2020-12-01 | 2023-03-29 | Imagination Tech Ltd | Data compression and packing |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030112870A1 (en) * | 2001-12-19 | 2003-06-19 | Hideki Fukuda | Encoder and decoder |
CN103477636A (zh) * | 2010-12-23 | 2013-12-25 | 英国广播公司 | 图像的压缩 |
CN104834627A (zh) * | 2014-02-06 | 2015-08-12 | 瑞萨电子株式会社 | 半导体设备、处理器***及其控制方法 |
CN105556962A (zh) * | 2013-10-14 | 2016-05-04 | 联发科技股份有限公司 | 发送用于具有无损编码和有损编码的视频***的无损模式的信号的方法 |
CN105898305A (zh) * | 2016-04-12 | 2016-08-24 | 上海兆芯集成电路有限公司 | 基于无损联合图像专家小组格式的图像压缩与解压缩方法 |
US20170150186A1 (en) * | 2015-11-25 | 2017-05-25 | Qualcomm Incorporated | Flexible transform tree structure in video coding |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6480542B1 (en) | 1994-08-24 | 2002-11-12 | Siemens Aktiengesellschaft | Method for decoding compressed video data with a reduced memory requirement |
DE10113880B4 (de) | 2001-03-21 | 2004-04-29 | T-Mobile Deutschland Gmbh | Verfahren zur Komprimierung und Dekomprimierung von Videodaten |
JP4985645B2 (ja) | 2006-05-17 | 2012-07-25 | 富士通株式会社 | 画像データ圧縮装置、圧縮方法及びプログラム並びに画像データ復元装置、復元方法及びプログラム |
KR20080082143A (ko) | 2007-03-07 | 2008-09-11 | 삼성전자주식회사 | 영상 부호화 방법 및 장치, 복호화 방법 및 장치 |
US8670613B2 (en) | 2010-08-31 | 2014-03-11 | Nvidia Corporation | Lossless frame buffer color compression |
US20120300838A1 (en) | 2011-05-26 | 2012-11-29 | Sharp Laboratories Of America, Inc. | Low resolution intra prediction |
RU2589297C9 (ru) | 2011-12-28 | 2017-01-23 | ДжейВиСи КЕНВУД КОРПОРЕЙШН | Устройство декодирования движущегося изображения и способ декодирования движущегося изображения |
KR101885885B1 (ko) | 2012-04-10 | 2018-09-11 | 한국전자통신연구원 | 비디오 데이터의 병렬 인트라 예측 방법 |
CN105103547A (zh) | 2013-04-05 | 2015-11-25 | 三菱电机株式会社 | 彩色图像编码装置、彩色图像解码装置、彩色图像编码方法以及彩色图像解码方法 |
JP6120707B2 (ja) | 2013-07-08 | 2017-04-26 | ルネサスエレクトロニクス株式会社 | 動画像符号化装置およびその動作方法 |
KR20160011951A (ko) | 2014-07-23 | 2016-02-02 | 삼성전자주식회사 | 영상 처리 디바이스 및 방법 |
CN106688235B (zh) * | 2014-07-24 | 2019-08-16 | 陈仕东 | 非因果预测的信号编码方法、解码方法 |
US10979705B2 (en) | 2014-08-08 | 2021-04-13 | Qualcomm Incorporated | Method for video coding with spatial prediction mode for multi-mode video coding |
KR20170023484A (ko) | 2015-08-24 | 2017-03-06 | 삼성전자주식회사 | 이미지 처리장치 및 방법 |
US11044466B2 (en) | 2018-01-26 | 2021-06-22 | Samsung Electronics Co., Ltd. | Image processing device |
-
2019
- 2019-01-21 US US16/252,796 patent/US11044466B2/en active Active
- 2019-01-25 CN CN201910075046.2A patent/CN110087085B/zh active Active
-
2021
- 2021-04-29 US US17/243,657 patent/US11677932B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030112870A1 (en) * | 2001-12-19 | 2003-06-19 | Hideki Fukuda | Encoder and decoder |
CN103477636A (zh) * | 2010-12-23 | 2013-12-25 | 英国广播公司 | 图像的压缩 |
CN105556962A (zh) * | 2013-10-14 | 2016-05-04 | 联发科技股份有限公司 | 发送用于具有无损编码和有损编码的视频***的无损模式的信号的方法 |
CN104834627A (zh) * | 2014-02-06 | 2015-08-12 | 瑞萨电子株式会社 | 半导体设备、处理器***及其控制方法 |
US20170150186A1 (en) * | 2015-11-25 | 2017-05-25 | Qualcomm Incorporated | Flexible transform tree structure in video coding |
CN105898305A (zh) * | 2016-04-12 | 2016-08-24 | 上海兆芯集成电路有限公司 | 基于无损联合图像专家小组格式的图像压缩与解压缩方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110087085A (zh) | 2019-08-02 |
US11677932B2 (en) | 2023-06-13 |
US11044466B2 (en) | 2021-06-22 |
US20210250575A1 (en) | 2021-08-12 |
US20190238832A1 (en) | 2019-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11445160B2 (en) | Image processing device and method for operating image processing device | |
US11677932B2 (en) | Image processing device | |
US10887616B2 (en) | Image processing devices having enhanced frame buffer compressors therein | |
US11991347B2 (en) | Image processing device | |
JP2000244935A (ja) | 画像データ圧縮方法 | |
KR20200065367A (ko) | 이미지 처리 장치 및 프레임 버퍼 컴프레서 | |
US11735222B2 (en) | Frame buffer compressing circuitry and image processing apparatus | |
CN110087074B (zh) | 图像处理装置和用于操作图像处理装置的方法 | |
TWI820063B (zh) | 影像處理裝置及影像處理裝置的操作方法 | |
TWI795480B (zh) | 用於執行資料解壓縮的影像處理裝置及用於執行資料壓縮的影像處理裝置 | |
KR102543449B1 (ko) | 이미지 처리 장치 및 이미지 처리 장치의 동작 방법 | |
JPH0678297A (ja) | ディジタルビデオ信号の符号化方法 | |
KR102465206B1 (ko) | 이미지 처리 장치 | |
TWI846680B (zh) | 影像處理裝置及操作影像處理裝置之方法 | |
JP2023008624A (ja) | 撮像装置及びその制御方法及びプログラム | |
KR20220090850A (ko) | 이미지 처리 장치 및 이미지 처리 장치의 동작 방법 | |
KR20220090887A (ko) | 이미지 처리 장치 및 이미지 처리 장치의 동작 방법 | |
KR20220149124A (ko) | 이미지 신호 프로세서, 이미지 신호 프로세서 동작 방법 및 상기 이미지 신호 프로세서를 포함하는 이미지 처리 시스템 | |
JPH07193816A (ja) | 画像データ圧縮装置及び方法 |
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 |