СПОСОБ И УСТРОЙСТВО ДЛЯ ОБРАБОТКИ ВИДЕОСИГНАЛА НА ОСНОВАНИИ ОСНОВАННОГО НА ИСТОРИИ ПРЕДСКАЗАНИЯ ВЕКТОРА ДВИЖЕНИЯ
METHOD AND APPARATUS FOR PROCESSING A VIDEO SIGNAL BASED ON A HISTORY-BASED PREDICTION OF THE MOTION VECTOR

Область техники
[0001] Вариант осуществления изобретения относится к способу и устройству для обработки видеосигнала на основании межкадрового предсказания и, более конкретно, к способу и устройству для выполнения межкадрового предсказания с использованием основанного на истории предсказания вектора движения.
Уровень техники
[0002] Кодирование со сжатием означает ряд методик обработки сигнала для передачи, представленной в цифровой форме, информации посредством линии связи или методик для хранения информации в форме, подходящей для запоминающего носителя информации. Среда, включающая в себя картинку, изображение, аудио и т.д., может быть целью кодирования со сжатием, и, в частности, методика для выполнения кодирования со сжатием над картинкой упоминается как сжатие видеоизображения.
[0003] Предполагается, что содержимое видео следующего поколения обладает характеристиками высокого пространственного разрешения, высокой частотой кадров и высокой размерностью представления сцены. Обработка такого содержимого приведет к резкому увеличению объема памяти, скорости доступа к памяти и мощности обработки.
[0004] Соответственно, требуется разработка инструмента кодирования для эффективной обработки содержимого видео следующего поколения.
Сущность изобретения
Техническая проблема
[0005] Цель варианта осуществления изобретения состоит в том, чтобы предложить ограничения на проверку избыточности для повышения эффективности предсказания при добавлении кандидата HMVP в список кандидатов на слияние (или список кандидатов AMVP).
[0006] Другая цель варианта осуществления изобретения состоит в том, чтобы предложить способ определения размера таблицы HMVP для того, чтобы эффективно применять кандидата HVMV к списку кандидатов на слияние (список кандидатов AMVP).
[0007] Технические цели, которые должны достигаться вариантом осуществления изобретения, не ограничиваются вышеупомянутыми техническими целями, и прочие технические цели, не описанные выше, могут быть несомненно понятны специалисту в соответствующей области техники, к которой относится изобретение, из нижеследующего описания.
Техническое решение
[0008] В аспекте варианта осуществления изобретения, способ обработки видеосигнала на основании основанного на истории предсказания вектора движения может содержать этапы, на которых: конфигурируют список кандидатов на слияние на основании пространственного соседнего блока и временного соседнего блока текущего блока; добавляют основанного на истории кандидата на слияние текущего блока в список кандидатов на слияние; получают индекс слияния, указывающий кандидата на слияние, который используется для межкадрового предсказания текущего блока, в списке кандидатов на слияние, формируют сэмпл предсказания текущего блока на основании информации о движении кандидата на слияние, указанного индексом слияния; и обновляют список основанных на истории кандидатов на слияние на основании информации о движении, при этом основанный на истории кандидат на слияние добавляется в список кандидатов на слияние, когда он обладает информацией о движении, отличной от той, что у предварительно определенного кандидата на слияние из кандидатов на слияние, включенных в список кандидатов на слияние.
[0009] В варианте осуществления, размер списка основанных на истории кандидатов на слияние может быть определен на основании максимального количества кандидатов на слияние в списке кандидатов на слияние.
[0010] В варианте осуществления, размер списка основанных на истории кандидатов на слияние может быть определен как значение, равное 1, которая вычитается из максимального количества кандидатов на слияние в списке кандидатов на слияние.
[0011] В варианте осуществления, размер списка основанных на истории кандидатов на слияние может быть определен как 5.
[0012] В варианте осуществления, основанный на истории кандидат на слияние может быть добавлен в список кандидатов на слияние, когда основанный на истории кандидат на слияние включает в себя информацию о движении, отличную от информации о движения конкретного количества предварительно определенных кандидатов на слияние среди кандидатов на слияние, включенных в список кандидатов на слияние.
[0013] В варианте осуществления, основанный на истории кандидат на слияние может быть добавлен в список кандидатов на слияние, когда основанный на истории кандидат на слияние включает в себя информацию о движении, отличную от информации о движении конкретных пространственных кандидатов на слияние, включенных в список кандидатов на слияние.
[0014] В варианте осуществления, основанный на истории кандидат на слияние может быть извлечен из предварительно определенного количества кандидатов в списке основанных на истории кандидатов на слияние.
[0015] В другом аспекте варианта осуществления, устройство обработки видеосигнала на основании межкадрового предсказания может содержать: память, выполненную с возможностью хранения видеосигналов; и процессор, объединенный с памятью, при этом процессор выполнен с возможностью: конфигурирования списка кандидатов на слияние на основании пространственного соседнего блока и временного соседнего блока текущего блока; добавления основанного на истории кандидата на слияние текущего блока в список кандидатов на слияние; получения индекса слияния, указывающего кандидата на слияние, который используется для межкадрового предсказания текущего блока, в списке кандидатов на слияние; формирования сэмпла предсказания текущего блока на основании информации о движении кандидата на слияние, указанного индексом слияния; и обновления списка основанных на истории кандидатов на слияние на основании информации о движении, при этом основанный на истории кандидат на слияние добавляется в список кандидатов на слияние, когда он обладает информацией о движении, отличной от той, что у предварительно определенного кандидата на слияние из кандидатов на слияние, включенных в список кандидатов на слияние.
Технические результаты
[0016] В соответствии с вариантом осуществления изобретения, сложность в соответствии с проверкой избыточности может быть уменьшена и эффективность сжатия может быть повышена путем ограничения проверки избыточности для добавления в список кандидатов на слияние (или список кандидатов AMVP).
[0017] В соответствии с вариантом осуществления изобретения, нагрузка на память, ассоциированная с хранением таблицы HMVP, может быть уменьшена путем определения размера таблицы HMVP.
[0018] Результаты, которые могут быть получены в изобретении не ограничиваются вышеупомянутыми результатами, и прочие технические результаты, не описанные выше, могут быть несомненно понятны специалисту в соответствующей области техники, к которой относится изобретение, из нижеследующего описания.
Описание чертежей
[0019] Сопроводительные чертежи, которые включены как часть подробного описания для того, чтобы помочь в понимании изобретения, предоставляют варианты осуществления изобретения и описывают технические характеристики изобретения наряду с подробным описанием.
[0020] Фиг. 1 иллюстрирует пример системы кодирования видео в соответствии с вариантом осуществления изобретения.
[0021] Фиг. 2 является вариантом осуществления, к которому применяется изобретение, и является принципиальной структурной схемой устройства кодирования для кодирования видео сигнала/сигнала изображения.
[0022] Фиг. 3 является вариантом осуществления, к которому применяется изобретение, и является принципиальной структурной схемой устройства декодирования для декодирования видеосигнала/сигнала изображения.
[0023] Фиг. 4 показывает пример структурной схемы системы потоковой передачи контента в соответствии с вариантом осуществления изобретения.
[0024] Фиг. 5 показывает пример структурной схемы устройства для обработки видеосигнала в соответствии с вариантом осуществления изобретения.
[0025] Фиг. 6 является примером структуры дробления блока в соответствии с вариантом осуществления изобретения, Фиг. с 6a по 6b соответственно иллюстрируют примеры структур дробления блока в соответствии с квадродеревом (QT), бинарным деревом (BT), тернарным деревом (TT) и ассиметричным деревом (AT).
[0026] Фиг. 7 и 8 являются соответственно основанной на межкадровом предсказании процедурой кодирования видео/изображения и средством межкадрового предсказания в устройстве кодирования в соответствии с вариантом осуществления изобретения.
[0027] Фиг. 9 и 10 являются соответственно основанной на межкадровом предсказании процедурой декодирования видео/изображения и средством межкадрового предсказания в устройстве кодирования в соответствии с вариантом осуществления изобретения.
[0028] Фиг. 11 иллюстрирует пример создания пространственных кандидатов на слияние для текущего блока.
[0029] Фиг. 12 является блок-схемой, иллюстрирующей способ конфигурирования списка кандидатов на слияние в соответствии с вариантом осуществления, к которому применяется изобретение.
[0030] Фиг. 13 является блок-схемой, иллюстрирующей способ конфигурирования списка кандидатов на предсказание (списка кандидатов на MVP) в соответствии с вариантом осуществления, к которому применяется изобретение.
[0031] Фиг. 14 иллюстрирует пример моделей движения в соответствии с вариантом осуществления изобретения.
[0032] Фиг. 15 иллюстрирует пример вектора движения точки управления для аффинного предсказания движения в соответствии с вариантом осуществления изобретения.
[0033] Фиг. 16 иллюстрирует пример вектора движения каждого субблока у блока, к которому было применено аффинное предсказание движения в соответствии с вариантом осуществления изобретения.
[0034] Фиг. 17 иллюстрирует пример соседних блоков, которые используются для аффинного предсказания движения в аффинном режиме слияния в соответствии с вариантом осуществления изобретения.
[0035] Фиг. 18 иллюстрирует пример блока, над которым выполняется аффинное предсказание движения с использованием соседних блоков, к которым было применено аффинное предсказание движения в соответствии с вариантом осуществления изобретения.
[0036] Фиг. 19 является схемой для описания способа формирования списка кандидатов на слияние с использованием соседнего аффинного блока кодирования в соответствии с вариантом осуществления изобретения.
[0037] Фиг. 20 и 21 являются схемами для описания способа создания аффинного списка кандидатов на слияние с использованием соседнего блока, кодированного посредством аффинного предсказания в соответствии с вариантом осуществления изобретения.
[0038] Фиг. 22 иллюстрирует пример соседних блоков, которые используются для аффинного предсказания движения в аффинном межкадровом режиме в соответствии с вариантом осуществления изобретения.
[0039] Фиг. 23 иллюстрирует пример соседних блоков, которые используются для аффинного предсказания движения в аффинном межкадровом режиме в соответствии с вариантом осуществления изобретения.
[0040] Фиг. 24 и 25 являются схемами, иллюстрирующими способ извлечения вектора-кандидата движения с использованием информации о движении соседнего блока в аффинном межкадровом режиме в соответствии с вариантом осуществления изобретения.
[0041] Фиг. 26 иллюстрирует пример аффинного поля вектора движения единицы субблока в соответствии с вариантом осуществления изобретения.
[0042] Фиг. 27 является блок-схемой для описания способа хранения HMVP в соответствии с вариантом осуществления изобретения.
[0043] Фиг. 28 является схемой для описания таблицы HMVP, которая работает согласно дисциплине очереди FIFO без ограничений в соответствии с вариантом осуществления изобретения.
[0044] Фиг. 29 является схемой для описания таблицы HMVP, которая работает согласно дисциплине очереди FIFO с ограничениями в соответствии с вариантом осуществления изобретения.
[0045] Фиг. 30 является схемой, иллюстрирующей HMVP LUT и долгосрочную HMVP LUT в соответствии с вариантом осуществления изобретения.
[0046] Фиг. 31 является схемой, иллюстрирующей пример способа обновления HMVP LUT в соответствии с вариантом осуществления изобретения.
[0047] Фиг. 32 является схемой, иллюстрирующей способ ограничения количества кандидатов HMVP, т.е. цели проверки отсечения, в соответствии с вариантом осуществления изобретения.
[0048] Фиг. 33 является блок-схемой, иллюстрирующей пример способа выполнения проверки отсечения в соответствии с вариантом осуществления изобретения.
[0049] Фиг. 34 является схемой для описания способа извлечения кандидата H-STMVP с использованием векторов движения, которые ссылаются на разные опорные картинки в соответствии с вариантом осуществления изобретения.
[0050] Фиг. 35 является схемой, иллюстрирующей местоположение блока для извлечения унаследованного аффинного кандидата HMVP в соответствии с вариантом осуществления изобретения.
[0051] Фиг. 36 является схемой, иллюстрирующей аффинный список слияния или аффинный список AMVP в соответствии с вариантом осуществления изобретения.
[0052] Фиг. 37 является блок-схемой, иллюстрирующей способ обработки видеосигнала на основании основанного на истории предсказания вектора движения в соответствии с вариантом осуществления, к которому применяется изобретение.
[0053] Фиг. 38 является схемой, схематично показывающей пример системы услуги, включающей в себя цифровое устройство.
[0054] Фиг. 39 является структурной схемой, иллюстрирующей цифровое устройство в соответствии с вариантом осуществления.
[0055] Фиг. 40 является структурной схемой конфигурации, иллюстрирующей другой вариант осуществления цифрового устройства.
[0056] Фиг. 41 является блок-схемой, иллюстрирующей цифровое устройство в соответствии с другим вариантом осуществления.
[0057] Фиг. 42 является структурной схемой, иллюстрирующей подробную конфигурацию блока управления на Фиг. с 39 по 41.
[0058] Фиг. 43 является схемой, иллюстрирующей пример, в котором экран цифрового устройства отображает основное изображение и суб-изображение одновременно, в соответствии с вариантом осуществления.
Вариант осуществления изобретения
[0059] Далее предпочтительные варианты осуществления изобретения будут описаны путем обращения к сопроводительным чертежам. Описание, которое будет представлено ниже с помощью сопроводительных чертежей, служит для описания примерных вариантов осуществления изобретения, и не предназначено для описания единственного варианта осуществления, в котором может быть реализовано изобретение. Описание ниже включает в себя конкретные подробности для того, чтобы обеспечить правильное понимание изобретения. Однако, следует понимать, что изобретение может быть воплощено без конкретных подробностей для специалистов в соответствующей области техники. В некоторых случаях, для того, чтобы исключить неясность технической концепции изобретения, структуры или устройства, которые являются общеизвестными, могут быть опущены, или могут быть изображены в качестве структурной схемы, сосредоточенной на базовых функциях структур или устройств.
[0060] В некоторых случаях, для того чтобы исключить неясность технической концепции изобретения, структуры или устройства, которые являются общеизвестными, могут быть опущены, или могут быть изображены в качестве структурной схемы, сосредоточенной на базовых функциях структур или устройств.
[0061] Кроме того, несмотря на то, что общие понятия, которые широко используются в настоящее время, выбраны в качестве понятий в изобретении насколько это возможно, понятие, которое является произвольно выбранным заявителем, используется в конкретном случае. Поскольку в таком случае значение понятия будет четко описано в соответствующей части описания, следует понимать, что изобретение не будет просто интерпретировано в соответствии с понятиями, которые только используются в описании изобретения, а должно быть выяснено значение понятий.
[0062] Конкретные терминологии, которые используются в описании ниже, могут быть предоставлены, чтобы помочь в понимании изобретения. Кроме того, конкретная терминология может быть модифицирована в других формах в рамках объема технической концепции изобретения. Например, сигнал, данные, сэмпл, картинка, слайс, тайл, кадр, блок и т.д. могут быть надлежащим образом замещены и интерпретированы в каждом процессе кодирования.
[0063] Далее, в данном техническом описании, «единица обработки» означает единицу, в которой выполняется процесс кодирования/декодирования, такой как предсказание, преобразование и/или квантование. Единица обработки может быть истолкована как имеющая значение единицы для компонента яркости и единицы для компонента цветности. Например, единица обработки может соответствовать единице дерева кодирования (CTU), единице кодирования (CU), единице предсказания (PU) или единице преобразования (TU).
[0064] Кроме того, единица обработки может быть истолкована как единица для компонента яркости или единица для компонента цветности. Например, единица обработки может соответствовать блоку дерева кодирования (CTB), блоку кодирования (CB), блоку предсказания (PB) или блоку преобразования (TB) для компонента яркости. В качестве альтернативы, единица обработки может соответствовать блоку дерева кодирования (CTB), блоку кодирования (CB), блоку предсказания (PB) или блоку преобразования (TB) для компонента цветности. Кроме того, изобретение этим не ограничивается и единица обработки может быть истолкована как значение, включающее в себя единицу для компонента яркости и единицу для компонента цветности.
[0065] Кроме того, единица обработки по существу не ограничена квадратным блоком и может быть построена в форме многоугольника с тремя или более вершинами.
[0066] Кроме того, далее, в данном техническом описании, пиксель, элемент картинки, коэффициент (коэффициент преобразования или коэффициент преобразования после преобразования первого порядка) и т.д. в целом называются сэмплом (sample, образцом). Кроме того, использование сэмпла может означать использование значения пикселя, значения элемента картинки, коэффициента преобразования или аналогичного.
[0067]
[0068] Фиг. 1 иллюстрирует пример системы кодирования видео в соответствии с вариантом осуществления изобретения.
[0069] Система кодирования видео может включать в себя исходное устройство 10 и принимающее устройство 20. Исходное устройство 10 может передавать кодированную видеоинформацию/информацию изображения или данные принимающему устройству 20 в файле или формате потоковой передачи посредством запоминающего носителя информации или сети.
[0070] Исходное устройство 10 может включать в себя источник 11 видео, устройство 12 кодирования и передатчик 13. Принимающее устройство 20 может включать в себя приемник 21, устройство 22 декодирования и рендерер 23. Исходное устройство может упоминаться как устройство кодирования видео/изображения, а принимающее устройство может упоминаться как устройство декодирования видео/изображения. Передатчик 13 может быть включен в устройство 12 кодирования. Приемник 21 может быть включен в устройство 22 декодирования. Рендерер может включать в себя дисплей и дисплей может быть сконфигурирован в качестве отдельного устройства или внешнего компонента.
[0071] Источник видео может получать данные видео/изображения посредством процесса захвата, синтеза или формирования видео/изображения. Источник видео может включать в себя устройство захвата видео/изображения и/или устройство формирования видео/изображения. Устройство захвата видео/изображения может включать в себя, например, одну или несколько камер, архив видео/изображения, включающий в себя ранее захваченное видео/изображения, и аналогичное. Устройство формирования видео/изображения может включать в себя, например, компьютер, планшет и смартфон, и может электронным образом формировать данные видео/изображения. Например, данные виртуального видео/изображения могут быть сформированы посредством компьютера или аналогичного, и в данном случае, процесс захвата видео/изображения может быть замещен процессом формирования связанных данных.
[0072] Устройство 12 кодирования может кодировать входное видео/изображение. Устройство 12 кодирования может выполнять ряд процедур, таких как предсказание, преобразование и квантование для сжатия и эффективности кодирования. Кодированные данные (кодированная видеоинформация/информация изображения) могут быть выведены в форме битового потока.
[0073] Передатчик 13 может передавать кодированную видеоинформацию/информацию изображения или данные, которые выводятся в форме битового потока, приемнику принимающего устройства посредством цифрового запоминающего носителя информации или сети в файле или формате потоковой передачи. Цифровые запоминающие носители информации могут включать в себя различные запоминающие носители информации, такие как универсальная последовательная шина, карта памяти формата secure digital SD, компакт-диск CD, цифровой видеодиск DVD, Blu-ray, накопитель на жестком диске HDD твердотельный накопитель SSD. Передатчик 13 может включать в себя элемент для формирования мультимедийного файла посредством предварительно определенного формата файла, и может включать в себя элемент для передачи посредством широковещательной сети/сети связи. Приемник 21 может извлекать битовый поток и передавать его устройству 22 декодирования.
[0074] Устройство 22 декодирования может декодировать данные видео/изображения путем выполнения ряда процедур, таких как обратное квантование, обратное преобразование и предсказание, соответствующих операциям устройства 12 кодирования.
[0075] Рендерер 23 может осуществлять рендеринг декодированного видео/изображения. Видео/изображение после рендеринга может быть отображено посредством дисплея.
[0076]
[0077] Фиг. 2 является вариантом осуществления, к которому применяется изобретение, и является принципиальной структурной схемой устройства кодирования для кодирования видеосигнала/сигнала изображения.
[0078] Обращаясь к Фиг. 2, устройство 100 кодирования может быть выполнено с возможностью включения в себя средства 110 деления изображения, вычитателя 115, преобразователя 120, квантователя 130, обратного квантователя 140, обратного преобразователя 150, сумматора 155, фильтра 160, памяти 170, средства 180 межкадрового предсказания, средства 185 внутрикадрового предсказания и энтропийного кодера 190. Средство 180 межкадрового предсказания и средство 185 внутрикадрового предсказания могут вместе называться средством предсказания. Другими словами, средство предсказания может включать в себя средство 180 межкадрового предсказания и средство 185 внутрикадрового предсказания. Преобразователь 120, квантователь 130, обратный квантователь 140 и обратный преобразователь 150 могут быть включены в процессор остатка. Процессор остатка может дополнительно включать в себя вычитатель 115. В одном варианте осуществления, средство 110 деления изображения, вычитатель 115, преобразователь 120, квантователь 130, обратный квантователь 140, обратный преобразователь 150, сумматор 155, фильтр 160, средство 180 межкадрового предсказания, средство 185 внутрикадрового предсказания и энтропийный кодер 190 могут быть выполнены в виде одного компонента аппаратного обеспечения (например, кодера или процессора). Кроме того, память 170 может быть выполнена в виде компонента аппаратного обеспечения (например, памяти или цифрового запоминающего носителя информации) в варианте осуществления, и может включать в себя буфер декодированных картинок (DPB).
[0079] Средство 110 деления изображения может делить входное изображение (или картинку или кадр), которое вводится в устройство 100 кодирования, на одну или несколько единиц обработки. Например, единица обработки может называться единицей кодирования (CU). В данном случае, единица кодирования может быть рекурсивно раздроблена от единицы дерева кодирования (CTU) или наибольшей единицы кодирования (LCU) на основании структуры квадродерева двоичного дерева (QTBT). Например, одна единица кодирования может быть разбита на множество единиц кодирования большей глубины на основании структуры квадродерева и/или структуры двоичного дерева. В данном случае, например, сначала может быть применена структура квадродерева, а затем может быть применена структура двоичного дерева. В качестве альтернативы, сначала может быть применена структура двоичного дерева. Процедура кодирования в соответствии с изобретением может быть выполнена на основании итоговой единицы кодирования, которая более не дробится. В данном случае, наибольшая единица кодирования может быть непосредственно использована в качестве итоговой единицы кодирования на основании эффективности кодирования в соответствии с характеристикой изображения или единица кодирования может быть рекурсивно раздроблена на единицы кодирования большей глубины, при необходимости. Соответственно, единица кодирования оптимального размера может быть использована в качестве итоговой единицы кодирования. В данном случае, процедура кодирования может включать в себя процедуру, такую как предсказание, преобразование или восстановление, которые будут описаны позже. В качестве другого примера, единица обработки может дополнительно включать в себя единицу предсказания (PU) или единицу преобразования (TU). В данном случае, каждая из единицы предсказания и единицы преобразования могут быть разделены или разбиты из каждой итоговой единицы кодирования. Единица предсказания может быть единицей для предсказания сэмпла, а единица преобразования может быть единицей, из которой извлекается коэффициент преобразования, и/или единицей, в которой остаточный сигнал извлекается из коэффициента преобразования.
[0080] Единица может быть использована взаимозаменяемым образом с блоком или зоной по обстоятельствам. В общем случае M×N блок может указывать набор сэмплов, сконфигурированных с помощью M столбцов и N строк или набор коэффициентов преобразования. В общем, сэмпл может указывать пиксель или значение пикселя, а может указывать только пиксель/значение пикселя компонента яркости или только пиксель/значение пикселя компонента цветности. В сэмпле, одна картинка (или изображение) может быть использована в качестве понятия, соответствующего пикселю или элементу изображения.
[0081] Устройство 100 кодирования может формировать остаточный сигнал (остаточный блок или массив остаточных сэмплов) путем вычитания сигнала предсказания (предсказанного блока или массива сэмплов предсказания), который выводится средством 180 межкадрового предсказания или средством 185 внутрикадрового предсказания, из входного сигнала изображения (исходного блока или массива исходных сэмплов). Сформированный остаточный сигнал передается преобразователю 120. В данном случае, как проиллюстрировано, блок, в котором сигнал предсказания (блок предсказания или массив сэмплов предсказания) вычитается из входного сигнала изображения (исходного блока или массива исходных сэмплов) в устройстве 100 кодирования, может называться вычитателем 115. Средство предсказания может выполнять предсказание для целевого блока обработки (далее упоминается как текущий блок), и может формировать предсказанный блок, включающий в себя сэмплы предсказания, для текущего блока. Средство предсказания может определять, применяется ли внутрикадровое предсказание или межкадровое предсказание в текущем блоке или единице CU. Средство предсказания может формировать различные фрагменты информации касательно предсказания, такие как информация о режиме предсказания, как будет описано позже в описании каждого режима предсказания, и может передавать информацию энтропийному кодеру 190. Информация касательно предсказания может быть кодирована в энтропийном кодере 190 и может быть выведена в форме битового потока.
[0082] Средство 185 внутрикадрового предсказания может предсказывать текущий блок со ссылкой на сэмплы в текущей картинке. Сэмплы, на которые ссылаются, могут быть расположены по соседству с текущим блоком или могут находиться на расстоянии от текущего блока в зависимости от режима предсказания. При внутрикадровом предсказании режимы предсказания могут включать в себя множество не-угловых режимов и множество угловых режимов. Не-угловой режим может включать в себя режим DC и плоский режим, например. Угловой режим может включать в себя 33 угловых режима предсказания или 65 угловых режима предсказания, например, в зависимости от точной степени направления предсказания. В данном случае, угловые режимы предсказания, в количестве большем или меньшем чем 33 угловых режима предсказания или 65 угловых режимов предсказания, могут быть использованы в зависимости от конфигурации, например. Средство 185 внутрикадрового предсказания может определять режим предсказания, который применяется к текущему блоку, с использованием режима предсказания, который применяется к соседнему блоку.
[0083] Средство 180 межкадрового предсказания может извлекать предсказанный блок для текущего блока на основании опорного блока (массива опорных сэмплов), указанного вектором движения в опорной картинке. В данном случае, для того чтобы уменьшить объем информации о движении, которая передается в режиме межкадрового предсказания, информация о движении может быть предсказана как единица блока, субблока или сэмпла на основании корреляции информации о движении между соседним блоком и текущим блоком. Информация о движении может включать в себя вектор движения и индекс опорной картинки. Информация о движении может дополнительно включать в себя информацию о направлении межкадрового предсказания (предсказание L0, предсказание L1, предсказание Bi). В случае межкадрового предсказания, соседний блок может включать в себя пространственный соседний блок в текущей картинке и временной соседний блок в опорной картинке. Опорная картинка, включающая в себя опорный блок, и опорная картинка, включающая в себя временной соседний блок, могут быть одной и той же или могут быть разными. Временной соседний блок может упоминаться в соответствии с названием, которое соответствует совместно-размещенному опорному блоку или совместно-размещенной CU (colCU). Опорная картинка, включающая в себя временной соседний блок, может упоминаться как совместно-размещенная картинка (ColPic). Например, средство 180 межкадрового предсказания может создавать список кандидатов на информацию о движении соседних блоков, и может формировать информацию, указывающую то, какой кандидат используется для извлечения вектора движения и/или индекса опорной картинки текущего блока. Межкадровое предсказание может быть выполнено на основании различных режимов предсказания. Например, в случае режима пропуска и режима слияния, средство 180 межкадрового предсказания может использовать информацию о движении соседнего блока в качестве информации о движении текущего блока. В случае режима пропуска, в отличие от режима слияния, остаточный сигнал может не передаваться. В случае режима предсказания информации о движении (MVP) вектор движения соседнего блока может быть указан путем сигнализации разности вектора движения.
[0084] Сигнал предсказания, сформированный средством 180 межкадрового предсказания или средством 185 внутрикадрового предсказания, может быть использован, чтобы формировать восстановленный сигнал или остаточный сигнал.
[0085] Преобразователь 120 может формировать коэффициенты преобразования путем применения схемы преобразования к остаточному сигналу. Например, схема преобразования может включать в себя по меньшей мере одно из дискретного косинусного преобразования (DCT), дискретного синусного преобразования (DST), преобразования Корунена-Лоева (KLT), основанного на графе преобразования (GBT) или условного нелинейного преобразования (CNT). В данном случае, GBT означает преобразование, полученное из графа, если информация об отношении между пикселями представлена в качестве графа. CNT означает преобразование, полученное на основании сигнала предсказания, сформированного с использованием всех ранее восстановленных пикселей. Кроме того, процесс преобразования может быть применен к блокам пикселей одинакового размера квадратной формы или может быть применен к блокам переменных размеров неквадратной формы.
[0086] Квантователь 130 может квантовать коэффициенты преобразования и передавать их энтропийному кодеру 190. Энтропийный кодер 190 может кодировать квантованный сигнал (информацию касательно квантованных коэффициентов преобразования) и выводить его в форме битового потока. Информация касательно квантованных коэффициентов преобразования может называться остаточной информацией. Квантователь 130 может переупорядочивать квантованные коэффициенты преобразования в форме блока в форму одномерного вектора на основании последовательности сканирования коэффициентов, и может формировать информацию касательно квантованных коэффициентов преобразования на основании квантованных коэффициентов преобразования в форме одномерного вектора. Энтропийный кодер 190 может выполнять различные способы кодирования, такие как экспоненциальное кодирование Голомба, контекстно-зависимое адаптивное кодирование с переменной длиной кодового слова (CAVLC) и контекстно-зависимое адаптивное бинарное арифметическое кодирование (CABAC). Энтропийный кодер 190 может кодировать информацию (например, значения элементов синтаксиса), которая необходима для восстановления видео/изображения, в дополнение к квантованным коэффициентам преобразования, вместе или отдельно. Кодированная информация (например, кодированная видеоинформация/информация изображения) может быть передана или сохранена в единице слоя абстракции сети (NAL) в форме битового потока. Битовый поток может быть передан через сеть или может быть сохранен на цифровом запоминающем носителе информации. В данном случае, сеть может включать в себя широковещательную сеть и/или сеть связи. Цифровой запоминающий носитель информации может включать в себя различные запоминающие носители информации, такие как USB, SD, CD, DVD, Blu-ray, HDD и SSD. Передатчик (не проиллюстрировано), который передает сигнал, который выводится энтропийным кодером 190, и/или хранилищем (не проиллюстрировано) для хранения сигнала, может быть выполнен в виде внутреннего/внешнего элемента устройства 100 кодирования, или передатчик может быть элементом энтропийного кодера 190.
[0087] Квантованные коэффициенты преобразования, которые выводятся квантователем 130, могут быть использованы, чтобы формировать сигнал предсказания. Например, остаточный сигнал может быть восстановлен путем применения обратного квантования и обратного преобразования к квантованным коэффициентам преобразования посредством обратного квантователя 140 и обратного преобразователя 150 в цикле. Сумматор 155 может складывать восстановленный остаточный сигнал с сигналом предсказания, который выводится средством 180 межкадрового предсказания или средством 185 внутрикадрового предсказания, так что может быть сформирован восстановленный сигнал (восстановленная картинка, восстановленный блок или массив восстановленных сэмплов). Предсказанный блок может быть использован в качестве восстановленного блока, если отсутствует остаток для целевого блока обработки, как в случае, когда применялся режим пропуска. Сумматор 155 может называться средством восстановления или генератором блока восстановления. Сформированный восстановленный сигнал может быть использован для внутрикадрового предсказания следующего целевого блока обработки текущей картинки, и может быть использован для межкадрового предсказания следующей картинки посредством фильтрации, как будет описано позже.
[0088] Фильтр 160 может улучшать субъективное/объективное качество картинки путем применения фильтрации к восстановленному сигналу. Например, фильтр 160 может формировать модифицированную восстановленную картинку путем применения различных способов фильтрации к восстановленной картинке. Модифицированная восстановленная картинка может быть сохранена в DPB 170. Различные способы фильтрации могут включать в себя фильтрацию устранения блочности, адаптивное смещение сэмпла, адаптивный контурный фильтр и двусторонний фильтр, например. Фильтр 160 может формировать различные фрагменты информации для фильтрации, как будет описано позже в описании каждого способа фильтрации, и может передавать их энтропийному кодеру 190. Информация о фильтрации может быть кодирована энтропийным кодером 190 и выведена в форме битового потока.
[0089] Модифицированная восставленная картинка, которая передается в DPB 170, может быть использована в качестве опорной картинки в средстве 180 межкадрового предсказания. Устройство кодирования может не допускать несоответствия предсказания в устройстве 100 кодирования и устройстве декодирования и улучшать эффективность кодирования, если применяется межкадровое предсказание.
[0090] DPB 170 может хранить модифицированную восстановленную картинку для того, чтобы использовать модифицированную восстановленную картинку в качестве опорной картинки в средстве 180 межкадрового предсказания.
[0091]
[0092] Фиг. 3 является вариантом осуществления, к которому применяется изобретение, и является принципиальной структурной схемой устройства декодирования для декодирования видеосигнала/сигнала изображения.
[0093] Обращаясь к Фиг. 3, устройство 200 декодирования может быть выполнено с возможностью включения энтропийного декодера 210, обратного квантователя 220, обратного преобразователя 230, сумматора 235, фильтра 240, памяти 250, средства 260 межкадрового предсказания и средства 265 внутрикадрового предсказания. Средство 260 межкадрового предсказания и средство 265 внутрикадрового предсказания могут вместе называться средством предсказания. Т.е. средство предсказания может включать в себя средство 260 межкадрового предсказания и средство 265 внутрикадрового предсказания. Обратный квантователь 220 и обратный преобразователь 230 могут вместе называться процессором остатка. Т.е. процессор остатка может включать в себя обратный квантователь 220 и обратный преобразователь 230. Энтропийный декодер 210, обратный квантователь 220, обратный преобразователь 230, сумматор 235, фильтр 240, средство 260 межкадрового предсказания и средство 265 внутрикадрового предсказания могут быть выполнены в виде одного компонента аппаратного обеспечения (например, декодера или процессора) в соответствии с вариантом осуществления. Кроме того, память 170 может быть выполнена в виде компонента аппаратного обеспечения (например, памяти или цифрового запоминающего носителя информации) в варианте осуществления и может включать в себя буфер декодированных картинок (DPB).
[0094] Когда вводится битовый поток, включающий в себя видеоинформацию/информацию изображения, устройство 200 декодирования может восстанавливать изображение в соответствии с процессом обработки видеоинформации/информации изображения в устройстве кодирования на Фиг. 2. Например, устройство 200 декодирования может выполнять декодирование с использованием единицы обработки, которая применяется в устройстве кодирования. Соответственно, единица обработки для декодирования может быть единицей кодирования, например. Единица кодирования может быть раздроблена от единицы дерева кодирования или наибольшей единицы кодирования в зависимости от структуры квадродерева и/или структуры двоичного дерева. Кроме того, восстановленный сигнал изображения, который декодируется и выводится посредством устройства 200 декодирования, может быть воспроизведен посредством устройства воспроизведения.
[0095] Устройство 200 декодирования может принимать сигнал, который выводится устройством кодирования на Фиг. 1, в форме битового потока. Принятый сигнал может быть декодирован посредством энтропийного декодера 210. Например, энтропийный декодер 210 может извлекать информацию (например, видеоинформацию/информацию изображения) для восстановления изображения (или восстановления картинки) путем анализа битового потока. Например, энтропийный декодер 210 может декодировать информацию в битовом потоке на основании способа кодирования, такого как экспоненциальное кодирование Голомба, CAVLC или CABAC, и может выводить значение элемента синтаксиса для восстановления изображения или квантованные значения коэффициентов преобразования в отношении остатка. Более конкретно, в способе энтропийного декодирования CABAC, бин, соответствующий каждому элементу синтаксиса, может быть принят из битового потока, модель контекста может быть определена с использованием информации о целевом элементе синтаксиса декодирования и информации декодирования соседнего или целевого блока декодирования или информации символа/бина, декодированного на предыдущем этапе, вероятность вхождения бина может быть предсказана на основании определенной модели контекста, и символ, соответствующий значению каждого элемента синтаксиса, может быть сформирован путем выполнения арифметического декодирования над бином. В данном случае, в способе энтропийного декодирования CABAC, после того как определяется модель контекста, модель контекста может быть обновлена путем использования информации символа/бина, декодированного для модели контекста следующего символа/бина. Информация касательно предсказания из информации, декодированной в энтропийном декодере 2110, может быть предоставлена средству предсказания (средству 260 межкадрового предсказания и средству 265 внутрикадрового предсказания). Информация о параметре, связанная с остаточным значением, над которым было выполнено энтропийное декодирование в энтропийном декодере 210, т.е. квантованные коэффициенты преобразования, может быть введена в обратный квантователь 220. Кроме того, информация касательно фильтрации из информации, декодированной энтропийным декодером 210, может быть предоставлена фильтру 240. Между тем, приемник (не проиллюстрировано), который принимает сигнал, который выводится устройством кодирования, может быть дополнительно выполнен в виде внутреннего/внешнего элемента устройства 200 декодирования или приемник может быть элементом энтропийного декодера 210.
[0096] Обратный квантователь 220 может обратно квантовать квантованные коэффициенты преобразования и выводить коэффициенты преобразования. Обратный квантователь 220 может переупорядочивать квантованные коэффициенты преобразования в форму двумерного блока. В данном случае, переупорядочивание может быть выполнено на основании последовательности сканирования коэффициентов, выполненной в устройстве кодирования. Обратный квантователь 220 может выполнять обратное квантование над квантованными коэффициентами преобразования с использованием параметра квантования (например, информации о размере шага квантования) и может получать коэффициенты преобразования.
[0097] Обратный преобразователь 230 может выводить остаточный сигнал (остаточный блок или массив остаточных сэмплов) путем применения обратного преобразования к коэффициентам преобразования.
[0098] Средство предсказания может выполнять предсказание текущего блока и может формировать предсказанный блок, включающий в себя сэмплы предсказания для текущего блока. Средство предсказания может определять, применяется ли внутрикадровое предсказание или межкадровое предсказание к текущему блоку на основании информации касательно предсказания, которая выводится энтропийным декодером 210, и может определять подробный режим внутрикадрового/межкадрового предсказания.
[0099] Средство 265 внутрикадрового предсказания может предсказывать текущий блок со ссылкой на сэмплы в текущей картинке. Сэмплы, на которые ссылаются, могут быть расположены по соседству от текущего блока или могут находиться на расстоянии от текущего блока в зависимости от режима предсказания. При внутрикадровом предсказании, режимы предсказания могут включать в себя множество не-угловых режимов и множество угловых режимов. Средство 265 внутрикадрового предсказания может определять режим предсказания, который применяется к текущему блоку, путем использования режима предсказания, который применяется к соседнему блоку.
[0100] Средство 260 межкадрового предсказания может извлекать предсказанный блок для текущего блока на основании опорного блока (массива опорных сэмплов), указанного вектором движения в опорной картинке. В данном случае, для того чтобы уменьшить объем информации о движении, которая передается в режиме межкадрового предсказания, информация о движении может быть предсказана как единица блока, субблока или сэмпла на основании корреляции информации о движении между соседним блоком и текущим блоком. Информация о движении может включать в себя вектор движения и индекс опорной картинки. Информация о движении может дополнительно включать в себя информацию о направлении межкадрового предсказания (предсказание L0, предсказание L1, предсказание Bi). В случае межкадрового предсказания, соседний блок может включать в себя пространственный соседний блок в текущей картинке и временной соседний блок в опорной картинке. Например, средство 260 межкадрового предсказания может конфигурировать список кандидатов на информацию о движении соседних блоков, и может извлекать вектор движения и/или индекс опорной картинки текущего блока на основании принятой информации о выборе кандидата. Межкадровое предсказание может быть выполнено на основании различных режимов предсказания. Информация касательно предсказания может включать в себя информацию, указывающую режим межкадрового предсказания текущего блока.
[0101] Сумматор 235 может формировать восстановленный сигнал (восстановленную картинку, восстановленный блок или массив восстановленных сэмплов) путем сложения полученного остаточного сигнала с сигналом предсказания (предсказанным блоком или массивом сэмплов предсказания), который выводится средством 260 межкадрового предсказания или средством 265 внутрикадрового предсказания. Предсказанный блок может быть использован в качестве восстановленного блока, если отсутствует остаток для целевого блока обработки, как в случае, когда применялся режим пропуска.
[0102] Сумматор 235 может называться средством восстановления или генератором восстановленного блока. Сформированный восстановленный сигнал может быть использован для внутрикадрового предсказания следующего целевого блока обработки в текущей картинке, и может быть использован для межкадрового предсказания следующей картинки посредством фильтрации, как будет описано позже.
[0103] Фильтр 240 может улучшать субъективное/объективное качество картинки путем применения фильтрации к восстановленному сигналу. Например, фильтр 240 может формировать модифицированную восстановленную картинку путем применения различных способов фильтрации к восстановленной картинке и может передавать модифицированную восстановленную картинку DPB 250. Различные способы фильтрации могут включать в себя фильтрацию устранения блочности, адаптивное смещение сэмпла SAO, адаптивный контурный фильтр ALF и двусторонний фильтр, например.
[0104] Восставленная (модифицированная) картинка, которая передается в DPB 250, может быть использована в качестве опорной картинки в средстве 260 межкадрового предсказания.
[0105] В изобретении, варианты осуществления, описанные в фильтре 160, средстве 180 межкадрового предсказания и средстве 185 внутрикадрового предсказания устройства 100 кодирования, могут быть применены к фильтру 240, средству 260 межкадрового предсказания и средству 265 внутрикадрового предсказания устройства 200 декодирования, соответственно, идентично или в соответствии.
[0106]
[0107] Фиг. 4 показывает пример структурной схемы системы потоковой передачи контента в соответствии с вариантом осуществления изобретения.
[0108] Система потоковой передачи контента, к которой применяется изобретение, может в значительной степени включать в себя сервер 410 кодирования, сервер 420 потоковой передачи, веб-сервер 430, хранилище 440 мультимедиа, устройство 450 пользователя и мультимедийное устройство 460 ввода.
[0109] Сервер 410 кодирования может сжимать контент, который вводится от мультимедийных устройств ввода, таких как смартфон, камера, видеокамера и т.д., в цифровые данные, чтобы сформировать битовый поток и передать его серверу 420 потоковой передачи. В качестве другого примера, когда мультимедийные устройства 460 ввода, такие как смартфон, камера или видеокамера, непосредственно формируют битовый поток, сервер 410 кодирования может быть опущен.
[0110] Битовый поток может быть сформирован способом кодирования или способом формирования битового потока, к которому применяется изобретение, и сервер 420 потоковой передачи может временно сохранять битовый поток в процессе передачи или приема битового потока.
[0111] Сервер 420 потоковой передачи передает мультимедийные данные устройству 450 пользователя по запросу пользователя через веб-сервер 430, и веб-сервер 430 служит в качестве посредника для информирования пользователя о том, какая услуга присутствует. Когда пользователь запрашивает требуемую услугу через веб-сервер 430, веб-сервер 430 доставляет запрос серверу 420 потоковой передачи, и сервер 420 потоковой передачи передает мультимедийные данные пользователю. В это время, система потоковой передачи контента может включать в себя отдельный сервер управления, и в этом случае сервер управления служит для управления командами/ответами между устройствами в системе потоковой передачи контента.
[0112] Сервер 420 потоковой передачи может принимать контент от хранилища 440 мультимедиа и/или сервера 410 кодирования. Например, сервер 420 потоковой передачи может принимать контент в режиме реального времени от сервера 410 кодирования. В данном случае, для того чтобы обеспечить непрерывную услугу потоковой передачи, сервер 420 потоковой передачи может сохранять битовый поток в течение предварительно определенного времени.
[0113] Например, устройство 450 пользователя может включать в себя мобильный телефон, смартфон, компьютер класса лэптоп, терминал для цифрового вещания, персональный цифровой помощник PDA, портативный мультимедийный проигрыватель PMP, терминал навигации, плоский ПК, планшетный ПК, ультрабук, носимое устройство (например, интеллектуальные наручные часы), интеллектуальные очки, шлем-дисплей HMD, цифровой ТВ, настольный компьютер и цифровую вывеску.
[0114] Каждый сервер в системе потоковой передачи контента может работать как распределенный сервер, и в этом случае данные, принятые от каждого сервера, могут быть обработаны распределенным образом.
[0115]
[0116] Фиг. 5 показывает пример структурной схемы устройства для обработки видеосигнала в соответствии с вариантом осуществления изобретения. Устройство обработки видеосигнала может соответствовать устройству кодирования 100 на Фиг. 2 или устройству декодирования 200 на Фиг. 3.
[0117] Устройство 500 обработки видеосигнала в соответствии с вариантом осуществления изобретения может включать в себя память 520 для хранения видеосигнала, и процессор 510 для обработки видеосигнала, при том будучи объединенным с памятью 520.
[0118] Процессор 510 в соответствии с вариантом осуществления изобретения может быть выполнен в виде по меньшей мере одной схемы обработки для обработки видеосигнала, и может обрабатывать видеосигнал путем исполнения инструкций для кодирования или декодирования видеосигнала. Т.е. процессор 510 может кодировать исходный видеосигнал или декодировать кодированный видеосигнал путем исполнения способов кодирования или декодирования, описанных ниже.
[0119]
[0120] Фиг. 6 является примером структуры дробления блока в соответствии с вариантом осуществления изобретения, Фиг. с 6a по 6d иллюстрируют примеры структур дробления блока в соответствии с квадродеревом (QT), двоичным деревом (BT), тернарным деревом (TT) и ассиметричным деревом (AT).
[0121] При кодировании видео один блок может быть раздроблен на основании QT. Также один субблок, раздробленный посредством QT, может быть дополнительно рекурсивно раздроблен с использованием QT. Листовой блок, который более не дробиться в соответствии с QT, может быть раздроблен посредством по меньшей мере одного из BT, TT или AT. BT может иметь два типа дробления: горизонтальное BT (2N×N, 2N×N) и вертикальное BT (N×2N, N×2N). TT может иметь два типа дробления: горизонтальное TT (2N×1/2N, 2N×N, 2N×1/2N) и вертикальное TT (1/2N×2N, N×2N, 1/2N×2N). AT может иметь четыре типа дробления: горизонтальное верхнее AT (2N×1/2N, 2N×3/2N), горизонтальное нижнее AT (2N×3/2N, 2N×1/2N), вертикальное левое AT (1/2N×2N, 3/2N×2N), вертикальное правое AT (3/2N×2N, 1/2N×2N). Каждое из BT, TT, AT может быть дополнительно рекурсивно раздроблено с использованием BT, TT, AT.
[0122] Фиг. 6A показывает примерное разбиение QT. Блок A может быть разбит на четыре субблока A0, A1, A2 и A3 посредством QT. Субблок A1 может быть разбит на четыре субблока B0, B1, B2 и B3 вновь посредством QT.
[0123] Фиг. 6B показывает пример разбиения BT. Блок B3, который более не дробиться посредством QT, может быть раздроблен на вертикальное BT (C0, С1) или горизонтальное BT (D0, D1). Как блок C0, каждый субблок может быть дополнительно рекурсивно раздроблен в форме горизонтального BT (E0, E1) или вертикального BT (F0, F1).
[0124] Фиг. 6C показывает пример разбиения TT. Блок B3, который более не дробится посредством QT, может быть раздроблен на вертикальное TT (C0, C1, C3) или горизонтальное TT (D0, D1, D2). Как блок C1, каждый субблок может быть дополнительно рекурсивно раздроблен в форме горизонтального TT (E0, E1, E2) или вертикального TT (F0, F1, F2).
[0125] Фиг. 6D показывает пример разбиения AT. Блок B3, который более не дробится посредством QT, может быть раздроблен на вертикальное AT (C0, C1) или горизонтальное AT (D0, D1). Как блок C1, каждый субблок может быть дополнительно рекурсивно раздроблен в форме горизонтального AT (E0, E1) или вертикального TT (F0, F1).
[0126] Между тем, BT, TT и AT разбиения могут быть объединены. Например, субблок, раздробленный посредством BT, может быть раздроблен посредством TT или AT. В дополнение, субблок, раздробленный посредством TT, может быть раздроблен посредством BT или AT. Субблок, раздробленный посредством AT, может быть раздроблен посредством BT или TT. Например, после горизонтального дробления BT, каждый субблок может быть раздроблен на вертикальное BT, или после вертикального дробления BT, каждый субблок может быть раздроблен на горизонтальное BT. Два типа способов дробления имеют разную очередность дробления, но итоговая форма дробления является одной и той же.
[0127] Кроме того, когда блок дробится, очередность, в которой осуществляется поиск блока, может быть определена по-разному. В целом, операция поиска выполняется слева направо и сверху вниз. Поиск блока может означать очередность определения, дробить ли дополнительно каждый субблок, или очередность кодирования соответствующих субблоков, когда блок более не дробится, или очередность поиска, когда субблоки ссылаются на информацию других соседних блоков.
[0128]
[0129] Фиг. 7 и 8 являются соответственно основанной на межкадровом предсказании процедурой кодирования видео/изображения и средством межкадрового предсказания в устройстве кодирования в соответствии с вариантом осуществления изобретения.
[0130] Устройство 100 кодирования выполняет межкадровое предсказание текущего блока (S710). Устройство 100 кодирования может извлекать режим межкадрового предсказания и информацию о движении текущего блока, и может формировать сэмплы предсказания текущего блока. В данном случае, процедуры определения режима межкадрового предсказания, извлечения информации о движении и формирования сэмпла предсказания могут быть выполнены одновременно, и любая из процедур может быть выполнена перед другой процедурой. Например, средство 180 межкадрового предсказания устройства 100 кодирования может включать в себя блок 181 определения режима предсказания, блок 182 извлечения информации о движении или блок 183 извлечения сэмпла предсказания. Блок 181 определения режима предсказания может определять режим предсказания для текущего блока. Блок 182 извлечения информации о движении может извлекать информацию о движении текущего блока. Блок 183 извлечения сэмпла предсказания может извлекать сэмплы предсказания текущего блока. Например, средство 180 межкадрового предсказания устройства 100 кодирования может осуществлять поиск заданной зоны (зона поиска) в опорных картинках в отношении блока, аналогичного текущему блоку, посредством оценки движения, и может извлекать опорный блок с минимальной разностью или разностью заданного эталона или меньше по отношению к текущему блоку. Средство 180 межкадрового предсказания может извлекать индекс опорной картинки, указывающий опорную картинку, в которой располагается опорный блок, на основании опорного блока, и может извлекать вектор движения на основании разницы в местоположении между опорным блоком и текущим блоком. Устройство 100 кодирования может определять режим, который применяется к текущему блоку из различных режимов предсказания. Устройство кодирования может сравнивать стоимости RD для различных режимов предсказания, и может определять оптимальный режим предсказания для текущего блока.
[0131] Например, если применяется режим пропуска или режим слияния к текущему блоку, то устройство 100 кодирования может конфигурировать список кандидатов на слияние, который будет описан позже, и может извлекать опорный блок с минимальной разностью или разность заданного эталона или меньше по отношению к текущему блоку среди опорных блоков, указанных кандидатами на слияние, которые включены в список кандидатов на слияние. В данном случае, может быть выбран кандидат на слияние, ассоциированный с извлеченным опорным блоком. Информация об индексе слияния, указывающая выбранного кандидата на слияние, может быть сформирована и просигнализированы устройству 200 декодирования. Информация о движении текущего блока может быть извлечена с использованием информации о движении выбранного кандидата на слияние.
[0132] Например, если режим (A)MVP применяется к текущему блоку, то устройство кодирования может конфигурировать список кандидатов (A)MVP, который будет описан позже, и может использовать вектор движения кандидата на предсказатель вектора движения (mvp), выбранного среди кандидатов на mvp, включенных в список кандидатов (A)MVP, в качестве mvp текущего блока. В данном случае, например, вектор движения, указывающий опорный блок, извлеченный путем оценки движения, может быть использован в качестве вектора движения текущего блока. Кандидат на mvp, включающий в себя вектор движения с наименьшей разностью по отношению к вектору движения текущего блока, среди кандидатов на mvp, может стать выбранным кандидатом на mvp. Может быть извлечена разность векторов движения (MVD), т.е. разность, полученная путем вычитания mvp из вектора движения текущего блока. В данном случае, информация о MVD может быть просигнализирована устройству 100 декодирования. Кроме того, если применяется режим (A)MVP, то значение индекса опорной картинки может быть сконфигурировано в качестве информации об индексе опорной картинки и может быть отдельно просигнализирована устройству декодирования.
[0133] Устройство 100 кодирования может извлекать остаточные сэмплы на основании сэмплов предсказания (S720). Устройство 100 кодирования может извлекать остаточные сэмплы посредством сравнения исходных сэмплов текущего блока и сэмплов предсказания.
[0134] Устройство 100 кодирования кодирует информацию изображения, включающую в себя информацию предсказания и остаточную информацию (S730). Устройство кодирования может выводить кодированную информацию изображения в форме битового потока. Информация предсказания может включать в себя информацию касательно информации о режиме предсказания (например, флаг пропуска, флаг слияния или индекс режима) и информацию о движении в качестве информации связанной с процедурой предсказания. Информация, связанная с информацией о движении, может включать в себя информацию о выборе кандидата (например, индекс слияния, флаг mvp или индекс mvp), т.е. информацию для извлечения вектора движения. Кроме того, информация, связанная с информацией о движении, может включать в себя информацию касательно MVD и/или информацию об индексе опорной картинки. Кроме того, информация, связанная с информацией о движении, может включать в себя информацию, указывающую, применяется ли предсказание L0, предсказание L1 или би-предсказание. Остаточная информация является информацией касательно остаточных сэмплов. Остаточная информация может включать в себя информацию касательно квантованных коэффициентов преобразования для остаточных сэмплов.
[0135] Выходной битовый поток может быть сохранен на (цифровом) запоминающем носителе информации и передан устройству декодирования, или может быть передан устройству декодирования через сеть.
[0136] Между тем, как описано выше, устройство кодирования может формировать восстановленную картинку (включая восстановленные сэмплы и восстановленный блок) на основании опорных сэмплов и остаточных сэмплов. Это служит для извлечения, в устройстве 100 кодирования, тех же самых результатов предсказания, как те, что выполняются в устройстве 200 декодирования. Соответственно, эффективность кодирования может быть улучшена. Соответственно, устройство 100 кодирования может сохранять восстановленную картинку (или восстановленные сэмплы и восстановленный блок) в памяти, и может использовать восстановленную картинку в качестве опорной картинки для межкадрового предсказания. Как описано выше, процедура внутриконтурной фильтрации может быть дополнительно применена к восстановленной картинке.
[0137]
[0138] Фиг. 9 и 10 являются соответственно основанной на межкадровом предсказании процедурой декодирования видео/изображения и средством межкадрового предсказания в устройстве декодирования в соответствии с вариантом осуществления изобретения.
[0139] Устройство 200 декодирования может выполнять операцию, соответствующую операции, которая выполняется в устройстве 100 кодирования. Устройство 200 декодирования может выполнять предсказание касательно текущего блока на основании принятой информации предсказания, и может извлекать сэмплы предсказания.
[0140] В частности, устройство 200 декодирования может определять режим предсказания для текущего блока на основании принятой информации предсказания (S910). Устройство 200 декодирования может определять, какой режим межкадрового предсказания применяется к текущему блоку, на основании информации о режиме предсказания в информации предсказания.
[0141] Например, устройство 200 декодирования может определять, применяется ли режим слияния или режим (A)MVP к текущему блоку на основании флага слияния. В качестве альтернативы, устройство 200 декодирования может выбирать одного из различных кандидатов на режим межкадрового предсказания на основании индекса режима. Кандидаты на режим межкадрового предсказания могут включать в себя режим пропуска, режим слияния и/или режим (A)MVP и могут включать в себя различные режимы межкадрового предсказания, которые будут описаны позже.
[0142] Устройство 200 декодирования извлекает информацию о движении текущего блока на основании определенного режима межкадрового предсказания (S920). Например, если режим пропуска или режим слияния применяется к текущему блоку, то устройство 200 декодирования может конфигурировать список кандидатов на слияние, который будет описаны позже, и выбирать одного из кандидатов на слияние, включенных в список кандидатов на слияние. Выбор кандидата на слияние может быть выполнен на основании индекса слияния. Информация о движении текущего блока может быть извлечена из информации движения выбранного кандидата на слияние. Информация о движении выбранного кандидата на слияние может быть использована в качестве информации о движении текущего блока.
[0143] В качестве другого примера, если режим (A)MVP применяется к текущему блоку, то устройство 200 декодирования может конфигурировать список кандидатов (A)MVP, который будет описан позже, и может использовать вектор движения кандидата на предсказатель вектора движения (mvp), выбранного среди кандидатов на mvp, включенных в список кандидатов (A)MVP, в качестве mvp текущего блока. Выбор может быть выполнен на основании информации о выборе (флаг mvp или индекс mvp). В данном случае, устройство 200 декодирования может извлекать MVD текущего блока на основании информации касательно MVD. Устройство декодирования может извлекать вектор движения текущего блока на основании mvp текущего блока и MVD. Кроме того, устройство декодирования может извлекать индекс опорной картинки текущего блока на основании информации об индексе опорной картинки. Картинка, указанная индексом опорной картинки в списке опорных картинок, в отношении текущего блока, может быть извлечена в качестве опорной картинки, на которую ссылаются для межкадрового предсказания текущего блока.
[0144] Между тем, как будет описано позже, информация о движении текущего блока может быть извлечена без конфигурации списка кандидатов. В данном случае, информация о движении текущего блока может быть извлечена в соответствии с процедурой, раскрытой в режиме предсказания, который будет описан позже. В данном случае, конфигурация списка кандидатов, такая как та, что описана выше, может быть опущена.
[0145] Устройство 200 декодирования может формировать сэмплы предсказания для текущего блока на основании информации о движении текущего блока (S930). В данном случае, устройство 200 декодирования может извлекать опорную картинку на основании индекса опорной картинки текущего блока, и может извлекать сэмплы предсказания текущего блока, указанные касательно опорной картинки посредством вектора движения текущего блока. В данном случае, как будет описано позже, процедура фильтрации сэмплов предсказания может быть дополнительно выполнена касательно некоторых или всех сэмплов предсказания текущего блока в соответствии с обстоятельствами.
[0146] Например, средство 260 межкадрового предсказания устройства 200 декодирования может включать в себя блок 261 определения режима предсказания, блок 262 извлечения информации о движении и блок 263 извлечения сэмпла предсказания. Устройство 200 декодирования может определять режим предсказания текущего блока на основании информации о режиме предсказания, принятой от блока 261 определения режима предсказания, может извлекать информацию о движении (вектор движения и/или индекс опорной картинки) текущего блока на основании информации, связанной с информацией о движении, принятой от блока 262 извлечения информации о движении. Блок 263 извлечения сэмпла предсказания может извлекать сэмплы предсказания текущего блока.
[0147] Устройство 200 декодирования формирует остаточные сэмплы для текущего блока на основании принятой остаточной информации (S940). Устройство 200 декодирования может формировать восстановленные сэмплы для текущего блока на основании сэмплов предсказания и остаточных сэмплов, и может формировать восстановленную картинку на основании восстановленных сэмплов (S950). Затем, как описано выше, процедура внутриконтурной фильтрации может быть дополнительно применена к восстановленной картинке.
[0148] Как описано выше, процедура межкадрового предсказания может включать в себя этап определения режима межкадрового предсказания, этап извлечения информации о движении в соответствии с определенным режимом предсказания, и этап исполнения предсказания (формирования сэмпла предсказания) на основании извлеченной информации о движении.
[0149]
[0150] Определение режима межкадрового предсказания
[0151] Различные режимы межкадрового предсказания могут быть использованы для предсказания текущего блока в картинке. Например, могут быть использованы различные режимы, такие как режим слияния, режим пропуска, режим MVP и аффинный режим. Режим уточнения вектора движения на стороне декодера (DMVR), режим адаптивного разрешения вектора движения (AMVR) и т.д. могут быть дополнительно использованы в качестве дополнительных режимов. Аффинный режим может упоминаться как режим аффинного предсказания движения. Режим MVP может упоминаться как режим усовершенствованного предсказания вектора движения (AMVP).
[0152] Информация о режиме предсказания, указывающая режим межкадрового предсказания текущего блока, может быть просигнализирована от устройства кодирования устройству декодирования. Информация о режиме предсказания может быть включена в битовый поток и принята устройством декодирования. Информация о режиме предсказания может включать в себя информацию об индексе, указывающую один из нескольких режимов-кандидатов. В качестве альтернативы, режим межкадрового предсказания может быть указан посредством иерархической сигнализации информации флага. В данном случае, информация о режиме предсказания может включать в себя один или несколько флагов. Например, флаг может быть дополнительно просигнализирован для того, чтобы указать, применяется ли режим пропуска, путем сигнализации флага пропуска, чтобы указать, применяется ли режим слияния, путем сигнализации флага слияния, если режим пропуска не применяется, и чтобы указать, что применяется режим MVP, если режим слияния не применяется или для дополнительного указания. Аффинный режим может быть просигнализирован в качестве независимого режима и может быть просигнализирован в качестве режима зависимого от режима слияния или режима MVP. Например, аффинный режим может быть сконфигурирован в качестве одного из списка кандидатов на слияние или списка кандидатов на MVP, как будет описано позже.
[0153]
[0154] Извлечение информации о движении в соответствии с режимом межкадрового предсказания
[0155] Устройство 100 кодирования или устройство 200 декодирования может выполнять межкадровое предсказание с использованием информации текущего блока. Устройство 100 кодирования может извлекать оптимальную информацию о движении для текущего блока в соответствии с процедурой оценки движения. Например, устройство 100 кодирования может осуществлять поиск опорного блока с подобной корреляцией с использованием исходного блока в исходной картинке для текущего блока в дробных единицах пикселя в рамках определенного диапазона поиска в опорной картинке. Соответственно, устройство кодирования может извлекать информацию о движении. Подобие блока может быть извлечено на основании разности между основанными на фазе значениями сэмплов. Например, подобие блока может быть вычислено на основании SAD (Сумма Абсолютных Разностей) между текущим блоком (или шаблоном текущего блока) и опорным блоком (или шаблоном опорного блока). В данном случае, информация о движении может быть извлечена на основании опорного блока с наименьшей SAD в рамках зоны поиска. Извлеченная информация о движении может быть просигнализирована устройству декодирования с использованием нескольких способов, основанных на режиме межкадрового предсказания.
[0156]
[0157] Режим слияния и режим пропуска
[0158] Если применяется режим слияния, то информация о движении текущего блока предсказания непосредственно не передается, и информация о движении текущего блока предсказания извлекается с использованием информации о движении соседнего блока предсказания. Соответственно, устройство 100 кодирования может указывать информацию о движении текущего блока предсказания путем передачи информации флага, чтобы уведомить о том, что режим слияния был использован, и индекс слияния, чтобы уведомить о том, какой соседний блок предсказания был использован.
[0159] Устройство 100 кодирования должно осуществлять поиск блока-кандидата на слияние, используемого для извлечения информации о движении текущего блока предсказания, для того, чтобы выполнить режим слияния. Например, может быть использовано максимум 5 блоков-кандидатов на слияние, но изобретение этим не ограничено. Кроме того, максимальное количество блоков-кандидатов на слияние может быть передано в заголовке слайса, и изобретение этим не ограничено. После поиска блоков-кандидатов на слияние, устройство 100 кодирования может формировать список кандидатов на слияние, и может выбирать блок-кандидат на слияние с наименьшей стоимостью, среди блоков-кандидатов на слияние, в качестве итогового блока-кандидата на слияние.
[0160] Вариант осуществления изобретения предоставляет различные варианты осуществления блоков-кандидатов на слияние, создающих список кандидатов на слияние.
[0161] Список кандидатов на слияние может использовать 5 блоков-кандидатов на слияние, например. Например, может быть использовано 4 пространственных кандидатов на слияние и 1 временной кандидат на слияние.
[0162]
[0163] Фиг. 11 иллюстрирует пример создания пространственных кандидатов на слияние для текущего блока.
[0164] Обращаясь к Фиг. 11, для предсказания текущего блока, может быть использован по меньшей мере один из левого соседнего блока A1, нижнего левого соседнего блока A2, верхнего правого соседнего блока B0, верхнего соседнего блока B1 и верхнего левого соседнего B2. Список кандидатов на слияние для текущего блока может быть сконфигурирован на основании процедуры, показанной на Фиг. 12.
[0165]
[0166] Фиг. 12 является блок-схемой, иллюстрирующей способ конфигурирования списка кандидатов на слияние в соответствии с вариантом осуществления, к которым применяется изобретение.
[0167] Устройство кодирования (устройство 100 кодирования или устройство 200 декодирования) осуществляет поиск пространственных соседних блоков текущего блока и вставляет извлеченных пространственных кандидатов на слияние в список кандидатов на слияние (S1210). Например, пространственные соседние блоки могут включать в себя нижний левый угловой соседний блок, левый соседний блок, верхний правый угловой соседний блок, верхний соседний блок и верхний левый угловой соседний блок текущего блока. В данном случае, это пример, и дополнительные соседние блоки, такие как правый соседний блок, нижний соседний блок и нижний правый соседний блок, в дополнение к пространственным соседним блокам, могут быть дополнительно использованы в качестве пространственных соседних блоков. Устройство кодирования может обнаруживать доступные блоки путем поиска пространственных соседних блоков на основании приоритета, и может извлекать информацию о движении обнаруженных блоков в качестве пространственных кандидатов на слияние. Например, устройство 100 кодирования или устройство 200 декодирования может осуществлять поиск 5 блоков, проиллюстрированных на Фиг. 11 в последовательности A1, B1, B0, A0 и B2, и может конфигурировать список кандидатов на слияние путем последовательной индексации доступных кандидатов.
[0168] Устройство кодирования осуществляет поиск временного соседнего блока текущего блока и вставляет извлеченного временного кандидата на слияние в список кандидатов на слияние (S1220). Временной соседний блок может быть расположен в опорной картинке, т.е. картинке отличной от текущей картинки, у которой располагается текущий блок. Опорная картинка, в которой располагается временной соседний блок, может называться совместно-размещенной картинкой или col-картинкой. Поиск временного соседнего блока может быть осуществлен в последовательности нижнего правого углового соседнего блока и нижнего правого центрального блока у совместно-размещенного блока текущего блока в col-картинке. Между тем, если применяется сжатие данных движения, то конкретная информация о движении может быть сохранена в col-картинке в качестве репрезентативной информации о движении для каждой заданной единицы хранения. В данном случае, нет необходимости хранить информацию о движении для всех блоков в заданной единице хранения, и таким образом может быть получен результат сжатия данных движения. В данном случае, заданная единица хранения может быть предварительно определена как 16×16 единица сэмплов или 8×8 единица сэмплов, например, или информация о размере для заданной единицы хранения может быть просигнализирована от устройства 100 кодирования устройству 200 декодирования. Если применяется сжатие данных движения, то информация о движении временного соседнего блока может быть замещена репрезентативной информацией о движении заданной единицы хранения, в которой располагается временной соседний блок. Т.е. в данном случае, в аспекте реализации, после того, как арифметический сдвиг вправо выполняется на заданное значение на основании координат (верхняя левая позиций сэмпла) временного соседнего блока, а не блока предсказания, в котором располагаются координаты временного соседнего блока, временной кандидат на слияние может быть извлечен на основании информации о движении блока предсказания, который охватывает местоположение с арифметическим сдвигом влево. Например, если заданная единица хранения соответствует 2n×2n единице сэмплов, предполагая, что координаты временного соседнего блока соответствуют (xTnb, yTnb), то информация о движении блока предсказания, расположенного в ((xTnb>>n)<<n), (yTnb>>n)<<n)), т.е. модифицированном местоположении, может быть использована для временного кандидата на слияние. В частности, например, если заданная единица хранения соответствует 16×16 единице сэмплов, предполагая, что координаты временного соседнего блока соответствуют (xTnb, yTnb), то информация о движении блока предсказания, расположенного в ((xTnb>>4)<<4), (yTnb>>4)<<4)), т.е. модифицированном местоположении, может быть использована для временного кандидата на слияние. В качестве альтернативы, например, если заданная единица хранения соответствует 8×8 единице сэмплов, предполагая, что координаты временного соседнего блока соответствуют (xTnb, yTnb), то информация о движении блока предсказания, расположенного в ((xTnb>>3)<<3), (yTnb>>3)<<3)), т.е. модифицированном местоположении, может быть использована для временного кандидата на слияние.
[0169] Устройство кодирования может проверять, является ли текущее количество кандидатов на слияние меньше максимального количества кандидатов на слияние (S1230). Максимальное количество кандидатов на слияние может быть предварительно определено или может быть просигнализировано от устройства 100 кодирования устройству 200 декодирования. Например, устройство 100 кодирования может формировать информацию касательно максимального количества кандидатов на слияние, может кодировать информацию, и может передавать информацию устройству 200 декодирования в форме битового потока. Если максимальное количество кандидатов на слияние заполнено, процесс добавления кандидата может не выполняться.
[0170] Если, в результате проверки, текущее количество кандидатов на слияние меньше максимального количества кандидатов на слияние, то устройство кодирования вставляет добавленного кандидата на слияние в список кандидатов на слияние (S1240). Добавленный кандидат на слияние может включать в себя ATMVP (Адаптивное Временное Предсказание Вектора Движения), объединенного би-предсказывающего кандидата на слияние (если тип слайса у текущего слайса соответствует типу B) и/или кандидата на слияние нулевого вектора, например.
[0171]
[0172] Фиг. 13 является блок-схемой, иллюстрирующей способ конфигурирования списка кандидатов на предсказание (список кандидатов на MVP) в соответствии с вариантом осуществления, к которому применяется изобретение.
[0173] Если применяется режим предсказания вектора движения (MVP), то список кандидатов на предсказателя вектора движения (mvp) может быть сформирован на основании вектора движения восстановленного пространственного соседнего блока (например, соседнего блока, описанного на Фиг. 11) и/или вектора движения, соответствующего временному соседнему блоку (или Col блоку). Т.е., вектор движения восстановленного пространственного соседнего блока и/или вектор движения временного соседнего блока может быть использован в качестве кандидата на предсказатель вектора движения. Информация касательно предсказания может включать в себя информацию о выборе (например, флаг MVP или индекс MVP), указывающую оптимального кандидата на предсказателя вектора движения, выбранного среди кандидатов на предсказателя вектора движения, включенных в список. В данном случае, средство предсказания может выбирать предсказатель вектора движения текущего блока, среди кандидатов на предсказателя вектора движения, включенных в список кандидатов на вектор движения, с использованием информации о выборе. Средство предсказания устройства 100 кодирования может вычислять разность векторов движения (MVD) между вектором движения текущего блока и предсказателем вектора движения, может кодировать MVD и может выводить закодированную MVD в форме битового потока. Т.е. MVD может быть вычислена в качестве значения, полученного путем вычитания предсказателя вектора движения из вектора движения текущего блока. В данном случае, средство предсказания устройства декодирования может получать разность векторов движения, включенную в информацию касательно предсказания, и может извлекать вектор движения текущего блока посредством сложения разности векторов движения и предсказателя вектора движения. Средство предсказания устройства декодирования может получать или извлекать индекс опорной картинки, указывающий опорную картинку, из информации касательно предсказания. Например, список кандидатов на предсказателя вектора движения может быть сконфигурирован как проиллюстрировано на Фиг. 13.
[0174] Обращаясь к Фиг. 13, устройство кодирования осуществляет поиск пространственного блок-кандидата для предсказания вектора движения и вставляет его в список кандидатов на предсказание (S1310). Например, устройство кодирования может осуществлять поиск соседних блоков в соответствии с предварительно определенной очередностью поиска, и добавлять информацию соседнего блока, который удовлетворяет условию для пространственного блок-кандидата в список кандидатов на предсказание (список кандидатов на MVP).
[0175] После создания списка пространственных блоков-кандидатов, устройство кодирования сравнивает количество пространственных кандидатов, включенных в список кандидатов на предсказание, с предварительно установленным опорным количеством (например, 2) (S1320). Если количество пространственных кандидатов, включенных в список кандидатов на предсказание, больше или равно опорному количеству (например, 2), устройство кодирования может заканчивать создание списка кандидатов на предсказание.
[0176] Но, если количество пространственных кандидатов, включенных в список кандидатов на предсказание, меньше опорного количества (например, 2), устройство кодирования осуществляет поиск временного блока-кандидата и вставляет его в список кандидатов на предсказание (S1330), а когда временной блок-кандидат недоступен, добавляет нулевой вектор движения в список кандидатов на предсказание (S1340).
[0177]
[0178] Формирование сэмпла предсказания
[0179] Предсказанный блок для текущего блока может быть извлечен на основании информации о движении, извлеченной в соответствии с режимом предсказания. Предсказанный блок может включать в себя сэмплы предсказания (массив сэмплов предсказания) текущего блока. Когда вектор движения текущего блока указывает дробную единицу сэмпла, может быть выполнена процедура интерполяции, и посредством этого сэмплы предсказания текущего блока могут быть извлечены на основании опорных сэмплов в дробной единице сэмпла в опорной картинке. Когда аффинное межкадровое предсказание применяется к текущему блоку, сэмплы предсказания могут быть сформированы на основании вектора движения в единице сэмпла/субблока. Когда применяется би-направленное предсказание, итоговые сэмплы предсказания могут быть извлечены посредством взвешенных (в соответствии с фазой) сумм сэмплов предсказания, извлеченных на основании первого направления предсказания (например, предсказание L0), и сэмплов предсказания, извлеченных на основании второго направления предсказания. Восстановленные сэмплы и восстановленные картинки могут быть сформированы на основании извлеченных сэмплов предсказания, и, как описано выше, впоследствии может быть выполнена процедура, такая как внутриконтурная фильтрация.
[0180]
[0181] Аффинное предсказание движения
[0182] Фиг. 14 иллюстрирует пример моделей движения в соответствии с вариантом осуществления.
[0183] В обычной технологии сжатия изображения (например, высокоэффективном кодировании видео (HEVC)), один вектор движения используется для представления движения блока кодирования. Несмотря на то, что оптимальное движение единицы блока может быть представлено с использованием способа, использующего один вектор движения для каждого блока, это фактически может быть не оптимальным движением каждого элемента картинки. Соответственно, если оптимальный вектор движения определяется в единице элемента картинки, то может быть улучшена эффективность кодирования. Соответственно, вариант осуществления изобретения описывает способ предсказания движения кодирования или декодирования видеосигнала с использованием модели с несколькими движениями. В частности, вектор движения может быть представлен в каждой единице элемента картинки единицы блока или субблока с использованием вектора движения в точках управления от 2 до 4. Схема предсказания с использованием вектора движения множества точек управления может упоминаться как аффинное предсказание движения или аффинное предсказание.
[0184] Аффинная модель движения в соответствии с вариантом осуществления изобретения может представлять собой 4 модели движения, такие как те, что проиллюстрированы на Фиг. 14. Аффинная модель движения для представления трех движений (параллельный перенос, масштабирование и поворот) среди движений, которые могут быть представлены аффинной моделью движения, называется аффинной моделью движения подобия (или упрощенной). При описании вариантов осуществления, аффинная модель движения подобия (или упрощенная) главным образом описывается для удобства описания, но изобретение этим не ограничено.
[0185]
[0186] Фиг. 15 иллюстрирует пример вектора движения точки управления для аффинного предсказания движения в соответствии с вариантом осуществления изобретения.
[0187] Как показано на Фиг. 15, в аффинном предсказании движения, вектор движения местоположения элемента картинки (или субблока), включенного в блок, может быть определено с использованием пары из двух векторов движения точки управления (CPMV) v_0 и v_1. В данном случае, набор векторов движения может упоминаться как аффинное поле векторов движения (MVF). В данном случае, аффинное поле векторов движения может быть определено с использованием Уравнения 1.
[0188] [Уравнение 1]
[0189] В Уравнении 1, v_0(v_0={v_0x, v_0y}) указывает вектор CPMV0 движения в первой точке управления верхнего левого местоположения текущего блока 1500. v_1(v_1={v_1x, v_1y}) указывает вектор CPMV1 движения во второй точке управления верхнего правого местоположения текущего блока 1500. Кроме того, w указывает ширину текущего блока 1500. v(v={v_x, v_y}) указывает вектор движения в местоположении {x, y}. Вектор движения единицы субблока (или элемента картинки) может быть извлечен с использованием Уравнения 1. В одном варианте осуществления, точность вектора движения может быть округлена до точности 1/16.
[0190]
[0191] Фиг. 16 иллюстрирует пример вектора движения для каждого субблока у блока, к которому было применено аффинное предсказание движения в соответствии с вариантом осуществления изобретения.
[0192] Обращаясь к Фиг. 16, в процессе кодирования или декодирования, аффинное поле векторов движения может быть определено в единице элемента картинки или единице блока. Т.е. в аффинном предсказании движения, вектор движения текущего блока может быть извлечен в единице элемента картинки или единице субблока.
[0193] Если аффинное поле векторов движения определяется в единице элемента картинки, то вектор движения может быть получен на основании каждого значения элемента картинки. В случае единицы блока, вектор движения соответствующего блока может быть получен на основании значения центрального элемента картинки у блока. В данном документе предполагается, что аффинное поле векторов движения (MVF) определяется в 4×4 единице блока, как на Фиг. 16. В данном случае, это для удобства описания, и вариант осуществления изобретения этим не ограничен. Фиг. 16 иллюстрирует пример случая, где блок кодирования конфигурируется с помощью 16×16 сэмплов и аффинное поле векторов движения (MVF) определяется в единице блока 4×4 размера.
[0194] Аффинное предсказание движения может включать в себя аффинный режим слияния (или AF_MERGE) и аффинный межкадровый режим (или AF_INTER). Режим AF_INTER может включать в себя режим AF_4_INTER, использующий модель движения на основании 4 параметров и режим AF_6_INTER, использующий модель движения на основании 6 параметров.
[0195]
[0196] Аффинный режим слияния
[0197] AF_MERGE определяет вектор движения точки управления (CPMV) на основании аффинной модели движения соседнего блока, кодированного в качестве аффинного предсказания движений. Соседний блок, аффинно-кодированный в последовательности поиска может быть использован для AF_MERGE. Когда один или несколько соседних блоков кодируются как аффинное предсказание движения, текущий блок может быть кодирован как AF_MERGE.
[0198] Т.е. если применяется аффинный режим слияния, CPMV текущего блока могут быть извлечены с использованием CPMV соседнего блока. В данном случае, CPMV соседнего блока могут быть использованы в качестве CPMV текущего блока без какого-либо изменения, и CPMV соседнего блока могут быть модифицированы на основании размера соседнего блока и размера текущего блока, и могут быть использованы в качестве CPMV текущего блока.
[0199] Фиг. 17 иллюстрирует пример соседних блоков, которые используются для аффинного предсказания движения в аффинном режиме слияния в соответствии с вариантом осуществления изобретения.
[0200] В аффинном режиме слияния (AF_MERGE) кодер может выполнять кодирование согласно следующему процессу.
[0201] Этап-1: Сканируют соседние блоки с A по E 1710, 1720, 1730, 1740 и 1750 текущего блока 1700 кодирования в последовательности алфавита и определяют блок, сначала кодированный в соответствии с аффинным режимом предсказания на основании последовательности сканирования, в качестве блока-кандидата аффинного слияния (AF_MERGE)
[0202] Этап-2: Определяют аффинную модель движения с использованием вектора движения точки управления (CPMV) определенного блока-кандидата
[0203] Этап-3: Определяют вектор движения точки управления (CPMV) текущего блока 1700 на основании аффинной модели движения блока-кандидата и определяют MVF текущего блока 1700
[0204]
[0205] Фиг. 18 иллюстрирует пример блока, над которым аффинное предсказание движения выполняется с использованием соседних блоков, к которым было применено аффинное предсказание движения в соответствии с вариантом осуществления изобретения.
[0206] Например, как на Фиг. 18, если блок 1820 A был кодирован в соответствии с аффинным режимом, то после того, как блок 1820 A определяется в качестве блока-кандидата, аффинная модель движения может быть извлечена с использованием векторов движения точки управления (CPMV) (например, v2 и v3) блока 1820 A, и могут быть определены векторы движения точки управления (CPMV) v0 и v1 текущего блока 1800. Аффинное поле векторов движения (MVF) текущего блока 1800 может быть определено на основании векторов движения точки управления (CPMV) текущего блока 1800, и может быть выполнено кодирование.
[0207]
[0208] Фиг. 19 является схемой для описания способа формирования списка кандидатов на слияние с использованием соседнего аффинного блока кодирования в соответствии с вариантом осуществления изобретения.
[0209] Обращаясь к Фиг. 19, если пара CPMV определяется с использованием аффинного кандидата на слияние, то могут быть использованы кандидаты, такие как те, что проиллюстрированы на Фиг. 19. На Фиг. 19, предполагается, что последовательность сканирования списка кандидатов была установлена как A, B, C, D и E. В данном случае, изобретение этим не ограничено, и могут быть предварительно установлены различные последовательности.
[0210] В варианте осуществления, если количество кандидатов (здесь и далее упоминаются как аффинные кандидаты), которые кодируются в соответствии с аффинным режимом (или аффинным предсказанием), доступных в соседних блоках (т.е. A, B, C, D, E) соответствует 0, то аффинный режим слияния текущего блока может быть пропущен. Если количество доступных аффинных кандидатов соответствует одному (например, A), то модель движения соответствующего кандидата может быть использована для извлечения векторов движения точки управления (CPMV_0 и CPMV_1) текущего блока. В данном случае, индекс, указывающий соответствующего кандидата, может не требоваться (или кодироваться). Если количество доступных аффинных кандидатов соответствует двум или более, то два кандидата в последовательности сканирования могут быть сконфигурированы в качестве списка кандидатов для AF_MERGE. В данном случае, информация о выборе кандидата, такая как индекс, указывающий кандидата, который выбран в списке кандидатов, может быть просигнализирована. Информация о выборе может быть фагом или информацией об индексе, и может упоминаться как AF_MERGE_flag или AF_merge_idx.
[0211] В варианте осуществления изобретения, компенсация движения для текущего блока может быть выполнена на основании размера субблока. В данном случае, извлекается размер субблока у аффинного блока (т.е. текущего блока). Если каждое из ширины и высоты субблока больше 4 сэмплов цветности, то может быть извлечен вектор движения для каждого субблока, и основанная на DCT-IF компенсация движения (1/16 элемента изображения для яркости и 1/32 для цветности) может быть выполнена над субблоком. Если нет, то компенсация движения на основании улучшенного фильтра билинейной интерполяции может быть выполнена над всеми аффинными блоками.
[0212] В варианте осуществления изобретения, если флаг слияния/пропуска соответствует значению истина, и как ширина, так и высота CU больше или равны 8, на уровне CU, аффинный флаг сигнализируется посредством битового потока, указывая, используется ли аффинный режим слияния. Когда CU кодируется как AF_MERGE, индекс кандидата на слияние с максимальным значение ‘5’ сигнализируется, чтобы объявить, что кандидат на информацию о движении используется для CU в аффинном списке кандидатов на слияние.
[0213]
[0214] Фиг. 20 и 21 являются схемами для описания способа создания аффинного списка кандидатов на слияние с использованием соседнего блока, кодированного посредством аффинного предсказания в соответствии с вариантом осуществления изобретения.
[0215] Обращаясь к Фиг. 20, аффинный список кандидатов на слияние конфигурируется посредством следующих этапов.
[0216] 1) Вставка основанного на модели аффинного кандидата
[0217] Основанный на модели аффинный кандидат означает, что кандидат извлекается из действительного соседнего восстановленного блока, кодированного в соответствии с аффинным режимом. Как проиллюстрировано на Фиг. 20, последовательность сканирования для блока-кандидата соответствует от левого A, верхнего B, верхнего правого C и нижнего левого D к верхнему левому E.
[0218] Если соседний нижний левый блок A является кодированным в аффинном режиме с 6 параметрами, то получаются вектора движения (v_4, v_5, v_6) верхнего левого угла, верхнего правого угла и нижнего левого угла у CU, включающей в себя блок A. Вектора движения (v_0, v_1, v_2) верхнего левого угла текущего блока вычисляются на основании векторов движения (v_4, v_5 и v_6) в соответствии с аффинной моделью с 6 параметрами.
[0219] Если соседний нижний левый блок A является кодированным в аффинном режиме с 4 параметрами, то получаются векторы движения (v_4, v_5) верхнего левого угла и верхнего правого угла у CU, включающей в себя блок A. Векторы движения (v_0, v_1) верхнего левого угла у текущего блока вычисляются на основании векторов движения (v_4, v_5) в соответствии с аффинной моделью с 4 параметрами.
[0220] 2) Вставка основанных на точке управления аффинных кандидатов
[0221] Обращаясь к Фиг. 20, основанный на точке управления кандидат означает, что кандидат конфигурируется путем объединения соседней информации о движении точек управления.
[0222] Информация о движении точек управления сначала извлекается из назначенных пространственных соседних блоков и временного соседнего блока, проиллюстрированного на Фиг. 20. CP_k (k=1, 2, 3, 4) указывает k-ую точку управления. Кроме того, A, B, C, D, E, F и G являются пространственными местоположениями для предсказания CP_k (k=1, 2, 3), и H является временным местоположением для предсказания CP4.
[0223] Координаты CP_1, CP_2, CP_3 и CP_4 являются (0, 0), (W, 0), (H, 0) и (W, H), соответственно. В данном случае, W и H являются шириной и высотой текущего блока.
[0224] Информация о движении каждой точки управления получается на основании следующего приоритета.
→
→
[0225] Что касается CP_1, приоритет проверки соответствует ABC и A используется, если A доступен. Если недоступен, и если доступен B, то используется B. Если недоступен как A, так и B, то используется C. Если недоступны все три кандидата, информация о движении CP_1 не может быть получена.
→
[0226] Что касается CP_2, приоритет проверки соответствует ED.
→
[0227] Что касается CP_3, приоритет проверки соответствует GF.
[0228] Что касается CP_4, используется H.
[0229] Во-вторых, сочетания точек управления используются для конфигурирования модели движения.
[0230] Векторы движения двух точек управления необходимы для вычисления параметров преобразования в аффинной модели с 4 параметрами. Две точки управления могут быть выбраны из одного из следующих 6 сочетаний {CP_1, CP_4}, {CP_2, CP_3}, {CP_1, CP_2}, {CP_2, CP_4}, {CP_1, CP_3} и {CP_3, CP_4}. Например, для использования точек управления CP_1 и CP_2 при создании аффинной модели движения с 4 параметрами они помечаются как «аффинные (CP_1, CP_2)».
[0231] Векторы движения трех точек управления необходимы для вычисления параметров преобразования в аффинной модели с 6 параметрами. Три точки управления могут быть выбраны из одного из следующих 4 сочетаний {CP_1, CP_2, CP_4}, {CP_1, CP_2, CP_3}, {CP_2, CP_3, CP_4} и {CP_1, CP_3, CP_4}. Например, для использования точек управления CP_1, CP_2 и CP_3 при создании аффинной модели движения с 6 параметрами они помечаются как «аффинные (CP_1, CP_2, CP_3)».
[0232] Кроме того, в варианте осуществления изобретения, если аффинный кандидат на слияние присутствует в аффинном режиме слияния, то это может всегда считаться аффинным режимом с 6 параметрами.
[0233]
[0234] Аффинный межкадровый режим
[0235] Фиг. 22 иллюстрирует пример соседних блоков, которые используются для аффинного режима предсказания в аффинном межкадровом режиме в соответствии с вариантом осуществления изобретения.
[0236] Обращаясь к Фиг. 22, аффинное предсказание движения может включать в себя аффинный режим слияния (или AF_MERGE) и аффинный межкадровый режим (или AF_INTER). В аффинном межкадровом режиме (AF_INTER) после того как определяется 2-предсказание векторов движения точки управления (CPMVP) и CPMV, разность векторов движения точки управления (CPMVD), соответствующая разности, может быть передана от кодера декодеру. Подробный процесс кодирования аффинного межкадрового режима (AF_INTER) может быть точно таким как тот, что описан ниже.
[0237] Этап-1: Определяют кандидата в пару из двух CPMVP
[0238] Этап 1.1: Определяют максимум 12 сочетаний кандидатов CPMVP (обратитесь к Уравнению 2)
[0239] [Уравнение 2]
[0240] В Уравнении 2, v_0 указывает вектор движения CPMV0 в верхней левой точке 2210 управления текущего блока 2200. v_1 указывает вектор движения CPMV1 в верхней правой точке 2211 управления текущего блока 2200. v_2 указывает вектор движения CPMV2 в точке 2212 управления на нижней левой стороне текущего блока 2200. v_A указывает вектор движения соседнего блока 2220 A, который находится по соседству сверху слева с верхней левой точкой 2210 управления текущего блока 2200. v_B указывает вектор движения соседнего блока 2222 B, который находится по соседству сверху с верхней левой точкой 2210 управления текущего блока 2200. v_C указывает вектор движения соседнего блока 2224 C, который находится по соседству слева с верхней левой точкой 2210 управления текущего блока 2200. v_D указывает вектор движения соседнего блока 2226 D, который находится по соседству сверху с верхней правой точкой 2211 управления текущего блока 2200. v_E указывает вектор движения соседнего блока 2228 E, который находится по соседству сверху справа с верхней правой точкой 2211 управления текущего блока 2200. v_F указывает вектор движения соседнего блока 2230 F, который находится по соседству слева с нижней левой точкой 2212 управления текущего блока 2200. v_G указывает вектор движения соседнего блока 2232 G, который находится по соседству слева с нижней левой точкой 2212 управления текущего блока 2200.
[0241] Этап-1.2: Сортируют сочетания-кандидаты CPMVP на основании значения с небольшим значением разности (DV) и используют двух лучших кандидатов (обратитесь к Уравнению 3 ниже).
[0242] [Уравнение 3]
[0243] v_0x указывает элемент оси x вектора движения (V0 или CPMV0) в верхней левой точке 2210 управления текущего блока 2200. v_1x указывает элемент оси x вектора движения (V1 или CPMV1) в верхней правой точке 2211 управления текущего блока 2200. v_2x указывает элемент оси x вектора движения (V_2 или CPMV_2) в нижней левой точке 2212 управления текущего блока 2200. v_0y указывает элемент оси y вектора движения (V_0 или CPMV_0) в верхней левой точке 2210 управления текущего блока 2200. v_1y указывает элемент оси y вектора движения (V_1 или CPMV_1) в верхней правой точке 2211 управления текущего блока 2200. v_2y указывает элемент оси y вектора движения (V_2 или CPMV_2_ в нижней левой точке управления 2212 текущего блок 2200. w указывает ширину текущего блока 2200. h указывает высоту текущего блока 2200.
[0244] Этап-2: Используют список кандидатов AMVP, когда кандидат пары предсказателя вектора движения точки управления (CPMVP) меньше 2
[0245] Этап-3: Определяют предсказателя вектора движения точки управления (CPMVP) каждого из двух кандидатов и оптимальным образом выбирают кандидата с наименьшим значением путем сравнения стоимостей RD и CPMV
[0246] Этап-4: Передают индекс, соответствующий оптимальному кандидату и разность векторов движения точки управления (CPMVD)
[0247] В варианте осуществления изобретения предоставляется процесс создания кандидата на CPMVP в AF_INTER. Идентично AMVP, количество кандидатов соответствует 2 и сигнализируется индекс, указывающий местоположение в списке кандидатов.
[0248] Процесс создания списка кандидатов на CPMVP является следующим.
[0249] 1) Кодируются ли соседние блоки как аффинное предсказание движения, проверяется путем сканирования соседних блоков. Если просканированные блоки являются кодированными как аффинное предсказание, пара векторов движения текущего блока извлекается аффинной модели движения просканированного соседнего блока до тех пор, пока количество кандидатов не станет 2.
[0250] 2) Если количество кандидатов меньше 2, выполняется процесс конфигурации кандидата. Кроме того, в варианте осуществления изобретения, аффинный межкадровый режим с 4 параметрами (с 2 точками управления) используется для предсказания модели движения увеличения/уменьшения масштаба и поворота и контента. Как проиллюстрировано на Фиг. 15, аффинное поле движения блока описывается двумя векторами движения точки управления.
[0251] Поле векторов движения (MVF) блока описывается посредством Уравнения 1 выше.
[0252] В обычной технологии, режим усовершенствованного предсказания вектора движения (AMVP) необходим для сканирования индекса предсказания вектора движения (MVP) и разности векторов движения (MVD). Когда режим AMVP применяется к изобретению, аффинный флаг (affine_flag) сигнализируется для указания, используется ли аффинное предсказание. Если аффинное предсказание применяется, сигнализируются синтаксисы inter_dir, ref_idx, mvp_index, и две MVD (mvd_x и mvd_y). Формируется список кандидатов на аффинную пару MVP, включающий в себя две аффинные пары MVP. Просигнализированный mvp_index используется для выбора одной из двух аффинных пар MVP. Аффинная пара MVP формируется двумя типами аффинных кандидатов на MVP. Один является пространственным унаследованным аффинным кандидатом, а другой является извлеченным из угла аффинным кандидатом. Если соседние CU кодируются в аффинном режиме, то могут быть сформированы пространственные унаследованные аффинные кандидаты. Аффинная модель движения соседнего аффинно-кодированного блока используется для формирования векторов движения пары MVP с 2 точками управления. MV пары MVP с 2 точками управления пространственного унаследованного аффинного кандидата извлекаются с использованием следующих уравнений.
[0253] [Уравнение 4]
V0x=VB0x + (VB2_x - VB0x) * (posCurCU_Y - posRefCU_Y) / RefCU_height + (VB1x - VB0x) * (posCurCU_X - posRefCU_X) / RefCU_width
[0254] [Уравнение 5]
V0y=VB0y + (VB2_y - VB0y) * (posCurCU_Y - posRefCU_Y) / RefCU_height + (VB1y - VB0y) * (posCurCU_X - posRefCU_X) / RefCU_width
[0255] Если V_B0, V_B1 и V_B2 могут быть замещены верхним левым MV, верхним правым MV и нижним левым MV заданной опорной/соседней CU, то (posCurCU_X, posCurCU_Y) являются местоположением верхнего левого сэмпла текущей CU для верхнего левого сэмпла кадра. (posRefCU_X, posRefCU_Y) является местоположением верхнего левого сэмпла опорной/соседней CU для верхнего левого сэмпла кадра.
[0256] [Уравнение 6]
V1x=VB0x + (VB1x - VB0x) * CU_width/RefCU_width
[0257] [Уравнение 7]
V1y=VB0y + (VB1y - VB0y) * CU_width/RefCU_width
[0258] Фиг. 23 иллюстрирует пример соседних блоков, которые используются для аффинного предсказания движения в аффинном межкадровом режиме в соответствии с вариантом осуществления изобретения.
[0259] Обращаясь к Фиг. 23, когда количество пар MVP меньше 2, используется извлеченный из угла аффинный кандидат. Как проиллюстрировано на Фиг. 23, соседние векторы движения используются для извлечения аффинной пары MVP. Что касается первого извлеченного из угла аффинного кандидата, то первый доступный MV в наборе A (A0, A1 и A2) и первый доступный MV в наборе B (B0 и B1) используются для конфигурирования первой пары MVP. Что касается второго извлеченного из угла аффинного кандидата, то первый доступный MV в наборе A и первый доступный MV в наборе C (C0 и C1) используются для вычисления MV верхней правой точки управления. Первый доступный MV в наборе A и вычисленный MV верхней правой точки управления являются второй парой MVP.
[0260] В варианте осуществления изобретения, два набора кандидатов, включающих в себя два (три) кандидата {mv_0, mv_1} ({mv_0, mv_1, mv_2) используются для предсказания двух (трех) точек управления аффинной модели движения. Заданные разности векторов движения (mvd_0, mvd_1, mvd_2) и точки управления вычисляются с использованием следующих уравнений.
[0261] [Уравнение 8]
[0262] Фиг. 24 и 25 являются схемами, иллюстрирующими способ извлечения кандидата на вектор движения с использованием информации о движении соседнего блока в аффинном межкадровом режиме в соответствии с вариантом осуществления изобретения.
[0263] В аффинном списке кандидатов аффинное движение распространяется от пространственных соседних блоков (экстраполированные аффинные кандидаты), и аффинный список кандидатов дополняется сочетанием векторов движения из пространственных соседних блоков (виртуальные аффинные кандидаты). Наборы кандидатов устанавливаются следующим образом:
[0264] 1. Максимум два разных набора аффинных предсказателей MV извлекаются из аффинного движения соседних блоков. Соседние блоки A0, A1, B0, B1 и B2 проверяются как проиллюстрировано на Фиг. 24. Если соседний блок кодируется посредством аффинной модели движения и соответствующий опорный кадр является тем же самым, что и опорный кадр текущего блока, то две точки управления (для аффинной модели с 4 параметрами) текущего блока или три точки управления (для аффинной модели с 6 параметрами) текущего блока извлекаются из аффинной модели соседних блоков.
[0265] 2. Фиг. 25 иллюстрирует соседние блоки, которые используются для формирования набора виртуальных аффинных кандидатов. Соседние MV делятся на три группы: S_0={mv_A, mv_B, mv_C}, S_1={mv_D, mv_E} и S_2={mv_F, mv_G}. mv_0 является первым MV, который ссылается на ту же самую опорную картинку, как та что у текущего блока в S0. mv_2 является первыс MV, который ссылается на ту же самую опорную картинку, как та что у текущего блока в S1.
[0266] Если mv_0 и mv_1 заданы, то mv_2 может быть извлечено посредством Уравнения 9 ниже.
[0267] [Уравнение 9]
[0268] В Уравнении 9 размер текущего блока соответствует W×H.
[0269] Если заданы только mv_0 и mv_2, то mv_1 может быть извлечен посредством Уравнения 10 ниже.
[0270] [Уравнение 10]
[0271] В варианте осуществления изобретения, аффинное межкадровое предсказание может быть выполнено в соответствии со следующей последовательностью.
[0272] Ввод: аффинные параметры движения, сэмплы опорной картинки
[0273] Вывод: блок предсказания CU
[0274] Процессор
[0275] Извлекают размер субблока у аффинного блока
[0276] - Если как ширина, так и высота субблока больше 4 сэмплов яркости,
[0277] -- Что касается каждого субблока,
[0278] - Извлекают вектор движения субблока
[0279] - Выполняют компенсацию движения (1/16 единицы изображения для яркости и 1/32 единицы изображения для цветности) на основании DCT-IF над субблоками (вызывается)
[0280] - Если нет, то выполняется (вызывается) компенсация, основанная на улучшенном фильтре билинейной интерполяции над всеми аффинными блоками
[0281] Кроме того, в варианте осуществления изобретения, если флаг слияния/пропуска соответствует значению ложь и ширина и высота CU больше или равны 8, то аффинный флаг сигнализируется для того, чтобы указать, будет ли использован аффинный межкадровый режим на уровне CU. Если CU кодируется в аффинном межкадровом режиме, то флаг модели сигнализируется для того, чтобы указать, применяется ли аффинная модель с 4 параметрами или 6 параметрами к CU. Если флаг модели соответствует значению истина, то применяется режим AF_6_INTER (аффинная модель с 6 параметрами) и анализируются MVD. Если нет, то применяется режим AF_4_INTER (аффинная модель с 4 параметрами), и анализируются две MVD.
[0282] В режиме AF_4_INTER, подобно аффинному режиму слияния, формируются пары векторов движения, экстраполированных из соседних блоков, кодированных посредством аффинного режима, и предпочтительно вставляются в список кандидатов.
[0283] Затем, если размер списка кандидатов меньше 4, то кандидаты с парой векторов движения {(v_0,v_1)|v0={v_A, v_B, v_c},v_1={v_D, v_E}} формируются с использованием соседних блоков. Как проиллюстрировано на Фиг. 25, v_0 выбирается из векторов движения блоков A, B и C. Вектор движения из соседнего блока масштабируется на основании отношения между опорным списком, POC для ссылки на соседний блок, POC для ссылки на текущую CU и текущей CU. Кроме того, способ подхода выбора v_1 из соседних блоков D и E является подобным. Когда список кандидатов больше 4, кандидаты сначала сортируются на основании связанности соседних векторов движения (подобно двум векторам движения в паре кандидатов), и первые 4 кандидата сохраняются.
[0284] Если количество списков кандидатов меньше 4, то список заполняется парой векторов движения путем дублирования кандидатов AMVP.
[0285] В режиме AF_6_INTER, аналогично аффинному режиму слияния, формируются тройки векторов движения (аффинные тройки векторов движения), которые экстраполируются из соседних блоков, кодированных в аффинном режиме слияния, и предпочтительно вставляются в список кандидатов.
[0286] После этого, когда размер списка кандидатов меньше 4, кандидаты, включающие в себя тройки векторов движения {(v_0, v_1, v_2)| v0={v_A, v_B, v_c}, v1={v_D, v_E}, v2={v_G, v_H}} формируются с использованием соседних блоков. Как проиллюстрировано на Фиг. 25, v_0 выбирается из векторов движения блока A, B или C. Вектор движения из соседнего блока масштабируется на основании отношения между опорным списком, POC для ссылки на соседний блок, POC для ссылки на текущую CU и текущей CU. Кроме того, подход для выбора v_1 из соседних блоков D и E является подобным выбору v_2 из F и G. Когда список кандидатов больше 4, кандидаты сортируются на основании связанности соседних векторов движения (подобно двум векторам движения в трех кандидатах), и первые 4 кандидата сохраняются.
[0287] Когда количество списков кандидатов меньше 4, список может быть заполнен тройками векторов движения, сконфигурированных путем дублирования соответствующих кандидатов AMVP.
[0288] После того как извлекается CPMV у текущей CU, MVF у текущей CU формируется в соответствии с Уравнением 11 для аффинной модели с 4 параметрами и формируется в соответствии с Уравнением 12 для аффинной модели с 6 параметрами, на основании количества аффинных параметров.
[0289] [Уравнение 11]
[0290] [Уравнение 12]
[0291] В данном случае размер M×N субблока извлекается в Уравнении 13 и MvPre является точностью части вектора движения (1/16).
[0292] [Уравнение 13]
[0293] После извлечения посредством Уравнения 12, M и N должны быть скорректированы в сторону уменьшения, при необходимости, для того, чтобы сделать их делителем w и h. Когда M или N меньше 8, применяется WIF. Если нет, то применяется аффинная компенсация движения на основании субблока.
[0294] Фиг. 26 иллюстрирует пример аффинного поля векторов движения единицы субблока в соответствии с вариантом осуществления изобретения.
[0295] Обращаясь к Фиг. 26, для того, чтобы извлечь вектор движения каждого M×N субблока, вектор движения центрального сэмпла каждого субблока, такой как тот, что проиллюстрирован на Фиг. 26, вычисляется в соответствии с Уравнением 11 или Уравнением 12, и округляется с 1/16 части. Фильтры интерполяции с повышающей дискретизацией SHVC используются чтобы сформировать предсказание каждого субблока с использованием извлеченного вектора движения.
[0296] Фильтры интерполяции с повышающей дискретизацией SHVC с точно такой же длинной фильтра и нормирующим множителем, как у фильтров интерполяции компенсации движения HEVC могут быть использованы в качестве фильтров интерполяции компенсации движения для дополнительных дробных позиций единицы изображения. Точность вектора движения компонента цветности составляет 1/32 сэмпла. Дополнительные фильтры интерполяции местоположений 1/32 части единицы изображения извлекаются с использованием средних значений в двух соседних местоположениях 1/16 части единицы изображения.
[0297] Режим AF_MERGE может быть выбран на стороне кодера с использованием того же самого способа выбора общего режима слияния. Предпочтительно формируется список кандидатов, и минимальная стоимость RD выбирается среди кандидатов для сравнения со стоимостями RD других межкадровых режимов. Результатом сравнения является определение, применяется или нет AF_MERGE.
[0298] Применительно к режиму AF_4_INTER, проверка стоимости RD используется для определения того, выбирается ли кандидат на пару векторов движения в качестве предсказания вектора движения точки управления (CPMVP) текущей CU. После того, как определяется CPMVP текущей аффинной CU, применяется аффинная оценка движения, и получается вектор движения точки управления (CPMV). Соответственно, определяется разность между CPMV и CPMVP.
[0299] На стороне кодера, режим AF_6_INTER идентифицируется только когда режим AF_MERGE или AF_4_INTER определяется в качестве оптимального режима на предыдущей стадии выбор режима.
[0300] В варианте осуществления, аффинный межкадровый (аффинный AMVP) режим может быть выполнен следующим образом:
[0301] 1) AFFINE_MERGE_IMPROVE: вместо поиска первого соседнего блока в аффинном режиме, улучшение состоит в поиске соседнего блока с максимальным размером единицы кодирования в качестве аффинного кандидата на слияние.
[0302] 2) AFFINE_AMVL_IMPROVE: соседние блоки в аффинном режиме добавляются в аффинный список кандидатов AMVP подобно общей процедуре AMVP.
[0303] Подробный процесс формирования аффинного списка кандидатов AMVP является следующим.
[0304] Во-первых, идентифицируется, использует ли соседний блок снизу слева аффинную модель движения и имеет тот же самый опорный индекс, как и текущий опорный индекс. Если соседний блок не присутствует, левый соседний блок идентифицируется с использованием того же самого способа. Если соседний блок не присутствует, идентифицируется, использует ли соседний блок снизу слева аффинную модель движения и имеет другой опорный индекс. Если соседний блок присутствует, отмасштабированный аффинный вектор движения добавляется в список опорных картинок. Если соседний блок не присутствует, левый соседний блок идентифицируется с использованием того же самого способа.
[0305] Во-вторых, идентифицируются верхний правый соседний блок, верхний соседний блок и верхний левый соседний блок с использованием того же самого способа.
[0306] После процессов, если находят двух кандидатов, то процесс формирования аффинного списка кандидатов AMVP завершается. Если не находят двух кандидатов, исходная операция в рамках программного обеспечения JEM выполняется, чтобы сформировать аффинные списки кандидатов AMVP.
[0307] 3) AFFINE_SIX_PARAM: в дополнение к аффинной модели движения с 4 параметрами, аффинная модель движения с 6 параметрами добавляется в качестве дополнительной модели.
[0308] Аффинная модель движения с 6 параметрами извлекается посредством Уравнения 14.
[0309] [Уравнение 14]
[0310] Три вектора движения в верхнем левом местоположении MV_0, верхнем правом местоположении MV_1 и нижнем левом местоположении MV_2 необходимы для определения модели, потому что 6 параметров присутствует в модели движения. Три вектора движения могут быть определены с использованием способа подобного способу двух векторов движения в аффинной модели движения с 4 параметрами. Слияние аффинной модели всегда устанавливается как аффинная модель движения с 6 параметрами.
[0311] 4) AFFINE_CLIP_REMOVE: удаляются ограничения вектора движения для всех аффинных векторов движения. Процесс компенсации движения предназначен для управления самими ограничениями вектора движения.
[0312]
[0313] Аффинная модель движения
[0314] Как описано выше, различные аффинные модели движения могут быть использованы или рассмотрены в аффинном межкадровом предсказании. Например, аффинная модель движения может представлять собой четыре движения как на Фиг. 14. Аффинная модель движения, выполненная с возможностью представления трех движений (параллельный перенос, масштабирование и поворот), среди движений, которые могут быть представлены аффинной моделью движения, может называться аффинной моделью движения подобия (или упрощенной). Количество CPMV и/или способ извлечения MV единицы сэмпла/субблока у текущего блока могут быть разными в зависимости от того, какая одна из аффинных моделей движения используется.
[0315] В варианте осуществления изобретения, используются адаптивные модели движения с четырьмя или шестью параметрами. В AF_INTER, модель движения с 6 параметрами предложена в дополнение к модели движения с 4 параметрами, которая присутствует в JEM. Аффинная модель движения с 6 параметрами описывается аналогично Уравнению 15.
[0316] [Уравнение 15]
x’ = a * x+b * y+c
y’ = d * x+e * y+f
[0317] В данном случае, коэффициенты a, b, c, d, e и f являются аффинными параметрами движения. (x, y) и (x',y') являются координатами в местоположениях пикселя до и после преобразования аффинной модели движения. В кодировании видео, для того чтобы использовать аффинную модель движения, если CPMV0, CPMV1 и CPMV2 являются MV для CP0 (верхняя левая), CP1 (верхняя правая) и CP2 (нижняя левая), то Уравнение 16 может быть описано следующим образом.
[0318] [Уравнение 16]
[0319] В данном случае, CPMV_0={v_0x, v_0y}, CPMV_1={v_1x, v_1y}, CPMV_2={v_2x, v_2y}, а w и h являются шириной и высотой каждого блока кодирования. Уравнение 16 является полем векторов движения (MVF) блока.
[0320] Флаг анализируется на уровне CU для того, чтобы указать используется ли аффинная модель движения с 4 параметрами или с 6 параметрами, когда соседние блоки кодируются как аффинное предсказание. Если соседний блок, кодированный как аффинное предсказание, не присутствует, то флаг опускается и модель с 4 параметрами используется для аффинного предсказания. Другими словами, модель с 6 параметрами рассматривается при условии, при котором один или несколько соседних блоков кодируются в аффинной модели движения. В отношении количества CPMVD, каждые из двух или трех CPMVD сигнализируются по отношению к аффинным моделям движения с 4 параметрами и 6 параметрами.
[0321] Кроме того, в варианте осуществления изобретения, может быть использовано уточнение вектора движения с сопоставлением с сэмплом. В извлечении вектора движения с сопоставлением с сэмплом (PMMVD, далее сокращенно PMVD в описании кодера JEM) у JEM, декодеру требуется оценить некоторые векторы движения (MV) для того, чтобы определить начального кандидата на MV для поиска на уровне CU. При поиске на уровне суб-CU некоторые кандидаты на MV добавляются в дополнение к оптимальному MV уровня CU. Декодеру требуется оценить таких кандидатов на MV для того, чтобы осуществить поиск оптимального MV. Это требует большой пропускной способности памяти. В предложенном уточнении вектора движения с сопоставлением с сэмплом (PMVR) используются концепции JEM сопоставления с шаблоном и двухстороннего сопоставления в PMVD. Когда режим пропуска или режим слияния выбирается для того, чтобы указать доступно ли PMVR, сигнализируется один PMVR_flag. Для того, чтобы значительно уменьшить требование к пропускной способности памяти в сравнении с PMVD, формируется список кандидатов на MV. Если применяется PMVR, то явным образом сигнализируется индекс начального кандидата на MV.
[0322] Список кандидатов формируется с использованием процесса формирования списка кандидатов на слияние, но исключаются кандидаты на слияние суб-CU, например, аффинные кандидаты и кандидаты ATMVP. Применительно к двухстороннему сопоставлению, включаются только кандидаты на MV моно-предсказания. Кандидаты на MV би-предсказания делятся на двух кандидатов на MV моно-предсказания. Кроме того, также удаляются подобные кандидаты на MV (с разностями MV меньше предварительно определенно пороговой величины). Применительно к поиску на уровне CU, уточнение MV с ромбовидным поиском выполняется, начиная с просигнализированного кандидата MV.
[0323] Поиск на уровне суб-CU доступен только в режиме слияния с двусторонним сопоставлением. Окно поиска для поиска на уровне суб-CU для всех суб-CU является точно таким же, как окно поиска для поиска на уровне CU. Соответственно, дополнительная пропускная способность не требуется при поиске на уровне суб-CU.
[0324] Для того, чтобы уточнить MVP в режиме, также используется сопоставление с шаблоном. В режиме AMVP, два MVP формируются с использованием процесса формирования MVP HEVC, и один индекс MVP сигнализируется для выбора одного из двух MVP. Выбранный MVP дополнительно уточняется с использованием сопоставления с шаблоном в PMVR. Если применяется адаптивное разрешение вектора движения (AMVR), то MVP округляется с соответствующей точностью перед уточнением с сопоставлением с шаблоном. Такой процесс уточнения называется уточнением предсказателя вектора движения с сопоставлением с сэмплом (PMVPR). В оставшейся части данного документе PMVR включает в себя PMVR с сопоставлением с шаблоном, PMVR с двунаправленным сопоставлением и PMVPR, если конкретно не определено иное.
[0325] Для того чтобы уменьшить требование в отношении пропускной способности памяти, PMVR является недоступным для 4×4, 4×8 и 8×4 CU. Для того чтобы уменьшить требуемую дополнительную пропускную способность памяти, диапазон поиска {сопоставление с шаблоном, двунаправленное сопоставление} для зоны CU равной 64 может быть уменьшен до {±2, ±4}. Диапазон поиска {сопоставление с шаблоном, двунаправленное сопоставление} для зоны CU больше 64 может быть уменьшен до {±6, ±8}. В сравнении с наихудшим случаем в HEVC, требуемая пропускная способность памяти была уменьшена с 45.9x в PMVD у JEM-7.0 до 3.1x в PMVR с использованием всех способов, описанных в разделе PMVR данного документа.
[0326]
[0327] Общее основанное на истории предсказание вектора движения (HMVP)
[0328] В целом, технология сжатия изображения использует эксплуатацию пространственной и временной избыточности в качестве двух главных схем. Например, как высокоэффективное кодирование видео (HEVC), так и VVC используют две схемы компенсации движения на основании межкадрового кодирования. Одной является слияние движения, а другой является усовершенствованное предсказание вектора движения (AMVP). Для того чтобы улучшить два режима предсказания, обсуждались различные модификации. Различные модификации включают в себя увеличение количества кандидатов для поиска более пространственно расширенных кандидатов и проверку временных кандидатов в нетрадиционных местоположениях. Две схемы включают в себя первоначально создание списка с использованием доступных кандидатов, минимизацию стоимости скорости-искажения (RD) и сигнализацию выбранного кандидата в битовом потоке.
[0329] В частности, в современной технологии сжатия изображения, обсуждается HMVP, в котором сохраняется информация о движении ранее кодированного блока, и сохраненная информация о движении используется для предсказания движения впоследствии кодируемого блока. Такое HMVP может быть добавлено в список слияния (или список кандидатов на слияние) или список AMVP (или список кандидатов AMVP).
[0330] Декодер поддерживает таблицу поиска (LUT) в системе (или способе) «первый пришел - первый обслужен» (FIFO) для HMVP. В изобретении LUT не ограничена своим названием и может упоминаться как таблица, таблица HMVP, таблица кандидатов HMVP, буфер, буфер HMVP, буфер кандидатов HMVP, список HMVP или список кандидатов HMVP. В частности, когда декодируется не-аффинная единица предсказания (PU) (или единица кодирования (CU)), соответствующая информация о движении сохраняется в LUT. Декодер выполняет декодирование над следующей PU. В данном случае, сохраненная информация о движении может включать в себя векторы движения, информацию об опорном индексе и информацию о режиме в x (горизонтальном) и y (вертикальном) направлениях.
[0331] Декодер поддерживает LUT, в которой сохраняется информация о движении прогрессивно декодированного не-аффинного кандидата. Размер LUT может быть ограничен предварительно определенными S кандидатами. В одном варианте осуществления, LUT может быть сброшена в начале слайса, начале строки CTU или начале CTU.
[0332] HMVP может быть применено как к режиму слияния, так и режиму AMVP. Список слияния может иметь B кандидатов, а список AMVP может иметь двух кандидатов. В обычной технологии сжатия изображения, список слияния конфигурируется из следующих кандидатов: i) пространственный кандидат, ii) временной кандидат, iii) кандидат двунаправленного предсказания (Bi-Pred), iv) кандидат нулевого движения. В последнее время обсуждается способ дополнительного рассмотрения усовершенствованного предсказания вектора движения (ATMVP) в качестве кандидата. Например, кандидат ATMVP может быть вставлен в список слияния до временного кандидата. Кандидаты списка слияния добавляются в список слияния до тех пор, пока они не достигают максимального размера списка слияния. Дублирующий кандидат может не добавляться в список слияния. Два кандидата могут быть вставлены в список AMVP. Например, первый кандидат из двух кандидатов может быть выбран из доступных пространственных кандидатов, а второй кандидат может быть выбран из временных кандидатов. Если список не заполнен, может быть добавлен кандидат нулевого вектора движения.
[0333] HMVP применяется на основании очередности FIFO, в которой кандидаты выходят из LUT идентично с их очередностью ввода.
[0334] В одном варианте осуществления, когда HMVP применяется к конфигурации списка слияния, кандидат HMVP может быть вставлен (или добавлен) в третье местоположение списка следующим образом:
[0335] 1. Пространственный Кандидат
[0336] 2. Временной Кандидат
[0337] 3. Вплоть до S Кандидатов HMVP для LUT
[0338] 4. Объединенный Кандидат Bi-Pred
[0339] 5. Кандидат Нулевого Вектора Движения
[0340] В одном варианте осуществления, когда HMVP применяется к конфигурации списка AMVP, HMVP может быть вставлен в третье местоположение после временного кандидата следующим образом:
[0341] 1. Пространственный Кандидат
[0342] 2. Временной Кандидат
[0343] 3. Вплоть до K Кандидатов HMVP
[0344] 4. Кандидат Нулевого Вектора Движения
[0345] Фиг. 27 является блок-схемой для описания способа хранения HMVP в соответствии с вариантом осуществления изобретения.
[0346] Обращаясь к Фиг. 27, декодер декодирует текущую PU (или CU) (S2701).
[0347] Декодер проверяет, является ли текущая PU блоком, кодированным в не-аффинном режиме (S2702). Для того чтобы облегчить использование кандидатов HMVP, если текущая PU является блоком, кодированным в аффинном режиме, декодер не хранит информацию о движении текущей PU в таблице.
[0348] Если текущая PU является блоком, кодированным в не-аффинном режиме, декодер сохраняет (или обновляет) информацию о движении текущей PU в таблице (S2703).
[0349] В варианте осуществления изобретения, таблица HMVP может быть обновлена с использованием двух способов, т.е. способов i) FIFO без ограничений ii) FIFO с ограничениями. В первом случае, может присутствовать избыточная информация о движении, но процесс отсечения не применяется. Это способствует снижению сложности всего процесса. С другой стороны, в последнем случае, процесс отсечения применяется и не присутствует избыточная информация о движении. Это описано при обращении к следующей фигуре.
[0350] Фиг. 28 является схемой для описания таблицы HMVP, которая работает согласно дисциплине очереди FIFO без ограничений в соответствии с вариантом осуществления изобретения.
[0351] Обращаясь к Фиг. 28, кандидат, который добавляется в таблицу, добавляется в конец (справа) таблицы. В противоположность, кандидат, который выпускается из таблицы в соответствии со способом FIFO, располагается в передней части (левая сторона, самый старый кандидат) таблицы.
[0352] Если таблица не полностью заполнена максимальным количеством предварительно определенных кандидатов с индексом L-1 (т.е. конец), новые кандидаты добавляются без удаления кандидата. В противоположность, если таблица уже полностью заполнена, т.е. если удовлетворяется максимальное количество таблицы, то кандидат, который располагается в передней части, т.е. самый старый в таблице, удаляется и добавляется новый кандидат.
[0353] Фиг. 29 является схемой для описания таблицы HMVP, которая работает согласно дисциплине очереди FIFO с ограничениями в соответствии с вариантом осуществления изобретения.
[0354] Обращаясь к Фиг. 29, в случае, когда используется FIFO с ограничениями, выполняется отсечение, если добавление нового кандидата вызывает какую-либо избыточность (т.е. новый кандидат включает избыточную информацию о движении). В варианте осуществления, если кандидат с избыточной информацией о движении присутствует в таблице, то избыточный кандидат в таблице удаляется и информация о движении текущего кандидата может быть добавлена.
[0355]
[0356] Что касается кандидатов HMVP, то во многих случаях, самые последние исторические MV могут перекрывать информацию о движении пространственного кандидата (или пространственного соседнего кандидата). Соответственно, настоящий вариант осуществления предлагает способ установки очередности добавления кандидатов по-другому от очередности индексов HMVP LUT, когда кандидат HMVP добавляется в список слияния или AMVP.
[0357] В соответствии с вариантом осуществления изобретения, список кандидатов может быть эффективно сконфигурирован путем адаптивной регулировки кандидата HMVP. Соответственно, количество бинов сигнализации, которые используются для преобразования в двоичное представление, может быть уменьшено, и эффективность кодирования может быть улучшена. Т.е. кандидат HMVP, который добавляется в список слияния или список AMVP, может быть не ограничен индексом в списке HMVP. В качестве варианта осуществления, следующая Таблица 1 иллюстрирует способ изменения очередности добавления кандидата HMVP в список слияния или AMVP.
[0358] [Таблица 1]
Индекс HMVP LUT (0 обозначает самый последний исторический MV)
Очередность для добавления в список Слияния или AMVP
0
2
1
0
2
1
3
3
..
..
[0359] Обращаясь к Таблице 1, как описано выше, присутствует хорошая вероятность того, самый последний вставленный кандидат HMVP может иметь ту же самую информацию о движении, что и пространственный кандидат. Соответственно, очередность добавления кандидата HMVP может быть предварительно определенной независимо от индекса HMVP с учетом вероятности.
[0360] Кроме того, в одном варианте осуществления, кодер или декодер может добавлять кандидата HMVP в список слияния или список AMVP, начиная с кандидата HMVP, который начинается с n-ого кандидата в списке. Таблица 2 ниже иллюстрирует измененную очередность добавления кандидата в список слияния или AMVP.
[0361] [Таблица 2]
Индекс HMVP LUT (0 обозначает самый последний исторический MV)
Очередность для добавления в список Слияния или AMVP
0
1
0
2
1
3
2
..
..
[0362] Обращаясь к Таблице 2, кандидат HMVP может быть добавлен в список слияния или список AMVP со второго индекса.
[0363] В одном варианте осуществления, информация касательно очередности добавления кандидата HMVP в таблицу (LUT) может быть просигнализирована от кодера декодеру. Например, такая информация об очередности может быть передана посредством высокоуровневого синтаксиса (HLS). Высокоуровневый синтаксис может быть набором параметров последовательности, набором параметров картинки, заголовком слайса, единицей дерева кодирования, единицей кодирования и/или другим надлежащим заголовком данных синтаксиса, например.
[0364] Таблица 3 иллюстрирует структуру высокоуровневого синтаксиса, к которой может быть применен способ, предложенный в изобретении.
[0365] [Таблица 3]
high_level_parameter_set(){
Описание
…
set_HMVP_order_flag
u(1)
…
[0366] Обращаясь к Таблице 3, set_HMVP_order_flag равный 1 указывает на то, что set_HMVP_order_flag присутствует в заголовке слайса в не-IDR картинках в CVS. set_HMVP_order_flag равный 0 указывает, что set_HMVP_order_flag не присутствует в заголовках слайса и адаптивный HMVP не используется в VCS.
[0367] Таблица 4 иллюстрирует структуру синтаксиса заголовка сегмента слайса, к которой может быть применен способ, предложенный в изобретении.
[0368] [Таблица 4]
slice_segment_header(){
Описание
…
if(set_HMVP_order_flag)
slice_HMVP_idx
u(1)
…
}
…
[0369] Обращаясь к Таблице 4, slice_HMVP_idx означает индекс для последовательности использованных кандидатов. Например, slice_HMVP_idx, равный 0, может представлять собой базовую последовательность HMVP, такую как 0, 1, 2, 3. Аналогичным образом, значение индекса 1 может быть использовано для представления последовательности HMVP в виде 3, 2, 1, 0.
[0370]
[0371] В варианте осуществления изобретения, в дополнение к HMVP LUT, предлагается способ использования долгосрочного списка для предсказания движения. Соответственно, количество поддерживаемых кандидатов HMVP может быть увеличено. В варианте осуществления, могут быть рассмотрены 2 таблицы HMVP. В данном случае, одна может быть использована для хранения общих кандидатов HMVP, а другая может быть использована в качестве долгосрочного списка, в котором хранятся кандидаты, для которых требуется дальнейшая поддержка.
[0372] Нижеследующее иллюстрирует способы сброса и создания долгосрочного списка (или долгосрочного списка HMVP).
[0373] - После того, как декодируется первая CTU строки CTU, один или несколько исторических MV последующей CTU могут быть добавлены в долгосрочную HMVP LUT. Такая долгосрочная HMVP LUT может не использоваться или не обновляться до следующей строки CTU.
[0374] - В начале следующей строки CTU, долгосрочная HMVP LUT может быть использована для сброса общей HMVP LUT. Причина этого состоит в том, что кандидаты HMVP у CTU в начале строки CTU могут быть более взаимосвязанными в сравнении с историческим MV в конце предыдущей строки CTU.
[0375] -- Вышеприведенный процесс может быть повторен.
[0376] Фиг. 30 является схемой, иллюстрирующей HMVP LUT и долгосрочную HMVP LUT в соответствии с вариантом осуществления изобретения.
[0377] Обращаясь к Фиг. 30, кодер или декодер могут включать две LUT для хранения кандидатов HMVP. Одной может быть HMVP LUT (или общая HMVP LUT или краткосрочная HMVP LUT), а другая может быть долгосрочной HMVP LUT. Когда кандидат HMVP добавляется как в список слияния, так и список AMVP, он может быть добавлен из HMVP LUT или долгосрочной LUT, как проиллюстрировано на Фиг. 30.
[0378] Использование долгосрочной LUT может быть просигнализировано путем использования нового элемента синтаксиса. В варианте осуществления, элемент синтаксиса может быть просигнализирован посредством высокоуровневого синтаксиса. Например, элемент синтаксиса может присутствовать в наборе параметров последовательности, наборе параметров картинки, заголовке слайса, единице дерева кодирования, единице кодирования и/или другом надлежащем заголовке данных синтаксиса.
[0379] В варианте осуществления изобретения, предлагается способ, в которому учитывается гибкость для декодирования при добавлении кандидата HMVP в HMVP LUT. Кодер/декодер может учитывать критерий принятия решения для одной или нескольких характеристик PU (или CU), при добавлении кандидата HMVP в HMVP LUT.
[0380] В варианте осуществления, кодер/декодер может учитывать следующее содержимое при добавлении кандидата HMVP в таблицу. Кодер/декодер может добавлять кандидата в таблицу с учетом характеристик, таких как режим (например, режим слияния, аффинный режим или режим AMVP) у PU и/или размер блока, отдельно или в сочетании. В одном варианте осуществления, в дополнение к характеристикам, могут быть учтены другие дополнительные характеристики. Например, тип слияния (например, пространственный кандидат или временной кандидат), в котором рассматривается обновление HMVP LUT, является ли это суб-PU и т.д., могут быть учтены в качестве критерия для выбора кандидата. Критерий выбора может быть определен, чтобы уменьшать избыточность с предыдущей историей (или предыдущим HMVP). Например, если PU кодируется в режиме слияния и тип слияния является пространственным слиянием, то декодер может не обновлять HMVP LUT информацией о движении соответствующей PU.
[0381] Фиг. 31 является схемой, иллюстрирующей пример способа для обновления HMVP LUT в соответствии с вариантом осуществления изобретения.
[0382] Обращаясь к Фиг. 31, кодер/декодер получает информацию о движении кодированного кандидата (S3101).
[0383] Кодер/декодер оценивает, обновлять ли LUT информацией о движении кандидата на основании предварительно определенного критерия принятия решения (S3102). Как описано выше, критерий принятия решения может включать в себя характеристики, связанные с одним или нескольким из режима (например, режим слияния, аффинный режим или режим AMVP) кандидата, размера блока кандидата и/или типа слияния кандидата.
[0384] Кодер/декодер обновляет LUT на основании критерия принятия решения (S4303). Т.е. если кандидат удовлетворяет предварительно определенному условию принятия решения, то кодер/декодер может добавлять информацию о движении кандидата в LUT.
[0385]
[0386] В варианте осуществления изобретения, присутствуют предложенные ограничения касательно проверки избыточности для добавления кандидата HMVP в список слияния (или список AMVP). Ограничения касательно проверки избыточности могут быть определены или реализованы различными способами.
[0387] В одном варианте осуществления, кодер/декодер может ограничивать количество проверок отсечения для первого конкретного количества кандидатов в списке слияния. В качестве варианта осуществления, кодер/декодер может ограничивать количество проверок отсечения для кандидатов от первого кандидата списка слияния до конкретного кандидата. Например, кодер/декодер может выполнять процесс отсечения над кандидатами с первого кандидата списка слияния до конкретного кандидата. И кандидат HMVP, т.е. цель проверки отсечения, может быть ограничена предварительно определенным количеством.
[0388] Кроме того, в одном варианте осуществления, кодер/декодер может ограничивать проверку отсечения путем выполнения проверки отсечения касательно конкретного типа кандидата на слияние в списке слияния. Например, кодер/декодер может выполнять проверку отсечения только касательно пространственного кандидата списка слияния при добавлении кандидата HMVP. В качестве альтернативы, например, кодер/декодер может выполнять проверку отсечения только касательно некоторых из пространственных кандидатов списка слияния при добавлении кандидата HMVP. Некоторые из пространственных кандидатов могу быть предварительно определены. Например, предварительно определенными пространственными кандидатами могут быть по меньшей мере один из левого соседнего пространственного кандидата и/или верхнего соседнего пространственного кандидата. Или, например, при добавлении кандидата HMVP, кодер/декодер может выполнять проверку отсечения только касательно части пространственных кандидатов списка слияния, и часть пространственных кандидатов может быть предварительно определена как левая и верхняя стороны. Вариант осуществления изобретения не ограничивается вышеприведенными примерами, и другие типы могут быть объединены и ограничены в качестве цели проверки отсечения.
[0389] Фиг. 32 является схемой, иллюстрирующей способ ограничения количества кандидатов HMVP, т.е. цели проверки отсечения, в соответствии с вариантом осуществления изобретения.
[0390] Обращаясь к Фиг. 32, в варианте осуществления изобретения, количество кандидатов HMVP, т.е. цель проверки отсечения, может быть ограничено до M. Кодер/декодер может проверять избыточность информации о движении среди первых M кандидатов в HMVP LUT и кандидатов на слияние в списке слияния при создании списка слияния с использованием кандидатов HMVP.
[0391] В качестве альтернативы, кодер/декодер может проверять избыточность информации о движении среди первых M кандидатов в HMVP LUT и текущей декодированной PU при добавлении информации о движении декодированного блока обработки (например, PU) в HMVP LUT.
[0392] Фиг. 33 является блок-схемой, иллюстрирующей пример способа выполнения проверки отсечения в соответствии с вариантом осуществления изобретения.
[0393] Обращаясь к Фиг. 33, кодер/декодер получает информацию о движении декодированного кандидата и определяет (или декодирует) количество проверок отсечения (S3301, S3302). Количество проверок отсечения может быть предварительно определено в кодере/декодере в соответствии с описанным выше способом (например, описанным на Фиг. 32). Кодер/декодер выполняет проверку отсечения на основании определенного количества проверок отсечения (S3303).
[0394] В одном варианте осуществления, как в Таблице 4 и Таблице 5, информация, которая связана с проверкой отсечения, может быть просигнализирована посредством высокоуровневого синтаксиса. В данном случае, элемент синтаксиса, который передается от кодера декодеру, может быть просигнализирован посредством высокоуровневого синтаксиса для указания количества проверок отсечения. Высокоуровневый синтаксис может быть включен в набор параметров последовательности, набор параметров картинки, заголовок слайса, единицу дерева кодирования, единицу кодирования и/или другой надлежащий заголовок данных синтаксиса, например.
[0395]
[0396] В варианте осуществления изобретения, предлагается эффективный способ выбора кандидата HMVP. Когда исторический кандидат на вектор движения (т.е. кандидат HMVP) вставляется в список слияния (или список AMVP), то проверка отсечения может быть выполнена так, что кандидат HMVP не перекрывает существующий список слияния. В это время, для того, чтобы выполнить совокупные проверки избыточности между списком избыточности размером M и исторической LUT размером N, требуются проверки (M-1)×N раз.
[0397] Соответственно, в варианте осуществления изобретения количество кандидатов HMVP может зависеть от кандидата на слияние. Например, количество кандидатов HMVP может зависеть от количества пространственных кандидатов, которые присутствуют в списке слияния. В качестве альтернативы, например, количество кандидатов HMVP может зависеть от количества пространственных кандидатов и временных кандидатов, которые присутствуют в списке слияния.
[0398] Если присутствует другой кандидат на слияние в списке слияния, то количество кандидатов HMVP, над которыми проверка отсечения будет выполнена на основании конкретного критерия (или правила) на основании количества кандидатов на слияние и/или количества HVVP списка слияния, может быть уменьшено. Соответственно, количество проверок избыточности в худшем случае может быть уменьшено.
[0399] Например, в случае списка слияния размером (или длинной) в 6, если список слияния полностью заполнен, то список слияния может включать в себя максимум 5 пространственных или других кандидатов на слияние. Для того, чтобы вставить кандидата HMVP в 6 списков HMVP, в худшем случае может потребоваться 30 проверок избыточности.
[0400] В одном варианте осуществления, пример, связанный с ограничениями количества HMVP, которые должны быть целями проверки отсечения, иллюстрируется в Уравнении 17 и Таблице 5.
[0401] [Уравнение 17]
if (existing_candidates >= 3)
number_hist_to_check=7 - existing_candidates
[0402] [Таблица 5]
# существующего кандидата
# существующего кандидата для проверки
# исторического MV для проверки
# проверок
1
1
6
6
2
2
6
12
3
3
4
12
4
4
3
12
5
5
2
10
[0403] Обращаясь к Таблице 5, количество проверок избыточности для добавления HMVP в худшем случае может быть уменьшено в 12 раз, а не в 30 раз путем ограничения количества HMVP, т.е. цели проверки отсечения, до 2.
[0404]
[0405] В варианте осуществления изобретения, предоставляется способ создания списка слияния с использованием основанного на истории пространственно-временного предсказания вектора движения (H-STMVP). H-STMVP указывает кандидата, извлеченного как среднее двух основанных на истории пространственных MVP и TMVP. Два пространственных HMVP могут быть получены из буфера HMVP. TMVP может быть получен из текущего списка слияния. В данном случае, пространственный кандидат может быть кандидатом, полученным из последних 2 кодированных MV в последовательности декодирования до текущего блока.
[0406] Например, последний кодированный MV (упоминается как MV_L в изобретении), MV, т.е. последний ко второму (упоминается как MV_(L-1) в изобретении), и MV_TMVP могут быть использованы для формирования кандидата H-STMVP, который должен быть вставлен в список слияния.
[0407] Если могут быть использованы все три кандидата, то MV, которые добавляются в список слияния, могут быть вычислены посредством Уравнения 18 ниже.
[0408] [Уравнение 18]
[0409] В одном варианте осуществления, если доступно только два из трех кандидатов, то только два кандидата могут быть усреднены для формирования H-STMVP. Аналогичным образом, если доступен только один кандидат, то может быть использован один кандидат. Если доступный кандидат не присутствует, то H-STMVP может не использоваться для конфигурации списка слияния.
[0410] В варианте осуществления изобретения, предлагается способ получения вектора движения кандидата H-STMVP с использованием другого способа, отличного от Уравнения 18.
[0411] Например, вместо одновременного усреднения трех или больше кандидатов, сначала усреднение пространственных кандидатов, а затем усреднение двух кандидатов вновь с использованием результата усреднения может быть более простым с точки зрения вычисления. Пример этого иллюстрируется в следующих уравнениях.
[0412] [Уравнение 19]
[0413] В качестве альтернативы, среднее значение может быть получено следующим образом.
[0414] [Уравнение 20]
[0415] [Уравнение 21]
[0416] [Уравнение 22]
[0417] Кодер/декодер может сначала усреднять двух кандидатов как в Уравнениях с 19 по 21, а затем может усреднять результирующие значения с использованием третьего кандидата. В качестве альтернативы, кодер/декодер может назначать более высокую важность/вес кандидату, т.е. MV_L, путем применения дважды операции сдвига, как в Уравнении 22. Среднее значение может быть извлечено без операции деления, а только посредством операции сдвига, с использованием Уравнений с 19 по 22.
[0418]
[0419] В варианте осуществления изобретения, предлагается способ, использующий заданное количество (n) пространственных кандидатов, вместо двух основанных на истории пространственных кандидатов при извлечении H-STMVP. n кандидаты не должны быть по существу следующей друг за другом последовательностью декодирования. n кандидаты могут быть выбраны произвольным образом или в соответствии с некоторым правилом.
[0420] Соответственно, Уравнение 18 может быть представлено с использованием более общего способа, аналогично Уравнению 23 ниже.
[0421] [Уравнение 23]
[0422] В другом варианте осуществления, предполагая, что используется 5 пространственных кандидатов, влияние увеличения пространственных кандидатов на формирование кандидата H-STMVP может быть минимизировано, и пространственный кандидат и временной кандидат могут быть надлежащим образом объединены путем улучшения весового коэффициента, который применяется к временному кандидату.
[0423] Соответственно, с этой целью, после того, как пространственные кандидаты усредняются вместе с использованием Уравнения 24, вышеприведенная цель может быть достигнута путем усреднения MV-TMVP с использованием результата усреднения.
[0424] [Уравнение 24]
[0425]
[0426] В варианте осуществления изобретения, предлагается способ добавления весового коэффициента (или весового множителя) к кандидату на вектор движения, который используется для извлечения H-STMVP. В данном случае, весовой коэффициент может быть определен опытным путем или может быть определен с учетом временного расстояния до фиксированного опорного кадра или может быть определен с учетом местоположения в исторической таблице. Например, новый кандидат может обладать более тяжелым весовым коэффициентов, чем предыдущий кандидат.
[0427] Т.е. в настоящем варианте осуществления, Уравнение 18 может быть представлено аналогично Уравнению 25 ниже.
[0428] [Уравнение 25]
[0429] В данном случае, весовой коэффициент может иметь то же самое значение или неравномерно распределенное значение.
[0430]
[0431] В варианте осуществления изобретения, предлагается способ масштабирования вектора движения, который используется для извлечения кандидата H-STMVP в качестве одной опорной картинки.
[0432] Фиг. 34 является схемой для описания способа извлечения кандидата H-STMVP с использованием векторов движения, которые ссылаются на разные опорные картинки в соответствии с вариантом осуществления изобретения.
[0433] Обращаясь к Фиг. 34, предполагается, что кандидаты MV_L, MV_L-1 и MV_TMVP ссылаются на (или указывают) соответствующие разные опорные картинки. Т.е. Фиг. 34 иллюстрирует то, что кандидаты, которые используются для формирования кандидатов H-STMVP, могут иметь разные опорные индексы и в результате иметь разные опорные кадры.
[0434] Среднее из Уравнений с 18 по 25 может быть не равным значением результата, потому что кадр с более близким опорным кадром может, по существу, оказывать большее влияние на вектор движения H-STMVP. Соответственно, предлагается способ масштабирования всех векторов движения в одном опорном кадре для равного сравнения и объединения.
[0435] В данном случае, кодер может определять, какой один кадр, выполненный как часть оптимизации RD, является наиболее подходящим для использования в качестве опорного кадра. В варианте осуществления, выбранный опорный кадр может быть просигнализирован в заголовке слайса аналогично индексу массива TMVP, который присутствует в заголовке слайса. Например, опорный кадр, который должен быть использован, может быть сформирован с использованием фиксированного правила. В качестве альтернативы, например, список может быть отмасштабирован как первый доступный опорный кадр из L0 или список может быть отмасштабирован на основании значения порядкового номера текущей картинки.
[0436] В одном варианте осуществления, для достижения вышеупомянутой цели, кодер может передавать декодеру информацию для одной фиксированной картинки с использованием высокоуровневого синтаксиса (HLS), который может быть частью набора параметров последовательности, набора параметров картинки, заголовка слайса, единицы дерева кодирования и/или другого заголовка данных. Например, может быть определена структура высокоуровневого синтаксиса, такая как Таблица 6 и/или Таблица 7 ниже.
[0437] [Таблица 6]
high_level_parameter_set(){
Описание
…
set_HSTMVP_ref_pic_flag
u(1)
…
[0438] Обращаясь к Таблице 6, set_HSTMVP_ref_pic_flag равный 1 указывает, что set_HSTMVP_idx присутствует в заголовке слайса не-IDR картинки в CVS. set_HSTMVP_ref_pic_flag равный 0 указывает, что set_HSTMVP_idx не присутствует в заголовке слайса.
[0439] [Таблица 7]
slice_segment_header(){
Описание
…
if(set_HSTMVP_ref_pic_flag)
slice_HSTMVP_idx
u(1)
…
}
…
[0440] Обращаясь к Таблице 7, slice_HMVP_idx обозначает опорный индекс. В одном варианте осуществления, опорный индекс может быть выбран по отношению к списку L0.
[0441]
[0442] В вариантах осуществления изобретения, более подробные варианты осуществления будут описаны в отношении описанных выше вариантов осуществления. В частности, предлагается способ опосредованного использования аффинного кандидата HMVP путем использования позиции и размерной информации для того, чтобы вычислять или извлекать CPMV текущего блока. В изобретении, извлеченный CPMV может упоминаться как унаследованный аффинный кандидат HMVP. Унаследованный Аффинный кандидат HMVP в соответствии с вариантом осуществления изобретения может быть использован в описанном выше процессе формирования Аффинного списка слияния и/или Аффинного списка AMVP.
[0443] Фиг. 35 является схемой, иллюстрирующей местоположение блока для извлечения унаследованного аффинного кандидата HMVP в соответствии с вариантом осуществления изобретения.
[0444] Обращаясь к Фиг. 35, CPMV текущего блока 3501 может быть извлечен на основании местоположения и размера аффинного кандидата HMVP образом подобным тому, как в способе извлечения общего унаследованного CPMV из соседних блоков. Т.е. кодер/декодер может извлекать векторы движения точек управления текущего блока 3501 на основании информации о позиции и размере (например, ширине и высоте) опорного блока 3502, т.е. аффинного кандидата HMVP.
[0445] В качестве варианта осуществления, CPMV унаследованного аффинного HMVP текущего блока может быть извлечен путем использования Уравнений 26 и 27 ниже.
[0446] [Уравнение 26]
V0x=VB0x + (VB2_x - VB0x ) * ( posCurCU_Y - posRefCU_Y ) / RefCU_height + (VB1x - VB0x ) * (posCurCU_X - posRefCU_X) / RefCU_width
[0447] [Уравнение 27]
V0y=VB0y + (VB2_y - VB0y ) * (posCurCU_Y - posRefCU_Y) / RefCU_height + (VB1y - VB0y ) * (posCurCU_X - posRefCU_X) / RefCU_width
[0448] В Уравнениях 26 и 27, posCurCU_Y представляет собой значение вертикальной координаты верхнего левого сэмпла текущего блока 3501, а posRefCU_Y представляет собой значение вертикальной координаты верхнего левого сэмпла опорного блока 3502. posCurCU_X представляет собой значение горизонтальной координаты верхнего левого сэмпла текущего блока 3501, а posRefCU_X представляет собой значение горизонтальной координаты верхнего левого сэмпла опорного блока 3502. RefCU_height представляет собой высоту опорного блока 3502, а RefCU_width представляет собой ширину опорного блока 3502.
[0449]
[0450] В одном варианте осуществления изобретения, при добавлении аффинного кандидата HMVP (непосредственного или унаследованного HMVP), ограничения могут быть добавлены для выбора аффинного кандидата HMVP, который может быть использован для формирования аффинного списка слияния или аффинного списка AMVP.
[0451] В качестве примера, аффинный кандидат HMVP может быть добавлен в аффинный список слияния или аффинный список AMVP, только когда аффинный кандидат HMVP является смежным с текущим блоком.
[0452] В качестве другого примера, аффинный кандидат HMVP может быть добавлен в аффинный список слияния или аффинный список AMVP, только когда аффинный кандидат HMVP располагается (или существует) в рамках конкретного расстояния от текущего блока. Например, конкретное расстояние может быть предварительно определенным пиксельным расстоянием. Кодер/декодер может определять, располагается ли аффинный кандидат HMVP в рамках предварительно определенного конкретного расстояния, чтобы определять, доступен ли аффинный кандидат HMVP.
[0453] В качестве другого примера, аффинный кандидат HMVP может быть добавлен в аффинный список слияния или аффинный список AMVP, только когда аффинный кандидат HMVP располагается (или существует) в конкретном местоположении на основании текущего блока. Например, когда аффинный кандидат HMVP присутствует в конкретном местоположении, это может быть случаем, когда аффинный кандидат HMVP является левым или верхним соседним блоком для текущего блока.
[0454] Применительно к аффинной HMVP LUT, которая имеет N элементов, описанный выше процесс верификации для всех элементов или первых M элементов может быть выполнен до тех пор, пока список слияния или AMVP не является полным, или до тех пор, пока не достигается предварительно определенное количество кандидатов HMVP.
[0455]
[0456] В одном варианте осуществления изобретения, предлагается способ, в котором аффинный кандидат HMVP используется для замещения унаследованного аффинного кандидата, который уже присутствует в аффинном списке слияния и/или аффинном списке AMVP.
[0457] Фиг. 36 является схемой, иллюстрирующей аффинный список слияния или аффинный список AMVP в соответствии с вариантом осуществления изобретения.
[0458] Обращаясь к Фиг. 36, кодер/декодер может замещать унаследованного кандидата, присутствующего в существующем аффинном списке слияния или аффинном списке AMVP, на унаследованного аффинного кандидата HMVP. Т.е. когда основанный на субблоке режим слияния применяется к текущему блоку, кодер/декодер может формировать основанный на субблоке список кандидатов на слияние с использованием унаследованного аффинного кандидата и уже созданного аффинного кандидата, извлекать унаследованного аффинного кандидата HMVP и замещать по меньшей мере одного унаследованного аффинного кандидата, включенного в основанный на субблоке список кандидатов на слияние, унаследованным аффинным кандидатом HMVP.
[0459] В дополнение, в одном варианте осуществления изобретения, аффинная HMVP таблица поиска (LUT) может быть инициализирована в начале слайса, строки CTU или CTU. Посредством этого можно улучшить эффективность параллельной обработки.
[0460]
[0461] Далее, в нижеследующих вариантах осуществления, предлагается способ уменьшения количества наихудших проверок отсечения из HMVP.
[0462] В варианте осуществления изобретения, когда кандидат HMVP добавляется в список слияния, количество проверок отсечения может быть определено на основании количества доступных кандидатов в списке слияния и количества кандидатов HMVP, которые могут быть добавлены в список слияния. Далее, при описании вариантов осуществления изобретения, для удобства описания, переменные определены следующим образом.
[0463] - NST: количество доступных (или существующих) кандидатов в списке слияния
[0464] - NHMVP: количество кандидатов HMVP в таблице (т.е. размер таблицы HMVP)
[0465] - NmrgToBeAdded: количество кандидатов HMVP, добавленных в список слияния
[0466] - NHMVPChecked: количество кандидатов HMVP, которые являются проверенными с отсечением.
[0467] - Nmax_hmvp_prunning: количество проверок отсечения наихудшего случая, которые требуются для добавления кандидата HMVP в список слияния
[0468] В одном варианте осуществления изобретения, кандидат HMVP может быть добавлен в список слияния в соответствии со следующими условиями.
[0469] - Первое условие: Когда LUT является ранее отсеченной (т.е. отсутствуют идентичный mv среди кандидатов в HMVP LUT)
[0470] - Второе условие: Когда размер таблицы HMVP LUT соответствует 6
[0471] - Третье условие: Когда максимальное количество доступных (или существующих) кандидатов на слияние для добавления кандидата HMVP в список слияния соответствует 4. Т.е. это происходит, когда количество кандидатов на слияние в списке слияния меньше значения, полученного путем вычитания 1 из максимального размера списка слияния (или максимального количества кандидатов на слияние). Например, максимальный размер списка слияния может быть 6, и если количество текущих доступных кандидатов на слияние меньше 5, то может быть добавлен (или вставлен) кандидат HMVP. Другими словами, кандидат HMVP может быть добавлен только вплоть до индекса 5 списка слияния.
[0472] Когда кандидат HMVP добавляется в список слияния (т.е. становится кандидатом на слияние), каждому кандидату HMVP может потребоваться проверка отсечения для удаления дубликата среди кандидатов на слияние. В соответствии с существующей методикой сжатия изображения, худшее количество проверок отсечения, которое требуется для добавления HMVP в список слияния, может быть вычислено, как показано в Таблице 8 ниже.
[0473] [Таблица 8]
N<sub>ST</sub>
N<sub>mrgToBeAdded</sub>
N<sub>HMVPChecked</sub>
N<sub>max_hmvp_prunning</sub>
0
5
6
0
1
4
6
4
2
3
6
7
3
2
6
9
4
1
6
10
[0474] Обращаясь к Таблице 8, в соответствии с существующей методикой сжатия изображения, проверка отсечения может быть выполнена над шестью кандидатами HMVP в таблице HMVP (или списке HMVP, списке кандидатов HMVP).
[0475] В частности, 1) когда присутствует один кандидат в списке слияния, в список слияния может быть добавлено 4 кандидата HMVP. Затем, могут быть выполнены проверки отсечения для шести кандидатов HMVP. В данном случае, количество худших проверок отсечения может быть 4. 2) Когда присутствует два кандидата в списке слияния, в список слияния может быть добавлено 3 кандидата HMVP. Затем, могут быть выполнены проверки отсечения для шести кандидатов HMVP. В данном случае, количество худших проверок отсечения может быть 7. 3) Когда присутствует три кандидата в списке слияния, в список слияния может быть добавлено 2 кандидата HMVP. Затем, могут быть выполнены проверки отсечения для шести кандидатов HMVP. В данном случае, количество худших проверок отсечения может быть 9. 4) Когда присутствует четыре кандидата в списке слияния, в список слияния может быть добавлен 1 кандидат HMVP. Затем, могут быть выполнены проверки отсечения для шести кандидатов HMVP. В данном случае, количество худших проверок отсечения может быть 10.
[0476] В варианте осуществления изобретения, предлагается способ для уменьшения количества худших проверок отсечения, описанный выше. Если в списке слияния присутствует много кандидатов на слияние, то поскольку результат кодирования HMVP уменьшатся по мере увеличения кандидатов на слияние (т.е. кандидатов не-HMVP), то возможно, потребуется уменьшение количества кандидатов HMVP, которые должны быть отсечены. Соответственно, в варианте осуществления изобретения, кодер/декодер может устанавливать количество кандидатов HMVP, которые должны быть проверены (NHMVPChecked), равным количеству доступных кандидатов HMVP, которые должны быть добавлены (NmrgToBeAdded), для того чтобы уменьшить количество худших проверок отсечения. В данном случае, количество худших проверок отсечения может быть вычислено, как показано в Таблице 9 ниже.
[0477] [Таблица 9]
N<sub>ST</sub>
N<sub>mrgToBeAdded</sub>
N<sub>HMVPChecked</sub>
N<sub>max_hmvp_prunning</sub>
0
5
5
0
1
4
4
4
2
3
3
6
3
2
2
6
4
1
1
4
[0478] Обращаясь к Таблице 9, количество наихудших проверок отсечения для HMVP может уменьшено с 10 до 6 в сравнении с обычными методиками сжатия изображения.
[0479] Обращаясь к Таблице 9, в варианте осуществления, 1) когда присутствует один кандидат в списке слияния, в список слияния может быть добавлено 4 кандидата HMVP. Затем, могут быть выполнены проверки отсечения для четырех кандидатов HMVP. В данном случае, количество худших проверок отсечения может быть 4. 2) Когда присутствует два кандидата в списке слияния, в список слияния может быть добавлено 3 кандидата HMVP. Затем, могут быть выполнены проверки отсечения для трех кандидатов HMVP. В данном случае, количество худших проверок отсечения может быть 6. 3) Когда присутствует три кандидата в списке слияния, в список слияния может быть добавлено 2 кандидата HMVP. Затем, могут быть выполнены проверки отсечения для двух кандидатов HMVP. В данном случае, количество худших проверок отсечения может быть 6. 4) Когда присутствует четыре кандидата в списке слияния, в список слияния может быть добавлен 1 кандидат HMVP. Затем, могут быть выполнены проверки отсечения для одного кандидата HMVP. В данном случае, количество худших проверок отсечения может быть 4.
[0480] В варианте осуществления изобретения, для того чтобы уменьшить количество наихудших проверок отсечения, кодер/декодер может устанавливать количество кандидатов HMVP, в отношении которых должна быть осуществлена проверка отсечения, чтобы оно было точно таким же, как сумма количества доступных кандидатов HMVP (NmrgToBeAdded), которые должны быть добавлены, и K. Здесь K представляет собой предварительно определенное постоянное значение. В качестве примера, когда K соответствует 1, наихудшее количество проверок отсечения может быть вычислено, как показано в Таблице 10 ниже.
[0481] [Таблица 10]
N<sub>ST</sub>
N<sub>mrgToBeAdded</sub>
N<sub>HMVPChecked</sub>
N<sub>max_hmvp_prunning</sub>
0
5
6
0
1
4
5
4
2
3
4
7
3
2
3
8
4
1
2
7
[0482] Обращаясь к Таблице 10, в варианте осуществления, 1) когда присутствует один кандидат в списке слияния, в список слияния может быть добавлено 4 кандидата HMVP. Затем, могут быть выполнены проверки отсечения для пяти кандидатов HMVP. В данном случае, количество худших проверок отсечения может быть 4. 2) Когда присутствует два кандидата в списке слияния, в список слияния может быть добавлено 3 кандидата HMVP. Затем, могут быть выполнены проверки отсечения для четырех кандидатов HMVP. В данном случае, количество худших проверок отсечения может быть 7. 3) Когда присутствует три кандидата в списке слияния, в список слияния может быть добавлено 2 кандидата HMVP. Затем, могут быть выполнены проверки отсечения для трех кандидатов HMVP. В данном случае, количество худших проверок отсечения может быть 8. 4) Когда присутствует четыре кандидата в списке слияния, в список слияния может быть добавлен 1 кандидат HMVP. Затем, могут быть выполнены проверки отсечения для двух кандидатов HMVP. В данном случае, количество худших проверок отсечения может быть 7.
[0483] В варианте осуществления изобретения, для того чтобы уменьшить проверки отсечения в худшем случае, количество кандидатов HMVP, которые должны быть проверены (NHMVPChecked), может быть определено как в Уравнении 28 ниже.
[0484] [Уравнение 28]
[0485] В Уравнении 28, C представляет собой предварительно определенное постоянное значение. Если C соответствует 2, то худшее количество проверок отсечения может быть вычислено, как показано в Таблице 11 ниже.
[0486] [Таблица 11]
N<sub>ST</sub>
N<sub>mrgToBeAdded</sub>
N<sub>HMVPChecked</sub>
N<sub>max_hmvp_prunning</sub>
0
5
6
0
1
4
6
4
2
3
6
7
3
2
4
9
4
1
2
7
[0487] Обращаясь к Таблице 11, в варианте осуществления, 1) когда присутствует один кандидат в списке слияния, в список слияния может быть добавлено 4 кандидата HMVP. Затем, могут быть выполнены проверки отсечения для шести кандидатов HMVP. В данном случае, количество худших проверок отсечения может быть 4. 2) Когда присутствует два кандидата в списке слияния, в список слияния может быть добавлено 3 кандидата HMVP. Затем, могут быть выполнены проверки отсечения для шести кандидатов HMVP. В данном случае, количество худших проверок отсечения может быть 7. 3) Когда присутствует три кандидата в списке слияния, в список слияния может быть добавлено 2 кандидата HMVP. Затем, могут быть выполнены проверки отсечения для четырех кандидатов HMVP. В данном случае, количество худших проверок отсечения может быть 9. 4) Когда присутствует четыре кандидата в списке слияния, в список слияния может быть добавлен 1 кандидат HMVP. Затем, могут быть выполнены проверки отсечения для двух кандидатов HMVP. В данном случае, количество худших проверок отсечения может быть 7.
[0488]
[0489] Когда HMVP добавляется в список слияния и/или список AMVP, вновь требуется выполнение отсечения, чтобы не допустить дублирования с кандидатами, существующими в списке отсечения и/или списке AMVP. Если HMVP LUT уже отсечена посредством ограниченной операции FIFO, как описано на Фиг. 29 выше, то при вставке (или добавлении) кандидата HMVP в список слияния, сравнение (или проверка отсечения) между кандидатами HMVP может не потребоваться. По этой причине количество проверок отсечения может быть уменьшено, при использовании неограничивающей таблицы FIFO, как описано на Фиг. 28 выше. Это потому, что проверки отсечения между кандидатами HMVP необходимы, при вставке кандидатов HMVP в список слияния. Как описано выше, в изобретении, HMVP LUT не ограничена своим названием, и может упоминаться как LUT, таблица, таблица HMVP, таблица кандидатов HMVP, буфер, буфер HMVP, буфер кандидатов HMVP, список HMVP, список кандидатов HMVP, список кандидатов HMVP, список основанных на истории кандидатов на слияние и т.д.
[0490] В одном варианте осуществления изобретения, может быть определен размер HMVP таблицы поиска (LUT) с учетом процесса вставки кандидата HMVP для создания списка слияния и/или списка AMVP. В частности, кандидаты HMVP могут быть добавлены вплоть до предварительно определенного размера списка слияния. Например, когда размер максимального списка слияния определяется как 6, HMVP не может быть 6-м кандидатом. Если 5 кандидатов на слияние доступны (или присутствуют) в списке слияния, то кандидат HMVP не может быть добавлен. В данном случае, шестой кандидат может быть выбран из кандидатов отличных от HMVP (или в соответствии с другим способом). Вследствие этого, с учетом описанного выше процесса вставки кандидата HMVP, в одном варианте осуществления изобретения, предлагается следующий способ выбора размера HMVP LUT.
[0491] В качестве варианта осуществления, размер таблицы HMVP LUT может быть определен или установлен равным (MaxNumMergeCand-K). Здесь, MaxNumMergeCand указывает максимальный список кандидатов на слияние (или максимальное количество кандидатов, включенных в список кандидатов на слияние или максимальное количество кандидатов на слияние), и в это время MaxNumMergeCand может быть определена как 6. K представляет собой предварительно определенную константу. Например, K может быть 1, и размер HMVP LUT может быть 5.
[0492] В соответствии с вариантом осуществления изобретения, путем ограничения HMVP до MaxNumMergeCand-K (как описано выше, например, K соответствует 1), худшее количество проверок отсечения (или худший случай) может быть уменьшен при добавлении HMVP в список слияния и/или таблицу HMVP. (Ограниченная операция FIFO, описанная ранее на Фиг. 29). В дополнение, в соответствии с вариантом осуществления изобретения, память для хранения HMVP LUT, может быть уменьшена.
[0493] В варианте осуществления изобретения, процесс обновления, такой как вариант осуществления, описанный ниже, может быть применен к таблице с кандидатами на движение HMVP с учетом описанного выше размера таблицы HMVP. Нижеследующие варианты осуществления являются примерами процесса обновления таблицы HMVP, и варианты осуществления изобретения этим не ограничены.
[0494]
[0495] Процесс обновления таблицы HMVP
[0496] Сначала, ввод процесса обновления таблицы HMVP может быть определен следующим образом.
[0497] - Векторы движения mvL0 и mvL1
[0498] - Опорные индексы refIdxL0 и refIdxL1
[0499] - Флаги использования списка предсказания predFlagL0 и preFlagL1
[0500] Выводом данного процесса обновления может быть модифицированный массив списка кандидатов HMVP. В данном процессе, mvCand представляет собой переменную, указывающую кандидата на вектор движения с векторами движения, опорными индексами и флагами использования списка предсказания.
[0501] Данный процесс обновления может быть выполнен в следующих этапах.
[0502] 1. Переменная identicalCandExist устанавливается в значение ложь, а переменная tempIdx устанавливается в 0. Здесь, identicalCandExist является переменной, указывающей, присутствует ли одна и та же информация о движении в списке кандидатов HMVP, а tempIdx является переменной, указывающей индекс кандидата HMVP, в списке кандидатов HMVP, с одной и той же информацией о движении, что и текущего вектора движения.
[0503] 2. Если HMVPCandNum больше 0, то для каждого индекса HMVPIdx с HMVPIdx=0..HMVPCandNum-1, могут быть применены следующие этапы, до тех пор, пока переменная identicalCandExist соответствует значению истина. Здесь, HMVPCandNum представляет собой количество кандидатов HMVP в списке кандидатов HMVP, и HMVPIdx представляет собой индекс, назначенный кандидатам HMVP в списке кандидатов HMVP.
[0504] - Если mvCand имеет тот же самый вектор движения и тот же самый опорный индекс, что и у HMVPCandList[HMVPIdx] (т.е. кандидата HMVP с HMVPIdx в списке кандидатов HMVP), то identicalCandExist может быть установлена в значение истина, а tempIdx может быть установлена в HMVPIdx.
[0505] 3. И, список кандидатов HMVP может быть обновлен в соответствии со следующими этапами.
[0506] (1) Если identicalCandExist соответствует значению истина или HMVPCandNum соответствует MaxNumMergeCand-K, то могут быть применены следующие этапы. Здесь, MaxNumMergeCand является переменной, указывающей размер списка слияния (или списка кандидатов на слияние) (или максимальное количество кандидатов списка слияния, максимальное количество кандидатов на слияние), и K является произвольной постоянной. В варианте осуществления, K может быть предварительно определено. Кроме того, в варианте осуществления, K может быть установлена в 1, и MaxNumMergeCand-K может быть 5, когда значение MaxNumMergeCand определяется как 6. Также, в варианте осуществления, MaxNumMergeCand-K может быть установлено в 5. Например, если identicalCandExist соответствует значению истина или HMVPCandNum соответствует 5, то могут быть применены следующие этапы.
[0507] - Для каждого индекса idx с idx = (tempIdx+1) .. (HMVPCandNum-1), HMVPCandList [idx-1] может быть установлено в HMVPCandList [idx]. Т.е. индекс кандидата HMVP с индексом после tempIdx может быть установлен в значение, значение которого уменьшено на 1.
[0508] - HMVPCandList [HMVPCandNum-1] может быть установлено в mvCand.
[0509] (2) Иначе (т.е. если identicalCandExist соответствует значению ложь и HMVPCandNum меньше MaxNumMergeCand-K), могут быть применены следующие этапы. Как описано выше, в варианте осуществления, MaxNumMergeCand-K может быть установлено в 5. Например, иначе (т.е. identicalCandExist соответствует значению ложь, и HMVPCandNum меньше 5), могут быть применены следующие этапы.
[0510] - HMVPCandList[HMVPCandNum++] может быть установлено mvCand.
[0511] В качестве примера, данный процесс обновления может быть вызван, когда текущий слайс соответствует P или B слайсу. В это время, переменная HMVPCandNum устанавливается в 0, а переменная HMVPCandList может быть определена как массив элементов из MaxNumMergeCand-K. Как описано выше, в варианте осуществления, MaxNumMergeCand-K может быть установлено в 5. Например, в это время, переменная HMVPCandNum может быть установлена в 0 и переменная HMVPCandList может быть определена как массив элементов из 5.
[0512] Далее, будет описан другой пример процесса обновления таблицы HMVP.
[0513] Сначала, ввод процесса обновления может быть определен следующим образом.
[0514] - Векторы движения mvL0 и mvL1
[0515] - Опорные индексы refIdxL0 и refIdxL1
[0516] - Флаги использования списка предсказания predFlagL0 и preFlagL1
[0517] Выводом данного процесса обновления может быть модифицированный массив списка кандидатов HMVP. В данном процессе, mvCand представляет собой переменную, указывающую кандидата на вектор движения с векторами движения, опорными индексами и флагами использования списка предсказания.
[0518] Данный процесс обновления может быть выполнен в следующих этапах.
[0519] 1. Для каждого индекса HMVPIdx с HMVPIdx=0..HMVPCandNum-1, следующие этапы могут быть применены в очередности до тех пор, пока переменная sameCand не примет значение истина. Здесь, sameCand является переменной, указывающей, присутствует ли одна и та же информация о движении в списке кандидатов HMVP.
[0520] - Если mvCand имеет тот же самый вектор движения и тот же самый опорный индекс, что и у HMVPCandList[HMVPIdx], то sameCand устанавливается в значение истина.
[0521] - Иначе, sameCand устанавливается в значение ложь.
[0522] - HMVPIdx++ (т.е. HMVPIdx увеличивается на 1)
[0523] 2. Переменная tempIdx устанавливается в HMVPCandNum.
[0524] 3. Если sameCand соответствует значению истина или HMVPCandNum соответствует MaxNumMergeCand-K, то для каждого индекса tempIdx с tempIdx = (sameCand? HMVPIdx: 1)..HMVPCandNum-1, HMVPCandList[tempIdx] копируется или устанавливается в HMVPCandList[tempIdx-1]. K является произвольной константой. В варианте осуществления, K может быть предварительно определено. Кроме того, в варианте осуществления, K может быть установлено в 1, и MaxNumMergeCand-K может быть 5, когда значение MaxNumMergeCand определяется как 6. Также, в варианте осуществления, MaxNumMergeCand-K может быть установлено в 5.
[0525] 4. mvCand копируется в HMVPCandList[tempIdx].
[0526] 5. Если HMVPCandNum меньше MaxNumMergeCand-K, то HMVPCandNum увеличивается на один. Как описано выше, в варианте осуществления, MaxNumMergeCand-K может быть установлено в 5.
[0527] Вышеупомянутые варианты осуществления изобретения могут быть разделены и описаны, для удобства описания, но изобретение этим не ограничивается. Т.е. описанные выше варианты осуществления могут быть выполнены независимо, или один или несколько вариантов осуществления могут быть объединены и выполнены.
[0528] Фиг. 37 является блок-схемой, иллюстрирующей способ обработки видеосигнала на основании основанного на истории предсказания вектора движения в соответствии с вариантом осуществления, к которому применяется изобретение.
[0529] Обращаясь к Фиг. 37, декодер в основном описан для удобства описания, но изобретение этим не ограничено. Способ обработки видеосигнала на основании основанного на истории предсказания вектора движения в соответствии с вариантом осуществления изобретения может быть идентично выполнен в кодере и декодере.
[0530] В способе обработки видеосигнала на основании основанного на истории предсказания вектора движения, декодер конфигурирует список кандидатов на слияние на основании соседних блоков для текущего блока (S3701).
[0531] Декодер добавляет основанного на истории кандидата на слияние для текущего блока в список кандидатов на слияние (S3702).
[0532] Декодер получает индекс, указывающий кандидата на слияние, который используется для межкадрового предсказания текущего блока в списке кандидатов на слияние (S3703).
[0533] Декодер формирует сэмплы предсказания текущего блока на основании информации о движении кандидата на слияние, указанной индексом слияния (S3704).
[0534] Декодер обновляет список основанных на истории кандидатов на слияние на основании информации о движении (S3705).
[0535] Как описано выше, в качестве варианта осуществления, основанный на истории кандидат на слияние может быть добавлен в список кандидатов на слияние, если основанный на истории кандидат на слияние имеет информацию о движении, которая не перекрывается с той, что у предварительно определенного кандидата на слияние, среди кандидатов на слияние, включенных в список кандидатов на слияние.
[0536] Как описано выше, в качестве варианта осуществления, список основанных на истории кандидатов на слияние может быть определен, чтобы иметь размер, который определяется на основании максимального количества кандидатов на слияние списка кандидатов на слияние.
[0537] Как описано выше, в качестве варианта осуществления, список основанных на истории кандидатов на слияние может быть определен, чтобы иметь размер в виде значения, полученного путем вычитания 1 из максимального количества кандидатов на слияние списка кандидатов на слияние.
[0538] Как описано выше, в качестве варианта осуществления, размер списка основанных на истории кандидатов на слияние может быть определен как 5.
[0539] Как описано выше, в качестве варианта осуществления, основанный на истории кандидат на слияние может быть добавлен в список кандидатов на слияние, если основанный на истории кандидат на слияние имеет информацию о движении, которая не перекрывается с той, что у предварительно определенного конкретного количества кандидатов на слияние, среди кандидатов на слияние, включенных в список кандидатов на слияние.
[0540] Как описано выше, в качестве варианта осуществления, основанный на истории кандидат на слияние может быть добавлен в список кандидатов на слияние, если основанный на истории кандидат на слияние имеет информацию о движении, которая не перекрывается с той, что у конкретного пространственного кандидата на слияние, включенного в список кандидатов на слияние.
[0541] Как описано выше, в качестве варианта осуществления, основанный на истории кандидат на слияние может быть извлечен из предварительно определенного количества кандидатов в списке основанных на истории кандидатов на слияние.
[0542] Как описано выше, в качестве варианта осуществления, декодер может добавлять нулевой вектор движения в список слияния, когда список слияния не удовлетворяет максимальному количеству списка слияния.
[0543] Варианты осуществления, описанные в изобретении, могу быть реализованы и выполнены в процессоре, микропроцессоре, контроллере или чипе. Например, функциональные единицы, проиллюстрированные на чертежах, могут быть реализованы и выполнены в компьютере, процессоре, микропроцессоре, контроллере или чипе.
[0544] Кроме того, декодер и кодер, к которым применяется изобретение, могут быть включены в устройство передачи/приема мультимедийного вещания, терминал мобильной связи, видеоустройство домашнего кинотеатра, видеоустройство цифрового кино, камеру слежения, устройство для видео диалога, устройство связи в режиме реального времени, такое как видеосвязи, мобильное устройство потоковой передачи, запоминающий носитель информации, видеокамеру, устройство предоставления услуги видео по запросу (VoD), видеоустройство технологии «Поверх Сети» (OTT), устройство предоставления услуги потоковой передачи через Интернет, устройство трехмерного (3D) видео, устройство видео телефонии и медицинское видеоустройство, и могут быть использованы, чтобы обрабатывать видеосигналы и сигналы данных. Например, видеоустройство OTT может включать в себя игровую консоль, проигрыватель Blu-ray, ТВ доступа в Интернет, систему домашнего кинотеатра, смартфон, планшетный ПК и Цифровой Видеомагнитофон (DVR).
[0545] Кроме того, способ обработки, к которому применяется настоящее изобретение, может быть создан в форме исполняемой компьютером программы и может быть сохранен на машиночитаемом записывающем носителе информации. Мультимедийные данные со структурой данных в соответствии с изобретением также могут быть сохранены на машиночитаемом записывающем носителе информации. Машиночитаемый записывающий носитель информации включают в себя все типы запоминающих устройств, в которых хранятся машиночитаемые данные. Машиночитаемый записывающий носитель информации может включать в себя диск Blu-ray (BD), универсальную последовательную шину (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, магнитную ленту, гибкий диск и оптическое устройство хранения данных, например. Кроме того, машиночитаемый записывающий носитель информации включает в себя носители информации, реализованные в форме несущих (например, передача через Интернет). Кроме того, битовый поток, сформированный с использованием способа кодирования, может быть сохранен на машиночитаемом записывающем носителе информации или может быть передан через проводные и беспроводные сети связи.
[0546] Кроме того, вариант осуществления изобретения может быть реализован как компьютерный программный продукт с использованием программного кода. Программный код может быть выполнен компьютером в соответствии с вариантом осуществления изобретения. Программный код может быть сохранен на носителе, который может быть считан компьютером.
[0547] Устройство декодирования и устройство кодирования, к которым применяется изобретение, могут быть включены в цифровое устройство. Понятие «цифровое устройство» включает в себя все цифровые устройства, выполненные с возможностью выполнения по меньшей мере одного из передачи, приема, обработки и вывода, например, данных, контента и услуг. Здесь, обработка данных, контента, услуг и т.д. посредством цифрового устройства, включает в себя операцию кодирования и/или декодирования данных, контента, услуги и аналогичного. Цифровое устройство сопрягается или соединяется (далее упоминается как ‘сопряжение’) с другими цифровыми устройствами, внешними серверами и т.д. посредством проводной/беспроводной сети, чтобы передавать и принимать данные, и преобразовывать их при необходимости.
[0548] Цифровое устройство включает в себя, например, фиксированное устройство (или стационарное устройство), такое как сетевой ТВ, HBBTV (Гибридный Эфирный Широкополосный ТВ), интеллектуальный ТВ, IPTV (телевидение интернет протокола), ПК и т.д. и мобильное устройство (или переносное устройство), такое как PDA (Персональный Цифровой Помощник), смартфон, планшетный ПК, лэптоп. В изобретении, описанном позже, для удобства, Фиг. 39 показывает и описывает цифровой ТВ в качестве варианта осуществления для цифрового устройства, а Фиг. 40 показывает и описывает мобильное устройство в качестве варианта осуществления цифрового устройства.
[0549] Между тем, понятие «проводная/беспроводная сеть», описанное в данном документе, относится к сети связи, которая поддерживает различные стандарты связи или протоколы для взаимного соединения и/или передачи и приема данных между цифровыми устройствами или между цифровыми устройствами и внешними серверами. Эти проводные/беспроводные сети могут включать в себя как настоящие, так и будущие поддерживаемые сети связи, и протоколы связи для них, и могут быть сформированы посредством стандарта или протоколов связи для проводного соединения, таких как USB (Универсальная Последовательная Шина), CVBS (Композитный Видеосигнал), Компонентный, S-Video (Аналоговый), DVI (Цифровой Видеоинтерфейс), HDMI (Мультимедийный Интерфейс Высокой Четкости), RGB, D-SUB и аналогичное, и сформированы посредством стандартов связи для беспроводного соединения, таких как Bluetooth, Радиочастотная Идентификация (RFID), Ассоциация по Средствам Передачи Данных в Инфракрасном Диапазоне (IrDA), Сверхширокополосная Связь (UWB), ZigBee, Альянс Цифровых Сетей для Дома (DLNA), Беспроводная LAN (WLAN) (Wi-Fi), Wibro (Беспроводная широкополосная связь), WiMAX (Общемировая Совместимость Широкополосного Беспроводного Доступа), HSDPA (Высокоскоростной Пакетный Доступ Нисходящей Линии Связи), LTE (Долгосрочное Развитие), Wi-Fi Direct (Direct) и т.д.
[0550] Далее, в случае просто обращения к цифровому устройству в изобретении, это может означать фиксированное устройство или мобильное устройство, или включать в себя оба типа в зависимости от контекста.
[0551] Между тем, цифровое устройство является, например, интеллектуальным устройством, которое поддерживает функцию приема широковещательной передачи, компьютерную функцию и по меньшей мере один внешний ввод, и может поддерживать работу с электронной почтой, вэб-просмотр, банковские услуги, игру и приложение посредством проводной/беспроводной сети, описанной выше. В дополнение, цифровое устройство может включать в себя интерфейс для поддержки по меньшей мере одного средства ввода или управления (далее упоминается как средство ввода), такого как устройство ввода с ручным управлением, сенсорный экран и пульт дистанционного управления. Цифровое устройство может использовать типовую операционную систему (OS) общего назначения. Например, цифровое устройство может, добавлять, удалять, модифицировать и обновлять различные приложения в ядре OS общего назначения, и может посредством их конфигурировать и обеспечивать более ориентированную на пользователя среду.
[0552] Между тем, внешний ввод, описанный в изобретении, включает в себя внешние устройства ввода, т.е. все средства ввода или цифровые устройства, который проводным/беспроводным образом соединяются с описанными выше цифровыми устройствами и передают/принимают связанные данные через него. Здесь, внешний ввод может включать в себя все устройства, такие как мультимедийный интерфейс высокой четкости (HDMI), игровое устройство, такое как Play Station или X-Box, смартфон, планшетный ПК, принтер или интеллектуальный ТВ.
[0553] И понятие «сервер», описанное в изобретении, включает в себя клиента, т.е. все цифровые устройства или системы, который подают данные на цифровые устройства, описанные выше, и называется процессором. Примеры такого сервера включают в себя сервер портала, который предоставляет веб-страницу или веб-контент, сервер рекламы, который предоставляет данные рекламы, сервер контента, который предоставляет контент, и сервер услуги социальных сетей (SNS), сервер услуги или сервер изготовителя, предоставленный изготовителем и т.д.
[0554] Кроме того, «канал», описанный в данном документе, означает путь, средство и т.д. для передачи и приема данных, и может быть представлен, в качестве примера, широковещательным каналом. Здесь, широковещательный канал выражается в понятиях физического канала, виртуального канала и логического канала в соответствии с активацией цифрового вещания. Широковещательный канал может называться широковещательной сетью. Как описано выше, широковещательный канал относится к каналу для предоставления или осуществления доступа к широковещательному контенту, который предоставляется широковещательной станцией, и широковещательный контент главным образом основан на вещании в режиме реального времени и также называется каналом прямого эфира. Однако, в последнее время, среда для широковещательной передачи стала более разносторонней и также активируется широковещательная передача не в режиме реального времени в дополнение к широковещательной передаче в режиме реального времени. Его также можно понимать, как понятие, обозначающее весь канал. Таким образом, канал прямого эфира можно понимать, как понятие, обозначающее не только широковещательную передачу в режиме реального времени, но также весь широковещательный канал, включающий в себя широковещательную передачу не в режиме реального времени в некоторых случаях.
[0555] В изобретении, «произвольный канал» дополнительно определяется в отношении канала, отличного от описанного выше широковещательного канала. Произвольный канал может предоставлять справочник по услугам, такой как электронное расписание программ (EPG), наряду с широковещательным каналом. Справочник по услугам, GUI (Графический Интерфейс Пользователя) или экран OSD (экран Экранного Меню) могут быть сконфигурированы/предоставлены с помощью только произвольного канала.
[0556] Между тем, в отличие от широковещательного канала с предварительно определенным номером канала между приемопередатчиками, произвольный канал является каналом, который случайным образом распределяется в приемнике, и номер канала, который главным образом не перекрывается с номерами канала для выражения широковещательных каналов, распределяется произвольному каналу. Например, когда настраивается конкретный широковещательный канал, приемник принимает широковещательный сигнал и передает широковещательный контент и его информацию сигнализации посредством настроенного канала. Здесь, приемник анализирует информацию о канале из информации сигнализации и конфигурирует обозреватель каналов, EPG и аналогичное на основании проанализированной информации о канале и предоставляет ее пользователю. Когда пользователь выполняет запрос на смену канала через средство ввода, приемник отвечает соответствующим образом.
[0557] Как описано выше, поскольку широковещательный канал заранее оговорен между передающим и принимающим терминалами, то когда произвольный канал распределяется для широковещательного канала с перекрытием, то это может вызывать путаницу у пользователя или путаница может возникнуть, поэтому предпочтительно не распределять дубликаты, как описано выше. Между тем, даже если номер произвольного канала не перекрывается с номером широковещательного канала, как описано выше, то по-прежнему присутствует путаница в процессе просмотра каналов пользователем, и необходимо распределять номер произвольного канала с учетом этого. Это потому, что произвольный канал в соответствии с изобретением может также быть реализован для доступа в ответ на запрос пользователя для переключения канала через средство ввода таким же образом, как обычного широковещательного канала. Соответственно, номер произвольного канала может быть определен и отображен в форме, в которой символы написаны параллельно, как например, произвольный канал-1, произвольный канал-2 и аналогичное, вместо числовой формы аналогичной широковещательному каналу, для удобства доступа пользователя к произвольному каналу и для удобства различения или отличия от номера широковещательного канала. В данном случае, несмотря на то, что отображение номера произвольного канала может быть реализовано в форме, в которой символы написаны как в произвольном канале-1, приемник может распознавать и реализовывать произвольный канал в числовой форме, как номер широковещательного канала внутренним образом. Также номер произвольного канала может быть предоставлен в форме номера, такого как широковещательный канал, и также возможно определение и отображение номеров канала различными путями, которые могут отличаться от широковещательных каналов, как например видеоканал-1, название-1 и видео-1.
[0558] Цифровое устройство исполняет веб-браузер для веб-услуги и предоставляет различные типы веб-страниц пользователю. Здесь, веб-страница включает в себя веб-страницу, включающую в себя видеоконтент, и в изобретении видео обрабатывается отдельно или независимо от веб-страницы. И отделенное видео может быть распределено произвольному каналу, как описано выше, и предоставлено посредством справочника по услугам, или аналогичного, и выведено в соответствии с запросом на переключение канала в процессе просмотра справочника по услугам или широковещательного канала. Кроме того, применительно к услугам, таким как широковещательный контент, игры и приложения, в дополнение к веб-услугам, предварительно определенный контент, изображения, аудио, элементы и т.д. обрабатываются отдельно от самого широковещательного контента, игр и приложений, и номер произвольного канала может быть назначен для их воспроизведения, обработки и аналогичного, и может быть реализован как описано выше.
[0559] Фиг. 38 является схемой, схематично показывающей пример системы услуги, включающей в себя цифровое устройство.
[0560] Системы услуги, включающие в себя цифровые устройства, включают в себя поставщика 3810 контента CP, поставщика 3820 услуги SP, оператора 3830 сети NP и конечного пользователя 1840 домашней сети HNED (Потребитель). Здесь, HNED 3840 является, например, клиентом 3800, т.е. цифровым устройством. Поставщик 3810 контента создает и предоставляет различный контент. Как показано на Фиг. 38, в качестве такого поставщика 3810 контента могут быть приведены в качестве примера наземная вещательная компания, кабельный SO (Системный Оператор) или MSO (Несколько SO), спутниковая вещательная компания, различные Интернет вещательные компании, Частные CP и аналогичное. Между тем, поставщик 3810 контента предоставляет различные приложения в дополнение к широковещательному контенту.
[0561] Поставщик 3820 услуг предоставляет контент, предоставленный поставщиком 3810 контента, в качестве пакета услуг HNED 3840, путем упаковки контента. Например, поставщик 3820 услуг на Фиг. 38 упаковывает первую наземную широковещательную передачу, вторую наземную широковещательную передачу, кабельного MSO, спутниковую широковещательную передачу, различные Интернет широковещательные передачи, приложения и т.д. и предоставляет их HNED 3840.
[0562] Поставщик 3820 услуг предоставляет услуги клиенту 3800 одноадресным или многоадресным образом. И поставщик 3820 услуг может передавать данные множеству предварительно зарегистрированных клиентов 3800 одновременно и для этого может быть использован протокол под названием Протокол Администрирования Групп Интернет IGMP.
[0563] Описанный выше поставщик 3810 контента и поставщик 3820 услуг могут быть идентичным или единым объектом. Например, контент, который предоставляется поставщиком 3810 контента, может быть упакован в услугу и предоставлен HNED 3840, так что функции поставщика 3820 услуг выполняются вместе или наоборот.
[0564] Оператор 3830 сети предоставляет сеть для обмена данными между поставщиком 3810 контента и/или поставщиком 3820 услуг и клиентом 3800.
[0565] Клиент 3800 может создавать домашнюю сеть для передачи и приема данных.
[0566] Между тем, поставщик 3810 контента и/или поставщик 3820 услуг в системе услуг может использовать условный доступ или средство защиты контента для защиты переданного контента. В данном случае, клиент 3800 может использовать средство обработки, такое как CableCARD (POD: Точка Развертывания), DCAS (Загружаемый CAS) и т.д. в ответ на ограничение приема или защиту контента.
[0567] В дополнение, клиент 3800 также может использовать двунаправленную услугу через сеть (или сеть связи). В данном случае, клиент 3800 может в некоторой степени выполнять функцию поставщика контента, а существующий поставщик 3820 услуг может принимать его и передавать его обратно другому клиенту.
[0568] Фиг. 39 является структурной схемой, иллюстрирующей цифровое устройство в соответствии с вариантом осуществления. Здесь, Фиг. 39, например, может соответствовать клиенту 3800 на Фиг. 38, и обращаться к цифровому устройству, описанному выше.
[0569] Цифровое устройство 3900 включает в себя сетевой интерфейс 3901, средство 3902 администрирования TCP/IP, средство 3903 администрирования доставки услуги, декодер 3904 SI, демультиплексор 3905 (demux), декодер 3906 аудио, декодер 3907 видео, модуль 3908 отображения (дисплей A/V и OSD), средство 3909 администрирования управления услугой, средство 3910 администрирования обнаружения услуги, базу 3911 данных SI и метаданных, средство 3912 администрирования метаданных, средство 3913 администрирования услуги, средство 3914 администрирования UI и аналогичное.
[0570] Сетевой интерфейс 3901 принимает или передает IP-пакеты через сеть. Т.е. сетевой интерфейс 3901 принимает услуги, контент и аналогичное от поставщика 3820 услуг через сеть.
[0571] Средство 3902 администрирования TCP/IP участвует в передаче пакетов между источником и получателем IP-пакетов, принятых цифровым устройство 3900, и IP-пакетов, переданных цифровым устройством 3900. И средство 3902 администрирования TCP/IP классифицирует принятые пакеты по соответствию подходящему протоколу и выводит классифицированные пакеты в средство 3905 администрирования доставки услуги, средство 3910 администрирования обнаружения услуги, средство 3909 администрирования управления услугой, средство 3912 администрирования метаданных и т.д. Средство 3903 администрирования доставки услуги отвечает за управление принятыми данными услуги. Например, средство 3903 администрирования доставки услуги может использовать RTP/RTCP при управлении данными потоковой передачи в режиме реального времени. Когда данные потоковой передачи в режиме реального времени передаются с использованием RTP, средство 3903 администрирования доставки услуги анализирует принятый пакет данных в соответствии с RTP и передает его демультиплексору 3905 или сохраняет его в базе 3911 данных SI и метаданных под управлением средства 3913 администрирования услуги. И средство 3903 администрирования доставки услуги использует RTCP для подачи обратно информации о сетевом приеме серверу, который предоставляет услугу. Демультиплексор 3905 демультиплексирует принятые пакеты на аудио, видео и данные системной информации SI, и передает их декодеру 3906/3907 аудио/видео и декодеру 3904 SI, соответственно.
[0572] Декодер 3904 SI декодирует системную информацию, такую как особую для программы информацию PSI, протокол информации о программе и системе PSIP и информацию об услуги цифрового видеовещания DVB-SI.
[0573] И декодер 3904 SI сохраняет декодированную информацию об услуге в базе 3911 данных SI и метаданных, например. Информация об услуге, которая сохранена таким образом, может быть считана и использована соответствующей конфигурацией, например, запросом пользователя.
[0574] Декодер 3906/3907 аудио/видео декодирует каждые аудиоданные и видеоданные, демультиплексированные демультиплексором 3905. Таким образом декодированные аудиоданные и видеоданные предоставляются пользователю посредством модуля 3908 отображения.
[0575] Средство администрирования приложения может включать в себя, например, средство 3914 администрирования UI и средство 3913 администрирования услуги. Средство администрирования приложения осуществления администрирование общим состоянием цифрового устройства 3900, предоставляет интерфейс пользователя и осуществляет администрирование другими средствами администрирования.
[0576] Средство 3914 администрирования UI предоставляет графический интерфейс пользователя GUI для пользователя с использованием экранного меню OSD или аналогичного, и принимает ввод клавиши от пользователя для выполнения операции устройства в соответствии с вводом. Например, когда средство 3914 администрирования UI принимает ввод клавиши касательно выбора канала от пользователя, средство 3914 администрирования UI передает сигнал ввода клавиши средству 3913 администрирования услуги.
[0577] Средство 3913 администрирования услуги управляет средствами администрирования, ассоциированными с услугой, такими как средство 3903 администрирования доставки услуги, средство 3910 администрирования обнаружения услуги, средство 3909 администрирования управления услугой и средство 3912 администрирования метаданных.
[0578] И средство 3913 администрирования услуги создает карту канала и выбирает канал с использованием карты канала в соответствии с вводом клавиши, принятым от средства 3914 администрирования интерфейса пользователя. И средство 3913 администрирования услуги принимает информацию об услуге канала от декодера 3904 SI и устанавливает идентификатор пакета аудио/видео PID выбранного канала в демультиплексоре 3905. PID, установленный данным образом, используется в процессе демультиплексирования, описанном выше. Вследствие этого, демультиплексор 3905 фильтрует аудиоданные, видеоданные и данные SI с использование PID.
[0579] Средство 3910 обнаружения услуги предоставляет информацию, необходимую для выбора поставщика услуги, предоставляющего услугу. Когда сигнал касательно выбора канала принимается от средства 3913 администрирования услуги, средство 3910 администрирования обнаружения услуги находит услугу с использованием информации.
[0580] Средство 3909 администрирования управления услугой отвечает за выбор и управление услугами. Например, средство 3909 администрирования управления услугой использует IGMP или RTSP или аналогичное, когда пользователь выбирает услугу широковещательной передачи в прямом эфире, такую как обычный способ широковещательной передачи, и использует RTSP для выбора и управления услугой, при выборе услуги, такой как VOD (видео по запросу). Протокол RTSP может обеспечивать режим быстрого доступа к объектам мультимедиа применительно к потоковой передаче в режиме реального времени. И средство 3909 администрирования управления услугой может инициализировать и осуществлять администрирование сеансом через шлюз 3950 IMS с использованием мультимедийной подсистемы IP IMS и протокола инициации сеанса SIP. Протокол является одним вариантом осуществления, и другие протоколы могут быть использованы в соответствии с примерами реализации.
[0581] Средство 3912 администрирования метаданных осуществляет администрирование метаданных, ассоциированных с услугой, и сохраняет метаданные в базе 3911 данных SI и метаданных.
[0582] База 3911 данных SI и метаданных хранит информацию об слуге, декодированную декодером 3904 SI, метаданные, администрирование которых осуществляется средством 3912 администрирования метаданных, и информацию, необходимую для выбора поставщика услуг, которая предоставляется средством 3910 администрирования обнаружения услуги. И база 3911 данных SI и метаданных может хранить данные настройки и аналогичное для системы.
[0583] База 3911 данных SI и метаданных может быть реализована с использованием энергонезависимой RAM NVRAM, флэш-памяти или аналогичного.
[0584] Между тем, шлюз 3950 IMS является шлюзом, который собирает функции, необходимые для осуществления доступа к основанной на IMS услуге IPTV.
[0585] Фиг. 40 является структурной схемой конфигурации, иллюстрирующей другой вариант осуществления цифрового устройства. В частности, Фиг. 40 иллюстрирует структурную схему мобильного устройства в качестве другого варианта осуществления цифрового устройства.
[0586] Обращаясь к Фиг. 40 мобильное устройство 4000 может включать в себя блок 4010 беспроводной связи, блок 4020 ввода аудио/видео A/V, блок 4030 ввода пользователя, сенсорный блок 4040, блок 4050 вывода, память 4060, блок 4070 интерфейса, блок 4080 управления и блок 4090 подачи питания. Компоненты, показанные на Фиг. 40, не являются неотъемлемыми, так что может быть реализовано мобильное устройство с большим или меньшим числом компонентов.
[0587] Блок 4010 беспроводной связи может включать в себя один или несколько модулей, которые обеспечивают беспроводную связь между мобильным устройством 4000 и системой беспроводной связи или между мобильным устройством и сетью, в которой располагается мобильное устройство. Например, блок 4010 беспроводной связи может включать в себя модуль 4011 приема широковещательной передачи, модуль 4012 мобильной связи, модуль 4013 беспроводной сети Интернет, модуль 4014 связи малого радиуса действия и модуль 4015 информации о местоположении.
[0588] Модуль 4011 приема широковещательной передачи принимает широковещательный сигнал и/или связанную с широковещательной передачей информацию от внешнего сервера администрирования широковещательной передачи через широковещательный канал. Здесь, широковещательный канал может включать в себя спутниковый канал и наземный канал. Сервер администрирования широковещательной передачи может означать сервер, который формирует и передает широковещательные сигналы и/или связанную с широковещательной передачей информацию, или сервер, который принимает ранее сформированные широковещательные сигналы и/или связанную с широковещательной передачей информацию и передает их терминалу. Широковещательный сигнал может включать в себя сигнал ТВ вещания, сигнал радиовещания и широковещательный сигнал данных и также может включать в себя объединенный сигнал, в котором широковещательный сигнал данных объединяется с сигналом вещания ТВ или сигналом радиовещания.
[0589] Связанная с широковещательной передачей информация может означать информацию, связанную с широковещательным каналом, широковещательной программой или поставщиком услуг широковещательной передачи. Связанная с широковещательной передачей информация может также быть предоставлена посредством сети мобильной связи. В данном случае, она может быть принята модулем 4012 мобильной связи.
[0590] Связанная с широковещательной передачей информация может присутствовать в различных формах, например, электронного расписания программ или электронного справочника по услугам ESG.
[0591] Модуль 4011 приема широковещательной передачи может принимать цифровой широковещательный сигнал с использованием цифровой широковещательной системы, такой как, например, ATSC, наземное цифровое видеовещание DVB-T, спутниковое DVB-S, Мультимедийная Только Прямая Линия Связи MediaFLO, портативное DVB-H, наземное широковещание с интегрированными цифровыми услугами ISDB-T и аналогичное. Конечно, модуль 4011 приема широковещательной передачи может быть сконфигурирован, чтобы подходить для других систем широковещательной передачи, как, впрочем, и цифровой системы широковещательной передачи, описанной выше.
[0592] Широковещательный сигнал и/или связанная с широковещательной передачей информация, принятая через модуль 4011 приема широковещательной информации, может быть сохранена в памяти 4060.
[0593] Модуль 4012 мобильной связи передает и принимает радиосигнал к и от по меньшей мере одно из базовой станции, внешнего терминала и сервера в сети мобильной связи. Беспроводной сигнал может включать в себя различные типы данных в соответствии с передачей и приемом голосового сигнала, сигнала видео вызова или текстового/мультимедийного сообщения.
[0594] Модуль 4013 беспроводной сети Интернет включает в себя модуль для беспроводного доступа к сети Интернет и может быть встроенным или внешним для мобильного устройства 4000. В качестве технологии беспроводного Интернет могут быть использованы беспроводная LAN (WLAN) (Wi-Fi), беспроводная широкополосная связь Wibro, общемировая совместимость широкополосного беспроводного доступа WiMAX и высокоскоростной пакетный доступ нисходящей линии связи HSDPA.
[0595] Модуль 4014 связи малого радиуса действия относится к модулю для связи малого радиуса действия. Могут быть использованы Bluetooth малого радиуса действия, RFID (радиочастотная Идентификация), инфракрасная связь (IrDA, ассоциация по средствам передачи данных в инфракрасном диапазоне), UWB (сверхширокополосная связь), ZigBee, RS-232, RS-485 и т.д.
[0596] Модуль 4015 информации о местоположении является модулем для получения информации о местоположении мобильного устройства 4000, и может использовать модуль глобальной системы позиционирования в качестве примера.
[0597] Блок 4020 ввода A/V служит для ввода аудиосигнала и/или видеосигнала, и может включать в себя камеру 4021, микрофон 4022 и аналогичное. Камера 4021 обрабатывает кадры изображения, такие как неподвижные изображения или движущиеся картинки, полученные посредством датчика изображения в режиме видео вызова или режиме съемки. Обработанный кадр изображения может быть отображен в блоке 4051 отображения.
[0598] Кадры изображения, обработанные камерой 4021, могут быть сохранены в памяти 4060 или переданы во вне через блок 4010 беспроводной связи. Две или несколько камер 4021 могут быть предоставлены в зависимости от среды использования.
[0599] Микрофон 4022 принимает внешний звуковой сигнал посредством микрофона в режиме вызова или режиме записи, режиме распознавания голоса и т.д., и обрабатывает его в качестве электрических голосовых данных. Обработанные голосовые данные могут быть преобразованы и выведены в форме, которая может быть передана базовой станции мобильной связи через модуль 4012 мобильной связи в режиме вызова. Микрофон 4022 может быть реализован с различными алгоритмами подавления шума для удаления шума, который формируется в процессе приема внешнего звукового сигнала.
[0600] Блок 4030 ввода пользователя формирует данные ввода для пользователя, чтобы управлять работой терминала. Блок 4030 ввода пользователя может быть выполнен в виде клавишной панели, купольного переключателя, сенсорной панели (на основе давления/емкостного типа), безупорного колеса, безупорного переключателя или аналогичного.
[0601] Сенсорный блок 4040 отображает текущее состояние мобильного устройства 4000, такое как открытое/закрытое состояние мобильного устройства 4000, местоположение мобильного устройства 4000, наличие или отсутствие контакта с пользователем, ориентацию мобильного устройства и ускорение/замедление мобильного устройства. Он регистрирует и формирует сенсорный сигнал для управления работой мобильного устройства 4000. Например, когда мобильное устройство 4000 перемещается или наклоняется, то может быть зарегистрировано положение или наклон мобильного устройства. И может быть зарегистрировано, подается ли питание к блоку 4090 подачи питания или соединены ли внешние устройства с блоком 4070 интерфейса. Между тем, сенсорный блок 4040 может включать в себя датчик 4041 приближения, включающий в себя связь ближнего поля NFC.
[0602] Блок 4050 вывода служит для формирования вывода, связанного со зрением, слухом или тактильным ощущением, и может включать в себя блок 4051 отображения, модуль 4052 вывода аудио, блок 4053 оповещения и тактильный модуль 4054.
[0603] Блок 4051 отображения отображает или выводит информацию, обработанную мобильным устройством 4000. Например, когда мобильное устройство находится в режиме вызова, отображается интерфейс пользователя UI или графический интерфейс пользователя GUI, связанный с вызовом. Когда мобильное устройство 4000 находится в режиме видео вызова или режиме съемки, отображается снятое и/или принятое видео, UI или GUI.
[0604] Блок 4051 отображения может включать в себя жидкокристаллический дисплей LCD, жидкокристаллический дисплей на тонкопленочных транзисторах TFT LCD, органический светоизлучающий диод OLED и гибкий дисплей, и 3D дисплей.
[0605] Некоторые из этих дисплеев могут быть прозрачного типа или пропускающего свет типа, так что через них может быть видно то, что снаружи. Это может называться прозрачным дисплеем и типичным примером прозрачного дисплея является прозрачный OLED TOLED. Задняя структура блока 4051 отображения также может быть выполнена в качестве пропускающей свет структуры. С помощью данной структуры пользователь может видеть объекты, расположенные позади корпуса терминала через зону, которую занимает блок 4051 отображения корпуса терминала.
[0606] Могут присутствовать два или несколько блоков 4051 отображения в зависимости от формы реализации мобильного устройства 4000. Например, множество блоков отображения могут быть расположены на расстоянии от одной поверхности или расположены как целая часть в мобильном устройстве 4000, или могут быть соответственно расположены на разных поверхностях.
[0607] Когда блок 4051 отображения и датчик, обнаруживающий операцию касания (далее упоминается как ‘датчик касания’), формируют взаимную слоистую структуру (далее упоминается как ‘сенсорный экран’), то блок 4051 отображения может быть использован в качестве устройства ввода в дополнение к устройству вывода. Сенсорный экран может иметь форму, например, сенсорной пленки, сенсорного листа или сенсорной панели.
[0608] Датчик касания может быть выполнен с возможностью преобразования изменения давления, которое применяется к конкретному участку блока 4051 отображения, или емкости, которая формируется в конкретном участке блока 4051 отображения, в электрический входной сигнал. Датчик касания может быть выполнен с возможностью обнаружения не только позиции и зоны, в которых осуществляется касание, но также давления в момент касания.
[0609] Если осуществляется ввод касания через датчик касания, то соответствующие сигналы отправляются контроллеру касания. Контроллер касания обрабатывает сигналы и затем передает соответствующие данные контроллеру 4080. Соответственно, блок 4080 управления может знать, по какой зоне блока 4051 отображения было осуществлено касание и аналогичное.
[0610] Датчик 4041 приближения может быть расположен во внутренней зоне мобильного устройства, окруженной сенсорным экраном или рядом с сенсорным экраном. Датчик приближения относится к датчику, который обнаруживает наличие или отсутствие объекта, который приближается к предварительно определенной поверхности обнаружения, или объекта в окрестности, с использованием механической силы или инфракрасного света без механического контакта. Датчики приближения обладают более длительным сроком службы и более высоким коэффициентом использования, чем контактные датчики.
[0611] Примеры датчика приближения включают в себя фотоэлектрический датчик проходного типа, фотоэлектрический датчик типа направленного отражения, фотоэлектрический датчик типа зеркального отражения, датчик приближения типа высокочастотного колебания, датчик приближения емкостного типа, датчик приближения магнитного типа и инфракрасный датчик приближения. Когда сенсорный экран является емкостным, то он выполнен с возможностью обнаружения приближения указателя из-за изменения электрического поля в соответствии с приближением указателя. В данном случае, сенсорный экран (датчик касания) может быть классифицирован как датчик приближения.
[0612] Далее, для удобства описания, действие, которое вызывает распознавание позиционирования указателя на сенсорном экране без того, что указатель касается сенсорного экрана, упоминается как «касание посредством приближения», а действие фактического касания указателя сенсорного экрана упоминается как «касание посредством контакта». Местоположение на сенсорном экране, в отношении которого осуществляется касание посредством приближения с помощью указателя, означает местоположение, в котором указатель соответствует вертикально сенсорному экрану, когда указатель близко прикасается.
[0613] Датчик приближения обнаруживает касание посредством приближения и сэмпл касания посредством приближения (например, расстояние касания посредством приближения, направление касания посредством приближения, скорость касания посредством приближения, время касания посредством приближения, позицию касания посредством приближения, состояние перемещения касания посредством приближения и т.д.) Информация, соответствующая зарегистрированной операции касания посредством приближения и сэмпл касания посредством приближения может быть выведена на сенсорный экран.
[0614] Модуль 4052 вывода аудио может выводить аудиоданные, принятые от блока 4010 беспроводной связи в режиме вызова, приема сигнала вызова или режиме записи, режиме распознавания голоса, режиме приема широковещательной передачи или аналогичном или аудиоданных, которые хранятся в памяти 4060. Модуль 4052 вывода аудио также может выводить аудиосигналы, связанные с функциями (например, звук приема сигнала вызова, звук приема сообщения и т.д.), которые выполняются в мобильном устройстве 4000. Модуль 4052 вывода аудио может включать в себя приемник, громкоговоритель и зуммер.
[0615] Модуль 4053 оповещения выводит сигнал для уведомления о возникновении события в мобильном устройстве 4000. Примеры событий, которые формируются в мобильном устройстве, включают в себя прием сигнала вызова, прием сообщения, сигнал ввода клавиши и ввода касания. Блок 4053 оповещения может выводить сигнал для уведомления о возникновении события посредством других форм, например, вибрации, в дополнение к видеосигналу или аудиосигналу.
[0616] Видеосигнал или аудиосигнал также могут быть выведены через блок 4051 отображения или модуль 4052 вывода аудио, так что блок 4051 отображения и модуль 4052 вывода аудио могут быть классифицированы как часть модуля 4053 оповещения.
[0617] Тактильный модуль 4054 формирует различные тактильные эффекты, которые может ощущать пользователь. Вибрация является типичным примером тактильного эффекта, который формируется тактильным модулем 4054. Интенсивность и сэмпл вибрации, которая формируется тактильным модулем 4054, являются управляемыми. Например, разные вибрации могу быть синтезированы и выведены или выведены последовательно.
[0618] В дополнение к вибрации тактильный модуль может формировать различные тактильные эффекты, включая эффекты раздражения, как например компоновка штифтов, которые перемещаются вертикально по отношению к поверхности контакта кожи, силы истечения или силы всасывания воздуха посредством истечения или всасывания, соприкосновения с поверхностью кожи, контакта с электродами, электростатической силы и аналогичного, и эффект воспроизведения ощущения холода или тепла с использованием элемента, выполненного с возможностью поглощения тепла или формирования тепла.
[0619] Тактильный модуль 4054 может не только доставлять тактильный эффект посредством непосредственного контакта, но также реализует его так, что пользователь может ощущать тактильный эффект посредством мышечных чувств, как например пальцами или руками. Два или несколько тактильных модулей 4054 могут быть предоставлены в соответствии с аспектом конфигурации мобильного устройства 4000.
[0620] Память 4060 может хранить программу для работы блока 4080 управления и может временно хранить входные/выходные данные (например, телефонную книгу, сообщение, неподвижное изображение, видео и т.д.). Память 4060 также может хранить данные, связанные с различными сэмплами вибрации и звука, которые выводятся, когда касание вводится через сенсорный экран.
[0621] Память 4060 может включать в себя запоминающий носитель информации по меньшей мере одного из типа флэш-памяти, типа жесткого диска, типа мультимедийной микро-карты, памяти типа карты (например, памяти SD или XD и т.д.), памяти с произвольным доступом RAM, статической памяти с произвольным доступом SRAM, постоянной памяти ROM, электрически стираемой программируемой постоянной памяти EEPROM, программируемой постоянной памяти PROM, магнитной памяти, оптического диска. Мобильное устройство 4000 может работать в соединении с веб-хранилищем, которое выполняет функцию хранения памяти 4060 в Интернет.
[0622] Блок 4070 интерфейса служит в качестве прохода для всех внешних устройств, соединенных с мобильным устройством 4000. Блок 4070 интерфейса принимает данные от внешнего устройства, принимает питание и передает данные каждому компоненту внутри мобильного устройства 4000, или обеспечивает передачу данных, внутри мобильного устройства 4000, внешнему устройству. Например, порт проводных/беспроводных наушников, порт внешнего зарядного устройства, порт проводной/беспроводной передачи данных, порт карты памяти, порт для соединения с устройствами, оборудованными модулем идентификации, порт ввода/вывода аудио, порт I/O видео, порт головного телефона и аналогичное могут быть включены в блок 4070 интерфейса.
[0623] Модуль идентификации является чипом, который хранит различную информацию для аутентификации прав на использование мобильного устройства 4000, и может включать в себя модуль идентификации пользователя UIM, модуль идентификационных данных абонента SIM, универсальный модуль идентификационных данных абонента USIM и аналогичное. Устройство, оборудованное модулем идентификации (далее упоминается как ‘устройство идентификации’), может быть изготовлено в формате интеллектуальной карты. Вследствие этого, устройство идентификации может быть соединено с терминалом 4000 посредством порта.
[0624] Когда мобильный терминал 4000 соединяется с внешней опорой, блок 4070 интерфейса может становиться проходом, через который питание от опоры подается на мобильный терминал 4000, или проходом, через который различные сигналы команды вводятся от опоры пользователем. Различные сигналы команды или ввод питания от опоры могут обрабатываться в качестве сигнала для распознавания того, что мобильный терминал правильно установлен на опору.
[0625] Блок 4080 управления как правило управляет всей работой мобильного устройства. Например, он осуществляет управление и обработку, связанные с голосовыми вызовами, связью для передачи данных, видео вызовами и аналогичным. Блок 4080 управления может включать в себя мультимедийный модуль 4081 для воспроизведения мультимедиа. Мультимедийный модуль 4081 может быть реализован в блоке 4080 управления или может быть реализован отдельно от блока 4080 управления. Блок 4080 управления, в частности мультимедийный модуль 4081, может включать в себя устройство 100 кодирования и/или устройство 200 декодирования, описанное выше.
[0626] Блок 4080 управления может выполнять процесс распознавания сэмпла, способный распознавать рукописный ввод или ввод рисования картинки, который выполняется по сенсорному экрану, в качестве символов и изображений, соответственно.
[0627] Блок 4090 подачи питания принимает внешнее питание и внутренне питание под управлением блока 4080 управления и подает питание, которое требуется для работы каждого компонента.
[0628] Различные варианты осуществления, описанные в данном документе, могут быть реализованы в компьютере или аналогичном машиночитаемом записывающем носителе информации с использованием, например, программного обеспечения, встроенного программного обеспечения или их сочетания.
[0629] В соответствии с аппаратной реализацией, варианты осуществления, описанные в данном документе, могут быть реализованы с использованием по меньшей мере одного из проблемно-ориентированных интегральных микросхем ASIC, цифровых сигнальных процессоров DSP, устройств обработки цифрового сигнала DSPD, программируемых логических устройств PLD, программируемых вентильных матриц FPGA, процессоров, контроллеров, микроконтроллеров, микропроцессоров и электрических блоков для выполнения функций. В некоторых случаях, варианты осуществления, описанные в данном документе, могут быть реализованы посредством самого блока 4080 управления.
[0630] В соответствии с программной реализацией, варианты осуществления, такие как процедуры и функции, описанные в данном документе, могут быть реализованы в качестве отдельных модулей программного обеспечения. Каждый из модулей программного обеспечения может выполнять одну или несколько функций и операций, описанных в данном документе. Код программного обеспечения может быть реализован в приложении программного обеспечения, написанном на подходящем языке программирования. Здесь, код программного обеспечения хранится в памяти 4060 и может быть исполнен блоком 4080 управления.
[0631] Фиг. 41 является структурной схемой, иллюстрирующей цифровое устройство в соответствии с другим вариантом осуществления.
[0632] Другой пример цифрового устройства 4100 может включать в себя блок 4105 приема широковещательной передачи, блок 4156 интерфейса внешнего устройства, блок 4140 хранения, блок 4150 интерфейса ввода пользователя, блок 4170 управления, блок 4180 отображения, блок 4185 вывода аудио, блок 4190 подачи питания и блок фотографирования (не показано). Здесь, блок 4105 приема широковещательной передачи может включать в себя по меньшей мере один тюнер 4110, блок 4120 демодуляции и блок 4130 сетевого интерфейса. Однако, в зависимости от случая, блок 4105 приема широковещательной передачи может включать в себя тюнер 4110 и демодулятор 4120, но может не включать в себя блок 4130 сетевого интерфейса, и наоборот. Также, несмотря на то, что не показано, блок 4105 приема широковещательной передачи может быть оборудован мультиплексором, чтобы мультиплексировать сигнал, на который настраивается тюнер 4110 и затем демодулируется блоком 4120 демодуляции, и сигнал, принятый через блок 4130 сетевого интерфейса. Также, несмотря на то, что не показано, блок 4105 приема широковещательной передачи может быть оборудован демультиплексором, чтобы демультиплексировать мультиплексированный сигнал, демодулированный сигнал или сигнал, который прошел через блок 4130 сетевого интерфейса.
[0633] Тюнер 4110 принимает RF широковещательный сигнал путем настройки на канал, выбранный пользователем, или все предварительно сохраненные каналы среди радиочастотных RF широковещательных сигналов, принятых посредством антенны. И тюнер 4110 преобразует принятый RF широковещательный сигнал в сигнал промежуточной частоты IF или сигнал основной полосы частот.
[0634] Например, если принятый RF широковещательный сигнал является цифровым широковещательным сигналом, то он преобразуется в цифровой IF сигнал DIF, а если он является аналоговым широковещательным сигналом, то он преобразуется в аналоговый видеосигнал или аудиосигнал основной полосы частот CVBS/SIF. Т.е. тюнер 4110 может обрабатывать как цифровые широковещательные сигналы, так и аналоговые широковещательные сигналы. Аналоговый видеосигнал или аудиосигнал основной полосы частоты CVBS/SIF, который выводится из тюнера 4110, может быть непосредственно введен в контроллер 4170.
[0635] Тюнер 4110 может принимать RF широкополосный сигнал одной несущей в соответствии со схемой комитета по усовершенствованным телевизионным системам ATSC или RF широковещательный сигнал с несколькими несущими в соответствии со схемой цифрового видеовещания DVB.
[0636] Между тем, тюнер 4110 может последовательно настраиваться на и принимать RF широковещательные сигналы всех широковещательных сигналов, сохраненных посредством функции хранения канала, среди RF широковещательных сигналов, принятых посредством антенны, и преобразовывать их в сигнал промежуточной частоты или сигнал основной полосы частот.
[0637] Блок 4120 демодуляции принимает и демодулирует цифровой IF сигнал DIF, преобразованный тюнером 4110. Например, когда цифровой IF сигнал, который выводится из тюнера 4110, соответствует системе ATSC, блок 4120 демодуляции выполняет демодуляцию с 8-частично-подавленной боковой полосой 8-VSB, например. Также, блок 4120 демодуляции может выполнять канальное декодирование. С этой целью, блок 4120 демодуляции может включать в себя решетчатый декодер, обратный перемежитель, декодер Рида-Соломона и аналогичное, и выполнять решетчатое декодирование, обратное перемежение и декодирование Рида-Соломона.
[0638] Например, когда цифровой IF сигнал, который выводится из тюнера 4110, соответствует способу DVB, то блок 4120 демодуляции выполняет демодуляции кодированной модуляции с ортогональным разделением частот COFDMA, например. Кроме того, блок 4120 демодуляции может выполнять канальное декодирование. С этой целью, блок 4120 демодуляции может включать в себя сверточный декодер, обратный перемежитель и декодер Рида-Соломона, и выполнять сверточное декодирование, обратное перемежение и декодирование Рида-Соломона.
[0639] Блок 4120 демодуляции может выводить потоковый сигнал TS после демодуляции и канального декодирования. В данном случае, потоковый сигнал может быть сигналом, в котором мультиплексированы видеосигнал, аудиосигнал и данные. Например, потоковый сигнал может быть транспортным потоком TS MPEG-2, в котором мультиплексированы видеосигнал стандарта MPEG-2, аудиосигнал стандарта Dolby AC-3 и аналогичное. В частности, MPEG-2 TS может включать в себя заголовок из 4 байтов и полезную нагрузку из 184 байтов.
[0640] Между тем, описанный выше блок 4120 демодуляции может быть предоставлен отдельно в соответствии со способом ATSC и способом DVB. Т.е. цифровое устройство может отдельно включать в себя демодулятор ATSC и демодулятор DVB.
[0641] Потоковый сигнал, который выводится из демодулятора 4120, может быть введен в контроллер 4170. Блок 4170 управления может управлять демультиплексированием, обработкой видеосигнала/аудиосигнала и аналогичным, и управлять изображением, которое выводится через блок 4180 отображения, и аудио, которое выводится через блок 4185 вывода аудио.
[0642] Блок 4156 интерфейса внешнего устройства предоставляет среду, в которой различные внешние устройства взаимодействуют с цифровым устройством 4100. С этой целью, блок 4135 интерфейса внешнего устройства может включать в себя блок ввода/вывода A/V (не показано) или блок беспроводной связи (не показано).
[0643] Блок 4156 интерфейса внешнего устройства может быть соединен проводным/беспроводным образом с внешними устройствами, такими как цифровой универсальный диск (DVD), Blu-ray, игровые устройства, камеры, видеокамеры, компьютеры (лэптопы, планшеты), смартфоны, устройства Bluetooth и облако. Блок 4156 интерфейса внешнего устройства передает видеосигнал, аудиосигнал или сигнал данных (включая изображение), который вводится извне, посредством соединенного внешнего устройства, контроллеру 4170 цифрового устройства. Блок 4170 управления может управлять обработанным видеосигналом, аудиосигналом или сигналом данных, который должен быть выведен на соединенное внешнее устройство. С этой целью, блок 4156 интерфейса внешнего устройства может дополнительно включать в себя блок ввода/вывода A/V (не показано) или блок беспроводной связи (не показано).
[0644] Блок ввода/вывода A/V может включать в себя разъем USB, разъем композитного видеосигнала CVBS, компонентный разъем, разъем S-видео (аналоговый) и разъем DVI (Цифровой Видеоинтерфейс), разъем HDMI (мультимедийный интерфейс высокой четкости), разъем RGB, разъем D-SUB и аналогичное, чтобы вводить видеосигналы и аудиосигналы внешнего устройства в цифровое устройство 4100.
[0645] Блок беспроводной связи может осуществлять беспроводную связь малого радиуса действия с другими электронными устройствами. Цифровое устройство 4100 может быть соединено в сеть с другими электронными устройствами в соответствии с протоколом связи, например, Bluetooth, радиочастотной идентификации RFID, ассоциации по средствам передачи данных в инфракрасном диапазоне IrDA, сверхширокополосной связи UWB, ZigBee, альянса цифровых сетей для дома DLNA и т.д.
[0646] И блок 4156 интерфейса внешнего устройства может быть соединен по меньшей мере с одной из различных телевизионных абонентских приставок и различными разъемами, описанными выше, и выполнять операции ввода/вывода с телевизионной абонентской приставкой.
[0647] Между тем, блок 4156 интерфейса внешнего устройства может принимать приложение или список приложений в смежном внешнем устройстве и передавать его блоку 4170 управления или блоку 4140 хранения.
[0648] Блок 4130 сетевого интерфейса предоставляет интерфейс для соединения цифрового устройства 4100 с проводной/беспроводной сетью, включая сеть Интернет. Блок 4130 сетевого интерфейса может включать в себя, например, разъем Ethernet или аналогичное для соединения с проводной сетью, и использовать стандарты связи, такие как, например, беспроводная LAN (WLAN) (Wi-Fi), беспроводная широкополосная связь (Wibro), общемировая совместимость широкополосного беспроводного доступа (WiMAX) и высокоскоростной пакетный доступ нисходящей линии связи (HSDPA) для соединения с беспроводной сетью.
[0649] Блок 4130 сетевого интерфейса может осуществлять передачу или прием данных с другими пользователями или другими цифровыми устройствами через соединенную сеть или другую сеть, связанную с соединенной сетью. В частности, некоторые данные контента, которые хранятся в цифровом устройстве 4100, могут быть переданы другому пользователю, зарегистрированному заранее в цифровом устройстве 4100, или выбранному пользователю или выбранному цифровому устройству среди других цифровых устройств.
[0650] Между тем, блок 4130 сетевого интерфейса может осуществлять доступ к предварительно определенной веб-странице через соединенную сеть или другую сеть, связанную с соединенной сетью. Т.е. можно соединяться с предварительно определенной веб-страницей через сеть и осуществлять передачу или прием данных с соответствующим сервером. В дополнение, может быть принят контент или данные, предоставленные поставщиком контента или оператором сети. Т.е. можно принимать контент, такой как фильм, реклама, игра, VOD, широковещательный сигнал и связанная информация, которые предоставляются поставщиком контента или оператором сети через сеть. Кроме того, можно принимать информацию обновления и обновлять файлы встроенного программного обеспечения, предоставленные оператором сети. Блок 4130 сетевого интерфейса может также отправлять данные в сеть Интернет или поставщику контента, или оператору сети.
[0651] Также блок 4130 сетевого интерфейса может выбирать и принимать требуемое приложение из приложений, которые открыты для общественности посредством сети.
[0652] Блок 4140 хранения может хранить программу для обработки и управления каждым сигналом в контроллере 4170, или может хранить изображение после обработки сигнала, аудиосигнал или сигнал данных.
[0653] Также блок 4140 хранения может выполнять функцию для временного хранения изображения, аудио или сигнала данных, которые вводятся от блока 4135 интерфейса внешнего устройства или блока 4130 сетевого интерфейса. Блок 4140 хранения может хранить информацию, связанную с предварительно определенным широковещательным каналом посредством функции памяти канала.
[0654] Блок 4140 хранения может хранить приложение или список приложений, которые вводятся от блока 4135 интерфейса внешнего устройства или блока 4130 сетевого интерфейса.
[0655] Также блок 4140 хранения может хранить различные платформы, которые описываются позже.
[0656] Блок 4140 хранения может включать в себя по меньшей мере один запоминающий носитель информации среди, например, типа флэш-памяти, типа жесткого диска, типа мультимедийной микро-карты и памяти типа карты (например, памяти SD или XD и т.д.), RAM и ROM (EEPROM и т.д.). Цифровое устройство 4100 может воспроизводить и предоставлять файлы контента (видеофайлы, файлы неподвижного изображения, файлы музыки, файлы документа, файлы приложения и т.д.), которые хранятся в блоке 4140 хранения, пользователю.
[0657] Фиг. 41 иллюстрирует вариант осуществления, в котором блок 4140 хранения предоставлен отдельно от блока 4170 управления, но объем изобретения этим не ограничен. Т.е. блок 4140 хранения может быть включен в блок 4170 управления.
[0658] Блок 4150 интерфейса ввода пользователя передает сигнал, который вводится пользователем, в блок 4170 управления, или сигнал от блока 4170 управления пользователю.
[0659] Например, блок 4150 интерфейса ввода пользователя может принимать сигнал управления, связанный с элементами управления включения/выключения питания, выбором канала и установками экрана от устройства 4200 дистанционного управления в соответствии с различными способами связи, такими как способ RF связи и способ инфракрасной IR связи, и обрабатывать его. Или блок 4150 интерфейса ввода пользователя может обрабатывать сигнал управления от блока 4170 управления, который должен быть передан устройству 4200 дистанционного управления.
[0660] И блок 4150 интерфейса ввода пользователя может передавать сигнал управления, который вводится через локальную клавишу (не показано), такую как клавиша питания, клавиша канала, клавиша громкости и клавиша установки значения, контроллеру 4170.
[0661] Блок 4150 интерфейса ввода пользователя может передавать сигнал управления, который вводится от блока регистрации (не показано), который регистрирует жест пользователя, блоку 4170 управления, или передавать сигнал от блока 4170 управления блоку регистрации (не показано). Здесь, блок регистрации (не показано) может включать в себя датчик касания, голосовой датчик, датчик положения и датчик движения.
[0662] Контроллер 4170 может демультиплексировать поток, который вводится через тюнер 4110, демодулятор 4120 или интерфейс 4156 внешнего устройства или обрабатывать демультиплексированные сигналы, чтобы формировать и выводить сигнал для вывода видео или аудио. Блок 4170 управления может включать в себя описанное выше устройство кодирования и/или устройство декодирования.
[0663] Сигнал изображения, обработанный контроллером 4170, может быть введен в блок 4180 отображения и отображен в качестве изображения, соответствующего сигналу изображения. Также сигнал изображения, обработанный блоком 4170 управления, может быть введен во внешнее устройство вывода через блок 4156 интерфейса внешнего устройства.
[0664] Аудиосигнал, обработанный блоком 4170 управления, может быть аудио, которое выводится в блок 4185 вывода аудио. Также аудиосигнал, обработанный контроллером 4170, может быть введен во внешнее устройство вывода через блок 4156 интерфейса внешнего устройства.
[0665] Несмотря на то, что не проиллюстрировано на Фиг. 41, блок 4170 управления может включать в себя демультиплексор, процессор изображения и аналогичное.
[0666] Блок 4170 управления может управлять всей работой цифрового устройства 4100. Например, блок 4170 управления может управлять тюнером 4110 для осуществления настройки на RF широковещательную передачу, соответствующую каналу, выбранному пользователем, или предварительно сохраненному каналу.
[0667] Блок 4170 управления может управлять цифровым устройством 4100 посредством команды пользователя, которая вводится через блок 4150 интерфейса ввода пользователя или внутреннюю программу. В частности, можно осуществлять доступ к сети и загружать требуемое приложение или список приложений в цифровое устройство 4100.
[0668] Например, блок 4170 управления управляет тюнером 4110 для того чтобы был выведен сигнал канала, выбранного в соответствии с предварительно определенной командой выбора канала, принятой через блок 4150 интерфейса ввода пользователя, и обрабатывает видеосигналы, аудиосигналы или сигналы данных выбранного канала. Блок 4170 управления обеспечивает вывод информации о канале и т.д., выбранной пользователем, через блок 4180 отображения или блок 4185 вывода аудио наряду с обработанным сигналом изображения или аудиосигналом.
[0669] В качестве другого пример, в соответствии с командой воспроизведения изображения внешнего устройства, принятой через блок 4150 интерфейса ввода пользователя, блок 4170 управления может обеспечивать вывод видеосигнала или аудиосигнала, который вводится через блок 4135 интерфейс внешнего устройства от внешнего устройства (например, камеры или видеокамеры), через блок 4180 отображения или блок 4185 вывода аудио.
[0670] Между тем, блок 4170 управления может управлять блоком 4180 отображения для отображения изображения. Например, блок 4170 управления может управлять блоком 4180 отображения для отображения изображения широковещательной передачи, которое вводится через тюнер 4110, внешнего входного изображения, которое вводится через блок 4156 интерфейса внешнего устройства, и изображение, которое вводится через блок сетевого интерфейса, или изображения, которое хранится в блоке 4140 хранения. В это время, изображение, которое отображается в блоке 4180 отображения, может быть неподвижным изображением или видео, и может быть 2D видео или 3D видео.
[0671] Также блок 4170 управления может управлять воспроизведением контента. В это время контент может быть контентом, который хранится в цифровом устройстве 4100, или принятым широковещательным контентом, или внешним входным контентом, который вводится из вне. Контент может быть по меньшей мере одним из изображения широковещательной передачи, внешним входным изображением, аудиофайлом, неподвижным изображением, соединенным веб-экраном и файлом документа.
[0672] При переходе к элементу просмотра приложений блок 4170 управления может управлять отображением списка приложений или приложений, которые располагаются в цифровом устройстве 4100 или которые могут быть загружены из внешней сети.
[0673] Блок 4170 управления может управлять инсталляцией и работой приложения, загруженного из внешней сети, наряду с различными интерфейсами пользователя. И блок 4170 управления может управлять изображением, которое связно с приложением, которое должно быть исполнено, для отображения в блоке 4180 отображения посредством выбора пользователя.
[0674] Несмотря на то, что не показано на чертеже, также возможно дополнительное оборудование блоком обработки просмотра каналов для формирования изображения миниатюры, соответствующего сигналу канала или внешнему входному сигналу.
[0675] Блок обработки просмотра канала может принимать потоковый сигнал TS, который выводится из блока 4120 демодуляции, или потоковый сигнал, который выводится из блока 4156 интерфейса внешнего устройства, извлекать изображение из входного потокового сигнала, и формировать изображение миниатюры.
[0676] Сформированное изображение миниатюры может быть введено в блок 4170 управления как есть или как кодированное. Также, сформированное изображение миниатюры может быть кодировано в форме потока и введено в блок 4170 управления. Блок 4170 управления может отображать список миниатюр, включающий в себя множество изображений миниатюры, в блоке 4180 отображения с использованием входных изображений миниатюры. Изображения миниатюры в данном списке миниатюр могут быть обновлены последовательно или одновременно. Соответственно, пользователь может легко понимать содержимое множества широковещательных каналов.
[0677] Блок 4180 отображения преобразует сигналы изображения, сигналы данных, сигналы OSD и аналогичное, обработанное контроллером 4170, или сигналы изображения и сигналы данных, принятые от блока 4156 интерфейса внешнего устройства, в сигналы R, G и B, соответственно, и формирует сигнал возбуждения.
[0678] Блок 4180 отображения может быть PDP, LCD, OLED, гибким дисплеем, 3D дисплеем или аналогичным.
[0679] Блок 4180 отображения может быть выполнен в качестве сенсорного экрана и использован в качестве устройства ввода в дополнение к устройству вывода.
[0680] Блок 4185 вывода аудио принимает сигнал, обработанный контроллером 4170, например, стереосигнал, сигнал 3.1 канала или сигнал 5.1 канала и выводит его в качестве аудио. Блок 4185 вывода аудио может быть реализован в качестве различных типов громкоговорителей.
[0681] Между тем для того чтобы регистрировать жест пользователя, как описано выше, в цифровом устройстве 4100 может быть дополнительно предоставлен блок регистрации (не показано) с по меньшей мере одним из датчика касания, голосового датчика, датчика положения и датчика движения. Сигнал, обнаруженный блоком регистрации (не показано), может быть передан блоку 4170 управления через блок 4150 интерфейса ввода пользователя.
[0682] Дополнительно может быть предусмотрен блок фотографирования (не показано) для фотографирования пользователя. Информация изображения, сфотографированного блоком фотографирования (не показано) может быть введена в блок 4170 управления.
[0683] Блок 4170 управления может обнаруживать жест пользователя отдельно или в сочетании с изображением, захваченным блоком фотографирования (не показано), или сигналом, зарегистрированным блоком регистрации (не показано).
[0684] Блок 4190 подачи питания подает питание всему цифровому устройству 4100.
[0685] В частности, блок 4190 подачи питания может подавать питания блоку 4170 управления, который может быть реализован в форме системы на кристалле SOC, блоку 4180 отображения для отображения изображения и блоку 4185 вывода аудио для вывода аудио.
[0686] С этой целью блок 4190 подачи питания может включать в себя преобразователь (не показано), который преобразует питание AC в питание DC. Например, когда блок 4180 отображения реализуется в качестве жидкокристаллической панели со множеством ламп подсветки, может быть дополнительно предоставлен ШИМ-инвертор (не показано) для изменения яркости или приведения в действие уменьшения силы света.
[0687] Устройство 4200 дистанционного управления передает ввод пользователя в блок 4150 интерфейса ввода пользователя. С этой целью устройство 4200 дистанционного управления может использовать Bluettooth, RF (радиочастотную) связь, инфракрасную IR связь, UWB (Сверхширокополосную связь), способ ZigBee (ZigBee) и т.д.
[0688] В дополнение, устройство 4200 дистанционного управления может принимать изображение, аудио или сигнал данных, которые выводятся из блока 4150 интерфейса ввода пользователя, отображать их на устройстве 4200 дистанционного управления, или выводить голос или вибрацию.
[0689] Цифровое устройство 4100, описанное выше, может быть цифровым широковещательным приемником, выполненным с возможностью обработки фиксированного или мобильного ATSC типа или DVB типа цифрового широковещательного сигнала.
[0690] Кроме того, цифровое устройство в соответствии с изобретением может опускать некоторые компоненты или дополнительно включать в себя не проиллюстрированные компоненты, при необходимости. Как описано выше, цифровое устройство может не иметь тюнера и демодулятора, и также может принимать и воспроизводить контент через блок сетевого интерфейса или блок интерфейса внешнего устройства.
[0691] Фиг. 42 является структурной схемой, иллюстрирующей подробную конфигурацию блока управления на Фиг. с 39 по 41.
[0692] Пример блока управления может включать в себя блок 4210 демультиплексирования, блок 4220 обработки изображения, блок 4240 формирования экранного меню OSD, микшер 4250, преобразователь 4255 частоты кадров FRC и средство 4260 форматирования. В дополнение, несмотря на то, что не проиллюстрировано, блок управления может дополнительно включать в себя блок обработки голоса и блок обработки данных.
[0693] Блок 4210 демультиплексирования демультиплексирует входной поток. Например, блок 4210 демультиплексирования может демультиплексировать входной MPEG-2 TS на видеосигнал, аудиосигнал и сигнал данных. Здесь потоковый сигнал, который вводится в блок 4210 демультиплексирования, может быть потоковым сигналом, который выводится из тюнера или демодулятора, или интерфейса внешнего устройства.
[0694] Блок 4220 обработки изображения выполняет обработку изображения демультиплексированного сигнала изображения. С этой целью блок 4220 обработки изображения может включать в себя декодер 4225 видео и средство 4235 масштабирования.
[0695] Декодер 4225 видео декодирует демультиплексированный видеосигнал, а средство 4235 масштабирования осуществляет масштабирование разрешения декодированного видеосигнала, который должен быть выведен в блок отображения.
[0696] Декодер 4225 видео может поддерживать различные стандарты. Например, декодер 4225 видео выполняет функцию декодера MPEG-2, когда видеосигнал кодируется в стандарте MPEG-2, и функцию декодера H.264, когда видеосигнал кодируется способом цифрового мультимедиа-вещания DMB или по стандарту H.264.
[0697] Видеосигнал, декодированный блоком 4220 обработки видео, вводится в микшер 4250.
[0698] Блок 4240 формирования OSD формирует данные OSD в соответствии с вводом пользователя или самостоятельно. Например, блок 4220 формирования OSD формирует данные для отображения различных данных на экране блока 4180 отображения в графической или текстовой форме на основании сигнала управления блока интерфейса ввода пользователя. Сформированные данные OSD включают в себя различные данные, такие как экран интерфейса пользователя цифрового устройства, различные экраны меню, виджеты, пиктограммы и информацию о показателе просмотра.
[0699] Блок 4240 формирования OSD может формировать данные для отображения субтитров широковещательных изображений или широковещательной информации на основании EPG.
[0700] Микшер 4250 смешивает данные OSD, сформированные блоком 4240 формирования OSD, и сигнал изображения, обработанный блоком обработки видео, и предоставляет их средству 4260 форматирования. Поскольку декодированный видеосигнал и данные OSD смешиваются, то OSD отображается наложенным на широковещательное видео или внешнее входное видео.
[0701] Преобразователь 4255 частоты кадров FRC преобразует частоту кадров выходного видео. Например, преобразователь 4255 частоты кадров может преобразовывать входное 60Гц частоту кадров изображения в частоту кадров, например, в 120Гц или 240Гц в зависимости от выходной частоты блока отображения. Как описано выше, различные способы могут существовать в способе для преобразования частоты кадров. Например, когда преобразователь 4255 частоты кадров преобразует частоту кадров с 60Гц до 120Гц, то тот же самый первый кадр вставляется между первым кадром и вторым кадром, или третий кадр, предсказанный из первого кадра и второго кадра, вставляется между первым кадром и вторым кадром. В качестве другого примера, когда преобразователь 4255 частоты кадров преобразует частоту кадров из 60Гц в 240Гц, то три идентичных кадра или предсказанных кадра могут быть вставлены между существующими кадрами. Если не выполняется отдельное преобразование кадра, то может быть осуществлен обход блока 4255 преобразования частоты кадров.
[0702] Средство 4260 форматирования меняет выход преобразователя 4255 частоты кадров для согласования выходного формата с блоком отображения. Например, средство 4260 форматирования может выводить сигналы R, G и B данных, и три сигнала R, G и B данных могут быть выведены в качестве низковольтной дифференциальной передачи сигналов LVDS или мини-LVDS. Также, когда выход преобразователя 4255 частоты кадров является 3D видеосигналом, то средство 4260 форматирования может поддерживать 3D услугу через блок отображения путем конфигурирования выхода в качестве 3D формата в соответствии с выходным форматом блока отображения.
[0703] Блок обработки аудио (не показано) в блоке управления может выполнять обработку аудио демультиплексированного аудиосигнала. Блок обработки аудио (не показано) может поддерживать различные аудиоформаты. Например, даже когда аудиосигнал кодируется в форматах, таких как MPEG-2, MPEG-4, AAC, HE-AAC, AC-3, BSAC, блок обработки аудио может быть предусмотрен с декодером, который соответствует форматам.
[0704] Также блок обработки аудио (не показано) в блоке управления может обрабатывать управление базой, управление верхними частотами, управление громкостью и аналогичное.
[0705] Блок обработки данных (не показано) в блоке управления может выполнять обработку данных демультиплексированного сигнала данных. Например, блок обработки данных может декодировать демультиплексированный сигнал данных, когда он кодируется. Здесь, кодированный сигнал данных может быть информацией EPG, включающей в себя информацию широковещательной передачи, такую как время начала и время конца широковещательной передачи программы вещания на каждом канале.
[0706] Между тем, описанное выше цифровое устройство является примером в соответствии с изобретением, и каждый компонент может быть интегрирован, добавлен или опущен в зависимости от технического описания фактического цифрового устройства. Т.е. при необходимости, два или несколько компонентов могут быть объединены в один компонент, или один компонент может быть подразделен на два или несколько компонентов. Также, функция, которая выполняется в каждом блоке, служит для описания варианта осуществления изобретения, и конкретная операция или устройство не ограничивают объем изобретения.
[0707] Цифровое устройство может быть устройством обработки сигнала изображения, которое выполняет обработку сигнал изображения, которое хранится в устройстве, или входного изображения. В качестве другого примера устройство обработки сигнала изображения, могут быть дополнительно приведены телевизионная абонентская приставка STB, проигрыватель DVD, проигрыватель Blu-ray, игровое устройство, компьютер и аналогичное, из которых могут быть исключены блок 4180 отображения и блок 4185 вывода аудио, показанные на Фиг. 41.
[0708] Фиг. 43 является схемой, иллюстрирующей пример, в котором экран цифрового устройства отображает основное изображение и суб-изображение одновременно, в соответствии с вариантом осуществления.
[0709] Цифровое устройство в соответствии с вариантом осуществления может одновременно отображать основное изображение 4310 и вспомогательное изображение или суб-изображение 4320 на экране 4300. Основное изображение 4310 может упоминаться как первое изображение, а вспомогательное изображение 4320 может упоминаться как второе изображение. Основное изображение 4310 и вспомогательное изображение 4320 могут включать в себя видео, неподвижное изображение, электронное расписание программ EPG, графический интерфейс пользователя GUI, экранное меню OSD и аналогичное и не ограничено ими. Основное изображение 4310 может означать изображение, которое является относительно меньше по размеру, чем экран 4300 электронного устройства, будучи одновременно отображенном на экране 4300 электронного устройства наряду со вспомогательным изображением 4320, и может упоминаться как картинка в картинке PIP. На Фиг. 43 основное изображение 4310 отображается в верхней левой части экрана 4300 цифрового устройства, но местоположение, в котором отображается основное изображение 4310, этим не ограничивается и основное изображение 4310 может быть отображено в любом местоположении в рамках экрана 4300 цифрового устройства.
[0710] Основное изображение 4310 и вспомогательное изображение 4320 могут быть связаны друг с другом непосредственно или опосредованно. В качестве примера, основное изображение 4310 может быть потоковым видео, а вспомогательное изображение 4320 может быть GUI, который последовательно отображает миниатюры элементов видео, включающие в себя информацию, подобную потоковому видео. В качестве другого примера, основное изображение 4310 может быть изображением широковещательной передачи, а вспомогательное изображение 4320 может быть EPG. В качестве другого примера, основное изображение 4310 может быть изображением широковещательной передачи, а вспомогательное изображение 4320 может быть GUI. Примеры основного изображения 4310 и вспомогательного изображения этим не ограничиваются.
[0711] В одном варианте осуществления, основное изображение 4310 является изображением широковещательной передачи, принятым через широковещательный канал, а вспомогательное изображение 4320 может быть информацией, которая связана с изображением широковещательной передачи, принятой через широковещательный канал. Информация, связанная с изображением широковещательной передачи, принятым через широковещательный канал, может включать в себя, например, информацию EPG, включающую в себя интегрированное расписание каналов и подробную информацию о программе вещания, и информацией обзора программы вещания, но этим не ограничивается.
[0712] В другом варианте осуществления, основное изображение 4310 является изображением широковещательной передачи, принятым через широковещательный канал, а вспомогательное изображение 4320 может быть изображением, которое сформировано на основании информации, предварительно сохраненной в цифровом устройстве. Изображение, сформированное на основании информации, предварительно сохраненной в цифровом устройстве, может включать в себя, например, базовый интерфейс пользователя UI у EPG, базовую информацию о канале, UI манипулирования разрешением изображения и UI резервирования, когда ложиться спать, и этим не ограничивается.
[0713] В другом варианте осуществления, основное изображение 4310 является изображением широковещательной передачи, принятым через широковещательный канал, а вспомогательное изображение 4320 может быть информацией, связанной с изображением широковещательной передачи, принятым через сеть. Информация, связанная с изображением широковещательной передачи, принятым через сеть, может быть, например, информацией, полученной через поисковую машину на основании сети. В частности, например, информация, связанная с персонажем, который отображается в настоящий момент на основном изображении 4310, может быть получена через основанную на сети поисковую машину.
[0714] Однако пример этим не ограничивается, и информация, связанная с изображением широковещательной передачи, принятым через сеть, может быть получена путем использования, например, системы искусственного интеллекта AI. В частности, например, оцененное местоположение на карте места, которое в настоящий момент отображается на основном изображении 4310, может быть получено путем использования основанного на сети глубокого обучения, и цифровое устройство может принимать информацию об оцененном местоположении на карте места, которое в настоящий момент отображается на основном изображении 4310, через сеть.
[0715] Цифровое устройство в соответствии с вариантом осуществления может принимать по меньшей мере одно из информации изображения основного изображения 4310 и информации изображения вспомогательного изображения 4320 из вне. Информация изображения основного изображения 4310 может включать в себя, например, широковещательный сигнал, принятый через широковещательный канал, информацию исходного кода основного изображения 4310 и информацию IP-пакета (пакета интернет протокола) основного изображения 4310, принятого через сеть, но этим не ограничивается. Подобным образом, информация изображения вспомогательного изображения 4320 включает в себя, например, широковещательный сигнал, принятый через широковещательный канал, информацию исходного кода вспомогательного изображения 4320, информацию IP-пакета вспомогательного изображения 4320, принятого через сеть и т.д., но этим не ограничивается. Цифровое устройство может декодировать и использовать информацию изображения основного изображения 4310, принятую извне, или информацию изображения вспомогательного изображения 4320. Однако в некоторых случаях цифровое устройство может хранить информацию изображения основного изображения 4310 или информацию изображения вспомогательного изображения 4320 внутренним образом.
[0716] Цифровое устройство может отображать основное изображение 4310 и вспомогательное изображение 4320 на экране 4300 цифрового устройства на основании информации изображения основного изображения 4310 и информации, связанной со вспомогательным изображением 4320.
[0717] В одном примере, устройство 200 декодирования цифрового устройства включает в себя устройство декодирования основного изображения и устройство декодирования вспомогательного изображения, и устройство декодирования основного изображения и устройство декодирования вспомогательного изображения могут соответственно декодировать информацию изображения основного изображения 4310 и информацию изображения вспомогательного изображения 4320. Рендерер включает в себя рендерер основного видео (первый рендерер) и рендерер вспомогательного видео (второй рендерер). Рендерер основного изображения может отображать основное изображение 4310 в первой зоне экрана 4300 цифрового устройства на основании информации, декодированной устройством декодирования основного изображения, а рендерер вспомогательного изображения может предписывать отображение вспомогательного изображения 4320 во второй зоне экрана 4300 цифрового устройства на основании информации, декодированной устройством декодирования вспомогательного изображения.
[0718] В другом примере, устройство 200 декодирования цифрового устройства может декодировать информацию изображения основного изображения 4310 и информацию изображения вспомогательного изображения. На основании информации, декодированной устройством 200 декодирования, рендерер может обрабатывать основное изображение 4310 и вспомогательное изображение 4320 вместе для одновременного отображения на экране 4300 цифрового устройства.
[0719] Т.е. в соответствии с данным документом можно предоставить способ для обработки услуги изображения в цифровом устройстве. Способ обработки услуги изображения может содержать этапы, на которых: принимают информацию изображения, декодируют (основное) изображение на основании информации изображения, осуществляют рендеринг или отображение декодированного изображения в первой зоне на дисплее, и осуществляют рендеринг или отображение вспомогательного изображения во второй зоне на дисплее. В данном случае, этап, на котором декодируют первое изображением, может следовать за процедурой декодирования в устройстве 200 декодирования в соответствии с Фиг. 3, описанной выше. Например, как описано выше, этап, на котором декодируют первое изображение, может включать в себя этапы, на которых извлекают сэмплы предсказания для текущего блока на основании межкадрового или внутрикадрового предсказания, извлекают остаточные сэмплы для текущего блока на основании принятой остаточной информации, и формируют восстановленные сэмплы на основании сэмплов предсказания и/или остаточных сэмплов. Дополнительно, этап, на котором декодируют первое изображение, может включать в себя этап, на котором выполняют процедуру внутриконтурной фильтрации над восстановленной картинкой, включающей в себя восстановленные сэмплы.
[0720] Например, вспомогательное изображение может быть электронным расписанием программ, экранным меню OSD или графическим интерфейсом пользователя GUI. Например, информация изображения может быть принята через широковещательную сеть, и информация касательно вспомогательного изображения может быть принята через широковещательную сеть. Например, информация изображения может быть принята через сеть связи, и информация касательно вспомогательного изображения может быть принята через сеть связи. Например, информация изображения может быть принята через широковещательную сеть, а информация касательно вспомогательного изображения может быть принята через сеть связи. Например, информация изображения может быть принята через широковещательную сеть или сеть связи, а информация касательно вспомогательного изображения может быть сохранена на запоминающем носителе информации в цифровом устройстве.
[0721] В вышеупомянутых вариантах осуществления, элементы и характеристики изобретения были объединены в конкретной форме. Каждый из элементов или характеристик могут быть рассмотрены в качестве необязательного, при условии, что явно не описано иное. Каждый из элементов или характеристик могут быть реализованы в форме, которая не должна быть объединена с другими элементами или характеристиками. Кроме того, некоторые из элементов и/или характеристик могут быть объединены для формирования варианта осуществления изобретения. Последовательность операций, описанных в вариантах осуществления изобретения, может быть изменена. Некоторые из элементов или характеристик варианта осуществления могут быть включены в другой вариант осуществления или могут быть замещены соответствующими элементами или характеристиками другого варианта осуществления. Очевидно, что вариант осуществления может быть создан путем объединения пунктов формулы изобретения, которые не имеют явного отношения цитирования в формуле изобретения и могут быть включены в качестве нового пункта формулы изобретения путем изменений после подачи заявки.
[0722] Вариант осуществления в соответствии с изобретением может быть реализован различными средствами, например, аппаратным обеспечением, встроенным программным обеспечением, программным обеспечением или их сочетанием. В случае реализации посредством аппаратного обеспечения, вариант осуществления изобретения может быть реализован с использованием одной или нескольких проблемно-ориентированных интегральных микросхем (ASIC), цифровых сигнальных процессоров (DSP), устройств обработки цифрового сигнала (DSPD), программируемых логических устройств (PLD), программируемых вентильных матриц (FPGA), процессоров, контроллеров, микроконтроллеров, микропроцессоров и т.д.
[0723] В случае реализации посредством встроенного программного обеспечения или программного обеспечения, вариант осуществления изобретения может быть реализован в форме модуля, процедуры или функции для выполнения вышеупомянутых функций или операций. Код программного обеспечения может быть сохранен в памяти и приведен в действие процессором. Память может быть расположена внутри или снаружи процессора и может осуществлять обмен данными с процессором посредством разнообразия известных средств.
[0724] Специалистам в соответствующей области техники очевидно, что изобретение может быть осуществлено в других конкретных формах, не отступая от неотъемлемых характеристик изобретения. Соответственно, подробное описание не следует толковать как ограничивающее, а следует толковать как иллюстративное во всех аспектах. Объем изобретения должен определяться обоснованным анализом приложенной формулы изобретения, и все изменения в рамках эквивалентного диапазона изобретения включаются в объем изобретения.
Промышленная применимость
[0725] Вышеупомянутые предпочтительные варианты осуществления изобретения были раскрыты с целью иллюстрации, и специалисты в соответствующей области техники могут улучшить, изменить, заместить и добавить различные другие варианты осуществления, не отступая от технической сущности и объема изобретения, раскрытого в приложенной формуле изобретения.