УСТРОЙСТВО КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, СПОСОБ КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И СЧИТЫВАЕМЫЙ КОМПЬЮТЕРОМ НОСИТЕЛЬ ЗАПИСИ С ПРОГРАММОЙ КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, А ТАКЖЕ УСТРОЙСТВО ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, СПОСОБ ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И СЧИТЫВАЕМЫЙ КОМПЬЮТЕРОМ НОСИТЕЛЬ ЗАПИСИ С ПРОГРАММОЙ ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ
IMAGE ENCODING DEVICE, IMAGE ENCODING METHOD AND COMPUTER-READABLE RECORDING MEDIA WITH IMAGE ENCODING SOFTWARE, AS WELL AS IMAGE DECODING DEVICE, IMAGE DECODING METHOD AND COMPUTER-READABLE RECORDING MEDIA WITH IMAGE DECODING METHOD

ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯ
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к технологии разделения изображения на блоки, а также кодирования и декодирования изображения в единицах блоков, полученных в результате разделения этого изображения.
ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯ
При кодировании и декодировании изображения изображение разделяют на блоки, каждый из которых представляет собой набор предварительно заданного числа пикселов. Изображение кодируют и декодируют в единицах блоков. Выполнение требуемого разделения на блоки позволяет повысить эффективность предсказания внутри кадра (внутрикадрового предсказания), предсказания между кадрами (межкадрового предсказания), ортогонального преобразования, энтропийного кодирования и т.д. и в результате обеспечивает повышение эффективности кодирования.
СПИСОК ЦИТИРОВАНИЯ
ПАТЕНТНЫЕ ДОКУМЕНТЫ
патентный документ 1 JP2015-526008
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
Отсутствие разделения изображения на блоки требуемых размеров и форм приводит к снижению эффективности кодирования. Кроме того, отсутствие разделения изображения на блоки требуемых размеров и форм приводит к увеличению объема обработки при последующих кодировании и декодировании.
Настоящее изобретение направлено на решение вышеупомянутой проблемы, и задачей этого изобретения является разработка технологии повышения эффективности кодирования за счет выполнения разделения на блоки, требуемого для кодирования и декодирования изображения.
Устройство кодирования изображения в соответствии с вариантом осуществления, предназначенное для разделения изображения на блоки и кодирования изображения в единицах блоков, полученных в результате разделения изображения, содержит: блок (101) разделения на блоки, выполняющий рекурсивное разделение изображения на прямоугольники заданного размера и генерирование целевого блока кодирования; и блок (105) кодирования, выполняющий кодирование информации о разделении на блоки целевого блока кодирования. Блок разделения на блоки включает в себя: блок разделения на четыре блока, выполняющий разделение целевого блока при рекурсивном разделении на четыре блока в горизонтальном направлении и вертикальном направлении и генерирование четырех блоков; и блок разделения на два блока, выполняющий разделение целевого блока при рекурсивном разделении на два блока в горизонтальном направлении или вертикальном направлении и генерирование двух блоков. В случае, когда предыдущее рекурсивное разделение является разделением на два блока, блок разделения на два блока запрещает разделение целевого блока текущего рекурсивного разделения в том же направлении, в котором этот блок был разделен при предыдущем рекурсивном разделении.
Другой вариант осуществления также относится к устройству кодирования изображения. Устройство кодирования изображения, предназначенное для разделения изображения на блоки и кодирования изображения в единицах блоков, полученных в результате разделения изображения, содержит: блок (101) разделения на блоки, выполняющий рекурсивное разделение изображения на прямоугольники заданного размера и генерирование целевого блока кодирования; и блок (105) кодирования, выполняющий кодирование информации о разделении на блоки целевого блока кодирования. Блок разделения на блоки включает в себя: блок разделения на четыре блока, выполняющий разделение целевого блока при рекурсивном разделении на четыре блока в горизонтальном направлении и вертикальном направлении и генерирование четырех блоков; и блок разделения на два блока, выполняющий разделение целевого блока при рекурсивном разделении на два блока в горизонтальном направлении или вертикальном направлении и генерирование двух блоков. В случае, когда предпоследнее рекурсивное разделение является разделением на два блока, а предыдущее рекурсивное разделение является разделением на четыре блока, блок разделения на блоки запрещает дальнейшее разделение целевого блока.
Еще один другой вариант осуществления относится к способу кодирования изображения. Способ кодирования изображения, предназначенный для разделения изображения на блоки и кодирования изображения в единицах блоков, полученных в результате разделения изображения, содержит: этап рекурсивного разделения изображения на прямоугольники заданного размера и генерирования целевого блока кодирования; и этап кодирования информации о разделении на блоки целевого блока кодирования, Этап разделения включает в себя: этап разделения на четыре блока, заключающийся в разделении целевого блока при рекурсивном разделении на четыре блока в горизонтальном направлении и вертикальном направлении и генерировании четырех блоков; и этап разделения на два блока, заключающийся в разделении целевого блока при рекурсивном разделении на два блока в горизонтальном направлении или вертикальном направлении и генерирование двух блоков. В случае, когда предыдущее рекурсивное разделение является разделением на два блока, на этапе разделения на два блока запрещается разделение целевого блока текущего рекурсивного разделения в том же направлении, в котором этот блок был разделен при предыдущем рекурсивном разделении.
Еще один другой вариант осуществления относится к устройству декодирования изображения. Устройство декодирования изображения, предназначенное для декодирования изображения в единицах блоков, полученных в результате разделения изображения, содержит: блок (202) разделения на блоки, который генерирует целевой блок декодирования на основе декодированной информации о рекурсивном разделении на блоки; и блок (203, 204, 205) декодирования, выполняющий декодирование целевого блока декодирования. Блок разделения на блоки включает в себя: блок разделения на четыре блока, выполняющий разделение целевого блока при рекурсивном разделении на четыре блока в горизонтальном направлении и вертикальном направлении и генерирование четырех блоков; и блок разделения на два блока, выполняющий разделение целевого блока при рекурсивном разделении в горизонтальном направлении или вертикальном направлении и генерирование двух блоков. В случае, когда предыдущее рекурсивное разделение является разделением на два блока, блок декодирования не декодирует флаг, указывающий на разделение или неразделение целевого блока текущего рекурсивного разделения в том же направлении, в котором этот блок был разделен при предыдущем рекурсивном разделении.
Еще один другой вариант осуществления также относится к устройству декодирования изображения. Устройство декодирования изображения, предназначенное для декодирования изображения в единицах блоков, полученных в результате разделения изображения, содержит: блок (202) разделения на блоки, который генерирует целевой блок декодирования на основе декодированной информации о рекурсивном разделении на блоки; и блок (203, 204, 205) декодирования, выполняющий декодирование целевого блока декодирования. Блок разделения на блоки включает в себя: блок разделения на четыре блока, выполняющий разделение целевого блока при рекурсивном разделении на четыре блока в горизонтальном направлении и вертикальном направлении и генерирование четырех блоков; и блок разделения на два блока, выполняющий разделение целевого блока при рекурсивном разделении на два блока в горизонтальном направлении или вертикальном направлении и генерирование двух блоков. В случае, когда предпоследнее рекурсивное разделение является разделением на два блока, а предыдущее рекурсивное разделение является разделением на четыре блока, блок декодирования не декодирует флаг, указывающий на дальнейшее разделение или неразделение целевого блока.
Еще один другой вариант осуществления относится к способу декодирования изображения. Способ декодирования изображения, предназначенный для декодирования изображения в единицах блоков, полученных в результате разделения изображения, содержит: этап генерирования целевого блока декодирования на основе декодированной информации о рекурсивном разделении на блоки; и этап декодирования целевого блока декодирования. Этап разделения включает в себя: этап разделения на четыре блока, заключающийся в разделении целевого блока при рекурсивном разделении на четыре блока в горизонтальном направлении и вертикальном направлении и генерировании четырех блоков; и этап разделения на два блока, заключающийся в разделении целевого блока при рекурсивном разделении на два блока в горизонтальном направлении или вертикальном направлении и генерировании двух блоков. В случае, когда предыдущее рекурсивное разделение является разделением на два блока, на этапе разделения на два блока не декодируется флаг, указывающий на разделение или неразделение целевого блока текущего рекурсивного разделения в том же направлении, в котором этот блок был разделен при предыдущем рекурсивном разделении.
При этом эффективными в качестве дополнительных вариантов осуществления настоящего изобретения представляются также произвольные комбинации вышеупомянутых составляющих элементов и модификации рассмотренных вариантов осуществления с использованием различных способов, устройств, систем, носителей записи и компьютерных программ и т.п.
В соответствии с описанными вариантами осуществления появляется возможность выполнения разделения на блоки, требуемого для кодирования и декодирования изображения, а также возможность повышения эффективности кодирования и обеспечения уменьшения объема обработки при кодировании и декодировании.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 - блок-схема устройства кодирования изображения в соответствии с первым вариантом осуществления;
Фиг. 2 - блок-схема устройства декодирования изображения в соответствии с первым вариантом осуществления;
Фиг. 3 - блок-схема последовательности процессов разделения на блоки дерева и разделения содержимого блока дерева;
Фиг. 4 - схема разделения входного изображения на блоки дерева; Фиг. 5 - схема z-сканирования;
Фиг. 6 - блок дерева, разделенный на четыре блока в горизонтальном и вертикальном направлениях;
Фиг. 7 - блок дерева, разделенный на два блока в горизонтальном направлении;
Фиг. 8 - блок дерева, разделенный на два блока в вертикальном направлении;
Фиг. 9 - блок-схема процесса обработки каждого из блоков, полученных в результате разделения блока дерева на четыре блока в горизонтальном направлении и вертикальном направлениях;
Фиг. 10 - блок-схема процесса обработки каждого из блоков, полученных в результате разделения блока дерева на два блока в горизонтальном направлении;
Фиг. 11 - блок дерева, разделенный на два блока в горизонтальном направлении, после повторного разделения;
Фиг. 12 - блок-схема процесса обработки каждого из блоков, полученных в результате разделения блока дерева на два блока в вертикальном направлении;
Фиг. 13 - блок дерева, разделенный на два блока в вертикальном направлении, после повторного разделения;
Фиг. 14 - иллюстрация примера синтаксиса, относящегося к разделению на блоки в соответствии с первым вариантом осуществления;
Фиги. 15A-15D - иллюстрации процесса внутрикадрового предсказания;
Фиг. 16 - иллюстрация процесса межкадрового предсказания;
Фиг. 17 - иллюстрация примера синтаксиса, относящегося к разделению на блоки в соответствии со вторым вариантом осуществления;
Фиг. 18 - иллюстрация другого примера синтаксиса, относящегося к разделению на блоки в соответствии со вторым вариантом осуществления;
Фиг. 19 - иллюстрация примера синтаксиса, относящегося к разделению на блоки в соответствии с третьим вариантом осуществления;
Фиг. 20 - иллюстрация повторного разделения содержимого блока, полученного в результате разделения родительского блока на два блока в горизонтальном направлении или вертикальном направлении, в том же самом направлении;
Фиг. 21 - иллюстрация примера синтаксиса, относящегося к разделению на блоки в соответствии с четвертым вариантом осуществления; и
Фиг. 22 - иллюстрация разделения содержимого блока, полученного в результате разделения блока дерева на два блока, на четыре блока.
ЛУЧШИЕ ВАРИАНТЫ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
Ниже приводится описание вариантов реализации настоящего изобретения, относящихся к технологии разделения изображения на прямоугольные блоки и кодирования/декодирования разделенных блоков.
Первый вариант осуществления
Ниже приводится описание устройства 100 кодирования изображения и устройства 200 декодирования изображения в соответствии с первым вариантом осуществления. В первом варианте осуществления в случае выполнения рекурсивного разделения на блоки ограничивается последовательное разделение в одном и том же направлении.
На фиг. 1 представлена блок-схема устройства 100 кодирования изображения в соответствии с первым вариантом осуществления. При этом на фиг. 1 представлен только поток данных, относящихся к сигналу изображения. Дополнительная информация (например, вектор движения, режим предсказания и т.д.), не относящаяся к сигналу изображения, подается соответствующими составляющими элементами в блок 105 генерирования битового потока для генерирования соответствующих кодированных данных, однако поток данных, относящихся к дополнительной информации, на фиг. 1 не показан.
Блок 101 разделения на блоки выполняет разделение изображения на целевые блоки кодирования, каждый из которых представляет собой единицу обработки при кодировании, и подает сигнал изображения в целевом блоке кодирования в блок 103 генерирования остаточного сигнала. Кроме того, блок 101 разделения на блоки подает сигнал изображения целевого блока кодирования в блок 102 генерирования предсказанного изображения для оценки степени совпадения предсказанного изображения.
Блок 101 разделения на блоки выполняет рекурсивное разделение изображения на прямоугольники заданного размера и генерирует целевые блоки кодирования. Блок 101 разделения на блоки включает в себя блок разделения на четыре блока, выполняющий разделение целевого блока при рекурсивном разделении на четыре блока в горизонтальном направлении и вертикальном направлении и генерирование четырех блоков, и блок разделения на два блока, выполняющий разделение целевого блока при рекурсивном разделении на два блока в горизонтальном направлении или вертикальном направлении и генерирование двух блоков. Подробное описание работы блока 101 разделения на блоки приводится ниже.
Блок 102 генерирования предсказанного изображения выполняет предсказание внутри кадра (внутрикадровое предсказание) или предсказание между кадрами (межкадровое предсказание) из сигнала декодированного изображения, подаваемого из памяти 108 декодированных изображений, на основе режима предсказания и генерирует сигнал предсказанного изображения. Сигнал изображения в целевом блоке кодирования, подаваемый из блока 101 разделения на блоки, используется для оценки внутрикадрового предсказания и межкадрового предсказания. При внутрикадровом предсказании сигнал предсказанного изображения генерируется с использованием сигнала изображения целевого блока кодирования, подаваемого из блока 101 разделения на блоки, и сигнала изображения окружающего кодированного блока, граничащего с целевым блоком кодирования, расположенного в том же кадре, что и целевой блок кодирования, подаваемого из памяти 108 декодированных изображений. При межкадровом предсказании кодированный кадр, расположенный перед или после кадра, включающего в себя целевой блок кодирования, во временном ряду кадров (кадров кодирования), хранимый в памяти 108 декодированных изображений, становится опорным кадром. Сигнал изображения целевого блока кодирования, подаваемый из блока 101 разделения на блоки, подвергается оценке степени совпадения блока с блоком (например, сравнению блока с блоком) между кадром кодирования и опорным кадром. Определяется вектор движения, указывающий на количество движения, на основе этого количества движения выполняется компенсация движения относительно опорного кадра и генерируется сигнал предсказанного изображения. Блок 102 генерирования предсказанного изображения подает генерированный таким образом сигнал предсказанного изображения в блок 103 генерирования остаточного сигнала.
Блок 103 генерирования остаточного сигнала выполняет вычитание сигнала предсказанного изображения, генерированного блоком 102 генерирования предсказанного изображения из кодируемого сигнала изображения, генерирует остаточный сигнал и подает этот остаточный сигнал в блок 104 ортогонального преобразования/квантования.
Блок 104 ортогонального преобразования/квантования выполняет ортогональное преобразование/квантование остаточного сигнала, подаваемого из блока 103 генерирования остаточного сигнала, и подает этот подвергнутый ортогональному преобразованию/квантованию остаточный сигнал в блок 105 генерирования битового потока и блок 106 обратного квантования/обратного ортогонального преобразования.
Блок 105 генерирования битового потока генерирует битовый поток, соответствующий подвергнутому ортогональному преобразованию/квантованию остаточному сигналу, подаваемому из блока 104 ортогонального преобразования/квантования. Кроме того, блок 105 генерирования битового потока генерирует битовый поток, соответствующий дополнительной информации, такой как вектор движения, режим предсказания и информация о разделении на блоки.
Блок 106 обратного квантования/обратного ортогонального преобразования выполняет обратное квантование/обратное ортогональное преобразование подвергнутого ортогональному преобразованию/квантованию остаточного сигнала, подаваемого из блока 104 ортогонального преобразования/квантования, и подает этот подвергнутый обратному квантованию/обратному ортогональному преобразованию остаточный сигнал в блок 107 наложения для генерирования сигнала декодированного изображения.
Блок 107 наложения для генерирования сигнала декодированного изображения выполняет взаимное наложение сигнала предсказанного изображения, генерированного блоком 102 генерирования предсказанного изображения, и остаточного сигнала, подвергнутого обратному квантованию/обратному ортогональному преобразованию с помощью блока 106 обратного квантования/обратного ортогонального преобразования и генерирует на выходе декодированное изображение, сохраняемое в памяти 108 декодированных изображений. При этом перед сохранением в памяти 108 декодированных изображений это декодированное изображение может быть подвергнуто фильтрации для уменьшения блочных искажений и т.д. вследствие кодирования.
На фиг.2 представлена блок-схема устройства 200 декодирования изображения в соответствии с первым вариантом осуществления. При этом на фиг.2 представлен только поток данных, относящихся к сигналу изображения. Дополнительная информация (например, вектор движения, режим предсказания и т.д.), не относящаяся к сигналу изображения, подается блоком 201 декодирования битового потока в соответствующие составляющие элементы и используется при соответствующей обработке, однако поток данных, относящихся к дополнительной информации, на фиг.2 не показан.
Блок 201 декодирования битового потока декодирует подаваемый битовый поток и подает подвергнутый ортогональному преобразованию/квантованию остаточный сигнал в блок 202 разделения на блоки.
На основе декодированной информации о разделении на блоки блок 202 разделения на блоки определяет форму целевого блока декодирования, и подает подвергнутый ортогональному преобразованию/квантованию остаточный сигнал определенного таким образом целевого блока декодирования в блок 203 обратного квантования/обратного ортогонального преобразования 203.
На основе декодированной информации о разделении на блоки блок 202 разделения на блоки выполняет рекурсивное разделение изображения на прямоугольники заданного размера и генерирует целевой блок декодирования. Блок 202 разделения на блоки включает в себя блок разделения на четыре блока, выполняющий разделение целевого блока при рекурсивном разделении на четыре блока в горизонтальном направлении и вертикальном направлении и генерирование четырех блоков, и блок разделения на два блока, выполняющий разделение целевого блока при рекурсивном разделении в горизонтальном направлении или вертикальном направлении и генерирование двух блоков. Подробное описание работы блока 202 разделения на блоки приводится ниже.
Блок 203 обратного квантования/обратного ортогонального преобразования выполняет обратное квантование и обратное ортогональное преобразование подаваемого остаточного сигнала, подвергнутого ортогональному преобразованию/квантованию, и вырабатывает остаточный сигнал, подвергнутый обратному квантованию/обратному ортогональному преобразованию.
Блок 204 генерирования предсказанного изображения генерирует из сигнала декодированного изображения, подаваемого из памяти 206 декодированных изображений, сигнал предсказанного изображения и подает этот сигнал предсказанного изображения в блок 205 наложения для генерирования сигнала декодированного изображения.
Блок 205 наложения для генерирования сигнала декодированного изображения выполняет взаимное наложение сигнала предсказанного изображения, генерированного блоком 204 генерирования предсказанного изображения, и остаточного сигнала, подвергнутого обратному квантованию/обратному ортогональному преобразованию с помощью блока 203 обратного квантования/обратного ортогонального преобразования, и генерирует на выходе декодированное изображение, сохраняемое в памяти 206 декодированных изображений. При этом перед сохранением в памяти 206 декодированных изображений это декодированное изображение может быть подвергнуто фильтрации для уменьшения блочных искажений и т.д. вследствие кодирования.
Ниже приводится подробное описание работы блока 101 разделения на блоки в составе устройства 100 кодирования изображения. На фиг. 3 представлена блок-схема последовательности процессов разделения на блоки дерева и разделения содержимого блока дерева.
Сначала входное изображение разделяется на блоки дерева заданного размера (S1000). Например, блок дерева имеет размер 128 пикселов × 128 пикселов. Однако блок дерева не ограничивается размером 128 пикселов × 128 пикселов. Возможно использование любых размеров и форм, если блок дерева является прямоугольным. Фиксированные значения, определяющие размер и форму блока дерева, могут быть установлены в устройстве кодирования и устройстве декодирования. Устройство кодирования может определять размер и форму и записывать размер и форму в битовом потоке, а устройство декодирования может использовать записанный размер блока. На фиг. 4 представлена схема разделения входного изображения на блоки дерева. Кодирование и декодирование блоков дерева выполняется в порядке растрового сканирования, то есть слева направо и сверху вниз.
Далее содержимое блока дерева разделяется на прямоугольные блоки. Кодирование/декодирование содержимого блока дерева выполняется в порядке z-сканирования. На фиг. 5 представлена схема z-сканирования. При z-сканировании кодирование и декодирование выполняется в следующем порядке: верхний левый блок, верхний правый блок, нижний левый блок и нижний правый блок. Содержимое блока дерева может быть разделено на четыре блока или на два блока. При разделении на четыре блока блок дерева разделяется в горизонтальном направлении и вертикальном направлении. При разделении два блока блок дерева разделяется в горизонтальном направлении или вертикальном направлении. На фиг. 6 показан блок дерева, разделенный на четыре блока в горизонтальном и вертикальном направлениях. На фиг. 7 показан блок дерева, разделенный на два блока в горизонтальном направлении. На фиг. 8 показан блок дерева, разделенный на два блока в вертикальном направлении.
Как показано на фиг. 3, затем принимается решение о разделении или неразделении содержимого блока дерева на четыре блока в горизонтальном направлении и вертикальном направлении (S1001).
В случае принятия решения о разделении содержимого блока дерева на четыре блока (S1001: Да) содержимое блока дерева разделяется на четыре блока (S1002) и выполняется обработка каждого из блоков, полученных в результате повторного разделения блока дерева на четыре блока в горизонтальном и вертикальном направлениях, (S1003). Описание процесса повторного разделения блоков, полученных в результате разделения блока дерева на четыре блока, приводится ниже (фиг. 9).
В случае принятия решения о неразделении содержимого блока дерева на четыре блока (S1001: Нет) принимается решение о разделении или неразделении содержимого блока дерева на два блока (S1004).
В случае принятия решения о разделении содержимого блока дерева на два блока (S1004: Да) принимается решение о разделении или неразделении блока дерева на два блока в горизонтальном направлении (S1005).
В случае принятия решения о разделении блока дерева на два блока в горизонтальном направлении (S1005: Да) содержимое блока дерева разделяется на два блока в горизонтальном направлении (S1006) и выполняется обработка каждого из блоков, полученных в результате разделения блока дерева на два блока в горизонтальном направлении, (SI007). Описание процесса повторного разделения блоков, полученных в результате разделения блока дерева на два блока в горизонтальном направлении, приводится ниже (фиг. 10).
В случае принятия решения о разделении блока дерева на два блока не в горизонтальном, а в вертикальном направлении (S1005: Нет) содержимое блока дерева разделяется на два блока в вертикальном направлении (S1008), и выполняется обработка каждого из блоков, полученных в результате разделения блока дерева на два блока в вертикальном направлении (S1009). Описание процесса повторного разделения блоков, полученных в результате разделения блока дерева на два блока в вертикальном направлении, приводится ниже (фиг. 11).
В случае принятия решения о неразделении содержимого блока дерева на два блока (S1004: Нет) процесс разделения на блоки завершается без разделения содержимого блока дерева (S1010).
Ниже со ссылками на блок-схему последовательности процесса обработки, представленную на фиг. 9, приводится описание процесса обработки каждого из блоков, полученных в результате разделения блока дерева на четыре блока в горизонтальном и вертикальном направлениях.
Сначала принимается решение о повторном разделении или неразделении содержимого блока на четыре блока в горизонтальном и вертикальном направлениях (S1101).
В случае принятия решения о повторном разделении содержимого блока на четыре блока (S1101: Да) содержимое блока повторно разделяется на четыре блока (S1102) и выполняется обработка каждого из блоков, полученных в результате повторного разделения блока на четыре блока в горизонтальном и вертикальном направлениях, (S1103).
В случае принятия решения о повторном неразделении блока на четыре блока (S1101: Нет) принимается решение о разделении или неразделении содержимого блока на два блока (S1104).
В случае принятия решения о разделении содержимого блока на два блока (S1104: Да) принимается решение о разделении или неразделении блока на два блока в горизонтальном направлении (S1105).
В случае принятия решения о разделении блока на два блока в горизонтальном направлении (S1105: Да) содержимое блока разделяется на два блока в горизонтальном направлении (S1106) и выполняется обработка каждого из блоков, полученных в результате разделения блока два блока в горизонтальном направлении, (S1107).
В случае принятия решения о разделении блока на два блока не в горизонтальном, а в вертикальном направлении (S1105: Нет) содержимое блока разделяется на два блока в вертикальном направлении (S1108) и выполняется обработка каждого из блоков, полученных в результате разделения блока два блока в вертикальном направлении, (S1109).
В случае принятия решения о неразделении содержимого блока на два блока (S1104: Нет) процесс разделения на блоки завершается без разделения содержимого блока дерева (S1110).
Процесс обработки, показанный на блок-схеме, представленной на фиг. 9, выполняется для каждого из блоков, полученных в результате разделения на четыре блока. Содержимое блоков, полученных в результате разделения блока на четыре блока, подвергается также кодированию и декодированию в порядке z-сканирования.
Ниже со ссылками на блок-схему последовательности процесса обработки, представленную на фиг. 10, приводится описание процесса обработки каждого из блоков, полученных в результате разделения блока дерева на два блока в горизонтальном направлении.
В случае разделения блока дерева на два блока в горизонтальном направлении принимается решение о разделении или неразделении содержимого каждого из блоков, полученных в результате разделения блока дерева на два блока, на четыре блока в горизонтальном и вертикальном направлениях, (S1201).
В случае принятия решения о разделении содержимого блока на четыре блока (S1201: Да) содержимое блока разделяется на четыре блока (S1202) и выполняется обработка каждого из блоков, полученных в результате повторного разделения блока на четыре блока в горизонтальном и вертикальном направлениях, (S1203).
В случае принятия решения о неразделении содержимого блока на четыре блока (S1201: Нет) принимается решение о повторном разделении или неразделении содержимого блока на два блока (S1204).
В случае принятия решения о повторном разделении блока на два блока снова (S1204: Да) содержимое блока разделяется на два блока в вертикальном направлении (S1205) и выполняется обработка каждого из блоков, полученных в результате разделения блока на два блока в вертикальном направлении, (S1206).
В случае принятия решения о повторном неразделении блока на два блока (S1204: Нет) процесс разделения на блоки завершается без повторного разделения содержимого блока (S1207).
На фиг. 11 показан блок дерева, разделенный на два блока в горизонтальном направлении, после повторного разделения. В этом случае при разделении блока дерева (родительского блока) на два блока в горизонтальном направлении повторное разделение разделенного блока на два блока разрешается только в вертикальном направлении, и блок разделяется на два блока в вертикальном направлении автоматически. Разделение дочернего блока, полученного в результате разделения блока дерева (родительского блока) два блока, на четыре блока может быть полностью запрещено. Запрет, касающийся разделения блока в том же направлении, в котором был разделен родительский блок, позволяет предотвратить разделение на блоки, представляющие собой прямоугольники, удлиненные в горизонтальном направлении, и таким образом обеспечить упрощение процесса кодирования/декодирования.
Процесс обработки, показанный на блок-схеме, представленной на фиг. 10, выполняется для каждого из блоков, полученных в результате разделения родительского блока на два блока в горизонтальном направлении. Содержимое блоков, полученных в результате разделения родительского блока на два блока, подвергается также кодированию и декодированию в порядке сверху вниз.
Ниже со ссылками на блок-схему последовательности процесса обработки, представленную на фиг. 12, приводится описание процесса обработки каждого из блоков, полученных в результате разделения блока дерева на два блока в вертикальном направлении.
В случае разделения блока дерева на два блока в вертикальном направлении принимается решение о разделении или неразделении содержимого каждого из блоков, полученных в результате разделения блока дерева на два блока, на четыре блока в горизонтальном и вертикальном направлениях (S1301).
В случае принятия решения о разделении содержимого блока на четыре блока (S1301: Да) содержимое блока разделяется на четыре блока (S1302) и выполняется обработка каждого из блоков, полученных в результате повторного разделения блока на четыре блока в горизонтальном и вертикальном направлениях (S1303).
В случае принятия решения о неразделении содержимого блока на четыре блока (S1301: Нет) принимается решение о повторном разделении или неразделении содержимого блока на два блока (S1304).
В случае принятия решения о повторном разделении блока на два блока (S1304: Да) содержимое блока разделяется на два блока в горизонтальном направлении (S1305) и выполняется обработка каждого из блоков, полученных в результате разделения блока на два блока в горизонтальном направлении, (S1306).
В случае принятия решения о повторном неразделении блока на два блока (S1304: Нет) процесс разделения на блоки завершается без разделения содержимого блока (S1307).
На фиг. 13 показан блок дерева, разделенный на два блока в вертикальном направлении, после повторного разделения. В этом случае при разделении блока дерева (родительского блока) на два блока в вертикальном направлении повторное разделение разделенного блока на два блока разрешается только в горизонтальном направлении, и блок разделяется на два блока в горизонтальном направлении автоматически. Разделение дочернего блока, полученного в результате разделения блока дерева (родительского блока) два блока, на четыре блока может быть полностью запрещено. Запрет, касающийся разделения блока в том же направлении, в котором был разделен родительский блок, позволяет предотвратить разделение на блоки, представляющие собой прямоугольники, удлиненные в вертикальном направлении, и таким образом обеспечить упрощение процесса кодирования/декодирования.
Процесс обработки, показанный на блок-схеме, представленной на фиг. 12, выполняется для каждого из блоков, полученных в результате разделения на родительского блока на два блока в вертикальном направлении. Содержимое блоков, полученных в результате разделения родительского блока на два блока, подвергается также кодированию и декодированию в порядке слева направо.
Выше было приведено описание процесса повторного разделения блока, полученного в результате разделения блока дерева. Однако родительский блок может представлять собой не блок дерева. Например, рассмотренный процесс обработки может быть использован применительно к разделению блока, полученного в результате разделения блока дерева (128×128) на четыре блока и дополнительного разделения блока (64×64), полученного в результате разделения блока дерева на четыре блока, на четыре блока или на два блока.
Ниже приводится описание работы блока 202 разделения на блоки в составе устройства 200 декодирования изображения. Блок 202 разделения на блоки выполняет процесс разделения на блоки в той же последовательности, что и блок 101 разделения на блоки в составе устройства 100 кодирования изображения. Однако блок 101 разделения на блоки в составе устройства 100 кодирования изображения выбирает схему разделения на блоки и генерирует на выходе информацию о выбранном разделении на блоки, а блок 202 разделения на блоки в составе устройства декодирования изображения выполняет разделение блока с использованием информации о разделении на блоки, декодированной из битового потока, и использует структуру синтаксиса, при которой в случае декодирования информации о разделении на блоки из битового потока и запрета повторного разделения на блоки в одном и том же направлении информация, не содержащая варианта выбора, в битовом потоке не передается.
Фиг. 14 иллюстрирует пример синтаксиса (синтаксических правил битового потока), относящегося к разделению на блоки в соответствии с первым вариантом осуществления. Для разделения содержимого блока дерева на блоки сначала передается/ принимается флаг (4_division_flag), указывающий на разделение или неразделение блока дерева на четыре блока. В случае разделения блока дерева на четыре блока (4_division_flag задается равным 1) блок дерева разделяется на четыре блока и процесс обработки завершается. Затем в соответствии с синтаксисом, показанным на фиг. 14, содержимое блока, полученного в результате разделения блока дерева на четыре блока, повторно разделяется на блоки. В случае неразделения блока дерева на четыре блока (4_division_flag задается равным 0) передается/принимается флаг (2_division_flag), указывающий на разделение или неразделение блока дерева на два блока. В случае разделения блока дерева на два блока (2_division_flag задается равным 1) передается/принимается флаг (2_division_direction), указывающий на направление разделения на два блока. Задание значения 2_division_direction, равного 1, означает разделение на блоки в вертикальном направлении, а задание значения 2_division_direction, равного 0, означает разделение на блоки в горизонтальном направлении. Затем в соответствии с синтаксисом, показанным на фиг. 14, содержимое блока, полученного в результате разделения блока дерева на два блока, повторно разделяется на блоки. В случае неразделения блока дерева на два блока (2_division_flag задается равным 0) процесс обработки завершается без разделения содержимого блока дерева.
Ниже приводится описание процесса повторного разделения содержимого блока, полученного в результате разделения блока на четыре или на два блока. В процессе повторного разделения содержимого блока также используется синтаксис, показанный на фиг. 14, но в отличие от процесса разделения блока дерева в рассматриваемом случае накладывается ограничение на направление разделения на два бока. В частности, в случае разделения блока дерева на два блока и повторного разделения содержимого блока, полученного в результате разделения блока дерева на два блока, запрещается разделение в том же направлении, в котором блок дерева был разделен на два блока. Этот запрет позволяет предотвратить появление разделенных блоков в виде удлиненных прямоугольников и таким образом предотвратить увеличение пропускной способности памяти, необходимой для внутрикадрового предсказания и межкадрового предсказания. Подробное описание предотвращения увеличения пропускной способности памяти приводится ниже.
Кроме того, очевидна возможность ограничения разделения в одном и том же направлении в случае, когда число выполненных операций разделения на два блока в одном и том же направлении превышает заданное число. Например, может быть разрешено двукратное разделение на два блока в одном и том же направление, но запрещено разделение на два блока в одном и том же направлении в третий раз.
Как показано в синтаксисе на фиг. 14, приоритетным является выбор разделения на четыре блока, и информация, указывающая на разделение или неразделение блока на четыре блока, передается/принимается с опережением относительно информации, указывающей на разделение или неразделение блока на два блока. В то же время в случае, когда приоритетным является выбор разделения на два блока, возможно использование синтаксиса, в соответствии с которым информация, указывающая на разделение или неразделение блока на два блок, передается/принимается с опережением относительно информации, указывающей на разделение или неразделение блока на четыре блока. Это объясняется уменьшением количество кода, передаваемого в битовом потоке, при опережающей передаче/приеме события с более высокой вероятностью наступления. Другими словами, можно заранее оценить вероятность наступления разделения блока на четыре блока и на два блока и использовать синтаксис, в соответствии с которым с опережением передается/принимается информация о разделении на блоки, вероятность наступления которого является более высокой. Например, указание на приоритетность разделения блока на четыре блока или на два блока при передаче/приеме информации, содержащейся в заголовке изображения, позволяет устройству кодирования оперативно определять приоритетный тип разделения на блоки (число блоков при разделении), обеспечивающий более высокую эффективность кодирования, а устройству декодирования - разделять содержимое блока дерева в соответствии с синтаксисом на основе выбранного типа разделения на блоки.
В устройстве 100 кодирования изображения и устройстве 200 декодирования изображения внутрикадровое предсказание или межкадровое предсказание выполняется с использованием блоков, полученных в результате разделения. При этом как внутрикадровое предсказание, так и межкадровое предсказание включает в себя копирование пикселов из памяти.
На фиг. 15A-15D представлены иллюстрации процесса внутрикадрового предсказания. Фиг. 15Аи 15 В иллюстрируют направления предсказания и номера режимов внутрикадрового предсказания. При внутрикадровом предсказании, как показано на фиг. 15С и 15D, предсказанное изображение целевого блока кодирования/декодирования генерируется в результате копирования пикселов из кодированных/декодированных пикселов, граничащих с целевым блоком кодирования/декодирования. При внутрикадровом предсказании процесс генерирования предсказанного изображения и генерирования кодированных/декодированных пикселов выполняется с повторением в единицах блоков. Поэтому процесс обработки становится последовательностью в единицах блоков, и с уменьшением числа операций разделения содержимого блока при разделении происходит увеличение общей нагрузки на обработку. Кроме того, удлинение формы прямоугольного блока приводит к утяжелению процесс копирования пикселов из памяти. Кроме того, выполнение кодирования/декодирования требует ортогонального преобразования остаточного сигнала, и с увеличением типоразмеров прямоугольников происходит увеличение числа необходимых типов ортогонального преобразования и в результате -увеличение масштаба схемы. Поэтому в случае разделения содержимого блока на два блока ограничение числа операций разделения на два блока в том же направлении, в котором был разделен родительский блок, позволяет предотвратить увеличение пропускной способности памяти, необходимой для внутрикадрового предсказания.
Фиг. 16 иллюстрирует пример межкадрового предсказания. При межкадровом предсказании предсказанное изображение целевого блока кодирования/декодирования генерируется в результате копирования пикселов в единицах блоков из пикселов кодированного/декодированного изображения. При межкадровом предсказании копирование пикселов в единицах блоков из опорного изображения зачастую приводит к использованию схемы устройства, требующей сбора данных в единицах блоков управления памятью, содержащих необходимые пикселы. Поэтому уменьшение числа операций разделения блока на блоки и удлинение формы прямоугольного блока приводит к увеличению общей нагрузки на обработку. Кроме того, компенсация движения с десятичной точностью в опорном изображении с использованием фильтра интерполяции требует копирования нескольких пикселов в дополнение к пикселам содержимого блока и с уменьшением размера блока приводит к относительному пропорциональному увеличению содержания этих нескольких добавленных пикселов и увеличению общей нагрузки на обработку. Поэтому ограничение числа операций разделения на два блока в том же направлении, в котором был разделен родительский блок, позволяет предотвратить увеличение пропускной способности памяти, необходимой для межкадрового предсказания.
Второй вариант осуществления
Ниже приводится описание устройства кодирования изображения и устройства декодирования изображения в соответствии со вторым вариантом осуществления настоящего изобретения. Отличие второго варианта осуществления от первого варианта осуществления заключается только в том, что в случае, когда блок имеет заданный размер или меньше, дальнейшее разделение содержимого блока на блоки ограничивается. Это позволяет предотвратить дальнейшее увеличение общей нагрузки на обработку при разделении содержимого блока на блоки меньшего размера.
На фиг. 17 и 18 представлены иллюстрации примеров синтаксиса, относящегося к разделению на блоки в соответствии со вторым вариантом осуществления. Отличие от синтаксиса на фиг. 14 в соответствии с первым вариантом осуществления заключается в том, что разделение на блоки разрешается только в случае, когда исходный блок имеет размер больше, чем заданный размер. В случае синтаксиса на фиг. 17 содержимое блока, число пикселов в котором составляет более чем 64, может быть разделено на четыре или на два блока.
В случае учета разности между числом пикселов в содержимом блока, полученного в результате разделения на четыре блока, и блока, полученного в результате разделения на два блока, как показано на фиг. 18, разделение на четыре блока разрешается в случае, когда число пикселов в блоке составляет больше чем 64, а разделение на два блока - в случае, когда число пикселов в блоке составляет больше чем 32. Таким образом обеспечивается возможность контроля предела числа пикселов в блоке, полученном в результате разделения, с высокой точностью.
Третий вариант осуществления
Ниже приводится описание устройства кодирования изображения и устройства декодирования изображения в соответствии с третьим вариантом осуществления. Отличие третьего варианта осуществления от первого варианта осуществления заключается только в ограничении дальнейшего разделения содержимого блока, полученного в результате разделения в вертикальном направлении, в вертикальном направлении.
Как правило, информация о пикселах изображения хранится в одномерной памяти в порядке растрового сканирования. В одномерной памяти пикселы в горизонтальном направлении хранятся относительно близко друг к другу, а пикселы в вертикальном направлении - на относительном удалении друг от друга. Поэтому доступ к пикселам в горизонтальном направлении является легким, а доступ к пикселам в вертикальном направлении легким не является. Например, в случае блока, содержащего 16 горизонтальных пикселов × 8 вертикальных пикселов, и блока, содержащего 8 горизонтальных пикселов × 16 вертикальных пикселов, общее число пикселов в этих блоках совпадает, однако объем памяти для хранения пикселов блока из 8 горизонтальных пикселов × 16 вертикальных пикселов превышает объем памяти для хранения пикселов блока из 16 горизонтальных пикселов × 8 вертикальных пикселов.
Поэтому в случае использования компенсации движения для передачи пикселов требуется более большая пропускная способность памяти.
На фиг. 19 представлен синтаксис, относящийся к разделению на блоки в соответствии с третьим вариантом осуществления. Отличие от синтаксиса на фиг. 14 в соответствии с первым вариантом осуществления заключается в запрете дальнейшего разделения содержимого блока в вертикальном направлении только в случае разделения родительского блока на два блока в вертикальном направлении. В частности, как показано на фиг. 20, в случае разделения родительского блока на два блока в вертикальном направлении и необходимости разделения содержимого дочернего блока на два блока возможность выбора между разделением в горизонтальном направлении и разделением в вертикальном направлении не допускается и автоматическим выбирается разделение в горизонтальном направлении.
Четвертый вариант осуществления
Ниже приводится описание устройства кодирования изображения и устройства декодирования изображения в соответствии с четвертым вариантом осуществления настоящего изобретения. Отличие четвертого варианта осуществления от первого варианта осуществления заключается только в запрете дальнейшего разделения содержимого блока, полученного в результате разделения блока на два блока и последующего разделения содержимого полученного разделенного блока на четыре блока.
На фиг. 21 представлен синтаксис, относящегося к разделению на блоки в соответствии с четвертым вариантом осуществления. Как показано на фиг. 22, в случае разделения родительского блока на два блока и последующего разделения полученного разделенного блока на четыре блока 2_division_after_4_division_flag задается равным 1, и все последующие операции разделения на блоки запрещаются.
Это объясняется тем, что в случае разделения на два блока и последующего разделения на четыре определяется отсутствие выбора разделения на четыре блока при выборе разделения на два блока. Поэтому вероятность необходимости дальнейшего разделения на блоки после разделения на два блока и последующего разделения на четыре блока является низкой. В случае необходимости такого дальнейшего разделения на блоки для разделения на четыре блока может быть выбран исходный блок. Кроме того, В случае разделения на два блока и последующего разделения на четыре блока полученный блок приобретает прямоугольную форму. Поэтому попытка запрета направления разделения на два блока после разделения на четыре блока будет приводить к усложнению процесса обработки. В случае однозначного запрета последующего разделения на блоки для блока, полученного в результате разделения на два блока и последующего разделения на четыре блока, усложнения процесса определения типа разделения на блоки можно избежать. Однозначный запрет дальнейшего разделения на блоки блока, полученного в результате разделения на два блока и последующего разделения на четыре блока, приводит к отсутствию необходимости передачи/приема информации о выборе неразделения на блоки в битовом потоке и позволяет уменьшить количество кода, подлежащего передаче.
Очевидна возможность объединения множества схем ограничения типов разделения на блоки в соответствии с рассмотренными вариантами осуществления - с первого по четвертый.
Битовый поток изображений на выходе устройства кодирования изображения в соответствии с любым из вариантов осуществления, описанными выше, имеет определенный формат данных, обеспечивающий возможность декодирования этого потока в соответствии со способом кодирования, используемым в вариантах осуществления. Декодирование битового потока кодирования с этим определенным форматом данных может быть выполнено устройством декодирования изображения, совместимым с устройством кодирования изображения.
При использовании проводной или беспроводной сети для обмена битовыми потоками между устройством кодирования изображения и устройством декодирования изображения битовый поток может быть преобразован в формат данных, соответствующий режиму передачи по каналу связи и обеспечивающий, следовательно, возможность передачи этого потока. В этом случае необходимо использование устройства передачи для преобразования битовых потоков на выходе устройства кодирования изображения в кодированные данные, формат которых должен соответствовать режиму передачи по каналу связи, и для передачи этих битовых потоков по сети, а также устройства приема для приема битовых потоков из сети, обеспечивающего восстановление этих битовых потоков и подачи восстановленных битовых потоков в устройство декодирования изображения.
Устройство передачи включает в себя память для буферизации битовых потоков на выходе устройства кодирования изображения, блок пакетной обработки для пакетирования этих битовых потоков и блок передачи для передачи пакетированных битовых потоков по сети. Устройство приема включает в себя блок приема для приема пакетированных кодированных данных по сети, память для буферизации принимаемых кодированных данных и блок пакетной обработки для выполнения пакетной обработки этих кодированных данных, генерирования битовых потоков и подачи этих генерированных битовых потоков в устройство декодирования изображения.
Кроме того, устройство отображения для отображения изображения, декодированного с помощью устройства декодирования изображения, может быть дополнено блоком отображения. В этом случае блок отображения считывает сигнал декодированного изображения, генерируемый с помощью блока 205 наложения для генерирования сигнала декодированного изображения и хранимый в памяти 206 декодированных изображений, и отображает это изображение на своем экране.
Кроме того, устройство формирования изображения может быть дополнено блоком формирования изображения, обеспечивающим подачу сформированного изображения в устройство кодирования изображения. В этом случае блок формирования изображения обеспечивает подачу сигнала сформированного изображения в блок 101 разделения на блоки.
Устройство кодирования изображения, предназначенное для разделения изображения на блоки и кодирования изображения в единицах блоков, полученных в результате разделения изображения, содержит: блок разделения на блоки, выполняющий рекурсивное разделение изображения на прямоугольники заданного размера и генерирование целевого блока кодирования; блок внутрикадрового предсказания, выполняющий генерирование сигнала предсказанного изображения с использованием сигнала изображения кодированного блока, граничащего с целевым блоком кодирования; и блок кодирования, выполняющий кодирование информации о разделении на блоки целевого блока кодирования, при этом блок разделения на блоки включает в себя: блок разделения на четыре блока, выполняющий разделение целевого блока при рекурсивном разделении на четыре блока в горизонтальном направлении и вертикальном направлении и генерирование четырех блоков; и блок разделения на два блока, выполняющий разделение целевого блока при рекурсивном разделении на два блока в горизонтальном направлении или вертикальном направлении и генерирование двух блоков, при этом в случае, когда предыдущее рекурсивное разделение является разделением на два блока, блок разделения на два блока запрещает разделение целевого блока текущего рекурсивного разделения в том же направлении, в котором этот блок был разделен при предыдущем рекурсивном разделении.
Способ кодирования изображения, предназначенный для разделения изображения на блоки и кодирования изображения в единицах блоков, полученных в результате разделения изображения, содержит: этап рекурсивного разделения изображения на прямоугольники заданного размера и генерирования целевого блока кодирования; этап генерирования сигнала предсказанного изображения с использованием сигнала изображения кодированного блока, граничащего с целевым блоком кодирования; и этап кодирования информации о разделении на блоки целевого блока кодирования, при этом этап разделения включает в себя: этап разделения на четыре блока, заключающийся в разделении целевого блока при рекурсивном разделении на четыре блока в горизонтальном направлении и вертикальном направлении и генерировании четырех блоков; и этап разделения на два блока, заключающийся в разделении целевого блока при рекурсивном разделении на два блока в горизонтальном направлении или вертикальном направлении и генерировании двух блоков, при этом в случае, когда предыдущее рекурсивное разделение является разделением на два блока, на этапе разделения на два блока запрещается разделение целевого блока текущего рекурсивного разделения в том же направлении, в котором этот блок был разделен при предыдущем рекурсивном разделении.
Считываемый компьютером носитель записи с программой кодирования изображения, предназначенной для разделения изображения на блоки и кодирования изображения в единицах блоков, полученных в результате разделения изображения, которая обеспечивает выполнение компьютером: этапа разделения на блоки, заключающегося в рекурсивном разделении изображения на прямоугольники заданного размера и генерировании целевого блока кодирования; этапа внутрикадрового предсказания, заключающегося в генерировании сигнала предсказанного изображения с использованием сигнала изображения кодированного блока, граничащего с целевым блоком кодирования; и этапа кодирования, заключающегося в кодировании информации о разделении на блоки целевого блока кодирования, при этом этап разделения включает в себя: этап разделения на четыре блока, заключающийся в разделении целевого блока при рекурсивном разделении на четыре блока в горизонтальном направлении и вертикальном направлении и генерировании четырех блоков; и этап разделения на два блока, заключающийся в разделении целевого блока при рекурсивном разделении на два блока в горизонтальном направлении или вертикальном направлении и генерировании двух блоков, при этом в случае, когда предыдущее рекурсивное разделение является разделением на два блока, на этапе разделения на два блока запрещается разделение целевого блока текущего рекурсивного разделения в том же направлении, в котором этот блок был разделен при предыдущем рекурсивном разделении.
Устройство декодирования изображения, предназначенное для декодирования изображения в единицах блоков, полученных в результате разделения изображения, содержит: блок декодирования, выполняющий декодирование информации о разделении на блоки блока, полученного в результате разделения изображения; блок разделения на блоки, выполняющий генерирование целевого блока декодирования на основе декодированной информации о рекурсивном разделении на блоки; и блок внутрикадрового предсказания, выполняющий генерирование сигнала предсказанного изображения с использованием сигнала изображения декодированного блока, граничащего с целевым блоком декодирования; при этом блок разделения на блоки включает в себя: блок разделения на четыре блока, выполняющий разделение целевого блока при рекурсивном разделении на четыре блока в горизонтальном направлении и вертикальном направлении и генерирование четырех блоков; и блок разделения на два блока, выполняющий разделение целевого блока при рекурсивном разделении в горизонтальном направлении или вертикальном направлении и генерирование двух блоков, при этом в случае, когда предыдущее рекурсивное разделение является разделением на два блока, блок декодирования не декодирует флаг, указывающий на разделение или неразделение целевого блока текущего рекурсивного разделения в том же направлении, в котором этот блок был разделен при предыдущем рекурсивном разделении.
Способ декодирования изображения, предназначенный для декодирования изображения в единицах блоков, полученных в результате разделения изображения, содержит: этап декодирования информации о разделении на блоки блока, полученного в результате разделения изображения; этап генерирования целевого блока декодирования на основе декодированной информации о рекурсивном разделении на блоки; и этап генерирования сигнала предсказанного изображения с использованием сигнала изображения декодированного блока, граничащего с целевым блоком декодирования; при этом этап генерирования целевого блока декодирования включает в себя: этап разделения на четыре блока, заключающийся в разделении целевого блока при рекурсивном разделении на четыре блока в горизонтальном направлении и вертикальном направлении и генерировании четырех блоков; и этап разделения на два блока, заключающийся в разделении целевого блока при рекурсивном разделении на два блока в горизонтальном направлении или вертикальном направлении и генерировании двух блоков, при этом в случае, когда предыдущее рекурсивное разделение является разделением на два блока, на этапе декодирования не декодируется флаг, указывающий на разделение или неразделение целевого блока текущего рекурсивного разделения в том же направлении, в котором этот блок был разделен при предыдущем рекурсивном разделении.
Считываемый компьютером носитель записи с программой декодирования изображения, предназначенной для декодирования изображения в единицах блоков, полученных в результате разделения изображения, которая обеспечивает выполнение компьютером: этапа декодирования, заключающегося в декодировании информации о разделении на блоки блока, полученного в результате разделения изображения; этапа разделения на блоки, заключающегося в генерировании целевого блока декодирования на основе декодированной информации о рекурсивном разделении на блоки; и этапа внутрикадрового предсказания, заключающегося в генерировании сигнала предсказанного изображения с использованием сигнала изображения декодированного блока, граничащего с целевым блоком декодирования; при этом этап разделения на блоки включает в себя: этап разделения на четыре блока, заключающийся в разделении целевого блока при рекурсивном разделении на четыре блока в горизонтальном направлении и вертикальном направлении и генерировании четырех блоков; и этап разделения на два блока, заключающийся в разделении целевого блока при рекурсивном разделении в горизонтальном направлении или вертикальном направлении и генерировании двух блоков, при этом в случае, когда предыдущее рекурсивное разделение является разделением на два блока, на этапе декодирования не декодируется флаг, указывающий на разделение или неразделение целевого блока текущего рекурсивного разделения в том же направлении, в котором этот блок был разделен при предыдущем рекурсивном разделении.
Устройство кодирования изображения, предназначенное для разделения изображения на блоки и кодирования изображения в единицах блоков, полученных в результате разделения изображения, содержит: блок разделения на блоки, выполняющий рекурсивное разделение изображения на прямоугольники заданного размера и генерирование целевого блока кодирования; и блок кодирования, выполняющий кодирование информации о разделении на блоки целевого блока кодирования, при этом блок разделения на блоки включает в себя: блок разделения на четыре блока, выполняющий разделение целевого блока при рекурсивном разделении на четыре блока в горизонтальном направлении и вертикальном направлении и генерирование четырех блоков; и блок разделения на два блока, выполняющий разделение целевого блока при рекурсивном разделении на два блока в горизонтальном направлении или вертикальном направлении и генерирование двух блоков, причем четыре блока кодируются в следующем порядке: верхний левый, верхний правый, нижний левый и нижний правый; и в случае, когда предыдущее рекурсивное разделение является разделением на два блока и целевой блок имеет заданный размер, блок разделения на два блока запрещает разделение целевого блока текущего рекурсивного разделения в том же направлении, в котором этот блок был разделен при предыдущем рекурсивном разделении.
Способ кодирования изображения, предназначенный для разделения изображения на блоки и кодирования изображения в единицах блоков, полученных в результате разделения изображения, содержит: этап рекурсивного разделения изображения на прямоугольники заданного размера и генерирования целевого блока кодирования; и этап кодирования информации о разделении на блоки целевого блока кодирования, при этом этап разделения включает в себя: этап разделения на четыре блока, заключающийся в разделении целевого блока при рекурсивном разделении на четыре блока в горизонтальном направлении и вертикальном направлении и генерировании четырех блоков; и этап разделения на два блока, заключающийся в разделении целевого блока при рекурсивном разделении на два блока в горизонтальном направлении или вертикальном направлении и генерировании двух блоков, причем четыре блока кодируются в следующем порядке: верхний левый, верхний правый, нижний левый и нижний правый; и в случае, когда предыдущее рекурсивное разделение является разделением на два блока и целевой блок имеет заданный размер, блок разделения на два блока запрещает разделение целевого блока текущего рекурсивного разделения в том же направлении, в котором этот блок был разделен при предыдущем рекурсивном разделении.
Считываемый компьютером носитель записи с программой кодирования изображения, предназначенной для разделения изображения на блоки и кодирования изображения в единицах блоков, полученных в результате разделения изображения, где эта программа обеспечивает выполнение компьютером: этапа разделения на блоки, заключающегося в рекурсивном разделении изображения на прямоугольники заданного размера и генерировании целевого блока кодирования; и этапа кодирования, заключающегося в кодировании информации о разделении на блоки целевого блока кодирования, при этом этап разделения включает в себя: этап разделения на четыре блока, заключающийся в разделении целевого блока при рекурсивном разделении на четыре блока в горизонтальном направлении и вертикальном направлении и генерировании четырех блоков; и этап разделения на два блока, заключающийся в разделении целевого блока при рекурсивном разделении на два блока в горизонтальном направлении или вертикальном направлении и генерировании двух блоков, причем четыре блока кодируются в следующем порядке: верхний левый, верхний правый, нижний левый и нижний правый; и в случае, когда предыдущее рекурсивное разделение является разделением на два блока и целевой блок имеет заданный размер, блок разделения на два блока запрещает разделение целевого блока текущего рекурсивного разделения в том же направлении, в котором этот блок был разделен при предыдущем рекурсивном разделении.
Устройство декодирования изображения, предназначенное для декодирования изображения в единицах блоков, полученных в результате разделения изображения, содержит: блок декодирования, выполняющий декодирование информации о разделении на блоки блока, полученного в результате разделения изображения; и блок разделения на блоки, выполняющий генерирование целевого блока декодирования на основе декодированной информации о рекурсивном разделении на блоки; при этом блок разделения на блоки включает в себя: блок разделения на четыре блока, выполняющий разделение целевого блока при рекурсивном разделении на четыре блока в горизонтальном направлении и вертикальном направлении и генерирование четырех блоков; и блок разделения на два блока, выполняющий разделение целевого блока при рекурсивном разделении в горизонтальном направлении или вертикальном направлении и генерирование двух блоков, причем четыре блока декодируются в следующем порядке: верхний левый, верхний правый, нижний левый и нижний правый; и в случае, когда предыдущее рекурсивное разделение является разделением на два блока целевой блок имеет заданный размер, блок декодирования не декодирует флаг, указывающий на разделение или неразделение целевого блока текущего рекурсивного разделения в том же направлении, в котором этот блок был разделен при предыдущем рекурсивном разделении.
Способ декодирования изображения, предназначенный для декодирования изображения в единицах блоков, полученных в результате разделения изображения, содержит: этап декодирования информации о разделении на блоки блока, полученного в результате разделения изображения; и этап генерирования целевого блока декодирования на основе декодированной информации о рекурсивном разделении на блоки, при этом этап генерирования целевого блока декодирования включает в себя: этап разделения на четыре блока, заключающийся в разделении целевого блока при рекурсивном разделении на четыре блока в горизонтальном направлении и вертикальном направлении и генерировании четырех блоков; и этап разделения на два блока, заключающийся в разделении целевого блока при рекурсивном разделении на два блока в горизонтальном направлении или вертикальном направлении и генерировании двух блоков, причем четыре блока декодируются в следующем порядке: верхний левый, верхний правый, нижний левый и нижний правый; и в случае, когда предыдущее рекурсивное разделение является разделением на два блока целевой блок имеет заданный размер, блок декодирования не декодирует флаг, указывающий на разделение или неразделение целевого блока текущего рекурсивного разделения в том же направлении, в котором этот блок был разделен при предыдущем рекурсивном разделении.
Считываемый компьютером носитель записи с программой декодирования изображения, предназначенной для декодирования изображения в единицах блоков, полученных в результате разделения изображения, где эта программа обеспечивает выполнение компьютером: этапа декодирования, заключающегося в декодировании информации о разделении на блоки блока, полученного в результате разделения изображения; и этапа разделения на блоки, заключающегося в генерировании целевого блока декодирования на основе декодированной информации о рекурсивном разделении на блоки; при этом этап разделения на блоки включает в себя: этап разделения на четыре блока, заключающийся в разделении целевого блока при рекурсивном разделении на четыре блока в горизонтальном направлении и вертикальном направлении и генерировании четырех блоков; и этап разделения на два блока, заключающийся в разделении целевого блока при рекурсивном разделении в горизонтальном направлении или вертикальном направлении и генерировании двух блоков, причем четыре блока декодируются в следующем порядке: верхний левый, верхний правый, нижний левый и нижний правый; и в случае, когда предыдущее рекурсивное разделение является разделением на два блока и целевой блок имеет заданный размер, блок декодирования не декодирует флаг, указывающий на разделение или неразделение целевого блока текущего рекурсивного разделения в том же направлении, в котором этот блок был разделен при предыдущем рекурсивном разделении.
Процессы обработки, относящиеся к кодированию и декодированию, описанные выше, могут быть реализованы не только в виде устройств передачи/хранения/приема, использующих аппаратные средства, но и с помощью встроенного программного обеспечения, хранимого в постоянной памяти (ROM), во флэш-памяти или т.п., или с помощью программного обеспечения компьютера или т.п. Доступ к встроенному программному обеспечению или к программе системы программного обеспечения может обеспечиваться через считываемый компьютером или т.п.носитель записи, с сервера через проводную или беспроводную сеть или с использованием широковещательной передачи данных по спутниковым каналам цифрового вещания.
Настоящее изобретение было описано выше на основе предпочтительных вариантов осуществления. Приведенные варианты осуществления носят исключительно иллюстративный характер, и специалистам в данной области техники должно быть очевидно, что возможны самые различных модификации каждого из составляющих элементов и каждого из процессов обработки, описанные в этих вариантах осуществления, и что такие модификации также находятся в пределах объема настоящего изобретения.
ОПИСАНИЕ НОМЕРОВ ПОЗИЦИЙ
100 - устройств кодирования изображения,
101 - блок разделения на блоки,
102 - блок генерирования предсказанного изображения,
103 - блок генерирования остаточного сигнала,
104 -блок ортогонального преобразования/квантования,
105 - блок генерирования битового потока,
106 - блок обратного квантования/обратного ортогонального преобразования,
107 - блок наложения для генерирования сигнала декодированного изображения,
108 - память декодированных изображений,
200 - устройство декодирования изображения,
201 - блок декодирования битового потока,
202 - блок разделения на блоки,
203 - блок обратного квантования/обратного ортогонального преобразования,
204 - блок генерирования предсказанного изображения,
205 - блок наложения для генерирования сигнала декодированного изображения и
206 - память декодированных изображений.
ПРОМЫШЛЕННАЯ ПРИМЕНИМОСТЬ
Настоящее изобретение, может быть использовано в технологии разделения изображения на блоки, а также кодирования и декодирования изображения в единицах блоков, полученных в результате разделения изображения.