RU2314656C2 - Internal encoding, based on spatial prediction - Google Patents
Internal encoding, based on spatial prediction Download PDFInfo
- Publication number
- RU2314656C2 RU2314656C2 RU2004139081/09A RU2004139081A RU2314656C2 RU 2314656 C2 RU2314656 C2 RU 2314656C2 RU 2004139081/09 A RU2004139081/09 A RU 2004139081/09A RU 2004139081 A RU2004139081 A RU 2004139081A RU 2314656 C2 RU2314656 C2 RU 2314656C2
- Authority
- RU
- Russia
- Prior art keywords
- prediction modes
- group
- prediction
- modes
- mode
- Prior art date
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
ОписаниеDescription
Область техники, к которой относится изобретениеFIELD OF THE INVENTION
Настоящее изобретение в целом относится к кодированию изображения и более конкретно к кодированию блоков видеокадров.The present invention generally relates to image encoding, and more particularly to encoding blocks of video frames.
Уровень техникиState of the art
Цифровое изображение, такое как видеоизображение, телевизионное изображение, неподвижное изображение или изображение, сгенерированное с помощью видеомагнитофона или компьютера, состоит из пикселей, расположенных в горизонтальных и вертикальных линиях. Число пикселей в одном изображении обычно равно десяткам тысяч. Каждый пиксель обычно содержит информацию яркости и цветности. Без сжатия количество информации, передаваемой из кодера изображения в декодер изображения, является настолько огромным, что оно делает передачу изображения в реальном времени невозможным. Чтобы уменьшить количество передаваемой информации, разработан ряд разных способов сжатия, таких как стандарты JPEG, MPEG и Н.263. В типичном видеокодере кадр исходной видеопоследовательности разделяют на прямоугольные области или блоки, которые кодируют во внутреннем режиме (режим I) или в промежуточном режиме (режим Р). Блоки кодируют независимо с использованием некоторого вида кодирования с преобразованием, такого как кодирование DCT, ДКП (дискретное косинусное преобразование). Однако простое кодирование на основе блоков только уменьшает корреляцию между пикселями в конкретном блоке без учета межблочной корреляции пикселей и оно по-прежнему создает высокие скорости бит для передачи. Современные стандарты кодирования цифровых изображений также используют определенные способы, которые уменьшают корреляцию величин пикселей между блоками.A digital image, such as a video image, a television image, a still image or an image generated by a VCR or computer, consists of pixels arranged in horizontal and vertical lines. The number of pixels in a single image is usually tens of thousands. Each pixel typically contains luminance and color information. Without compression, the amount of information transmitted from the image encoder to the image decoder is so huge that it makes real-time image transmission impossible. To reduce the amount of information transmitted, a number of different compression methods have been developed, such as JPEG, MPEG and H.263 standards. In a typical video encoder, the frame of the original video sequence is divided into rectangular areas or blocks that encode in internal mode (mode I) or in intermediate mode (mode P). Blocks are independently encoded using some form of transform coding, such as DCT encoding, DCT (Discrete Cosine Transform). However, simple block-based coding only reduces the correlation between pixels in a particular block without taking into account inter-block correlation of pixels and it still creates high bit rates for transmission. Current digital image coding standards also use certain methods that reduce the correlation of pixel values between blocks.
Обычно блоки, закодированные в режиме Р, прогнозируют из одного из ранее закодированных и переданных кадров. Информацию прогнозирования блока представляют с помощью двумерного (2D) вектора движения. Для блоков, закодированных в режиме I, прогнозируемый блок формируют с использованием пространственного прогнозирования из уже закодированных соседних блоков в одном и том же кадре. Ошибку прогнозирования, например разность между кодируемым блоком и прогнозируемым блоком, представляют как множество взвешенных базовых функций некоторого дискретного преобразования. Преобразование обычно выполняют на основе блока 8х8 или 4х4. Весовые коэффициенты - коэффициенты преобразования затем квантуют. Квантование вносит потерю информации и, следовательно, квантованные коэффициенты имеют более низкую точность, чем оригиналы.Typically, blocks encoded in P mode are predicted from one of the previously encoded and transmitted frames. Block prediction information is represented using a two-dimensional (2D) motion vector. For blocks encoded in mode I, the predicted block is formed using spatial prediction from already encoded neighboring blocks in the same frame. A prediction error, for example, the difference between a coded block and a predicted block, is represented as a set of weighted basic functions of some discrete transform. The conversion is usually performed on the basis of an 8x4 or 4x4 block. Weights — Transformation coefficients are then quantized. Quantization introduces a loss of information and, therefore, quantized coefficients have lower accuracy than the originals.
Квантованные коэффициенты преобразования вместе с векторами движения и некоторой управляющей информацией образуют полное представление закодированной последовательности и их называют синтаксическими элементами. Перед передачей из кодера в декодер все синтаксические элементы кодируют с учетом энтропии таким образом, чтобы дополнительно уменьшить число бит, необходимых для их представления.Quantized transform coefficients, together with motion vectors and some control information, form a complete representation of the encoded sequence and are called syntactic elements. Before transferring from the encoder to the decoder, all syntax elements are encoded with respect to entropy in such a way as to further reduce the number of bits required to represent them.
В декодере блок в текущем кадре получают сначала с помощью составления его прогноза таким же способом, как в кодере, и с помощью добавления к прогнозу ошибки сжатого прогноза. Ошибку сжатого прогноза находят с помощью взвешивания базовых функций преобразования с использованием квантованных коэффициентов. Разность между восстановленным кадром и исходным кадром называют ошибкой восстановления.In the decoder, the block in the current frame is obtained first by compiling its prediction in the same way as in the encoder, and by adding a compressed prediction error to the prediction. A compressed forecast error is found by weighting the basic transformation functions using quantized coefficients. The difference between the recovered frame and the original frame is called a recovery error.
Коэффициентом сжатия, т.е. отношением числа бит, использованных, чтобы представить исходную и сжатую последовательности, обе в случае блоков I и Р, управляют с помощью регулирования величины параметра квантования, который используют, чтобы квантовать коэффициенты преобразования. Коэффициент сжатия также зависит от использованного способа кодирования энтропии.Compression ratio, i.e. the ratio of the number of bits used to represent the original and compressed sequences, both in the case of blocks I and P, is controlled by adjusting the magnitude of the quantization parameter, which is used to quantize the transform coefficients. The compression ratio also depends on the entropy encoding method used.
Пример пространственного прогнозирования, использованного в рабочем проекте номер 2 (WD2, РП2) кодера JVT описан следующим образом. Для того чтобы выполнить пространственное прогнозирование, кодер IVT предлагает 9 режимов для прогнозирования блоков 4х4, включая прогнозирование DC (режим 0) и режимы 8-ми направлений, отмеченные с 1 по 7, как изображено на фиг.1. Процесс прогнозирования проиллюстрирован на фиг.2. Как изображено на фиг.2, пиксели от а до р должны быть закодированы, а пиксели от A до Q из соседних блоков, которые уже закодированы, используют для прогнозирования. Если, например, выбран режим 1, тогда пиксели а, е, i и m прогнозируют с помощью установки их равными пикселю А, а пиксели b, f, j и n прогнозируют с помощью установки их равными пикселю В и т. д. Аналогично, если выбран режим 2, пиксели а, b, c и d прогнозируют с помощью установки их равными пикселю I, а пиксели e, f, g и h прогнозируют с помощью установки их равными пикселю J и т. д. Следовательно, режим 1 является прогнозирующим режимом в вертикальном направлении, а режим 2 является прогнозирующим режимом в горизонтальном направлении. Эти режимы описаны в документе VCEG-N54, опубликованном сектором стандартизации телекоммуникаций экспертной группы по кодированию видеоизображений (VCEG) ITU в сентябре 2001 г., и в документе JVT-B118r2, опубликованном совместной группой по видеоизображениям ISO/IEC MPEG и ITU-T VCEG в марте 2002 г.An example of spatial prediction used in the working draft number 2 (WD2, RP2) of the JVT encoder is described as follows. In order to perform spatial prediction, the IVT encoder offers 9 modes for predicting 4x4 blocks, including DC prediction (mode 0) and 8-direction modes, marked 1 through 7, as shown in FIG. 1. The forecasting process is illustrated in figure 2. As shown in FIG. 2, pixels from a to p must be encoded, and pixels from A to Q from neighboring blocks that are already encoded are used for prediction. If, for example,
Режим 0: прогнозирование DCMode 0: DC Prediction
Обычно все выборки прогнозируют с помощью (A+B+C+D+I+J+K+L+4)>>3. Если четыре из выборок находятся вне изображения, среднее из остальных четырех используют для прогнозирования. Если все восемь выборок находятся вне изображения, прогнозирование для всех выборок в блоке равно 128. Следовательно, блок всегда может быть спрогнозирован в этом режиме.Typically, all samples are predicted using (A + B + C + D + I + J + K + L + 4) >> 3. If four of the samples are outside the image, the average of the other four is used for forecasting. If all eight samples are outside the image, the prediction for all samples in the block is 128. Therefore, the block can always be predicted in this mode.
Режим 1: вертикальное прогнозированиеMode 1: Vertical Prediction
Если A,B,C,D находятся внутри изображения, тогдаIf A, B, C, D are inside the image, then
- a,e,i,m предсказывают с помощью А,- a, e, i, m are predicted using A,
- b,f,j,n предсказывают с помощью B,- b, f, j, n are predicted using B,
- c,g,k,o предсказывают с помощью C,- c, g, k, o are predicted using C,
- d,h,l,p предсказывают с помощью D.- d, h, l, p are predicted using D.
Режим 2: горизонтальное прогнозированиеMode 2: Horizontal Prediction
Если E,F,G,H находятся внутри изображения, тогдаIf E, F, G, H are inside the image, then
- a,b,c,d предсказывают с помощью E,- a, b, c, d are predicted using E,
- e,f,g,h предсказывают с помощью F,- e, f, g, h are predicted using F,
- i,j,k,l предсказывают с помощью G,- i, j, k, l are predicted using G,
- m,n,o,p предсказывают с помощью H.- m, n, o, p are predicted using H.
Режим 3: диагональное прогнозирование вниз/вправоMode 3: Diagonal Prediction Down / Right
Этот режим используют только, если все A, B, C, D, I, J, K, L, Q находятся внутри изображения. Это является "диагональным" прогнозированием.This mode is used only if all A, B, C, D, I, J, K, L, Q are inside the image. This is a "diagonal" prediction.
- m прогнозируют с помощью (J+2K+L+2)>>2- m is predicted using (J + 2K + L + 2) >> 2
- i,n прогнозируют с помощью (I+2J+K+2)>>2- i, n are predicted using (I + 2J + K + 2) >> 2
- e,j,o прогнозируют с помощью (Q+2I+J+2)>>2- e, j, o are predicted using (Q + 2I + J + 2) >> 2
- a,f,k,p прогнозируют с помощью (A+2Q+I+2)>>2- a, f, k, p are predicted using (A + 2Q + I + 2) >> 2
- b,g,l прогнозируют с помощью (Q+2A+B+2)>>2- b, g, l are predicted using (Q + 2A + B + 2) >> 2
- c,h прогнозируют с помощью (A+2B+D+2)>>2- c, h are predicted using (A + 2B + D + 2) >> 2
- d прогнозируют с помощью (B+2C+D+2)>>2- d is predicted using (B + 2C + D + 2) >> 2
Режим 4: диагональное прогнозирование вниз/влевоMode 4: Diagonal Prediction Down / Left
Этот режим используют только, если все A, B, C, D, I, J, K, L, Q находятся внутри изображения. Это является "диагональным" прогнозированием.This mode is used only if all A, B, C, D, I, J, K, L, Q are inside the image. This is a "diagonal" prediction.
- а прогнозируют с помощью (A+2B+C+I+2J+K+4)>>3- and they predict using (A + 2B + C + I + 2J + K + 4) >> 3
- b,e прогнозируют с помощью (A+2B+C+I+2J+K+4)>>3- b, e are predicted using (A + 2B + C + I + 2J + K + 4) >> 3
- c,f,i прогнозируют с помощью (C+2D+E+R+2L+M+4)>>3- c, f, i are predicted using (C + 2D + E + R + 2L + M + 4) >> 3
- d,g,j,m прогнозируют с помощью (D+2E+F+L+2M+N+4)>>3- d, g, j, m are predicted using (D + 2E + F + L + 2M + N + 4) >> 3
- h,k,n прогнозируют с помощью (E+2F+G+M+2N+O+4)>>3- h, k, n are predicted using (E + 2F + G + M + 2N + O + 4) >> 3
- l,o прогнозируют с помощью (F+2G+H+N+2O+P+4)>>3- l, o are predicted using (F + 2G + H + N + 2O + P + 4) >> 3
- p прогнозируют с помощью (G+H+O+P+2)>>3- p is predicted using (G + H + O + P + 2) >> 3
Режим 5: вертикальное-левое прогнозированиеMode 5: Vertical-Left Prediction
Этот режим используют только, если все A, B, C, D, I, J, K, L, Q находятся внутри изображения. Это является "диагональным" прогнозированием.This mode is used only if all A, B, C, D, I, J, K, L, Q are inside the image. This is a "diagonal" prediction.
- a, j прогнозируют с помощью (Q+A+1)>>1- a, j are predicted using (Q + A + 1) >> 1
- b,k прогнозируют с помощью (A+B+1)>>1- b, k are predicted using (A + B + 1) >> 1
- c,l прогнозируют с помощью (B+C+1)>>1- c, l are predicted using (B + C + 1) >> 1
- d прогнозируют с помощью (C+D+1)>>1- d is predicted using (C + D + 1) >> 1
- e,n прогнозируют с помощью (I+2Q+A+2)>>2- e, n are predicted using (I + 2Q + A + 2) >> 2
- f,o прогнозируют с помощью (Q+2A+B+2)>>2- f, o are predicted using (Q + 2A + B + 2) >> 2
- g,p прогнозируют с помощью (A+2B+C+2)>>2- g, p are predicted using (A + 2B + C + 2) >> 2
- h прогнозируют с помощью (B+2C+D+2)>>2- h is predicted using (B + 2C + D + 2) >> 2
- i прогнозируют с помощью (Q+2I+J+2)>>2- i predict using (Q + 2I + J + 2) >> 2
- m прогнозируют с помощью (I+2J+K+2)>>2- m is predicted using (I + 2J + K + 2) >> 2
Режим 6: вертикальное-правое прогнозированиеMode 6: vertical-right prediction
Этот режим используют только, если все A, B, C, D, I, J, K, L, Q находятся внутри изображения. Это является "диагональным" прогнозированием.This mode is used only if all A, B, C, D, I, J, K, L, Q are inside the image. This is a "diagonal" prediction.
- a прогнозируют с помощью (2A+2B+J+2K+L+4)>>3- a is predicted using (2A + 2B + J + 2K + L + 4) >> 3
- b,i прогнозируют с помощью (B+C+1)>>1- b, i are predicted using (B + C + 1) >> 1
- c,j прогнозируют с помощью (C+D+1)>>1- c, j are predicted using (C + D + 1) >> 1
- d,k прогнозируют с помощью (D+E+1)>>1- d, k are predicted using (D + E + 1) >> 1
- l прогнозируют с помощью (E+F+1)>>1- l is predicted using (E + F + 1) >> 1
- e прогнозируют с помощью (A+2B+C+K+2L+M+4)>>3- e is predicted using (A + 2B + C + K + 2L + M + 4) >> 3
- f,m прогнозируют с помощью (B+2C+D+2)>>2- f, m are predicted using (B + 2C + D + 2) >> 2
- g,n прогнозируют с помощью (C+2D+E+2)>>2- g, n are predicted using (C + 2D + E + 2) >> 2
- h,o прогнозируют с помощью (D+2E+F+2)>>2- h, o are predicted using (D + 2E + F + 2) >> 2
- p прогнозируют с помощью (E+2F+G+2)>>2- p is predicted using (E + 2F + G + 2) >> 2
Режим 7: горизонтальное прогнозирование вверхMode 7: horizontal upward prediction
Этот режим используют только, если все A, B, C, D, I, J, K, L, Q находятся внутри изображения. Это является "диагональным" прогнозированием.This mode is used only if all A, B, C, D, I, J, K, L, Q are inside the image. This is a "diagonal" prediction.
- a прогнозируют с помощью (B+2C+D+2I+2J+4)>>3- a is predicted using (B + 2C + D + 2I + 2J + 4) >> 3
- b прогнозируют с помощью (C+2D+E+I+2J+K+4)>>3- b is predicted using (C + 2D + E + I + 2J + K + 4) >> 3
- c,e прогнозируют с помощью (D+2E+F+2J+2K+4)>>3- c, e are predicted using (D + 2E + F + 2J + 2K + 4) >> 3
- d,f прогнозируют с помощью (E+2F+G+J+2K+2L+4)>>3- d, f are predicted using (E + 2F + G + J + 2K + 2L + 4) >> 3
- g,i прогнозируют с помощью (F+2G+H+2K+2L+4)>>3- g, i are predicted using (F + 2G + H + 2K + 2L + 4) >> 3
- h,j прогнозируют с помощью (G+3H++K+3L+4)>>3- h, j are predicted using (G + 3H ++ K + 3L + 4) >> 3
- l,n прогнозируют с помощью (L+2M+N+2)>>3- l, n are predicted using (L + 2M + N + 2) >> 3
- k,m прогнозируют с помощью (G+H+L+M+2)>>2- k, m are predicted using (G + H + L + M + 2) >> 2
- o прогнозируют с помощью (M+N+1)>>1- o predict using (M + N + 1) >> 1
- p прогнозируют с помощью (M+2N+O+2)>>2- p is predicted using (M + 2N + O + 2) >> 2
Режим 8: горизонтальное прогнозирование внизMode 8: Horizontal Prediction Down
Этот режим используют только, если все A, B, C, D, I, J, K, L, Q находятся внутри изображения. Это является "диагональным" прогнозированием.This mode is used only if all A, B, C, D, I, J, K, L, Q are inside the image. This is a "diagonal" prediction.
- a,g прогнозируют с помощью (Q+I+1)>>1- a, g are predicted using (Q + I + 1) >> 1
- b,h прогнозируют с помощью (I+2Q+A+2)>>2- b, h are predicted using (I + 2Q + A + 2) >> 2
- c прогнозируют с помощью (Q+2A+B+2)>>2- c is predicted using (Q + 2A + B + 2) >> 2
- d прогнозируют с помощью (A+2B+C+2)>>2- d is predicted using (A + 2B + C + 2) >> 2
- e,k прогнозируют с помощью (I+J+1)>>1- e, k are predicted using (I + J + 1) >> 1
- f,l прогнозируют с помощью (Q+2I+J+2)>>2- f, l are predicted using (Q + 2I + J + 2) >> 2
- i,o прогнозируют с помощью (J+K+1)>>1- i, o are predicted using (J + K + 1) >> 1
- j,p прогнозируют с помощью (I+2J+K+2)>>2- j, p are predicted using (I + 2J + K + 2) >> 2
- m прогнозируют с помощью (K+L+1)>>1- m is predicted using (K + L + 1) >> 1
- n прогнозируют с помощью (J+2K+L+2)>>2- n is predicted using (J + 2K + L + 2) >> 2
Поскольку каждый блок должен иметь режим прогнозирования, назначаемый и передаваемый в декодер, это потребовало бы значительного числа бит, если закодирован непосредственно. Для того чтобы уменьшить количество передаваемой информации, может быть использована корреляция режимов прогнозирования соседних блоков. Например, заявка на патент, принадлежащая Ватери и др. (WO 01/54416 А1 "Способ кодирования изображений и кодер изображений", далее упоминаемая как Ватери), раскрывает способ кодирования на основе блоков, в котором используют информацию направленности изображения в блоках, чтобы классифицировать множество режимов пространственного прогнозирования. Этот режим пространственного прогнозирования блока определяют с помощью информации направленности, по меньшей мере, соседнего блока.Since each block must have a prediction mode assigned and transmitted to the decoder, this would require a significant number of bits if encoded directly. In order to reduce the amount of information transmitted, correlation of prediction modes of neighboring blocks can be used. For example, a patent application owned by Vateri et al. (WO 01/54416 A1 “Image encoding method and image encoder”, hereinafter referred to as Vateri), discloses block-based coding method that uses image directivity information in blocks to classify many spatial prediction modes. This spatial prediction mode of the block is determined using the directivity information of at least the neighboring block.
В кодере JVT, когда режимы прогнозирования соседних уже закодированных блоков U и L известны, дано упорядочение наиболее вероятного режима прогнозирования, следующего наиболее вероятного режима прогнозирования и т. д. для блока С (фиг.3). Упорядочение режимов задают для каждой комбинации режимов прогнозирования U и L. Эта упорядоченность может быть задана как список режимов прогнозирования для блока С, упорядоченных от наиболее вероятного до наименее вероятного режима. Упорядоченный список, использованный в РП2 кодера JVT, как раскрыто в VCEG-N54, приведен ниже:In the JVT encoder, when the prediction modes of neighboring already encoded blocks U and L are known, the most probable prediction mode, the next most probable prediction mode, etc. are ordered for block C (Fig. 3). The ordering of the modes is set for each combination of the prediction modes U and L. This ordering can be defined as a list of prediction modes for block C, ordered from the most probable to the least probable mode. The ordered list used in RP2 of the JVT encoder, as disclosed in VCEG-N54, is shown below:
В настоящем описании приведен пример режимов прогнозирования для блока C, как задано в РП2 кодера JVT, когда режим прогнозирования как для U, так и для L равен 2. Последовательность (2,8,7,1,0,6,4,3,5) указывает, что режим 2 является также наиболее вероятным режимом для блока С. Режим 8 является следующим наиболее вероятным режимом и т.д. В декодер будет передана информация, указывающая, что n-ый наиболее вероятный режим будет использован для блока С. Упорядочение режимов для блока С может быть также задано с помощью перечисления ранга для каждого режима: чем выше ранг, тем менее вероятным является способ прогнозирования. Для приведенного выше примера список рангов будет равен (5,4,1,8,7,9,6,3,2). Когда режимы (0,1,2,3,4,5,6,7,8) связаны со списком рангов (5,4,1,8,7,9,6,3,2), можно сказать, что режим 0 имеет ранг 5, режим 1 имеет ранг 4 и т. д.In the present description, an example of prediction modes for block C is given as defined in RP2 of the JVT encoder when the prediction mode for both U and L is 2. The sequence (2,8,7,1,0,6,4,3, 5) indicates that
Для более эффективного кодирования информация внутреннего прогнозирования двух блоков 4х4 может быть закодирована в одном кодовом слове.For more efficient coding, intra prediction information of two 4x4 blocks may be encoded in one codeword.
Вышеупомянутый способ имеет один главный недостаток - требуется память, необходимая для хранения упорядочения режимов прогнозирования для блока С, при условии данных режимов прогнозирования блоков U и L. В РП2 кодера JVT, поскольку для прогнозирования используют 9 режимов, имеется 9х9 возможных комбинаций режимов для блоков U и L. Для каждой комбинации должно быть задано упорядочение 9 возможных режимов. Это значит, что требуется 9х9х9 байт (в настоящем описании заявитель допускает, что одно число требует один байт), чтобы задать упорядочение режимов прогнозирования. Кроме того, больше памяти может требоваться, чтобы задать специальные случаи, например, если один или оба блока U и L недоступны.The aforementioned method has one main drawback - the memory required to store the ordering of prediction modes for block C is required, provided that the prediction modes of blocks U and L are present. and L. For each combination, the ordering of 9 possible modes must be specified. This means that 9x9x9 bytes are required (in the present description, the applicant assumes that one number requires one byte) to specify the ordering of the prediction modes. In addition, more memory may be required to specify special cases, for example, if one or both of the U and L blocks are unavailable.
Следовательно, выгодно и желательно предоставить способ и устройство, предназначенные для кодирования цифрового изображения, в которых требования памяти уменьшены, в то время как потеря в эффективности кодирования является минимальной.Therefore, it is advantageous and desirable to provide a method and apparatus for encoding a digital image in which memory requirements are reduced, while the loss in encoding efficiency is minimal.
Сущность изобретенияSUMMARY OF THE INVENTION
Предложены способ и устройство, предназначенные для кодирования цифрового изображения с использованием блочного прогнозирования внутреннего режима. Получают список режимов прогнозирования для каждой комбинации режимов прогнозирования соседних блоков. Режимы, назначенные для каждой комбинации режимов прогнозирования, могут быть разделены на две группы. Первая группа включает в себя m (где m меньше чем общее число n имеющихся режимов) наиболее вероятных режимов прогнозирования, а вторая группа включает в себя остальные режимы. Режимы в первой группе упорядочивают в соответствии с их вероятностью. Эта упорядоченность может быть задана как список режимов, упорядоченных от наиболее вероятного до наименее вероятного режима. Режимы, принадлежащие ко второй группе, могут быть упорядочены некоторым заданным способом, который может быть задан в зависимости от информации, уже имеющейся в декодере. Информацию относительно того, принадлежит ли режим, выбранный для данного блока, к первой группе или ко второй группе, посылают в декодер. Если он принадлежит к первой группе, передают информацию, указывающую, что i-ый наиболее вероятный режим будет использован для блока С при условии данной комбинации режимов для блоков U и L. Если режим принадлежит ко второй группе, передают информацию, указывающую, что должен быть использован j-ый режим этой группы.A method and apparatus are proposed for encoding a digital image using block prediction of the internal mode. Get a list of prediction modes for each combination of prediction modes of neighboring blocks. The modes assigned to each combination of prediction modes can be divided into two groups. The first group includes m (where m is less than the total number n of available modes) of the most probable forecasting modes, and the second group includes the remaining modes. The modes in the first group are ordered according to their probability. This ordering can be defined as a list of modes ordered from most probable to least probable. The modes belonging to the second group can be ordered in some specified way, which can be set depending on the information already available in the decoder. Information regarding whether the mode selected for a given block belongs to the first group or to the second group is sent to the decoder. If it belongs to the first group, information is transmitted indicating that the i-th most probable mode will be used for block C under the condition of this combination of modes for blocks U and L. If the mode belongs to the second group, information is transmitted indicating what should be used j-th mode of this group.
Настоящее изобретение станет понятным после прочтения описания, взятого совместно с фиг. с 4а по 8.The present invention will become apparent after reading the description taken in conjunction with FIG. 4a to 8.
Краткое описание чертежейBrief Description of the Drawings
Фиг.1 представляет схематическое представление, иллюстрирующее 8 направленных режимов, которые используют как режимы пространственного прогнозирования.Figure 1 is a schematic diagram illustrating 8 directional modes that are used as spatial prediction modes.
Фиг.2 представляет схематическое представление, иллюстрирующее пиксели, которые используют для прогнозирования текущего блока 4х4 пикселей.2 is a schematic diagram illustrating pixels that are used to predict the current block of 4x4 pixels.
Фиг.3 представляет схематическое представление, иллюстрирующее два соседних блока, используемых для прогнозирования текущего блока.3 is a schematic diagram illustrating two neighboring blocks used to predict the current block.
Фиг.4а представляет схематическое представление, иллюстрирующее режим пространственного прогнозирования двух соседних блоков, использованных для прогнозирования текущего блока.4a is a schematic diagram illustrating a spatial prediction mode of two neighboring blocks used to predict the current block.
Фиг.4b представляет схематическое представление, иллюстрирующее режим пространственного прогнозирования двух соседних блоков, имеющих зеркально отображенную зависимость с блоками фиг.4а.Fig. 4b is a schematic diagram illustrating a spatial prediction mode of two neighboring blocks having a mirror image with the blocks of Fig. 4a.
Фиг.5а представляет схематическое представление, иллюстрирующее другой режим пространственного прогнозирования.Fig. 5a is a schematic diagram illustrating another spatial prediction mode.
Фиг.5b представляет схематическое представление, иллюстрирующее зеркально отображенную пару режима.5b is a schematic diagram illustrating a mirrored mode pair.
Фиг.6 представляет блок-схему, иллюстрирующую способ пространственного прогнозирования.6 is a flowchart illustrating a spatial prediction method.
Фиг.7 представляет блок-схему, иллюстрирующую систему передачи блока цифрового изображения, предназначенную для реализации способа в соответствии с вариантом осуществления настоящего изобретения.7 is a block diagram illustrating a transmission system of a digital image block for implementing a method in accordance with an embodiment of the present invention.
Фиг.8 представляет блок-схему, иллюстрирующую портативное устройство видеотелекоммуникаций, реализующее способ в соответствии с вариантом осуществления настоящего изобретения.FIG. 8 is a flowchart illustrating a portable video telecommunications device implementing the method in accordance with an embodiment of the present invention.
Наилучший способ для выполнения изобретенияThe best way to carry out the invention
Вариант осуществления настоящего изобретения использует то свойство, что можно получить упорядоченный список режимов прогнозирования для одной комбинации режимов прогнозирования соседних блоков как функцию режимов прогнозирования другой комбинации. С целью иллюстрации режимы прогнозирования двух соседних блоков U и L, как изображено на фиг.3, используют для того, чтобы логически выводить прогнозирование текущего блока С. Следует заметить, что комбинация режимов прогнозирования на фиг.4а может быть получена с помощью обращения режимов прогнозирования относительно диагонали, как изображено на фиг.4b. Таким образом, n-ый наиболее вероятный режим прогнозирования для блока С, когда используют комбинацию режимов на фиг.4а, должен быть тем же самым, что и "обращенный относительно диагонали" n-ый наиболее вероятный режим прогнозирования для комбинации режимов на фиг. 4b. Следовательно, если соседние блоки U и L имеют режимы "вертикальный" и "вертикальный", режим прогнозирования текущего блока, наиболее вероятно, является "вертикальным" (фиг.4b). Следовательно, когда эти блоки "обращены" или зеркально отображены относительно диагонали ("вниз/вправо"), известно, что из "горизонтального" и "горизонтального" должен быть получен "горизонтальный" для текущего блока (фиг.4а). Аналогично, если соседние блоки U и L являются блоками режимов 2 и 3, как изображено на фиг. 5а, тогда обращенные блоки U и L будут блоками режимов 3 и 1, как изображено на фиг.5b.An embodiment of the present invention uses the property that it is possible to obtain an ordered list of prediction modes for one combination of prediction modes of neighboring blocks as a function of prediction modes of another combination. To illustrate the prediction modes of two neighboring blocks U and L, as shown in Fig. 3, they are used to infer the prediction of the current block C. It should be noted that the combination of prediction modes in Fig. 4a can be obtained by inverting the prediction modes relative to the diagonal, as shown in fig.4b. Thus, the nth most probable prediction mode for block C when the combination of modes in FIG. 4b. Therefore, if the neighboring blocks U and L have the “vertical” and “vertical” modes, the prediction mode of the current block is most likely “vertical” (Fig. 4b). Therefore, when these blocks are “facing” or mirrored relative to the diagonal (“down / right”), it is known that “horizontal” for the current block should be obtained from “horizontal” and “horizontal” (Fig. 4a). Similarly, if adjacent blocks U and L are
Для того чтобы дополнительно проиллюстрировать этот пример, заявитель определяет функцию f, которая отображает направление прогнозирования i в j, j=f(i). Каждому режиму i прогнозирования назначают режим j прогнозирования, полученный с помощью зеркального отображения его относительно диагональной линии, проходящей из верхнего левого угла блока в нижний правый угол блока. Для режимов прогнозирования на фиг. 1 результирующее назначение резюмировано в таблице II.In order to further illustrate this example, the applicant defines a function f that maps the prediction direction i to j, j = f (i). Each prediction mode i is assigned a prediction mode j obtained by mirroring it relative to a diagonal line extending from the upper left corner of the block to the lower right corner of the block. For the prediction modes in FIG. 1 the resulting assignment is summarized in table II.
Когда функция определена, как указано выше, упорядоченный список режимов прогнозирования для комбинации режимов (k,l) может быть определен на основании упорядоченного списка для комбинации (i,j) таким образом, что i=f(l) и j=f(k), т.е., если режим p прогнозирования является n-ым наиболее вероятным режимом для комбинации (i,j), n-ый режим для комбинации (k,l) равен f(p). В качестве примера заявитель рассматривает комбинацию режимов (1,1), которой назначен упорядоченный список режимов для блока С: (1,6,2,5,3,0,4,8,7). Было бы возможно получить упорядоченный список режимов прогнозирования для комбинации (2,2) из этого упорядоченного списка с помощью отображения с использованием функции f: (2,7,1,8,3,0,4,6,5). Аналогично упорядоченный список режимов прогнозирования для комбинации (2,3) равен (2,0,8,1,3,7,5,4,6), а упорядоченный список режимов f(2,3)=(3,1) равен f(2,0,8,1,3,7,5,4,6)=(1,0,5,2,3,6,8,4,7). Следует заметить, что упорядоченный список режимов прогнозирования для (k,l), по существу, может быть симметричным списку для (i,j). Следовательно, функция f отображения может быть описана как функция зеркального отображения.When a function is defined as described above, an ordered list of prediction modes for a combination of modes (k, l) can be determined based on an ordered list for a combination of (i, j) such that i = f (l) and j = f (k ), i.e., if the prediction mode p is the nth most probable mode for the combination (i, j), the nth mode for the combination (k, l) is f (p). As an example, the applicant considers a combination of modes (1,1), which is assigned an ordered list of modes for block C: (1,6,2,5,3,0,4,8,7). It would be possible to obtain an ordered list of prediction modes for a combination of (2.2) from this ordered list using a mapping using the function f: (2,7,1,8,3,0,4,6,5). Similarly, the ordered list of prediction modes for combination (2,3) is (2,0,8,1,3,7,5,4,6), and the ordered list of modes f (2,3) = (3,1) is f (2,0,8,1,3,7,5,4,6) = (1,0,5,2,3,6,8,4,7). It should be noted that the ordered list of prediction modes for (k, l) can essentially be symmetric to the list for (i, j). Therefore, the display function f can be described as a mirror image function.
Первичной задачей настоящего изобретения является уменьшить размер таблицы, задающей режим прогнозирования как функцию режимов прогнозирования уже закодированных соседних блоков (например, таблица 1). Эта таблица получена во время процесса обучения. Чтобы получить упорядоченный список режимов прогнозирования для комбинации режимов (i,j) для некоторого большого числа блоков С, для которых соседние блоки имеют эту комбинацию, подсчитывают число, когда выбран каждый режим прогнозирования в соответствии с данным критерием выбора (например, наименьшая ошибка прогнозирования). Это число определяет ранг режима прогнозирования в списке режимов прогнозирования, назначенных комбинации (i,j), чем более часто выбирают режим, тем выше ранг, который он имеет в списке режимов прогнозирования.The primary objective of the present invention is to reduce the size of a table defining a prediction mode as a function of prediction modes of neighboring blocks already encoded (e.g., table 1). This table is obtained during the learning process. To get an ordered list of prediction modes for a combination of modes (i, j) for a large number of blocks C for which neighboring blocks have this combination, count the number when each prediction mode is selected in accordance with this selection criterion (for example, the smallest prediction error) . This number determines the rank of the prediction mode in the list of prediction modes assigned to the combination (i, j), the more often the mode is selected, the higher the rank that it has in the list of prediction modes.
Когда во время процесса обучения используют описанное отображение режимов прогнозирования, результирующая таблица, задающая режимы прогнозирования, будет меньше. Если упорядоченный список для комбинации (k,l) может быть получен из упорядоченного списка для комбинации (i,l), должен быть запомнен только упорядоченный список для комбинации (i,j). Во время обучения отображение может быть представлено следующим образом. Частоту появления каждого режима прогнозирования для комбинаций (k,l) и (i,j), таких что i=f(l) и j=f(k), подсчитывают совместно, т. е., если режим p прогнозирования был выбран для комбинации (k,l), также считают, что режим f(p) прогнозирования был выбран для комбинации (i,j). Также, когда режим p прогнозирования был выбран для комбинации (i,j), считают, что режим f(s) прогнозирования был выбран для комбинации (k,l).When the described mapping of prediction modes is used during the learning process, the resulting table defining the prediction modes will be smaller. If the ordered list for the combination (k, l) can be obtained from the ordered list for the combination (i, l), only the ordered list for the combination (i, j) should be remembered. During training, the display can be represented as follows. The frequency of occurrence of each prediction mode for combinations (k, l) and (i, j), such that i = f (l) and j = f (k), are counted together, i.e., if the prediction mode p was chosen for combination (k, l), it is also believed that the prediction mode f (p) was selected for combination (i, j). Also, when the prediction mode p was selected for the combination (i, j), it is believed that the prediction mode f (s) was selected for the combination (k, l).
Уменьшенная таблица в соответствии с настоящим изобретением изображена в таблице III.A reduced table in accordance with the present invention is shown in table III.
В таблице III для некоторых комбинаций (U,L) не дан упорядоченный список режимов прогнозирования. Упорядоченные списки для этих комбинаций могут быть "восстановлены" с помощью отображения соответствующих элементов, которые оставлены в таблице прогнозирования, когда эти "восстановленные" элементы необходимы для прогнозирования текущего блока. Следовательно, обычно, поскольку элемент в таблице прогнозирования может быть получен или восстановлен из другого элемента в таблице прогнозирования посредством отображения, первый элемент может быть исключен. Иначе говоря, в таблице прогнозирования, содержащей первую группу элементов и вторую группу элементов, причем каждый элемент из второй группы элементов может быть восстановлен из соответствующего элемента первой группы с помощью функции отображения, вторая группа элементов может быть исключена.Table III does not give an ordered list of prediction modes for some combinations (U, L). Ordered lists for these combinations can be "restored" by displaying the corresponding elements that are left in the prediction table when these "restored" elements are needed to predict the current block. Therefore, usually, since an element in the prediction table can be obtained or retrieved from another element in the prediction table by display, the first element can be excluded. In other words, in the prediction table containing the first group of elements and the second group of elements, each element of the second group of elements can be restored from the corresponding element of the first group using the display function, the second group of elements can be excluded.
Фиг.6 представляет блок-схему, иллюстрирующую этап декодирования, когда используют симметрию в таблице прогнозирования. Как изображено, способ 100 содержит этап 110, на котором принимают множество блоков изображения. Когда текущий блок обработан, на этапе 120 определяют, может ли быть получен режим прогнозирования текущего блока из режима прогнозирования соседних блоков без отображения. Если это справедливо, тогда режим пространственного прогнозирования текущего блока определяют на основании режима прогнозирования соседних блоков на этапе 132. Иначе обеспечивают дополнительный режим прогнозирования соседних блоков на этапе 130 и определяют дополнительный режим прогнозирования текущего блока на основании дополнительного режима прогнозирования соседних блоков на этапе 140. На этапе 150 дополнительный режим прогнозирования текущего блока отображают в режим прогнозирования текущего блока.6 is a flowchart illustrating a decoding step when symmetry is used in the prediction table. As depicted, the
В качестве альтернативы возможно назначение одной и той же метки разным режимам прогнозирования (группируя их вместе) блоков U и L перед их использованием для задания режима прогнозирования для блока С. Например, в случае кодера JVT режимы 1,5 и 6, могут быть сгруппированы вместе и отмечены как 1, а режимы 2,7 и 8, могут быть сгруппированы вместе и отмечены как 2. Как видно из фиг.1, направления режимов 7 и 8 находятся близко к направлению режима 2, а направления режимов 5 и 6 находятся близко к направлению режима 1. После этой группировки каждый из блоков U и L может иметь один из 5 режимов, отмеченных как 0,1,2,3 и 4. Следовательно, вместо 9х9 возможных комбинаций режимов прогнозирования U и L имеется только 5х5 таких комбинаций. Таким образом, память, необходимая для того, чтобы задать упорядочение режимов прогнозирования для блока С при условии данных режимов прогнозирования блоков U и L, будет 5х5х9 байт вместо 9х9х9 байт (допуская, что 1 байт памяти необходим для того, чтобы хранить 1 цифру). Кроме того, если используют функцию f отображения для "обращения" упорядоченного списка, таблица прогнозирования может быть дополнительно упрощена.Alternatively, it is possible to assign the same label to different prediction modes (grouping them together) of the U and L blocks before using them to specify the prediction mode for block C. For example, in the case of the JVT encoder,
Пример таблицы, задающей режим прогнозирования как функцию упорядочения, передаваемую в виде сигнала в битовом потоке, когда оба этих способа используют совместно, представлен в таблице IV.An example of a table defining a prediction mode as an ordering function transmitted as a signal in a bit stream when both of these methods are used together is presented in Table IV.
Кроме того, также возможно ограничить число режимов прогнозирования для блока С при условии данных режимов прогнозирования блоков U и L. В случае кодера JVT по-прежнему было бы 9х9 возможных комбинаций режимов прогнозирования U и L. Но каждой из этих комбинаций было бы назначено только m режимов, где m меньше чем 9. Таким образом, число возможных режимов прогнозирования уменьшают до (9х9xm)<(9х9х9). Аналогично, если используют функцию f отображения для "обращения" упорядоченных списков, таблица прогнозирования может быть дополнительно упрощена.In addition, it is also possible to limit the number of prediction modes for block C provided that these prediction modes of blocks U and L. In the case of the JVT encoder, there would still be 9x9 possible combinations of prediction modes U and L. But only m would be assigned to each of these combinations modes, where m is less than 9. Thus, the number of possible prediction modes is reduced to (9x9xm) <(9x9x9). Similarly, if the mapping function f is used to “reverse” ordered lists, the prediction table can be further simplified.
Эти способы могут быть использованы совместно или отдельно.These methods can be used together or separately.
Основанное на пространственном прогнозировании внутреннее кодирование в соответствии с настоящим изобретением может быть легко встроено в цифровую систему передачи блоков изображения, как изображено на фиг.7. Допуская, что кадр должен быть закодирован во внутреннем формате с использованием некоторого вида внутреннего прогнозирования, кодирование кадра происходит следующим образом. Блоки кодируемого кадра направляют последовательно в кодер 50 системы видеопередачи, представленной на фиг.7. Блоки кадра принимают из источника цифрового изображения, например камеры или видеомагнитофона (не изображены), на входе 27 системы передачи изображения. В способе, известном сам по себе, блоки, принятые из источника цифрового изображения, содержат величины пикселей изображения. Кадр может быть временно запомнен в памяти кадров (не изображена) или в качестве альтернативы, кодер принимает входные данные непосредственно блок за блоком.Spatial prediction-based intra-coding in accordance with the present invention can be easily integrated into a digital image block transmission system, as shown in FIG. Assuming that the frame must be encoded in an internal format using some kind of internal prediction, the frame is encoded as follows. The blocks of the encoded frame are sent sequentially to the encoder 50 of the video transmission system shown in Fig.7. The frame units are received from a digital image source, such as a camera or VCR (not shown), at the input 27 of the image transmission system. In a method known per se, blocks received from a digital image source comprise pixel values of an image. A frame may be temporarily stored in a frame memory (not shown) or, alternatively, the encoder receives input directly block by block.
Блоки последовательно направляют в блок 35 выбора способа прогнозирования, который определяет, могут ли величины пикселей текущего кодируемого блока быть спрогнозированы на основании ранее закодированных внутренним способом блоков в том же самом кадре или сегменте. Для того чтобы сделать это, блок 35 выбора способа прогнозирования принимает входные данные из буфера кадров кодера 33, который содержит запись ранее закодированных, а затем декодированных и восстановленных внутренних блоков. Таким образом, блок выбора способа прогнозирования может определить, может ли прогнозирование текущего блока быть выполнено на основании ранее декодированных и восстановленных блоков. Кроме того, если имеются соответствующие декодированные блоки, блок 35 выбора способа прогнозирования может выбрать наиболее подходящий способ прогнозирования величин пикселей текущего блока, если может быть выбран более чем один такой способ. Следует понять, что в определенных случаях прогнозирование текущего блока является невозможным, поскольку подходящие блоки для использования в прогнозировании отсутствуют в буфере 33 кадров. В ситуации, когда имеется более чем один способ прогнозирования, информацию о выбранном способе прогнозирования подают в мультиплексор 13 для дальнейшей передачи в декодер. Также следует заметить, что в некоторых способах прогнозирования определенные параметры, необходимые для того, чтобы выполнить прогнозирование, передают в декодер. Конечно, это зависит от точной принятой реализации и никоим образом не ограничивает приложение внутреннего кодирования, основанного на прогнозировании в соответствии с настоящим изобретением.The blocks are sequentially sent to the prediction method selection block 35, which determines whether the pixel values of the current block to be encoded can be predicted based on blocks previously internally encoded in the same frame or segment. In order to do this, the prediction method selection unit 35 receives input from the frame buffer of the encoder 33, which contains a record of previously encoded and then decoded and reconstructed indoor units. Thus, the prediction method selection unit may determine whether prediction of the current block can be performed based on previously decoded and reconstructed blocks. In addition, if there are corresponding decoded blocks, the prediction method selection unit 35 may select the most suitable method for predicting the pixel values of the current block if more than one such method can be selected. It should be understood that in certain cases, predicting the current block is impossible, since suitable blocks for use in prediction are not in the frame buffer 33. In a situation where there is more than one prediction method, information about the selected prediction method is supplied to the multiplexer 13 for further transmission to the decoder. It should also be noted that in some prediction methods, certain parameters necessary to perform prediction are transmitted to the decoder. Of course, this depends on the exact implementation adopted and in no way limits the prediction-based intra-coding application of the present invention.
Величины пикселей текущего блока прогнозируют в блоке 34 внутреннего прогнозирования. Блок 34 внутреннего прогнозирования принимает входные данные, относящиеся к выбранному способу прогнозирования, из блока 35 выбора способа прогнозирования и информацию, относящуюся к блокам, имеющимся для использования в прогнозировании, из буфера 33 кадров. На основании этой информации блок 34 внутреннего прогнозирования составляет прогноз для текущего блока. Спрогнозированные величины пикселей для текущего блока посылают в дифференциальный сумматор 28, который создает блок ошибки прогнозирования с помощью взятия разности между величинами пикселей спрогнозированного текущего блока и фактическими величинами пикселей текущего блока, принятого из входа 27. Затем информацию об ошибке для спрогнозированного блока кодируют в блоке кодирования ошибки прогнозирования в эффективном виде для передачи, например, с использованием дискретного косинусного преобразования (ДКП). Закодированный блок ошибки прогнозирования посылают в мультиплексор 13 для дальнейшей передачи в декодер. Кодер системы передачи цифрового изображения также включает в себя функциональные средства декодирования. Закодированную ошибку прогнозирования текущего блока декодируют в блоке 30 декодирования ошибки прогнозирования, а затем суммируют в сумматоре 31 со спрогнозированными величинами пикселей для текущего блока. Таким образом получают закодированный вариант текущего блока. Закодированный текущий блок затем направляют в буфер 33 кадров.The pixel values of the current block are predicted in the intra prediction block 34. The intra prediction unit 34 receives input related to the selected prediction method from the prediction method selection block 35 and information related to the blocks available for use in prediction from the frame buffer 33. Based on this information, the intra prediction block 34 makes a forecast for the current block. The predicted pixel values for the current block are sent to a differential adder 28, which creates a prediction error block by taking the difference between the pixel values of the predicted current block and the actual pixel values of the current block received from input 27. Then, the error information for the predicted block is encoded in the encoding block forecasting errors in an effective form for transmission, for example, using a discrete cosine transform (DCT). The encoded prediction error block is sent to the multiplexer 13 for further transmission to the decoder. The encoder of the digital image transmission system also includes decoding functionality. The encoded prediction error of the current block is decoded in the decoding block 30 of the prediction errors, and then summed in the adder 31 with the predicted pixel values for the current block. Thus, an encoded version of the current block is obtained. The encoded current block is then sent to a frame buffer 33.
В настоящем описании также предполагают, что приемник принимает блоки, которые образуют кадр цифрового изображения, только по одному из каналов передачи.It is also contemplated herein that a receiver receives blocks that form a digital image frame on only one of the transmission channels.
В приемнике 60 демультиплексор принимает блоки демультиплексированной закодированной ошибки прогнозирования и информацию прогнозирования, переданную из кодера 50. В зависимости от рассматриваемого способа прогнозирования информация прогнозирования может включать в себя параметры, используемые в процессе прогнозирования. Следует понимать, что в случае, когда используют только один способ прогнозирования, информация, относящаяся к способу прогнозирования, использованному для кодирования блоков, является необязательной, хотя она по-прежнему может быть необходима, чтобы передавать параметры, используемые в процессе прогнозирования. На фиг.7 пунктирные линии используются, чтобы представлять необязательную передачу и прием информации о способе прогнозирования и/или параметров прогнозирования. Допуская, что может быть использован более чем один способ прогнозирования, информацию, относящуюся к выбору способа прогнозирования для текущего декодируемого блока, подают в блок 41 внутреннего прогнозирования. Блок 41 внутреннего прогнозирования исследует содержимое буфера 39 кадров, чтобы определить, существуют ли ранее закодированные блоки, предназначенные для использования в прогнозировании величин пикселей текущего блока. Если такие блоки изображения существуют, блок 41 внутреннего прогнозирования прогнозирует содержимое текущего блока с использованием способа прогнозирования, указанного с помощью принятой информации о способе прогнозирования, и, возможно, с помощью параметров, связанных с прогнозированием, принятых из кодера. Информацию об ошибке прогнозирования, связанную с текущим блоком, принимают с помощью блока 36 декодирования ошибки прогнозирования, который декодирует блок ошибки прогнозирования с использованием подходящего способа. Например, если информация об ошибке прогнозирования была декодирована с использованием дискретного косинусного преобразования, блок декодирования ошибки прогнозирования выполняет обратное ДКП, чтобы извлечь информацию об ошибке. Информацию об ошибке прогнозирования затем суммируют с прогнозом для текущего блока изображения в сумматоре 37 и выходные данные сумматора подают в буфер 39 кадров. Кроме того, так как каждый блок декодирован, его направляют на выход декодера 40, например, для отображения на некотором виде средства отображения. В качестве альтернативы кадр изображения может быть отображен только после того, как декодирован весь кадр и накоплен в буфере 39 кадров.At receiver 60, the demultiplexer receives blocks of the demultiplexed encoded prediction error and prediction information transmitted from the encoder 50. Depending on the prediction method in question, the prediction information may include parameters used in the prediction process. It should be understood that in the case where only one prediction method is used, information related to the prediction method used to encode blocks is optional, although it may still be necessary to transmit parameters used in the prediction process. 7, dashed lines are used to represent optional transmission and reception of information about the prediction method and / or prediction parameters. Assuming that more than one prediction method can be used, information regarding the selection of the prediction method for the current decoded block is supplied to the intra prediction block 41. The intra prediction unit 41 examines the contents of the frame buffer 39 to determine if previously encoded blocks exist for use in predicting the pixel values of the current block. If such image blocks exist, the intra prediction block 41 predicts the contents of the current block using the prediction method indicated by the received prediction method information, and possibly using the prediction related parameters received from the encoder. Prediction error information associated with the current block is received using the prediction error decoding unit 36, which decodes the prediction error block using a suitable method. For example, if the prediction error information was decoded using a discrete cosine transform, the prediction error decoding unit performs the inverse DCT to extract the error information. The prediction error information is then summed with the prediction for the current image block in the adder 37 and the output of the adder is supplied to the frame buffer 39. In addition, since each block is decoded, it is sent to the output of the decoder 40, for example, for display on some form of display means. Alternatively, an image frame can only be displayed after the entire frame is decoded and stored in frame buffer 39.
Следует заметить, что блок 34 внутреннего прогнозирования составляет прогноз текущего блока на основании ранее закодированных, а затем декодированных и восстановленных внутренних блоков, как предоставленных с помощью буфера 33 кадров. В частности, прогнозирование текущего блока определяют из режимов пространственного прогнозирования ранее восстановленных внутренних блоков с использованием таблицы прогнозирования, как изображено в таблице III или таблице IV (не изображены на фиг. 7). Однако, когда упорядоченный список для режимов (i,j) прогнозирования ранее восстановленных внутренних блоков пропущен в таблице прогнозирования, блок 32 преобразования может быть использован для отображения режимов пространственного прогнозирования ранее восстановленных блоков в дополнительные или зеркально отображенные режимы (k,l) пространственного прогнозирования. В этот момент блок 34 внутреннего прогнозирования может определить дополнительный или зеркально отображенный режим f(p) для текущего блока. Опять блок 32 отображения используют для получения режима p прогнозирования текущего блока с помощью отображения дополнительного режима f(p) прогнозирования. Таким же образом блок 38 отображения используют для отображения, когда необходимо.It should be noted that the intra prediction unit 34 makes a prediction of the current block based on previously encoded and then decoded and reconstructed indoor blocks, as provided by the frame buffer 33. In particular, the prediction of the current block is determined from the spatial prediction modes of previously reconstructed indoor blocks using the prediction table, as shown in table III or table IV (not shown in Fig. 7). However, when the ordered list for the prediction modes (i, j) of previously reconstructed indoor units is omitted in the prediction table, the conversion unit 32 can be used to display the spatial prediction modes of the previously reconstructed blocks into additional or mirrored spatial prediction modes (k, l). At this point, the intra prediction unit 34 may determine an additional or mirrored mode f (p) for the current block. Again, the display unit 32 is used to obtain the prediction mode p of the current block by displaying the additional prediction mode f (p). In the same way, the display unit 38 is used for display when necessary.
Алгоритм отображения, который используют для выполнения отображения (i,j) в (k,l) и отображения f(p) в p, может быть закодирован в программе 69 программного обеспечения, которая содержит доступные для выполнения машиной этапы или псевдокоды, предназначенные для выполнения способа в соответствии с настоящим изобретением. Преимущественно программу программного обеспечения хранят на запоминающем носителе. Например, программу программного обеспечения хранят в устройстве памяти, находящемся в CPU, ЦП 70, или в отдельном устройстве 68 памяти, как изображено на фиг.8. Фиг.8 представляет упрощенную принципиальную схему подвижного терминала 90, предназначенного для использования в качестве портативного устройства видеотелекоммуникаций, осуществляющего способ отображения режима прогнозирования настоящего изобретения. Подвижный терминал 90 содержит, по меньшей мере, модуль 76 отображения, предназначенный для отображения изображений, устройство 72 захвата изображений и аудиомодуль 74 для захвата аудиоинформации из аудиоустройства 82 ввода и воспроизведения аудиоинформации на аудиоустройстве 80 воспроизведения. Преимущественно подвижный терминал 90 дополнительно содержит клавиатуру 70, предназначенную для ввода данных и команд, радиочастотный компонент 64, предназначенный для связи с мобильной телекоммуникационной сетью, и устройство 70 обработки сигналов/данных, предназначенное для управления работой телекоммуникационного устройства. Предпочтительно система (50, 60) передачи блока цифрового изображения реализована в процессоре 70.The mapping algorithm that is used to map (i, j) to (k, l) and map f (p) to p can be encoded in
В соответствии с дополнительным вариантом осуществления настоящего изобретения требования к памяти могли бы быть ограничены при получении эффективности кодирования.In accordance with a further embodiment of the present invention, memory requirements could be limited in obtaining coding efficiency.
Заявитель заметил, что для каждой комбинации режимов для блоков U и L имеется только несколько режимов для блока С, которые имеют высокую вероятность появления. Вероятность остальных режимов является значительно меньшей. Кроме того, вероятности появления этих остальных режимов являются одинаковыми и, следовательно, их упорядоченность в упорядоченном множестве режимов не имеет сильного влияния на эффективность кодирования.The applicant noted that for each combination of modes for blocks U and L there are only a few modes for block C, which have a high probability of occurrence. The likelihood of other modes is much less. In addition, the probabilities of the appearance of these other modes are the same and, therefore, their ordering in an ordered set of modes does not have a strong influence on the coding efficiency.
Режимы, назначенные каждой комбинации режимов прогнозирования U и L, могут быть разделены на две группы. Первая группа включает в себя m (где m меньше чем общее число n имеющихся режимов) наиболее вероятных режимов прогнозирования, а вторая группа включает в себя остальные режимы. Режимы в первой группе упорядочены в соответствии с их вероятностью. Как описано выше, эта упорядоченность может быть задана как список режимов, упорядоченных от наиболее вероятного до наименее вероятного режима. Эти режимы, принадлежащие ко второй группе, могут быть упорядочены некоторым заданным способом, который может быть задан в зависимости от информации, уже доступной для декодера. Например, режим прогнозирования, который отмечен с использованием меньшего числа, может предшествовать режиму, который отмечен с помощью большего числа.The modes assigned to each combination of prediction modes U and L can be divided into two groups. The first group includes m (where m is less than the total number n of available modes) of the most probable forecasting modes, and the second group includes the remaining modes. The modes in the first group are ordered according to their probability. As described above, this ordering can be defined as a list of modes ordered from most probable to least probable. These modes, belonging to the second group, can be ordered in some specified way, which can be set depending on the information already available for the decoder. For example, a prediction mode that is marked using a smaller number may precede a mode that is marked using a larger number.
Иначе говоря, режимы прогнозирования расположены в упорядоченном множестве S. Упорядоченное множество режимов R, назначенных комбинаций режимов прогнозирования для U и L, создают с помощью объединения двух упорядоченных множеств режимов T={t1,t2,...,tk} и V={v1,v2,...,vl}:In other words, prediction modes are located in an ordered set S. An ordered set of R modes assigned to combinations of prediction modes for U and L is created by combining two ordered sets of modes T = {t1, t2, ..., tk} and V = { v1, v2, ..., vl}:
R={t1,t2,...,tk, v1,v2,...,vl}.R = {t1, t2, ..., tk, v1, v2, ..., vl}.
Режимы в первом упорядоченном множестве Т упорядочены в соответствии с их ожидаемой вероятностью появления для комбинации режимов соседних блоков U и L. Чем более часто ожидается появление режима, тем меньше бит должно быть использовано, чтобы передавать сигнал о нем. Второе упорядоченное множество режимов V создано с помощью удаления элементов первого множества Т из множества S и сохранения упорядоченности остальных элементов. Например, если прогнозирование i предшествует режиму j прогнозирования в упорядоченном множестве S, прогнозирование i должно предшествовать режиму j прогнозирования в множестве V.The modes in the first ordered set T are ordered according to their expected probability of occurrence for the combination of modes of neighboring blocks U and L. The more often the mode is expected, the less bits should be used to transmit a signal about it. The second ordered set of modes V is created by removing the elements of the first set T from the set S and maintaining the ordering of the remaining elements. For example, if prediction i precedes prediction mode j in ordered set S, prediction i must precede prediction mode j in set V.
В качестве отдельного примера заявитель рассматривает режимы, имеющиеся в кодере JVT, и допускает, что для каждой комбинации режимов для блоков U и L только наиболее вероятный режим назначен в первую группу. Остальные 8 режимов перечислены в возрастающей последовательности их номеров. Чтобы дополнительно проиллюстрировать этот отдельный пример, заявитель рассматривает комбинацию режимов (1,1), которой назначен режим 1 как наиболее вероятный режим. Режим 1 составляет первое упорядоченное множество S, т. е. V={0,2,3,4,5,6,7,8}. В данном примере упорядоченное множество S создано с помощью перечисления девяти режимов прогнозирования в возрастающей последовательности номеров, т. е. S={0,1,2,3,4,5,6,7,8}.As a separate example, the applicant considers the modes available in the JVT encoder and assumes that for each combination of modes for blocks U and L, only the most probable mode is assigned to the first group. The remaining 8 modes are listed in increasing order of their numbers. To further illustrate this separate example, the applicant considers a combination of modes (1,1), which is assigned to
Информацию относительно того, принадлежит ли режим, выбранный для данного блока, к первой группе или ко второй группе, посылают в декодер. Если он принадлежит к первой группе, передают информацию, указывающую, что i-ый наиболее вероятный режим будет использован для блока С при условии данной комбинации режимов для блоков U и L. В этом отдельном примере, если декодер принимает информацию о том, что выбрана первая группа, никакая дополнительная информация не требуется, поскольку только один режим принадлежит к этой группе. Если режим принадлежит ко второй группе, передают информацию, указывающую, что должен быть использован j-ый режим этой группы. В этом отдельном примере, если принята информация, что должен быть выбран первый режим, должен быть выбран режим 0.Information regarding whether the mode selected for a given block belongs to the first group or to the second group is sent to the decoder. If it belongs to the first group, information is transmitted indicating that the i-th most probable mode will be used for block C, provided this combination of modes for blocks U and L. In this separate example, if the decoder receives information that the first group, no additional information is required, since only one mode belongs to this group. If the mode belongs to the second group, information is transmitted indicating that the j-th mode of this group should be used. In this separate example, if information is received that the first mode should be selected, mode 0 should be selected.
Альтернативные варианты осуществления:Alternative embodiments:
1. Правила, в соответствии с которыми упорядочивают режимы в множестве S, могут отличаться.1. The rules according to which the modes are ordered in the set S may differ.
2. Способ, которым задают элементы первого множества T, зависит от режимов прогнозирования соседних блоков U и L. Элементы этого множества могут быть заданы, например, как таблица, хранимая в памяти как кодера, так и декодера, или они могут быть логически выведены из самих режимов U и L.2. The method by which the elements of the first set T are determined depends on the prediction modes of the neighboring blocks U and L. Elements of this set can be specified, for example, as a table stored in the memory of both the encoder and the decoder, or they can be logically deduced from the modes U and L.
3. Передача сигнала в декодер относительно того, какой режим выбран, может быть выполнена многочисленными способами, например:3. The transmission of the signal to the decoder regarding which mode is selected can be performed in numerous ways, for example:
- может быть передана информация о ранге режима прогнозирования в упорядоченном множестве R;- information about the rank of the prediction mode in the ordered set R can be transmitted;
- за информацией относительно того, какое множество - T или V выбрано, следует ранг режима в выбранном множестве.- for information regarding which set - T or V is selected, the rank of the mode in the selected set follows.
Предпочтительная реализация для режимов прогнозирования, заданных в кодере JVT, описана следующим образом.A preferred implementation for the prediction modes specified in the JVT encoder is described as follows.
Одна и та же метка может быть назначена разным режимам прогнозирования блоков U и L перед использованием их для задания режима прогнозирования для блока С. Диагональные режимы 3, 5 и 8 сгруппированы вместе и обозначены как 3, а диагональные режимы 4, 6 и 7 сгруппированы вместе и обозначены как 4. После этой группировки каждый из блоков U и L может иметь один из пяти режимов, обозначенных как 0, 1, 2, 3 и 4. Следовательно, вместо 9х9 возможных комбинаций режимов прогнозирования U и L имеется только 5х5 таких комбинаций.The same label can be assigned to different prediction modes of blocks U and L before using them to specify the prediction mode for block C. The
Упорядоченное множество S создано с помощью перечисления девяти режимов прогнозирования в возрастающей последовательности их номеров, т. е. S={0,1,2,3,4,5,6,7,8}. Для каждой комбинации режимов прогнозирования для U и L назначен только один наиболее вероятный режим, т. е. упорядоченное множество Т для каждой комбинации состоит только из одного элемента. Назначение дано в таблице V.An ordered set S is created by listing nine prediction modes in an increasing sequence of their numbers, that is, S = {0,1,2,3,4,5,6,7,8}. For each combination of prediction modes for U and L, only one most probable mode is assigned, i.e., the ordered set T for each combination consists of only one element. The assignment is given in table V.
Первую информацию относительно того, использован ли наиболее вероятный режим, посылают в декодер. Эта информация закодирована совместно для двух блоков 4х4, как дано в таблице ниже.The first information regarding whether the most probable mode is used is sent to the decoder. This information is coded together for two 4x4 blocks, as given in the table below.
Х обозначает, что должен быть использован наиболее вероятный режим. Для блоков, для которых не использован наиболее вероятный режим m, передают номер кода от 0 до 7, указывающий, какой из остальных режимов должен быть использован. Поскольку остальные режимы упорядочены в соответствии с их номерами, режим с меньшим номером предшествует режиму с более высоким номером, когда номер q кода принимают, использованный режим прогнозирования равен:X indicates that the most likely mode should be used. For blocks for which the most probable mode m has not been used, a code number from 0 to 7 is transmitted indicating which of the remaining modes should be used. Since the remaining modes are ordered according to their numbers, the mode with the lower number precedes the mode with the higher number, when the code number q is received, the used prediction mode is:
q, если q<m;q if q <m;
q+1, в противном случае.q + 1, otherwise.
Номер q кода посылают как кодовое слово из 3-х бит, которое является двоичным представлением соответствующего номера кода.The code number q is sent as a 3-bit code word, which is a binary representation of the corresponding code number.
Сохранения в памяти для способа в соответствии с настоящим изобретением исходят из того факта, что декодер для каждой комбинации режимов блоков U и L должен запомнить, самое большее, упорядоченные множества S и T, пока S является одинаковым для всей комбинации режимов для блоков U и L.The storage for the method in accordance with the present invention is based on the fact that the decoder for each combination of modes of blocks U and L must remember at most the ordered sets S and T, while S is the same for the whole combination of modes for blocks U and L .
В итоге настоящее изобретение предлагает способы, устройства и системы, предназначенные для кодирования в битовый поток и декодирования из битового потока информации изображения, содержащей множество блоков изображения, с использованием множества режимов пространственного прогнозирования для внутреннего режима прогнозирования блока. Режим пространственного прогнозирования текущего блока (С) может быть определен на основании множества полученных режимов прогнозирования, полученных из режимов пространственного прогнозирования множества соседних блоков (U, L) текущего блока (С). Множество из n полученных режимов прогнозирования группируют в первую группу из m первых режимов прогнозирования с m<n и вторую группу вторых режимов прогнозирования. Первые режимы прогнозирования имеют более высокую вероятность появления, чем вторые режимы прогнозирования. В то время как первые режимы прогнозирования упорядочивают в соответствии с вероятностью их появления, вторые режимы прогнозирования располагают заданным образом, известным декодеру. Следовательно, упорядоченное множество подают в устройство декодирования таким образом, чтобы дать возможность устройству декодирования определить последовательность вторых режимов декодирования на основании поданного упорядоченного множества. Упорядоченное множество связано с одной или несколькими группами режимов пространственного прогнозирования соседних блоков (U, L) текущего блока. Кроме того, битовый поток может включать в себя закодированную информацию, указывающую, какой из первых режимов прогнозирования имеет наивысшую вероятность появления, когда полученный режим прогнозирования с наивысшей вероятностью появления выбран для использования в кодировании текущего блока (С). Настоящее изобретение также предлагает компьютерную программу, имеющую псевдокоды, предназначенные для использования в группировке множества полученных режимов прогнозирования в первую и вторую группы и в упорядочении первых режимов прогнозирования в соответствии с вероятностью появления среди первых режимов прогнозирования.As a result, the present invention provides methods, devices, and systems for encoding and decoding from a bit stream image information containing a plurality of image blocks using a plurality of spatial prediction modes for an intra block prediction mode. The spatial prediction mode of the current block (C) can be determined based on the set of obtained prediction modes obtained from the spatial prediction modes of a plurality of neighboring blocks (U, L) of the current block (C). Many of the n obtained prediction modes are grouped into a first group of m first prediction modes with m <n and a second group of second prediction modes. The first prediction modes have a higher probability of occurrence than the second prediction modes. While the first prediction modes are ordered according to the probability of their occurrence, the second prediction modes are arranged in a predetermined manner known to the decoder. Therefore, the ordered set is supplied to the decoding device in such a way as to enable the decoding device to determine the sequence of the second decoding modes based on the supplied ordered set. An ordered set is associated with one or more groups of spatial prediction modes of neighboring blocks (U, L) of the current block. In addition, the bitstream may include encoded information indicating which of the first prediction modes has the highest probability of occurrence when the obtained prediction mode with the highest probability of occurrence is selected for use in encoding the current block (C). The present invention also provides a computer program having pseudo codes intended for use in grouping a plurality of obtained prediction modes into first and second groups and in ordering the first prediction modes in accordance with the probability of occurrence among the first prediction modes.
Несмотря на то, что изобретение описано относительно предпочтительного варианта его осуществления, специалистам в данной области техники будет понятно, что могут быть сделаны вышеупомянутые и другие изменения, пропуски и отклонения изобретения по форме и деталям, не выходя за рамки объема этого изобретения.Although the invention has been described with respect to a preferred embodiment, it will be understood by those skilled in the art that the above and other changes, omissions and deviations of the invention in form and detail may be made without departing from the scope of this invention.
Claims (31)
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/171,467 | 2002-06-01 | ||
US60/388,061 | 2002-06-01 | ||
US60/391,112 | 2002-06-02 | ||
US38806102P | 2002-06-11 | 2002-06-11 | |
US10/171,467 US20030231795A1 (en) | 2002-06-12 | 2002-06-12 | Spatial prediction based intra-coding |
US39517802P | 2002-07-09 | 2002-07-09 | |
US60/395,178 | 2002-07-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2004139081A RU2004139081A (en) | 2005-07-10 |
RU2314656C2 true RU2314656C2 (en) | 2008-01-10 |
Family
ID=35838133
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2004139081/09A RU2314656C2 (en) | 2002-06-11 | 2003-06-10 | Internal encoding, based on spatial prediction |
Country Status (1)
Country | Link |
---|---|
RU (1) | RU2314656C2 (en) |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8428133B2 (en) | 2007-06-15 | 2013-04-23 | Qualcomm Incorporated | Adaptive coding of video block prediction mode |
US8571104B2 (en) | 2007-06-15 | 2013-10-29 | Qualcomm, Incorporated | Adaptive coefficient scanning in video coding |
RU2518390C2 (en) * | 2008-04-15 | 2014-06-10 | Франс Телеком | Encoding and decoding image or sequence of images sliced into partitions of pixels of linear form |
RU2520377C2 (en) * | 2010-02-09 | 2014-06-27 | Ниппон Телеграф Энд Телефон Корпорейшн | Motion vector predictive encoding method, motion vector predictive decoding method, moving picture encoding apparatus, moving picture decoding apparatus, and programmes thereof |
RU2562419C1 (en) * | 2011-07-22 | 2015-09-10 | Квэлкомм Инкорпорейтед | Prediction of fragment headers for depth cards in 3d video codecs |
RU2579989C2 (en) * | 2010-07-16 | 2016-04-10 | Самсунг Электроникс Ко., Лтд. | Method and apparatus for image encoding and decoding using intraframe prediction |
RU2584498C2 (en) * | 2011-11-04 | 2016-05-20 | Квэлкомм Инкорпорейтед | Intra-mode video encoding |
RU2595756C2 (en) * | 2009-10-30 | 2016-08-27 | Самсунг Электроникс Ко., Лтд. | Method and apparatus for encoding and decoding coding unit of picture boundary |
US9497481B2 (en) | 2010-02-09 | 2016-11-15 | Nippon Telegraph And Telephone Corporation | Motion vector predictive encoding method, motion vector predictive decoding method, moving picture encoding apparatus, moving picture decoding apparatus, and programs thereof |
RU2603543C2 (en) * | 2009-08-17 | 2016-11-27 | Самсунг Электроникс Ко., Лтд. | Method and apparatus for encoding video and method and apparatus for decoding video |
US9838709B2 (en) | 2010-02-09 | 2017-12-05 | Nippon Telegraph And Telephone Corporation | Motion vector predictive encoding method, motion vector predictive decoding method, moving picture encoding apparatus, moving picture decoding apparatus, and programs thereof |
US9930332B2 (en) | 2011-09-12 | 2018-03-27 | Canon Kabushiki Kaisha | Deriving reference mode values and encoding and decoding information representing prediction modes |
RU2657210C2 (en) * | 2014-03-04 | 2018-06-08 | МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи | Block flipping and skip mode in intra block copy prediction |
RU2678497C2 (en) * | 2011-06-24 | 2019-01-29 | Мицубиси Электрик Корпорейшн | Image encoding device, image decoding device, image encoding method, image decoding method and image prediction device |
US10306229B2 (en) | 2015-01-26 | 2019-05-28 | Qualcomm Incorporated | Enhanced multiple transforms for prediction residual |
RU2694239C1 (en) * | 2009-03-23 | 2019-07-10 | Нтт Докомо, Инк. | Image predictive coding device, an image predictive coding method, an image predictive coding program, an image prediction decoding device, an image prediction decoding method, an image prediction decoding program |
US10390034B2 (en) | 2014-01-03 | 2019-08-20 | Microsoft Technology Licensing, Llc | Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area |
US10469863B2 (en) | 2014-01-03 | 2019-11-05 | Microsoft Technology Licensing, Llc | Block vector prediction in video and image coding/decoding |
US10582213B2 (en) | 2013-10-14 | 2020-03-03 | Microsoft Technology Licensing, Llc | Features of intra block copy prediction mode for video and image coding and decoding |
US10623774B2 (en) | 2016-03-22 | 2020-04-14 | Qualcomm Incorporated | Constrained block-level optimization and signaling for video coding tools |
US10785486B2 (en) | 2014-06-19 | 2020-09-22 | Microsoft Technology Licensing, Llc | Unified intra block copy and inter prediction modes |
US10812817B2 (en) | 2014-09-30 | 2020-10-20 | Microsoft Technology Licensing, Llc | Rules for intra-picture prediction modes when wavefront parallel processing is enabled |
US10986349B2 (en) | 2017-12-29 | 2021-04-20 | Microsoft Technology Licensing, Llc | Constraints on locations of reference blocks for intra block copy prediction |
US11109036B2 (en) | 2013-10-14 | 2021-08-31 | Microsoft Technology Licensing, Llc | Encoder-side options for intra block copy prediction mode for video and image coding |
US11284103B2 (en) | 2014-01-17 | 2022-03-22 | Microsoft Technology Licensing, Llc | Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning |
US11323748B2 (en) | 2018-12-19 | 2022-05-03 | Qualcomm Incorporated | Tree-based transform unit (TU) partition for video coding |
-
2003
- 2003-06-10 RU RU2004139081/09A patent/RU2314656C2/en active
Cited By (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8488668B2 (en) | 2007-06-15 | 2013-07-16 | Qualcomm Incorporated | Adaptive coefficient scanning for video coding |
US8520732B2 (en) | 2007-06-15 | 2013-08-27 | Qualcomm Incorporated | Adaptive coding of video block prediction mode |
US8571104B2 (en) | 2007-06-15 | 2013-10-29 | Qualcomm, Incorporated | Adaptive coefficient scanning in video coding |
US8619853B2 (en) | 2007-06-15 | 2013-12-31 | Qualcomm Incorporated | Separable directional transforms |
US8428133B2 (en) | 2007-06-15 | 2013-04-23 | Qualcomm Incorporated | Adaptive coding of video block prediction mode |
US9578331B2 (en) | 2007-06-15 | 2017-02-21 | Qualcomm Incorporated | Separable directional transforms |
RU2518390C2 (en) * | 2008-04-15 | 2014-06-10 | Франс Телеком | Encoding and decoding image or sequence of images sliced into partitions of pixels of linear form |
RU2694239C1 (en) * | 2009-03-23 | 2019-07-10 | Нтт Докомо, Инк. | Image predictive coding device, an image predictive coding method, an image predictive coding program, an image prediction decoding device, an image prediction decoding method, an image prediction decoding program |
RU2603541C2 (en) * | 2009-08-17 | 2016-11-27 | Самсунг Электроникс Ко., Лтд. | Method and device for video encoding and method and device for video decoding |
RU2603539C2 (en) * | 2009-08-17 | 2016-11-27 | Самсунг Электроникс Ко., Лтд. | Method and apparatus for encoding video and method and apparatus for decoding video |
RU2603542C2 (en) * | 2009-08-17 | 2016-11-27 | Самсунг Электроникс Ко., Лтд. | Method and apparatus for encoding video and method and apparatus for decoding video |
RU2603543C2 (en) * | 2009-08-17 | 2016-11-27 | Самсунг Электроникс Ко., Лтд. | Method and apparatus for encoding video and method and apparatus for decoding video |
RU2595576C2 (en) * | 2009-10-30 | 2016-08-27 | Самсунг Электроникс Ко., Лтд. | Method and apparatus for encoding and decoding coding unit of picture boundary |
RU2595613C2 (en) * | 2009-10-30 | 2016-08-27 | Самсунг Электроникс Ко., Лтд. | Method and apparatus for encoding and decoding coding unit of picture boundary |
RU2595756C2 (en) * | 2009-10-30 | 2016-08-27 | Самсунг Электроникс Ко., Лтд. | Method and apparatus for encoding and decoding coding unit of picture boundary |
US9497481B2 (en) | 2010-02-09 | 2016-11-15 | Nippon Telegraph And Telephone Corporation | Motion vector predictive encoding method, motion vector predictive decoding method, moving picture encoding apparatus, moving picture decoding apparatus, and programs thereof |
US9838709B2 (en) | 2010-02-09 | 2017-12-05 | Nippon Telegraph And Telephone Corporation | Motion vector predictive encoding method, motion vector predictive decoding method, moving picture encoding apparatus, moving picture decoding apparatus, and programs thereof |
RU2520377C2 (en) * | 2010-02-09 | 2014-06-27 | Ниппон Телеграф Энд Телефон Корпорейшн | Motion vector predictive encoding method, motion vector predictive decoding method, moving picture encoding apparatus, moving picture decoding apparatus, and programmes thereof |
RU2621008C2 (en) * | 2010-07-16 | 2017-05-30 | Самсунг Электроникс Ко., Лтд. | Image coding and decoding method and device with intraframe prediction |
US10212452B2 (en) | 2010-07-16 | 2019-02-19 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding image through intra prediction |
RU2597484C2 (en) * | 2010-07-16 | 2016-09-10 | Самсунг Электроникс Ко., Лтд. | Method and apparatus for encoding and decoding image using intra-frame prediction |
US9654797B2 (en) | 2010-07-16 | 2017-05-16 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding image through intra prediction |
US9654796B2 (en) | 2010-07-16 | 2017-05-16 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding image through intra prediction |
US9654795B2 (en) | 2010-07-16 | 2017-05-16 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding image through intra prediction |
US9661344B2 (en) | 2010-07-16 | 2017-05-23 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding image through intra prediction |
RU2607233C2 (en) * | 2010-07-16 | 2017-01-10 | Самсунг Электроникс Ко., Лтд. | Method and apparatus for encoding and decoding image using intra-frame prediction |
RU2579989C2 (en) * | 2010-07-16 | 2016-04-10 | Самсунг Электроникс Ко., Лтд. | Method and apparatus for image encoding and decoding using intraframe prediction |
RU2678497C2 (en) * | 2011-06-24 | 2019-01-29 | Мицубиси Электрик Корпорейшн | Image encoding device, image decoding device, image encoding method, image decoding method and image prediction device |
RU2700396C1 (en) * | 2011-06-24 | 2019-09-16 | Мицубиси Электрик Корпорейшн | Image encoding device, an image decoding device, an image encoding method, an image decoding method and an image prediction device |
RU2699411C1 (en) * | 2011-06-24 | 2019-09-05 | Мицубиси Электрик Корпорейшн | Image encoding device, an image decoding device, an image encoding method, an image decoding method and an image prediction device |
RU2699256C1 (en) * | 2011-06-24 | 2019-09-04 | Мицубиси Электрик Корпорейшн | Image encoding device, an image decoding device, an image encoding method, an image decoding method and an image prediction device |
RU2562419C1 (en) * | 2011-07-22 | 2015-09-10 | Квэлкомм Инкорпорейтед | Prediction of fragment headers for depth cards in 3d video codecs |
RU2696252C1 (en) * | 2011-09-12 | 2019-08-01 | Кэнон Кабусики Кайся | Output of reference mode values and encoding and decoding of information representing prediction modes |
RU2738256C1 (en) * | 2011-09-12 | 2020-12-11 | Кэнон Кабусики Кайся | Output of reference mode values and encoding and decoding information representing prediction modes |
RU2759319C1 (en) * | 2011-09-12 | 2021-11-11 | Кэнон Кабусики Кайся | Output of reference values of mode and encoding and decoding of information representing prediction modes |
US9930332B2 (en) | 2011-09-12 | 2018-03-27 | Canon Kabushiki Kaisha | Deriving reference mode values and encoding and decoding information representing prediction modes |
RU2722536C1 (en) * | 2011-09-12 | 2020-06-01 | Кэнон Кабусики Кайся | Output of reference mode values and encoding and decoding of information representing prediction modes |
RU2732673C1 (en) * | 2011-09-12 | 2020-09-25 | Кэнон Кабусики Кайся | Output of reference mode values and encoding and decoding of information representing prediction modes |
RU2584498C2 (en) * | 2011-11-04 | 2016-05-20 | Квэлкомм Инкорпорейтед | Intra-mode video encoding |
US11109036B2 (en) | 2013-10-14 | 2021-08-31 | Microsoft Technology Licensing, Llc | Encoder-side options for intra block copy prediction mode for video and image coding |
US10582213B2 (en) | 2013-10-14 | 2020-03-03 | Microsoft Technology Licensing, Llc | Features of intra block copy prediction mode for video and image coding and decoding |
US10390034B2 (en) | 2014-01-03 | 2019-08-20 | Microsoft Technology Licensing, Llc | Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area |
US10469863B2 (en) | 2014-01-03 | 2019-11-05 | Microsoft Technology Licensing, Llc | Block vector prediction in video and image coding/decoding |
US11284103B2 (en) | 2014-01-17 | 2022-03-22 | Microsoft Technology Licensing, Llc | Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning |
US10368091B2 (en) | 2014-03-04 | 2019-07-30 | Microsoft Technology Licensing, Llc | Block flipping and skip mode in intra block copy prediction |
RU2657210C2 (en) * | 2014-03-04 | 2018-06-08 | МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи | Block flipping and skip mode in intra block copy prediction |
US10785486B2 (en) | 2014-06-19 | 2020-09-22 | Microsoft Technology Licensing, Llc | Unified intra block copy and inter prediction modes |
US10812817B2 (en) | 2014-09-30 | 2020-10-20 | Microsoft Technology Licensing, Llc | Rules for intra-picture prediction modes when wavefront parallel processing is enabled |
US10306229B2 (en) | 2015-01-26 | 2019-05-28 | Qualcomm Incorporated | Enhanced multiple transforms for prediction residual |
US10623774B2 (en) | 2016-03-22 | 2020-04-14 | Qualcomm Incorporated | Constrained block-level optimization and signaling for video coding tools |
US10986349B2 (en) | 2017-12-29 | 2021-04-20 | Microsoft Technology Licensing, Llc | Constraints on locations of reference blocks for intra block copy prediction |
US11323748B2 (en) | 2018-12-19 | 2022-05-03 | Qualcomm Incorporated | Tree-based transform unit (TU) partition for video coding |
Also Published As
Publication number | Publication date |
---|---|
RU2004139081A (en) | 2005-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2314656C2 (en) | Internal encoding, based on spatial prediction | |
KR101017094B1 (en) | Spatial prediction based intra coding | |
US7289674B2 (en) | Spatial prediction based intra coding | |
US20060188165A1 (en) | Spatial prediction based intra-coding | |
US9131232B2 (en) | Method and apparatus for encoding images and method and apparatus for decoding images | |
KR100714355B1 (en) | A method for encoding images, and an image coder | |
CN101505429B (en) | Apparatus and method for intra coding video data | |
CN104885471A (en) | Content adaptive entropy coding of coded/not-coded data for next generation video | |
CN102077595A (en) | Image processing device and method | |
KR20110066109A (en) | Coding method and apparatus by using tree structure | |
KR20050116344A (en) | Method of lossless encoding and decoding, and apparatus thereof | |
Kuo et al. | An efficient spatial prediction-based image compression scheme | |
JP3912628B2 (en) | Image encoding device, image encoding method, image encoding and decoding system, image encoding and decoding method, and recording medium | |
JP2006109499A (en) | Image encoding apparatus and image encoding method, image processing system and image processing method, transmission method, recording medium and image decoding apparatus | |
JP4496494B2 (en) | Image coding apparatus and image coding method | |
JPH1093981A (en) | Image encoder and image encoding method, image decoder and image decoding method, transmitting method and recording medium | |
CN116998156A (en) | Transform skipped coefficient symbol prediction | |
CN117044203A (en) | Signaling of EOB for one-dimensional transform skipping | |
JPH1084549A (en) | Image coder, image coding method, image decoder, image decoding method, transmission method and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PC41 | Official registration of the transfer of exclusive right |
Effective date: 20160602 |