устройство и способ кодирования изображений и устройство и способ декодирования изображений
Классы МПК: | H04N7/32 включающие кодовое прогнозирование G06T5/00 Усиление или восстановление изображения из побитового в побитовое изображение для создания подобного изображения H04N11/02 с сокращением ширины полосы пропускания |
Автор(ы): | НОДА Реико (JP), ТУДЗОХ Такеси (JP) |
Патентообладатель(и): | КАБУСИКИ КАЙСЯ ТОСИБА (JP) |
Приоритеты: |
подача заявки:
2007-03-30 публикация патента:
10.11.2011 |
Изобретение относится к устройству и способу кодирования/декодирования изображений, используемых для движущихся изображений или неподвижных изображений. Техническим результатом является повышение эффективности кодирования, благодаря повышению точности внутрикадрового предсказания или компенсации движения. Технический результат достигается тем, что устройство кодирования изображения содержит преобразователь с увеличением глубины пикселя в битах для преобразования глубины в битах каждого пикселя входного изображения с целью вывода преобразованного входного изображения и вывода информации о преобразовании в битах, указывающей количество бит, на которое происходит изменение глубины в результате преобразования, кодер изображения для кодирования введенного преобразованного входного изображения с целью вывода информации о кодированном изображении и мультиплексор для мультиплексирования информации о преобразовании в битах и информации о кодированном изображении. 12 н. и 22 з.п. ф-лы, 43 ил.
Формула изобретения
1. Устройство кодирования изображения, содержащее:
преобразователь глубины пикселя в битах для преобразования глубины в битах каждого пикселя входного изображения, сформированного из множества пикселей, каждый из которых имеет глубину N бит, до глубины (N+M) бит, которая больше глубины N бит на М бит;
генератор предсказываемого изображения для создания предсказываемого изображения глубиной (N+M) бит по входному изображению глубиной (N+M) бит исходя из опорного изображения глубиной (N+M) бит;
вычитатель для получения дифференциального сигнала глубиной (N+M) бит между входным изображением глубиной (N+M) бит и предсказываемым изображением глубиной (N+M) бит;
кодер для кодирования дифференциального сигнала глубиной (N+M) бит и вывода информации о кодированном изображении глубиной (N+M) бит;
декодер для вывода декодированного разностного изображения глубиной (N+M) бит на основе информации о кодировании изображения глубиной (N+M) бит;
сумматор для добавления предсказываемого изображения глубиной (N+M) бит к декодированному разностному изображению глубиной (N+M) бит и вывода декодированного изображения глубиной (N+M) бит;
память, запоминающая опорное изображение, для запоминания декодированного изображения в качестве опорного изображения.
2. Устройство кодирования изображения по п.1, содержащее также мультиплексор для мультиплексирования информации о преобразовании в битах, представляющей количество бит, на которое происходит изменение в результате преобразования, выполненного преобразователем глубины пикселя в битах, с информацией о кодировании изображения для каждого каждой единицы кодирования входного изображения.
3. Устройство кодирования изображения по п.1, содержащее также первый преобразователь глубины пикселя в битах, обеспеченный на предыдущей ступени памяти, запоминающей опорное изображение, для преобразования каждого пикселя декодированного изображения глубиной (N+M) бит до глубины (N+M-L) бит (L - целое число, удовлетворяющее неравенству L M), и второй преобразователь глубины пикселя в битах, обеспеченный на задней ступени памяти, запоминающей опорное изображение, для преобразования каждого пикселя опорного изображения глубиной (N+M-L) бит до глубины (N+M) бит, память, запоминающую опорное изображение, которая запоминает декодированное изображение глубиной (N+M-L) бит в качестве опорного изображения.
4. Устройство кодирования изображений по п.1, в котором первый преобразователь глубины пикселя в битах включает в себя средство для вычисления репрезентативного значения исходя из максимального и минимального значений глубины пикселя, содержащихся в изображении единицы кодирования декодированного изображения глубиной (N+M) бит для каждой единицы кодирования, средство для вычисления величины смещения Q (0 Q L), с помощью которого значение полученное путем смещения вправо разности между значением каждого пикселя изображения единицы кодирования и указанным репрезентативным значением попадает в динамический диапазон глубины в (N+M-L) бит, и средство для преобразования декодированного изображения глубиной (N+M) бит в декодированное изображение глубиной (N+M-L) бит путем преобразования значения каждого пикселя в изображении единицы кодирования в значение с глубиной (N+M-L) бит посредством сдвига вправо разности между значением каждого пикселя и указанного репрезентативного значения, и память, запоминающая опорное изображение, запоминает декодированное изображение глубиной (N+M-L) бит в качестве опорного изображения и запоминает указанную величину Q и репрезентативное значение для изображения каждой произвольной единицы кодирования, а второй преобразователь глубины пикселя в битах считывает опорное изображение, величину смещения Q и репрезентативное значение из памяти, запоминающей опорное изображение, для каждой единицы кодирования и добавляет значение пикселя, полученное путем смещения влево на Q бит значения пикселя глубиной (N+M-L) бит для каждого пикселя опорного изображения, к репрезентативному значению для преобразования указанного значения пикселя на глубину (N+M) бит.
5. Устройство кодирования изображения, содержащее:
генератор предсказываемого изображения для создания предсказываемого изображения глубиной (N+M) бит по входному изображению глубиной N бит исходя из опорного изображения глубиной (N+M) бит;
преобразователь, уменьшающий глубину пикселя в битах, для уменьшения каждого пикселя предсказываемого изображения глубиной (N+M) бит до глубины N бит;
вычитатель для получения дифференциального сигнала между входным изображением глубиной N бит и предсказываемым изображением глубиной N бит;
кодер для кодирования дифференциального сигнала и вывода информации о кодировании изображения;
декодер для вывода декодированного разностного изображения на основе информации о кодировании изображения;
сумматор для добавления предсказываемого изображения, преобразованного до глубины N бит, к декодированному разностному изображению для вывода декодированного изображения глубиной N бит;
преобразователь глубины пикселя в битах для преобразования значения каждого пикселя декодированного изображения глубиной N бит до глубины (N+M) бит, превышающей указанную глубину на М;
контурный фильтр для обработки декодированного изображения глубиной (N+M) бит; и
память, запоминающую опорное изображение, для запоминания декодированного изображения глубиной (N+M) бит, обработанного контурным фильтром, в качестве опорного изображения.
6. Устройство кодирования изображения, содержащее:
генератор предсказываемого изображения для создания предсказываемого изображения глубиной (N+M) бит по входному изображению глубиной N бит исходя из опорного изображения глубиной (N+M) бит;
преобразователь глубины пикселя в битах для уменьшения каждого пикселя предсказываемого изображения глубиной (N+M) бит до глубины в N бит;
вычитатель для получения дифференциального сигнала между входным изображением глубиной N бит и предсказываемым изображением глубиной N бит;
кодер для кодирования дифференциального сигнала и вывода информации о кодировании изображения;
декодер для вывода декодированного разностного изображения на основе информации о кодировании изображения;
сумматор для добавления предсказываемого изображения к декодированному дифференциальному изображению для вывода декодированного изображения глубиной N бит;
память, запоминающую опорный сигнал, для запоминания декодированного изображения глубиной N бит в качестве опорного изображения;
преобразователь глубины пикселя в битах для преобразования каждого пикселя опорного изображения глубиной N бит, запомненного в памяти, запоминающей опорное изображение, до глубины (N+M) бит, превышающую указанную глубину на М бит.
7. Устройство кодирования изображения по п.1, в котором информация о кодировании изображения включает в себя данные, указывающие количество бит М, на которое должно быть выполнено увеличение, в качестве информации о преобразовании глубины в битах для каждой произвольной единицы кодирования.
8. Устройство кодирования изображения по п.3, в котором информация о кодировании изображения включает в себя данные, указывающие глубину (N+M-L) в битах опорного изображения, хранящегося в памяти, запоминающей опорное изображение, в качестве информации о преобразовании в битах для каждой произвольной единицы кодирования.
9. Устройство кодирования изображения по п.1, в котором информация о кодировании изображения включает в себя данные, указывающие глубину N в битах при выводе декодированного изображения в качестве информации о преобразовании глубины в битах для каждой произвольной единицы кодирования.
10. Устройство кодирования изображения по п.1, в котором генератор предсказываемого изображения создает предсказываемое изображение на основе информации адаптивного интерполяционного фильтра, а информация о кодировании изображения включает в себя информацию адаптивного интерполяционного фильтра.
11. Устройство кодирования изображения по п.1, содержащее также фильтр, обеспеченный на предыдущей ступени памяти опорного изображения, чтобы подвергнуть декодированное изображение фильтрации на основе информации о фильтрации, причем информация о кодировании изображения включает в себя информацию о фильтрации.
12. Устройство кодирования изображения по п.1, в котором преобразователь глубины пикселя в битах также включает в себя фильтр, чтобы подвергнуть входное изображение фильтрации на основе информации о фильтрации после преобразования каждого пикселя входного изображения, каждый пиксель которого имеет глубину N бит, до глубины (N+M) бит, превышающей ее на М бит.
13. Устройство кодирования изображения по п.1, в котором преобразователь глубины пикселя в битах снабжен фильтром, чтобы подвергнуть входное изображение фильтрации на основе информации о фильтрации после преобразования каждого пикселя входного изображения глубиной N бит в пиксель глубиной (N+M) бит, превышающей ее на М бит, причем информация о кодировании изображения включает в себя информацию о фильтрации.
14. Устройство кодирования изображения по п.1, в котором информация о кодировании изображения включает в себя флаг, указывающий, увеличивать ли глубину в битах каждого пикселя сигнала изображения на М бит, в качестве информации о преобразовании в битах для каждой произвольной единицы кодирования.
15. Устройство кодирования изображения по п.14, в котором информация о кодировании изображения включает в себя флаг, указывающий, увеличивать ли глубину в битах каждого пикселя сигнала изображения на М бит, в качестве информации о преобразовании в битах для каждой произвольной единицы кодирования, и дополнительно включает в себя данные, указывающие количество бит М, на которое подлежит увеличить глубину.
16. Устройство декодирования изображения, содержащее:
демультиплексор для приема информации об изображении, мультиплексированной с информацией о преобразовании глубины в битах и информацией о кодировании изображения, и демультиплексирования информации о преобразовании в битах и информации о кодировании изображения;
декодер изображения для декодирования информации о кодировании изображения для вывода декодированного изображения глубиной (N+M) бит; и
преобразователь глубины пикселя в битах для преобразования значения каждого пикселя декодированного изображения глубиной (N+M) бит до глубины N бит на основе информации о преобразовании глубины в битах.
17. Устройство декодирования изображения, содержащее:
декодер для декодирования введенной информации о кодированном изображении в декодированное разностное изображение глубиной (N+M) бит;
генератор предсказываемого изображения для создания предсказываемого изображения глубиной (N+M) бит из опорного изображения глубиной (N+M) бит с использованием информации о кодированном изображении;
сумматор для добавления декодированного разностного изображения глубиной (N+M) бит к предсказываемому изображению глубиной (N+M) бит для получения декодированного изображения глубиной (N+M) бит;
память, запоминающую опорное изображение, для запоминания декодированного изображения глубиной (N+M) бит в качестве опорного изображения глубиной (N+M) бит; и
преобразователь глубины пикселя в битах для преобразования каждого пикселя декодированного изображения глубиной (N+M) бит до глубины N бит для вывода декодированного изображения глубиной N бит.
18. Устройство декодирования изображения, содержащее:
декодер для приема информации о кодированном изображении и вывода декодированного разностного изображения глубиной (N+M) бит;
преобразователь с увеличением глубины пикселя в битах для преобразования каждого пикселя опорного изображения глубиной (N+M-L) бит в пиксель глубиной (N+M) бит для вывода декодированного изображения глубиной (N+M) бит;
генератор предсказываемого изображения для создания предсказываемого изображения глубиной (N+M) бит из опорного изображения глубиной (N+M) бит с использованием информации о кодированном изображении;
сумматор для добавления декодированного разностного изображения к предсказываемому изображению для получения декодированного изображения глубиной (N+M) бит;
преобразователь с уменьшением глубины пикселя в битах, сконфигурированный для преобразования каждого пикселя декодированного изображения глубиной (N+M) бит в пиксель глубиной (N+M-L) бит для вывода декодированного изображения глубиной (N+M-L) бит и преобразования каждого пикселя декодированного изображения глубиной (N+M) бит в пиксель глубиной N бит для вывода декодированного изображения глубиной N бит; и
память, запоминающую опорное изображение, для запоминания декодированного изображения глубиной (N+M-L) бит в качестве опорного изображения.
19. Устройство декодирования изображения, содержащее:
декодер для приема информации о кодированном изображении и вывода декодированного разностного изображения глубиной N бит;
генератор предсказываемого изображения для создания предсказываемого изображения глубиной (N+M) бит из опорного изображения глубиной (N+M) бит с использованием информации о кодированном изображении;
преобразователь глубины пикселя в битах для преобразования каждого пикселя опорного изображения глубиной (N+M) бит в пиксель глубиной N бит для вывода предсказываемого изображения глубиной N бит;
сумматор для добавления декодированного разностного изображения глубиной (N+M) бит к предсказываемому изображению глубиной (N+M) бит для получения декодированного изображения глубиной N бит;
преобразователь с уменьшением глубины пикселя в битах для преобразования каждого пикселя декодированного изображения глубиной N бит в пиксель глубиной (N+M) бит для вывода декодированного изображения глубиной (N+M) бит;
контурный фильтр для обработки декодированного изображения глубиной (N+M) бит; и
память, запоминающую опорное изображение, для запоминания декодированного изображения глубиной (N+M) бит, обработанного контурным фильтром, в качестве опорного изображения.
20. Устройство декодирования изображения по п.18, в котором преобразователь с уменьшением глубины пикселя в битах имеет первый преобразователь глубины пикселя в битах, включающий в себя средство для вычисления репрезентативного значения исходя из максимального значения и минимального значения пикселя, содержащихся в изображении единицы кодирования в опорном изображении, для каждой единицы декодирования, средство для вычисления величины смещения Q (0 Q L), с помощью которой значение, полученное путем смещения вправо на Q бит разности между значением каждого пикселя в изображении единицы кодирования и репрезентативным значением, попадает в динамический диапазон глубиной (N+M-L) бит и средство для преобразования каждого значения пикселя в изображении единицы кодирования в значение глубиной (N+M-L) путем смещения разности между значением каждого пикселя и репрезентативным значением вправо на Q бит; память, запоминающая опорное изображение, запоминает декодированное изображение глубиной (N+M-L) бит в качестве опорного изображения, а также запоминает величину смещения и репрезентативное значение для каждой единицы кодирования; и преобразователь с уменьшением глубины пикселя в битах включает в себя второй преобразователь глубины пикселя в битах, содержащий средство для считывания опорного изображения, величины смещения Q и репрезентативного значения из памяти, запоминающей опорное изображение, для каждой единицы декодирования и средство для преобразования значения пикселя глубиной (N+M-L) бит каждого пикселя опорного изображения на глубину (N+M) бит путем добавления значения, полученного смещением пикселя влево на Q бит к репрезентативному значению.
21. Устройство декодирования изображения, содержащее:
декодер для приема информации о кодированном изображении и вывода декодированного разностного изображения глубиной N бит;
преобразователь глубины пикселя в битах для преобразования каждого пикселя опорного изображения глубиной N бит в пиксель глубиной (N+M) бит для вывода опорного изображения глубиной (N+M) бит;
генератор предсказываемого изображения для создания предсказываемого изображения глубиной (N+M) бит из опорного изображения глубиной (N+M) бит с использованием информации о кодированном изображении;
преобразователь глубины пикселя в битах для преобразования каждого пикселя предсказываемого изображения глубиной (N+M) бит в пиксель глубиной N бит для вывода предсказываемого изображения глубиной N бит;
сумматор для добавления декодированного разностного изображения глубиной (N+M) бит к предсказываемому изображению глубиной (N+M) бит для получения декодированного изображения глубиной N бит; и
память, запоминающую опорное изображение, для запоминания декодированного изображения глубиной N бит в качестве опорного изображения.
22. Устройство декодирования изображения по 16, в котором информация о кодированном изображении включает в себя информацию о преобразовании глубины в битах, указывающую количество бит М, на которое выполняется преобразование, в качестве информации о преобразовании для каждой произвольной единицы кодирования, и преобразователь увеличивает или уменьшает каждый пиксель изображения с глубиной в битах на основе информации о преобразовании глубины в битах.
23. Устройство декодирования изображения по п.18, в котором информация о кодированном изображении включает в себя данные, указывающие глубину (N+M-L) в битах памяти, запоминающей опорное изображение, в качестве информации о преобразовании в битах для каждой произвольной единицы кодирования, а преобразователь с увеличением глубины пикселя в битах и преобразователь с уменьшением глубины пикселя в битах выполняют преобразование с увеличением и преобразование с уменьшением на основе информации о преобразовании в битах и запоминание в качестве опорного изображения глубиной (N+M-L) бит в памяти, запоминающей опорное изображение.
24. Устройство декодирования изображения по п.16, в котором информация о кодированном изображении включает в себя информацию о преобразовании глубины в битах, указывающую глубину в N бит при выводе декодированного изображения в качестве информации о преобразовании глубины в битах для каждой произвольной единицы кодирования, и которое преобразует глубину в битах декодированного изображения до той же глубины в битах, что глубина N бит, при выводе декодированного изображения.
25. Устройство декодирования изображения по п.16, в котором информация о кодированном изображении включает в себя информацию об адаптивной интерполяционной фильтрации, а генератор предсказываемого изображения создает предсказываемое изображение на основе информации об адаптивной интерполяционной фильтрации.
26. Устройство декодирования изображения по п.16, в котором информация о кодированном изображении включает в себя информацию о фильтрации и который подвергает декодированное изображение фильтрации на основе информации о фильтрации.
27. Устройство декодирования изображения по п.16, в котором преобразователь глубины пикселя в битах также содержит фильтр для выполнения фильтрации в кодированном изображении и преобразует каждый пиксель декодированного изображения глубиной (N+M) бит в пиксель глубиной N бит после того, как фильтр выполнил фильтрацию в декодированном изображении.
28. Устройство декодирования изображения по п.16, в котором информация о кодированном изображении включает в себя информацию о фильтрации, а преобразователь глубины пикселя в битах дополнительно содержит фильтр, чтобы подвергнуть декодированное изображение фильтрации на основе информации о фильтрации и преобразовать каждый пиксель декодированного изображения глубиной (N+M) бит в пиксель глубиной N бит после того, как фильтр выполнит фильтрацию в декодированном изображении.
29. Устройство декодирования изображения по п.16, в котором информация о кодировании изображения включает в себя флаг, указывающий, преобразовывать ли глубину в битах декодированного изображения на М бит, в качестве информации о преобразовании глубины в битах для каждой произвольной единицы, причем преобразователь не выполняет преобразование, когда этот вышеупомянутый флаг находится в состоянии FALSE, и преобразователь выполняет увеличение или уменьшение глубины в битах каждого пикселя изображения на основе информации о преобразовании в битах, когда упомянутый флаг находится в состоянии TRUE.
30. Устройство декодирования изображения по п.16, в котором информация о кодировании изображении включает в себя флаг, указывающий, увеличивать ли глубину в битах декодированного изображения на М бит, и данные, указывающие количество бит М, на которое подлежит увеличить глубину, в качестве информации о преобразовании глубины в битах для каждой произвольной единицы, причем преобразователь не выполняет преобразование, когда вышеупомянутый флаг находится в состоянии FALSE, и преобразователь выполняет уменьшение глубины в битах каждого пикселя изображения на основе информации о преобразовании в битах, когда упомянутый флаг находится в состоянии TRUE.
31. Способ кодирования изображения, содержащий:
шаг преобразования глубины в битах каждого пикселя входного изображения для создания преобразованного входного изображения с другой длиной в битах;
шаг вывода информации о преобразовании в битах, указывающий количество бит, изменяемых преобразованием;
шаг кодирования преобразованного входного изображения для вывода информации о кодированном изображении; и
шаг мультиплексирования информации о преобразовании в битах и информации о колированном изображении.
32. Способ кодирования изображения, содержащий:
шаг преобразования глубины в битах каждого пикселя входного изображения, состоящего из множества пикселей, имеющих глубину N бит, соответственно до глубины (N+M) бит, превышающей ее на М бит;
шаг создания предсказываемого изображения глубиной (N+M) бит по отношению к входному изображению глубиной (N+M) бит из опорного изображения глубиной (N+M) бит;
шаг получения дифференциального сигнала глубиной (N+M) бит между входным изображением глубиной (N+M) бит и предсказываемым изображением глубиной (N+M) бит;
шаг кодирования дифференциального сигнала глубиной (N+M) бит для вывода информации о кодированном изображении;
шаг создания декодированного разностного изображения на основе информации о кодировании изображения;
шаг добавления предсказываемого изображения глубиной (N+M) бит к декодированному разностному изображению глубиной (N+M) бит для вывода декодированного изображения глубиной (N+M) бит; и
шаг запоминания декодированного изображения глубиной (N+M) бит в качестве опорного изображения глубиной (N+M) бит в памяти, запоминающей опорное изображение.
33. Способ декодирования изображения, содержащий:
шаг демультиплексирования информации о входном изображении, с которой мультиплексированы информация о преобразовании глубины в битах и информация о кодированном изображении, в информацию о преобразовании в битах и информацию о кодированном изображении;
шаг декодирования информации о кодированном изображении для создания декодированного изображения; и
шаг преобразования каждого пикселя декодированного изображения в пиксель с другой глубиной в битах на основе информации о преобразовании глубины в битах.
34. Способ декодирования изображения, содержащий:
шаг декодирования введенной информации о кодированном изображении в декодированное разностное изображение глубиной (N+M) бит;
шаг создания предсказываемого изображения глубиной (N+M) бит из опорного изображения глубиной (N+M) бит с использованием введенной информации о кодированном изображении;
шаг добавления декодированного разностного изображения глубиной (N+M) бит к предсказываемому изображению для создания декодированного изображения глубиной (N+M) бит;
шаг запоминания декодированного изображения глубиной (N+M) бит в качестве опорного изображения глубиной (N+M) бит; и
шаг преобразования значения каждого пикселя декодированного изображения глубиной (N+M) бит до глубины N бит для создания декодированного изображения глубиной N бит.
Описание изобретения к патенту
Область техники, к которой относится изобретение
Настоящее изобретение относится к устройству и способу кодирования изображений, используемых для движущихся изображений или неподвижных изображений, а также устройству и способу декодирования изображений.
Уровень техники
Н.264, являющаяся типичной системой стандартов видеокодирования, представляет систему сжатия с потерями, которая выполняет ортогональное преобразование, такое как дискретное косинусное преобразование (DCT) сигнала ошибки предсказания между входным сигналом и сигналом предсказываемого изображения, созданным в результате внутрикадрового предсказания или компенсации движения, и подвергает коэффициенты преобразования сжатию на основе квантования и кодирования, после того как сигнал ошибки предсказания преобразован по указанной частотной оси для получения кодированного изображения. При создании сигнала предсказываемого изображения интерполяционный фильтр для внутрикадрового предсказания или компенсации движения выполняет округление с точностью, эквивалентной глубине пикселя в битах, для входного изображения, после умножения множества пикселей на коэффициент фильтра и их сложения.
В документе JP-A 2003-283872 (KOKAI) раскрыт способ выделения искажений при кодировании, обусловленных коррекцией устройства отображения путем кодирования изображения, полученного в результате увеличения динамического диапазона каждого цветового сигнала для каждого кадра входного изображения и восстановления динамического диапазона до исходного динамического диапазона после декодирования.
Поскольку в стандарте H.264 ошибка округления появляется в процессе округления при создании сигнала предсказания, она не может быть обработана с достаточной точностью в интерполяционном фильтре для внутрикадрового предсказания или компенсации движения, что приводит к увеличению сигнала ошибки предсказания и снижению эффективности кодирования. В противоположность этому в случае использования JP-A 2003-283872 (KOKAI) можно несколько уменьшить вышеупомянутую ошибку округления, увеличив динамический диапазон входного изображения. Однако в JP-A 2003-283872 (KOKAI) увеличение динамического диапазона выполняется просто в пределах точности в битах входного изображения, а также точность вычислений нельзя существенно повысить, поскольку при увеличении динамического диапазона возникает ошибка округления.
В документе JP-A H4-32667 (KOKAI) раскрыт способ, применимый к цифровой камере, где кодер и декодер предусмотрены в виде единого устройства, и изменение в битах глубины входного изображения соответствует точности операции DCT, используемой как кодером, так и декодером. В этом способе, если кодер и декодер предусмотрены отдельно друг от друга и точности операций соответствующих преобразований DCT различны, глубина в битах изменяется в соответствии с каждым из значений операционной точности. В результате глубина, выраженная в битах, изменяется на разное количество бит, что приводит к появлению несоответствия.
Целью настоящего изобретения является обеспечение устройства кодирования изображения и способа кодирования изображений, а также устройства декодирования изображения и способа декодирования изображений, повышающих эффективность кодирования, благодаря достаточному повышению точности внутрикадрового предсказания или компенсации движения.
Сущность изобретения
Согласно первому аспекту настоящего изобретения предлагается устройство кодирования изображения, содержащее преобразователь глубины пикселя в битах для преобразования глубины в битах каждого пикселя входного изображения для создания преобразованного входного изображения с другой глубиной в битах и вывода информации о преобразовании в битах, указывающей количество бит, на которое происходит изменение в результате преобразования, кодер изображения для кодирования преобразованного входного изображения для вывода информации о кодированном изображении и мультиплексор для мультиплексирования информации о преобразовании в битах и информации о кодированном изображении.
Согласно второму аспекту настоящего изобретения предлагается устройство кодирования изображения, содержащее преобразователь глубины пикселя в битах для преобразования глубины в битах каждого пикселя входного изображения, сформированного из множества пикселей, каждый из которых имеет глубину N бит, до глубины в (N+M) бит, превышающей глубину в N бит на M бит, генератор предсказываемого изображения для создания предсказываемого изображения глубиной (N+M) бит в отношении входного изображения глубиной (N+M) бит из опорного изображения глубиной (N+M) бит, вычитатель для получения дифференциального сигнала между входным изображением глубиной (N+M) бит и предсказываемым изображением глубиной (N+M) бит, кодер для кодирования дифференциального сигнала и вывода информации о кодированном изображении, декодер для вывода декодированного разностного изображения на основе информации о кодировании изображения, сумматор для добавления предсказываемого изображения глубиной (N+M) бит к декодированному разностному изображению глубиной (N+M) бит и вывода декодированного изображения глубиной (N+M) бит, и память, запоминающую опорное изображение, для запоминания декодированного изображения в качестве опорного изображения.
Согласно третьему аспекту настоящего изобретения предлагается устройство декодирования изображения, содержащее демультиплексор для приема информации об изображении, мультиплексированной с информацией о преобразовании глубины в битах и информации о кодировании изображения, и демультиплексирования из нее информации о преобразовании в битах и информации о кодировании изображения, декодер изображения для декодирования информации о кодировании изображения для вывода декодированного изображения и преобразователь глубины пикселя в битах для преобразования значения каждого пикселя декодированного изображения в отличную от других глубину в битах на основе информации о преобразовании глубины в битах.
Согласно четвертому аспекту настоящего изобретения предлагается устройство декодирования изображения, содержащее декодер для декодирования информации о входном кодированном изображении в декодированное разностное изображение глубиной (N+M) бит, генератор предсказываемого изображения для создания предсказываемого изображения глубиной (N+M) бит из опорного изображения глубиной (N+M) бит с использованием информации о кодированном изображении, сумматор для добавления декодированного разностного изображения к предсказываемому изображению для получения декодированного изображения глубиной (N+M) бит, память, запоминающую опорное изображение, для запоминания декодированного изображения глубиной (N+M) бит в качестве опорного изображения, и преобразователь глубины пикселя в битах для преобразования каждого пикселя декодированного изображения глубиной (N+M) бит до глубины в N бит для вывода декодированного изображения глубиной N бит.
Краткое описание чертежей
Фиг. 1А - блок-схема, иллюстрирующая пример конфигурации устройства кодирования изображения согласно первому варианту настоящего изобретения;
Фиг. 1В - блок-схема, иллюстрирующая работу устройства кодирования изображения по фиг. 1А;
Фиг. 2 - блок-схема, иллюстрирующая конфигурацию блока увеличения глубины пикселя в битах;
Фиг. 3 - схема, иллюстрирующая пример структуры синтаксиса, используемого в данном варианте;
Фиг. 4 - схема, иллюстрирующая структуру синтаксиса набора параметров последовательности, используемого в данном варианте;
Фиг. 5 - схема, иллюстрирующая структуру дополнительного синтаксиса, используемого в данном варианте;
Фиг. 6 - схема, иллюстрирующая структуру синтаксиса, используемого в данном варианте;
Фиг. 7А - блок-схема, иллюстрирующая пример конфигурации устройства декодирования изображения согласно данному варианту;
Фиг. 7В - блок-схема, иллюстрирующая работу устройства декодирования изображения по фиг. 7А;
Фиг. 8 - блок-схема, иллюстрирующая конфигурацию блока уменьшения глубины пикселя в битах по фиг. 7;
Фиг. 9А - блок-схема, иллюстрирующая пример конфигурации устройства кодирования изображения согласно второму варианту настоящего изобретения;
фиг. 9В - блок-схема, иллюстрирующая работу устройства декодирования изображения по фиг. 9А;
Фиг. 10А - блок-схема, иллюстрирующая пример конфигурации устройства декодирования изображения согласно данному варианту;
Фиг. 10B - блок-схема, иллюстрирующая работу устройства декодирования изображения по фиг. 10А;
фиг. 11А - блок-схема, иллюстрирующая пример конфигурации устройства кодирования изображения согласно третьему варианту;
Фиг. 11В - блок-схема, иллюстрирующая работу устройства кодирования изображения по фиг. 11А;
Фиг. 11С - схема, иллюстрирующая основной принцип работы преобразователя глубины пикселя в битах по фиг. 11А;
Фиг. 11D - блок-схема, иллюстрирующая пример конфигурации преобразователя глубины пикселя в битах по фиг. 11А;
Фиг. 11E - блок-схема, иллюстрирующая пример конфигурации преобразователя глубины пикселя в битах по фиг. 11А;
Фиг. 11F - блок-схема, иллюстрирующая пример конфигурации памяти кадров по фиг. 11А;
Фиг. 12 - блок-схема, иллюстрирующая конфигурацию преобразователя глубины пикселя в битах по фиг. 11А;
Фиг. 13 - схема, иллюстрирующая структуру синтаксиса набора параметров последовательности, используемого в данном варианте;
Фиг. 14 - схема, иллюстрирующая структуру синтаксиса набора параметров изображения, используемого в данном варианте;
Фиг. 15 - схема, иллюстрирующая структуру синтаксиса уровня слоев, используемого в данном варианте;
Фиг. 16 - схема, иллюстрирующая структуру синтаксиса уровня макроблоков, используемого в данном варианте;
Фиг. 17А - блок-схема, иллюстрирующая пример конфигурации устройства декодирования изображения согласно данному варианту;
Фиг. 17В - блок-схема, иллюстрирующая работу устройства декодирования изображения по фиг. 17А;
Фиг. 18А - блок-схема, иллюстрирующая пример конфигурации устройства кодирования изображения согласно четвертому варианту настоящего изобретения;
Фиг. 18В - блок-схема, иллюстрирующая работу устройства кодирования изображения по фиг. 18А;
Фиг. 19А - блок-схема, иллюстрирующая пример конфигурации устройства декодирования изображения согласно данному варианту;
Фиг. 19В - блок-схема, иллюстрирующая работу устройства декодирования изображения по фиг. 17А;
Фиг. 20А - блок-схема, иллюстрирующая пример конфигурации устройства кодирования изображения согласно пятому варианту;
Фиг. 20В - блок-схема, иллюстрирующая работу устройства кодирования изображения по фиг. 20А;
Фиг. 21А - блок-схема, иллюстрирующая пример конфигурации устройства декодирования изображения согласно данному варианту;
Фиг. 21В - блок-схема, иллюстрирующая работу устройства декодирования изображения по фиг. 21А;
Фиг. 22 - блок-схема генератора предсказываемого изображения на стороне кодера;
Фиг. 23 - блок-схема генератора предсказываемого изображения на стороне декодера;
Фиг. 24 - блок-схема, иллюстрирующая конфигурацию межкадрового предсказателя;
Фиг. 25 - блок-схема, иллюстрирующая другую конфигурацию межкадрового предсказателя;
Фиг. 26 - блок-схема, иллюстрирующая еще одну конфигурацию межкадрового предсказателя;
Фиг. 27 - блок-схема, иллюстрирующая конфигурацию контурного фильтра на стороне кодера;
фиг. 28 - блок-схема, иллюстрирующая конфигурацию контурного фильтра на стороне декодера;
фиг. 29 - блок-схема, иллюстрирующая другую конфигурацию блока увеличения глубины пикселя в битах;
фиг. 30 - блок-схема процессора фильтрации;
фиг. 31 - блок-схема работы процессора фильтрации;
фиг. 32 - блок-схема блока уменьшения глубины пикселя в битах;
фиг. 33А - блок-схема, устройства кодирования изображения согласно шестому варианту;
Фиг. 33В - блок-схема, иллюстрирующая работу устройства кодирования изображения по фиг. 33А;
фиг. 34А - блок-схема, устройства декодирования изображения согласно шестому варианту;
Фиг. 34В - блок-схема, иллюстрирующая работу устройства декодирования изображения по фиг. 34А;
фиг. 35А - блок-схема, устройства кодирования изображения согласно седьмому варианту;
Фиг. 35В - блок-схема, иллюстрирующая работу устройства кодирования изображения по фиг. 35А;
Фиг. 36 - схема, иллюстрирующая синтаксис набора параметров последовательности;
Фиг. 37 - схема, иллюстрирующая синтаксис набора параметров изображения;
Фиг. 38 - схема, иллюстрирующая пример настройки флага управления, используемого при обработке устройством кодирования изображения;
фиг. 39А - блок-схема, иллюстрирующая конфигурацию устройства декодирования изображения согласно седьмому варианту;
Фиг. 39В - блок-схема, иллюстрирующая работу устройства кодирования изображения по фиг. 39А;
Фиг. 40 - схема, иллюстрирующая настройку флага управления, включенного в информацию о преобразовании в битах;
Фиг. 41 - схема, объясняющая различие между ошибками округления, появляющееся из-за наличия или отсутствия увеличения глубины в битах;
Фиг. 42 - схема, иллюстрирующая значение предсказываемого пикселя с точностью до половины пикселя;
Фиг. 43 - схема, иллюстрирующая характеристики преобразования при увеличении глубины пикселя в битах и уменьшении глубины пикселя в битах согласно вариантам настоящего изобретения.
Наилучший способ осуществления изобретения
Далее со ссылками на чертежи описываются варианты настоящего изобретения.
(Первый вариант)
Конфигурация устройства кодирования изображения для видеокодирования согласно первому варианту описывается со ссылками на фиг. 1А. Это устройство кодирования изображения содержит блок 1001 увеличения глубины пикселя в битах, в который подается входной сигнал 100 изображения, для увеличения глубины пикселя в битах (то есть это преобразователь глубины пикселя в битах для изменения глубины пикселя в битах), кодер 10 изображения, подсоединенный к выходу указанного блока 1001 увеличения глубины пикселя в битах, мультиплексор 12, подсоединенный к выходу указанного кодера 10 изображения, и контроллер 1002 преобразования глубины в битах, подсоединенный к другому выходу блока 1001 увеличения глубины пикселя в битах для подачи информации об увеличении глубины пикселя в битах в мультиплексор 12.
Далее со ссылками на блок-схему по фиг. 1В описывается работа устройства кодирования изображения. Видеосигнал вводится в это устройство кодирования изображения в виде сигнала 100 входного изображения в единицах, составляющих, например, один кадр (S11). Блок 1001 увеличения глубины пикселя в битах выполняет обработку для преобразования каждого пикселя входного сигнала 1-изображения глубиной N бит до глубины (N+M) бит, превышающей N на M бит. В блоке 1001 увеличения глубины пикселя в битах, показанном на фиг. 2, переключатель E0 решает, увеличивать ли глубину в битах каждого пикселя входного сигнала 100 изображения глубиной N бит, на основе информации 1003 об увеличении глубины в битах (S12). При выполнении увеличения переключатель E0 подсоединяется к выводу ON, а когда увеличение не выполняется, переключатель E0 подсоединяется к выводу OFF. Когда переключатель E0 подсоединен к ON, сигнал изображения вводится в преобразователь E01 увеличения глубины пикселя в битах (преобразователь глубины пикселя в битах) для выполнения описанного ниже преобразования глубины пикселя в битах. Когда переключатель подсоединен к OFF, сигнал изображения выводится напрямую без преобразования глубины пикселя в битах. Например, когда глубина в битах некоторого пикселя входного сигнала изображения составляет K, значение K' пикселя после увеличения на M бит глубины K пикселя вычисляется согласно следующему уравнению (1):
K'=K<<M | (1) |
Кроме того, пиксель может быть подвергнут гамма-преобразованию в соответствии, например, с характеристикой устройства отображения. Если количество бит, на которое требуется увеличение, составляет M, а значение гамма составляет , то значение K' пикселя вычисляется согласно следующему уравнению (1-1).
Кроме того, можно вычислить минимальное значение Min и максимальное значение Max пикселя входного изображения и увеличить глубину в битах пикселя на M бит согласно следующему уравнению (1-2) при увеличении динамического диапазона.
где INT указывает процесс округления пикселя до целого числа. Член offset (сдвиг) в уравнениях (1-1) и (1-2) указывает на смещение при выполнении округления, причем он имеет произвольное значение от 0 до 1.
Кроме того, может быть выполнено сглаживание гистограммы или пространственно-временная фильтрация для последовательности входных изображений после увеличения глубины в битах, как было описано выше.
Когда входное изображение является сигналом цветового изображения, состоящим из множества компонент, например RGB, каждая компонента может быть преобразована в компонентный сигнал другого цветового пространства после увеличения на M бит глубины в битах каждого пикселя каждой компоненты. Например, когда сигнал цветового изображения преобразуется из системы RGB в систему YCoCg, он преобразуется согласно следующему уравнению (1-3).
В этом примере глубина в битах каждого пикселя R, G или B каждой компоненты входного изображения из N бит увеличивается на M бит, а затем каждый пиксель R, G или B преобразуется в Y, Co или Cg.
R'=(R<<M)
G'=(G<<M)
B'=(B<<M)
Y = Округление (0,5*G'+0,25*(R'+B'))
Co = Округление (0,5*G'-0,25*(R'+B'))+(1<<(N+M-1))
Cg = Округление (0,5*(R'-B'))+(1<<(N+M-1)) (1-3)
где Округление (А) - процесс округления A до целого числа. В примере преобразования по уравнению (1-3), если количество бит M, на которое необходимо выполнить увеличение, составляет не меньше 2, то цветовое преобразование может быть выполнено без ошибки округления. Описанное здесь цветовое преобразование является всего лишь примером. Для выполнения цветового преобразования возможна и другая обработка.
Вышеупомянутый пример является примером преобразования, которое выполняется блоком 1001 увеличения глубины пикселя в битах. Процесс увеличения на M бит глубины в битах каждого пикселя не ограничивается приведенным выше примером, и возможен другой процесс для увеличения глубины в битах.
Сигнал входного изображения с вышеописанным увеличением глубины в битах, подается в кодер 10 изображения. Количество бит M, на которое происходит увеличение, глубина N в битах сигнала входного изображения и информация 1010 о преобразовании глубины в битах, такая как значение гамма, максимальное значение пикселя, минимальное значение, гистограмма и т.п., которые необходимы для преобразования, создаются (S14) и подаются в мультиплексор 12 (в виде информации 1003 об увеличении глубины в битах) контроллером 1002 преобразования глубины в битах (контроллер преобразования глубины в битах).
Кодер 10 изображения кодирует сигнал 1009 входного изображения с увеличенной глубиной в битах и выводит кодированные данные 11 изображения в мультиплексор 12 (S15). Мультиплексор 12 мультиплексирует кодированные данные 11 изображения и информацию 1003 об увеличении глубины в битах (S16), а затем посылает ее в качестве кодированных данных 117 в систему передачи или систему памяти (здесь не показаны) (S17).
Далее объясняется способ мультиплексирования информации 1003 об увеличении глубины в битах, которая необходима для преобразования количества бит M, на которое требуется увеличение, и т.п.
Пример синтаксической структуры, используемой в настоящем изобретении, показан на фиг. 3.
В этой синтаксической структуре синтаксическая информация уровней, лежащих выше уровня слоев, описывается в синтаксисе (401) высшего уровня. Информация, необходимая для каждого слоя, описывается в синтаксисе (402) уровня слоев. Значение изменения параметра квантования или информация о режиме, необходимая для каждого макроблока, описывается в синтаксисе (403) уровня макроблоков.
Каждый синтаксис содержит дополнительный, более подробный синтаксис. Синтаксис (401) высшего уровня состоит из синтаксисов уровня последовательности и уровня изображения, такого как синтаксис (404) набора параметров последовательности и синтаксис (405) набора параметров изображения. Синтаксис (402) уровня слоев состоит из синтаксиса (406) заголовка слоя, синтаксиса (407) данных слоя и т.д. Синтаксис (403) уровня макроблоков состоит из синтаксиса (408) заголовка макроблока, синтаксиса (409) данных макроблока и т.д.
Вышеупомянутые синтаксисы представляют собой компоненты, которые являются абсолютно необходимыми во время декодирования. Если эта синтаксическая информация пропадает, то невозможно правильно восстановить данные во время декодирования. Между тем, имеется дополнительный синтаксис (410), являющийся вспомогательным синтаксисом для мультиплексирования информации, которая не всегда необходима во время декодирования. Этот дополнительный синтаксис предусматривается для посылки информации, указывающей команды для обработки, которые на стороне декодирования можно выполнять независимо.
В настоящем варианте синтаксис (404) набора параметров последовательности может передаваться с количеством бит, подлежащих увеличению, которое содержится в этом синтаксисе. Каждый синтаксис детально поясняется следующим образом.
Флаг ex_seq_bit_extension_flag показан в синтаксисе набора параметров последовательности по фиг. 4. Флаг ex_seq_bit_extension_flag является флагом, указывающим, увеличивать ли глубину в битах. Если значение этого флага равно TRUE (истина), то допускается переключение (в единицах, равных одной последовательности) на увеличение глубины в битах. Если значение этого флага равно FALSE (ложно), то увеличение глубины в битах в данной последовательности не выполняется.
Когда ex_seq_bit_extension_flag равен TRUE, то передается параметр ex_seq_shift_bits. Параметр ex_seq_shift_bits указывают количество бит, на которое увеличивается глубина. Положения ON/OFF переключателя E0 в блоке 1001 увеличения глубины пикселя в битах, показанном, например, на фиг. 2, определяются значениями TRUE/ FALSE указанного флага.
Может передаваться параметр ex_bit_transform_type, который указывает на выполнение преобразования и может содержаться в синтаксисе набора параметров последовательности.
Например, в ex_bit_transform_type записываются значение BIT_EXT_TRANS, указывающее на простое преобразование с увеличением глубины в битах, выраженное уравнением (1), GAMMA_TRANS, указывающее, что выполнено -преобразование, выраженное уравнением (1-1), и DR_TRANS, указывающее на выполнение преобразования динамического диапазона, выраженного уравнением (1-2).
Когда ex_bit_transform_type равно GAMMA_TRANS, далее передается значение gamma_value, указывающее, с каким значением гамма выполняется преобразование.
Когда ex_bit_transform_type равно DR_TRANS, далее передается соответственно max_value и min_value, указывающие максимальное значение и минимальное значение пикселя сигнала входного изображения.
В настоящем изобретении можно использовать данные, мультиплексированные с дополнительным синтаксисом (410). На фиг. 5 показан пример передачи глубины в битах сигнала выходного изображения на стороне декодирования с использованием дополнительного синтаксиса. Флаг ex_sei_bit_extension_flag, показанный в дополнительном синтаксисе, является флагом, указывающим на то, изменяется ли глубина в битах сигнала выходного изображения. Когда значение этого флага равно TRUE, это указывает на то, что глубина в битах сигнала выходного изображения изменяется. Когда значение этого флага равно FALSE, это указывает на то, что глубина в битах сигнала выходного изображения не меняется. Когда значение этого флага равно TRUE, кроме того, передается параметр bit_depth_of_decoded_image.
bit_depth_of_decoded_image является значением, указывающим глубину в битах сигнала выходного изображения. В случае декодирования сигнала изображения декодером, имеющим возможность декодирования сигнала изображения с увеличением или уменьшением глубины в битах на стороне декодирования, как описано ниже, декодер может вывести декодированное изображение с глубиной в битах, указанной параметром bit_depth_of_decoded_image, путем увеличения или уменьшения глубины в битах декодированного изображения согласно значению bit_depth_of_decoded_image.
Однако даже в том случае, если сигнал изображения декодируется декодером, не имеющим возможности декодирования сигнала изображения с увеличением или уменьшением глубины в битах, или декодер не имеет эту возможность, то можно вывести декодируемое изображение с декодированной глубиной в битах без необходимости вывода декодированного изображения с глубиной в битах, указанной bit_depth_of_decoded_image.
На фиг. 6 показан пример передачи цветового пространства сигнала выходного изображения на стороне декодирования с использованием дополнительного синтаксиса 410.
Флаги ex_sei_bit_extension_flag и bit_depth_of_decoded_image аналогичны примеру на упомянутой выше фиг. 4.
Флаг ex_color_transform_flag, показанный в дополнительном синтаксисе, является флагом, указывающим, преобразуется ли цветовое пространство сигнала выходного изображения. Когда значение этого флага равно TRUE, это указывает на то, что цветовое пространство каждой компоненты сигнала выходного изображения изменяется. В противном случае, когда значение этого флага равно FALSE, это указывает на то, что цветовое пространство каждой компоненты сигнала выходного изображения не изменяется. Когда значение этого флага равно TRUE, кроме того, передается параметр color_space_of_decoded_image.
Значение color_space_of_decoded_image указывает цветовое пространство сигнала выходного изображения и на возможность декодирования сигнала изображения путем увеличения или уменьшения глубины в битах на стороне декодера, как будет описано ниже.
В случае, когда сигнал изображения декодируется декодером, обладающим возможностью преобразования цветового пространства, заданного значением color_space_of_decoded_image, можно вывести декодированное изображение с глубиной в битах, указанной параметром bit_depth_of_decoded_image, путем увеличения или уменьшения глубины в битах декодированного изображения согласно значению bit_depth_of_decoded_image после того, как каждая компонента сигнала выходного изображения преобразована в цветовое пространство, заданное значением color_space_of_decoded_image.
Однако даже в том случае, если сигнал изображения декодируется декодером, не имеющим возможности преобразования каждой компоненты сигнала выходного изображения в цветовое пространство, заданное значением color_space_of_decoded_image, или декодер имеет указанную возможность, выводить декодированное изображение, преобразованное в цветовое пространство, заданное значением color_space_of_decoded_image, необязательно. Можно преобразовать каждую компоненту до глубины, указанной значением bit_depth_of_decoded_image, после вывода декодированного изображения с декодированным цветовым пространством как оно есть. Кроме того, даже в том случае, если сигнал изображения декодируется декодером, не имеющим возможности декодирования сигнала изображения путем увеличения или уменьшения глубины в битах, или декодер имеет такую возможность, можно вывести декодированное изображение с декодированной глубиной в битах, если она имеется, без необходимости вывода декодированного изображения с глубиной в битах, указанной значением bit_depth_of_decoded_image.
Устройство декодирования изображения согласно настоящему изобретению поясняется со ссылками на фиг. 7А и 7В. Как показано на схеме по фиг. 7А, данное устройство декодирования изображения содержит демультиплексор 21, куда вводятся кодированные данные, декодер 20 изображения, подсоединенный к выходу демультиплексора 21, блок 2001 уменьшения глубины пикселя в битах (преобразователь для уменьшения глубины пикселя в битах), подсоединенный к выходу декодера 20 изображения, и контроллер 2002 преобразования глубины в битах (контроллер преобразования глубины в битах), который получает информацию об увеличении глубины в битах от демультиплексора 21.
Как показано на блок-схеме по фиг. 7В, сначала в демультиплексор 21 вводятся кодированные данные 117, закодированные устройством кодирования изображения по фиг. 1А (S21). Демультиплексор 21 демультиплексирует кодированные данные 117 в информацию 2004 об увеличении глубины в битах и данные 11 кодированного изображения (S22). Информация 2004 об увеличении глубины в битах вводится в контроллер 2002 преобразования глубины в битах, а данные 11 кодированного изображения вводятся в декодер 20 изображения. Кодированные данные 11 изображения декодируются в процедуре, обратной кодированию, выполняемому кодером 10 изображения, для создания сигнала 203 декодированного изображения с увеличенной глубиной в битах (S23). Сигнал 203 декодированного изображения с увеличенной глубиной в битах вводится в блок 2001 уменьшения глубины пикселя в битах. Когда информация 2004 об увеличении глубины в битах введена в контроллер 2002 преобразования глубины в битах, контроллер 2002 преобразования глубины в битах выводит информацию 2003 о преобразовании глубины в битах, указывающую увеличенное количество бит глубины в битах декодированного изображения, и информацию, необходимую для преобразования.
В блоке 2001 уменьшения глубины пикселя в битах, показанном на фиг. 8, переключателем E2 принимается решение, уменьшать ли глубину в битах каждого пикселя сигнала 100 входного изображения глубиной N бит, на основе информации 2003 о преобразовании глубины в битах (S24). Если уменьшение происходит, то переключатель Е2 подсоединяется к выводу ON, а когда увеличения нет, он подсоединяется к выводу OFF. Когда переключатель Е2 подсоединен к ON, сигнал изображения вводится в преобразователь Е02 уменьшения глубины пикселя в битах, в результате чего выполняется преобразование глубины пикселя в битах, как это описано ниже (S25). Когда переключатель Е2 подсоединен к OFF, сигнал изображения не подвергается преобразованию глубины пикселя в битах, а выводится как он есть. Например, когда значение флага ex_seq_bit_extension_flag равно TRUE, и глубина в битах каждого пикселя возрастает, переключатель подсоединяется к выводу ON, а когда указанное значение равно FALSE, переключатель подсоединяется к выводу OFF.
Когда информация 2003 о преобразовании глубины в битах возрастает на M бит, например, на ex_seq_shift_bits и указывает BIT_EXT_TRANS, представляющий, что преобразование, выраженное, например, уравнением (1), выполняется согласно ex_bit_tranform_type, значение каждого пикселя сигнала 203 декодированного изображения с увеличенной глубиной в битах, введенного в блок 2001 уменьшения глубины пикселя в битах, уменьшается на M бит. Например, когда значение некоторого пикселя сигнала 203 декодированного изображения с увеличенной глубиной в битах составляет K, значение K' пикселя, уменьшенное на M бит, вычисляется следующим образом.
Вышеуказанное является примером способа уменьшения значения пикселя до глубины в битах, уменьшенной на M бит, с использованием округления. Изложенный здесь способ преобразования с уменьшением может быть любым способом преобразования, если глубина в битах уменьшается так, что сдвиг устанавливается равным любому значению от 0 до (1<<M).
Когда информация 2003 о преобразовании глубины в битах увеличивается на M бит, например, на ex_seq_shift_bits, и указывает на GAMMA_TRANS, представляющий, что гамма-преобразование выраженное, например, уравнением (1-1), выполняется согласно ex_bit_tranform_type. Когда gamma_value указывает, что значение гамма составляет , значение каждого пикселя сигнала 203 декодированного изображения с увеличенной глубиной в битах, введенного в блок 2001 уменьшения глубины пикселя в битах, уменьшается на M бит. Например, когда значение пикселя сигнала 203 декодированного изображения с увеличенной глубиной в битах составляет K, значение K' пикселя, уменьшенное на M бит, вычисляется следующим образом:
Когда информация 2003 о преобразовании глубины в битах увеличивается на M бит согласно ex_seq_shift_bits, и указывает DR_TRANS, представляющий, что преобразование динамического диапазона, выраженное, например, уравнением (1-2), выполнено согласно ex_bit_tranform_type, а минимальное значение и максимальное значение пикселей входного изображения указаны как Max и Min, обозначенные значениями min_value и max_value соответственно, значение каждого пикселя сигнала 203 декодированного изображения с увеличенной глубиной в битах, введенного в блок 2001 уменьшения глубины пикселя в битах, уменьшается на M бит. Например, когда значение пикселя сигнала 203 декодированного изображения с увеличенной глубиной в битах составляет K, то значение K' пикселя после уменьшения на M бит вычисляется следующим образом.
INT указывает на обработку, связанную с выполнением округления до целого, offset в уравнениях (2-1) и (2-2) указывает сдвиг при выполнении округления, причем он принимает любое значение от 0 до 1.
При увеличении информации 2003 о преобразовании глубины в битах на M бит, например, на ex_seq_shift_bits, и когда цветовое пространство сигнала декодированного изображения является цветовым пространством, отличным от цветового пространства, обозначенного параметром color_space_of_decoded_image, который задан в дополнительном синтаксисе, показанном как пример на фиг. 5, глубина в пикселях уменьшается на M бит после преобразования каждого пикселя каждой компоненты декодированного изображения в цветовое пространство, заданное параметром color_space_of_decoded_image. Например, когда входное изображение преобразуется из системы R, G, B в систему Y, Co, Cg и кодируется, а R, G, B обозначены как color_space_of_decoded_image, каждый из пикселей Y, Co и Cg каждой компоненты декодированного изображения подвергается обработке, состоящей в уменьшении количества бит, а также цветовому пространственному преобразованию согласно следующему уравнению (2-3).
Cliply (A) обозначает процесс вывода А как он есть, когда А удовлетворяет неравенству 0<A<(1<<(N+M)); вывода 0, если A<0, и вывода 1<<(N+M)-1, если A>1<<(N+M)-1. Это является примером способа уменьшения значения пикселя до глубины в битах, уменьшенной на M бит, с использованием округления. Этот способ преобразования, заключающегося в уменьшении, может быть любым способом преобразования, если он представляет собой способ уменьшения числа бит, такой как, например, установка значения сдвига, равным любому числу от 0 до (1<<M).
Данный вариант демонстрирует пример обозначения цветового пространства сигнала декодированного изображения с помощью параметра color_space_of_decoded_image, указанного в дополнительном синтаксисе. Однако даже в том случае, когда указанное обозначение не выполнено или цветовое пространство сигнала декодированного изображения обозначено в синтаксисе 401 высокого уровня аналогично примеру, показанному с помощью дополнительного синтаксиса, при выполнении обработки, связанной с преобразованием цвета в процессе вывода декодированного изображения, значение пикселя может быть уменьшено до глубины в битах, уменьшенной на M бит после выполнения обработки, связанной с преобразованием цвета. Показанное здесь цветовое преобразование является лишь примером, и, коль скоро оно обеспечивает обработку для цветового преобразования, то такую обработку можно осуществить.
Показанное выше преобразование с уменьшением, является всего лишь примером, и, коль скоро оно является способом уменьшения глубины в битах, то такое преобразование с уменьшением допустимо применять.
Как было описано выше, декодированное изображение 202 с той же глубиной в N бит, что и входное изображение, введенное в устройство кодирования изображения, выводится блоком 2001 уменьшения глубины пикселя в битах (S25).
Согласно вышеупомянутой конфигурации кодирование изображений и декодирование изображений может быть выполнено с глубиной в битах, превышающей глубину в битах входного изображения на M бит, что может повысить эффективность кодирования.
(Второй вариант)
Далее со ссылками на фиг. 9А описывается конфигурация устройства кодирования изображения для видеокодирования, относящаяся ко второму варианту. Как показано на фиг. 9, устройство кодирования изображения содержит блок 1001 увеличения глубины пикселя в битах (преобразователь глубины пикселя в битах), контроллер 1002 преобразования глубины в битах (контроллер преобразования глубины в битах), вычитатель 101, ортогональный преобразователь 104, квантователь 106, блок 109 деквантизации, обратный ортогональный преобразователь 110, сумматор 111, контурный фильтр 113, память 114 кадров, генератор 115 предсказываемого изображения и энтропийный кодер 108. Выход блока 1001 увеличения глубины пикселя в битах, принимающий сигнал входного изображения, подсоединен к энтропийному кодеру 108 через вычитатель 101, ортогональный преобразователь 104 и квантователь 106. Выход квантователя 106 подсоединен к генератору 115 предсказываемого изображения через блок 109 деквантизации, обратный ортогональный преобразователь 110, сумматор 111, контурный фильтр 113 и память 114 кадров. Сигнал предсказываемого изображения из генератора 115 предсказываемого изображения вводится в вычитатель 101 и сумматор 111, информация о векторе движения/режиме предсказания из генератора 115 предсказываемого изображения вводится в энтропийный кодер 108. Контроллер 1002 преобразования глубины в битах вводит информацию о преобразовании в битах в блок 1001 увеличения глубины пикселя в битах, а информация об увеличении глубины в битах вводится в энтропийный кодер 108.
Теперь со ссылками на блок-схему по фиг. 9В будет описана работа устройства кодирования изображения вышеупомянутой конфигурации. При вводе видеосигнала в устройство кодирования изображения в виде сигнала 100 входного изображения в единицах, равных, например, одному кадру (S31), блок 1001 увеличения глубины пикселя в битах выполняет обработку с целью увеличения значения каждого пикселя сигнала 100 входного изображения глубиной N бит до глубины (N+M) бит, превышающую N бит на M бит (S32). Например, если предположить, что значение некоторого пикселя из сигнала входного изображения равно K, то значение K' пикселя после увеличения на M бит вычисляется, например, по уравнениям (1-1), (1-2) и (1-3).
Информация о преобразовании, такая как количество бит (M), на которое происходит увеличение, вводится в энтропийный кодер 108 в качестве информации 1003 об увеличении глубины в битах контроллером 1002 преобразования глубины в битах (S33). Конфигурацию по фиг. 2 можно рассматривать как пример конфигурации блока 1001 увеличения глубины пикселя в битах. Управление обработкой может выполняться путем изменения флага, указывающего на то, следует ли увеличить глубину в битах каждого пикселя по аналогии с первым вариантом осуществления изобретения.
Вычитатель 101 вычисляет разность между сигналом 100 входного изображения, чья глубина в битах увеличена до глубины (N+M), и сигналом 102 предсказываемого изображения, созданным с глубиной (N+M) бит, для создания сигнала 103 ошибки предсказания глубиной (N+M) бит (S34). Созданный сигнал 103 ошибки предсказания подвергается ортогональному преобразованию (например, дискретное косинусное преобразование (DCT)) ортогональным преобразователем 104 (S35). Ортогональный преобразователь 104 создает информацию 105 о коэффициентах ортогонального преобразования (например, информация о коэффициентах DCT). Информация 105 о коэффициентах ортогонального преобразования подвергается квантованию квантователем 106, после чего квантованная информация 107 о коэффициентах ортогонального преобразования вводится в энтропийный кодер 108 и блок 109 деквантизации. Блок 109 деквантизации и ортогональный преобразователь 110 подвергают квантованную информацию 107 о коэффициентах ортогонального преобразования обработке, обратной той, которую последовательно выполняют квантователь 106 и обратный преобразователь 104, то есть локальному декодированию для преобразования ее в сигнал, аналогичный сигналу ошибки предсказания, а именно локальный декодированный сигнал ошибки. Сумматор 111 добавляет этот локальный декодированный сигнал ошибки к сигналу 102 изображения глубиной (N+M) бит для создания сигнала 112 локального декодированного изображения глубиной (N+M) бит. Другими словами, квантованная информация 107 о коэффициентах ортогонального преобразования локально декодируется (S36). Сигнал 112 локального декодированного изображения фильтруется контурным фильтром 113, если это необходимо, а затем запоминается в памяти 114 кадров.
Генератор 115 предсказываемого изображения создает сигнал предсказываемого изображения глубиной (N+M) бит на основе конкретной информации о режиме предсказания из сигнала 100 изображения, чья глубина в битах увеличена до глубины (N+M) бит, и сигнала 112 локального декодированного изображения глубиной (N+M) бит, запомненного в памяти 114 кадров. В это время сигнал 112 локального декодированного изображения глубиной (N+M) бит из сумматора 111 временно хранится в памяти 114 кадров. Вектор движения обнаруживается путем совмещения (например, поблочного совмещения) сигнала 100 входного изображения глубиной (N+M) бит и сигнала 112 локального декодированного изображения глубиной (N+M) бит в памяти 114 кадров для каждого блока в кадре (S37). Сигнал предсказываемого изображения глубиной (N+M) бит создается с использованием сигнала локального декодированного изображения глубиной (N+M) бит, компенсированного указанным вектором движения (S38). Созданный сигнал 102 предсказываемого изображения глубиной (N+M) бит выводится вместе с информаций 116 о векторе движения/режиме предсказания выбранного сигнала предсказываемого изображения из генератора 115 предсказываемого изображения.
Энтропийный кодер 108 выполняет энтропийное кодирование квантованной информации 107 о коэффициентах ортогонального преобразования, информации 116 о векторе движения/режиме предсказания и информации 1003 об увеличении глубины в битах (S39). Кодированные данные 117, созданные таким путем, посылаются в систему передачи или запоминающее устройство.
Способ кодирования количества бит M, на которое выполняется увеличение, аналогичен первому варианту. В настоящем варианте можно использовать данные, мультиплексированные с дополнительным синтаксисом, аналогично первому варианту.
Далее со ссылками на фиг. 10А описывается конфигурация устройства декодирования изображения согласно настоящему варианту. Это устройство декодирования содержит энтропийный декодер 200, блок 109 деквантизации, обратный ортогональный преобразователь 110, сумматор 111, контурный фильтр 113, память 114 кадров, генератор 115 предсказываемого изображения, блок 2001 уменьшения глубины пикселя в битах (преобразователь глубины пикселя в битах), контроллер 2002 преобразования глубины в битах (контроллер преобразования глубины в битах). Выход информации о коэффициентах энтропийного декодера 200, получающего кодированные данные, подсоединен к блоку 2001 уменьшения глубины пикселя в битах через блок 109 деквантизации, обратный ортогональный преобразователь 110, сумматор 111 и контурный фильтр 112. Выход контурного фильтра 113 подсоединен к одному входу генератора 115 предсказываемого изображения через память 114 кадров. Другой вход генератора 115 предсказываемого изображения получает информацию о векторе движения/режиме предсказания от генератора 115 предсказываемого изображения. Выход генератора 115 предсказываемого изображения подсоединен к сумматору 111. Выход для информации об увеличении глубины в битах энтропийного декодера 200 подсоединен к блоку 2001 уменьшения глубины пикселя в битах через контроллер 2002 преобразования глубины в битах.
Далее со ссылками на фиг. 10В описывается работа устройства декодирования изображения. При вводе кодированных данных 117, закодированных устройством кодирования изображения по фиг. 9А, в устройство декодирования изображения (S41) энтропийный декодер 200 декодирует кодированные данные 117 согласно процедуре, обратной энтропийному кодированию (S42), для создания квантованной информации 107 о коэффициентах ортогонального преобразования, информации 116 о векторе движения/режиме предсказания и информации 2004 об увеличении глубины в битах.
Блок 109 деквантизации и обратный ортогональный преобразователь 110 подвергают квантованную информацию 107 о коэффициентах ортогонального преобразования обработке, обратной той, которую последовательно выполняют квантователь 106 и ортогональный преобразователь 104, для преобразования ее в остаточный сигнал 201 глубиной (N+M) бит (S43). Информация 116 о векторе движения/режиме предсказания вводится в генератор 115 предсказываемого изображения, и из сигнала 203 декодированного изображения с увеличенной глубиной в битах (N+M), запомненного в памяти 114 кадров, создается сигнал 102 предсказываемого изображения глубиной (N+M) бит на основе информации 116 о векторе движения/режиме предсказания. Сумматор 111 добавляет остаточный сигнал 201 глубиной (N+M) бит к сигналу 102 предсказываемого изображения глубиной (N+M) бит для создания сигнала декодированного изображения (S45). Контурный фильтр 113 фильтрует этот сигнал декодированного изображения, когда это необходимо, выводит сигнал 203 декодированного изображения с увеличенной глубиной в битах, равной (N+M), и запоминает его в памяти 114 кадров. При вводе информации 2004 об увеличении глубины в битах из энтропийного декодера 200 в контроллер 2002 преобразования глубины в битах контроллер 2002 преобразования глубины в битах выводит информацию 2003 о преобразовании глубины в битах, указывающую на сколько бит увеличивается декодированное изображение.
Сигнал 203 декодированного изображения с увеличенной глубиной в битах, введенный в блок 2001 уменьшения глубины пикселя в битах, подвергается обработке, аналогичной первому варианту, на основе информации 2003 о преобразовании глубины в битах, например согласно уравнению (2) или уравнениям (2-1), (2-2), (2-3), для уменьшения значения каждого пикселя на M бит (46). Блок 2001 уменьшения глубины пикселя в битах сконфигурирован, как показано на фиг. 8, и может выполнять управление, выбирая с помощью флага, уменьшать или нет глубину в битах каждого пикселя, по аналогии с первым вариантом.
Как было описано выше, сигнал 202 декодированного изображения с той же глубиной N бит, как у входного изображения, введенного в устройство кодирования изображения, выводится из блока 2001 уменьшения глубины пикселя в битах (S47).
Согласно вышеупомянутой конфигурации, поскольку сигнал предсказываемого изображения создается с глубиной в битах, превышающей глубину сигнала входного изображения на M бит, точность фильтра для компенсации движения, контурного фильтра, внутрикадрового предсказания и т.д. может быть повышена. В результате можно уменьшить сигнал ошибки предсказания, так что можно повысить эффективность кодирования.
(Третий вариант)
Конфигурация устройства кодирования изображения для видеокодирования согласно третьему варианту настоящего изобретения показана на фиг 11А. Конфигурация этого устройства кодирования изображения похожа на пример конфигурации, показанной во втором варианте (фиг. 9), но отличается от второго варианта тем, что преобразователь 1005 глубины пикселя в битах предусмотрен на предыдущей ступени памяти 14 кадров, а преобразователь 1006 глубины пикселя в битах (преобразователь глубины пикселя в битах) предусмотрен на задней ступени памяти 114 кадров.
Теперь со ссылками на фиг. 11В будет описана работа этого устройства кодирования изображения. Видеосигнал вводится в указанное устройство кодирования изображения в виде сигнала 100 изображения в единицах, равных, например, одному кадру (S51). Блок 1001 увеличения глубины пикселя в битах (преобразователь глубины пикселя в битах) выполняет обработку для увеличения значения каждого пикселя сигнала 100 входного изображения глубиной N бит до глубины (N+M) бит, превышающей N бит на M бит (шаг S52). Контроллер 1002 преобразования глубины в битах подает количество бит M, на которое происходит увеличение, в энтропийный кодер 108 в качестве информации 1003 об увеличении глубины в битах. Блок 1001 увеличения глубины пикселя в битах сконфигурирован, как показано на фиг. 2, и может управлять глубиной пикселя в битах, изменяя состояние флага, который указывает, увеличивается ли глубина каждого пикселя, по аналогии с первым вариантом.
Вычитатель 101 вычисляет разность между входным сигналом, чья глубина в битах увеличена до глубины (N+M), и сигналом 102 предсказываемого изображения, созданным с глубиной (N+M) бит, для создания сигнала 103 ошибки предсказания глубиной (N+M) бит (S53). Созданный сигнал 103 ошибки предсказания подвергается ортогональному преобразованию (например, дискретное косинусное преобразование (DCT)) ортогональным преобразователем 104. Ортогональный преобразователь 104 создает информацию 105 о коэффициентах ортогонального преобразования (например, информацию о коэффициентах DCT). Информация 105 о коэффициентах ортогонального преобразования подвергается квантованию квантователем 106. Другими словами, сигнал 103 ошибки предсказания подвергается ортогональному преобразованию и квантованию (S54). Квантованная информация 107 о коэффициентах ортогонального преобразования вводится в энтропийный кодер 108 и блок 109 деквантизации.
Блок 109 деквантизации и ортогональный преобразователь 110 подвергают квантованную информацию 107 о коэффициентах ортогонального преобразования обработке, обратной той, которую последовательно выполняют квантователь 106 и обратный преобразователь 104, для преобразования ее в локальный декодированный сигнал ошибки. Сумматор 111 добавляет этот локальный декодированный сигнал ошибки к сигналу 102 предсказываемого изображения глубиной (N+M) бит. В результате создается сигнал 112 локального декодированного изображения глубиной (N+M) бит. Другими словами, квантованная информация 107 о коэффициентах ортогонального преобразования локально декодируется (S55). Сигнал 112 локального декодированного изображения глубиной N+M фильтруется контурным фильтром 113, если это необходимо, а затем вводится в преобразователь 1005 глубины пикселя в битах для уменьшения значения каждого пикселя до значения, уменьшенного на L бит, или увеличения значения каждого пикселя до значения, увеличенного на L бит (S56). Например, когда значение некоторого пикселя сигнала 112 локального декодированного изображения глубиной (N+M) бит составляет K, значение K' пикселя, уменьшенное на L бит, вычисляется следующим образом:
где количество бит, подлежащее уменьшению, является целым числом, удовлетворяющим неравенству L M. Глубина в битах каждого пикселя сигнала 112 локального декодированного изображения становится равной (N+M-L) бит из-за уменьшения глубины в битах. Использованный здесь способ преобразования с уменьшением можно применять, если он представляет собой способ уменьшения глубины в битах, такой как, например, способ настройки сдвига (offset) на любое значение от 0 до (1<<L).
Ниже объясняется другой способ преобразования. На фиг. 11С показана гистограмма значения пикселя в единицах изображения (левая сторона) и гистограмма после преобразования глубины в битах (правая сторона). Когда локальное декодированное изображение 112, увеличенное, например, до 12 бит, уменьшается до изображения глубиной 8 бит, как показано на фиг. 11С, вычисляется динамический диапазон D=(mb_max-mb_min) локального декодированного изображения, увеличенного до глубины в 12 бит, исходя из максимального mb_max и минимального mb_min значения пикселя для каждой произвольной единицы кодирования, например, макроблока. Если этот динамический диапазон D является диапазоном, представленным 8 битами, то есть диапазон от 0 до 255, указанный блок преобразуется до 8 бит и выводится в память 114 кадров. В это время в память 114 кадров выводится репрезентативное значение, определенное с использованием максимального mb_max и/или минимального mb_min значения пикселя для этого блока. Когда значение D динамического диапазона нельзя выразить 8 битами, то блок преобразуется до 8 бит, после того как он будет подвергнут обработке с вычитанием путем сдвига блока вправо на 2 бита. В это время указанный блок выводится в память 114 кадров вместе с величиной сдвига Q_bit=2 и репрезентативным значением. При дальнейшем увеличении динамического диапазона упомянутый блок, преобразованный до 8 бит, выводится в память 114 кадров вместе с величиной сдвига Q_bit=4 и репрезентативным значением, как показано на фиг. 11С.
При более подробном объяснении вышеупомянутого способа, показанного на фиг. 11С, можно уточнить, что максимальное mb_max и минимальное mb_min значение пикселя в сигнале 112 локального декодированного изображения получают для каждой произвольной единицы кодирования, такой как макроблок, а количество бит Q_bit, подлежащее уменьшению в соответствии с динамическим диапазоном D=(mb_max-mb_min), изменяют с использованием уравнения (3-1).
В этом случае преобразователь 1005 глубины пикселя в битах имеет конфигурацию, показанную на фиг. 11D, причем сначала получают максимальное mb_max и минимальное mb_min значение пикселя в сигнале 112 локального декодированного изображения с помощью вычислителя 10051, а затем получают динамический диапазон D=(mb_max-mb_min).
Затем вычислитель 10052 величины сдвига/репрезентативного значения вычисляет величину Q_bit сдвига в соответствии с динамическим диапазоном D, используя, например, уравнение (3-1а). Далее в качестве репрезентативного значения устанавливают, например, mb_min.
Затем, если значение некоторого пикселя сигнала декодированного изображения с увеличенной глубиной в битах составляет K, то преобразователь 10053 глубины пикселя в битах вычисляет значение K' пикселя после уменьшения на L бит (L>0), как описывается ниже и выводит преобразованный сигнал 112 локального декодированного изображения и репрезентативное значение mb_min/величину сдвига Q_bit (репрезентативное значение/величина сдвига 10054) в память 114 кадров.
В то же время память 114 кадров содержит, например, блоки 114а памяти для запоминания опорных изображений и блоки субпамяти 114b для запоминания информации, указывающей каким образом преобразуется глубина в битах для каждой единицы кодирования (макроблок) каждого опорного изображения, как показано на фиг. 11F. Субпамять 114b хранит, например, репрезентативное значение mb_min и величину сдвига Q_bit.
Считается, что уравнение (2) используют тогда, когда получают сигнал декодированного изображения путем преобразования сигнала декодированного изображения с увеличенной глубиной в битах, для которого обеспечена глубина в N+M бит, на стороне декодирования. В то же время, когда сигнал локального декодированного изображения глубиной (N+M-L) бит, преобразованный с использованием уравнения (3-1), хранится в памяти кадров, а сигнал локального декодированного изображения с глубиной, увеличенной до N+M бит, считывается из памяти кадров при обратной процедуре по отношению к уравнению (3-1), полученный сигнал локального декодированного изображения глубиной N+M бит может иметь значение, отличное от сигнала локального декодированного изображения, полученного путем непосредственного преобразования с помощью уравнения (2) сигнала локального декодированного изображения перед преобразованием до величины N+M-L бит. Уравнениями преобразования, учитывающими это, являются следующие уравнения с (3-2) по (3-6).
Сначала вычислитель 10051 динамического диапазона вычисляет максимальное mb_max и минимальное mb_min значения пикселя в сигнале 112 локального декодированного изображения для каждой произвольной единицы кодирования, такой как макроблок, с целью получения на их основе динамического диапазона D=(mb_max-mb_min).
Далее вычислитель 10052 величины сдвига/репрезентативного значения вычисляет временное количество бит Q_bit, на которое последует уменьшение согласно динамическому диапазону D и значению сдвига Offset, используемого для выполнения операции сдвига на Q_bit с использованием уравнения (3-2).
Затем, если значение Q_bit не равно 0, определяют, удовлетворяется ли следующее условие (3-3)
Если неравенство (3-3) не удовлетворяется, то Q_bit увеличивают на 1 и вновь вычисляют значение сдвига Offset, как показано в уравнении (3-4)
Если значение Q_bit равно 0 или L, то Q_bit и Offset из уравнения (3-2) используют как они есть.
Наконец, когда значение некоторого пикселя сигнала декодированного изображения с увеличенной глубиной в битах составляет K, преобразователь 10053 глубины пикселя в битах вычисляет значение K' пикселя после уменьшения на L бит (L>0) как описано ниже и выводит преобразованный сигнал 112 локального декодированного изображения и репрезентативное значение mb_min/величину сдвига Q_bit (репрезентативное значение/величина сдвига 10054) в память 114 кадров.
Если Q_bit равно 0 или L, то
Если Q_bit не равно 0 или L, то
В то же время память 114 кадров имеет блоки 114b субпамяти для запоминания информации, указывающей, каким образом преобразуется глубина в битах для каждой единицы кодирования каждого кадра, и сохраняет в них, например, репрезентативное значение mb_min и величину сдвига Q_bit.
Когда каждое значение пикселя преобразуется с уменьшением до значения, уменьшенного на L бит с учетом динамического диапазона каждого пикселя для каждой единицы кодирования, такой как макроблок, с использованием уравнения (3-1) или уравнений с (3-2) по (3-6), описанных выше, ошибка округления, возникающая из-за операции сдвига во время уменьшения, может быть снижена по сравнению со случаем преобразования с уменьшением до значения, уменьшенного на L бит, просто согласно уравнению (3), а сигнал опорного изображения может быть сохранен в памяти кадров при поддержании более высокой точности.
В данном варианте предполагается, что репрезентативное значение представляет собой минимум Q_bit значения пикселя, но можно принять другое значение, которое может быть зафиксировано как максимальное mb_max и минимальное mb_min из значений пикселей.
В противном случае, когда значение каждого пикселя преобразуется с повышением до величины, увеличенной на (-L) бит, например, когда значение некоторого пикселя сигнала декодированного изображения с увеличенной глубиной в битах составляет K, значение K' пикселя после увеличения на (-L) бит вычисляется следующим образом
Количество бит L, на которое последует увеличение, является целым числом, удовлетворяющим неравенству 0<(-L). Благодаря увеличению глубины в битах, глубина в битах каждого пикселя сигнала 112 локального декодированного изображения станет равной (N+M-L) бит. Пример конфигурации преобразователя 1005 глубины пикселя в битах показан на фиг. 12. Он выбирается переключателем Е3 на основе информации 1003 об увеличении глубины в битах, указывающей на то, увеличивается ли глубина в битах каждого пикселя сигнала 100 входного изображения глубиной N бит. Если увеличивается, то переключатель Е3 соединяется с выводом ON, а если не увеличивается, то соединяется с выводом OFF. Когда переключатель Е3 находится в состоянии ON, сигнал изображения, введенный в преобразователь 1005 глубины пикселя в битах, поступает в преобразователь Е03 увеличения/уменьшения глубины пикселя в битах для преобразования глубины пикселя в битах. Когда переключатель Е3 находится в состоянии OFF, сигнал изображения не преобразуется до новой глубины пикселя в битах и выводится, как он есть. Таким образом, как здесь было описано, сигнал 112 локального декодированного изображения, глубина в битах которого была уменьшена или увеличена, запоминается в памяти 114 кадров (S57). Сигнал 112 локального декодированного изображения глубиной (N+M-L), который был запомнен в памяти 114 кадров, поступает в преобразователь 1006 глубины пикселя в битах перед вводом в генератор 115 предсказываемого изображения, и, когда L>0, глубина в битах каждого пикселя увеличивается на L бит (S58). Например, когда значение некоторого пикселя сигнала 112 локального декодированного изображения глубиной в (N+M-L) бит составляет K, значение K' глубины пикселя в битах после увеличения на L бит вычисляется, например, следующим образом.
Так же как и в другом способе преобразования, максимальное mb_max и минимальное mb_min значения пикселя сигнала 112 локального декодированного изображения получают для каждой произвольной единицы кодирования, такой как макроблок, как показано на фиг. 11С. Когда количество бит Q_bit, на которое происходит уменьшение в соответствии с динамическим диапазоном D=(mb_max-mb_min), изменяется с использованием уравнения, представленного в формуле (3-1), преобразователь 1006 глубины пикселя в битах использует конфигурацию, показанную на фиг. 11Е, где считыватель 10061 величины сдвига/репрезентативного значения считывает репрезентативное значение mb_min и величину сдвига Q_bit (репрезентативное значение/величина сдвига 10054) в единице кодирования из субпамяти 114b в памяти 114 кадров, а преобразователь 10062 глубины пикселя в битах вычисляет значение K' для пикселя после увеличения глубины на L бит, используя, например, следующее уравнение.
Так же как в еще одном способе преобразования, когда количество бит изменяют с использованием уравнений, представленных формулами с (3-2) по (3-6), блок 10061 считывания величины сдвига/репрезентативного значения считывает mb_min и Q_bit единицы кодирования из субпамяти в памяти 114 кадров, преобразователь 10062 глубины пикселя в битах вычисляет значение K' после увеличения глубины на L бит путем использования, например, следующего уравнения.
Если Q_bit равно 0 или L, то
K'=(K<<Q_bit)+(mb_min<<L)
Если Q_bit не равно 0 или L, то
В противоположность этому, когда L<0, глубина каждого пикселя в битах преобразуется с уменьшением ее значения на (-L).
Например, когда значение некоторого пикселя сигнала декодированного изображения с увеличенной глубиной в битах составляет K, значение K' пикселя после уменьшения на (-L) бит вычисляется, например, следующим образом
Используемый здесь способ преобразования с уменьшением может быть применен как способом преобразования такого типа, если он представляет собой способ уменьшения глубины в битах, путем установки сдвига на любое значение от 0 до (1<<(-L)). Преобразователь 1006 глубины пикселя в битах выполнен согласно конфигурации, показанной на фиг. 12, по аналогии с преобразователем 1005 глубины пикселя в битах, причем он может обеспечить управление изменением состояния флага, указывающего, преобразуется ли глубина в битах каждого пикселя. Глубина в битах сигнала 112 локального декодированного изображения, выводимого в генератор 115 предсказываемого изображения, с выполнением указанного преобразования становится равной (N+M) бит.
Глубина L в битах, на которую происходит уменьшение/ увеличение до и после памяти 114 кадров, является целым числом, удовлетворяющим неравенству L M, а количество бит, на которое происходит уменьшение/увеличение перед и после памяти 114 кадров должно быть одинаковым. Когда L=0, увеличение глубины в битах/уменьшение глубины в битах при запоминании в памяти кадров или выводе из памяти 114 кадров не выполняется. Преобразование, выполняемое преобразователем 1005 глубины пикселя в битах и преобразователем 1006 глубины пикселя в битах, не сводится к приведенным выше уравнениям с (3) по (6). Если это преобразование, с помощью которого происходит увеличение/уменьшение только обозначенной глубины в битах, то возможно выполнение преобразования любого типа. Указанное количество бит L вводится в энтропийный кодер 108 в качестве информации 1003 об увеличении глубины в битах контроллером 1002 преобразования глубины в битах.
Генератор 115 предсказываемого изображения создает сигнал предсказываемого изображения глубиной (N+M) бит на основе конкретной информации о режиме предсказания из сигнала 100 изображения, чья глубина в битах увеличена до глубины (N+M) бит и сигнала 112 локального декодированного изображения глубиной (N+M) бит. Благодаря этому выполняется согласование (поблочное согласование) между сигналом 100 входного изображения глубиной (N+M) бит и сигналом 112 локального декодированного изображения, с глубиной, увеличенной до (N+M) бит, для обнаружения вектора движения (S59). Создается сигнал предсказываемого изображения глубиной (N+M) бит с использованием сигнала локального изображения глубиной (N+M) бит, компенсированного указанным вектором движения (S60). Созданный сигнал 102 предсказываемого изображения глубиной (N+M) бит выводится вместе с информацией 116 о векторе движения/режиме предсказания выбранного сигнала предсказываемого изображения из генератора 115 предсказываемого изображения.
Энтропийный кодер 108 выполняет энтропийное кодирование квантованной информации 107 о коэффициентах ортогонального преобразования, информации 116 о векторе движения/режиме предсказания и информации 1003 об увеличении глубины в битах (S61). Кодированные данные 117, созданные таким путем, посылаются в систему передачи или запоминающее устройство (не показано).
Далее объясняется способ кодирования количества бит M и L. Пример структуры синтаксиса, используемого в данном варианте, аналогичен фиг. 3, использованной в первом варианте. В данном варианте может передаваться количество бит, на которое происходит увеличение, в том числе синтаксис (404) набора параметров последовательности, синтаксис (405) набора параметров изображения, синтаксис (402) уровня слоев и синтаксис (403) уровня макроблоков. Соответствующие синтаксисы поясняются ниже.
Флаг ex_seq_bit_extension_flag, показанный в синтаксисе набора параметров последовательности на фиг. 13, указывает, выполнять ли увеличение глубины в битах. Когда этот флаг имеет значение TRUE, он может быть изменен в единицах, равных одной последовательности, указывая на увеличение глубины в битах. В противном случае, когда значение флага равно FALSE, увеличение глубины в битах в данной последовательности не выполняется.
Когда значение флага ex_seq_bit_extension_flag равно TRUE, может передаваться параметр ex_seq_shift_bits, указывающий, на сколько дополнительных бит стало больше.
Когда ex_seq_bit_extension_flag имеет значение TRUE, может дополнительно передаваться параметр ex_framemem_bitdepth, указывающий глубину в битах при ее запоминании в памяти 114 кадров.
В настоящем варианте N+M-L запоминается, например, в ex_framemem_bitdepth, а затем передается. В настоящем варианте можно изменить указание, выполняется ли увеличение глубины в битах в произвольной единице кодирования и изменить количество бит, на которое происходит увеличение. В этом случае количество бит, на которое происходит увеличение, может передаваться при его включении в синтаксис (405) набора параметров изображения, синтаксис (402) уровня слоев и синтаксис (403) уровня макроблоков.
ex_pic_bit_extension_flag, показанный в синтаксисе набора параметров изображения на фиг. 4, представляет собой флаг, указывающий, изменяется ли указание, выполнять или нет увеличение глубины в битах для каждого изображения. Когда значение этого флага равно TRUE, можно изменять указание о том, выполнять ли увеличение глубины в битах в единицах изображения. В противном случае, когда значение этого флага равно FALSE, невозможно изменить указание о том, увеличивать ли глубину в битах в единицах изображения для каждого изображения.
Когда флаг ex_pic_bit_extension_flag принимает значение TRUE, кроме того, передается параметр ex_pic_shift_bits, указывающий, на сколько бит увеличивается глубина. Когда количество бит, на которое происходит увеличение на уровне последовательности, обозначено в синтаксисе параметров последовательности как ex_seq_shift_bits, то в качестве количества бит, на которое происходит увеличение, может быть отдан приоритет параметру ex_pic_shift_bits, может быть отдан приоритет параметру ex_seq_shift_bits и может быть отдан приоритет ex_seq_shift_bits+ex_pic_shift_bits. Которому из них отдается предпочтение, предпочтительно решить заранее.
В синтаксисе набора параметров изображения возможно наличие таких флагов, как ex_bit_extension_in_slice_flag и ex_bit_extension_in_mb_flag. Эти флаги соответственно указывают, имеется ли флаг, изменяющий указание о том, увеличивать ли количество бит на уровне слоев или уровне макроблоков.
Как показано на фиг. 15, когда ex_bit_extension_in_slice_flag имеет значение TRUE в синтаксисе уровня слоев, передается ex_slice_shift_bits. Соответственно, можно передавать количество бит, на которое происходит увеличение, в единицах, равных одному слою, путем переключения указанного флага. Когда количество бит S, на которое происходит увеличение синтаксисом набора параметров последовательности и синтаксисом параметров изображения уже обозначено, то в качестве количества бит, на которое происходит увеличение, может быть отдан приоритет величине S, параметру ex_slice_shift_bits или сумме S + ex_slice_shift_bits. Предпочтительно заранее решить, которому из данных параметров отдается предпочтение. В противном случае, когда значение ex_bit_extension_in_slice_flag равно FALSE, параметр ex_slice_shift_bits не передается.
В синтаксисе уровня макроблоков, показанном на фиг. 16, когда флаг ex_bit_extension_in_mb_flag имеет значение TRUE, передается параметр ex_mb_shift_bits. Соответственно, количество бит, на которое производится увеличение в единицах, равных одному макроблоку, можно передавать путем переключения этого флага. Когда количество бит S, на которое происходит увеличение синтаксисом набора параметров последовательности, синтаксисом параметров изображения или синтаксисом уровня слоев, уже обозначено, в качестве количества бит, на которое происходит увеличение, может быть отдан приоритет параметру ex_mb_shift_bits или сумме S+ex_mb_shift_bits. Предпочтительно заранее решить, которому из данных параметров отдается предпочтение. В противном случае, когда значение флага ex_bit_extension_in_mb_flag равно FALSE, параметр ex_slice_shift_bits не передается.
Как было описано выше, когда изменяется указание о том, производить ли увеличение глубины в битах произвольной единицы кодирования, или когда изменяется количество бит, на которое происходит увеличение, величина L устанавливается так, что глубина в битах сигнала локального декодированного изображения, запомненного в памяти 114 кадров, становится равной параметру ex_framemem_bitdepth, показанному в синтаксисе набора параметров последовательности.
В настоящем варианте данные, мультиплексированные с дополнительным синтаксисом, можно использовать по аналогии с первым вариантом.
Далее со ссылками на фиг. 17А описывается конфигурация устройства декодирования изображения согласно настоящему варианту. Это устройство декодирования изображения по существу имеет ту же конфигурацию, что и в примере конфигурации (фиг. 10А), показанном во втором варианте, но отличается тем, что преобразователь глубины пикселя в битах 2007 (преобразователь глубины пикселя в битах) предусмотрен на задней ступени сумматора 111 (и контурного фильтра 113) вместо блока 2001 уменьшения глубины пикселя в битах, память 114 кадров подсоединена не к задней ступени сумматора 111 (контурного фильтра 113), а к задней ступени преобразователя глубины пикселя в битах, а преобразователь 2008 глубины пикселя в битах подсоединен к задней ступени памяти 114 кадров.
Далее со ссылками на фиг. 17В описывается работа устройства декодирования изображения. При вводе кодированных данных 117, закодированных устройством кодирования изображения по фиг. 11А, в устройство декодирования изображения (S71) энтропийный декодер 200 декодирует кодированные данные 117 согласно процедуре, обратной энтропийному кодированию, для создания квантованной информации 107 о коэффициентах ортогонального преобразования, информации 116 о векторе движения/режиме предсказания и информации 2004 увеличения глубины в битах (S72).
Блок 109 деквантизации и обратный ортогональный преобразователь 110 подвергают квантованную информацию 107 о коэффициентах ортогонального преобразования обработке, обратной той, которую последовательно выполняют квантователь 106 и ортогональный преобразователь 104, для преобразования ее в остаточный сигнал 201 глубиной (N+M) бит (S73) и (S74).
При вводе информации 2004 об увеличении глубины в битах, выведенной из энтропийного декодера 200, в контроллер 2002 преобразования глубины в битах, из контроллера 2002 преобразования глубины в битах выводится количество бит M, указывающее на сколько бит увеличивается декодированное изображение, и информация 2003 о преобразовании глубины в битах, указывающая количество бит L, на которое происходит уменьшение, когда декодированное изображение запоминается в памяти кадров.
Преобразователь 2008 глубины пикселя в битах подвергает декодированный сигнал 202 изображения глубиной (N+M-L) бит, который запоминается в памяти 114 кадров согласно процедуре, описанной ниже, обработки для преобразования с увеличением глубины пикселя в битах на L бит путем выполнения обработки, аналогичной уравнениям (5), (5-1), (5-2) и т.д., например, когда L>0 (S75), подвергает этот сигнал обработке для преобразования с уменьшением глубины пикселя в битах на (-L) бит путем выполнения обработки, аналогичной уравнению (6), и т.д., когда L<0, для вывода опорного сигнала 204 изображения с глубиной, увеличенной до (N+M) бит (S75) на основе информации 2003 о преобразовании глубины в битах. При выполнении обработки, аналогичной уравнениям (5-1) и (5-2), конфигурация преобразователя 2008 глубины пикселя в битах может быть аналогична конфигурации на фиг. 11D. Кроме того, память 114 кадров может иметь конфигурацию, аналогичную конфигурации на фиг. 11F.
При вводе информации 116 о векторе движения/режиме предсказания генератор 115 предсказываемого изображения создает сигнал 102 предсказываемого изображения глубиной (N+M) бит на основе информации 116 о векторе движения/режиме предсказания из сигнала 204 опорного изображения с глубиной, увеличенной до (N+M) бит (S77). Остаточный сигнал 201 глубиной (N+M) бит и сигнал 102 предсказываемого изображения глубиной (N+M) бит суммируются в сумматоре 111. Контурный фильтр 113 фильтрует суммарный сигнал, если это необходимо, и выводит сигнал 203 декодированного изображения с глубиной, увеличенной до (N+M) бит (S78).
Сигнал 203 декодированного изображения с увеличенной глубиной в битах вводится в преобразователь 2007 глубины пикселя в битах, и значение каждого пикселя подвергается обработке, аналогичной той, что осуществляется блоком уменьшения глубины пикселя в битах устройства декодирования изображения по первому варианту, например согласно уравнению (2), на основе информации 2003 о преобразовании глубины в битах, в результате чего глубина пикселя в битах преобразуется с уменьшением значения на M бит (S79), и получается декодированное изображение 202 глубиной N бит, идентичное входному изображению, введенному в устройство кодирования изображения (S80). Преобразователь 2007 глубины пикселя в битах может быть аналогичен по конфигурации на то, что показано на фиг. 12, причем он может обеспечивать управление, изменяя флаг, указывающий, уменьшается ли глубина пикселя в битах.
Когда M=L, сигнал 202 декодированного изображения глубиной N бит запоминается в памяти 114 кадров как он есть. Когда M L и L>0, сигнал 203 декодированного изображения с глубиной, увеличенной до (N+M) бит, подвергается обработке, аналогичной, например, уравнениям (3), (3-1), (3-2) и до (3-6) для каждого пикселя, в результате чего создается декодированное изображение глубиной (N+M-L) бит, глубина в битах которого уменьшена на L бит. Оно запоминается в памяти 114 кадров. В противном случае, когда L<0, выполняется обработка, аналогичная уравнению (4), по каждому пикселю для создания декодированного изображения глубиной (N+M-L) бит, глубина которого уменьшена на (-L) бит. Оно запоминается в памяти 114 кадров. При выполнении обработки, аналогичной уравнению (3-1) или с (3-2) по (3-6), конфигурация преобразователя 2007 глубины пикселя в битах может быть аналогична конфигурации на фиг. 11D.
Согласно вышеупомянутой конфигурации, поскольку сигнал предсказываемого изображения создается с глубиной в битах, превышающей глубину сигнала входного изображения на M бит, точность фильтра или контурного фильтра для компенсации движения, внутрикадрового предсказания и т.п. может быть повышена. В результате можно уменьшить сигнал ошибки предсказания, так что эффективность кодирования может повыситься. Когда 0<L M, в отличие от первого и второго вариантов сигнал опорного изображения, запоминаемый в памяти кадров, может запоминаться с глубиной в битах, меньшей, чем для сигнала входного изображения или сигнала предсказываемого изображения, чья глубина в битах увеличена, и коэффициент использования памяти кадров может быть уменьшен при поддержании эффекта повышения качества предсказания фильтра или контурного фильтра для компенсации движения, внутрикадрового предсказания и т.п.
Согласно вышеупомянутой конфигурации можно изменить указание о том, выполнять ли увеличение глубины в битах в произвольной единице кодирования, или может быть изменено количество бит, на которое происходит увеличение. Таким образом, поскольку кодирование может выполняться путем выбора количества бит, на которое происходит увеличение, для каждой произвольной единицы кодирования, что обеспечивает максимальную эффективность кодирования, эффективность кодирования может быть дополнительно повышена.
(Четвертый вариант)
Конфигурация устройства кодирования изображения для видеокодирования согласно четвертому варианту объясняется со ссылками на фиг. 18А. Это устройство кодирования изображения отличается от примера конфигурации (фиг. 9), показанной во втором варианте, тем, что блок увеличения глубины пикселя в битах для увеличения глубины пикселя в битах входного изображения не предусмотрен, на предшествующей ступени памяти 114 кадров (и контурного фильтра 113) предусмотрен блок 1001 увеличения глубины пикселя в битах (преобразователь с увеличением глубины пикселя в битах), а на задней ступени генератора 115 предсказываемого изображения предусмотрен блок 1004 уменьшения глубины пикселя в битах (блок сокращения глубины пикселя в битах).
Далее со ссылками на блок-схему по фиг. 18В описывается работа устройства кодирования изображения. В это устройство кодирования изображения в качестве сигнала 100 входного изображения вводится, например, в единицах, равных одному кадру, видеосигнал, в котором глубина в битах каждого пикселя равна, например, N бит (S81). Вычитатель вычисляет разность между сигналом 100 входного изображения и сигналом 102 предсказываемого изображения глубиной N бит для создания сигнала 103 ошибки предсказания глубиной N бит (S82). Способ создания сигнала 102 предсказываемого изображения глубиной N бит описывается ниже. Ортогональный преобразователь 104 подвергает сигнал 103 ошибки предсказания ортогональному преобразованию (например, дискретное косинусное преобразование (DCT)). Ортогональный преобразователь 104 обеспечивает информацию 105 о коэффициентах ортогонального преобразования (например, информацию о коэффициентах DCT) (S83).
Квантователь 106 квантует информацию 105 о коэффициентах ортогонального преобразования, и квантованная информация 107 о коэффициентах ортогонального преобразования вводится в энтропийный кодер 108 и блок 109 деквантизации. Блок 109 деквантизации и обратный ортогональный преобразователь 110 подвергают квантованную информацию 107 о коэффициентах ортогонального преобразования обработке, обратной той, что последовательно выполняют квантователь 106 и ортогональный преобразователь 104, для преобразования ее в сигнал локальной ошибки декодирования. Сумматор 111 добавляет этот сигнал локальной ошибки декодирования к сигналу 102 предсказываемого изображения глубиной N бит для создания сигнала 112 локального декодированного изображения глубиной N бит (S84).
Контурный фильтр 113 фильтрует сигнал 112 локального декодированного изображения, когда это необходимо, а затем выводит его в блок 1001 увеличения глубины пикселя в битах для преобразования с увеличением значения каждого пикселя до значения, увеличенного на M бит (S85). Например, когда значение некоторого пикселя сигнала декодированного изображения с увеличенной глубиной в битах составляет K, по аналогии с уравнением (1) для первого варианта вычисляется значение K' глубины пикселя после уменьшения на M бит. Сигал 112 локального декодированного изображения, чья точность в битах увеличена до (N+M) бит, запоминается в памяти 114 кадров. Сигнал 112 локального декодированного изображения глубиной (N+M) бит, сохраненный в памяти 114 кадров, вводится в генератор 115 предсказываемого изображения. Конфигурация блока 1001 увеличения глубины пикселя в битах может быть такой же, как на фиг. 2, и он может выполнять обработку, связанную с управлением глубиной в битах путем переключения флага, указывающего, увеличивается ли глубина каждого пикселя в битах, по аналогии с первым вариантом.
Генератор 115 предсказываемого изображения создает сигнал предсказываемого изображения глубиной (N+M) бит на основе конкретной информации о режиме предсказания из сигнала 112 локального декодированного изображения глубиной (N+M) бит. В то же время обеспечивается согласование (например, поблочное согласование) между сигналом изображения, полученным путем увеличения глубины каждого пикселя сигнала входного изображения до (N+M) бит, и сигналом 112 локального декодированного изображения с глубиной, увеличенной до (N+M) бит, для каждого блока в кадре с целью обнаружения вектора движения (S87). Создается сигнал 117 предсказываемого изображения с глубиной, увеличенной до (N+M) бит, с использованием сигнала локального изображения глубиной (N+M) бит, скомпенсированного указанным вектором движения (S89). Созданный сигнал 117 предсказываемого изображения с глубиной, увеличенной до (N+M) бит, выводится из генератора 115 предсказываемого изображения вместе с информацией 116 о векторе движения/режиме предсказания выбранного сигнала предсказываемого изображения.
Сигнал 117 предсказываемого изображения с глубиной, увеличенной до (N+M) бит, вводится в блок 1004 уменьшения глубины пикселя в битах для преобразования в сигнал изображения, глубина в битах каждого пикселя которого уменьшена на M бит (S90). Это преобразование выполняется путем обработки, аналогичной уравнению (2), показанному, как пример, в первом варианте. Количество бит М, на которое происходит уменьшение, и количество бит М, на которое происходит увеличение блоком 1001 увеличения глубины пикселя в битах, одинаковы, причем это значение вводится в энтропийный кодер 108 в качестве информации 1003 об увеличении глубины в битах контроллером 1002 преобразования глубины в битах. Блок 1004 уменьшения глубины пикселя в битах может иметь конфигурацию, как на фиг. 8, и может выполнять обработку, связанную с управлением глубиной в битах путем переключения флага, указывающего, увеличивается ли глубина в битах каждого пикселя, по аналогии с первым вариантом.
Энтропийный кодер 108 выполняет энтропийное кодирование квантованной информации 107 о коэффициентах ортогонального преобразования, информации 116 о векторе движения/режиме предсказания и информации 1003 об увеличении глубины в битах (S91). Созданные таким образом кодированные данные 117 посылают в систему передачи или запоминающее устройство (не показано).
Способ кодирования количества бит М, на которое происходит увеличение, аналогичен первому варианту. В настоящем варианте данные, мультиплексированные с дополнительным синтаксисом, можно использовать по аналогии с первым вариантом.
Конфигурация устройства декодирования изображения согласно настоящему изобретению поясняется со ссылками на фиг. 19А. Это устройство декодирования изображения отличается по конфигурации (фиг. 10А), показанной во втором варианте тем, что на предшествующей ступени памяти 114 кадров (и контурного фильтра 113) предусмотрен блок 2005 увеличения глубины пикселя в битах, а на задней ступени генератора 115 предсказываемого изображения предусмотрен блок 2006 уменьшения глубины пикселя в битах (блок сокращения глубины пикселя в битах).
Далее со ссылками на блок-схему на фиг. 19В будет описана работа устройства декодирования изображения. Когда кодированные данные 117, закодированные устройством кодирования изображения по фиг. 18А, вводятся в устройство декодирования изображения (S101), энтропийный декодер 200 декодирует кодированные данные 117 с помощью процедуры, обратной энтропийному кодированию, для обеспечения квантованной информации 107 о коэффициентах ортогонального преобразования, информации 116 о векторе движения /режиме предсказания и информации 2004 об увеличении глубины в битах (S102). Блок 109 деквантизации и обратный ортогональный преобразователь 110 подвергают квантованную информацию 107 о коэффициентах ортогонального преобразования обработке, обратной той, которую последовательно выполняют квантователь 106 и ортогональный преобразователь 104, для преобразования ее в остаточный сигнал 201 глубиной N бит (S103). При вводе информации 2004 об увеличении глубины в битах, выведенной из энтропийного декодера 200 в контроллер 2002 преобразования глубины в битах, контроллер 2002 преобразования глубины в битах выводит информацию 2003 о преобразовании глубины в битах, указывающую на сколько бит увеличивается декодированное изображение (S104).
При вводе информации 116 о векторе движения/режиме предсказания в генератор 115 предсказываемого изображения из сигнала 203 декодированного изображения с увеличенной глубиной в битах, запомненного в памяти 114 кадров, создается сигнал 205 предсказываемого изображения с увеличенной до (N+M) бит глубиной на основе информации 116 о векторе движения/режиме предсказания с помощью процедуры, описанной ниже (S105).
Блок 2006 уменьшения глубины пикселя в битах подвергает сигнал 205 предсказываемого изображения с увеличенной до (N+M) глубиной в битах обработке, аналогичной обработке, которую выполняет блок преобразования с уменьшением глубины пикселя в битах в устройстве декодирования изображения по первому варианту, например согласно уравнению (2) на основе информации 2003 о преобразовании глубины в битах для преобразования с уменьшением глубины пикселя в битах на М бит (S106) и вывода сигнала 102 предсказываемого изображения глубиной N бит. Блок 2006 уменьшения глубины пикселя в битах может иметь конфигурацию, как на фиг. 8, и может выполнять обработку, связанную с управлением глубиной в битах путем переключения флага, указывающего, увеличивать ли глубину каждого пикселя в битах, по аналогии с первым вариантом.
Сумматор 111 добавляет остаточный сигнал 201 глубиной N бит к сигналу 102 предсказываемого изображения глубиной N бит для создания сигнала декодированного изображения с уменьшенной глубиной (S107). Когда сигнал декодированного изображения с уменьшенной глубиной вводится в блок 2005 увеличения глубины пикселя в битах, блок 2005 увеличения глубины пикселя в битах подвергает его обработке, аналогичной обработке, выполняемой блоком увеличения глубины пикселя в битах в устройстве кодирования изображения по первому варианту, например согласно уравнению (1) на основе информации 2003 о преобразовании глубины в битах для увеличения глубины пикселя в битах на М бит (S108). Контурный фильтр 113 фильтрует сигнал, выводимый из блока 2005 увеличения глубины пикселя в битах, когда это необходимо, для вывода сигнала 203 декодированного изображения с глубиной, увеличенной до (N+M) бит (S109). Этот сигнал запоминается в памяти 114 кадров. Конфигурация блока 2005 увеличения глубины пикселя в битах может быть такой, как на фиг. 2, и этот блок может выполнять обработку, связанную с управлением глубиной в битах путем переключения флага, указывающего, увеличивать ли глубину в битах каждого пикселя, по аналогии с первым вариантом.
Сигнал 203 декодированного изображения с глубиной, увеличенной до (N+M) бит, вводится в блок 2001 уменьшения глубины пикселя в битах, а значение каждого пикселя подвергается обработке, аналогичной той, которую выполняет преобразователь уменьшения глубины пикселя в битах в устройстве декодирования изображения по первому варианту, например согласно уравнению (2) на основе информации 2003 о преобразовании глубины в битах для получения декодированного изображения той же глубины в N бит, как входное изображение, введенное в устройство кодирования изображения (S110), (S111).
Согласно вышеописанной конфигурации, поскольку сигнал предсказываемого изображения создается с глубиной в битах, превышающей глубину входного сигнала на М бит, может быть повышена точность фильтра компенсации движения или контурного фильтра, внутрикадрового предсказания и т.п. Соответственно, поскольку сигнал ошибки предсказания может быть уменьшен, имеется возможность повышения эффективности кодирования. Обработка преобразования/квантования сигнала ошибки предсказания и остаточного сигнала может быть выполнена с точностью, соответствующей глубине в битах входного сигнала, а не так, как в вариантах с первого по третий. Глубина в битах преобразования/квантования уменьшается при поддержании эффекта повышения точности фильтра компенсации движения или контурного фильтра, внутрикадрового предсказания и т.п., и, следовательно, может быть уменьшен операционный масштаб.
(Пятый вариант)
Конфигурация устройства кодирования изображения для видеокодирования согласно пятому варианту объясняется со ссылками на фиг. 20А. Это устройство кодирования изображения отличается от примера конфигурации (фиг. 9), показанной во втором варианте, тем, что блок увеличения глубины пикселя в битах для увеличения глубины пикселя в битах входного изображения не предусмотрен, на предыдущей ступени генератора предсказываемого изображения предусмотрен блок 1001 увеличения глубины пикселя в битах (преобразователь с увеличением глубины пикселя в битах), а на задней ступени генератора 115 предсказываемого изображения предусмотрен блок 1004 уменьшения глубины пикселя в битах (блок сокращения глубины пикселя в битах).
Далее со ссылками на блок-схему по фиг. 20В описывается работа устройства кодирования изображения. В это устройство кодирования изображения в качестве сигнала 100 входного изображения вводится, например, в единицах, равных одному кадру, видеосигнал, в котором глубина в битах каждого пикселя равна, например, N бит (S121). Вычитатель 101 вычисляет разность между сигналом 100 входного изображения и сигналом 102 предсказываемого изображения глубиной N бит для создания сигнала 103 ошибки предсказания глубиной N бит (S122). Способ создания сигнала 102 предсказываемого изображения глубиной N бит описывается ниже. Ортогональный преобразователь 104 подвергает созданный сигнал 103 ошибки предсказания ортогональному преобразованию, например дискретному косинусному преобразованию (DCT). Ортогональный преобразователь 104 обеспечивает информацию 105 о коэффициентах ортогонального преобразования, например информацию о коэффициентах DCT (S123). Квантователь 106 квантует информацию 105 о коэффициентах ортогонального преобразования. Квантованная информация 107 о коэффициентах ортогонального преобразования вводится в энтропийный кодер 108 и блок 109 деквантизации.
Блок 109 деквантизации и обратный ортогональный преобразователь 110 подвергают квантованную информацию 107 о коэффициентах ортогонального преобразования обработке, обратной той, что последовательно выполняют квантователь 106 и ортогональный преобразователь 104, для преобразования ее в сигнал локальной декодированной ошибки. Сумматор 111 добавляет этот сигнал локальной ошибки декодирования к сигналу 102 предсказываемого изображения глубиной N бит для создания сигнала 112 локального декодированного изображения глубиной N бит (S124).
Контурный фильтр 113 фильтрует сигнал 112 локального декодированного изображения глубиной N бит, когда это необходимо, а затем запоминает его в памяти 114 кадров (S125).
Сигнал 112 локального декодированного изображения глубиной N бит, сохраненный в памяти 114 кадров, вводится в блок 1001 увеличения глубины пикселя в битах для увеличения значения каждого пикселя на M бит (S126). Например, когда значение некоторого пикселя сигнала декодированного изображения с увеличенной глубиной в битах составляет K, по аналогии с уравнением (1) для первого варианта вычисляется значение K' глубины пикселя после уменьшения на M бит. Сигал 112 локального декодированного изображения, чья глубина в битах увеличена до (N+M) бит, вводится в генератор 115 предсказываемого изображения. Конфигурация блока 1001 увеличения глубины пикселя в битах может быть такой же, как на фиг. 2, и он может выполнять обработку, связанную с управлением глубиной в битах путем переключения флага, указывающего, увеличивать ли глубину каждого пикселя в битах, по аналогии с первым вариантом.
Генератор 115 предсказываемого изображения создает сигнал предсказываемого изображения глубиной (N+M) бит на основе конкретной информации о режиме предсказания из сигнала 112 локального кодированного изображения глубиной (N+M) бит. В то же время обеспечивается согласование (например, поблочное согласование) между сигналом изображения, полученным путем увеличения глубины каждого пикселя сигнала 100 входного изображения до (N+M) бит, и сигналом 112 локального декодированного изображения с глубиной, увеличенной до (N+M) бит, для каждого блока в кадре с целью обнаружения вектора движения (S127). Создается сигнал 117 предсказываемого изображения с глубиной, увеличенной до (N+M) бит, с использованием сигнала локального изображения глубиной (N+M) бит, скомпенсированного указанным вектором движения (S128). Созданный сигнал 117 предсказываемого изображения с глубиной, увеличенной до (N+M) бит, выводится из генератора 115 предсказываемого изображения вместе с информацией 116 о векторе движения/режиме предсказания выбранного сигнала предсказываемого изображения.
Сигнал 117 предсказываемого изображения с увеличенной глубиной в битах вводится в блок 1004 уменьшения глубины пикселя в битах и подвергается преобразованию, так что глубина в битах каждого пикселя уменьшается на M бит (S129). Это преобразование выполняется путем обработки, аналогичной уравнению (2), показанному в декодере изображения, например по первому варианту. Количество бит М, на которое происходит уменьшение, и количество бит М, на которое происходит увеличение блоком 1001 увеличения глубины пикселя в битах, одинаковы, причем это значение вводится в энтропийный кодер 108 в качестве информации 1003 об увеличении глубины в битах контроллером 1002 преобразования глубины в битах. Блок 1004 уменьшения глубины пикселя в битах может иметь конфигурацию, как на фиг. 8, и может выполнять обработку, связанную с управлением глубиной в битах путем переключения флага, указывающего, увеличивать ли глубину в битах каждого пикселя, по аналогии с первым вариантом.
Энтропийный кодер 108 выполняет энтропийное кодирование квантованной информации 107 о коэффициентах ортогонального преобразования, информации 116 о векторе движения/режиме предсказания и информации 1003 об увеличении глубины в битах (S130). Созданные таким образом кодированные данные 117 посылают в систему передачи или запоминающее устройство (не показано).
Способ кодирования количества бит М, на которое происходит увеличение, аналогичен первому варианту. В настоящем варианте данные, мультиплексированные с дополнительным синтаксисом, можно использовать по аналогии с первым вариантом.
Конфигурация устройства декодирования изображения согласно настоящему изобретению поясняется со ссылками на фиг. 21А. Это устройство декодирования изображения отличается по конфигурации (фиг. 10А), показанной во втором варианте тем, что на задней ступени сумматора 111 (и контурного фильтра 113) блок уменьшения глубины пикселя в битах не предусмотрен, сигнал 202 декодированного изображения выводится из сумматора 111 (и контурного фильтра 113), на предыдущей ступени генератора 115 предсказываемого изображения предусмотрен блок 2005 увеличения глубины пикселя в битах (преобразователь с увеличением глубины пикселя в битах), а на задней ступени генератора 115 предсказываемого изображения предусмотрен блок 2001 уменьшения глубины пикселя в битах (блок сокращения глубины пикселя в битах).
Далее со ссылками на блок-схему на фиг. 21В будет описана работа устройства декодирования изображения. Когда кодированные данные 117, закодированные устройством кодирования изображения по фиг. 20А, вводятся в устройство декодирования изображения (S141), энтропийный декодер 200 декодирует кодированные данные 117 с помощью процедуры, обратной энтропийному кодированию, для обеспечения квантованной информации 107 о коэффициентах ортогонального преобразования, информации 116 о векторе движения/режиме предсказания и информации 2004 об увеличении глубины в битах (S142). Блок 109 деквантизации и обратный ортогональный преобразователь 110 подвергают квантованную информацию 107 о коэффициентах ортогонального преобразования обработке, обратной той, которую последовательно выполняют квантователь 106 и ортогональный преобразователь 104, для преобразования ее в остаточный сигнал глубиной N бит (S143). При вводе информации 2004 об увеличении глубины в битах, выведенной из энтропийного декодера 200, в контроллер 2002 преобразования глубины в битах контроллер 2002 преобразования глубины в битах выводит информацию 2003 о преобразовании глубины в битах, указывающую, на сколько бит увеличивается декодированное изображение (S144).
Блок 2005 увеличения глубины пикселя в битах подвергает сигнал 202 декодированного изображения глубиной N бит, сохраненный в памяти 114 кадров, обработке, аналогичной той, которую выполняет блок преобразования с увеличением глубины пикселя в битах в устройстве кодирования изображения по первому варианту, например согласно уравнению (1) на основе информации 2003 о преобразовании глубины в битах согласно процедуре, описанной ниже, для преобразования с увеличением глубины пикселя в битах на М бит и вывода сигнала 204 опорного изображения с увеличенной глубиной в (N+M) бит. Блок 2005 увеличения глубины пикселя в битах может иметь конфигурацию, как на фиг. 2, и может выполнять обработку, связанную с управлением глубиной в битах путем переключения флага, указывающего, увеличивать ли глубину каждого пикселя, по аналогии с первым вариантом.
При вводе информации 116 о векторе движения/режиме предсказания в генератор 115 предсказываемого изображения, из сигнала 204 опорного изображения с увеличенной глубиной в (N+M) бит создается сигнал 205 предсказываемого изображения с увеличенной до (N+M) бит глубиной на основе информации 116 о векторе движения/режиме предсказания (S145). Блок 2001 уменьшения глубины пикселя в битах подвергает сигнал 205 предсказываемого изображения с увеличенной до (N+M) глубиной в битах обработке, аналогичной обработке, которую выполняет блок преобразования с уменьшением глубины пикселя в битах в устройстве декодирования изображения по первому варианту, например согласно уравнению (2) на основе информации 2003 о преобразовании глубины в битах для преобразования с уменьшением глубины пикселя в битах на М бит и вывода сигнала 102 предсказываемого изображения глубиной N бит (S146). Блок 2001 уменьшения глубины пикселя в битах может иметь конфигурацию, как на фиг. 8, и может выполнять обработку, связанную с управлением глубиной в битах путем переключения флага, указывающего, увеличивать ли глубину каждого пикселя в битах, по аналогии с первым вариантом.
Сумматор 111 добавляет остаточный сигнал 201 глубиной N бит к сигналу 102 предсказываемого изображения глубиной N бит. Контурный фильтр 113 фильтрует суммарный сигнал, если это необходимо, и выводит сигнал 202 декодированного изображения с увеличенной глубиной N бит (S147). Этот сигнал запоминается в памяти 114 кадров. Обеспеченный здесь сигнал 202 декодированного изображения имеет ту же глубину N бит, как и входное изображение, введенное в устройство кодирования изображения.
Согласно вышеописанной конфигурации, поскольку сигнал предсказываемого изображения создается с глубиной в битах, превышающей глубину входного сигнала на М бит, может быть повышена точность фильтра компенсации движения или контурного фильтра, внутрикадрового предсказания и т.п. Соответственно, поскольку сигнал ошибки предсказания может быть уменьшен, имеется возможность повышения эффективности кодирования. Кроме того, сигнал опорного изображения, запоминаемый в памяти кадров, может храниться в ней при глубине в битах, меньшей, чем у сигнала входного изображения и сигнала предсказываемого изображения, где глубина в битах увеличена. Таким образом, может быть уменьшен коэффициент использования памяти кадров при поддержании эффекта улучшения предсказания фильтра или контурного фильтра для компенсации движения, внутрикадрового предсказания и т.п. Кроме того, можно выполнить обработку для преобразования/квантования сигнала ошибки предсказания и остаточного сигнала с точностью, соответствующей глубине в битах входного изображения. В результате можно уменьшить точность преобразования/квантования и уменьшить операционный масштаб при поддержании точности фильтра компенсации движения или контурного фильтра и внутрикадрового предсказания.
В вариантах со второго по пятый генератор 115 предсказываемого изображения может быть сконфигурирован, как показано на фиг. 22. Согласно генератору 115 предсказываемого изображения на стороне кодера, показанному на фиг. 22, внутрикадровый предсказатель В101 создает сигнал предсказываемого изображения на основе внутрикадрового предсказания из сигнала 112 локального декодированного изображения из области, которая уже закодирована в кадре в памяти 114 кадров. Между тем межкадровый предсказатель В103 подвергает сигнал 112 локального декодированного изображения в памяти 114 кадров компенсации движения на основе вектора движения, обнаруженного детектором В102 вектора движения. Генератор В104 информации адаптивного фильтра создает сигнал 102 предсказываемого изображения на основе межкадрового предсказания, используя информацию адаптивного фильтра, созданную из сигнала 101 входного изображения, сигнала 112 локального декодированного изображения и вектора движения.
Внутрикадровый предсказатель В101 имеет М режимов внутрикадрового предсказания (M указывает множественное число), а межкадровый предсказатель В103 имеет N режимов межкадрового предсказания (N указывает множественное число). Устройство В105 определения режима подсоединено к выходам межкадрового предсказателя В103 и внутрикадрового предсказателя В101 внутрикадрового предсказания. Устройство В105 определения режима выводит сигнал предсказываемого изображения на основе одного режима предсказания, выбранного из N режимов межкадрового предсказания, или сигнал 102 предсказываемого изображения на основе одного режима предсказания, выбранного из М режимов внутрикадрового предсказания.
Вектор движения/информация о режиме предсказания/ информация адаптивного фильтра (116), а именно вектор движения, который выводится из устройства В102 оценки движения, информация о режиме предсказания, указывающая режим предсказания, выбранный устройством определения режима, и информация адаптивного фильтра (116) посылаются в энтропийный кодер 117 и передается на сторону декодера, будучи включенной в кодированные данные 117. Вектор движения и информация адаптивного фильтра выводятся из устройства В102 оценки движения только тогда, когда выбран режим межкадрового предсказания.
Работа генератора 115 предсказываемого изображения на стороне декодера поясняется со ссылками на фиг. 23. В этом генераторе 115 предсказываемого изображения переключатель В201 выбирает предсказатель на основе информации 116 о режиме предсказания. Когда выбран внутрикадровый предсказатель В202, он создает сигнал 102 предсказываемого изображения на основе внутрикадрового предсказания из сигнала 203 декодированного изображения из той области, которая уже закодирована в кадре памяти 114 кадров. Между тем, когда выбран межкадровый предсказатель В203, сигнал 203 декодированного изображения в памяти 114 кадров подвергается компенсации движения на основе вектора движения для создания сигнала 102 предсказываемого изображения на основе межкадрового предсказания с использованием информации 116 адаптивного фильтра.
На фиг. 24 показан пример конфигурации межкадрового предсказателя В103. Межкадровый предсказатель В103 создает сигнал 102 изображения с межкадровым предсказанием из вектора движения сигнала локального декодированного изображения и информации о коэффициентах адаптивного фильтра. Блок В302 коррекции с взвешиванием/сдвигом целочисленного пикселя выполняет обработку с целью осуществления так называемого «взвешенного» предсказания целочисленного значения пикселя. Сигнал 102 предсказываемого изображения для целочисленного пикселя можно получить, например, согласно следующему уравнению (7).
где W - коэффициент взвешивания, L - коэффициент смещения, O - коэффициент сдвига, причем эти коэффициенты содержатся в информации о коэффициентах адаптивного фильтра. Значение X пикселя обрабатывается на основе уравнения (7) для преобразования в значение Y, в результате чего появляется возможность коррекции яркости или коррекции цвета.
Уравнение (8) является примером обработки с взвешиванием/сдвигом при выполнении двунаправленного предсказания.
Коэффициент W1 взвешивания для значения X1 пикселя, коэффициент O1 сдвига, коэффициент W2 взвешивания для значения X 2 пикселя, коэффициент O2 сдвига и коэффициент L смещения содержатся в информации о коэффициентах адаптивного фильтра. Коррекция яркости и коррекция цвета становится возможной путем обработки значений X1, X2 согласно уравнению (8) для преобразования их в значение Y.
Когда нет необходимости коррекции с взвешиванием/сдвигом с использованием информации 116 адаптивного фильтра, переключатель В301 переключается в положение, предназначенное для создания адаптивного интерполяционного изображения с десятичными пикселями.
В настоящем изобретении, поскольку при кодировании и декодировании глубина в битах устанавливается равной значению, превышающему глубину пикселя в битах для сигнала входного изображения, может быть обеспечена необходимая точность вычислений при обработке, связанной с коррекцией с взвешиванием/сдвигом, в результате чего появляется возможность выполнения коррекции с взвешиванием/сдвигом с более высокой точностью.
Когда вектор движения указывает на десятичный пиксель, генератор В303 адаптивного интерполяционного изображения с десятичными пикселями создает интерполированное значение десятичного пикселя из целочисленного значения пикселя, используя коэффициент интерполяционного фильтра в информации адаптивного фильтра, и создает сигнал 102 предсказываемого изображения. В настоящем изобретении при указанной обработке, поскольку при кодировании и декодировании глубина в битах устанавливается равной значению, превышающему глубину пикселя в битах для сигнала входного изображения, может быть обеспечена необходимая точность вычислений при обработке, связанной с интерполяционной фильтрацией, в результате чего появляется возможность получения лучшего десятичного значения пикселя.
На фиг. 25 показан пример конфигурации межкадрового предсказателя В103. Этот межкадровый предсказатель создает сигнал 102 изображения с межкадровым предсказанием из вектора движения, сигнала локального декодированного изображения и информации о коэффициентах адаптивного фильтра. Когда вектор движения указывает на десятичный пиксель, генератор В401 адаптивного интерполяционного изображения с десятичными пикселями создает интерполированное значение десятичного пикселя из целочисленного значения пикселя, используя коэффициент интерполяционного фильтра в информации адаптивного фильтра, и создает сигнал 102 предсказываемого изображения.
В настоящем изобретении, поскольку при кодировании и декодировании глубина в битах устанавливается равной значению, превышающему глубину пикселя в битах для сигнала входного изображения, может быть обеспечена необходимая точность вычислений при обработке, связанной с интерполяционной фильтрацией, в результате чего можно получить лучшее десятичное значение пикселя.
Блок В403 коррекции с взвешиванием/сдвигом выполняет обработку, связанную с так называемым предсказанием с взвешиванием значения пикселя сигнала предсказываемого изображения. В конкретном случае он создает сигнал 102 предсказываемого изображения согласно уравнению (7) или (8).
В настоящем изобретении, поскольку при кодировании и декодировании глубина в битах устанавливается равной значению, превышающему глубину пикселя в битах для сигнала входного изображения, может быть обеспечена необходимая точность вычислений при обработке, связанной с коррекцией с взвешиванием/сдвигом, в результате чего появляется возможность выполнения коррекции с взвешиванием/сдвигом с более высокой точностью.
На фиг. 26 показан пример конфигурации межкадрового предсказателя. Этот межкадровый предсказатель создает сигнал изображения с межкадровым предсказанием из вектора движения воспроизведенного сигнала изображения и информации о коэффициентах адаптивного фильтра. В соответствии с этим, когда вектор движения указывает позицию десятичного пикселя, переключатель В501 подсоединяется к генератору В502 изображения с десятичными пикселями с адаптивной интерполяцией и коррекцией со сдвигом, и воспроизведенный сигнал изображения обрабатывается генератором В502 изображения с десятичными пикселями с адаптивной интерполяцией и коррекцией со сдвигом. Когда вектор движения указывает на целочисленный пиксель, переключатель В501 подсоединяется к генератору В503 изображения с целочисленными пикселями с адаптивной интерполяцией и коррекцией со сдвигом и воспроизведенный сигнал изображения обрабатывается генератором В503 изображения с целочисленными пикселями с адаптивной интерполяцией и коррекцией со сдвигом.
Когда вектор движения указывает на десятичный пиксель, генератор В502 изображения с десятичными пикселями с адаптивной интерполяцией и коррекцией со сдвигом создает интерполированное значение десятичного пикселя из целочисленного значения пикселя, используя коэффициент интерполяционного фильтра и коэффициент коррекции со сдвигом, содержащиеся в информации адаптивного фильтра, и создает сигнал предсказываемого изображения. В конкретном случае используется, например, уравнение (9) при выполнении однонаправленного предсказания и уравнение (10) при выполнении двунаправленного предсказания.
[Математическое выражение 1]
где Wi,j для воспроизведенного сигнала Xi,j изображения обозначает коэффициент интерполяционного фильтра, О обозначает коэффициент сдвига, а Y обозначает сигнал предсказываемого изображения.
[Математическое выражение 2]
где W(0) i,j для воспроизведенного сигнала X(0) i,j является коэффициентом интерполяционного фильтра, О(0) - коэффициент сдвига, W(1) i,j для воспроизведенного сигнала X(1) i,j является коэффициентом интерполяционного фильтра, О(1) - коэффициент сдвига, а Y - сигнал предсказываемого изображения.
Блок В503 коррекции с взвешиванием/сдвигом целочисленного пикселя выполняет обработку, реализующую так называемое предсказание с взвешиванием для значения пикселя сигнала предсказываемого изображения. В конкретном случае сигнал предсказываемого изображения создается, например, согласно уравнению (7) или уравнению (8). При этом для коэффициента коррекции со сдвигом используется показатель точности, не меньший, чем глубина в битах входного пикселя.
В настоящем изобретении, поскольку при кодировании и декодировании операционная глубина в битах устанавливается равной значению, превышающему глубину пикселя в битах для сигнала входного изображения, может быть обеспечена необходимая точность вычислений при обработке, связанной с интерполяционной фильтрацией, в результате чего можно получить лучшее значение предсказываемого пикселя.
В настоящем изобретении, поскольку при кодировании и декодировании глубина в битах устанавливается равной значению, превышающему глубину пикселя в битах для сигнала входного изображения, может быть обеспечена необходимая точность вычислений при обработке, связанной с коррекцией с взвешиванием/сдвигом, в результате чего появляется возможность выполнения коррекции с взвешиванием/сдвигом с более высокой точностью.
(Адаптивный контурный фильтр)
Контурный фильтр 113 в вариантах со второго по пятый может быть сконфигурирован, как это показано на фиг. 27.
На фиг. 27 показана конфигурация контурного фильтра 113 на стороне кодера в вариантах со второго по пятый. Блок С101 определения коэффициентов фильтра получает в качестве входных сигналов сигнал 101 входного изображения и сигнал 112 локального декодированного изображения и вычисляет коэффициент фильтра, так чтобы, например, сигнал 101 входного изображения и минимальная квадратическая ошибка были минимальными при обработке сигнала 112 локального декодированного изображения. Блок С101 определения коэффициента фильтра выводит вычисленное значение коэффициента фильтра в процессор С102 фильтрации и пересылает этот коэффициент в энтропийный кодер 108 в качестве информации С103 о коэффициенте фильтра. Способ определения коэффициента фильтра не ограничивается вышеуказанным примером и может представлять собой способ подготовки множества фильтров, таких как фильтр деблокирования и фильтр подавления реверберации, их адаптивного переключения и вывода выбранного фильтра в качестве информации С103 о коэффициенте фильтра, либо может выполнять обработку, такую как адаптивное определение того, следует ли применять каждый из фильтров. В данном способе могут быть использованы различные аспекты. Сигнал 101 входного изображения имеет ту же глубину пикселя в битах, что и сигнал 112 локального декодированного изображения, вводимый в контурный фильтр согласно каждому варианту.
Процессор С102 фильтрации подвергает каждый пиксель сигнала локального декодированного изображения фильтрации, используя коэффициент фильтра, введенный из блока С101 определения коэффициента фильтра, а затем выводит его в память 114 кадров и т.п.
Энтропийный кодер 108 выполняет энтропийное кодирование информации 103 о коэффициенте фильтра, выведенной в энтропийный кодер 108, и эта информация передается в составе кодированных данных 117.
На фиг. 28 показан пример конфигурации контурного фильтра 113 на стороне декодирования. Процессор С102 фильтрации подвергает каждый пиксель сигнала декодированного изображения фильтрации на основе информации С103 о коэффициенте фильтра, выведенной из энтропийного декодера 200. Отфильтрованный сигнал декодированного изображения выводится из памяти 114 кадров или блока уменьшения глубины пикселя в битах или выводится в виде сигнала декодированного изображения как он есть, согласно каждому варианту.
Согласно вышеупомянутой конфигурации, поскольку при кодировании и декодировании глубина в битах устанавливается равной значению, превышающему глубину пикселя в битах для сигнала входного изображения, может быть обеспечена необходимая точность вычислений при обработке, связанной с фильтрацией в контурном фильтре 113, в результате чего появляется возможность выполнения контурной фильтрации с более высокой точностью.
(Конфигурация, включающая в себя предварительный фильтр)
Блок 1001 увеличения глубины пикселя в битах для преобразования глубины пикселя в битах сигнала 101 входного изображения может быть сконфигурирован в вариантах с первого по третий так, как показано на фиг. 29. В этой конфигурации сигнал входного изображения, введенный в блок 1001 увеличения глубины пикселя в битах, подвергается обработке, заключающейся в увеличении глубины в битах каждого пикселя до глубины (N+M) бит, превышающей N бит на M бит, согласно процедуре, аналогичной процедуре по первому варианту, а затем поступает в процессор 7000 фильтрации для фильтрации каждого пикселя. При выполнении этой обработки, состоящей в фильтрации, здесь используется пространственный фильтр с целью мультиплексирования соседних пикселей, например в одном кадре с помощью коэффициента фильтра с последующим их сложением. На фиг. 30 показан процессор 7000 фильтрации, в котором в качестве пространственного фильтра используется, например, эпсилон-фильтр.
В соответствии с функцией процессора 7000 фильтрации, если P[t] является значением входного пикселя, а Q[t] является значением выходного пикселя, то t указывает позицию пикселя. При фильтрации позиции t значение P[t] входного пикселя и значение Q[t-1] выходного пикселя для пикселя, предшествующего входному пикселю, который запоминается во временной памяти A04, вводятся в сумматор А01 для вычисления разности между ними. В справочной таблице А02 по этой разности d осуществляется поиск F(d). Найденное значение F(d) вводится в сумматор A03 для вычитания из значения P[t] входного пикселя. Эта операция иллюстрируется следующим уравнением
Функция F выражается уравнением (12), причем предполагается, что (int) представляет целочисленное округление в направлении 0.
Что касается содержимого справочной таблицы А02, то в качестве заранее определенных должны храниться только значения, вычисленные с помощью функции F. Например, если значение пикселя составляет n бит, то значение d находится в диапазоне от -2n + 1 до -2n - 1, и следовательно, в справочной таблице будет только 2n+1-1 массивов. u является параметром фильтра, причем эффект от фильтрации возрастает с увеличением значения u. Для фильтрации одного пикселя потребуется только две операции сложения.
На фиг. 31 представлена конкретная блок-схема процессора 7000 фильтрации, в котором используется фильтр по фиг. 30. Этот процессор 7000 фильтрации выполняет обработку, связанную с фильтрацией, по четырем направления кадра. Сначала выполняется постфильтрация кадра справа налево (S101). Затем выполняется постфильтрация в противоположном направлении слева направо (S102). Подобным же образом выполняется постфильтрация сверху вниз (S103), а затем выполняется постфильтрация снизу вверх. Указанная обработка выполняется для каждого из сигналов Y, Cb, Cr. Вышеописанная обработка, заключающаяся в фильтрации в противоположных направлениях, позволяет исключить отклонение по фазе, которое является характерным недостатком фильтров циклического типа.
Также при обработке, связанной с фильтрацией, используют временную фильтрацию, состоящую в умножении соответствующих пикселей из множества кадров на коэффициент фильтра с последующим их суммированием. Также можно применить временную фильтрацию с компенсацией движения. При временной фильтрации с компенсацией движения используется способ, раскрытый в JP-A 2006-36206 (KOKAI).
Обработка, связанная с фильтрацией, в этой конфигурации, не сводится к описанной здесь обработке. Можно использовать обработку любого вида, если она обеспечивает фильтрацию. Также, хотя в четвертом и пятом вариантах сигнал 101 входного изображения кодируется без преобразования глубины пикселя в битах, сигнал 101 входного изображения можно непосредственно подвергнуть вышеописанной фильтрации, а затем этот сигнал может быть закодирован.
(Конфигурация, включающая в себя постфильтр)
В вариантах с первого по пятый блоки 2001 и 2007 уменьшения глубины пикселя в битах могут быть сконфигурированы, как показано на фиг. 32. В этой компоновке сигнал 205 декодированного изображения с увеличенной глубиной в битах, вводимый в блоки 2001 и 2007 увеличения глубины пикселя в битах, вводится в процессор 7001 фильтрации и подвергается обработке, заключающейся в фильтрации, для каждого пикселя. Затем глубина в битах каждого пикселя уменьшается до глубины в битах, меньшей, чем (N+M) бит на М бит согласно процедуре, аналогичной процедуре по первому варианту, и выводится в виде сигнала декодированного изображения глубиной N бит. Для выполняемой здесь обработки, связанной с фильтрацией, можно использовать, например, пространственный фильтр для умножения соседних пикселей в кадре на коэффициент фильтра с последующим их суммированием и временной фильтр для умножения соответствующих пикселей множества кадров на коэффициент фильтра с последующим их суммированием.
(Конфигурация реверсируемого фильтра)
В этой конфигурации можно скомбинировать блок 1001 увеличения глубины пикселя в битах с конфигурацией, выполняющей обработку, связанную с фильтрацией, и выполнить обработку, связанную с фильтрацией, обратную по отношению к обработке, выполняемой процессором 7000 фильтрации в блоке 1001 увеличения глубины пикселя в битах, с использованием процессора фильтрации в блоке 2001 уменьшения глубины пикселя в битах. Например, процессор 7000 фильтрации выполняет обработку, представленную уравнением (14), где предполагается, что значения пикселей для двух соответствующих точек между двумя кадрами составляет x, y соответственно, и предполагается, что соответствующие выходные значения пикселей обозначены как a, b.
При обработке согласно уравнению (14) выполняется операция деления путем смещения на 2 бита вправо. Однако в том случае, когда, например, блок 1001 увеличения глубины пикселя в битах выполняет увеличение путем смещения на 2 бита влево, ошибка округления при обработке, связанной с фильтрацией, согласно уравнению (14) не появляется, и следовательно, не теряется информация входного изображения.
Между тем, процессор 7001 фильтрации на стороне декодирования выполняет обработку, представленную уравнением (15), где предполагается, что значения пикселей для двух соответствующих точек между двумя кадрами сигнала декодированного изображения составляет a', b', и предполагается, что соответствующие выходные значения пикселей обозначены как x', y'.
При обработке согласно уравнению (15) выполняется операция деления путем смещения на 3 бита вправо. Однако в том случае, когда, например, блок 1001 увеличения глубины пикселя в битах выполняет увеличение путем смещения на 3 бита влево, ошибка округления при обработке, связанной с фильтрацией, согласно уравнению (14), не появляется. Другими словами, если предположить, что ошибка квантования, появляющаяся из-за кодирования и декодирования, равна 0, то фильтрация, обратная фильтрации, представленной уравнениями (14) и (15), оказывается реверсивной фильтрацией. Поскольку уравнение (14) предназначено для обработки, заключающейся в сближении значений пикселей для двух соответствующих точек между двумя кадрами, предсказание компенсации движения легко обеспечить, что уменьшает ошибку предсказания. В результате можно уменьшить количество кодированных бит. Кроме того, поскольку увеличение глубины пикселя в битах позволяет выполнять фильтрацию для восстановления исходного входного изображения без ошибки квантования, эффективность кодирования может быть повышена.
Фильтр, используемый для процессоров 7000 и 7001 фильтрации, не ограничивается описанным здесь фильтром, а может быть любым фильтром. Очевидно, что точность предсказаний может быть дополнительно повышена путем использования реверсивного фильтра в соответствии с количеством М бит, на которое происходит увеличение в блоке 1001 увеличения глубины пикселя в битах. В описанном здесь примере обработке, заключающейся в фильтрации, подвергаются две соответствующие точки между двумя кадрами. Однако этот вариант не ограничивается данным примером, и можно использовать, например, пиксели двух или более кадров. Кроме того, пиксели множества точек, таких как две соседние точки в одном кадре или более двух точек могут быть подвергнуты обработке, заключающейся в фильтрации. Кроме того, можно использовать фильтрацию разного вида, например фильтрацию значений пикселей двух соответствующих точек между верхним полем и нижним полем в чересстрочном изображении.
Коэффициент реверсивного фильтра, используемого в процессорах 7000 и 7001 фильтров, выводится в энтропийный кодер 108 и может быть включен в кодированные данные 117. Указанная обработка открывает возможность выполнения кодирования путем выбора коэффициента фильтра, в результате чего улучшается точность предсказания и т.п. для каждого кадра.
(Шестой вариант)
Далее со ссылками на фиг. 33А описывается конфигурация устройства кодирования изображения для видеокодирования согласно шестому варианту.
Это устройство кодирования изображения имеет конфигурацию, похожую на пример конфигурации (фиг. 9), показанной во втором варианте, но отличается тем, что на задней ступени блока 1001 увеличения глубины пикселя в битах предусмотрен блок 3000 вставки информации о водяном знаке.
Далее со ссылками на блок-схему по фиг. 33В описывается работа устройства кодирования изображения. В это устройство кодирования изображения в качестве сигнала 100 изображения вводится в единицах, равных одному кадру, видеосигнал (S151). Блок 1001 увеличения глубины пикселя в битах (преобразователь глубины пикселя в битах) увеличивает значение каждого пикселя сигнала 100 входного изображения глубиной N бит до глубины (N+M) бит, превышающей глубину в N бит на М бит, путем той же самой обработки, что и во втором варианте (S152). Количество бит М, на которое происходит увеличение, вводится в энтропийный кодер 108 в качестве информации 1003 об увеличении глубины в битах контроллером 1002 преобразования глубины в битах.
Когда сигнал 100 входного изображения, чья глубина в битах увеличена, вводится в блок 3000 вставки данных, поток данных, созданный на основе заранее определенного набора параметров, вводится, например, в младший бит каждого пикселя сигнала 100 входного изображения (S153). Предполагается, что созданный поток данных представляет собой слово длиной не более М бит, соответствующих расширенной глубине в битах. Когда входное изображение 100, в которое вставлен поток данных, поступает в вычитатель 101, вычитатель 101 вычисляет разность между сигналом 100 входного изображения, чья глубина в битах увеличена до (N+M) бит, и сигналом 102 предсказываемого изображения, созданным с глубиной (N+M) бит. В результате создается сигнал 103 ошибки предсказания глубиной (N+M) бит. Ортогональный преобразователь 104 подвергает созданный сигнал 103 ошибки предсказания ортогональному преобразованию (например, дискретное косинусное преобразование (DCT)) и создает информацию 105 о коэффициентах ортогонального преобразования (например, информацию о коэффициентах DCT) (S155). Квантователь 106 квантует информацию 105 о коэффициентах ортогонального преобразования и подает квантованную информацию 107 о коэффициентах ортогонального преобразования в энтропийный кодер 108 и блок 109 деквантизации.
Блок 109 деквантизации и обратный ортогональный преобразователь 110 подвергают квантованную информацию 107 о коэффициентах ортогонального преобразования обработке, обратной той, что последовательно выполняют квантователь 106 и ортогональный преобразователь 104, и создает сигнал, аналогичный сигналу ошибки предсказания, то есть сигнал локальной декодированной ошибки. Сумматор 111 добавляет этот сигнал локальной декодированной ошибки к сигналу 102 предсказываемого изображения глубиной (N+M) бит и создает сигнал 112 локального декодированного изображения глубиной (N+M) бит (S156). Контурный фильтр 113 фильтрует сигнал 112 локального декодированного изображения глубиной (N+M) бит, когда это необходимо, а затем запоминает его в памяти 114 кадров. Сигнал 112 локального декодированного изображения, сохраненный в памяти 114 кадров, вводится в генератор 115 предсказываемого изображения.
Генератор 115 предсказываемого изображения создает сигнал предсказываемого изображения глубиной (N+M) бит на основе конкретной информации о режиме предсказания из сигнала 100 входного изображения, чья глубина в битах увеличена до глубины (N+M) бит, и сигнал 112 локального декодированного изображения с глубиной (N+M) бит. В то же время преобразователем 1005 глубины пикселя в битах выполняется согласование (например, поблочное согласование) для каждого блока в кадре между сигналом 100 входного изображения глубиной (N+M) бит и сигналом 112 локального декодированного изображения с глубиной, увеличенной до (N+M) бит, для обнаружения вектора движения (S157). Сигнал предсказываемого изображения глубиной (N+M) бит создается с использованием сигнала локального изображения глубиной (N+M) бит, который скомпенсирован указанным вектором движения (S157). Генератор 115 предсказываемого изображения выводит созданный сигнал 102 предсказываемого изображения глубиной (N+M) бит вместе с информацией 116 о векторе движения/режиме предсказания выбранного сигнала предсказываемого изображения.
Энтропийный кодер 108 выполняет энтропийное кодирование квантованной информации 107 о коэффициентах ортогонального преобразования, информации 116 о векторе движения/режиме предсказания и информации 1003 об увеличении глубины в битах (S159)и посылает созданные таким образом кодированные данные 117 в систему передачи или запоминающее устройство (не показано).
Настоящий вариант может использовать данные, мультиплексированные с дополнительным синтаксисом, по аналогии с первым вариантом.
Конфигурация устройства декодирования изображения согласно настоящему изобретению поясняется со ссылками на фиг. 34А. Это устройство декодирования изображения имеет конфигурацию, похожую на пример конфигурации (фиг. 10), показанный во втором варианте, но отличается тем, что между контурным фильтром 113 и блоком 2001 уменьшения глубины пикселя в битах (преобразователь глубины пикселя в битах) предусмотрен детектор водяного знака.
Далее со ссылками на блок-схему на фиг. 34В будет описана работа устройства декодирования изображения. Когда кодированные данные 117, закодированные устройством кодирования изображения по фиг. 11А, вводятся в устройство декодирования изображения (S161), энтропийный декодер 200 декодирует кодированные данные 117 с помощью процедуры, обратной энтропийному кодированию, для обеспечения квантованной информации 107 о коэффициентах ортогонального преобразования, информации 116 о векторе движения /режиме предсказания и информации 2004 об увеличении глубины в битах (S162). Блок 109 деквантизации и обратный ортогональный преобразователь 110 подвергают квантованную информацию 107 о коэффициентах ортогонального преобразования обработке, обратной той, которую последовательно выполняют квантователь 106 и ортогональный преобразователь 104, для преобразования ее в остаточный сигнал 201 глубиной (N+M) бит (S163). При вводе информации 2004 об увеличении глубины в битах, выведенной из энтропийного декодера 200, в контроллер 2002 преобразования глубины в битах, этот контроллер 2002 выводит информацию 2003 о преобразовании глубины в битах, определяющую количество бит M, которое указывает, на сколько бит увеличивает декодированное изображение.
При вводе информации 116 о векторе движения/режиме предсказания в генератор 115 предсказываемого изображения, из сигнала 204 опорного изображения с увеличенной глубиной в (N+M) бит создается сигнал 102 предсказываемого изображения глубиной (N+M) бит на основе информации 116 о векторе движения/режиме предсказания (S164). Сумматор 111 добавляет остаточный сигнал 201 глубиной (N+M) бит к сигналу 102 предсказываемого изображения глубиной (N+M) бит. Контурный фильтр 113 фильтрует суммарный сигнал, если это необходимо и выводит сигнал 203 декодированного изображения с увеличенной глубиной (N+M) бит (S165).
Этот сигнал 203 декодированного изображения с увеличенной глубиной в битах запоминается в памяти 114 кадров и вводится в детектор 3002 водяного знака. Детектор 3002 водяного знака определяет, например, является ли младший бит каждого пикселя в декодированном изображении 203 с увеличенной глубиной в битах данными водяного знака, и выводит информацию 3003 об обнаружении водяного знака, указывающую, содержит ли он данные водяного знака (S166). Определение того, имеются ли данные водяного знака, осуществляется с использованием способа, основанного на вычислении коэффициента корреляции, например, между известным образом водяного знака и M младшими битами декодированного изображения 203 с увеличенной глубиной в битах, и определении того, что это данные водяного знака, когда значение указанного коэффициента не меньше заданного порога.
Сигнал 203 декодированного изображения с увеличенной глубиной в битах вводится в преобразователь 2007 глубины пикселя в битах, и значение каждого пикселя подвергается той же обработке, которую выполняет блок уменьшения глубины пикселя в битах в устройстве декодирования изображения по первому варианту, например согласно уравнению (2) на основе информации 2003 о преобразовании глубины в битах, в результате чего глубина пикселя в битах уменьшается до уменьшенного на М бит значения (S167), и получается декодированное изображение с той же глубиной в N бит, что и входное изображение (S168).
Согласно вышеописанной конфигурации, поскольку сигнал предсказываемого изображения создается с точностью, превышающей точность сигнала входного изображения на М бит, может быть повышена точность фильтра компенсации движения или контурного фильтра, внутрикадрового предсказания или т.п. Соответственно, поскольку сигнал ошибки предсказания может быть уменьшен, имеется возможность повышения эффективности кодирования. Кроме того, можно вставить информацию о водяном знаке без изменения входного изображения путем вставки водяного знака с использованием увеличенного количества младших бит.
В вариантах со второго по шестой количество бит M, на которое происходит увеличение или уменьшение, подвергается энтропийному кодированию, и это число представляется в качестве информации об увеличении глубины в битах, которая содержится в кодированных данных. В случае, когда глубина в битах увеличивается или уменьшается на количество бит, определенное заранее устройством кодирования изображения и устройством декодирования изображения, количество бит М не обязательно должно содержаться в кодированных данных. Кроме того, в случае, когда глубина в битах увеличивается или уменьшается на количество бит, определенное заранее, в кодированные данные может быть включен только флаг, указывающий на увеличение или уменьшение количества бит. В этом случае, если значение этого флага равно TRUE, переключатель подсоединяется к выводу ON в блоке 1001 увеличения глубины пикселя в битах, блоке 2001 уменьшения глубины пикселя в битах или преобразователе 2007 глубины пикселя в битах. С другой стороны, если значение флага равно FALSE, переключатель подсоединяется к выводу OFF.
Во втором и третьем вариантах, если количество бит L, на которое происходит уменьшение, когда сигнал локального декодированного изображения запомнен в памяти кадров, имеет то же значение, что и М, значение L нет необходимости включать в кодированные данные. Кроме того, независимо от того, являются ли M и L одинаковыми или разными, если они являются заранее зафиксированными числами, эти числа M и L нет необходимости включать в кодированные данные.
Увеличение значений глубины пикселей в битах сигнала входного изображения или сигнала локального декодированного изображения эквивалентно повышению точности целочисленной арифметической операции на стадии обработки, связанной с кодированием/декодированием. Можно обеспечить необходимую операционную точность в произвольный момент стадии обработки и включить в кодированные данные флаг или информацию, указывающую значения точности этих операций. На ступени обработки, связанной с кодированием/декодированием, при комбинировании вариантов, например с первого по пятый, кодированные данные содержат флаг, указывающий, увеличивать ли глубину пикселя в битах, запомненную в памяти кадров, и флаг, указывающий, увеличивать ли глубину пикселя в битах для ошибки предсказания, подвергнутой ортогональному преобразованию/квантованию, в результате чего точность операции ортогонального преобразования/квантования повышается. В устройство кодирования и устройство декодирования можно внести изменения в зависимости от включения/выключения этих флагов, указывающих, увеличивается ли глубина пикселя в битах, запомненная в памяти кадров, или, увеличивается ли глубина пикселя в битах для ошибки предсказания, подвергнутой ортогональному преобразованию/квантованию. Кроме того, когда эти флаги включены, данные, указывающие, на сколько бит выполняется увеличение или уменьшение, могут содержаться в кодированных данных. Флаг, указывающий должна ли быть увеличена операционная точность некоторой операции при обработке, связанной с кодированием/декодированием, или данные, указывающие количество бит, на которое происходит увеличение, не направляются в память кадров или для ортогонального преобразования/квантования, но могут быть добавлены данные, указывающие флаг, например, для контурного фильтра или количества бит, на которое происходит увеличение. Если указанный процесс является частью процедуры кодирования/декодирования, то такой флаг может быть введен в кодированные данные путем его установки, для данного процесса или набора из множества процессов, причем этот флаг будет указывать, повысить ли операционную точность, либо упомянутые данные будут указывать количество бит, на которое происходит увеличение.
(Седьмой вариант)
Конфигурация устройства кодирования изображения по седьмому варианту поясняется со ссылками на фиг. 35А. Конфигурация этого варианта в основном совпадает с конфигурацией по фиг. 11, но отличается от варианта на фиг. 11 тем, что блок 1004 уменьшения глубины пикселя в битах (блок уменьшения глубины пикселя в битах) предусмотрен между генератором 115 предсказываемого изображения и вычитателем 101, а между сумматором 111 и контурным фильтром 112 предусмотрен блок 1007 увеличения глубины пикселя в битах (преобразователь с увеличением глубины пикселя в битах).
Далее со ссылками на блок-схему по фиг. 35В описывается работа устройства кодирования изображения. В это устройство кодирования изображения вводится видеосигнал в виде сигнала 100 изображения в единицах, равных одному кадру (S171). Блок 1001 увеличения глубины пикселя в битах сконфигурирован, как это показано на фиг. 2, причем он на основе флага H1001 управления, основанного на ранее упомянутой информации о синтаксисе, которая включена в информацию 1010 о преобразовании в битах, определяет, увеличить ли значение каждого пикселя сигнала 100 входного изображения глубиной N бит до глубины (N+M) бит, превышающей N бит на M бит (S172). Когда флаг F1001 управления находится в состоянии ON (включен), переключатель E0 в блоке 1001 увеличения глубины пикселя в битах устанавливается в положение ON, и глубина в битах каждого пикселя сигнала 112 локального декодированного изображения увеличивается путем обработки, аналогичной обработке, выполняемой преобразователем 1001 глубины пикселя в битах в первом варианте (S173). Например, когда значение пикселя сигнала входного изображения равно K, значение K' пикселя после увеличения на M бит вычисляют согласно операции, например, по уравнению (1) или уравнениям (1-1), (1-2), (1-3).
Когда флаг F1001 управления равен OFF (выключен), переключатель E0 подсоединяется к стороне OFF, так что процесс увеличения глубины каждого пикселя в битах не выполняется. В энтропийный кодер 108 в качестве информации 1003 об увеличении глубины в битах контроллером 1002 преобразования глубины в битах вводится информация о преобразовании, такая как количество бит М, на которое происходит увеличение.
Вычитатель 101 вычисляет разность между сигналом 100 входного изображения и сигналом 102 предсказываемого изображения для создания сигнала 103 ошибки предсказания (S174). Ортогональный преобразователь 104 подвергает созданный сигнал 103 ошибки предсказания ортогональному преобразованию (например, дискретное косинусное преобразование (DCT)) и создает информацию 105 о коэффициентах ортогонального преобразования (например, информация о коэффициентах DCT) (S175). Квантователь 106 квантует информацию 105 о коэффициентах ортогонального преобразования и подает квантованную информацию 107 о коэффициентах ортогонального преобразования в энтропийный кодер 108 и блок 109 деквантизации.
Блок 109 деквантизации и обратный ортогональный преобразователь 110 подвергают квантованную информацию 107 о коэффициентах ортогонального преобразования последовательной обработке, обратной той, которую последовательно выполняют квантователь 106 и ортогональный преобразователь 104, для преобразования ее в сигнал, подобный сигналу ошибки предсказания, то есть сигнал локальной декодированной ошибки. Сумматор 111 добавляет этот сигнал локальной декодированной ошибки к сигналу 102 предсказываемого изображения для создания сигнала 112 локального декодированного изображения (S176). Сигнал 112 локального декодированного изображения вводится в блок 1007 увеличения глубины пикселя в битах, чтобы определить, увеличить ли глубину в битах каждого пикселя сигнала 112 локального декодированного изображения, на основе флага F1007 управления, основанного на нижеупомянутой информации о синтаксисе, которая включена в информацию 1010 о преобразовании в битах (S177). Когда флаг 1007 управления находится в состоянии ON, переключатель E0 в блоке 1007 увеличения глубины пикселя в битах устанавливается в состояние ON, в результате чего глубина в битах каждого пикселя сигнала 112 локального декодированного изображения увеличивается путем обработки, аналогичной обработке, которая выполняется преобразователем 1007 глубины пикселя в битах в четвертом варианте (S178). Когда флаг F1007 управления находится в состоянии OFF, обработка с целью увеличения глубины в битах пикселя не выполняется.
Контурный фильтр 113 подвергает сигнал 112 локального декодированного изображения, выведенный из блока 1007 увеличения глубины пикселя в битах, фильтрации, когда это необходимо, а затем вводит его в преобразователь 1005 глубины пикселя в битах. Преобразователь 1005 глубины пикселя в битах определяет, выполнить ли преобразование глубины в битах каждого пикселя сигнала 112 локального декодированного изображения, на основе флага F1005 управления, основанного на вышеупомянутой информации о синтаксисе, которая содержится в информации 1010 о преобразовании в битах (S179). Когда флаг F1005 управления находится в состоянии ON, переключатель E3 в блоке 1005 увеличения глубины пикселя в битах устанавливается в положение ON, так что глубина в битах каждого пикселя сигнала 112 локального декодированного изображения увеличивается посредством обработки, аналогичной обработке, которую выполняет преобразователь 1005 глубины пикселя в битах в третьем варианте (S180). Когда флаг F1005 управления находится в состоянии OFF, обработка с целью преобразования глубины в битах не выполняется. Сигнал 112 локального изображения, выведенный из преобразователя 1005 глубины пикселя в битах, запоминается в памяти 114 кадров (S181). Сигнал локального изображения, сохраненный в памяти 114 кадров, вводится далее в преобразователь 1006 глубины пикселя в битах. Преобразователь 1006 глубины пикселя в битах на основе флага F1006 управления, основанного на ранее упомянутой информации о синтаксисе, которая включена в информацию 1010 о преобразовании в битах, определяет, выполнять ли преобразование глубины в битах каждого пикселя сигнала 112 локального декодированного изображения (S182). Когда флаг F1006 управления находится в состоянии ON, переключатель E3 в блоке 1006 увеличения глубины пикселя в битах устанавливается в положение ON, так что глубина в битах каждого пикселя сигнала 112 локального декодированного изображения увеличивается посредством обработки, аналогичной обработке, которую выполняет преобразователь 1006 глубины пикселя в битах в третьем варианте (S183). Когда флаг F1006 управления находится в состоянии OFF, обработка с целью преобразования глубины в битах не выполняется. Сигнал 112 локального изображения, выведенный из преобразователя 1006 глубины пикселя в битах, вводится в генератор 115 предсказываемого изображения.
Генератор 115 предсказываемого изображения создает сигнал предсказываемого изображения на основе конкретной информации о режиме предсказания из сигнала 100 входного изображения и сигнала 112 локального декодированного изображения, запомненного в памяти 114 кадров (S184). В это время сигнал 112 локального декодированного изображения из сумматора 111 временно сохраняется в памяти 114 кадров, и для каждого блока выполняется согласование (например, поблочное согласование) между сигналом 100 входного изображения и локальным сигналом 112 декодированного изображения, сохраненного в памяти 114 кадров, для обнаружения вектора движения. Создается сигнал предсказываемого изображения с использованием сигнала локального изображения, скомпенсированного указанным вектором движения. Генератор 115 предсказываемого изображения выводит созданный сигнал 102 предсказываемого изображения вместе с информацией 116 о векторе движения/режиме предсказания выбранного сигнала предсказываемого изображения.
Сигнал 102 предсказываемого изображения, выведенный из генератора 115 предсказываемого изображения, вводится в блок 1004 уменьшения глубины пикселя в битах. Блок 1004 уменьшения глубины пикселя в битах на основе флага F1004 управления, основанного на нижеупомянутой информации о синтаксисе, которая включена в информацию 1010 о преобразовании в битах, определяет, уменьшать ли глубину в битах каждого пикселя сигнала 102 предсказываемого изображения (S185). Когда флаг F1004 управления находится в состоянии ON, переключатель E2 в блоке 1004 уменьшения глубины пикселя в битах устанавливается в положение ON, так что глубина в битах каждого пикселя сигнала 102 предсказываемого изображения уменьшается посредством обработки, аналогичной данному варианту (S186). Когда флаг F1004 управления находится в состоянии OFF, обработка с целью преобразования глубины в битах не выполняется.
Энтропийный кодер 108 выполняет энтропийное кодирование квантованной информации 107 о коэффициентах ортогонального преобразования, информации 116 о векторе движения/режиме предсказания и информации 1003 об увеличении глубины в битах (S187), и созданные кодированные данные 117 посылаются в систему передачи или запоминающее устройство (не показано).
Далее объясняется способ кодирования флага управления, который определяет, увеличивать, уменьшать или преобразовывать глубину в битах.
В настоящем изобретении можно передавать флаг управления для управления путем создания указания о том, увеличивать, уменьшать или преобразовывать глубину в битах, или о количестве бит, на которое увеличивается глубина, путем введения этих указаний в синтаксис (404) набора параметров последовательности. Соответствующие синтаксисы поясняются ниже.
Флаг ex_seq_all_bit_extension_flag, показанный в синтаксисе набора параметров последовательности по фиг. 36, является флагом, указывающим, увеличивать ли глубину в битах. Когда этот флаг равен TRUE, это указывает на выполнение кодирования и декодирования с использованием данных, каждый пиксель которых увеличен по глубине в битах для всех шин данных, охваченных кодированием и декодированием. Когда этот флаг равен FALSE, он указывает на то, что не следует выполнять кодирование и декодирование с использованием сигала изображения, каждый пиксель которого увеличен по глубине в битах для всех шин данных, охваченных кодированием и декодированием, либо указывает, что следует выполнять кодирование и декодирование с использованием сигнала изображения, каждый пиксель которого увеличивается по глубине в битах только для части шин данных.
Когда ex_seq_bit_extension_flag равен TRUE, далее может передаваться параметр ex_seq_shift_bits, указывающий, на сколько бит увеличивается глубина.
Когда флаг ex_seq_all_bit_extension_flag равен FALSE, то далее может передаваться флаг ex_seq_partial_bit_extension_flag, указывающий, увеличивать ли глубину пикселя в битах сигнала изображения, введенного в генератор предсказываемого изображения, в рамках кодирования и декодирования. Когда этот флаг равен TRUE, он указывает на использование каждого пикселя сигнала изображения, глубина в битах которого увеличена, при создании предсказываемого изображения при внутренней обработке, связанной с кодированием/декодированием. С другой стороны, когда указанный флаг равен FALSE, это указывает на то, что не следует использовать сигнал изображения, каждый пиксель которого увеличен по глубине в битах, во всех шинах данных в рамках кодирования и декодирования.
Когда флаг ex_seq_partial_bit_extension_flag равен TRUE, далее может передаваться параметр ex_seq_partial_shift_bits, указывающий, на сколько бит увеличивается глубина пикселя в битах сигнала изображения, введенного в генератор 112 предсказываемого изображения, по сравнению с глубиной пикселя в битах сигнала входного изображения.
Когда ex_seq_partial_bit_extension_flag равен TRUE, далее может передаваться флаг, указывающий, использовать ли сигнал изображения, каждый пиксель которого увеличен по глубине в битах в части шин данных внутри кодирования/декодирования. В примере, показанном на фиг. 36, передаются флаг ex_seq_framemem_bit_extension_flag, указывающий, увеличивать ли глубину пикселя в битах сигнала опорного изображения, подлежащего хранению в памяти 114 кадров, и флаг ex_seq_trans_and_quant_bit_extension_flag, указывающий, увеличивать ли глубину пикселя в битах сигнала ошибки предсказания, введенного в или выведенного из ортогонального преобразователя и квантователя (ортогональный преобразователь 104, квантователь 106, блок 109 деквантизации и обратный ортогональный преобразователь 110).
Когда флаг ex_seq_framemem_bit_extension_flag равен TRUE, он указывает, что глубину пикселя в битах сигнала опорного изображения, подлежащего хранению в памяти кадров, следует увеличить. Когда этот флаг равен FALSE, это указывает на то, что глубина пикселя в битах сигнала опорного изображения, подлежащего хранению в памяти кадров, совпадает с глубиной пикселя в битах входного изображения.
Когда флаг ex_seq_framemem_bit_extension_flag равен TRUE, может передаваться параметр ex_seq_framemem_shift_bits, указывающий, на сколько бит увеличивается глубина пикселя в битах сигнала изображения, подлежащего хранению в памяти кадров, по сравнению с глубиной пикселя в битах сигнала входного изображения.
Когда флаг ex_seq_trans_and_quant_bit_extension_flag равен TRUE, он указывает на то, что следует увеличить глубину пикселя в битах сигнала ошибки предсказания, введенного в или выведенного из ортогонального преобразователя и квантователя (ортогональный преобразователь 104, квантователь 106, блок 109 деквантизации и обратный ортогональный преобразователь 110). Другими словами, это указывает на то, что увеличивается глубина в битах каждого пикселя сигнала входного изображения и сигнала предсказываемого изображения, а сигнал ошибки предсказания является дифференциальным сигналом между сигналом входного изображения и сигналом предсказываемого изображения, глубина в битах каждого пикселя которого увеличивается.
Когда упомянутый флаг равен FALSE, этот флаг указывает, что сигнал ошибки предсказания, введенный в или выведенный из ортогонального преобразователя и квантователя (ортогональный преобразователь 104, квантователь 106, блок 109 деквантизации и обратный ортогональный преобразователь 110) является дифференциальным сигналом между сигналом входного изображения и сигналом предсказываемого изображения той же точности в битах, что и сигнал входного изображения.
Когда ex_seq_trans_and_quant_bit_extension_flag равен TRUE, то может далее передаваться параметр ex_seq_trans_and_quant_shift_bits, указывающий на сколько бит увеличивается глубина пикселя сигнала входного изображения и сигнала предсказываемого изображения, по сравнению с глубиной пикселя в битах сигнала входного изображения, при создании сигнала ошибки предсказания, введенного в или выведенного из ортогонального преобразователя и квантователя (ортогональный преобразователь 104, квантователь 106, блок 109 деквантизации и обратный ортогональный преобразователь 110).
Когда на стороне кодирования и стороне декодирования каждый флаг равен TRUE, количество бит, на которое происходит увеличение или уменьшение согласно заранее установленному количеству бит, может передаваться только флаг, указывающий, преобразуется ли глубина пикселя в битах сигнала изображения, как показано на фиг. 37.
Пример настройки флагов F1001, F1007, F1005, F1006 и F1004, используемых при обработке в устройстве кодирования изображения, показанном на фиг. 35, на основе значений синтаксисов, показан на фиг. 38. На фиг. 38 столбец «Все» показывает значение флага ex_seq_all_bit_extension_flag. Аналогичным образом столбцы «Часть», «fm» и «t/q» показывают значения флагов ex_seq_partial_bit_extension_flag, ex_seq_framemem_bit_extension_flag, и ex_seq_trans_and_quant_bit_extension_flag соответственно. 0 указывает FALSE, 1 указывает TRUE, а знак «-» указывает на отсутствие синтаксиса. В столбцах F1001, F1007, F1005, F1006 и F1004 флага управления показаны значения флагов управления, установленные на основе значений соответствующих синтаксисов. 1 - указывает ON, а 0 - указывает OFF. Например, когда ex_seq_all_bit_extension_flag равен TRUE, из таблицы видно, что только флаг F1001 управления находится в состоянии ON, а остальные флаги находятся в состоянии OFF.
На фиг. 40 показан пример настройки флагов управления F2001, F2005, F2006, F2007, и F2008, используемых при обработке, выполняемой в вышеупомянутом устройстве декодирования изображения. Соответствующие флаги указывают значения, аналогичные значениям на фиг. 38. В настоящем изобретении можно использовать данные, мультиплексированные с дополнительным синтаксисом по аналогии с первым вариантом.
Конфигурация устройства декодирования, относящегося к настоящему изобретению, поясняется со ссылками на фиг. 39А. Как показано на фиг. 39А, это устройство декодирования изображения содержит энтропийный декодер 200, блок 109 деквантизации, обратный ортогональный преобразователь 110, сумматор 111, контурный фильтр 113, память 114 кадров, генератор 115 и предсказываемого изображения, блоки 2001, 2006 уменьшения глубины пикселя в битах (преобразователи с уменьшением глубины пикселя в битах), блок 2005 увеличения глубины пикселя в битах (преобразователь с увеличением глубины пикселя в битах), преобразователи 2007, 2008 глубины пикселя в битах (преобразователи глубины пикселя в битах) и контроллер 2002 преобразования глубины в битах. Другими словами, выход энтропийного декодера 200 для информации о коэффициентах подсоединен к сумматору 111 через блок 109 деквантизации и обратный ортогональный преобразователь 110. Выход энтропийного декодера 200 для информации о векторе движения/режиме предсказания подсоединен к генератору 115 предсказываемого изображения, а его выход для информации в битах подсоединен к контроллеру 2002 преобразования глубины в битах. Выход генератора 115 предсказываемого изображения подсоединен к сумматору 111 через блок уменьшения глубины пикселя в битах. Выход сумматора 111 подсоединен к памяти 114 кадров через блок 2005 увеличения глубины пикселя в битах, контурный фильтр 113 и преобразователь 2007 глубины в битах. Другой выход контурного фильтра 113 подсоединен к входу блока 2001 уменьшения глубины пикселя в битах. Память 114 кадров подсоединена к преобразователю 2008 глубины пикселя в битах вместе с выходом контроллера 2002 преобразования глубины в битах. Выход преобразователя 2008 глубины пикселя в битах подсоединен к другому входу генератора 115 предсказываемого изображения. Выход контроллера 2002 преобразования глубины в битах подсоединен к другим входам блока 2001 уменьшения глубины пикселя в битах, блока 2005 увеличения глубины в битах, блока 2006 уменьшения глубины пикселя в битах, преобразователя 2007 глубины в битах и преобразователя 2008 глубины пикселя в битах.
Далее со ссылками на фиг. 39В описывается работа устройства декодирования изображения. При вводе кодированных данных 117, закодированных устройством кодирования изображения по фиг. 9, в устройство декодирования изображения (S201), они декодируются в соответствии с процедурой, обратной энтропийному кодированию энтропийным декодером 200, в результате чего создается квантованная информация 107 о коэффициентах ортогонального преобразования, информация 116 о векторе движения /режиме предсказания и информация 2004 об увеличении глубины в битах (шаг S202). При вводе информации 2004 об увеличении глубины в битах в контроллер 2002 преобразования глубины в битах контроллер 2002 преобразования глубины в битах выводит флаг управления, указывающий, выполняется ли преобразование глубины пикселя в битах в блоках 2001, 2006 уменьшения глубины в битах, блоке 2005 увеличения глубины пикселя в битах и преобразователях 2007, 2008 глубины пикселя в битах, и выводит информацию 2003 о преобразовании глубины в битах, в том числе информацию, указывающую, подлежит ли глубина в битах увеличению или уменьшению и т.п. Флаги управления, включенные в указанную информацию о преобразовании глубины в битах, настраивают, как показано на фиг. 40, соответствующим образом на основе значения синтаксиса (фиг. 36), мультиплексированного, например с кодированными данными в качестве информации 2004 об увеличении глубины в битах для кодированных данных 117, и включаются в информацию 2003 о преобразовании глубины в битах.
Квантованная информация 107 о коэффициентах ортогонального преобразования подвергается последовательной обработке (обратной по отношению к обработке, последовательно выполняемой квантователем 106 и ортогональным преобразователем 104) блоком 109 деквантизации и обратным ортогональным преобразователем для преобразования в остаточный сигнал 201 (S203). Информация 116 о векторе движения/режиме предсказания вводится в генератор 115 предсказываемого изображения и запоминается в памяти 114 кадров. Сигнал 102 предсказываемого изображения создается на основе информации 116 о векторе движения/режиме предсказания из сигнала 203 декодированного изображения, каждый пиксель которого преобразуется по глубине преобразователем 2008 глубины пикселя в битах, когда это необходимо (S204). Сигнал 102 предсказываемого изображения вводится в блок 2006 уменьшения глубины пикселя в битах, чтобы определить, преобразовывать ли глубину в битах каждого пикселя сигнала 102 предсказываемого изображения, на основе флага F2006 управления, содержащегося в информации 2003 о преобразовании глубины в битах (S205). Когда флаг F2006 управления находится в состоянии ON, переключатель E2 в блоке 2006 уменьшения глубины пикселя в битах устанавливается в положение ON, в результате чего глубина в битах каждого пикселя сигнала 102 предсказываемого изображения уменьшается в результате обработки, аналогичной обработке, выполняемой блоком 2006 уменьшения глубины пикселя в битах в четвертом варианте (S206). Когда флаг F2006 управления находится в состоянии OFF, обработка с целью преобразования глубины пикселя в битах не выполняется.
Сигнал 102 предсказываемого изображения, выведенный из блока 2006 уменьшения глубины пикселя в битах, и остаточный сигнал 201 суммируются в сумматоре 111 для создания сигнала декодированного изображения (S207). Сигнал 203 декодированного изображения вводится в блок 2005 увеличения глубины пикселя в битах. Преобразователь 2005 глубины пикселя в битах на основе флага F2005 управления, включенного в информацию 2003 о преобразовании глубины в битах, определяет, увеличивать ли глубину в битах каждого пикселя сигнала 203 декодированного изображения. Когда флаг F2005 управления находится в состоянии ON, переключатель E1 в блоке 2005 увеличения глубины пикселя в битах устанавливается в положение ON, в результате чего глубина в битах каждого пикселя сигнала 203 декодированного изображения увеличивается посредством обработки, аналогичной той, которая выполняется преобразователем 2005 глубины пикселя в битах в четвертом варианте (S209). Когда флаг F2005 управления находится в состоянии OFF, обработка с целью преобразования глубины пикселя в битах не выполняется.
Сигнал 203 декодированного изображения, выводимый из блока 2005 увеличения глубины пикселя в битах, подвергается обработке, состоящей в фильтрации, с помощью контурного фильтра 113, когда это необходимо, а затем выводится в блок 2001 уменьшения глубины пикселя в битах и преобразователь 2007 глубины пикселя в битах.
При вводе сигнала 203 декодированного изображения в преобразователь 2007 глубины пикселя в битах преобразователь 2007 глубины пикселя в битах определяет, преобразовывать ли глубину в битах каждого пикселя сигнала 203 декодированного изображения, на основе флага F2007 управления, включенного в информацию 2003 о преобразовании глубины в битах (S210). Когда флаг F2007 управления находится в состоянии ON, переключатель E3 в блоке 2007 увеличения глубины пикселя в битах устанавливается в положение ON, в результате чего глубина в битах каждого пикселя сигнала 203 декодированного изображения преобразуется посредством обработки, аналогичной той, которая выполняется преобразователем 2007 глубины пикселя в битах в третьем варианте (S211). Когда флаг F2007 управления находится в состоянии OFF, обработка с целью преобразования глубины пикселя в битах не выполняется.
Сигнал 203 декодированного изображения, выводимый из преобразователя 2007 увеличения глубины пикселя в битах, запоминается в памяти 11 кадров (S212). При вводе сигнала 203 декодированного изображения, запомненного в памяти 114 кадров, в преобразователь 2008 глубины пикселя в битах преобразователь 2008 глубины пикселя в битах определяет, преобразовывать ли глубину в битах каждого пикселя сигнала 203 декодированного изображения, на основе флага F2008 управления, включенного в информацию 2003 о преобразовании глубины в битах (S213). Когда флаг F2008 управления находится в состоянии ON, переключатель E3 в блоке 2008 увеличения глубины пикселя в битах устанавливается в положение ON. При этом глубина в битах каждого пикселя сигнала 203 декодированного изображения преобразуется посредством обработки, аналогичной той, которая выполняется преобразователем 2008 глубины пикселя в битах в третьем варианте (S214). Когда флаг F2008 управления находится в состоянии OFF, обработка с целью преобразования глубины пикселя в битах не выполняется. Сигнал изображения, выведенный из преобразователя 2008 глубины пикселя в битах, водится в генератор 115 предсказываемого изображения (S215).
Сигнал 203 декодированного изображения подвергается фильтрации контурным фильтром 1113, когда это необходимо, и выводится в блок 2001 уменьшения глубины пикселя в битах. При вводе сигнала 203 декодированного изображения в блок 2001 уменьшения глубины пикселя в битах, блок 2001 уменьшения глубины пикселя в битах определяет, преобразовывать ли глубину в битах каждого пикселя сигнала 203 декодированного изображения, на основе флага F2001 управления, включенного в информацию 2003 о преобразовании глубины в битах (S216). Когда флаг F2001 управления находится в состоянии ON, переключатель E2 в блоке 2001 увеличения глубины пикселя в битах устанавливается в положение ON. Таким образом, глубина в битах каждого пикселя сигнала 203 декодированного изображения уменьшается посредством обработки, аналогичной той, которая выполняется блоком 2001 уменьшения глубины пикселя в битах в первом варианте (S217). Когда флаг F2001 управления находится в состоянии OFF, обработка с целью преобразования глубины в битах не выполняется, и сигнал выводится в виде сигнала 202 декодированного изображения, как он есть.
Как было описано выше, декодированное изображение 202 с той же глубиной в N бит, что и входное изображение, введенное в устройство кодирования изображения, выводится из блока 2001 уменьшения глубины пикселя в битах (S218).
В вышеупомянутой конфигурации, как показано на фиг. 35 и 39, память кадров, ортогональное преобразование и операционная точность квантования могут быть изменены с помощью флага на основе информации о синтаксисе, включенной в кодированные данные, а кодирование может выполняться с подходящей точностью в соответствии с ограничениями на эксплуатационные расходы на стороне кодера или стороне декодера. В этой конфигурации, если любой из флагов управления находится в состоянии ON, глубина пикселя в битах сигнала изображения, введенного в генератор предсказываемого изображения, вводится с более высокой точностью, чем для сигнала 100 входного изображения, в результате чего может быть повышена операционная точность при создании предсказываемого изображения, а также может быть повышена эффективность кодирования.
На фигурах 35 и 39 некоторые из блоков: блок увеличения глубины пикселя в битах, блок уменьшения глубины пикселя в битах и преобразователь глубины пикселя в битах опущены, причем конфигурация устройства может быть такой, как показано в вариантах со второго по пятый. Выполнять ли преобразование глубины в битах, определяется в соответствии со значением, заданным флагом ex_seq_all_bit_extension_flag в синтаксисе, показанном, например, на фиг. 36 в блоке расширения глубины пикселя в битах, блоке уменьшения глубины пикселя в битах и преобразователе глубины пикселя в битах.
Можно обеспечить управление, состоящее в том, что при значении флага ex_seq_all_bit_extension_flag, равном TRUE, обработка с целью преобразования глубины в битах каждого пикселя будет выполняться блоком увеличения глубины пикселя в битах, блоком уменьшения глубины пикселя в битах и преобразователем глубины пикселя в битах в каждой конфигурации, а если значение указанного флага равно FALSE, то обработка, связанная с преобразованием глубины, выполняться не будет.
При выполнении квантования/деквантизации предполагается, что величина шага квантования при квантовании составляет Qstep в случае, когда входное изображение соответствует глубине N бит. В этом случае, при величине шага квантования Qstep', используемого при квантовании/деквантизации во втором и третьем вариантах, можно использовать Qstep', вычисленный посредством следующего уравнения, с учетом точности остатка для увеличения до глубины (N+M) бит, когда глубина в битах увеличивается или уменьшается на М бит.
В результате можно получить кодированные данные о количестве кодированных бит, примерно эквивалентном случаю кодирования входного изображения, эквивалентного глубине N бит как они есть. Далее раскрывается причина увеличения эффективности кодирования при изменении величины шага квантования в соответствии с глубиной в битах, увеличенной указанным способом. На фиг. 41 показана таблица, представляющая значения предсказываемого пикселя с точностью 8 бит в зависимости от значения входного пикселя (8 бит) на каждой позиции пикселя в соответствии со стандартом H.264 и значения предсказываемого пикселя с точностью 12 бит согласно настоящему изобретению. На фиг. 42 это показано в виде графика (предполагается, что интерполяционный фильтр на позиции полпикселя имеет 6 отводов {1/32, -5/32, 20/32, 20/32, -5/32, 1/32}).
Как было описано выше, когда сигнал входного изображения составляет 8 бит, (представлено квадратиками на фиг. 42), а сигнал предсказываемого изображения, составляет 8 бит, также как сигнал входного изображения (представлен на фиг. 42 ромбиками), значение пикселя, интерполированное по позиции с точностью полпикселя, будет содержать ошибку округления. В противоположность этому, когда создается предсказываемое изображение, например, из 12 бит путем увеличения глубины в битах, как было описано в настоящем варианте (представлено на фиг. 42 кружками), ошибка округления значения пикселя, интерполированного по позиции с точностью полпикселя, уменьшается. При увеличении глубины в битах глубина в битах остатка возрастает до 12 бит по сравнению с глубиной в битах до ее увеличения. Следовательно, абсолютное значение остатка возрастает по сравнению со случаем получения остатка при 8 битах без увеличения глубины в битах. Однако, поскольку ошибка округления уменьшается, уменьшается ошибка, появляющаяся при квантовании изображения с величиной шага квантования, выраженной уравнением (16), и имеющая фактически то же самое количество бит, в результате чего появляется возможность повышения эффективности кодирования.
В настоящем изобретении, как показано на фиг. 43, это может быть сделано при глубине в битах, превышающей глубину входного изображения на M бит, причем сигнал предсказываемого изображения создается с точностью, большей на M бит, чем для входного сигнала. Следовательно, повышается точность фильтра для компенсации движения, контурного фильтра, внутрикадрового предсказания изображения и т.п., в результате чего можно уменьшить сигнал ошибки предсказания и повысить эффективность кодирования.
Настоящее изобретение не сводится к вышеописанным вариантам, а может быть видоизменено различными путями, не выходя за рамки объема изобретения. Подходящее комбинирование структурных элементов, раскрытых в вышеописанных вариантах, позволяет реализовать различные изобретения. Например, некоторые из раскрытых здесь структурных элементов могут быть исключены. Некоторые структурные элементы из разных вариантов могут быть объединены подходящим способом.
Согласно настоящему изобретению эффективность кодирования можно повысить, должным образом увеличив точность внутрикадрового предсказания изображения. Согласно конфигурации настоящего изобретения глубина в битах опорного изображения, введенного в генератор предсказываемого изображения, делают большей, чем глубина в битах входного изображения, чтобы уменьшить ошибку округления, появляющуюся при выполнении арифметической операции внутрикадрового предсказания изображения, однонаправленного предсказания с компенсацией движения, двунаправленного предсказания с компенсацией движения и предсказания с взвешиванием с компенсацией движения, что применимо, например, к стандарту H.264. Это уменьшает сигнал ошибки предсказания, следствием чего является повышение эффективности кодирования. Другими словами, это позволяет не только поддерживать высокую точность в битах, касающуюся вышеописанной операционной точности представления десятичного пикселя, но также поддерживать на высоком уровне точность в битах, связанную с операционной точностью представления целочисленного пикселя. Согласно некоторым конфигурациям настоящего изобретения открывается возможность повышения операционной точности при создании предсказываемого изображения генератором предсказываемого изображения путем сохранения опорного изображения с глубиной в битах, превышающей глубину в битах входного изображения, и использования его в операции предсказания, в результате чего повышается эффективность кодирования.
Класс H04N7/32 включающие кодовое прогнозирование
Класс G06T5/00 Усиление или восстановление изображения из побитового в побитовое изображение для создания подобного изображения
Класс H04N11/02 с сокращением ширины полосы пропускания