УСТРОЙСТВО КОДИРОВАНИЯ, СПОСОБ КОДИРОВАНИЯ И ЗАПОМИНАЮЩИЙ НОСИТЕЛЬ, УСТРОЙСТВО ДЕКОДИРОВАНИЯ, СПОСОБ ДЕКОДИРОВАНИЯ И ЗАПОМИНАЮЩИЙ НОСИТЕЛЬ
CODING DEVICE, CODING METHOD AND STORAGE MEDIA, DECODING DEVICE, DECODING METHOD AND STORAGE MEDIA

Область техники
[0001] Настоящее изобретение относится к устройству кодирования, способу кодирования и запоминающему носителю, устройству декодирования, способу декодирования и запоминающему носителю и кодированным данным изображения и, в частности, относится к обработке фильтрации на границе блока.
Предшествующий уровень техники
[0002] В качестве способа кодирования для записи сжатия движущегося изображения известен способ кодирования HEVC (высокоэффективное кодирование видео) (далее в настоящем документе называемый HEVC). Метод, называемый мозаикой (мозаичными (расположенными без перекрытия) элементами изображения), при котором один кадр разделяется на множество прямоугольных областей для обеспечения параллельной обработки для кодирования и декодирования и тому подобного, адаптирован к HEVC. Когда используются мозаичные элементы, может быть реализовано повышение в скорости на основе параллельной обработки для кодирования и декодирования, а также емкости памяти, включенные в устройство кодирования изображения и устройство декодирования изображения, могут быть уменьшены.
[0003] К тому же, чтобы улучшить качество изображения для изображения после кодирования в HEVC, вводится обработка контурным фильтром, такая как фильтрация деблокирования (устранения блочности) или адаптивный к выборке сдвиг. Хотя такая обработка контурным фильтром может также применяться к пикселам, идущим по границе мозаичного элемента, когда обработка контурным фильтром применяется к пикселам, идущим по границе мозаичного элемента, это может обусловить проблему в параллельной обработке для кодирования и декодирования в некоторых случаях. По этой причине, в HEVC принят синтаксический элемент loop_filter_across_tiles_enabled_flag (флаг задействования контурного фильтра на мозаичных элементах), при помощи которого возможно выбрать, применяется или нет обработка контурным фильтром к пикселам, идущим по границе мозаичного элемента. То есть, указывается, что в случае, когда вышеописанный синтаксический элемент представляет собой 1, разрешается применение контурного фильтра к границе мозаичного элемента, а в случае 0, применение контурного фильтра к границе мозаичного элемента запрещено. В соответствии с этим, вышеописанный синтаксический элемент может быть установлен как 0 в случае, когда важна параллельная реализация, и вышеописанный синтаксический элемент может быть установлен как 1 в случае, когда важно качество изображения на границе мозаичного элемента.
[0004] В последние годы случай использования, когда 360° видео захватывается множеством камер, и захваченное изображение подвергается сжатию и кодированию, генерировался совместно с развитием в технологии VR (виртуальной реальности). В качестве способа захвата для 360° видео был предложен метод для захвата изображений в соответственных направлениях сверху, снизу, слева, справа, спереди и сзади шестью камерами, подлежащими комбинированию друг с другом (NPL 1). Захваченные таким образом изображения устанавливаются как одно изображение путем переупорядочения захваченных шести изображений, подлежащих комбинированию друг с другом и подвергаемых сжатию и кодированию. В отношении переупорядочения, рассматривались метод упорядочения, чтобы получить кубик, как проиллюстрировано на фиг. 9A, и метод другого упорядочения в прямоугольник, так что область изображения после объединения становится наименьшей, как проиллюстрировано на фиг. 9B-9D (NPL 2). В соответствии с методом, проиллюстрированным на фиг. 9A, границы смежных изображений, таких как левое и переднее, а также переднее и правое, являются регулярно непрерывными, но бесполезные области генерируются в четырех углах изображения после объединения. С другой стороны, в соответствии с методом, проиллюстрированным на фиг. 9B-9D, бесполезные области не генерируются в изображении после комбинации, но непрерывная граница и прерывистая граница смешиваются среди границ смежных изображений.
Список цитированных документов
Непатентная литература
[0005] NPL 1: JVET Contribution JVET-C0021 Internet <http://phenix.int-evry.fr/jvet/doc_end_user/documents/3_Geneva/wg11/>
NPL 2: JVET Contribution JVET-D0022 Internet <http://phenix.int-evry.fr/jvet/doc_end_user/documents/4_Chengdu/wg11/>
Краткое описание сущности изобретения
[0006] Понятно, что использование контурного фильтра, представленного вышеописанным фильтром деблокирования, или адаптивного к выборке сдвига эффективно с точки зрения эффективности кодирования. Кроме того, в случае, когда изображение, полученное объединением после захвата множеством камер, как проиллюстрировано на фиг. 9B-9D, описанных выше, то есть, изображение, в котором непрерывная граница и прерывистая граница смешаны среди границ в изображении, подвергается кодированию, кодирование обычно выполняется, пока изображения, захваченные соответственными камерами, ассоциированы с мозаичными элементами. Однако, в соответствии с существующим методом, представленным HEVC, возможно только выбрать, применяется или нет обработка контурным фильтром единообразно ко всем границам мозаичного элемента в изображении. То есть, возможно только выбрать, применяется или нет контурный фильтр без различения непрерывной границы мозаичного элемента и прерывистой границы мозаичного элемента друг от друга. В вышеописанном случае, когда неприменение контурного фильтра выбирается путем приоритизации прерывистой границы мозаичного элемента, контурный фильтр не может применяться к непрерывной границе мозаичного элемента, где улучшение качества изображения может нормально ожидаться обработкой контурного фильтра. С другой стороны, когда применение контурного фильтра выбирается путем приоритизации непрерывной границы мозаичного элемента, контурный фильтр применяется к прерывистой границе мозаичного элемента, и ненужное ухудшение качества изображения вызывается в окрестности прерывистой границы мозаичного элемента. Поэтому, настоящее изобретение было создано, чтобы решить вышеописанную проблему, и направлено на обеспечение возможности адаптивного применения обработки контурным фильтром к границе мозаичного элемента, когда учитывается непрерывность границы мозаичного элемента.
[0007] Чтобы решить вышеописанную проблему, устройство кодирования в соответствии с настоящим изобретением имеет следующую конфигурацию. То есть, устройство кодирования для выполнения кодирования изображения, включающего в себя множество мозаичных элементов, включает в себя средство определения для определения, в отношении множества границ, составленных множеством мозаичных элементов, выполняется или нет обработка фильтром в отношении пикселов, смежных с границами, и средство кодирования для выполнения кодирования управляющей информации, указывающей, выполняется или нет обработка фильтром в отношении пикселов, смежных с границами, в соответствии с определением при помощи средства определения в отношении по меньшей мере двух из множества границ.
[0008] Более того, устройство декодирования в соответствии с настоящим изобретением имеет следующую конфигурацию. То есть, устройство декодирования для декодирования изображения, включающего в себя множество мозаичных элементов, из битового потока включает в себя средство декодирования для декодирования изображения, средство генерации для генерирования, в отношении множества границ, составленных множеством мозаичных элементов, управляющей информации, указывающей, выполняется или нет обработка фильтром в отношении пикселов, смежных с границами, из битового потока, средство определения для определения того, выполняется или нет обработка фильтром в отношении пикселов, смежных с по меньшей мере множеством границ, в соответствии с управляющей информацией, сгенерированной средством генерации, и средство обработки для выполнения обработки фильтром в отношении границ, где выполняется обработка фильтром, что определяется при помощи средства определения.
Краткое описание чертежей
[0009]
[Фиг. 1] Фиг. 1 является блок-схемой, иллюстрирующей конфигурацию устройства кодирования изображения.
[Фиг. 2] Фиг. 2 является блок-схемой, иллюстрирующей конфигурацию устройства декодирования изображения.
[Фиг. 3A] Фиг. 3A иллюстрирует пример отношения между непрерывностью границы мозаичного элемента и целевыми пикселами обработки контурным фильтром.
[Фиг. 3B] Фиг. 3B иллюстрирует пример отношения между непрерывностью границы мозаичного элемента и целевыми пикселами обработки контурным фильтром.
[Фиг. 4] Фиг. 4 является блок-схемой последовательности операций, иллюстрирующей обработку кодирования изображения в устройстве кодирования изображения.
[Фиг. 5] Фиг. 5 является блок-схемой последовательности операций, иллюстрирующей обработку контурным фильтром в устройстве кодирования изображения и устройстве декодирования изображения.
[Фиг. 6A] Фиг. 6A иллюстрирует пример структуры битового потока, сгенерированного устройством кодирования изображения и декодированного устройством декодирования изображения.
[Фиг. 6B] Фиг. 6B иллюстрирует пример структуры битового потока, сгенерированного устройством кодирования изображения и декодированного устройством декодирования изображения.
[Фиг. 7] Фиг. 7 является блок-схемой последовательности операций, иллюстрирующей обработку декодирования в устройстве декодирования изображения.
[Фиг. 8] Фиг. 8 является блок-схемой, иллюстрирующей пример конфигурации аппаратных средств компьютера, которая может применяться к устройству кодирования изображения и устройству декодирования изображения.
[Фиг. 9A] Фиг. 9A иллюстрирует пример компоновки, в котором изображения, захваченные множеством камер, повторно компонуются для получения одного изображения.
[Фиг. 9B] Фиг. 9B иллюстрирует пример компоновки, в котором изображения, захваченные множеством камер, повторно компонуются для получения одного изображения.
[Фиг. 9C] Фиг. 9C иллюстрирует пример компоновки, в котором изображения, захваченные множеством камер, повторно компонуются для получения одного изображения.
[Фиг. 9D] Фиг. 9D иллюстрирует пример компоновки, в котором изображения, захваченные множеством камер, повторно компонуются для получения одного изображения.
[Фиг. 10A] Фиг. 10A представляет синтаксис, связанный с информацией разделения мозаичных элементов и управляющей информацией фильтра битового потока, сгенерированной устройством кодирования изображения и декодированного устройством декодирования изображения.
[Фиг. 10B] Фиг. 10B представляет синтаксис, связанный с информацией разделения мозаичных элементов и управляющей информацией фильтра битового потока, сгенерированной устройством кодирования изображения и декодированного устройством декодирования изображения.
[Фиг. 10C] Фиг. 10C представляет синтаксис, связанный с информацией разделения мозаичных элементов и управляющей информацией фильтра битового потока, сгенерированной устройством кодирования изображения и декодированного устройством декодирования изображения.
Описание вариантов осуществления
[0010] Далее в настоящем документе, настоящее изобретение будет описано подробно с помощью его предпочтительных вариантов осуществления со ссылкой на прилагаемые чертежи. Следует отметить, что конфигурации, проиллюстрированные в следующих вариантах осуществления, являются только примерами, и настоящее изобретение не ограничено проиллюстрированными конфигурациями.
[0011] Далее в настоящем документе, варианты осуществления настоящего изобретения со стороны кодирования будут описаны путем использования чертежей. В соответствии с настоящим вариантом осуществления, в частности, будет описан случай, где изображение, проиллюстрированное на фиг. 9B, вводится для выполнения кодирования.
[0012] Фиг. 1 является блок-схемой, иллюстрирующей устройство кодирования изображения в соответствии с настоящим вариантом осуществления. Все из соответственных блоков на фиг. 1 могут быть выполнены как аппаратные средства, или часть или все из блоков могут также быть выполнены как программное обеспечение.
[0013] На фиг. 1, терминал 101 является терминалом, в который вводятся данные изображения.
[0014] Модуль 102 разделения мозаичных элементов определяет способ разделения мозаичных элементов для изображения ввода и выполняет обработку разделения.
[0015] Модуль 103 генерации управляющей информации фильтра генерирует и выводит управляющую информацию фильтра, соответствующую информации о том, выполняется или нет обработка контурным фильтром, которая будет описана ниже, в отношении пикселей на соответственных границах мозаичного элемента.
[0016] Модуль 104 предсказания выполняет внутреннее предсказание, соответствующее внутрикадровому предсказанию, внешнее предсказание, соответствующее межкадровому предсказанию, или тому подобное в отношении данных изображения в единицах блоков, чтобы сгенерировать данные изображения предсказания. Более того, ошибка предсказания вычисляется из входных данных изображения и данных изображения предсказания, подлежащих выводу. Кроме того, информация, требуемая для предсказания, такая как, например, информация о режиме предсказания, также выводится вместе с ошибкой предсказания. Далее в настоящем документе, эта информация, требуемая для предсказания, будет называться информацией предсказания.
[0017] Модуль 105 преобразования и квантования выполняет ортогональное преобразование ошибки предсказания в единицах блоков, чтобы получить коэффициент преобразования, и дополнительно выполняет квантование, чтобы получить коэффициент квантования.
[0018] Модуль 106 обратного квантования и обратного преобразования выполняет обратное квантование коэффициента квантования, выведенного из модуля 105 преобразования и квантования, чтобы воспроизвести коэффициент преобразования, и дополнительно выполняет обратное ортогональное преобразование, чтобы воспроизвести ошибку предсказания.
[0019] Память 108 кадра представляет собой память, которая хранит воспроизведенные данные изображения.
[0020] Модуль 107 воспроизведения изображения обращается к памяти 108 кадра соответствующим образом в соответствии с информацией предсказания, выведенной из модуля 104 предсказания, чтобы сгенерировать данные изображения предсказания, и генерирует данные изображения воспроизведения из сгенерированных данных изображения предсказания и введенную ошибку предсказания, подлежащую выводу.
[0021] Модуль 109 контурного фильтра выполняет обработку контурным фильтром, такую как фильтрация деблокирования или адаптивный к выборке сдвиг, в отношении изображения воспроизведения и выводит изображение, на котором была выполнена обработка фильтром.
[0022] Модуль 110 кодирования выполняет кодирование коэффициента квантования, выведенного из модуля 105 преобразования и квантования, и информации предсказания, выведенной из модуля 104 предсказания, чтобы сгенерировать закодированные данные, подлежащие выводу.
[0023] Модуль 111 кодирования интеграции выполняет кодирование выводов из модуля 102 разделения мозаичных элементов и модуля 103 генерации управляющей информации фильтра, чтобы сгенерировать данные кода заголовка, подлежащие сохранению в заголовке. Сгенерированные данные кода заголовка образуют битовый поток вместе с закодированными данными, выведенными из модуля 110 кодирования, подлежащими выводу.
[0024] Терминал 112 является терминалом, из которого битовый поток, сгенерированный модулем 111 кодирования интеграции, выводится вовне.
[0025] Обработка кодирования изображения в устройстве кодирования изображения, проиллюстрированном на фиг. 1, будет описана ниже. В соответствии с настоящим вариантом осуществления, принята конфигурация, в которой данные движущегося изображения вводятся в единицах кадров, но может, разумеется, приниматься конфигурация, в которой вводятся данные неподвижного изображения для одного кадра.
[0026] Данные изображения для одного кадра, который вводится из терминала 101, вводятся в модуль 102 разделения мозаичных элементов. Данные изображения, введенные в терминал 101, установлены как данные изображения для одного кадра, который был скомбинирован переупорядочением N частей (N≥3) изображений. Компоновка N частей (N≥3) изображений также включает в себя компоновку повернутых изображений. В соответствии с настоящим вариантом осуществления, может также быть получена информация, указывающая, сколько изображений скомпоновано и каким образом они скомбинированы.
[0027] Модуль 102 разделения мозаичных элементов определяет способ разделения мозаичных элементов для входного изображения и разделяет данные входного изображения на единицы мозаичных элементов в соответствии с определенным способом разделения, чтобы выводиться на модуль 104 предсказания. То есть, кроме того, определенный способ разделения мозаичных элементов выводится в модуль 103 генерации управляющей информации фильтра и модуль 111 кодирования интеграции в качестве информации разделения мозаичных элементов. Хотя способ определения для разделения мозаичных элементов не ограничен конкретно, может использоваться признак входного изображения, может использоваться информация, указывающая, сколько изображений скомпоновано и каким образом скомбинированы, как описано выше, и определение может выполняться путем ввода от пользователя. В соответствии с настоящим вариантом осуществления, будут обеспечены описания, в то время как предполагается, что данные входного изображения для одного кадра разделены по границам N частей комбинированных изображений, и данные изображения, включающего в себя M частей (M≥2) границ мозаичных элементов, образованы из N частей (N≥3) мозаичных элементов. Например, проектируется, что, в случае, когда должно выполняться кодирование изображения, как проиллюстрировано на фиг. 9B, соответственные изображения спереди, справа, сзади, снизу, слева и сверху ассоциированы с отдельными мозаичными элементами, то есть, выполняется кодирование изображения, составленного из шести мозаичных элементов.
[0028] Далее, модуль 103 генерации управляющей информации фильтра определяет, выполняется или нет обработка контурным фильтром в отношении соответственных границ мозаичного элемента, и выводит информацию в качестве управляющей информации фильтра на модуль 109 контурного фильтра и модуль 111 кодирования интеграции. Способ определения для управляющей информации фильтра не ограничен конкретно, и может использоваться признак изображения ввода, и может выполняться определение посредством ввода от пользователя. Кроме того, модуль 103 генерации управляющей информации фильтра может выполнять определение в соответствии с информацией, связанной с состоянием разделения мозаичных элементов, которая вводится извне или вычисляется внутренним образом, и информацией, связанной с непрерывностью соответственных границ мозаичного элемента. Например, в случае, когда должно выполняться кодирование изображения, как проиллюстрировано на фиг. 9B, определяется, что кодирование изображения, составленного из шести мозаичных элементов, выполняется модулем 102 разделения мозаичных элементов. В этом случае, значения пикселов непрерывны на двух границах мозаичного элемента в вертикальном направлении (между "передним" и "правым" и между "правым" и "задним"), существующих в верхней части изображения, и одной границе мозаичного элемента в горизонтальном направлении (между "передним" и "нижним"), существующей в левой части изображения. С другой стороны, пикселы не являются непрерывными на других четырех границах мозаичного элемента. В вышеописанном случае, модуль 103 генерации управляющей информации фильтра выводит информацию, указывающую, что обработка контурным фильтром выполняется в отношении трех границ мозаичного элемента, где пикселы непрерывны, и информацию, указывающую, что обработка контурным фильтром не выполняется в отношении оставшихся четырех прерывистых границ мозаичного элемента, в качестве управляющей информации фильтра.
[0029] Модуль 111 кодирования интеграции выполняет кодирование информации разделения мозаичных элементов и управляющей информации фильтра, чтобы соответственно сгенерировать код информации разделения мозаичных элементов и код управляющей информации фильтра. Способ кодирования не задается конкретно, но может использоваться кодирование Голомба, арифметическое кодирование, кодирование Хаффмана или тому подобное.
[0030] Модуль 104 предсказания разделяет данные изображения в единицах мозаичных элементов, которые вводятся из модуля 102 разделения мозаичных элементов, на множество блоков, и в единицах блоков выполняется обработка предсказания. В результате обработки предсказания, генерируется ошибка предсказания и вводится в модуль 105 преобразования и квантования. Кроме того, модуль 104 предсказания генерирует информацию предсказания, подлежащую выводу в модуль 110 кодирования и модуль 107 воспроизведения изображения.
[0031] Модуль 105 преобразования и квантования выполняет ортогональное преобразование и квантование введенной ошибки предсказания, чтобы сгенерировать коэффициент квантования. Сгенерированный коэффициент квантования вводится в модуль 110 кодирования и модуль 106 обратного квантования и обратного преобразования.
[0032] Модуль 106 обратного квантования и обратного преобразования выполняет обратное квантование введенного коэффициента квантования, чтобы воспроизвести коэффициент преобразования, и дополнительно выполняет обратное ортогональное преобразование воспроизведенного коэффициента преобразования, чтобы воспроизвести ошибку предсказания, подлежащую выводу на модуль 107 воспроизведения изображения.
[0033] Модуль 107 воспроизведения изображения относится к памяти 108 кадра соответствующим образом в соответствии с вводом информации предсказания из модуля 104 предсказания, чтобы воспроизвести изображение предсказания. Затем, данные изображения воспроизводятся из воспроизведенного изображения предсказания и воспроизведенной ошибки предсказания, введенной из модуля 106 обратного квантования и обратного преобразования, чтобы вводиться в память 108 кадра и сохраняться.
[0034] Модуль 109 контурного фильтра считывает изображение воспроизведения из памяти 108 кадра и выполняет обработку контурным фильтром, такую как фильтрация деблокирования, в соответствии с положением блока цели фильтрации и управляющей информации фильтра, введенной из блока 103 управляющей информации фильтра. Затем, изображение, на котором была выполнена обработка фильтром, снова вводится в память 108 кадра, чтобы снова сохраниться. Это изображение, на котором была выполнена обработка фильтром, используется для интер- (межкадрового) предсказания в модуле 104 предсказания или тому подобном.
[0035] Обработка контурным фильтром в соответствии с настоящим вариантом осуществления будет описана с использованием фиг. 3. Любая из следующих обработок фильтром выполняется в соответствии с положением блока цели фильтрации и управляющей информацией фильтра. В настоящем документе, будет описана только обработка фильтром на границе мозаичного элемента, но обработка фильтром в положениях пикселов, отличных от границы мозаичного элемента, установлена для реализации в соответствии с существующим способом кодирования изображения. Кроме того, чтобы облегчить описания в настоящем документе, размер блока установлен как блок 4×4, но не ограничен этим.
О
[0036] Фиг. 3A иллюстрирует пример в случае, когда обработка деблокирования фильтра выполняется при проходе границы двух блоков 4×4. Два блока из 4×4 пикселов существуют внутри внешнего кадра 300, и обработка фильтром исполняется в отношении 3 пикселов, смежных с границами мозаичного элемента соответственных блоков, окруженных скругленным прямоугольником 301, то есть, 6 пикселов в целом. Блок на левой стороне, проиллюстрированный на фиг. 3A, принадлежит мозаичному элементу 0, и блок на правой стороне принадлежит мозаичному элементу 1. То есть, левый и правый блоки являются блоками, принадлежащими разным мозаичным элементам, и граница левого и правого блоков также является границей мозаичных элементов. Эта граница мозаичных элементов установлена в качестве границы мозаичных элементов, где значения пикселов непрерывны, как видно в верхней части фиг. 9B (например, между "передним" и "правым") или тому подобном. В этом случае, поскольку управляющая информация фильтра, указывающая, что контурная обработка выполняется на границе мозаичного элемента, где пикселы непрерывны, вводится из модуля 103 генерации управляющей информации фильтра, все из 6 пикселов, указанных символом , становятся целями обработки фильтром, обработка фильтром выполняется в отношении всех из 6 пикселов.
[0037] С другой стороны, фиг. 3B отличается от фиг. 3A, и граница левого и правого мозаичных элементов установлена в качестве границы мозаичных элементов, где значения пикселов являются прерывистыми, как видно в нижней части фиг. 9B (например, между "левым" и "верхним") или тому подобном. В этом случае, поскольку управляющая информация фильтра, указывающая, что контурная обработка не выполняется на границе мозаичных элементов, где пикселы являются прерывистыми, вводится из модуля 103 генерации управляющей информации фильтра, все из 6 пикселов, указанных символом ×, не становятся целями обработки фильтром. Таким образом, обработка фильтром не выполняется в отношении 6 пикселов.
[0038] Фильтрация деблокирования была упомянута в соответствии с настоящим вариантом осуществления, но аналогичное управление может, разумеется, выполняться на другой обработке контурным фильтром, такой как адаптивный контурный фильтр или адаптивный к выборке сдвиг. Кроме того, в соответствии с настоящим вариантом осуществления, была описана обработка фильтром между левым и правым блоками, но аналогичная обработка также выполняется между верхним и нижним блоками. Более того, был проиллюстрирован пример, в котором обработка фильтрации выполняется на 3 пикселах в соответственных блоках, но число пикселов, подлежащих обработке, не ограничено этим. Например, также возможно выполнить ассиметричную обработку фильтрацией, в которой число пикселов, соответствующих целям обработки в соответственных блоках, отличается, например, 3 пиксела в блоке на левой стороне и 2 пиксела в блоке на правой стороне.
[0039] Возвращаясь к фиг. 1, модуль 110 кодирования выполняет энтропийное кодирование коэффициента квантования, сгенерированного модулем 105 преобразования и квантования, и информации предсказания, введенной из модуля 104 предсказания, в единицах блоков, чтобы сгенерировать закодированные данные. Способ энтропийного кодирования не задается конкретно, но могут использоваться кодирование Голомба, арифметическое кодирование, кодирование Хаффмана или тому подобное. Сгенерированные закодированные данные выводятся на модуль 111 кодирования интеграции.
[0040] Модуль 111 кодирования интеграции умножает код информации разделения мозаичных элементов и код управляющей информации фильтра, сгенерированные до обработки кодирования, закодированные данные, сгенерированные модулем кодирования, и тому подобное, и формируется битовый поток. Наконец, результат выводится из терминала 112 вовне.
[0041] Фиг. 6A иллюстрирует пример битового потока, включающего в себя информацию разделения мозаичных элементов и управляющую информацию фильтра после кодирования. Информация разделения мозаичных элементов в качестве кода информации разделения мозаичных элементов и управляющая информация фильтра в качестве кода управляющей информации фильтра включены в любой один из заголовков, таких как последовательности и картинки. В соответствии с настоящим вариантом осуществления, как проиллюстрировано на фиг. 6A, коды включены в часть заголовка картинки. Фиг. 10A представляет примерную структуру синтаксиса части заголовка картинки, включающую в себя эти коды. Поскольку tiles_enabled_flag (флаг задействования мозаичных элементов) является кодом, указывающим наличие или отсутствие разделения мозаичных элементов, и был описан случай, в котором изображение, проиллюстрированное на фиг. 9B, вводится для разделения на шесть мозаичных элементов в соответствии с настоящим вариантом осуществления, это значение становится 1. Описание entropy_coding_sync_enabled_flag (флаг задействования синхронизации энтропийного кодирования) будет опущено, поскольку оно не связано с настоящим вариантом осуществления. num_tile_columns_minus1 (число столбцов мозаичных элементов минус 1) указывает значение, полученное путем вычитания 1 из числа мозаичных элементов в горизонтальном направлении. В соответствии с настоящим вариантом осуществления, поскольку три мозаичных элемента существуют в горизонтальном направлении, это значение становится 2. С другой стороны, num_tile_rows_minus1 (число строк мозаичных элементов минус 1) указывает значение, полученное путем вычитания 1 из числа мозаичных элементов в вертикальном направлении. В соответствии с настоящим вариантом осуществления, поскольку два мозаичных элемента существуют в вертикальном направлении, это значение становится 1. uniform_spacing_flag (флаг равномерного расстояния) является кодом, указывающим, совпадают или нет размеры соответственных мозаичных элементов (числа пикселов в вертикальном и горизонтальном направлениях) друг с другом, и поскольку размеры всех мозаичных элементов совпадают друг с другом в соответствии с настоящим вариантом осуществления, это значение становится 1. Следует отметить, что когда это значение представляет собой 0, то есть, в случае, когда все размеры мозаичных элементов не совпадают друг с другом, выполняется кодирование column_width_minus1 (ширина столбца минус 1) и row_height_minus1 (высоты строки минус 1), указывающих горизонтальный и вертикальный размеры соответственных мозаичных элементов, но их описания будут опущены в соответствии с настоящим вариантом осуществления. loop_filter_across_tiles_enabled_flag (флаг задействования контурного фильтра по мозаичным элементам) является кодом, указывающим, обеспечена или нет возможность обработки контурным фильтром на границе мозаичного элемента, но поскольку обеспечена возможность обработки контурным фильтром на части границ в соответствии с настоящим вариантом осуществления, это значение установлено как 1.
[0042] Кодирование следующего синтаксиса выполняется, только когда вышеописанный loop_filter_across_tiles_enabled_flag представляет собой 1. loop_filter_across_tiles_control_flag (флаг управления контурным фильтром по мозаичным элементам) является кодом, указывающим, выполняется раздельно или нет кодирование информации, которая указывает, выполняется или нет обработка контурным фильтром в отношении каждой из границ мозаичного элемента. В соответствии с настоящим вариантом осуществления, поскольку требуется раздельно установить принятие или отклонение обработки контурным фильтром, это значение устанавливается как 1.
[0043] Более того, кодирование следующего синтаксиса выполняется, только когда вышеописанный loop_filter_across_tiles_control_flag представляет собой 1. loop_filter_across_bottom_tile_boundary_enabled_flag (флаг задействования контурного фильтра по нижней границе мозаичных элементов) является кодом, указывающим, выполняется или нет обработка контурным фильтром в отношении границы мозаичного элемента на нижней стороне мозаичных элементов. В соответствии с настоящим вариантом осуществления, поскольку существуют три мозаичных элемента (передний, правый и задний) в ряду на верхней стороне, включающие в себя границу мозаичного элемента на нижней стороне, кодирование этого кода выполняется три раза. То есть, кодирование loop_filter_across_bottom_tile_boundary_enabled_flag выполняется для каждой границы, образованной между двумя мозаичными элементами сверху и снизу. Поскольку граница мозаичных элементов на нижней стороне "переднего" мозаичного элемента является непрерывной границей, это первое значение становится 1, указывая, что выполняется обработка контурным фильтром. С другой стороны, поскольку граница мозаичных элементов на нижней стороне "правого" и "заднего" мозаичных элементов является прерывистой границей, эти второе и третье значения становятся 0, указывая, что обработка контурным фильтром не выполняется. Следует отметить, что в отношении трех мозаичных элементов (нижнего, левого и верхнего) в ряду на нижней стороне, кодирование loop_filter_across_bottom_tile_boundary_enabled_flag не выполняется. Далее, loop_filter_across_right_tile_boundary_enabled_flag (флаг задействования контурного фильтра по правой границе мозаичных элементов) является кодом, указывающим, выполняется или нет обработка контурным фильтром в отношении границы мозаичных элементов на правой стороне мозаичных элементов. То есть, кодирование loop_filter_across_right_tile_boundary_enabled_flag выполняется для каждой границы, составленной между двумя мозаичными элементами слева и справа. В соответствии с настоящим вариантом осуществления, поскольку существуют четыре мозаичных элемента (передний, правый, нижний и левый), включающие в себя границу мозаичных элементов на правой стороне, кодирование этого кода выполняется четыре раза. Поскольку граница мозаичных элементов на правой стороне "переднего" и "правого" мозаичных элементов является непрерывной границей, эти первое и второе значения становятся 1, указывая, что обработка контурным фильтром выполняется. С другой стороны, поскольку граница мозаичных элементов на правой стороне "нижнего" и "левого" мозаичных элементов является прерывистой границей, эти третье и четвертое значения становятся 0, указывая, что обработка контурным фильтром не выполняется. Следует отметить, что, в отношении мозаичных элементов (заднего и верхнего), существующих в столбце на крайней правой стороне, кодирование loop_filter_across_right_tile_boundary_enabled_flag не выполняется. То есть, кодирование loop_filter_across_bottom_tile_boundary_enabled_flag выполняется в отношении границы мозаичных элементов внутри изображения. Аналогично, кодирование loop_filter_across_right_tile_boundary_enabled_flag выполняется в отношении границы мозаичных элементов внутри изображения. Затем, кодирование не выполняется в отношении границы мозаичных элементов, составляющих внешнюю периферию.
[0044] Фиг. 4 является блок-схемой последовательности операций, иллюстрирующей обработку кодирования в устройстве кодирования изображения в соответствии с настоящим вариантом осуществления.
[0045] Сначала, на этапе S401, модуль 102 разделения мозаичных элементов определяет способ разделения мозаичных элементов для входного изображения и разделяет данные входного изображения в единицы мозаичных элементов в соответствии с определенным способом разделения. Кроме того, определенный способ разделения мозаичных элементов устанавливается в качестве информации разделения мозаичных элементов, и кодирование информации разделения мозаичных элементов выполняется модулем 111 кодирования интеграции.
[0046] На этапе S402, модуль 103 генерации управляющей информации фильтра определяет, выполняется или нет обработка контурным фильтром в отношении пикселов на соответственных границах мозаичных элементов, и устанавливает информацию в качестве управляющей информации фильтра, и кодирование управляющей информации фильтра также выполняется модулем 111 кодирования интеграции.
[0047] На этапе S403, модуль 104 предсказания разбивает данные входного изображения в единицах мозаичных элементов на множество блоков и выполняет интра-предсказание или интер-предсказание в единицах блоков, чтобы сгенерировать информацию предсказания и данные изображения предсказания. Более того, ошибка предсказания вычисляется из данных входного изображения и данных изображения предсказания.
[0048] На этапе S404, модуль 105 преобразования и квантования выполняет ортогональное преобразование ошибки предсказания, вычисленной на этапе S403, чтобы сгенерировать коэффициент преобразования, и дополнительно выполняет квантование, чтобы сгенерировать коэффициент квантования.
[0049] На этапе S405, модуль 106 обратного квантования и обратного преобразования выполняет обратное квантование и обратное ортогональное преобразование коэффициента квантования, сгенерированного на этапе S404, чтобы воспроизвести ошибку предсказания.
[0050] На этапе S406, модуль 107 воспроизведения изображения воспроизводит изображение предсказания в соответствии с информацией предсказания, сгенерированной на этапе S403. Более того, данные изображения воспроизводятся из воспроизведенного изображения предсказания и ошибки предсказания, сгенерированной на этапе S405.
[0051] На этапе S407, модуль 110 кодирования выполняет кодирование информации предсказания, сгенерированной на этапе S403, и коэффициента квантования, сгенерированного на этапе S404, чтобы сгенерировать закодированные данные. Кроме того, генерируется битовый поток, в то время как также включаются другие закодированные данные.
[0052] На этапе S408, устройство кодирования изображения выполняет определение того, закончено или нет кодирование всех блоков в мозаичном элементе, и переходит к этапу S409, когда кодирование закончено, и возвращается к этапу S403 путем установления следующего блока в качестве цели, когда кодирование не закончено.
[0053] На этапе S409, устройство кодирования изображения выполняет определение того, закончено или нет кодирование всех мозаичных элементов в кадре, и переходит к этапу S410, когда кодирование закончено, и возвращается к этапу S403 путем установления следующего мозаичного элемента в качестве цели, когда кодирование не закончено.
[0054] На этапе S410, модуль 109 контурного фильтра выполняет обработку контурным фильтром в отношении данных изображения, воспроизведенных на этапе S406, чтобы генерировать изображение, на котором была выполнена обработка фильтром, и заканчивает обработку.
[0055] Фиг. 5 является блок-схемой последовательности операций, иллюстрирующей подробности обработки контурным фильтром на этапе S410.
[0056] Сначала, на этапе S501, модуль 109 контурного фильтра определяет, существуют или нет целевые пикселы на границе мозаичного элемента, из положений пикселов контурного целевого фильтра. Когда определено, что целевые пиксели существуют на границе мозаичного элемента, последовательность операций переходит к S502, а когда целевые пиксели не существуют, последовательность операций переходит к S503. В S501, значение существования на границе мозаичного элемента относится к существованию на границе мозаичного элемента внутри изображения.
[0057] На этапе S502, модуль 109 контурного фильтра определяет, становятся или нет целевые пиксели, существующие на границе мозаичного элемента, целями фильтрации, в соответствии с управляющей информацией фильтра, сгенерированной на этапе S402. Модуль контурного фильтра переходит к S503, когда определяется, что фильтрация выполняется, и переходит к S504, когда определяется, что фильтрация не выполняется.
[0058] На этапе S503, модуль 109 контурного фильтра выполняет обработку контурным фильтром в отношении целевых пикселов.
[0059] На этапе S504, модуль 109 контурного фильтра выполняет определение того, закончена или нет обработка контурным фильтром на всех пикселах, и переходит к этапу S505, когда обработка закончена, и возвращается к этапу S501 путем установления следующих пикселов в качестве целевых, когда обработка не закончена.
[0060] На этапе S505, модуль 109 контурного фильтра выполняет определение того, закончена или нет обработка контурным фильтром на всех типах. Модуль контурного фильтра заканчивает обработку контурным фильтром, когда обработка закончена, и возвращается к этапу S501 путем установления следующего типа обработки контурным фильтром в качестве цели, когда обработка не закончена.
[0061] Например, две обработки контурным фильтром, такие как фильтрация деблокирования и адаптивный к выборке сдвиг, определены в HEVC, их переключение исполняется на этом этапе. Конкретно, сначала реализуется обработка деблокирования фильтра, в то время как все пикселы установлены в качестве целей, и после этого переключается на обработку адаптивного к выборке сдвига, и последовательность операций возвращается к этапу S501. Кроме того, обработка контурным фильтром заканчивается в случае, когда обработка адаптивного к выборке сдвига также закончена. В соответствии с настоящим вариантом осуществления, исполняются два типа обработки контурным фильтром, такие как фильтрация деблокирования и адаптивный к выборке сдвиг, аналогично HEVC, но другая обработка контурным фильтром (такая как, например, адаптивный контурный фильтр), разумеется, может исполняться. Кроме того, порядок обработки контурным фильтром не ограничен этим.
[0062] С вышеописанной конфигурацией и операцией, в частности, на этапе S410, так как становится возможным выполнить управление принятием или отклонением применения обработки контурным фильтром для каждой границы мозаичного элемента, следует ли или нет применять обработку контурным фильтром к границе мозаичного элемента, может выбираться в соответствии с непрерывностью границы мозаичного элемента. В результате, поскольку становится возможным установить определенным образом, что обработка контурным фильтром применяется на границе мозаичного элемента, где пикселы непрерывны, и обработка контурным фильтром не применяется на границе мозаичного элемента, где пикселы являются прерывистыми, качество изображения может быть улучшено.
[0063] Следует отметить, что, в соответствии с настоящим вариантом осуществления, как проиллюстрировано на фиг. 6A, кодирование информации разделения мозаичных элементов и управляющей информации фильтра выполняется в части заголовка картинки, но положение, где выполняется кодирование, не ограничено этим. Кодирование может выполняться в части заголовка последовательности изображения, как проиллюстрировано на фиг. 6B, или кодирование может, разумеется, выполняться в другом положении.
[0064] Следует отметить, что, в соответствии с настоящим вариантом осуществления, выполняется кодирование битового потока, включающего в себя структуру синтаксиса, проиллюстрированную на фиг. 10A, но структура битового потока не ограничена этим. Например, структура синтаксиса, проиллюстрированная на фиг. 10B, может также быть включена. На фиг. 10A, кодирование управляющей информации фильтра выполняется в отношении соответственных границ мозаичных элементов, но фиг. 10B иллюстрирует пример случая, где кодирование соответственно общей управляющей информации фильтра выполняется в отношении всех границ мозаичных элементов в горизонтальном направлении и затем всех границ мозаичных элементов в вертикальном направлении. loop_filter_across_horizontal_tile_boundary_enabled_flag (флаг задействования контурного фильтра по горизонтальной границе мозаичных элементов) является флагом, указывающим, выполняется или нет обработка контурным фильтром в отношении всех границ мозаичных элементов в вертикальном направлении на изображении. То есть, loop_filter_across_horizontal_tile_boundary_enabled_flag является управляющей информацией горизонтального направления, общей для множества границ мозаичных элементов в горизонтальном направлении. Кроме того, loop_filter_across_vertical_tile_boundary_enabled_flag (флаг задействования контурного фильтра по вертикальной границе мозаичных элементов) является флагом, указывающим, выполняется или нет контурный фильтр в отношении всех границ мозаичных элементов в горизонтальном направлении на изображении. То есть, loop_filter_across_vertical_tile_boundary_enabled_flag является управляющей информацией вертикального направления, общей для множества границ мозаичных элементов в вертикальном направлении. Например, в случае, когда вводится изображение, проиллюстрированное на фиг. 9D, когда первый (···horizontal···flag) установлен как 1, а последний (···vertical···flag) установлен как 0, можно реализовать управление фильтрацией в отношении границы мозаичных элементов при помощи еще меньшей величины кода. То есть, в случае изображения, на котором множество мозаичных элементов скомпонованы относительно определенного направления (горизонтального направления или вертикального направления), флаг, включающий в себя структуру синтаксиса согласно фиг. 10B, эффективен в случае, когда принятие или отклонение применения обработки контурным фильтром в каждой из границ мозаичных элементов является одним и тем же. Кроме того, в качестве модифицированного примера фиг. 10A и 10B, принятие или отклонение применения обработки контурным фильтром в одном из горизонтального и вертикального направлений границ мозаичного элемента может быть установлено путем использования флага на фиг. 10B. Затем, принятие или отклонение применения обработки контурным фильтром может быть установлено путем распределения флага для соответственных границ мозаичного элемента в другом направлении, как проиллюстрировано на фиг. 10A.
[0065] Кроме того, может также быть включена структура синтаксиса, подобная фиг. 10C. Фиг. 10C характеризуется тем, что кодирование loop_filter_across_tiles_control_idc выполняется в качестве управляющей информации фильтра. loop_filter_across_tiles_control_idc указывает индекс, соответствующий конкретному способу компоновки мозаичных элементов. Например, кодирование индексов, в которых "1" ассоциировано с фиг. 9B, "2" ассоциировано с фиг. 9C, "3" ассоциировано с фиг. 9D, и тому подобное, выполняется в качестве управляющей информации фильтра. Структура синтаксиса согласно фиг. 10C эффективна в случае, когда компоновки шести изображений, подлежащих комбинированию для составления изображения для одного кадра, определены как несколько форматов, как проиллюстрировано, например, на фиг. 9B-9D. В случае структуры синтаксиса согласно фиг. 10C, устройству декодирования изображения требуется понять принятие или отклонение применения обработки контурным фильтром в отношении соответственных границ мозаичных элементов в компоновках на фиг. 9B-9D, соответствующих соответственным индексам. В соответствии с этим, так как встречается множество способов компоновки мозаичных элементов, можно реализовать управление фильтрацией в отношении границы мозаичных элементов с еще меньшей величиной кода.
[0066] Кроме того, фильтрацией в отношении границы прямоугольного мозаичного элемента управляют в соответствии с настоящим вариантом осуществления, но цель управления не ограничена этим. Фильтрацией в отношении границы вырезок, которые могут также принимать форму, отличную от прямоугольника, можно аналогично управлять, и применение может также выполняться в отношении новых единиц обработки иных, чем мозаичные элементы и вырезки.
[0067] Кроме того, предполагается, что мозаичный элемент является прямоугольным в соответствии с существующим HEVC в соответствии с настоящим вариантом осуществления, но применение может также выполняться, когда мозаичные элементы и другие единицы обработки принимают другие формы, такие как треугольник.
[0068] Фиг. 2 является блок-схемой, иллюстрирующей конфигурацию устройства декодирования изображения в соответствии с вариантом осуществления настоящего изобретения. В соответствии с настоящим вариантом осуществления, будет описана обработка декодирования данных кодирования, сгенерированных в устройстве кодирования изображения. Все из соответственных блоков на фиг. 2 могут быть выполнены как аппаратные средства, или часть или все из блоков могут также быть выполнены как программное обеспечение.
[0069] Терминал 201 является терминалом, в который вводится битовый поток после кодирования. Модуль 202 декодирования разделения разделяет информацию, относящуюся к обработке декодирования, и закодированные данные, относящиеся к коэффициенту, из битового потока и дополнительно разделяет закодированные данные, существующие в части заголовка битового потока, подлежащего декодированию. В соответствии с настоящим вариантом осуществления, информация разделения мозаичных элементов и управляющая информация фильтра воспроизводятся обработкой декодирования, подлежащей выводу на последующую стадию. То есть, модуль 202 декодирования разделения выполняет операцию, противоположную модулю 111 кодирования интеграции на фиг. 1.
[0070] Модуль 203 декодирования декодирует закодированные данные, выведенные из модуля 202 декодирования разделения, чтобы воспроизвести коэффициент квантования и информацию предсказания.
[0071] Модуль 204 обратного квантования и обратного преобразования вводит коэффициент квантования в модулях блоков аналогично тому, как в модуле 106 обратного квантования и обратного преобразования на фиг. 1, выполняет обратное квантование, чтобы получить коэффициент преобразования, и дополнительно выполняет обратное ортогональное преобразование, чтобы воспроизвести ошибку предсказания.
[0072] Память 207 кадра является памятью, которая хранит по меньшей мере изображение для одного кадра и хранит данные изображения воспроизведенной картинки.
[0073] Аналогично тому, как в модуле 107 воспроизведения изображения на фиг. 1, модуль 205 воспроизведения изображения обращается к памяти 207 кадра соответствующим образом в соответствии с введенной информацией предсказания, чтобы сгенерировать данные изображения предсказания. Затем, данные изображения воспроизведения генерируются из этих данных изображения предсказания и ошибки предсказания, воспроизведенной модулем 204 обратного квантования и обратного преобразования, подлежащих выводу.
[0074] Аналогично тому, как в модуле 109 контурного фильтра на фиг. 1, модуль 206 контурного фильтра выполняет обработку контурным фильтром, такую как фильтрация деблокирования, в отношении изображения воспроизведения и выводит изображение, на котором была выполнена обработка фильтром.
[0075] Терминал 208 выводит данные изображения, на котором была выполнена обработка фильтром, вовне.
[0076] Обработка декодирования на изображении в устройстве декодирования изображения, проиллюстрированном на фиг. 2, будет описана ниже. В соответствии с настоящим вариантом осуществления, декодируется битовый поток, сгенерированный устройством кодирования изображения согласно фиг. 1.
[0077] На фиг. 2, битовый поток, вводимый из терминала 201, вводится в модуль 202 декодирования разделения. Модуль 202 декодирования разделения разделяет информацию, относящуюся к обработке декодирования, и закодированные данные, относящиеся к коэффициенту, из битового потока и дополнительно декодирует закодированные данные, существующие в части заголовка битового потока. Конкретно, информация разделения мозаичных элементов и управляющая информация фильтра воспроизводятся обработкой декодирования. В соответствии с настоящим вариантом осуществления, сначала, код информации разделения мозаичных элементов и код управляющей информации фильтра извлекаются из заголовка битового потока картинки, проиллюстрированной на фиг. 6A, подлежащего декодированию. Следует отметить, что часть заголовка картинки использует структуру синтаксиса, проиллюстрированную на фиг. 10A, в следующем объяснении. Сначала, декодируют код tiles_enabled_flag и получают значение 1, указывающее, что используется разделение мозаичных элементов. Описания entropy_coding_sync_enabled_flag будут опущены, поскольку это не относится к настоящему варианту осуществления. Далее, декодируют код num_tile_columns_minus1 и получают значение 2, указывающее, что существуют три мозаичных элемента в горизонтальном направлении. Кроме того, декодируют код num_tile_rows_minus1 и получают значение 1, указывающее, что существуют два мозаичного элемента в вертикальном направлении. Затем декодируют код uniform_spacing_flag и получают значение 1, указывающее, что размеры соответственных мозаичных элементов (числа пикселов в вертикальном и горизонтальном направлениях) совпадают друг с другом. Далее, декодируют код loop_filter_across_tiles_enabled_flag и получают значение 1, указывающее, что обеспечена возможность обработки контурным фильтром на границе мозаичного элемента.
[0078] Поскольку loop_filter_across_tiles_enabled_flag равен 1, декодирование синтаксиса продолжается дальше. Декодируют код loop_filter_across_tiles_control_flag и получают значение 1, указывающее, что обработка контурным фильтром выполняется в отношении соответственных границ мозаичных элементов.
[0079] Поскольку loop_filter_across_tiles_control_flag равен 1, декодирование синтаксиса продолжается дальше. Декодируют код loop_filter_across_bottom_tile_boundary_enabled_flag и получают информацию, указывающую, выполняется или нет обработка контурным фильтром в отношении границы мозаичного элемента на нижней стороне каждого из мозаичных элементов. В соответствии с настоящим вариантом осуществления, соответственные значения 1, 0 и 0 получают в качестве информации в отношении трех мозаичных элементов (переднего, правого и заднего), включающих в себя границу мозаичного элемента на нижней стороне. Далее, декодируют код loop_filter_across_right_tile_boundary_enabled_flag и получают информацию, указывающую, выполняется или нет обработка контурным фильтром в отношении границы мозаичного элемента на правой стороне каждого из мозаичных элементов. В соответствии с настоящим вариантом осуществления, соответственные значения 1, 1, 0 и 0 получают в качестве информации в отношении четырех мозаичных элементов (переднего, правого, нижнего и левого), включающих в себя границу мозаичного элемента на правой стороне. Полученная таким образом управляющая информация фильтра выводится на модуль 206 контурного фильтра. Затем, закодированные данные в единицах блоков данных картинки воспроизводятся для вывода на модуль 203 декодирования.
[0080] Модуль 203 декодирования декодирует закодированные данные, чтобы воспроизводить коэффициент квантования и информацию предсказания. Воспроизведенный коэффициент квантования выводится на модуль 204 обратного квантования и обратного преобразования, и воспроизведенная информация предсказания выводится на модуль 205 воспроизведения изображения.
[0081] Модуль 204 обратного квантования и обратного преобразования выполняет обратное квантование в отношении введенного коэффициента квантования, чтобы сгенерировать коэффициент ортогонального преобразования, и дополнительно выполняет применение обратного ортогонального преобразования, чтобы воспроизводить ошибку предсказания. Воспроизведенная информация предсказания выводится на модуль 205 воспроизведения изображения.
[0082] Модуль 205 воспроизведения изображения обращается к памяти 207 кадра соответствующим образом в соответствии с вводом информации предсказания из модуля 203 декодирования, чтобы воспроизвести изображение предсказания. Данные изображения воспроизводятся из этого ввода изображения предсказания и ошибки предсказания из модуля 204 обратного квантования и обратного преобразования для ввода в память 207 кадра и сохранения. Сохраненные данные изображения используются для обращения во время предсказания.
[0083] Модуль 206 контурного фильтра считывает изображение воспроизведения из памяти 207 кадра аналогично 109 на фиг. 1 и выполняет обработку контурным фильтром, такую как фильтрация деблокирования, в соответствии с вводом управляющей информации фильтра из модуля 202 декодирования разделения. Затем, изображение, на котором была выполнена обработка фильтром, вводится в память 207 кадра снова. Поскольку обработка контурным фильтром в соответствии с настоящим вариантом осуществления является той же самой, что и обработка контурным фильтром в устройстве кодирования изображения согласно фиг. 1, подробные описания будут опущены.
[0084] Изображение, на котором была выполнена обработка фильтром в модуле 206 контурного фильтра, сохраняется в памяти 207 кадра снова, чтобы, в конечном счете, выводиться из терминала 208 вовне.
[0085] Фиг. 7 является блок-схемой последовательности операций, иллюстрирующей обработку декодирования на изображении в устройстве декодирования изображения согласно фиг. 2.
[0086] Сначала, на этапе S701, модуль 202 декодирования разделения разделяет информацию, относящуюся к обработке декодирования, и закодированные данные, относящиеся к коэффициенту, их битового потока и декодирует закодированные данные в части заголовка, чтобы воспроизвести информацию разделения мозаичных элементов и управляющую информацию фильтра.
[0087] На этапе S702, модуль 203 декодирования декодирует закодированные данные, разделенные на этапе S701, и воспроизводит коэффициент квантования и информацию предсказания.
[0088] На этапе S703, модуль 204 обратного квантования и обратного преобразования выполняет обратное квантование в модулях блоков в отношении коэффициента квантования, чтобы получить коэффициент преобразования, и дополнительно выполняет обратное ортогональное преобразование, чтобы воспроизвести ошибку предсказания.
[0089] На этапе S704, модуль 205 воспроизведения изображения воспроизводит изображение предсказания в соответствии с информацией предсказания, сгенерированной на этапе S702. Кроме того, данные изображения воспроизводятся из воспроизведенного изображения предсказания и ошибки предсказания, сгенерированных на этапе S703.
[0090] На этапе S705, модуль 205 воспроизведения изображения или модуль управления, который не проиллюстрирован на чертеже в устройстве декодирования изображения, выполняет определение того, закончено или нет декодирование всех блоков в мозаичном элементе. Если декодирование закончено, последовательность операций переходит к этапу S706, а если декодирование не закончено, последовательность операций возвращается к этапу S702, в то время как следующий блок устанавливается в качестве цели.
[0091] На этапе S706, модуль 205 воспроизведения изображения или модуль управления, который не проиллюстрирован на чертеже в устройстве декодирования изображения, выполняет определение того, закончено или нет декодирование всех мозаичных элементов в кадре. Если декодирование закончено, последовательность операций переходит к этапу S707, а если декодирование не закончено, последовательность операций возвращается к этапу S702, в то время как следующий мозаичный элемент устанавливается в качестве цели.
[0092] На этапе S707, модуль 206 контурного фильтра выполняет обработку контурным фильтром в отношении данных изображения, воспроизведенных на этапе S704, чтобы сгенерировать изображение, на котором была выполнена обработка фильтром, и заканчивает обработку.
[0093] Поскольку блок-схема последовательности операций, иллюстрирующая подробности обработки контурным фильтром, является той же самой, что и на фиг. 5, иллюстрирующей обработку в устройстве кодирования изображения, ее описания будут опущены.
[0094] С вышеописанной конфигурацией и операцией, можно декодировать битовый поток, который был сгенерирован в устройстве кодирования изображения согласно фиг. 1, посредством чего можно выбрать, применяется или нет обработка контурным фильтром к границе мозаичного элемента, в соответствии с непрерывностью границы мозаичного элемента.
[0095] Следует отметить, что битовый поток, включающий в себя информацию разделения мозаичных элементов и управляющую информацию фильтра в части заголовка картинки, декодируется, как проиллюстрировано на фиг. 6A в соответствии с настоящим вариантом осуществления, но положение кодирования информации не ограничено этим. Кодирование может выполняться в части заголовка последовательности изображений, как проиллюстрировано на фиг. 6B, или кодирование может, разумеется, выполняться в другом положении.
[0096] Следует отметить, что декодирование битового потока, включающего в себя структуру синтаксиса, как показано на фиг. 10A, было проиллюстрировано в соответствии с настоящим вариантом осуществления, но структура битового потока, подлежащего декодированию, не ограничена этим. Например, битовый поток, включающий в себя структуру синтаксиса, как показано на фиг. 10B, может также декодироваться. Фиг. 10B иллюстрирует пример случая, где выполняется кодирование управляющей информации фильтра, общей для всех границ мозаичных элементов в горизонтальном направлении и всех границ мозаичных элементов в вертикальном направлении. Например, в случае, когда декодируется битовый поток, сгенерированный кодированием изображения, проиллюстрированного на фиг. 9D, устройством кодирования в соответствии с первым вариантом осуществления, значение 1 получают путем декодирования первого (···horizontal···flag), и значение 0 получают путем декодирования последнего (···vertical···flag). В соответствии с этим, можно декодировать битовый поток, в котором было выполнено кодирование управляющей информации фильтра, указывающей, что обработка контурным фильтром выполняется в отношении всех границ мозаичных элементов в горизонтальном направлении и обработка контурным фильтром не выполняется в отношении всех границ мозаичных элементов в вертикальном направлении с еще меньшей величиной кода.
[0097] Более того, также можно декодировать битовый поток, включающий в себя структуру синтаксиса подобно фиг. 10C. На фиг. 10C, можно ассоциировать индекс, указанный loop_filter_across_tiles_control_idc, при помощи конкретного способа компоновки мозаичных элементов. Например, предусматривается, что 1 ассоциировано с фиг. 9B, 2 ассоциировано с фиг. 9C, 3 ассоциировано с фиг. 9D, и тому подобное. В соответствии с этим, в то время как встречается большое разнообразие способов компоновки мозаичных элементов, можно декодировать битовый поток, который реализует управление фильтрацией в отношении границы мозаичного элемента с еще меньшей величиной кода.
[0098] В соответствии с вышеописанным вариантом осуществления было описано, что соответственные модули обработки, проиллюстрированные на фиг. 1 и фиг. 2, образованы аппаратными средствами. Однако, процессы, выполняемые соответственными модулями обработки, проиллюстрированными на этих чертежах, могут также конфигурироваться компьютерной программой.
[0099] Фиг. 8 является блок-схемой, иллюстрирующей пример конфигурации аппаратных средств компьютера, которая может применяться к устройству кодирования изображения и устройству декодирования изображения в соответствии с вышеописанными соответственными вариантами осуществления.
[0100] CPU 801 выполняет управление всем компьютером с использованием компьютерной программы или данных, хранящихся в RAM 802 или ROM 803, а также исполняет вышеописанные соответственные процессы как выполняемые устройством обработки изображений в соответствии с вышеописанными соответственными вариантами осуществления. То есть, CPU 801 функционирует как соответственные модули обработки, проиллюстрированные на фиг. 1 и фиг. 2.
[0101] RAM 802 включает в себя область для временного хранения компьютерной программы или данных, загруженных из внешнего устройства 806 хранения, данных, полученных извне посредством I/F (интерфейса) 807, и тому подобного. Более того, RAM 802 включает в себя рабочую область, используемую CPU 801, когда исполняются различные процессы. То есть, RAM 802 может быть распределена как, например, память кадра или надлежащим образом обеспечивать другие различные области.
[0102] ROM 803 хранит данные установки этого компьютера, программу начальной загрузки и тому подобное. Модуль 804 операции образован клавиатурой, мышью и тому подобным и используется пользователем этого компьютера, так что различные инструкции могут вводиться в CPU 801. Модуль 805 отображения отображает результаты обработки посредством CPU 801. Кроме того, модуль 805 отображения образован, например, жидкокристаллическим дисплеем.
[0103] Внешнее устройство 806 хранения является устройством хранения с большой емкостью, представленным устройством накопителя на жестком диске. OS (операционная система) и компьютерная программа для CPU 801 для реализации функций соответственных модулей, проиллюстрированных на фиг. 1 и фиг. 2, хранятся во внешнем устройстве 806 хранения. Более того, различные данные изображения в качестве целей обработки могут храниться во внешнем устройстве 806 хранения.
[0104] Компьютерная программа и данные, сохраненные во внешнем устройстве 806 хранения, загружаются соответствующим образом в RAM 802 в соответствии с управлением при помощи CPU 801, чтобы стать целями обработки посредством CPU 801. Сеть, такая как LAN или Интернет, и другие устройства, такие как проекционное устройство и устройство отображения, могут быть соединены с I/F 807, и этот компьютер может получать и передавать различную информацию посредством этого I/F 807. 808 обозначает шину, которая соединяет вышеописанные соответственные модули друг с другом.
[0105] Процессы блок-схем последовательностей операций, проиллюстрированных на фиг. 4, фиг. 5 и фиг. 7, описанные выше, исполняются посредством CPU в соответствии с программой путем считывания программы, хранящейся в ROM 803, на RAM 802.
[0106] Как описано выше, в соответствии с настоящим изобретением, можно выбрать, применяется или нет обработка контурным фильтром для каждой границы мозаичного элемента. По этой причине, качество изображения на непрерывных границах мозаичного элемента, в частности, может улучшаться, и можно дополнительно улучшить эффективность кодирования.
(Другие варианты осуществления)
[0107] Настоящее изобретение может также быть реализовано путем обработки, в которой программа, которая реализует одну или несколько функций вышеописанных вариантов осуществления, поставляется на систему или устройство посредством сети или запоминающего носителя. Затем, один или несколько процессоров в компьютере системы или устройства считывают программу, подлежащую исполнению. Кроме того, настоящее изобретение может также быть реализовано схемой (например, ASIC), которая реализует одну или несколько функций.
[0108] Настоящее изобретение используется для устройства кодирования и устройства декодирования, которые выполняют кодирование и декодирование неподвижного изображения и движущегося изображения. В частности, настоящее изобретение может применяться к способу кодирования и способу декодирования, в которых используются разделение мозаичных элементов и обработка контурным фильтром.
[0109] Настоящее изобретение не ограничено вышеописанными вариантами осуществления, и различные изменения и модификации могут быть произведены без отклонения от сущности и объема настоящего изобретения. Соответственно, прилагаемая формула изобретения определяет объем настоящего изобретения.
[0110] Настоящая заявка испрашивает приоритет Японской патентной заявки No. 2016-249173, поданной 22 декабря 2016, которая включена в настоящий документ посредством ссылки во всей своей полноте.