УСТРОЙСТВО КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, СПОСОБ КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, УСТРОЙСТВО ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И СПОСОБ ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ
IMAGE ENCODING DEVICE, IMAGE ENCODING METHOD, IMAGE DECODING DEVICE AND IMAGE DECODING METHOD

Предпосылки создания изобретения
Область техники, к которой относится изобретение
Настоящее изобретение относится к технике разделения изображения на блоки и выполнения кодирования и декодирования для каждого из разделенных блоков. Уровень техники
При кодировании и декодировании изображения изображение разделяется на блоки, представляющие собой группы, каждая из которых включает в себя предварительно заданное число пикселов, и кодирование и декодирование выполняются для каждого блока. Выполнение соответствующего разделения на блоки позволяет повысить эффективность кодирования с внутрикадровым предсказанием и межкадровым предсказанием. Кроме того, при внутрикадровом предсказании повышение эффективности кодирования обеспечивает предсказание вторичного сигнала из декодированного изображения первичного сигнала.
Список цитирования
Патентные документы
патентный документ 1 JP2013-90015 А
Раскрытие изобретения
Однако, если вторичный сигнал предсказан из декодированного изображения первичного сигнала, то объем обработки возрастает, и возникает взаимозависимость между обработкой первичного сигнала и обработкой вторичного сигнала, что затрудняет параллельную обработку.
Настоящее изобретение было разработано с учетом таких обстоятельств, и задача настоящего изобретения заключается в создании техники повышения эффективности кодирования за счет выполнения разделения на блоки, подходящего для кодирования и декодирования изображений.
Для решения указанной выше задачи устройство кодирования изображения в соответствии с одним вариантом осуществления настоящего изобретения представляет собой устройство кодирования изображения, которое разделяет изображение на блоки и выполняет кодирование для каждого из разделенных блоков, где это устройство кодирования изображения включает в себя блок (101) разделения на блоки первичного сигнала, который разделяет первичный сигнал изображения на прямоугольники, имеющие предварительно заданный размер, и генерирует блок первичного сигнала, блок (102) разделения на блоки вторичного сигнала, который разделяет вторичный сигнал изображения на прямоугольники, имеющие предварительно заданный размер и, генерирует блок вторичного сигнала, блок (102) предсказания первичного сигнала, который предсказывает первичный сигнал, и блок (103) предсказания вторичного сигнала, который предсказывает вторичный сигнал. Блок (103) предсказания вторичного сигнала может выполнять межкадровое предсказание вторичного сигнала из кодированного первичного сигнала, и межкадровое предсказание ограничивается на основе по меньшей мере одного из размера блока первичного сигнала и размера блока вторичного сигнала.
Другой вариант осуществления настоящего изобретения представляет собой способ кодирования изображения. Этот способ представляет собой способ кодирования изображения, который разделяет изображение на блоки и выполняет кодирование для каждого из разделенных блоков, и этот способ кодирования изображения содержит этап разделения на блоки первичного сигнала, заключающийся в разделении первичного сигнала изображения на прямоугольники, имеющие предварительно заданный размер, и генерировании блока первичного сигнала, этап разделения на блоки вторичного сигнала, заключающийся в разделении вторичного сигнала изображения на прямоугольники, имеющие предварительно заданный размер, и генерировании блока вторичного сигнала, этап предсказания первичного сигнала, заключающийся в предсказании первичного сигнала, и этап предсказания вторичного сигнала, заключающийся в предсказании вторичного сигнала. Этап предсказания вторичного сигнала может выполнять межкадровое предсказание вторичного сигнала из кодированного первичного сигнала, и межкадровое предсказание ограничивается на основе по меньшей мере одного из размера блока первичного сигнала и размера блока вторичного сигнала.
Еще один вариант осуществления настоящего изобретения представляет собой устройство декодирования изображения. Это устройство представляет собой устройство декодирования изображения, которое разделяет изображение на блоки и выполняет декодирование для каждого из разделенных блоков, и это устройство декодирования изображения содержит блок (202) разделения на блоки первичного сигнала, который разделяет первичный сигнал изображения на прямоугольники, имеющие предварительно заданный размер, и генерирует блок первичного сигнала, блок (202) разделения на блоки вторичного сигнала, который разделяет вторичный сигнал изображения на прямоугольники, имеющие предварительно заданный размер, и генерирует блок вторичного сигнала, блок (204) предсказания первичного сигнала, который предсказывает первичный сигнал, и блок (204) предсказания вторичного сигнала, который предсказывает вторичный сигнал. Блок (204) предсказания вторичного сигнала может выполнять межкадровое предсказание вторичного сигнала из декодированного первичного сигнала, и межкадровое предсказание ограничивается на основе по меньшей мере одного из размера блока первичного сигнала и размера блока вторичного сигнала.
Еще один вариант осуществления настоящего изобретения представляет собой способ декодирования изображения. Этот способ представляет собой способ декодирования изображения, который разделяет изображение на блоки и выполняет декодирование для каждого из разделенных блоков, и этот способ декодирования изображения включает в себя этап разделения на блоки первичного сигнала, заключающийся в разделении первичного сигнала изображения на прямоугольники, имеющие предварительно заданный размер, и генерировании блока первичного сигнала, этап разделения на блоки вторичного сигнала, заключающийся в разделении вторичного сигнала изображения на прямоугольники, имеющие предварительно заданный размер, и генерировании блока вторичного сигнала, этап предсказания первичного сигнала, заключающийся в предсказании первичного сигнала, и этап предсказания вторичного сигнала, заключающийся в предсказании вторичного сигнала. Этап предсказания вторичного сигнала может выполнять межкадровое предсказание вторичного сигнала из декодированного первичного сигнала, и межкадровое предсказание ограничивается на основе по меньшей мере одного из размера блока первичного сигнала и размера блока вторичного сигнала.
Кроме того, любая комбинация описанных выше составляющих элементов и аспект, полученный в результате преобразования формулировки в настоящем изобретении между способом, устройством, системой, носителем записи, компьютерной программой и т.п., также эффективны в качестве аспекта настоящего изобретения.
В соответствии с настоящим изобретением можно выполнять разделение на блоки, подходящее для кодирования и декодирования изображений, повышать эффективность кодирования и обеспечивать кодирование и декодирование изображений с небольшим объемом обработки.
Краткое описание чертежей
Фиг. 1 - блок-схема устройства кодирования изображения в соответствии с первым вариантом осуществления;
Фиг. 2 - блок-схема устройства декодирования изображения в соответствии с первым вариантом осуществления;
Фиг. 3 - блок-схема процесса разделения на блоки дерева и разделения каждого блока дерева;
Фиг. 4 - схема разделения входного изображения на блоки дерева;
Фиг. 5 - схема z-сканирования;
Фиг. 6 - блок дерева, разделенный на четыре в горизонтальном и вертикальном направлениях;
Фиг. 7 - блок дерева, разделенный на два в горизонтальном направлении;
Фиг. 8 - блок дерева, разделенный на два в вертикальном направлении;
Фиг. 9 - блок-схема процесса обработки каждого из блоков, полученных в результате разделения блока дерева на четыре в горизонтальном направлении и вертикальном направлениях;
Фиг. 10 - блок-схема процесса обработки каждого из блоков, полученных в результате разделения блока дерева на два в горизонтальном направлении;
Фиг. 11 - блок дерева, разделенный на два в горизонтальном направлении, после повторного разделения;
Фиг. 12 - блок-схема процесса обработки каждого из блоков, полученных в результате разделения блока дерева на два в вертикальном направлении;
Фиг. 13 - блок дерева, разделенный на два в вертикальном направлении, после повторного разделения;
Фиг. 14 - иллюстрация примера синтаксиса, относящегося к разделению на блоки в соответствии с первым вариантом осуществления;
Фиги. 15 - иллюстрации процесса внутрикадрового предсказания;
Фиг. 16 - иллюстрация процесса межкадрового предсказания;
Фиг. 17 - иллюстрации цветоразностного формата;
Фиг. 18 - иллюстрация процесса внутрикадрового предсказания цветоразности из яркости;
Фиг. 19 - блок-схема процесса внутрикадрового предсказания цветоразности из яркости;
Фиг. 20 - иллюстрации процесса внутрикадрового предсказания цветоразности из яркости в случае, когда размер блока цветоразности больше, чем размер блока яркости;
Фиг. 21 - иллюстрации процесса внутрикадрового предсказания цветоразности из яркости в случае, когда размер блока цветоразности меньше, чем размер блока яркости;
Фиг. 22 - иллюстрация примера синтаксиса режима внутрикадрового предсказания цветоразности;
Фиг. 23 - иллюстрация примера ограничения внутрикадрового предсказания цветоразности заменой смежного пиксела;
Фиг. 24 - иллюстрации процесса внутрикадрового предсказания цветоразности из яркости на основе разности в размере блока яркости.
Лучший вариант осуществления изобретения
Ниже приводится описание вариантов реализации настоящего изобретения, относящегося к технике кодирования изображения, заключающейся в разделении изображения на прямоугольные блоки и кодировании/декодировании разделенных блоков.
Первый вариант осуществления
Ниже приводится описание устройства 100 кодирования изображения и устройства 200 декодирования изображения в соответствии с первым вариантом осуществления
На фиг. 1 представлена блок-схема устройства 100 кодирования изображения в соответствии с первым вариантом осуществления. При этом на фиг. 1 представлен только поток данных, относящихся к сигналу изображения, а поток данных, относящихся к дополнительной информации, не показан. Дополнительная информация, не относящаяся к сигналу изображения, такая как вектор движения, режим предсказания и т.д., подается соответствующими составляющими элементами в блок 105 генерирования битового потока, и блок 105 генерирования битового потока генерирует соответствующие кодированные данные.
Блок 101 разделения на блоки выполняет разделение изображения на целевые блоки кодирования, каждый из которых представляет собой единицу обработки при кодировании, и подает сигнал изображения в целевом блоке кодирования в блок 103 генерирования остаточного сигнала ошибки. Кроме того, блок 101 разделения на блоки подает сигнал изображения целевого блока кодирования в блок 102 генерирования предсказанного изображения для оценки степени совпадения предсказанного изображения.
Блок 101 разделения на блоки выполняет рекурсивное разделение изображения на прямоугольники заданного размера и генерирует целевые блоки кодирования. Блок 101 разделения на блоки включает в себя блок разделения на четыре, выполняющий разделение целевого блока при рекурсивном разделении на четыре в горизонтальном направлении и вертикальном направлении и генерирование четырех блоков, и блок разделения на два, выполняющий разделение целевого блока при рекурсивном разделении на два в горизонтальном направлении или вертикальном направлении и генерирование двух блоков. Подробное описание работы блока 10! разделения на блоки приводится ниже.
Блок 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) и выполняется обработка каждого из блоков, полученных в результате разделения блока дерева на два в горизонтальном направлении, (S1007). Описание процесса повторного разделения блоков, полученных в результате разделения блока дерева на два в горизонтальном направлении, приводится ниже (фиг. 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: Нет) процесс разделения на блоки завершается без повторного разделения каждого блока (S1207).
На фиг. 13 показан блок дерева, разделенный на два в вертикальном направлении, после повторного разделения. В этом случае при разделении блока дерева (родительского блока) на два в вертикальном направлении повторное разделение разделенного блока на два разрешается только в горизонтальном направлении, и блок разделяется на два в горизонтальном направлении автоматически. Разделение дочернего блока, полученного в результате разделения блока дерева (родительского блока) два блока, на четыре может быть полностью запрещено. Запрет, касающийся разделения блока в том же направлении, в котором был разделен родительский блок, позволяет предотвратить разделение на блоки, представляющие собой прямоугольники, удлиненные в вертикальном направлении, и таким образом обеспечить упрощение процесса кодирования/декодирования.
Процесс обработки, показанный на блок-схеме, представленной на фиг. 12, выполняется для каждого из блоков, полученных в результате разделения на родительского блока на два в вертикальном направлении. Каждый из блоков, полученных в результате разделения родительского блока на два, подвергается также кодированию и декодированию в порядке слева направо.
Выше было приведено описание процесса повторного разделения блока, полученного в результате разделения блока дерева. Однако родительский блок может представлять собой не блок дерева. Например, рассмотренный процесс обработки может быть использован применительно к разделению повторно разделенного блока, полученного в результате разделения блока дерева (128×128) на четыре и дополнительного разделения блока (64×64), полученного в результате разделения блока дерева на четыре, на четыре или на два.
Ниже приводится описание работы блока 202 разделения на блоки в составе устройства 200 декодирования изображения. Блок 202 разделения на блоки выполняет процесс разделения на блоки в той же последовательности, что и блок 101 разделения на блоки в составе устройства 100 кодирования изображения. Однако блок 101 разделения на блоки в составе устройства 100 кодирования изображения выбирает схему разделения на блоки и генерирует на выходе информацию о выбранном разделении на блоки, а блок 202 разделения на блоки в составе устройства декодирования изображения выполняет разделение блока с использованием информации о разделении на блоки, декодированной из битового потока, и использует структуру синтаксиса, при которой в случае декодирования информации о разделении на блоки из битового потока и запрета повторного разделения на блоки в одном и том же направлении информация, не содержащая варианта выбора, в битовом потоке не передается.
Фиг. 14 иллюстрирует пример синтаксиса (синтаксических правил битового потока), относящегося к разделению на блоки в соответствии с первым вариантом осуществления. Для разделения каждого блока дерева на блоки сначала передается/ принимается флаг (4_division_flag), указывающий на разделение или неразделение блока дерева на четыре. В случае разделения блока дерева на четыре (4_divisionflag задается равным 1) блок дерева разделяется на четыре и процесс обработки завершается. Затем в соответствии с синтаксисом, показанным на фиг. 14, каждый из блоков, полученных в результате разделения блока дерева на четыре, повторно разделяется на блоки. В случае неразделения блока дерева на четыре (4_divisionflag задается равным 0) передается/принимается флаг (2_division_Oag), указывающий на разделение или неразделение блока дерева на два. В случае разделения блока дерева на два (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 иллюстрирует пример межкадрового предсказания. При межкадровом предсказании предсказанное изображение целевого блока кодирования/декодирования генерируется в результате копирования пикселов для каждого блока из пикселов кодированного/декодированного изображения. При межкадровом предсказании копирование пикселов для каждого блока из опорного изображения зачастую приводит к использованию схемы устройства, требующей сбора данных в единицах блоков управления памятью, содержащих необходимые пикселы. Поэтому уменьшение размера блоков при разделении и удлинение формы блока приводят к увеличению общей нагрузки на обработку. Кроме того, компенсация движения с десятичной точностью в опорном изображении с использованием фильтра интерполяции требует копирования нескольких пикселов в дополнение к пикселам блока, и уменьшение размера блока приводит к относительному пропорциональному увеличению содержания этих нескольких добавленных пикселов и увеличению общей нагрузки на обработку. Поэтому ограничение числа операций разделения на два в том же направлении, в котором был разделен родительский блок, позволяет предотвратить увеличение пропускной способности памяти, необходимой для межкадрового предсказания.
Далее приводится описание взаимосвязи между сигналом яркости и сигналом цветоразности при внутрикадровом предсказании. В качестве формата между сигналом яркости и сигналом цветоразности из уровня техники известен 4:2:0, 4:2:2, 4:4:4 и т.п. При формате 4:2:0, показанном на фиг. 17А, для сигнала яркости выполняется дискретизация двух пикселов как в горизонтальном, так и в вертикальном направлении, а для сигнала цветоразности - дискретизация одного пиксела как в горизонтальном, так и в вертикальном направлении. Так как чувствительность глаза человека к сигналу яркости выше, чем к сигналу цветоразности, то объем информации о сигнале цветоразности меньше, чем объем информации о сигнале яркости. При формате 4:2:2, показанном на фиг. 17В, для сигнала яркости выполняется дискретизация двух пикселов в горизонтальном направлении, а для сигнала цветоразности - дискретизация одного пиксела в горизонтальном направлении. В вертикальном направлении при формате 4:2:2 для сигнала яркости выполняется дискретизация двух пикселов в вертикальном направлении, а для сигнала цветоразности - дискретизация двух пикселов в вертикальном направлении. При формате 4:4:4, показанном на фиг. 17С для сигнала яркости выполняется дискретизация двух пикселов как в горизонтальном, так и в вертикальном направлении, и для сигнала цветоразности дискретизация двух пикселов как в горизонтальном, так и в вертикальном направлении.
Описание рассматриваемого варианта осуществления приводится на примере формата 4:2:0, наиболее широко используемого при кодировании изображения. Блок 101 или 202 разделения на блоки включает в себя блок разделения на блоки яркости, который в результате разделения сигнала яркости изображения генерирует блок яркости, и блок разделения на блоки цветоразности, который в результате разделения, сигнала цветоразности изображения генерирует блок цветоразности, и при внутрикадровом предсказании разделяет сигнал яркости и сигнал цветоразности на блоки независимо друг от друга. То есть при внутрикадровом предсказании размер блока яркости и размер блока цветоразности определяются независимо друг от друга. При внутрикадровом предсказании каждый из сигнала яркости и сигнала цветоразности копирует значения пикселов из смежных пикселов, и поэтому независимое друг от друга разделение сигнала яркости и сигнала цветоразности на блоки обеспечивает возможность повышения эффективности предсказания. В то же время при межкадровом предсказании разделение сигнал яркости и сигнал цветоразности разделяются на блоки в совокупности. То есть при межкадровом предсказании размер блока яркости и размер блока цветоразности являются одинаковыми. Это объясняется тем, что при межкадровом предсказании для компенсации движения нет необходимости различать яркость и цветоразность.
Блок 102 или 204 генерирования предсказанного изображения включает в себя блок предсказания сигнала яркости, который предсказывает сигнал яркости, и блок предсказания сигнала цветоразности, который предсказывает сигнал цветоразности, и для повышения эффективности предсказания сигнала цветоразности при внутрикадровом предсказании блок предсказания сигнала цветоразности выполняет внутрикадровое предсказание цветоразности из яркости, заключающееся в предсказании сигнала цветоразности из кодированного/декодированного пиксела сигнала яркости. При внутрикадровом предсказании цветоразности из яркости первичный сигнал кодируется/декодируется перед вторичным сигналом, а вторичный сигнал предсказывается с использованием кодированного/декодированного первичного сигнала. При этом, так как в формате 4:2:0 и формате 4:2:2 объем информации о сигнале яркости больше, чем объем информации о сигнале цветоразности, то сигнал яркости используется в качестве первичного сигнала, а сигнал цветоразности - в качестве вторичного сигнала. В формате 4:4:4 объемы информации о сигнале яркости и сигнале цветоразности являются одинаковыми, но, как правило, точно так же, как и в других форматах, в качестве первичного сигнала используется сигнал яркости, а в качестве вторичного сигнала - сигнал цветоразности.
На фиг. 18 представлена иллюстрация процесса внутрикадрового предсказания цветоразности из яркости, а на фиг. 19 - блок-схема процесса внутрикадрового предсказания цветоразности из яркости.
Как показано на фиг. 18, внутрикадровое предсказание цветоразности из яркости выполняется на основе степени корреляции между кодированными/декодированными смежными пикселами 12а и 12b блока 10 яркости и кодировонными/декодированными смежными пикселами 16а и 16b блока 14 цветоразности. Внутрикадровое предсказание цветоразности из яркости предназначено для предсказания сигнала цветоразности, и поэтому смежные пикселы для вычисления степени корреляции, определяются на основе смежных пикселов блока цветоразности, подлежащего кодированию/декодированию. Другими словами, смежные пикселы блока яркости в том же положении, что и смежные пикселы, определенные для блока цветоразности, становятся пикселами для вычисления степени корреляции.
Сначала вычисляется степень корреляции между смежными пикселами кодированного/декодированного сигнала яркости и смежными пикселами сигнала цветоразности (S1901). Затем выполняется понижающая дискретизация кодированного/декодированного сигнала яркости целевого блока
кодирования/декодирования (S1902). При этом для выбора типа фильтра может быть использовано множество типов фильтров понижающей дискретизации. Например, для выбора множества типов фильтров могут быть использованы фильтры с различной интенсивностью или фильтры с различным числом отводов фильтра. Тип фильтра может быть автоматически выбран с использованием степени корреляции между смежными пикселами или тип фильтра может быть подвергнут кодированию/декодированию и передаче в битовом потоке. Кроме того, если фильтр понижающей дискретизации сигнала яркости целевого блока кодирования/декодирования определяется не с использованием степени корреляции между смежными пикселами, то процессы обработки на этапах S1901 и S1902 могут выполняться в любом порядке, и процессы обработки на этапах S1901 и S1902 могут выполняться параллельно.
В заключение на основе степени корреляции между смежными пикселами выполняется предсказание сигнала цветоразности из сигнала яркости с пониженной дискретизацией (S1903). В случае формата 4:2:0 понижающая дискретизация составляет 1/2 в горизонтальном/вертикальном направлении. В случае формата 4:2:2 понижающая дискретизация составляет 1/2 в горизонтальном направлении, а в вертикальном направлении не выполняется. В случае формата 4:4:4 понижающая дискретизация не выполняется ни в горизонтальном направлении, ни в вертикальном направлении.
При внутрикадровом предсказании цветоразности из яркости после завершения кодирования/декодирования сигнала яркости целевого блока кодирования/декодирования может начаться процесс предсказания. Таким образом, момент времени начала процесса предсказания сигнала цветоразности зависит от размера блока яркости и размера блока цветоразности.
На фиг. 20(a) и 20(b) представлены иллюстрации процесса внутрикадрового предсказания цветоразности из яркости в случае, когда размер блока цветоразности больше, чем размер блока яркости. Число пикселов в блоках 20а, 20b, 20с и 20d яркости с первого по четвертый, разделенных на четыре, показанных на фиг. 20(a), составляет 16×16, и число пикселов в блоке 20е цветоразности, показанном на фиг. 20(b), составляет 16×16.
В данном случае сравнение между размерами блока яркости и блока цветоразности представляет собой не сравнение между числами пикселов в блоках, а сравнение между площадями с учетом цветоразностного формата. В частности, в формате 4:2:0, так как площадь, занимаемая блоком яркости, составляет 1/2 от площади, занимаемой блоком цветоразности, то когда число пикселов в блоке яркости составляет 16×16, и число пикселов в блоке цветоразности оставляет 16×16, размер блока яркости меньше. В формате 4:2:0 формат, когда число пикселов блока яркости составляет 16×16, а число пикселов в блоке цветоразности составляет 8×8, площади, занимаемые обоими блоками являются одинаковыми, и блока яркости и блока цветоразности имеют одинаковый размер.
Для выполнения сравнения между размерами блока яркости и блока цветоразности не путем сравнения между площадями блоков, а путем сравнения между числами пикселов в блоках требуется только преобразовать число пикселов блока цветоразности в число пикселов блока яркости в отношении между сигналом яркости и цветоразностным сигналом в цветоразностном формате. В случае формата 4:2:0, так как число пикселов сигнала яркости вдвое больше, чем число пикселов сигнала цветоразности, то в результате удвоения числа пикселов по высоте и ширине блока цветоразности, числа пикселов преобразуются в числа пикселов по высоте и ширине блока яркости. Например, в формате 4:2:0, когда размер блока яркости составляет 16×16, и размер блока цветоразности составляет 16×16, преобразованный размер блока цветоразности, преобразованный в число пикселов блока яркости, составляет 32×32, что показывает, что размер блока цветоразности больше.
При внутрикадровом предсказании после завершения процесса декодирования для каждого блока появляется возможность выполнения процесса предсказания следующего блока. То есть после завершения декодирования первого блока 20а яркости становится возможным декодирование второго блока 20b яркости, после завершения декодирования второго блока 20b яркости становится возможным декодирование третьего блока 20с яркости, а после завершения декодирования третьего блока 20с яркости - декодирование четвертого блока 20d яркости.
Когда размер блока цветоразности больше, чем размер блока яркости, смежные пикселы, необходимые для процесса предсказания блока 20е цветоразности, имеются в наличии до декодирования четырех блоков 20а, 20b, 20с и 20d яркости как для пиксела яркости, так и для пиксела цветоразности, и степень корреляции между смежными пикселами сигнала яркости и смежными пикселами сигнала цветоразности может быть вычислена на этапе S1901 на фиг. 19 без ожидания декодирования четырех блоков 20а, 20b, 20с и 20d яркости.
Далее после завершения декодирования первого блока 20а яркости выполняется понижающая дискретизация сигнала яркости на этапе S1902 на фиг. 19. Предсказать пикселы блока 20е цветоразности, который соответствует положению первого блока 20а яркости, можно без ожидания завершения декодирования второго блока 20b яркости. Точно так же после завершения декодирования второго блока 20b яркости выполняется понижающая дискретизация сигнала яркости, и без ожидания завершения декодирования третьего блока 20с яркости предсказываются пикселы блока 20е цветоразности, который соответствует положению второго блока 20b яркости. Кроме того, после завершения декодирования третьего блока 20 с яркости выполняется понижающая дискретизация сигнала яркости, и без ожидания завершения декодирования четвертого блока 20d яркости предсказываются пикселы блока 20е цветоразности, который соответствует в положению третьего блока 20с яркости. В заключение после завершения декодирования четвертого блока 20d яркости выполняется понижающая дискретизация сигнала яркости, и предсказываются пикселы блока 20е цветоразности, который соответствует положению четвертого блока 20d яркости.
На фиг. 21(а) и 21(b) представлены иллюстрации процесса внутрикадрового предсказания цветоразности из яркости случая, когда размер блока цветоразности меньше, чем размер блока яркости. Число пикселов в блоке 21а яркости, показанном на фиг. 21(a), составляет 16×16, а число пикселов в блоках 21b, 21с, 21d и 21е цветоразности с первого по четвертый, показанных на фиг. 21(b), составляет 4×4.
В формате 4:2:0, так как площадь, занимаемая блоком яркости составляет 1/2 от площади, занимаемой блоком цветоразности, то когда число пикселов в блоке яркости составляет 16×16, а число пикселов в блоке цветоразности - 4×4, размер блока цветоразности меньше. Для выполнения сравнения между размерами блока яркости и блока цветоразности не путем сравнения между площадями блоков, а путем сравнения между числами пикселов в блоках в случае формата 4:2:0 числа пикселов по высоте и ширине блока цветоразности удваиваются и преобразуются в числа пикселов по высоте и ширине блока яркости. В формате 4:2:0, когда размер блока яркости составляет 16×16, а размер блока цветоразности - 4×4, преобразованный размер блока цветоразности, преобразованный в число пикселов блока яркости, составляет 8×8, что показывает, что размер блока цветоразности меньше.
Когда размер блока цветоразности меньше, чем размер блока яркости, смежные пикселы первого блока 21b цветоразности могут быть использованы до декодирования блока 21а яркости как для пиксела яркости, так и для пиксела цветоразности, но смежные пикселы блоков 21с, 21d и 21е цветоразности со второго по четвертый не могут быть использованы до завершения декодирования блока 21а яркости. То есть до завершения декодирования блока 21а яркости и декодирования первого блока 21b цветоразности для второго блока 21с цветоразности степень корреляции между смежными пикселами сигнала яркости и смежными пикселами сигнала цветоразности не может быть вычислена на этапе S1901 на фиг. 19. Точно так же и для третьего блока 2Id цветоразности до завершения декодирования блока 21а яркости и декодирования первого и второго блоков 2lb и 21с цветоразности для третьего блока 21d цветоразности степень корреляции между смежными пикселами сигнала яркости и смежными пикселами сигнала цветоразности не может быть вычислена. Точно так же и для четвертого блока 21е цветоразности до завершения декодирования блока 21а яркости и декодирования блоков 21b, 21с и 21d цветоразности с первого по третий для четвертого блока 21е цветоразности степень корреляции между смежными пикселами сигнала яркости и смежными пикселами сигнала цветоразности не может быть вычислена.
Таким образом, когда размер блока цветоразности меньше, чем размер блока яркости, если выполняется внутрикадровое предсказание цветоразности из яркости, то в процессе предсказания блока цветоразности возникает взаимозависимость обработки между блоком яркости и блоком цветоразности и между блоками цветоразности, что делает параллельную обработку невозможной. Следовательно, когда размер блока цветоразности меньше, чем размер блока яркости, внутрикадровое предсказание цветоразности из яркости ограничивается. В качестве способов ограничения внутрикадрового предсказания цветоразности из яркости существуют (1) способ ограничения с использованием синтаксиса, (2) способ замены режима внутрикадровой цветоразности и (3) способ замены смежных пикселов.
Фиг. 22 иллюстрирует пример синтаксиса режима внутрикадрового предсказания цветоразности. Когда номер режима предсказания цветоразности равен 0, то в качестве режима предсказания цветоразности используется тот же режим внутрикадрового предсказания, что и режим предсказания яркости. Например, если режим предсказания яркости представляет собой режим горизонтального предсказания, то режим предсказания цветоразности также становится режимом горизонтального предсказания. Когда номер режима предсказания цветоразности равен 1, то используется режим среднего значения (режим DC). При режиме DC внутрикадровое предсказание выполняется с использованием среднего значения смежных пикселов. Когда номер режима предсказания цветоразности равен 2, используется режим внутрикадрового предсказания цветоразности из яркости.
В качестве способа ограничения внутрикадрового предсказания цветоразности из яркости, когда (1) внутрикадровое предсказание цветоразности из яркости ограничивается с использованием синтаксиса, то, так как режим 2 указывает на внутрикадровое предсказание цветоразности из яркости, режим 2 становится невыбираемым. Другими словами, режим 2 не передается, и режим внутрикадровой цветоразности выбирается из режима 0 и режима 1.
В качестве способа ограничения внутрикадрового предсказания цветоразности из яркости при (2) замене режима внутрикадровой цветоразности, когда номер режима предсказания цветоразности обозначен как режим 2, вместо режима внутрикадрового предсказания цветоразности из яркости используется режим вертикального предсказания. Однако заменяемый режим предсказания не ограничивается режимом вертикального предсказания и может быть другим режимом предсказания. Кроме того, в предпочтительном варианте режим предсказания из яркости режима 0 и режим замены режимом 2 становятся одинаковыми и используемые режимы не перекрываются.
В качестве способа ограничения внутрикадрового предсказания цветоразности из яркости при (3) замене смежных пикселов заменяются смежные пикселы для вычисления степени корреляции между смежными пикселами сигнала яркости и смежными пикселами сигнала цветоразности на этапе S1901 на фиг. 19. Также появляется возможность вычисления степени корреляции между смежными пикселами в блоках 21с, 21d и 21е цветоразности со второго по четвертый на фиг. 21 без ожидания декодирования блока 21а яркости.
Фиг. 23 иллюстрирует пример замены смежных пикселов. В качестве смежных пикселов с левой стороны второго блока 21с цветоразности, как правило, используются пикселы в первом блоке 2lb цветоразности, а для использования пикселов в первом блоке 21b цветоразности необходимо ожидать завершения декодирования блока 21а яркости и первого блока 21b цветоразности. Таким образом, область 21f, которую можно использовать без ожидания завершения декодирования блока 21а, яркости используется в качестве смежных пикселов второго блока 21с цветоразности. Точно так же для третьего блока 21d цветоразности область 21f, которую можно использовать без ожидания завершения декодирования блока 21а яркости, используется, в качестве смежных пикселов третьего блока 21d цветоразности. Точно так же для четвертого блока 21е цветоразности область 21f, которую можно использовать без ожидания завершения декодирования блока 21а яркости, используется в качестве смежных пикселов четвертого блока 21е цветоразности.
Таким образом, в первом варианте осуществления, когда при выполнении внутрикадрового предсказания цветоразности из яркости размер блока цветоразности меньше, чем размер блока яркости, в результате ограничения внутрикадрового предсказания цветоразности из яркости появляется возможность ослабления взаимозависимости обработки между блоком яркости и блоком цветоразности. Это обеспечивает возможность параллельной обработки блока яркости и блока цветоразности и позволяет сократить объем обработки в процессе кодирования и декодирования. Второй вариант осуществления
Ниже приводится описание второго варианта осуществления настоящего изобретения. Второй вариант осуществления отличается от первого варианта осуществления тем, что размер блока яркости и размер блока цветоразности оцениваются независимо друг от друга, и внутрикадровое предсказание цветоразности из яркости ограничивается без использования соотношения размеров между размером блока яркости и размером блока цветоразности, а другие конструкции и операции являются такими же, как и в первом варианте осуществления.
Сначала приводится описание ограничения на основе размера блока яркости. Фиг. 24(а)-24(с) иллюстрируют процесс внутрикадрового предсказания цветоразности из яркости на основе разности в размере блока яркости. Как показано на фиг. 24(a) и 24(b), первый блок 24а яркости соответствует положению первого блока 24е цветоразности, второй блок 24b яркости соответствует положению второго блока 24f цветоразности, третий блок 24 с яркости соответствует положению третьего 24g цветоразности, а четвертый блок 24d яркости - положению четвертого блока 24h цветоразности. Кроме того, блок 24i яркости на фиг. 24(c) соответствует положениям блоков 24е, 24f, 24g и 24h цветоразности с первого по четвертый на фиг. 24(b).
Ниже приводится описание взаимозависимости между блоком яркости и блоком цветоразности. Когда размер блока яркости является небольшим, как показано на фиг. 24(a), то при завершении декодирования первого блока 24а яркости появляется возможность декодирования первого блока 24е цветоразности. При завершении декодирования второго блока 24b яркости появляется возможность декодирования второго блока 24f цветоразности. При завершении декодирования третьего блока 24 с яркости появляется возможность декодирования третьего блока 24g цветоразности. При завершении декодирования четвертого блока 24d яркости появляется возможность декодирования четвертого блока 24h цветоразности.
В то же время, когда размер блока яркости является большим, как показано на фиг. 24(c), то до завершения декодирования блока 24i яркости декодирование какого-либо из блоков 24е, 24f, 24g и 24h цветоразности с первого по четвертый является невозможным.
В случае независимого определения разделения блока яркости и разделения блока цветоразности друг от друга, если абсолютный размер блока яркости является большим, то вероятность уменьшения размера блока цветоразности по сравнению с размером блока яркости повышается. Таким образом, когда абсолютный размер блока яркости больше, чем или равен предварительно заданному размеру внутрикадровое предсказание цветоразности из яркости соответствующего блока цветоразности ограничивается.
Точно так же, если абсолютный размер блока цветоразности является небольшим, то вероятность уменьшения размера блока цветоразности по сравнению с размером блока яркости повышается. Таким образом, когда абсолютный размер блока цветоразности меньше, чем или равен предварительно заданному размеру, внутрикадровое предсказание цветоразности из яркости соответствующего блока цветоразности ограничивается.
Способ ограничения внутрикадрового предсказания цветоразности из яркости является таким же, как и в первом варианте осуществления.
Таким образом, во втором варианте осуществления, когда абсолютный размер блока яркости больше, чем пороговое значение, или когда абсолютный размер блока цветоразности меньше, чем пороговое значение, внутрикадровое предсказание цветоразности из яркости ограничивается. В результате появляется возможность предсказания случая, когда размер блока цветоразности меньше, чем размер блока яркости, ограничения внутрикадрового предсказания цветоразности из яркости и стохастического ослабления взаимозависимости обработки между блоком яркости и блоком цветоразности.
Третий вариант осуществления
Ниже приводится описание третьего варианта осуществления настоящего изобретения. Третий вариант осуществления отличается от первого варианта осуществления тем, что блок 101 разделения на блоки разделяет блок цветоразности таким образом, что, размер блока цветоразности не становится меньше, чем размер блока яркости, а другие конструкции и операции являются такими же, как и в первом варианте осуществления. Когда блок 101 разделения на блоки разделяет блок цветоразности, разделение, при котором размер блока цветоразности становится меньше, чем размер блока яркости, запрещается. Это предотвращает появление блока цветоразности размером меньше, чем размер блока яркости при внутрикадровом предсказании цветоразности из яркости и позволяет выполнять параллельную обработку блока яркости и блока цветоразности во всех случаях.
Битовый поток изображения на выходе устройства кодирования изображения в соответствии с любым из вариантов осуществления, описанных выше, имеет определенный формат данных, обеспечивающий возможность декодирования этого потока в соответствии со способом кодирования, используемым в варианте осуществления, и декодирование битового потока кодирования с этим определенным форматом данных может быть выполнено устройством декодирования изображения, соответствующим устройству кодирования изображения.
При использовании проводной или беспроводной сети для обмена битовыми потоками между устройством кодирования изображения и устройством декодирования изображения битовый поток может быть преобразован в формат данных, соответствующий режиму передачи по каналу связи и обеспечивающий, следовательно, возможность передачи этого потока. В этом случае необходимо использование устройства передачи для преобразования битовых потоков на выходе устройства кодирования изображения в кодированные данные, формат которых должен соответствовать режиму передачи по каналу связи, и для передачи этих битовых потоков по сети, а также устройства приема для приема битовых потоков из сети, обеспечивающего восстановление этих битовых потоков и подачи восстановленных битовых потоков на вход устройства декодирования изображения.
Устройство передачи включает в себя память для буферизации битовых потоков на выходе устройства кодирования изображения, блок пакетной обработки для пакетирования этих битовых потоков и блок передачи для передачи пакетированных битовых потоков по сети. Устройство приема включает в себя блок приема для приема пакетированных кодированных данных по сети, память для буферизации принимаемых кодированных данных и блок пакетной обработки для выполнения пакетной обработки этих кодированных данных, генерирования битовых потоков и подачи этих генерированных битовых потоков на вход устройства декодирования изображения.
Кроме того, устройство отображения для отображения изображения, декодированного с помощью устройства декодирования изображения, может быть дополнено блоком отображения. В этом случае блок отображения считывает сигнал декодированного изображения, генерируемый с помощью блока 205 наложения для генерирования сигнала декодированного изображения и хранимый в памяти 206 декодированных изображений 206, и отображает это изображение на своем экране.
Кроме того, устройство формирования изображения может быть дополнено блоком формирования изображения, обеспечивающим подачу сформированного изображения на вход устройства кодирования изображения. В этом случае блок формирования изображения обеспечивает подачу сигнала сформированного изображения на вход блока 101 разделения на блоки.
Процессы обработки, относящиеся к кодированию и декодированию, описанные выше, могут быть реализованы не только в виде устройств передача/хранения/приема, использующих аппаратные средства, но и с помощью встроенного программного обеспечения, хранимого в постоянной памяти (ROM), во флэш-памяти или т.п., или с помощью программного обеспечения компьютера или т.п. Доступ к встроенному программному обеспечению или к программе системы программного обеспечения может обеспечиваться через считываемый компьютером или т.п.носитель записи, с сервера через проводную или беспроводную сеть или с использованием широковещательной передачи данных по спутниковым каналам цифрового вещания.
Устройство кодирования изображения, которое разделяет изображение на блоки и выполняет кодирование для каждого из разделенных блоков, где это устройство кодирования изображения содержит: блок разделения на блоки первичного сигнала, который разделяет первичный сигнал изображения на прямоугольники, имеющие предварительно заданный размер, и генерирует блок первичного сигнала; блок разделения на блоки вторичного сигнала, который разделяет вторичный сигнал изображения на прямоугольники, имеющие предварительно заданный размер и, генерирует блок вторичного сигнала; блок предсказания первичного сигнала, который предсказывает первичный сигнал; и блок предсказания вторичного сигнала, который предсказывает вторичный сигнал, причем первичный сигнал представляет собой сигнал яркости, а вторичный сигнал представляет собой сигнал цветоразности, в случае внутрикадрового предсказания блок первичного сигнала и блок вторичного сигнала разделяются на блоки независимо друг от друга, а в случае межкадрового предсказания блок первичного сигнала и блок вторичного сигнала разделяются на блоки в совокупности, и блок предсказания вторичного сигнала может выполнять внутрикадровое предсказание компонента, заключающееся в предсказании вторичного сигнала из декодированного первичного сигнала, и это внутрикадровое предсказание компонента ограничивается, если размер блока первичного сигнала больше чем или равен предварительно заданному размеру.
Способ кодирования изображения, который разделяет изображение на блоки и выполняет кодирование для каждого из разделенных блоков, где этот способ кодирования изображения содержит: этап разделения на блоки первичного сигнала, заключающийся в разделении первичного сигнала изображения на прямоугольники, имеющие предварительно заданный размер, и генерировании блока первичного сигнала; этап разделения на блоки вторичного сигнала, заключающийся в разделении вторичного сигнала изображения на прямоугольники, имеющие предварительно заданный размер, и генерировании блока вторичного сигнала; этап предсказания первичного сигнала, заключающийся в предсказании первичного сигнала; и этап предсказания вторичного сигнала, заключающийся в предсказании вторичного сигнала, причем первичный сигнал представляет собой сигнал яркости, а вторичный сигнал представляет собой сигнал цветоразности, в случае внутрикадрового предсказания блок первичного сигнала и блок вторичного сигнала разделяются на блоки независимо друг от друга, а в случае межкадрового предсказания блок первичного сигнала и блок вторичного сигнала разделяются на блоки в совокупности, и этап предсказания вторичного сигнала может выполнять внутрикадровое предсказание компонента, заключающееся в предсказании вторичного сигнала из декодированного первичного сигнала, и это внутрикадровое предсказание компонента ограничивается, если размер блока первичного сигнала больше чем или равен предварительно заданному размеру.
Устройство декодирования изображения, которое разделяет изображение на блоки и выполняет декодирование для каждого из разделенных блоков, где это устройство декодирования изображения содержит: блок разделения на блоки первичного сигнала, который разделяет первичный сигнал изображения на прямоугольники, имеющие предварительно заданный размер, и генерирует блок первичного сигнала; блок разделения на блоки вторичного сигнала, который разделяет вторичный сигнал изображения на прямоугольники, имеющие предварительно заданный размер, и генерирует блок вторичного сигнала; блок предсказания первичного сигнала, который предсказывает первичный сигнал; и блок предсказания вторичного сигнала, который предсказывает вторичный сигнал, причем первичный сигнал представляет собой сигнал яркости, а вторичный сигнал представляет собой сигнал цветоразности, в случае внутрикадрового предсказания блок первичного сигнала и блок вторичного сигнала разделяются на блоки независимо друг от друга, а в случае межкадрового предсказания блок первичного сигнала и блок вторичного сигнала разделяются на блоки в совокупности, и блок предсказания вторичного сигнала может выполнять внутрикадровое предсказание компонента, заключающееся в предсказании вторичного сигнала из декодированного первичного сигнала, и это внутрикадровое предсказание компонента ограничивается, если размер блока первичного сигнала больше чем или равен предварительно заданному размеру.
Способ декодирования изображения, который разделяет изображение на блоки и выполняет декодирование для каждого из разделенных блоков, где этот способ декодирования изображения содержит: этап разделения на блоки первичного сигнала, заключающийся в разделении первичного сигнала изображения на прямоугольники, имеющие предварительно заданный размер, и генерировании блока первичного сигнала; этап разделения на блоки вторичного сигнала, заключающийся в разделении вторичного сигнала изображения на прямоугольники, имеющие предварительно заданный размер, и генерировании блока вторичного сигнала; этап предсказания первичного сигнала, заключающийся в предсказании первичного сигнала; и этап предсказания вторичного сигнала, заключающийся в предсказании вторичного сигнала, причем первичный сигнал представляет собой сигнал яркости, а вторичный сигнал представляет собой сигнал цветоразности, при внутрикадровом предсказании блок первичного сигнала и блок вторичного сигнала разделяются на блоки независимо друг от друга, а при межкадровом предсказании блок первичного сигнала и блок вторичного сигнала разделяются на блоки в совокупности; и этап предсказания вторичного сигнала может выполнять внутрикадровое предсказание компонента, заключающееся в предсказании вторичного сигнала из декодированного первичного сигнала, и это внутрикадровое предсказание компонента ограничивается, если размер блока первичного сигнала больше чем или равен предварительно заданному размеру.
Настоящее изобретение было описано выше на основе предпочтительных вариантов осуществления. Приведенные варианты осуществления носят исключительно иллюстративный характер, и специалистам в данной области техники должно быть очевидно, что возможны самые различных модификации каждого из составляющих элементов и каждого из процессов обработки, описанные в этих вариантах осуществления, и что такие модификации также находятся в пределах объема настоящего изобретения.
Описание номеров позиций
100 - устройств кодирования изображения,
101 - блок разделения на блоки,
102 - блок генерирования предсказанного изображения,
103 - блок генерирования остаточного сигнала ошибки,
104 - блок ортогонального преобразования/квантования,
105 - блок генерирования битового потока.
106 - блок обратного квантования/обратного ортогонального преобразования,
107 - блоков наложения для генерирования сигнала декодированного изображения,
108 - память для декодированных изображений,
200 - устройств декодирования изображения,
201 - блок декодирования битового потока,
202 - блока разделения на блоки,
203 - блок обратного квантования/обратного ортогонального преобразования,
204 - блок генерирования предсказанного изображения,
205 - блок наложения для генерирования сигнала декодированного изображения и
206 - для память декодированных изображений.
Промышленная применимость
Настоящее изобретение может быть использовано в технике разделения изображения на блоки и выполнения кодирования и декодирования для каждого из разделенных блоков.