RU2340115C1 - Method of coding video signals, supporting fast algorithm of precise scalability on quality - Google Patents
Method of coding video signals, supporting fast algorithm of precise scalability on quality Download PDFInfo
- Publication number
- RU2340115C1 RU2340115C1 RU2007139817/09A RU2007139817A RU2340115C1 RU 2340115 C1 RU2340115 C1 RU 2340115C1 RU 2007139817/09 A RU2007139817/09 A RU 2007139817/09A RU 2007139817 A RU2007139817 A RU 2007139817A RU 2340115 C1 RU2340115 C1 RU 2340115C1
- Authority
- RU
- Russia
- Prior art keywords
- frame
- level
- fgs
- difference
- motion vector
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/34—Scalability techniques involving progressive bit-plane based encoding of the enhancement layer, e.g. fine granular scalability [FGS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/523—Motion estimation or motion compensation with sub-pixel accuracy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
Область техники, к которой относится изобретениеFIELD OF THE INVENTION
Способы и устройства, соответствующие настоящему изобретению, относятся к кодированию видеосигналов и, более конкретно, к кодированию видеоинформации, которое уменьшает объем вычислений, требуемых для основанного на многоуровневости алгоритма прогрессивной точной масштабируемости по качеству (Progressive Fine Granular Scalability, PFGS).The methods and devices of the present invention relate to encoding video signals and, more specifically, to encoding video information, which reduces the amount of computation required for the Progressive Fine Granular Scalability (PFGS) algorithm based on the multilevel algorithm.
Уровень техникиState of the art
С развитием технологии передачи информации, в том числе, Интернета, увеличился объем мультимедийных услуг, содержащих различные виды информации, такой как текст, видео-, аудиоинформация и так далее. Мультимедийные данные требуют большой емкости носителей данных и широкой полосы пропускания для передачи, поскольку объем мультимедийных данных обычно большой. Соответственно, для передачи мультимедийных данных, в том числе текста, видео- и аудиоинформации, способ кодирования со сжатием является необходимостью.With the development of information transmission technology, including the Internet, the volume of multimedia services containing various types of information, such as text, video, audio information and so on, has increased. Multimedia data requires a large capacity of storage media and a wide bandwidth for transmission, since the volume of multimedia data is usually large. Accordingly, for transmitting multimedia data, including text, video and audio information, a compression encoding method is a necessity.
Основной принцип сжатия данных заключается в исключении избыточности данных. Данные могут быть сжаты посредством удаления пространственной избыточности, при которой в изображении повторяется один и тот же цвет или объект, временной избыточности, при которой между соседними кадрами движущегося изображения имеются лишь небольшие изменения или в аудиоинформации повторяется один и тот же звук, или психической визуальной избыточности, учитывающей особенности человеческого зрения и ограниченное восприятие высокой частоты. При обычном видеокодировании временная избыточность удаляется с помощью временной фильтрации, основанной на компенсации движения, а пространственная избыточность удаляется пространственным преобразованием.The basic principle of data compression is to eliminate data redundancy. Data can be compressed by removing spatial redundancy, in which the same color or object is repeated in the image, temporary redundancy, in which there are only small changes between adjacent frames of the moving image, or the same sound is repeated in the audio information, or mental visual redundancy taking into account the peculiarities of human vision and the limited perception of high frequency. In conventional video coding, temporal redundancy is removed by temporal filtering based on motion compensation, and spatial redundancy is removed by spatial transformation.
Чтобы передать мультимедийные данные, созданные после удаления избыточности данных, требуются средства связи. Различные типы средств связи для мультимедийных данных имеют различные характеристики. Используемые в настоящее время средства связи имеют различные скорости передачи. Например, сеть ультраскоростной связи может передавать данные со скоростью нескольких десятков мегабит в секунду, в то время как сеть мобильной связи имеет скорость передачи 384 килобит в секунду. Для поддержки средств связи, обладающих различными скоростями передачи, или для передачи мультимедийных данных в мультимедийной среде могут быть пригодны способы кодирования данных, обладающие масштабируемостью.Communication media is required to transmit multimedia data created after data redundancy removal. Different types of media for multimedia have different characteristics. Currently used communication tools have different transmission speeds. For example, an ultra-fast communication network can transmit data at a speed of several tens of megabits per second, while a mobile communication network has a transmission speed of 384 kilobits per second. Scalable data encoding methods may be suitable for supporting communication media having different transmission rates or for transmitting multimedia data in a multimedia environment.
Масштабируемость указывает на способность частично декодировать единый сжатый поток битов. Масштабируемость содержит пространственную масштабируемость, указывающую видеоразрешение, масштабируемость по отношению "сигнал/шум" (SNR), указывающую уровень качества видеоинформации, и временную масштабируемость, указывающую скорость передачи кадров.Scalability indicates the ability to partially decode a single compressed bit stream. Scalability includes spatial scalability indicating video resolution, signal-to-noise scalability (SNR), indicating the level of video quality, and temporal scalability, indicating the frame rate.
Работа по стандартизации для реализации многоуровневой масштабируемости, основанной на технологии Scalable Extension H.264 (в дальнейшем, будет упоминаться как "H.264 SE"), ведется в настоящее время совместной видеогруппой (JVT) MPEG (группа экспертов по кинематографии) и ITU (Международное Телекоммуникационное Общество). Для поддержки масштабируемости по отношению "сигнал/шум" (SNR) группой JVT внедряются существующие технологии точной масштабируемости по качеству (Fine Granular Scalability, FGS).Standardization work to implement multi-level scalability based on Scalable Extension H.264 technology (hereinafter referred to as “H.264 SE”) is currently being carried out by the joint video group (JVT) MPEG (cinematography expert group) and ITU ( International Telecommunication Society). To support signal-to-noise ratio (SNR) scalability, JVT implements existing Fine Granular Scalability (FGS) technologies.
На фиг.1 показана схема для объяснения традиционного способа FGS. Кодек на основе FGS выполняет кодирование путем деления потока битов видеоинформации на основной уровень и уровень FGS. В настоящем описании знак верхнего штриха (') используется для обозначения восстановленного изображения, полученного после квантования/инверсного квантования. Более конкретно, блок PB, спрогнозированный заранее из блока MB' в восстановленном левом кадре 11 основного уровня, и блока NB' в восстановленном правом кадре 12 основного уровня, используя вектор движения, вычитается из блока О в исходном текущем кадре 12, для получения разностного блока RB. Таким образом, разностный блок RB может быть определен уравнением (1):1 is a diagram for explaining a conventional FGS method. The FGS-based codec performs encoding by dividing the video bitstream into the main layer and the FGS layer. In the present description, a dash ()) is used to indicate a reconstructed image obtained after quantization / inverse quantization. More specifically, a block PB predicted in advance from block MB ′ in the reconstructed left frame of the
Разностный блок RВ квантуется с помощью шага квантования QPВ (RBQ) основного уровня и затем инверсно квантуется, чтобы получить восстановленный разностный блок RВ'. Разность между неквантованным разностным блоком RВ и восстановленным разностным блоком RВ', блок Δ, соответствующий разности, квантуется с размером шага квантования QPF, по размеру меньшим, чем шаг квантования основного уровня QPВ (коэффициент сжатия уменьшается по мере уменьшения размера шага квантования). Квантованный блок Δ обозначается как ΔQ. Квантованный разностный блок RB Q разности на основном уровне и квантованный блок ΔQ на уровне FGS, в конечном счете, передаются в декодер.The difference block R B is quantized using the quantization step QP B (RB Q ) of the main layer and then is inverted quantized to obtain the reconstructed difference block R B ′. The difference between the non-quantized difference block R B and the restored difference block R B ', the block Δ corresponding to the difference is quantized with a quantization step size QP F smaller than the quantization step of the main level QP B (the compression ratio decreases as the size of the quantization step decreases ) The quantized block is denoted as Δ Δ Q. The quantized difference block R B Q of the difference at the fundamental level and the quantized block Δ Q at the FGS level are ultimately transmitted to the decoder.
На фиг.2 показана схема для объяснения работы традиционного способа прогрессивной точной масштабируемости по качеству (PFGS). Обычный способ FGS использует восстановленную разность RВ' квантованного основного уровня для уменьшения объема данных на уровне FGS. Со ссылкой на фиг.2, способ PFGS использует тот факт, что качество левого и правого опорных кадров на уровне FGS также улучшается с помощью способа FGS. То есть, способ PFGS содержит вычисление нового разностного RF, использующего заново обновленные левый опорный кадр 21 и правый опорный кадр 23 и квантование разности между новым разностным блоком RF и квантованным блоком RF' основного уровня, улучшая, таким образом, характеристики кодирования. Новый разностный блок RF определяется уравнением (2):Figure 2 shows a diagram for explaining the operation of the traditional method of progressive precision scalability in quality (PFGS). The conventional FGS method uses the reconstructed difference R B ′ of the quantized base layer to reduce the amount of data at the FGS level. With reference to FIG. 2, the PFGS method exploits the fact that the quality of the left and right reference frames at the FGS level is also improved by the FGS method. That is, the PFGS method comprises computing a new difference R F using the newly updated
где MF' и NF' соответственно обозначают области в восстановленных левом опорном кадре 21 и правом опорном кадре 23 на уровне FGS согласно соответствующим векторам движения.where M F 'and N F ' respectively denote the areas in the restored
Способ PFGS обладает преимуществом перед способом FGS, заключающимся в том, что объем данных на уровне FGS может быть уменьшен благодаря высокому качеству левого и правого опорных кадров. Поскольку уровень FGS также требует отдельной компенсации движения, объем вычислений увеличивается. То есть, хотя способ PFGS улучшил характеристики по сравнению с обычным способом FGS, он требует большого объема вычислений, поскольку компенсация движения выполняется для каждого уровня FGS, чтобы создавать прогнозированный сигнал и разностный сигнал между прогнозированным сигналом и исходным сигналом. Недавно разработанные видеокодеки интерполируют сигнал изображения для компенсации движения с точностью 1/2 или 1/4 пиксела. Когда компенсация движения выполняется с точностью 1/4 пиксела, должно создаваться изображение с размером, соответствующим четырехкратной разрешающей способности первоначального изображения.The PFGS method has the advantage over the FGS method in that the data volume at the FGS level can be reduced due to the high quality of the left and right reference frames. Since the FGS level also requires separate motion compensation, the amount of computation increases. That is, although the PFGS method has improved performance compared to the conventional FGS method, it requires a lot of computation because motion compensation is performed for each FGS level to create a predicted signal and a difference signal between the predicted signal and the original signal. Recently developed video codecs interpolate an image signal to compensate for motion with an accuracy of 1/2 or 1/4 pixel. When motion compensation is performed with an accuracy of 1/4 pixel, an image should be created with a size corresponding to four times the resolution of the original image.
Сущность изобретенияSUMMARY OF THE INVENTION
Техническая проблемаTechnical problem
Способ SE по стандарту H.264 использует шестиполюсный фильтр в качестве фильтра интерполяции с 1/2 пиксела, который обладает значительной сложностью вычислений, требуя большого объема вычислений для компенсации движения. Это усложняет процессы кодирования и декодирования, требуя, таким образом, повышенных ресурсов системы. В частности, этот недостаток может быть наиболее проблематичен в полевых условиях, требующих кодирования и декодирования в реальном времени, таких как прямое радиовещание или видеоконференция.The H.264 SE method uses a six-pole filter as a 1/2 pixel interpolation filter, which has significant computational complexity, requiring a large amount of computation to compensate for motion. This complicates the encoding and decoding processes, thus requiring increased system resources. In particular, this drawback can be most problematic in the field, requiring real-time encoding and decoding, such as live broadcasting or video conferencing.
Техническое решениеTechnical solution
Настоящее изобретение обеспечивает способ и устройство для сокращения объема вычислений, требующихся для компенсации движения при сохранении характеристик алгоритма прогрессивной точной масштабируемости по качеству (PFGS).The present invention provides a method and apparatus for reducing the amount of computation required to compensate for motion while maintaining the characteristics of the Progressive Fine Quality Scalability Algorithm (PFGS).
Согласно аспекту настоящего изобретения, обеспечивается способ видеокодирования, поддерживающий FGS, способ видеокодирования, содержащий этапы, на которых получают прогнозированное изображение для текущего кадра, используя вектор движения, оцененный с заранее определенной точностью, проводят квантование разности между текущим кадром и прогнозированным изображением, проводят инверсное квантование квантованной разности и создают восстановленное изображение для текущего кадра, выполняя компенсацию движения на эталонном кадре уровня FGS и эталонном кадре основного уровня, используя оцененный вектор движения, вычисляют разность между эталонным кадром уровня FGS с компенсированным движением и эталонным кадром основного уровня с компенсированным движением, вычитают восстановленное изображение для текущего кадра и вычисленные разности от текущего кадра и кодируют результат вычитания.According to an aspect of the present invention, there is provided a video encoding method supporting FGS, a video encoding method comprising the steps of obtaining a predicted image for the current frame using a motion vector estimated with predetermined accuracy, quantizing the difference between the current frame and the predicted image, inverting quantization quantized difference and create a reconstructed image for the current frame, performing motion compensation on the reference frame level The FGS and the reference frame of the main level, using the estimated motion vector, calculate the difference between the reference frame of the FGS level with compensated movement and the reference frame of the main level with compensated movement, subtract the reconstructed image for the current frame and the calculated differences from the current frame and encode the result of subtraction.
Согласно другому аспекту настоящего изобретения, обеспечивается способ видеокодирования, поддерживающий FGS, способ видеокодирования, содержащий этапы, на которых получают прогнозированное изображение текущего кадра, используя вектор движения, оцененный с заранее определенной точностью, выполняют квантование разности между текущим кадром и прогнозированным изображением, выполняют инверсное квантование квантованной разности и создают восстановленное изображение для текущего кадра, выполняют компенсацию движения на опорном кадре уровня FGS и на опорном кадре основного уровня, используя оцененный вектор движения, и создают прогнозированный кадр для уровня FGS и прогнозированный кадр для основного уровня, соответственно, вычисляют разность между прогнозированным кадром для уровня FGS и прогнозированным кадром для основного уровня, вычитают восстановленное изображение и разность из текущего кадра и кодируют результат вычитания.According to another aspect of the present invention, there is provided a video coding method supporting FGS, a video coding method comprising the steps of obtaining a predicted image of a current frame using a motion vector estimated with predetermined accuracy, quantizing the difference between the current frame and the predicted image, performing inverse quantization quantized difference and create a reconstructed image for the current frame, perform motion compensation on the reference frame the FGS and the reference frame of the main level, using the estimated motion vector, and create a predicted frame for the FGS level and the predicted frame for the main level, respectively, calculate the difference between the predicted frame for the FGS level and the predicted frame for the main level, subtract the reconstructed image and the difference from the current frame and encode the result of subtraction.
Согласно еще одному аспекту настоящего изобретения, обеспечивается способ видеокодирования, поддерживающий FGS, способ видеокодирования, содержащий получение прогнозированного изображения для текущего кадра, используя вектор движения, оцененный с заранее определенной точностью, выполняют квантование разности между текущим кадром и прогнозированным изображением, выполняют инверсное квантование квантованной разности и создают восстановленное изображение для текущего кадра, вычисляют разность между опорным кадром для уровня FGS и опорным кадром для основного уровня, выполняют компенсацию движения на разности, используя оценочный вектор движения, вычитают восстановленное изображение и результат компенсированного движения из текущего кадра и кодируют результат вычитания.According to another aspect of the present invention, there is provided a video coding method supporting FGS, a video coding method comprising obtaining a predicted image for a current frame using a motion vector estimated with predetermined accuracy, quantizing the difference between the current frame and the predicted image, performing inverse quantization of the quantized difference and create a reconstructed image for the current frame, calculate the difference between the reference frame for the FGS level and nym frame for the base layer, performing motion compensation on the difference from the estimated motion vector, subtracting the reconstructed image and the motion-compensated result from the current frame, and encoding the result of subtraction.
Согласно еще одному другому аспекту настоящего изобретения, обеспечивают способ видеокодирования, поддерживающий алгоритм точной масштабируемости по качеству (FGS), способ видеокодирования, содержащий этапы получения прогнозированного изображения для текущего кадра, используя вектор движения, оцененный с заранее определенной точностью, выполняют компенсацию движения на опорном кадре уровня FGS и на опорном кадре основного уровня, используя вектор движения с более низкой точностью, чем точность оцененного вектора движения, вычисляют разность между опорным кадром уровня FGS с компенсированным движением и опорным кадром основного уровня, вычитают прогнозированное изображение из текущего кадра и кодируют результат вычитания.According to yet another aspect of the present invention, there is provided a video coding method supporting an accurate quality scalability algorithm (FGS), a video coding method comprising the steps of obtaining a predicted image for a current frame using a motion vector estimated with predetermined accuracy, performing motion compensation on a reference frame the FGS level and on the reference frame of the main level, using the motion vector with lower accuracy than the accuracy of the estimated motion vector, calculate the value between the reference frame of the FGS level with compensated movement and the reference frame of the main level, subtract the predicted image from the current frame and encode the result of the subtraction.
Согласно еще одному другому аспекту настоящего изобретения, обеспечивают способ видеокодирования, поддерживающий FGS, способ видеокодирования, содержащий этапы, на которых получают прогнозированное изображение для текущего кадра, используя вектор движения, оцененный с заранее определенной точностью, выполняют компенсацию движения на опорном кадре уровня FGS и на опорном кадре основного уровня, используя вектор движения с более низкой точностью, чем точность оцененного вектора движения, и создают прогнозированный кадр для уровня FGS и прогнозированный кадр для основного уровня, соответственно, вычисляют разность между прогнозированным кадром для уровня FGS и прогнозированным кадром для основного уровня, вычитают прогнозированное изображение и вычисленную разность из текущего кадра и кодируют результат вычитания.According to yet another aspect of the present invention, there is provided a video encoding method supporting FGS, a video encoding method comprising the steps of obtaining a predicted image for the current frame using a motion vector estimated with predetermined accuracy, performing motion compensation on the reference frame of the FGS level and on the reference frame of the main level using a motion vector with lower accuracy than the accuracy of the estimated motion vector, and create a predicted frame for the FGS level and the predicted frame for the main level, respectively, the difference between the predicted frame for the FGS level and the predicted frame for the main level is calculated, the predicted image and the calculated difference are subtracted from the current frame, and the subtraction result is encoded.
Согласно еще одному другому аспекту настоящего изобретения, обеспечивается способ видеокодирования, поддерживающий FGS, способ видеокодирования, содержащий этапы, на которых получают прогнозированное изображение для текущего кадра, используя вектор движения, оцененный с заранее определенной точностью, вычисляют разность между опорным кадром уровня FGS и опорным кадром основного уровня, выполняют компенсацию движения на разности, используя вектор движения с более низкой точностью, чем точность оцененного вектора движения, вычитают восстановленное изображение и результат компенсированного движения текущего кадра и кодируют результат вычитания.According to yet another aspect of the present invention, there is provided a video encoding method supporting FGS, a video encoding method comprising the steps of obtaining a predicted image for the current frame using a motion vector estimated with predetermined accuracy, calculating the difference between the reference frame of the FGS level and the reference frame ground level, perform motion compensation on the difference using a motion vector with lower accuracy than the accuracy of the estimated motion vector, subtract The tanned image and the result of the compensated movement of the current frame also encode the result of subtraction.
Согласно другому аспекту настоящего изобретения, обеспечивается способ видеодекодирования, поддерживающий FGS, способ видеодекодирования, содержащий этапы, на которых извлекают данные текстуры основного уровня и данные текстуры уровня FGS и векторы движения из входного потока битов, восстановление кадра основного уровня из данных текстуры основного уровня, выполнение компенсации движения на опорном кадре уровня FGS и на опорном кадре основного уровня, используя векторы движения, вычисляют разность между опорным кадром уровня FGS с компенсированным движением и опорным кадром основного уровня с компенсированным движением и складывают вместе кадр основного уровня, данные текстуры уровня FGS и разность.According to another aspect of the present invention, there is provided a video decoding method supporting FGS, a video decoding method comprising the steps of extracting texture layer data of the main layer and texture data of the FGS layer and motion vectors from the input bit stream, restoring the frame of the basic layer from the texture layer data of the main layer, motion compensation on the reference frame of the FGS level and on the reference frame of the main level, using the motion vectors, calculate the difference between the reference frame of the FGS level with compensation motion and the reference frame of the main level with compensated movement and add together the frame of the main level, texture data of the FGS level and the difference.
Согласно другому аспекту настоящего изобретения, обеспечивается видеокодер на основе FGS, содержащий элемент, получающий прогнозированное изображение для текущего кадра, используя вектор движения, оцененный с заранее определенной точностью, элемент, выполняющий квантование разности между текущим кадром и прогнозированным изображением, инверсное квантование квантованной разности и создание восстановленного изображения для текущего кадра, элемент, выполняющий компенсацию движения на опорном кадре уровня FGS и опорном кадре основного уровня, используя оцененный вектор движения, элемент, вычисляющий разность между опорным кадром уровня FGS с компенсированным движением и опорным кадром основного уровня с компенсированным движением, элемент, вычитающий восстановленное изображение и разность из текущего кадра, и элемент, кодирующий результат вычитания.According to another aspect of the present invention, there is provided an FGS-based video encoder comprising an element obtaining a predicted image for the current frame using a motion vector estimated with predetermined accuracy, an element that quantizes the difference between the current frame and the predicted image, inverts quantization of the quantized difference and creates of the reconstructed image for the current frame, an element that performs motion compensation on the reference frame of the FGS level and the reference frame of the main level using the estimated motion vector, an element calculating the difference between the reference frame of the FGS level with compensated movement and the reference frame of the main level with compensated movement, an element subtracting the reconstructed image and the difference from the current frame, and an element encoding the result of subtraction.
Согласно еще одному дополнительному аспекту настоящего изобретения, обеспечивается видеодекодер на основе FGS, видеодекодер, содержащий элемент, извлекающий данные текстуры основного уровня, данные текстуры уровня FGS и векторы движения из входного потока битов, элемент, восстанавливающий кадр основного уровня из данных текстуры основного уровня, элемент, выполняющий компенсацию движения на опорном кадре уровня FGS и на опорном кадре основного уровня, используя вектор движения, и создающий прогнозированный кадр уровня FGS и прогнозированный кадр основного уровня, элемент, вычисляющий разность между прогнозированным кадром уровня FGS и прогнозированным кадром основного уровня, и элемент, складывающий вместе данные текстуры, восстановленный кадр основного уровня и разность.According to another further aspect of the present invention, there is provided an FGS-based video decoder, a video decoder comprising an element extracting ground layer texture data, FGS layer texture data and motion vectors from an input bit stream, an element restoring a main layer frame from the main layer texture data, element performing motion compensation on the reference frame of the FGS level and on the reference frame of the main level using the motion vector, and creating a predicted frame of the FGS level and predicted th frame of the core layer, element, calculating the difference between the predicted FGS layer frame and the predicted frame of the core layer, and an element adding together the texture data, the reconstructed base layer frame and the difference.
Описание чертежейDescription of drawings
Вышеупомянутые и другие аспекты настоящего изобретения станут более ясными при подробном описании примеров вариантов его осуществления со ссылкой на прилагаемые чертежи, на которых:The above and other aspects of the present invention will become clearer with a detailed description of examples of variants of its implementation with reference to the accompanying drawings, in which:
Фиг.1 - схема для объяснения обычного способа FGS.1 is a diagram for explaining a conventional FGS method.
Фиг.2 - схема для объяснения обычного способа прогрессивной PFGS.2 is a diagram for explaining a conventional progressive PFGS method.
Фиг.3 - схема для объяснения быстрой прогрессивной точной масштабируемости по качеству (PFGS) в соответствии с примером варианта осуществления настоящего изобретения.FIG. 3 is a diagram for explaining fast progressive accurate quality scalability (PFGS) in accordance with an example embodiment of the present invention.
Фиг.4 - блок-схема видеокодера в соответствии с примером варианта осуществления настоящего изобретения.4 is a block diagram of a video encoder in accordance with an example embodiment of the present invention.
Фиг.5 - блок-схема видеокодера согласно другому примеру варианта осуществления настоящего изобретения.5 is a block diagram of a video encoder according to another example of an embodiment of the present invention.
Фиг.6 и 7 - блок-схемы видеокодеров в соответствии с дополнительным примером варианта осуществления настоящего изобретения.6 and 7 are block diagrams of video encoders in accordance with a further example embodiment of the present invention.
Фиг.8 - блок-схема видеокодера в соответствии с примером варианта осуществления настоящего изобретения.8 is a block diagram of a video encoder in accordance with an example embodiment of the present invention.
Фиг.9 - блок-схема видеодекодера согласно другому примеру варианта осуществления настоящего изобретения.9 is a block diagram of a video decoder according to another example of an embodiment of the present invention.
Фиг.10 и 11 - блок-схемы видеодекодеров в соответствии с дополнительным примером варианта осуществления настоящего изобретения.10 and 11 are block diagrams of video decoders in accordance with a further example embodiment of the present invention.
Фиг.12 - блок-схема системы для выполнения процесса кодирования или декодирования в соответствии с примером варианта осуществления настоящего изобретения.12 is a block diagram of a system for performing an encoding or decoding process in accordance with an example embodiment of the present invention.
Описание предпочтительных вариантов осуществления изобретенияDescription of preferred embodiments of the invention
Настоящее изобретение теперь будет описано более подробно со ссылкой на сопроводительные чертежи, на которых показаны примеры вариантов осуществления изобретения.The present invention will now be described in more detail with reference to the accompanying drawings, in which examples of embodiments of the invention are shown.
Преимущества и признаки настоящего изобретения и способы его осуществления могут стать более понятны при рассмотрении последующего подробного описания примеров вариантов осуществления и сопроводительных чертежей. Настоящее изобретение может, однако, быть реализовано во многих различных формах и не должно истолковываться как ограничивающееся изложенными здесь примерами вариантов осуществления. Скорее, эти примеры вариантов осуществления представлены в этом описании для того, чтобы это описание было всесторонним и законченным и полностью раскрывало концепцию изобретения для тех, кто являются специалистами в данной области техники, и настоящее изобретение будет определяться только прилагаемой формулой изобретения. Одни и те же номера относятся к одним и тем же элементам по всему описанию.The advantages and features of the present invention and methods for its implementation may become more apparent when considering the following detailed description of examples of embodiments and accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as being limited to the exemplary embodiments set forth herein. Rather, these examples of embodiments are presented in this description so that this description is comprehensive and complete and fully discloses the concept of the invention to those who are specialists in this field of technology, and the present invention will be defined only by the attached claims. The same numbers refer to the same elements throughout the description.
На фиг.3 показана схема PFGS, соответствующая первому примеру варианта осуществления настоящего изобретения.FIG. 3 shows a PFGS diagram corresponding to a first example of an embodiment of the present invention.
Со ссылкой на фиг.3, как и на фиг.2, Δ на уровне FGS будет квантоваться в соответствии с алгоритмом PFGS и определяется простым уравнением (3):With reference to figure 3, as in figure 2, Δ at the FGS level will be quantized in accordance with the PFGS algorithm and is determined by simple equation (3):
RF определяется приведенным выше уравнением (2), и RB' определяется уравнением (4):R F is determined by the above equation (2), and R B 'is determined by the equation (4):
где O' является изображением, восстановленным путем квантования первоначального изображения O с размером шага квантования основного уровня QPВ и последующего инверсного квантования квантованного изображения.where O 'is an image reconstructed by quantizing an original image O with the core layer quantization step size QP B and subsequent inverse quantization of the quantized image.
Подстановка уравнений (2) и (4) в уравнение (3) дает уравнение (5):Substitution of equations (2) and (4) into equation (3) gives equation (5):
Со ссылкой на фиг.3, ΔМ и ΔN обозначают разность между левыми опорными кадрами МF' и МВ' на основном уровне и на уровне FGS и разность между правыми опорными кадрами NF' и NB' на основном уровне и на уровне FGS, соответственно, и определяются уравнениями (6):With reference to FIG. 3, Δ M and Δ N denote the difference between the left reference frames M F 'and M B ' at the main level and at the FGS level and the difference between the right reference frames N F 'and N B ' at the main level and at level FGS, respectively, and are determined by equations (6):
Путем подстановки уравнения (6) в уравнение (5), Δ может быть определена уравнением (7):By substituting equation (6) into equation (5), Δ can be determined by equation (7):
Как видно из уравнения (7), кодер может получить Δ путем вычитания восстановленного изображения O' основного уровня, полученного квантованием исходного изображения O с шагом квантования основного уровня размером QPВ и последующего инверсного квантования квантованного изображения и среднего значения разностей между каждым из опорных кадров основного уровня и опорных кадров уровня FGS и первоначальным изображением O, то есть (ΔМ + ΔN)/2. Декодер восстанавливает исходное изображение O путем сложения изображения О' основного уровня, Δ и среднего значения разностей между опорным кадром основного уровня и опорным кадром уровня FGS.As can be seen from equation (7), the encoder can obtain Δ by subtracting the reconstructed image of the main level O 'obtained by quantizing the original image O with a quantization step of the main level of size QP B and then inverting the quantized image and the average value of the differences between each of the reference frames of the main level and reference frames of the FGS level and the original image O, that is (Δ M + Δ N ) / 2. The decoder restores the original image O by adding the image O 'of the main level, Δ and the average value of the differences between the reference frame of the main level and the reference frame of the FGS level.
В обычном алгоритме PFGS компенсация движения выполняется, используя вектор движения с точностью одного пиксела или части пиксела (1/2 пиксела или 1/4 пиксела), полученный при оценке движения. В последнее время, чтобы увеличивать эффективность сжатия, оценка движения и компенсация обычно выполняются с различными точностями, выраженными в пикселах, такими как точность полпиксела или точность четверть пиксела. В обычном алгоритме PFGS прогнозированное изображение, созданное путем компенсации движения с точностью, например, 1/4 пиксела, упаковывается в целочисленные пикселы. Затем квантование выполняется на разности между первоначальным изображением и прогнозированным изображением. В этом случае, упаковка является процессом восстановления 4-x кратного интерполированного опорного изображения в изображение первоначального размера, выполняя оценку движения с точностью 1/4 пиксела. Например, в течение упаковочного процесса может быть выбран один из каждых четырех пикселов.In the conventional PFGS algorithm, motion compensation is performed using a motion vector with an accuracy of one pixel or part of a pixel (1/2 pixel or 1/4 pixel) obtained from motion estimation. Recently, in order to increase compression efficiency, motion estimation and compensation are usually performed with various precision expressed in pixels, such as half pixel accuracy or quarter pixel accuracy. In the conventional PFGS algorithm, a predicted image created by motion compensation with an accuracy of, for example, 1/4 pixel is packed into integer pixels. Then, quantization is performed on the difference between the original image and the predicted image. In this case, packaging is the process of reconstructing a 4-x interpolated reference image into an image of its original size, performing motion estimation with an accuracy of 1/4 pixel. For example, during the packaging process, one out of every four pixels can be selected.
Однако, данные Δ на FGS уровне, которые должны квантоваться для быстрого PFGS согласно настоящему изобретению, как определено уравнением (7), которые приводят к малой эффективности сжатия, не должны подвергаться оценке движения с высокой пиксельной точностью. Оценка движения и компенсация применяются только к третьему члену (ΔМ + ΔN)/2 в правой стороне уравнения (7). Однако, поскольку третий член представляется как разности между опорными кадрами на промежуточном уровне, выполнение оценки движения и компенсации с высокой пиксельной точностью не дает высокой эффективности. То есть, поскольку результирующее разностное изображение между изображением на основном уровне с компенсированным движением с заранее определенной пиксельной точностью и изображением на уровне расширения с компенсированным движением с пиксельной точностью нечувствительно к пиксельной точности, быстрый алгоритм PFGS позволяет производить оценку движения и компенсацию с более низкой пиксельной точностью, чем обычный PFGS.However, the Δ data at the FGS level, which must be quantized for fast PFGS according to the present invention, as defined by equation (7), which lead to low compression efficiency, should not be subject to motion estimation with high pixel accuracy. Motion estimation and compensation apply only to the third term (Δ M + Δ N ) / 2 on the right side of equation (7). However, since the third term is represented as the difference between the reference frames at the intermediate level, performing motion estimation and compensation with high pixel accuracy does not give high efficiency. That is, since the resulting difference image between the image at the basic level with compensated motion with a predetermined pixel accuracy and the image at the expansion level with compensated motion with pixel accuracy is insensitive to pixel accuracy, the fast PFGS algorithm allows motion estimation and compensation with lower pixel accuracy than regular PFGS.
Согласно второму примеру варианта осуществления, Δ в уравнении (5) в первом примере варианта осуществления может быть также представлена как разность между прогнозированными сигналами PF и PВ, как показано в уравнении (8). PF и PВ равны (МF' + NF')/2 и (МВ' + NAccording to the second example of the embodiment, Δ in equation (5) in the first example of the embodiment can also be represented as the difference between the predicted signals P F and P B , as shown in equation (8). P F and P B are equal (M F '+ N F ') / 2 and (M B '+ N
Первый и второй примеры варианта осуществления отличаются друг от друга следующим образом. В первом примере варианта осуществления, разности ΔМ и ΔN между опорными изображениями уровня FGS и опорными изображениями основного уровня сначала вычисляются и затем делятся на 2. Во втором примере варианта осуществления разность PF-PВ между прогнозированным изображением PF уровня FGS и прогнозированным изображением PВ основного уровня вычисляется после вычисления прогнозированных изображений PF и PВ на этих двух уровнях. То есть, хотя быстрые алгоритмы PFGS, соответствующие первому и второму примерам вариантов осуществления, реализуются разными способами, может быть получен один и тот же результат вычисления (Δ).The first and second examples of the embodiment differ from each other as follows. In the first example of the embodiment, the differences Δ M and Δ N between the reference images of the FGS level and the reference images of the main level are first calculated and then divided by 2. In the second example of the embodiment, the difference P F -P B between the predicted image P F of the FGS level and the predicted image P In the main level is calculated after calculating the predicted images P F and P In these two levels. That is, although fast PFGS algorithms corresponding to the first and second examples of embodiments are implemented in different ways, the same calculation result (Δ) can be obtained.
Как в первом, так и во втором примерах вариантов осуществления, сначала выполняется компенсация движения, а затем вычисляется разность между изображениями. В третьем примере варианта осуществления настоящего изобретения, сначала может вычисляться разность между опорными изображениями на различных уровнях, а затем выполняться компенсация движения. Таким образом, в соответствии с третьим примером варианта осуществления настоящего изобретения, поскольку компенсация движения выполняется для разности, заполнение на границах мало влияет на результирующее изображение. Таким образом, процесс заполнения на границах может быть пропущен. Заполнение на границах является процессом дублирования пиксел, расположенных в непосредственной близости от границ, учитывая, что во время оценки движения совпадение блоков на границе кадра ограничивается.In both the first and second examples of embodiments, motion compensation is first performed, and then the difference between the images is calculated. In a third example of an embodiment of the present invention, the difference between the reference images at various levels can be calculated first, and then motion compensation can be performed. Thus, in accordance with a third example of an embodiment of the present invention, since motion compensation is performed for the difference, filling at the borders has little effect on the resulting image. Thus, the filling process at the borders can be skipped. Filling at borders is a process of duplicating pixels located in close proximity to borders, given that during motion estimation, coincidence of blocks at the frame boundary is limited.
В третьем примере варианта осуществления настоящего изобретения, разность Δ может быть определена уравнением (9):In a third example of an embodiment of the present invention, the difference Δ can be determined by equation (9):
где mc(.) означает функцию для выполнения компенсации движения.where mc (.) means a function to perform motion compensation.
В то время, как обычный PFGS используется для выполнения прямого прогнозирования (оценка движения и компенсация) для вычисления RF или RB, определяемых уравнением (3), быстрые алгоритмы PFGS, соответствующие примерам с первого по третий вариантов осуществления настоящего изобретения, используются для вычисления разности между прогнозированными изображениями или прогнозирования разности между опорными изображениями. Таким образом, характеристики быстрых PFGS настоящего изобретения лишь немного затрагиваются или являются нечувствительными к интерполяции, используемой для повышения пиксельной точности вектора движения.While conventional PFGS is used to perform direct prediction (motion estimation and compensation) to calculate R F or R B defined by equation (3), fast PFGS algorithms corresponding to Examples 1 through 3 of the present invention are used to calculate the difference between the predicted images or predicting the difference between the reference images. Thus, the fast PFGS characteristics of the present invention are only slightly affected or insensitive to the interpolation used to improve the pixel accuracy of the motion vector.
Таким образом, интерполяция с четвертью или половиной пиксела может быть пропущена. Кроме того, вместо полупиксельного интерполяционного фильтра, используемого в стандарте H.264 и требующего большого объема вычислений, может использоваться билинейный фильтр, требующий меньшего объема вычислений. Например, билинейный фильтр может применяться к третьим членам в правых частях уравнений (7)-(9). Это может уменьшить ухудшение характеристик по сравнению с тем, когда билинейный фильтр непосредственно применяется к прогнозированному сигналу для получения RF и RB как в обычном алгоритме PFGS.Thus, a quarter or half pixel interpolation can be skipped. In addition, instead of the half-pixel interpolation filter used in the H.264 standard and requiring a large amount of computation, a bilinear filter can be used that requires less computation. For example, a bilinear filter can be applied to the third terms in the right-hand sides of equations (7) - (9). This can reduce performance degradation compared to when a bilinear filter is directly applied to the predicted signal to obtain R F and R B as in the normal PFGS algorithm.
Принцип действия с первого по третий примеров вариантов осуществления настоящего изобретения основан на уравнении (3). Другими словами, реализация этих примеров вариантов осуществления начинается с допущения, что разность между разностью RF уровня FGS и разностью RB основного уровня должна быть кодированной. Однако, когда разность, полученная от уровня FGS, очень мала, то есть, когда временная корреляция очень близкая, вышеупомянутые быстрые алгоритмы PFGS, соответствующие первым трем примерам вариантов осуществления, могут значительно ухудшать характеристики кодирования. В этом случае, кодирование только разности, полученной от уровня FGS, то есть, RF в уравнении (3), может предложить лучшие характеристики кодирования. То есть, согласно четвертому примеру варианта осуществления настоящего изобретения, уравнения (7)-(9) могут быть преобразованы в уравнения (10)-(12), соответственно:The principle of operation from first to third examples of embodiments of the present invention is based on equation (3). In other words, the implementation of these examples of embodiments begins with the assumption that the difference between the difference R F of the FGS level and the difference R B of the main level must be encoded. However, when the difference obtained from the FGS level is very small, that is, when the time correlation is very close, the aforementioned fast PFGS algorithms corresponding to the first three examples of embodiments can significantly degrade the encoding performance. In this case, encoding only the difference obtained from the FGS level, that is, R F in equation (3), can offer better encoding characteristics. That is, according to a fourth example of an embodiment of the present invention, equations (7) to (9) can be converted to equations (10) to (12), respectively:
В уравнениях (10)-(12) восстановленное изображение O' основного уровня заменяется прогнозированным изображением PВ для изображения основного уровня. Конечно, интерполяция может не применяться к третьим членам в правой части уравнений (10)-(12), или для интерполяции может использоваться билинейный фильтр, требующий меньшего объема вычислений.In equations (10) - (12), the reconstructed main-level image O 'is replaced by the predicted image P B for the main-level image. Of course, interpolation may not apply to the third terms on the right-hand side of equations (10) - (12), or a bilinear filter that requires less computation may be used for interpolation.
Прогнозированное изображение PВ, встречающееся дважды в уравнении (11), не обязательно является одним и тем же. Оцененный вектор движения может использоваться во время компенсации движения для создания прогнозированного изображения PВ во втором члене. С другой стороны, для создания PВ и PF в третьем члене во время компенсации движения могут использоваться вектор движения с точностью, более низкой, чем у оцененного вектора движения, или фильтр, требующий меньшего объема вычислений (например, билинейный фильтр).The predicted image P B occurring twice in equation (11) is not necessarily the same. An estimated motion vector can be used during motion compensation to create a predicted image P B in the second term. On the other hand, to create P B and P F in the third term during motion compensation, a motion vector can be used with an accuracy lower than that of the estimated motion vector, or a filter that requires less computation (for example, a bilinear filter).
Алгоритм PFGS, в котором текущий кадр восстанавливается, используя оба восстановленные левый и правый опорные кадры, страдает от ошибки, вызванной дрейфом, когда ухудшение качества изображения как в левом, так и в правом опорных кадрах кумулятивно отражается в текущем кадре. Ошибка дрейфа может быть уменьшена с помощью технологии прогнозирования с пропусканием, использующей прогнозированное изображение, созданное взвешенной суммой прогнозированного изображения, полученного от обоих опорных кадров, и прогнозированного изображения, полученного от основного уровня.The PFGS algorithm, in which the current frame is restored using both the restored left and right reference frames, suffers from an error caused by drift when image quality deterioration in both the left and right reference frames is cumulatively reflected in the current frame. The drift error can be reduced using transmission prediction technology using a predicted image created by a weighted sum of the predicted image obtained from both reference frames and the predicted image obtained from the main level.
Согласно технологии прогнозирования с пропусканием, используемой в обычном PFGS, кодируемое на уровне FGS, выражается уравнением (13):According to the transmission prediction technology used in conventional PFGS, encoded at the FGS level, is expressed by equation (13):
Уравнение (13) может быть преобразовано в уравнение (14) в соответствии с пятым примером варианта осуществления настоящего изобретения:Equation (13) can be converted to equation (14) in accordance with a fifth example of an embodiment of the present invention:
Чтобы получить уравнение (14), весовой коэффициент α может применяться только к разности (PF - PB) между прогнозированными изображениями в уравнении (11). Таким образом, настоящее изобретение может также применяться к технологии прогнозирования с пропусканием. То есть, интерполяция может быть пропущена или интерполяция может быть применена к разности (PF - PB), используя билинейный фильтр, требующий меньший объем вычислений. В последнем случае, результат интерполяции умножается на весовой коэффициент α.To obtain equation (14), the weight coefficient α can only be applied to the difference (P F - P B ) between the predicted images in equation (11). Thus, the present invention can also be applied to transmission prediction technology. That is, interpolation can be skipped or interpolation can be applied to the difference (P F - P B ) using a bilinear filter that requires less computation. In the latter case, the result of the interpolation is multiplied by the weight coefficient α.
На фиг.4 показана блок-схема видеокодера 100, соответствующая первому примеру варианта осуществления настоящего изобретения.4 is a block diagram of a
Хотя изобретение описывается в отношении каждого блока как основного модуля оценки движения со ссылкой на фиг.1-3, быстрый алгоритм PFGS далее будет описан в отношении каждого кадра, содержащего блок. Для последовательности изложения, идентификатор блока обозначается для "F" нижним индексом, указывающим кадр. Например, кадр, содержащий блок с маркировкой RB, обозначается как FRB. И конечно, верхний штрих (') используется, чтобы обозначить восстановленные данные, полученные после квантования/инверсного квантования.Although the invention is described with respect to each block as a basic motion estimation module with reference to FIGS. 1-3, a quick PFGS algorithm will now be described with respect to each frame containing the block. For the sequence of presentation, the block identifier is indicated for “F” by a subscript indicating the frame. For example, a frame containing a block labeled R B is denoted as F RB . And of course, the top stroke (') is used to indicate the recovered data obtained after quantization / inverse quantization.
Текущий кадр Fо подается в устройство 105 оценки движения, вычитающее устройство 115 и устройство 170 вычисления разности.The current frame F o is supplied to the motion estimation device 105, the subtracting
Устройство 105 оценки движения выполняет оценку движения для текущего кадра Fо, используя соседние кадры, чтобы получить векторы движения MV. Соседние кадры, которые упоминаются во время оценки движения, в дальнейшем здесь называются "опорные кадры". Алгоритм согласования блоков (BMA) обычно используется для оценки движения заданного блока. В BMA заданный блок перемещается в пределах зоны поиска в опорном кадре с точностью до пиксела или доли пиксела и смещение с минимальной ошибкой определяется как вектор движения. Хотя для оценки движения используется движущийся блок фиксированного размера, оценка движения может делаться, используя технологию иерархического согласования блоков переменного размера (HVSBM).The motion estimation device 105 performs a motion estimation for the current frame F o using neighboring frames to obtain motion vectors MV. The adjacent frames that are mentioned during motion estimation are hereinafter referred to as “reference frames”. A block matching algorithm (BMA) is typically used to evaluate the motion of a given block. In BMA, a given block moves within the search zone in a reference frame accurate to a pixel or a fraction of a pixel, and the offset with a minimum error is defined as a motion vector. Although a motion block of a fixed size is used to estimate the motion, motion estimation can be done using the hierarchical matching of variable size blocks (HVSBM).
Когда оценка движения выполняется с точностью до долей пиксела, опорные кадры должны быть укрупнены или интерполированы до заранее определенной разрешающей способности. Например, когда оценка движения выполняется с точностями 1/2 и 1/4 пиксела, опорные кадры должны быть видоизменены или интерполированы с коэффициентом два и четыре, соответственно.When motion estimation is performed to within a fraction of a pixel, reference frames should be enlarged or interpolated to a predetermined resolution. For example, when motion estimation is performed with 1/2 and 1/4 pixel precision, the reference frames should be modified or interpolated with a factor of two and four, respectively.
Когда кодер 100 имеет структуру кодека с разомкнутым контуром, кадры FM и FN, граничащие с оригиналом, используются как опорные кадры. Когда кодер 100 имеет структуру кодека с замкнутым контуром, восстановленные соседние кадры FMB' и FNB' на основном уровне используются как опорные кадры. Хотя здесь принимается, что кодер 100 имеет структуру кодека с замкнутым контуром, кодер 100 может иметь структуру кодека с разомкнутым контуром.When the
Векторы движения MV, вычисленные устройством 105 оценки движения, передаются в компенсатор 110 движения. Компенсатор 110 движения выполняет компенсацию движения на опорных кадрах FMB' и FNB', используя векторы движения MV, и создает прогнозированный кадр FPB для текущего кадра. Когда используется двунаправленное прогнозирование, прогнозированное изображение может быть рассчитано как среднее значение опорных кадров с компенсированным движением. Когда используется однонаправленное прогнозирование, прогнозированное изображение может быть тем же самым, что и опорный кадр с компенсированным движением. Хотя здесь далее предполагается, что оценка движения и компенсация используют двунаправленные опорные кадры, специалистам в данной области техники должно быть очевидно, что настоящее изобретение может использовать однонаправленный опорный кадр.The motion vectors MV calculated by the motion estimation device 105 are transmitted to the
Вычитающее устройство 115 вычисляет разность FRB между прогнозированным изображением и текущим изображением для передачи на преобразователь 120.The
Преобразователь 120 выполняет пространственное преобразование разности FRB, чтобы создать коэффициент преобразования FRB T. Способ пространственного преобразования может содержать дискретное косинусное преобразование (DCT), или импульсное преобразование. Конкретно, коэффициенты DCT могут быть созданы в случае, когда используется DCT, и импульсные коэффициенты могут быть созданы в случае, когда разрешено импульсное преобразование.
Устройство 125 квантования применяет квантование к коэффициенту преобразования FRB T. Квантование означает процесс выражения коэффициентов преобразования, сформированных среди произвольных реальных значений с помощью дискретных значений, и согласование дискретных значений с индексами, соответствующими заранее определенной таблице квантования. Например, устройство 125 квантования может разделить реально оцененный коэффициент преобразования на шаг квантования с заранее определенным размером и округлить результирующее значение до ближайшего целого числа. В целом, размер шага квантования основного уровня больше, чем размер шага квантования уровня FGS.The quantizer 125 applies quantization to the transform coefficient F RB T. Quantization means the process of expressing transform coefficients generated among arbitrary real values using discrete values, and matching discrete values with indices corresponding to a predetermined quantization table. For example, quantization device 125 may divide the actually estimated transform coefficient into a quantization step with a predetermined size and round the resulting value to the nearest integer. In general, the quantization step size of the base layer is larger than the quantization step size of the FGS level.
Результат квантования, то есть, коэффициент квантования FRB Q, полученный устройством 125 квантования, подается на блок 150 статистического кодирования и устройство 130 инверсного квантования.The quantization result, that is, the quantization coefficient F RB Q obtained by the quantization device 125, is supplied to the statistical encoding unit 150 and the inverse quantization device 130.
Устройство 130 инверсного квантования осуществляет квантование коэффициента квантования FRB Q. Инверсное квантование означает процесс инверсного квантования для восстановления значений, совпадающих с индексами, созданными во время квантования, используя тот же самый шаг квантования, который использовался при квантовании.The inverse quantization device 130 quantizes the quantization coefficient F RB Q. Inverse quantization means the inverse quantization process to restore values that match the indices created during quantization using the same quantization step that was used in the quantization.
Инверсный преобразователь 135 принимает результат инверсного квантования и выполняет инверсное преобразование принятого результата. Инверсное пространственное преобразование может быть, например, инверсным DCT или инверсным импульсным преобразованием, выполненным в порядке, обратном тому, в котором преобразование было выполнено преобразователем 120. Сумматор 140 складывает инверсно преобразованный результат с прогнозированным изображением FPB, полученным от компенсатора 110 движения, чтобы создать восстановленное изображение.The inverse converter 135 receives the inverse quantization result and performs an inverse transformation of the received result. The inverse spatial transform may be, for example, an inverse DCT or an inverse pulse transform performed in the reverse order to that in which the transform was performed by the
В буфере 145 хранится результат сложения, принятый от сумматора 140. В буфере 145 хранится восстановленное изображение Fо' для текущего кадра, а также предварительно восстановленные опорные кадры FMB' и FNB' основного уровня.Buffer 145 stores the addition result received from
Преобразователь 155 вектора движения изменяет точность принятого вектора движения MV. Например, вектор движения MV с точностью 1/4 пиксела может иметь значение 0, 0,25, 0,5 или 0,75. Как описано выше, в соответствии с примерами вариантов осуществления настоящего изобретения, существует небольшое различие в характеристиках кодирования, когда компенсация движения на уровне FGS выполняется для вектора движения MV с более низкой пиксельной точностью, чем на основном уровне. Таким образом, преобразователь 155 вектора движения преобразует вектор движения MV с точностью 1/4 пиксела в вектор движения MV1 с пиксельной точностью, более низкой, чем точность в 1/4 пиксела, такой как 1/2 пиксела или 1 пиксел. Такая процедура преобразования может быть выполнена простым отбрасыванием или округлением десятичной части пиксельной точности для первоначального вектора движения.The motion vector transducer 155 changes the accuracy of the received motion vector MV. For example, the motion vector MV with an accuracy of 1/4 pixel may have a value of 0, 0.25, 0.5 or 0.75. As described above, in accordance with examples of embodiments of the present invention, there is a slight difference in coding characteristics when motion compensation at the FGS level is performed for the motion vector MV with lower pixel accuracy than at the main level. Thus, the motion vector converter 155 converts the motion vector MV with an accuracy of 1/4 pixel to the motion vector MV 1 with a pixel accuracy lower than the accuracy of 1/4 pixel, such as 1/2 pixel or 1 pixel. Such a conversion procedure can be performed by simply dropping or rounding the decimal part of the pixel accuracy for the initial motion vector.
Буфер 165 временно хранит эталонные кадры FMF', FNF' уровня FGS. Хотя на чертеже это не показано, восстановленные кадры FMF' и FNF' уровня FGS или первоначальный кадр, соседний с текущим кадром, могут использоваться в качестве опорных кадров уровня FGS.Buffer 165 temporarily stores reference frames F MF ' , F NF ' of the FGS level. Although not shown in the drawing, the reconstructed FGS frames F MF 'and F NF ' or the original frame adjacent to the current frame can be used as reference frames of the FGS level.
Компенсатор 160 движения использует преобразованный вектор движения MV1 для выполнения компенсации движения на восстановленных опорных кадрах FMB' и FNB' основного уровня, принятых от буфера 145, и восстановленных опорных кадрах FMF' и FNF' уровня FGS, принятых от буфера 165, и обеспечивает передачу кадров с компенсированным движением mc(FMB'), mc(FNB'), mc(FMF') и mc(FNF') в устройство 170 вычисления разности. FMF' и FNF' означают опорные предыдущий и последующий кадры на уровне FGS, соответственно. FMB' и FNB' означают опорные предыдущий и последующий кадры на основном уровне, соответственно.Motion compensator 160 uses the converted motion vector MV 1 to perform motion compensation on the reconstructed reference layer frames F MB ′ and F NB ′ received from the
Когда для компенсации движения требуется интерполяция, компенсатор 160 движения может использовать фильтр с другим типом интерполяции, чем фильтр, используемый для устройства 105 оценки движения или компенсатора 110 движения. Когда, например, используется вектор движения MV1 с точностью 1/2 пиксела, билинейный фильтр, требующий малого объема вычислений, может использоваться для интерполяции вместо шестиполюсного фильтра, используемого в стандарте H.264. Поскольку разность между кадром основного уровня с компенсированным движением и кадром уровня FGS с компенсированным движением вычисляется после интерполяции, процесс интерполяции мало влияет на эффективность сжатия.When interpolation is required for motion compensation, motion compensator 160 may use a filter with a different type of interpolation than the filter used for motion estimation device 105 or
Устройство 170 вычисления разности вычисляет разность между опорным кадром mc(FMF'), mc(FNF') уровня FGS с компенсированным движением и опорным кадром mc(FMB'), mc(FNB') основного уровня с компенсированным движением. То есть, устройство 170 вычисления разности вычисляет ΔМ = mc(FMF') - mc(FMB') и ΔN = mc(FNF') - mc(FNB'). Конечно, когда используется однонаправленный опорный кадр, может быть вычислена только одна разность.The
Затем, устройство 170 вычисления разности вычисляет среднее значение разностей ΔМ и ΔN и вычитает восстановленное изображение Fо' и среднее значение разностей ΔМ и Δ для текущего кадра Fо. Когда используется однонаправленный опорный кадр, процесс вычисления среднего значения не требуется.Then, the
Результат вычитания FΔ, полученный устройством 170 вычисления разности, подвергается пространственному преобразованию преобразователем 175 и затем квантуется устройством 180 квантования. Квантованный результат FΔ Q передается на блок 150 статистического кодирования. Размер шага квантования, используемый устройством 180 квантования, обычно меньше того, который используется в устройстве 125 квантования.The subtraction result F Δ obtained by the
Модуль 150 статистического кодирования без потерь кодирует вектор движения MV, оцененный устройством 105 оценки движения, коэффициент квантования FRB Q, принятый от устройства 125 квантования, и квантованный результат FΔ Q, принятый от устройства 180 квантования, в поток битов. Существует множество способов кодирования без потерь, в том числе, арифметическое кодирование, кодирование с переменной длиной и т.п.The lossless statistical encoding unit 150 encodes the motion vector MV estimated by the motion estimation device 105, the quantization coefficient F RB Q received from the quantizer 125, and the quantized result F Δ Q received from the quantizer 180 into a bit stream. There are many lossless coding methods, including arithmetic coding, variable length coding, etc.
Альтернативно, хотя это не показано на чертеже, видеокодер, соответствующий второму примеру варианта осуществления настоящего изобретения, может иметь ту же самую конфигурацию и работать как видеокодер 100, показанный на фиг. 4, за исключением устройства вычисления разности.Alternatively, although not shown, the video encoder corresponding to the second example of the embodiment of the present invention may have the same configuration and operate as the
То есть, устройство вычисления разности в соответствии со вторым примером варианта осуществления настоящего изобретения создает прогнозированный кадр для каждого уровня перед вычислением разности между кадрами на различных уровнях. Другими словами, устройство вычисления разности создает прогнозированный кадр уровня FGS и прогнозированный кадр основного уровня, используя опорный кадр уровня FGS с компенсированным движением и опорный кадр основного уровня с компенсированным движением. Прогнозированный кадр может быть рассчитан простым усреднением двух опорных кадров с компенсированным движением. Конечно, когда используется однонаправленное прогнозирование, кадр с компенсированным движением может быть самим прогнозированным кадром.That is, a difference calculating device according to a second example of an embodiment of the present invention creates a predicted frame for each level before calculating the difference between frames at different levels. In other words, the difference calculating device creates a predicted frame of the FGS layer and a predicted frame of the main level using the reference frame of the FGS level with compensated motion and the reference frame of the main level with compensated motion. The predicted frame can be calculated by simply averaging two reference frames with compensated movement. Of course, when unidirectional prediction is used, the frame with compensated motion may be the predicted frame itself.
Устройство вычисления разности затем вычисляет разность между прогнозированными кадрами и вычитает восстановленное изображение и вычисленную разность из текущего кадра.The difference calculator then calculates the difference between the predicted frames and subtracts the reconstructed image and the calculated difference from the current frame.
На фиг.5 показана блок-схема видеокодера 300, соответствующего третьему примеру варианта осуществления настоящего изобретения. Со ссылкой на фиг.5, в то время как в первом и втором примерах вариантов осуществления разность между опорным изображением основного уровня и опорным изображением уровня FGS вычисляется после выполнения компенсации движения, показанный видеокодер 300 выполняет компенсацию движения после вычисления разности между опорными кадрами на этих двух уровнях. Во избежание повторного объяснения, приведенное далее описание сосредоточит внимание на отличительных признаках между первым и вторым примерами вариантов осуществления.5 is a block diagram of a
Вычитающее устройство 390 вычитает восстановленные опорные кадры FMB' и FNB' основного уровня, которые приняты от буфера 345, из опорных кадров FMF' и FNF' уровня FGS, которые приняты от буфера 365, и обеспечивает передачу результатов вычитания FMF' - FMB' и FNF' - FNB' на компенсатор движения 360. Когда используется однонаправленный опорный кадр, существует только одна разность.
Компенсатор 360 движения использует измененный вектор движения MV1, принятый от преобразователя 355 вектора движения, для выполнения компенсации движения на разностях FMF' - FMB' и FNF' - FNB' между опорным кадром уровня FGS и опорным кадром основного уровня, принятыми от вычитающего устройства 390. Когда во время компенсации движения используется вектор движения MV1 с точностью 1/2 пиксела, для интерполяции может использоваться билинейный фильтр, требующий небольшого объема вычислений, вместо шестиполюсного фильтра, используемого в стандарте H.264. Как описано выше, интерполяция мало влияет на эффективность сжатия.The motion compensator 360 uses the modified motion vector MV 1 received from the motion vector converter 355 to perform motion compensation on the differences F MF '- F MB ' and F NF '- F NB ' between the reference frame of the FGS level and the reference frame of the main level received from
Устройство 370 вычисления разности вычисляет среднее значение между разностями (FMF'-FMB') и (FNF'-FNB') компенсированного движения и вычитает восстановленное изображение Fо' и среднее значение из текущего кадра Fо. Когда используется однонаправленный опорный кадр, процесс усреднения не требуется.The difference calculator 370 calculates an average value between the differences (F MF '-F MB ') and (F NF '-F NB ') of the compensated movement and subtracts the reconstructed image F o 'and the average value from the current frame F o . When a unidirectional reference frame is used, an averaging process is not required.
На фиг.6 и 7 показаны блок-схемы примеров видеокодеров 400 и 600, соответствующих четвертому примеру варианта осуществления настоящего изобретения. Обращаясь сначала к фиг.6, в отличие от первого примера варианта осуществления, показанного на фиг.4, устройство 470 вычисления разности в видеокодере 400 примера варианта осуществления вычитает прогнозированный кадр FPB основного уровня вместо восстановленного кадра Fо' основного уровня из текущего кадра Fо.6 and 7 are block diagrams of examples of
Видеокодеры 400 и 600 четвертого примера варианта осуществления, показанные на фиг.6 и 7, соответствуют фиг.4 и 5, показывающим видеокодеры 100 и 300 первого и третьего примеров вариантов осуществления. Обращаясь сначала к фиг.6, устройство 470 вычисления разности вычитает прогнозированное изображение FPB основного уровня, принятое от компенсатора 410 движения, вместо восстановленного изображения Fо' основного уровня, из текущего кадра. Таким образом, устройство 470 вычисления разности вычитает прогнозированное изображение FPB и среднее значение разностей ΔМ и ΔN из текущего кадра Fо, чтобы получить результат вычитания FΔ.The
Точно так же, со ссылкой на фиг.7, устройство 670 вычисления разности вычитает прогнозированное изображение FPB и среднее значение разностей компенсированного движения mc(FMF' - FMB') и mc(FNF' - FNB') из текущего кадра Fо, чтобы получить результат вычитания FΔ.Similarly, with reference to FIG. 7, the difference calculator 670 subtracts the predicted image F PB and the average value of the differences of the compensated movement mc (F MF '- F MB ') and mc (F NF '- F NB ') from the current frame F about to get the result of subtraction F Δ .
Пример видеокодера, соответствующего четвертому примеру варианта осуществления, совпадающего со вторым примером варианта осуществления (не показан), может иметь ту же самую конфигурацию и выполнять ту же самую операцию, как показано на фиг.6, за исключением операции, выполняемой устройством 470 вычисления разности. В видеокодере четвертого примера варианта осуществления, соответствующего второму примеру варианта осуществления, устройство 470 вычисления разности создает прогнозированный кадр FPB уровня FGS и прогнозированный кадр FBF основного уровня, используя опорный кадр mc(FMF'), mc(FNF') с компенсированным движением уровня FGS и опорный кадр mc(FMB'), mc(FNB') с компенсированным движением основного уровня, соответственно. Устройство 470 вычисления разности также вычисляет разность FPF - FPB между прогнозированными кадрами FPF и FPB и вычитает восстановленное изображение Fо' и разность FPF - FPB из текущего кадра F, чтобы получить результат вычитания FΔ.An example of a video encoder corresponding to a fourth example of an embodiment matching the second example of an embodiment (not shown) may have the same configuration and perform the same operation as shown in FIG. 6, except for the operation performed by the
Если применяется прогнозирование с пропусканием, устройство вычисления разности 470 умножает весовой коэффициент α на разность FPF - FPB и вычитает восстановленное изображение Fо' и произведение (α × (FPF - FPB) из текущего кадра Fо, чтобы получить результат вычитания FΔ.If transmission prediction is used, the
На фиг.8 показана блок-схема видеодекодера 700, соответствующая первому примеру варианта осуществления настоящего изобретения. Со ссылкой на фиг.8, блок 701 статистического декодирования без потерь декодирует входящий поток битов, чтобы извлечь данные текстуры FPB Q основного уровня, данные текстуры FΔ Q уровня FGS и векторы движения MV. Декодирование без потерь является инверсным процессом кодирования без потерь.FIG. 8 shows a block diagram of a
Данные текстуры FPB Q основного уровня и данные текстуры FΔ Q уровня FGS подаются на устройства 705 и 745 инверсного квантования, соответственно, и векторы движения MV подаются на компенсатор 720 движения и преобразователь 730 вектора движения.The ground level texture data F PB Q and the FGS level texture data F Δ Q are supplied to inverse quantization devices 705 and 745, respectively, and the motion vectors MV are supplied to the motion compensator 720 and the
Устройство 705 инверсного квантования применяет инверсное квантование к данным текстуры FPB Q основного уровня, принятым от блока 701 статистического декодирования. Инверсное квантование выполняется в порядке, обратном порядку квантования, выполненному преобразователем, чтобы восстановить значения, совпадающие с индексами, созданными во время квантования в соответствии с заранее определенным шагом квантования, используемым при квантовании.The inverse quantization device 705 applies inverse quantization to the main layer texture data F PB Q received from the
Инверсный преобразователь 710 выполняет инверсное преобразование инверсного квантованного результата. Инверсное преобразование выполняется в порядке, обратном порядку преобразования, выполненному преобразователем. Конкретно, может использоваться инверсное DCT-преобразование или инверсное импульсное преобразование.
Восстановленная разность FRB' подается на сумматор 715.The reconstructed difference F RB 'is supplied to the
Компенсатор 720 движения выполняет компенсацию движения на предварительно восстановленных опорных кадрах FMB' и FNB' основного уровня, хранящихся в буфере 725, используя извлеченные векторы движения MV для создания прогнозированного изображения FPB, которое затем посылается на сумматор 715.The motion compensator 720 performs motion compensation on the previously reconstructed reference frames F MB ′ and F NB ′ stored in the
Когда используется двунаправленное прогнозирование, прогнозированное изображение FPB вычисляется путем усреднения опорных кадров с компенсированным движением. При использовании однонаправленного прогнозирования, прогнозированное изображение FPB получается как опорный кадр с компенсированным движением.When bidirectional prediction is used, the predicted image F PB is calculated by averaging reference frames with compensated motion. When using unidirectional prediction, the predicted image F PB is obtained as a reference frame with compensated movement.
Сумматор 715 складывает входные кадры FRB и FPB, чтобы получить на выходе восстановленное изображение Fо', которое затем сохраняется в буфере 725.An
Инверсное устройство 745 квантования применяет инверсное квантование к данным текстуры FΔ Q уровня FGS, а инверсный преобразователь 750 выполняет инверсное преобразование инверсно квантованного результата FΔ Т, чтобы получить восстановленный кадр FΔ (FΔ'), который затем подается на устройство 755 восстановления кадров.The inverse quantizer 745 applies inverse quantization to FGS level texture data F Δ Q , and the inverse transformer 750 inverts the inverse quantized result F Δ T to obtain a reconstructed frame F Δ (F Δ '), which is then supplied to the
Преобразователь 730 вектора движения понижает точность извлеченного вектора движения MV. Например, вектор движения MV с точностью 1/4 пиксела может иметь точность 0, 0,25, 0,5 или 0,75 пиксела. Преобразователь 730 вектора движения изменяет вектор движения MV с точностью 1/4 пиксела в вектор движения MV1 с точностью, меньшей, чем 1/4 пиксела, такой как 1/2 пиксела или 1 пиксел.
Компенсатор 735 движения использует измененный вектор движения MV1, чтобы выполнить компенсацию движения на восстановленных опорных кадрах FMB' и FNB основного уровня, принятых от буфера 725, и на восстановленных опорных кадрах FMF' и FNF' уровня FGS, принятых от буфера 740, и подает кадр mc(FMB'), mc(FNB') основного уровня с компенсированным движением и кадр mc(FMF'), mc(FNF') уровня FGS с компенсированным движением на устройство 755 восстановления кадров.The
Когда вектор движения MV с точностью, например, 1/2 пиксела используется во время компенсации движения, билинейный фильтр, требующий небольшого объема вычислений, может использоваться для интерполяции вместо шестиполюсного фильтра, используемого в стандарте H.264. Процесс интерполяции мало влияет на эффективность сжатия.When the MV motion vector with an accuracy of, for example, 1/2 pixel is used during motion compensation, a bilinear filter that requires little computation can be used for interpolation instead of the six-pole filter used in the H.264 standard. The interpolation process has little effect on compression efficiency.
Устройство 755 восстановления кадров вычисляет разность ΔМ между опорными кадрами с компенсированным движением уровня FGS и основного уровня mc(FMF') и mc(FMB'), то есть ΔМ = mc(FMF') - mc(FMB') и разность между опорными кадрами с компенсированным движением уровня FGS и основного уровня mc(FNF') и mc(FNB'), то есть, ΔN = mc(FNF') - mc(FNB'). Конечно, когда используется однонаправленный опорный кадр, может быть вычислена только одна разность.The
Устройство 755 восстановления кадров также вычисляет среднее значение разностей ΔМ и ΔN и складывает среднее значение, FΔ', и восстановленное изображение Fо' основного уровня, чтобы создать восстановленное изображение FOF' уровня FGS. Когда используется однонаправленный опорный кадр, процесс усреднения не требуется.The
Буфер 740 затем хранит восстановленное изображение FOF'. Конечно, предварительно восстановленные изображения FMF' и FBF' могут быть сохранены в буфере 740.Buffer 740 then stores the reconstructed image F OF '. Of course, pre-reconstructed images F MF 'and F BF ' can be stored in
Альтернативно, видеодекодер, соответствующий второму примеру варианта осуществления настоящего изобретения, может иметь ту же самую конфигурацию и выполнять ту же самую операцию, как показано на фиг. 8, за исключением операции, выполняемой устройством восстановления кадров. То есть, устройство восстановления кадров, соответствующее второму примеру варианта осуществления, создает прогнозированный кадр для каждого уровня перед вычислением разности между кадрами на этих двух уровнях. То есть, можно сказать, что устройство восстановления кадров создает прогнозированный кадр на уровне FGS и прогнозированный кадр на основном уровне, используя опорные кадры уровня FGS с компенсированным движением и кадры основного уровня с компенсированным движением. Прогнозированные кадры могут быть созданы простым усреднением двух опорных кадров с компенсированным движением. Конечно, когда используется однонаправленное прогнозирование, прогнозированный кадр является самим кадром с компенсированным движением.Alternatively, the video decoder corresponding to the second example of an embodiment of the present invention may have the same configuration and perform the same operation as shown in FIG. 8, except for the operation performed by the frame recovery apparatus. That is, the frame recovery device according to the second example of the embodiment creates a predicted frame for each level before calculating the difference between frames at these two levels. That is, we can say that the frame recovery device creates a predicted frame at the FGS level and a predicted frame at the main level using reference frames of the FGS level with compensated motion and frames of the main level with compensated motion. Predicted frames can be created by simply averaging two reference frames with compensated movement. Of course, when using unidirectional prediction, the predicted frame is the frame itself with the compensated movement.
Устройство восстановления кадров затем вычисляет разность между прогнозированными кадрами и складывает вместе данные текстуры, восстановленный кадр основного уровня и разность.The frame recovery device then calculates the difference between the predicted frames and adds together the texture data, the reconstructed main level frame, and the difference.
На фиг.9 показана блок-схема видеодекодера 900, соответствующая третьему примеру варианта осуществления настоящего изобретения. Со ссылкой на фиг.9, в отличие от первого и второго примеров вариантов осуществления, в которых компенсация движения выполняется до вычисления разности между опорным изображением уровня FGS и опорным изображением основного уровня, видеодекодер 900 выполняет компенсацию движения после вычисления разности между опорными кадрами на этих двух уровнях. Во избежание повторного объяснения, последующее описание сосредоточит внимание на отличительных признаках первого примера варианта осуществления, показанного на фиг.4.FIG. 9 shows a block diagram of a
Вычитающее устройство 960 вычитает восстановленные опорные кадры FMB' и FNB' основного уровня, принятые от буфера 925 из опорных кадров FMF', FNF' уровня FGS, и подает результаты вычитания FMF' - FMB' и FNF' - FNB' на компенсатор 935 движения. Когда используется однонаправленный опорный кадр, существует только одна разность.
Компенсатор 935 движения использует измененный вектор движения MV1, принятый от преобразователя 930 вектора движения, чтобы выполнить компенсацию движения на разностях FMF' - FMB' и FNF' - FNB' между опорными кадрами на уровне FGS и на основном уровне, принятыми от вычитающего устройства 960. Когда во время компенсации движения используется вектор движения MV1 с точностью 1/2, для интерполяции может использоваться билинейный фильтр, требующий малого объема вычислений, вместо шестиполюсного фильтра, используемого в стандарте H.264. Как описано выше, интерполяция мало влияет на эффективность сжатия.The
Устройство 955 восстановления кадров вычисляет среднее значение разностей компенсированного движения, то есть, среднее значение между mc(FMF' - FMB') и mc(FNF' - FNB') и складывает с вычисленным средним значением, FΔ', принятым от инверсного преобразователя 950, и восстановленным изображением Fо' основного уровня. При использовании однонаправленного опорного кадра процесс усреднения не требуется.The
На фиг.10 и 11 показаны блок-схемы примеров видеодекодеров 1000 и 1200, соответствующих четвертому примеру варианта осуществления настоящего изобретения.10 and 11 are block diagrams of examples of
Со ссылкой на фиг.10 и 11, соответствующую фиг.8 и 9, показывающих видеодекодеры 700 и 900, соответствующие первому и третьему примерам вариантов осуществления, устройства 1055 и 1255 восстановления кадров прибавляют прогнозированный кадр FPB основного уровня вместо восстановленного кадра Fо' основного уровня.With reference to FIGS. 10 and 11, corresponding to FIGS. 8 and 9, showing
Видеодекодеры 1000 и 1200 четвертого примера варианта осуществления, показанного на фиг.10 и 11, соответствуют декодерам первого и третьего примеров вариантов осуществления, показанных на фиг.8 и 9, соответственно.The
Со ссылкой сначала на фиг.10, соответствующую фиг.8, компенсатор 1020 движения подает опорное изображение FPB основного уровня на устройство 1055 восстановления кадров вместо восстановленного изображения Fо'. Таким образом, устройство 470 восстановления кадров складывает вместе FΔ', полученный от инверсного преобразователя 1050, прогнозированное изображение FPB основного уровня и среднее значение разностей ΔМ и ΔN для получения восстановленного изображения FOF' основного уровня.With reference first to FIG. 10 corresponding to FIG. 8, the motion compensator 1020 supplies the reference layer image F PB to the
Точно так же, со ссылкой на фиг.11, устройство 1255 восстановления файлов складывает вместе FΔ', принятый от инверсного преобразователя 1250, прогнозированное изображение FPB основного уровня, принятое от компенсатора 1220 движения, и среднее значение разностей mc(FMF' - FMB') и mc(FNF' - FNB') с компенсированным движением, чтобы получить восстановленное изображение FOF' основного уровня.Similarly, with reference to FIG. 11, the
Между тем, видеодекодер четвертого примера варианта осуществления, соответствующий видеодекодеру второго примера варианта осуществления (не показан), может иметь ту же самую конфигурацию и выполнять ту же самую операцию, как показано на фиг.8, за исключением операции, выполняемой устройством 1255 восстановления кадров. В видеодекодере четвертого примера варианта осуществления, соответствующего второму примеру варианта осуществления, устройство 1255 восстановления кадров создает прогнозированный кадр FPF уровня FGS и прогнозированный кадр FBF основного уровня, используя опорные кадры mc(FMF') и mc(FNF') уровня FGS с компенсированным движением и опорные кадры mc(FMB'), mc(FNB') основного уровня с компенсированным движением. Устройство 1255 восстановления кадров также вычисляет разность FPF-FPB между прогнозированным кадром FP уровня FGS и прогнозированным кадром FPB основного уровня и складывает с Fо', принятым от инверсного преобразователя 1250, прогнозированным изображением FPB, принятым от компенсатора 1220 движения, и разностью FPF-FPB, чтобы получить восстановленное изображение FOF'.Meanwhile, the video decoder of the fourth example embodiment, corresponding to the video decoder of the second example of the embodiment (not shown), can have the same configuration and perform the same operation as shown in Fig. 8, except for the operation performed by the
При применении прогнозирования с пропусканием (пятый пример варианта осуществления) устройство 1255 восстановления кадров умножает весовой коэффициент α на разность FPF-FPB промежуточного слоя и складывает вместе FΔ' Fо' произведение α x (FPF-FPB), чтобы получить FOF'.When applying transmission prediction (fifth example of an embodiment), the
На фиг.12 показана блок-схема системы для выполнения процесса кодирования или декодирования, используя видеокодер 100, 300, 400, 600 или видеодекодер 700, 900, 1000, 1200 в соответствии с примером вариантов осуществления настоящего изобретения. Система может быть телевизором, компьютерной приставкой к телевизору (STB), настольным компьютером, ноутбуком или портативным компьютером, специализированным карманным компьютером (PDA), устройством хранения видеоинформации или изображений (например, видеомагнитофон или устройство цифровой видеозаписи). Система может быть комбинацией устройств, перечисленных выше, или другим устройством, содержащим их в себе. Кроме того, система может быть комбинацией вышеупомянутых устройств или одним из устройств, которое содержит в себе часть другого устройства из перечисленных. Система содержит, по меньшей мере, один источник 1310 видеосигнала, по меньшей мере, один модуль 1320 ввода-вывода, процессор 1340, запоминающее устройство 1350 и дисплейный блок 1330.12 is a block diagram of a system for performing an encoding or decoding process using a
Источник 1310 видеосигнала может быть телевизионным приемником, видеомагнитофоном или другим устройством, хранящим видеоинформацию. Источник 1310 видеосигнала может означать, по меньшей мере, одно сетевое подключение для приема видеоинформации или изображения от сервера, использующего Интернет, глобальную сеть (WAN), локальную сеть (LAN), территориальную радиовещательную систему, кабельную сеть, сеть спутниковых связей, радиосеть, телефонную сеть или подобное. Кроме того, источник 1310 видеосигнала может быть комбинацией сетей или одной сетью, содержащей часть другой сети среди сетей.The video source 1310 may be a television receiver, VCR, or other device that stores video information. Video source 1310 may mean at least one network connection for receiving video information or images from a server using the Internet, wide area network (WAN), local area network (LAN), territorial broadcasting system, cable network, satellite communications network, radio network, telephone network or the like. In addition, the video source 1310 may be a combination of networks or one network containing a portion of another network among networks.
Устройство 1320 ввода-вывода, процессор 1340 и запоминающее устройство 1350 связываются друг с другом через среду 1360 связи. Среда 1360 связи может быть шиной связи, сетью связи или, по меньшей мере, одной внутренней схемой связи. Входные видеоданные, принятые от источника 1310 видеосигнала, могут быть обработаны процессором 1340, используя, по меньшей мере, одну программу, которая хранится в запоминающем устройстве 1350 и может быть выполнена процессором 1340, чтобы создать выходные видеоданные, подаваемые на дисплейный блок 1330.An input /
В частности, программа, хранящаяся в запоминающем устройстве 1350, содержит в себе масштабируемый на импульсной основе кодек, выполняющий способ настоящего изобретения. Кодек может храниться в запоминающем устройстве 1350, может считываться с носителя данных, такого как постоянное запоминающее устройство на компакт-диске (CD-ROM) или дискета, или может быть загружен с заранее определенного сервера через множество сетей.In particular, the program stored in the
Промышленная применимостьIndustrial applicability
Как описано выше, настоящее изобретение обеспечивает видеокодирование, которое может значительно снизить объем вычислений, требующихся для осуществления алгоритма PFGS. Поскольку, согласно настоящему изобретению, процесс декодирования изменяется в соответствии с процессом видеокодирования, настоящее изобретение может применяться к стандартизированному документу H.264 SE.As described above, the present invention provides video coding, which can significantly reduce the amount of computation required to implement the PFGS algorithm. Since, according to the present invention, the decoding process is changed in accordance with the video encoding process, the present invention can be applied to a standardized H.264 SE document.
Хоты настоящее изобретение было показано и описано, в частности, со ссылкой на примеры его вариантов осуществления, специалистам в данной области техники должно быть понятно, что в форме и деталях в нем могут быть сделаны различные изменения без отхода от объема и сущности настоящего изобретения, как они определяются приведенной ниже формулой изобретения.Although the present invention has been shown and described, in particular with reference to examples of its embodiments, it will be understood by those skilled in the art that various changes can be made in the form and details without departing from the scope and spirit of the present invention, as they are defined by the claims below.
Claims (49)
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US67592105P | 2005-04-29 | 2005-04-29 | |
| KR1020050052428A KR100703778B1 (en) | 2005-04-29 | 2005-06-17 | Video coding method and apparatus supporting high speed FPS |
| KR10-2005-0052428 | 2005-06-17 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| RU2340115C1 true RU2340115C1 (en) | 2008-11-27 |
Family
ID=37308152
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| RU2007139817/09A RU2340115C1 (en) | 2005-04-29 | 2006-04-20 | Method of coding video signals, supporting fast algorithm of precise scalability on quality |
Country Status (6)
| Country | Link |
|---|---|
| EP (1) | EP1878261A1 (en) |
| JP (1) | JP2008539646A (en) |
| AU (1) | AU2006241637A1 (en) |
| CA (1) | CA2609648A1 (en) |
| RU (1) | RU2340115C1 (en) |
| WO (1) | WO2006118383A1 (en) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2573279C2 (en) * | 2011-03-10 | 2016-01-20 | Ниппон Телеграф Энд Телефон Корпорейшн | Quantisation control device and method and quantisation control programme |
| RU2599935C2 (en) * | 2012-04-26 | 2016-10-20 | Сони Корпорейшн | Data encoding and decoding |
| RU2607998C2 (en) * | 2012-03-28 | 2017-01-11 | ДжейВиСи КЕНВУД КОРПОРЕЙШН | Image encoding device, image encoding method and image encoding program, as well as image decoding device, image decoding method and image decoding program |
| RU2665299C1 (en) * | 2009-08-14 | 2018-08-28 | Самсунг Электроникс Ко., Лтд. | Device and method of coding video and device and method of decoding video based on hierarchical information on the structure of a coded block |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI499304B (en) * | 2007-07-02 | 2015-09-01 | Nippon Telegraph & Telephone | Scalable video encoding method and decoding method, apparatuses therefor, programs therefor, and storage media for storing the programs |
| JP5381571B2 (en) * | 2009-09-29 | 2014-01-08 | 株式会社Jvcケンウッド | Image encoding device, image decoding device, image encoding method, and image decoding method |
| EP2903285A4 (en) * | 2012-09-28 | 2016-06-01 | Sharp Kk | Image decoding device and image encoding device |
| US20250301142A1 (en) * | 2019-03-20 | 2025-09-25 | V-Nova International Limited | Modified upsampling for video coding technology |
| GB2617304B (en) * | 2019-03-20 | 2024-04-03 | V Nova Int Ltd | Residual filtering in signal enhancement coding |
| CN114071156B (en) * | 2021-11-16 | 2025-05-13 | 广东博华超高清创新中心有限公司 | A DVS data generation method based on AVS motion estimation coding |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2001123542A (en) * | 1999-11-23 | 2003-06-27 | Конинклейке Филипс Электроникс Н.В. | HYBRID FINE-SCALED SCALED VIDEO-CODING WITH TIME-DEPENDENT SIGNAL / NOISE RATIO |
| US6614936B1 (en) * | 1999-12-03 | 2003-09-02 | Microsoft Corporation | System and method for robust video coding using progressive fine-granularity scalable (PFGS) coding |
| WO2003101116A1 (en) * | 2002-05-28 | 2003-12-04 | Koninklijke Philips Electronics N.V. | Improved efficiency fgst framework employing higher quality reference frames |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6639943B1 (en) * | 1999-11-23 | 2003-10-28 | Koninklijke Philips Electronics N.V. | Hybrid temporal-SNR fine granular scalability video coding |
-
2006
- 2006-04-20 CA CA002609648A patent/CA2609648A1/en not_active Abandoned
- 2006-04-20 WO PCT/KR2006/001471 patent/WO2006118383A1/en not_active Ceased
- 2006-04-20 JP JP2008508745A patent/JP2008539646A/en active Pending
- 2006-04-20 EP EP06747382A patent/EP1878261A1/en not_active Withdrawn
- 2006-04-20 AU AU2006241637A patent/AU2006241637A1/en not_active Abandoned
- 2006-04-20 RU RU2007139817/09A patent/RU2340115C1/en not_active IP Right Cessation
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2001123542A (en) * | 1999-11-23 | 2003-06-27 | Конинклейке Филипс Электроникс Н.В. | HYBRID FINE-SCALED SCALED VIDEO-CODING WITH TIME-DEPENDENT SIGNAL / NOISE RATIO |
| US6614936B1 (en) * | 1999-12-03 | 2003-09-02 | Microsoft Corporation | System and method for robust video coding using progressive fine-granularity scalable (PFGS) coding |
| WO2003101116A1 (en) * | 2002-05-28 | 2003-12-04 | Koninklijke Philips Electronics N.V. | Improved efficiency fgst framework employing higher quality reference frames |
Non-Patent Citations (1)
| Title |
|---|
| V.D. SCHAAR M. AND RADHA H. Adaptive motion-compensation fine-granular-scalability (AMC-FGS) for wireless video. IEEE Transactions on circuits and systems for video technology. Vol.12, №6, June 2002, c.360-371. WANG Q. et al. Optimal rate allocation for progressive fine granularity scalable video coding. IEEE Signal processing letters. vol.9, №2, February 2002, c.33-39. YILIANG BAO et al. Improvements to Fine Granularity Scalability for Low-Delay Applications. ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 Q.6, 15th Meeting: Bussan, Korea, 18-22 April, 2005. HSIANG-CHUN HUANG et al. A robust fine granularity scalability using trellis-based predictive leak. Circuits and Systems for Video Technology. IEEE Transactions on Volume 12, Issue 6, Jun 2002, c.372-385. * |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2665299C1 (en) * | 2009-08-14 | 2018-08-28 | Самсунг Электроникс Ко., Лтд. | Device and method of coding video and device and method of decoding video based on hierarchical information on the structure of a coded block |
| RU2573279C2 (en) * | 2011-03-10 | 2016-01-20 | Ниппон Телеграф Энд Телефон Корпорейшн | Quantisation control device and method and quantisation control programme |
| US9906803B2 (en) | 2011-03-10 | 2018-02-27 | Nippon Telegraph And Telephone Corporation | Quantization control apparatus and method, and quantization control program |
| RU2607998C2 (en) * | 2012-03-28 | 2017-01-11 | ДжейВиСи КЕНВУД КОРПОРЕЙШН | Image encoding device, image encoding method and image encoding program, as well as image decoding device, image decoding method and image decoding program |
| RU2607998C9 (en) * | 2012-03-28 | 2017-07-07 | ДжейВиСи КЕНВУД КОРПОРЕЙШН | Picture coding device, picture coding method, and picture coding program, and picture decoding device, picture decoding method, and picture decoding program |
| RU2647693C1 (en) * | 2012-03-28 | 2018-03-16 | ДжейВиСи КЕНВУД КОРПОРЕЙШН | Decoding device and a method of decoding image |
| RU2647693C9 (en) * | 2012-03-28 | 2018-09-03 | ДжейВиСи КЕНВУД КОРПОРЕЙШН | Picture decoding device and picture decoding method |
| RU2599935C2 (en) * | 2012-04-26 | 2016-10-20 | Сони Корпорейшн | Data encoding and decoding |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2008539646A (en) | 2008-11-13 |
| EP1878261A1 (en) | 2008-01-16 |
| CA2609648A1 (en) | 2006-11-09 |
| AU2006241637A1 (en) | 2006-11-09 |
| WO2006118383A1 (en) | 2006-11-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR100703778B1 (en) | Video coding method and apparatus supporting high speed FPS | |
| KR100714696B1 (en) | Video coding method and apparatus using multi-layer weighted prediction | |
| KR100703760B1 (en) | Method and apparatus for video encoding / decoding using temporal level motion vector prediction | |
| KR100714689B1 (en) | Method for multi-layer based scalable video coding and decoding, and apparatus for the same | |
| KR100703788B1 (en) | Multi-layered Video Encoding Method Using Smooth Prediction, Decoding Method, Video Encoder and Video Decoder | |
| KR100763182B1 (en) | Method and apparatus for coding video using weighted prediction based on multi-layer | |
| KR20060135992A (en) | Method and apparatus for coding video using weighted prediction based on multi-layer | |
| KR101098739B1 (en) | Apparatus and method for encoding/decoding a video signal | |
| US20060120448A1 (en) | Method and apparatus for encoding/decoding multi-layer video using DCT upsampling | |
| US20070047644A1 (en) | Method for enhancing performance of residual prediction and video encoder and decoder using the same | |
| KR100763179B1 (en) | Method for compressing/Reconstructing motion vector of unsynchronized picture and apparatus thereof | |
| RU2340115C1 (en) | Method of coding video signals, supporting fast algorithm of precise scalability on quality | |
| JP2005160084A (en) | Moving picture processing apparatus and method for realizing SNR (signal tonoise ratio) scalability | |
| KR20040062257A (en) | Advanced method and apparatus for noise estimation based on motion compensation, and method and apparatus for encoding video using noise estimation based on motion compensation | |
| KR20090090152A (en) | Image encoding and decoding method and apparatus | |
| KR0178221B1 (en) | Improved Pattern Vector Coding System Using Average Values of Pixels | |
| EP1878252A1 (en) | Method and apparatus for encoding/decoding multi-layer video using weighted prediction | |
| WO2007024106A1 (en) | Method for enhancing performance of residual prediction and video encoder and decoder using the same | |
| US20060088100A1 (en) | Video coding method and apparatus supporting temporal scalability | |
| WO2006132509A1 (en) | Multilayer-based video encoding method, decoding method, video encoder, and video decoder using smoothing prediction | |
| KR100962332B1 (en) | Scalable video encoding apparatus and method | |
| KR20050074151A (en) | Method for selecting motion vector in scalable video coding and the video compression device thereof | |
| KR20070069309A (en) | Apparatus and method for encoding and decoding video | |
| WO2006098586A1 (en) | Video encoding/decoding method and apparatus using motion prediction between temporal levels |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MM4A | The patent is invalid due to non-payment of fees |
Effective date: 20090421 |