CN117640944A - 图像处理装置和图像处理装置的操作方法 - Google Patents
图像处理装置和图像处理装置的操作方法 Download PDFInfo
- Publication number
- CN117640944A CN117640944A CN202311074332.XA CN202311074332A CN117640944A CN 117640944 A CN117640944 A CN 117640944A CN 202311074332 A CN202311074332 A CN 202311074332A CN 117640944 A CN117640944 A CN 117640944A
- Authority
- CN
- China
- Prior art keywords
- data
- compressed data
- compression
- quantization
- compression ratio
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 title claims abstract description 111
- 238000000034 method Methods 0.000 title claims abstract description 21
- 238000007906 compression Methods 0.000 claims abstract description 263
- 230000006835 compression Effects 0.000 claims abstract description 246
- 238000013139 quantization Methods 0.000 claims abstract description 127
- 230000004044 response Effects 0.000 claims description 4
- 230000006837 decompression Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 16
- 101100481704 Arabidopsis thaliana TMK3 gene Proteins 0.000 description 6
- 230000000052 comparative effect Effects 0.000 description 5
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 230000015556 catabolic process Effects 0.000 description 4
- 238000006731 degradation reaction Methods 0.000 description 4
- 238000011017 operating method Methods 0.000 description 4
- 101100481703 Arabidopsis thaliana TMK2 gene Proteins 0.000 description 3
- 241000209094 Oryza Species 0.000 description 3
- 235000007164 Oryza sativa Nutrition 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 3
- 239000003086 colorant Substances 0.000 description 3
- 235000009566 rice Nutrition 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 101710178035 Chorismate synthase 2 Proteins 0.000 description 1
- 101710152694 Cysteine synthase 2 Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/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/146—Data rate or code amount at the encoder output
- H04N19/15—Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
-
- 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/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/127—Prioritisation of hardware or computational resources
-
- 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- 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/136—Incoming video signal characteristics or properties
-
- 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/156—Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
-
- 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/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/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
- H04N19/423—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 characterised by memory arrangements
-
- 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
- H04N19/43—Hardware specially adapted for motion estimation or compensation
- H04N19/433—Hardware specially adapted for motion estimation or compensation characterised by techniques for memory access
-
- 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
-
- 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)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
公开了一种图像处理装置和图像处理装置的操作方法。该图像处理装置包括:多媒体知识产权(IP),其被配置为通过对第一图像数据执行图像处理来产生第二图像数据;以及编码器,其被配置为压缩第二图像数据,编码器还被配置为通过在第一压缩条件下基于目标压缩比来对第二图像数据的第一块执行量化以及至少一个压缩处理来产生第一压缩数据,并且通过在第二压缩条件下基于第一量化步长对第二图像数据的第二块执行量化并且不执行至少一个压缩处理来产生第二压缩数据。
Description
相关申请的交叉引用
本申请基于并要求于2022年8月26日在韩国知识产权局提交的韩国专利申请No.10-2022-0107900的优先权,该申请的公开以引用方式全文并入本文中。
技术领域
本发明构思涉及图像处理装置,并且更具体地,涉及基于量化步长限制对图像数据执行有损压缩的图像处理装置,以及该图像处理装置的操作方法。
背景技术
随着对更高分辨率和/或更高帧速率视频图像的期望的出现,图像处理装置的若干多媒体知识产权(IP)对存储器的访问量(例如带宽)已增加。当带宽增加时,图像处理装置的处理能力可能达到其极限,导致在视频图像记录和再现操作期间图像处理装置的速度降低。
因此,已经考虑了当多媒体IP访问存储器时压缩数据大小的方案。例如,可以在将数据写入至存储器之前压缩数据,并且可以在从存储器读取数据之后对压缩数据进行解压缩。使用包括量化的有损压缩方案来增加较高分辨率图像的压缩比。在具有较高空间复杂度的图像块的情况下,量化误差可能增加,从而导致质量的劣化。
发明内容
本发明构思提供一种能够在基于量化对图像数据执行有损压缩时减少或防止质量劣化的图像处理装置,以及该图像处理装置的操作方法。
根据本发明构思的一方面,提供了一种图像处理装置,该图像处理装置包括:多媒体知识产权(IP),其被配置为通过对第一图像数据执行图像处理来产生第二图像数据;以及编码器,其被配置为压缩第二图像数据,编码器可以通过在第一压缩条件下基于目标压缩比对第二图像数据的第一块执行量化和至少一个压缩处理来产生第一压缩数据,并且通过在第二压缩条件下基于第一量化步长对第二图像数据的第二块执行量化并且不执行该至少一个压缩处理来产生第二压缩数据。
根据本发明构思的另一方面,提供了一种图像处理装置,该图像处理装置包括:处理电路,其被配置为通过对第一图像数据执行图像处理来产生第二图像数据;以及压缩处理电路,其被配置为通过针对第二图像数据在增加量化步长的同时重复包括量化、预测处理和编码的压缩处理来产生第一压缩数据,当第一压缩数据的压缩比等于或者大于目标压缩比时,压缩处理电路可以将第一压缩数据和与第一压缩数据相对应的第一头部写入至存储器,当第一压缩数据的压缩比小于目标压缩比并且增加的量化步长大于第一量化步长时,通过使用第一量化步长对第二图像数据执行量化来产生第二压缩数据,并且将第二压缩数据和与第二压缩数据相对应的第二头部写入至存储器。
根据本发明构思的另一方面,提供了一种图像处理装置的操作方法,该操作方法包括:通过以块为单位对输入图像数据执行量化来产生第一压缩数据;以及通过对第一压缩数据执行预测处理和编码来产生第二压缩数据,当第二压缩数据的压缩比满足目标压缩比时,将第二压缩数据和与第二压缩数据相对应的第一头部存储在存储器中;当第二压缩数据的压缩比不满足目标压缩比并且量化步长大于约束量化步长时,通过基于约束量化步长对输入图像数据执行量化来产生第三压缩数据;以及将第三压缩数据和与第三压缩数据相对应的第二头部存储在存储器中。
根据本发明构思的另一方面,提供了一种图像处理装置,该图像处理装置包括:多媒体知识产权(IP),其被配置为通过对第一图像数据执行图像处理来产生第二图像数据;压缩处理电路,其被配置为通过基于量化对第二图像数据执行有损压缩来产生压缩数据,并输出压缩数据和包括压缩数据的压缩比的头部;以及存储器,其存储压缩数据和头部。
附图说明
从下面结合附图的详细描述中,将更清楚地理解本发明构思的示例实施例,在附图中:
图1是示意性地示出根据示例实施例的图像处理装置的框图;
图2是示出多媒体知识产权(IP)的框图;
图3示出了根据示例实施例的基于压缩方法的要被压缩的图像数据的块;
图4是示出根据示例实施例的由图像处理装置产生的压缩数据的传输结构的示图;
图5是示意性地示出根据示例实施例的编码器的框图;
图6示出了根据示例实施例的当编码器执行无损压缩时的数据路径;
图7A和图7B示出了根据示例实施例的当编码器执行有损压缩时的数据路径;
图8是示出根据示例实施例的有损压缩方法的流程图;
图9是示意性地示出根据示例实施例的解码器的框图;
图10是示出根据示例实施例的解压缩方法的流程图;
图11A和图11B是示出根据示例实施例的在有损压缩期间的质量优先模式和功率优先模式的表;
图12是示出根据示例实施例的在有损压缩期间的压缩数据的数据量、头部索引以及基于头部索引来确定情况的表;
图13是示出根据示例实施例的存储在存储器中的有损压缩数据的示图;
图14A、图14B和图14C是比较根据示例实施例的有损压缩和根据比较示例的有损压缩与无损压缩的示图;以及
图15是示意性地示出根据示例实施例的包括多媒体模块的电子系统的框图。
具体实施方式
在下文中,将参照附图详细地描述本发明构思的示例实施例。
图1是示意性地示出根据示例实施例的图像处理装置的框图。
图像处理装置1000可以包括多媒体模块100和存储器200,并且多媒体模块100可以包括多媒体知识产权(IP)110、内部存储器120和/或压缩处理电路130。
多媒体IP 110可以对接收的输入数据(例如,作为图像数据的运动图像或静止图像、原始图像数据等)执行图像处理,以用于改变输入数据的质量或格式,或者用于在显示器上显示输入数据。多媒体IP 110可以从外部装置(例如,存储器200或相机(未示出))接收图像数据。如图2所示,多媒体IP 110包括多个IP,并且多个IP中的每一个可以从外部装置或另一IP接收图像数据。
图2是示出多媒体IP 110的框图。
参照图2,多媒体IP 110可以包括图像处理单元(IPU)111、视频处理单元(VPU)112、显示处理单元(DPU)113、图形处理单元(GPU)114和/或神经网络处理单元(NPU)115中的至少一个。IPU 111、VPU 112、DPU 113、GPU 114和/或NPU 115可以以硬件(诸如,逻辑电路、现场可编程门阵列(FPGA)、微处理器等)或者硬件和软件(或固件)的组合来实现。
IPU 111可以改变接收的图像数据的格式或校正图像数据的质量。
例如,IPU 111可以接收作为输入数据的RGB格式图像数据,并且将RGB图像数据转换为YUV格式图像数据。在一些示例实施例中,RGB格式是指基于光的三原色来表示颜色的数据格式。即,RGB格式是使用红、绿和蓝三种颜色来表示图像的方案。相反,YUV格式是指单独地表示明度(即,亮度信号和色度信号)的数据格式。即,Y表示亮度信号,并且U(Cb)和V(Cr)表示色度信号。U是指亮度信号和蓝色信号分量之间的差,并且V是指亮度信号和红色信号分量之间的差。在一些示例实施例中,Y、U(Cb)和V(Cr)项可以被定义为平面。由于人眼对亮度信号敏感,但对颜色信号不太敏感,因此YUV格式数据可以比RGB格式数据更容易被压缩。
例如,IPU 111可以通过执行图像处理来校正接收的图像数据的质量,诸如调整图像数据的伽马值、调整亮度、加宽动态范围(DR)或去除噪声等。
VPU 112可以校正接收的视频图像的质量,或者执行图像记录和再现,诸如视频图像的类激活映射编码(camcoding)、回放等。
DPU 113可以执行图像处理,以用于在显示器上显示接收的图像数据。DPU 113可以在显示器上显示接收的图像。例如,DPU 113可以将接收的图像数据的格式改变为适合于在显示器上显示的格式,或者基于与显示器相对应的伽马值来校正图像数据。
GPU 114可以计算并产生二维图形或三维图形。GPU 114可以专门处理图形数据,以并行处理图形数据。
NPU 115可以基于经训练的神经网络对接收的图像数据执行图像处理,或者从图像数据中获取多个特征,并且基于多个特征识别包括在图像数据中的对象、背景等。NPU115可以专门用于神经网络的操作中,以并行处理图像数据。
多媒体IP 110还可以包括诸如图像信号处理器(ISP)、摇晃校正模块(G2D)、多格式编解码器(MFC)等的IP。
参照图1,内部存储器120可以临时存储从多媒体IP 110输出的输出数据(例如,输出图像数据)或输入至多媒体IP 110的输入数据(例如,输入图像数据)。内部存储器120可以被实现为静态随机存取存储器(SRAM)、高速缓存、帧缓冲器等。
压缩处理电路130可以包括编码器10和/或解码器20,并且可以压缩从多媒体IP110输出的输出图像数据,并且将压缩数据(compressed data)写入(或存储)至存储器200,或者从存储器200读取压缩数据以对压缩数据进行解压缩,并且将解压缩数据(decompressed data)作为输入数据提供给多媒体IP 110。图像数据可以被划分为具有相同大小的多个块,并且压缩处理电路130可以以块为单位执行压缩和解压缩。在下文中,“图像数据的压缩”是指以块为单位压缩图像数据。另外,“压缩数据”与一个图像数据的块相对应。
尽管未示出,但是压缩处理电路130可以通过直接存储器访问(DMA)电路将压缩数据写入至存储器200或者从存储器200读取压缩数据。
编码器10可以对接收的图像数据(例如,多媒体IP 110的输出数据)执行有损压缩或无损压缩。在一些示例实施例中,无损压缩是指没有数据损失的压缩,并且是压缩比根据数据而变化的方案。相反,有损压缩是指数据被部分地丢失的压缩,有损压缩可以具有高于无损压缩的压缩比和预设压缩比(例如,固定的压缩比)。有损压缩可以包括基于量化步长(或量化步长值)的量化操作和至少一个其它的压缩处理。随着量化步长(在下文中,量化步长被称为QP)增加,数据丢失增加,并且可能出现量化误差。
另一方面,根据示例实施例的编码器10可以基于预设的压缩比(例如,目标压缩比)和预设的第一QP大小(或称为约束QP大小)对图像数据执行有损压缩。
编码器10可以在增加针对图像数据的块的QP大小的初始值(例如,默认QP)的同时重复地执行压缩处理(例如,量化和至少一个其它的压缩处理)。当压缩数据的压缩比满足目标压缩比时,即,当压缩数据的压缩比等于或大于目标压缩比时,编码器10可以完成压缩并将压缩数据写入至存储器200。如上所述,当通过量化和至少一个其它的压缩处理产生压缩比等于或大于目标压缩比的压缩数据时,已被执行压缩的块和压缩数据可以被称为正常情况(或者可以处于第一压缩条件)。
当压缩数据的压缩比小于目标压缩比时,编码器10可以增加QP大小并且基于增加后的QP大小再次执行压缩处理。然而,当QP大小(例如,当前QP大小)大于第一QP大小时,编码器10可以基于第一QP大小对图像数据的块执行量化步长以产生压缩数据,并且将压缩数据存储在存储器200中。压缩数据的压缩比可以超过目标压缩比。如上所述,当通过基于第一QP大小对图像数据(或图像数据的块)执行量化来产生具有低于目标压缩比的压缩比的压缩数据时,已被执行压缩的块和压缩数据可以被称为最坏情况(或者可以处于第二压缩条件)。
换句话说,编码器10可以预设QP大小的阈值,即,第一QP大小(或约束QP大小),并且控制QP大小不超过第一QP大小。在这方面,编码器10可以允许压缩数据的压缩比超过目标压缩比。因此,从编码器10输出的压缩数据的压缩比可以等于或大于目标压缩比或者小于目标压缩比。
编码器10可以产生包括压缩数据的有效载荷PL和包括指示压缩数据的压缩比(或正常情况或最坏情况)的索引的头部HD。压缩处理电路130可以通过将有效载荷PL、头部HD以及有效载荷PL和头部HD要被存储到的地址发送到存储器200,来将压缩数据(即,有效载荷PL和头部HD)写入至存储器200。
当执行无损压缩时,压缩数据的压缩比可以改变,并且如上所述,当基于目标压缩比和预设的第一QP大小来执行有损压缩时,压缩数据的压缩比可以改变。压缩处理电路130可以通过在将压缩数据写入至解码器20时,将指示压缩比的索引(例如,包括头部索引的头部HD)一起写入至存储器200,来将在稍后对压缩数据进行解压缩时使用的信息提供给解码器20。
解码器20可以读取存储在存储器200中的压缩数据,并且对压缩数据进行解压缩。解码器20可以读取压缩数据的有效载荷PL和头部HD,并且基于包括在头部HD中的头部索引来确定压缩数据的压缩比。另外,当基于目标压缩比和第一QP大小对压缩数据执行有损压缩时,解码器20可以基于头部索引来确定压缩数据是最坏情况还是正常情况,并且根据情况确定解压缩方案。
例如,当压缩数据是最坏情况时,解码器20可以通过执行反量化来对压缩数据进行解压缩。当压缩数据是正常情况时,解码器20可以通过执行反量化和与至少一个压缩处理相对应的至少一个解压缩处理来对压缩数据进行解压缩。
存储器200可以存储压缩数据。存储器200可以被实现为诸如动态随机存取存储器(DRAM)的易失性存储器、或电阻式存储器(诸如,铁电RAM(FeRAM)、电阻式RAM(ReRAM)、相变RAM(PRAM)或磁性RAM(MRAM))。存储器200可以被实现为末级高速缓存。在下文中,假设存储器200是DRAM。
当要压缩的图像数据包括具有较高空间复杂度的块并且对该块执行基于目标压缩比的有损压缩时,QP大小可能过度增大以满足目标压缩比。因此,量化误差可能增加,并且质量可能劣化。由于在多媒体IP 110中提供的处理电路(例如,执行图像处理的IP)彼此连接,因此当在特定IP中存在质量劣化时,可能发生到另一IP的错误传播。因此,质量是多媒体IP 110的操作中的因素。
基于根据示例实施例的编码器10的压缩方法,基于目标压缩比和约束QP大小来执行有损压缩,从而增加图像数据的压缩比,并且甚至压缩具有较高空间复杂度的块(例如,边缘图像或具有大量噪声的块),而不使质量劣化。
图3示出了根据示例实施例的基于压缩方法的要被压缩的图像数据的块。
参照图3,图像数据IDT可以被划分成多个块,例如,第一块BLK0至第十六块BLK15。例如,假设图像数据IDT包括以64列×32行排列的像素(在下文中称为64×32个像素),并且编码器(图1中的10)以包括32×4个像素的块为单位执行压缩。
图像数据IDT可以被分成第一块BLK0至第十六块BLK15。例如,可以从左上(例如,第一块BLK0)到右下(例如,第十六块BLK15)对图像数据IDT的多个块顺序地或并行地执行压缩。
图4是示出根据示例实施例的由图像处理装置产生的压缩数据的传输结构的示图。
压缩处理电路(图1的130)可以产生包括有效载荷PL和头部HD的传输数据TD,并且将传输数据TD发送至存储器200。有效载荷PL可以包括压缩数据CD和量化步长QP。有效载荷PL还可包括与至少一个其它压缩处理相关的参数,例如,在通过熵编码模块(图5的13)进行编码期间使用的k值KV。
头部HD可以包括头部索引HDI,并且头部索引HDI可以指示压缩数据CD的压缩比。当通过基于目标压缩比和约束QP大小的有损压缩产生压缩数据CD时,头部索引HDI可以指示压缩数据CD是最坏情况还是正常情况。在这方面,头部索引HDI可以是正整数,并且可以是将压缩数据CD的数据量表示为存储器200的存取单元的倍数的值。将参照图12更详细地描述头部索引HDI。
图5是示意性地示出根据示例实施例的编码器的框图。
参照图5,编码器10可以包括量化模块11、预测模块12、熵编码模块13和/或压缩控制器14。量化模块11、预测模块12、熵编码模块13和压缩控制器14中的每一个可以被实现为硬件或硬件与软件(或固件)的组合。
量化模块11可以基于QP大小,以块为单位对图像数据IDT进行量化,并且输出量化后的数据(在下文中称为第一数据)。量化模块11可以针对块中包括的多个像素中的每个像素去除构成像素的多个位中的低位。量化模块11可以基于QP大小来去除像素的低位。例如,当QP大小为1时,可以去除像素的低1位,并且当QP大小为2时,可以去除像素的低2位。去除的低位在之后不可以被恢复,并且可能丢失。因此,量化模块11可以在有损压缩期间进行操作。
例如,量化模块11可以通过将像素的数据值乘以基于QP大小确定的量化系数来选择代表值,并且可以丢弃小数位。在一些示例实施例中,量化系数可以被定义为/(2n-1)(n=QP大小)。
例如,像素可以是8位数据,并且像素的数据值可以在0和28-1(=255)之间。当目标压缩比是50%时,QP大小可以是1至4。最小QP大小可以是1,并且最大QP大小可以是4。当执行有损压缩时,预先确定的或可替换地期望的第一QP大小(约束QP大小)可以大于最小QP大小并且小于最大QP大小。
预测模块12可以通过将接收的数据划分为预测数据和残差数据来表示接收的数据(例如,从量化模块11提供的图像数据IDT或第一数据)。例如,当一个像素具有0至255的值时,可能每个像素需要8位数据来表示0至255的值。在这方面,当相邻的像素具有相似的值时,即使当仅表示与相邻的像素的差(例如,残差)时,也不存在数据丢失,并且可以大大减少用于表示像素的数据位数。例如,当具有值(253,254,255)的像素是连续的,并且当预测数据被设置为253时,(253(预测)、1(残差)、2(残差))的残差数据表示可以是足够的,并且用于表示这种残差数据的每个像素的位数可以非常小,小到2位。
因此,预测模块12可以通过将数据划分为预测数据和残差数据来压缩总体数据大小。在一些示例实施例中,可以使用各种方法来确定预测数据具有什么值。
预测模块12可以以像素为单位来执行预测或者以区域为单位来执行预测。在这方面,区域可以表示由多个相邻的像素形成的区域。
熵编码模块13可以通过熵编码来压缩从预测模块12输出的数据(在下文中称为第二数据)。在一些示例实施例中,熵编码可以利用根据频率分配位数的方案。
熵编码模块13可以使用哈夫曼(Huffman)编码来压缩第二数据。可替换地,熵编码模块13可以通过指数哥伦布(golomb)编码或哥伦布莱斯(golomb rice)编码来压缩第二数据。在这方面,熵编码模块13可以基于k值来产生表,从而简单地压缩第二数据。
压缩控制器14可以控制量化模块11、预测模块12和/或熵编码模块13的操作,并且可以控制压缩处理。压缩控制器14可以接收控制信号,并且基于控制信号来控制量化模块11、预测模块12和熵编码模块13的操作。在这方面,可以根据执行多媒体IP 110的应用的设置(例如,应用需要更高的质量还是更高的压缩比),来从多媒体IP(图1中的110)提供控制信号。例如,可以接收设置在多媒体IP 110的固件寄存器中的值作为控制信号。
例如,压缩控制器14可以接收指示有损压缩或无损压缩的第一控制信号(CS1),并且控制量化模块11、预测模块12和/或熵编码模块13,使得基于第一控制信号(CS1)来执行有损压缩或无损压缩。
当接收到指示无损压缩的第一控制信号(CS1)时,压缩控制器14可以控制图像数据IDT以将图像数据IDT提供给预测模块12,并且可以控制预测模块12和熵编码模块13进行操作,并且控制量化模块11不进行操作。
当接收到指示有损压缩的第一控制信号(CS1)时,压缩控制器14可以控制图像数据IDT以将图像数据IDT提供给量化模块11,并且可以控制量化模块11、预测模块12和/或熵编码模块13进行操作。压缩控制器14可以确定第一QP大小并且在执行有损压缩的同时增加QP大小。在示例实施例中,当执行有损压缩时,压缩控制器14可以接收指示质量优先模式或功率优先模式的第二控制信号(CS2),并根据优先模式来确定第一QP大小。这将参照图11A和图11B进行详细的描述。
压缩控制器14还可以确定存储器200中的要存储压缩数据CD的区域的大小(占用区域),并且确定存储器200的要存储压缩数据CD的地址(例如,逻辑地址)。当执行有损压缩时,压缩控制器14可以基于块大小、构成像素的位深度、目标压缩比和约束QP大小来确定占用区域。压缩控制器14可以将占用区域确定为存储器200的存取单元的整数倍。
图6示出了根据示例实施例的当编码器10执行无损压缩时的数据路径。
参照图6,当执行无损压缩时,可以通过绕过量化模块11来将图像数据IDT提供给预测模块12。预测模块12和熵编码模块13可以进行操作以对图像数据IDT执行无损压缩。
图7A和图7B示出了根据示例实施例的当编码器执行有损压缩时的数据路径。图7A示出了正常情况,并且图7B示出了最坏情况。
参照图7A,当要被压缩的图像数据IDT的块BLKa是正常情况时,可以将块BLKa提供给量化模块11。量化模块11的输出(例如,第一数据)可以输入至预测模块12,并且可以对第一数据执行预测处理。预测模块12的输出(例如,第二数据)可以输入至熵编码模块13。可以对第二数据执行熵编码以产生压缩数据CD。
在示例实施例中,可以在QP大小增加的同时重复执行包括量化、预测处理和熵编码的压缩处理,直到压缩数据CD的压缩比达到目标压缩比。
参照图7B,当要压缩的图像数据IDT的块BLKb是最坏情况时,可以将块BLKb提供给量化模块11,并且可以基于约束QP大小对块BLKb执行量化。可以对块BLKb执行量化以产生压缩数据CD。此时,不执行预测处理和熵编码。
可以在执行参照图7A描述的压缩处理时确定块BLKb是否是最坏情况。当执行压缩处理时,压缩数据CD的压缩比没有达到目标压缩比,并且QP大小大于约束QP大小,块BLKb可以被确定为最坏情况,并且如参照图7B所描述,块BLKb可以由量化模块11基于约束QP大小来进行量化,并且因此,块BLKb可以被压缩。
图8是示出根据示例实施例的有损压缩方法的流程图。
参照图8和图5,图像数据IDT的块BLK可以由编码器10接收。量化模块11可以对块BLK执行量化(S120)。量化模块11可针对块BLK中包括的像素中的每个像素去除像素的位中的低位,并且要被去除的低位的数量可以取决于QP大小的初始值。例如,当QP大小的初始值为1时,可以去除像素的一个低位(例如,最低有效位(LSB))。当QP大小的初始值为2时,可以去除像素的两个低位。
例如,当块BLK包括32×4个像素并且每个像素是8位数据时,块BLK的数据量可以是128字节(1字节是8位)。当QP大小为2时,去除像素的两个低位,并且量化数据的数据量是96字节。因此,可以看出块BLK被压缩了25%。
预测模块12可以对量化模块11的输出执行预测处理(S130)。如上所述,预测模块12可以通过以像素为单位或以区域为单位将像素划分为预测数据和残差数据来表示像素。
熵编码模块13可以对预测模块12的输出(例如,第二数据)执行熵编码(S140)。
压缩控制器14可以确定熵编码模块13的输出(例如,压缩数据)的压缩比是否达到目标压缩比(S150)。在示例实施例中,压缩比可以由编码位深度Bcd确定。在一些示例实施例中,编码位深度Bcd可以是通过将压缩数据的数据量除以块BLK中包括的像素的数量而获得的值。当位深度小于或等于目标位数Bt时,可以确定压缩数据的压缩比等于或大于目标压缩比。在这方面,块BLK和压缩数据可以被确定为正常情况。
当压缩数据的压缩比等于或大于目标压缩比时,可以结束压缩,并且编码器10(或图1中的压缩处理电路130)可以将包括压缩数据的有效载荷和包括压缩数据的头部索引的头部写入至存储器(图1的200)(S190)。在一些示例实施例中,当压缩数据的压缩比等于或大于目标压缩比时,压缩数据和块BLK可以被确定为正常情况。
当压缩数据的压缩比小于目标压缩比时,即,当压缩比未达到目标压缩比时,压缩控制器14可以确定QP大小是否等于或小于约束QP大小CQP(S160)。当QP大小小于或等于约束QP大小时,压缩控制器14可以将QP大小增加1(S170),可以基于增加的QP大小来执行量化(S120),并且可以基于增加的QP大小来重复地执行预测(S130)和熵编码(S140)。
当QP大小大于约束QP大小时,量化模块11可以基于约束QP大小CQP来执行量化(S180)。换句话说,确定块BLK是最坏情况,并且可以基于约束QP大小CQP对块BLK执行量化以产生压缩数据。因此,可以减小或防止QP大小进一步增大,即,减小或防止压缩数据的量化误差进一步增大。
编码器10(或图1中的压缩处理电路130)可以将包括压缩数据的有效载荷和包括压缩数据的头部索引的头部写入至存储器(图1中的200)(S190)。头部索引可以指示压缩数据的压缩比,并且可以指示压缩数据和块BLK是正常情况还是最坏情况。
图9是示意性地示出根据示例实施例的解码器20的框图。
参照图9,解码器20可以包括熵解码模块21、预测补偿模块22和/或反量化模块23。熵解码模块21、预测补偿模块22和/或反量化模块23可以是分别与图5的编码器10中包括的熵编码模块13、预测模块12和/或量化模块11相对应的组件。熵解码模块21、预测补偿模块22和反量化模块23中的每一个可以被实现为硬件或者硬件和软件(或固件)的组合。
可以将包括压缩数据CD的有效载荷PL提供给熵解码模块21或反量化模块23。例如,当压缩数据CD被无损压缩时,或者当压缩数据CD被有损压缩并且是正常情况时,可以将有效载荷PL提供给熵解码模块21。当压缩数据CD被有损压缩并且是最坏情况时,可以通过绕过熵解码模块21和预测补偿模块22将有效载荷PL提供给反量化模块23。
熵解码模块21可以对由熵编码模块(图5的13)压缩的数据进行解压缩。熵解码模块21可以通过哈夫曼编码、指数哥伦布编码或哥伦布莱斯编码来执行解压缩。由于有效载荷PL包括k值,因此熵解码模块21可以使用k值来执行解码。
预测补偿模块22可以重建被预测模块(图5的12)表示为预测数据和残差数据的数据。预测补偿模块22可以将例如(253(预测)、1(残差)、2(残差))的残差数据表示转换为(253、254、255)。预测补偿模块22可以重建根据预测模块12以像素为单位或以区域为单位执行的预测。
反量化模块23可以解压缩由量化模块(图1的11)压缩的数据。反量化模块23可以使用由量化模块11确定的QP大小来对数据执行反量化。然而,数据的在压缩处理期间丢失的部分可能无法被完全重建。因此,反量化模块23可以仅用于有损压缩数据。
解压缩控制器24可以接收头部HD以及有效载荷PL,并且可以基于头部HD的头部索引来确定压缩数据CD的压缩比以及压缩数据CD是最坏情况还是正常情况。
当压缩数据CD被无损压缩时,解压缩控制器24可以将压缩数据CD提供给熵解码模块21,并且控制熵解码模块21和预测补偿模块22进行操作。由于在压缩期间压缩数据CD没有被量化,因此反量化模块23不进行操作,并且预测补偿模块22的输出可以作为重建块BLK产生。
当压缩数据CD被有损压缩并且是最坏情况时,解压缩控制器24可以将压缩数据CD提供给反量化模块23。反量化模块23可以基于当压缩数据CD被量化时使用的约束QP大小来对压缩数据CD执行反量化。反量化模块23的输出可以作为重建块BLK输出。
当压缩数据CD被有损压缩并且是正常情况时,解压缩控制器24可以将压缩数据CD提供给熵解码模块21。可以对压缩数据CD执行熵解码和预测补偿,并且可以将预测补偿模块22的输出提供给反量化模块23。反量化模块23可以基于压缩数据CD被量化时的QP值来执行反量化。
解压缩控制器24还可以包括QP表和熵表,QP表包括由压缩控制器14确定的用于执行压缩的QP大小,熵表包括k值(如上参照图5所描述),并且解压缩控制器24可以执行任务以在对压缩数据CD进行解压缩时适当地反映熵表的k值。
图10是示出根据示例实施例的解压缩方法的流程图。根据示例实施例,图10的解压缩方法可以被应用于有损压缩的数据(例如,通过图8的有损压缩方法压缩的压缩数据)。
参照图10和图9,解码器20(或图1中的压缩处理电路130)可以从存储器(图1中的200)读取包括压缩数据的有效载荷和头部(S210)。
解压缩控制器24可以基于头部索引来确定压缩数据CD是否是正常情况(S220)。
当压缩数据CD是正常情况时,熵解码模块21可以对压缩数据CD(例如,第一解压缩数据)执行熵解码(S230)。
预测补偿模块22可以对熵解码的数据执行预测补偿(S240)。反量化模块23可以基于当压缩数据CD被压缩时使用的QP大小来对预测补偿模块22的输出(例如,第二解压缩数据)执行反量化(S250)。可以输出反量化的数据(例如,重建块)(S260)。
另一方面,当压缩数据CD是最坏情况时,反量化模块23可以基于约束QP大小对压缩数据CD执行反量化(S270)。可以通过对压缩数据CD执行反量化来重建压缩数据CD。可以输出反量化的数据,即重建块BLK(S260)。
如上所述,本发明构思的解码器20可以根据压缩数据CD是最坏情况还是正常情况来改变解压缩方法。
图11A和图11B是示出根据示例实施例的在有损压缩期间的质量优先模式和功率优先模式的表。图11A示出了质量优先模式,并且图11B示出了功率优先模式。
在图11A和图11B中,描述了块包括32×4个像素并且像素的位深度是8位、10位以及12位的示例实施例。
当位深度是8位并且目标压缩比是50%时,最大QP大小可以是4。可以将约束QP大小设置为小于最大QP大小,并且可以将质量优先模式下的约束QP大小设置为小于功率优先模式下的约束QP大小。例如,在质量优先模式下,可以将约束QP大小设置为2,并且在功率优先模式下,可以将约束QP大小设置为大于2的3。
由于应用了约束QP大小,因此最坏输出位深度可以在图像质量优先模式下从应用最大QP大小时的4位增加到6位并且在功率优先模式下从应用最大QP大小时的4位增加到5位。
可以基于约束QP大小来设置存储器占用区域,并且可以将存储器占用区域设置为存储器的存取单元(例如,32字节)的倍数。因此,当在质量优先模式下基于约束QP大小来对块进行量化时,压缩数据的数据量是96字节。由于96字节是32字节的三倍,因此可以将存储器占用区域设置为96字节。当在功率优先模式下基于约束QP大小来对块进行量化时,压缩数据的数据量是80字节。由于80字节不是32字节的整数倍,因此接近80字节的96字节可以被设置为占用区域。
当位深度是10位并且目标压缩比是60%时,最大QP大小可以是6。在质量优先模式下,可以将约束QP大小设置为4,并且在功率优先模式下,可以将约束QP大小设置为5。因此,在质量优先模式下,最坏输出位深度可以从4位增加到6位,并且在功率优先模式下,最坏输出位深度可以从4位增加到5位。可以将所有的存储器占用区域设置为96字节。
当位深度是12位并且目标压缩比是50%时,最大QP大小可以是6。在质量优先模式下,可以将约束QP大小设置为4,并且在功率优先模式下,可以将约束QP大小设置为5。因此,在质量优先模式下,最坏输出位深度可以从6位增加到8位,并且在功率优先模式下,最坏输出位深度可以从6位增加到7位。
质量优先模式下的压缩数据的数据量可以是128字节。由于128字节是32字节的四倍,因此128字节可以被设置为占用区域。
功率优先模式下的压缩数据的数据量可以是112字节。由于112字节不是32字节的整数倍,因此接近112字节的128字节可以被设置为占用区域。
可以由编码器10的压缩控制器14基于块的大小和约束QP大小来确定占用区域。压缩处理电路(图1的130)可以基于占用区域来确定存储压缩数据的存储器200的地址(例如,逻辑地址)。
图12是示出根据示例实施例的在有损压缩期间的压缩数据的数据量、头部索引以及基于头部索引来确定情况的表。
参照图12,假设块BLK的大小是128字节,并且目标压缩比是50%。在正常情况下,压缩数据的数据量可以等于或小于63字节。第一块BLK0被压缩后的压缩数据的数据量是32字节。由于压缩数据的数据量小于根据目标压缩比的数据量,因此可以看出压缩数据的压缩比高于目标压缩比。第一块BLK0及其压缩数据CD是正常情况。
头部索引HDI可以是存储器存取单元(例如,32字节)的整数倍。因此,头部索引HDI可以被设置为1。头部索引1可以指示正常情况。
第二块BLK1被压缩后的压缩数据的数据量是64字节。由于压缩数据的数据量与根据目标压缩比的数据量相同,因此可以看出压缩数据的压缩比与目标压缩比相同。第二块BLK1及其压缩数据CD是正常情况。
头部索引HDI可以是存储器存取单元(例如,32字节)的整数倍。因此,头部索引HDI可以被设置为2。头部索引2可以指示正常情况。
第三块BLK2被压缩后的压缩数据的数据量是96字节。由于压缩数据的数据量大于根据目标压缩比的数据量,因此可以看出压缩数据的压缩比小于目标压缩比。第三块BLK2及其压缩数据CD是最坏情况。
头部索引HDI可以是存储器存取单元(例如,32字节)的整数倍。因此,头部索引HDI可以被设置为3。头部索引3可以指示最坏情况。
图13是示出根据示例实施例的存储在存储器中的有损压缩数据的示图。
在图13中,YUV图像的Y平面(亮度项)的64×32图像被划分为8个块,每个块包括32×4个像素,并且每个块被压缩并存储在Y平面的存储器中。在一些示例实施例中,Y平面存储器是指存储器(图1中的200)的被分配用于存储Y平面的图像数据的存储区域,并且Y平面存储器和占用区域是指通过逻辑地址彼此区分的区域。
像素的位深度是8位,并且因此,每个块的数据量是128字节。当目标压缩比是50%时,正常情况的块的压缩数据的数据量可以是64字节。当约束QP大小是2时,压缩比是25%,并且可以针对图像数据的全部块将存储器的占用区域设置为96字节。在大多数块中,即,正常情况的块(例如,BLK0、BLK1和BLK3)中,压缩数据可以存储在占用区域的一部分中。通过基于约束QP大小压缩最坏情况的第三块BLK2而获得的压缩数据的数据量可以是96字节,并且第三块BLK2的压缩数据可以存储在整个占用区域中。
可以为块中的每一个产生头部。在正常情况下,头部索引可以是2,而在最坏情况下,头部索引可以是3。例如,正常情况的第一块BLK0的头部HD0中包括的头部索引可以表示为4'd2(4位十进制数2),而最坏情况的第三块BLK2的头部HD2中包括的头部索引可以表示为4'd3(4位十进制数3)。头部可以存储在Y平面存储器的单独区域(例如,与存储有效载荷的区域不同的区域)中。
图14A、图14B和图14C是比较根据示例实施例的有损压缩和根据比较示例的有损压缩与无损压缩的示图。
描述了每个块包括16×8个像素、每个像素的位深度是10、第一块BLK0至第六块BLK5中的第四块BLK3是最坏情况、其余的块是正常情况、在有损压缩期间目标压缩比是60%并且约束QP大小是4的示例。
如图14A所示,按照根据比较示例的有损压缩,可以将60%的目标压缩比应用于所有的块。所有的块可以被压缩到64字节。存储器的占用区域可以被设置为64字节。在这方面,最坏情况的第四块BLK3的QP大小可能过度增加,并且因此,量化误差可能增加,并且质量可能劣化。
如图14B所示,按照根据比较示例的无损压缩,所有的块可以被无损压缩,并且块之间的压缩比可以不同。存储器的占用区域可以相对于未压缩块被设置为160字节。尽管没有质量劣化,但是可能增加存储器的存储压缩图像数据的区域。
如图14C所示,当执行根据示例实施例的有损压缩时,大多数块(例如,第一块到第三块BLK0、BLK1和BLK2以及第五块BLK4和第六块BLK5)可以被压缩,使得数据量等于或小于64字节(即,压缩60%),但是由于约束QP大小是4,因此最坏情况的第四块BLK3可以被压缩到96字节。存储器的占用区域可以被设置为96字节。存储器的存储压缩图像数据的区域可以小于存储器的存储按照根据比较示例的无损压缩进行压缩的图像数据的区域。另外,可以基于约束QP大小对最坏情况的块(例如,第四块BLK3)进行量化,并且压缩后的数据量可以是96字节。对于最坏情况的块,可以减小QP大小或防止QP大小大于约束QP大小,并且因此,可以减小或防止量化误差的过度增加。
图15是示意性地示出根据示例实施例的包括多媒体模块的电子系统的框图。
电子系统2000可以应用于相机、智能电话、智能电视、可穿戴装置、物联网(IoT)装置、平板个人计算机(PC)、个人数字助理(PDA)、便携式多媒体播放器(PMP)、导航装置、测量装置等,并且可以应用于机器人装置,诸如无人机、高级驾驶员辅助系统(ADAS)等。除上文之外,电子系统2000可以应用于用于执行图像处理的装置。
参照图15,电子系统2000可以包括处理器2100、RAM 2200、多媒体模块2300、存储器2400、传感器模块2500和/或显示模块2600。此外,电子系统2000还可以包括其它通用组件,诸如通信模块和只读存储器(ROM)。处理器2100、RAM 2200、多媒体模块2300、存储器2400、传感器模块2500和/或显示模块2600可以经由总线2700将数据发送至彼此,或从彼此接收数据。在示例实施例中,一些组件(例如,处理器2100、RAM 2200和/或多媒体模块2300)可以被实现为片上系统(SoC),并且例如,SoC可以是应用处理器。
处理器2100可以控制电子系统2000的总体操作。处理器2100可以包括一个处理器核(单核)或多个处理器核(多核)。处理器2100可以处理或执行在存储器2400中存储的程序和/或数据。
RAM 2200可以临时存储程序、数据和/或指令。根据示例实施例,RAM 2200可以被实现为DRAM或SRAM。RAM 2200可以临时存储由处理器2100或多媒体模块2300产生的数据或发送至处理器2100或多媒体模块2300的数据。在示例实施例中,RAM 2200可以用作多媒体模块2300的存储器,例如,图1的内部存储器120。
多媒体模块2300可以对接收的图像数据执行图像处理,压缩被执行了图像处理的图像数据,并将压缩的图像数据存储在存储器2400中,或在显示模块2600上显示被执行了图像处理的图像数据。
图1的多媒体模块100可以应用作为多媒体模块2300。上述多媒体模块100和设置在多媒体模块100中的组件的描述可以应用于本示例实施例。
多媒体模块2300可包括执行图像处理的至少一个多媒体IP和压缩或解压缩图像数据的压缩处理电路。根据上述示例实施例,压缩处理电路可以基于目标压缩比和约束QP大小来对图像数据执行有损压缩和解压缩。当执行有损压缩时,压缩处理电路可以基于约束QP大小来对图像数据中的最坏情况的块执行量化,从而减少或防止量化误差的过度增加。压缩处理电路可以向存储器2400发送包括压缩数据的有效载荷和包括指示压缩数据是最坏情况还是正常情况的头部索引的头部。
存储器2400可以被实现为易失性存储器(诸如DRAM或SRAM)或者非易失性存储器(诸如ReRAM、PRAM或NAND闪存)。存储器2400可以被实现为存储卡(MMC卡、eMMC卡、SD卡或微型SD卡)等。
存储器2400可以存储程序和/或数据。在示例实施例中,存储器2400可以存储图像数据和/或压缩图像数据。存储器2400可以响应于来自多媒体模块2300的写入请求而存储从多媒体模块2300接收的压缩数据和头部,并且响应于来自多媒体模块2300的读取请求而将压缩数据和头部发送至多媒体模块2300。在示例实施例中,可以通过DMA电路在存储器2400和多媒体模块2300之间传输压缩数据和头部。
传感器模块2500可以包括至少一个传感器,例如,图像传感器、语音传感器、加速度/陀螺仪传感器、红外传感器、触摸传感器、指纹传感器、接近传感器等。在示例实施例中,传感器模块2500可以包括图像传感器,并且可以将从图像传感器产生的图像数据存储在存储器2400中或者将图像数据发送至多媒体模块2300。
显示模块2600可以包括显示器,诸如液晶显示器(LCD)、有源矩阵有机发光二极管(AMOLED)显示器等,并且基于从传感器模块2500或多媒体模块2300接收的图像数据来驱动显示器,从而通过显示器输出与图像数据相对应的图像。
以上公开的一个或多个元件可以包括一个或多个处理电路系统(诸如,包括逻辑电路的硬件、诸如执行软件的处理器的硬件/软件组合、或它们的组合)或在一个或多个处理电路系统中实现。例如,更具体地,处理电路系统可以包括但不限于中央处理单元(CPU)、算术逻辑单元(ALU)、数字信号处理器、微型计算机、现场可编程门阵列(FPGA)、片上系统(SoC)、可编程逻辑单元、微型处理器、专用集成电路(ASIC)等。
尽管已经参照本发明构思的实施例具体地示出和描述了本发明构思,但是将理解的是,可以在不脱离所附权利要求的精神和范围的情况下,在形式和细节上对其进行各种改变。
Claims (20)
1.一种图像处理装置,包括:
多媒体知识产权,其被配置为通过对第一图像数据执行图像处理来产生第二图像数据;以及
编码器,其被配置为压缩所述第二图像数据,
其中,所述编码器还被配置为:
通过在第一压缩条件下基于目标压缩比来对所述第二图像数据的第一块执行量化以及至少一个压缩处理来产生第一压缩数据,并且
通过在第二压缩条件下基于第一量化步长来对所述第二图像数据的第二块执行所述量化并且不执行所述至少一个压缩处理来产生第二压缩数据。
2.根据权利要求1所述的图像处理装置,其中,
所述第一量化步长小于最大量化步长,并且
所述最大量化步长基于所述目标压缩比和所述第二图像数据中包括的像素的位深度来确定。
3.根据权利要求2所述的图像处理装置,其中,
所述编码器被配置为在第二压缩条件下以质量优先模式和功率优先模式中的一个进行操作,
在所述质量优先模式下,所述第一量化步长被设置为第一值,在所述功率优先模式下,所述第一量化步长被设置为第二值,并且所述第一值小于所述第二值。
4.根据权利要求1所述的图像处理装置,其中,
所述至少一个压缩处理包括预测处理和熵编码,并且
所述编码器还被配置为在增加量化步长的同时在所述第一压缩条件下对所述第一块重复地执行所述量化、所述预测处理和所述熵编码,以使得所述第一压缩数据的压缩比等于或大于所述目标压缩比。
5.根据权利要求1所述的图像处理装置,其中,所述编码器还被配置为当通过在所述第一压缩条件下对所述第二块执行所述量化和所述至少一个压缩处理而产生的压缩数据的压缩比小于所述目标压缩比,并且量化步长等于或大于所述第一量化步长时,确定满足所述第二压缩条件,并且通过使用所述第一量化步长对所述第二块执行所述量化来产生所述第二压缩数据。
6.根据权利要求1所述的图像处理装置,其中,所述编码器还被配置为将包括头部索引的头部和有效载荷传输到存储器,所述有效载荷包括所述第一压缩数据或所述第二压缩数据,并且所述头部索引指示所述第一压缩数据和所述第二压缩数据中的包括在所述有效载荷中的压缩数据的压缩比,并且
所述有效载荷和所述头部存储在所述存储器中。
7.根据权利要求6所述的图像处理装置,其中,所述头部索引具有正整数值,所述正整数值将所述压缩数据的数据量表示为与所述存储器的存取单元的倍数相对应的值。
8.根据权利要求6所述的图像处理装置,其中,所述存储器包括:
存储所述有效载荷的第一区域和存储所述头部的第二区域,并且
所述第一区域的存储所述有效载荷中包括的所述压缩数据的单位区域基于所述第二压缩数据的数据量被设置。
9.根据权利要求6所述的图像处理装置,还包括:
解码器,其被配置为从所述存储器接收所述有效载荷和所述头部,并且对包括在所述有效载荷中的所述压缩数据进行解压缩。
10.根据权利要求9所述的图像处理装置,其中,所述解码器还被配置为当所述头部索引指示所述压缩数据在第二压缩条件下被产生时,基于第一量化步长来对所述压缩数据执行反量化。
11.一种图像处理装置,包括:
处理电路,其被配置为通过对第一图像数据执行图像处理来产生第二图像数据;以及
压缩处理电路,其被配置为通过针对所述第二图像数据在增加量化步长的同时重复包括量化、预测处理和编码的压缩处理来产生第一压缩数据,
其中,所述压缩处理电路还被配置为:
当所述第一压缩数据的压缩比等于或者大于目标压缩比时,将所述第一压缩数据和与所述第一压缩数据相对应的第一头部写入至存储器,并且
当所述第一压缩数据的压缩比小于所述目标压缩比并且增加的量化步长大于第一量化步长时,通过使用所述第一量化步长对所述第二图像数据执行所述量化来产生第二压缩数据,并且将所述第二压缩数据和与所述第二压缩数据相对应的第二头部写入至所述存储器。
12.根据权利要求11所述的图像处理装置,其中,所述第一量化步长被设置为小于通过将所述目标压缩比应用于所述第二图像数据中包括的像素数据的位深度而获得的值。
13.根据权利要求11所述的图像处理装置,其中,所述存储器包括存储所述第一压缩数据和所述第二压缩数据的第一区域、以及存储所述第一头部和所述第二头部的第二区域,并且
所述第一区域的存储所述第一压缩数据和所述第二压缩数据中的每一个的单位区域的大小基于所述第二压缩数据的数据量被设置。
14.根据权利要求11所述的图像处理装置,其中,
所述第一头部包括将所述第一压缩数据的压缩比指示为正整数值的第一头部索引,并且所述第二头部包括将所述第二压缩数据的压缩比指示为正整数值的第二头部索引,并且
所述第二头部索引大于所述第一头部索引。
15.根据权利要求11所述的图像处理装置,其中,所述压缩处理电路还被配置为:
从所述存储器读取所述第二压缩数据和所述第二头部,并且
基于所述第一量化步长对所述第二压缩数据执行反量化。
16.一种图像处理装置,包括:
多媒体知识产权,其被配置为通过对第一图像数据执行图像处理来产生第二图像数据;
压缩处理电路,其被配置为通过基于量化对所述第二图像数据执行有损压缩来产生压缩数据,并且输出所述压缩数据和包括所述压缩数据的压缩比的头部;以及
存储器,其存储所述压缩数据和所述头部。
17.根据权利要求16所述的图像处理装置,其中,所述压缩处理电路包括:
量化电路,其被配置为通过基于量化步长对所述第二图像数据执行所述量化来产生第一数据;
预测电路,其被配置为通过将所述第一数据中包括的像素数据转换为预测数据和残差数据来产生第二数据;以及
编码电路,其被配置为对所述第二数据执行熵编码。
18.根据权利要求16所述的图像处理装置,其中,所述压缩处理电路还被配置为:
通过以包括多条像素数据的块为单位对所述第二图像数据执行包括所述量化、预测处理和熵编码的第一有损压缩来产生第一压缩数据,
当所述第一压缩数据的压缩比等于或大于目标压缩比时,将所述第一压缩数据作为所述压缩数据输出,
当所述第一压缩数据的压缩比小于所述目标压缩比并且用于所述量化的量化步长等于或小于约束量化步长时,增加所述量化步长并且对所述第二图像数据再次执行所述第一有损压缩,并且
当所述第一压缩数据的压缩比小于所述目标压缩比并且所述量化步长大于所述约束量化步长时,通过基于所述约束量化步长对所述第二图像数据执行包括量化的第二有损压缩来产生第二压缩数据,并且将所述第二压缩数据作为所述压缩数据输出。
19.根据权利要求18所述的图像处理装置,其中,
所述约束量化步长小于基于所述目标压缩比和所述第二图像数据中包括的像素数据的位深度确定的最大量化步长。
20.根据权利要求18所述的图像处理装置,其中,所述压缩处理电路还被配置为:
响应于质量优先模式信号,基于具有第一值的所述约束量化步长执行所述第二有损压缩,
响应于功率优先模式信号,基于具有第二值的所述约束量化步长执行所述第二有损压缩,并且
所述第一值小于所述第二值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2022-0107900 | 2022-08-26 | ||
KR1020220107900A KR20240029439A (ko) | 2022-08-26 | 2022-08-26 | 이미지 처리 장치 및 이미지 처리 장치의 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117640944A true CN117640944A (zh) | 2024-03-01 |
Family
ID=87556088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311074332.XA Pending CN117640944A (zh) | 2022-08-26 | 2023-08-24 | 图像处理装置和图像处理装置的操作方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20240073421A1 (zh) |
EP (1) | EP4329300A1 (zh) |
KR (1) | KR20240029439A (zh) |
CN (1) | CN117640944A (zh) |
TW (1) | TW202415071A (zh) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110292247A1 (en) * | 2010-05-27 | 2011-12-01 | Sony Corporation | Image compression method with random access capability |
JP6502739B2 (ja) * | 2015-04-28 | 2019-04-17 | キヤノン株式会社 | 画像符号化装置、画像処理装置、画像符号化方法 |
KR102626217B1 (ko) * | 2018-11-30 | 2024-01-16 | 삼성전자주식회사 | 프레임 버퍼 컴프레서 및 이를 포함하는 이미지 처리 장치 |
-
2022
- 2022-08-26 KR KR1020220107900A patent/KR20240029439A/ko unknown
-
2023
- 2023-07-28 US US18/360,861 patent/US20240073421A1/en active Pending
- 2023-08-03 EP EP23189563.2A patent/EP4329300A1/en active Pending
- 2023-08-21 TW TW112131379A patent/TW202415071A/zh unknown
- 2023-08-24 CN CN202311074332.XA patent/CN117640944A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240073421A1 (en) | 2024-02-29 |
EP4329300A1 (en) | 2024-02-28 |
KR20240029439A (ko) | 2024-03-05 |
TW202415071A (zh) | 2024-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10645386B1 (en) | Embedded codec circuitry for multiple reconstruction points based quantization | |
US10440360B2 (en) | Video processing system | |
US11153578B2 (en) | Gradient texturing compression codec | |
US10271050B2 (en) | Methods, systems and devices including an encoder for image processing | |
US10009617B2 (en) | Method of operating encoder and method of operating system on chip including the encoder | |
US20220014767A1 (en) | Bit plane encoding of data arrays | |
US20230316580A1 (en) | Image Data Decompression | |
EP3896656A1 (en) | Image data compression | |
US11263786B2 (en) | Decoding data arrays | |
US10304213B2 (en) | Near lossless compression scheme and system for processing high dynamic range (HDR) images | |
US11991347B2 (en) | Image processing device | |
US11044466B2 (en) | Image processing device | |
US10750182B2 (en) | Embedded codec circuitry for visual quality based allocation of refinement bits | |
US11153586B2 (en) | Image processing device and frame buffer compressor | |
US10097830B2 (en) | Encoding device with flicker reduction | |
US20200162758A1 (en) | Embedded codec circuitry for sub-block based encoding of quantized prediction residual levels | |
CN117640944A (zh) | 图像处理装置和图像处理装置的操作方法 | |
EP4443879A1 (en) | Image processing device and operating method thereof | |
US10939107B2 (en) | Embedded codec circuitry for sub-block based allocation of refinement bits | |
KR20240143634A (ko) | 이미지 처리 장치 및 이미지 처리 장치의 동작 방법 | |
US10728555B1 (en) | Embedded codec (EBC) circuitry for position dependent entropy coding of residual level data | |
CN118694958A (zh) | 图像处理设备及其操作方法 | |
KR20050084472A (ko) | 런 길이 인코딩된 디지털 화상 | |
TWI795480B (zh) | 用於執行資料解壓縮的影像處理裝置及用於執行資料壓縮的影像處理裝置 | |
US20160150244A1 (en) | Decoder, decoding system including the decoder and method of operating the decoder |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |