СПОСОБ И УСТРОЙСТВО ДЛЯ МУЛЬТИПЛЕКСИРОВАНИЯ И ДЕМУЛЬТИПЛЕКСИРОВАНИЯ ВИДЕОДАННЫХ, ЧТОБЫ ИДЕНТИФИЦИРОВАТЬ СОСТОЯНИЕ ВОСПРОИЗВЕДЕНИЯ ВИДЕОДАННЫХ
METHOD AND DEVICE FOR MULTIPLEXING AND DEMULTIPLEXING VIDEO DATA TO IDENTIFY VIDEO DATA REPRODUCTION STATE

ОБЛАСТЬ ТЕХНИКИ
Настоящее изобретение относится к способу и устройству для кодирования и декодирования видео, а конкретнее к способу и устройству для мультиплексирования и демультиплексирования видеоданных, чтобы идентифицировать, является ли состоянием воспроизведения интра-картинки, которая воспроизводится на декодирующей стороне, статус воспроизведения с произвольным доступом или статус нормального воспроизведения.
УРОВЕНЬ ТЕХНИКИ
Видеокодек, включающий в себя ITU-T H.261, ISO/IEC MPEG-1 Visual, ITU-T H.262 (ISO/IEC MPEG-2 Visual), ITU-T H.264, ISO/IEC MPEG-4 Visual и ITU-T H.264 (ISO/IEC MPEG-4 AVC), выполняет кодирование с предсказанием над макроблоком посредством внешнего (интер-) предсказания или внутреннего (интра-) предсказания, формирует поток битов, содержащий кодированные данные изображения, в соответствии с предопределенным форматом, заданным каждым видеокодеком, и выводит поток битов.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
ТЕХНИЧЕСКАЯ ПРОБЛЕМА
Настоящее изобретение задает новый тип интра-картинки для воспроизведения с произвольным доступом и предоставляет способ и устройство для идентификации статуса нормального воспроизведения и статуса воспроизведения с произвольным доступом с помощью аппаратного обеспечения или программного обеспечения, связанного с устройством декодирования.
ТЕХНИЧЕСКОЕ РЕШЕНИЕ
В соответствии с вариантами осуществления настоящего изобретения статус воспроизведения интра-картинки можно идентифицировать посредством синтаксиса, включенного в предопределенные данные передачи.
ПОЛЕЗНЫЕ РЕЗУЛЬТАТЫ
В соответствии с вариантами осуществления настоящего изобретения статус нормального воспроизведения и статус воспроизведения с произвольным доступом можно идентифицировать с помощью аппаратного обеспечения или программного обеспечения, связанного с устройством декодирования, чтобы можно было экономить системный ресурс, который используется для декодирования картинок, которые не нужно декодировать.
ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 - блок-схема устройства для кодирования видео в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 2 - блок-схема устройства для декодирования видео в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 3 - схема для описания идеи единиц кодирования в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 4 - блок-схема кодера изображений на основе единиц кодирования в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 5 - блок-схема декодера изображений на основе единиц кодирования в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 6 - схема, иллюстрирующая более глубокие единицы кодирования в соответствии с глубинами и разбиения в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 7 - схема для описания связи между единицей кодирования и единицами преобразования в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 8 - схема для описания информации кодирования единиц кодирования, соответствующих кодированной глубине, в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 9 - схема более глубоких единиц кодирования в соответствии с глубинами в соответствии с вариантом осуществления настоящего изобретения.
Фиг. с 10 по 12 являются схемами для описания связи между единицами кодирования, единицами предсказания и единицами преобразования в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 13 - схема для описания связи между единицей кодирования, единицей предсказания или разбиением и единицей преобразования в соответствии с информацией режима кодирования Таблицы 1.
Фиг. 14A и 14B иллюстрируют процесс декодирования картинки с чистым произвольным доступом (CRA) при нормальном воспроизведении и произвольном доступе в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 15 иллюстрирует структуру устройства мультиплексирования видеоданных в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 16 иллюстрирует структуру единицы уровня абстракции сети (NAL) в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 17A и 17B иллюстрируют процесс декодирования картинки с CRA при нормальном воспроизведении и произвольном доступе в соответствии с другим вариантом осуществления настоящего изобретения.
Фиг. 18 - блок-схема последовательности операций способа мультиплексирования видеоданных в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 19 иллюстрирует структуру устройства 1900 обратного мультиплексирования видеоданных в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 20 - блок-схема последовательности операций способа обратного мультиплексирования видеоданных в соответствии с вариантом осуществления настоящего изобретения.
ЛУЧШИЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
В соответствии с аспектом настоящего изобретения предоставляется способ мультиплексирования видеоданных, чтобы идентифицировать статус воспроизведения видеоданных, при этом способ включает в себя операции кодирования картинок, образующих видеоданные, на основе единиц данных, имеющих иерархическую структуру; определения, соответствует ли запрос передачи нормальному воспроизведению или предназначен для произвольного доступа, в ответ на запрос передачи кодированных данных от устройства декодирования; и добавления, в соответствии с результатом определения, предопределенного синтаксиса к данным единицы передачи, чтобы мультиплексировать интра-картинку, используемую при произвольном доступе и имеющую начальные картинки, которые предшествуют интра-картинке в порядке отображения, но кодируются после интра-картинки в порядке кодирования, где предопределенный синтаксис указывает, какой запрос из запроса посредством нормального воспроизведения и запроса посредством произвольного доступа имеет отношение к интра-картинке.
В соответствии с другим аспектом настоящего изобретения предоставляется устройство для мультиплексирования видеоданных, чтобы идентифицировать статус воспроизведения видеоданных, при этом устройство включает в себя видеокодер для кодирования картинок, образующих видеоданные, на основе единиц данных, имеющих иерархическую структуру; средство идентификации статуса воспроизведения для определения, соответствует ли запрос передачи нормальному воспроизведению или предназначен для произвольного доступа, в ответ на запрос передачи кодированных данных от устройства декодирования; и мультиплексор для добавления, в соответствии с результатом определения, предопределенного синтаксиса к данным единицы передачи, чтобы мультиплексировать интра-картинку, используемую при произвольном доступе и имеющую начальные картинки, которые предшествуют интра-картинке в порядке отображения, но кодируются после интра-картинки в порядке кодирования, где предопределенный синтаксис указывает, какой запрос из запроса посредством нормального воспроизведения и запроса посредством произвольного доступа имеет отношение к интра-картинке.
В соответствии с другим аспектом настоящего изобретения предоставляется способ демультиплексирования видеоданных, чтобы идентифицировать статус воспроизведения видеоданных, при этом способ включает в себя операции приема данных единицы передачи, используемых для мультиплексирования потока битов, формируемого путем кодирования картинок, образующих видеоданные, на основе единиц данных иерархической структуры; получения предопределенного синтаксиса из данных единицы передачи, чтобы мультиплексировать интра-картинку, используемую при произвольном доступе и имеющую начальные картинки, которые предшествуют интра-картинке в порядке отображения, но кодируются после интра-картинки в порядке декодирования, где предопределенный синтаксис указывает, декодируется ли интра-картинка в соответствии со статусом нормального воспроизведения или в соответствии со статусом произвольного доступа; и идентификации, воспроизводится ли интра-картинка в соответствии с нормальным воспроизведением или в соответствии с произвольным доступом, на основе полученного предопределенного синтаксиса.
В соответствии с другим аспектом настоящего изобретения предоставляется устройство для демультиплексирования видеоданных, чтобы идентифицировать статус воспроизведения видеоданных, при этом устройство включает в себя обратный мультиплексор для приема данных единицы передачи, используемых для мультиплексирования потока битов, формируемого путем кодирования картинок, образующих видеоданные, на основе единиц данных иерархической структуры, получения предопределенного синтаксиса из данных единицы передачи, чтобы мультиплексировать интра-картинку, используемую при произвольном доступе и имеющую начальные картинки, которые предшествуют интра-картинке в порядке отображения, но кодируются после интра-картинки в порядке декодирования, где предопределенный синтаксис указывает, декодируется ли интра-картинка в соответствии со статусом нормального воспроизведения или в соответствии со статусом произвольного доступа; и средство идентификации статуса воспроизведения для идентификации, воспроизводится ли интра-картинка в соответствии с нормальным воспроизведением или в соответствии с произвольным доступом, на основе полученного предопределенного синтаксиса.
ВАРИАНТЫ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
Ниже будет подробно описываться настоящее изобретение путем объяснения типовых вариантов осуществления изобретения со ссылкой на приложенные чертежи. На всем протяжении описания изобретения изображение может включать в себя неподвижное изображение и движущуюся картинку и может называться "видео". Также на всем протяжении описания изобретения кадр изображения может называться картинкой.
Фиг. 1 является блок-схемой устройства 100 кодирования видео в соответствии с вариантом осуществления настоящего изобретения.
Устройство 100 кодирования видео включает в себя делитель 110 максимальной единицы кодирования, определитель 120 единицы кодирования и узел 130 вывода.
Делитель 110 максимальной единицы кодирования может разделить текущую картинку на основе максимальной единицы кодирования для текущей картинки изображения. Если текущая картинка больше максимальной единицы кодирования, то данные изображения текущей картинки можно разделить на по меньшей мере одну максимальную единицу кодирования. Максимальной единицей кодирования в соответствии с вариантом осуществления настоящего изобретения может быть единица данных, имеющая размер 32x32, 64x64, 128x128, 256x256 и т.п., где формой единицы данных является квадрат, имеющий ширину и длину, которые кратны 2 и больше 8. Данные изображения могут выводиться в определитель 120 единицы кодирования в соответствии по меньшей мере с одной максимальной единицей кодирования.
Единица кодирования в соответствии с вариантом осуществления настоящего изобретения может характеризоваться максимальным размером и глубиной. Глубина обозначает количество раз, которое единица кодирования пространственно разделяется от максимальной единицы кодирования, и когда глубина увеличивается, более глубокие единицы кодирования в соответствии с глубинами можно разделять от максимальной единицы кодирования до минимальной единицы кодирования. Глубина максимальной единицы кодирования является самой верхней глубиной, а глубина минимальной единицы кодирования является самой нижней глубиной. Поскольку размер единицы кодирования, соответствующей каждой глубине, уменьшается, когда увеличивается глубина максимальной единицы кодирования, единица кодирования, соответствующая большей глубине, может включать в себя множество единиц кодирования, соответствующих меньшим глубинам.
Как описано выше, данные изображения текущей картинки разделяются на максимальные единицы кодирования в соответствии с максимальным размером единицы кодирования, и каждая из максимальных единиц кодирования может включать в себя более глубокие единицы кодирования, которые разделяются в соответствии с глубинами. Поскольку максимальная единица кодирования в соответствии с вариантом осуществления настоящего изобретения разделяется в соответствии с глубинами, данные изображения в пространственной области, включенные в максимальную единицу кодирования, можно классифицировать иерархически в соответствии с глубинами.
Можно заранее установить максимальную глубину и максимальный размер единицы кодирования, которые ограничивают общее количество раз, которое высота и ширина максимальной единицы кодирования разделяются иерархически.
Определитель 120 единицы кодирования кодирует по меньшей мере одну область разделения, полученную путем разделения области максимальной единицы кодирования в соответствии с глубинами, и определяет глубину для вывода окончательно кодированных данных изображения в соответствии по меньшей мере с одной областью разделения. Другими словами, определитель 120 единицы кодирования определяет кодированную глубину путем кодирования данных изображения в более глубоких единицах кодирования в соответствии с глубинами в соответствии с максимальной единицей кодирования текущей картинки и выбора глубины, имеющей наименьшую ошибку кодирования. Таким образом, в конечном счете выводятся кодированные данные изображения единицы кодирования, соответствующей определенной кодированной глубине. Также единицы кодирования, соответствующие кодированной глубине, могут рассматриваться как кодированные единицы кодирования.
Определенная кодированная глубина и кодированные данные изображения в соответствии с определенной кодированной глубиной выводятся в узел 130 вывода.
Данные изображения в максимальной единице кодирования кодируются на основе более глубоких единиц кодирования, соответствующих по меньшей мере одной глубине, меньшей либо равной максимальной глубине, и результаты кодирования данных изображения сравниваются на основе каждой из более глубоких единиц кодирования. Глубина, обладающая наименьшей ошибкой кодирования, может выбираться после сравнения ошибок кодирования более глубоких единиц кодирования. По меньшей мере одна кодированная глубина может выбираться для каждой максимальной единицы кодирования.
Размер максимальной единицы кодирования разделяется, когда единица кодирования разделяется иерархически в соответствии с глубинами и когда увеличивается количество единиц кодирования. Также, даже если единицы кодирования соответствуют одной и той же глубине в одной максимальной единице кодирования, то определяется, разделять ли каждую из единиц кодирования, соответствующих одной и той же глубине, до меньшей глубины путем измерения ошибки кодирования данных изображения каждой единицы кодирования в отдельности. Соответственно, даже когда данные изображения включаются в одну максимальную единицу кодирования, данные изображения разделяются до областей в соответствии с глубинами, и ошибки кодирования могут отличаться в соответствии с областями в одной максимальной единице кодирования, и таким образом, кодированные глубины могут отличаться в соответствии с областями в данных изображения. Таким образом, можно определить одну или несколько кодированных глубин в одной максимальной единице кодирования, и данные изображения максимальной единицы кодирования можно разделить в соответствии с единицами кодирования меньшей мере одной кодированной глубины.
Соответственно, определитель 120 единицы кодирования может определить единицы кодирования, имеющие древовидную структуру, включенные в максимальную единицу кодирования. "Единицы кодирования, имеющие древовидную структуру", в соответствии с вариантом осуществления настоящего изобретения включают в себя единицы кодирования, соответствующие глубине, определенной как кодированная глубина, среди всех более глубоких единиц кодирования, включенных в максимальную единицу кодирования. Единица кодирования с кодированной глубиной может иерархически определяться в соответствии с глубинами в одной и той же области максимальной единицы кодирования и может определяться независимо в разных областях. Аналогичным образом кодированная глубина в текущей области может определяться независимо от кодированной глубины в другой области.
Максимальная глубина в соответствии с вариантом осуществления настоящего изобретения является индексом, связанным с количеством раз разделения от максимальной единицы кодирования до минимальной единицы кодирования. Первая максимальная глубина в соответствии с вариантом осуществления настоящего изобретения может обозначать общее количество раз разделения от максимальной единицы кодирования до минимальной единицы кодирования. Вторая максимальная глубина в соответствии с вариантом осуществления настоящего изобретения может обозначать общее количество уровней глубины от максимальной единицы кодирования до минимальной единицы кодирования. Например, когда глубина максимальной единицы кодирования равна 0, глубина единицы кодирования, при которой максимальная единица кодирования разделяется один раз, может устанавливаться в 1, и глубина единицы кодирования, при которой максимальная единица кодирования разделяется дважды, может устанавливаться в 2. Здесь, если минимальная единица кодирования является единицей кодирования, при которой максимальная единица кодирования разделяется четыре раза, то существует 5 уровней глубины из глубин 0, 1, 2, 3 и 4, и соответственно первая максимальная глубина может устанавливаться в 4, а вторая максимальная глубина может устанавливаться в 5.
Кодирование с предсказанием и преобразование могут выполняться в соответствии с максимальной единицей кодирования. Кодирование с предсказанием и преобразование также выполняются на основе более глубоких единиц кодирования в соответствии с глубиной, равной максимальной глубине или меньшими глубинами, в соответствии с максимальной единицей кодирования. Преобразование может выполняться в соответствии со способом ортогонального преобразования или целочисленного преобразования.
Поскольку количество более глубоких единиц кодирования увеличивается всякий раз, когда максимальная единица кодирования разделяется в соответствии с глубинами, то кодирование, включающее в себя кодирование с предсказанием и преобразование, выполняется над всеми более глубокими единицами кодирования, сформированными, когда увеличивается глубина. Для удобства описания кодирование с предсказанием и преобразование сейчас будут описываться на основе единицы кодирования с текущей глубиной в максимальной единице кодирования.
Устройство 100 кодирования видео может по-разному выбирать размер или форму единицы данных для кодирования данных изображения. Чтобы кодировать данные изображения, выполняются операции, например кодирование с предсказанием, преобразование и энтропийное кодирование, и в то же время одинаковая единица данных может использоваться для всех операций, либо для каждой операции могут использоваться разные единицы данных.
Например, устройство 100 кодирования видео может выбирать не только единицу кодирования для кодирования данных изображения, но также и единицу данных, отличную от той единицы кодирования, чтобы выполнить кодирование с предсказанием над данными изображения в единице кодирования.
Чтобы выполнить кодирование с предсказанием в максимальной единице кодирования, кодирование с предсказанием может выполняться на основе единицы кодирования, соответствующей кодированной глубине, то есть на основе единицы кодирования, которая больше не разделяется на единицы кодирования, соответствующие меньшей глубине. В дальнейшем единица кодирования, которая больше не разделяется и становится базовой единицей для кодирования с предсказанием, будет называться "единицей предсказания". Разбиение, полученное путем разделения единицы предсказания, может включать в себя единицу предсказания или единицу данных, полученную путем разделения по меньшей мере одной из высоты и ширины единицы предсказания.
Например, когда единица кодирования 2Nx2N (где N - положительное целое число) больше не разделяется и становится единицей предсказания 2Nx2N, размером разбиения может быть 2Nx2N, 2NxN, Nx2N или NxN. Примеры типа разбиения включают в себя симметричные разбиения, которые получаются путем симметричного разделения высоты или ширины единицы предсказания, разбиения, полученные путем асимметричного разделения высоты или ширина единицы предсказания, например 1:n или n:1, разбиения, которые получаются путем геометрического разделения единицы предсказания, и разбиения, имеющие произвольные формы.
Режимом предсказания единицы предсказания может быть по меньшей мере один из внутреннего (интра-) режима, внешнего (интер-) режима и режима пропуска. Например, внутренний режим или внешний режим может выполняться над разбиением 2Nx2N, 2NxN, Nx2N или NxN. Также режим пропуска может выполняться только над разбиением 2Nx2N. Кодирование независимо выполняется над одной единицей предсказания в единице кодирования, посредством этого выбирая режим предсказания, имеющий наименьшую ошибку кодирования.
Устройство 100 кодирования видео также может выполнять преобразование над данными изображения в единице кодирования не только на основе единицы кодирования для кодирования данных изображения, но также на основе единицы данных, которая отличается от единицы кодирования.
Чтобы выполнить преобразование в единице кодирования, преобразование может выполняться на основе единицы данных, имеющей размер, меньше либо равный единице кодирования. Например, единица данных для преобразования может включать в себя единицу данных для внутреннего режима и единицу данных для внешнего режима.
Единица данных, используемая в качестве базы преобразования, теперь будет называться "единицей преобразования". Глубина преобразования, указывающая количество раз разделения для достижения единицы преобразования путем разделения высоты и ширины единицы кодирования, также может устанавливаться в единице преобразования. Например, в текущей единице кодирования 2Nx2N глубина преобразования может быть равна 0, когда размер единицы преобразования также равен 2Nx2N, может быть равна 1, когда каждая из высоты и ширины текущей единицы кодирования разделяется на две равные части, разделяясь в итоге на 4^1 единицы преобразования, и размер единицы преобразования соответственно равен NxN, и может быть равна 2, когда каждая из высоты и ширины текущей единицы кодирования разделяется на четыре равные части, разделяясь в итоге на 4^2 единицы преобразования, и размер единицы преобразования соответственно равен N/2xN/2. Например, единица преобразования может устанавливаться в соответствии с иерархической древовидной структурой, в которой единица преобразования с большей глубиной преобразования разделяется на четыре единицы преобразования с меньшей глубиной преобразования в соответствии с иерархическими характеристиками глубины преобразования.
Аналогично единице кодирования единица преобразования в единице кодирования может рекурсивно разделяться на области меньшего размера, чтобы единицу преобразования можно было независимо определять в единицах областей. Таким образом, остаточные данные в единице кодирования можно разделить в соответствии с преобразованием, имеющим древовидную структуру в соответствии с глубинами преобразования.
Информация кодирования в соответствии с единицами кодирования, соответствующими кодированной глубине, требует не только информацию о кодированной глубине, но также и информацию, связанную с преобразованием и кодированием с предсказанием. Соответственно, определитель 120 единицы кодирования не только определяет кодированную глубину, имеющую наименьшую ошибку кодирования, но также определяет тип разбиения в единице предсказания, режим предсказания в соответствии с единицами предсказания и размер единицы преобразования для преобразования.
Единицы кодирования в соответствии древовидной структуры в максимальной единице кодирования и способ определения разбиения будут подробно описываться ниже по тексту со ссылкой на фиг. 3 - 12 в соответствии с вариантами осуществления настоящего изобретения.
Определитель 120 единицы кодирования может измерять ошибку кодирования более глубоких единиц кодирования в соответствии с глубинами, используя Оптимизацию искажения от скорости передачи на основе множителей Лагранжа.
Узел 130 вывода выводит данные изображения максимальной единицы кодирования, которые кодируются на основе по меньшей мере одной кодированной глубины, определенной определителем 120 единицы кодирования, и информации о режиме кодирования в соответствии с той кодированной глубиной, в потоках битов.
Кодированные данные изображения можно получить путем кодирования остаточных данных изображения.
Информация о режиме кодирования в соответствии с кодированной глубиной может включать в себя информацию о кодированной глубине, о типе разбиения в единице предсказания, режиме предсказания и размере единицы преобразования.
Информация о кодированной глубине может задаваться с использованием информации разделения в соответствии с глубинами, которая указывает, выполняется ли кодирование над единицами кодирования с меньшей глубиной вместо текущей глубины. Если текущая глубина текущей единицы кодирования является кодированной глубиной, то данные изображения в текущей единице кодирования кодируются и выводятся, и соответственно можно задать информацию разделения, чтобы не разделять текущую единицу кодирования до меньшей глубины. В качестве альтернативы, если текущая глубина текущей единицы кодирования не является кодированной глубиной, то кодирование выполняется над единицей кодирования с меньшей глубиной, и соответственно можно задать информацию разделения, чтобы разделить текущую единицу кодирования для получения единиц кодирования с меньшей глубиной.
Если текущая глубина не является кодированной глубиной, то кодирование выполняется над единицей кодирования, которая разделяется на единицу кодирования с меньшей глубиной. Поскольку по меньшей мере одна единица кодирования с меньшей глубиной существует в одной единице кодирования с текущей глубиной, кодирование повторно выполняется над каждой единицей кодирования с меньшей глубиной, и соответственно кодирование может рекурсивно выполняться для единиц кодирования, имеющих одинаковую глубину.
Поскольку единицы кодирования, имеющие древовидную структуру, определяются для одной максимальной единицы кодирования, и информация об по меньшей мере одном режиме кодирования определяется для единицы кодирования с кодированной глубиной, информация об по меньшей мере одном режиме кодирования может определяться для одной максимальной единицы кодирования. Также кодированная глубина данных изображения максимальной единицы кодирования может отличаться в соответствии с местоположениями, поскольку данные изображения иерархически разделяются в соответствии с глубинами, и соответственно информация о кодированной глубине и режиме кодирования может устанавливаться для данных изображения.
Соответственно, узел 130 вывода может назначить информацию кодирования о соответствующей кодированной глубине и режиме кодирования по меньшей мере одной из единицы кодирования, единицы предсказания и минимальной единицы, включенной в максимальную единицу кодирования.
Минимальная единица в соответствии с вариантом осуществления настоящего изобретения может быть прямоугольной единицей данных, полученной путем разделения на 4 минимальной единицы кодирования, составляющей самую нижнюю глубину, и может быть максимальной прямоугольной единицей данных, которая может включаться во все единицы кодирования, единицы предсказания, единицы разбиения и единицы преобразования, включенные в максимальную единицу кодирования.
Например, информацию кодирования, выведенную посредством узла 130 вывода, можно классифицировать на информацию кодирования в соответствии с единицами кодирования и информацию кодирования в соответствии с единицами предсказания. Информация кодирования в соответствии с единицами кодирования может включать в себя информацию о режиме предсказания и о размере разбиений. Информация кодирования в соответствии с единицами предсказания может включать в себя информацию об оцененном направлении внешнего режима, об индексе опорного изображения внешнего режима, о векторе движения, о составляющей цветности внутреннего режима и о способе интерполяции внутреннего режима. Также в заголовок потока битов может вставляться информация о максимальном размере единицы кодирования, заданном в соответствии с картинками, секциями (слайсами) или GOP, и информация о максимальной глубине.
Делитель 110 максимальной единицы кодирования и определитель 120 единицы кодирования соответствуют уровням кодирования видео, которые определяют опорный кадр каждого из кадров изображения, образующих последовательность изображений, путем выполнения оценки движения и компенсации движения над каждым кадром изображения в последовательности изображений в соответствии с единицами кодирования и кодируют каждый кадр изображения с использованием определенного опорного кадра.
Так же, как будет описываться ниже по тексту, узел 130 вывода отображает синтаксис (max_dec_frame_buffering) с помощью единицы уровня абстракции сети (NAL) и таким образом формирует поток битов, где этот синтаксис указывает максимальный размер буфера, необходимый декодеру для декодирования кадров изображения, синтаксис (num_reorder_frames), указывающий количество кадров изображения, которое должно быть переупорядочено, и синтаксис (max_latency_increase), указывающий информацию задержки кадра изображения, который имеет наибольшую разницу между порядком кодирования и порядком отображения и который находится среди кадров изображения, образующих последовательность изображений.
В устройстве 100 кодирования видео более глубокая единица кодирования может быть единицей кодирования, полученной путем деления на два высоты или ширины единицы кодирования с большей глубиной, которая находится на один уровень выше. Другими словами, когда размер единицы кодирования с текущей глубиной равен 2Nx2N, размер единицы кодирования с меньшей глубиной равен NxN. Также единица кодирования с текущей глубиной, имеющая размер 2Nx2N, может включать в себя максимум 4 единицы кодирования с меньшей глубиной.
Соответственно, устройство 100 кодирования видео может образовывать единицы кодирования, имеющие древовидную структуру, путем определения единиц кодирования, имеющих оптимальную форму и оптимальный размер для каждой максимальной единицы кодирования, на основе размера максимальной единицы кодирования и максимальной глубины, определенной с учетом характеристик текущей картинки. Также, поскольку кодирование может выполняться над каждой максимальной единицей кодирования с использованием любого из различных режимов предсказания и преобразований, оптимальный режим кодирования может определяться с учетом характеристик единицы кодирования различных размеров изображения.
Таким образом, если изображение, имеющее высокое разрешение или большой объем данных, кодируется в традиционном макроблоке, то количество макроблоков на картинку чрезмерно увеличивается. Соответственно, увеличивается количество порций сжатой информации, сформированных для каждого макроблока, и соответственно сложно передавать сжатую информацию, и снижается эффективность сжатия данных. Однако при использовании устройства 100 кодирования видео эффективность сжатия изображения можно повысить, поскольку единица кодирования регулируется с учетом характеристик изображения, увеличивая при этом максимальный размер единицы кодирования с учетом размера изображения.
Фиг. 2 является блок-схемой устройства 200 декодирования видео в соответствии с вариантом осуществления настоящего изобретения.
Устройство 200 декодирования видео включает в себя приемник 210, устройство 220 извлечения данных изображения и информации кодирования и декодер 230 данных изображения. Определения различных терминов, например единицы кодирования, глубины, единицы предсказания, единицы преобразования, и информация о различных режимах кодирования для различных операций устройства 200 декодирования видео идентичны описанным со ссылкой на фиг. 1 и устройство 100 кодирования видео.
Приемник 210 принимает и анализирует поток битов кодированного видео. Устройство 220 извлечения данных изображения и информации кодирования извлекает кодированные данные изображения для каждой единицы кодирования из проанализированного потока битов, где единицы кодирования имеют древовидную структуру в соответствии с каждой максимальной единицей кодирования, и выводит извлеченные данные изображения в декодер 230 данных изображения. Устройство 220 извлечения данных изображения и информации кодирования может извлечь информацию о максимальном размере единицы кодирования текущей картинки из заголовка о текущей картинке или SPS.
Также устройство 220 извлечения данных изображения и информации кодирования извлекает информацию о кодированной глубине и режиме кодирования для единиц кодирования, имеющих древовидную структуру в соответствии с каждой максимальной единицей кодирования, из проанализированного потока битов. Извлеченная информация о кодированной глубине и режиме кодирования выводится в декодер 230 данных изображения. Другими словами, данные изображения в потоке двоичных сигналов разделяются на максимальную единицу кодирования, чтобы декодер 230 данных изображения декодировал данные изображения для каждой максимальной единицы кодирования.
Информация о кодированной глубине и режиме кодирования в соответствии с максимальной единицей кодирования может устанавливаться для информации о по меньшей мере одной единице кодирования, соответствующей кодированной глубине, и информация о режиме кодирования может включать в себя информацию о типе разбиения соответствующей единицы кодирования, соответствующей кодированной глубине, о режиме предсказания и размере единицы преобразования. Также информация разделения в соответствии с глубинами может извлекаться в качестве информации о кодированной глубине.
Информация о кодированной глубине и режиме кодирования в соответствии с каждой максимальной единицей кодирования, извлеченная устройством 220 извлечения данных изображения и информации кодирования, является информацией о кодированной глубине и режиме кодирования, определенной как формирующей минимальную ошибку кодирования, когда кодер, например устройство 100 кодирования видео, повторно выполняет кодирование для каждой более глубокой единицы кодирования в соответствии с глубинами в соответствии с каждой максимальной единицей кодирования. Соответственно, устройство 200 декодирования видео может восстановить изображение путем декодирования данных изображения в соответствии с кодированной глубиной и режимом кодирования, которые формируют минимальную ошибку кодирования.
Поскольку информация кодирования о кодированной глубине и режиме кодирования может назначаться заранее установленной единице данных из соответствующей единицы кодирования, единицы предсказания и минимальной единицы, устройство 220 извлечения данных изображения и информации кодирования может извлечь информацию о кодированной глубине и режиме кодирования в соответствии с предопределенными единицами данных. Предопределенные единицы данных, которым назначается одинаковая информация о кодированной глубине и режиме кодирования, можно считать единицами данных, включенными в одну и ту же максимальную единицу кодирования.
Декодер 230 данных изображения восстанавливает текущую картинку путем декодирования данных изображения в каждой максимальной единице кодирования на основе информации о кодированной глубине и режиме кодирования в соответствии с максимальными единицами кодирования. Другими словами, декодер 230 данных изображения может декодировать кодированные данные изображения на основе извлеченной информации о типе разбиения, режиме предсказания и единице преобразования для каждой единицы кодирования из единиц кодирования, имеющих древовидную структуру, включенную в каждую максимальную единицу кодирования. Процесс декодирования может включать в себя предсказание, включающее в себя внутреннее предсказание и компенсацию движения, и обратное преобразование. Обратное преобразование может выполняться в соответствии со способом обратного ортогонального преобразования или обратного целочисленного преобразования.
Декодер 230 данных изображения может выполнять внутреннее предсказание или компенсацию движения в соответствии с разбиением и режимом предсказания каждой единицы кодирования на основе информации о типе разбиения и режиме предсказания единицы предсказания единицы кодирования в соответствии с кодированными глубинами.
Также декодер 230 данных изображения может выполнять обратное преобразование в соответствии с каждой единицей преобразования в единице кодирования на основе информации о размере единицы преобразования единицы кодирования в соответствии с кодированными глубинами, чтобы выполнять обратное преобразование в соответствии с максимальными единицами кодирования.
Декодер 230 данных изображения может определить по меньшей мере одну кодированную глубину текущей максимальной единицы кодирования с использованием информации разделения в соответствии с глубинами. Если информация разделения указывает, что данные изображения больше не разделяются на текущей глубине, то текущая глубина является кодированной глубиной. Соответственно, декодер 230 данных изображения может декодировать кодированные данные по меньшей мере одной единицы кодирования, соответствующей каждой кодированной глубине в текущей максимальной единице кодирования, используя информацию о типе разбиения единицы предсказания, режиме предсказания и размере единицы преобразования для каждой единицы кодирования, соответствующей кодированной глубине, и вывести данные изображения текущей максимальной единицы кодирования.
То есть единицы данных, содержащие информацию кодирования, включающую в себя одинаковую информацию разделения, можно собрать путем слежения за набором информации кодирования, назначенным заранее установленной единице данных из единицы кодирования, единицы предсказания и минимальной единицы, и собранные единицы данных можно считать одной единицей данных, которая будет декодирована декодером 230 данных изображения в одном режиме кодирования.
Также приемник 210 и устройство 220 извлечения данных изображения и информации кодирования выполняют процесс декодирования NAL, в котором синтаксис (max_dec_frame_buffering), указывающий максимальный размер буфера, необходимый декодеру для декодирования кадров изображения, синтаксис (num_reorder_frames), указывающий количество кадров изображения, которое должно быть переупорядочено, и синтаксис (max_latency_increase), указывающий информацию задержки кадра изображения, который имеет наибольшую разницу между порядком кодирования и порядком отображения и который находится среди кадров изображения, образующих последовательность изображений, получаются из потока битов и выводятся в декодер 230 данных изображения.
Устройство 200 декодирования видео может получить информацию о по меньшей мере одной единице кодирования, которая формирует минимальную ошибку кодирования, когда кодирование выполняется рекурсивно для каждой максимальной единицы кодирования, и может использовать эту информацию для декодирования текущей картинки. Другими словами, можно декодировать единицы кодирования, имеющие древовидную структуру, определенные как оптимальные единицы кодирования в каждой максимальной единице кодирования. Также максимальный размер единицы кодирования определяется с учетом разрешения и объема данных изображения.
Соответственно, даже если данные изображения имеют высокое разрешение и большой объем данных, то данные изображения можно эффективно декодировать и восстанавливать с использованием размера единицы кодирования и режима кодирования, которые адаптивно определяются в соответствии с характеристиками данных изображения, используя информацию об оптимальном режиме кодирования, принятую от кодера.
Сейчас будет описываться способ определения единиц кодирования, имеющих древовидную структуру, единицы предсказания и единицы преобразования в соответствии с вариантом осуществления настоящего изобретения со ссылкой на фиг. 3 - 13.
Фиг. 3 - схема для описания идеи единиц кодирования в соответствии с вариантом осуществления настоящего изобретения.
Размер единицы кодирования может выражаться в виде ширины x высоту и может быть 64x64, 32x32, 16x16 и 8x8. Единицу кодирования 64x64 можно разделить на разбиения 64x64, 64x32, 32x64 или 32x32, а единицу кодирования 32x32 можно разделить на разбиения 32x32, 32x16, 16x32 или 16x16, единицу кодирования 16x16 можно разделить на разбиения 16x16, 16x8, 8x16 или 8x8, а единицу кодирования 8x8 можно разделить на разбиения 8x8, 8x4, 4x8 или 4x4.
В видеоданных 310 разрешение составляет 1920x1080, максимальный размер единицы кодирования равен 64, и максимальная глубина равна 2. В видеоданных 320 разрешение составляет 1920x1080, максимальный размер единицы кодирования равен 64, и максимальная глубина равна 3. В видеоданных 330 разрешение составляет 352x288, максимальный размер единицы кодирования равен 16, и максимальная глубина равна 1. Максимальная глубина, показанная на фиг. 3, обозначает общее количество разделений от максимальной единицы кодирования до минимальной единицы кодирования.
Если разрешение высокое или объем данных большой, то максимальный размер единицы кодирования может быть большим, чтобы не только повысить эффективность кодирования, но также точно отразить характеристики изображения. Соответственно, максимальный размер единицы кодирования видеоданных 310 и 320, имеющих более высокое разрешение, чем видеоданные 330, может быть равен 64.
Поскольку максимальная глубина видеоданных 310 равна 2, единицы 315 кодирования видеоданных 310 могут включать в себя максимальную единицу кодирования, имеющую размер длинной оси, равный 64, и единицы кодирования, имеющие размеры длинной оси, равные 32 и 16, поскольку глубины увеличиваются на два уровня путем разделения максимальной единицы кодирования два раза. Между тем, поскольку максимальная глубина видеоданных 330 равна 1, единицы 335 кодирования видеоданных 330 могут включать в себя максимальную единицу кодирования, имеющую размер длинной оси, равный 16, и единицы кодирования, имеющие размер длинной оси, равный 8, поскольку глубины увеличиваются на один уровень путем разделения максимальной единицы кодирования один раз.
Поскольку максимальная глубина видеоданных 320 равна 3, единицы 325 кодирования видеоданных 320 могут включать в себя максимальную единицу кодирования, имеющую размер длинной оси, равный 64, и единицы кодирования, имеющие размеры длинной оси, равные 32, 16 и 8, поскольку глубины увеличиваются на 3 уровня путем разделения максимальной единицы кодирования три раза. Когда глубина увеличивается, можно точно выразить подробную информацию.
Фиг. 4 - блок-схема кодера 400 изображений на основе единиц кодирования в соответствии с вариантом осуществления настоящего изобретения.
Кодер 400 изображений выполняет операции определителя 120 единицы кодирования в устройстве 100 кодирования видео, чтобы кодировать данные изображения. Другими словами, средство 410 внутреннего предсказания выполняет внутреннее предсказание над единицами кодирования во внутреннем режиме из текущего кадра 405, а средство 420 оценки движения и компенсатор 425 движения выполняют внешнюю оценку и компенсацию движения над единицами кодирования во внешнем режиме из текущего кадра 405 с использованием текущего кадра 405 и опорного кадра 495.
Данные, выведенные из средства 410 внутреннего предсказания, средства 420 оценки движения и компенсатора 425 движения, выводятся в виде квантованного коэффициента преобразования посредством преобразователя 430 и квантователя 440. Квантованный коэффициент преобразования восстанавливается в виде данных в пространственной области посредством обратного квантователя 460 и обратного преобразователя 470, и восстановленные данные в пространственной области выводятся в виде опорного кадра 495 после постобработки посредством узла 480 устранения блочности и узла 490 контурной фильтрации. Квантованный коэффициент преобразования может выводиться в виде потока 455 двоичных сигналов посредством энтропийного кодера (средства энтропийного кодирования) 450. В частности, энтропийный кодер 450 может отобразить синтаксис максимальной буферизации декодированных кадров (max_dec_frame_buffering) с помощью единицы NAL и, таким образом, может сформировать поток битов, где синтаксис максимальной буферизации декодированных кадров (max_dec_frame_buffering) указывает максимальный размер буфера, необходимый декодеру для декодирования кадров изображения, синтаксис количества кадров переупорядочения (num_reorder_frames), указывающий количество кадров изображения, которое должно быть переупорядочено, синтаксис максимальной задержки кадра (MaxLatencyFrame), указывающий максимальное значение разницы между порядком кодирования и порядком отображения кадров изображения, образующих последовательность изображений, или синтаксис увеличения максимальной задержки (max_latency_increase) для определения синтаксиса максимальной задержки кадра (MaxLatencyFrame). В частности, энтропийный кодер 450 в соответствии с настоящим вариантом осуществления включает синтаксис максимальной буферизации декодированных кадров (max_dec_frame_buffering), указывающий максимальный размер буфера, необходимый декодеру для декодирования кадров изображения, синтаксис количества кадров переупорядочения (num_reorder_frames), указывающий количество кадров изображения, которое должно быть переупорядочено, и синтаксис увеличения максимальной задержки (max_latency_increase) для определения синтаксиса максимальной задержки кадра (MaxLatencyFrame), в качестве неотъемлемых элементов в набор параметров последовательности (SPS), который является заголовочной информацией, включающей в себя информацию, связанную с кодированием всей последовательности изображений.
Для того чтобы кодер 400 изображений применялся в устройстве 100 кодирования видео, все элементы кодера 400 изображений, то есть средство 410 внутреннего предсказания, средство 420 оценки движения, компенсатор 425 движения, преобразователь 430, квантователь 440, энтропийный кодер 450, обратный квантователь 460, обратный преобразователь 470, узел 480 устранения блочности и узел 490 контурной фильтрации, выполняют операции на основе каждой единицы кодирования из единиц кодирования, имеющих древовидную структуру, учитывая при этом максимальную глубину каждой максимальной единицы кодирования.
В частности, средство 410 внутреннего предсказания, средство 420 оценки движения и компенсатор 425 движения определяют разбиения и режим предсказания каждой единицы кодирования из единиц кодирования, имеющих древовидную структуру, учитывая при этом максимальный размер и максимальную глубину текущей максимальной единицы кодирования, а преобразователь 430 определяет размер единицы преобразования в каждой единице кодирования из единиц кодирования, имеющих древовидную структуру.
Фиг. 5 - блок-схема декодера 500 изображений на основе единиц кодирования в соответствии с вариантом осуществления настоящего изобретения.
Анализатор 510 анализирует кодированные данные изображения, которые будут декодированы, и информацию о кодировании, необходимую для декодирования, из потока 505 битов. В частности, анализатор 510 получает синтаксис максимальной буферизации декодированных кадров (max_dec_frame_buffering), указывающий максимальный размер буфера, необходимый для декодирования кадров изображения, включенный в качестве неотъемлемого элемента в SPS, синтаксис количества кадров переупорядочения (num_reorder_frames), указывающий количество кадров изображения, которое должно быть переупорядочено, и синтаксис увеличения максимальной задержки (max_latency_increase) для определения синтаксиса максимальной задержки кадра (MaxLatencyFrame) из потока битов и выводит их в энтропийный декодер (средство энтропийного декодирования) 520. На фиг. 5 анализатор 510 и энтропийный декодер 520 являются отдельными элементами. Однако получение данных изображения и получение каждого элемента синтаксической информации, связанной с кодированными данными изображения, которые выполняются анализатором 510, можно реализовать для выполнения энтропийным декодером 520.
Кодированные данные изображения выводятся в виде обратно квантованных данных посредством энтропийного декодера 520 и обратного квантователя 530, и обратно квантованные данные восстанавливаются в данные изображения в пространственной области посредством обратного преобразователя 540.
Средство 550 внутреннего предсказания выполняет внутреннее предсказание над единицами кодирования во внутреннем режиме по отношению к данным изображения в пространственной области, а компенсатор 560 движения выполняет компенсацию движения над единицами кодирования во внешнем режиме с использованием опорного кадра 585.
Кадры изображения, которые восстанавливаются при прохождении через средство 550 внутреннего предсказания и компенсатор 560 движения, могут пройти постобработку посредством узла 570 устранения блочности и могут быть выведены в буфер 580 декодированных изображений (DPB). DPB 580 сохраняет опорный кадр, изменяет порядок отображения кадров изображения и сохраняет восстановленные кадры изображения, чтобы вывести кадры изображения. DPB 580 сохраняет восстановленные кадры изображения и устанавливает максимальный размер буфера, необходимый для нормального декодирования последовательности изображений, используя синтаксис максимальной буферизации декодированных кадров (max_dec_frame_buffering), указывающий максимальный размер буфера, необходимый для декодирования кадров изображения, который выводится из анализатора 510 или энтропийного декодера 520.
Также DPB 580 может определить, выводить ли кадр опорного изображения, который декодирован и сохранен ранее, используя синтаксис количества кадров переупорядочения (num_reorder_frames), указывающий количество кадров изображения, которое должно быть переупорядочено, и синтаксис увеличения максимальной задержки (max_latency_increase) для определения синтаксиса максимальной задержки кадра (MaxLatencyFrame). Процесс вывода кадра опорного изображения, сохраненного в DPB 580, будет подробно описываться ниже по тексту.
Чтобы декодировать данные изображения в декодере 230 данных изображения в устройстве 200 декодирования видео, декодер 500 изображений может выполнять операции, которые выполняются после анализатора 510.
Для того чтобы декодер 500 изображений применялся в устройстве 200 декодирования видео, все элементы декодера 500 изображений, то есть анализатор 510, энтропийный декодер 520, обратный квантователь 530, обратный преобразователь 540, средство 550 внутреннего предсказания, компенсатор 560 движения, узел 570 устранения блочности и узел 580 контурной фильтрации, могут выполнять операции декодирования на основе единиц кодирования, имеющих древовидную структуру для каждой максимальной единицы кодирования. В частности, средство 550 внутреннего предсказания и компенсатор 560 движения могут определять разбиения и режим предсказания для каждой из единиц кодирования, имеющих древовидную структуру, а обратный преобразователь 540 может определять размер единицы преобразования для каждой единицы кодирования.
Фиг. 6 - схема, иллюстрирующая более глубокие единицы кодирования в соответствии с глубинами и разбиения в соответствии с вариантом осуществления настоящего изобретения.
Устройство 100 кодирования видео и устройство 200 декодирования видео используют иерархические единицы кодирования, чтобы принимать во внимание характеристики изображения. Максимальная высота, максимальная ширина и максимальная глубина единиц кодирования может определяться адаптивно в соответствии с характеристиками изображения или может устанавливаться пользователем по-другому. Размеры более глубоких единиц кодирования в соответствии с глубинами могут определяться в соответствии с предопределенным максимальным размером единицы кодирования.
В иерархической структуре 600 единиц кодирования в соответствии с вариантом осуществления настоящего изобретения максимальная высота и максимальная ширина единиц кодирования равны 64 каждая, а максимальная глубина равна 4. Поскольку глубина увеличивается по вертикальной оси иерархической структуры 600, высота и ширина более глубокой единицы кодирования разделяются. Также единица предсказания и разбиения, которые являются базами для кодирования с предсказанием каждой более глубокой единицы кодирования, показаны по горизонтальной оси иерархической структуры 600.
Другими словами, единица 610 кодирования является максимальной единицей кодирования в иерархической структуре 600, в которой глубина равна 0 и размер, то есть высота на ширину, равен 64x64. Глубина увеличивается по вертикальной оси, и существует единица 620 кодирования, имеющая размер 32x32 и глубину 1, единица 630 кодирования, имеющая размер 16x16 и глубину 2, единица 640 кодирования, имеющая размер 8x8 и глубину 3, и единица 650 кодирования, имеющая размер 4x4 и глубину 4. Единица 650 кодирования, имеющая размер 4x4 и глубину 4, является минимальной единицей кодирования.
Единица предсказания и разбиения единицы кодирования размещаются по горизонтальной оси в соответствии с каждой глубиной. Другими словами, если единица 610 кодирования, имеющая размер 64x64 и глубину 0, является единицей предсказания, то единицу предсказания можно разделить на разбиения, которые включаются в единицу 610 кодирования, то есть разбиение 610, имеющее размер 64x64, разбиения 612, имеющие размер 64x32, разбиения 614, имеющие размер 32x64, или разбиения 616, имеющие размер 32x32.
Аналогичным образом единицу предсказания единицы 620 кодирования, имеющей размер 32x32 и глубину 1, можно разделить на разбиения, включенные в единицу 620 кодирования, то есть разбиение 620, имеющее размер 32x32, разбиения 622, имеющие размер 32x16, разбиения 624, имеющие размер 16x32, и разбиения 626, имеющие размер 16x16.
Аналогичным образом единицу предсказания единицы 630 кодирования, имеющей размер 16x16 и глубину 2, можно разделить на разбиения, включенные в единицу 630 кодирования, то есть разбиение, имеющее размер 16x16, включенное в единицу 630 кодирования, разбиения 632, имеющие размер 16x8, разбиения 634, имеющие размер 8x16, и разбиения 636, имеющие размер 8x8.
Аналогичным образом единицу предсказания единицы 640 кодирования, имеющей размер 8x8 и глубину 3, можно разделить на разбиения, включенные в единицу 640 кодирования, то есть разбиение, имеющее размер 8x8, включенное в единицу 640 кодирования, разбиения 642, имеющие размер 8x4, разбиения 644, имеющие размер 4x8, и разбиения 646, имеющие размер 4x4.
Единица 650 кодирования, имеющая размер 4x4 и глубину 4, является минимальной единицей кодирования и единицей кодирования с самой нижней глубиной. Единица предсказания единицы 650 кодирования назначается только разбиению, имеющему размер 4x4.
Чтобы определить по меньшей мере одну кодированную глубину единиц кодирования, составляющих максимальную единицу 610 кодирования, определитель 120 единицы кодирования в устройстве 100 кодирования видео выполняет кодирование для единиц кодирования, соответствующих каждой глубине, включенной в максимальную единицу 610 кодирования.
Количество более глубоких единиц кодирования в соответствии с глубинами, включающих в себя данные в одном и том же диапазоне и одного и того же размера, увеличивается с увеличением глубины. Например, четыре единицы кодирования, соответствующие глубине 2, необходимо для охвата данных, которые включаются в одну единицу кодирования, соответствующую глубине 1. Соответственно, чтобы сравнить результаты кодирования одних и тех же данных в соответствии с глубинами, кодируются единица кодирования, соответствующая глубине 1, и четыре единицы кодирования, соответствующие глубине 2.
Чтобы выполнить кодирование для текущей глубины из тех глубин, наименьшая ошибка кодирования может выбираться для текущей глубины путем выполнения кодирования для каждой единицы предсказания в единицах кодирования, соответствующих текущей глубине, по горизонтальной оси в иерархической структуре 600. В качестве альтернативы минимальную ошибку кодирования можно искать путем сравнения наименьших ошибок кодирования в соответствии с глубинами путем выполнения кодирования для каждой глубины, когда глубина увеличивается по вертикальной оси в иерархической структуре 600. Глубина и разбиение, обладающие минимальной ошибкой кодирования в единице 610 кодирования, могут выбираться в качестве кодированной глубины и типа разбиения единицы 610 кодирования.
Фиг. 7 - схема для описания связи между единицей 710 кодирования и единицами 720 преобразования в соответствии с вариантом осуществления настоящего изобретения.
Устройство 100 или 200 кодирования видео кодирует или декодирует изображение в соответствии с единицами кодирования, имеющими размеры, меньше либо равные максимальной единице кодирования для каждой максимальной единицы кодирования. Размеры единиц преобразования для преобразования во время кодирования могут выбираться на основе единиц данных, которые не превышают соответствующую единицу кодирования.
Например, в устройстве 100 или 200 кодирования видео, если размер единицы 710 кодирования равен 64x64, то преобразование может выполняться с использованием единиц 720 преобразования, имеющих размер 32x32.
Также данные единицы 710 кодирования, имеющей размер 64x64, могут кодироваться путем выполнения преобразования над каждой из единиц преобразования, имеющих размер 32x32, 16x16, 8x8 и 4x4, которые меньше 64x64, а затем может выбираться единица преобразования, имеющая наименьшую ошибку кодирования.
Фиг. 8 - схема для описания информации кодирования единиц кодирования, соответствующих кодированной глубине, в соответствии с вариантом осуществления настоящего изобретения.
Узел 130 вывода в устройстве 100 кодирования видео может кодировать и передавать информацию 800 о типе разбиения, информацию 810 о режиме предсказания и информацию 820 о размере единицы преобразования для каждой единицы кодирования, соответствующей кодированной глубине, в качестве информации о режиме кодирования.
Информация 800 указывает информацию о форме разбиения, полученной путем разделения единицы предсказания текущей единицы кодирования, где разбиение является единицей данных для кодирования с предсказанием текущей единицы кодирования. Например, текущую единицу CU_0 кодирования, имеющую размер 2Nx2N, можно разделить на любое разбиение из разбиения 802, имеющего размер 2Nx2N, разбиения 804, имеющего размер 2NxN, разбиения 806, имеющего размер Nx2N, и разбиения 808, имеющего размер NxN. Здесь информация 800 о типе разбиения устанавливается для указания одного из разбиения 804, имеющего размер 2NxN, разбиения 806, имеющего размер Nx2N, и разбиения 808, имеющего размер NxN.
Информация 810 указывает режим предсказания каждого разбиения. Например, информация 810 может указывать режим кодирования с предсказанием, выполняемого над разбиением, указанным информацией 800, то есть внутренний режим 812, внешний режим 814 или режим 816 пропуска.
Информация 820 указывает единицу преобразования, которая будет основываться на том, когда выполняется преобразование над текущей единицей кодирования. Например, единица преобразования может быть первой единицей 822 внутреннего преобразования, второй единицей 824 внутреннего преобразования, первой единицей 826 внешнего преобразования или второй единицей 828 внешнего преобразования.
Устройство 220 извлечения данных изображения и информации кодирования в устройстве 200 декодирования видео может извлекать и использовать информацию 800, 810 и 820 для декодирования в соответствии с каждой более глубокой единицей кодирования.
Фиг. 9 - схема более глубоких единиц кодирования в соответствии с глубинами в соответствии с вариантом осуществления настоящего изобретения.
Информация разделения может использоваться для указания изменения глубины. Информация разделения указывает, разделяется ли единица кодирования с текущей глубиной на единицы кодирования с меньшей глубиной.
Единица 910 предсказания для кодирования с предсказанием единицы 900 кодирования, имеющей глубину 0 и размер 2N_0x2N_0, может включать в себя разбиения с типом 912 разбиения, имеющим размер 2N_0x2N_0, типом 914 разбиения, имеющим размер 2N_0xN_0, типом 916 разбиения, имеющим размер N_0x2N_0, и типом 918 разбиения, имеющим размер N_0xN_0. Фиг. 9 иллюстрирует только типы разбиения с 912 по 918, которые получаются путем симметричного разделения единицы 910 предсказания, но тип разбиения этим не ограничивается, и разбиения единицы 910 предсказания могут включать в себя асимметричные разбиения, разбиения, имеющие заранее установленную форму, и разбиения, имеющие геометрическую форму.
Кодирование с предсказанием повторно выполняется над одним разбиением, имеющим размер 2N_0x2N_0, двумя разбиениями, имеющими размер 2N_0xN_0, двумя разбиениями, имеющими размер N_0x2N_0, и четырьмя разбиениями, имеющими размер N_0xN_0, в соответствии с каждым типом разбиения. Кодирование с предсказанием во внутреннем режиме и внешнем режиме может выполняться над разбиениями, имеющими размеры 2N_0x2N_0, N_0x2N_0, 2N_0xN_0 и N_0xN_0. Кодирование с предсказанием в режиме пропуска выполняется только над разбиением, имеющим размер 2N_0x2N_0.
Сравниваются ошибки кодирования, включающие кодирования с предсказанием в типах разбиения с 912 по 918, и определяется наименьшая ошибка кодирования среди тех типов разбиения. Если ошибка кодирования является наименьшей в одном из типов разбиения с 912 по 916, то единица 910 предсказания может не разделяться на меньшую глубину.
Если ошибка кодирования является наименьшей в типе 918 разбиения, то глубина изменяется с 0 на 1, чтобы разделить тип 918 разбиения в операции 920, и кодирование повторно выполняется над единицами 930 кодирования, имеющими глубину 2 и размер N_0xN_0, чтобы найти минимальную ошибку кодирования.
Единица 940 предсказания для кодирования с предсказанием единицы 930 кодирования, имеющей глубину 1 и размер 2N_1x2N_1 (=N_0xN_0), может включать в себя разбиения с типом 942 разбиения, имеющим размер 2N_1x2N_1, типом 944 разбиения, имеющим размер 2N_1xN_1, типом 946 разбиения, имеющим размер N_1x2N_1, и типом 948 разбиения, имеющим размер N_1xN_1.
Если ошибка кодирования является наименьшей в типе 948 разбиения, то глубина изменяется с 1 на 2, чтобы разделить тип 948 разбиения в операции 950, и кодирование повторно выполняется над единицами 960 кодирования, которые имеют глубину 2 и размер N_2xN_2, чтобы найти минимальную ошибку кодирования.
Когда максимальная глубина равна d, операция разделения в соответствии с каждой глубиной может выполняться вплоть до того, когда глубина станет равной d-1, и информация разделения может кодироваться вплоть до того, когда глубина равна глубине от 0 до d-2. Другими словами, когда кодирование выполняется вплоть до того, когда глубина равна d-1, после того, как в операции 970 разделяется единица кодирования, соответствующая глубине d-2, единица 990 предсказания для кодирования с предсказанием единицы 980 кодирования, имеющей глубину d-1 и размер 2N_(d-1)x2N_(d-1), может включать в себя разбиения с типом 992 разбиения, имеющим размер 2N_(d-1)x2N_(d-1), типом 994 разбиения, имеющим размер 2N_(d-1)xN_(d-1), типом 996 разбиения, имеющим размер N_(d-1)x2N_(d-1), и типом 998 разбиения, имеющим размер N_(d-1)xN_(d-1).
Кодирование с предсказанием может повторно выполняться над одним разбиением, имеющим размер 2N_(d-1)x2N_(d-1), двумя разбиениями, имеющими размер 2N_(d-1)xN_(d-1), двумя разбиениями, имеющими размер N_(d-1)x2N_(d-1), четырьмя разбиениями, имеющими размер N_(d-1)xN_(d-1), среди типов разбиения с 992 по 998, чтобы найти тип разбиения, имеющий минимальную ошибку кодирования.
Даже когда тип 998 разбиения имеет минимальную ошибку кодирования, поскольку максимальная глубина равна d, единица CU_(d-1) кодирования, имеющая глубину d-1, больше не разделяется на меньшую глубину, и кодированная глубина для единиц кодирования, составляющих текущую максимальную единицу 900 кодирования, определяется как d-1, а тип разбиения текущей максимальной единицы 900 кодирования может определяться как N_(d-1)xN_(d-1). Также, поскольку максимальная глубина равна d, а минимальная единица 980 кодирования, имеющая самую нижнюю глубину d-1, больше не разделяется на меньшую глубину, информация разделения для минимальной единицы 980 кодирования не устанавливается.
Единица 999 данных может быть "минимальной единицей" для текущей максимальной единицы кодирования. Минимальная единица в соответствии с вариантом осуществления настоящего изобретения может быть прямоугольной единицей данных, полученной путем разделения на 4 минимальной единицы 980 кодирования. В результате повторного выполнения кодирования устройство 100 кодирования видео может выбрать глубину, имеющую наименьшую ошибку кодирования, путем сравнения ошибок кодирования в соответствии с глубинами единицы 900 кодирования, чтобы определить кодированную глубину, и установить соответствующий тип разбиения и режим предсказания в качестве режима кодирования у кодированной глубины.
По существу, минимальные ошибки кодирования в соответствии с глубинами сравниваются на всех глубинах с 1 по d, и глубина, имеющая наименьшую ошибку кодирования, может определяться в качестве кодированной глубины. Кодированная глубина, тип разбиения единицы предсказания и режим предсказания могут кодироваться и передаваться в качестве информации о режиме кодирования. Также, поскольку единица кодирования разделяется от глубины 0 до кодированной глубины, только информация разделения кодированной глубины устанавливается в 0, а информация разделения глубин за исключением кодированной глубины устанавливается в 1.
Устройство 220 извлечения данных изображения и информации кодирования в устройстве 200 декодирования видео может извлекать и использовать информацию о кодированной глубине и единицу предсказания единицы 900 кодирования, чтобы декодировать разбиение 912. Устройство 200 декодирования видео может определить глубину, на которой информация разделения равна 0, в качестве кодированной глубины, используя информацию разделения в соответствии с глубинами, и использовать информацию о режиме кодирования соответствующей глубины для декодирования.
Фиг. с 10 по 12 являются схемами для описания связи между единицами 1010 кодирования, единицами 1060 предсказания и единицами 1070 преобразования в соответствии с вариантом осуществления настоящего изобретения.
Единицы 1010 кодирования являются единицами кодирования, имеющими древовидную структуру, соответствующими кодированным глубинам, определенным устройством 100 кодирования видео, в максимальной единице кодирования. Единицы 1060 предсказания являются разбиениями единиц предсказания каждой из единиц 1010 кодирования, а единицы 1070 преобразования являются единицами преобразования каждой из единиц 1010 кодирования.
Когда глубина максимальной единицы кодирования равна 0 в единицах 1010 кодирования, глубины единиц 1012 и 1054 кодирования равны 1, глубины единиц 1014, 1016, 1018, 1028, 1050 и 1052 кодирования равны 2, глубины единиц 1020, 1022, 1024, 1026, 1030, 1032 и 1048 кодирования равны 3, и глубины единиц 1040, 1042, 1044 и 1046 кодирования равны 4.
В единицах 1060 предсказания некоторые единицы 1014, 1016, 1022, 1032, 1048, 1050, 1052 и 1054 кодирования получаются путем разделения единиц кодирования в единицах 1010 кодирования. Другими словами, типы разбиения в единицах 1014, 1022, 1050 и 1054 кодирования имеют размер 2NxN, типы разбиения в единицах 1016, 1048 и 1052 кодирования имеют размер Nx2N, и тип разбиения единицы 1032 кодирования имеет размер NxN. Единицы предсказания и разбиения единиц 1010 кодирования меньше либо равны каждой единице кодирования.
Преобразование или обратное преобразование выполняется над данными изображения единицы 1052 кодирования в единицах 1070 преобразования в единице данных, которая меньше единицы 1052 кодирования. Также единицы 1014, 1016, 1022, 1032, 1048, 1050 и 1052 кодирования в единицах 1070 преобразования отличаются от таковых в единицах 1060 предсказания в показателях размеров и форм. Другими словами, устройства 100 и 200 кодирования и декодирования видео могут выполнять внутреннее предсказание, оценку движения, компенсацию движения, преобразование и обратное преобразование по отдельности над единицей данных в одной и той же единице кодирования.
Соответственно, кодирование рекурсивно выполняется над каждой из единиц кодирования, имеющих иерархическую структуру в каждой области максимальной единицы кодирования, чтобы определить оптимальную единицу кодирования, и соответственно можно получить единицы кодирования, имеющие рекурсивную древовидную структуру. Информация кодирования может включать в себя информацию разделения о единице кодирования, информацию о типе разбиения, информацию о режиме предсказания и информацию о размере единицы преобразования. Таблица 1 показывает информацию кодирования, которая может устанавливаться устройствами 100 и 200 кодирования и декодирования видео.
<b>Таблица 1</b>
Информация 0 разделения(Кодирование над единицей кодирования, имеющей размер 2Nx2N и текущую глубину d)
Информация 1 разделения
Режим предсказания
Тип разбиения
Размер единицы преобразования
Повторно кодировать единицы кодирования, имеющие меньшую глубину d+1
ВнутреннийВнешнийПропуск (только 2Nx2N)
Симметричный тип разбиения
Асимметричный тип разбиения
Информация 0 разделения единицы преобразования
Информация 1 разделения единицы преобразования
2Nx2N2NxNNx2NNxN
2NxnU2NxnDnLx2NnRx2N
2Nx2N
NxN(Симметричный тип)N/2xN/2(Асимметричный тип)
Узел 130 вывода в устройстве 100 кодирования видео может выводить информацию кодирования о единицах кодирования, имеющих древовидную структуру, а устройство 220 извлечения данных изображения и информации кодирования в устройстве 200 декодирования видео может извлекать информацию кодирования о единицах кодирования, имеющих древовидную структуру, из принятого потока битов.
Информация разделения указывает, разделяется ли текущая единица кодирования на единицы кодирования с меньшей глубиной. Если информация разделения с текущей глубиной d является 0, то глубина, на которой текущая единица кодирования больше не разделяется на меньшую глубину, является кодированной глубиной, и соответственно можно задать информацию о типе разбиения, режиме предсказания и размере единицы преобразования для кодированной глубины. Если текущая единица кодирования дополнительно разделяется в соответствии с информацией разделения, то кодирование выполняется независимо над четырьмя разделенными единицами кодирования с меньшей глубиной.
Режим предсказания может быть одним из внутреннего режима, внешнего режима и режима пропуска. Внутренний режим и внешний режим можно задать во всех типах разбиения, а режим пропуска задается только в типе разбиения, имеющем размер 2Nx2N.
Информация о типе разбиения может указывать симметричные типы разбиения, имеющие размеры 2Nx2N, 2NxN, Nx2N и NxN, которые получаются путем симметричного разделения высоты или ширины единицы предсказания, и асимметричные типы разбиения, имеющие размеры 2NxnU, 2NxnD, nLx2N и nRx2N, которые получаются путем асимметричного разделения высоты или ширины единицы предсказания. Асимметричные типы разбиения, имеющие размеры 2NxnU и 2NxnD, можно получить соответственно путем разделения высоты единицы предсказания в пропорции 1:3 и 3:1, а асимметричные типы разбиения, имеющие размеры nLx2N и nRx2N, можно получить соответственно путем разделения ширины единицы предсказания в пропорции 1:3 и 3:1.
Размер единицы преобразования может устанавливаться в два типа во внутреннем режиме и два типа во внешнем режиме. Другими словами, если информация разделения единицы преобразования является 0, то размер единицы преобразования может быть 2Nx2N, что является размером текущей единицы кодирования. Если информация разделения единицы преобразования является 1, то единицы преобразования можно получить путем разделения текущей единицы кодирования. Также, если тип разбиения текущей единицы кодирования, имеющей размер 2Nx2N, является симметричным типом разбиения, то размер единицы преобразования может быть NxN, а если тип разбиения текущей единицы кодирования является асимметричным типом разбиения, то размер единицы преобразования может быть равен N/2xN/2.
Информация кодирования о единицах кодирования, имеющих древовидную структуру, может включать в себя по меньшей мере одну из единицы кодирования, соответствующей кодированной глубине, единицы предсказания и минимальной единицы. Единица кодирования, соответствующая кодированной глубине, может включать в себя по меньшей мере одну из единицы предсказания и минимальной единицы, содержащих одну и ту же информацию кодирования.
Соответственно, определяется, включаются ли соседние единицы данных в одну и ту же единицу кодирования, соответствующую кодированной глубине, путем сравнения информации кодирования соседних единиц данных. Также соответствующая единица кодирования, соответствующая кодированной глубине, определяется с использованием информации кодирования единицы данных, и соответственно можно определить распределение кодированных глубин в максимальной единице кодирования.
Соответственно, если текущая единица кодирования предсказывается на основе информации кодирования соседних единиц данных, то к информации кодирования единиц данных в более глубоких единицах кодирования рядом с текущей единицей кодирования можно напрямую обращаться и использовать ее.
В качестве альтернативы, если текущая единица кодирования предсказывается на основе информации кодирования соседних единиц данных, то единицы данных рядом с текущей единицей кодирования ищутся с использованием кодированной информации единиц данных, и к просмотренным соседним единицам кодирования можно обращаться для предсказания текущей единицы кодирования.
Фиг. 13 - схема для описания связи между единицей кодирования, единицей предсказания или разбиением и единицей преобразования в соответствии с информацией режима кодирования Таблицы 1.
Максимальная единица 1300 кодирования включает в себя единицы 1302, 1304, 1306, 1312, 1314, 1316 и 1318 кодирования кодированных глубин. Здесь, поскольку единица 1318 кодирования является единицей кодирования кодированной глубины, информация разделения может быть установлена в 0. Информация о типе разбиения единицы 1318 кодирования, имеющей размер 2Nx2N, может быть установлена в один из типа 1322 разбиения, имеющего размер 2Nx2N, типа 1324 разбиения, имеющего размер 2NxN, типа 1326 разбиения, имеющего размер Nx2N, типа 1328 разбиения, имеющего размер NxN, типа 1332 разбиения, имеющего размер 2NxnU, типа 1334 разбиения, имеющего размер 2NxnD, типа 1336 разбиения, имеющего размера nLx2N, и типа 1338 разбиения, имеющего размер nRx2N.
Когда тип разбиения устанавливается в симметричный, то есть тип 1322, 1324, 1326 или 1328 разбиения, устанавливается единица 1342 преобразования, имеющая размер 2Nx2N, если информация разделения (флаг размера TU) единицы преобразования является 0, и устанавливается единица 1344 преобразования, имеющая размер NxN, если флаг размера TU является 1.
Когда тип разбиения устанавливается в асимметричный, то есть тип 1332, 1334, 1336 или 1338 разбиения, устанавливается единица 1352 преобразования, имеющая размер 2Nx2N, если флаг размера TU является 0, и устанавливается единица 1354 преобразования, имеющая размер N/2xN/2, если флаг размера TU является 1.
Как описано выше, устройство 100 кодирования видео и устройство 200 декодирования видео в соответствии с вариантами осуществления настоящего изобретения выполняют кодирование и декодирование путем разделения максимальной единицы кодирования с использованием единицы кодирования, меньшей либо равной максимальной единице кодирования. Данные, кодированные в устройстве 100 кодирования видео, мультиплексируются с использованием единицы данных передачи, подходящей для протокола или формата канала связи, носителей информации, системы видеомонтажа, мультимедийной инфраструктуры или т. п., и единица данных передачи передается в устройство 200 декодирования видео.
В случае воспроизведения видеоданных устройство 200 декодирования видео восстанавливает видеоданные в соответствии с одним из способа быстрого проигрывания и способа нормального проигрывания и воспроизводит эти видеоданные. Способ быстрого проигрывания включает в себя способ нормального проигрывания, способ ускоренной перемотки вперед или способ ускоренной перемотки назад и способ произвольного доступа. В соответствии со способом нормального проигрывания все картинки, включенные в видеоданные, последовательно обрабатываются и воспроизводятся. В соответствии со способом ускоренной перемотки вперед или способом ускоренной перемотки назад опорная картинка, то есть I-картинка в каждом заранее установленном периоде, выбирается и воспроизводится в прямом или обратном направлении в соответствии со скоростью воспроизведения. В соответствии со способом произвольного доступа воспроизведение выполняется с пропуском до ключевой картинки, то есть I-картинки в заранее установленном положении. В соответствии со стандартом H.264 картинка с мгновенным обновлением декодера (IDR) используется в качестве ключевой картинки для способа произвольного доступа. Картинка с IDR является интра-картинкой для обновления устройства декодирования, когда декодируется соответствующая картинка. Подробнее говоря, когда декодируется картинка с IDR, DPB помечает картинку отличную от картинки с IDR, которая декодирована ранее, в качестве картинки, не являющейся опорной, а также инициализируется счет порядка картинок (POC). Также картинка, которая декодируется после картинки с IDR, всегда может находиться позади картинки с IDR в порядке отображения и может декодироваться, не обращаясь к картинке перед картинкой с IDR.
В соответствии с настоящим вариантом осуществления в дополнение к картинке с IDR картинка с чистым произвольным доступом (CRA) используется в качестве ключевой картинки для способа произвольного доступа. Картинка с CRA может называться картинкой с чистым обновлением декодирования (CDR) или картинкой с отложенным обновлением декодирования (DDR). Картинка с CRA является интра-картинкой, имеющей картинки, которые предшествуют ей в порядке отображения, но кодируются (или декодируются) после картинки с CRA в порядке кодирования (или декодирования). В дальнейшем картинка, которая находится в той же группе картинок (GOP), что и картинка с CRA, и которая предшествует картинке с CRA в порядке отображения, но кодируется (или декодируется) после картинки с CRA в порядке кодирования (или декодирования), задается в качестве начальной картинки.
Картинка с IDR и картинка с CRA похожи в том, что они являются ключевыми картинками для способа произвольного доступа и являются интра-картинками, которые должны быть кодированы (или декодированы) без обращения к другой картинке. По отношению к картинке с IDR картинка, которая следует за картинкой с IDR в порядке кодирования (или декодирования), не предшествует картинке с IDR в порядке отображения. Однако, как описано выше, по отношению к картинке с CRA начальная картинка следует за картинкой с CRA в порядке кодирования (или декодирования), но предшествует картинке с CRA в порядке отображения. Порядок декодирования и порядок кодирования указывают порядки в декодере и кодере, в которых обрабатываются картинки, и порядок кодирования картинок равен порядку декодирования картинок. Соответственно, на всем протяжении описания изобретения порядок кодирования может означать порядок декодирования, или порядок декодирования может означать порядок кодирования.
Фиг. 14A и 14B иллюстрируют процесс декодирования картинки с CRA при нормальном воспроизведении и произвольном доступе в соответствии с вариантом осуществления настоящего изобретения.
На фиг. 14A и 14B Bi и bi являются картинками с Bi-предсказанием (двунаправленным), которые предсказываются с использованием предсказания L0 и предсказания L1, в которых i указывает порядок отображения, то есть POC. Также Bi, имеющая прописную букву "B", указывает картинку, которая используется в качестве опорной картинки другой картинки, а bi, имеющая строчную букву "b", указывает картинку, которая не используется в качестве опорной картинки другой картинки.
24
22
18
24
22
24
18
Ссылаясь на фиг. 14A, при нормальном воспроизведении, то есть когда все картинки декодируются и воспроизводятся, начальные картинки 1420, которые декодируются после картинки 1410 с CRA, можно нормально декодировать путем обращения к опорной картинке, которая декодирована ранее. Например, когда картинка 1421 B двунаправленно предсказывается с использованием предсказания L0, которое обращается к картинке 1401 B, и предсказания L1, которое обращается к картинке 1410 CRA, при нормальном воспроизведении, картинку 1421 B можно нормально декодировать путем обращения к картинке 1410 CRA и картинке 1401 B, которые ранее декодированы и сохранены в DPB 1430.
24
6
22
6
22
22
18
6
24
Ссылаясь на фиг. 14B, в случае где картинка 1410 CRA декодируется посредством произвольного доступа после того, как декодируется картинка 1402 B, предсказание L0 для предсказания картинки 1421 B определяет опорную картинку в соответствии с индексом опорной картинки в направлении предсказания L0. В этом случае картинка 1402 B, которая ранее декодирована и сохранена в DPB 1440, может определяться в качестве опорной картинки для предсказания L0 картинки 1421 B. В этом случае опорной картинкой для предсказания L0 картинки 1421 B должна быть картинка 1401 B, но из-за произвольного доступа нельзя нормально декодировать картинку, которая обращается к опорным картинкам между картинкой 1402 B и картинкой 1410 CRA.
24
24
Также, снова ссылаясь на фиг. 14A, так как начальные картинки 1420 предшествуют картинке 1410 CRA в порядке отображения, то после того, как картинка 1410 CRA декодируется и отображается посредством произвольного доступа, начальные картинки 1420 не отображаются, и соответственно их не нужно декодировать.
24
24
Однако устройство 200 декодирования видео просто и последовательно декодирует и выводит множество порций входных видеоданных, и соответственно не может распознать, являются ли начальные картинки 1420 картинками, которые декодируются после картинки 1410 CRA при нормальном воспроизведении или посредством произвольного доступа. Другими словами, устройство 200 декодирования видео не может распознать, является ли картинка 1410 CRA картинкой, которая декодируется посредством произвольного доступа или декодируется при нормальном воспроизведении.
Таким образом, варианты осуществления настоящего изобретения предоставляют способы мультиплексирования и демультиплексирования, с помощью которых синтаксис для идентификации статуса воспроизведения картинки с CRA добавляется к данным в заранее установленной единице передачи, где данные получаются путем мультиплексирования картинки с CRA, которая кодируется для идентификации, кодируется ли картинка с CRA в соответствии с произвольным доступом или кодируется в соответствии с нормальным воспроизведением.
Сначала будет описываться устройство мультиплексирования видеоданных и его способ.
Фиг. 15 иллюстрирует структуру устройства 1500 мультиплексирования видеоданных в соответствии с вариантом осуществления настоящего изобретения.
Ссылаясь на фиг. 15, устройство 1500 мультиплексирования видеоданных включает в себя видеокодер 1510, мультиплексор 1520 и устройство 1530 идентификации статуса воспроизведения.
Видеокодер 1510 соответствует устройству 100 кодирования видео из фиг. 1 и кодирует видеоданные на основе иерархической единицы кодирования на уровне кодирования видео, на котором обрабатывается кодирование видеоданных. Мультиплексор 1520 мультиплексирует видеоданные с использованием единицы данных передачи, подходящей для протокола или формата канала связи, носителей информации, системы видеомонтажа, мультимедийной инфраструктуры или т. п. Как будет описываться ниже по тексту, мультиплексор 1520 может мультиплексировать видеоданные с использованием единицы NAL, которая является единицей передачи на NAL.
Когда имеется запрос передачи кодированных видеоданных от клиента, подключенного по каналу связи, устройства, управляющего носителями информации, системы видеомонтажа и мультимедийной инфраструктуры (в дальнейшем называемых вместе "устройством декодирования"), устройство 1530 идентификации статуса воспроизведения идентифицирует, предназначен ли запрос передачи для последовательного воспроизведения видеоданных в соответствии с нормальным воспроизведением или для передачи видеоданных в соответствии с произвольным доступом. Устройство 1530 идентификации статуса воспроизведения может сравнить время отображения картинки, запрошенной устройством декодирования, с временем отображения картинки, отображаемой в настоящее время текущим устройством декодирования, а затем может идентифицировать, что запрос передачи видеоданных происходит в соответствии с произвольным доступом.
Мультиплексор 1520 добавляет предопределенный синтаксис в единицу NAL, включающую в себя информацию о картинке с CRA, которая является ключевой картинкой для произвольного доступа, на основе результата идентификации от устройства 1530 идентификации статуса воспроизведения, где предопределенный синтаксис указывает, какой запрос из запроса посредством нормального воспроизведения и запроса посредством произвольного доступа имеет отношение к картинке с CRA.
Фиг. 16 иллюстрирует структуру единицы 1600 NAL в соответствии с вариантом осуществления настоящего изобретения.
Ссылаясь на фиг. 16, единица 1600 NAL образуется из заголовка 1610 NAL и полезной нагрузки 1620 последовательности исходных байтов (RBSP). Бит 1630 заполнения (дополнения) RBSP является битом регулировки длины, прикрепляемым к концу RBSP 1620, чтобы выразить длину RBSP 1620 в виде кратной 8 битам. Бит 1630 заполнения RBSP имеет шаблон, например "100…", который начинается с "1" и продолжается последовательными "0", определенными в соответствии с длиной RBSP 1620. В этой связи путем поиска "1", которая является значением начального бита, можно определить положение последнего бита RBSP 1620, который находится непосредственно перед значением начального бита.
Заголовок 1610 NAL включает в себя forbidden_zero_bit 1611, имеющий значение 0, флаг nal_ref_idc, указывающий, включает ли в себя единица 1600 NAL секцию, которая должна быть опорной картинкой, и т. п. В частности, заголовок 1610 NAL в соответствии с настоящим вариантом осуществления включает в себя синтаксис 1612 идентификации статуса, указывающий, какой запрос из запроса посредством нормального воспроизведения и запроса посредством произвольного доступа имеет отношение к картинке с CRA, который добавляется к единице 1600 NAL, включающей в себя информацию о картинке с CRA.
Синтаксис 1612 идентификации статуса для идентификации статуса воспроизведения картинки с CRA может включаться в идентификатор (типа единицы nal), указывающий тип единицы 1600 NAL. То есть единица NAL, которая используется для декодирования картинки с CRA, предоставленной в соответствии с запросом посредством нормального воспроизведения, может иметь идентификатор (типа единицы nal), который имеет отличный тип от идентификатора (типа единицы nal) единицы NAL, которая используется для декодирования картинки с CRA, предоставленной в соответствии с запросом посредством произвольного доступа.
Таблица 2 показывает типы единицы 1600 NAL в соответствии со значениями идентификатора (типа единицы nal).
<b>Таблица 2</b>
nal_unit_type
Типы единицы NAL
0
Не задано
1
Секция картинки помимо картинок RAP, TFD, TLA
2
Секция картинки TFD
3
Секция картинки TLA помимо TFD
4,5
Секция картинки с CRA
6,7
Секция картинки BLA
8
Секция картинки с IDR
9-24
Зарезервировано для будущего расширения
25
VPS
26
SPS
27
PPS
28
APS
29
Разделитель единицы доступа (AU)
30
Данные-заполнитель
31
Дополнительная информация расширения (SEI)
32-47
Зарезервировано для будущего расширения
48-63
Не задано
Мультиплексор 1520 распределяет разные значения 4 и 5 в вышеприведенной Таблице 2 в качестве идентификатора (типа единицы nal) единице NAL, которая используется для декодирования картинки с CRA, предоставленной в соответствии с запросом посредством нормального воспроизведения, и единице NAL, которая используется для декодирования картинки с CRA, предоставленной в соответствии с запросом посредством произвольного доступа. При этом мультиплексор 1520 может сигнализировать ту единицу NAL, включающую в себя информацию о том, какой картинкой является картинка с CRA из картинки с CRA, предоставленной в соответствии с нормальным воспроизведением, и картинки с CRA, предоставленной в соответствии с произвольным доступом.
Также мультиплексор 1520 может использовать флаг в качестве синтаксиса, добавленного в заголовок единицы NAL, где флаг устанавливается имеющим одно из разных значений 0 и 1 по отношению к единице NAL, используемой для декодирования картинки с CRA, предоставленной в соответствии с запросом посредством нормального воспроизведения, и единице NAL, используемой для декодирования картинки с CRA, предоставленной в соответствии с запросом посредством произвольного доступа.
Фиг. 17A и 17B иллюстрируют процесс декодирования картинки с CRA при нормальном воспроизведении и произвольном доступе в соответствии с другим вариантом осуществления настоящего изобретения.
В соответствии с текущим вариантом осуществления мультиплексор 1520 добавляет в единицу NAL информацию о типе, которая непосредственно указывает статус воспроизведения картинки с CRA. В другом варианте осуществления мультиплексор 1520 может не сигнализировать непосредственно тип статуса воспроизведения картинки с CRA, а может идентифицировать, воспроизводится ли картинка с CRA в соответствии с нормальным воспроизведением или в соответствии с произвольным доступом, используя счетчик ключевых картинок, которые декодируются перед картинкой с CRA, и используя информацию о POC картинки, которая используется в качестве опорной картинки начальных картинок.
38
40
44
41
42
43
38
42
40
41
38
40
Со ссылкой на фиг. 17A и 17B картинка 1710 B и картинка 1720 B являются картинками, которые декодируются перед картинкой CRA и к которым обращаются картинки b, B и b, которые являются начальными картинками. К картинке 1710 B обращается картинка B, которая является начальной картинкой, а к картинке 1720 B обращается картинка B, которая является начальной картинкой. Картинка 1710 B и картинка 1720 B, которые предшествуют картинке с CRA в порядке декодирования и используются в качестве опорных картинок начальных картинок, задаются в качестве картинки-брата (brother picture). Причина того, зачем задается картинка-брат, состоит в том, что с использованием POC картинки-брата можно идентифицировать, воспроизводится ли картинка с CRA в соответствии с нормальным воспроизведением или воспроизводится в соответствии с произвольным доступом.
44
38
40
38
40
44
44
44
44
44
44
44
Например, ссылаясь на фиг. 17A, пока картинки последовательно декодируются в статусе нормального воспроизведения, когда декодируется картинка CRA, картинка 1710 B и картинка 1720 B, которые декодированы ранее, сохраняются в DPB 1740. Если равное 38 значение POC картинки 1710 B и равное 40 значение POC картинки 1720 B, которые являются картинками-братьями, добавляются в заголовок секции картинки CRA, то декодер может сравнить POC картинок, которые ранее декодированы и сохранены в DPB 1740 в момент декодирования картинки CRA, с POC картинок-братьев, включенных в заголовок секции картинки CRA, и соответственно может идентифицировать, воспроизводится ли картинка CRA в соответствии с произвольным доступом или воспроизводится в соответствии с нормальным воспроизведением. Поскольку порядок воспроизведения, то есть порядок декодирования, переходит к картинке CRA при воспроизведении в соответствии с произвольным доступом, если POC картинок, которые ранее декодированы и сохранены в DPB 1740 в момент декодирования картинки CRA, не совпадает с POC картинок-братьев, то существует высокая вероятность того, что картинка CRA воспроизводится в соответствии с произвольным доступом.
44
44
Однако также существует вероятность того, что картинка CRA может быть неверно идентифицирована в отношении того, воспроизводится ли картинка CRA в соответствии с произвольным доступом или воспроизводится в соответствии с нормальным воспроизведением, с использованием только информации о POC картинок-братьев.
44
40
44
40
44
44
Например, ссылаясь на фиг. 17B, в случае где картинка CRA декодируется в соответствии с произвольным доступом после того, как декодируется картинка 1745 B, когда декодируется картинка CRA, значение POC, равное 40, картинки 1745 B сохраняется в DPB 1780, и значение POC, равное 40, картинки-брата, сохраненной в заголовке секции картинки CRA, равно значению POC предыдущей картинки, сохраненной в DPB 1780, так что декодер может неверно идентифицировать, что картинка CRA воспроизводится в соответствии с нормальным воспроизведением. Как описано выше, статус воспроизведения картинки с CRA не может быть правильно идентифицировано с использованием только информации о POC картинки-брата. Причина в том, что каждый раз, когда декодируется картинка с IDR, POC сбрасывается, так что опорная картинка, которая отличается от фактической опорной картинки, к которой будут обращаться картинки-братья при произвольном доступе, может иметь такой же POC, как и POC картинок-братьев.
Таким образом, мультиплексор 1520 добавляет информацию о POC картинки-брата в синтаксис данных единицы передачи картинки с CRA, получает счет от счетчика прерывности POC (PDC), который является счетчиком, имеющим значение, увеличивающееся на 1 всякий раз, когда сбрасывается POC или кодируется картинка с CRA, пока кодируются картинки перед картинкой с CRA, и добавляет в синтаксис этот счет от PDC.
44
44
44
Снова ссылаясь на фиг. 17A, как описано выше, мультиплексор 1520 увеличивает счет от PDC на 1 всякий раз, когда сбрасывается POC или кодируется картинка с CRA, пока кодируются картинки. Поскольку POC сбрасывается всякий раз, когда кодируется картинка с IDR, значение PDC увеличивается на 1 всякий раз, когда кодируется картинка с IDR, и значение счета от PDC увеличивается на 1, когда кодируется предыдущая картинка с CRA, за исключением картинки CRA. Мультиплексор 1520 добавляет значение PDC вместе с POC картинок-братьев в заголовок 1730 данных единицы передачи картинки с CRA. Декодер таким же образом, как и кодер, увеличивает счет от PDC на 1 всякий раз, когда сбрасывается POC, пока декодируются входные данные единицы передачи, то есть всякий раз, когда декодируется картинка с IDR или декодируется картинка с CRA. Как проиллюстрировано на фиг. 17A, в случае нормального воспроизведения, когда декодируется картинка CRA, значение PDC, включенное в заголовок 1730 данных единицы передачи, используемых для мультиплексирования картинки CRA, и значение 1745 PDC, подсчитанное, пока картинки декодируются декодером, равны 3.
44
44
44
Снова ссылаясь на фиг. 17B, в случае произвольного доступа существует одна картинка с IDR и одна картинка с CRA, которые декодируются перед картинкой CRA, так что, когда картинка CRA декодируется в соответствии с произвольным доступом, значение 1785 PDC равно 2, что отличается от значения PDC, равного 3 и включенного в заголовок 1770 данных единицы передачи, которые используются для мультиплексирования картинки CRA. Таким образом, на основе расхождения между значениями PDC декодер может определить, что текущая картинка с CRA воспроизводится в соответствии с произвольным доступом.
Фиг. 18 - блок-схема последовательности операций способа мультиплексирования видеоданных в соответствии с вариантом осуществления настоящего изобретения.
Ссылаясь на фиг. 18, на этапе 1810 видеокодер 1510 кодирует картинки, образующие видеоданные, на основе единиц данных, имеющих иерархическую структуру. Как описано выше, видеокодер 1510 определяет единицы кодирования древовидной структуры, включающие в себя единицы кодирования с глубинами кодирования из более глубоких единиц кодирования, в соответствии с глубинами, которые иерархически образуются в соответствии с глубинами, указывающими счет пространственного разделения по меньшей мере одной максимальной единицы кодирования, получаемый путем разделения картинки, образующей видео, с использованием единицы кодирования максимального размера, определяет разбиение для кодирования с предсказанием для каждой из единиц кодирования с глубинами кодирования, выполняет преобразование на основе единиц преобразования иерархической структуры, а затем определяет единицы преобразования древовидной структуры. При определении иерархической единицы данных структура оптимальной иерархической единицы данных может определяться на основе стоимости (затрат) искажения в зависимости от скорости (RD).
На этапе 1820 в ответ на запрос передачи кодированных данных от устройства декодирования устройство 1530 идентификации статуса воспроизведения определяет, соответствует ли запрос передачи нормальному воспроизведению или предназначен для произвольного доступа. Как описано выше, устройство декодирования может в собирательном значении указывать устройства для хранения, воспроизведения и монтажа кодированных видеоданных, и может включать в себя клиент, подключенный по каналу связи, устройство, управляющее носителями информации, систему видеомонтажа, мультимедийную инфраструктуру и т. п.
На этапе 1830 мультиплексор 1520 добавляет предопределенный синтаксис к данным единицы передачи, используемые для мультиплексирования картинки с CRA, которая является интра-картинкой, имеющей начальные картинки, в соответствии с результатом определения на этапе 1820, где предопределенный синтаксис указывает, какой запрос из запроса посредством нормального воспроизведения и запроса посредством произвольного доступа имеет отношение к картинке с CRA. Как описано выше, начальная картинка означает картинку, которая предшествует картинке с CRA в порядке отображения, но кодируется после картинки с CRA в порядке кодирования. Также данными единицы передачи могут быть данные NAL. Также мультиплексор 1520 может добавить идентификатор (типа единицы nal), указывающий тип единицы NAL, в заголовок единицы NAL, чтобы единица NAL, которая используется для мультиплексирования картинки с CRA, предоставленной в соответствии с запросом посредством нормального воспроизведения, могла иметь идентификатор (типа единицы nal), который отличается от идентификатора (типа единицы nal) единицы NAL, которая используется для мультиплексирования картинки с CRA, предоставленной в соответствии с запросом посредством произвольного доступа. Также мультиплексор 1520 может добавить флаг в заголовок единицы NAL, где флаг имеет значение 0 или 1 в соответствии с единицей NAL, используемой для мультиплексирования картинки с CRA, предоставленной в соответствии с запросом посредством нормального воспроизведения, и единицей NAL, используемой для мультиплексирования картинки с CRA, предоставленной в соответствии с запросом посредством произвольного доступа. Также мультиплексор 1520 может получить счет от PDC, который увеличивается на 1 всякий раз, когда сбрасывается POC или кодируется картинка с CRA, пока мультиплексируются картинки, и может добавить в заголовок единицы NAL информацию о POC картинки-брата картинки с CRA и счет от PDC.
Фиг. 19 иллюстрирует структуру устройства 1900 обратного мультиплексирования видеоданных в соответствии с вариантом осуществления настоящего изобретения.
Ссылаясь на фиг. 19, устройство 1900 обратного мультиплексирования видеоданных включает в себя видеодекодер 1910, обратный мультиплексор 1920 и средство 1930 идентификации статуса воспроизведения.
Обратный мультиплексор 1920 принимает данные единицы передачи, то есть данные единицы NAL, переданные от устройства 1500 мультиплексирования видеоданных из фиг. 15, и получает синтаксис, указывающий, декодируется ли картинка с CRA в соответствии со статусом нормального воспроизведения или в соответствии со статусом произвольного доступа, из данных единицы NAL, которые используются для мультиплексирования картинки с CRA.
Средство 1930 идентификации статуса воспроизведения с использованием полученного синтаксиса определяет, воспроизводится ли картинка с CRA в соответствии с нормальным воспроизведением или в соответствии с произвольным доступом.
Как описано выше, когда единица NAL, которая используется для мультиплексирования картинки с CRA, предоставленной в соответствии с запросом посредством нормального воспроизведения, устанавливается имеющей идентификатор (типа единицы nal), отличный от идентификатора (типа единицы nal) единицы NAL, которая используется для мультиплексирования картинки с CRA, предоставленной в соответствии с запросом посредством произвольного доступа, средство 1930 идентификации статуса воспроизведения может распознать состояние декодирования текущей картинки с CRA путем обращения к значениям идентификаторов (типа единицы nal). Если заголовок единицы NAL имеет добавленный в него флаг, который имеет значение 0 или 1 в соответствии с единицей NAL, используемой для мультиплексирования картинки с CRA, предоставленной в соответствии с запросом посредством нормального воспроизведения, и единицей NAL, используемой для мультиплексирования картинки с CRA, предоставленной в соответствии с запросом посредством произвольного доступа, то средство 1930 идентификации статуса воспроизведения может распознать состояние декодирования текущей картинки с CRA путем обращения к информации об этом флаге.
Также, когда заголовок единицы NAL включает в себя счет от PDC и информацию о POC картинки-брата, средство 1930 идентификации статуса воспроизведения увеличивает счет от PDC всякий раз, когда декодируется картинка с IDR или картинка с CRA, пока декодируются предыдущие картинки, и определяет совпадение между счетом от PDC, который получается из заголовка единицы NAL в момент декодирования текущей картинки с CRA, и PDC, который подсчитывается в процессе декодирования. Также средство 1930 идентификации статуса воспроизведения определяет совпадение между значением POC картинки-брата картинки с CRA, который включается в заголовок единицы NAL, и значением POC предыдущих картинок, сохраненным в DPB в момент декодирования текущей картинки с CRA. Если любой из счета от PDC или значения POC не совпадают, то средство 1930 идентификации статуса воспроизведения определяет, что текущая картинка с CRA воспроизводится в соответствии с произвольным доступом, а если счет от PDC и значение POC совпадают, то средство 1930 идентификации статуса воспроизведения определяет, что текущая картинка с CRA воспроизводится в соответствии с нормальным воспроизведением. Если текущая картинка с CRA воспроизводится в соответствии с произвольным доступом, то не нужно декодировать начальные картинки текущей CRA, так что средство 1930 идентификации статуса воспроизведения уведомляет видеодекодер 1910, что не нужно декодировать начальные картинки текущей CRA.
Видеодекодер 1910 соответствует устройству 200 декодирования видео из фиг. 2 или декодеру 500 изображений из фиг. 5. Видеодекодер 1910 получает из единицы NAL кодированные данные изображения и информацию разделения, информацию о типе разбиения, информацию о режиме предсказания, информацию о размере единицы преобразования и информацию о наборе параметров, связанную с процессом кодирования, которые имеют отношение к единицам кодирования, используемым для формирования кодированных данных изображения, и выполняет декодирование.
Фиг. 20 - блок-схема последовательности операций способа обратного мультиплексирования видеоданных в соответствии с вариантом осуществления настоящего изобретения.
Ссылаясь на фиг. 20, на этапе 2010 обратный мультиплексор 1920 принимает данные единицы передачи, используемые для мультиплексирования потока битов, формируемого путем кодирования картинок, образующих видеоданные, на основе единиц данных иерархической структуры. Как описано выше, данными единицы передачи могут быть данные единицы NAL.
На этапе 2020 обратный мультиплексор 1920 получает синтаксис, указывающий, декодируется ли картинка с CRA в соответствии со статусом нормального воспроизведения или в соответствии со статусом произвольного доступа, из данных единицы NAL, которые используются для мультиплексирования картинки с CRA.
На этапе 2030 средство 1930 идентификации статуса воспроизведения на основе полученного синтаксиса идентифицирует, воспроизводится ли картинка с CRA в соответствии с нормальным воспроизведением или в соответствии с произвольным доступом. Как описано выше, когда заголовок единицы NAL сигнализирует статус декодирования картинки с CRA с использованием идентификатора (типа единицы nal), средство 1930 идентификации статуса воспроизведения может распознать статус декодирования текущей картинки с CRA путем обращения к значению того идентификатора (типа единицы nal). Если флаг, имеющий значение 0 или 1, добавляется в заголовок единицы NAL, то средство 1930 идентификации статуса воспроизведения может распознать статус декодирования текущей картинки с CRA путем обращения к информации того флага. Также, когда PDC и информация о POC картинки-брата включаются в заголовок единицы NAL, средство 1930 идентификации статуса воспроизведения может распознать статус декодирования текущей картинки с CRA путем определения совпадения между PDC, полученным в процессе декодирования, и PDC, включенным в заголовок единицы NAL, и совпадения между значением POC предыдущих картинок, сохраненным в DPB, и значением POC картинки-брата.
Когда определяется, что картинка с CRA воспроизводится в соответствии с произвольным доступом, начальные картинки с CRA не отображаются, и соответственно их не нужно декодировать. В соответствии с вариантами осуществления настоящего изобретения можно идентифицировать картинку с CRA, которая воспроизводится в соответствии с произвольным доступом, чтобы начальные картинки с CRA можно было не декодировать, и соответственно можно сберечь системный ресурс устройства декодирования.
Изобретение также может быть реализовано в виде считываемых компьютером кодов на считываемом компьютером носителе записи. Считываемый компьютером носитель записи является любым устройством хранения данных, которое может хранить данные, которые впоследствии могут быть считаны вычислительной системой. Примеры считываемого компьютером носителя записи включают в себя постоянное запоминающее устройство (ROM), оперативное запоминающее устройство (RAM), компакт-диски, магнитные ленты, дискеты, устройства с оптической записью информации и т.д. Считываемый компьютером носитель записи также может распространяться по соединенным сетью вычислительным системам, так что считываемый компьютером код сохраняется и исполняется распределенным способом.
Несмотря на то что данное изобретение подробно показано и описано со ссылкой на его предпочтительные варианты осуществления, обычным специалистам в данной области техники будет понятно, что в нем могут быть сделаны различные изменения в форме и деталях без отклонения от сущности и объема изобретения, которые определены прилагаемой формулой изобретения. Поэтому объем изобретения задается не подробным описанием изобретения, а прилагаемой формулой изобретения и все различия в рамках объема будут истолкованы как включаемые в настоящее изобретение.