Внутреннее кодирование, основанное на пространственном прогнозировании

Иллюстрации

Показать все

Изобретение относится к кодированию изобретений и более конкретно к кодированию блоков видеокадров. Предложены способ и устройство, предназначенные для кодирования цифрового изображения с использованием прогнозирования блока во внутреннем режиме, причем список режимов прогнозирования получают для каждой комбинации режимов прогнозирования соседних блоков. Режимы, назначенные для каждой комбинации режимов прогнозирования, могут быть разделены на две группы. Первая группа имеет m наиболее вероятных режимов прогнозирования, а вторая группа имеет n-m режимов прогнозирования, при этом n является общим числом имеющихся режимов прогнозирования. Режимы в первой группе упорядочивают в соответствии с их вероятностью. Эта упорядоченность может быть задана как список режимов, упорядоченных от наиболее вероятного до наименее вероятного режима. Режимы, принадлежащие ко второй группе, могут быть упорядочены некоторым заданным способом, который может быть задан в зависимости от информации, уже имеющейся в декодере. Технический результат - сокращение объема памяти при минимальной потере эффективности кодирования. 6 н. и 23 з.п. ф-лы, 6 табл., 8 ил.

Реферат

Описание

Область техники, к которой относится изобретение

Настоящее изобретение в целом относится к кодированию изображения и более конкретно к кодированию блоков видеокадров.

Уровень техники

Цифровое изображение, такое как видеоизображение, телевизионное изображение, неподвижное изображение или изображение, сгенерированное с помощью видеомагнитофона или компьютера, состоит из пикселей, расположенных в горизонтальных и вертикальных линиях. Число пикселей в одном изображении обычно равно десяткам тысяч. Каждый пиксель обычно содержит информацию яркости и цветности. Без сжатия количество информации, передаваемой из кодера изображения в декодер изображения, является настолько огромным, что оно делает передачу изображения в реальном времени невозможным. Чтобы уменьшить количество передаваемой информации, разработан ряд разных способов сжатия, таких как стандарты JPEG, MPEG и Н.263. В типичном видеокодере кадр исходной видеопоследовательности разделяют на прямоугольные области или блоки, которые кодируют во внутреннем режиме (режим I) или в промежуточном режиме (режим Р). Блоки кодируют независимо с использованием некоторого вида кодирования с преобразованием, такого как кодирование DCT, ДКП (дискретное косинусное преобразование). Однако простое кодирование на основе блоков только уменьшает корреляцию между пикселями в конкретном блоке без учета межблочной корреляции пикселей и оно по-прежнему создает высокие скорости бит для передачи. Современные стандарты кодирования цифровых изображений также используют определенные способы, которые уменьшают корреляцию величин пикселей между блоками.

Обычно блоки, закодированные в режиме Р, прогнозируют из одного из ранее закодированных и переданных кадров. Информацию прогнозирования блока представляют с помощью двумерного (2D) вектора движения. Для блоков, закодированных в режиме I, прогнозируемый блок формируют с использованием пространственного прогнозирования из уже закодированных соседних блоков в одном и том же кадре. Ошибку прогнозирования, например разность между кодируемым блоком и прогнозируемым блоком, представляют как множество взвешенных базовых функций некоторого дискретного преобразования. Преобразование обычно выполняют на основе блока 8х8 или 4х4. Весовые коэффициенты - коэффициенты преобразования затем квантуют. Квантование вносит потерю информации и, следовательно, квантованные коэффициенты имеют более низкую точность, чем оригиналы.

Квантованные коэффициенты преобразования вместе с векторами движения и некоторой управляющей информацией образуют полное представление закодированной последовательности и их называют синтаксическими элементами. Перед передачей из кодера в декодер все синтаксические элементы кодируют с учетом энтропии таким образом, чтобы дополнительно уменьшить число бит, необходимых для их представления.

В декодере блок в текущем кадре получают сначала с помощью составления его прогноза таким же способом, как в кодере, и с помощью добавления к прогнозу ошибки сжатого прогноза. Ошибку сжатого прогноза находят с помощью взвешивания базовых функций преобразования с использованием квантованных коэффициентов. Разность между восстановленным кадром и исходным кадром называют ошибкой восстановления.

Коэффициентом сжатия, т.е. отношением числа бит, использованных, чтобы представить исходную и сжатую последовательности, обе в случае блоков I и Р, управляют с помощью регулирования величины параметра квантования, который используют, чтобы квантовать коэффициенты преобразования. Коэффициент сжатия также зависит от использованного способа кодирования энтропии.

Пример пространственного прогнозирования, использованного в рабочем проекте номер 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 г.

Режим 0: прогнозирование DC

Обычно все выборки прогнозируют с помощью (A+B+C+D+I+J+K+L+4)>>3. Если четыре из выборок находятся вне изображения, среднее из остальных четырех используют для прогнозирования. Если все восемь выборок находятся вне изображения, прогнозирование для всех выборок в блоке равно 128. Следовательно, блок всегда может быть спрогнозирован в этом режиме.

Режим 1: вертикальное прогнозирование

Если A,B,C,D находятся внутри изображения, тогда

- a,e,i,m предсказывают с помощью А,

- b,f,j,n предсказывают с помощью B,

- c,g,k,o предсказывают с помощью C,

- d,h,l,p предсказывают с помощью D.

Режим 2: горизонтальное прогнозирование

Если E,F,G,H находятся внутри изображения, тогда

- a,b,c,d предсказывают с помощью E,

- e,f,g,h предсказывают с помощью F,

- i,j,k,l предсказывают с помощью G,

- m,n,o,p предсказывают с помощью H.

Режим 3: диагональное прогнозирование вниз/вправо

Этот режим используют только, если все A, B, C, D, I, J, K, L, Q находятся внутри изображения. Это является "диагональным" прогнозированием.

- m прогнозируют с помощью (J+2K+L+2)>>2

- i,n прогнозируют с помощью (I+2J+K+2)>>2

- e,j,o прогнозируют с помощью (Q+2I+J+2)>>2

- a,f,k,p прогнозируют с помощью (A+2Q+I+2)>>2

- b,g,l прогнозируют с помощью (Q+2A+B+2)>>2

- c,h прогнозируют с помощью (A+2B+D+2)>>2

- d прогнозируют с помощью (B+2C+D+2)>>2

Режим 4: диагональное прогнозирование вниз/влево

Этот режим используют только, если все A, B, C, D, I, J, K, L, Q находятся внутри изображения. Это является "диагональным" прогнозированием.

- а прогнозируют с помощью (A+2B+C+I+2J+K+4)>>3

- b,e прогнозируют с помощью (A+2B+C+I+2J+K+4)>>3

- c,f,i прогнозируют с помощью (C+2D+E+R+2L+M+4)>>3

- d,g,j,m прогнозируют с помощью (D+2E+F+L+2M+N+4)>>3

- h,k,n прогнозируют с помощью (E+2F+G+M+2N+O+4)>>3

- l,o прогнозируют с помощью (F+2G+H+N+2O+P+4)>>3

- p прогнозируют с помощью (G+H+O+P+2)>>3

Режим 5: вертикальное-левое прогнозирование

Этот режим используют только, если все A, B, C, D, I, J, K, L, Q находятся внутри изображения. Это является "диагональным" прогнозированием.

- a, j прогнозируют с помощью (Q+A+1)>>1

- b,k прогнозируют с помощью (A+B+1)>>1

- c,l прогнозируют с помощью (B+C+1)>>1

- d прогнозируют с помощью (C+D+1)>>1

- e,n прогнозируют с помощью (I+2Q+A+2)>>2

- f,o прогнозируют с помощью (Q+2A+B+2)>>2

- g,p прогнозируют с помощью (A+2B+C+2)>>2

- h прогнозируют с помощью (B+2C+D+2)>>2

- i прогнозируют с помощью (Q+2I+J+2)>>2

- m прогнозируют с помощью (I+2J+K+2)>>2

Режим 6: вертикальное-правое прогнозирование

Этот режим используют только, если все A, B, C, D, I, J, K, L, Q находятся внутри изображения. Это является "диагональным" прогнозированием.

- a прогнозируют с помощью (2A+2B+J+2K+L+4)>>3

- b,i прогнозируют с помощью (B+C+1)>>1

- c,j прогнозируют с помощью (C+D+1)>>1

- d,k прогнозируют с помощью (D+E+1)>>1

- l прогнозируют с помощью (E+F+1)>>1

- e прогнозируют с помощью (A+2B+C+K+2L+M+4)>>3

- f,m прогнозируют с помощью (B+2C+D+2)>>2

- g,n прогнозируют с помощью (C+2D+E+2)>>2

- h,o прогнозируют с помощью (D+2E+F+2)>>2

- p прогнозируют с помощью (E+2F+G+2)>>2

Режим 7: горизонтальное прогнозирование вверх

Этот режим используют только, если все A, B, C, D, I, J, K, L, Q находятся внутри изображения. Это является "диагональным" прогнозированием.

- a прогнозируют с помощью (B+2C+D+2I+2J+4)>>3

- b прогнозируют с помощью (C+2D+E+I+2J+K+4)>>3

- c,e прогнозируют с помощью (D+2E+F+2J+2K+4)>>3

- d,f прогнозируют с помощью (E+2F+G+J+2K+2L+4)>>3

- g,i прогнозируют с помощью (F+2G+H+2K+2L+4)>>3

- h,j прогнозируют с помощью (G+3H++K+3L+4)>>3

- l,n прогнозируют с помощью (L+2M+N+2)>>3

- k,m прогнозируют с помощью (G+H+L+M+2)>>2

- o прогнозируют с помощью (M+N+1)>>1

- p прогнозируют с помощью (M+2N+O+2)>>2

Режим 8: горизонтальное прогнозирование вниз

Этот режим используют только, если все A, B, C, D, I, J, K, L, Q находятся внутри изображения. Это является "диагональным" прогнозированием.

- a,g прогнозируют с помощью (Q+I+1)>>1

- b,h прогнозируют с помощью (I+2Q+A+2)>>2

- c прогнозируют с помощью (Q+2A+B+2)>>2

- d прогнозируют с помощью (A+2B+C+2)>>2

- e,k прогнозируют с помощью (I+J+1)>>1

- f,l прогнозируют с помощью (Q+2I+J+2)>>2

- i,o прогнозируют с помощью (J+K+1)>>1

- j,p прогнозируют с помощью (I+2J+K+2)>>2

- m прогнозируют с помощью (K+L+1)>>1

- n прогнозируют с помощью (J+2K+L+2)>>2

Поскольку каждый блок должен иметь режим прогнозирования, назначаемый и передаваемый в декодер, это потребовало бы значительного числа бит, если закодирован непосредственно. Для того чтобы уменьшить количество передаваемой информации, может быть использована корреляция режимов прогнозирования соседних блоков. Например, заявка на патент, принадлежащая Ватери и др. (WO 01/54416 А1 "Способ кодирования изображений и кодер изображений", далее упоминаемая как Ватери), раскрывает способ кодирования на основе блоков, в котором используют информацию направленности изображения в блоках, чтобы классифицировать множество режимов пространственного прогнозирования. Этот режим пространственного прогнозирования блока определяют с помощью информации направленности, по меньшей мере, соседнего блока.

В кодере JVT, когда режимы прогнозирования соседних уже закодированных блоков U и L известны, дано упорядочение наиболее вероятного режима прогнозирования, следующего наиболее вероятного режима прогнозирования и т. д. для блока С (фиг.3). Упорядочение режимов задают для каждой комбинации режимов прогнозирования U и L. Эта упорядоченность может быть задана как список режимов прогнозирования для блока С, упорядоченных от наиболее вероятного до наименее вероятного режима. Упорядоченный список, использованный в РП2 кодера JVT, как раскрыто в VCEG-N54, приведен ниже:

Таблица I
Режим прогнозирования как функция упорядочения, передаваемого в виде сигнала в битовом потоке
L/UВне0123
Вне--------0--------01-------10----------------
002-------021648573125630487021876543021358647
1---------102654387162530487120657483102536487
220-------280174365217683504287106435281035764
3---------201385476125368470208137546325814670
4---------201467835162045873204178635420615837
5---------015263847152638407201584673531286407
6---------016247583160245738206147853160245837
7---------270148635217608543278105463270154863
8---------280173456127834560287104365283510764
L/U45678
Вне--------------------------------------------
0206147583512368047162054378204761853208134657
1162045378156320487165423078612047583120685734
2287640153215368740216748530278016435287103654
3421068357531268470216584307240831765832510476
4426015783162458037641205783427061853204851763
5125063478513620847165230487210856743210853647
6640127538165204378614027538264170583216084573
7274601853271650834274615083274086153278406153
8287461350251368407216847350287410365283074165

В настоящем описании приведен пример режимов прогнозирования для блока 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 и т. д.

Для более эффективного кодирования информация внутреннего прогнозирования двух блоков 4х4 может быть закодирована в одном кодовом слове.

Вышеупомянутый способ имеет один главный недостаток - требуется память, необходимая для хранения упорядочения режимов прогнозирования для блока С, при условии данных режимов прогнозирования блоков U и L. В РП2 кодера JVT, поскольку для прогнозирования используют 9 режимов, имеется 9х9 возможных комбинаций режимов для блоков U и L. Для каждой комбинации должно быть задано упорядочение 9 возможных режимов. Это значит, что требуется 9х9х9 байт (в настоящем описании заявитель допускает, что одно число требует один байт), чтобы задать упорядочение режимов прогнозирования. Кроме того, больше памяти может требоваться, чтобы задать специальные случаи, например, если один или оба блока U и L недоступны.

Следовательно, выгодно и желательно предоставить способ и устройство, предназначенные для кодирования цифрового изображения, в которых требования памяти уменьшены, в то время как потеря в эффективности кодирования является минимальной.

Сущность изобретения

Предложены способ и устройство, предназначенные для кодирования цифрового изображения с использованием блочного прогнозирования внутреннего режима. Получают список режимов прогнозирования для каждой комбинации режимов прогнозирования соседних блоков. Режимы, назначенные для каждой комбинации режимов прогнозирования, могут быть разделены на две группы. Первая группа включает в себя m (где m меньше чем общее число n имеющихся режимов) наиболее вероятных режимов прогнозирования, а вторая группа включает в себя остальные режимы. Режимы в первой группе упорядочивают в соответствии с их вероятностью. Эта упорядоченность может быть задана как список режимов, упорядоченных от наиболее вероятного до наименее вероятного режима. Режимы, принадлежащие ко второй группе, могут быть упорядочены некоторым заданным способом, который может быть задан в зависимости от информации, уже имеющейся в декодере. Информацию относительно того, принадлежит ли режим, выбранный для данного блока, к первой группе или ко второй группе, посылают в декодер. Если он принадлежит к первой группе, передают информацию, указывающую, что i-ый наиболее вероятный режим будет использован для блока С при условии данной комбинации режимов для блоков U и L. Если режим принадлежит ко второй группе, передают информацию, указывающую, что должен быть использован j-ый режим этой группы.

Настоящее изобретение станет понятным после прочтения описания, взятого совместно с фиг. с 4а по 8.

Краткое описание чертежей

Фиг.1 представляет схематическое представление, иллюстрирующее 8 направленных режимов, которые используют как режимы пространственного прогнозирования.

Фиг.2 представляет схематическое представление, иллюстрирующее пиксели, которые используют для прогнозирования текущего блока 4х4 пикселей.

Фиг.3 представляет схематическое представление, иллюстрирующее два соседних блока, используемых для прогнозирования текущего блока.

Фиг.4а представляет схематическое представление, иллюстрирующее режим пространственного прогнозирования двух соседних блоков, использованных для прогнозирования текущего блока.

Фиг.4b представляет схематическое представление, иллюстрирующее режим пространственного прогнозирования двух соседних блоков, имеющих зеркально отображенную зависимость с блоками фиг.4а.

Фиг.5а представляет схематическое представление, иллюстрирующее другой режим пространственного прогнозирования.

Фиг.5b представляет схематическое представление, иллюстрирующее зеркально отображенную пару режима.

Фиг.6 представляет блок-схему, иллюстрирующую способ пространственного прогнозирования.

Фиг.7 представляет блок-схему, иллюстрирующую систему передачи блока цифрового изображения, предназначенную для реализации способа в соответствии с вариантом осуществления настоящего изобретения.

Фиг.8 представляет блок-схему, иллюстрирующую портативное устройство видеотелекоммуникаций, реализующее способ в соответствии с вариантом осуществления настоящего изобретения.

Наилучший способ для выполнения изобретения

Вариант осуществления настоящего изобретения использует то свойство, что можно получить упорядоченный список режимов прогнозирования для одной комбинации режимов прогнозирования соседних блоков как функцию режимов прогнозирования другой комбинации. С целью иллюстрации режимы прогнозирования двух соседних блоков U и L, как изображено на фиг.3, используют для того, чтобы логически выводить прогнозирование текущего блока С. Следует заметить, что комбинация режимов прогнозирования на фиг.4а может быть получена с помощью обращения режимов прогнозирования относительно диагонали, как изображено на фиг.4b. Таким образом, n-ый наиболее вероятный режим прогнозирования для блока С, когда используют комбинацию режимов на фиг.4а, должен быть тем же самым, что и "обращенный относительно диагонали" n-ый наиболее вероятный режим прогнозирования для комбинации режимов на фиг. 4b. Следовательно, если соседние блоки U и L имеют режимы "вертикальный" и "вертикальный", режим прогнозирования текущего блока, наиболее вероятно, является "вертикальным" (фиг.4b). Следовательно, когда эти блоки "обращены" или зеркально отображены относительно диагонали ("вниз/вправо"), известно, что из "горизонтального" и "горизонтального" должен быть получен "горизонтальный" для текущего блока (фиг.4а). Аналогично, если соседние блоки U и L являются блоками режимов 2 и 3, как изображено на фиг. 5а, тогда обращенные блоки U и L будут блоками режимов 3 и 1, как изображено на фиг.5b.

Для того чтобы дополнительно проиллюстрировать этот пример, заявитель определяет функцию f, которая отображает направление прогнозирования i в j, j=f(i). Каждому режиму i прогнозирования назначают режим j прогнозирования, полученный с помощью зеркального отображения его относительно диагональной линии, проходящей из верхнего левого угла блока в нижний правый угол блока. Для режимов прогнозирования на фиг. 1 результирующее назначение резюмировано в таблице II.

Таблица II
ij
00
12
21
33
44
58
67
76
85

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

Первичной задачей настоящего изобретения является уменьшить размер таблицы, задающей режим прогнозирования как функцию режимов прогнозирования уже закодированных соседних блоков (например, таблица 1). Эта таблица получена во время процесса обучения. Чтобы получить упорядоченный список режимов прогнозирования для комбинации режимов (i,j) для некоторого большого числа блоков С, для которых соседние блоки имеют эту комбинацию, подсчитывают число, когда выбран каждый режим прогнозирования в соответствии с данным критерием выбора (например, наименьшая ошибка прогнозирования). Это число определяет ранг режима прогнозирования в списке режимов прогнозирования, назначенных комбинации (i,j), чем более часто выбирают режим, тем выше ранг, который он имеет в списке режимов прогнозирования.

Когда во время процесса обучения используют описанное отображение режимов прогнозирования, результирующая таблица, задающая режимы прогнозирования, будет меньше. Если упорядоченный список для комбинации (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).

Уменьшенная таблица в соответствии с настоящим изобретением изображена в таблице III.

Таблица III
Уменьшенная таблица прогнозирования
L/UВне0123
Вне--------0--------01-------10----------------
002-------024167835150642387027486135013245867
1---------150643278021468735105436287
220-------124086573283407156
3---------385240167
4---------
5---------
6---------
7---------
8---------
L/U45678
Вне --------------------------------------------
0 012465738 150346287 160452387 024716835028413765
1 104562378 156403287 165403278 014652738014256837
2 240781635 214835076 241086735 207483165280473156
3 413205876 531480267 146530287 247308516832045176
4 420671835 145602387 461027538 407261835248073165
5 513406287 165402387 240158376082354167
6 614503287 614057328 042617385024681357
7 427016385 426701835284703615
8328514067 248361075 248703651

В таблице III для некоторых комбинаций (U,L) не дан упорядоченный список режимов прогнозирования. Упорядоченные списки для этих комбинаций могут быть "восстановлены" с помощью отображения соответствующих элементов, которые оставлены в таблице прогнозирования, когда эти "восстановленные" элементы необходимы для прогнозирования текущего блока. Следовательно, обычно, поскольку элемент в таблице прогнозирования может быть получен или восстановлен из другого элемента в таблице прогнозирования посредством отображения, первый элемент может быть исключен. Иначе говоря, в таблице прогнозирования, содержащей первую группу элементов и вторую группу элементов, причем каждый элемент из второй группы элементов может быть восстановлен из соответствующего элемента первой группы с помощью функции отображения, вторая группа элементов может быть исключена.

Фиг.6 представляет блок-схему, иллюстрирующую этап декодирования, когда используют симметрию в таблице прогнозирования. Как изображено, способ 100 содержит этап 110, на котором принимают множество блоков изображения. Когда текущий блок обработан, на этапе 120 определяют, может ли быть получен режим прогнозирования текущего блока из режима прогнозирования соседних блоков без отображения. Если это справедливо, тогда режим пространственного прогнозирования текущего блока определяют на основании режима прогнозирования соседних блоков на этапе 132. Иначе обеспечивают дополнительный режим прогнозирования соседних блоков на этапе 130 и определяют дополнительный режим прогнозирования текущего блока на основании дополнительного режима прогнозирования соседних блоков на этапе 140. На этапе 150 дополнительный режим прогнозирования текущего блока отображают в режим прогнозирования текущего блока.

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

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

Таблица IV
L/UВне01234
Вне--------0--------01-------10-------------------------
002-------024167835150642387024781635013245867012465738
1---------156043278021468375153046827140652378
220-------214806357283407156247081635
3---------385240167413205876
4---------420671835

Кроме того, также возможно ограничить число режимов прогнозирования для блока С при условии данных режимов прогнозирования блоков U и L. В случае кодера JVT по-прежнему было бы 9х9 возможных комбинаций режимов прогнозирования U и L. Но каждой из этих комбинаций было бы назначено только m режимов, где m меньше чем 9. Таким образом, число возможных режимов прогнозирования уменьшают до (9х9xm)<(9х9х9). Аналогично, если используют функцию f отображения для "обращения" упорядоченных списков, таблица прогнозирования может быть дополнительно упрощена.

Эти способы могут быть использованы совместно или отдельно.

Основанное на пространственном прогнозировании внутреннее кодирование в соответствии с настоящим изобретением может быть легко встроено в цифровую систему передачи блоков изображения, как изображено на фиг.7. Допуская, что кадр должен быть закодирован во внутреннем формате с использованием некоторого вида внутреннего прогнозирования, кодирование кадра происходит следующим образом. Блоки кодируемого кадра направляют последовательно в кодер 50 системы видеопередачи, представленной на фиг.7. Блоки кадра принимают из источника цифрового изображения, например камеры или видеомагнитофона (не изображены), на входе 27 системы передачи изображения. В способе, известном сам по себе, блоки, принятые из источника цифрового изображения, содержат величины пикселей изображения. Кадр может быть временно запомнен в памяти кадров (не изображена) или в качестве альтернативы, кодер принимает входные данные непосредственно блок за блоком.

Блоки последовательно направляют в блок 35 выбора способа прогнозирования, который определяет, могут ли величины пикселей текущего кодируемого блока быть спрогнозированы на основании ранее закодированных внутренним способом блоков в том же самом кадре или сегменте. Для того чтобы сделать это, блок 35 выбора способа прогнозирования принимает входные данные из буфера кадров кодера 33, который содержит запись ранее закодированных, а затем декодированных и восстановленных внутренних блоков. Таким образом, блок выбора способа прогнозирования может определить, может ли прогнозирование текущего блока быть выполнено на основании ранее декодированных и восстановленных блоков. Кроме того, если имеются соответствующие декодированные блоки, блок 35 выбора способа прогнозирования может выбрать наиболее подходящий способ прогнозирования величин пикселей текущего блока, если может быть выбран более чем один такой способ. Следует понять, что в определенных случаях прогнозирование текущего блока является невозможным, поскольку подходящие блоки для использования в прогнозировании отсутствуют в буфере 33 кадров. В ситуации, когда имеется более чем один способ прогнозирования, информацию о выбранном способе прогнозирования подают в мультиплексор 13 для дальнейшей передачи в декодер. Также следует заметить, что в некоторых способах прогнозирования определенные параметры, необходимые для того, чтобы выполнить прогнозирование, передают в декодер. Конечно, это зависит от точной принятой реализации и никоим образом не ограничивает приложение внутреннего кодирования, основанного на прогнозировании в соответствии с настоящим изобретением.

Величины пикселей текущего блока прогнозируют в блоке 34 внутреннего прогнозирования. Блок 34 внутреннего прогнозирования принимает входные данные, относящиеся к выбранному способу прогнозирования, из блока 35 выбора способа прогнозирования и информацию, относящуюся к блокам, имеющимся для использования в прогнозировании, из буфера 33 кадров. На основании этой информации блок 34 внутреннего прогнозирования составляет прогноз для текущего блока. Спрогнозированные величины пикселей для текущего блока посылают в дифференциальный сумматор 28, который создает блок ошибки прогнозирования с помощью взятия разности между величинами пикселей спрогнозированного текущего блока и фактическими величинами пикселей текущего блока, принятого из входа 27. Затем информацию об ошибке для спрогнозированного блока кодируют в блоке кодирования ошибки прогнозирования в эффективном виде для передачи, например, с использованием дискретного косинусного преобразования (ДКП). Закодированный блок ошибки прогнозирования посылают в мультиплексор 13 для дальнейшей передачи в декодер. Кодер системы передачи цифрового изображения также включает в себя функциональные средства декодирования. Закодированную ошибку прогнозирования текущего блока декодируют в блоке 30 декодирования ошибки прогнозирования, а затем суммируют в сумматоре 31 со спрогнозированными величинами пикселей для текущего блока. Таким образом получают закодированный вариант текущего блока. Закодированный текущий блок затем направляют в буфер 33 кадров.

В настоящем описании также предполагают, что приемник принимает блоки, которые образуют кадр цифрового изображения, только по одному из каналов передачи.

В приемнике 60 демультиплексор принимает блоки демультиплексированной закодированной ошибки прогнозирования и информацию прогнозирования, переданную из кодера 50. В зависимости от рассматриваемого способа прогнозирования информация прогнозирования может включать в себя параметры, используемые в процессе прогнозирования. Следует понимать, что в случае, когда используют только один способ прогнозирования, информация, относящаяся к способу прогнозирования, использованному для кодирования блоков, является необязательной, хотя она по-прежнему может быть необходима, чтобы передавать параметры, используемые в процессе прогнозирования. На фиг.7 пунктирные линии используются, чтобы представлять необязательную передачу и прием информации о способе прогнозирования и/или параметров прогнозирования. Допуская, что может быть использован более чем один способ прогнозирования, информацию, относящуюся к выбору способа прогнозирования для текущего декодируемого блока, подают в блок 41 внутреннего прогнозирования. Блок 41 внутреннего прогнозирования исследует содержимое буфера 39 кадров, чтобы определить, существуют ли ранее закодированные блоки, предназначенные для использования в прогнозировании величин пикселей текущего блока. Если такие блоки изображения существуют, блок 41 внутреннего прогнозирования прогнозирует содержимое текущего блока с использованием способа прогнозирования, указанного с помощью принятой информации о способе прогнозирования, и, возможно, с помощью параметров, связанных с прогнозированием, принятых из кодера. Информацию об ошибке прогнозирования, связанную с текущим блоком, принимают с помощью блока 36 декодирования ошибки прогнозирования, который декодирует блок ошибки прогнозирования с использованием подходящего способа. Например, если информация об ошибке прогнозирования была декодирована с использованием дискретного косинусного преобразования, блок декодирования ошибки прогнозирования выполняет обратное ДКП, чтобы извлечь информацию об ошибке. Информацию об ошибке прогнозирования затем суммируют с прогнозом для текущего блока изображения в сумматоре 37 и выходные данные сумматора подают в буфер 39 кадров. Кроме того, так как каждый блок декодирован, его направляют на выход декодера 40, например, для отображения на некотором виде средства отображения. В качестве альтернативы кадр изображения может быть отображен только после того, как декодирован весь кадр и накоплен в буфере 39 кадров.

Следует заметить, что блок 34 внутреннего прогнозирования составляет прогноз текущего блока на основании ранее закодированных, а затем декодированных и восстановленных внутренних блоков, как предоставленных с помощью буфера 33 кадров. В частности, прогнозирование текущего блока определяют из режимов пространственного прогнозирования ранее восстановленных внутренних блоков с использованием таблицы прогнозирования, как изображено в таблице III или таблице IV (не изображены на фиг. 7). Однако, когда упорядоченный список для режимов (i,j) прогнозирования ранее восстановленных внутренних блоков пропущен в таблице прогнозирования, блок 32 преобразования может быть использован для отображения режимов пространственного прогнозирования ранее восстановленных блоков в дополнительные или зеркально отображенные режимы (k,l) пространственного прогнозирования. В этот момент блок 34 внутреннего прогнозирования может определить дополнительный или зеркально отображенный режим f(p) для текущего блока. Опять блок 32 отображения используют для получения режима p прогнозирования текущего блока с помощью отображения дополнительного режима f(p) прогнозирования. Таким же образом блок 38 отображения используют для отображения, когда необходимо.

Алгоритм отображения, который используют для выполнения отображения (i,j) в (k,l) и отображения f(p) в p, может быть закодирован в программе 69 программного обеспечения, которая содержит доступные для выполнения машиной этапы или псевдокоды, предназначенные для выполнения способа в соответствии с настоящим изобретением. Преимущественно программу программного о