СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ ВИДЕОСИГНАЛА
METHOD AND DEVICE FOR CODING/DECODING VIDEO SIGNAL

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к схеме для кодирования видеосигнала.
УРОВЕНЬ ТЕХНИКИ
В целом, кодирование со сжатием означает последовательность обработки сигналов для передачи оцифрованной информации через цепь связи или хранения оцифрованной информации в формате, подходящем для носителя хранения. Объектами кодирования со сжатием является аудио, видео, символы и тому подобное. В частности, схема для выполнения кодирования со сжатием видео называется сжатие видеопоследовательности. И видеопоследовательность, в целом, характеризуется наличием пространственной избыточности и временной избыточности.
В частности, поток масштабируемых видеокодированных битов может быть декодирован частично или избирательно. Например, декодер низкой сложности способен декодировать базовый уровень и поток битов с низкой скоростью передачи данных выделяемый для переноса через сеть ограниченной емкости. Для того чтобы сформировать изображение высокого разрешения более поэтапно, необходимо шаг за шагом улучшать качество изображения.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
Техническая проблема
В частности, поток масштабируемых видео кодированных битов может быть декодирован частично или избирательно. Например, декодер низкой сложности способен декодировать базовый уровень и поток битов с низкой скоростью передачи данных, выделяемый для переноса через сеть ограниченной емкости. Для того чтобы сформировать изображение высокого разрешения более поэтапно, необходимо шаг за шагом улучшать качество изображения.
Техническое решение
Таким образом, настоящее изобретение направлено на схему для кодирования видеосигнала, которая главным образом устраняет одну или более проблем, вызванных ограничениями и недостатками предшествующего уровня техники.
Задачей настоящего изобретения является обеспечение способа улучшения эффективности кодирования в кодировании видеосигнала.
Другой задачей настоящего изобретения является обеспечение способа минимизации передачи информации, связанной с межуровневым предсказанием в случае, когда область в улучшенном уровне не отвечает опорному уровню.
Другой задачей настоящего изобретения является обеспечение способа минимизации передачи информации, связанной с межуровневым предсказанием путем подтверждения конфигурационной информации о потоке масштабируемых видеокодированных битов.
Другой задачей настоящего изобретения является обеспечение способа минимизации передачи информации, связанной с межуровневым предсказанием путем подтверждения информации, указывающей на то, выполняется ли межуровневое предсказание или нет.
Дополнительной задачей настоящего изобретения является обеспечение способа увеличения эффективности кодирования путем подтверждения конфигурационной информации о потоке масштабируемых видеокодированных битов в надлежащей позиции.
Полезные эффекты
Следовательно, настоящее изобретение обеспечивает следующие эффекты или преимущества.
Во-первых, проверяется, может ли текущий блок в улучшенном уровне прогнозироваться путем использования межуровневого предсказания или нет. В случае, когда текущий блок в улучшенном уровне не предсказывается путем использования межуровневого предсказания, необходимо передать информацию о кодировании, используемую для межуровневого предсказания. Поэтому настоящее изобретение повышает эффективность кодирования. Во-вторых, путем идентификации конфигурационной информации потока масштабируемых видеокодированных битов в надлежащей позиции, в соответствии с чем информация передачи, связанная с межуровневым предсказанием, может быть минимизирована. Например, посредством идентификации информации, указывающей, выполнено ли межуровневое предсказание и/или качество идентификационной информации, информация передачи, связанная с межуровневым предсказанием, может быть минимизирована. Поэтому эффективность кодирования видеосигнала может быть значительно улучшена, используя описанные выше различные способы.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Прилагаемые чертежи, которые включены для того, чтобы обеспечить большее понимание изобретения, и встроены и являются частью настоящего описания, иллюстрируют варианты осуществления изобретения и наряду с описанием служат для объяснения принципов изобретения.
На Фиг.1 представлена схематичная блок-схема системы кодирования масштабируемого видео в соответствии с настоящим изобретением.
На Фиг.2 и 3 представлены структурные схемы для конфигурационной информации о масштабируемой последовательности битов, которая может быть добавлена к потоку наращиваемых видеокодированных битов, и рисунки для описания конфигурационной информации в соответствии с одним вариантом осуществления настоящего изобретения, соответственно.
На Фиг.4 представлена схема отношения кадрирования между выбранным базовым уровнем и улучшенным уровнем.
На Фиг.5 и 6 представлены схемы синтаксиса, относящихся к предсказаниям макроблока и подмакроблока через межуровневое предсказание в соответствии с одним из вариантов осуществления настоящего изобретения соответственно.
На Фиг.7 представлена схема синтаксиса, относящаяся к остаточному предсказанию через межуровневое предсказание в соответствии с одним из вариантов осуществления настоящего изобретения.
На Фиг.8 представлена структурная схема синтаксиса для получения информации об адаптивном предсказании в соответствии с наличием или отсутствием выполнения межуровневого предсказания в соответствии с одним из вариантов осуществления настоящего изобретения.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
Дополнительные особенности и преимущества изобретения будут изложены в последующем описании и частично будут очевидны из описания или могут быть изучены из применения изобретения. Задачи и другие преимущества изобретения будут понятны и достигнуты с помощью структуры, особенно подчеркнутой в письменном описании и формуле изобретения, а также в приложенных чертежах.
Для достижения этих и других преимуществ и в соответствии с назначением настоящего изобретения, как было осуществлено и подробно описано, способ декодирования текущего уровня, использующий межуровневое предсказание в соответствии с настоящим изобретением, включает в себя определение того, включено ли положение текущего блока в выбранный опорный уровень или нет, включен ли текущий блок в текущий уровень, получение множества флагов предсказания, когда положение текущего блока включено в выбранный опорный уровень, и декодирование текущего уровня с использованием множества флагов предсказания.
Предпочтительно, текущий уровень отличается от опорного уровня, который из того же видеосигнала, что и текущий уровень, по отношению экрана или по пространственному разрешению.
Предпочтительно, определение основывается на информации о рассогласовании опорного уровня и на переменной, указывающей на положение текущего блока в улучшенном уровне.
Предпочтительно, множество флагов предсказания включают в себя первую информацию, указывающую на то, извлекается ли тип текущего макроблока из соответствующего блока в основном уровне, вторую информацию, указывающую на то, используется ли вектор перемещения соответствующего блока в основном уровне, и третью информацию, указывающую на то, используется ли разностный сигнал соответствующего блока в основном уровне.
Для дальнейшего достижения этих и других преимуществ и в соответствии с назначением настоящего изобретения способ кодирования улучшенного уровня с использованием межуровневого предсказания в соответствии с настоящим изобретением включает в себя определение того, включен ли текущий блок в выбранный базовый уровень, формирование флага предсказания, требующегося для межуровневого предсказания, основанного на том, включен ли текущий блок в выбранный базовый уровень или нет, и формирование потока битов улучшенного уровня с разрешением, отличным от разрешения основного уровня, посредством использования основного уровня.
Необходимо понимать, что вышеизложенное общее описание и последующее подробное описание оба являются иллюстративными и объяснительными и предназначены для обеспечения дальнейшего объяснения изобретения по формуле изобретения.
Теперь будут выполняться подробные ссылки на предпочтительные варианты осуществления настоящего изобретения, примеры которых проиллюстрированы на прилагаемых чертежах.
Во-первых, кодирование со сжатием данных видеосигнала принимает во внимание пространственную избыточность, масштабируемую избыточность и межуровневую избыточность. Схема кодирования со сжатием, которая рассматривает масштабируемую избыточность, представляет собой просто вариант осуществления настоящего изобретения. И техническая идея настоящего изобретения применима к временной избыточности, пространственной избыточности, межуровневой избыточности и тому подобным. В настоящем раскрытии кодирование может включать в себя обе концепции кодирования и декодирования. И кодирование может гибко интерпретироваться для того, чтобы отвечать технической идее и назначению настоящего изобретения.
В конфигурации последовательности битов видеосигнала, в которой существует отдельная структура уровней, называемая NAL (Network Abstraction Layer, абстрактный сетевой уровень) между VCL (Video Coding Layer, уровень кодирования видеосигнала), занимающийся непосредственно процессом кодирования движущегося изображения, и системой более низкого уровня, которая передает и хранит кодированную информацию. Выходной сигнал, сформированный в процессе кодирования, является VLC данными и перед передачей или хранением преобразуется модулем NAL. Каждый модуль NAL включает в себя сжатые видеоданные или RBSP (Raw Bite Sequence Payload, полезная нагрузка последовательности необработанных битов: результат сжатия движущегося изображения), которые являются данными, соответствующими информации в заголовке.
Модуль NAL по существу включает в себя две части - заголовок NAL и RBSP. Заголовок NAL включает в себя информацию о флаге (nal_ref_idc), указывающую на то, включен ли срез, соответствующий опорному изображению в модуле NAL, и информацию (nal_unit_type), указывающую на тип модуля NAL. Сжатые первоначальные данные хранятся в RBSP. И к последней части RBSP добавляется задний бит, представляющий длину RBSP в виде 8-битного умножения. В качестве типов модуля NAL могут выступать IDR изображение (Instantaneous Decoding Refresh, мгновенное восстановление декодирования), SPS (Sequence Parameter Set, набор параметров последовательности), PPS (Picture Parameter Set, набор параметров изображения), SEI (Supplemental Enhancement Information, дополнительная информация об улучшении) и тому подобное.
Таким образом, если информация (nal_unit_type), указывающая на тип NAL модуля, указывает на срез масштабируемых кодированных видеоданных, можно увеличить эффективность кодирования посредством добавления различной конфигурационной информации, относящейся к масштабируемому кодированию. Например, возможно добавить информацию о флаге, указывающую на то, является ли текущий модуль доступа модулем доступа мгновенного восстановления кодирования (здесь и далее сокращенный как IDR), информацию об идентификации зависимости, указывающую на пространственную масштабируемость, информацию об идентификации качества, информацию о флаге (no_inter_layer_pred_flag), указывающую, используется ли межуровневое предсказание, информацию об идентификации приоритетов и тому подобную. Это будет позже подробно объяснено со ссылкой на Фиг.2.
В стандартизации установлены требования для различных профилей и уровней для того, чтобы активировать внедрение целевого продукта с подходящей стоимостью. В этом случае декодер должен удовлетворять требованиям, установленным согласно соответствующему профилю и уровню. Таким образом, определяются две концепции, «профиль» и «уровень» для того, чтобы указывать на функцию или параметр для представления того, как долго декодер может справляться с диапазоном сжатой последовательности. И идентификатор профиля (profile_idc) может определить, что поток битов основан на назначенном профиле. Идентификатор профиля представляет собой флаг, указывающий на профиль, на котором основан поток битов. Например, в H.264/AVC, если идентификатор профиля 66, это означает, что поток битов основан на профиле базового уровня. Если идентификатор профиля представляет собой 77, это означает, что поток битов основан на основном профиле. Если идентификатор профиля представляет собой 88, это означает, что поток битов основан на расширенном профиле. Более того, идентификатор профиля может быть включен в набор параметров последовательности.
Таким образом, для того чтобы управлять масштабируемой последовательностью, необходимо, чтобы было определено, является ли вводимый поток битов профилем для масштабируемой последовательности. Если вводимый поток битов определен как профиль для масштабируемой последовательности, необходимо добавить синтаксис для того, чтобы активировать, по крайней мере, одну дополнительную информацию для масштабируемой последовательности, которую нужно передать. В этом случае профиль для масштабируемой последовательности, который является дополнительной схемой H.264/AVC, указывает на режим профиля для работы с масштабируемым видеосигналом. Так как SVC представляет собой дополнительную схему к традиционному AVC, может быть более эффективно добавить синтаксис в виде дополнительной информации для SVC режима, чем добавить безусловный синтаксис. Например, когда идентификатор профиля AVC указывает на профиль для масштабируемой последовательности, если информация о масштабируемой последовательности добавляется, возможно повысить эффективность кодирования.
Различные варианты осуществления для обеспечения эффективного декодирования видеосигнала объясняются следующим образом.
На Фиг.1 представлена схематичная блок-схема системы кодирования масштабируемого видеосигнала в соответствии с настоящим изобретением.
Для того чтобы обеспечить последовательность, оптимизированную для различных сред передачи и различного терминального оборудования, последовательность, предоставленная в терминал, должна быть разнообразной. Если последовательность, оптимизированная для каждого терминала, обеспечена для соответствующего терминала, это означает, что отдельный источник последовательности подготовлен для комбинированного значения различных параметров, включающих число передаваемых кадров в секунду, разрешение, число битов в пикселе и тому подобное. Таким образом, предоставление оптимизированной последовательности налагает обязательство на контент-провайдера. Поэтому контент-провайдер кодирует первоначальную последовательность в сжатые данные последовательности с высокой скоростью передачи битов. В случае приема запроса последовательности, выполненного терминалом, контент-провайдер декодирует первоначальную последовательность, кодирует ее в данные последовательности, подходящие для способности к обработке последовательности терминалом. Так как это перекодирование сопровождается процессом кодирования-декодирования-кодирования, невозможно избежать временной задержки, сформированной в процессе обеспечения последовательности. Таким образом, дополнительно требуются сложное аппаратное устройство и алгоритм.
С другой стороны, масштабируемое видеокодирование (SVC) представляет собой схему кодирования для кодирования видеосигнала с лучшим качеством изображения для того, чтобы обеспечить представление части последовательности сформированной последовательности изображений в виде последовательности посредством декодирования. В этом случае срез последовательности может означать последовательность, состоящую из кадров, периодически выбираемых из всей последовательности. Для последовательности изображений, кодируемых SVC, размер последовательности может быть уменьшен для низкой скорости передачи с использованием пространственной масштабируемости. Качество изображения последовательности также может быть снижено с использованием масштабирования качества. В этом случае последовательности изображений с малым размером экрана и/или малым числом кадров в секунду можно называть базовым уровнем и последовательность с относительно большим размером экрана и/или относительно большим числом кадров в секунду может называться улучшенным уровнем или уровнем улучшения.
Последовательность изображений, кодированная по вышеуказанной масштабируемой схеме, дает возможность представления последовательности изображений низкого качества путем приема и обработки только части последовательности. Тем не менее, если скорость передачи битов снижается, соразмерность изображений значительно ухудшается. Для решения проблемы ухудшения качества изображения возможно предоставить отдельную дополнительную последовательность изображений для низкой скорости передачи, например, последовательность изображений с малым размером экрана и/или низким числом кадров в секунду. Такая дополнительная последовательность может называться базовым уровнем, и основная последовательность изображений может называться улучшенным уровнем или уровнем улучшения.
В описании различных вариантов осуществления для межуровневого предсказания настоящее раскрытие использует концепцию, включающую в себя первый уровень и второй уровень. Например, второй уровень может иметь пространственное разрешение или отношение экрана, отличные от этих параметров для первого уровня. Для подробного примера первый уровень может быть базовым уровнем, а второй уровень может быть улучшенным уровнем. При выполнении межуровневого предсказания первый уровень может быть выбранным опорным уровнем, а второй уровень может быть текущим уровнем. Базовый и улучшенный уровни, объясняемые в последующем описании, являются только иллюстративными и не накладывают ограничения на интерпретацию настоящего изобретения.
Система масштабируемого кодирования видеосигнала подробно объясняется далее. Во-первых, система масштабируемого кодирования включает в себя кодер 102 и декодер 110. Кодер 102 включает в себя модуль 104 кодирования базового уровня, модуль 106 кодирования улучшенного уровня, модуль 108 мультиплексирования. Декодер может включать в себя модуль 112 демультиплексирования, модуль 114 декодирования базового уровня, модуль 116 декодирования улучшенного уровня. Модуль 104 кодирования базового уровня способен формировать поток базовых битов посредством сжатия вводимой последовательности сигналов Х(n). Модуль 106 кодирования улучшенного уровня способен формировать поток битов улучшенного уровня, используя введенную последовательность сигналов Х(n) и информацию, сформированную модулем 104 кодирования базового уровня. Модуль 108 мультиплексирования способен формировать масштабируемый поток битов, используя поток битов базового уровня и поток битов улучшенного уровня.
Сформированный масштабируемый поток битов передается на декодер 110 через определенный канал. Переданный масштабируемый поток битов может быть разделен на поток битов улучшенного уровня и поток битов базового уровня с помощью модуля 112 демультиплексирования декодера 110. Модуль 114 декодирования базового уровня принимает поток битов базового уровня, а затем декодирует его в сигнал последовательности внутри макроблока и остаточную информацию и информацию о перемещении между блоками. В этом случае соответствующее декодирование может быть выполнено на основе способа декодирования отдельного цикла.
Модуль 116 декодирования улучшенного уровня принимает поток битов улучшенного уровня и декодирует сигнал Хе(n) выходящей последовательности со ссылкой на поток битов базового уровня, восстановленных модулем 114 декодирования базового уровня. В этом случае сигнал Xb(n) исходящей последовательности будет сигналом последовательности с качеством изображения или разрешением ниже, чем у последнего из сигналов Хе(n) исходящей последовательности.
Таким образом, каждый из модуля 106 кодирования улучшенного уровня и модуля 116 декодирования улучшенного уровня выполняет кодирование с использованием межуровневого предсказания. Межуровневое предсказание может означать, что сигнал последовательности улучшенного уровня предсказывается посредством использования информации о перемещениях и/или информации о текстуре базового уровня. В этом случае информация о текстуре может означать данные об изображении или величину пикселя, принадлежащего к макроблоку. Например, в способе межуровневого предсказания различают режим предсказания внутри базового уровня или режим предсказания оставшегося уровня. Режим предсказания базового уровня может означать режим для предсказания блока улучшенного уровня, основываясь на соответствующей области базового уровня. В этом случае соответствующая область базового уровня может означать область, кодированную во внутреннем режиме. При этом режим предсказания остаточного уровня может использовать соответствующую область, обладая остаточными данными, которые представляют собой значение разницы в изображении в базовом уровне. В обоих случаях соответствующая область в базовом уровне может быть увеличена или уменьшена для использования посредством выборки. Выборка может означать, что разрешение изображения переменно. Также выборка может включать в себя повторную выборку, понижающуюся и повышающуюся выборку и тому подобное. Например, возможно повторно выбрать внутреннюю выборку для того, чтобы осуществить межуровневое предсказание. Разрешение изображения может быть уменьшено посредством формирования данных пикселя с использованием фильтра понижающейся выборки. Это можно называть понижающейся выборкой. Более того, данные нескольких дополнительных пикселей можно сделать с использованием фильтра повышающейся выборки для увеличения разрешения изображения. Это можно назвать повышающейся выборкой. Повторная выборка может включать в себя обе концепции понижающейся и повышающейся выборки. В настоящем раскрытии терминология «выборки» должна правильно интерпретироваться в соответствии с технической идеей и назначением соответствующего варианта осуществления настоящего изобретения.
При этом базовый уровень и улучшенный уровень сформированы для различных применений или целей для одного и того же содержимого последовательности и могут отличаться друг от друга по пространственному разрешению, скорости передачи кадров, скорости передачи битов и тому подобному. При кодировании видеосигнала посредством межуровневого предсказания, не бинарный случай, отношение улучшенного уровня к базовому уровню в пространственном разрешении не является кратным 2, может называться расширенной пространственной масштабируемостью (ESS). Например, когда улучшенный уровень кодируется посредством межуровневого предсказания для видеосигнала с отношением 16:9 (по горизонтали: по вертикали), может иметь место случай, когда базовый уровень кодируется в изображение с отношением 4:3. В этом случае, так как базовый уровень кодируется в обрезанное состояние, в котором первоначальный видеосигнал кадрируется на части, он не способен покрыть всю область улучшенного уровня, даже если базовый уровень увеличен для межуровневого предсказания. Таким образом, так как для частичной области улучшенного уровня не получается иметь соответствующую область в выбранном базовом уровне, то частичная область может не использовать повышенно дискретный базовый уровень для межуровневого предсказания. А именно это означает, что межуровневое предсказание не применимо к частичной области. В этом случае информация о кодировании, использованная для межуровневого предсказания, может не передаваться. Подробный вариант осуществления для этого будет подробно объяснен со ссылками на Фиг.5-8.
На Фиг.2 и 3 представлены структурные схемы для информации о конфигурации масштабируемой последовательности, выполненной с возможностью добавления к масштабируемому потоку битов кодированного видеосигнала, и чертежи для описания информации о конфигурации в соответствии с одним вариантом осуществления настоящего изобретения, соответственно.
Фиг.2 показывает пример конфигурации модуля NAL, разрешающего добавить к нему информацию о конфигурации масштабируемой последовательности. Во-первых, модуль NAL может в основном включать в себя заголовок модуля NAL и RBSP (полезная нагрузка последовательности необработанных битов: результат сжатия киноизображения). Заголовок модуля NAL может включать в себя идентификационную информацию (nal_ref_idc), указывающую, включает ли в себя модуль NAL срез опорного изображения, и информацию (nal_unit_type), указывающую на тип модуля NAL. И область расширения заголовка модуля NAL, может быть немедленно включена. Например, если информация, указывающая на тип модуля NAL ассоциируется с масштабируемым видеосигналом или указывает на префиксный модуль NAL, то модуль NAL может включать в себя область расширения заголовка модуля NAL. В особенности, если nal_unit_type=20 или 14, модуль NAL способен включать в себя область расширения заголовка модуля NAL. И информация о конфигурации для масштабируемой последовательности может быть добавлена к области расширения заголовка модуля NAL в соответствии с информацией о флаге (svc_mvc_flag), способной определить, является ли это потоком битов SVC.
Другой пример, если информация, указывающая на тип модуля NAL, представляет собой информацию, указывающую на набор параметров последовательности подмножества, RBSP может включать информацию о наборе параметров последовательности подмножества. В особенности, если nal_unit_type=15, RBSP может включать в себя информацию о наборе параметров последовательности подмножества, информацию о уровне среза и тому подобную. В этом случае набор параметров последовательности подмножества может включать в себя область расширения набора параметров последовательности в соответствии с информацией о профиле. Например, если информация о профиле (profile_idc) представляет собой профиль, относящийся к масштабируемому видеокодированию, набор параметров последовательности подмножества может включать в себя область расширения набора параметров последовательности. Альтернативно, набор параметров последовательности может включать в себя области расширения набора параметров последовательности в соответствии с информацией о профиле. Область расширения набора параметров последовательности может включать в себя информацию для управления характеристиками фильтра распаковки для межуровневого предсказания, параметры, связанные с информацией для процесса восходящей выборки, и тому подобное. Информация о различных конфигурациях масштабируемой последовательности, например, конфигурационная информация, которая может быть включена в область расширения заголовка модуля NAL, в область расширения набора параметров последовательности, в уровне среза, подробно объяснена ниже.
Во-первых, возможно получить информацию о флаге (inter_layer_deblocking_filter_control_present_flag), указывающую на наличие или отсутствие информации для управления характеристиками фильтра распаковки для межуровневого предсказания из области расширения набора параметров последовательности. И возможно получить информацию (extended_spatial_scalability), указывающую на положение информации, связанной с параметрами для процесса повышающей дискретизизации из области расширения набора параметров последовательности. В особенности, например, если extended spatial_scalability=0, это может означать, что любой параметр для процесса повышающей дискретизизации не существует в наборе параметров последовательности или в заголовке среза. Если extended spatial_scalability=1, это может означать, что параметр для процесса повышающей дискретизизации существует в наборе параметров последовательности. Если extended spatial_scalability=2, это может означать, что параметр для процесса повышающей дискретизизации существует в заголовке среза.
Информация «4», указывающая на то, используется ли межуровневое предсказание или нет, может означать информацию о флаге, указывающую на то, используется ли или нет межуровневое предсказание в декодировании кодированного среза. Информация о флаге может быть получена из области расширения заголовка модуля NAL. Например, если информация о флаге установлена в 1, это может означать, что межуровневое предсказание не используется. Если информация о флаге равна 0, межуровневое предсказание может использоваться или не использоваться в соответствии со схемой кодирования в макроблоке. Это происходит потому, что межуровневое предсказание в модуле макроблока может использоваться или нет.
Информация «3» об идентификации качества обозначает информацию, указывающую на качество для модуля NAL.
Информация «3» об идентификации качества означает информацию, указывающую на качество для модуля NAL. При описании конфигурационной информации упоминается Фиг.3. Например, отдельное изображение может быть закодировано в уровни, отличающиеся друг от друга по качеству. На Фиг.3 уровни в Spa_Layer0 и Spa_Layer1 могут быть закодированы в уровнях, отличающихся друг от друга по качеству. В особенности, предполагая, что информация, указывающая на качество для модуля NAL, называется quality_id, уровням B1, B2, …, В10 может быть присвоено значение quality_id=0. А уровням Q1, Q2, …, Q10 может быть присвоено значение quality_id=1. А именно уровни B1, B2, …, В10 могут означать уровни с самым низким качеством изображения. Они называются базовыми изображениями. Уровни Q1, Q2, …, Q10 соответствуют уровням, включающим в себя уровни В1, В2, …, В10 и характеризуются лучшим качеством, чем уровень В1, В2, …, В10. Информация об идентификации качества может быть определена различными путями. Например, информация об идентификации качества может быть представлена в качестве 16 этапов.
Идентификационная информация, указывающая на пространственную масштабируемость, означает информацию, указывающую на зависимость от модуля NAL. При описании конфигурационной информации упоминается Фиг.3. Например, зависимость может меняться в соответствии с пространственным разрешением. На Фиг.3 уровни в Spa_Layer0 и Spa_Layer1 могут иметь одинаковое разрешение. Уровни в Spa_Layer0 могут включать в себя изображения, полученные посредством выполнения понижающей выборки в уровнях в Spa_Layer1. В особенности, например, предполагая, что информация, указывающая на зависимость от модуля NAL, представлена как dependency_id, уровни в Spa_Layer0 могут иметь отношение к dependency id=0. И уровни в Spa_Layer1 могут иметь отношение к dependency id=1. Информация об идентификации зависимости может быть определена различными путями. Таким образом, модули NAL, имеющие то же значение информации, определяющей зависимость, могут быть представлены как представление зависимости.
При этом отдельный уровень может быть определен в соответствии с информацией, определяющей зависимость и информацию идентификации качества. В этом случае модули NAL, имеющие одинаковые значения информации, определяющей зависимость, и информации идентификации качества, могут быть представлены как представление уровня.
Идентификационная информация, указывающая на временную масштабируемость, означает информацию, указывающую на временной уровень для модуля NAL. Временной уровень может быть описан иерархической структурой В изображений. Например, уровень (В1, Q1) и уровень (В3, Q3) в Spa Layer0 могут иметь идентичный временной уровень Tem_Layer0. Если уровень (В5, Q5)относится к уровню (В1, Q1) и к уровню (В3, Q3), уровень (В5, Q5) может иметь временный уровень Tem_Layer1 выше, чем временный уровень Tem_Layer0 уровня (В1, Q1) и уровня (В3, Q3). Аналогичным образом, если уровень (В7, Q7) относится к уровню (В1, Q1) и уровню (В5, Q5), то уровень (В7, Q7) может иметь временный уровень Tem Layer2 выше, чем временный уровень Tem_Layer1 уровня (В5, Q5). Все модули NAL внутри отдельного модуля доступа могут иметь идентичные значения временного уровня. В случае модуля доступа IDR значение временного уровня может стать 0.
Информация о флаге, указывающая на то, используется ли опорное базовое изображение в качестве опорного изображения, определяющего, используются ли опорные базовые изображения в качестве опорных изображений в процессе межуровневого предсказания или используются ли декодированные изображения в качестве опорных изображений в процессе межуровневого предсказания. Информация о флаге может иметь одинаковое значение для модулей NAL в одном уровне, т.е. для модулей NAL, имеющих одинаковую информацию, определяющую зависимость.
Информация идентификации приоритета означает информацию, указывающую на приоритет модуля NAL. Возможно обеспечить межуровневую расширяемость или расширяемость между изображениями, используя информацию идентификации приоритета. Например, возможно обеспечить пользователя последовательностями с различными временными и пространственными уровнями, используя информацию идентификации приоритета. Таким образом, пользователь способен просматривать последовательность в определенное время и в определенном месте или просматривать последовательность в соответствии только с различными ограничивающими условиями. Информация о приоритетах может быть сконфигурирована различными способами в соответствии с ее исходными условиями. Информация о приоритетах может быть произвольно сконфигурирована без того, чтобы быть основанной на особых ссылках. И информация о приоритете может быть определена декодером.
Конфигурационная информация в области расширения заголовка модуля NAL может включать флаг, указывающий на то, является ли текущий модуль доступа модулем доступа IDR.
Различная информация для межуровневого предсказания может быть включена в уровень среза. Например, информация «5», указывающая на обработку границ среза в процессе повышающей дискретизизации, информация «6», связанная с работой фильтра распаковки, информация «7» относится к фазовому сдвигу цветоразностного сигнала, информация «8» о рассогласовании, указывающая на разницу в положении уровней, информация «9», определяющая наличие или отсутствие выполнения адаптивного предсказания, и подобная информация может быть включена. Вышеуказанная информация может быть получена из заголовка среза.
Примером информации «6», связанной с работой фильтра распаковки, может быть информация (disable_deblocking_filter_idc), указывающая на способ работы фильтра распаковки, информация о рассогласовании (nter_layer_slice_alpha_c0_offset_div2, inter_layer_slice_beta_offset_div2), необходимая для исполнения распаковывающего фильтра, и тому подобная.
Примером информации «7» о фазовом сдвиге цветоразностного сигнала может быть информация (scaled_ref_layer_left_offset, scaled_ref_layer_top_offset, scaled_ref_layer_right_offset, scaled_ref_layer_bottom_offset) о горизонтальном и вертикальном фазовом сдвиге цветоразностного компонента изображения, используемого для межуровневого предсказания.
Примером информации «8» о рассогласовании, указывающей на различие в положениях уровней, может быть информация о рассогласованиях (scaled_ref_layer_left_offset, scaled_ref_layer_top_offset, scaled_ref_layer_right_offset, scaled_ref_layer_bottom_offset), указывающая на различие в положениях сверху, снизу, слева и справа между изображением, повышенно дискретизированным, используемым для межуровневого предсказания, и текущим изображением.
Примером информации «5», указывающей на обработку макроблоков, расположенных на границах среза в процессе повышающей дискретизизации базового уровня, может быть информация (constrained_intra_resampling_flag), указывающая на то, может ли текущий макроблок не быть предсказан посредством использования соответствующего внутризакодированного блока в первом уровне в случае, когда соответствующий внутризакодированный блок в первом уровне имеет место быть над, по крайней мере, двумя срезами во втором уровне.
Информация «9», указывающая на наличие или отсутствие исполнения адаптивного предсказания, способна определить наличие или отсутствие информации, связанной с предсказанием внутри заголовка среза и уровня макроблока. В соответствии с информацией, указывающей на наличие или отсутствие исполнения адаптивного предсказания, возможно решить, какой тип способа адаптивного предсказания будет использоваться. Это будет далее подробно объяснено со ссылкой на Фиг.8.
На Фиг.4 представлена схема взаимосвязи кадрирования между выборочным базовым уровнем и улучшенным уровнем.
В масштабируемом кодировании видеосигнала возможно проверить, может ли текущий блок улучшенного уровня использовать межуровневое предсказание. Например, возможно проверить, существует ли в базовом уровне область, соответствующая всем пикселям внутри текущего блока. В результате процесса проверки, если текущий блок улучшенного уровня не используется для межуровневого предсказания, не является необходимым передавать информацию о кодировании, используемую для межуровневого предсказания. Следовательно, возможно улучшить эффективность кодирования.
Таким образом, возможно определить функцию, способную проверить, может ли текущий блок улучшенного уровня использовать межуровневое предсказание. Например, функция 'in_crop_window()' может быть определена как функция для проверки наличия области, соответствующей всем пикселям внутри текущего блока в базовом уровне. Предполагая, что индекс макроблока в горизонтальном направлении улучшенного уровня равен 'mbIdxX', а индекс макроблока в вертикальном направлении равен 'mbIdxY', если выполняются следующие условия, функция in crop window() возвращает значение 'TRUE (or '1')'.
mbIdxX ≥ (ScaledBaseLeftOffset + 15)/16
mbIdxX ≤ (ScaledBaseLeftOffset + ScaledBaseWidth - 1)/16
mbIdxY ≥ (ScaledBaseTopOffset + 15)/16
mbIdxX ≤ (ScaledBaseTopOffset + ScaledBaseHeight - 1)/16
''mbIdxX'' может быть рассчитано с использованием адреса макроблока в горизонтальном направлении. 'mbIdxY' может быть рассчитано способом, отличающимся в соответствии с тем, применяется ли кадр-поле, адаптивный к макроблоку. Например, если применяется кадр-поле, адаптивный к макроблоку, может быть рассчитано посредством рассмотрения пары макроблоков. При рассмотрении пары макроблоков предполагается, что индекс верхнего макроблока равен 'mbIdxY1'. 'mbIdxY0' может быть рассчитан из информации о рассогласовании, показывающей разницу между верхними положениями повышающего дискретизированного изображения, использованного для межуровневого предсказания, и текущего изображения и информации о числе макроблоков в горизонтальном направлении. В этом случае значение информации о числе макроблоков по горизонтали может отличаться в соответствии с тем, является ли текущее изображение изображением кадра или изображением поля. 'mbIdxY1' может быть рассчитана на основе информации о рассогласовании, определяющей различие между верхними положениями повышающего дискретизированного изображения, использованного для межуровневого предсказания, и текущего изображения и информации о числе макроблоков в вертикальном направлении. При этом если не применяется кадр-поле, адаптивный к макроблоку, параметры 'mbIdxY0' и 'mbIdxY1' могут принимать одинаковое значение.
'ScaledBaseLeftOffset' показывает информацию о рассогласовании, указывающую разницу в положении слева между повышенно дискретизированным изображением, используемым для межуровневого предсказания, и текущим изображением. 'ScaledBaseTopOffset' показывает информацию о рассогласовании, указывающую разницу в положении сверху между повышенно дискретизированным изображением, используемым для межуровневого предсказания, и текущим изображением. 'ScaledBaseWidth' указывает на ширину по горизонтали повышенно дискретизированного изображения. И 'ScaledBaseHeighf указывает на высоту по вертикали повышенно дискретизированного изображения.
Если одно любое из вышеуказанных условий не выполняется, функция in_crop_windows() может возвращать значение 'FALSE (или 0)'.
В случае, когда пиксель, соответствующий, по крайней мере, одному пикселю внутри текущего блока (CurrMbAddr) не находится в повышенно дискретизированном базовом уровне, т.е. в случае, когда функция in_crop_windows(CurrMbAddr) возвращает значение 'FALSE', информация, связанная с межуровневым предсказанием, не используется для текущего блока и эта информация не может быть передана. Отсюда в соответствии с вариантом осуществления настоящего изобретения, если определено, что соответствующая область базового уровня не существует посредством in_crop_windows(CurrMbAddr), возможно упустить передачу информации, связанной с межуровневым предсказанием для текущего блока.
В соответствии с одним вариантом осуществления настоящего изобретения случай выполнения кодирования посредством использования функции in_crop_windows() объясняется следующим образом.
Во-первых, в случае, когда определено, что область, соответствующая текущему блоку, существует в базовом уровне, посредством 'in_crop_windows(CurrMbAddr)', модуль 106 кодирования улучшенного уровня выполняет межуровневое предсказание с использованием информации о текстуре и/или информации о перемещении базового уровня. В этом случае информация о перемещении может включать в себя информацию о справочном индексе, информацию о векторе перемещения, информацию о разбиении и т.д.
В случае, когда информация о текстуре и/или о перемещении текущего блока принимает значение информации о текстуре и/или перемещении соответствующего блока, или в случае, когда информация о текстуре и/или перемещении текущего блока рассчитана из информации о текстуре и/или перемещении соответствующего блока, модуль 106 кодирования улучшенного уровня добавляет информацию с инструкциями, сообщающими исходную или рассчитанную информацию потоку данных улучшенного уровня, а затем информирует декодер 110 о дополнении. Но в случае, когда определено, что область, соответствующая текущему блоку, не существует в базовом уровне, посредством 'in_crop_windows(CurrMbAddr) ', модуль 106 кодирования улучшенного уровня способен формировать улучшенный уровень без выполнения межуровневого предсказания. При этом, если декодер 110 подтверждает, что область, соответствующая текущему блоку, не существует в базовом уровне, посредством 'in crop windows(CurrMbAddr)', декодер 110 решает, что информация с инструкциями не была передана.
На Фиг.5 и 6 представлены схемы синтаксиса, относящиеся к предсказаниям макроблока и подмакроблока через межуровневое предсказание в соответствии с одним вариантом осуществления настоящего изобретения соответственно.
В случае выполнения межуровневого предсказания информация, связанная с межуровневым предсказанием в данных среза текущего NAL, передается на декодер. Например, в случае предсказания вектора перемещения текущего блока улучшенного уровня из уровня макроблока может быть получен флаг (motion_prediction_flag_lx), указывающий на то, нужно ли использовать вектор перемещения базового уровня. В соответствии с вариантом осуществления настоящего изобретения декодер способен узнать, была ли информация, связанная с межуровневым предсказанием, передана посредством кодера, методом проверки 'in_crop_windows(CurrMbAddr)' [510, 610]. Например, если область, соответствующая текущему блоку, не существует в базовом уровне в соответствии с 'in crop_windows(CurrMbAddr)', флаг 'motion_prediction flag_10/11'' не может быть передан в потоке битов [520/530, 620/630].
Флаг 'adaptive_motion_prediction_flag', указывающий на то, может ли информация, связанная с предсказанием вектора перемещения, присутствующая внутри уровня макроблока, быть получена из данных среза текущего NAL. В соответствии с вариантом осуществления настоящего изобретения информация, связанная с межуровневым предсказанием, не может быть передана посредством кодера способом проверки обоих параметров 'adaptive_motion_prediction_flag' и 'in_crop_windows(CurrMbAddr)' [510]. Например, если область, соответствующая текущему блоку, не существует в базовом уровне в соответствии с 'in_crop_windows(CurrMbAddr)' или если информация, связанная с предсказанием вектора перемещения, не существует внутри макроблока в соответствии с 'adaptive_motion_prediction_flag'', флаг 'motion_prediction_flag_10/11' не может быть передан [520/530, 620/630]. Описанная выше техническая идея идентично применима к предсказанию подмакроблока, представленному на Фиг.6.
Таким образом, только если оба из двух типов условий выполняются после идентификации двух типов информации, информация, связанная с межуровневым предсказанием, передается.
На Фиг.7 представлена схема синтаксиса, относящаяся к остаточному предсказанию через межуровневое предсказание в соответствии с одним из вариантов осуществления настоящего изобретения.
В случае выполнения межуровневого предсказания информация, связанная с межуровневым предсказанием в данных среза текущего NAL, передается на декодер. Например, в случае предсказания остаточного сигнала текущего блока из уровня макроблока может быть получен флаг 'residual_prediction_flag'', указывающий на то, использовать ли остаточный сигнал базового уровня [740]. В этом случае базовый уровень может стать известным, используя информацию о представлении уровня. В соответствии с вариантом осуществления настоящего изобретения информация, связанная с межуровневым предсказанием, не может быть передана посредством кодера, способом подтверждения 'in_crop_windows(CurrMbAddr)'.
Например, 'residual_prediction_flag' может быть получен в соответствии с информацией 'adaptive_motion_prediction_flag', указывающей на наличие информации, связанной с предсказанием остаточного сигнала внутри макроблока, и информации о типе среза текущего блока [710]. 'residual_prediction_flag'' также может быть получен в соответствии с 'base_mode_flag''. 'base_mode_flag' указывает на то, рассчитывается ли тип текущего макроблока (mb_type) из соответствующей области базового уровня
[720]. 'residual_prediction_flag' также может быть получен в соответствии с типом текущего макроблока и функцией 'in_crop_windows(CurrMbAddr)'. Например, 'residual prediction flag' может быть получен, когда тип макроблока и подмакроблок не intra mode [MbPartPredType(mb_type, 0) !=Intra_16Ч16(8Ч8 и 4Ч4)] и функция 'in_crop_windows(CurrMbAddr)' принимает значение 'true', что означает, что область, соответствующая текущему макроблоку, существует в базовом уровне [730]. Если тип текущего макроблока не intra mode или область, соответствующая текущему макроблоку, не существует в базовом уровне [in_crop_windows(CurrMbAddr)=0], остаточное предсказание не выполняется. Кодер 102 формирует улучшенный уровень, пока 'residual_prediction_flag' не включен.
Если 'residual_prediction_flag' принимает значение '1', остаточный сигнал текущего блока предсказывается из остаточного сигнала базового уровня. Если 'residual_prediction_flag' принимает значение '0', остаточный сигнал кодируется без межуровневого предсказания. Если 'residual_prediction_flag' не существует в уровне макроблока, он может быть рассчитан следующим образом. Например, только если следующие условия полностью выполняются, флаг 'residual_prediction_flag' может быть рассчитан в виде предварительно установленного значения (default_residual_prediction_flag). Во-первых, 'base_mode_flag' должен принимать значение '1' или тип текущего макроблока не должен быть intra mode. Во-вторых, 'in crop windows(CurrMbAddr)' должен принимать значение '1'. В-третьих, флаг 'no_inter_layer_pred_flag', указывающий на использование межуровневого предсказания, должен принимать значение '0'. В-четвертых, тип среза не должен быть EI срез. В противном случае он может быть рассчитан как '0'.
Когда область, соответствующая текущей последовательности блоков, не существует в базовом уровне через 'in_crop_windows(CurrMbAddr)', модуль 116 декодирования улучшенного уровня решает, что флаг предсказания перемещения (motion_prediction_flag) не существует в макроблоке или подмакроблоке и перестраивает видеосигнал, используя поток битов данных только улучшенного уровня без межуровневого предсказания. Если элемент синтаксиса для остаточного предсказания не включен в поток битов данных улучшенного уровня, модуль 116 декодирования улучшенного уровня способен рассчитывать флаг остаточного предсказания 'residual_prediction_flag'. При этом возможно рассматривать, существует ли в базовом уровне область, соответствующая текущему блоку, через 'in_crop_windows(CurrMbAddr)'. Если 'in_crop_windows(CurrMbAddr)' принимает значение '0', модуль 116 декодирования улучшенного уровня может подтвердить, что область, соответствующая текущей последовательности блоков, не существует в базовом уровне. В этом случае 'residual_prediction_flag'' определен как '0', а затем способен перестроить видеосигнал, используя только данные улучшенного уровня, без остаточного предсказания, используя остаточный сигнал базового уровня.
На Фиг.8 представлена схема синтаксиса для получения информации об адаптивном предсказании в соответствии с наличием или отсутствием исполнения межуровневого предсказания в соответствии с одним вариантом осуществления настоящего изобретения.
В соответствии с вариантом осуществления настоящего изобретения, способом подтверждения конфигурационной информации потока битов масштабируемого видеосигнала, информация, связанная с межуровневым предсказанием, не может быть передана с помощью кодера. Конфигурационная информация потока битов масштабируемого видеосигнала может быть получена из области расширения заголовка NAL. Например, информация об адаптивном предсказании может быть получена на основе информации 'no_inter_layer_pred_flag', указывающей на то, используется ли межуровневое предсказание [810]. Информация об адаптивном предсказании может указывать на то, находится ли в соответствующем положении синтаксис, связанный с предсказанием. Например, там может находиться информация 'adaptive_prediction_flag', указывающая на то, существует ли синтаксис, связанный с предсказанием в заголовке среза и в уровне макроблока, информация 'adaptive_motion_prediction_flag', указывающая на то, существует ли синтаксис, связанный с предсказанием перемещения в уровне макроблока, информация, 'adaptive_residual_prediction_flag', указывающая на то, существует ли синтаксис, связанный с остаточным предсказанием в уровне макроблока, и тому подобная.
В случае, когда межуровневое предсказание выполняется в соответствии с информацией, указывающей на то, используется ли межуровневое предсказание, сначала может быть получен флаг 'slice_skip_flag', указывающий на наличие или отсутствие данных среза [820]. Посредством подтверждения информации, указывающей на наличие данных среза, возможно решить, нужно ли рассчитывать информацию внутри макроблока для выполнения межуровневого предсказания. В соответствии с информацией, указывающей на наличие данных среза, если данные среза существуют внутри среза [830], возможно получить флаг адаптивного предсказания 'adaptive+prediction-flag' [840]. И также возможно получить информацию 'adaptive_residual_prediction_flag', указывающую на то, существует ли в уровне макроблока синтаксис, связанный с остаточным предсказанием [880]. В соответствии с флагом адаптивного предсказания возможно получить информацию 'default_base_mode_flag'', указывающую на то, как рассчитывать информацию, которая указывает на то, предсказывать ли информацию о перемещении и подобную из соответствующего блока базового уровня [850]. В случае, когда информация о перемещении и подобная не предсказывается из соответствующего блока базового уровня [855], возможно получить информацию 'adaptive_motion_prediction_flag', указывающую на то, существует ли в уровне макроблока синтаксис, связанный с предсказанием перемещения [860]. Если синтаксис, связанный с предсказанием перемещения, не существует в уровне макроблока [865], возможно получить информацию 'default_motion_prediction_flag', указывающую на то, как делать предположение о флаге предсказания перемещения [870].
Информация 'adaptive_motion_prediction_flag', указывающая на то, существует ли в уровне макроблока синтаксис, связанный с предсказанием перемещения, и информация 'adaptive_residual_prediction_flag', указывающая на то, существует ли в уровне макроблока синтаксис, связанный с остаточным предсказанием, применимым внутри уровня макроблока. Например, возможно получить флаг 'motion_prediction_flag_lx', указывающий на то, использовать ли остаточный сигнал базового уровня, основанный на 'adaptive_residual_prediction_flag'.
Как отмечалось в описании выше, декодер/кодер, к которому применимо настоящее изобретение, обеспечен к трансляционному передатчику/приемнику для транслирования мультимедийной информации, такой как DMB (digital multimedia broadcasting - транслирование цифровой мультимедийной информации), которое нужно использовать при декодировании видеосигнала, сигналов данных и т.д. Трансляционный передатчик/приемник может включать в себя оконечное устройство мобильной связи.
Способ декодирования/кодирования, к которому применяется настоящее изобретение, конфигурируется с программой для исполнения на компьютере, а затем сохраняется в машиночитаемом носителе записи. Мультимедийные данные со структурой данных настоящего изобретения могут сохраняться в машиночитаемом носителе записи. Машиночитаемый носитель записи включает в себя все виды устройств для хранения данных, которые могут быть считаны компьютерной системой. Машиночитаемый носитель записи включает в себя ROM, RAM, CD-ROM, магнитные ленты, дискеты, оптические устройства хранения данных и т.п., а также включает в себя устройства, внедренные с несущей волной (например, передача через Интернет). Поток битов, сформированный посредством способа кодирования, сохраняется в машиночитаемом носителе записи или передается через проводную/беспроводную сеть связи.
ПРОМЫШЛЕННАЯ ПРИМЕНИМОСТЬ
Таким образом, несмотря на то, что настоящее изобретение было описано и проиллюстрировано со ссылками на предпочтительные варианты осуществления, будет очевидно для технических специалистов, что в нем могут быть выполнены различные модификации и вариации без отклонения от сущности и объема изобретения. Таким образом, оно предназначено для того, чтобы настоящее изобретение покрывало модификации и вариации этого изобретения, которые попадают под цели прилагаемой формы изобретения и ее эквивалентов.