СПОСОБ И УСТРОЙСТВО КОДИРОВАНИЯ ВИДЕО, И СПОСОБ И УСТРОЙСТВО ДЕКОДИРОВАНИЯ ВИДЕО, СОВМЕСТНО ИСПОЛЬЗУЮЩИЕ ПАРАМЕТРЫ SAO МЕЖДУ СОСТАВЛЯЮЩИМИ ЦВЕТА
METHOD AND VIDEO CODING DEVICE, AND THE METHOD AND VIDEO DECODING DEVICE, WHICH JOINTLY USE THE SAO PARAMETERS BETWEEN THE COLOR COMPONENTS

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Один или более варианты осуществления относятся к кодированию и декодированию видео, для минимизации ошибки между исходным изображением и восстановленным изображением.
УРОВЕНЬ ТЕХНИКИ
По мере разработки и поставки аппаратного обеспечения для воспроизведения и хранения видео контента высокого разрешения или высокого качества, растет потребность в видео кодеке для эффективного кодирования или декодирования видео контента высокого разрешения или высокого качества. В соответствии с обычным видео кодеком, видео кодируется в соответствии с ограниченным способом кодирования, основанным на макроблоке предварительно определенного размера.
Данные изображения пространственной области преобразуются в коэффициенты частотной области через частотное преобразование. В соответствии с видео кодеком, изображение дробится на блоки предварительно определенного размера, над каждым блоком выполняется дискретное косинусное преобразование (DCT), и частотные коэффициенты кодируются в единицах блока, для быстрого вычисления частотного преобразования. В сравнении с данными изображения пространственной области, коэффициенты частотной области легко сжимаются. В частности, поскольку значение пикселя изображения пространственной области выражается в соответствии с ошибкой предсказания через межкадровое предсказание или внутрикадровое предсказание видео кодека, когда частотное преобразование выполняется над ошибкой предсказания, большой объем данных может быть преобразован в 0. В соответствии с видео кодеком, объем данных может быть сокращен посредством замещения данных, которые генерируются последовательно и многократно, на данные небольшого размера.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
ТЕХНИЧЕСКАЯ ЗАДАЧА
Один или более варианты осуществления предоставляют способ и устройство кодирования видео, и способ и устройство декодирования видео для генерирования восстановленного изображения с минимизированной ошибкой между исходным изображением и восстановленным изображением.
ТЕХНИЧЕСКОЕ РЕШЕНИЕ
В соответствии с аспектом одного или более вариантов осуществления, предоставляется способ регулировки адаптивного к выборке смещения (SAO), при этом способ, включающий в себя этапы, на которых: получают параметры SAO слайса в отношении текущего слайса из заголовка слайса принятого битового потока; получают информацию об использовании SAO по яркости для составляющей яркости текущего слайса и информацию об использовании SAO по цветности для его составляющих цветности из числа параметров SAO слайса; определяют, выполнять ли операцию SAO над составляющей яркости текущего слайса на основании полученной информации об использовании SAO по яркости; и одинаково определяют, выполнять ли регулировку SAO над первой составляющей цветности и второй составляющей цветности текущего слайса на основании полученной информации об использовании SAO по цветности.
ПРЕИМУЩЕСТВЕННЫЕ ЭФФЕКТЫ
Способ регулировки адаптивного к выборке смещения (SAO) для каждой составляющей цвета в соответствии с различными вариантами осуществления может совместно использовать различные параметры SAO, относящиеся к операции SAO первой составляющей цветности и второй составляющей цветности текущей выборки, тем самым одновременно выполняя регулировку SAO над первой составляющей цветности и второй составляющей цветности, и заранее предотвращая время ожидания параллельной обработки. Кроме того, в сравнении с отправкой по отдельности параметров SAO касающихся первой составляющей цветности и второй составляющей цветности, общее количество битов передачи параметров SAO может быть сокращено наполовину.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1A и 1B, соответственно, являются структурной схемой устройство кодирования видео и блок-схемой способа регулировки адаптивного к выборке смещения (SAO), выполняемого устройством кодирования видео, в соответствии с одним или более вариантами осуществления;
Фиг. 2A и 2B, соответственно, являются структурной схемой устройства декодирования видео и блок-схемой операции SAO, выполняемой устройством декодирования видео, в соответствии с одним или более вариантами осуществления;
Фиг. 3 является структурной схемой устройства декодирования видео в соответствии с другим вариантом осуществления;
Фиг. 4 является таблицей, показывающей классы границы типов по границам, в соответствии с одним или более вариантами осуществления;
Фиг. 5A и 5B являются таблицей и графиком, показывающим категории типов по границам, в соответствии с одним или более вариантами осуществления;
Фиг. с 6A по 6C показывают отношения между первой и второй составляющими цветности;
Фиг. 7A является схемой, показывающей смежные наибольшие единицы кодирования (LCU) относящиеся к слиянию параметров SAO, в соответствии с одним или более вариантами осуществления;
Фиг. 7B показывает структуры синтаксиса заголовка слайса и данных слайса в соответствии с одним или более вариантами осуществления;
Фиг. 7C и 7D показывают структуры синтаксиса параметров SAO в отношении LCU в соответствии с одним или более вариантами осуществления;
Фиг. 7E показывает структуру синтаксиса информации о контексте для кодирования в форме контекстно-зависимого адаптивного бинарного арифметического кодирования (CABAC) параметров SAO в соответствии с одним или более вариантами осуществления;
Фиг. 7F показывает структуру синтаксиса параметров SAO в отношении типов SAO в соответствии с одним или более вариантами осуществления;
Фиг. 8 является структурной схемой устройства кодирования видео, основанного на единицах кодирования в соответствии с древовидной структурой, в соответствии с одним или более вариантами осуществления;
Фиг. 9 является структурной схемой устройства декодирования видео, основанного на единицах кодирования в соответствии с древовидной структурой, в соответствии с одним или более вариантами осуществления;
Фиг. 10 является схемой для описания концепции единиц кодирования в соответствии с одним или более вариантами осуществления;
Фиг. 11 является структурной схемой кодера изображения, основанного на единицах кодирования, в соответствии с одним или более вариантами осуществления;
Фиг. 12 является структурной схемой декодера изображения, основанного на единицах кодирования, в соответствии с одним или более вариантами осуществления;
Фиг. 13 является схемой, иллюстрирующей более глубокие единицы кодирования в соответствии с глубинами, и элементы разбиения, в соответствии с одним или более вариантами осуществления;
Фиг. 14 является схемой для описания отношения между единицей кодирования и единицами преобразования, в соответствии с одним или более вариантами осуществления;
Фиг. 15 является схемой для описания информации кодирования единиц кодирования, соответствующих кодированной глубине, в соответствии с одним или более вариантами осуществления;
Фиг. 16 является схемой более глубоких единиц кодирования в соответствии с глубинами, в соответствии с одним или более вариантами осуществления;
Фиг. с 17 по 19 являются схемами для описания отношения между единицами кодирования, единицами предсказания, и единицами преобразования, в соответствии с одним или более вариантами осуществления;
Фиг. 20 является схемой для описания отношения между единицей кодирования, единицей предсказания, и единицей преобразования, в соответствии с информацией о режиме кодирования Таблицы 1;
Фиг. 21 является схемой физической структуры диска, на котором хранится программа, в соответствии с одним или более вариантами осуществления;
Фиг. 22 является схемой накопителя на дисках для записи и чтения программы посредством использования диска;
Фиг. 23 является схемой полной структуры системы подачи контента для обеспечения услуги распространения контента;
Фиг. 24 и 25 являются схемами соответственно внешней структуры и внутренней структуры мобильного телефона, к которому применяется способ кодирования видео и способ декодирования видео, в соответствии с одним или более вариантами осуществления;
Фиг. 26 является схемой системы цифрового вещания, к которой применяется система связи, в соответствии с одним или более вариантами осуществления;
Фиг. 27 является схемой, иллюстрирующей сетевую структуру системы облачных вычислений, использующей устройство кодирования видео и устройство декодирования видео, в соответствии с одним или более вариантами осуществления.
ПРЕДПОЧТИТЕЛЬНЫЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
В соответствии с аспектом одного или более вариантов осуществления, предоставляется способ регулировки адаптивного к выборке смещения (SAO), при этом способ, включающий в себя этапы, на которых: получают параметры SAO слайса в отношении текущего слайса из заголовка слайса принятого битового потока; получают информацию об использовании SAO по яркости для составляющей яркости текущего слайса и информацию об использовании SAO по цветности для его составляющих цветности из числа параметров SAO слайса; определяют, выполнять ли операцию SAO над составляющей яркости текущего слайса на основании полученной информации об использовании SAO по яркости; и одинаково определяют, выполнять ли регулировку SAO над первой составляющей цветности и второй составляющей цветности текущего слайса на основании полученной информации об использовании SAO по цветности.
Способ может дополнительно включать в себя этапы, на которых: получают параметры SAO наибольших единиц кодирования (LCU) в отношении текущей LCU из числа LCU текущего слайса; получают информацию о левом слиянии SAO из числа параметров SAO LCU; и определяют, предсказывать ли параметры SAO для составляющей яркости и первой и второй составляющих цветности текущей LCU посредством использования составляющей яркости и первой и второй составляющих цветности верхней LCU, соседствующей с текущей LCU, на основании информации о левом слиянии SAO.
Этап, на котором определяют, предсказывать ли параметры SAO, может включать в себя этапы, на которых: Если определяется, что параметры SAO текущей LCU не предсказываются посредством использования параметров SAO левой LCU на основании информации о левом слиянии SAO, получают информацию о верхнем слиянии SAO из числа параметров SAO LCU; и определяют, предсказывать ли параметры SAO для составляющей яркости и первой и второй составляющих цветности текущей LCU посредством использования составляющей яркости и первой и второй составляющих цветности верхней LCU, соседствующей с текущей LCU, на основании информации о верхнем слиянии SAO.
Способ может дополнительно включать в себя этапы, на которых: получают информацию о типе SAO по яркости для составляющей яркости текущей LCU и информацию о типе SAO по цветности для ее составляющих цветности из числа параметров SAO LCU; определяют, выполнять ли операцию SAO над составляющей яркости текущей LCU на основании полученной информации о типе SAO по яркости; и одинаково определяют, выполнять ли регулировку SAO над первой составляющей цветности и второй составляющей цветности текущей LCU на основании полученной информации о типе SAO по цветности.
Способ может дополнительно включать в себя этапы, на которых: определяют какая из регулировки SAO по границам и регулировки SAO по полосам выполняется над составляющей яркости текущей LCU на основании полученной информации о типе SAO по яркости; и определяют, какая из регулировки SAO по границам и регулировки SAO по полосам выполняется над первой составляющей цветности и второй составляющей цветности текущей LCU на основании полученной информации о типе SAO по цветности.
Способ может дополнительно включать в себя этап, на котором: определяют одинаковое направление границы в первой составляющей цветности и второй составляющей цветности текущей LCU на основании полученных параметров SAO.
Этап, на котором получают информацию о типе SAO по яркости и информацию о типе SAO по цветности, может включать в себя этапы, на которых: выполняют основанное на контекстно-зависимом адаптивном бинарном арифметическом кодировании декодирование (далее CABAC-декодирование) над первым бином контекста информации о типе SAO по яркости, и получают информацию, указывающую, выполнять ли регулировку SAO над составляющей яркости текущей LCU; выполняют CABAC-декодирование над оставшимися бинами контекста информации о типе SAO по яркости в режиме обхода, и получают информацию, указывающую, какая из регулировки SAO по границам и регулировки SAO по полосам выполняется над составляющей яркости текущей LCU; выполняют CABAC-декодирование над первым бином контекста информации о типе SAO по цветности, и получают информацию, указывающую, выполнять ли регулировку SAO над составляющими цветности текущей LCU; и выполняют CABAC-декодирование над оставшимися бинами контекста информации о типе SAO по цветности в режиме обхода, и получают информацию, указывающую, какая из регулировки SAO по границам и регулировки SAO по полосам выполняется над составляющими цветности текущей LCU.
Способ может дополнительно включать в себя этап, на котором: выполняют CABAC-декодирование посредством использования одинакового режима контекста для информации о левом слиянии SAO и информации о верхнем слиянии SAO в отношении составляющей яркости и составляющих цветности текущей LCU.
Способ может дополнительно включать в себя этап, на котором: выполняют CABAC-декодирование в режиме обхода для получения информации о величине смещения из числа параметров SAO LCU, при этом полученная информация о величине смещения указывает величину смещения в пределах диапазона, основанного на битовой глубине видео, и при этом, если битовая глубина составляет 8 бит, величина смещения равна или больше 0 и равна или меньше 7, а, если битовая глубина составляет 10 бит, величина смещения рана или больше 0 и равна или меньше 31.
Способ может дополнительно включать в себя этап, на котором: если определяется, что выполняется регулировка SAO по полосам над текущей LCU, выполняют CABAC-декодирование над битами постоянных битовых длин в режиме обхода с тем, чтобы получить информацию, касающуюся левой начальной позиции полосы из по меньшей мере одного фрагмента полученной информации о типе SAO по яркости и полученной информации о типе SAO по цветности.
Способ может дополнительно включать в себя этапы, на которых: если определяется, что выполняется регулировка SAO по полосам над текущей LCU, получают значение смещения для регулировки SAO из параметров SAO LCU; и, если полученное значение смещения не 0, дополнительно получают информацию о знаке значения смещения из параметров SAO LCU.
Способ может дополнительно включать в себя этапы, на которых: получают значение смещения для регулировки SAO типа по границам из параметров SAO LCU; и определяют знак значения смещения на основании определенного направления границы.
В соответствии с другим аспектом одного или более вариантов осуществления, предоставляется способ регулировки SAO, при этом способ, включающий в себя этапы, на которых: определяют, выполнять ли операцию SAO над составляющей яркости текущего слайса; одинаково определяют, выполнять ли регулировку SAO над первой составляющей цветности и второй составляющей цветности текущего слайса; генерируют параметры SAO слайса в отношении текущего слайса, включающие в себя информацию об использовании SAO по яркости, указывающую, выполнять ли регулировку SAO над составляющей яркости текущего слайса, и информацию об использовании SAO по цветности, указывающую, выполнять ли регулировку SAO над первой составляющей цветности и второй составляющей цветности; и выводят заголовок слайса, включающий в себя параметры SAO слайса.
Способ может дополнительно включать в себя этапы, на которых: определяют, предсказывать ли параметры SAO для составляющей яркости и первой и второй составляющих цветности текущей LCU посредством использования параметров SAO в отношении составляющей яркости и первой и второй составляющих цветности левой LCU, соседствующей с текущей LCU, на основании LCU текущего слайса; генерируют информацию о левом слиянии SAO для текущей LCU на основании определения; определяют, предсказывать ли параметры SAO для составляющей яркости и первой и второй составляющих цветности текущей LCU посредством использования параметров SAO в отношении составляющей яркости и первой и второй составляющих цветности верхней LCU, соседствующей с текущей LCU; генерируют информацию о верхнем слиянии SAO для текущей LCU на основании определения; и генерируют параметры SAO LCU в отношении текущей LCU, включающие в себя по меньшей мере один фрагмент информации о левом слиянии SAO и информации о верхнем слиянии SAO.
Способ может дополнительно включать в себя этапы, на которых: определяют, выполнять ли операцию SAO над составляющей яркости текущей LCU; одинаково определяют, выполнять ли регулировку SAO над первой составляющей цветности и второй составляющей цветности текущей LCU; и генерируют параметры SAO LCU в отношении текущей LCU, включающие в себя информацию о типе SAO по яркости, указывающую, выполнять ли регулировку SAO над составляющей яркости текущей LCU, и информацию о типе SAO по цветности, указывающую, выполнять ли регулировку SAO над первой составляющей цветности и второй составляющей цветности.
Способ может дополнительно включать в себя этапы, на которых: определяют, какая из регулировок: регулировка SAO по границам и регулировка SAO по полосам, выполняется над составляющей яркости текущей LCU; определяют, какая из регулировок: регулировка SAO по границам и регулировка SAO по полосам, выполняется над первой составляющей цветности и второй составляющей цветности текущей LCU; и генерируют информацию о типе SAO по яркости, указывающую, какая из регулировок: регулировка SAO по границам и регулировка SAO по полосам, выполняется над составляющей яркости, и информацию о типе SAO по цветности, указывающую, какая из регулировок: регулировка SAO по границам и регулировка SAO по полосам, выполняется над первой составляющей цветности и второй составляющей цветности.
Способ может дополнительно включать в себя этап, на котором: генерируют информацию касающейся одинакового направления границы первой составляющей цветности и второй составляющей цветности текущей LCU.
Этап, на котором генерируют информацию о типе SAO по яркости и информацию о типе SAO по цветности, может включать в себя этапы, на которых: выполняют CABAC-кодирование над первым бином контекста информации, указывающей, выполнять ли операцию SAO над составляющей яркости текущей LCU; и выполняют CABAC-кодирование над оставшимися бинами контекста информации о том, какая из регулировок: регулировка SAO по границам и регулировка SAO по полосам, выполняется над составляющей яркости текущей LCU в режиме обхода.
Этап, на котором генерируют параметры SAO LCU, может включать в себя этап, на котором: выполняют CABAC-кодирование посредством использования одинакового режима контекста для информации о левом слиянии SAO и информации о верхнем слиянии SAO, из числа параметров SAO LCU в отношении текущей LCU.
Способ может дополнительно включать в себя этап, на котором: выполняют CABAC-кодирование в режиме обхода над информацией о величине смещения из числа параметров SAO LCU.
Способ может дополнительно включать в себя этапы, на которых: если определяется, что над текущей LCU выполняется регулировка SAO по полосам, выполняют CABAC-кодирование над битами постоянных битовых длин информации, касающейся левой начальной позиции полосы из по меньшей мере одного фрагмента информации из: полученной информации о типе SAO по яркости и полученной информации о типе SAO по цветности в режиме обхода.
Этап, на котором генерируют параметры SAO LCU, может включать в себя этап, на которых: если определяется, что над текущей LCU выполняется регулировка SAO по полосам, определяют значение смещения для регулировки SAO по полосам; и генерируют параметры SAO LCU дополнительно включающие в себя определенное значение смещения, при этом этап, на котором генерируют параметры SAO, включает в себя этапы, на которых: если полученное значение смещения не 0, определяют знак значения смещения; и генерируют параметры SAO LCU, дополнительно включающие в себя информацию о знаке значения смещения.
В соответствии с другим аспектом одного или более вариантов осуществления, предоставляется устройство декодирования видео, при этом устройство, включающее в себя: компонент получения параметра SAO для получения параметров SAO слайса в отношении текущего слайса из заголовка слайса принятого битового потока, и получения информации об использовании SAO по яркости для составляющей яркости текущего слайса и информации об использовании SAO по цветности для его составляющих цветности из числа параметров SAO слайса; определитель SAO для определения, выполнять ли операцию SAO над составляющей яркости текущего слайса на основании полученной информации об использовании SAO по яркости, и одинакового определения, выполнять ли регулировку SAO над первой составляющей цветности и второй составляющей цветности текущего слайса на основании полученной информации об использовании SAO по цветности; и регулятор SAO для выполнения регулировки SAO над составляющей яркости и первой и второй составляющими цветности текущего слайса, восстановленного посредством выполнения декодирования над закодированными символами текущего слайса, полученными из принятого битового потока, на основании определения определителя SAO.
В соответствии с другим аспектом одного или более вариантов осуществления, предоставляется устройство кодирования видео, при этом устройство, включающее в себя: кодер для выполнения предсказания, преобразования, и квантования над текущим слайсом видео и выполнения обратного предсказания, обратного преобразования, и компенсации движения над квантованными коэффициентами преобразования; определитель SAO для определения, выполнять ли операцию SAO над составляющей яркости текущего слайса, и одинакового определения, выполнять ли регулировку SAO над первой составляющей цветности и второй составляющей цветности текущего слайса; и кодер параметра SAO для генерирования параметров SAO слайса в отношении текущего слайса, при этом параметры SAO слайса содержат информацию об использовании SAO по яркости, указывающую, выполнять ли регулировку SAO над составляющей яркости, и информацию об использовании SAO по цветности, указывающую, выполнять ли регулировку SAO над первой составляющей цветности и второй составляющей цветности на основании определения определителя SAO, и генерирования заголовка слайса, включающего в себя параметры SAO слайса.
В соответствии с другим аспектом одного или более вариантов осуществления, предоставляется невременной считываемый компьютером записывающий носитель информации с записанной на нем компьютерной программой для исполнения способа регулировки SAO.
ВАРИАНТ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
Далее, со ссылкой на Фиг. с 1 по 7F будут описаны операции кодирования видео и операции декодирования видео, используя операции адаптивного к выборке смещения (SAO), основанные на классификации пикселя, в соответствии с одним или более вариантами осуществления. Также, со ссылкой на Фиг. с 8 по 20 будет описана операция SAO основанная на классификации пикселя в операциях кодирования видео и операциях декодирования видео, основанных на единицах кодирования с древовидной структурой, в соответствии с одним или более вариантами осуществления. Далее, ‘изображение’ может обозначать неподвижное изображение или движущееся изображение видео, или само видео.
Теперь со ссылкой на Фиг. с 1 по 7F будут описаны операции кодирования видео и операции декодирования видео, используя регулировку SAO, основанную на классификации пикселя, в соответствии с одним или более вариантами осуществления. Устройство 10 кодирования видео и устройство 20 декодирования видео, которые будут описаны ниже со ссылкой на Фиг. 1A, 1B, 2A, и 2B, выполняют операцию SAO для того, чтобы минимизировать ошибку между исходными пикселями и восстановленными пикселями. Посредством выполнения операции SAO в соответствии с вариантом осуществления, устройство 100 кодирования видео классифицирует пиксели каждого блока изображения на предварительно установленные группы пикселей, распределяет каждый пиксель к соответствующей группе пикселей, и кодирует значение смещения, указывающее среднее значение ошибок между исходными пикселями и восстановленными пикселями, включенными в одну и ту же группу пикселей.
Выборки сигнализируются между устройством 10 кодирования видео и устройством 20 декодирования видео. Т.е., устройство 10 кодирования видео может кодировать и передавать выборки в форме битового потока, а устройство 20 декодирования видео может анализировать и восстанавливать выборки из принятого битового потока. Для того, чтобы минимизировать ошибку между исходными пикселями и восстановленными пикселями посредством регулировки значений пикселя восстановленных пикселей на смещение, определяемое в соответствии с классификацией пикселя, устройство 10 кодирования видео и устройство 20 декодирования видео сигнализирует параметры SAO для регулировки SAO. Между устройством 10 кодирования видео и устройством 20 декодирования видео, значения смещения кодируются и осуществляется их приемопередача в качестве параметров SAO, так что значения смещения декодируются из параметров SAO.
Таким образом, устройство 20 декодирования видео в соответствии с вариантом осуществления может генерировать восстановленное изображение с минимизированной ошибкой между исходным изображением и восстановленным изображением посредством декодирования принятого битового потока, генерирования восстановленных пикселей каждого из блоков изображения, восстанавливая значения смещения из битового потока, и регулируя восстановленные пиксели на значения смещения.
Теперь со ссылкой на Фиг. 1A и 1B будет описано функционирование устройства 10 кодирования видео, которое выполняет операцию SAO. Теперь со ссылкой на Фиг. 2A и 2B будет описано функционирование устройства 20 декодирования видео, которое выполняет регулировку SAO.
Фиг. 1A и 1B, соответственно, являются структурной схемой устройство 10 кодирования видео и блок-схемой операции SAO, выполняемой устройством 10 кодирования видео, в соответствии с одним или более вариантами осуществления.
Устройство 10 кодирования видео включает в себя кодер 12, определитель 14 SAO, и кодер 16 параметра SAO.
Устройство 10 кодирования видео принимает ввод изображений, таких как слайсы видео, дробит каждое изображение на блоки, и кодирует каждый блок. Блок может иметь квадратную форму, прямоугольную форму, или произвольную геометрическую форму, и не ограничивается единицей данных предварительно определенного размера. Блок в соответствии с одним или более вариантами осуществления может быть наибольшей единицей кодирования (LCU) или CU среди единиц кодирования в соответствии с древовидной структурой. Способы кодирования и декодирования видео, основанные на единицах кодирования в соответствии с древовидной структурой, будут описаны ниже со ссылкой на Фиг. с 8 по 20.
Устройство 10 кодирования видео может дробить каждое входное изображение на LCU, и может выводить результирующие данные, сгенерированные посредством выполнения предсказания, преобразования, и энтропийного кодирования над выборками каждой LCU, в качестве битового потока. Выборки LCU могут быть данными значения пикселя включенных в LCU пикселей.
Кодер 12 может по отдельности кодировать LCU картинки. Кодер 12 может кодировать текущую LCU на основании единиц кодирования, раздробленных из текущей LCU и с древовидной структурой.
Для того, чтобы закодировать текущую LCU, кодер 12 может кодировать выборки посредством выполнения внутрикадрового предсказания, межкадрового предсказания, преобразования, и квантования над каждой из единиц кодирования, включенных в текущую LCU и с древовидной структурой.
Кодер 12 может восстанавливать закодированные выборки, включенные в текущую LCU, посредством выполнения де-квантования, обратного преобразования, и межкадрового предсказания или внутрикадровой компенсации над каждой из единиц кодирования с древовидной структурой с тем, чтобы декодировать единицы кодирования.
Чтобы минимизировать ошибку между исходными пикселями до того, как текущая LCU кодируется, и восстановленными пикселями после того, как текущая LCU декодируется, устройство 10 кодирования видео может определять значения смещения, указывающие значения разности между исходными пикселями и восстановленными пикселями.
Кодер 12 может выполнять предсказание, преобразование, и квантование над текущим слайсом видео и выполнять де-квантование, обратное преобразование, и компенсацию движения над квантованными коэффициентами преобразования. Кодер 12 может сначала выполнять предсказание, преобразование, и квантование над каждой из единиц кодирования текущего слайса видео. Для того, чтобы сгенерировать опорное изображение для межкадрового предсказания, кодер 12 может выполнять де-квантование, обратное преобразование, и компенсацию движения над квантованными коэффициентами преобразования, чтобы сгенерировать восстановленное изображение. Может осуществляться обращение к восстановленному изображению предыдущего изображения применительно к межкадровому предсказанию следующего изображения.
Определитель 14 SAO может выполнять операции SAO для каждой составляющей цвета. Например, в отношении цветного изображения в формате YCrCb, операции SAO могут быть выполнены над составляющей яркости (составляющая Y) и первой и второй составляющими цветности (составляющими Cr и Cb).
Определитель 14 SAO может определять, выполнять ли операции SAO над составляющей яркости текущего слайса. Определитель 14 SAO может одинаково определять, выполнять ли операции SAO над первой и второй составляющими цветности текущего слайса. Т.е., если операция SAO может быть выполнена над первой составляющей цветности, операция SAO может быть выполнена над второй составляющей цветности, и, если операция SAO не может быть выполнена над первой составляющей цветности, операция SAO не может быть выполнена над второй составляющей цветности.
Кодер 16 параметра SAO может генерировать параметр SAO слайса в отношении текущего слайса для включения параметра SAO слайса в заголовок слайса текущего слайса.
Кодер 16 параметра SAO может генерировать информацию об использовании SAO по яркости, указывающую, выполнять ли операцию SAO над составляющей яркости, в соответствии с определением определителя 14 SAO. Кодер 16 параметра SAO может генерировать информацию об использовании SAO по цветности, указывающий, выполнять ли операцию SAO над первой и второй составляющими цветности, в соответствии с определением определителя 14 SAO.
Кодер 16 параметра SAO может включать информацию об использовании SAO по яркости и информацию об использовании SAO по цветности в параметр SAO слайса.
Определитель 14 SAO может определять значения смещения в отношении LCU. Параметры SAO, включающие в себя: значения смещения, тип SAO, и класс SAO, также могут быть определены в отношении LCU.
Определитель 14 SAO может определять тип SAO в соответствии со способом классификации значения пикселя текущей LCU. Тип SAO в соответствии с вариантами осуществления может быть определен как тип по границам или тип по полосам.
Если типом SAO является тип по границам, смещение между восстановленными пикселями и исходными пикселями может быть определено в соответствии с направлением и формой границ, формируемых между восстановленными пикселями текущей LCU и их смежными пикселями.
Если типом SAO является тип по полосам, смещение между восстановленными пикселями и исходными пикселями, включенными в каждую полосу, может быть определено из числа множества полос, полученных посредством разделения общего диапазона значений пикселя восстановленных пикселей текущей LCU. Полосы могут быть получены посредством равномерного или не равномерного разделения общего диапазона значений пикселя.
Соответственно, определитель 14 SAO может определять тип SAO текущей LCU, который указывает тип по границам или тип по полосам, на основании пространственных характеристик значений пикселя текущей LCU.
Определитель 14 SAO может определять класс SAO каждого из восстановленных пикселей в соответствии с типом SAO текущей LCU. Класс SAO может быть определен как класс границы или класс полосы.
В отношении типа по границам, класс границы может указывать направление границ, формируемых между восстановленными пикселями и их смежными пикселями. Класс границы может указывать направление границы вида 0°, 90°, 45°, или 135°.
Если типом SAO является тип по границам, определитель 14 SAO может определять класс границы каждого из восстановленных пикселей текущей LCU.
В отношении типа по полосам, из числа множества полос, которые являются предварительно определенным количеством непрерывных интервалов значений пикселя, полученных посредством деления общего диапазона значений пикселя текущей LCU, класс полосы может указывать позиции полос, к которым принадлежат значения пикселя восстановленных пикселей.
Например, в отношении выборки со значением пикселя из 8 бит, общий диапазон значения пикселя составляет от 0 до 255 и значение пикселя может быть классифицированного в общем на 32 полосы. В этом случае, из общего числа 32 полос, может быть определено предварительно определенное количество полос, к которым принадлежат значения пикселя восстановленных пикселей. Класс полосы может указывать начальную позицию (левую начальную позицию) из предварительно определенного количества непрерывных полос посредством использования одного из индексов полосы от 0 до 31.
В отношении типа по границам, восстановленные пиксели текущей LCU могут быть классифицированы на предварительно определенное количество категорий в соответствии с формой границы, образуемой между восстановленными пикселями и их смежными пикселями. Например, в соответствии с формами четырех границ, как например локальная впадина вогнутой границы, изогнутый угол вогнутой границы, изогнутый угол выпуклой границы, и локальный пик выпуклой границы, восстановленные пиксели могут быть классифицированы на четыре категории. В соответствии с формой границы каждого из восстановленных пикселей текущей LCU, может быть определена одна из четырех категорий.
В отношении типа по полосам, в соответствии с позициями полос, к которым принадлежат значения пикселя восстановленных пикселей текущей LCU, восстановленные пиксели могут быть классифицированы на предварительно определенное количество категорий. Например, в соответствии с индексами полосы четырех непрерывных полос от позиции начальной полосы, т.е., начальной позиции крайней левой полосы, указываемой классом полосы, восстановленные пиксели могут быть классифицированы на четыре категории. В соответствии с одной из четырех полос, к которой принадлежит каждый из восстановленных пикселей текущей LCU, может быть определена одна из четырех категорий.
Определитель 14 SAO может определять категорию каждого из восстановленных пикселей текущей LCU. В отношении восстановленных пикселей текущей LCU, которые принадлежат к одной и той же категории, определитель 14 SAO может определять значения смещения посредством использования значений разности между восстановленными пикселями и исходными пикселями. В каждой категории, среднее значений разности между восстановленными пикселями и исходными пикселями, т.е., средняя ошибка восстановленных пикселей, может быть определено в качестве значения смещения, соответствующего текущей категории. Определитель 14 SAO может определять значение смещения каждой категории и может определять значения смещения всех категорий в качестве значений смещения текущей LCU.
Например, если типом SAO текущей LCU является тип по границам и восстановленные пиксели классифицируются на четыре категории в соответствии с формами границы, или если типом SAO текущей LCU является тип по полосам и восстановленные пиксели классифицируются на четыре категории в соответствии с индексами четырех непрерывных полос, определитель 14 SAO может определять четыре значения смещения посредством определения средней ошибки между восстановленными пикселями и исходными пикселями, которые принадлежат к каждой из четырех категорий.
Каждое из значений смещения может быть больше или равно предварительно установленному минимальному значению и может быть меньше или равно предварительно установленному максимальному значению.
Кодер 16 параметра SAO может кодировать и выводить параметры SAO, включающие в себя: тип SAO, класс SAO, и значения SAO текущей LCU, которые определяются определителем 14 SAO.
Параметры SAO каждого блока могут включать в себя: тип SAO и значения SAO блока. В качестве типа SAO может быть выведен тип отключено, тип по границам, или тип по полосам.
Если типом SAO является тип отключено, это может указывать, что операции SAO не применяются к текущей LCU. В этом случае, не требуется кодировать прочие параметры SAO текущей LCU.
Если типом SAO является тип по границам, параметры SAO могут включать в себя значения смещения, по отдельности соответствующие классам границы. Также, если типом SAO является тип по полосам, параметры SAO могут включать в себя значения смещения, по отдельности соответствующие полосам. Т.е., кодер 16 параметра SAO может кодировать параметры SAO каждого блока.
Теперь ниже подробно будет описан процесс вывода параметров SAO со ссылкой на блок-схему операции SAO на Фиг. 1B.
Кодер 12 может кодировать текущую LCU из множества LCU текущего слайса на основании единиц кодирования с древовидной структурой.
На операции 11, определитель 14 параметра SAO определяет, выполнять ли операцию SAO над составляющей яркости текущего слайса. На операции 13, определитель 14 SAO может одинаково определять, выполнять ли операцию SAO над первой и второй составляющими цветности текущего слайса.
На операции 15, определитель 14 параметра SAO может генерировать информацию об использовании SAO по яркости в соответствии с определением на операции 11, и может генерировать информацию об использовании SAO по цветности в соответствии с определением на операции 13. Определитель 14 параметра SAO может генерировать параметр SAO слайса, включающий в себя информацию об использовании SAO по яркости и информацию об использовании SAO по цветности, касающуюся текущего слайса.
На операции 17, определитель 14 параметра SAO может выводить заголовок слайса, включающий в себя параметр SAO слайса, сгенерированный на операции 15.
Определитель 14 параметра SAO может определять первый параметр SAO текущей LCU. Первый параметр SAO может включать в себя: тип SAO, указывающий, является ли способом классификации значения пикселя текущей LCU тип по границам или тип по полосам; класс SAO, указывающий направление границы в соответствии с типом по границам или диапазон полосы в соответствии с типом по полосам; и значения SAO, указывающие значения разности между восстановленными пикселями и исходными пикселями, включенными в класс SAO.
Кодер 16 параметра SAO может выводить значения смещения, соответствующие предварительно определенному количеству категорий.
На операции 17, если кодер 16 параметра SAO выводит информацию о типе SAO, указывающую тип по границам, в соответствии с направлением границы восстановленных пикселей, включенных в текущую LCU, может быть выведен класс границы, указывающий направление вида 0°, 90°, 45°, или 135°.
На операции 17, если кодер 16 параметра SAO выводит информацию о типе SAO, указывающую тип по полосам, может быть выведен класс полосы, указывающий позицию полосы восстановленных пикселей, включенных в текущую LCU.
На операции 17, если кодер 16 параметра SAO выводит информацию о типе SAO, указывающую тип по полосам, в качестве значения смещения, может быть выведена информация о нулевом значении, указывающая, является или нет значение смещения 0. Если значение смещения является 0, кодер 16 параметра SAO может выводить только информацию о нулевом значении в качестве значения смещения.
Если значение смещения не 0, кодер 16 параметра SAO может дополнительно выводить информацию о знаке, указывающую, является ли значение смещения положительным числом или отрицательным числом, и остаток, которые следуют за информацией о нулевом значении.
На операции 17, если кодер 16 параметра SAO выводит информацию о типе SAO, указывающую тип по границам, может быть выведена информация о нулевом значении и остаток. В отношении типа по границам, не требуется вывод информации о знаке значения смещения, так как знак значения смещения предсказуем на основании лишь категории в соответствии с формой границы. Процесс предсказания знака значения смещения будет описан ниже со ссылкой на Фиг. 5A и 5B.
Определитель 14 SAO может определять, выполнять ли операцию SAO, и типы SAO в отношении LCU в соответствии с составляющими цвета.
Определитель 14 SAO может определять, выполнять ли операцию SAO над составляющей яркости соответствующей LCU. Кодер 16 параметра SAO может генерировать информацию о типе SAO по яркости, указывающую, выполнять ли операцию SAO над составляющей яркости текущей LCU.
Определитель 14 SAO может одинаково определять, выполнять ли операцию SAO над первой и второй составляющими цветности текущей LCU. Кодер 16 параметра SAO может генерировать информацию о типе SAO по цветности, указывающую, выполнять ли операцию SAO над первой и второй составляющими цветности текущей LCU.
Определитель 14 SAO может определять, какая из операций: операция SAO по границам и операция SAO по полосам, выполняется над составляющей яркости текущей LCU. Кодер 16 параметра SAO может генерировать информацию о типе SAO по яркости, указывающую, какая из операций: операция SAO по границам и операция SAO по полосам, выполняется над составляющей яркости текущей LCU.
Определитель 14 SAO может определять, какая из операций: операция SAO по границам и операция SAO по полосам, выполняется над первой и второй составляющими цветности текущей LCU. Кодер 16 параметра SAO может генерировать информацию о типе SAO по цветности, указывающую, какая из операций: операция SAO по границам и операция SAO по полосам, выполняется над первой и второй составляющими цветности текущей LCU.
Если определитель 14 SAO определяет выполнение операции SAO по границам над первой и второй составляющими цветности текущей LCU, определитель 14 SAO может определять класс SAO в одинаковом направлении границы в отношении первой и второй составляющих цветности текущей LCU. Таким образом, кодер 16 параметра SAO может генерировать параметр SAO, включающий в себя информацию об одинаковом направлении границы первой и второй составляющих цветности текущей LCU.
Определитель 14 параметра SAO может включать информацию о типе SAO по яркости и информацию о типе SAO по цветности в параметр SAO текущей LCU.
Кодер 16 параметра SAO может выводить информацию о слиянии SAO текущей LCU, указывающую, заимствовать ли второй параметр SAO одной из единиц: левой LCU или верхней LCU, соседствующих с текущей LCU, в качестве первого параметра SAO текущей LCU, на основании сходства между первым параметром SAO и вторым параметром SAO.
Если параметры SAO по меньшей мере одной из левой или верхней LCU относительно текущей LCU точно такие же, как те, что у текущей LCU, кодер 16 параметра SAO может не кодировать параметры SAO текущей LCU, а может кодировать только информацию о слиянии SAO. В этом случае, может быть выведена информация о слиянии SAO, указывающая, что параметры SAO левой или верхней LCU заимствуется в качестве параметров SAO текущей LCU.
Если параметры SAO левой и верхней LCU отличаются от параметров SAO текущей LCU, кодер 16 параметра SAO может кодировать информацию о слиянии SAO и параметры SAO текущей LCU. В этом случае, может быть выведена информация о слиянии SAO, указывающая, что параметры SAO левой или верхней LCU не заимствуется в качестве параметров SAO текущей LCU.
Если второй параметр SAO левой LCU или верхней LCU относительно текущей LCU точно такой же, как и первый параметр SAO, первый параметр SAO может быть предсказан на основании второго параметра SAO. Когда кодер 16 параметра SAO заимствует второй параметр SAO в качестве первого параметра SAO, кодер 16 параметра SAO может выводить только информацию о слиянии SAO и может не выводить тип SAO, класс SAO, и значения смещения текущей LCU.
Если второй параметр SAO левой LCU или верхней LCU относительно текущей LCU не точно такой же, как первый параметр SAO, первый параметр SAO может быть предсказан отдельно от второго параметра SAO. На операции 19, когда кодер 16 параметра SAO не заимствует второй параметр SAO в качестве первого параметра SAO, кодер 16 параметра SAO может выводить первый параметр SAO, чтобы он включал в себя тип SAO, класс SAO и значения смещения текущей LCU, в дополнение к информации о слиянии SAO текущей LCU.
Когда кодер 16 параметра SAO выводит тип SAO, класс SAO, и значения смещения первого параметра SAO, кодер 16 параметра SAO может последовательно выводит тип SAO, значение смещения для каждой категории, и класс SAO текущей LCU.
Если выполняется операция SAO, определитель 14 SAO может определять информацию о слиянии SAO и параметры SAO каждой из LCU. В этом случае, кодер 16 параметра SAO может выводить информацию об использовании SAO, указывающую, что операция SAO выполняется над текущим слайсом, и затем может выводить информацию о слиянии SAO и параметры SAO каждого из LCU.
Если операция SAO не выполняется над текущим слайсом, определителю 14 SAO может не требоваться определять смещение каждой из LCU текущего слайса, и кодер 16 параметра SAO может выводить только информацию об использовании SAO, указывающую, что регулировка смещения не выполняется над текущим слайсом.
Определитель 14 SAO может определять параметры SAO текущей LCU не по-разному для каждого составляющей цвета, а может одинаково определять их в отношении составляющих яркости и цветности на основании параметра SAO левой LCU или верхней LCU, соседствующей с текущей LCU.
Определитель 14 SAO может определять, предсказывать ли параметры SAO в отношении составляющей яркости и первой и второй составляющих цветности, текущей LCU посредством использования параметров SAO в отношении составляющей яркости и первой и второй составляющих цветности левой LCU относительно текущей LCU из числа LCU текущего слайса.
Кодер 16 параметра SAO может генерировать информацию о левом слиянии SAO для текущей LCU на основании того, предсказывать ли параметры SAO текущей LCU посредством использования параметров SAO левой LCU. Т.е., одинаковая информация о левом слиянии SAO может быть сгенерирована, не различая на составляющую яркости и первую и вторую составляющие цветности.
Определитель 14 SAO может определять, предсказывать ли параметры SAO в отношении составляющей яркости и первой и второй составляющих цветности, текущей LCU посредством использования параметров SAO в отношении составляющей яркости и первой и второй составляющих цветности верхней LCU относительно текущей LCU из числа LCU текущего слайса.
Кодер 16 параметра SAO может генерировать информацию о верхнем слиянии SAO для текущей LCU на основании того, предсказывать ли параметры SAO текущей LCU посредством использования параметров SAO верхней LCU.
Кодер 16 параметров SAO может генерировать параметры SAO LCU, включающие в себя информацию о слиянии SAO левой LCU и информацию о слиянии SAO верхней LCU в отношении текущей LCU.
Устройство 10 кодирования видео может выполнять энтропийное кодирование над символами кодирования, включающими в себя квантованные коэффициенты преобразования и информацию о кодировании, чтобы сгенерировать битовый поток. Устройство 10 кодирования видео может выполнять основанное на контекстно-зависимом адаптивном бинарном арифметическом кодировании (CABAC) энтропийное кодирование над параметрами SAO.
Устройство 10 кодирования видео может выполнять CABAC-кодирование над первым бином контекста, указывающим информацию, включенную в информацию о типе SAO по яркости касающуюся того, выполнять ли операцию SAO над составляющей яркости текущей LCU.
Устройство 10 кодирования видео может выполнять CABAC-кодирование, в режиме обхода, над оставшимися бинами контекста, указывающими информацию, включенную в информацию о типе SAO по яркости, касающуюся того, какая из операций: операция SAO по границам и операция SAO по полосам, выполняется над составляющей яркости текущей LCU.
Устройство 10 кодирования видео может выполнять CABAC-кодирование, в том же самом режиме контекста, над информацией о левом слиянии SAO и информацией о слиянии SAO из числа параметров SAO LCU в отношении текущей LCU.
Устройство 10 кодирования может выполнять CABAC-кодирование, в режиме обхода, над информацией о величине смещений, включенной в параметры SAO LCU. Информация о величине смещений может указывать величину смещения в пределах диапазона, основанного на битовой глубине видео. Например, когда битовая глубина составляет 8 бит, величина смещения может быть равна или выше 0 и равна или меньше 7. В качестве другого примера, когда битовая глубина оставляет 10 бит, величина смещения может быть равна или выше 0 и равна или меньше 31.
Когда определяется, что операция SAO по полосам выполняется над текущей LCU, устройство 10 кодирования видео может выполнять CABAC-кодирование, в режиме обхода, над битами постоянной битовой длины информации, относящейся к левой начальной позиции полосы по меньшей мере одной из информаций: информации о типе SAO по яркости и информации о типе SAO по цветности.
Когда определяется, что операция SAO по полосам выполняется над текущей LCU, определитель 14 SAO может определять значение смещения для операции SAO по полосам. Соответственно, кодер 16 параметра SAO может генерировать параметры SAO LCU, дополнительно включая значение смещения для операции SAO по полосам.
Когда значение смещения для операции SAO по полосам не 0, определитель 14 SAO может дополнительно определять знак значения смещений. Соответственно, кодер 16 параметра SAO может генерировать параметры SAO LCU, дополнительно включая информацию о знаке значения смещения.
Устройство 10 кодирования видео может включать в себя центральный процессор (не показан) для совокупного управления кодером 12, определителем 14 SAO, и кодером 16 параметра SAO. В качестве альтернативы, кодер 12, определитель 14 SAO, и кодер 16 параметра SAO могут управляться своими отдельными процессорами (не показано), которые совместно функционируют для управления устройством 10 кодирования видео. В качестве альтернативы, внешний процессор (не показан) за пределами устройства 10 кодирования видео может управлять кодером 12, определителем 14 SAO, и кодером 16 параметра SAO.
Устройство 10 кодирования видео может включать в себя одно или более хранилища данных (не показано) для хранения входных и выходных данных кодера 12, определителя 14 SAO, и кодера 16 параметра SAO. Устройство 10 кодирования видео может включать в себя контроллер памяти (не показан) для управления вводом и выводом данных в и из хранилищ данных.
Для того, чтобы выполнять операцию кодирования видео, включающую в себя преобразование, и для того, чтобы выводить результат операции кодирования видео, устройство 10 кодирования видео может работать совместно с внутренним или внешним процессором кодирования видео. Внутренний процессор кодирования видео устройства 10 кодирования видео может быть независимым процессором для выполнения операции кодирования видео. Также, устройство 10 кодирования видео, центральный блок обработки, или графический блок обработки, могут включать в себя модуль процессора кодирования видео для выполнения основной операции кодирования видео.
Фиг. 2A и 2B, соответственно, являются структурной схемой устройства 20 декодирования видео и блок-схемой операции SAO, выполняемой устройством 20 декодирования видео, в соответствии с одним или более вариантами осуществления.
Устройство 20 декодирования видео включает в себя компонент 22 получения параметра SAO, определитель 24 SAO, и регулятор 26 SAO.
Устройство 20 декодирования видео принимает битовый поток, включающий в себя закодированные данные видео. Устройство 20 декодирования видео может анализировать закодированные выборки видео из принятого битового потока, может выполнять энтропийное декодирование, де-квантование, обратное преобразование, предсказание, и компенсацию движения над каждым блоком изображения, чтобы сгенерировать восстановленные пиксели, и, следовательно, может генерировать восстановленное изображение.
Устройство 20 декодирования видео может принимать значения смещения, указывающие значения разности между исходными пикселями и восстановленными пикселями, и может минимизировать ошибку между исходным изображением и восстановленным изображением. Устройство 20 декодирования видео может принимать закодированные данные каждой LCU видео, и может восстанавливать LCU на основании единиц кодирования, раздробленных из LCU и с древовидной структурой.
Компонент 22 получения параметра SAO может получать параметры SAO слайса в отношении текущего слайса из заголовка слайса принятого битового потока. Компонент 22 получения параметра SAO может получать информацию об использовании SAO по яркости для составляющей яркости текущего слайса и информацию об использовании SAO по цветности для составляющих цветности из параметров SAO слайса.
Определитель 24 SAO может определять, выполнять ли операцию SAO над составляющей яркости текущего слайса на основании информации об использовании SAO по яркости, полученной компонентом 22 получения параметра SAO.
Определитель 24 SAO может одинаково определять, выполнять ли операцию SAO над первой составляющей цветности и второй составляющей цветности текущего слайса на основании информации об использовании SAO по цветности, полученной компонентом 22 получения параметра SAO. Т.е., если операция SAO выполняется над первой составляющей цветности, операция SAO может быть выполнена над второй составляющей цветности, и, если операция SAO не выполняется над первой составляющей цветности, операция SAO не может быть выполнена над второй составляющей цветности.
Устройство 20 декодирования видео может выполнять декодирование закодированных символов, включающих в себя закодированные выборки и информацию о кодировании текущего слайса, полученных из принятого битового потока, для восстановления текущего слайса. Регулятор 26 SAO может выполнять операцию SAO над каждой из составляющих: составляющей яркости и первой и второй составляющей цветности для восстановления текущего слайса в соответствии с определением определителя 24 SAO.
Теперь со ссылкой на Фиг. 2B будут описаны операции восстановления выборок текущей LCU и регулировки смещений.
На операции 21, компонент 22 получения параметра SAO может получать параметры SAO слайса в отношении текущего слайса из заголовка слайса принятого битового потока. На операции 23, компонент 22 получения параметра SAO может получать информацию об использовании SAO по яркости и информацию об использовании SAO по цветности из параметров SAO слайса.
На операции 25, определитель 24 SAO может определять, выполнять ли операцию SAO над составляющей яркости текущего слайса на основании информации об использовании SAO по яркости, полученной на операции 23. Если информация об использовании SAO по яркости указывает, что операция SAO выполняется, регулятор 26 SAO может выполнять операцию SAO над яркостной составляющей цвета текущего слайса.
На операции 27, определитель 24 SAO может одинаково определять, выполнять ли операцию SAO над первой составляющей цветности и второй составляющей цветности текущего слайса на основании информации об использовании SAO по цветности, полученной на операции 23. Если информация об использовании SAO по яркости указывает, что операция SAO выполняется, регулятор 26 SAO может выполнять операцию SAO над первой составляющей цветности и второй составляющей цветности текущего слайса.
Компонент 22 получения параметра SAO может выделять информацию о слиянии SAO текущей LCU из принятого битового потока. Информация о слиянии SAO текущей LCU указывает, заимствовать ли второй параметр SAO левой или верхней LCU текущей относительно LCU в качестве первого параметра SAO текущей LCU.
Компонент 22 получения параметра SAO может восстанавливать первый параметр SAO, включающий в себя: тип SAO, значений смещения, и класс SAO текущей LCU, на основании информации о слиянии SAO.
Компонент 22 получения параметра SAO может определять, восстанавливать ли тип SAO, значения смещения, и класс SAO текущей LCU как точно такие же, как те, что у второго параметра SAO, или выделять тип SAO, значения смещения, и класс SAO из битового потока, на основании информации о слиянии SAO.
Определитель 24 SAO может определять, является ли способ классификации значения пикселя текущей LCU типом по границам или типом по полосам, на основании типа SAO, определенного компонентом 22 получения параметра SAO. На основании типа SAO, может быть определен тип отключено, тип по границам, или тип по полосам.
Если типом SAO является тип отключено, может быть определено, что операция SAO не применяется к текущей LCU. В этом случае, не требуется анализировать прочие параметры SAO текущей LCU.
Определитель 24 SAO может определять диапазон полосы в соответствии с направлением границы в соответствии с типом по границам или диапазон полосы в соответствии с типом по полосам, текущей LCU, на основании класса SAO, определенного компонентом 22 получения параметра SAO.
Определитель 24 SAO может определять значения разности между восстановленными пикселями и исходными пикселями, включенными в выше определенный класс SAO, на основании значений смещения, определенных компонентом 22 получения параметра SAO.
Регулятор 26 SAO может регулировать значения пикселя выборок, восстановленных на основании единиц кодирования, раздробленных из текущей LCU и с древовидной структурой, на значения разности, определенные определителем 24 SAO.
Компонент 22 получения параметра SAO может определять заимствование второго параметра SAO левой или верхней LCU в качестве первого параметра SAO, на основании информации о слиянии SAO. В этом случае, определитель 24 SAO может не выделять первый параметр SAO текущей LCU и может восстанавливать первый параметр SAO, чтобы он был точно таким же, как и ранее восстановленный второй параметр SAO.
Компонент 22 получения параметра SAO может определять то, чтобы не заимствовать второй параметр SAO в качестве первого параметра SAO, на основании информации о слиянии SAO. В этом случае, определитель 24 SAO может выделять и восстанавливать первый параметр SAO, за которым следует информация о слиянии SAO, из битового потока.
Компонент 22 получения параметра SAO может выделять общую информацию о слиянии SAO составляющей яркости, первой составляющей цветности, и второй составляющей цветности, текущей LCU. Определитель 24 SAO может определять, восстанавливать ли параметры SAO составляющей яркости, параметры SAO первой составляющей цветности, и параметры SAO второй составляющей цветности, чтобы они были точно такими же, как те, что у смежной LCU, на основании общей информации о слиянии SAO.
Определитель 24 SAO может восстанавливать общий тип SAO первой составляющей цветности и второй составляющей цветности, текущей LCU.
Определитель 24 SAO может определять значения смещения, соответствующие предварительно определенному количеству категорий, на основании параметров SAO. Каждое из значений смещения может быть больше или равно предварительно установленному минимальному значению и может быть меньше или равно предварительно установленному максимальному значению.
Если информация о типе SAO указывает тип по границам, определитель 24 SAO может определять направление границы восстановленных пикселей, включенных в текущую LCU, как 0°, 90°, 45°, или 135°, на основании класса SAO.
Если информация о типе SAO указывает тип по полосам, определитель 24 SAO может определять позиции полос, к котором принадлежат значения пикселя восстановленных пикселей, на основании класса SAO.
Если информация о типе SAO указывает тип по полосам, определитель 24 SAO может определять, является или нет значение смещения 0, на основании информации о нулевом значении значения смещения. Если значение смещения определяется как 0 на основании информации о нулевом значении, информация значения смещения отличная от информации о нулевом значении не восстанавливается.
Если значение смещения не определяется как 0 на основании информации о нулевом значении, определитель 24 SAO может определять, является ли значение смещения положительным числом или отрицательным числом, на основании информации о знаке значения смещения, за которым следует информация о нулевом значении. Определитель 24 SAO может в заключении определять значение смещения посредством восстановления остатка значения смещения, за которым следует информация о знаке.
Если информация о типе SAO указывает тип по границам и, если значение смещения не определяется как 0 на основании информации о нулевом значении значения смещения, определитель 24 SAO может в заключении определять значение смещения посредством восстановления остатка значения смещения, за которым следует информация о нулевом значении.
Устройство 20 декодирования видео может получать параметры SAO на основании составляющих цвета для выполнения операции SAO.
Компонент 22 получения параметра SAO может получать параметры SAO каждой из LCU текущего слайса из битового потока. Компонент 22 получения параметра SAO может получать по меньшей мере одну из информаций: информацию о левом слиянии SAO и информацию о верхнем слиянии SAO из параметров SAO LCU.
Компонент 22 получения параметра SAO может определять, предсказывать ли параметры SAO в отношении составляющей яркости и первой и второй составляющих цветности текущей LCU посредством использования параметров SAO в отношении составляющей яркости и первой и второй составляющих цветности верхней LCU, соседствующей с текущей LCU, на основании информации о левом слиянии SAO.
Если информация о левом слиянии SAO указывает, что текущий параметр SAO должен быть предсказан посредством использования параметров SAO левой LCU, параметры SAO для каждой составляющей цвета в отношении левой LCU могут быть заимствованы в качестве параметров SAO для каждой составляющей цвета текущей LCU, применительно к каждой составляющей цвета.
Если параметры SAO текущей LCU определяются как не предсказываемые посредством использования параметров SAO левой LCU на основании информации о левом слиянии SAO, компонент 22 получения параметра SAO может дополнительно получать информацию о верхнем слиянии SAO из битового потока.
Компонент 22 получения параметра SAO может определять, предсказывать ли параметры SAO составляющей яркости и первой и второй составляющих цветности текущей LCU посредством использования параметров SAO в отношении составляющей яркости и первой и второй составляющих цветности верхней LCU, соседствующей с текущей LCU, на основании информации о верхнем слиянии SAO.
Если информации о верхнем слиянии SAO указывает, что текущий параметр SAO должен быть предсказан посредством использования параметров SAO верхней LCU, параметры SAO для каждой составляющей цвета в отношении верхней LCU могут быть заимствованы в качестве параметров SAO для каждой составляющей цвета текущей LCU, применительно к каждой составляющей цвета.
Если информация о верхнем слиянии SAO указывает, что параметры SAO текущей LCU не должны предсказываться посредством использования параметров SAO верхней LCU, компонент 22 получения параметра SAO может получать параметры SAO для каждого составляющей цвета текущей LCU из битового потока.
Компонент 22 получения параметра SAO может получать информацию о типе SAO по яркости для составляющей яркости текущей LCU и информацию о типе SAO по цветности для ее составляющих цветности из параметров SAO LCU.
Определитель 24 SAO может определять, выполнять ли операцию SAO над составляющей яркости текущей LCU на основании информации о типе SAO по яркости. Регулятор 26 SAO может выполнять или может не выполнять операцию SAO над составляющей яркости текущей LCU в соответствии с определением определителя 24 SAO.
Определитель 24 SAO может одинаково определять, выполнять ли операцию SAO над первой и второй составляющими цветности текущей LCU на основании информации о типе SAO по цветности. Регулятор 26 SAO может выполнять или может не выполнять операцию SAO над первой и второй составляющими цветности текущей LCU в соответствии с определением определителя 24 SAO.
Определитель 24 SAO может определять, выполнять ли операцию SAO на основании первого бита каждой из информаций: информации о типе SAO по яркости и информации о типе SAO по цветности. Если определяется, что операция SAO должна быть выполнена для каждой составляющей цвета, может быть получен второй бит и оставшиеся биты соответствующей информации о типе SAO.
Определитель 24 SAO может определять, какая из операций: операция SAO по границам и операция SAO по полосам, выполняется над составляющей яркости текущей LCU на основании информации о типе SAO по яркости. Второй бит информации о типе SAO по яркости может указывать операцию SAO по границам или операцию SAO по полосам. Регулятор 26 SAO может выполнять одну из операций: операцию SAO по границам и операцию SAO по полосам, над составляющей яркости текущей LCU в соответствии с определением определителя 24 SAO.
Определитель 24 SAO может одинаково определять, какая из операций: операция SAO по границам и операция SAO по полосам, выполняется над первой и второй составляющими цветности текущей LCU на основании информации о типе SAO по цветности. Второй бит информации о типе SAO по цветности может указывать операцию SAO по границам или операцию SAO по полосам. Регулятор 26 SAO может одновременно выполнять операцию SAO по границам или операцию SAO по полосам над первой и второй составляющими цветности текущей LCU в соответствии с определением определителя 24 SAO.
Когда определяется, что должна быть выполнена операция SAO по границам над первой и второй составляющими цветности текущей LCU, определитель 24 SAO может определять первую и вторую составляющую цветности текущей LCU, чтобы они имели одинаковое направление границы на основании информации о типе SAO по цветности.
Определитель 24 параметра SAO может выполнять CABAC-декодирование над первым бином контекста информации о типе SAO по яркости с тем, чтобы получить информацию о типе SAO по яркости. Информация, указывающая, выполнять ли операцию SAO над составляющей яркости текущей LCU, может быть получена посредством декодирования первого бина контекста информации о типе SAO по яркости.
Определитель 24 параметра SAO может выполнять CABAC-декодирование над оставшимися бинами контекста информации о типе SAO по яркости в режиме обхода. Информация, указывающая, какая из операций: операция SAO по границам и операция SAO по полосам, выполняется над составляющей яркости текущей LCU может быть получена посредством декодирования оставшихся бинов контекста информации о типе SAO по яркости.
Аналогичным образом, компонент 24 получения параметра SAO может выполнять CABAC-декодирование над первым бином контекста информации о типе SAO по цветности с тем, чтобы получить информацию о типе SAO по цветности. Информация, указывающая, выполнять ли операцию SAO над первой и второй составляющими цветности текущей LCU, может быть получена посредством декодирования первого бина контекста информации о типе SAO по цветности.
Компонент 24 получения параметра SAO может выполнять CABAC-декодирование над оставшимися бинами контекста информации о типе SAO по цветности в режиме обхода. Информация, указывающая, какая из операций: операция SAO по границам и операция SAO по полосам, выполняется над первой и второй составляющими цветности текущей LCU может быть получена посредством декодирования оставшихся бинов контекста информации о типе SAO по цветности.
Компонент 24 получения параметра SAO может выполнять CABAC-декодирование посредством использования одинакового режима контекста с тем, чтобы получить информацию о левом слиянии SAO и информацию о верхнем слиянии SAO текущей LCU.
Компонент 24 получения параметра SAO может выполнять CABAC-декодирование в режиме обхода с тем, чтобы получить информацию о величине смещения, включенную в параметры SAO текущей LCU. Полученная информация о величине смещений может быть ограничена значением равным или меньше значения ограничения, основанного на битовой глубине видео. Информация о величине смещений может указывать величину смещения в пределах диапазона, основанного на битовой глубине видео. Например, когда битовая глубина соответствует 8 битам, величина смещения может быть равна или больше 0 и равна или меньше 7, а, когда битовая глубина соответствует 10 битам, величина смещения может быть равна или больше 0 и равна или меньше 31.
Когда из второго бита информации о типе SAO по цветности считывается, что выполняется операция SAO по полосам над текущей LCU, компонент 24 получения параметра SAO может выполнять CABAC-декодирование, в режиме обхода, над битами постоянной битовой длины, следующими за вторым битом информации о типе SAO по цветности. Информация, касающаяся левой начальной позиции полосы, может быть получена из битов постоянной битовой длины по меньшей мере одной из информаций: информации о типе SAO по яркости и информации о типе SAO по цветности.
Компонент 24 получения параметра SAO может получать значение смещения для операции SAO из параметров SAO LCU.
Когда определяется, что должна быть выполнена операция SAO по полосам над текущей LCU из информации о типе SAO по яркости или информации о типе SAO по цветности, если полученное значение смещения не 0, компонент 24 получения параметра SAO может дополнительно получать информацию о знаке значения смещения из параметров SAO LCU.
Когда определяется, что должна быть выполнена операция SAO по границам над текущей LCU из информации о типе SAO по яркости или информации о типе SAO по цветности, знак значения смещения может быть определен на основании направления границы, которое определяется на основании информации о классе SAO.
Устройство 20 декодирования видео может включать в себя центральный процессор (не показан) для совокупного управления компонентом 22 получения параметра SAO, определителем 24 SAO, и регулятором 26 SAO. В качестве альтернативы, управление компонентом 22 получения параметра SAO, определителем 24 SAO, и регулятором 26 SAO может осуществляться отдельными процессорами (не показаны), которые совместно работают для управления устройством 20 декодирования видео. В качестве альтернативы, внешний процессор (не показан) за пределами устройства 20 декодирования видео может управлять компонентом 22 получения параметра SAO, определителем 24 SAO, и регулятором 26 SAO.
Устройство 20 декодирования видео может включать в себя одно или более хранилища данных (не показано) для хранения входных и выходных данных компонента 22 получения параметра SAO, определителя 24 SAO, и регулятора 26 SAO. Устройство 20 декодирования видео может включать в себя контроллер памяти (не показан) для управления вводом и выводом данных в и из хранилищ данных.
Для того, чтобы выполнять операцию декодирования видео для восстановления видео, устройство 20 декодирования видео может функционировать совместно с внутренним или внешним процессором декодирования видео. Внутренний процессор декодирования видео устройства 20 декодирования видео может быть независимым процессором для выполнения основной операции декодирования видео. Также, устройство 20 декодирования видео, центральный блок обработки, или графический блок обработки могут включать в себя модуль процессора декодирования видео для выполнения основной операции декодирования видео.
Теперь со ссылкой на Фиг. 3 будут подробно описаны операции декодирования видео, используя операции SAO. Фиг. 3 является структурной схемой устройства 30 декодирования видео в соответствии с одним или более вариантами осуществления.
Устройство 30 декодирования видео включает в себя энтропийный декодер 31, де-квантователь 32, обратный преобразователь 33, компонент 34 восстановления, внутрикадровый предсказатель 35, буфер 36 опорной картинки, компенсатор 37 движения, фильтр 38 удаления блочности, и компонент 39 выполнения SAO.
Устройство 30 декодирования видео может принимать битовый поток, включающий в себя закодированные видео данные. Энтропийный декодер 31 может анализировать информацию о внутрикадровом режиме, информацию о межкадровом режиме, информацию SAO, и остаток из битового потока.
Остаток, выделяемый энтропийным декодером 31, может быть квантованными коэффициентами преобразования. Соответственно, де-квантователь 32 может выполнять де-квантование над остатком для восстановления коэффициентов преобразования, а обратный преобразователь 33 может выполнять обратное преобразование над восстановленными коэффициентами преобразования для восстановления остаточных значений в пространственной области.
Для того чтобы предсказать и восстановить остаточные значения в пространственной области, может быть выполнено внутрикадровое предсказание или компенсация движения.
Если информация о внутрикадровом режиме выделяется энтропийным декодером 31, внутрикадровый предсказатель 35 может определять опорные выборки, к которым нужно обращаться для восстановления текущих выборок из числа выборок пространственно смежных с текущими выборками, посредством использования информации о внутрикадровом режиме. Опорные выборки могут быть выбраны из числа выборок, восстановленных ранее компонентом 34 восстановления. Компонент 34 восстановления может восстанавливать текущие выборки посредством использования опорных выборок, которые определены на основании информации о внутрикадровом режиме, и остаточных значений, восстановленных обратным преобразователем 33.
Если энтропийным декодером 31 выделяется информация о межкадровом режиме, компенсатор 37 движения может определять опорную картинку, к которой нужно обращаться для восстановления текущих выборок текущей картинки из числа картинок, восстановленных перед текущей картинкой, посредством использования информации о межкадровом режиме. Информация о межкадровом режиме может включать в себя векторы движения, опорные индексы, и т.д. Посредством использования опорных индексов, из числа картинок, восстановленных перед текущей картинкой и сохраненных в буфере 36 опорной картинки, может быть определена опорная картинка, которая должна быть использована для выполнения компенсации движения над текущими выборками. Компонент 34 восстановления может восстанавливать текущие выборки посредством использования опорного блока, который определяется на основании информации о межкадровом режиме, и остаточные значения, восстановленные обратным преобразователем 33.
Компонент 34 восстановления может восстанавливать выборки и может выводить восстановленные пиксели. Компонент 34 восстановления может генерировать восстановленные пиксели каждой из LCU на основании единиц кодирования с древовидной структурой.
Фильтр 38 удаления блочности может выполнять фильтрацию для сокращения явления блочности пикселей, расположенных в областях границы LCU или каждой из единиц кодирования с древовидной структурой.
Также, компонент 39 выполнения SAO может регулировать смещение восстановленных пикселей каждой LCU в соответствии с операцией SAO. Компонент 39 выполнения SAO может определять тип SAO, класс SAO, и значения смещения текущей LCU на основании информации SAO, выделенной энтропийным декодером 31.
Операция выделения информации SAO посредством энтропийного декодера 31 может соответствовать операции компонента получения параметра SAO устройства 20 декодирования видео, а операции компонента 39 выполнения SAO могут соответствовать операциям определителя 24 SAO и регулятора 26 SAO устройства 20 декодирования видео.
Компонент 39 выполнения SAO может определять знаки и значения разности значений смещения в отношении восстановленных пикселей текущей LCU на основании значений смещения, определенных из информации SAO. Компонент 39 выполнения SAO может уменьшать ошибки между восстановленными пикселями и исходными пикселями посредством увеличения или уменьшения значений пикселя восстановленных пикселей на значения разности, определенные на основании значений смещений.
Картинка, включающая в себя восстановленные пиксели, отрегулированные на смещение посредством компонента 39 выполнения SAO, могут быть сохранены в буфере 36 опорной картинки. Таким образом, посредством использования опорной картинки с минимизированными ошибками между восстановленными выборками и исходными пикселями в соответствии с операцией SAO, может быть выполнена компенсация движения над следующей картинкой.
В соответствии с операциями SAO, основанными на значениях разности между восстановленными пикселями и исходными пикселями, может быть получено смещение группы пикселей, включающей в себя восстановленные пиксели. Применительно к операциям SAO, теперь более подробно будут описаны варианты осуществления для классификации восстановленных пикселей на группы пикселей.
В соответствии с операциями SAO, пиксели могут быть классифицированы (i) на основании типа по границам восстановленных пикселей, или (ii) типа по полосам восстановленных пикселей. Классифицируются ли пиксели на основании типа по границам или типа по полосам может быть задано посредством использования типа SAO.
Теперь более подробно будет описан вариант осуществления классификации пикселей на основании типа по границам в соответствии с операциями SAO.
Когда определяются смещения типа по границам текущей LCU, может быть определен класс границы каждого из восстановленных пикселей, включенных в текущую LCU. Т.е., посредством сравнения значений пикселя текущих восстановленных пикселей и смежных пикселей, может быть задан класс границы текущих восстановленных пикселей. Пример определения класса границы теперь будет описан со ссылкой на Фиг. 4.
Фиг. 4 является таблицей, показывающей классы границы типов по границам, в соответствии с одним или более вариантами осуществления.
Индексы 0, 1, 2, и 3 могут быть последовательно распределены классам 41, 42, 43, и 44 границы. Если часто возникает тип по границам, типу по границам может быть распределен небольшой индекс.
Класс границы может указывать направление 1-мерных границ, формируемых между текущим восстановленным пикселем X0 и двумя смежными пикселями. Класс 41 границы с индексом 0 указывает случай, когда границы формируются между текущим восстановленным пикселем X0 и двумя горизонтальными смежными пикселями X1 и X2. Класс 42 границы с индексом 1 указывает случай, когда границы формируются между текущим восстановленным пикселем X0 и двумя вертикальными смежными пикселями X3 и X4. Класс 43 границы с индексом 2 указывает случай, когда границы формируются между текущим восстановленным пикселем X0 и двумя диагональными на 135° смежными пикселями X5 и X8. Класс 44 границы с индексом 3 указывает случай, когда границы формируются между текущим восстановленным пикселем X0 и двумя диагональными на 45° смежными пикселями X6 и X7.
Соответственно, посредством анализа направлений границы восстановленных пикселей, включенных в текущую LCU и, следовательно, определения направления по резкой границе в текущей LCU, может быть определен класс границы текущей LCU.
В отношении каждого класса границы, категории могут быть классифицированы в соответствии с формой границы текущего пикселя. Теперь со ссылкой на Фиг. 5A и 5B будет описан пример категорий в соответствии с формами границы.
Фиг. 5A и 5B являются таблицей и графиком, показывающими категории типов по границам, в соответствии с одним или более вариантами осуществления.
Категория границы указывает, соответствует ли текущий пиксель: самой нижней точке вогнутой границы; пикселю, расположенному на изогнутом углу рядом с самой нижней точкой вогнутой границы; наивысшей точке выпуклой границы; или пикселю, расположенному на изогнутом углу рядом с наивысшей точкой выпуклой границы.
Фиг. 5A примерно показывает условия для определения категорий границ. Фиг. 5B примерно показывает формы границы между восстановленным пикселем и смежными пикселями и их значения c, a, и b пикселя.
Символ c указывает индекс текущего восстановленного пикселя, а символы a и b указывают индексы смежных пикселей по двум сторонам текущего восстановленного пикселя в соответствии с направлением границы. Xa, Xb, и Xc соответственно указывают значения пикселя восстановленных пикселей с индексами a, b, и c. На Фиг. 5B, ось x указывает индексы текущего восстановленного пикселя и смежных пикселей по двум сторонам текущего восстановленного пикселя, а ось y указывает значения пикселя выборок.
Категория 1 указывает случай, когда текущая выборка соответствует самой нижней точке вогнутой границы, т.е., локальную впадину. Как показано на графике 51 (Xc<Xa && Xc<Xb), если текущий восстановленный пиксель c между смежными пикселями a и b соответствует самой низкой точке вогнутой границы, текущий восстановленный пиксель может быть классифицирован как категория 1.
Категория 2 указывает случай, когда текущая выборка располагается на изогнутом углу рядом с самой низкой точкой выгнутой границы, т.е., вогнутом углу. Как показано на графике 52 (Xc<Xa && Xc==Xb), если текущий восстановленный пиксел c между смежными пикселями a и b располагается в конечной точки нисходящей кривой вогнутой границы, или как показано на графике 53 (Xc==Xa && Xc<Xb), если текущий восстановленный пиксел c располагается в начальной позиции восходящей кривой вогнутой границы, текущий восстановленный пиксель может быть классифицирован как категория 2.
Категория 3 указывает случай, когда текущая выборка располагается на изогнутом углу рядом с наивысшей точкой выпуклой границы, т.е. выпуклом углу. Как показано на графике 54 (Xc>Xb && Xc==Xa), если текущий восстановленный пиксель c между смежными пикселями a и b располагается в начальной точке нисходящей кривой выпуклой границы или, как показано на графике 55 (Xc==Xb && Xc>Xa), если текущий восстановленный пиксель c располагается в конечной точке восходящей кривой выпуклой границы, текущий восстановленный пиксель может быть классифицирован как категория 3.
Категория 4 указывает случай, когда текущая выборка соответствует наивысшей точке выпуклой границы, т.е., локальному пику. Как показано на графике 56 (Xc>Xa && Xc>Xb), если текущий восстановленный пиксель c между смежными пикселями a и b соответствует наивысшей точке выпуклой границы, текущий восстановленный пиксель может быть классифицирован как категория 4.
Если текущий восстановленный пиксель не удовлетворяет ни одному из условий категорий 1, 2, 3, и 4, текущий восстановленный пиксель не соответствует границе и, следовательно, классифицируется как категория 0, и не требуется кодировать смещение для категории 0.
В соответствии с одним или более вариантами осуществления, в отношении восстановленных пикселей, соответствующих одной и той же категории, среднее значение значений разности между восстановленными пикселями и исходными пикселями может быть определено в качестве смещения текущей категории. Также, могут быть определены смещения всех категорий.
Вогнутые границы категорий 1 и 2 могут быть сглажены, если восстановленные значения пикселя регулируются посредством использования положительных значений смещения, и их резкость может быть усилена благодаря отрицательным значениям смещения. Выпуклые границы категорий 3 и 4 могут быть сглажены благодаря отрицательным значениям смещения и их резкость может быть усилена благодаря положительным значениям смещения.
Устройство 10 кодирования видео может не допускать эффекта увеличения резкости границ. Здесь, вогнутым границам категорий 1 и 2 требуются положительные значения смещения, а выпуклым границам категорий 3 и 4 требуются отрицательные значения смещения. В этом случае, если категория границы известна, может быть определен знак значения смещения. Соответственно, устройство 10 кодирования видео может не передавать знак значения смещения, а может передавать только абсолютное значение значения смещения. Также, устройство 20 декодирования видео может не принимать знак значения смещения, а может принимать только абсолютное значение значения смещения.
Соответственно, устройство 10 кодирования видео может кодировать и передавать значения смещения в соответствии с категориями текущего класса границы, и устройство 20 декодирования видео может регулировать восстановленные пиксели категорий посредством принятых значений смещения.
Например, если значение смещения типа по границам определяется как 0, устройство 10 кодирования видео может передавать только информацию о нулевом значении в качестве значения смещения.
Например, если значение смещения типа по границам не 0, устройство 10 кодирования видео может передавать информацию о нулевом значении и абсолютное значение в качестве значения смещения. Не требуется передавать знак значения смещения.
Устройство 20 декодирования видео считывает информацию о нулевом значении из принятого значения смещения, и может считать абсолютное значение значения смещения, если значение смещения не 0. Знак значения смещения может быть предсказан в соответствии с категорией границы на основании формы границы между восстановленным пикселем и смежными пикселями.
Соответственно, устройство 10 кодирования видео может классифицировать пиксели в соответствии с направлениями границы и формами границы, может определять среднее значение ошибки между пикселями с одинаковыми характеристиками в качестве значения смещения, и может определять значения смещения в соответствии с категориями. Устройство 10 кодирования видео может кодировать и передавать: информацию о типе SAO, указывающую тип по границам; информацию о классе SAO, указывающую направление границы; и значения смещения.
Устройство 20 декодирования видео может принимать информацию о типе SAO, информацию о классе SAO, и значения смещения, и может определять направление границы в соответствии с информацией о типе SAO и информацией о классе SAO. Устройство 20 декодирования видео может определять значение смещения восстановленных пикселей категории, соответствующей формы границы в соответствии с направлением границы, и может регулировать значения пикселя восстановленных пикселей на значение смещения, тем самым обеспечивая минимизацию ошибки между исходным изображением и восстановленным изображением.
Теперь подробно будет описан вариант осуществления классификации пикселей на основании типа по полосам в соответствии с операциями SAO.
k
0
1
1
2
2
3
k
k
k
k
В соответствии с одним или более вариантами осуществления, каждое из значений пикселя восстановленных пикселей может принадлежать к одной из множества полос. Например, значения пикселей могут иметь общий диапазон от минимального значения Min в виде 0 до максимального значения Max в виде 2^(p-1) в соответствии с p-битной дискретизацией. Если общий диапазон (Min, Max) значений пикселя делится на K интервалов, каждый интервал значений пикселя именуется полосой. Если B указывает максимальное значение k-ой полосы, то могут быть разделены полосы [B, B-1], [B, B-1], [B, B-1], …, и [B-1, B]. Если значение пикселя текущего восстановленного пикселя Rec(x,y) принадлежит к полосе [B-1, B], текущая полоса может быть определена как k. Полосы могут быть разделены равномерно или неравномерно.
Например, если значения пикселя классифицируются на равные 8-битные полосы пикселя, значения пикселя могут быть разделены на 32 полосы. Более подробно, они могут быть классифицированы на полосы [0, 7], [8, 15], …, [240, 247], и [245, 255].
Из множества полос, классифицированных в соответствии с типом по полосам, может быть определена полоса, к которой принадлежит каждое из значений пикселя восстановленных пикселей. Также, в каждой полосе может быть определено значение смещения, указывающее среднее ошибок между исходными пикселями и восстановленными пикселями.
Соответственно, устройство 10 кодирования видео и устройство 20 декодирования видео может кодировать и осуществлять приемопередачу смещения, соответствующего каждой из полос, классифицированных в соответствии с текущим типом по полосам, и может регулировать восстановленные пиксели на смещение.
Соответственно, в отношении типа по полосам, устройство 10 кодирования видео и устройство 20 декодирования видео может классифицировать восстановленные пиксели в соответствии с полосами, к которым принадлежат их значения пикселя, может определять смещение как среднее из значений ошибки восстановленных пикселей, которые принадлежат одной и той же полосе, и может регулировать восстановленные пиксели на смещение, тем самым обеспечивая минимизацию ошибки между исходным изображением и восстановленным изображением.
Когда определяется смещение в соответствии с типом по полосам, устройство 10 кодирования видео и устройство 20 декодирования видео могут классифицировать восстановленные пиксели на категории в соответствии с позицией полосы. Например, если общий диапазон значений пикселя разделен на K полос, категории могут быть проиндексированы в соответствии с индексом k полосы, указывающим k-ую полосу. Количество категорий может быть определено таким, чтобы соответствовать количеству полос.
Тем не менее, для того чтобы сократить объем данных, устройство 10 кодирования видео и устройство 20 декодирования видео могут ограничивать количество категорий, используемых для определения смещений в соответствии с операциями SAO. Например, предварительно определенное количество полос, которые являются непрерывными от полосы с предварительно определенной начальной позицией в направлении, в котором увеличивается индекс полосы, может быть распределено в качестве категорий, и может быть определено лишь смещение каждой категории.
Например, если полоса с индексом 12 определяется в качестве начальной полосы, то четыре полосы от начальной полосы, т.е., полосы с индексами 12, 13, 14, и 15 могут быть распределены в качестве категорий 1, 2, 3, и 4. Соответственно, средняя ошибка между восстановленными пикселями и исходными пикселями, включенными в полосу с индексом 12, может быть определена в качестве смещения категории 1. Аналогичным образом, средняя ошибка между восстановленными пикселями и исходными пикселями, включенными в полосу с индексом 13, может быть определена в качестве смещения категории 2, средняя ошибка между восстановленными пикселями и исходными пикселями, включенными в полосу с индексом 14, может быть определена в качестве смещения категории 3, и средняя ошибка между восстановленными пикселями и исходными пикселями, включенными в полосу с индексом 15, может быть определена в качестве смещения категории 4.
В этом случае, информация, касающаяся начальной позиции диапазона полос, т.е., позиция левой полосы, требуется для определения позиций полос, распределенных в качестве категорий. Соответственно, устройство 10 кодирования видео может кодировать и передавать информацию о позиции начальной полосы в качестве класса SAO. Устройство 10 кодирования видео может кодировать и передавать: тип SAO, указывающий тип по полосам; класс SAO; и значения смещения в соответствии с категориями.
Устройство 20 декодирования видео может принимать: тип SAO; класс SAO; и значения смещения в соответствии с категориями. Если принятым типом SAO является тип по полосам, устройство 20 декодирования видео может считывать позицию начальной полосы из класса SAO. Устройство 20 декодирования видео может определять полосу, к которой принадлежат восстановленные пиксели, из числа четырех полос от начальной полосы, может определять значение смещения, распределенное текущей полосе из числа значений смещения в соответствии с категориями, и может регулировать значения пикселя восстановленных пикселей на значение смещения.
Выше, в качестве типов SAO представлены тип по границам и тип по полосам, и подробно описаны класс SAO и категория в соответствии с типом SAO. Теперь подробно будут описаны параметры SAO, которые кодируются и в отношении которых осуществляется приемопередача посредством устройства 10 кодирования видео и устройства 20 декодирования видео.
Устройство 10 кодирования видео и устройство 20 декодирования видео может определять тип SAO в соответствии со способом классификации пикселя восстановленных пикселей каждой LCU.
Тип SAO может быть определен в соответствии с характеристиками изображения каждого блока. Например, в отношении LCU, включающей в себя вертикальную границу, горизонтальную границу, и диагональную границу, для того чтобы изменить значения границы, значения смещения могут быть определены посредством классификации значений пикселя в соответствии с типом по границам. В отношении LCU не включающей в себя область границы, значения смещения могут быть определены в соответствии с классификацией по полосам. Соответственно, устройство 10 кодирования видео и устройство 20 декодирования видео может сигнализировать тип SAO в отношении каждой LCU.
Устройство 10 кодирования видео и устройство 20 декодирования видео может определять параметры SAO в отношении каждой LCU. Т.е., могут быть определены типы SAO восстановленных пикселей LCU, восстановленные пиксели LCU могут быть классифицированы на категории, и значения смещения могут быть определены в соответствии с категориями.
Из числа восстановленных пикселей, включенных в LCU, устройство 10 кодирования видео может определять среднюю ошибку восстановленных пикселей, классифицированных в соответствии с одинаковой категорией, в качестве значения смещения. Может быть определено значение смещения каждой категории.
В соответствии с одним или более вариантами осуществления, параметры SAO могут включать в себя: тип SAO, значения смещения, и класс SAO. Устройство 10 кодирования видео и устройство 20 декодирования видео может осуществлять приемопередачу параметров SAO, определенных в отношении каждой LCU.
Из числа параметров SAO LCU, устройство 10 кодирования видео может кодировать и передавать тип SAO и значения смещения. Если типом SAO является тип по границам, устройство 10 кодирования видео может дополнительно передавать класс SAO, указывающий направление границы, за которым следует тип SAO и значения смещения в соответствии с категориями. Если типом SAO является тип по полосам, устройство 10 кодирования видео может дополнительно передавать класс SAO, указывающий позицию начальной полосы, за которым следует тип SAO и значения смещения в соответствии с категориями.
Устройство 20 декодирования видео может принимать параметры SAO каждой LCU, которые включают в себя: тип SAO, значения смещения, и класс SAO. Также, устройство 20 декодирования видео может выбирать значение смещения категории, к которой принадлежит восстановленный пиксель, из числа значений смещения в соответствии с категориями, и может регулировать восстановленный пиксель на выбранное значение смещения.
Теперь будет описан вариант осуществления сигнализации значений смещения из числа параметров SAO.
Для того чтобы передавать значения смещения, устройство 10 кодирования видео может дополнительно передавать информацию о нулевом значении. В соответствии с информацией о нулевом значении, может быть дополнительно передана информация о знаке и остаток.
Информация о нулевом значении может быть 1-битным флагом. Т.е., может быть передан ‘0’ флаг, указывающий, что значение смещения равно 0 или ‘1’ флаг, указывающий, что значение смещения не 0.
Если информация о нулевом значении соответствует ‘0’ флагу, не требуется кодировать информацию о знаке или остаток. Тем не менее, ели информация о нулевом значении соответствует ‘1’ флагу, дополнительно может быть передана информация о знаке и остаток.
Тем не менее, как описано выше, в отношении типа по границам, поскольку значение смещения может быть предсказано как положительное число или отрицательное число в соответствии с категорией, не требуется передавать информацию о знаке. Соответственно, если информация о нулевом значении соответствует ‘1’ флагу, дополнительно может быть передан остаток.
В соответствии с одним или более вариантами осуществления, значение смещения Off-set может быть предварительно ограничено диапазоном от минимального значения MinOffSet до максимального значения MaxOffSet до того, как определяется значение смещения (MinOffSet≤Off-Set≤MaxOffSet).
Например, в отношении типа по границам, значения смещения восстановленных пикселей категорий 1 и 2 могут быть определены в диапазоне от минимального значения равного 0 до максимального значения равного 7. В отношении типа по границам, значения смещения восстановленных пикселей категорий 3 и 4 могут быть определены в диапазоне от минимального значения равного -7 до максимального значения равного 0.
Например, в отношении типа по полосам, значения смещения восстановленных пикселей всех категорий могут быть определены в диапазоне от минимального значения равного -7 до максимального значения равного 7.
Для того чтобы сократить биты передачи значения смещения, остаток может быть ограничен p-битным значением вместо отрицательного числа. В этом случае, остаток может быть больше или равен 0 и может быть меньше или равен значению разности между максимальным значением и минимальным значением (0≤Remainder (Остаток)≤MaxOffSet-MinOffSet+1≤2^p). Если устройство 10 кодирования видео передает остаток и устройство 20 декодирования видео знает по меньшей мере одно из значений: максимальное значение и минимальное значение значения смещения, исходное значение смещения может быть восстановлено посредством использования только принятого остатка.
Фиг. с 6A по 6C показывают отношения между первой и второй составляющими 61 и 62 цветности.
Во время операций кодирования и декодирования видео цветного изображения, информация изображения, как правило, классифицируется на составляющую яркости и первую и вторую составляющие цветности применительно к каждой составляющей цвета и сохраняется в памяти. На Фиг. с 6A по 6C, первая и вторая составляющие 61 и 62 цветности хранятся в памяти в чередующемся порядке среди составляющих цвета одного и того же блока изображения.
Фиг. 6A показывает выборки, к которым обращаются из числа соседних выборок левого блока и верхнего блока, когда выполняется внутрикадровое предсказание над первой и второй составляющими 61 и 62 цветности. Первая составляющая 61 цветности может обращаться к первой составляющей 65 цветности соседнего левого блока или первой составляющей 63 цветности соседнего верхнего блока. Вторая составляющая 62 цветности может обращаться ко второй составляющей 66 цветности соседнего левого блока или второй составляющей 64 цветности соседнего верхнего блока.
Тем не менее, при внутрикадровом предсказании, первая и вторая составляющие 61 и 62 цветности могут совместно использовать направление внутрикадрового предсказания. Таким образом, внутрикадровое предсказание может быть одновременно выполнено над первой и второй составляющими 61 и 62 цветности посредством получения первой и второй составляющих 63, 64, 65, и 66 цветности левого блока или верхнего блока, которые хранятся в памяти в чередующемся порядке.
Когда выполняется компенсация движения, составляющая яркости и первая и вторая составляющие 61 и 62 цветности одного и того же блока изображения совместно используют вектор движения, и, следовательно, межкадровое предсказание может быть одновременно выполнено над первой и второй составляющими 61 и 62 цветности.
Когда выполняется петлевая фильтрация, фильтры с одинаковым размером и коэффициентом используются для первой и второй составляющих 61 и 62 цветности, и, следовательно, петлевая фильтрация может быть одновременно выполнена над первой и второй составляющими 61 и 62 цветности.
Например, теперь со ссылкой на Фиг. 6B и 6C будут описаны отношения между операциями SAO в отношении первой и второй составляющих 61 и 62 цветности, когда выполняется операция SAO типа по границам.
Предполагается, подобно Фиг. 6B, что направление границы SAO текущей первой составляющей 611 цветности определяется как вертикальное направление, и направление границы SAO текущей второй составляющей 612 цветности по-другому определяется как горизонтальное направление. Для выполнения операции SAO над текущей составляющей 611 цветности, требуется получить из памяти первые составляющие 613 и 615 цветности, расположенные над и под текущей первой составляющей 611 цветности. Для выполнения операции SAO над текущей второй составляющей 612 цветности, требуется получить из памяти вторые составляющие 623 и 625 цветности, расположенные слева и справа от текущей второй составляющей 612 цветности.
Первая и вторая составляющие 61 и 62 цветности хранятся в памяти в чередующемся порядке, и, следовательно, выборки, хранящиеся в разных направлениях, не могут быть одновременно получены из памяти посредством процесса удаления чередования. После того как операция SAO выполняется над первой составляющей 61 цветности посредством процесса удаления чередования, операция SAO выполняется над второй составляющей 62 цветности, и затем требуется выполнить процесс удаления чередования.
Таким образом, когда направления границы SAO разные, операция SAO не может быть одновременно выполнена над первой и второй составляющей 61 и 62 цветности. Если операция SAO последовательно выполняется над первой и второй составляющей 61 и 62 цветности, возникает время ожидания при параллельной обработке кодирования видео, которое может привести к задержке во всех операциях кодирования видео.
Тем не менее, предполагается, подобно Фиг. 6C, что направления границы SAO текущей первой составляющей 611 цветности и текущей второй составляющей 612 цветности одинаково определяются как горизонтальные направления. Для выполнения операции SAO над текущей первой составляющей 611 цветности, из памяти могут быть получены первые составляющие 617 и 619 цветности, расположенные слева и справа от текущей первой составляющей 611 цветности. Для выполнения операции SAO над текущей второй составляющей 621 цветности, из памяти могут быть получены вторые составляющие 623 и 625 цветности, расположенные слева и справа от текущей второй составляющей 621 цветности. В этом случае, выборки, хранящиеся в одинаковом направлении, могут быть одновременно получены из памяти, и, следовательно, операция SAO может быть одновременно выполнена над первой и второй составляющей 61 и 62 цветности.
Таким образом, если первая и вторая составляющая 61 и 62 цветности совместно используют тип SAO как показано на Фиг. 6C, то заранее может быть предотвращено время ожидания параллельной обработки, и в два раза может быть сокращено число бит параметров SAO в отношении составляющих цветности.
Теперь ниже подробнее будет описана информация о слиянии SAO из числа параметров SAO в соответствии с вариантами осуществления.
Типы SAO и/или значения смещения смежных блоков могут быть вероятно одинаковыми. Устройство 10 кодирования видео может сравнивать параметры SAO текущего блока с параметрами SAO смежных блоков и может осуществлять слияние и кодирование параметров SAO текущего блока и смежных блоков, если параметры SAO одинаковые. Если параметры SAO смежного блока закодированы ранее, параметры SAO смежного блока могут быть заимствованы в качестве параметров SAO текущего блока. Соответственно, устройство 10 кодирования видео может не кодировать параметры SAO текущего блока, а может кодировать только информацию о слиянии SAO текущего блока.
Перед тем, как параметры SAO анализируются из принятого битового потока, устройство 20 декодирования видео может изначально анализировать информацию о слиянии SAO и может определять, анализировать ли параметры SAO. Устройство 20 декодирования видео может определять, существует ли смежный блок с такими же параметрами SAO, как и у текущего блока, на основании информации о слиянии SAO.
Например, если на основании информации о слиянии SAO существует смежный блок с такими же параметрами SAO, как и у текущего блока, устройство 20 декодирования видео может не анализировать параметры SAO текущего блока, а может заимствовать восстановленные параметры SAO смежного блока в качестве параметров SAO текущего блока. Соответственно, устройство 20 декодирования видео может восстанавливать параметры SAO текущего блока так, чтобы они были точно такими же, как и у смежного блока. Также, на основании информации о слиянии SAO, может быть определен смежный блок с параметрами SAO, к которому следует обращаться.
Например, если параметры SAO смежных блоков отличаются от параметров SAO текущего блока на основании информации о слиянии SAO, устройство 20 декодирования видео может анализировать и восстанавливать параметры SAO текущего блока из битового потока.
Фиг. 7A является схемой, показывающей смежные LCU 652 и 653, к которым обращаются для слияния параметров SAO, в соответствии с одним или более вариантами осуществления.
Устройство 10 кодирования видео может определять потенциальный список смежных LCU, к которым следует обращаться для предсказания параметров SAO текущей LCU 651 из числа смежных LCU, восстановленных перед текущей LCU 651. Устройство 10 кодирования видео может сравнивать параметры SAO текущей LCU 651 и смежных LCU в потенциальном списке.
Например, в потенциальный список могут быть просто включены левая и верхняя LCU 653 и 652 относительно текущей LCU 651 в текущей картинке 65.
Соответственно, устройство 10 кодирования видео может сравнивать параметры SAO смежных LCU, включенных в потенциальный список, с теми, что у текущей LCU 651 в соответствии с опорным порядком. Например, параметры SAO могут быть сравнены с теми, что у текущей LCU 651 в порядке вида: левая LCU 653 и верхняя LCU 652. Из сравненных левой и верхней LCU 653 и 652, LCU с точно такими же параметрами SAO, что и у текущей LCU 651, может быть определена в качестве опорной LCU.
Для того чтобы предсказать параметры SAO текущей LCU 651, устройство 10 кодирования видео и устройство 20 декодирования видео могут обращаться к одинаковым смежным LCU. Также, может быть передана и получена информация о слиянии SAO, указывающая LCU с параметрами SAO, к которой следует обращаться. Устройство 20 декодирования видео может выбирать одну из смежных LCU на основании информации о слиянии SAO, и может восстанавливать параметры SAO текущей LCU 651, чтобы они были точно такими же, как и у выбранной смежной LCU.
Например, предполагается, что обращаются к левой и верхней LCU 653 и 652. Кодер 16 параметра SAO может кодировать информацию о левом слиянии SAO, указывающую, являются ли параметры SAO левой LCU 653 относительно текущей LCU 651 точно такими же, как у текущей LCU 651, и информацию о верхнем слиянии SAO, указывающую, являются ли параметры SAO верхней LCU 652 точно такими же, как у текущей LCU 651, в качестве информации о слиянии SAO. В этом случае, параметры SAO текущей LCU 651 и левой LCU 653 могут быть исходно сравнены для определения, являются ли они одинаковыми, а затем параметры SAO текущей LCU 651 и верхней LCU 652 могут быть сравнены для определения, являются ли они одинаковыми. В соответствии с результатом сравнения, может быть определена информация о слиянии SAO.
Если параметры SAO по меньшей мере одной из левой и верхней LCU 653 и 652 точно такие же, как и у текущей LCU 651, кодер 16 параметра SAO может кодировать только информацию о левом или верхнем слиянии SAO и может не кодировать параметры SAO текущей LCU 651.
Если параметры SAO как левой, так и правой LCU 653 и 652 отличаются от тех, что у текущей LCU 651, кодер 16 параметра SAO может кодировать информацию о левом или верхнем слиянии SAO и параметры SAO текущей LCU 651.
Теперь подробно будут описаны параметры SAO в соответствии с составляющими цвета.
Устройство 10 кодирования видео и устройство 20 декодирования видео могут взаимно предсказывать параметры SAO между составляющими цвета.
Устройство 10 кодирования видео и устройство 20 декодирования видео могут выполнять операцию SAO над всеми из блоков: блоком яркости и блоками цветности в цветовом формате YCrCb. Соответственно, могут быть определены значения смещения составляющей яркости Y и составляющих цветности Cr и Cb текущей LCU.
Например, общая информация о слиянии SAO может быть применена к составляющей Y, составляющей Cr, и составляющей Cb текущей LCU. Т.е., на основании фрагмента информации о слиянии SAO, может быть определено, являются ли параметры SAO составляющей Y точно такими же, как и у составляющей Y смежной LCU, может быть определено являются ли параметры SAO составляющей Cr точно такими же, как и у составляющей Cr смежной LCU, и может быть определено являются ли параметры SAO составляющей Cb точно такими же, как и у составляющей Cb смежной LCU.
Например, общая информация о типе SAO может быть применена к составляющей Cr и составляющей Cb текущей LCU. Т.е., на основании одного фрагмента информации о типе SAO, может быть определено, выполняется ли операция SAO одновременно над составляющей Cr и составляющей Cb или нет. На основании одного фрагмента информации о типе SAO, также может быть определено, определяются ли значения смещения составляющей Cr и составляющей Cb в соответствии с типом по границам или типом по полосам. Если типом SAO является тип по границам на основании одного фрагмента информации о типе SAO, составляющая Cr и составляющая Cb могут совместно использовать одинаковое направление границы.
На основании одного фрагмента информации о типе SAO, также может быть определено, определяются ли значения смещения составляющей Cr и составляющей Cb в соответствии с типом по границам или типом по полосам.
На основании фрагмента информации о типе SAO, составляющая Cr и составляющая Cb могут также совместно использовать одинаковый класс SAO. Если типом SAO является тип по границам, основанный на одном фрагменте информации о типе SAO, составляющая Cr и составляющая Cb могут совместно использовать одинаковое направление границы. Если типом SAO является тип по полосам на основании одного фрагмента информации о типе SAO, составляющая Cr и составляющая Cb могут совместно использовать одинаковую левую начальную позицию полосы.
Теперь со ссылкой на Фиг. с 7B по 7G ниже будут подробно описаны структуры синтаксиса, в которых задаются параметры SAO в соответствии с составляющими цвета текущей LCU. Устройство 20 декодирования видео может анализировать синтаксис, показанный на Фиг. с 7B по 7G, получать параметры SAO, и выполнять операцию SAO.
Фиг. 7B показывает структуры синтаксиса заголовка 700 слайса и данных 705 слайса в соответствии с одним или более вариантами осуществления.
Заголовок 700 слайса в соответствии с вариантом осуществления включает в себя один или более параметры 701, 702, и 703, указывающие, выполняется ли операция SAO над текущим слайсом.
Устройство 20 декодирования видео может получать ‘slice_sample_adaptive_offset_flag[0]’ 701 из заголовка 700 слайса и определять, выполнять ли операцию SAO над составляющей яркости.
Если выполняется операция SAO для составляющей яркости, устройство 20 декодирования видео может получать ‘slice_sample_adaptive_offset_flag[1]’ 702 из заголовка 700 слайса и определять, выполнять ли операцию SAO над первой составляющей цветности.
В связи с этим, устройство 20 декодирования видео может не получать дополнительно параметр, указывающий, выполнять ли операцию SAO над второй составляющей цветности из заголовка 700 слайса. Информация ‘slice_sample_adaptive_offset_flag[2]’ 703, указывающая, выполнять ли операцию SAO над второй составляющей цветности, может быть одинаково предсказана из ‘slice_sample_adaptive_offset_flag[1]’ 702, полученного из заголовка 700 слайса. Таким образом, операция SAO может или не может быть одновременно выполнена над первой и второй составляющими цветности.
Устройство 20 декодирования видео может определять, получать ли параметр 706 SAO в соответствии с LCU из данных 705 слайса на основании ‘slice_sample_adaptive_offset_flag[0]’ 701, ‘slice_sample_adaptive_offset_flag[1]’ 702, и ‘slice_sample_adaptive_offset_flag[2]’ 703, которые определяются из заголовка 700 слайса.
Фиг. 7C и 7D показывают структуры синтаксиса параметров 706 и 709 SAO в отношении LCU в соответствии с одним или более вариантами осуществления.
Устройство 20 декодирования видео может получать информацию 707 о левом слиянии SAO из параметра 706 SAO ‘sao_unit_cabac(rx, ry, cldx)’ в отношении LCU. В связи с этим, общая информация 707 о левом слиянии SAO ‘sao_merge_left_flag[rx][ry]’ может быть получена без различия на составляющая яркости и первую и вторую составляющую цветности. Соответственно, устройство 20 декодирования видео может одновременно и одинаково определять, использовать ли параметр SAO левой LCU в качестве параметров составляющей яркости и первой и второй составляющих цветности текущей LCU на основании общей информации 707 о левом слиянии SAO.
Если определяется, что не обращаются к параметру SAO левой LCU на основании информации 707 о левом слиянии SAO, устройство 20 декодирования видео может получать информацию 708 о верхнем слиянии SAO ‘sao_merge_up_flag[rx][ry]’ из параметра 706 SAO в отношении LCU. Аналогичным образом, общая информация 708 о верхнем слиянии SAO может быть получена без различия на составляющую яркости и первую и вторую составляющую цветности. Соответственно, устройство 20 декодирования видео может одновременно и одинакового определять, использовать ли параметр SAO верхней LCU в качестве параметров составляющей яркости и первой и второй составляющих цветности текущей LCU на основании общей информации 708 о верхнем слиянии SAO.
Если определяется, что не обращаются к параметру SAO верхней LCU на основании информации 708 о верхнем слиянии SAO, устройство 20 декодирования видео может непосредственно получать текущий параметр 709 SAO в отношении текущей LCU из параметра 706 SAO в отношении LCU.
Текущий параметр 709 SAO может включать в себя информацию 711 о типе SAO текущей LCU. Устройство 20 декодирования видео может получать информацию 711 о типе SAO по отдельности заданную в отношении составляющей яркости и составляющих цветности из текущего параметра 709 SAO. Таким образом, общая информация 711 о типе SAO ‘sao_type_idx[cldx][rx][ry]’ может быть получена в отношении первой и второй составляющих цветности. Например, если информация 711 о типе SAO получается в отношении первой составляющей цветности текущей LCU, информация о типе SAO в отношении второй составляющей цветности может быть предсказана из информации 711 о типе SAO в отношении второй составляющей цветности.
1 бит, указывающий, выполняется ли операция SAO над текущей LCU, может быть получен из информации 711 о типе SAO. Если определяется, что операция SAO выполняется на основании первого 1 бита, второй 1 бит может быть получен из информации 711 о типе SAO, и может быть определено, является ли тип SAO текущей LCU типом по границам или типом по полосам из второго 1 бита.
Если второй 1 бит информации 711 о типе SAO определяется как указывающий на тип по границам, устройство 20 декодирования видео может получать информацию, касающуюся категории границы из оставшихся битов информации 711 о типе SAO.
Если второй 1 бит информации 711 о типе SAO определяется как указывающий на тип по полосам, устройство 20 декодирования видео может получать информацию, касающуюся категории полосы из оставшихся битов информации 711 о типе SAO.
Устройство 20 декодирования видео может определять, выполнять ли операцию SAO над составляющей яркости текущей LCU на основании 1 бита информации 711 о типе SAO, касающегося составляющей яркости. Устройство 20 декодирования видео может определять, выполнять ли операцию SAO над первой и второй составляющими цветности текущей LCU на основании 1 бита информации 711 о типе SAO, касающегося составляющих цветности.
Если определяется, что операция SAO над составляющей яркости или составляющими цветности текущей LCU не выполняется на основании информации 711 о типе SAO для составляющей яркости или составляющих цветности, не получают следующий бит из информации 711 о типе SAO. Информация 711 о типе SAO может быть принята в форме усеченного унарного кода.
Только один фрагмент информации 711 о типе SAO для составляющих цветности кодируется в соответствии с вариантом осуществления, информация 711 о типе SAO, определенная для первой составляющей цветности, может быть определена в качестве информации о типе SAO для второй составляющей цветности.
Устройство 20 декодирования видео может получать информацию о классе границы для составляющей яркости и информацию о классе границы для составляющей цветности из параметра 709 SAO ‘sao_offset_cabac(rx, ry, cldx)’ в отношении текущей LCU. Класс границы может указывать четыре направления границы, включающие в себя: горизонтальное направление границы (0°), вертикальное направление границы (90°), 135° диагональное направление границы, и 45° диагональное направление границы, и, следовательно, класс границы может быть задан 2 битами.
Фиг. 7F показывает структуру синтаксиса параметров SAO в отношении типов SAO в соответствии с одним или более вариантами осуществления. Обращаясь к Фиг. 7D и 7F, если операция SAO выполняется на основании информации 711 о типе SAO, параметры 706 и 709 SAO могут дополнительно включать в себя по меньшей мере одно из следующего: значение 713 смещения ‘sao_offset[cldx][rx][ry][i]’ и информацию 715 о знаке смещения ‘sao_offset_sign[cldx][rx][ry][i]’.
Со ссылкой на Фиг. 7E будет описано моделирование контекста для CABAC-кодирования значения 713 смещения. Фиг. 7E показывает структуру синтаксиса информации о контексте для CABAC-кодирования параметров SAO в соответствии с одним или более вариантами осуществления.
st
Т.е., как показано на Фиг. 7D и 7F, устройство 20 декодирования видео не получает значение 713 смещения как из обоих параметров 706 и 709 SAO, а может сначала получать первый 1 бит 721 ‘sao_offset_abs_1_bin[cldx][rx][ry][i]’ величины значения 713 смещения, как показано на Фиг. 7E. Когда первый 1 бит не 0, поскольку значение 713 не 0, устройство 20 декодирования видео получает оставшиеся биты 723 ‘sao_offset_abs_remain_bins[cldx][rx][ry][i]’ величины значения 713 смещения.
Первый 1 бит и оставшиеся биты значения 713 смещения отделены друг от друга, и, следовательно, оставшиеся биты могут быть CABAC-закодированы в режиме обхода.
Лишь когда значение 713 смещения не 0, устройство 20 декодирования видео может получать информацию 715 о знаке смещения ‘sao_offset_sign[cldx][rx][ry][i]’ значения 713 смещения из параметров 706 и 709 SAO.
Информация 715 о знаке смещения ‘sao_offset_sign[cldx][rx] [ry][i]’ может быть получена, только когда типом SAO является тип по полосам и значение 713 смещения не 0. Когда типом SAO является тип по границам, знак значения 713 смещения может быть определен в соответствии с тем, является ли класс границы локальным пиком, локальной впадиной, вогнутой границей, или выпуклой границей.
Обращаясь к Фиг. 7F, когда типом SAO является тип по полосам, информация 717 ‘sao_band_position[cldx][rx][ry]’, касающаяся левой начальной позиции полосы, как, впрочем, и информация 715 о знаке смещения, может быть получена из параметра 706 SAO.
Устройство 20 декодирования видео может выполнять CABAC-кодирование над параметрами 706 и 709 SAO. Для выполнения CABAC-кодирования над параметрами 706 и 709 SAO, может быть выполнено моделирование контекста в отношении информации 707 о левом слиянии SAO, информации 708 о верхнем слиянии SAO, информации касающейся значения 713 смещения, и информации 711 о типе SAO из числа параметров 706 и 709 SAO.
Абсолютная величина значения для значения 713 смещения в информации, касающейся значения 713 смещения, может быть ограничена в соответствии с битовой глубиной. Наибольшее значение абсолютной величины значения может быть определено в соответствии с уравнением ниже.
Offset_abs_max=(1<<(Min(biDepth, 10)-5))-1
Например, при 8-битной битовой глубине декодирования, абсолютная величина значения для значения 713 смещения может быть от 0 до 7. В качестве другого примера, при 10-битной битовой глубине декодирования, абсолютная величина значения для значения 713 смещения может быть 0 и 31.
Чтобы гарантировать ограничение величины значения 713 смещения, информация, касающаяся значения 713 смещения, может быть закодирована посредством использования усеченного унарного кода.
Устройство 20 декодирования видео может использовать только модель контекста в отношении первого 1 бита информации, касающегося значения 713 смещения. Устройство 20 декодирования видео может выполнять CABAC-декодирование над оставшимися битами информации, касающихся значения 713 смещения, в режиме обхода.
Информация 711 о типе SAO включает в себя значения от 0 до 5. CABAC-декодирование, использующее 2 модели контекста, может быть выполнено над первым 1 битом информации 711 о типе SAO, указывающим, выполнять ли операцию SAO над текущей LCU. CABAC-декодирование может быть выполнено над оставшимися битами информации 711 о типе SAO отличными от первого 1 бита в режиме обхода.
Информация 707 о левом слиянии SAO может быть CABAC-декодирована посредством использования единой модели контекста, совместно используемой составляющей яркости и первой и второй составляющими цветности. Информация 708 о верхнем слиянии SAO может быть CABAC-декодирована посредством использования единой модели контекста, совместно используемой составляющей яркости и первой и второй составляющими цветности.
Вследствие этого, общее количество из 5 моделей контекста может быть использовано для выполнения CABAC-декодирования над параметрами 706 и 709 SAO. Таким образом, можно сократить количество на три модели контекста в сравнении со случаем, когда модели контекста определяются в отношении всех бинов значения 713 смещения, и информация 707 о левом слиянии SAO совместно не используется для составляющих цвета. Объем хранения данных, которые требуется сохранить в памяти, может быть сокращен благодаря сокращению количества моделей контекста для CABAC-декодирования. Бины множества параметров SAO CABAC-кодируются в режиме обхода, и, следовательно, объем CABAC-вычислений и битов передачи может быть сокращен.
Информация 717 ‘sao_band_position[cldx][rx][ry]’, касающаяся левой начальной позиции полосы, включенная в параметр 709 SAO, имеет 5-битную постоянную битовую длину и наибольшее значение равное 31. Устройство 20 декодирования видео может выполнять CABAC-декодирование над информацией 717, касающейся левой начальной позиции полосы, в режиме обхода постоянной битовой длины.
Теперь ниже будет описан процесс анализа различных фрагментов информации, связанной с SAO, из параметров SAO посредством CABAC-декодирования.
Тип SAO составляющей яркости анализируется из параметров SAO. Если типом SAO является тип отключено (OFF), то поскольку регулировка смещения в соответствии с операциями SAO не выполняется над составляющей яркости, могут быть проанализированы параметры SAO составляющей цветности.
Если типом SAO составляющей яркости является тип по границам (EO), могут быть проанализированы значения смещения яркости четырех категорий. Значения смещения типа по границам могут быть проанализированы без информации о знаке. Класс границы по яркости (класс EO Яркости) из 2 бит, может быть проанализирован из параметров SAO. Направление границы составляющей яркости текущей LCU может быть определен на основании класса границы по яркости.
Как описано выше, поскольку принимаются значения смещения четырех категорий, указывающих формы границы, в общем принимается четыре значения смещения. Поскольку каждый восстановленный пиксель яркости текущей LCU может быть сравнен со смежными пикселями в соответствии с направлением границы и, следовательно, может быть определена его форма границы и его категория, значение смещения текущей категории может быть выбрано из числа принятых значений смещения. Значение пикселя восстановленного пикселя яркости может быть отрегулировано посредством использования выбранного значения смещения.
Если типом SAO составляющей яркости является тип по полосам (BO), могут быть проанализированы значения смещения яркости четырех категорий. Значения смещения типа по полосам могут быть проанализированы совместно с информацией о знаке. Может быть проанализирован класс полосы по яркости из 5 бит. Левая начальная позиция полосы может быть определена из числа множества полос значений пикселя восстановленных пикселей текущей LCU на основании класса полосы по яркости.
Как описано выше, поскольку принимаются значения смещения четырех категорий, указывающих четыре непрерывные полосы от позиции начальной полосы, в общем принимается четыре значения смещения. Поскольку может быть определена полоса, к которой принадлежит восстановленный пиксель яркости текущей LCU и, следовательно, может быть определена его категория, значение смещения текущей категории может быть выбрано из числа принятых значений смещения. Значение смещения восстановленного пикселя яркости может быть отрегулировано посредством использования выбранного значения смещения.
Затем, из параметров SAO анализируется тип SAO составляющей цветности. Тип SAO может быть совместно применен к составляющей Cr и составляющей Cb. Если типом SAO является тип отключено (OFF), то поскольку регулировка смещения в соответствии с операциями SAO не выполняется над составляющей цветности, процесс над текущей LCU прекращается.
Если типом SAO составляющей цветности является тип по границам (EO), значения смещения Cb четырех категорий могут быть проанализированы из параметров SAO. Значения смещения Cb типа по границам могут быть проанализированы без информации о знаке. Класс границы по цветности (класс EO Цветности) из 2 бит может быть проанализирован из параметров SAO. Направление границы составляющей цветности текущей LCU может быть определен на основании класса границы по цветности. Класс границы по цветности также может быть совместно применен к составляющей Cr и составляющей Cb. Значения смещения Cr четырех категорий могут быть проанализированы из параметров SAO.
Подобно регулировке смещения при типе по границам составляющей яркости, по каждой из составляющих: составляющей Cr и составляющей Cb, значение смещения текущей категории может быть выбрано из числа принятых значений смещения. Значение пикселя восстановленного пикселя составляющей Cr или составляющей Cb может быть отрегулировано посредством использования выбранного значения смещения.
Если типом SAO составляющей цветности является тип по полосам (BO), значения смещения составляющей Cb четырех категорий могут быть проанализированы их параметров SAO совместно с информацией о знаке. Класс полосы по Cb из 5 бит может быть проанализирован из параметров SAO. Левая начальная позиция полосы по Сb восстановленных пикселей составляющей Cb текущей LCU может быть проанализирована на основании класса полосы по Cb. Значения смещения составляющей Cr четырех категорий могут быть проанализированы совместно с информацией о знаке. Может быть проанализирован класс полосы по Cr из 5 бит. Левая начальная позиция полосы по Cr восстановленных пикселей составляющей Cr текущей LCU может быть проанализирована на основании класса полосы по Cr.
Подобно регулировке смещения при типе по границам составляющей яркости, по каждому из составляющей Cr и составляющей Cb, значение смещения текущей категории может быть выбрано из числа принятых значений смещения. Значение пикселя восстановленного пикселя составляющей Cr или составляющей Cb может быть отрегулировано посредством использования выбранного значения смещения.
Соответственно, устройство 10 кодирования видео и устройство 20 или 30 декодирования видео, используя операции SAO, может классифицировать значения пикселя каждой LCU в соответствии с характеристиками изображения, на такие как: тип по границам или тип по полосам, может просигнализировать значение смещения, которое является средним значением ошибки значений пикселя с одинаковыми характеристиками, и может отрегулировать непредсказуемые значения пикселя восстановленных пикселей на значение смещения, тем самым обеспечивая минимизацию ошибки между исходным изображением и восстановленным изображением.
В устройстве 10 кодирования видео и устройстве 20 декодирования видео, как описано выше, видео данные могут быть раздроблены на LCU, при чем каждая LCU может быть закодирована и декодирована на основании единиц кодирования с древовидной структурой, и каждая LCU может определять значения смещения в соответствии с классификацией пикселя. Далее, со ссылкой на Фиг. с 1A по 20, будут описаны, способ кодирования видео, устройство кодирования видео, способ декодирования видео и устройство декодирования видео, основанные на единицах кодирования с древовидной структурой и единицах преобразования.
Фиг. 8 является структурной схемой устройства 100 кодирования видео, основанного на единицах кодирования в соответствии с древовидной структурой, в соответствии с одним или более вариантами осуществления. Для удобства объяснения, «устройство 100 кодирования видео, основанное на единицах кодирования в соответствии с древовидной структурой» далее именуется «устройством 100 кодирования видео».
Устройство 100 кодирования видео с привлечением предсказания видео, основанного на единицах кодирования в соответствии с древовидной структурой, включает в себя компонент 110 дробления на LCU, определитель 120 единицы кодирования и компонент 130 вывода.
Компонент 110 дробления на LCU может дробить текущую картинку на LCU, которая является единицей кодирования с максимальным размером для текущей картинки изображения. Если текущая картинка больше LCU, данные изображения текущей картинки могут быть раздроблены, по меньшей мере, на одну LCU. LCU в соответствии с одним или более вариантами осуществления может быть единицей данных с размером 32х32, 64х64, 128х128, 256х256, и т.д., при этом форма единицы данных соответствует квадрату с шириной и высотой в квадратах 2. Данные изображения могут быть выведены на определитель 120 единицы кодирования в соответствии с по меньшей мере одной LCU.
Единица кодирования в соответствии с одним или более вариантами осуществления может быть охарактеризована максимальным размером и глубиной. Глубина обозначает количество раз, которое единица кодирования пространственно дробится из LCU, и по мере углубления глубины, более глубокие единицы кодирования в соответствии с глубиной могут быть раздроблены от LCU до минимальной единицы кодирования (SCU). Глубина LCU является самой верхней глубиной, а глубина SCU является самой нижней глубиной. Поскольку размер единицы кодирования, соответствующий каждой глубине, уменьшается по мере углубления глубины LCU, единица кодирования, соответствующая верхней глубине, может включать в себя множество единиц кодирования, соответствующих более низким глубинам.
Как описано выше, данные изображения текущей картинки дробятся на LCU в соответствии с максимальным размером единицы кодирования, и каждая из LCU может включать в себя более глубокие единицы кодирования, которые дробятся в соответствии с глубинами. Поскольку LCU в соответствии с одним или более вариантами осуществления дробится в соответствии с глубинами, данные изображения пространственной области, включенные в LCU, могут быть иерархически классифицированы в соответствии с глубинами.
Максимальная глубина и максимальный размер единицы кодирования, которые ограничивают общее количество раз, которое высота и ширина LCU иерархически дробится, могут быть предварительно определены.
Определитель 120 единицы кодирования кодирует по меньшей мере одну область дробления, полученную посредством дробления области LCU в соответствии с глубинами, и определяет глубину для вывода итоговых закодированных данных изображения в соответствии, по меньшей мере, с одной областью дробления. Другими словами, определитель 120 единицы кодирования определяет кодированную глубину посредством кодирования данных изображения в более глубоких единицах кодирования в соответствии с глубинами, в соответствии с LCU текущей картинки, и выбора глубины, по меньшей мере, с минимальной ошибкой кодирования. Определенная кодированная глубина и закодированные данные изображения в соответствии с определенной кодированной глубиной выводятся на компонент 130 вывода.
Данные изображения в LCU кодируются на основании более глубоких единиц кодирования, соответствующих по меньшей мере одной глубине, равной или ниже максимальной глубины, и результаты кодирования данных изображения сравниваются на основании каждой из более глубоких единиц кодирования. Глубина с наименьшей ошибкой кодирования может быть выбрана после сравнения ошибок кодирования более глубоких единиц кодирования. По меньшей мере, одна кодированная глубина может быть выбрана для каждой LCU.
Размер LCU дробится по мере того как единица кодирования иерархически дробится в соответствии с глубинами, и по мере того как увеличивается количество единиц кодирования. Также, даже если единицы кодирования соответствуют одной и той же глубине в одной LCU, определяется, дробить ли каждую из единиц кодирования, соответствующую одной и той же глубине на более низкую глубину посредством измерения ошибки кодирования данных изображения каждой единицы кодирования, отдельно. Соответственно, даже когда данные изображения включены в одну LCU, ошибки кодирования могут отличаться в соответствии с областями в одной LCU, и, следовательно, кодированные глубины могут отличаться в соответствии с областями в данных изображения. Таким образом, одна или более кодированные глубины могут быть определены в одной LCU, и данные изображения LCU могут быть разделены в соответствии с единицами кодирования по меньшей мере одной кодированной глубины.
Соответственно, определитель 120 единицы кодирования может определять единицы кодирования с древовидной структурой, включенные в текущую LCU. ‘Единицы кодирования с древовидной структурой’ в соответствии с одним или более вариантами осуществления, включают в себя единицы кодирования, соответствующие глубине, определенной как кодированная глубина, из всех более глубоких единиц кодирования, включенных в LCU. Единица кодирования кодированной глубины может быть иерархически определена в соответствии с глубинами в той же самой области LCU, и может быть независимо определена в других областях. Аналогичным образом, кодированная глубина в текущей области может быть независимо определена от кодированной глубины в другой области.
Максимальная глубина в соответствии с одним или более вариантами осуществления является индексом, относящимся к количеству раз дробления от LCU до SCU. Первая максимальная глубина в соответствии с одним или более вариантами осуществления может обозначать общее количество раз дробления от LCU до SCU. Вторая максимальная глубина в соответствии с одним или более вариантами осуществления может обозначать общее количество уровней глубины от LCU до SCU. Например, если глубина LCU равна 0, то глубина единицы кодирования, при которой LCU дробится один раз, может быть установлена равной 1, а глубина единицы кодирования, при которой LCU дробится дважды, может быть установлена равной 2. Здесь, если SCU равна единице кодирования, при которой LCU дробится четыре раза, то существует 5 уровней глубины из глубин 0, 1, 2, 3, и 4, и, следовательно, первая максимальная глубина может быть установлена равной 4, а вторая максимальная глубина может быть установлена равной 5.
Кодирование с предсказанием и преобразование могут быть выполнены в соответствии с LCU. Кодирование с предсказанием и преобразование также выполняются на основании более глубоких единиц кодирования в соответствии с глубиной равной или глубинами меньше максимальной глубины, в соответствии с LCU.
Поскольку количество более глубоких единиц кодирования растет всякий раз, когда LCU дробится в соответствии с глубинами, кодирование, включающее в себя кодирование с предсказанием и преобразование, выполняется над всеми из более глубоких единиц кодирования, сгенерированных по мере углубления глубины. Для удобства описания, кодирование с предсказанием и преобразование теперь будут описаны на основании единицы кодирования текущей глубины, в LCU.
Устройство 100 кодирования видео может по-разному выбирать размер или форму единицы данных для кодирования данных изображения. Для того чтобы кодировать данные изображения, выполняются операции, такие как кодирование с предсказанием, преобразование, и энтропийное кодирование, и при этом одна и та же единица данных может быть использована для всех операций или разные единицы данных могут быть использованы для каждой операции.
Например, устройство 100 кодирования видео может выбирать не только единицу кодирования для кодирования данных изображения, но также и единицу данных отличную от единицы кодирования с тем, чтобы выполнять кодирование с предсказанием над данными изображения в единице кодирования.
Для того чтобы выполнять кодирование с предсказанием в LCU, кодирование с предсказанием может быть выполнено на основании единицы кодирования соответствующей кодированной глубины, т.е., на основании единицы кодирования, которая более не дробится на единицы кодирования, соответствующие более низкой глубине. Далее, единица кодирования, которая более не дробится и становится базовой единицей для кодирования с предсказанием будет теперь именоваться ‘единицей предсказания’. Элемент разбиения, полученный посредством дробления единицы предсказания, может включать в себя единицу предсказания или единицу данных, полученную посредством дробления по меньшей мере одного из параметров: высоты и ширины, единицы предсказания. Элемент разбиения является единицей данных, при этом единица предсказания единицы кодирования дробится, и единица предсказания может быть элементом разбиения с тем же самым размером, что и у единицы кодирования.
Например, если единица кодирования вида 2Nx2N (где N является положительным целым числом) более не дробится и становится единицей предсказания вида 2Nx2N, то размер элемента разбиения может соответствовать 2Nx2N, 2NxN, Nx2N, или NxN. Примеры типов элемента разбиения включают в себя: симметричные элементы разбиения, которые получены посредством симметричного дробления высоты или ширины единицы предсказания; элементы разбиения, которые получены посредством асимметричного дробления высоты или ширины единицы предсказания, например, 1:n или n:1; элементы разбиения, которые получены посредством геометрического дробления единицы предсказания; и элементы разбиения с произвольными формами.
Режим предсказания единицы предсказания может быть по меньшей мере одним из режимов: внутрикадровым режимом, межкадровым режимом, и режимом пропуска. Например, внутрикадровый режим и межкадровый режим могут быть выполнены над элементом разбиения вида 2Nx2N, 2NxN, Nx2N, или NxN. Также, режим пропуска может быть выполнен только над элементом разбиения вида 2Nx2N. Кодирование независимо выполняется над одной единицей предсказания в единице кодирования, тем самым выбирая режим предсказания с наименьшей ошибкой кодирования.
Устройство 100 кодирования видео в соответствии с вариантом осуществления также может выполнять преобразование над данными изображения в единице кодирования на основании не только единицы кодирования для кодирования данных изображения, но также на основании единицы данных, которая отличается от единицы кодирования. Для того чтобы выполнить преобразование в единице кодирования, преобразование может быть выполнено на основании единицы данных с размером меньше или равным единице кодирования. Например, единица данных для преобразования может включать в себя единицу данных для внутрикадрового режима и единицу данных для межкадрового режима.
Единица преобразования в единице кодирования может быть рекурсивно раздроблена на единицы преобразования меньшего размера образом аналогичным тому, что применяется к единице кодирования в соответствии с древовидной структурой. Таким образом, остаточные данные в единице кодирования могут быть разделены в соответствии с единицами преобразования с древовидной структурой, в соответствии с глубинами преобразования.
Глубина преобразования, указывающая количество раз дробления для получения единицы преобразования посредством дробления высоты и ширины единицы кодирования, также может быть установлена в единице преобразования. Например, в текущей единице кодирования вида 2Nx2N, глубина преобразования может быть 0, когда размер единицы преобразования соответствует 2Nx2N, может быть 1, когда размер единицы преобразования соответствует NxN, и может быть 2, когда размер единицы преобразования соответствует N/2xN/2. Другими словами, единица преобразования в соответствии с древовидной структурой может быть установлена в соответствии с глубинами преобразования.
Информация о кодировании в соответствии с единицами кодирования, соответствующими кодированной глубине, требует наличия не только информации о кодированной глубине, но также об относящейся к предсказанию информации и относящейся к преобразованию информации. Соответственно, определитель 120 единицы кодирования определяет не только кодированную глубину с наименьшей ошибкой кодирования, но также определяет тип элемента разбиения в единице предсказания, режим предсказания в соответствии с единицами предсказания, и размер единицы преобразования для преобразования.
Со ссылкой на Фиг. с 7 по 19 ниже будут подробно описаны единицы кодирования в соответствии с древовидной структурой в LCU и способы определения единицы предсказания/элемента разбиения, и единицы преобразования, в соответствии с одним или более вариантами осуществления.
Определитель 120 единицы кодирования может измерять ошибку кодирования более глубоких единиц кодирования в соответствии с глубинами посредством использования Оптимизации Скорости Передачи к Искажению основанной на множителях Лагранжа.
Компонент 130 вывода выводит данные изображения LCU, которые закодированы на основании по меньшей мере одной кодированной глубины, определенной определителем 120 единицы кодирования, и информации о режиме кодирования в соответствии с кодированной глубиной, в битовые потоки.
Закодированные данные изображения могут быть получены посредством кодирования остаточных данных изображения.
Информация о режиме кодирования в соответствии с кодированной глубиной может включать в себя информацию о кодированной глубине, о типе элемента разбиения в единице предсказания, режим предсказания, и размер единицы преобразования.
Информация о кодированной глубине может быть задана посредством использования информации о дроблении в соответствии с глубинами, которая указывает, выполняется ли кодирование над единицами кодирования более низкой глубины вместо текущей глубины. Если текущая глубина текущей единицы кодирования является кодированной глубиной, данные изображения в текущей единице кодирования кодируется и выводятся, и, следовательно, информация о дроблении может быть задана, чтобы не дробить текущую единицу кодирования до более низкой глубины. В качестве альтернативы, если текущая глубина текущей единицы кодирования не является кодированной глубиной, кодирование выполняется над единицей кодирования более низкой глубины, и, следовательно, информация о дроблении может быть задана для дробления текущей единицы кодирования, чтобы получить единицы кодирования более низкой глубины.
Если текущая глубина не является кодированной глубиной, кодирование выполняется над единицей кодирования, которая дробится на единицу кодирования более низкой глубины. Поскольку в одной единице кодирования текущей глубины существует по меньшей мере одна единица кодирования более низкой глубины, кодирование многократно выполняется над каждой единицей кодирования более низкой глубины, и, следовательно, кодирование может быть рекурсивно выполнено для единиц кодирования с одинаковой глубиной.
Поскольку единицы кодирования с древовидной структурой определяются для одной LCU, и информация, по меньшей мере, об одном режиме кодирования определяется для единицы кодирования кодированной глубины, информация, по меньшей мере, об одном режиме кодирования может быть определена для одной LCU. Также, кодированная глубина данных изображения LCU может различаться в соответствии с местоположениями, поскольку данные изображения иерархически дробятся в соответствии с глубинами, и, следовательно, информация о кодированной глубине и режиме кодирования может быть установлена для данных изображения.
Соответственно, компонент 130 вывода может назначать информацию о кодировании касательно соответствующей кодированной глубине и режим кодирования, по меньшей мере, для одной из единиц: единицы кодирования, единицы предсказания, и минимальной единицы, включенной в LCU.
Минимальная единица в соответствии с одним или более вариантами осуществления является квадратной единицей данных, полученной посредством дробления SCU, составляющей самую низкую глубину, на 4. В качестве альтернативы, минимальная единица в соответствии с вариантом осуществления может быть максимальной квадратной единицей данных, которая может быть включена во все из единиц: единицы кодирования, единицы предсказания, единицы элементов разбиения, и единицы преобразования, включенные в LCU.
Например, информация о кодировании, выводимая компонентом 130 вывода, может быть классифицирована на информацию о кодировании в соответствии с более глубокими единицами кодирования, и информацию о кодировании в соответствии с единицами предсказания. Информация о кодировании в соответствии с более глубокими единицами кодирования может включать в себя информацию о режиме предсказания и информацию о размере элементов разбиения. Информация о кодировании в соответствии с единицами предсказания может включать в себя информацию об оцененном направлении межкадрового режима, об индексе опорного изображения межкадрового режима, о векторе движения, о составляющей цветности внутрикадрового режима, и о способе интерполяции внутрикадрового режима.
Информация о максимальном размере единицы кодирования, заданной в соответствии с картинками, слайсами, или GOP, и информация о максимальной глубине, может быть вставлена в заголовок битового потока, набор параметров последовательности, или набор параметров картинки.
Информация о максимальном размере единицы преобразования, разрешенной в отношении текущего видео, и информация о минимальном размере единицы преобразования, также может быть выведена через заголовок битового потока, набор параметров последовательности, или набор параметров картинки. Компонент 130 вывода может кодировать и выводить параметры SAO, относящиеся к операции SAO, описанной выше со ссылкой на Фиг. с 1A по 7F.
В устройстве 100 кодирования видео, более глубокая единица кодирования может быть единицей кодирования, полученной посредством деления высоты или ширины единицы кодирования верхней глубины, которая выше на один уровень, на два. Другими словами, когда размер единицы кодирования текущей глубины соответствует 2Nx2N, размер единицы кодирования более низкой глубины соответствует NxN. Также, единица кодирования с текущей глубиной размера 2Nx2N может включать в себя максимум 4 единицы кодирования более низкой глубины.
Соответственно, устройство 100 кодирования видео может формировать единицы кодирования с древовидной структурой посредством определения единиц кодирования с оптимальной формой и оптимальным размером для каждой LCU, на основании размера LCU и максимальной глубины, определенной с учетом характеристик текущей картинки. Также, поскольку кодирование может быть выполнено над каждой LCU посредством использования любого из разнообразных режимов предсказания и способов преобразования, оптимальный режим кодирования может быть определен с учетом характеристик единицы кодирования различных размеров изображения.
Таким образом, если изображение с очень высоким разрешением или очень большим объемом данных кодируется в обычном макроблоке, количество макроблоков на картинку чрезмерно увеличивается. Соответственно, количество частей сжатой информации, сгенерированной для каждого макроблока, увеличивается, и, следовательно, сложно передать сжатую информацию и падает эффективность сжатия данных. Тем не менее, посредством использования устройства 100 кодирования видео, эффективность сжатия изображения может быть увеличена, поскольку единица кодирования регулируется с учетом характеристик изображения, при этом увеличивая максимальный размер единицы кодирования, учитывая размер изображения.
Устройство 100 кодирования видео с Фиг. 8 может выполнять операцию устройства 10 кодирования видео, описанного выше со ссылкой на Фиг. 1A.
Определитель 120 единицы кодирования может выполнять операцию определителя 14 параметра SAO устройства 10 кодирования видео. В отношении каждой LCU может быть определен тип SAO, значения смещения в соответствии с категориями, и класс SAO.
Компонент 130 вывода может выполнять операцию колера 16 параметра SAO. Могут быть выведены параметры SAO, которые определены в отношении каждой LCU. Исходно может быть выведена информация о слиянии SAO, указывающая, заимствовать ли параметры SAO смежной LCU относительно текущей LCU в качестве параметров SAO текущей LCU. В качестве типа SAO может быть выведен тип отключено, тип по границам, или тип по полосам. Значение смещения может быть выведено в порядке вида: информация о нулевом значении, информация о знаке, и остаток. В отношении типа по границам, информация о знаке значения смещения может не выводиться.
Если информация о слиянии SAO текущей LCU допускает заимствование параметров SAO смежной LCU, тип SAO и значения смещения текущей LCU могут не выводиться.
Может быть определено, выполнять ли операцию SAO в соответствии с составляющими цвета. Может быть определено, выполнять ли операцию SAO для составляющей яркости и первой и второй составляющей цветности в отношении каждого слайса. Компонент 130 вывода может выводить заголовок слайса, включающий в себя информацию об использовании SAO по яркости и информацию об использовании SAO по цветности.
Компонент 130 вывода может включать информацию о типе SAO по яркости, указывающую, выполнять ли операцию SAO для составляющей яркости, и тип SAO, и информацию о типе SAO по цветности, указывающую, выполнять ли операцию SAO для первой и второй составляющей цветности, и тип SAO, в параметры SAO, которые определяются в отношении каждой LCU.
Фиг. 9 является структурной схемой устройства 200 декодирования видео основанного на единицах кодирования с древовидной структурой, в соответствии с одним или более вариантами осуществления. Для удобства объяснения, «устройство 200 декодирования видео, основанное на единицах кодирования в соответствии с древовидной структурой» именуется далее «устройством 200 декодирования видео».
Устройство 200 декодирования видео, которое привлекает предсказание видео, основанное на единицах кодирования с древовидной структурой, включает в себя приемник 210, экстрактор 220 информации о кодировании и данных изображения, и декодер 230 данных изображения.
Определения различных терминов, например, единица кодирование, глубина, единица предсказания, единица преобразования, и информации о различных режимах кодирования для операций декодирования устройства 200 декодирования видео, идентичны тем, что описаны со ссылкой на Фиг. с 7A по 7F и устройство 100 кодирования видео.
Приемник 210 принимает и анализирует битовый поток закодированного видео. Экстрактор 220 информации о кодировании и данных изображения извлекает закодированные данные изображения для каждой единицы кодирования из проанализированного битового потока, при этом единицы кодирования имеют древовидную структуру в соответствии с каждой LCU, и выводит извлеченные данные изображения на декодер 230 данных изображения. Экстрактор 220 информации о кодировании и данных изображения может извлекать информацию о максимальном размере единицы кодирования текущей картинки, из заголовка о текущей картинке, набора параметров последовательности, или набора параметров картинки.
Также, экстрактор 220 информации о кодировании и данных изображения извлекает информацию о кодированной глубине и режиме кодирования для единиц кодирования с древовидной структурой в соответствии с каждой LCU, из проанализированного битового потока. Извлеченная информация о кодированной глубине и режиме кодирования выводится на декодер 230 данных изображения. Другими словами, данные изображения в битовом потоке дробятся на LCU так, что декодер 230 данных изображения декодирует данные изображения для каждой LCU.
Информация о кодированной глубине и режиме кодирования в соответствии с LCU может быть установлена для информации, по меньшей мере, об одной единице кодирования, и информация о режиме кодирования может включать в себя информацию о типе элемента разбиения соответствующей единицы кодирования соответствующей кодированной глубине, о режиме предсказания, и размер единицы преобразования. Также, информация о дроблении в соответствии с глубинами может быть извлечена в качестве информации о кодированной глубине.
Информация о кодированной глубине и режиме кодирования в соответствии с каждой LCU, извлеченная экстрактором 220 информации о кодировании и данных изображения, является информацией о кодированной глубине и режиме кодирования, определенной для генерирования минимальной ошибки кодирования, когда кодер, такой как устройство 100 кодирования видео, многократно выполняет кодирование для каждой более глубокой единицы кодирования в соответствии с глубинами в соответствии с каждой LCU. Соответственно, устройство 200 декодирования видео может восстанавливать изображение посредством декодирования данных изображения в соответствии кодированной глубиной и режимом кодирования, которые генерируют минимальную ошибку кодирования.
Поскольку информация о кодировании касательно кодированной глубины и режима кодирования может быть назначена предварительно определенной единице данных из соответствующей единицы кодирования, единицы предсказания, и минимальной единицы, экстрактор 220 информации о кодировании и данных изображения может извлекать информацию о кодированной глубине и режиме кодирования в соответствии с предварительно определенными единицами данных. Если информация о кодированной глубине и режиме кодирования соответствующей LCU записывается в соответствии с предварительно определенными единицами данных, может предполагаться, что предварительно определенные единицы данных, которым назначена одинаковая информация о кодированной глубине и режиме кодирования, являются единицами данных, включенными в одну и ту же LCU.
Декодер 230 данных изображения восстанавливает текущую картинку посредством декодирования данных изображения в каждой LCU на основании информации о кодированной глубине и режиме кодирования в соответствии с LCU. Другими словами, декодер 230 данных изображения может декодировать закодированные данные изображения на основании извлеченной информации о типе элемента разбиения, режиме предсказания, и единице преобразования для каждой единицы кодирования из единиц кодирования с древовидной структурой, включенных в каждую LCU. Процесс декодирования может включать в себя предсказание, включающее в себя внутрикадровое предсказание и компенсацию движения, и обратное преобразование.
Декодер 230 данных изображения может выполнять внутрикадровое предсказание или компенсацию движения в соответствии с элементом разбиения и режимом предсказания каждой единицы кодирования, на основании информации о типе элемента разбиения и информации о режиме предсказания единицы предсказания в единице кодирования в соответствии с кодированными глубинами.
В дополнение, декодер 230 данных изображения может считывать информацию о единице преобразования в соответствии с древовидной структурой для каждой единицы кодирования с тем, чтобы выполнять обратное преобразование на основании единиц преобразования для каждой единицы кодирования, для обратного преобразования применительно к каждой LCU. С помощью обратного преобразования, может быть восстановлено значение пикселя пространственной области у единицы кодирования.
Декодер 230 данных изображения может определять кодированную глубину текущей LCU посредством использования информации о дроблении в соответствии с глубинами. Если информация о дроблении указывает, что данные изображения более не дробятся на текущей глубине, текущая глубина является кодированной глубиной. Соответственно, декодер 230 данных изображения может декодировать закодированные данные в текущей LCU посредством использования информации о типе элемента разбиения единицы предсказания, режиме предсказания, и размере единицы преобразования для каждой единицы кодирования, соответствующей кодированной глубине.
Другими словами, единицы данных, содержащие информацию о кодировании, включающую в себя одинаковую информацию о дроблении, могут быть собраны посредством обследования информации о кодировании, назначенной для предварительно определенной единицы данных из единицы кодирования, единицы предсказания, и минимальной единицы, и собранные единицы данных могут быть рассмотрены в качестве одной единицы данных, декодируемой декодером 230 данных изображения в одинаковом режиме кодирования. Раз так, то текущая единица кодирования может быть декодирована посредством получения информации о режиме кодирования для каждой единицы кодирования.
Также, устройство 200 декодирования видео с Фиг. 9 может выполнять операцию устройства 20 декодирования видео, описанного выше в отношении Фиг. 2A.
Экстрактор 220 информации о кодировании и данных изображения и приемник 210 могут выполнять операцию компонента 22 получения параметра SAO устройства 20 декодирования видео. Декодер 230 данных изображения может выполнять операции определителя 24 SAO и регулятора 26 SAO устройства 20 декодирования видео.
Может быть определено, выполнять ли операцию SAO в соответствии с составляющими цвета.
Экстрактор 220 информации о кодировании и данных изображения может получать информацию об использовании SAO по яркости и информацию об использовании SAO по цветности из заголовка слайса. Может быть определено, выполнять ли операцию SAO для составляющей яркости из информации об использовании SAO по яркости и первой и второй составляющим цветности из информации об использовании SAO по цветности.
Экстрактор 220 информации о кодировании и данных изображения может получать информацию о типе SAO по яркости, указывающую, выполнять ли операцию SAO для составляющей яркости и тип SAO из параметров SAO, которые определяются в отношении каждой LCU. Экстрактор 220 информации о кодировании и данных изображения может получать информацию о типе SAO по цветности, указывающую, выполнять ли операцию SAO для первой и второй составляющих цветности и тип SAO из параметров SAO, которые определяются в отношении каждой LCU.
Если только информация о слиянии SAO анализируется из битового потока без параметров SAO текущей LCU, экстрактор 220 информации о кодировании и данных изображения может восстанавливать параметры SAO текущей LCU, чтобы они были точно такими же, как, по меньшей мере, у одной из смежных LCU. На основании информации о слиянии CAO, может быть определена смежная LCU с параметрами SAO к которым следует обратиться. Если определяется, что параметры SAO текущей LCU отличаются от тех, что у смежных LCU, на основании информации о слиянии SAO текущей LCU, которая анализируется из битового потока, экстрактор 220 информации о кодировании и данных изображения может анализировать и восстанавливать параметры SAO текущей LCU из битового потока.
Экстрактор 220 информации о кодировании и данных изображения может анализировать параметры SAO каждой LCU из битового потока. На основании параметров SAO, может быть определен тип SAO, значения смещения в соответствии с категориями, и класс SAO. Если типом SAO текущей LCU является тип отключено, регулировка смещения текущей LCU может быть прекращена. Если типом SAO является тип по границам, на основании категории, указывающей класс границы, указывающий направление границы каждого из восстановленных пикселей, и формы границы, может быть выбрано текущее значение смещения из числа принятых значений смещения. Если типом SAO является тип по полосам, определяется полоса, к которой принадлежит каждый из восстановленных пикселей, и значение смещения, соответствующее текущей полосе, может быть выбрано из числа значений смещения.
Декодер 230 данных изображения может генерировать восстановленный пиксель, способный минимизировать ошибку между исходным пикселем и восстановленным пикселем, посредством регулировки значения пикселя восстановленного пикселя на соответствующее значение смещения. Смещения восстановленных пикселей каждой LCU могут быть отрегулированы на основании проанализированных параметров SAO.
Следовательно, устройство 200 декодирования видео может получать информацию, по меньшей мере, об одной единице кодирования, которая генерирует минимальную ошибку кодирования, когда кодирование рекурсивно выполняется для каждой LCU, и может использовать информацию для декодирования текущей картинки. Другими словами, могут быть декодированы единицы кодирования с древовидной структурой, которые определены в качестве оптимальных единиц кодирования в каждой LCU.
Соответственно, даже если данные изображения обладают высоким разрешением и большим объемом данных, данные изображения могут быть эффективно декодированы и восстановлены посредством использования размера единицы кодирования и режима кодирования, которые адаптивно определены в соответствии с характеристиками данных изображения, посредством использования информации об оптимальном режиме кодирования, принятой от кодера.
Фиг. 10 является схемой для описания концепции единиц кодирования в соответствии с одним или более вариантами осуществления.
Размер единицы кодирования может быть выражен посредством ширина х высоту, и может быть 64х64, 32х32, 16х16, и 8х8. Единица кодирования 64х64 может быть раздроблена на элементы разбиения 64х64, 64х32, 32х64, или 32х32, а единица кодирования 32х32 может быть раздроблена на элементы разбиения 32х32, 32х16, 16х32, или 16х16, единица кодирования 16х16 может быть раздроблена на элементы разбиения 16х16, 16х8, 8х16, или 8х8, а единица кодирования 8х8 может быть раздроблена на элементы разбиения 8х8, 8х4, 4х8, или 4х4.
В видео данных 310, разрешение соответствует 1920х1080, максимальный размер единицы кодирования равен 64, а максимальная глубина равна 2. В видео данных 320, разрешение соответствует 1920х1080, максимальный размер единицы кодирования равен 64, а максимальная глубина равна 3. В видео данных 330, разрешение соответствует 352х288, максимальный размер единицы кодирования равен 16, а максимальная глубина равна 1. Максимальная глубина, показанная на Фиг. 10, обозначает общее количество дроблений от LCU до минимальной единицы декодирования.
Если разрешение высокое или объем данных большой, максимальный размер единицы кодирования может быть большим с тем, чтобы не только повышать эффективность кодирования, но также точно отражать характеристики изображения. Соответственно, максимальный размер единицы кодирования видео данных 310 и 320 с более высоким разрешением, чем у видео данных 330, может быть 64.
Поскольку максимальная глубина видео данных 310 равна 2, единицы 315 кодирования видео данных 310 могут включать в себя LCU с размером по горизонтальной оси равным 64, и единицы кодирования с размерами по горизонтальной оси равными 32 и 16, поскольку глубины углубляются на два уровня посредством дробления LCU дважды. Поскольку максимальная глубина видео данных 330 равна 1, единицы 335 кодирования видео данных 330 могут включать в себя LCU с размером по горизонтальной оси равным 16, и единицы кодирования с размером по горизонтальной оси равным 8, поскольку глубины углубляются на один уровень посредством дробления LCU один раз.
Поскольку максимальная глубина видео данных 320 равна 3, единицы 325 кодирования видео данных 320 могут включать в себя LCU с размером по горизонтальной оси равным 64, и единицы кодирования с размерами по горизонтальной оси равными 32, 16, и 8, поскольку глубины углубляются на три уровня посредством дробления LCU три раза. По мере углубления глубины, подробная информация может быть выражена более точно.
Фиг. 11 является структурной схемой кодера 400 изображения, основанного на единицах кодирования, в соответствии с одним или более вариантами осуществления.
Кодер 400 изображения выполняет операции определителя 120 единицы кодирования устройства 100 кодирования видео, чтобы кодировать данные изображения. Другими словами, внутрикадровый предсказатель 410 выполняет внутрикадровое предсказание над единицами кодирования во внутрикадровом режиме, из текущего кадра 405, а оценщик 420 движения и компенсатор 425 движения соответственно выполняют межкадровую оценку и компенсацию движения над единицами кодирования в межкадровом режиме из текущего кадра 495 посредством использования текущего кадра 405, и опорного кадра 495.
Данные, выводимые из внутрикадрового предсказателя 410, оценщика 420 движения, и компенсатора 425 движения, выводятся в качестве квантованного коэффициента преобразования через преобразователь 430 и квантователь 440. Квантованный коэффициент преобразования восстанавливается в качестве данных в пространственной области через де-квантователь 460 и обратный преобразователь 470, и восстановленные данные в пространственной области выводятся в качестве опорного кадра 495 после постобработки через фильтр 480 удаления блочности и регулятор 490 смещения. Квантованный коэффициент преобразования может быть выведен в качестве битового потока 455 через энтропийный кодер 450.
Для того чтобы кодер 400 изображения применялся в устройстве 100 кодирования видео, все элементы кодера 400 изображения, т.е., внутрикадровый предсказатель 410, оценщик 420 движения, компенсатор 425 движения, преобразователь 430, квантователь 440, энтропийный кодер 450, де-квантователь 460, обратный преобразователь 470, фильтр 480 удаления блочности, и регулятор 490 смещения, выполняют операции на основании каждой единицы кодирования из единиц кодирования с древовидной структурой, при этом учитывая максимальную глубину каждой LCU.
В частности, внутрикадровый предсказатель 410, оценщик 420 движения, и компенсатор 425 движения определяют элементы разбиения и режим предсказания каждой единицы кодирования из единиц кодирования с древовидной структурой, при этом учитывая максимальный размер и максимальную глубину текущей LCU, а преобразователь 430 определяет размер единицы преобразования в каждой единице кодирования из единиц кодирования с древовидной структурой.
В частности, когда оценщик 420 движения выполняет межкадровое предсказание, используя долгосрочный опорный кадр, информация POC долгосрочного опорного кадра может быть выведена в качестве долгосрочного опорного индекса. Энтропийный кодер 450 может кодировать и выводить информацию LSB информации POC долгосрочного опорного кадра, в качестве долгосрочного опорного индекса. Информация LSB информации POC долгосрочных опорных кадров для единиц предсказания текущего слайса может быть включена в заголовок слайса и затем передана.
Регулятор 490 смещения может классифицировать пиксели в соответствии с типом по границам (или типом по полосам) каждой LCU опорного кадра 495, может определять направление границы (или позицию начальной полосы), и может определять среднее значение ошибки восстановленных пикселей, включенных в каждую категорию. В отношении каждой LCU, может быть закодирована и просигнализирована информация о слиянии SAO, тип SAO, и значения смещения.
Энтропийный кодер 450 может выполнять CABAC-кодирование над параметрами SAO, включающими в себя: информацию о слиянии SAO применительно к операции SAO, информацию о типе SAO, и значения смещения. Например, энтропийный кодер 450 может выполнять CABAC-кодирование над первым битом информации о типе SAO посредством использования одной модели контекста, а над ее другими битами в режиме обхода. Две модели контекста могут быть использованы для значений смещения. Одна модель контекста может быть использована для каждой из информаций: информации о левом слиянии SAO и информации о верхнем слиянии SAO. Следовательно, в общем пять моделей контекста может быть использовано для выполнения CABAC-кодирования над параметрами SAO.
Фиг. 12 является структурной схемой декодера 500 изображения, основанного на единицах кодирования, в соответствии с одним или более вариантами осуществления.
Анализатор 510 анализирует закодированные данные изображения, которые нужно декодировать, и информацию о кодировании, требуемую для декодирования, из битового потока 505. Закодированные данные изображения выводятся в качестве обратно квантованных данных через энтропийный декодер 520 и де-квантователь 530, и обратно квантованные данные восстанавливаются в данные изображения в пространственной области через обратный преобразователь 540.
Внутрикадровый предсказатель 550 выполняет внутрикадровое предсказание над единицами кодирования во внутрикадровом режиме в отношении данных изображения в пространственной области, а компенсатор 560 движения выполняет компенсацию движения над единицами кодирования в межкадровом режиме посредством использования опорного кадра 585.
Данные изображения в пространственной области, которые проходят через внутрикадровый предсказатель 550 и компенсатор 560 движения, могут быть выведены в качестве восстановленного кадра 595 после пост-обработки через фильтр 570 удаления блочности и регулятор 580 смещения. Также, данные изображения, которые подверглись пост обработке через фильтр 570 удаления блочности и регулятор 580 смещения, могут быть выведены в качестве опорного кадра 585.
Чтобы декодировать данные изображения в декодере 230 данных изображения устройства 200 декодирования видео, декодер 500 изображения может выполнять операции, которые выполняются после анализатора 510.
Для того чтобы декодер 500 изображения применялся в устройстве 200 декодирования видео, все элементы декодера 500 изображения, т.е., анализатор 510, энтропийный декодер 520, де-квантователь 530, обратный преобразователь 540, внутрикадровый предсказатель 550, компенсатор 560 движения, фильтр 570 удаления блочности, и регулятор 580 смещения, выполняют операции на основании единиц кодирования с древовидной структурой применительно к каждой LCU.
В частности, внутрикадровый предсказатель 550 и компенсатор 560 движения выполняют операции на основании элементов разбиения и режиме предсказания для каждой из единиц кодирования с древовидной структурой, а обратный преобразователь 540 выполняет операции на основании размера единицы преобразования для каждой единицы кодирования.
Энтропийный декодер 520 может выполнять CABAC-декодирование над параметрами SAO и анализировать информацию о слиянии SAO применительно к операции SAO, информацию о типе SAO, и значения смещения из параметров SAO. Например, энтропийный декодер 520 может выполнять CABAC-декодирование над первым битом информации о типе SAO посредством использования одной модели контекста и над ее другими битами в режиме обхода. Две модели контекста могут быть использованы для значений смещения. Одна модель контекста может быть использована для каждой из информаций: информации о левом слиянии SAO и информации о верхнем слиянии SAO. Следовательно, в общем пять моделей контекста может быть использовано для выполнения CABAC-декодирования над параметрами SAO.
Регулятор 580 смещения может извлекать параметры SAO LCU из битового потока. На основании информации о слиянии SAO из числа параметров SAO текущей LCU, параметры SAO текущей LCU, которые являются точно такими же, как и у смежной LCU, могут быть восстановлены. Посредством использования типа SAO и значений смещения из числа параметров SAO текущей LCU, каждый из восстановленных пикселей LCU восстановленного кадра 595 может быть отрегулирован на значение смещения, соответствующее категории, в соответствии с типом по границам или типом по полосам.
Фиг. 13 является схемой, иллюстрирующей более глубокие единицы кодирования в соответствии с глубинами, и элементы разбиения в соответствии с одним или более вариантами осуществления.
Устройство 100 кодирования видео и устройство 200 декодирования видео используют иерархические единицы кодирования с тем, чтобы учитывать характеристики изображения. Максимальная высота, максимальная ширина, и максимальная глубина единиц кодирования могут быть адаптивно определены в соответствии с характеристиками изображения, или могут быть по-другому установлены пользователем. Размеры более глубоких единиц кодирования в соответствии с глубинами, могут быть определены в соответствии с предварительно определенным максимальным размером единицы кодирования.
В иерархической структуре 600 единиц кодирования, в соответствии с одним или более вариантами осуществления, максимальная высота и максимальная ширина единиц кодирования каждая равна 64, а максимальная глубина равна 3. В данном случае, максимальная глубина относится к общему количеству раз, которое единица кодирования дробится от LCU до SCU. Поскольку глубина углубляется по вертикальной оси иерархической структуры 600, дробится каждое из высоты и ширины более глубокой единицы кодирования. Также, единица предсказания и элементы разбиения, которые являются базами для кодирования с предсказанием каждой более глубокой единицы кодирования, показаны вдоль горизонтальной оси иерархической структуры 600.
Другими словами, единица 610 кодирования является LCU в иерархической структуре 600, при этом глубина равна 0, а размер, т.е., высота на ширину, равен 64х64. Глубина углубляется по вертикальной оси, и единица 620 кодирования с размером 32х32 и глубиной 1, единица 630 кодирования с размером 16х16 и глубиной 2, и единица 640 кодирования с размером 8х8 и глубиной 3. Единица 640 кодирования с размером 8х8 и глубиной 3 является SCU.
Единица предсказания и элементы разбиения единицы кодирования скомпонованы вдоль горизонтальной оси в соответствии с каждой глубиной. Другими словами, если единица 610 кодирования с размером 64х64 и глубиной 0 является единицей предсказания, единица предсказания может быть раздроблена на элементы разбиения, включенные в единицу 610 кодирования, т.е., элемент 610 разбиения с размером 64х64, элементы 612 разбиения с размером 64х32, элементы 614 разбиения с размером 32х64, или элементы 616 разбиения с размером 32х32.
Аналогично, единица предсказания единицы 620 кодирования с размером 32х32 и глубиной 1, может быть раздроблена на элементы разбиения, включенные в единицу 620 кодирования, т.е., элемент 620 разбиения с размером 32х32, элементы 622 разбиения с размером 32х16, элементы 624 разбиения с размером 16х32, или элементы 626 разбиения с размером 16х16.
Аналогично, единица предсказания единицы 630 кодирования с размером 16х16 и глубиной 2, может быть раздроблена на элементы разбиения, включенные в единицу 630 кодирования, т.е., элемент разбиения с размером 16х16, включенный в единицу 630 кодирования, элементы 632 разбиения с размером 16х8, элементы 634 разбиения с размером 8х16, или элементы 636 разбиения с размером 8х8.
Аналогично, единица предсказания единицы 640 кодирования с размером 8х8 и глубиной 3, может быть раздроблена на элементы разбиения, включенные в единицу 640 кодирования, т.е., элемент разбиения с размером 8х8, включенный в единицу 640 кодирования, элементы 642 разбиения с размером 8х4, элементы 644 разбиения с размером 4х8, или элементы 646 разбиения с размером 4х4.
Для того чтобы определить по меньшей мере одну кодированную глубину единиц кодирования, составляющих LCU 610, определитель 120 единицы кодирования устройства 100 кодирования видео выполняет кодирование для единиц кодирования, соответствующих каждой глубине, включенных в LCU 610.
Количество более глубоких единиц кодирования в соответствии с глубинами, включающими данные в одном и том же диапазоне и одном и том же размере, растет с углублением глубины. Например, четыре единицы кодирования, соответствующие глубине 2, требуется для охвата данных, которые включены в одну единицу кодирования, соответствующую глубине 1. Соответственно, для того чтобы сравнить результаты кодирования одинаковых данных в соответствии с глубинами, кодируется единица кодирования, соответствующая глубине 1, и четыре единицы кодирования, соответствующие глубине 2.
Для того чтобы выполнить кодирование для текущей глубины из числа глубин, наименьшая ошибка кодирования может быть выбрана для текущей глубины посредством выполнения кодирования для каждой единицы предсказания в единицах кодирования, соответствующих текущей глубине, по горизонтальной оси иерархической структуры 600. В качестве альтернативы, может выполняться поиск минимальной ошибки кодирования посредством сравнения наименьших ошибок кодирования в соответствии с глубинами, посредством выполнения кодирования для каждой глубины по мере того как глубина углубляется по вертикальной оси иерархической структуры 600. Глубина и элемент разбиения с минимальной ошибкой кодирования в единице 610 кодирования могут быть выбраны в качестве кодированной глубины и типа элемента разбиения единицы 610 кодирования.
Фиг. 14 является схемой, для описания отношения между единицей 710 кодирования и единицами 720 преобразования, в соответствии с одним или более вариантами осуществления.
Устройство 100 кодирования видео или устройство 200 декодирования видео кодирует или декодирует изображение в соответствии с единицами кодирования с размерами меньшими или равными LCU применительно к каждой LCU. Размеры единиц преобразования для преобразования во время кодирования могут быть выбраны на основании единиц данных, которые не больше соответствующей единицы кодирования.
Например, в устройстве 100 кодирования видео или устройстве 200 декодирования видео, если размер единицы 710 кодирования равен 64х64, преобразование может быть выполнено посредством использования единиц 720 преобразования с размером 32х32.
Также, данные единицы 710 кодирования с размером 64х64 могут быть закодированы посредством выполнения преобразования над каждой из единиц преобразования с размером 32х32, 16х16, 8х8, и 4х4, которые меньше 64х64, и затем может быть выбрана единица преобразования с минимальной ошибкой кодирования.
Фиг. 15 является схемой, для описания информации о кодировании единиц кодирования, соответствующих кодированной глубине, в соответствии с одним или более вариантами осуществления.
Компонент 130 вывода устройства 100 кодирования видео может кодировать и передавать информацию 800 о типе элемента разбиения, информацию 810 о режиме предсказания, и информацию 820 о размере единицы преобразования для каждой единицы кодирования, соответствующей кодированной глубине, в качестве информации о режиме кодирования.
Информация 800 указывает информацию о форме элемента разбиения, полученного посредством дробления единицы предсказания текущей единицы кодирования, при этом элемент разбиения является единицей данных для кодирования с предсказанием текущей единицы кодирования. Например, текущая единица кодирования CU_0 с размером 2Nx2N может быть раздроблена на любой из элементов разбиения: элемент 802 разбиения с размером 2Nx2N, элемент 804 разбиения с размером 2NxN, элемент 806 разбиения с размером Nx2N, и элемент 808 разбиения с размером NxN. Здесь, информация 800 о типе элемента разбиения устанавливается для указания одного из элементов разбиения: элемента 804 разбиения с размером 2NxN, элемента 806 разбиения с размером Nx2N, и элемента 808 разбиения с размером NxN.
Информация 810 указывает режим предсказания каждого элемента разбиения. Например, информация 810 может указывать режим кодирования с предсказанием, выполняемого над элементом разбиения, указываемым посредством информации 800, т.е. внутрикадровый режим 812, межкадровый режим 814, или режим 816 пропуска.
Информация 820 указывает единицу преобразования, на которой следует основываться, когда преобразование выполняется над текущей единицей кодирования. Например, единица преобразования может быть первой внутрикадровой единицей 822 преобразования, второй внутрикадровой единицей 824 преобразования, первой межкадровой единицей 826 преобразования, или второй межкадровой единицей 828 преобразования.
Экстрактор 220 информации о кодировании и данных изображения устройства 200 декодирования видео в соответствии с вариантом осуществления может извлекать и использовать информацию 800, 810, и 820 для декодирования, в соответствии с каждой более глубокой единицей кодирования.
Фиг. 16 является схемой более глубоких единиц кодирования в соответствии с глубинами, в соответствии с одним или более вариантами осуществления.
Информация о дроблении может быть использована для указания изменения глубины. Информация о дроблении указывает, дробится ли единица кодирования текущей глубины на единицы кодирования более низкой глубины.
Единица 910 предсказания для кодирования с предсказанием единицы 900 кодирования с глубиной 0 и размером 2N_0x2N_0 может включать в себя элементы разбиения типа 912 элемента разбиения с размером 2N_0x2N_0, типа 914 элемента разбиения с размером 2N_0xN_0, типа 916 элемента разбиения с размером N_0x2N_0 и типа 918 элемента разбиения с размером N_0xN_0. Фиг. 16 иллюстрирует лишь типы с 912 по 918 элемента разбиения, которые получаются посредством симметричного дробления единицы 910 предсказания, однако тип элемента разбиения этим не ограничивается, и элементы разбиения единицы 910 предсказания могут включать в себя асимметричные элементы разбиения, элементы разбиения предварительно определенной формы, и элементы разбиения геометрической формы.
Кодирование с предсказанием многократно выполняется над элементом разбиения с размером 2N_0x2N_0, двумя элементами разбиения с размером 2N_0xN_0, двумя элементами разбиения с размером N_0x2N_0, и четырьмя элементами разбиения с размером N_0xN_0, в соответствии с каждым типом элемента разбиения. Кодирование с предсказанием во внутрикадровом режиме и межкадровом режиме может быть выполнено над элементами разбиения с размерами 2N_0x2N_0, 2N_0xN_0, N_0x2N_0, и N_0xN_0. Кодирование с предсказанием в режиме пропуска выполняется только над элементом разбиения с размером 2N_0x2N_0.
Если ошибка кодирования является наименьшей при одном из типов с 912 по 916 элемента разбиения, единица 910 предсказания может не дробиться до более низкой глубины.
Если ошибка кодирования наименьшая при типе 918 элемента разбиения, глубина меняется с 0 на 1 для дробления типа 918 элемента разбиения на операции 920, и кодирование многократно выполняется над единицами 930 кодирования с глубиной 2 и размером N_0xN_0 для поиска минимальной ошибки кодирования.
Единица 940 предсказания для кодирования с предсказанием единицы 930 кодирования с глубиной 1 и размером 2N_1x2N_1 (=N_0xN_0) может включать в себя элементы разбиения типа 942 элемента разбиения с размером 2N_1x2N_1, типа 944 элемента разбиения с размером 2N_1xN_1, типа 946 элемента разбиения с размером N_1x2N_1, и типа 948 элемента разбиения с размером N_1xN_1.
Если ошибка кодирования наименьшая при типе 948 элемента разбиения, глубина меняется с 1 на 2 для дробления типа 948 элемента разбиения на операции 950, и кодирование многократно выполняется над единицами 960 кодирования с глубиной 2 и размером N_2xN_2 для поиска минимальной ошибки кодирования.
Когда максимальной глубиной является d, операция дробления в соответствии с каждой глубиной может быть выполнена вплоть до того момента, когда глубина станет равна d-1, и информация о дроблении может быть закодирована когда глубина соответствует одному из от 0 до d-2. Другими словами, когда кодирование выполняется вплоть до того, когда глубина равна d-1 после того как единица кодирования, соответствующая глубине d-2, дробится на операции 970, единица 990 предсказания для кодирования с предсказанием единицы 980 кодирования с глубиной d-1 и размером 2N_(d-1)x2N_(d-1) может включать в себя элементы разбиения типа 992 элемента разбиения с размером 2N_(d-1)x2N_(d-1), типа 994 элемента разбиения с размером 2N_(d-1)xN_(d-1), типа 996 элемента разбиения с размером N_(d-1)x2N_(d-1), и типа 998 элемента разбиения с размером N_(d-1)xN_(d-1).
Кодирование с предсказанием может быть многократно выполнено над одним элементом разбиения с размером 2N_(d-1)x2N_(d-1), двумя элементами разбиения с размером 2N_(d-1)xN_(d-1), двумя элементами разбиения с размером N_(d-1)x2N_(d-1), четырьмя элементами разбиения с размером N_(d-1)xN_(d-1) из типов с 992 по 998 элемента разбиения для поиска типа элемента разбиения с минимальной ошибкой кодирования.
Даже когда тип 998 элемента разбиения имеет минимальную ошибку кодирования, поскольку максимальная глубина равна d, единица кодирования CU_(d-1) с глубиной d-1 более не дробится до более низкой глубины, и кодированная глубина для единиц кодирования, составляющих текущую LCU 900 определяется как равная d-1, а тип элемента разбиения текущей LCU 900 может быть определен как N_(d-1)xN_(d-1). Также, поскольку максимальная глубина равна d и SCU 980 с самой низкой глубиной равной d-1 более не дробится до более низкой глубины, информация о дроблении для SCU 980 не устанавливается.
Единица 999 данных может быть ‘минимальной единицей’ для текущей LCU. Минимальная единица в соответствии с одним или более вариантами осуществления может быть квадратной единицей данных, полученной посредством дробления SCU 980 на 4. Посредством выполнения многократного кодирования, устройство 100 кодирования видео может выбирать глубину с наименьшей ошибкой кодирования посредством сравнения ошибок кодирования в соответствии с глубинами единицы 900 кодирования для определения кодированной глубины, и устанавливать соответствующий тип элемента разбиения и режим предсказания в качестве режима кодирования кодированной глубины.
Раз так, минимальные ошибки кодирования в соответствии с глубинами сравниваются на всех глубинах с 1 по d, и глубина с наименьшей ошибкой кодирования может быть определена в качестве кодированной глубины. Кодированная глубина, тип элемента разбиения единицы предсказания, и режим предсказания, могут быть закодированы и переданы в качестве информации о режиме кодирования. Также, поскольку единица кодирования дробится от глубины равной 0 до кодированной глубины, только информация о дроблении кодированной глубины устанавливается равной 0, а информация о дроблении глубин за исключением кодированной глубины устанавливается равной 1.
Экстрактор 220 информации о кодировании и данных изображения устройства 200 декодирования видео может извлекать и использовать информацию о кодированной глубине и единице предсказания единицы 900 кодирования для декодирования элемента 912 разбиения. Устройство 200 декодирования видео может определять глубину, на которой информация о дроблении равна 0, в качестве кодированной глубины посредством использования информации о дроблении в соответствии с глубинами, и использовать информацию о режиме кодирования соответствующей глубины для декодирования.
Фиг. с 17 по 19 являются схемами для описания отношения между единицами 1010 кодирования, единицами 1060 предсказания, и единицами 1070 преобразования, в соответствии с одним или более вариантами осуществления.
Единицы 1010 кодирования являются единицами кодирования с древовидной структурой, соответствующими кодированным глубинам, определенным устройством 100 кодирования видео, в LCU. Единицы 1060 предсказания являются элементами разбиения единиц предсказания каждой из единиц 1010 кодирования, а единицы 1070 преобразования являются единицами преобразования каждой из единиц 1010 кодирования.
Когда глубина LCU равна 0 в единицах 1010 кодирования, глубины единиц 1012 и 1054 кодирования равны 1, глубины единиц 1014, 1016, 1018, 1028, 1050, и 1052 кодирования равны 2, глубины единиц 1020, 1022, 1024, 1026, 1030, 1032, и 1048 кодирования равны 3, а глубины единиц 1040, 1042, 1044, и 1046 кодирования равны 4.
В единицах 1060 предсказания, некоторые единицы 1014, 1016, 1022, 1032, 1048, 1050, 1052, и 1054 кодирования получены посредством дробления единиц кодирования в единицах 1010 кодирования. Другими словами, типы элемента разбиения в единицах 1014, 1022, 1050, и 1054 кодирования имеют размер 2NxN, типы элемента разбиения в единицах 1016, 1048, и 1052 кодирования имеют размер Nx2N, и тип элемента разбиения единицы 1032 кодирования имеет размер NxN. Единицы предсказания и элементы разбиения единиц 1010 кодирования меньше или равны каждой единице кодирования.
Преобразование или обратное преобразование выполняется над данными изображения единицы 1052 кодирования в единицах 1070 преобразования в единице данных, которая меньше единицы 1052 кодирования. Также, единицы 1014, 1016, 1022, 1032, 1048, 1050, и 1052 кодирования в единицах 1070 преобразования отличаются от тех, что в единицах 1060 предсказания по размерам и формам. Другими словами, устройства 100 и 200 кодирования и декодирования видео могут выполнять внутрикадровое предсказание, оценку движения, компенсацию движения, преобразование, и обратное преобразование индивидуально над единицей данных в одной и той же единице кодирования.
Соответственно, кодирование рекурсивно выполняется над каждой из единиц кодирования с иерархической структурой в каждой области LCU для определения оптимальной единицы кодирования, и таким образом могут быть получены единицы кодирования с рекурсивной древовидной структурой. Информация о кодировании может включать в себя информацию о дроблении касательно единицы кодирования, информацию о типе элемента разбиения, информацию о режиме предсказания, и информацию о размере единицы преобразования. Таблица 1 показывает информацию о кодировании, которая может быть установлена устройствами 100 и 200 кодирования и декодирования видео.
<b>Таблица 1</b>
Информация о дроблении 0(Кодирование над единицей кодирования с размером 2Nx2N и текущей глубиной d)
Информация о дроблении 1
Режим предсказания
Тип элемента разбиения
Размер единицы преобразования
Многократно кодируют единицы кодирования с более низкой глубиной в d+1
ВнутрикадровыйМежкадровыйПропуска (Только 2Nx2N)
Тип симметричного элемента разбиения
Тип асимметричного элемента разбиения
Информация о дроблении 0 единицы преобразования
Информация о дроблении 1 единицы преобразования
2Nx2N2NxNNx2NNxN
2NxnU2NxnDnLx2NnRxN
2Nx2N
NxN(Симметричный тип)N/2xN/2(Асимметричный тип)
Компонент 130 вывода устройства 100 кодирования видео может выводить информацию о кодировании касательно единиц кодирования с древовидной структурой, а экстрактор 220 информации о кодировании и данных изображения устройства 200 декодирования видео может выделять информацию о кодировании касательно единиц кодирования касательно единиц кодирования с древовидной структурой из принятого битового потока.
Информация о дроблении указывает, дробится ли текущая единица кодирования на единицы кодирования более низкой глубины. Если информация о дроблении текущей глубины d равна 0, глубина, на которой текущая единица кодирования более не дробится до более низкой глубины, является кодированной глубиной, и, следовательно, для кодированной глубины может быть задана информация о типе элемента разбиения, режим предсказания, и информация о размере единицы преобразования. Если текущая единица кодирования далее дробится в соответствии с информацией о дроблении, кодирование независимо выполняется над четырьмя раздробленными единицами кодирования более низкой глубины.
Режим предсказания может быть одним из режимов: внутрикадровым режимом, межкадровым режимом, и режимом пропуска. Внутрикадровый режим и межкадровый режим могут быть заданы при всех типах элемента разбиения, а режим пропуска задан только при типе элемента разбиения с размером 2Nx2N.
Информация о типе элемента разбиения может указывать типы симметричного элемента разбиения с размерами 2Nx2N, 2NxN, Nx2N, и NxN, которые получаются посредством симметричного дробления высоты или ширины единицы предсказания, и типы асимметричного элемента разбиения с размерами 2NxnU, 2NxnD, nLx2N, и nRx2N, которые получаются посредством асимметричного дробления высоты или ширины единицы предсказания. Типы асимметричного элемента разбиения с размерами 2NxnU и 2NxnD могут быть соответственно получены посредством дробления высоты единицы предсказания в соотношении 1:3 и 3:1, а типы асимметричного элемента разбиения с размерами nLx2N и nRx2N могут быть соответственно получены посредством дробления высоты единицы предсказания в соотношении 1:3 и 3:1.
Размер единицы преобразования может быть установлен в качестве двух типов во внутрикадровом режиме и двух типов в межкадровом режиме. Другими словами, если информация о дроблении единицы преобразования равна 0, размером единицы преобразования может быть 2Nx2N, который является размером текущей единицы кодирования. Если информация о дроблении единицы преобразования равна 1, единицы преобразования могут быть получены посредством дробления текущей единицы кодирования. Также, если тип элемента разбиения текущей единицы кодирования с размером 2Nx2N является типом симметричного элемента разбиения, размером единицы преобразования может быть NxN, а если тип элемента разбиения текущей единицы кодирования является типом асимметричного элемента разбиения, размером единицы преобразования может быть N/2xN/2.
Информация о кодировании касательно единиц кодирования с древовидной структурой может включать в себя по меньшей мере одну из единиц: единицу кодирования, соответствующую кодированной глубине, единицу предсказания, и минимальную единицу. Единица кодирования, соответствующая кодированной глубине, может включать в себя, по меньшей мере одну из единиц: единицу предсказания и минимальную единицу содержащую точно такую же информацию о кодировании.
Соответственно, определяется, включены ли смежные единицы данных в одну и ту же единицу кодирования, соответствующую кодированной глубине, посредством сравнения информации о кодировании смежных единиц данных. Также, соответствующая единица кодирования, соответствующая кодированной глубине, определяется посредством использования информации о кодировании единицы данных, и, следовательно, может быть определено распределение кодированных глубин в LCU.
Соответственно, если текущая единица кодирования предсказывается на основании информации о кодировании смежных единиц данных, может быть выполнено непосредственное обращение к и использование информации о кодировании единиц данных в более глубоких единицах кодирования, смежных с текущей единицей кодирования.
В качестве альтернативы, если текущая единица кодирования предсказывается на основании информации о кодировании смежных единиц данных, осуществляется поиск единиц данных, смежных с текущей единицей кодирования, используя закодированную информацию единиц данных, и может быть выполнено обращение к найденным смежным единицам кодирования для предсказания текущей единицы кодирования.
Фиг. 20 является схемой для описания отношения между единицей кодирования, единицей предсказания, и единицей преобразования, в соответствии с информацией о режиме кодирования Таблицы 1.
LCU 1300 включает в себя единицы 1302, 1304, 1306, 1312, 1314, 1316, и 1318 кодирования кодированных глубин. Здесь, поскольку единица 1318 кодирования является единицей кодирования кодированной глубины, информация о дроблении может быть установлена в 0. Информация о типе элемента разбиения единицы 1318 кодирования с размером 2Nx2N может быть установлена в качестве одного из типов: типа 1322 элемента разбиения с размером 2Nx2N, типа 1324 элемента разбиения с размером 2NxN, типа 1326 элемента разбиения с размером Nx2N, типа 1328 элемента разбиения с размером NxN, типа 1332 элемента разбиения с размером 2NxnU, типа 1334 элемента разбиения с размером 2NxnD, типа 1336 элемента разбиения с размером nLx2N, и типа 1338 элемента разбиения с размером nRx2N.
Информация о дроблении единицы преобразования (флаг размера TU) является типом индекса преобразования. Размер единицы преобразования, соответствующий индексу преобразования, может быть изменен в соответствии с типом единицы предсказания или типом элемента разбиения единицы кодирования.
Например, когда тип элемента разбиения устанавливается как симметричный, т.е. тип 1322, 1324, 1326, или 1328 элемента разбиения, устанавливается единица 1342 преобразования с размером 2Nx2N, если флаг размера TU единицы преобразования равен 0, и устанавливается единица 1344 преобразования с размером NxN, если флаг размера TU равен 1.
Когда тип элемента разбиения устанавливается как асимметричный, т.е. тип 1332, 1334, 1336, или 1338 элемента разбиения, устанавливается единица 1352 преобразования с размером 2Nx2N, если флаг размера TU равен 0, и устанавливается единица 1354 преобразования с размером N/2xN/2, если флаг размера TU равен 1.
Обращаясь к Фиг. 20, флаг размера TU является флагом со значением 0 или 1, однако флаг размера TU не ограничивается 1 битом, и единица преобразования может быть иерархически раздроблена с древовидной структурой, оп мере того как флаг размера TU увеличивается от 0. Информация о дроблении (флаг размера TU) единицы преобразования может быть примером индекса преобразования.
В данном случае, размер единицы преобразования, который был фактически использован, может быть выражен посредством использования флага размера TU единицы преобразования, в соответствии с одним или более вариантами осуществления, совместно с максимальным размером и минимальным размером единицы преобразования. Устройство 100 кодирования видео выполнено с возможностью кодирования информации о размере максимальной единицы преобразования, информации о размере минимальной единицы преобразования, и максимального флага размера TU. Результат кодирования информации о размере максимальной единицы преобразования, информации о размере минимальной единицы преобразования, и максимального флага размера TU может быть вставлен в SPS. Устройство 200 декодирования видео может декодировать видео посредством использования информации о размере максимальной единицы преобразования, информации о размере минимальной единицы преобразования, и максимального флага размера TU.
Например, (a) если размер текущей единицы кодирования составляет 64х64, а размер максимальной единицы преобразования составляет 32х32, (a-1) тогда размером единицы преобразования может быть 32х32, когда флаг размера TU равен 0, (a-2) может быть 16х16, когда флаг размера TU равен 1, и (a-3) может быть 8х8, когда флаг размера TU равен 2.
В качестве другого примера, (b) если размер текущей единицы кодирования составляет 32х32, а размер минимальной единицы преобразования составляет 32х32, (b-1) тогда размером единицы преобразования может быть 32х32, когда флаг размера TU равен 0. Здесь, флага размера TU не может быть установлена в значение отличное от 0, поскольку размер единицы преобразования не может быть меньше, чем 32х32.
В качестве другого примера, (c) если размер текущей единицы кодирования составляет 64х64, а максимальный флага размера TU равен 1, тогда флага размера TU может быть 0 или 1. Здесь, флага размера TU не может быть установлен в значение отличное от 0 или 1.
Таким образом, если задано, что максимумом флага размера TU является ‘MaxTransformSizeIndex’, размером минимальной единицы преобразования является ‘MinTransformSize’, и размером единицы преобразования является ‘RootTuSize’ когда флаг размера TU равен 0, тогда текущим размером минимальной единицы преобразования ‘CurrMinTuSize’, который может быть определен в текущей единице кодирования, может быть задан посредством Уравнения (1):
CurrMinTuSize=max(MinTransformSize, RootTuSize/(2^MaxTransformSizeIndex)) (1)
В сравнении с текущим размером минимальной единицы преобразования ‘CurrMinTuSize’, который может быть определен в текущей единице кодирования, размер единицы преобразования ‘RootTuSize’, когда флаг размера TU равен 0, может обозначать размер максимальной единицы преобразования, который может быть выбран в системе. В Уравнении (1), ‘RootTuSize/(2^MaxTransformSizeIndex)’ обозначает размер единицы преобразования, когда размер единицы преобразования ‘RootTuSize’, при флаге размера TU равном 0, дробится количество раз, соответствующее максимальному флагу размера TU, а ‘MinTransformSize’ обозначает минимальный размер преобразования. Таким образом, меньшее значение из ‘RootTuSize/(2^MaxTransformSizeIndex)’ и ‘MinTransformSize’ может быть текущим размером минимальной единицы преобразования ‘CurrMinTuSize’, который может быть определен в текущей единице кодирования.
В соответствии с вариантом осуществления, размер максимальной единицы преобразования RootTuSize может варьироваться в соответствии с типами режима предсказания.
Например, если текущим режимом предсказания является межкадровый режим, тогда ‘RootTuSize’ может быть определен посредством использования Уравнения (2) ниже. В Уравнении (2), ‘MaxTransformSize’ обозначает размер максимальной единицы преобразования, а ‘PUSize’ обозначает текущий размер единицы предсказания.
RootTuSize=min(MaxTransformSize, PUSize) (2)
Т.е., если текущим режимом предсказания является межкадровый режим, размер единицы преобразования ‘RootTuSize’, при флаге размера TU равном 0, может быть меньшее значение из размера максимальной единицы преобразования и текущего размера единицы предсказания.
Если режимом предсказания текущей единицы предсказания является внутрикадровый режим, ‘RootTuSize’ может быть определен посредством использования Уравнения (3) ниже. В Уравнении (3), ‘PartitionSize’ обозначает размер текущей единицы элемента разбиения.
RootTuSize=min(MaxTransformSize, PartitionSize) (3)
Т.е., если текущим режимом предсказания является внутрикадровый режим, размером единицы преобразования ‘RootTuSize’ при флаге размера TU равном 0 может быть меньшее значение из размера максимальной единицы преобразования и размера текущей единицы элемента разбиения.
Тем не менее, текущий размер максимальной единицы преобразования ‘RootTuSize’, который варьируется в соответствии с типом режима предсказания в единице элемента разбиения, является лишь примером и варианты осуществления этим не ограничиваются.
В соответствии со способом кодирования видео, основанным на единицах кодирования с древовидной структурой, как описано со ссылкой на Фиг. с 8 по 20, данные изображения пространственной области кодируются для каждой единицы кодирования древовидной структуры. В соответствии со способом декодирования видео, основанным на единицах кодирования с древовидной структурой, декодирование выполняется для каждой LCU для восстановления данных изображения пространственной области. Таким образом, картинка и видео, т.е. последовательность картинок, могут быть восстановлены. Восстановленное видео может быть воспроизведено посредством воспроизводящего устройства, сохранено на запоминающем носителе информации, или передано посредством сети.
Также, параметры SAO могут быть просигнализированы в отношении каждой картинки, каждого слайса, каждой LCU, каждой из единиц кодирования с древовидной структурой, каждой единицы предсказания единиц кодирования, или каждой единицы преобразования единиц кодирования. Например, значения пикселя восстановленных пикселей каждой LCU могут быть отрегулированы посредством использования значений смещения, восстановленных на основании принятых параметров SAO, и, следовательно, может быть восстановлена LCU с минимизированной ошибкой между исходным блоком и LCU.
Варианты осуществления могут быть написаны в качестве компьютерных программ и могут быть реализованы в цифровых компьютерах общего использования, которые исполняют программы, используя считываемый компьютером записывающий носитель информации. Примеры считываемого компьютером записывающего носителя информации включают в себя магнитные запоминающие носители информации (например, ROM, гибкие диски, жесткие диски, и т.д.) и оптические записывающие носители информации (например, CD-ROM, или DVD).
Несмотря на то, что один или более варианты осуществления были в частности показаны и описаны со ссылкой на его примерные варианты осуществления, специалисту в соответствующей области следует понимать, что различные изменения по форме и в деталях могут быть здесь выполнены, не отступая от сущности и объема изобретения, как определяется нижеследующей формулой изобретения. Примерные варианты осуществления должны рассматриваться должны рассматриваться лишь в описательном смысле, а не в целях ограничения. Вследствие этого, объем изобретения определяется не подробным описанием изобретения, а нижеследующей формулой изобретения, и все отличия в рамках объема будут толковаться как включенные в один или более варианты осуществления.
Для удобства описания, способ кодирования видео в соответствии с регулировкой смещения выборки, который описан выше со ссылкой на описанный выше со ссылкой на Фиг. с 1A по 20, будет именоваться ‘способом кодирования видео в соответствии с одним или более вариантами осуществления’. В дополнение, способ декодирования видео в соответствии с регулировкой смещения выборки, который описан выше со ссылкой на описанный выше со ссылкой на Фиг. с 1A по 20, будет именоваться ‘способом декодирования видео в соответствии с одним или более вариантами осуществления’.
Также, устройство кодирования видео, включающее в себя устройство 10 кодирования видео, устройство 100 кодирования видео, или кодер 400 изображения, которое описывается выше со ссылкой на Фиг. с 1A по 20, будет именоваться ‘устройством кодирования видео в соответствии с одним или более вариантами осуществления’. В дополнение, устройство декодирования видео, включающее в себя устройство 20 декодирования видео, устройство 200 декодирования видео, или декодер 500 изображения, которое описывается выше со ссылкой на Фиг. с 1A по 20, будет именоваться ‘устройством декодирования видео в соответствии с одним или более вариантами осуществления’.
Теперь подробнее будет описан считываемый компьютером записывающий носитель информации, хранящий программу, например, диск 26000, в соответствии с одним или более вариантами осуществления.
Фиг. 21 является схемой физической структуры диска 26000, на котором хранится программа, в соответствии с одним или более вариантами осуществления. Диск 26000, который является запоминающим носителем информации, может быть жестким диском, диском постоянного запоминающего устройства на компакт диске (CD-ROM), диском Blu-ray, или цифровым универсальным диском (DVD). Диск 26000 включает в себя множество концентрических дорожек Tr, каждая из которых разделена на конкретное количество секторов Se в круговом направлении диска 26000. В конкретной области диска 26000, которая хранит программу в соответствии с вариантом осуществления, может быть назначена и храниться программа, которая исполняет способ определения параметра квантования, способ кодирования видео, и способ декодирования видео, описанный выше.
Со ссылкой на Фиг. 22 теперь будет описана компьютерная система, воплощенная при помощи запоминающего носителя информации, который хранит программу для исполнения способа кодирования видео и способа декодирования видео, как описано выше.
Фиг. 22 является схемой накопителя 26800 на дисках для записи и чтения программы посредством использования диска 26000. Компьютерная система 26700 может хранить программу, которая исполняет по меньшей мере один из способов: способ кодирования видео и способ декодирования видео в соответствии с одним или более вариантами осуществления, на диске 2600 через накопитель 26800 на дисках. Для запуска программы, хранящейся на диске 26000 в компьютерной системе 26700, программа может быть считана с диска 26000 и передана на компьютерную систему 26700 посредством использования накопителя 26800 на дисках.
Программа, которая исполняет по меньшей мере один из способов: способ кодирования видео и способ декодирования видео в соответствии с одним или более вариантами осуществления, может быть сохранена не только на диске 26000, проиллюстрированном на Фиг. 21 или 22, но также и на карте памяти, кассете ROM, или твердотельном накопителе (SSD).
Ниже будет описана система, к которой применяется описанный выше способ кодирования видео и способ декодирования видео.
Фиг. 23 является схемой полной структуры системы 11000 подачи контента для обеспечения услуги распространения контента. Зона услуги системы связи разделена на соты предварительно определенного размера, и в этих сотах соответственно инсталлированы базовые станции 11700, 11800, 11900, и 12000.
Система 11000 подачи контента включает в себя множество независимых устройств. Например, множество независимых устройств, таких как компьютер 12100, персональный цифровой помощник 12200 (PDA), видео камера 12300, и мобильный телефон 12500, соединяется с Интернет 11100 через поставщика 11200 услуг интернет, сеть 11400 связи, и беспроводные базовые станции 11700, 11800, 11900, и 12000.
Тем не менее, система 11000 подачи контента не ограничивается проиллюстрированной на Фиг. 24, и устройства могут быть выборочно соединены с ней. Множество независимых устройств может быть непосредственно соединено с сетью 11400 связи, не через беспроводные базовые станции 11700, 11800, 11900, и 12000.
Видео камера 12300 является устройством формирования изображения, например, цифровой видео камерой, которая выполнена с возможностью захвата видео изображений. Мобильный телефон 12500 может использовать по меньшей мере один способ связи из разнообразных протоколов, например, Персональной Цифровой Связи (PDC), Множественного Доступа с Кодовым Разделением (CDMA), Широкополосного Множественного Доступа с Кодовым Разделением (W-CDMA), Глобальной Системы Связи с Подвижными Объектами (GSM), и Системы для Персональных Мобильных Телефонов (PHS).
Видео камера 12300 может быть соединена с сервером 11300 потоковой передачи через беспроводную базовую станцию 11900 и сеть 11400 связи. Сервер 11300 потоковой передачи обеспечивает потоковую передачу контента, принимаемого от пользователя через видео камеру 12300, посредством вещания в режиме реального времени. Контент, принятый от видео камеры 12300, может быть закодирован, используя видео камеру 12300 или сервер 11300 потоковой передачи. Видео данные, захваченные видео камерой 12300, могут быть переданы серверу 11300 потоковой передачи через компьютер 12100.
Видео данные, захваченные камерой 12600, также могут быть переданы серверу 11300 потоковой передачи через компьютер 12100. Камера 12600 является устройством формирования изображения, выполненным с возможностью захвата, как неподвижных изображений, так и видео изображений, аналогично цифровой камере. Видео данные, захваченные камерой 12600, могут быть закодированы, используя камеру 12600 или компьютер 12100. Программное обеспечение, которое выполняет кодирование и декодирование видео, может быть сохранено на считываемом компьютером записывающем носителе информации, например, диске CD-ROM, гибком диске, накопителе на жестком диске, SSD, карте памяти, доступ к которым можно получить посредством компьютера 12100.
Если видео данные захватывается камерой, встроенной в мобильный телефон 12500, видео данные могут быть приняты от мобильного телефона 12500.
Видео данные также могут быть закодированы посредством системы больших интегральных микросхем (LSI), инсталлированной в видео камере 12300, мобильном телефоне 12500, или камере 12600.
Система 11000 подачи контента может кодировать данные контента, записываемые пользователем, используя видео камеру 12300, камеру 12600, мобильный телефон 12500, или другое устройство формирования изображения, например, контент, записываемый во время концерта, и передавать закодированные данные контента серверу 11300 потоковой передачи. Сервер 1300 потоковой передачи может передавать закодированные данные контента в типе контента потоковой передачи другим клиентам, которые запрашивают данные контента.
Клиенты являются устройствами, выполненными с возможностью декодирования закодированных данных контента, например, компьютером 12100, PDA 12200, видео камерой 12300, или мобильным телефоном 12500. Таким образом, система 11000 подачи контента позволяет клиентам принимать и воспроизводить закодированные данные контента. Также, система 1100 подачи контента позволяет клиентам принимать закодированные данные контента и декодировать, и воспроизводить закодированные данные контента в режиме реального времени, тем самым обеспечивая персональное вещание.
Операции кодирования и декодирования независимых устройств, включенных в систему 11000 подачи контента, могут быть аналогичными тем, что у устройства кодирования видео и устройства декодирования видео в соответствии с одним или более вариантами осуществления.
Теперь более подробно со ссылкой на Фиг. 24 и 25 будет описан мобильный телефон 12500, включенный в систему 11000 подачи контента в соответствии с одним или более вариантами осуществления.
Фиг. 24 иллюстрирует внешнюю структуру мобильного телефона 12500, к которому применяются способ кодирования видео и способ декодирования видео, в соответствии с одним или более вариантами осуществления. Мобильный телефон 12500 может быть интеллектуальным телефоном, функции которого не ограничиваются и большое количество функций которого могут быть изменены или расширены.
Мобильный телефон 12500 включает в себя внутреннюю антенну 12510, через которую может осуществляться обмен радиочастотным (RF) сигналом с беспроводной базовой станцией 1200 с Фиг. 21, и включает в себя дисплейный экран 12520 для отображения изображений, захваченных камерой 12530, или изображений, которые принимаются через антенну 12510 и декодируются, например, жидкокристаллический дисплей (LCD) или экран на органических светоизлучающих диодах (OLED). Мобильный телефон 12500 включает в себя панель 12540 управления, включающую в себя кнопки управления и сенсорную панель. Если дисплейный экран 12520 является сенсорным экраном, панель 12540 управления дополнительно включает в себя панель восприятия касания дисплейного экрана 12520. Мобильный телефон 12500 включает в себя громкоговоритель 12580 для вывода голоса и звука или другой тип компонента вывода звука, и микрофон 12550 для ввода голоса и звука или компонент ввода звука другого типа. Мобильный телефон 12500 дополнительно включает в себя камеру 12530, такую как камера на приборе с зарядовой связью (CCD), для захвата видео и неподвижных изображений. Мобильный телефон 12500 может дополнительно включать в себя запоминающий носитель 12570 информации для хранения закодированных/декодированных данных, например, видео или неподвижных изображений, захваченных камерой 12530, принятых посредством электронной почты, или полученных в соответствии с различными способами; и слот 12560, через который запоминающий носитель 12570 информации загружается в мобильный телефон 12500. Запоминающий носитель 12570 информации может быть флэш-памятью, например, картой формата Secure Digital (SD) или электронно-стираемым и программируемым постоянным запоминающим устройством (EEPROM), заключенным в пластиковый корпус.
Фиг. 25 иллюстрирует внутреннюю структуру мобильного телефона 12500. Для систематического управления части мобильного телефона 12500, включающие в себя дисплейный экран 12520 и панель 12540 управления, схему 12700 подачи питания, контроллер 12640 ввода операции, кодер 12720 изображения, интерфейс 12630 камеры, контроллер 12620 LCD, декодер 12690 изображения, мультиплексор/демультиплексор 12680, компонент 12670 записи/чтения, компонент 12660 модуляции/демодуляции, и процессор 12650 звука, соединены с центральным контроллером 12710 через шину 12730 синхронизации.
Если пользователь управляет кнопкой питания и устанавливает ее из состояния ‘питание выключено’ в состояние ‘питание включено’, схема 12700 подачи питания подает питание всем частям мобильного телефона 12500 от блока батарей, тем самым приводя мобильный телефон 12500 в рабочее состояние.
Центральный контроллер 12710 включает в себя центральный блок обработки (CPU), ROM, и RAM.
При передаче мобильным телефоном 12500 данных связи во вне, цифровой сигнал генерируется мобильным телефоном 12500 под управлением центрального контроллера 12710. Например, процессор 12650 звука может генерировать цифровой звуковой сигнал, кодер 12720 изображения может генерировать цифровой сигнал изображения, и текстовые данные сообщения могут быть сгенерированы через панель 12540 управления и контроллер 12640 ввода операции. Когда цифровой сигнал передается компоненту 12660 модуляции/демодуляции под управлением центрального контроллера 12710, модулятор/демодулятор 12660 модулирует частотную полосу цифрового сигнала, и схема 12610 связи выполняет цифроаналоговое преобразование (DAC) и частотное преобразование над модулированным в частотной полосе цифровым звуковым сигналом. Сигнал передачи, выводимый из схемы 12610 связи, может быть передан базовой станции голосовой связи или беспроводной базовой станции 12000 через антенну 12510.
Например, когда мобильный телефон 12500 находится в режиме разговора, звуковой сигнал, получаемый через микрофон 12550, преобразуется в цифровой звуковой сигнал процессором 12650 звука, под управлением центрального контроллера 12710. Цифровой звуковой сигнал может быть преобразован в сигнал преобразования через компонент 12660 модуляции/демодуляции и схему 12610 связи, и может быть передан через антенну 12510.
Когда текстовое сообщение, например, сообщение электронной почты, передается в режиме передачи данных, текстовые данные текстового сообщения вводятся через панель 12540 управления и передаются центральному контроллеру 12710 через контроллер 12640 ввода операции. Под управлением центрального контроллера 12710, текстовые данные преобразуются в сигнал передачи через компонент 12660 модуляции/демодуляции и схему 12610 связи, и передаются беспроводной базовой станции 12000 через антенну 12510.
Для передачи данных изображения в режиме передачи данных, данные изображения, захваченные камерой 12530, предоставляются кодеру 12720 изображения через интерфейс 12630 камеры. Захваченные данные изображения могут быть непосредственно отображены на дисплейном экране 12520 через интерфейс 12630 камеры и контроллер 12620 LCD.
Структура кодера 12720 изображения может соответствовать той, что у описанного выше способа кодирования видео в соответствии с одним или более вариантами осуществления. Кодер 12720 изображения может преобразовывать данные изображения, принятые от камеры 12530, в сжатые и закодированные данные изображения на основании описанного выше способа кодирования видео в соответствии с одним или более вариантами осуществления, и затем выводить закодированные данные изображения на мультиплексор/демультиплексор 12680. Во время операции записи камеры 12530, звуковой сигнал, полученный посредством микрофона 12550 мобильного телефона 12500, может быть преобразован в цифровые звуковые данные через процессор 12650 звука, и цифровые звуковые данные могут быть переданы мультиплексору/демультиплексору 12680.
Мультиплексор/демультиплексор 12680 мультиплексирует закодированные данные изображения, принятые от кодера 12720 изображения, вместе со звуковыми данными, принятыми от процессора 12650 звука. Результат мультиплексирования данных может быть передан в сигнале передачи через компонент 12660 модуляции/демодуляции и схему 12610 связи, и затем может быть передан через антенну 12510.
При приеме мобильным телефоном 12500 данных связи из вне, над сигналом, принятым через антенну 12510, выполняется восстановление частоты и аналого-цифровое преобразование (ADC) для преобразования сигнала в цифровой сигнал. Модулятор/демодулятор 12660 модулирует частотную полосу цифрового сигнала. Цифровой сигнал с модулированной частотной полосой передается компоненту 12690 декодирования видео, процессору 12650 звука, или контроллеру 12620 LCD, в соответствии с типом цифрового сигнала.
В режиме разговора, мобильный телефон 12500 усиливает сигнал, принятый через антенну 12510, и получает цифровой звуковой сигнал посредством выполнения частотного преобразования и ADC над усиленным сигналом. Принятый цифровой звуковой сигнал преобразуется в аналоговый звуковой сигнал через компонент 12660 модуляции/демодуляции и процессор 12650 звука, и аналоговый звуковой сигнал выводится через громкоговоритель 12580, под управлением центрального контроллера 12710.
В режиме передачи данных, принимаются данные видео файла, к которому получен доступ на Интернет web-сайте, сигнал, принимаемый от беспроводной базовой станции 12000 через антенну 12510, выводится в качестве мультиплексированных данных через компонент 12660 модуляции/демодуляции, и мультиплексированные данные передаются мультиплексору/демультиплексору 12680.
Для декодирования мультиплексированных данных, принятых через антенну 12510, мультиплексор/демультиплексор 12680 демультиплексирует мультиплексированные данные на закодированный поток видео данных и закодированный поток аудио данных. Через шину 12730 синхронизации, закодированный поток видео данных и закодированный поток аудио данных предоставляются компоненту 12690 декодирования видео и процессору 12650 звука, соответственно.
Структура декодера 12690 изображения может соответствовать той, что у описанного выше способа декодирования видео в соответствии с одним или более вариантами осуществления. Декодер 12690 изображения может декодировать закодированные видео данные, чтобы получить восстановленные видео данные и предоставить восстановленные видео данные дисплейному экрану 12520 через контроллер 12620 LCD, посредством использования способа декодирования видео в соответствии с одним или более вариантами осуществления.
Таким образом, данные видео файла, к которому получают доступ на Интернет web-сайте, могут быть отображены на дисплейном экране 12520. В то же время, процессор 12650 звука может преобразовать аудио данные в аналоговый звуковой сигнал, и предоставить аналоговый звуковой сигнал громкоговорителю 12580. Таким образом, аудио данные, содержащиеся в видео файле, к которому получают доступ на Интернет web-сайте, также могут быть воспроизведены через громкоговоритель 12580.
Мобильный телефон 12500 или другой тип терминала связи может быть: терминалом приемопередачи, включающим в себя как устройство кодирования видео, так и устройство декодирования видео в соответствии с одним или более вариантами осуществления; может быть терминалом приемопередачи, включающим в себя только устройство кодирования видео; или может быть терминалом приемопередачи, включающим в себя только устройство декодирования видео.
Система связи в соответствии с одним или более вариантами осуществления не ограничивается системой связи, описанной выше со ссылкой на Фиг. 24. Например, Фиг. 26 иллюстрирует систему цифрового вещания, использующую систему связи в соответствии с одним или более вариантами осуществления. Система цифрового вещания с Фиг. 26 может принимать цифровое вещание, передаваемое спутниковой или наземной сетью, посредством использования устройства кодирования видео и устройства декодирования видео в соответствии с одним или более вариантами осуществления.
В частности, вещательная станция 12890 передает поток видео данных спутнику связи или вещательному спутнику 12900 посредством использования радиоволн. Вещательный спутник 12900 передает сигнал вещания, и сигнал вещания передается приемнику спутникового вещания через бытовую антенну 12860. В каждом доме, закодированный видео поток может быть декодирован и воспроизведен посредством TV приемника 12810, телевизионной приставки 12870, или другого устройства.
Когда устройство декодирования видео в соответствии с одним или более вариантами осуществления реализуется в воспроизводящем устройстве 12830, воспроизводящее устройство 12830 может анализировать и декодировать закодированный видео поток, записанный на запоминающем носителе 12820 информации, таком как диск или карта памяти, для восстановления цифровых сигналов. Таким образом, восстановленный видео сигнал может быть воспроизведен, например, на мониторе 12840.
В телевизионной приставке 12870, соединенной с антенной 12860 для спутникового/наземного вещания или кабельной антенной 12850 для приема вещания кабельного телевидения (TV), может быть инсталлировано устройство декодирования видео в соответствии с одним или более вариантами осуществления. Данные, выводимые из телевизионной приставки 12870, также могут быть воспроизведены на TV мониторе 12880.
В качестве другого примера, устройство декодирования видео в соответствии с одним или более вариантами осуществления может быть инсталлировано в TV приемнике 12810, вместо телевизионной приставки 12870.
Автомобиль 12920, который оборудован соответствующей антенной 12910, может принимать сигнал, передаваемый от спутника 12900 или беспроводной базовой станции 11700 с Фиг. 21. Декодированное видео может быть воспроизведено на дисплейном экране автомобильной навигационной системы 12930, инсталлированной в автомобиле 12920.
Видео сигнал может быть закодирован посредством устройства кодирования видео в соответствии с одним или более вариантами осуществления и затем может быть сохранен на запоминающем носителе информации. В частности, сигнал изображения может быть сохранен на диске 12960 DVD посредством записывающего устройства DVD или может быть сохранен на жестком диске посредством устройства 12950 записи на жесткий диск. В качестве другого примера, видео сигнал может быть сохранен на SD карте 12970. Если устройство 12950 записи на жестком диске включает в себя устройство декодирования видео в соответствии с одним или более вариантами осуществления, видео сигнал, записанный на диске 12960 DVD, SD карте 12970, или другом запоминающем носителе информации, может быть воспроизведен на TV мониторе 12880.
Автомобильная навигационная система 12930 может не включать в себя камеру 12530 с Фиг. 24, и интерфейс 12630 камеры и кодер 12720 изображения с Фиг. 25. Например, компьютер 12100 и TV приемник 12810 могут не включать в себя камеру 12530, интерфейс камеры 12630, и кодер 12720 изображения.
Фиг. 27 является схемой, иллюстрирующей сетевую структуру системы облачных вычислений, использующей устройство кодирования видео и устройство декодирования видео, в соответствии с одним или более вариантами осуществления.
Система облачных вычислений может включать в себя сервер 14000 облачных вычислений, базу 14100 данных (DB) пользователя, множество вычислительных ресурсы 14200, и терминал пользователя.
Система облачных вычислений предоставляет услугу аутсорсинга по запросу множества вычислительных ресурсов 14200 через сеть передачи данных, например, Интернет, в ответ на запрос от терминала пользователя. В среде облачных вычислений, поставщик услуги предоставляет пользователям требуемые услуги посредством объединения вычислительных ресурсов в центрах обработки данных, расположенных физически в разных местоположениях посредством использования технологии виртуализации. Пользователю услуги не требуется инсталляция вычислительных ресурсов, например, приложения, хранилища, операционной системы (OS), и ресурсов безопасности, на его/ее собственном терминале, чтобы использовать их, но он может выбирать и использовать требуемые услуги из услуг в виртуальном пространстве, сгенерированном посредством технологии виртуализации, в требуемый момент времени.
Терминал пользователя у пользователя конкретной услуги соединяется с сервером 14000 облачных вычислений через сеть передачи данных, включающую в себя Интернет и мобильную телекоммуникационную сеть. Терминалам пользователя могут быть предоставлены услуги облачных вычислений, и в частности услуги воспроизведения видео, от сервера 14000 облачных вычислений. Терминалы пользователя могут быть электронными устройствами разнообразных типов, выполненными с возможностью соединения с Интернет, например, настольным PC 14300, интеллектуальным TV 14400, интеллектуальным телефоном 14500, компьютером 14600 класса ноутбук, портативным мультимедийным проигрывателем 14700 (PMP), планшетным PC 14800, и подобным.
Сервер 14000 облачных вычислений может объединять множество вычислительных ресурсов 14200, распределенных в облачной сети, и предоставлять терминалам пользователя результат объединения. Множество вычислительных ресурсов 14200 могут включать в себя различные информационные услуги, и могут включать в себя данные, выгружаемые с терминалов пользователя. Как описано выше, сервер 14000 облачных вычислений может предоставлять терминалам пользователя требуемые услуги посредством объединения видео базы данных, распределенной в разных областях в соответствии с технологией виртуализации.
Информация о пользователях касательно пользователей, которые подписаны на услугу облачных вычисления, хранится в DB 14100 пользователей. Информация о пользователях может включать в себя информацию о входе в систему, адреса, имена, и персональную кредитную информацию пользователей. Информация о пользователях может дополнительно включать в себя индексы видео. Здесь, индексы могут включать в себя список видео, которое уже было воспроизведено, список видео, которое воспроизводится, и точки временной остановки видео, которое воспроизводилось, и подобное.
Информация касательно видео, хранящаяся в DB 14100 пользователей, может совместно использоваться устройствами пользователя. Например, когда предварительно определенная видео услуга предоставляется компьютеру 14600 класса ноутбук в ответ на запрос от компьютера 14600 класса ноутбук, история воспроизведения видео услуги сохраняется в DB 14100 пользователей. Когда запрос на воспроизведение этой видео услуги принимается от интеллектуального телефона 14500, сервер 14000 облачных вычислений осуществляет поиск и воспроизводит эту видео услугу, на основании DB 14100 пользователей. Когда интеллектуальный телефон 14500 принимает поток видео данных от сервера 14000 облачных вычислений, процесс воспроизведения видео посредством декодирования потока видео данных аналогичен работе мобильного телефона 12500, описанной выше со ссылкой на Фиг. 24.
Сервер 14000 облачных вычислений может обращаться к истории воспроизведения требуемой видео услуги, хранящейся в DB 14100 пользователей. Например, сервер 14000 облачных вычислений принимает запрос на воспроизведение видео, хранящегося в DB 14100 пользователей, от терминала пользователя. Если это видео воспроизводилось, тогда способ потоковой передачи этого видео, выполняемый сервером 14000 облачных вычислений, может варьироваться в соответствии с запросом от терминала пользователя, т.е., в соответствии с тем, будет ли видео воспроизводиться, начиная с его начала или с его точки временной остановки. Например, если терминал пользователя запрашивает воспроизведение видео, начиная с его начала, сервер 14000 облачных вычислений передает данные потоковой передачи видео, начиная с его первого кадра терминалу пользователя. Если терминал пользователя запрашивает воспроизведение видео, начиная с его точки временной остановки, сервер 1400 облачных вычислений передает данные потоковой передачи видео, начиная с кадра, соответствующего точке временной остановки, терминалу пользователя.
В данном случае, терминал пользователя может включать в себя устройство декодирования видео как описано выше со ссылкой на Фиг. с 1A по 20. В качестве другого примера, терминал пользователя может включать в себя устройство кодирования видео как описано выше со ссылкой на Фиг. с 1A по 20. В качестве альтернативы, терминал пользователя может включать в себя как устройство декодирования видео, так и устройство кодирования как описано выше со ссылкой на Фиг. с 1A по 20.
Различные применения способа кодирования видео, способа декодирования видео, устройства кодирования видео, и устройства декодирования видео в соответствии с одним или более вариантами осуществления, описанными выше со ссылкой на Фиг. с 1A по 20, были описаны выше со ссылкой на Фиг. с 21 по 27. Тем не менее, способы хранения способа кодирования видео и способа декодирования видео на запоминающем носителе информации или способы реализации устройства кодирования видео и устройства декодирования видео в устройстве, в соответствии с различными вариантами осуществления, не ограничиваются вариантами осуществления, описанными выше со ссылкой на Фиг. с 21 по 27.
Несмотря на то, что один или более вариантов осуществления были в частности показаны и описаны со ссылкой на их предпочтительные варианты осуществления, специалистам в соответствующей области техники следует понимать, что различные изменения по форме и в деталях могут быть здесь выполнены, не отступая от сущности и объема изобретения, как определяется нижеследующей формулой изобретения. Варианты осуществления должны рассматриваться лишь в описательном смысле, а не в целях ограничения. Вследствие этого, объем изобретения определяется не подробным описанием изобретения, а нижеследующей формулой изобретения, и все отличия в рамках объема будут толковаться как включенные в один или более вариантов осуществления.