RU2607624C1 - Method of controlling output file size from image jpeg compression - Google Patents

Method of controlling output file size from image jpeg compression Download PDF

Info

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
Application number
RU2015134108A
Other languages
Russian (ru)
Inventor
Валерий Валерьевич Анисимовский
Original Assignee
Самсунг Электроникс Ко., Лтд.
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Самсунг Электроникс Ко., Лтд. filed Critical Самсунг Электроникс Ко., Лтд.
Priority to RU2015134108A priority Critical patent/RU2607624C1/en
Application granted granted Critical
Publication of RU2607624C1 publication Critical patent/RU2607624C1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods 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

FIELD: data processing.
SUBSTANCE: invention relates to compressing digital images. Method of controlling speed in JPEG compression of a digital image includes the stages, at which received are coefficients of discrete cosine transform (DCT) obtained as the result of direct DCT application to a digital image; generated are quantization tables (QT) using the received DCT coefficients by iterative estimating the scaling factor to create scaled QT, checking whether the first condition of the iterations completion is true, herewith the first condition of the iterations completion is considered to be true, when the complete actual number of bits calculated for all the colour planes is within the range of tolerance defined, at least, on the basis of the target size of the output file for the JPEG-compressed image, and if the said condition is false, the scaling factor is updated, as well as the said variables, including boundary values of the first range of the scaling factor.
EFFECT: providing a digital image JPEG compression speed control by means of generating a set of quantization tables.
13 cl, 9 dwg

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 step 201 are output. Since the set of scaled QTs are generated in step 201 so that JPEG compression using this set of QT creates an output a compressed JPEG file having a file size substantially close to a user-defined value, a speed control goal is achieved by outputting said QT set. Otherwise, if the user selects one of two RCO RDO modes of operation, then the total distortion associated with the scaled QT (202) is calculated, and the calculated total distortion is then compared with the total distortion associated with the QT RDO. Then, bit quota distribution among the color planes (203) is performed to determine the target number of bits for each of the color planes, which is introduced into the subsequent RDO process. After that, the RDO mode is switched: depending on the user choice, either the balanced mode RDO (204) or the quality mode RDO (205) are performed. The balanced mode RDO and quality mode RDO processes both use the set of prediction model parameters from step 201. The output of the RDO process of any mode is the set of RDO QTs that are used in bit counting and total distortion calculation using RDO QT (206). The final actual number of bits obtained and the total distortion associated with the RDO QT obtained in step 206 are compared, respectively, with the tolerance range for the final number of bits and the total distortion associated with the scaled QT (obtained in step 202). If the final actual number of bits associated with the RDO QT falls within the tolerance range for the final number of bits and the total distortion associated with the RDO QT is less than the total distortion associated with the scaled QT, then the RDO QT set is output. Otherwise, the set of scaled QTs created in step 201 are output. Since both processes of the two RDO modes are designed to generate the QT set so that JPEG compression using this QT set creates an output JPEG compressed file having a file size substantially close to a user-defined value, the speed control goal is achieved by outputting the QTs mentioned, while comparing the total distortion after step 20–6 results in a QT set that provides the best quality for subsequent JPEG compression tiya.

Подробное описание процесса (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:

Figure 00000001
Figure 00000001

где i является индексом субполосы DCT, S является коэффициентом масштабирования, Qmin=1, Qmax=255 для базового JPEG сжатия или 65535 для расширенного JPEG сжатия,

Figure 00000002
является значением квантователя для i-ой субполосы DCT в базовой QT, и clip (х, xmin, xmax) определена следующим образом:where i is the DCT subband index, S is the scaling factor, Q min = 1, Q max = 255 for basic JPEG compression, or 65535 for advanced JPEG compression,
Figure 00000002
is the quantizer value for the i-th DCT subband in the base QT, and clip (x, x min , x max ) is defined as follows:

Figure 00000003
Figure 00000003

Адаптация (201) предиктора количества битов показана на фиг. 3. При сборе (301) гистограмм DCT подсчитывают количество появлений каждого значения коэффициента DCT для каждой субполосы DCT для каждой цветовой плоскости, чтобы выполнить сбор гистограмм DCT

Figure 00000004
:The adaptation (201) of the bit predictor is shown in FIG. 3. When collecting (301) DCT histograms, the number of occurrences of each DCT coefficient value for each DCT subband for each color plane is counted to collect DCT histograms
Figure 00000004
:

Figure 00000005
Figure 00000005

где i является индексом субполосы DCT, k является индексом цветовой плоскости, j является индексом блока DCT 8×8,

Figure 00000006
является значением коэффициента i-ой субполосы DCT j-ого блока DCT 8×8 k-ой цветовой плоскости,
Figure 00000007
является количеством блоков DCT 8×8 в k-ой цветовой плоскости, Nc является количеством цветовых плоскостей во входном изображении, qs является конфигурируемым параметром точности коэффициента DCT, s является значением коэффициента DCT, дискретизованным с точностью
Figure 00000008
, Tmax является максимальным значением коэффициента DCT, зависящим от формата данных входного изображения (например, Tmax=210 для 8-битных данных элемента изображения входного изображения), и [х] определяется как целое значение, ближайшее к х. Затем, гистограммы DCT используются по всему процессу управления скоростью.where i is the DCT subband index, k is the color plane index, j is the 8 × 8 DCT block index,
Figure 00000006
is the coefficient value of the i-th DCT subband of the j-th DCT block of 8 × 8 k-th color plane,
Figure 00000007
is the number of 8 × 8 DCT blocks in the kth color plane, N c is the number of color planes in the input image, q s is a configurable accuracy parameter of the DCT coefficient, s is a DCT coefficient value sampled with accuracy
Figure 00000008
, T max is the maximum value of the DCT coefficient, depending on the input image data format (for example, T max = 2 10 for 8-bit image element data of the input image), and [x] is defined as the integer value closest to x. Then, DCT histograms are used throughout the speed control process.

При инициализации (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 step 402 in JPEG compression is used, where the current parameters of prediction models. The prediction process is shown in FIG. 5.

Вычисление параметров предсказания (501) выдает параметры предсказания для всех цветовых плоскостей. Параметр предсказания для k-ой цветовой плоскости может быть либо 1-ρ(k), либо усредненной по коэффициентам энтропией

Figure 00000009
. Параметр ρ(k) определяется как доля квантованных коэффициентов DCT с нулевыми значениями и вычисляется для всех цветовых плоскостей с использованием следующей формулы:The calculation of the prediction parameters (501) gives the prediction parameters for all color planes. The prediction parameter for the kth color plane can be either 1-ρ (k) or the entropy averaged over the coefficients
Figure 00000009
. The parameter ρ (k) is defined as the fraction of quantized DCT coefficients with zero values and is calculated for all color planes using the following formula:

Figure 00000010
Figure 00000010

где

Figure 00000011
является значением квантователя i-ой субполосы DCT для k-ой цветовой плоскости.Where
Figure 00000011
is the quantizer value of the i-th DCT subband for the k-th color plane.

Усредненная по коэффициентам энтропия

Figure 00000012
определяется как среднее значение всех энтропий субполосы DCT квантованных коэффициентов DCT и вычисляется для всех цветовых плоскостей с использованием следующей формулы:Coefficient Averaged Entropy
Figure 00000012
defined as the average of all the entropies of the DCT subband of the quantized DCT coefficients and calculated for all color planes using the following formula:

Figure 00000013
Figure 00000013

где z является значением квантованного коэффициента DCT.where z is the value of the quantized DCT coefficient.

Вычисление выходов моделей предсказания (502) использует параметры предсказания для вычисления предиктивного количества битов

Figure 00000014
для всех цветовых плоскостей с использованием полиномиальной модели предсказания:The calculation of the outputs of the prediction models (502) uses the prediction parameters to calculate the predictive number of bits
Figure 00000014
for all color planes using a polynomial prediction model:

Figure 00000015
Figure 00000015

где Р(k) является параметром предсказания для k-ой цветовой плоскости (который является либо 1-ρ(k), либо,

Figure 00000012
вычисленным с использованием уравнения (4) или (5), соответственно), m является индексом параметра модели предсказания,
Figure 00000016
является m-ым параметром модели предсказания для k-ой цветовой плоскости, и Nm является количеством параметров модели предсказания. Суммирование всех выходов моделей предсказания (503) создает полное предиктивное количество битов Вр для всех цветовых плоскостей:where P (k) is the prediction parameter for the kth color plane (which is either 1-ρ (k) , or,
Figure 00000012
calculated using equation (4) or (5), respectively), m is the index of the prediction model parameter,
Figure 00000016
is the m-th parameter of the prediction model for the k-th color plane, and N m is the number of parameters of the prediction model. The summation of all the outputs of the prediction models (503) creates the total predictive number of bits B p for all color planes:

Figure 00000017
Figure 00000017

Если полное предиктивное количество битов попадает в пределы диапазона допуска по предиктивному количеству битов, а именно, Bt(1-εPL)≤Bp≤Bt(1+εPU), или ширина диапазона предиктивного коэффициента масштабирования становится меньше параметра точности коэффициента масштабирования, а именно, |SPU-SPL|<ΔS, то тогда выдают набор масштабированных QT

Figure 00000018
, полученный масштабированием базовых QT с использованием текущего коэффициента масштабирования S. Иначе, при обновлении (404) предиктивного коэффициента масштабирования используют полное предиктивное количество битов Вр для обновления переменных предиктивного контекста SPL, SPU, BPL, и BPU и текущего коэффициента масштабирования S с использованием метода ложного положения для нахождения корня посредством следующей формулы:If the total predictive number of bits falls within the tolerance range for the predictive number of bits, namely, B t (1-ε PL ) ≤B p ≤Bt (1 + ε PU ), or the width of the range of the predictive scaling factor becomes less than the scaling factor accuracy parameter namely, | S PU -S PL | <ΔS, then a set of scaled QTs is issued
Figure 00000018
obtained by scaling the base QTs using the current scaling factor S. Otherwise, when updating (404) the predictive scaling factor, the full predictive number of bits B p is used to update the predictive context variables S PL , S PU , B PL , and B PU and the current scaling factor S using the false position method to find the root by the following formula:

Figure 00000019
Figure 00000019

После этапа 404, процесс повторяют, начиная с этапа 402, пока не будет выполнено приведенное выше условие вывода.After step 404, the process is repeated from step 402 until the above inference condition is satisfied.

После этапа 303 выполняют квантование и подсчет битов (304) с использованием стандартных процессов квантования и энтропийного кодирования JPEG, модифицированных таким образом, чтобы только подсчитанные биты выводились при энтропийном кодировании (без вывода сжатых данных). Подсчет битов выполняют по отдельности для каждой из цветовых плоскостей, и в результате него формируется набор фактических количеств битов цветовых плоскостей

Figure 00000020
; затем, суммирование всех фактических количеств битов цветовых плоскостей дает полное фактическое количество битов Ва:After step 303, quantization and bit counting (304) is performed using standard JPEG quantization and entropy coding processes, modified so that only counted bits are output during entropy coding (without outputting compressed data). The bit counting is performed separately for each of the color planes, and as a result of it, a set of actual numbers of bits of the color planes is formed
Figure 00000020
; then, the summation of all the actual number of bits of the color planes gives the total actual number of bits In a :

Figure 00000021
Figure 00000021

Если полное фактическое количество битов Ва с этапа 304 попадает в пределы диапазона допуска по реактивному количеству битов, а именно, Bt(1-εRL)≤Ва≤Bt(1+εRU), или ширина диапазона реактивного коэффициента масштабирования становится меньше параметра точности коэффициента масштабирования, а именно, |SRU-SRL|<ΔS, или количество итераций Niter для квантования и подсчета битов (304) достигает заранее заданного максимального количества итераций Nmax, то тогда выводят набор масштабированных QT

Figure 00000018
, полученный масштабированием базовых QT с использованием текущего коэффициента масштабирования S, и набор параметров модели предсказания
Figure 00000022
. Иначе, при обновлении (305) реактивного коэффициента масштабирования используют полное фактическое количество битов Ва для обновления переменных реактивного контекста SRL, SRU, BRL и BRU и текущего коэффициента масштабирования S с использованием метода ложного положения для нахождения корня посредством следующей формулы:If the total actual number of bits B a from step 304 falls within the tolerance range for the reactive number of bits, namely, Bt (1-ε RL ) ≤B a ≤B t (1 + ε RU ), or the bandwidth of the reactive scaling factor becomes less than the accuracy parameter of the scaling factor, namely, | S RU -S RL | <ΔS, or the number of iterations N iter for quantizing and counting bits (304) reaches a predetermined maximum number of iterations N max , then a set of scaled QT
Figure 00000018
obtained by scaling basic QTs using the current scaling factor S and a set of prediction model parameters
Figure 00000022
. Otherwise, when updating (305) the reactive scaling factor using the full actual number of bits B and to update the variable jet context S RL, S RU, B RL and B RU and the current scale factor S using the method of false position for finding the root by the following formula:

Figure 00000023
Figure 00000023

При обновлении (306) моделей предсказания используется набор фактических количеств битов цветовых плоскостей, полученных на этапе 304, для обновления параметров модели предсказания для каждой цветовой плоскости с использованием способа, показанного на фиг. 6 для одной цветовой плоскости. При вычислении (601) параметров предсказания используется текущая масштабированная QT

Figure 00000024
и набор гистограмм DCT
Figure 00000025
для вычисления параметра предсказания Р(k) (который является либо 1-ρ(k), либо
Figure 00000012
, вычисленным с использованием уравнения (4) или (5), соответственно).When updating (306) the prediction models, a set of actual numbers of color plane bits obtained in step 304 is used to update the parameters of the prediction model for each color plane using the method shown in FIG. 6 for one color plane. When calculating (601) the prediction parameters, the current scaled QT is used.
Figure 00000024
and DCT histogram set
Figure 00000025
to calculate the prediction parameter P (k) (which is either 1-ρ (k) , or
Figure 00000012
calculated using equation (4) or (5), respectively).

При обновлении (602) адаптационных аккумуляторов используется параметр предсказания и нормированное фактическое количество битов цветовой плоскости

Figure 00000026
(где
Figure 00000027
является количеством пикселей в k-ой цветовой плоскости) для обновления адаптационных аккумуляторов
Figure 00000028
и
Figure 00000029
с использованием следующей формулы:When updating (602) adaptive batteries, the prediction parameter and the normalized actual number of bits of the color plane are used
Figure 00000026
(Where
Figure 00000027
is the number of pixels in the k-th color plane) for updating adaptive batteries
Figure 00000028
and
Figure 00000029
using the following formula:

Figure 00000030
Figure 00000030

Как видно из вышесказанного, адаптационные аккумуляторы, по сути, представляют собой наборы переменных (см. соотношение (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 step 201. Adaptive accumulators are used to construct an adaptive system of linear equations (SLE):

Figure 00000031
Figure 00000031

где m является индексом уравнения, и l является индексом неизвестной переменной

Figure 00000032
. Если адаптационная SLE, определяемая уравнением (12), является несовместной, т.е. определитель матрицы
Figure 00000033
, определяемый как
Figure 00000034
, равен нулю, то тогда этап обновления модели предсказания для k-ой цветовой плоскости завершают без обновления параметров модели предсказания. Иначе, вычисление параметров модели предсказания (603) выполняют посредством решения адаптационной SLE в отношении набора параметров модели предсказания
Figure 00000035
, например, посредством метода на основе разложения Холецкого.where m is the index of the equation and l is the index of the unknown variable
Figure 00000032
. If the adaptive SLE defined by equation (12) is incompatible, i.e. matrix determinant
Figure 00000033
defined as
Figure 00000034
is equal to zero, then the stage of updating the prediction model for the k-th color plane is completed without updating the parameters of the prediction model. Otherwise, the calculation of the parameters of the prediction model (603) is performed by solving the adaptive SLE with respect to the set of parameters of the prediction model
Figure 00000035
, for example, through the method based on Cholesky decomposition.

После этапа 306, если все модели предсказания изменены, а именно, каждый набор параметров модели предсказания

Figure 00000036
для k=1, …, Nc обновлен на этапе 306, то тогда процесс повторяют, начиная с этапа 303. Иначе, масштабированием базовых QT (307) создается набор масштабированных QT согласно уравнению (1) с использованием текущего коэффициента масштабирования S. После этапа 307 процесс повторяют, начиная с этапа 304. В другом варианте осуществления, переход к этапу 303 после этапа 306 выполняют, если по меньшей мере одна из моделей предсказания изменена.After step 306, if all the prediction models are changed, namely, each set of parameters of the prediction model
Figure 00000036
for k = 1, ..., N c is updated in step 306, then the process is repeated starting from step 303. Otherwise, scaling the base QT (307) creates a set of scaled QT according to equation (1) using the current scaling factor S. After step 307, the process is repeated starting from step 304. In another embodiment, the transition to step 303 after step 306 is performed if at least one of the prediction models is changed.

В другом варианте осуществления, для улучшения вычислительной производительности адаптации (201) предиктора количества битов, сбор (301) гистограмм DCT и квантование и подсчет битов (304) могут быть выполнены не для всей цветовой плоскости, а для доли ƒMCU всех минимальных кодированных блоков (MCU), выбираемых случайным образом с использованием равномерного распределения по области цветовой плоскости. В этом случае, значения Bt,

Figure 00000037
и
Figure 00000038
, используемые по всей адаптации предиктора количества битов (этап 201), умножают на ƒMCU.In another embodiment, to improve the computational performance of adaptation (201) of the bit predictor, collecting (301) DCT histograms and quantizing and counting bits (304) can be performed not for the entire color plane, but for the fraction ƒ MCU of all minimum encoded blocks ( MCU), randomly selected using uniform distribution over the color plane region. In this case, the values of Bt,
Figure 00000037
and
Figure 00000038
used throughout the adaptation of the predictor of the number of bits (step 201) is multiplied by ƒ MCU .

После адаптации (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 step 201.

Если выбран либо режим качества, либо сбалансированный режим функционирования 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:

Figure 00000039
Figure 00000039

При распределении квоты битов среди цветовых плоскостей (203) используют набор фактических количеств битов цветовой плоскости

Figure 00000040
, получаемых посредством квантования и подсчета битов (304) для последней итерации адаптации (201) предиктора количества битов, чтобы вычислить целевое количество битов цветовой плоскости
Figure 00000041
для k-ой цветовой плоскости с использованием следующей формулы:When distributing the quota of bits among the color planes (203), a set of actual numbers of bits of the color plane is used
Figure 00000040
obtained by quantization and bit counting (304) for the last iteration of adaptation (201) of the number of bits predictor to calculate the target number of bits of the color plane
Figure 00000041
for the k-th color plane using the following formula:

Figure 00000042
Figure 00000042

где

Figure 00000043
является долей количества битов для цветоразностных плоскостей.Where
Figure 00000043
is the fraction of the number of bits for color difference planes.

После этапа 203, запускают одну из двух операций RDO в зависимости от выбора режима функционирования RC: RDO (204) сбалансированного режима или RDO (205) режима качества.After step 203, one of two RDO operations is started depending on the choice of the RC operating mode: RDO (204) balanced mode or RDO (205) quality mode.

Если выбран сбалансированный режим функционирования 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

Figure 00000044
с использованием следующей формулы:The number N m of parameters of the prediction model should be set equal to 2 for a balanced RC mode of operation. Initializing (701) RDO QT Sets the Initial Values of RDO QT Records
Figure 00000044
using the following formula:

Figure 00000045
Figure 00000045

где SRDO является начальным коэффициентом масштабирования RDO. При заполнении таблиц RD (702) используют гистограммы DCT

Figure 00000046
и параметры модели предсказания
Figure 00000047
для вычисления
Figure 00000048
и
Figure 00000049
таблиц скорости-искажения (RD) с использованием следующей формулы:where S RDO is the initial RDO scaling factor. When filling out RD tables (702), DCT histograms are used.
Figure 00000046
and prediction model parameters
Figure 00000047
to calculate
Figure 00000048
and
Figure 00000049
velocity distortion (RD) tables using the following formula:

Figure 00000050
Figure 00000050

где q является переменным квантователем,

Figure 00000051
является параметром предсказания для i-ой субполосы DCT для k-ой цветовой плоскости (который является либо 1-ρ(k), либо
Figure 00000052
, вычисленным с использованием уравнения (4) или (5), где
Figure 00000053
заменяется на q),
Figure 00000054
и
Figure 00000055
являются минимальным и максимальным значениями квантователя для сбалансированного режима функционирования RC, и max(х, у) определяется как максимальное значение среди х и у.where q is a variable quantizer,
Figure 00000051
is the prediction parameter for the i-th DCT subband for the k-th color plane (which is either 1-ρ (k) or
Figure 00000052
calculated using equation (4) or (5), where
Figure 00000053
replaced by q),
Figure 00000054
and
Figure 00000055
are the minimum and maximum values of the quantizer for a balanced RC mode of operation, and max (x, y) is defined as the maximum value among x and y.

Поиск локально оптимальных квантователей (703) определяет набор локально оптимальных квантователей

Figure 00000056
с использованием следующей формулы:A search for locally optimal quantizers (703) defines a set of locally optimal quantizers
Figure 00000056
using the following formula:

Figure 00000057
Figure 00000057

Следует отметить, что набор локально оптимальных квантователей может быть пустым, если не может быть выполнено ограничение

Figure 00000058
в уравнении (17).It should be noted that the set of locally optimal quantizers may be empty if the constraint cannot be satisfied
Figure 00000058
in equation (17).

Поиск локально оптимальной субполосы 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 step 703, based on the following formula:

Figure 00000059
Figure 00000059

Если не существует локально оптимальной субполосы DCT, то тогда выводят текущие RDO QT

Figure 00000060
. Иначе, выполняют обновление (705) квантователя посредством установки
Figure 00000061
равным
Figure 00000062
.If there is no locally optimal DCT subband, then the current RDO QT is output
Figure 00000060
. Otherwise, the quantizer is updated (705) by setting
Figure 00000061
equal
Figure 00000062
.

После этапа 705 процесс повторяют, начиная с этапа 703, пока не будет выполнено приведенное выше условие вывода.After step 705, the process is repeated starting from step 703 until the above withdrawal condition is met.

Если выбран режим качества функционирования 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, но с использованием других минимального и максимального значений квантователя

Figure 00000063
и
Figure 00000064
, вместо
Figure 00000065
и
Figure 00000066
.The number N m of parameters of the prediction model should be set equal to 2 for the RC performance mode. Filling in the tables RD (801) is performed in the same way as in step 702, but using other minimum and maximum values of the quantizer
Figure 00000063
and
Figure 00000064
instead
Figure 00000065
and
Figure 00000066
.

При заполнении таблиц оптимальных RDQ (802) используются таблицы RD для итерационного вычисления записей

Figure 00000067
,
Figure 00000068
и
Figure 00000069
из таблиц оптимального квантователя-скорости-искажения (RDQ), причем в каждой итерации используют следующую формулу:When populating Optimal RDQ (802) tables, RD tables are used to iteratively compute records
Figure 00000067
,
Figure 00000068
and
Figure 00000069
from the tables of the optimal quantizer-velocity-distortion (RDQ), and in each iteration use the following formula:

Figure 00000070
Figure 00000070

где b является индексом шага дискретизации количества битов, NR является количеством шагов дискретизации количества битов, ΔB является шириной шага дискретизации количества битов, определяемой в виде

Figure 00000071
, и
Figure 00000072
определяется как наибольшее целое значение, меньшее х.where b is the index of the sampling step of the number of bits, N R is the number of sampling steps of the number of bits, ΔB is the width of the sampling step of the number of bits, defined as
Figure 00000071
, and
Figure 00000072
defined as the largest integer value less than x.

Итерации начинаются с 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 и установки индекса

Figure 00000073
и накопленного количества битов
Figure 00000074
с использованием следующей формулы:The initialization of obtaining a quantizer (803) initializes the iteration of obtaining a quantizer by setting the quantizer index i to 63 and setting the index
Figure 00000073
and accumulated number of bits
Figure 00000074
using the following formula:

Figure 00000075
Figure 00000075

Итерацию (804) получения квантователя продолжают с использованием следующего этапа итерации:The iteration (804) of obtaining a quantizer is continued using the following iteration step:

Figure 00000076
Figure 00000076

Если после этапа 804 RDO QT полностью получена, а именно, индекс квантователя i достигает -1, то тогда выводят полученные RDO QT

Figure 00000060
. Иначе, процесс повторяют, начиная с этапа 804, пока не будет выполнено приведенное выше условие вывода.If, after step 804, the RDO QT is completely obtained, namely, the quantizer index i reaches -1, then the obtained RDO QT
Figure 00000060
. Otherwise, the process is repeated from step 804 until the above inference condition is satisfied.

После операции 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 step 304, but using RDO QT instead of scaled QT. The total distortion associated with the RDO QT is calculated using the following formula:

Figure 00000077
Figure 00000077

Если полное (окончательное) фактическое количество битов Ва из этапа 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 step 206 falls within the tolerance range for the final number of bits, namely, Bt (1-ε FL ) ≤B a ≤Bt (1 + ε FU ), and the total distortion associated with RDO QT, is less than the total distortion associated with scaled QTs, namely D RDO <D scaled , then the RDO QT set is output

Figure 00000078
. Иначе, выводят набор масштабированных QT
Figure 00000079
. Допуски по окончательному количеству битов εFL и εFU выбираются согласно пользовательским требованиям для точности способа RC: например, установка их равными 0,1 и 0,1 соответствует точности окончательного количества битов, равной 10%.
Figure 00000078
. Otherwise, a set of scaled QTs is derived.
Figure 00000079
. Tolerances for the final number of bits ε FL and ε FU are selected according to user requirements for the accuracy of the RC method: for example, setting them to 0.1 and 0.1 corresponds to an accuracy of the final number of bits of 10%.

В варианте осуществления, где необходима улучшенная вычислительная производительность процесса (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%

- εRLFL, εRUFU для быстрого режима функционирования 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

Figure 00000080
- for the color plane Y
Figure 00000080

- для цветовой плоскости Cb

Figure 00000081
- for the color plane Cb
Figure 00000081

- для цветовой плоскости Cr

Figure 00000082
- for the color plane Cr
Figure 00000082

- 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

-

Figure 00000083
=1,
Figure 00000084
=255-
Figure 00000083
= 1,
Figure 00000084
= 255

-

Figure 00000085
=1,
Figure 00000086
=255-
Figure 00000085
= 1,
Figure 00000086
= 255

- 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 device 900 includes at least a data processing unit 910 and a memory 920 communicatively coupled to the data processing unit 910.

Блок 910 обработки данных может содержать один или несколько известных процессоров (CPU), контроллеров, ASIC и т.д. Память 920 может содержать различные известные энергозависимые машиночитаемые запоминающие устройства и носители (например, различные виды RAM) и энергонезависимые машиночитаемые запоминающие устройства и носители(например, различные виды ROM, оптические среды (CD, DVD), HDD, флэш-накопители и т.д.).The data processing unit 910 may comprise one or more known processors (CPUs), controllers, ASICs, etc. Memory 920 may comprise various known volatile computer-readable storage devices and media (e.g., various types of RAM) and non-volatile computer-readable storage devices and media (e.g., various types of ROM, optical media (CD, DVD), HDD, flash drives, etc. .).

Технология 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 media forming memory 920. This software can be designed and developed using any suitable technology and infrastructure.

Машиноисполняемые команды, при считывании посредством блока 910 обработки данных из памяти 920 и их исполнении блоком 910 обработки данных, предписывают устройству 900 выполнять способ RC согласно данному изобретению, описанный со ссылкой на фиг. 1-8.The computer-executable instructions, when read by the data processing unit 910 from the memory 920 and executed by the data processing unit 910, instruct the device 900 to execute the RC method according to the present invention described with reference to FIG. 1-8.

Устройство 900 может содержаться в персональном компьютере, облачном сервере, мобильном телефоне, цифровой камере, устройстве сканирования документов, цифровом копировальном устройстве, многофункциональном принтере и т.д.The device 900 may be contained in a personal computer, a cloud server, a mobile phone, a digital camera, a document scanner, a digital copier, a multifunction printer, etc.

В иллюстративном варианте осуществления отвечающего изобретению способа 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)

1. Способ управления скоростью (RC), выполняемый в рамках JPEG сжатия цифрового изображения, причем способ содержит этапы, на которых:1. The method of speed control (RC), performed as part of JPEG compression of a digital image, the method comprising the steps of: принимают коэффициенты дискретного косинусного преобразования (DCT), получаемые в результате применения прямого DCT к цифровому изображению; иreceiving discrete cosine transform (DCT) coefficients obtained by applying direct DCT to a digital image; and генерируют таблицы квантования (QT) с использованием принятых коэффициентов DCT посредством того, что, итерационно,quantization tables (QT) are generated using the received DCT coefficients by means of iteratively оценивают коэффициент масштабирования для создания масштабированных QT,evaluate the scaling factor to create scaled QTs, проверяют, является ли истинным первое условие завершения итераций, причем в первом условии завершения итераций задействуются переменные, связанные с коэффициентом масштабирования, при этом первое условие завершения итераций является истинным, когда полное фактическое количество битов, вычисленное для всех цветовых плоскостей, попадает в пределы диапазона допуска, определяемого, по меньшей мере, на основе целевого размера выходного файла для JPEG сжатого изображения, или когда ширина первого диапазона коэффициента масштабирования становится меньше параметра точности коэффициента масштабирования, или когда количество итераций достигает заранее заданного максимального количества, иcheck whether the first condition for completing iterations is true, and in the first condition for completing iterations, variables associated with the scaling factor are used, while the first condition for completing iterations is true when the total actual number of bits calculated for all color planes falls within the tolerance range determined at least based on the target size of the output file for JPEG compressed image, or when the width of the first range of the scaling factor is one hundred ovitsya less accuracy parameter scale factor, or when the number of iterations reaches a predetermined maximum number, and если упомянутое условие является ложным, то обновляют коэффициент масштабирования и упомянутые переменные, включая граничные значения первого диапазона коэффициента масштабирования.if said condition is false, then the scaling factor and said variables are updated, including the boundary values of the first scaling factor range. 2. Способ по п. 1, дополнительно содержащий, перед этапом генерации QT, этапы, на которых:2. The method of claim 1, further comprising, before the QT generation step, the steps of: выполняют сбор гистограмм DCT, причем этап сбора гистограмм DCT содержит, для каждой из цветовых плоскостей, подсчет количества появлений каждого значения коэффициента DCT для каждой субполосы DCT; и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 инициализируют целевой размер выходного файла для JPEG сжатого изображения, коэффициент масштабирования, граничные значения диапазона первого количества битов, верхний и нижний допуски по первому количеству битов, граничные значения первого диапазона коэффициента масштабирования, соответствующие граничным значениям диапазона первого количества битов, и параметр точности коэффициента масштабирования.initialize the target size of the output file for JPEG compressed image, the scaling factor, the boundary values of the range of the first number of bits, the upper and lower tolerances for the first number of bits, the boundary values of the first range of the scaling factor corresponding to the boundary values of the range of the first number of bits, and the accuracy parameter of the scaling factor. 3. Способ по п. 2, в котором этап оценки коэффициента масштабирования содержит этапы, на которых:3. The method according to claim 2, in which the step of evaluating the scaling factor comprises the steps of: инициализируют граничные значения диапазона второго количества битов, нижний и верхний допуски по второму количеству битов и граничные значения диапазона второго коэффициента масштабирования, соответствующие граничным значениям диапазона второго количества битов;initialize the boundary values of the range of the second number of bits, the lower and upper tolerances for the second number of bits and the boundary values of the range of the second scaling factor corresponding to the boundary values of the range of the second number of bits; итерационно,iteratively масштабируют заранее заданные базовые QT на основе коэффициента масштабирования для получения масштабированных QT,scaling predetermined base QTs based on the scaling factor to obtain scaled QTs, вычисляют полное второе количество битов в виде суммы вторых количеств битов, вычисленных по отдельности для каждой из цветовых плоскостей, причем вторые количества битов получаются в результате применения масштабированных QT к JPEG с использованием параметров моделей предсказания,calculating the total second number of bits as the sum of the second number of bits individually calculated for each of the color planes, the second number of bits being obtained by applying scaled QT to JPEG using the parameters of the prediction models, проверяют, является ли истинным второе условие завершения итераций, причем второе условие завершения итераций является истинным, когда полное второе количество битов попадает в пределы диапазона допуска по второму количеству битов или ширина второго диапазона коэффициента масштабирования становится меньше параметра точности коэффициента масштабирования, причем диапазон допуска по второму количеству битов определяется на основе целевого размера выходного файла и нижнего и верхнего допусков по второму количеству битов,check whether the second condition for completing iterations is true, and the second condition for completing iterations is true when the full second number of bits falls within the tolerance range for the second number of bits or the width of the second range of the scaling factor becomes less than the accuracy parameter of the scaling factor, and the tolerance range for the second the number of bits is determined based on the target size of the output file and the lower and upper tolerances for the second number of bits, если второе условие завершения итераций является ложным, то обновляют граничные значения диапазона второго количества битов, граничные значения второго диапазона коэффициента масштабирования и коэффициент масштабирования на основе полного второго количества битов с использованием метода ложного положения для нахождения корня.if the second condition for terminating the iterations is false, then the boundary values of the range of the second number of bits, the boundary values of the second range of the scaling factor and the scaling factor are updated based on the full second number of bits using the false position method to find the root. 4. Способ по п. 3, в котором упомянутые заранее заданные базовые QT предпочтительно представляют собой стандартные QT JPEG, при этом второе количество битов для конкретной цветовой плоскости вычисляют с использованием полиномиальной модели предсказания на основе параметров модели предсказания и параметров предсказания для этой цветовой плоскости, причем параметры предсказания вычисляют с использованием квантованных коэффициентов DCT, полученных посредством квантования коэффициентов DCT с использованием масштабированных QT.4. The method of claim 3, wherein said predetermined base QTs are preferably standard JPEG QTs, wherein a second number of bits for a particular color plane is calculated using a polynomial prediction model based on prediction model parameters and prediction parameters for that color plane, wherein the prediction parameters are calculated using the quantized DCT coefficients obtained by quantizing the DCT coefficients using scaled QTs. 5. Способ по п. 4, дополнительно содержащий, после этапа оценки коэффициента масштабирования, этапы, на которых:5. The method according to claim 4, further comprising, after the step of evaluating the scaling factor, the steps in which: выполняют квантование и подсчет битов посредством использования масштабированных QT в стандартных процессах квантования и энтропийного кодирования JPEG, модифицированных таким образом, чтобы только подсчитывались биты, выводимые при энтропийном кодировании, без вывода сжатых данных, причем подсчет битов выполняется по отдельности для каждой из цветовых плоскостей и дает в результате набор фактических количеств битов цветовых плоскостей, причем подсчет битов дополнительно содержит вычисление полного фактического количества битов посредством суммирования фактических количеств битов цветовых плоскостей для всех цветовых плоскостей,perform quantization and bit counting by using scaled QT in standard JPEG quantization and entropy coding processes, 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 gives as a result, a set of actual number of bits of the color planes, and counting the bits further comprises calculating the total actual number of bits after COROLLARY summing the actual number of bits of color planes for all color planes, при этом, при проверке истинности первого условия завершения итераций, упомянутый диапазон допуска представляет собой диапазон допуска по первому количеству битов, который определяется на основе целевого размера выходного файла и нижнего и верхнего допусков по первому количеству битов,however, when verifying the validity of the first condition for completing iterations, the tolerance range is the tolerance range for the first number of bits, which is determined based on the target size of the output file and the lower and upper tolerances for the first number of bits, причем на этапе обновления коэффициента масштабирования и соответствующих переменных выполняют, используя метод ложного положения для нахождения корня, обновление граничных значений диапазона первого количества битов и граничных значений первого диапазона коэффициента масштабирования на основе полного фактического количества битов и текущего значения коэффициента масштабирования и, затем, обновление коэффициента масштабирования на основе целевого размера выходного файла, обновленных граничных значений первого диапазона коэффициента масштабирования и обновленных граничных значений диапазона первого количества битов;moreover, at the stage of updating the scaling factor and the corresponding variables, using the false position method to find the root, updating the boundary values of the range of the first number of bits and the boundary values of the first range of the scaling factor based on the total actual number of bits and the current value of the scaling factor and, then, updating the coefficient scaling based on the target size of the output file, updated boundary values of the first coefficient range ienta scaling and updated first boundary amount range of values of bits; при этом способ дополнительно содержит, после этапа обновления коэффициента масштабирования и связанных с ним переменных, этапы, на которых:wherein the method further comprises, after the step of updating the scaling factor and related variables, the steps in which: обновляют набор параметров модели предсказания для каждой цветовой плоскости с использованием набора фактических количеств битов цветовых плоскостей, масштабированных QT и гистограмм DCT; иupdating the prediction model parameter set for each color plane using the set of actual number of bits of the color planes, scaled QTs, and DCT histograms; and если каждый набор параметров модели предсказания обновлен, то масштабируют упомянутые заранее заданные базовые QT на основе коэффициента масштабирования и возвращаются к этапу квантования и подсчета битов, иначе, возвращаются к этапу оценки коэффициента масштабирования.if each set of parameters of the prediction model is updated, then the aforementioned 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. 6. Способ по п. 5, в котором этап обновления параметров модели предсказания содержит этапы, на которых:6. The method of claim 5, wherein the step of updating the parameters of the prediction model comprises the steps of: вычисляют параметр предсказания для каждой из цветовых плоскостей с использованием масштабированных QT и гистограмм DCT;calculating a prediction parameter for each of the color planes using scaled QT and DCT histograms; обновляют наборы аккумулирующих переменных, служащих для адаптации, с использованием параметра предсказания и нормированного фактического количества битов цветовой плоскости для цветовой плоскости, причем наборы аккумулирующих переменных предварительно инициализируются в нуль;updating the sets of accumulating variables used for adaptation using the prediction parameter and the normalized actual number of bits of the color plane for the color plane, wherein the sets of accumulating variables are pre-initialized to zero; если система линейных уравнений, построенная из наборов аккумулирующих переменных, является совместной, то вычисляют параметры модели предсказания посредством решения упомянутой системы линейных уравнений, в противном случае, параметры модели предсказания не обновляются.if the system of linear equations constructed from sets of accumulating variables 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. 7. Способ по п. 6, дополнительно содержащий этапы, на которых:7. The method according to claim 6, further comprising stages in which: выбирают один из режимов функционирования RC, причем режимы функционирования RC содержат быстрый режим, обеспечивающий наилучшую производительность; сбалансированный режим, обеспечивающий компромисс между производительностью и качеством изображения; и режим качества, обеспечивающий наилучшее качество изображения;selecting one of the RC operating modes, the RC operating modes comprising 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; вычисляют полное искажение, связанное с масштабированными QT, для каждой из цветовых плоскостей;calculating the total distortion associated with the scaled QT for each of the color planes; вычисляют целевое количество битов цветовой плоскости для каждой из цветовых плоскостей с использованием набора фактических количеств битов цветовых плоскостей.calculate the target number of bits of the color plane for each of the color planes using the set of actual number of bits of the color planes. 8. Способ по п. 7, в котором, если выбран сбалансированный режим, то способ дополнительно содержит выполнение оптимизации по скорости-искажению сбалансированного режима, чтобы сгенерировать QT, оптимизированные по скорости-искажению (RDO QT), причем оптимизация по скорости-искажению сбалансированного режима содержит, для каждой из цветовых плоскостей, этапы, на которых:8. The method according to claim 7, wherein, if the balanced mode is selected, the 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 is balanced The mode contains, for each of the color planes, the stages in which: инициализируют записи RDO QT;initialize the RDO QT records; вычисляют записи таблиц скорости-искажения (RD) с использованием гистограмм DCT и параметров модели предсказания, причем упомянутые записи зависят от переменного квантователя;calculating the records of the velocity-distortion (RD) tables using DCT histograms and prediction model parameters, said records being dependent on a variable quantizer; определяют набор локально оптимальных квантователей с использованием записей RDO QT, записей таблиц RD и целевого количества битов цветовой плоскости, вычисленного для упомянутой цветовой плоскости;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; осуществляют поиск локально оптимальной субполосы DCT с использованием набора локально оптимальных квантователей для определения индекса i* локально оптимальной субполосы DCT;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; если локально оптимальная субполоса DCT существует, то выполняют обновление квантователя посредством установки i*-ой записи RDO QT, равной i*-ому локально оптимальному квантователю, и возвращаются к этапу определения набора локально оптимальных квантователей.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. 9. Способ по п. 7, в котором, если выбран режим качества, то способ дополнительно содержит выполнение оптимизации по скорости-искажению режима качества для генерации RDO QT, причем оптимизация по скорости-искажению режима качества содержит, для каждой из цветовых плоскостей, этапы, на которых:9. The method according to claim 7, in which, if the quality mode is selected, the method further comprises performing speed-distortion optimization of the quality mode for generating an RDO QT, wherein optimizing the speed-distortion of the quality mode comprises, for each of the color planes, the steps , where: вычисляют записи таблиц RD с использованием гистограмм DCT и параметров модели предсказания, причем упомянутые записи зависят от переменного квантователя;calculating RD table entries using DCT histograms and prediction model parameters, said entries being dependent on a variable quantizer; итерационно вычисляют записи таблиц оптимальных квантователя-скорости-искажения (RDQ) с использованием таблиц RD;iteratively computes records of optimal quantizer-velocity-distortion (RDQ) tables using RD tables; инициализируют итерации получения квантователя на основе записей таблиц RDQ и целевого количества битов цветовой плоскости, вычисленного для упомянутой цветовой плоскости;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; выполняют итерации получения квантователя с использованием записей таблиц RDQ для создания RDO QT.iterate the quantizer using the RDQ table entries to create the RDO QT. 10. Способ по п. 8 или 9, дополнительно содержащий этапы, на которых:10. The method according to p. 8 or 9, further comprising stages in which: вычисляют полное искажение с использованием RDO QT;calculate the total distortion using RDO QT; выполняют подсчет битов с использованием RDO QT в стандартных процессах квантования и энтропийного кодирования JPEG, модифицированных таким образом, чтобы только подсчитывались биты, выводимые при энтропийном кодировании, без вывода сжатых данных, причем подсчет битов выполняют по отдельности для каждой из цветовых плоскостей, и этот подсчет создает фактические количества битов, при этом подсчет битов дополнительно содержит вычисление окончательного фактического количества битов посредством суммирования фактических количеств битов для всех цветовых плоскостей,perform bit counting using RDO QT in standard JPEG quantization and entropy coding processes, modified so that only bits output during entropy coding are counted without outputting compressed data, and bit counting is performed separately for each of the color planes, and this counting creates the actual number of bits, while counting the bits further comprises calculating the final actual number of bits by summing the actual number of bits for all color planes если полное искажение, связанное с RDO QT, является меньшим, чем полное искажение, связанное с масштабированными QT, и окончательное полное фактическое количество битов попадает в пределы диапазона допуска по окончательному количеству битов, где диапазон допуска по окончательному количеству битов определяется на основе целевого размера выходного файла и заранее заданных допусков по окончательному количеству битов, то тогда выводят RDO QT в качестве сгенерированных QT, в противном случае выводят масштабированные QT в качестве сгенерированных QT.if the total distortion associated with the RDO QT is less than the total distortion associated with the scaled QT and the final total actual number of bits falls within the tolerance range from the final number of bits, where the tolerance range from the final number of bits is determined based on the target output size file and predefined tolerances for the final number of bits, then output RDO QT as generated QT, otherwise output scaled QT as generated QT T. 11. Машиночитаемый носитель информации, на котором сохранены машиноисполняемые команды, которые при их исполнении процессором предписывают процессору выполнять способ управления скоростью (RC) в JPEG сжатии цифрового изображения, содержащий этапы, на которых:11. A computer-readable storage medium on which computer-executable instructions are stored which, when executed by a processor, instruct the processor to execute a speed control (RC) method in JPEG digital image compression, comprising the steps of: принимают коэффициенты дискретного косинусного преобразования (DCT), получаемые в результате применения прямого DCT к цифровому изображению; иreceiving discrete cosine transform (DCT) coefficients obtained by applying direct DCT to a digital image; and генерируют таблицы квантования (QT) с использованием принятых коэффициентов DCT посредством того, что, итерационно,quantization tables (QT) are generated using the received DCT coefficients by means of iteratively оценивают коэффициент масштабирования для создания масштабированных QT,evaluate the scaling factor to create scaled QTs, проверяют, является ли истинным первое условие завершения итераций, причем в первом условии завершения итераций задействуются переменные, связанные с коэффициентом масштабирования, при этом первое условие завершения итераций является истинным, когда полное фактическое количество битов, вычисленное для всех цветовых плоскостей, попадает в пределы диапазона допуска, определяемого, по меньшей мере, на основе целевого размера выходного файла для JPEG сжатого изображения, или когда ширина первого диапазона коэффициента масштабирования становится меньше параметра точности коэффициента масштабирования, или когда количество итераций достигает заранее заданного максимального количества, иcheck whether the first condition for completing iterations is true, and in the first condition for completing iterations, variables associated with the scaling factor are used, while the first condition for completing iterations is true when the total actual number of bits calculated for all color planes falls within the tolerance range determined at least based on the target size of the output file for JPEG compressed image, or when the width of the first range of the scaling factor is one hundred ovitsya less accuracy parameter scale factor, or when the number of iterations reaches a predetermined maximum number, and если упомянутое условие является ложным, то обновляют коэффициент масштабирования и упомянутые переменные, включая граничные значения первого диапазона коэффициента масштабирования.if said condition is false, then the scaling factor and said variables are updated, including the boundary values of the first scaling factor range. 12. Устройство для выполнения управления скоростью (RC) в JPEG сжатии цифрового изображения, содержащее:12. A device for performing speed control (RC) in JPEG compression of a digital image, comprising: один или несколько процессоров; иone or more processors; and память, в которой сохранены машиноисполняемые команды, которые при их исполнении одним или несколькими процессорами предписывают одному или нескольким процессорам:a memory in which computer-executable instructions are stored, which, when executed by one or more processors, prescribe one or more processors: принимать коэффициенты дискретного косинусного преобразования (DCT), получаемые в результате применения прямого DCT к цифровому изображению; иreceive discrete cosine transform (DCT) coefficients obtained by applying direct DCT to a digital image; and генерировать таблицы квантования (QT) с использованием принятых коэффициентов DCT посредством итерационного выполненияgenerate quantization tables (QT) using received DCT coefficients through iterative execution оценки коэффициента масштабирования для создания масштабированных QT,scaling factor estimates to create scaled QTs, проверки того, является ли истинным первое условие завершения итераций, причем в первом условии завершения итераций задействуются переменные, связанные с коэффициентом масштабирования, при этом первое условие завершения итераций является истинным, когда полное фактическое количество битов, вычисленное для всех цветовых плоскостей, попадает в пределы диапазона допуска, определяемого, по меньшей мере, на основе целевого размера выходного файла для JPEG сжатого изображения, или когда ширина первого диапазона коэффициента масштабирования становится меньше параметра точности коэффициента масштабирования, или когда количество итераций достигает заранее заданного максимального количества, иchecking whether the first condition for completing iterations is true, and in the first condition for completing iterations, variables associated with the scaling factor are used, while the first condition for completing iterations is true when the total actual number of bits calculated for all color planes falls within the range tolerance determined at least based on the target size of the output file for JPEG compressed image, or when the width of the first range of the scaling factor becomes less than the accuracy parameter of the scaling factor, or when the number of iterations reaches a predetermined maximum number, and обновления коэффициента масштабирования и упомянутых переменных, включая граничные значения первого диапазона коэффициента масштабирования, если упомянутое условие является ложным.updating the scaling factor and said variables, including boundary values of the first range of the scaling factor, if said condition is false. 13. Способ JPEG сжатия цифрового изображения, содержащий этапы, на которых:13. A JPEG method for compressing a digital image, comprising the steps of: выполняют преобразование цветового пространства и прямое дискретное косинусное преобразование (DCT);perform color space conversion and direct discrete cosine transform (DCT); выполняют способ управления скоростью по п. 1,perform a speed control method according to claim 1, выполняют квантование;perform quantization; выполняют энтропийное кодирование; иperform entropy coding; and выводят сжатый JPEG файл.output compressed JPEG file.
RU2015134108A 2015-08-13 2015-08-13 Method of controlling output file size from image jpeg compression RU2607624C1 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (8)

* Cited by examiner, † Cited by third party
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