ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к кодированию и декодированию видео, а более конкретно, к способам и устройствам кодирования и декодирования видео, имеющего временную масштабируемость.
УРОВЕНЬ ТЕХНИКИ
Видеокодеки, такие как 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), выполняют прогнозирующее кодирование для макроблока через внешнее (inter-) прогнозирование или внутреннее (intra-) прогнозирование и формируют и выводят поток битов согласно предварительно определенному формату, заданному посредством каждого видеокодека, посредством использования кодированных данных изображений.
Согласно предшествующему уровню техники, видео, имеющее временную масштабируемость, предоставляется посредством применения иерархического B-изображения или временной фильтрации с компенсацией движения (MCTF).
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
ТЕХНИЧЕСКАЯ ЗАДАЧА
Эффективность сжатия видео может повышаться, когда изображение, кодированное после изображения доступа к временному слою, к которому осуществляют доступ во время переключения временного слоя, может использовать изображение, кодированное перед изображением доступа к временному слою, в качестве опорного изображения.
Кроме того, данные единицы передачи изображения доступа к временному слою и данные единицы передачи изображения, которое не является декодируемым во время переключения временного слоя, могут отличаться друг от друга в единице уровня адаптации к сети (NAL).
ТЕХНИЧЕСКОЕ РЕШЕНИЕ
Согласно варианту осуществления настоящего изобретения, изображение доступа к временному слою классифицируется посредством различения того, когда изображение, к которому можно обращаться посредством изображений, декодированных после изображения доступа к временному слою, ограничено и не ограничено, и информация для идентификации классифицированного изображения доступа к временному слою добавляется в единицу передаваемых данных.
ПРЕИМУЩЕСТВА ИЗОБРЕТЕНИЯ
Согласно одному или более вариантов осуществления настоящего изобретения, может пропускаться необязательный процесс декодирования изображения, и могут экономиться аппаратные ресурсы посредством идентификации и отбрасывания единицы уровня адаптации к сети (NAL) относительно изображения, которое не может декодироваться после изображения доступа к временному слою. Кроме того, согласно одному или более вариантов осуществления настоящего изобретения, может повышаться эффективность сжатия видео, когда изображение, кодированное после изображения доступа к временному слою, может использовать изображение, кодированное перед изображением доступа к временному слою, в качестве опорного изображения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 является блок-схемой устройства кодирования видео согласно варианту осуществления настоящего изобретения.
Фиг. 2 является блок-схемой устройства декодирования видео согласно варианту осуществления настоящего изобретения.
Фиг. 3 является схемой, иллюстрирующей принцип единиц кодирования согласно варианту осуществления настоящего изобретения.
Фиг. 4 является блок-схемой кодера изображений на основе единиц кодирования согласно варианту осуществления настоящего изобретения.
Фиг. 5 является блок-схемой декодера изображений на основе единиц кодирования согласно варианту осуществления настоящего изобретения.
Фиг. 6 является схемой, иллюстрирующей более глубокие единицы кодирования согласно глубинам и сегментам согласно варианту осуществления настоящего изобретения.
Фиг. 7 является схемой, иллюстрирующей взаимосвязь между единицей кодирования и единицами преобразования, согласно варианту осуществления настоящего изобретения.
Фиг. 8 является схемой, иллюстрирующей информацию кодирования единиц кодирования, соответствующих кодированной глубине, согласно варианту осуществления настоящего изобретения.
Фиг. 9 является схемой более глубоких единиц кодирования согласно глубинам, согласно варианту осуществления настоящего изобретения.
Фиг. 10, 11 и 12 являются схемами, иллюстрирующими взаимосвязь между единицами кодирования, единицами прогнозирования и единицами преобразования частоты, согласно варианту осуществления настоящего изобретения;
Фиг. 13 является схемой, иллюстрирующей взаимосвязь между единицей кодирования, единицей прогнозирования и единицей преобразования, согласно информации режима кодирования по таблице 1.
Фиг. 14 является схемой устройства кодирования видео, имеющего временную масштабируемость, согласно варианту осуществления настоящего изобретения.
Фиг. 15 является схемой изображений, включенных в последовательность изображений, которые разбиваются на временные подслои, согласно варианту осуществления настоящего изобретения.
Фиг. 16 является схемой изображений, отображаемых согласно частоте кадров, согласно варианту осуществления настоящего изобретения.
Фиг. 17 является схемой для описания начального изображения и доступа к первому временному слою, согласно варианту осуществления настоящего изобретения.
Фиг. 18 является схемой для описания начального изображения, которое не может декодироваться во время повышающего переключения временного слоя, согласно варианту осуществления настоящего изобретения.
Фиг. 19 является схемой единицы уровня адаптации к сети (NAL) согласно варианту осуществления настоящего изобретения.
Фиг. 20 является блок-схемой последовательности операций, иллюстрирующей способ кодирования видео, согласно варианту осуществления настоящего изобретения.
Фиг. 21 является схемой устройства декодирования видео, имеющего временную масштабируемость, согласно варианту осуществления настоящего изобретения.
Фиг. 22 является блок-схемой последовательности операций, иллюстрирующей способ декодирования видео, согласно варианту осуществления настоящего изобретения.
ОПТИМАЛЬНЫЙ РЕЖИМ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
Согласно аспекту настоящего изобретения, предусмотрен способ кодирования видео, имеющего временную масштабируемость, причем способ кодирования видео содержит: разбиение изображений, включенных в последовательность изображений, на временные подслои; классификацию изображения доступа к временному слою в качестве изображения доступа к первому временному слою или изображения доступа ко второму временному слою на основе того, допускает или нет изображение, которое кодируется после изображения доступа к временному слою и принадлежит идентичному или верхнему временному подслою по отношению к изображению доступа к временному слою, обращение к изображению, кодированному перед изображением доступа к временному слою; и добавление информации синтаксиса типа для идентификации изображения доступа к первому временному слою и изображения доступа ко второму временному слою в данные единицы передачи, содержащие изображение доступа к временному слою.
Согласно другому аспекту настоящего изобретения, предусмотрено устройство кодирования видео, имеющего временную масштабируемость, причем устройство кодирования видео содержит: видеокодер, который разбивает изображения, включенные в последовательность изображений, на временные подслои; и мультиплексор, который классифицирует изображение доступа к временному слою в качестве изображения доступа к первому временному слою или изображения доступа ко второму временному слою на основе того, допускает или нет изображение, которое кодируется после изображения доступа к временному слою и принадлежит идентичному или верхнему временному подслою по отношению к изображению доступа к временному слою, обращение к изображению, кодированному перед изображением доступа к временному слою, и добавляет информацию синтаксиса типа для идентификации изображения доступа к первому временному слою и изображения доступа ко второму временному слою в данные единицы передачи, содержащие изображение доступа к временному слою.
Согласно другому аспекту настоящего изобретения, предусмотрен способ декодирования видео, имеющего временную масштабируемость, причем способ декодирования видео содержит: прием данных единицы передачи, полученных посредством разбиения и кодирования изображений, включенных в последовательность изображений, на временные подслои; и идентификацию данных единицы передачи, содержащих изображение доступа к временному слою, к которому осуществляется доступ для повышающего переключения временного слоя с нижнего временного подслоя на верхний временной подслой, посредством использования информации синтаксиса типа, включенной в данные единицы передачи, при этом изображение доступа к временному слою классифицируется в качестве изображения доступа к первому временному слою или изображения доступа ко второму временному слою на основе того, допускает или нет изображение, которое декодируется после изображения доступа к временному слою и принадлежит идентичному или верхнему временному подслою по отношению к изображению доступа к временному слою, обращение к изображению, декодированному перед изображением доступа к временному слою.
Согласно другому аспекту настоящего изобретения, предусмотрено устройство декодирования видео, имеющего временную масштабируемость, причем устройство декодирования видео содержит: средство приема, которое принимает данные единицы передачи, полученные посредством разбиения и кодирования изображений, включенных в последовательность изображений, на временные подслои; и обратный мультиплексор, который идентифицирует данные единицы передачи, содержащие изображение доступа к временному слою, к которому осуществляется доступ для повышающего переключения временного слоя с нижнего временного подслоя на верхний временной подслой, посредством использования информации синтаксиса типа, включенной в данные единицы передачи, при этом изображение доступа к временному слою классифицируется в качестве изображения доступа к первому временному слою или изображения доступа ко второму временному слою на основе того, допускает или нет изображение, которое декодируется после изображения доступа к временному слою и принадлежит идентичному или верхнему временному подслою по отношению к изображению доступа к временному слою, обращение к изображению, декодированному перед изображением доступа к временному слою.
ОПТИМАЛЬНЫЙ РЕЖИМ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯ
В дальнейшем в этом документе, подробнее описываются один или более вариантов осуществления настоящего изобретения со ссылкой на прилагаемые чертежи. При описании одного или более вариантов осуществления настоящего изобретения, изображение может включать в себя неподвижное изображение или движущееся изображение и также может упоминаться в качестве видео. Кроме того, при описании одного или более вариантов осуществления настоящего изобретения, кадр с изображением также может упоминаться в качестве изображения.
Фиг. 1 является блок-схемой устройства кодирования видео согласно варианту осуществления настоящего изобретения.
Устройство 100 кодирования видео согласно варианту осуществления включает в себя модуль 110 разбиения на максимальные единицы кодирования, модуль 120 определения единиц кодирования и модуль 130 вывода.
Модуль 110 разбиения на максимальные единицы кодирования может разбивать текущее изображение на основе максимальной единицы кодирования, которая представляет собой единицу кодирования, имеющую максимальный размер для текущего изображения рисунка. Если текущее изображение превышает максимальную единицу кодирования, данные изображений для текущего изображения могут разбиваться, по меньшей мере, на одну максимальную единицу кодирования. Максимальная единица кодирования согласно варианту осуществления может представлять собой единицу данных, имеющую размер 32×32, 64×64, 128×128 или 256×256, при этом форма единицы данных представляет собой квадрат, имеющий ширину и длину в квадратах 2. Данные изображений могут выводиться в модуль 120 определения единиц кодирования согласно, по меньшей мере, одной максимальной единице кодирования.
Единица кодирования согласно варианту осуществления может отличаться посредством максимального размера и глубины. Глубина обозначает число раз, которое единица кодирования пространственно разбивается от максимальной единицы кодирования, и по мере того, как увеличивается глубина, более глубокие единицы кодирования согласно глубинам могут разбиваться от максимальной единицы кодирования до минимальной единицы кодирования. Глубина максимальной единицы кодирования является самой верхней глубиной, а глубина минимальной единицы кодирования является самой нижней глубиной. Поскольку размер единицы кодирования, соответствующей каждой глубине, снижается по мере того, как увеличивается глубина максимальной единицы кодирования, единица кодирования, соответствующая верхней глубине, может включать в себя множество единиц кодирования, соответствующих нижним глубинам.
Как описано выше, данные изображений для текущего изображения разбиваются на максимальные единицы кодирования согласно максимальному размеру единицы кодирования, и каждая из максимальных единиц кодирования может включать в себя более глубокие единицы кодирования, которые разбиваются согласно глубинам. Поскольку максимальная единица кодирования согласно варианту осуществления разбивается согласно глубинам, данные изображений пространственной области, включенные в максимальную единицу кодирования, могут быть иерархически классифицированы согласно глубинам.
Максимальная глубина и максимальный размер единицы кодирования, которые ограничивают общее число раз, которое иерархически разбиваются высота и ширина максимальной единицы кодирования, могут предварительно задаваться.
Модуль 120 определения единиц кодирования кодирует, по меньшей мере, одну область разбиения, полученную посредством разбиения области максимальной единицы кодирования согласно глубинам, и определяет глубину для того, чтобы выводить конечные результаты кодирования, согласно, по меньшей мере, одной области разбиения. Другими словами, модуль 120 определения единиц кодирования определяет кодированную глубину посредством кодирования данных изображений в более глубоких единицах кодирования согласно глубинам, согласно максимальной единице кодирования текущего изображения и выбора глубины, имеющей наименьшую ошибку кодирования. Определенная кодированная глубина и данные изображений согласно максимальной единице кодирования выводятся в модуль 130 вывода.
Данные изображений в максимальной единице кодирования кодируются на основе более глубоких единиц кодирования, соответствующих, по меньшей мере, одной глубине, равной или меньшей максимальной глубины, и результаты кодирования сравниваются на основе каждой из более глубоких единиц кодирования. Глубина, имеющая наименьшую ошибку кодирования, может быть выбрана после сравнения ошибок кодирования более глубоких единиц кодирования. По меньшей мере, одна кодированная глубина может быть выбрана для каждой максимальной единицы кодирования.
Размер максимальной единицы кодирования разбивается по мере того, как единица кодирования иерархически разбивается согласно глубинам, и по мере того, как увеличивается число единиц кодирования. Кроме того, даже если единицы кодирования соответствуют идентичной глубине в одной максимальной единице кодирования, определяется то, разбивать или нет каждую из единиц кодирования, соответствующих идентичной глубине, до нижней глубины посредством измерения ошибки кодирования данных каждой единицы кодирования, отдельно. Соответственно, даже когда данные включены в одну максимальную единицу кодирования, ошибки кодирования согласно глубинам могут отличаться согласно областям, и в силу этого кодированные глубины могут отличаться согласно областям. Таким образом, одна или более кодированных глубин могут задаваться для одной максимальной единицы кодирования, и данные максимальной единицы кодирования могут быть разделены согласно единицам кодирования одной или более кодированных глубин.
Соответственно, модуль 120 определения единиц кодирования согласно варианту осуществления может определять единицы кодирования, имеющие древовидную структуру, включенные в текущую максимальную единицу кодирования. "Единицы кодирования, имеющие древовидную структуру" согласно варианту осуществления настоящего изобретения включают в себя единицы кодирования, соответствующие глубине, определенной как кодированная глубина, из всех более глубоких единиц кодирования, включенных в максимальную единицу кодирования. Единица кодирования кодированной глубины может быть иерархически определена согласно глубинам в идентичной области максимальной единицы кодирования и может быть независимо определена в различных областях. Аналогично, кодированная глубина в текущей области может быть независимо определена из кодированной глубины в другой области.
Максимальная глубина согласно варианту осуществления представляет собой индекс, связанный с числом раз, когда выполняется разбиение от максимальной единицы кодирования до минимальной единицы кодирования. Первая максимальная глубина согласно варианту осуществления может обозначать общее число раз, когда выполняется разбиение от максимальной единицы кодирования до минимальной единицы кодирования. Вторая максимальная глубина согласно варианту осуществления может обозначать общее число уровней глубины от максимальной единицы кодирования до минимальной единицы кодирования. Например, когда глубина максимальной единицы кодирования равна 0, глубина единицы кодирования, на которую максимальная единица кодирования разбивается один раз, может задаваться равной 1, а глубина единицы кодирования, на которую максимальная единица кодирования разбивается два раза, может задаваться равной 2. В этом случае, если минимальная единица кодирования представляет собой единицу кодирования, полученную посредством разбиения максимальной единицы кодирования четыре раза, имеется 5 уровней глубины с глубинами 0, 1, 2, 3 и 4, и за счет этого первая максимальная глубина может задаваться равной 4, а вторая максимальная глубина может задаваться равной 5.
Прогнозирующее кодирование и преобразование частоты могут выполняться согласно максимальной единице кодирования. Прогнозирующее кодирование и преобразование также выполняются на основе более глубоких единиц кодирования согласно глубине, равной, или глубинам, меньшим максимальной глубины, согласно максимальной единице кодирования.
Поскольку число более глубоких единиц кодирования увеличивается каждый раз, когда максимальная единица кодирования разбивается согласно глубинам, кодирование, включающее в себя прогнозирующее кодирование и преобразование частоты, должно выполняться для всех более глубоких единиц кодирования, сформированных по мере того, как увеличивается глубина. Для удобства описания, прогнозирующее кодирование и преобразование частоты далее описываются на основе единицы кодирования текущей глубины, по меньшей мере, из одной максимальной единицы кодирования.
Устройство 100 кодирования видео согласно варианту осуществления может по-разному выбирать размер или форму единицы данных для кодирования данных изображений. Чтобы кодировать данные изображений, выполняются такие операции, как прогнозирующее кодирование, преобразование частоты и энтропийное кодирование, и в это время, идентичная единица данных может использоваться для всех операций, или различные единицы данных могут использоваться для каждой операции.
Например, устройство 100 кодирования видео может выбирать не только единицу кодирования для кодирования данных изображений, но также и единицу данных, отличающуюся от единицы кодирования, с тем чтобы выполнять прогнозирующее кодирование для данных изображений в единице кодирования.
Чтобы выполнять прогнозирующее кодирование в максимальной единице кодирования, прогнозирующее кодирование может выполняться на основе единицы кодирования, соответствующей кодированной глубине, т.е. на основе единицы кодирования, которая более не разбивается на единицы кодирования, соответствующие нижней глубине. В дальнейшем в этом документе, единица кодирования, которая более не разбивается и становится базисной единицей для прогнозирующего кодирования, далее упоминается как "единица прогнозирования". Сегмент, полученный посредством разбиения единицы прогнозирования, может включать в себя единицу прогнозирования и единицу данных, полученные посредством разбиения, по меньшей мере, одной из высоты и ширины единицы прогнозирования.
Например, когда единица кодирования в 2N×2N (где N является положительным целым числом) более не разбивается, и единица кодирования может становиться единицей прогнозирования в 2N×2N, размер сегмента может составлять 2N×2N, 2N×N, N×2N или N×N. Примеры типа сегмента включают в себя симметричные сегменты, которые получаются посредством симметричного разбиения высоты или ширины единицы прогнозирования, сегменты, полученные посредством асимметричного разбиения высоты или ширины единицы прогнозирования, к примеру, 1:n или n:1, сегменты, которые получаются посредством геометрического разбиения единицы прогнозирования, и сегменты, имеющие произвольные формы.
Режим прогнозирования для единицы прогнозирования может представлять собой, по меньшей мере, одно из внутреннего режима, внешнего режима и режима пропуска. Например, внутренний режим или внешний режим может выполняться для сегмента в 2N×2N, 2N×N, N×2N или N×N. Кроме того, режим пропуска может выполняться только для сегмента в 2N×2N. Кодирование независимо выполняется для одной единицы прогнозирования в единице кодирования, в силу этого выбирая режим прогнозирования, имеющий наименьшую ошибку кодирования.
Устройство 100 кодирования видео согласно варианту осуществления также может выполнять преобразование частоты для данных изображений в единице кодирования на основе не только единицы кодирования для кодирования данных изображений, но также и на основе единицы данных, которая отличается от единицы кодирования.
Чтобы выполнять преобразование частоты в единице кодирования, преобразование частоты может выполняться на основе единицы данных, имеющей размер, меньший или равный единице кодирования. Например, единица данных для преобразования частоты может включать в себя единицу данных для внутреннего режима и единицу данных для внешнего режима.
Единица данных, используемая в качестве базиса преобразования частоты, далее упоминается как "единица преобразования". Аналогично единице кодирования, единица преобразования в единице кодирования может рекурсивно разбиваться на единицы преобразования меньшего размера, и в силу этого остаточные данные в единице кодирования могут быть разделены согласно единице преобразования, имеющей древовидную структуру согласно глубинам преобразования.
Глубина преобразования, указывающая число раз, когда выполняется разбиение, чтобы достигать единицы преобразования посредством разбиения высоты и ширины единицы кодирования, также может задаваться в единице преобразования согласно варианту осуществления. Например, в текущей единице кодирования 2N×2N, глубина преобразования может быть равна 0, когда размер единицы преобразования составляет 2N×2N, может быть равна 1, когда размер единицы преобразования составляет N×N, и может быть равна 2, когда размер единицы преобразования составляет N/2×N/2. Иными словами, единица преобразования, имеющая древовидную структуру, также может задаваться согласно глубинам преобразования.
Информация кодирования согласно единицам кодирования, соответствующим кодированной глубине, требует не только информацию относительно кодированной глубины, но также и информацию, связанную с прогнозирующим кодированием и преобразованием частоты. Соответственно, модуль 120 определения единиц кодирования не только определяет кодированную глубину, имеющую наименьшую ошибку кодирования, но также и определяет тип сегмента в единице прогнозирования, режим прогнозирования согласно единицам прогнозирования и размер единицы преобразования для преобразования частоты.
Ниже подробно описываются единицы кодирования, имеющие древовидную структуру в максимальной единице кодирования, и способ определения сегмента согласно варианту осуществления со ссылкой на фиг. 3-12.
Модуль 120 определения единиц кодирования может измерять ошибку кодирования более глубоких единиц кодирования согласно глубинам посредством использования оптимизации искажения в зависимости от скорости передачи (RD) на основе множителей Лагранжа.
Модуль 130 вывода выводит данные изображений максимальной единицы кодирования, которая кодируется на основе, по меньшей мере, одной кодированной глубины, определенной посредством модуля 120 определения единиц кодирования, и информации относительно режима кодирования согласно кодированной глубине в потоках битов.
Кодированные данные изображений могут быть получены посредством кодирования остаточных данных изображения.
Информация относительно режима кодирования согласно кодированной глубине может включать в себя информацию относительно кодированной глубины, типа сегмента в единице прогнозирования, режима прогнозирования и размера единицы преобразования.
Информация относительно кодированной глубины может быть задана посредством использования информации разбиения согласно глубинам, которая указывает то, выполняется или нет кодирование для единиц кодирования нижней глубины вместо текущей глубины. Если текущая глубина текущей единицы кодирования является кодированной глубиной, кодирование выполняется для текущей единицы кодирования текущей глубины, и в силу этого информация разбиения может быть задана таким образом, чтобы не разбивать текущую единицу кодирования на нижнюю глубину. Альтернативно, если текущая глубина текущей единицы кодирования не является кодированной глубиной, кодирование выполняется для единицы кодирования нижней глубины, и в силу этого информация разбиения может быть задана таким образом, чтобы разбивать текущую единицу кодирования для того, чтобы получать единицы кодирования нижней глубины.
Если текущая глубина не является кодированной глубиной, кодирование выполняется для единицы кодирования, которая разбивается на единицу кодирования нижней глубины. Поскольку, по меньшей мере, одна единица кодирования нижней глубины присутствует в одной единице кодирования текущей глубины, кодирование многократно выполняется для каждой единицы кодирования нижней глубины, и за счет этого кодирование может быть рекурсивно выполнено для единиц кодирования, имеющих идентичную глубину.
Поскольку единицы кодирования, имеющие древовидную структуру, определяются для одной максимальной единицы кодирования, и информация, по меньшей мере, относительно одного режима кодирования определяется для единицы кодирования кодированной глубины, информация, по меньшей мере, относительно одного режима кодирования может быть определена для одной максимальной единицы кодирования. Кроме того, кодированная глубина данных максимальной единицы кодирования может отличаться согласно местоположениям, поскольку данные иерархически разбиваются согласно глубинам, и в силу этого информация относительно кодированной глубины и режима кодирования может задаваться для данных.
Соответственно, модуль 130 вывода согласно варианту осуществления может назначать информацию кодирования относительно соответствующей кодированной глубины и режима кодирования, по меньшей мере, одной из единицы кодирования, единицы прогнозирования и минимальной единицы, включенной в максимальную единицу кодирования.
Минимальная единица согласно варианту осуществления представляет собой прямоугольную единицу данных, полученную посредством разбиения минимальной единицы кодирования, составляющей самую нижнюю глубину, на 4. Альтернативно, минимальная единица может представлять собой максимальную прямоугольную единицу данных, которая может быть включена во все из единиц кодирования, единиц прогнозирования, единиц сегментирования и единиц преобразования, включенных в максимальную единицу кодирования.
Например, информация кодирования, выводимая через модуль 130 вывода, может классифицироваться на информацию кодирования согласно более глубоким единицам кодирования согласно глубинам и информацию кодирования согласно единицам прогнозирования. Информация кодирования согласно более глубоким единицам кодирования согласно глубинам может включать в себя информацию относительно режима прогнозирования и относительно размера сегментов. Информация кодирования согласно единицам прогнозирования может включать в себя информацию относительно оцененного направления внешнего режима, относительно индекса опорного изображения внешнего режима, относительно вектора движения, относительно компонента сигнала цветности внутреннего режима и относительно способа интерполяции внутреннего режима. Кроме того, информация относительно максимального размера единицы кодирования, заданного согласно изображениям, сериям последовательных макроблоков или GOP, и информация относительно максимальной глубины могут вставляться в заголовок потока битов.
Модуль разбиения на максимальные единицы кодирования и модуль 120 определения единиц кодирования соответствуют уровню кодирования видео (VCL), который определяет опорный кадр каждой последовательности формирования изображения кадра с изображением посредством выполнения прогнозирования и компенсации движения согласно единицам кодирования относительно каждого кадра с изображением последовательности изображений и кодирует каждый кадр с изображением посредством использования определенного опорного кадра.
В устройстве 100 кодирования видео согласно простейшему варианту осуществления, более глубокая единица кодирования представляет собой единицу кодирования, полученную посредством деления высоты или ширины единицы кодирования верхней глубины, которая на один слой выше, на два. Другими словами, когда размер единицы кодирования текущей глубины равен 2N×2N, размер единицы кодирования нижней глубины равен N×N. Кроме того, единица кодирования текущей глубины, имеющей размер 2N×2N, может включать в себя максимально 4 единицы кодирования нижней глубины.
Соответственно, устройство 100 кодирования видео согласно варианту осуществления может формировать единицы кодирования, имеющие древовидную структуру, посредством определения единиц кодирования, имеющих оптимальную форму и оптимальный размер для каждой максимальной единицы кодирования, на основе размера максимальной единицы кодирования и максимальной глубины, определенных с учетом характеристик текущего изображения. Кроме того, поскольку кодирование может выполняться для каждой максимальной единицы кодирования посредством использования любого из различных режимов прогнозирования и преобразований частоты, оптимальный режим кодирования может быть определен с учетом характеристик изображений единицы кодирования для различных размеров изображения.
Таким образом, если изображение, имеющее высокое разрешение или большой объем данных, кодируется в традиционном макроблоке, число макроблоков в расчете на изображение чрезмерно увеличивается. Соответственно, увеличивается число фрагментов сжатой информации, сформированной для каждого макроблока, и в силу этого трудно передавать сжатую информацию, и снижается эффективность сжатия данных. Тем не менее, посредством использования устройства 100 кодирования видео согласно варианту осуществления, может повышаться эффективность сжатия изображений, поскольку единица кодирования регулируется с учетом характеристик изображения при увеличении максимального размера единицы кодирования с учетом размера изображения.
Фиг. 2 является блок-схемой устройства декодирования видео согласно варианту осуществления настоящего изобретения.
Устройство 200 декодирования изображений включает в себя средство 210 приема, модуль 220 извлечения данных изображений и информации кодирования и декодер 230 данных изображений. Определения различных терминов, таких как единица кодирования, глубина, единица прогнозирования, единица преобразования и информация относительно различных режимов кодирования, для различных операций устройства 200 декодирования изображений являются идентичными определениям, описанным со ссылкой на фиг. 1 и на устройство 100 кодирования изображений.
Средство 210 приема принимает и синтаксически анализирует поток битов кодированного видео. Модуль 220 извлечения данных изображений и информации кодирования извлекает кодированные данные изображений для каждой единицы кодирования из синтаксически проанализированного потока битов, при этом единицы кодирования имеют древовидную структуру согласно каждой максимальной единице кодирования, и выводит извлеченные данные изображений в декодер 230 данных изображений. Модуль 220 извлечения данных изображений и информации кодирования может извлекать информацию относительно максимального размера единицы кодирования текущего изображения из заголовка относительно текущего изображения.
Кроме того, модуль 220 извлечения данных изображений и информации кодирования извлекает информацию относительно кодированной глубины и режима кодирования для единиц кодирования, имеющих древовидную структуру, согласно каждой максимальной единице кодирования из синтаксически проанализированного потока битов. Извлеченная информация относительно кодированной глубины и режима кодирования выводится в декодер 230 данных изображений. Другими словами, данные изображений в потоке битов разбиваются на максимальные единицы кодирования, так что декодер 230 данных изображений декодирует данные изображений для каждой максимальной единицы кодирования.
Информация относительно кодированной глубины и режима кодирования согласно максимальной единице кодирования может задаваться для информации относительно, по меньшей мере, одной кодированной глубины, и информация относительно режима кодирования согласно каждой кодированной глубине может включать в себя информацию относительно типа сегмента соответствующей единицы кодирования, соответствующей кодированной глубине, режима прогнозирования и размера единицы преобразования. Кроме того, информация разбиения согласно глубинам может быть извлечена в качестве информации относительно кодированной глубины.
Информация относительно кодированной глубины и режима кодирования согласно каждой максимальной единице кодирования, извлеченной посредством модуля 220 извлечения данных изображений и информации кодирования, является информацией относительно определенной кодированной глубины и режима кодирования для того, чтобы формировать наименьшую ошибку кодирования, когда кодер, такой как устройство 100 кодирования видео, многократно выполняет кодирование для каждой более глубокой единицы кодирования согласно глубинам согласно каждой максимальной единице кодирования. Соответственно, устройство 200 декодирования видео может восстанавливать изображение посредством декодирования данных изображений согласно режиму кодирования, который формирует наименьшую ошибку кодирования.
Поскольку информация кодирования относительно кодированной глубины и режима кодирования согласно варианту осуществления может назначаться предварительно определенной единице данных из соответствующей единицы кодирования, единицы прогнозирования и минимальной единицы, модуль 220 извлечения данных изображений и информации кодирования может извлекать информацию относительно кодированной глубины и режима кодирования согласно предварительно определенным единицам данных. Когда информация относительно кодированной глубины соответствующей максимальной единицы кодирования и режима кодирования записывается согласно предварительно определенным единицам данных, предварительно определенные единицы данных, имеющие идентичную информацию относительно кодированной глубины и режима кодирования, могут логически выводиться в качестве единиц данных, включенных в идентичную максимальную единицу кодирования.
Декодер 230 данных изображений восстанавливает текущее изображение посредством декодирования данных изображений в каждой максимальной единице кодирования на основе информации относительно кодированной глубины и режима кодирования согласно максимальным единицам кодирования. Другими словами, декодер 230 данных изображений может декодировать кодированные данные изображений на основе извлеченной информации относительно типа сегмента, режима прогнозирования и единицы преобразования для каждой единицы кодирования из единиц кодирования, имеющих в себя древовидную структуру, включенных в каждую максимальную единицу кодирования. Процесс декодирования может включать в себя прогнозирование, включающее в себя внутреннее прогнозирование и компенсацию движения, а также обратное преобразование частоты.
Декодер 230 данных изображений может выполнять внутреннее прогнозирование или компенсацию движения согласно сегменту и режиму прогнозирования каждой единицы кодирования на основе информации относительно типа сегмента и режима прогнозирования для единицы прогнозирования единицы кодирования согласно кодированным глубинам.
Кроме того, декодер 230 данных изображений может выполнять обратное преобразование частоты согласно каждой единице преобразования в единице кодирования на основе информации относительно размера единицы преобразования единицы кодирования согласно кодированным глубинам, с тем чтобы выполнять обратное преобразование частоты согласно максимальным единицам кодирования.
Декодер 230 данных изображений может определять кодированную глубину текущей максимальной единицы кодирования посредством использования информации разбиения согласно глубинам. Если информация разбиения указывает то, что данные изображений более не разбиваются при текущей глубине, текущая глубина является кодированной глубиной. Соответственно, декодер 230 данных изображений может декодировать кодированные данные текущей глубины посредством использования информации относительно типа сегмента единицы прогнозирования, режима прогнозирования и размера единицы преобразования для данных изображений текущей максимальной единицы кодирования.
Другими словами, единицы данных, содержащие информацию кодирования, включающую в себя идентичную информацию разбиения, могут собираться посредством наблюдения набора информации кодирования, назначаемого для предварительно определенной единицы данных из числа единицы кодирования, единицы прогнозирования и минимальной единицы, и собранные единицы данных могут рассматриваться как одна единица данных, которая должна быть декодирована посредством декодера 230 данных изображений в одном режиме кодирования.
Устройство 200 декодирования видео согласно варианту осуществления может получать информацию относительно одной единицы кодирования, которая формирует наименьшую ошибку кодирования, когда кодирование рекурсивно выполняется для каждой максимальной единицы кодирования, и может использовать эту информацию для того, чтобы декодировать текущее изображение. Другими словами, могут быть декодированы единицы кодирования, имеющие древовидную структуру, определенные как оптимальные единицы кодирования в каждой максимальной единице кодирования.
Соответственно, даже если данные изображений имеют высокое разрешение и большой объем данных, данные изображений могут быть эффективно декодированы и восстановлены согласно размеру единицы кодирования и режиму кодирования, которые адаптивно определяются согласно характеристикам данных изображений, посредством использования информации относительно оптимального режима кодирования, принимаемой из кодера.
Далее описывается способ определения единиц кодирования, имеющих древовидную структуру, единицы прогнозирования и единицы преобразования, согласно варианту осуществления настоящего изобретения со ссылкой на фиг. 3-13.
Фиг. 3 является схемой для описания принципа иерархических единиц кодирования согласно варианту осуществления настоящего изобретения.
Размер единицы кодирования может выражаться как "ширина × высота", и примеры размера единицы кодирования могут включать в себя 64×64, 32×32, 16×16 и 8×8. Единица кодирования в 64×64 может разбиваться на сегменты в 64×64, 64×32, 32×64 или 32×32, и единица кодирования в 32×32 может разбиваться на сегменты в 32×32, 32×16, 16×32 или 16×16, единица кодирования в 16×16 может разбиваться на сегменты в 16×16, 16×8, 8×16 или 8×8, и единица кодирования в 8×8 может разбиваться на сегменты в 8×8, 8×4, 4×8 или 4×4.
В видеоданных 310, разрешение задается равным 1920×1080, максимальный размер единицы кодирования задается равным 64, и максимальная глубина задается равной 2. В видеоданных 320, разрешение задается равным 1920×1080, максимальный размер единицы кодирования задается равным 64, и максимальная глубина задается равной 3. В видеоданных 330, разрешение задается равным 352×288, максимальный размер единицы кодирования задается равным 16, и максимальная глубина задается равной 1. Максимальная глубина, показанная на фиг. 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 изображений согласно варианту осуществления выполняет операции модуля 120 определения единиц кодирования устройства 100 кодирования видео, чтобы кодировать данные изображений. Другими словами, модуль 410 внутреннего прогнозирования выполняет внутреннее прогнозирование для единиц кодирования во внутреннем режиме из текущего кадра 405, и модуль 420 оценки движения и модуль 425 компенсации движения выполняют внешнюю оценку и компенсацию движения для единиц кодирования во внешнем режиме из текущего кадра 405 посредством использования текущего кадра 405 и опорного кадра 495.
Данные, выводимые из модуля 410 внутреннего прогнозирования, модуля 420 оценки движения и модуля 425 компенсации движения, выводятся в качестве квантованного коэффициента преобразования через преобразователь 430 частоты и квантователь 440. Квантованный коэффициент преобразования восстанавливается в качестве данных в пространственной области через обратный квантователь 460 и обратный преобразователь 470 частоты, и восстановленные данные в пространственной области выводятся в качестве опорного кадра 495 после постобработки через модуль 480 удаления блочности и модуль 490 контурной фильтрации. Квантованный коэффициент преобразования может выводиться в качестве потока 455 битов через энтропийный кодер 450.
Для применения кодера 400 изображений в устройстве 100 кодирования видео согласно варианту осуществления, все элементы кодера 400 изображений, т.е. модуль 410 внутреннего прогнозирования, модуль 420 оценки движения, модуль 425 компенсации движения, преобразователь 430 частоты, квантователь 440, энтропийный кодер 450, обратный квантователь 460, обратный преобразователь 470 частоты, модуль 480 удаления блочности и модуль 490 контурной фильтрации, должны выполнять операции на основе каждой единицы кодирования из единиц кодирования, имеющих древовидную структуру, с учетом максимальной глубины каждой максимальной единицы кодирования.
В частности, модуль 410 внутреннего прогнозирования, модуль 420 оценки движения и модуль 425 компенсации движения должны определять сегменты и режим прогнозирования каждой единицы кодирования из единиц кодирования, имеющих древовидную структуру, с учетом максимального размера и максимальной глубины текущей максимальной единицы кодирования, и преобразователь 430 частоты должен определять размер единицы преобразования в каждой единице кодирования из единиц кодирования, имеющих древовидную структуру.
Фиг. 5 является блок-схемой декодера изображений на основе единиц кодирования согласно варианту осуществления настоящего изобретения.
Синтаксический анализатор 510 синтаксически анализирует кодированные данные изображений, которые должны декодироваться, и информацию относительно кодирования, требуемую для декодирования, из потока 505 битов. На фиг. 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.
Чтобы декодировать данные изображений в декодере 230 данных изображений устройства 200 декодирования видео, декодер 500 изображений согласно варианту осуществления может выполнять операции, которые выполняются после того, как выполняются операции синтаксического анализатора 510.
Для применения декодера 500 изображений в устройстве 200 декодирования видео согласно варианту осуществления, все элементы декодера 500 изображений, т.е. синтаксический анализатор 510, энтропийный декодер 520, обратный квантователь 530, обратный преобразователь 540 частоты, модуль 550 внутреннего прогнозирования, модуль 560 компенсации движения и модуль 570 удаления блочности, могут выполнять операции декодирования на основе единиц кодирования, имеющих древовидную структуру, для каждой максимальной единицы кодирования. В частности, модуль 550 внутреннего прогнозирования и модуль 560 компенсации движения могут определять сегменты и режим прогнозирования для каждой из единиц кодирования, имеющих древовидную структуру, и обратный преобразователь 540 частоты может определять размер единицы преобразования для каждой единицы кодирования.
Фиг. 6 является схемой, иллюстрирующей более глубокие единицы кодирования согласно глубинам и сегменты согласно варианту осуществления настоящего изобретения.
Устройство 100 кодирования видео согласно варианту осуществления и устройство 200 декодирования видео согласно варианту осуществления используют иерархические единицы кодирования с тем, чтобы учитывать характеристики изображения. Максимальная высота, максимальная ширина и максимальная глубина единиц кодирования могут быть адаптивно определены согласно характеристикам изображения или могут быть по-другому заданы пользователем. Размеры более глубоких единиц кодирования согласно глубинам могут определяться согласно максимальному размеру единицы кодирования, который предварительно задан.
В иерархической структуре 600 единиц кодирования, согласно варианту осуществления, максимальная высота и максимальная ширина единиц кодирования равны 64, а максимальная глубина равна 4. Поскольку глубина увеличивается вдоль вертикальной оси иерархической структуры 600 единиц кодирования согласно варианту осуществления, разбиваются высота и ширина более глубокой единицы кодирования. Кроме того, единица прогнозирования и сегменты, которые являются базисами для прогнозирующего кодирования каждой более глубокой единицы кодирования, показаны вдоль горизонтальной оси иерархической структуры 600 единиц кодирования.
Другими словами, единица 610 кодирования представляет собой максимальную единицу кодирования в иерархической структуре 600 единиц кодирования, в которой глубина равна 0, а размер, т.е. высота на ширину, равен 64×64. Глубина увеличивается вдоль вертикальной оси, и существуют единица 620 кодирования, имеющая размер 32×32 и глубину в 1, единица 630 кодирования, имеющая размер 16×16 и глубину в 2, единица 640 кодирования, имеющая размер 8×8 и глубину 3, и единица 650 кодирования, имеющая размер 4×4 и глубину 4. Единица 650 кодирования, имеющая размер 4×4 и глубину 4, представляет собой минимальную единицу кодирования.
Единица прогнозирования и сегменты единицы кодирования размещаются вдоль горизонтальной оси согласно каждой глубине. Другими словами, если единица 610 кодирования, имеющая размер 64×64 и глубину 0, представляет собой единицу прогнозирования, единица прогнозирования может разбиваться на сегменты, включенные в единицу 610 кодирования, т.е. на сегмент 610, имеющий размер 64×64, сегменты 612, имеющие размер 64×32, сегменты 614, имеющие размер 32×64, или сегменты 616, имеющие размер 32×32.
Аналогично, единица прогнозирования единицы 620 кодирования, имеющей размер 32×32 и глубину в 1, может разбиваться на сегменты, включенные в единицу 620 кодирования, т.е. на сегмент 620, имеющий размер 32×32, сегменты 622, имеющие размер 32×16, сегменты 624, имеющие размер 16×32, и сегменты 626, имеющие размер 16×16.
Аналогично, единица прогнозирования единицы 630 кодирования, имеющей размер 16×16 и глубину в 2, может разбиваться на сегменты, включенные в единицу 630 кодирования, т.е. на сегмент, имеющий размер 16×16, включенный в единицу 630 кодирования, сегменты 632, имеющие размер 16×8, сегменты 634, имеющие размер 8×16, и сегменты 636, имеющие размер 8×8.
Аналогично, единица прогнозирования единицы 640 кодирования, имеющей размер 8×8 и глубину 3, может разбиваться на сегменты, включенные в единицу 640 кодирования, т.е. на сегмент, имеющий размер 8×8, включенный в единицу 640 кодирования, сегменты 642, имеющие размер 8×4, сегменты 644, имеющие размер 4×8, и сегменты 646, имеющие размер 4×4.
В завершение, единица 650 кодирования, имеющая размер 4×4 и глубину 4, представляет собой минимальную единицу кодирования и единицу кодирования самой нижней глубины. Единица прогнозирования единицы 650 кодирования назначается только сегменту, имеющему размер 4×4.
Чтобы определять кодированную глубину максимальной единицы 610 кодирования, модуль 120 определения единиц кодирования устройства 100 кодирования видео согласно варианту осуществления должен выполнять кодирование для единиц кодирования, соответствующих каждой глубине, включенной в максимальную единицу 610 кодирования.
Число более глубоких единиц кодирования согласно глубинам, включающим в себя данные в идентичном диапазоне и идентичного размера, увеличивается по мере того, как увеличивается глубина. Например, четыре единицы кодирования, соответствующие глубине 2, требуются для того, чтобы охватывать данные, которые включаются в одну единицу кодирования, соответствующую глубине 1. Соответственно, чтобы сравнивать результаты кодирования идентичных данных согласно глубинам, должны кодироваться единица кодирования, соответствующая глубине 1, и четыре единицы кодирования, соответствующие глубине 2.
Чтобы выполнять кодирование согласно каждой глубине, характерная ошибка кодирования, которая является наименьшей ошибкой кодирования в соответствующей глубине, может выбираться посредством выполнения кодирования для каждой единицы прогнозирования в более глубоких единицах кодирования вдоль горизонтальной оси иерархической структуры 600 единиц кодирования. Альтернативно, поиск наименьшей ошибки кодирования может выполняться посредством сравнения характерных ошибок кодирования согласно глубинам посредством выполнения кодирования для каждой глубины по мере того, как увеличивается глубина вдоль вертикальной оси иерархической структуры 600 единиц кодирования. Глубина и сегмент, имеющие наименьшую ошибку кодирования в максимальной единице 610 кодирования, могут выбираться в качестве кодированной глубины и типа сегмента максимальной единицы 610 кодирования.
Фиг. 7 является схемой для описания взаимосвязи между единицей кодирования и единицами преобразования, согласно варианту осуществления настоящего изобретения.
Устройство 100 кодирования видео согласно варианту осуществления или устройство 200 декодирования видео согласно варианту осуществления кодирует или декодирует изображение согласно единицам кодирования, имеющим размеры, меньшие или равные максимальной единице кодирования для каждой максимальной единицы кодирования. Размеры единиц преобразования для преобразования частоты в ходе кодирования могут быть выбраны на основе единиц данных, которые не больше соответствующей единицы кодирования.
Например, в устройстве 100 кодирования видео согласно варианту осуществления или устройстве 200 декодирования видео согласно варианту осуществления, если размер текущей единицы 710 кодирования составляет 64×64, преобразование частоты может выполняться посредством использования единиц 720 преобразования, имеющих размер 32×32.
Кроме того, данные единицы 710 кодирования, имеющей размер 64×64, могут быть кодированы посредством выполнения преобразования частоты для каждой из единиц преобразования, имеющих размер 32×32, 16×16, 8×8 и 4×4, которые меньше 64×64, а затем может быть выбрана единица преобразования, имеющая наименьшую ошибку.
Фиг. 8 является схемой для описания информации кодирования единиц кодирования, соответствующих кодированной глубине, согласно варианту осуществления настоящего изобретения.
Модуль 130 вывода устройства 100 кодирования видео согласно варианту осуществления может кодировать и передавать информацию 800 относительно типа сегмента, информацию 810 относительно режима прогнозирования и информацию 820 относительно размера единицы преобразования для каждой единицы кодирования, соответствующей кодированной глубине, в качестве информации относительно режима кодирования.
Информация 800 относительно типа сегмента указывает информацию относительно формы сегмента, полученного посредством разбиения единицы прогнозирования текущей единицы кодирования, при этом сегмент представляет собой единицу данных для прогнозирующего кодирования текущей единицы кодирования. Например, текущая единица кодирования CU_0, имеющая размер 2N×2N, может разбиваться на любой из сегмента 802, имеющего размер 2Nx2N, сегмента 804, имеющего размер 2N×N, сегмента 806, имеющего размер N×2N, и сегмента 808, имеющего размер N×N. Здесь, информация 800 относительно типа сегмента текущей единицы кодирования задается таким образом, что она указывает одно из сегмента 804, имеющего размер 2N×N, сегмента 806, имеющего размер N×2N, и сегмента 808, имеющего размер N×N.
Информация 810 относительно режима прогнозирования указывает режим прогнозирования каждого сегмента. Например, информация 810 относительно режима прогнозирования может указывать режим прогнозирующего кодирования, выполняемого для сегмента, указываемого посредством информации 800, т.е. внутренний режим 812, внешний режим 814 или режим 816 пропуска.
Кроме того, информация 820 относительно размера единицы преобразования указывает единицу преобразования, на которой следует базироваться, когда преобразование частоты выполняется для текущей единицы кодирования. Например, единица преобразования может представлять собой первую единицу 822 внутреннего преобразования, вторую единицу 824 внутреннего преобразования, первую единицу 826 внешнего преобразования или вторую единицу 828 внутреннего преобразования.
Модуль 220 извлечения данных изображений и информации кодирования устройства 200 декодирования видео согласно варианту осуществления может извлекать и использовать информацию 800 относительно типа сегмента, информацию 810 относительно режима прогнозирования и информацию 820 относительно размера единицы преобразования для декодирования согласно каждой более глубокой единице кодирования
Фиг. 9 является схемой более глубоких единиц кодирования согласно глубинам, согласно варианту осуществления настоящего изобретения.
Информация разбиения может быть использована для того, чтобы указывать изменение глубины. Информация разбиения указывает то, разбивается или нет единица кодирования текущей глубины на единицы кодирования нижней глубины.
Единица 910 прогнозирования для прогнозирующего кодирования единицы 900 кодирования, имеющей глубину 0 и размер 2N_0×2N_0, может включать в себя сегменты типа 912 сегмента, имеющего размер 2N_0×2N_0, типа 914 сегмента, имеющего размер 2N_0×N_0, типа 916 сегмента, имеющего размер N_0×2N_0, и типа 918 сегмента, имеющего размер N_0×N_0. Фиг. 9 иллюстрирует только типы 912-918 сегментов, которые получаются посредством симметричного разбиения единицы 910 прогнозирования, но тип сегмента не ограничен этим, и сегменты единицы 910 прогнозирования могут включать в себя асимметричные сегменты, сегменты, имеющие предварительно определенную форму, и сегменты, имеющие геометрическую форму.
Прогнозирующее кодирование должно многократно выполняться для одного сегмента, имеющего размер 2N_0×2N_0, двух сегментов, имеющих размер 2N_0×N_0, двух сегментов, имеющих размер N_0×2N_0, и четырех сегментов, имеющих размер N_0×N_0, согласно каждому типу сегмента. Прогнозирующее кодирование во внутреннем режиме и внешнем режиме может выполняться для сегментов, имеющих размеры 2N_0×2N_0, N_0×2N_0, 2N_0×N_0 и N_0×N_0. Прогнозирующее кодирование в режиме пропуска может выполняться только для сегмента, имеющего размер 2N_0×2N_0.
Если ошибка кодирования является наименьшей в одном из типов 912-916 сегментов, имеющих размеры 2N_0×2N_0, 2N_0×N_0 и N_0×2N_0, единица 910 прогнозирования более не может разбиваться на нижнюю глубину.
Если ошибка кодирования является наименьшей в типе 918 сегмента, имеющего размер N_0×N_0, глубина может изменяться с 0 на 1, чтобы разбивать тип 918 сегмента, на этапе 920, и кодирование может многократно выполняться для единиц 930 кодирования, имеющих глубину в 2 и размер N_0×N_0, для того чтобы выполнять поиск наименьшей ошибки кодирования.
Единица 940 прогнозирования для прогнозирующего кодирования единицы 930 кодирования, имеющей глубину в 1 и размер 2N_1×2N_1 (=N_0×N_0), может включать в себя сегменты типа 942 сегмента, имеющего размер 2N_1×2N_1, типа 944 сегмента, имеющего размер 2N_1×N_1, типа 946 сегмента, имеющего размер N_1×2N_1, и типа 948 сегмента, имеющего размер N_1×N_1.
Если ошибка кодирования является наименьшей в типе 948 сегмента, имеющем размер N_1×N_1, глубина может изменяться с 1 на 2, чтобы разбивать тип 948 сегмента на этапе 950, и кодирование может многократно выполняться для единиц 960 кодирования, которые имеют глубину в 2 и размер N_2×N_2, для того чтобы выполнять поиск наименьшей ошибки кодирования.
Когда максимальная глубина составляет d, информация разбиения согласно каждой глубине может задаваться до тех пор, пока глубина не станет d-1, и информация разбиения может задаваться до тех пор, пока глубина не станет d-2. Другими словами, когда кодирование выполняется до тех пор, пока глубина не станет d-1, после того как единица кодирования, соответствующая глубине d-2, разбивается на этапе 970, единица 990 прогнозирования для прогнозирующего кодирования единицы 980 кодирования, имеющей глубину d-1 и размер 2N_(d-1)×2N_(d-1), может включать в себя сегменты типа 992 сегмента, имеющего размер 2N_(d-1)×2N_(d-1), типа 994 сегмента, имеющего размер 2N_(d-1)×N_(d-1), типа 996 сегмента, имеющего размер N_(d-1)×2N_(d-1), и типа 998 сегмента, имеющего размер N_(d-1)×N_(d-1).
Прогнозирующее кодирование может многократно выполняться для одного сегмента, имеющего размер 2N_(d-1)×2N_(d-1), двух сегментов, имеющих размер 2N_(d-1)×N_(d-1), двух сегментов, имеющих размер N_(d-1)×2N_(d-1), четырех сегментов, имеющих размер N_(d-1)×N_(d-1), из типов 992-998 сегментов, чтобы выполнять поиск типа сегмента, имеющего наименьшую ошибку кодирования.
Даже когда тип 998 сегмента, имеющего размер N_(d-1)×N_(d-1), имеет наименьшую ошибку кодирования, поскольку максимальная глубина составляет d, единица кодирования CU_(d-1), имеющая глубину d-1, более не может разбиваться до нижней глубины, кодированная глубина для текущей максимальной единицы 900 кодирования может определяться как d-1, и тип сегмента текущей максимальной единицы 900 кодирования может определяться как N_(d-1)×N_(d-1). Кроме того, поскольку максимальная глубина составляет d, не задается информация разбиения для единицы 952 кодирования, имеющей глубину d-1.
Единица 999 данных может упоминаться как "минимальная единица" для текущей максимальной единицы кодирования. Минимальная единица согласно варианту осуществления может представлять собой прямоугольную единицу данных, полученную посредством разбиения минимальной единицы кодирования, имеющей самую нижнюю кодированную глубину, на 4. Посредством многократного выполнения кодирования, устройство 100 кодирования видео может выбирать глубину, имеющую наименьшую ошибку кодирования, посредством сравнения ошибок кодирования согласно глубинам единицы 900 кодирования, чтобы определять кодированную глубину, и может задавать соответствующий тип сегмента и режим прогнозирования в качестве режима кодирования кодированной глубины.
Также, наименьшие ошибки кодирования согласно глубинам сравниваются во всех глубинах 1–d, и глубина, имеющая наименьшую ошибку кодирования, может быть определена в качестве кодированной глубины. Кодированная глубина, тип сегмента единицы прогнозирования и режим прогнозирования могут быть кодированы и переданы в качестве информации относительно режима кодирования. Кроме того, поскольку единица кодирования должна разбиваться от глубины 0 до кодированной глубины, только информация разбиения кодированной глубины должна задаваться равной 0, и информация разбиения глубин за исключением кодированной глубины должна задаваться равной 1.
Модуль 220 извлечения данных изображений и информации кодирования устройства 200 декодирования видео согласно варианту осуществления может извлекать и использовать информацию относительно кодированной глубины и единицы прогнозирования единицы 900 кодирования, чтобы декодировать единицу 912 кодирования. Устройство 200 декодирования видео согласно варианту осуществления может определять глубину, при которой информация разбиения равна 0, в качестве кодированной глубины посредством использования информации разбиения согласно глубинам и может использовать информацию относительно режима кодирования соответствующей глубины для декодирования.
Фиг. 10-12 являются схемами для описания взаимосвязи между единицами кодирования, единицами прогнозирования и единицами преобразования частоты, согласно варианту осуществления настоящего изобретения.
Единицы 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 получаются посредством разбиения единиц кодирования. Другими словами, типы сегментов в сегментах 1014, 1022, 1050 и 1054 имеют размер 2N×N, типы сегментов в сегментах 1016, 1048 и 1052 имеют размер N×2N, и тип сегмента для сегмента 1032 кодирования имеет размер N×N. Единицы прогнозирования и сегменты единиц 1010 кодирования меньше или равны каждой единице кодирования.
Преобразование частоты или обратное преобразование частоты выполняется для данных изображений единицы 1052 преобразования в единицах 1070 преобразования в единице данных, которая меньше единицы 1052 преобразования. Кроме того, единицы 1014, 1016, 1022, 1032, 1048, 1050 и 1052 преобразования в единицах 1070 преобразования отличаются от единиц преобразования в единицах 1060 прогнозирования с точки зрения размеров и форм. Другими словами, устройство 100 кодирования видео согласно варианту осуществления и устройство 200 декодирования видео согласно варианту осуществления могут выполнять внутреннее прогнозирование/оценку движения /компенсацию движения и преобразование частоты/обратное преобразование частоты по отдельности для единицы данных даже в идентичной единице кодирования.
Соответственно, кодирование может рекурсивно выполняться для каждой из единиц кодирования, имеющих иерархическую структуру в каждой области максимальной единицы кодирования для того, чтобы определять оптимальную единицу кодирования, и за счет этого могут быть получены единицы кодирования, имеющие рекурсивную древовидную структуру. Информация кодирования может включать в себя информацию разбиения относительно единицы кодирования, информацию относительно типа сегмента, информацию относительно режима прогнозирования и информацию относительно размера единицы преобразования. Таблица 1 показывает информацию кодирования, которая может задаваться посредством устройства 100 кодирования видео согласно варианту осуществления и устройства 200 декодирования видео согласно варианту осуществления.
(кодирование для единицы кодирования, имеющей размер 2N×2N и текущую глубину d)
2N×N
N×2N
N×N
2N×nD
nL×2N
nR×2N
Модуль 130 вывода устройства 100 кодирования видео согласно варианту осуществления может выводить информацию кодирования относительно единиц кодирования, имеющих древовидную структуру, и модуль 220 извлечения данных изображений и информации кодирования устройства 200 декодирования видео согласно варианту осуществления может извлекать информацию кодирования относительно единиц кодирования, имеющих древовидную структуру, из принимаемого потока битов.
Информация разбиения указывает то, разбивается или нет текущая единица кодирования на единицы кодирования нижней глубины. Если информация разбиения текущей глубины d равна 0, глубина, при которой текущая единица кодирования более не разбивается на нижнюю глубину, является кодированной глубиной, и в силу этого информация относительно типа сегмента, режима прогнозирования и размера единицы преобразования может быть задана для кодированной глубины. Если текущая единица кодирования дополнительно разбивается согласно информации разбиения, кодирование должно независимо выполняться для четырех разбитых единиц кодирования нижней глубины.
Режим прогнозирования может представлять собой одно из внутреннего режима, внешнего режима и режима пропуска. Внутренний режим и внешний режим могут быть заданы во всех типах сегментов, а режим пропуска может быть задан только в типе сегмента, имеющем размер 2N×2N.
Информация относительно типа сегмента может указывать типы симметричных сегментов, имеющих размеры 2N×2N, 2N×N, N×2N и N×N, которые получаются посредством симметричного разбиения высоты или ширины единицы прогнозирования, и типы асимметричных сегментов, имеющих размеры 2N×nU, 2N×nD, nL×2N и nR×2N, которые получаются посредством асимметричного разбиения высоты или ширины единицы прогнозирования. Типы асимметричных сегментов, имеющих размеры 2N×nU и 2N×nD, получаются, соответственно, посредством разбиения высоты единицы прогнозирования в 1:3 и 3:1, а типы асимметричных сегментов, имеющих размеры nL×2N, и nR×2N, получаются, соответственно, посредством разбиения ширины единицы прогнозирования в 1:3 и 3:1.
Размер единицы преобразования может задаваться как два типа во внутреннем режиме и два типа во внешнем режиме. Другими словами, если информация разбиения единицы преобразования равна 0, размер единицы преобразования задается равным 2N×2N, что представляет собой размер текущей единицы кодирования. Если информация разбиения единицы преобразования равна 1, единицы преобразования могут быть получены посредством разбиения текущей единицы кодирования. Кроме того, если тип сегмента текущей единицы кодирования, имеющей размер 2N×2N, представляет собой тип симметричного сегмента, размер единицы преобразования может задаваться равным N×N, а если тип сегмента текущей единицы кодирования представляет собой тип асимметричного сегмента, размер единицы преобразования может задаваться равным N/2×N/2.
Информация кодирования относительно единиц кодирования, имеющих древовидную структуру согласно варианту осуществления, может назначаться, по меньшей мере, одной из единицы кодирования, соответствующей кодированной глубине, единицы прогнозирования и минимальной единицы. Единица кодирования, соответствующая кодированной глубине, может включать в себя, по меньшей мере, одну из единицы прогнозирования и минимальной единицы, содержащей идентичную информацию кодирования.
Соответственно, определяется то, включаются или нет смежные единицы данных в идентичную единицу кодирования, соответствующую кодированной глубине, посредством сравнения информации кодирования смежных единиц данных. Кроме того, соответствующая единица кодирования, соответствующая кодированной глубине, может определяться посредством использования информации кодирования единицы данных, и за счет этого может быть определено распределение кодированных глубин в максимальной единице кодирования.
Соответственно, если текущая единица кодирования прогнозируется посредством обращения к смежным единицам данных, можно обращаться непосредственно к информации кодирования единиц данных в более глубоких единицах кодирования, смежных с текущей единицей кодирования, и она может использоваться.
Альтернативно, если текущая единица кодирования прогнозирующее кодируется посредством обращения к смежным единицам данных, поиск единиц данных, смежных с текущей единицей кодирования в более глубоких единицах кодирования, может выполняться посредством использования кодированной информации единиц данных, и к искомым смежным единицам кодирования можно обращаться для прогнозирующего кодирования текущей единицы кодирования.
Фиг. 13 является схемой для описания взаимосвязи между единицей кодирования, единицей прогнозирования и единицей преобразования, согласно информации режима кодирования по таблице 1.
Максимальная единица 1300 кодирования включает в себя единицы 1302, 1304, 1306, 1312, 1314, 1316 и 1318 кодирования кодированных глубин. Здесь, поскольку единица 1318 кодирования представляет собой единицу кодирования кодированной глубины, информация разбиения может задаваться равной 0. Информация относительно типа сегмента единицы 1318 кодирования, имеющей размер 2N×2N, может задаваться как одно из типа 1322 сегмента, имеющего размер 2N×2N, типа 1324 сегмента, имеющего размер 2N×N, типа 1326 сегмента, имеющего размер N×2N, типа 1328 сегмента, имеющего размер N×N, типа 1332 сегмента, имеющего размер 2N×nU, типа 1334 сегмента, имеющего размер 2N×nD, типа 1336 сегмента, имеющего размер nL×2N, и типа 1338 сегмента, имеющего размер nR×2N.
Когда тип сегмента задается симметричным, т.е. тип 1322 сегмента, имеющий размер 2N×2N, 1324, имеющий размер 2N×N, 1326, имеющий размер N×2N, или 1328, имеющий размер N×N, единица 1342 преобразования, имеющая размер 2N×2N, может задаваться, если информация разбиения (флаг TU-размера) единицы преобразования равен 0, и единица 1344 преобразования, имеющая размер N×N, может задаваться, если флаг TU-размера равен 1.
Когда тип сегмента задается асимметричным, т.е. тип 1332 сегмента, имеющий размер 2N×nU, 1334, имеющий размер 2N×nD, 1336, имеющий размер nL×2N, или 1338, имеющий размер nR×2N, единица 1352 преобразования, имеющая размер 2N×2N, может задаваться, если флаг TU-размера равен 0, и единица 1354 преобразования, имеющая размер N/2×N/2, может задаваться, если флаг TU-размера равен 1.
Фиг. 14 является схемой устройства кодирования видео, имеющего временную масштабируемость, согласно варианту осуществления настоящего изобретения.
Ссылаясь на фиг. 14, устройство 1400 кодирования видео согласно варианту осуществления включает в себя видеокодер 1410 и мультиплексор 1420.
Видеокодер 1410 соответствует устройству 100 кодирования видео по фиг. 1, описанному выше, и VCL, который обрабатывает процесс кодирования видеоданных, кодирует видеоданные на основе иерархической единицы кодирования, как описано выше. Мультиплексор 1420 мультиплексирует видеоданные посредством использования единицы передаваемых данных, подходящей для протокола или формата хранения канала связи или носителей хранения данных, системы редактирования видео или мультимедийной инфраструктуры. Как описано ниже, мультиплексор 1420 может передавать видеоданные посредством использования единицы уровня абстрагирования от сети (NAL), которая представляет собой единицу передачи в NAL.
Чтобы предоставлять видеоданные, имеющие временную масштабируемость, видеокодер 1410 может разбивать изображения, включенные в последовательность изображений, на временные подслои. Временной подслой обозначает группу NAL-единиц, включающих в себя изображения, имеющие идентичные временные идентификаторы (temporal_id), или информацию относительно таких изображений.
Мультиплексор 1420 может классифицировать изображение доступа к временному слою в качестве изображения доступа к первому временному слою или изображения доступа ко второму временному слою на основе того, допускает или нет изображение, которое кодируется после изображения доступа к временному слою и принадлежит идентичному или верхнему временному подслою по отношению к изображению доступа к временному слою, обращение к изображению, кодированному перед изображением доступа к временному слою, и добавлять информацию синтаксиса типа для идентификации изображения доступа к первому временному слою и изображения доступа ко второму временному слою в данные единицы передачи, включающие в себя изображение доступа к временному слою. Порядок декодирования и порядок кодирования обозначают порядок, в котором изображения обрабатываются, соответственно, посредством декодера и кодера, и порядок кодирования может быть идентичным порядку декодирования. Таким образом, при описании настоящего изобретения, порядок кодирования может обозначать порядок декодирования, и наоборот.
Изображение доступа к временному слою представляет собой изображение, которое первоначально кодируется (или декодируется) после повышающего переключения посредством включения в верхний временной подслой, к которому осуществляется доступ, если выполняется переключение с нижнего временного подслоя на верхний временной подслой. Как описано ниже, изображение доступа к временному слою представляет собой изображение, которое обращается к доступному изображению, по меньшей мере, когда выполняется повышающее переключение. Изображение доступа к первому временному слою обозначает изображение доступа к временному слою, при этом изображение, которое кодируется после изображения доступа к временному слою и принадлежит идентичному или верхнему временному подслою по отношению к изображению доступа к временному слою, допускает обращение к изображению, кодированному перед изображением доступа к временному слою. Изображение доступа ко второму временному слою обозначает изображение доступа к временному слою, при этом изображение, которое кодируется после изображения доступа к временному слою и принадлежит идентичному или верхнему временному подслою по отношению к изображению доступа к временному слою, не допускает обращение к изображению, кодированному перед изображением доступа к временному слою.
Фиг. 15 является схемой изображений, включенных в последовательность изображений, которые разбиваются на временные подслои, согласно варианту осуществления настоящего изобретения. На фиг. 15 и 16, I, B и P, соответственно, обозначают I-изображение, B-изображение и P-изображение, а число после I, B или P обозначает номер в порядке отображения. На фиг. 15, направление стрелки обозначает опорное направление. Например, I0-изображение 1500 используется в качестве опорного изображения для B1-изображения 1531.
Ссылаясь на фиг. 15, видеокодер 1410 может предоставлять видеоданные, имеющие временную масштабируемость, посредством классификации I0-B7-изображений 1500-1534, включенных в последовательности изображений, на временные подслои и назначения temporal_id изображениям I0-B7-изображение 1500-1534, включенным в каждый временной подслой.
Подробно, значения temporal_id I0-изображения 1500 и P8-изображения 1501, которые принадлежат самому нижнему временному подслою, задаются равными 0. B4-изображение 1510 принадлежит временному подслою, имеющему temporal_id в 1. B2-изображение 1520 и B6-изображение 1521 принадлежат временному подслою, имеющему temporal_id в 2. B1-изображение 1531, B3-изображение 1532, B5-изображение 1533 и B7-изображение 1534 принадлежат временному подслою, имеющему temporal_id в 3.
Фиг. 16 является схемой изображений, отображаемых согласно частоте кадров, согласно варианту осуществления настоящего изобретения.
Ссылаясь на фиг. 15 и 16, когда частота кадров составляет 7,5 Гц, отображаются I0-изображение и P8-изображение на самом нижнем временном подслое, имеющие temporal_id в 0. Когда частота кадров составляет 15 Гц, отображается B4-изображение, имеющее temporal_id в 1, а также I0- и P8-изображения, имеющие temporal_id в 0. Когда частота кадров составляет 30 Гц, отображаются I0-изображение, B2-изображение, B4-изображение, B6-изображение и P8-изображение, имеющие temporal_id в 0, 1 и 2. Когда частота кадров составляет 60 Гц, отображаются I0-изображение, B1-изображение, B2-изображение, B3-изображение, B4-изображение, B5-изображение, B6-изображение, B7-изображение и P8-изображение, имеющие temporal_id в 0, 1, 2 и 4.
В связи с этим, временная масштабируемость может быть реализована посредством декодирования всех изображений, имеющих temporal_id, который ниже или равен предварительно определенному значению, согласно частоте кадров, и отображения декодированных изображений. Другими словами, временная масштабируемость может быть реализована посредством декодирования и отображения изображений, включенных во все временные подслои, ниже или равные верхнему временному подслою, имеющему temporal_id с предварительно определенным значением, согласно частоте кадров.
Изменение частоты кадров может задаваться как переключение временного слоя. Изменение с низкой частоты кадров на высокую частоту кадров задается как повышающее переключение временного слоя, а изменение с высокой частоты кадров на низкую частоту кадров задается как понижающее переключение временного слоя. Поскольку понижающее переключение временного слоя может выполняться посредством удаления изображений, имеющих temporal_id, превышающий предварительно определенное значение, понижающее переключение временного слоя может выполняться в любое время. Например, снова ссылаясь на фиг. 16, когда частота кадров изменяется с 30 Гц до 7,5 Гц, понижающее переключение временного слоя может выполняться посредством выбора и отображения только I0-изображения и P8-изображения посредством исключения изображений, имеющих temporal_id, равный или превышающий 1, т.е. B2-изображения, B4-изображения и B6-изображения, из числа I0-изображения, B2-изображения, B4-изображения, B6-изображения и P8-изображения, имеющих temporal_id в 0, 1 и 2.
С другой стороны, повышающее переключение временного слоя не всегда является возможным. Например, если изображение, которое принадлежит верхнему временному подслою, обращается к дополнительному верхнему изображению, которое недоступно во время повышающего переключения, изображение, которое принадлежит верхнему временному подслою, не является декодируемым. Предполагается, что повышающее переключение временного слоя формируется из временного подслоя, имеющего temporal_id в 0, на верхний временной подслой, имеющий temporal_id в 1. Если изображение, которое принадлежит верхнему временному подслою, имеющему temporal_id в 1, обращается к изображению, которое принадлежит еще более верхнему временному подслою, имеющему temporal_id, по меньшей мере, в 2, в качестве опорного изображения, не может выполняться повышающее переключение временного подслоя.
Соответственно, изображение, которое обращается к изображению, доступному, по меньшей мере, во время повышающего переключения временного слоя, из числа изображений, которые принадлежат верхнему временному подслою, должно использоваться в качестве изображения доступа к временному слою.
Чтобы повышать эффективность прогнозирования изображения, которое кодируется (или декодируется) после изображения доступа к временному слою, изображение, которое кодируется после изображения доступа к временному слою и принадлежит идентичному или верхнему временному подслою по отношению к изображению доступа к временному слою, может обращаться к изображению, которое кодируется перед изображением доступа к временному слою. Здесь, эффективность прогнозирования изображения может повышаться посредством расширения вероятностей опорных изображений, поскольку более вероятно, что может использоваться опорное изображение, аналогичное изображению, которое должно быть кодировано, если увеличивается число возможных вариантов, доступных в качестве опорных изображений. Изображение доступа к временному слою, которое разрешает такое обращение, задается как изображение доступа к первому временному слою. Другими словами, изображение доступа к первому временному слою представляет собой изображение доступа к временному слою, которое дает возможность изображению, которое кодируется после изображения доступа к временному слою и принадлежит идентичному или верхнему временному подслою по отношению к изображению доступа к временному слою, обращаться к изображению, которое кодируется перед изображением доступа к временному слою. С другой стороны, изображение доступа к временному слою, которое ограничивает такое обращение, задается как изображение доступа ко второму временному слою. Другими словами, изображение доступа ко второму временному слою представляет собой изображение доступа к временному слою, которое не дает возможность изображению, которое кодируется после изображения доступа к временному слою и принадлежит идентичному или верхнему временному подслою по отношению к изображению доступа к временному слою, обращаться к изображению, которое кодируется перед изображением доступа к временному слою.
Фиг. 17 является схемой для описания начального изображения и доступа к первому временному слою, согласно варианту осуществления настоящего изобретения. Как описано выше, I, B и P, соответственно, обозначают I-изображение, B-изображение и P-изображение, а число после I, B и P обозначает номер в порядке отображения. Кроме того, направление стрелки обозначает опорное направление.
Начальное изображение предварительно определенного изображения обозначает изображение, которое декодируется после предварительно определенного изображения, но отображается перед предварительно определенным изображением. Ссылаясь на фиг. 17, B3-изображение 1720 представляет собой начальное изображение, которое отображается перед B4-изображением 1710, но декодируется после B4-изображения 1710. Здесь предполагается, что B3-изображение 1720 двунаправлено прогнозируется посредством обращения к B2-изображению, а также к B4-изображению 1710. B4-изображение 1710 может быть классифицировано в качестве изображения доступа к первому временному слою, поскольку B3-изображение 1720, которое принадлежит идентичному или верхнему временному подслою и декодируется после B4-изображения 1710 согласно порядку декодирования, обращается к B2-изображению, которое декодируется перед B4-изображением 1710.
Как описано выше, число изображений, доступных в качестве опорного изображения, может увеличиваться для того, чтобы повышать эффективность прогнозирования изображения, но в случае изображения доступа к первому временному слою, изображение, которое более не требуется во время процесса декодирования, может декодироваться согласно опорной взаимосвязи между изображениями во время повышающего переключения временного слоя.
Фиг. 18 является схемой для описания начального изображения, которое не может декодироваться во время повышающего переключения временного слоя, согласно варианту осуществления настоящего изобретения.
Ссылаясь на фиг. 18, предполагается, что B4-изображение 1810 представляет собой изображение доступа к временному слою, если повышающее переключение временного слоя выполняется с самого нижнего временного подслоя на непосредственно верхний временной подслой. Кроме того, предполагается, что B4-изображение 1810 представляет собой изображение доступа к первому временному слою, при этом изображение, которое декодируется после B4-изображения 1810 и принадлежит идентичному или верхнему временному подслою по отношению к B4-изображению 1810, допускает обращение к изображению, которое декодируется перед B4-изображением 1810. Если выполняется повышающее переключение временного слоя, B3-изображение 1820, которое представляет собой начальное изображение относительно B4-изображения 1810, не может декодироваться, поскольку отсутствует опорное изображение. В связи с этим, в случае изображения доступа к первому временному слою, поскольку изображение, которое декодируется позднее, не ограничивается обращением к изображению, которое декодируется перед изображением доступа к первому временному слою, может быть предусмотрено начальное изображение, которое не может декодироваться позднее, согласно опорной взаимосвязи между изображениями.
Мультиплексор 1420 устройства 1400 кодирования видео согласно варианту осуществления может отдельно классифицировать изображение, которое не может декодироваться во время повышающего переключения временного слоя с учетом взаимосвязи с изображением доступа к первому временному слою, в качестве отбрасываемого изображения и может задавать предварительно определенный синтаксис nal_unit_type в заголовке NAL-единицы таким образом, что он указывает отбрасываемое изображение. Например, B3-изображение 1820 по фиг. 18 может быть классифицировано в качестве отбрасываемого изображения во время повышающего переключения временного слоя.
Изображение, которое не может декодироваться во время повышающего переключения временного слоя, классифицируется в качестве отбрасываемого изображения, так что если устройство декодирования принимает NAL-единицу, включающую в себя отбрасываемое изображение, могут экономиться аппаратные ресурсы посредством пропуска отдельного процесса декодирования.
Мультиплексор 1420 добавляет, в заголовок NAL-единицы, включающей в себя изображение доступа к первому временному слою, информацию (nal_unit_type) синтаксиса первого типа, указывающую то, что включено изображение доступа к первому временному слою, и добавляет, в заголовок данных единицы передачи, включающей в себя изображение доступа ко второму временному слою, информацию (nal_unit_type) синтаксиса второго типа, указывающую то, что включено изображение доступа ко второму временному слою.
Фиг. 19 является схемой NAL-единицы согласно варианту осуществления настоящего изобретения.
Ссылаясь на фиг. 19, NAL-единица 1900 включает в себя NAL-заголовок 1910 и первичную байтовую последовательность 1920 данных (RBSP). Конечный RBSP-бит 1930 представляет собой бит регулирования длины, добавленный после RBSP 1920 таким образом, чтобы выражать длину RBSP 1920 в кратных числах 8 битов. Конечный RBSP-бит 1930 может начинаться с 1 и затем включать в себя последовательные 0 (нули), определенные на основе длины RBSP 1920, так что он имеет такой шаблон, как "100…", и посредством поиска 1, которое является начальным битовым значением, может определяться последнее местоположение бита RBSP 1920 непосредственно перед 1.
Синтаксис nal_unit_type 1912 для идентификации того, включены или нет изображение доступа к первому временному слою, изображение доступа ко второму временному слою и отбрасываемое изображение в NAL-единицу 1900, может задаваться как NAL-заголовок 1910, а также синтаксис forbidden_zero_bit 1911, имеющий значение 0. Другими словами, может использоваться NAL-единица, имеющая внутренний синтаксис nal_unit_type для передачи изображения доступа к первому временному слою, изображения доступа ко второму временному слою и отбрасываемого изображения.
Нижеприведенная таблица 2 показывает примеры NAL-единицы 1900 согласно значению синтаксиса nal_unit_type.
slice_layer_rbsp( )
slice_layer_rbsp( )
slice_layer_rbsp( )
slice_layer_rbsp( )
slice_layer_rbsp( )
slice_layer_rbsp( )
slice_layer_rbsp( )
video_parameter_set_rbsp( )
seq_parameter_set_rbsp( )
pic_parameter_set_rbsp( )
aps_rbsp( )
access_unit_delimiter_rbsp( )
filler_data_rbsp( )
sei_rbsp( )
Ссылаясь на таблицу 2, когда изображения доступа к временному слою согласно варианту осуществления настоящего изобретения представляют собой изображения доступа к временному слою с неработающей ссылкой (BLT), каждое из изображений доступа к первому и второму временному слою может вставляться и передаваться с NAL-единицами, в которых значения синтаксиса nal_unit_type равны 6 и 7.
Кроме того, когда отбрасываемое изображение представляет собой помеченное для отбрасывания (TFD) изображение, отбрасываемое изображение может вставляться и передаваться вместе с NAL-единицей, в которой значение синтаксиса nal_unit_type равно 2.
Фиг. 20 является блок-схемой последовательности операций, иллюстрирующей способ кодирования видео, согласно варианту осуществления настоящего изобретения.
Ссылаясь на фиг. 20, на этапе 2010, видеокодер 1410 кодирует изображения, включенные в последовательность изображений, и разбивает и выводит кодированные изображения на временные подслои.
На этапе 2020, мультиплексор 1420 классифицирует изображение доступа к временному слою в качестве изображения доступа к первому временному слою или изображения доступа ко второму временному слою на основе того, допускает или нет изображение, которое кодируется после изображения доступа к временному слою и принадлежит идентичному или верхнему временному подслою по отношению к изображению доступа к временному слою, обращение к изображению, кодированному перед изображением доступа к временному слою. Как описано выше, изображение доступа к первому временному слою обозначает изображение доступа к временному слою, которое дает возможность изображению, которое кодируется после изображения доступа к временному слою и принадлежит идентичному или верхнему временному подслою по отношению к изображению доступа к временному слою, обращаться к изображению, кодированному перед изображением доступа к временному слою. Изображение доступа ко второму временному слою обозначает изображение доступа к временному слою, которое не дает возможность изображению, которое кодируется после изображения доступа к временному слою и принадлежит идентичному или верхнему временному подслою по отношению к изображению доступа к временному слою, обращаться к изображению, кодированному перед изображением доступа к временному слою.
На этапе 2030, мультиплексор 1420 добавляет информацию синтаксиса типа для идентификации изображения доступа к первому временному слою и изображения доступа ко второму временному слою в данные единицы передачи, включающие в себя изображение доступа к временному слою. Как описано выше, мультиплексор 1420 может использовать NAL-единицу, которая имеет внутренний синтаксис nal_unit_type для передачи изображения доступа к первому временному слою, изображения доступа ко второму временному слою и отбрасываемого изображения.
Фиг. 21 является схемой устройства декодирования видео, имеющего временную масштабируемость, согласно варианту осуществления настоящего изобретения.
Ссылаясь на фиг. 21, устройство 2100 декодирования видео согласно варианту осуществления включает в себя видеодекодер 2130, обратный мультиплексор 2120 и средство 2110 приема.
Средство 2110 приема принимает данные единицы передачи, т.е. данные NAL-единицы, из устройства 1400 кодирования видео по фиг. 14.
Обратный мультиплексор 2120 может определять тип изображения, включенного в данные единицы передачи, посредством использования идентификатора, включенного в данные единицы передачи. Как описано выше, обратный мультиплексор 2120 может определять NAL-единицу, включающую в себя изображение доступа к первому временному слою, изображение доступа ко второму временному слою и отбрасываемое изображение, на основе синтаксиса nal_unit_type.
Видеодекодер 2130 соответствует устройству 200 декодирования видео по фиг. 2 или декодеру 500 изображений по фиг. 5 и декодирует принимаемое изображение посредством получения информации разбиения, информации относительно типа сегмента, информации относительно режима прогнозирования, информации относительно размера единицы преобразования и информации относительно набора параметров, связанного с процессом кодирования, относительно единиц кодирования, используемых для того, чтобы формировать данные изображений и кодированные данные.
Фиг. 22 является блок-схемой последовательности операций, иллюстрирующей способ декодирования видео, согласно варианту осуществления настоящего изобретения.
Ссылаясь на фиг. 22, на этапе 2210, средство 2110 приема принимает данные единицы передачи, полученные посредством разбиения и кодирования изображений, включенных в последовательность изображений, на временные подслои.
На этапе 2220, обратный мультиплексор 2120 идентифицирует данные единицы передачи, включающие в себя изображение доступа к временному слою, к которому осуществляется доступ для повышающего переключения временного слоя с нижнего временного подслоя на верхний временной подслой, посредством использования информации синтаксиса типа, включенной в данные единицы передачи.
Варианты осуществления согласно настоящему изобретению могут быть записаны в качестве компьютерной программы и могут быть реализованы в цифровых компьютерах общего назначения, которые выполняют программы посредством использования считываемого компьютером носителя записи. Примеры считываемого компьютером носителя записи включают в себя магнитные носители хранения данных (например, постоянное запоминающее устройство (ROM), гибкий диск и жесткий диск), оптически читаемые носители (например, постоянное запоминающее устройство на компакт-дисках (CD-ROM) и универсальный цифровой диск (DVD)) и несущие (к примеру, передачу данных через Интернет).
Хотя настоящее изобретение конкретно показано и описано со ссылкой на его примерные варианты осуществления, специалисты в данной области техники должны понимать, что различные изменения по форме и содержанию могут вноситься без отступления от сущности и объема изобретения, заданных посредством прилагаемой формулы изобретения. Примерные варианты осуществления должны рассматриваться только в описательном смысле, а не в целях ограничения. Следовательно, объем изобретения задается не посредством подробного описания изобретения, а посредством прилагаемой формулы изобретения, и любые отличия в пределах объема должны истолковываться как включенные в настоящее изобретение.
Изобретение относится к вычислительной технике. Технический результат заключается в повышении эффективности сжатия видео. Способ кодирования видео, имеющего временную масштабируемость, в котором разбивают изображения, включенные в последовательность изображений, на временные подслои; классифицируют изображение доступа к временному слою в качестве изображения доступа к первому временному слою или изображения доступа ко второму временному слою; и добавляют информацию синтаксиса типа для идентификации изображения доступа к первому временному слою и изображения доступа ко второму временному слою в данные единицы передачи, содержащие изображение доступа к временному слою, при этом когда информация синтаксиса типа указывает, что типом текущего изображения является изображение доступа к первому временному слою, что позволяет первому изображению, которое декодируется после изображения доступа к первому временному слою и принадлежит к более верхнему временному подслою относительно временного подслоя изображения доступа к первому временному слою, обращаться ко второму изображению, декодируемому перед изображением доступа к первому временному слою. 3 н. и 4 з.п. ф-лы, 22 ил., 2 табл.
1. Способ кодирования видео для кодирования видео, имеющего временную масштабируемость, причем способ кодирования видео содержит этапы, на которых:
- разбивают изображения, включенные в последовательность изображений, на временные подслои;
- классифицируют изображение доступа к временному слою в качестве изображения доступа к первому временному слою или изображения доступа ко второму временному слою; и
- добавляют информацию синтаксиса типа для идентификации изображения доступа к первому временному слою и изображения доступа ко второму временному слою в данные единицы передачи, содержащие изображение доступа к временному слою,
при этом когда информация синтаксиса типа указывает, что типом текущего изображения является изображение доступа к первому временному слою, что позволяет первому изображению, которое декодируется после изображения доступа к первому временному слою и принадлежит к более верхнему временному подслою относительно временного подслоя изображения доступа к первому временному слою, обращаться ко второму изображению, декодируемому перед изображением доступа к первому временному слою, и
когда информация синтаксиса типа указывает, что типом текущего изображения является изображение доступа ко второму временному слою, что запрещает третьему изображению, которое декодируется после изображения доступа ко второму временному слою и принадлежит к более верхнему временному подслою относительно временного подслоя изображения доступа ко второму временному слою, обращаться к изображению, декодируемому перед изображением доступа ко второму временному слою.
2. Способ кодирования видео по п. 1, в котором данные единицы передачи представляют собой данные в единице уровня адаптации к сети (NAL).
3. Способ кодирования видео по п. 2, в котором информация синтаксиса типа представляет собой идентификатор, указывающий тип NAL-единицы.
4. Устройство кодирования видео для кодирования видео, имеющего временную масштабируемость, причем устройство кодирования видео содержит:
- видеокодер, который разбивает изображения, включенные в последовательность изображений, на временные подслои; и
- мультиплексор, который классифицирует изображение доступа к временному слою в качестве изображения доступа к первому временному слою или изображения доступа ко второму временному слою и добавляет информацию синтаксиса типа для идентификации изображения доступа к первому временному слою и изображения доступа ко второму временному слою в данные единицы передачи, содержащие изображение доступа к временному слою,
при этом когда информация синтаксиса типа указывает, что типом текущего изображения является изображение доступа к первому временному слою, что позволяет первому изображению, которое декодируется после изображения доступа к первому временному слою и принадлежит к более верхнему временному подслою относительно временного подслоя изображения доступа к первому временному слою, обращаться ко второму изображению, декодируемому перед изображением доступа к первому временному слою, и
когда информация синтаксиса типа указывает, что типом текущего изображения является изображение доступа ко второму временному слою, что запрещает третьему изображению, которое декодируется после изображения доступа ко второму временному слою и принадлежит к более верхнему временному подслою относительно временного подслоя изображения доступа ко второму временному слою, обращаться к изображению, декодируемому перед изображением доступа ко второму временному слою.
5. Способ декодирования видео для декодирования видео, имеющего временную масштабируемость, причем способ декодирования видео содержит этапы, на которых:
- принимают данные единицы передачи, полученные посредством разбиения и кодирования изображений, включенных в последовательность изображений, на временные подслои;
- идентифицируют тип текущего изображения, включенного в данные единицы передачи, причем данные единицы передачи содержат изображение доступа к временному слою, к которому осуществляется доступ для повышающего переключения временного слоя с нижнего временного подслоя на более верхний временной подслой, посредством использования информации синтаксиса типа, включенной в данные единицы передачи; и
- декодируют текущее изображение на основе идентифицированного типа,
при этом информация синтаксиса типа указывает, является ли текущее изображение изображением доступа к первому временному слою или изображением доступа ко второму временному слою,
при этом когда информация синтаксиса типа указывает, что типом текущего изображения является изображение доступа к первому временному слою, что позволяет первому изображению, которое декодируется после изображения доступа к первому временному слою и принадлежит к более верхнему временному подслою относительно временного подслоя изображения доступа к первому временному слою, обращаться ко второму изображению, декодируемому перед изображением доступа к первому временному слою, и
когда информация синтаксиса типа указывает, что типом текущего изображения является изображение доступа ко второму временному слою, что запрещает третьему изображению, которое декодируется после изображения доступа ко второму временному слою и принадлежит к более верхнему временному подслою относительно временного подслоя изображения доступа ко второму временному слою, обращаться к изображению, декодируемому перед изображением доступа ко второму временному слою.
6. Способ декодирования видео по п. 5, в котором данные единицы передачи представляют собой данные в единице уровня адаптации к сети (NAL).
7. Способ декодирования видео по п. 6, в котором информация синтаксиса типа представляет собой идентификатор, указывающий тип NAL-единицы.
СИСТЕМА И СПОСОБ ДЛЯ ЭФФЕКТИВНОЙ АДАПТАЦИИ МАСШТАБИРУЕМЫХ ПОТОКОВ | 2006 |
|
RU2407217C2 |
G | |||
J | |||
SULLIVAN "CRA pictures with broken links", JCTVC-I0404 (rev | |||
Печь для непрерывного получения сернистого натрия | 1921 |
|
SU1A1 |
Способ восстановления хромовой кислоты, в частности для получения хромовых квасцов | 1921 |
|
SU7A1 |
J | |||
SAMUELSSON et al | |||
"Temporal layer access pictures and CRA", JCTVC-G584 (version 2), опубл | |||
Видоизменение пишущей машины для тюркско-арабского шрифта | 1923 |
|
SU25A1 |
Разборный с внутренней печью кипятильник | 1922 |
|
SU9A1 |
Аппарат для очищения воды при помощи химических реактивов | 1917 |
|
SU2A1 |
Приспособление для суммирования отрезков прямых линий | 1923 |
|
SU2010A1 |
Авторы
Даты
2018-04-05—Публикация
2013-07-03—Подача