RU2607624C1 - Method of controlling output file size from image jpeg compression - Google Patents
Method of controlling output file size from image jpeg compression Download PDFInfo
- Publication number
- RU2607624C1 RU2607624C1 RU2015134108A RU2015134108A RU2607624C1 RU 2607624 C1 RU2607624 C1 RU 2607624C1 RU 2015134108 A RU2015134108 A RU 2015134108A RU 2015134108 A RU2015134108 A RU 2015134108A RU 2607624 C1 RU2607624 C1 RU 2607624C1
- Authority
- RU
- Russia
- Prior art keywords
- bits
- scaling factor
- dct
- range
- jpeg
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 102
- 238000007906 compression Methods 0.000 title claims abstract description 44
- 230000006835 compression Effects 0.000 title claims abstract description 41
- 238000013139 quantization Methods 0.000 claims abstract description 21
- 230000008569 process Effects 0.000 claims description 30
- 230000006978 adaptation Effects 0.000 claims description 14
- 238000005457 optimization Methods 0.000 claims description 9
- 238000006243 chemical reaction Methods 0.000 claims description 4
- 230000001419 dependent effect Effects 0.000 claims description 4
- 239000000126 substance Substances 0.000 abstract 1
- 230000003044 adaptive effect Effects 0.000 description 8
- YBJHBAHKTGYVGT-ZKWXMUAHSA-N (+)-Biotin Chemical compound N1C(=O)N[C@@H]2[C@H](CCCCC(=O)O)SC[C@@H]21 YBJHBAHKTGYVGT-ZKWXMUAHSA-N 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 6
- FEPMHVLSLDOMQC-UHFFFAOYSA-N virginiamycin-S1 Natural products CC1OC(=O)C(C=2C=CC=CC=2)NC(=O)C2CC(=O)CCN2C(=O)C(CC=2C=CC=CC=2)N(C)C(=O)C2CCCN2C(=O)C(CC)NC(=O)C1NC(=O)C1=NC=CC=C1O FEPMHVLSLDOMQC-UHFFFAOYSA-N 0.000 description 6
- 230000006872 improvement Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
-
- 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/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/59—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
Description
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕFIELD OF THE INVENTION
Данное изобретение, в общем, относится к области сжатия цифровых изображений, и, в частности, к управлению скоростью (RC) сжатия изображений согласно стандарту Объединенной экспертной группы по фотографии (JPEG).The present invention relates generally to the field of digital image compression, and in particular to image compression rate (RC) control according to the standard of the Joint Photographic Expert Group (JPEG).
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИBACKGROUND OF THE INVENTION
JPEG является очень популярным стандартом сжатия изображений, но для большинства его широко известных реализаций характерен недостаток функциональных возможностей управления скоростью. Управление скоростью согласно стандарту JPEG является процессом конфигурирования внутренних параметров процесса JPEG сжатия таким образом, чтобы JPEG сжатие входного изображения приводило к созданию сжатого JPEG файла, имеющего определенный пользователем размер. Необходимость для создания сжатого JPEG файла, имеющего определенный пользователем размер, часто возникает во многих областях, например, когда изображение, отснятое камерой, сжимают в JPEG файл для сохранения на карте флэш-памяти с ограниченной емкостью или для передачи через сетевой канал с ограниченной пропускной способностью. Большинство известных реализаций JPEG с возможностью управления скоростью имеют недостатком чрезмерно высокую сложность или низкую точность управления скоростью.JPEG is a very popular image compression standard, but most of its well-known implementations have a lack of speed control functionality. JPEG speed control is the process of configuring the internal parameters of a JPEG compression process so that JPEG compression of the input image creates a compressed JPEG file with a user-defined size. The need to create a compressed JPEG file with a user-defined size often arises in many areas, for example, when the image captured by the camera is compressed into a JPEG file for storage on a flash memory card with a limited capacity or for transmission over a network channel with limited bandwidth . Most of the known speed control JPEG implementations have the disadvantage of overly high complexity or low speed control accuracy.
Основной способ управления скоростью, предусмотренный стандартом сжатия изображений JPEG, относится к заданию таблиц квантования (QT), которые используются средством JPEG сжатия (JPEG компрессором) для квантования коэффициентов дискретного косинусного преобразования (DCT), применяемого к цветовым плоскостям входного изображения. Поскольку задачей управления скоростью является конфигурирование внутренних параметров JPEG сжатия таким образом, чтобы результатом процесса сжатия был файл, имеющий размер, в значительной степени близкий к определенному пользователем значению, упомянутую задачу обычно решают посредством генерации и использования набора подходящих QT.The main speed control method provided by the JPEG image compression standard relates to defining quantization tables (QT), which are used by JPEG compression (JPEG compressor) to quantize the discrete cosine transform (DCT) coefficients applied to the color planes of the input image. Since the task of speed control is to configure the internal JPEG compression parameters so that the result of the compression process is a file having a size substantially close to a user-defined value, this task is usually solved by generating and using a set of suitable QTs.
Патент США 6192157 ("Modifications of postscript adaptive data compression (ADC) for 3 plane, 8 bit color images, JPEG lossy compression, and variable Q factors"), Hewlett-Packard, описывает способ JPEG сжатия изображения, приспособленный для создания выходных файлов, размер которых соответствует выходному буферу заранее заданного размера. Этот способ содержит переменный коэффициент Q, который является коэффициентом масштабирования для генерации масштабированной версии стандартной QT JPEG, и JPEG компрессор выполнен с возможностью увеличения коэффициента Q до уровня, достаточного для того, чтобы размер выходного JPEG файла соответствовал выходному буферу. Хотя этот способ обеспечивает достаточно точное управление размером выходного файла, он имеет недостатки, заключающиеся в высокой вычислительной сложности вследствие нескольких повторных сжатий, необходимых для нахождения подходящего коэффициента Q, и отсутствии улучшений качества восстановленного изображения, возможных посредством использования индивидуализированно генерируемых QT.US patent 6192157 ("Modifications of postscript adaptive data compression (ADC) for 3 plane, 8 bit color images, JPEG lossy compression, and variable Q factors"), Hewlett-Packard, describes a JPEG image compression method adapted to create output files, the size of which corresponds to the output buffer of a predetermined size. This method comprises a variable Q factor, which is a scaling factor for generating a scaled version of the standard QT JPEG, and the JPEG compressor is configured to increase the Q coefficient to a level sufficient to ensure that the size of the output JPEG file matches the output buffer. Although this method provides fairly accurate control of the size of the output file, it has the disadvantages of high computational complexity due to several repeated compressions necessary to find a suitable Q coefficient, and the absence of improvements in the quality of the reconstructed image, possible through the use of individually generated QTs.
Патент США 7567722 ("Dynamically scaled file encoding"), Qualcomm Inc., описывает способ JPEG сжатия изображения, содержащий способ управления скоростью на основе двухпроходного процесса определения коэффициента масштабирования стандартных QT, который обеспечивает JPEG сжатие до заранее заданного размера файла. Доля ненулевых квантованных коэффициентов DCT используются для настройки начального коэффициента масштабирования. Хотя этот способ обеспечивает низкую вычислительную сложность и приемлемую точность управления скоростью, он не обеспечивает улучшения качества восстановленного изображения, по сравнению с JPEG сжатием, где используются масштабированные версии стандартных QT JPEG. Кроме того, его вычислительная сложность и точность управления скоростью могут быть дополнительно улучшены посредством использования сжатия прореженного изображения и модели предсказания с двумя параметрами вместо модели предсказания с единственным параметром.US patent 7567722 ("Dynamically scaled file encoding"), Qualcomm Inc., describes a JPEG image compression method comprising a speed control method based on a two-pass process for determining the standard QT scaling factor, which provides JPEG compression to a predetermined file size. The fraction of nonzero quantized DCT coefficients is used to adjust the initial scaling factor. Although this method provides low computational complexity and acceptable accuracy of speed control, it does not provide improved image quality compared to JPEG compression, which uses scaled versions of standard QT JPEG. In addition, its computational complexity and speed control accuracy can be further improved by using decimated image compression and a two-parameter prediction model instead of a single-parameter prediction model.
Патент США 7574066 ("Method for image compression, related system and computer product therefor"), STMicroelectronics Ltd., описывает способ JPEG сжатия изображения, содержащий способ управления скоростью на основе итерационной корректировки коэффициента масштабирования стандартных QT JPEG для достижения заранее заданного размера выходного файла. Недостатками этого способа являются высокая вычислительная сложность и недостаточное качество восстановленного изображения.US Pat. No. 7,574,066 ("Method for image compression, related system and computer product therefor"), STMicroelectronics Ltd., describes a JPEG image compression method comprising a speed control method based on iteratively adjusting the scaling factor of standard JPEG QTs to achieve a predetermined output file size. The disadvantages of this method are the high computational complexity and insufficient quality of the reconstructed image.
Патент США 5724453 ("Image compression system and method having optimized quantization tables"), Wisconsin Alumni Research Foundation, описывает способ JPEG сжатия изображения, содержащий способ оптимизации по скорости-искажению (RDO) на основе методики динамического программирования (DP), причем этот способ обеспечивает как точное управление скоростью, так и улучшение качества восстановленного изображения посредством генерации RD-оптимальных QT. Хотя этот способ имеет хорошие рабочие характеристики в плане как вычислительной сложности, так и качества восстановленного изображения, для него характерен недостаток эффективной адаптивности к изображению, поскольку он использует среднюю энтропию квантованных коэффициентов DCT для оценки выходной битовой скорости (битрейта), что не является точным в общем случае.US patent 5724453 ("Image compression system and method having optimized quantization tables"), Wisconsin Alumni Research Foundation, describes a JPEG image compression method containing a speed-distortion optimization (RDO) method based on a dynamic programming technique (DP), this method provides both precise speed control and improved image quality by generating RD-optimal QTs. Although this method has good performance in terms of both computational complexity and the quality of the reconstructed image, it is characterized by a lack of effective adaptability to the image, since it uses the average entropy of the quantized DCT coefficients to estimate the output bit rate (bit rate), which is not accurate in general case.
Патент США 7567722 и патент США 5724453 могут рассматриваться в качестве ближайших аналогов для данной заявки.US patent 7567722 and US patent 5724453 can be considered as the closest analogues for this application.
Сущность изобретенияSUMMARY OF THE INVENTION
Целью настоящего изобретения является создание способа для конфигурирования внутренних параметров (в частности, таблиц квантования) процесса JPEG сжатия, с тем, чтобы JPEG сжатие входного изображения приводило к сжатому JPEG файлу, имеющему определенный пользователем размер.An object of the present invention is to provide a method for configuring internal parameters (in particular, quantization tables) of a JPEG compression process so that JPEG compression of the input image results in a compressed JPEG file having a user-defined size.
Согласно первому аспекту настоящего изобретения, предложен способ управления скоростью (RC) в рамках JPEG сжатия цифрового изображения. Согласно способу RC, принимают коэффициенты дискретного косинусного преобразования (DCT), получаемые из применения прямого DCT к цифровому изображению. Затем, генерируют таблицы квантования (QT) с использованием принятых коэффициентов DCT посредством того, что, итерационно, оценивают коэффициент масштабирования для создания масштабированных QT, проверяют, является ли истинным первое условие завершения итераций, причем в первом условии завершения итераций задействованы переменные, связанные с коэффициентом масштабирования, и если упомянутое условие является ложным, то обновляют коэффициент масштабирования и упомянутые переменные.According to a first aspect of the present invention, there is provided a speed control (RC) method within JPEG compression of a digital image. According to the RC method, discrete cosine transform (DCT) coefficients obtained from applying direct DCT to a digital image are received. Then, quantization tables (QTs) are generated using the received DCT coefficients by iteratively evaluating the scaling factor to create scaled QTs, checking if the first iteration termination condition is true, and the variables associated with the coefficient are involved in the first iteration termination condition scaling, and if said condition is false, then the scaling factor and the said variables are updated.
Способ RC может дополнительно содержать, перед этапом генерации QT, этапы, на которых: собирают гистограммы DCT, причем этап сбора гистограмм DCT содержит, для каждой из цветовых плоскостей: подсчет количества появлений каждого значения коэффициента DCT для каждой субполосы DCT; и инициализацию целевого размера выходного файла для изображения, сжатого согласно JPEG, коэффициента масштабирования, граничных значений диапазона реактивного количества битов (первого количества битов), нижнего и верхнего допусков по реактивному количеству битов, граничных значений диапазона реактивного коэффициента масштабирования (первого диапазона коэффициента масштабирования), соответствующих граничным значениям диапазона реактивного количества битов, и параметра точности коэффициента масштабирования.The RC method may further comprise, before the QT generation step, the steps of: collecting DCT histograms, the DCT histogram collecting step comprising, for each of the color planes: counting the number of occurrences of each DCT coefficient value for each DCT subband; and initializing the target size of the output file for the image compressed according to JPEG, the scaling factor, the boundary values of the range of the reactive number of bits (first number of bits), the lower and upper tolerances on the reactive number of bits, the boundary values of the range of the reactive scaling factor (first range of the scaling factor), corresponding to the boundary values of the range of the reactive number of bits, and the accuracy parameter of the scaling factor.
Этап оценки коэффициента масштабирования может содержать этапы, на которых: инициализируют граничные значения диапазона предиктивного количества битов (второго количества битов), нижний и верхний допуски по предиктивному количеству битов и граничные значения диапазона предиктивного коэффициента масштабирования (второго диапазона коэффициента масштабирования), соответствующих граничным значениям диапазона предиктивного количества битов; итерационно, масштабируют заранее заданные базовые QT на основе коэффициента масштабирования для получения масштабированных QT, вычисляют полное предиктивное количество битов в виде суммы предиктивных количеств битов, вычисленных по отдельности для каждой из цветовых плоскостей, причем предиктивные количества битов, являющихся результатом применения масштабированных QT к JPEG сжатию, получают посредством использования параметров моделей предсказания, проверяют, является ли истинным второе условие завершения итераций, причем второе условие завершения итераций является истинным, когда полное предиктивное количество битов попадает в пределы диапазона допуска по предиктивному количеству битов или ширина диапазона предиктивного коэффициента масштабирования становится меньше параметра точности коэффициента масштабирования, причем диапазон допуска по предиктивному количеству битов определяют на основе целевого размера выходного файла и нижнего и верхнего допусков по предиктивному количеству битов, и если второе условие завершения итераций является ложным, то обновляют граничные значения диапазона предиктивного количества битов, граничные значения диапазона предиктивного коэффициента масштабирования и коэффициент масштабирования на основе полного предиктивного количества битов с использованием метода ложного положения для нахождения корня.The step of evaluating the scaling factor may include the steps in which: initialize the boundary values of the range of the predictive number of bits (second number of bits), the lower and upper tolerances for the predictive number of bits and the boundary values of the range of the predictive number of bits (second range of the scaling factor) corresponding to the boundary values of the range predictive number of bits; iteratively scale the predetermined base QTs based on the scaling factor to obtain scaled QTs, calculate the total predictive number of bits as the sum of the predictive number of bits calculated individually for each of the color planes, the predictive number of bits resulting from applying scaled QT to JPEG compression , obtained by using the parameters of the prediction models, check whether the second condition for completing the iterations is true, the second condition The completion of the iterations is true when the total predictive number of bits falls within the tolerance range for the predictive number of bits or the width of the range of the predictive scaling factor becomes less than the accuracy parameter of the scaling factor, and the tolerance range for the predictive number of bits is determined based on the target size of the output file and the lower and the upper tolerances for the predictive number of bits, and if the second condition for completing the iterations is false, then update yayut boundary predictive value quantity range bits, and boundary values of scaling the scaling factor predictive coefficient based on the full range of the predictive number of bits using the method of false position for finding the root.
Заранее заданные базовые QT предпочтительно представляют собой стандартные QT JPEG. Предиктивное количество битов для конкретной цветовой плоскости предпочтительно вычисляют с использованием полиномиальной модели предсказания на основе параметров модели предсказания и параметров предсказания для этой цветовой плоскости, причем параметры предсказания вычисляют с использованием квантованных коэффициентов DCT, полученных посредством квантования коэффициентов DCT с использованием масштабированных QT.Predefined base QTs are preferably standard JPEG QTs. The predictive number of bits for a particular color plane is preferably calculated using a polynomial prediction model based on prediction model parameters and prediction parameters for that color plane, the prediction parameters being calculated using quantized DCT coefficients obtained by quantizing DCT coefficients using scaled QTs.
Способ RC может дополнительно содержать, после этапа оценки коэффициента масштабирования, квантование и подсчет битов посредством использования масштабированных QT в стандартных процессах квантования и энтропийного кодирования согласно JPEG, модифицированных таким образом, чтобы только подсчитывались биты, выводимые при энтропийном кодировании, без вывода сжатых данных. Подсчет битов выполняют отдельно для каждой из цветовых плоскостей, и в результате него получают набор фактических количеств битов цветовых плоскостей, причем подсчет битов дополнительно содержит: вычисление полного фактического количества битов посредством суммирования фактических количеств битов цветовых плоскостей для всех цветовых плоскостей. Первое условие завершения итераций является истинным, когда полное фактическое количество битов попадает в пределы диапазона допуска по реактивному количеству битов, или ширина диапазона реактивного коэффициента масштабирования становится меньше параметра точности коэффициента масштабирования, или количество итераций достигает заранее заданного максимального количества. Диапазон допуска по реактивному количеству битов определяют на основе целевого размера выходного файла и нижнего и верхнего допусков по реактивному количеству битов. На этапе обновления коэффициента масштабирования и связанных с ним переменных обновляют граничные значения диапазона реактивного количества битов, граничные значения диапазона реактивного коэффициента масштабирования и коэффициент масштабирования на основе полного фактического количества битов с использованием метода ложного положения для нахождения корня. При этом, способ RC дополнительно содержит, после этапа обновления коэффициента масштабирования и соответствующих переменных, этап, на котором: обновляют набор параметров модели предсказания для каждой цветовой плоскости с использованием набора фактических количеств битов цветовых плоскостей, масштабированных QT и гистограмм DCT; и, если каждый набор параметров модели предсказания обновлен, то масштабируют заранее заданные базовые QT на основе коэффициента масштабирования и возвращаются к этапу квантования и подсчета битов, иначе, возвращаются к этапу оценки коэффициента масштабирования.The RC method may further comprise, after the step of estimating the scaling factor, quantizing and counting the bits by using scaled QTs in standard JPEG quantization and entropy coding processes, modified so that only the bits output during entropy coding are counted without outputting compressed data. The bit counting is performed separately for each of the color planes, and as a result, a set of actual number of bits of the color planes is obtained, and the bit count further comprises: calculating the total actual number of bits by summing the actual number of bits of the color planes for all color planes. The first condition for completing iterations is true when the total actual number of bits falls within the tolerance range for the reactive number of bits, or the range width of the reactive scaling factor becomes less than the accuracy parameter of the scaling factor, or the number of iterations reaches a predetermined maximum number. The tolerance range for the reactive bit count is determined based on the target size of the output file and the lower and upper tolerances for the reactive bit count. At the stage of updating the scaling factor and the associated variables, the boundary values of the reactive number of bits range, the boundary values of the reactive scale factor range and the scale factor are updated based on the total actual number of bits using the false position method to find the root. Moreover, the RC method further comprises, after the step of updating the scaling factor and the corresponding variables, the step of: updating the set of prediction model parameters for each color plane using the set of actual number of bits of the color planes, scaled QT and DCT histograms; and, if each set of parameters of the prediction model is updated, then the predetermined base QTs are scaled based on the scaling factor and return to the step of quantizing and counting bits; otherwise, they return to the step of estimating the scaling factor.
Этап обновления параметров модели предсказания предпочтительно содержит этапы, на которых: вычисляют параметр предсказания для каждой из цветовых плоскостей с использованием масштабированных QT и гистограмм DCT; обновляют адаптационные аккумуляторы с использованием параметра предсказания и нормированного фактического количества битов цветовой плоскости для данной цветовой плоскости, причем предварительно адаптационные аккумуляторы инициализируются нулевыми значениями; The step of updating the parameters of the prediction model preferably comprises the steps of: calculating a prediction parameter for each of the color planes using scaled QT and DCT histograms; adaption batteries are updated using the prediction parameter and the normalized actual number of bits of the color plane for a given color plane, the preliminary adaptation batteries being initialized to zero;
если система линейных уравнений, образованная из упомянутых адаптационных аккумуляторов, является совместной, то вычисляют параметры модели предсказания посредством решения упомянутой системы линейных уравнений, иначе, параметры модели предсказания не обновляют.if the system of linear equations formed from the said adaptation batteries is joint, then the parameters of the prediction model are calculated by solving the said system of linear equations, otherwise, the parameters of the prediction model are not updated.
Способ RC может дополнительно содержать этапы, на которых: выбирают один из режимов функционирования RC, причем режимы функционирования RC содержат: быстрый режим, обеспечивающий наилучшую производительность; сбалансированный режим, обеспечивающий компромисс между производительностью и качеством изображения; и режим качества, обеспечивающий наилучшее качество изображения; вычисляют полное искажение, связанное с масштабированными QT, для каждой из цветовых плоскостей; вычисляют целевые количества битов цветовых плоскостей для каждой из цветовых плоскостей с использованием набора фактических количеств битов цветовых плоскостей.The RC method may further comprise stages in which: one of the RC operation modes is selected, the RC operation modes include: a fast mode providing the best performance; balanced mode that provides a compromise between performance and image quality; and a quality mode that provides the best image quality; calculating the total distortion associated with the scaled QT for each of the color planes; calculate the target number of bits of the color planes for each of the color planes using the set of actual number of bits of the color planes.
Если выбран сбалансированный режим, то способ RC дополнительно содержит: выполнение оптимизации по скорости-искажению сбалансированного режима для генерации QT, оптимизированных по скорости-искажению (RDO QT), причем оптимизация по скорости-искажению сбалансированного режима содержит, для каждой из цветовых плоскостей, этапы, на которых: инициализируют записи RDO QT; вычисляют записи таблиц скорости-искажения (RD) с использованием гистограмм DCT и параметров модели предсказания, причем упомянутые записи зависят от переменного квантователя; определяют набор локально оптимальных квантователей с использованием записей RDO QT, записей таблиц RD и целевого количества битов цветовой плоскости, вычисленного для упомянутой цветовой плоскости; осуществляют поиск локально оптимальной субполосы DCT с использованием набора локально оптимальных квантователей для определения индекса i* локально оптимальной субполосы DCT; если локально оптимальная субполоса DCT существует, то выполняют обновление квантователя посредством установки i*-ой записи RDO QT равной i*-ому локально оптимальному квантователю, и возвращаются к этапу определения множества локально оптимальных квантователей.If the balanced mode is selected, the RC method further comprises: performing speed-distortion optimization of the balanced mode to generate QT optimized for speed-distortion (RDO QT), wherein the speed-distortion optimization of the balanced mode comprises, for each of the color planes, the steps on which: initialize the RDO QT records; calculating the records of the velocity-distortion (RD) tables using DCT histograms and prediction model parameters, said records being dependent on a variable quantizer; determining a set of locally optimal quantizers using RDO QT entries, RD table entries, and a target number of bits of a color plane calculated for said color plane; searching for a locally optimal DCT subband using a set of locally optimal quantizers to determine the index i * of the locally optimal DCT subband; if a locally optimal DCT subband exists, then the quantizer is updated by setting the i * -th RDO QT record equal to the i * -th locally optimal quantizer, and return to the step of determining the set of locally optimal quantizers.
Если выбран режим качества, то способ RC дополнительно содержит: выполнение оптимизации по скорости-искажению режима качества для генерации RDO QT, причем оптимизация по скорости-искажению режима качества содержит, для каждой из цветовых плоскостей, этапы, на которых: вычисляют записи таблиц RD с использованием гистограмм DCT и параметров модели предсказания, причем упомянутые записи зависят от переменного квантователя; итерационно, вычисляют записи таблиц оптимальных квантователя-скорости-искажения (RDQ) с использованием таблиц RD; инициализируют итерации получения квантователя на основе записей таблиц RDQ и целевого количества битов цветовой плоскости, вычисленного для упомянутой цветовой плоскости; выполняют итерации получения квантователя с использованием записей таблиц RDQ для создания RDO QT.If a quality mode is selected, then the RC method further comprises: performing speed-distortion optimization of the quality mode for generating an RDO QT, wherein optimizing for speed-distortion of the quality mode comprises, for each of the color planes, the steps in which: the entries of the RD tables are calculated using DCT histograms and parameters of the prediction model, said records being dependent on a variable quantizer; iteratively, calculating the entries of the optimal quantizer-velocity-distortion (RDQ) tables using the RD tables; initialize iterations of obtaining a quantizer based on the records of the RDQ tables and the target number of bits of the color plane calculated for said color plane; iterate the quantizer using the RDQ table entries to create the RDO QT.
Способ RC может дополнительно содержать этапы, на которых: вычисляют полное искажение, связанное с RDO QT; выполняют подсчет битов путем использования RDO QT в процессах стандартного квантования и энтропийного кодирования согласно JPEG, модифицированных таким образом, чтобы только подсчитывались биты, выводимые при энтропийном кодировании, без вывода сжатых данных, причем подсчет битов выполняют отдельно для каждой из цветовых плоскостей, и в результате него получают фактические количества битов, причем подсчет битов дополнительно содержит этапы, на которых: вычисляют окончательное фактическое количество битов посредством суммирования фактических количеств битов для всех цветовых плоскостей, если полное искажение, связанное с RDO QT, является меньшим, чем полное искажение, связанное с масштабированными QT, и окончательное полное фактическое количество битов попадает в пределы диапазона допуска по окончательному количеству битов, причем диапазон допуска по окончательному количеству битов определяют на основе целевого размера выходного файла и заранее заданных допусков по окончательному количеству битов, то тогда выводят RDO QT в качестве сгенерированных QT, иначе, выводят масштабированные QT в качестве сгенерированных QT.The RC method may further comprise the steps of: calculating the total distortion associated with the RDO QT; perform bit counting by using RDO QT in standard quantization and entropy coding processes according to JPEG, modified so that only the bits output by entropy coding are counted without outputting compressed data, and bit counting is performed separately for each of the color planes, and as a result it receives the actual number of bits, and the bit count further comprises the steps of: calculating the final actual number of bits by summing the fact number of bits for all color planes, if the total distortion associated with the QT RDO is less than the total distortion associated with the scaled QT and the final total actual number of bits falls within the tolerance range for the final number of bits, with the final tolerance range for the final the number of bits is determined based on the target size of the output file and predefined tolerances on the final number of bits, then output the RDO QT as the generated QT, otherwise, output the scale sorbed QT as QT generated.
Согласно второму аспекту данного изобретения, предложен машиночитаемый носитель информации, на котором сохранены машиноисполняемые команды. Машиноисполняемые команды, хранящиеся на машиночитаемом носителе информации, при их исполнении процессором, предписывают процессору выполнять способ RC согласно первому аспекту данного изобретения.According to a second aspect of the present invention, there is provided a computer-readable storage medium on which computer-executable instructions are stored. Computer-executable instructions stored on a computer-readable storage medium, when executed by a processor, instruct the processor to execute the RC method according to the first aspect of the present invention.
Согласно третьему аспекту данного изобретения, предложено устройство для выполнения RC в JPEG сжатии цифрового изображения. Это устройство содержит: один или несколько процессоров; и память, в которой сохранены машиноисполняемые команды. Машиноисполняемые команды, хранящиеся в памяти, при их исполнении одним или несколькими процессорами, предписывают одному или нескольким процессорам выполнять способ RC согласно первому аспекту данного изобретения.According to a third aspect of the present invention, there is provided a device for performing RC in JPEG compression of a digital image. This device contains: one or more processors; and a memory in which machine-executable instructions are stored. Computer-executable instructions stored in memory, when executed by one or more processors, instruct one or more processors to execute the RC method according to the first aspect of the present invention.
Согласно четвертому аспекту данного изобретения, предложен способ JPEG сжатия цифрового изображения. Упомянутый способ содержит этапы, на которых: выполняют преобразование цветового пространства и прямое DCT; выполняют способ согласно первому аспекту данного изобретения; выполняют квантование; выполняют энтропийное кодирование; и выводят сжатый JPEG файл.According to a fourth aspect of the present invention, there is provided a JPEG method for compressing a digital image. Said method comprises the steps of: performing color space conversion and direct DCT; performing a method according to a first aspect of the present invention; perform quantization; perform entropy coding; and output the compressed JPEG file.
В отличие от способов предшествующего уровня техники, настоящее изобретение обеспечивает оптимальную комбинацию низкой вычислительной сложности, хорошей точности управления скоростью и, при использовании режимов улучшения качества, заметного улучшения качества восстановленного изображения.Unlike prior art methods, the present invention provides an optimal combination of low computational complexity, good speed control accuracy and, when using quality improvement modes, a marked improvement in the quality of the reconstructed image.
Краткое описание чертежейBrief Description of the Drawings
Фиг. 1 - последовательность операций JPEG сжатия с возможностью RC;FIG. 1 - a sequence of JPEG compression operations with RC capability;
Фиг. 2 - последовательность операций процесса управления скоростью;FIG. 2 is a flowchart of a speed control process;
Фиг. 3 - последовательность операций адаптации предиктора количества битов;FIG. 3 is a flowchart of adaptation of the predictor of the number of bits;
Фиг. 4 - последовательность операций оценки предиктивного коэффициента масштабирования;FIG. 4 is a flowchart for estimating a predictive scaling factor;
Фиг. 5 - последовательность операций вычисления предиктивного количества битов;FIG. 5 is a flowchart of calculating a predictive number of bits;
Фиг. 6 - последовательность операций обновления модели предсказания;FIG. 6 is a flowchart of updating a prediction model;
Фиг. 7 - последовательность операций функционирования RDO сбалансированного режима для одной цветовой плоскости;FIG. 7 is a flowchart of a balanced mode RDO for a single color plane;
Фиг. 8 - последовательность операций функционирования RDO режима качества для одной цветовой плоскости;FIG. 8 is a flowchart of operation of an RDO quality mode for one color plane;
Фиг. 9 - блок-схема, иллюстрирующая устройство согласно варианту осуществления данного изобретения.FIG. 9 is a block diagram illustrating an apparatus according to an embodiment of the present invention.
Подробное описание вариантов осуществленияDetailed Description of Embodiments
Способ управления размером выходного файла JPEG сжатия изображения показан на фиг. 1. Входное цифровое изображение, созданное, например, посредством цифровой камеры или устройства сканирования документов, подвергают преобразованию цветового пространства (например, преобразованию RGB-B-YCbCr, при необходимости) и прямому DCT (101). Результирующие коэффициенты DCT обрабатывают посредством процесса (102) управления скоростью, который выводит набор QT (одну QT на цветовую плоскость). Процесс управления скоростью является новым способом, который отвечает существу данного изобретения. Целью процесса управления скоростью является генерация набора QT таким образом, чтобы JPEG сжатие, где этот набор QT должен использоваться, создавало выходной файл, сжатый согласно JPEG, имеющий размер файла, в значительной степени близкий к определенному пользователем значению. Выходной набор QT используют в квантовании (103) для создания квантованных коэффициентов DCT, в отношении которых затем выполняют энтропийное кодирование (104) для создания выходного сжатого JPEG файла для его, например, сохранения на флэш-карте с ограниченной емкостью памяти или передачи через сетевой канал с ограниченной пропускной способностью.A method for controlling the size of the output image compression JPEG file is shown in FIG. 1. An input digital image created, for example, by means of a digital camera or a document scanning device, is subjected to color space conversion (for example, RGB-B-YCbCr conversion, if necessary) and direct DCT (101). The resulting DCT coefficients are processed by a speed control process (102) that outputs a set of QT (one QT per color plane). The speed control process is a new method that meets the essence of the present invention. The goal of the speed control process is to generate a QT set so that JPEG compression, where this QT set is to be used, produces an output file compressed according to JPEG, having a file size substantially close to a user-defined value. The output QT set is used in quantization (103) to create quantized DCT coefficients, for which entropy encoding is then performed (104) to create an output compressed JPEG file for, for example, storing it on a flash card with limited memory capacity or transmitting via a network channel limited bandwidth.
Процесс (102) управления скоростью показан на фиг. 2. Сначала, при адаптации (201) предиктора количества битов выполняют адаптацию предиктора количества битов с использованием коэффициентов DCT и выводят набор масштабированных QT и набор параметров модели предсказания. Затем, выполняют переключение режима функционирования RC: если пользователем выбран быстрый режим функционирования RC, то выводят набор масштабированных QT, созданных на этапе 201. Поскольку набор масштабированных QT генерируется на этапе 201 таким образом, чтобы JPEG сжатие, где используется этот набор QT, создавало выходной сжатый JPEG файл, имеющий размер файла, в значительной степени близкий к определенному пользователем значению, цель управления скоростью достигается посредством вывода упомянутого набора QT. Иначе, если пользователем выбран один из двух режимов RDO функционирования RC, то выполняют вычисление полного искажения, связанного с масштабированными QT (202), и вычисленное полное искажение в дальнейшем сравнивается с полным искажением, связанным с RDO QT. Затем, выполняют распределение квоты битов среди цветовых плоскостей (203) для определения целевого количества битов для каждой из цветовых плоскостей, которое вводится в последующий процесс RDO. После этого, выполняют переключение режима RDO: в зависимости от пользовательского выбора, выполняют либо RDO (204) сбалансированного режима, либо RDO (205) режима качества. Процессы RDO сбалансированного режима и RDO режима качества оба используют набор параметров модели предсказания с этапа 201. Выходом процесса RDO любого режима является набор RDO QT, которые используются в подсчете битов и вычислении полного искажения с использованием RDO QT (206). Полученные на этапе 206 окончательное фактическое количество битов и полное искажение, связанные с RDO QT, сравниваются, соответственно, с диапазоном допуска по окончательному количеству битов и полным искажением, связанным с масштабированными QT (полученными на этапе 202). Если окончательное фактическое количество битов, связанное с RDO QT, попадает в пределы диапазона допуска по окончательному количеству битов и полное искажение, связанное с RDO QT, меньше полного искажения, связанного с масштабированными QT, то тогда выводят набор RDO QT. Иначе, выводят набор масштабированных QT, созданных на этапе 201. Поскольку оба процесса двух режимов RDO разработаны для генерации набора QT таким образом, чтобы JPEG сжатие, где используется этот набор QT, создавало выходной JPEG сжатый файл, имеющий размер файла, в значительной степени близкий к определенному пользователем значению, цель управления скоростью достигается посредством вывода упомянутых QT, в то время как сравнение полных искажений после этапа 20 6 приводит к выводу набора QT, которое обеспечивает наилучшее качество последующего JPEG сжатия.The speed control process (102) is shown in FIG. 2. First, when adapting (201) the bit number predictor, the bit number predictor is adapted using the DCT coefficients and a set of scaled QTs and a set of prediction model parameters are output. Then, the RC operation mode is switched: if the user selects the fast RC operation mode, the set of scaled QTs created in
Подробное описание процесса (102) управления скоростью приведено ниже.A detailed description of the speed control process (102) is given below.
Адаптацию (201) предиктора количества битов используют для обработки коэффициентов DCT и вывода набора масштабированных QT и набора параметров модели предсказания. Адаптация предиктора количества битов является критически важной для достижения сочетания низкой вычислительной сложности и хорошей точности управления скоростью. Масштабированная QT является, предпочтительно, масштабированной версией некоторой базовой QT, например, одной из стандартных QT JPEG, приведенных в Приложении К спецификации JPEG ISO/IEC JTC1 10918-1:The adaptation (201) of the bit predictor is used to process the DCT coefficients and output a set of scaled QTs and a set of prediction model parameters. Adaptation of the predictor of the number of bits is critical to achieve a combination of low computational complexity and good speed control accuracy. A scaled QT is preferably a scaled version of some basic QT, for example, one of the standard JPEG QTs given in Appendix K of the ISO / IEC JTC1 10918-1 JPEG specification:
где i является индексом субполосы DCT, S является коэффициентом масштабирования, Qmin=1, Qmax=255 для базового JPEG сжатия или 65535 для расширенного JPEG сжатия,
Адаптация (201) предиктора количества битов показана на фиг. 3. При сборе (301) гистограмм DCT подсчитывают количество появлений каждого значения коэффициента DCT для каждой субполосы DCT для каждой цветовой плоскости, чтобы выполнить сбор гистограмм DCT
где i является индексом субполосы DCT, k является индексом цветовой плоскости, j является индексом блока DCT 8×8,
При инициализации (302) реактивного контекста устанавливают начальные значения переменных и констант реактивного контекста:Upon initialization (302) of the reactive context, the initial values of the variables and constants of the reactive context are set:
- Bt является полным целевым количеством битов, задаваемым в качестве определенного пользователем требующегося размера JPEG файла в битах, за вычетом количества Bm маркерных битов JPEG;- B t is the total target number of bits specified as the user-defined required JPEG file size in bits, minus the number B m of JPEG marker bits;
- BRL и BRU являются, соответственно, нижней и верхней границей диапазона реактивного количества битов (которые инициализируются, соответственно, минимальным количеством битов Bmin и максимальным количеством битов Bmax);- B RL and B RU are, respectively, the lower and upper limit of the range of the reactive number of bits (which are initialized, respectively, by the minimum number of bits B min and the maximum number of bits B max );
- εRL и εRU являются, соответственно, нижним допуском по реактивному количеству битов и верхним допуском по реактивному количеству битов (например, инициализация в 0,01 и 0,01 соответствует точности реактивного количества битов, равной 1%);- ε RL and ε RU are, respectively, the lower tolerance on the reactive number of bits and the upper tolerance on the reactive number of bits (for example, initialization of 0.01 and 0.01 corresponds to an accuracy of the reactive number of bits equal to 1%);
- S является текущим коэффициентом масштабирования, используемым для масштабирования базовых QT (который, предпочтительно, инициализируется в 100);- S is the current scaling factor used to scale the base QT (which is preferably initialized to 100);
- SRL и SRU являются, соответственно, нижней границей и верхней границей диапазона реактивного коэффициента масштабирования, соответствующими BRL и BRU;- S RL and S RU are, respectively, the lower boundary and the upper limit of the range of the reactive scaling factor corresponding to B RL and B RU ;
- ΔS является параметром точности коэффициента масштабирования.- ΔS is a parameter of the accuracy of the scaling factor.
Реактивный контекст далее используется по всей адаптации предиктора количества битов.The reactive context is then used throughout the adaptation of the predictor of the number of bits.
При оценке (303) предиктивного коэффициента масштабирования оценивают значение коэффициента масштабирования с использованием способа, показанного на фиг. 4. При инициализация (401) предиктивного контекста устанавливают начальные значения переменных и констант предиктивного контекста:When evaluating (303) the predictive scaling factor, the value of the scaling factor is estimated using the method shown in FIG. 4. When initializing (401) the predictive context, the initial values of the variables and constants of the predictive context are set:
- BPL и BPU являются, соответственно, нижней и верхней границей диапазона предиктивного количества битов (которые инициализируются в BRL и BRU);- B PL and B PU are, respectively, the lower and upper boundary of the range of the predictive number of bits (which are initialized in B RL and B RU );
- εPL и εPU являются, соответственно, нижним допуском по предиктивному количеству битов и верхним допуском по предиктивному количеству битов (например, их инициализация в 0,01 и 0,01 соответствует точности предиктивного количества битов, равной 1%);- ε PL and ε PU are, respectively, the lower tolerance for the predictive number of bits and the upper tolerance for the predictive number of bits (for example, their initialization of 0.01 and 0.01 corresponds to the accuracy of the predictive number of bits equal to 1%);
- SPL и SPU являются, соответственно, нижней границей и верхней границей диапазона предиктивного коэффициента масштабирования, соответствующим BPL и BPU (которые, предпочтительно, инициализируются в SRL и SRU, соответственно);- S PL and S PU are, respectively, the lower bound and the upper bound of the predictive scaling factor range corresponding to B PL and B PU (which are preferably initialized to S RL and S RU , respectively);
- Bt, S и ΔS совместно используются как реактивным, так и предиктивным контекстами, так что их значения не изменяются.- B t , S and ΔS are shared by both reactive and predictive contexts, so their values do not change.
Предиктивный контекст затем используется по всей оценке предиктивного коэффициента масштабирования.The predictive context is then used throughout the assessment of the predictive scaling factor.
При масштабировании базовых QT (402) создают набор масштабированных QT согласно уравнению (1) с использованием текущего коэффициента масштабирования S. Вычислением предиктивного количества битов (403) предсказывается количество битов, получаемое при использовании набора масштабированных QT с этапа 402 в JPEG сжатии, где используются текущие параметры моделей предсказания. Процесс предсказания показан на фиг. 5.When scaling base QTs (402), a set of scaled QTs is created according to equation (1) using the current scaling factor S. By calculating the predictive number of bits (403), the number of bits obtained using the scaled QT set from
Вычисление параметров предсказания (501) выдает параметры предсказания для всех цветовых плоскостей. Параметр предсказания для k-ой цветовой плоскости может быть либо 1-ρ(k), либо усредненной по коэффициентам энтропией
где
Усредненная по коэффициентам энтропия
где z является значением квантованного коэффициента DCT.where z is the value of the quantized DCT coefficient.
Вычисление выходов моделей предсказания (502) использует параметры предсказания для вычисления предиктивного количества битов
где Р(k) является параметром предсказания для k-ой цветовой плоскости (который является либо 1-ρ(k), либо,
Если полное предиктивное количество битов попадает в пределы диапазона допуска по предиктивному количеству битов, а именно, Bt(1-εPL)≤Bp≤Bt(1+εPU), или ширина диапазона предиктивного коэффициента масштабирования становится меньше параметра точности коэффициента масштабирования, а именно, |SPU-SPL|<ΔS, то тогда выдают набор масштабированных QT
После этапа 404, процесс повторяют, начиная с этапа 402, пока не будет выполнено приведенное выше условие вывода.After
После этапа 303 выполняют квантование и подсчет битов (304) с использованием стандартных процессов квантования и энтропийного кодирования JPEG, модифицированных таким образом, чтобы только подсчитанные биты выводились при энтропийном кодировании (без вывода сжатых данных). Подсчет битов выполняют по отдельности для каждой из цветовых плоскостей, и в результате него формируется набор фактических количеств битов цветовых плоскостей
Если полное фактическое количество битов Ва с этапа 304 попадает в пределы диапазона допуска по реактивному количеству битов, а именно, Bt(1-εRL)≤Ва≤Bt(1+εRU), или ширина диапазона реактивного коэффициента масштабирования становится меньше параметра точности коэффициента масштабирования, а именно, |SRU-SRL|<ΔS, или количество итераций Niter для квантования и подсчета битов (304) достигает заранее заданного максимального количества итераций Nmax, то тогда выводят набор масштабированных QT
При обновлении (306) моделей предсказания используется набор фактических количеств битов цветовых плоскостей, полученных на этапе 304, для обновления параметров модели предсказания для каждой цветовой плоскости с использованием способа, показанного на фиг. 6 для одной цветовой плоскости. При вычислении (601) параметров предсказания используется текущая масштабированная QT
При обновлении (602) адаптационных аккумуляторов используется параметр предсказания и нормированное фактическое количество битов цветовой плоскости
Как видно из вышесказанного, адаптационные аккумуляторы, по сути, представляют собой наборы переменных (см. соотношение (11)), каковые переменные аккумулируют (т.е. содержат сумму) значений других параметров и используются для адаптации.As can be seen from the above, adaptation batteries, in fact, are sets of variables (see relation (11)), which variables accumulate (i.e. contain the sum) of the values of other parameters and are used for adaptation.
Все адаптационные аккумуляторы инициализируются нулем в начале этапа 201. Адаптационные аккумуляторы используются для построения адаптационной системы линейных уравнений (SLE):All adaptive accumulators are initialized to zero at the beginning of
где m является индексом уравнения, и l является индексом неизвестной переменной
После этапа 306, если все модели предсказания изменены, а именно, каждый набор параметров модели предсказания
В другом варианте осуществления, для улучшения вычислительной производительности адаптации (201) предиктора количества битов, сбор (301) гистограмм DCT и квантование и подсчет битов (304) могут быть выполнены не для всей цветовой плоскости, а для доли ƒMCU всех минимальных кодированных блоков (MCU), выбираемых случайным образом с использованием равномерного распределения по области цветовой плоскости. В этом случае, значения Bt,
После адаптации (201) предиктора количества битов задают следующие три режима функционирования RC: быстрый режим, сбалансированный режим и режим качества. Пользователь компрессора JPEG с возможностью RC отвечает за выбор подходящего режима функционирования RC.After adaptation (201) of the predictor of the number of bits, the following three RC operation modes are set: fast mode, balanced mode, and quality mode. The RC-capable JPEG compressor user is responsible for selecting the appropriate RC mode of operation.
Быстрый режим функционирования RC обеспечивает набор масштабированных QT, получаемый на этапе 201.The fast RC operation mode provides a set of scaled QTs obtained in
Если выбран либо режим качества, либо сбалансированный режим функционирования RC, то данный способ приступает к следующим этапам.If you select either a quality mode or a balanced RC mode of operation, then this method proceeds to the next steps.
Вычисление полного искажения, связанного с масштабированными QT (202), выполняют с использованием следующей формулы:The calculation of the total distortion associated with the scaled QT (202) is performed using the following formula:
При распределении квоты битов среди цветовых плоскостей (203) используют набор фактических количеств битов цветовой плоскости
гдеявляется долей количества битов для цветоразностных плоскостей.Where is the fraction of the number of bits for color difference planes.
После этапа 203, запускают одну из двух операций RDO в зависимости от выбора режима функционирования RC: RDO (204) сбалансированного режима или RDO (205) режима качества.After
Если выбран сбалансированный режим функционирования RC, то выполняют RDO (204) сбалансированного режима отдельно для каждой цветовой плоскости. Процесс RDO сбалансированного режима для одной цветовой плоскости показан на фиг. 7.If a balanced RC mode of operation is selected, then a balanced mode RDO (204) is performed separately for each color plane. The balanced mode RDO process for one color plane is shown in FIG. 7.
Количество Nm параметров модели предсказания должно быть установлено равным 2 для сбалансированного режима функционирования RC. Инициализация (701) RDO QT устанавливает начальные значения записей RDO QT
где SRDO является начальным коэффициентом масштабирования RDO. При заполнении таблиц RD (702) используют гистограммы DCT
где q является переменным квантователем,
Поиск локально оптимальных квантователей (703) определяет набор локально оптимальных квантователей
Следует отметить, что набор локально оптимальных квантователей может быть пустым, если не может быть выполнено ограничение
Поиск локально оптимальной субполосы DCT (704) определяет индекс i* локально оптимальной субполосы DCT с использованием выходных данных этапа 703, на основе следующей формулы:A search for the locally optimal DCT subband (704) determines the index i * of the locally optimal DCT subband using the output from
Если не существует локально оптимальной субполосы DCT, то тогда выводят текущие RDO QT
После этапа 705 процесс повторяют, начиная с этапа 703, пока не будет выполнено приведенное выше условие вывода.After
Если выбран режим качества функционирования RC, то RDO (205) режима качества выполняют по отдельности для каждой цветовой плоскости. Процесс RDO режима качества для одной цветовой плоскости показан на фиг. 8.If the RC performance mode is selected, then the RDO (205) of the quality mode is performed separately for each color plane. The quality mode RDO process for one color plane is shown in FIG. 8.
Количество Nm параметров модели предсказания должно быть установлено равным 2 для режима качества функционирования RC. Заполнение таблиц RD (801) выполняется таким же образом, как на этапе 702, но с использованием других минимального и максимального значений квантователя
При заполнении таблиц оптимальных RDQ (802) используются таблицы RD для итерационного вычисления записей
где b является индексом шага дискретизации количества битов, NR является количеством шагов дискретизации количества битов, ΔB является шириной шага дискретизации количества битов, определяемой в виде
Итерации начинаются с i=0 и переходят к вычислению записей таблиц оптимальных RDQ для индекса i с использованием значений записей для индекса i-1 на основе уравнения (19).Iterations begin with i = 0 and proceed to calculating the entries of the optimal RDQ tables for index i using the record values for index i-1 based on equation (19).
Инициализация получения квантователя (803) инициализирует итерации получения квантователя путем установки индекса i квантователя равным 63 и установки индекса
Итерацию (804) получения квантователя продолжают с использованием следующего этапа итерации:The iteration (804) of obtaining a quantizer is continued using the following iteration step:
Если после этапа 804 RDO QT полностью получена, а именно, индекс квантователя i достигает -1, то тогда выводят полученные RDO QT
После операции RDO (204 или 205) выполняют подсчет битов и вычисление полного искажения с использованием RDO QT (206). Подсчет битов выполняют таким же образом, как на этапе 304, но с использованием RDO QT вместо масштабированных QT. Полное искажение, связанное с RDO QT, вычисляют с использованием следующей формулы:After the RDO operation (204 or 205), bit counting and total distortion calculation are performed using the RDO QT (206). Bit counting is performed in the same manner as in
Если полное (окончательное) фактическое количество битов Ва из этапа 206 попадает в пределы диапазона допуска по окончательному количеству битов, а именно, Bt(1-εFL)≤Ва≤Bt(1+εFU), и полное искажение, связанное с RDO QT, является меньшим, чем полное искажение, связанное с масштабированными QT, а именно, DRDO<Dscaled, то тогда выводят набор RDO QT If the total (final) actual number of bits B a from
В варианте осуществления, где необходима улучшенная вычислительная производительность процесса (102) управления скоростью, все операции, включающие в себя обработку цветоразностных цветовых плоскостей (Cb и Cr), могут быть выполнены с использованием комбинированного способа. Это выполняется посредством установки Nc равным 2 (а не 3) для цветного изображения и обработки данных Cb и Cr совместно при сборе (301) гистограмм DCT и квантовании и подсчете битов (304). Выходными данными операции процесса (102) управления скоростью для комбинированной цветоразностной цветовой плоскости является QT, которая используется для квантования как цветовой плоскости Cb, так и цветовой плоскости Cr во время квантования (103).In an embodiment where improved computational performance of the speed control process (102) is needed, all operations including processing color-difference color planes (Cb and Cr) can be performed using a combined method. This is accomplished by setting N c to 2 (rather than 3) for a color image and processing the Cb and Cr data together when collecting (301) DCT histograms and quantizing and counting bits (304). The output of the operation of the speed control process (102) for the combined color difference color plane is QT, which is used to quantize both the color plane Cb and the color plane Cr during quantization (103).
Согласно предпочтительному варианту осуществления данного изобретения, задаются следующие значения для вышеупомянутых параметров способа:According to a preferred embodiment of the present invention, the following values are set for the above process parameters:
- набор базовых QT является набором стандартных QT JPEG, заданным в Приложении К спецификации стандарта JPEG- a set of basic QTs is a set of standard QT JPEGs specified in Appendix K to the specification of the JPEG standard
- qs=1- q s = 1
- Tmax=210 для 8-битных данных пиксела входного изображения- T max = 2 10 for 8-bit pixel data of the input image
- Bm=5000 для JPEG сжатия, где не используется оптимизация с помощью таблицы Хаффмана- B m = 5000 for JPEG compression, where optimization using the Huffman table is not used
- Bm=3000 для JPEG сжатия, где используется оптимизация с помощью таблицы Хаффмана- B m = 3000 for JPEG compression, where optimization using the Huffman table is used
- Bmin=0, Bmax=максимальному значению с плавающей точкой, поддерживаемому системой, исполняющей способ- B min = 0, B max = the maximum floating point value supported by the system executing the method
- εFL=0,1, εFU=0,1 для точности окончательного количества битов, равной 10%- ε FL = 0.1, ε FU = 0.1 for the accuracy of the final number of bits equal to 10%
- εRL=εFL, εRU=εFU для быстрого режима функционирования RC- ε RL = ε FL , ε RU = ε FU for the fast operating mode RC
- εRL=0,01, εRU=0,01 для сбалансированного режима функционирования RC и режима качества функционирования RC- ε RL = 0.01, ε RU = 0.01 for a balanced RC mode of operation and RC quality mode of operation
- SRL=2600, SRU=0- S RL = 2600, S RU = 0
- ΔS=1- ΔS = 1
- εPL=0,01, εPU=0,01- ε PL = 0.01, ε PU = 0.01
- параметром предсказания является 1-ρ(k) - the prediction parameter is 1-ρ (k)
- Nm=2 (линейная модель предсказания)- N m = 2 (linear prediction model)
- начальные значения параметров модели предсказания:- initial values of the parameters of the prediction model:
- для цветовой плоскости Y - for the color plane Y
- для цветовой плоскости Cb - for the color plane Cb
- для цветовой плоскости Cr - for the color plane Cr
- Nmax=4 для быстрого режима функционирования RC- N max = 4 for fast operation RC
- Nmax=8 для сбалансированного режима функционирования RC и режима качества функционирования RC- N max = 8 for balanced RC mode of operation and RC quality mode of operation
- SRDO=2- S RDO = 2
-
-
- NR=1000- N R = 1000
- ƒMCU=0.5 для быстрого режима функционирования RC- ƒ MCU = 0.5 for fast RC operation
- ƒMCU=1 для сбалансированного режима функционирования RC и режима качества функционирования RC- ƒ MCU = 1 for balanced RC mode and RC quality mode
- комбинированный метод для цветоразностных цветовых плоскостей.- a combined method for color difference color planes.
Описанный способ может быть реализован в виде компонента любого компрессора JPEG, соответствующего стандарту базового профиля JPEG, для обеспечения как управления скоростью JPEG сжатия, так и улучшения качества восстановленного изображения. Аппаратные платформы, подходящие для реализации описанного способа, включают в себя, но не в ограничительном смысле: персональный компьютер, облачный сервер, мобильный телефон, цифровую камеру, устройство сканирования документов, цифровое копировальное устройство, многофункциональный принтер и т.д.The described method can be implemented as a component of any JPEG compressor that complies with the standard JPEG base profile standard to provide both control of the JPEG compression rate and improvement of the quality of the reconstructed image. Hardware platforms suitable for implementing the described method include, but are not limited to: a personal computer, a cloud server, a mobile phone, a digital camera, a document scanning device, a digital copier, a multifunction printer, etc.
Вариант осуществления устройства, выполненного с возможностью реализации технологии RC согласно данному изобретению, показан со ссылкой на фиг. 9.An embodiment of an apparatus configured to implement RC technology according to the present invention is shown with reference to FIG. 9.
Устройство 900 включает в себя по меньшей мере блок 910 обработки данных и память 920, коммуникационно связанную с блоком 910 обработки данных.The
Блок 910 обработки данных может содержать один или несколько известных процессоров (CPU), контроллеров, ASIC и т.д. Память 920 может содержать различные известные энергозависимые машиночитаемые запоминающие устройства и носители (например, различные виды RAM) и энергонезависимые машиночитаемые запоминающие устройства и носители(например, различные виды ROM, оптические среды (CD, DVD), HDD, флэш-накопители и т.д.).The
Технология RC, подробно описанная выше, предпочтительно реализуется в виде программного обеспечения, аппаратно-программного обеспечения (firmware), которое записано в виде машиноисполняемых команд в машиночитаемых запоминающих устройствах и носителях, образующих память 920. Это программное обеспечение может быть спроектировано и разработано с использованием любой подходящей технологии и инфраструктуры.RC technology, described in detail above, is preferably implemented in the form of software, firmware, which is recorded as machine-executable instructions in computer-readable storage devices and
Машиноисполняемые команды, при считывании посредством блока 910 обработки данных из памяти 920 и их исполнении блоком 910 обработки данных, предписывают устройству 900 выполнять способ RC согласно данному изобретению, описанный со ссылкой на фиг. 1-8.The computer-executable instructions, when read by the
Устройство 900 может содержаться в персональном компьютере, облачном сервере, мобильном телефоне, цифровой камере, устройстве сканирования документов, цифровом копировальном устройстве, многофункциональном принтере и т.д.The
В иллюстративном варианте осуществления отвечающего изобретению способа RC в мобильном телефоне, содержащем устройство, описанное выше со ссылкой на фиг. 10, сначала захватывают цифровое изображение с использованием камеры мобильного телефона, затем оно подается в упомянутое устройство вместе с определенным пользователем размером файла и режимом функционирования RC и обрабатывается для генерации набора QT, который затем используется в JPEG сжатии изображения для создания JPEG сжатого файла, имеющего определенный пользователем размер. JPEG сжатый файл может быть, например, загружен позже в социальную сеть, где налагаются жесткие ограничения на размер JPEG файла.In an illustrative embodiment of the inventive RC method in a mobile phone comprising the device described above with reference to FIG. 10, a digital image is first captured using a mobile phone’s camera, then it is supplied to the device together with a user-defined file size and RC operation mode and processed to generate a QT set, which is then used in JPEG image compression to create a JPEG compressed file having a certain user size. A JPEG compressed file can, for example, be uploaded later to a social network, where strict restrictions are placed on the size of a JPEG file.
Одним возможным применением является генерация JPEG сжатых изображений, подходящих для выкладывания в социальные сети, такие как Facebook, Google+, MySpace, Twitter и т.д., которые налагают жесткие ограничения на размер файла изображения. Другим возможным применением является генерация видеопотока, сжатого согласно стандарту Motion JPEG, подходящего для передачи по сетевому каналу, имеющему ограниченную пропускную способность.One possible application is the generation of JPEG compressed images suitable for sharing on social networks such as Facebook, Google+, MySpace, Twitter, etc., which impose strict restrictions on the image file size. Another possible application is the generation of a video stream compressed according to the Motion JPEG standard, suitable for transmission over a network channel having limited bandwidth.
Следует понимать, что показанные варианты осуществления являются только предпочтительными, но не единственными возможными примерами данного изобретения. Напротив, объем изобретения определяется нижеследующей формулой изобретения и ее эквивалентами.It should be understood that the shown embodiments are only preferred, but not the only possible examples of the present invention. On the contrary, the scope of the invention is defined by the following claims and their equivalents.
Claims (67)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2015134108A RU2607624C1 (en) | 2015-08-13 | 2015-08-13 | Method of controlling output file size from image jpeg compression |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2015134108A RU2607624C1 (en) | 2015-08-13 | 2015-08-13 | Method of controlling output file size from image jpeg compression |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2607624C1 true RU2607624C1 (en) | 2017-01-10 |
Family
ID=58452671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2015134108A RU2607624C1 (en) | 2015-08-13 | 2015-08-13 | Method of controlling output file size from image jpeg compression |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2607624C1 (en) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5724453A (en) * | 1995-07-10 | 1998-03-03 | Wisconsin Alumni Research Foundation | Image compression system and method having optimized quantization tables |
US6192157B1 (en) * | 1998-10-27 | 2001-02-20 | Hewlett-Packard Company | Modifications of postscript adaptive data compression (ADC) for 3 plane, 8 bit color images, JPEG lossy compression, and variable Q factors |
US6931159B2 (en) * | 2002-02-28 | 2005-08-16 | Nokia Corporation | Size reduction method and device for compressed images |
US20060104531A1 (en) * | 2004-09-03 | 2006-05-18 | Stmicroelectronics S.R.L. | Method for image compression, related system and computer product therefor |
US20060215912A1 (en) * | 2005-03-22 | 2006-09-28 | Shizhong Liu | Dynamically scaled file encoding |
US20080298702A1 (en) * | 2007-06-04 | 2008-12-04 | Aricent Inc. | Fixed rate JPEG encoding |
RU2394391C2 (en) * | 2005-05-18 | 2010-07-10 | ДиТиЭс (БВИ) ЭйЗед РЕСЕРЧ ЛИМИТЕД | Controlling speed of scalable coded images |
US20110261878A1 (en) * | 2010-04-27 | 2011-10-27 | Lu Keng-Po | Bit rate control method and apparatus for image compression |
-
2015
- 2015-08-13 RU RU2015134108A patent/RU2607624C1/en not_active IP Right Cessation
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5724453A (en) * | 1995-07-10 | 1998-03-03 | Wisconsin Alumni Research Foundation | Image compression system and method having optimized quantization tables |
US6192157B1 (en) * | 1998-10-27 | 2001-02-20 | Hewlett-Packard Company | Modifications of postscript adaptive data compression (ADC) for 3 plane, 8 bit color images, JPEG lossy compression, and variable Q factors |
US6931159B2 (en) * | 2002-02-28 | 2005-08-16 | Nokia Corporation | Size reduction method and device for compressed images |
US20060104531A1 (en) * | 2004-09-03 | 2006-05-18 | Stmicroelectronics S.R.L. | Method for image compression, related system and computer product therefor |
US20060215912A1 (en) * | 2005-03-22 | 2006-09-28 | Shizhong Liu | Dynamically scaled file encoding |
RU2394391C2 (en) * | 2005-05-18 | 2010-07-10 | ДиТиЭс (БВИ) ЭйЗед РЕСЕРЧ ЛИМИТЕД | Controlling speed of scalable coded images |
US20080298702A1 (en) * | 2007-06-04 | 2008-12-04 | Aricent Inc. | Fixed rate JPEG encoding |
US20110261878A1 (en) * | 2010-04-27 | 2011-10-27 | Lu Keng-Po | Bit rate control method and apparatus for image compression |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2572818C (en) | Method, system and computer program product for optimization of data compression | |
US9525870B2 (en) | Encoding an image | |
US8532417B2 (en) | Optimization of image encoding using perceptual weighting | |
WO2019127136A1 (en) | Bit rate control method and encoding device | |
JP5164866B2 (en) | Method and apparatus for adapting temporal frequency of video image sequences | |
US20080298702A1 (en) | Fixed rate JPEG encoding | |
KR100809409B1 (en) | Decoding apparatus, inverse quantization method, and computer readable medium recorded with the program | |
US8396313B2 (en) | Image compression and decompression using the PIXON method | |
CN113994348A (en) | Linear neural reconstruction for deep neural network compression | |
WO2020053687A1 (en) | Adaptive subband coding for lifting transform | |
CN110996101A (en) | Video coding method and device | |
RU2607624C1 (en) | Method of controlling output file size from image jpeg compression | |
CN115699020A (en) | Quantization for neural networks | |
WO2020053688A1 (en) | Rate distortion optimization for adaptive subband coding of regional adaptive haar transform (raht) | |
JP2010074263A (en) | Image compression apparatus | |
CN107409222B (en) | Image re-encoding method and apparatus thereof | |
JP7016660B2 (en) | Coding device, its control method, and control program, and image pickup device. | |
RU2796934C2 (en) | Measurements of spatial actions of images based on blocks | |
KR102506115B1 (en) | Method for generating quantization table | |
Anisimovskiy et al. | Fast JPEG rate control | |
Safonov et al. | Fast Control of JPEG Compression Rate | |
EP2224746B1 (en) | Optimization of image encoding using perceptual weighting | |
Grajek et al. | Rate-Distortion Optimized Quantization in Motion JPEG | |
EP4268465A1 (en) | Bit allocation for neural network feature channel compression | |
WO2022268641A1 (en) | Methods and apparatuses for encoding/decoding an image or a video |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PD4A | Correction of name of patent owner | ||
PC41 | Official registration of the transfer of exclusive right |
Effective date: 20170510 |
|
PD4A | Correction of name of patent owner | ||
MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20200814 |