EA036026B1 - Способ и устройство генерирования файла для хранения видеоконтента - Google Patents

Способ и устройство генерирования файла для хранения видеоконтента Download PDF

Info

Publication number
EA036026B1
EA036026B1 EA201791567A EA201791567A EA036026B1 EA 036026 B1 EA036026 B1 EA 036026B1 EA 201791567 A EA201791567 A EA 201791567A EA 201791567 A EA201791567 A EA 201791567A EA 036026 B1 EA036026 B1 EA 036026B1
Authority
EA
Eurasian Patent Office
Prior art keywords
box
group
samples
sample
grouping
Prior art date
Application number
EA201791567A
Other languages
English (en)
Other versions
EA201791567A1 (ru
Inventor
Фну Хендри
Е-куй Ван
Original Assignee
Квэлкомм Инкорпорейтед
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Квэлкомм Инкорпорейтед filed Critical Квэлкомм Инкорпорейтед
Publication of EA201791567A1 publication Critical patent/EA201791567A1/ru
Publication of EA036026B1 publication Critical patent/EA036026B1/ru

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/783Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23605Creation or processing of packetized elementary streams [PES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Library & Information Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)

Abstract

Предложены способ генерирования файла для хранения видеоконтента и устройство для осуществления способа, которое генерирует в боксе-контейнере файла для хранения видеоконтента бокс SampleGroupDescription, который предоставляет описание группы выборок для группирования выборок. Бокс SampleGroupDescription включает в себя элемент синтаксиса типа группирования с конкретным значением. Дополнительно бокс SampleGroupDescription включает в себя одну или более записей группы выборок. Устройство генерирует в том же самом боксе-контейнере множество боксов SampleToGroup. Каждый соответствующий бокс SampleToGroup из множества боксов SampleToGroup включает в себя соответствующий элемент синтаксиса типа группирования с конкретным значением, включает в себя соответствующий элемент синтаксиса счетчика выборки, указывающий количество выборок в соответствующем группировании выборок, и включает в себя соответствующий элемент синтаксиса индекса описания группы, указывающий индекс записи в боксе SampleGroupDescription, которая описывает выборки соответствующего группирования выборок. Каждая выборка соответствующего группирования выборок содержит соответствующую картинку видеоконтента.

Description

По данной заявке испрашивается приоритет предварительной патентной заявки США № 62/115087, поданной 11 февраля 2015г., которая во всей своей полноте включена в настоящее описание посредством ссылки.
Область техники, к которой относится изобретение
Данное раскрытие относится к кодированию видео и форматам файла для кодированных видеоданных.
Предпосылки создания изобретения
Возможности цифрового видео могут быть встроены в широкий диапазон устройств, включая цифровые телевизоры, системы цифрового непосредственного вещания, системы беспроводного вещания, персональные цифровые помощники (PDA), компьютеры класса лэптоп и настольные компьютеры, планшетные компьютеры, устройства для чтения электронных книг, цифровые камеры, цифровые записывающие устройства, цифровые мультимедийные проигрыватели, видеоигровые устройства, видеоигровые консоли, сотовые или спутниковые радиотелефоны, так называемые интеллектуальные телефоны, устройства для организации видеоконференций, устройства потоковой передачи видео и подобные. Устройства цифрового видео реализуют методики сжатия видео, такие как те, что описываются в стандартах, определяемых MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4, Часть 10, Усовершенствованное Кодирование Видео (AVC), стандарте Высокоэффективного Кодирования Видео (HEVC), который разрабатывается в настоящее время, и расширениях таких стандартов. Видеоустройства могут передавать, принимать, кодировать, декодировать и/или сохранять цифровую видеоинформацию более эффективно посредством реализации таких методик сжатия видео.
Методики сжатия видео выполняют пространственное (внутри картинки) предсказание и/или временное (внешнее для картинки) предсказание, чтобы сократить или удалить избыточность, присущую видеопоследовательностям. Применительно к основанному на блоке кодированию видео слайс видео (т.е. кадр видео или фрагмент кадра видео) может быть разбит на блоки видео, которые также могут именоваться блоками дерева, единицами кодирования (CU) и/или узлами кодирования. Блоки видео во внутренне-кодированном (intra-coded) (I) слайсе картинки кодируются, используя пространственное предсказание по отношению к опорным выборкам в соседних блоках в той же самой картинке. Блоки видео во внешне-кодированном (inter-coded) (P или В) слайсе картинки могут использовать пространственное предсказание по отношению к опорным выборкам в соседних блоках в той же самой картинке или временное предсказание по отношению к опорным выборкам в других опорных картинках. Картинки (изображения) могут именоваться кадрами, а опорные картинки могут именоваться опорными кадрами.
Пространственное или временное предсказание приводит к блоку предсказания для блока, который должен кодироваться. Остаточные данные представляют собой пиксельные разности между исходным блоком, который должен кодироваться, и блоком предсказания. Внешне-кодированный блок кодируется в соответствии с вектором движения, который указывает на блок опорных выборок, формирующих блок предсказания, и остаточными данными, указывающими разность между кодированным блоком и блоком предсказания. Внутренне кодированный блок кодируется в соответствии с режимом внутреннего кодирования и остаточными данными. Для дальнейшего сжатия остаточные данные могут быть преобразованы из области пикселя в область преобразования, приводя к остаточным коэффициентам преобразования, которые затем могут быть квантованы. Квантованные коэффициенты преобразования, исходно организованные в двумерный массив, могут быть просканированы для того, чтобы создать одномерный вектор коэффициентов преобразования, и может быть применено энтропийное кодирование, чтобы добиться еще большего сжатия.
Сущность изобретения
Один или более аспектов данного раскрытия относятся к сохранению видеоконтента в форматах файла. Например, методики данного раскрытия могут улучшить исполнение механизма группирования выборок и сигнализацию группирования выборок точки доступа к потоку (SAP) в файлах, сформированных в соответствии с базовым форматом мультимедийного файла ISO и форматами файла, полученными на его основании.
В одном аспекте данное раскрытие описывает способ генерирования файла для хранения видеоконтента, при этом способ содержит этапы, на которых: генерируют в боксе-контейнере файла бокс SampleGroupDescription, который включает в себя одну или более записей описания группы, при этом каждая соответствующая запись описания группы предоставляет описания для соответствующей группы выборок, причем бокс SampleGroupDescription дополнительно включает в себя элемент синтаксиса типа группирования, который идентифицирует тип группирования выборок, причем элемент синтаксиса типа группирования в боксе SampleGroupDescription имеет конкретное значение, причем бокс-контейнер является боксом таблицы выборок или боксом фрагмента дорожки, при этом файл принадлежит к конкретному формату файла, в котором должен присутствовать только один бокс SampleGroupDescription в боксе-контейнере с конкретным значением элемента синтаксиса типа группирования; генерируют в том же самом боксе-контейнере файла множество боксов SampleToGroup, причем каждый соответствующий бокс SampleToGroup из множества боксов SampleToGroup включает в себя соответствующий элемент синтаксиса типа группирования с конкретным значением, причем каждый соответствующий бокс Sam- 1 036026 pleToGroup включает в себя одну или более записей группы выборок, причем каждая соответствующая запись группы выборок из одной или более записей группы выборок содержит соответствующий элемент синтаксиса счетчика выборки, указывающий количество выборок в соответствующей группе выборок, и причем каждая соответствующая запись группы выборок из одной или более записей группы выборок содержит соответствующий элемент синтаксиса индекса описания группы, указывающий индекс записи описания группы в боксе SampleGroupDescription, которая предоставляет описание соответствующей группы выборок, причем каждая выборка соответствующей группы выборок содержит одну или более картинок видеоконтента; и выводят файл.
В другом аспекте данное раскрытие описывает устройство для генерирования файла для хранения видеоконтента, при этом устройство содержит память, выполненную с возможностью сохранения файла; и один или более процессоров, выполненных с возможностью генерирования бокса-контейнера файла таким образом, что файл согласуется с конкретным форматом файла, при этом в рамках генерирования бокса-контейнера один или более процессоров генерируют бокс SampleGroupDescription, который включает в себя одну или более записей описания группы, при этом каждая соответствующая запись описания группы предоставляет описания для соответствующей группы выборок, причем бокс SampleGroupDescription дополнительно включает в себя элемент синтаксиса типа группирования, который идентифицирует тип группирования выборок, причем элемент синтаксиса типа группирования в боксе SampleGroupDescription имеет конкретное значение, причем бокс-контейнер является боксом таблицы выборок или боксом фрагмента дорожки, при этом файл принадлежит к конкретному формату файла, в котором должен присутствовать только один бокс SampleGroupDescription в боксе-контейнере с конкретным значением элемента синтаксиса типа группирования; и генерируют в том же самом боксе-контейнере файла множество боксов SampleToGroup, причем каждый соответствующий бокс SampleToGroup из множества боксов SampleToGroup включает в себя соответствующий элемент синтаксиса типа группирования с конкретным значением, причем каждый соответствующий бокс SampleToGroup включает в себя одну или более записей группы выборок, причем каждая соответствующая запись группы выборок из одной или более записей группы выборок содержит соответствующий элемент синтаксиса счетчика выборки, указывающий количество выборок в соответствующей группе выборок, и причем каждая соответствующая запись группы выборок из одной или более записей группы выборок содержит соответствующий элемент синтаксиса индекса описания группы, указывающий индекс записи описания группы в боксе SampleGroupDescription, которая предоставляет описание соответствующей группы выборок, причем каждая выборка соответствующей группы выборок содержит одну или более картинок видеоконтента; и выводят файл.
В другом аспекте данное раскрытие описывает устройство для генерирования файла для хранения видеоконтента, причем устройство содержит средство для генерирования бокса-контейнера файла таким образом, что файл согласуется с конкретным форматом файла, при этом средство для генерирования бокса-контейнера содержит средство для генерирования бокса SampleGroupDescription, который включает в себя одну или более записей описания группы, при этом каждая соответствующая запись описания группы предоставляет описания для соответствующей группы выборок, причем бокс SampleGroupDescription дополнительно включает в себя элемент синтаксиса типа группирования, который идентифицирует тип группирования выборок, причем элемент синтаксиса типа группирования в боксе SampleGroupDescription имеет конкретное значение, причем бокс-контейнер является боксом таблицы выборок или боксом фрагмента дорожки, при этом файл принадлежит к конкретному формату файла, в котором должен присутствовать только один бокс SampleGroupDescription в боксе-контейнере с конкретным значением элемента синтаксиса типа группирования; и средство для генерирования в том же самом боксеконтейнере файла множества боксов SampleToGroup, причем каждый соответствующий бокс SampleToGroup из множества боксов SampleToGroup включает в себя соответствующий элемент синтаксиса типа группирования с конкретным значением, причем каждый соответствующий бокс SampleToGroup включает в себя одну или более записей группы выборок, причем каждая соответствующая запись группы выборок из одной или более записей группы выборок содержит соответствующий элемент синтаксиса счетчика выборки, указывающий количество выборок в соответствующей группе выборок, и причем каждая соответствующая запись группы выборок из одной или более записей группы выборок содержит соответствующий элемент синтаксиса индекса описания группы, указывающий индекс записи описания группы в боксе SampleGroupDescription, которая предоставляет описание соответствующей группы выборок, причем каждая выборка соответствующей группы выборок содержит одну или более картинок видеоконтента; и средство для вывода файла.
В другом аспекте данное раскрытие описывает машиночитаемый носитель информации для хранения данных с хранящимися на нем инструкциями, которые, когда исполняются, предписывают одному или более процессорам устройства для генерирования файла для хранения видеоконтента генерировать бокс-контейнер файла таким образом, что файл согласуется с конкретным форматом файла, при этом, в рамках генерирования бокса-контейнера, один или более процессоров генерируют бокс SampleGroupDescription, который включает в себя одну или более записей описания группы, при этом каждая соответствующая запись описания группы предоставляет описания для соответствующей группы выборок, причем
- 2 036026 бокс SampleGroupDescription дополнительно включает в себя элемент синтаксиса типа группирования, который идентифицирует тип группирования выборок, причем элемент синтаксиса типа группирования в боксе SampleGroupDescription имеет конкретное значение, причем бокс-контейнер является боксом таблицы выборок или боксом фрагмента дорожки, при этом файл принадлежит к конкретному формату файла, в котором должен присутствовать только один бокс SampleGroupDescription в боксе-контейнере с конкретным значением элемента синтаксиса типа группирования; и генерируют в том же самом боксеконтейнере файла множество боксов SampleToGroup, причем каждый соответствующий бокс SampleToGroup из множества боксов SampleToGroup включает в себя соответствующий элемент синтаксиса типа группирования с конкретным значением, причем каждый соответствующий бокс SampleToGroup включает в себя одну или более записей группы выборок, причем каждая соответствующая запись группы выборок из одной или более записей группы выборок содержит соответствующий элемент синтаксиса счетчика выборки, указывающий количество выборок в соответствующей группе выборок, и причем каждая соответствующая запись группы выборок из одной или более записей группы выборок содержит соответствующий элемент синтаксиса индекса описания группы, указывающий индекс записи описания группы в боксе SampleGroupDescription, которая предоставляет описание соответствующей группы выборок, причем каждая выборка соответствующей группы выборок содержит одну или более картинок видеоконтента; и выводят файл.
В другом аспекте данное раскрытие описывает устройство для чтения файла для хранения видеоконтента, причем устройство содержит память, выполненную с возможностью сохранения файла; и один или более процессоров, выполненных с возможностью получения из файла бокса-контейнера файла, при этом бокс-контейнер содержит бокс SampleGroupDescription, который включает в себя одну или более записей описания группы, при этом каждая соответствующая запись описания группы предоставляет описания для соответствующей группы выборок, причем бокс SampleGroupDescription дополнительно включает в себя элемент синтаксиса типа группирования, который идентифицирует тип группирования выборок, причем элемент синтаксиса типа группирования в боксе SampleGroupDescription имеет конкретное значение, причем бокс-контейнер является боксом таблицы выборок или боксом фрагмента дорожки, при этом требование конкретного формата файла состоит в том, что должен присутствовать только один бокс SampleGroupDescription в боксе-контейнере с конкретным значением элемента синтаксиса типа группирования; и множество боксов SampleToGroup, причем каждый соответствующий бокс SampleToGroup из множества боксов SampleToGroup включает в себя соответствующий элемент синтаксиса типа группирования с конкретным значением, причем каждый соответствующий бокс SampleToGroup включает в себя одну или более записей группы выборок, причем каждая соответствующая запись группы выборок из одной или более записей группы выборок содержит соответствующий элемент синтаксиса счетчика выборки, указывающий количество выборок в соответствующей группе выборок, и причем каждая соответствующая запись группы выборок из одной или более записей группы выборок содержит соответствующий элемент синтаксиса индекса описания группы, указывающий индекс записи описания группы в боксе SampleGroupDescription, которая предоставляет описание соответствующей группы выборок, причем каждая выборка соответствующей группы выборок содержит одну или более картинок видеоконтента.
В другом аспекте данное раскрытие описывает способ для чтения файла для хранения видеоконтента, при этом способ содержит этапы, на которых получают файл; получают из файла бокс-контейнер файла, при этом бокс-контейнер содержит: бокс SampleGroupDescription, который включает в себя одну или более записей описания группы, при этом каждая соответствующая запись описания группы предоставляет описания для соответствующей группы выборок, причем бокс SampleGroupDescription дополнительно включает в себя элемент синтаксиса типа группирования, который идентифицирует тип группирования выборок, причем элемент синтаксиса типа группирования в боксе SampleGroupDescription имеет конкретное значение, причем бокс-контейнер является боксом таблицы выборок или боксом фрагмента дорожки, при этом требование конкретного формата файла состоит в том, что должен присутствовать только один бокс SampleGroupDescription в боксе-контейнере с конкретным значением элемента синтаксиса типа группирования; и множество боксов SampleToGroup, причем каждый соответствующий бокс SampleToGroup из множества боксов SampleToGroup включает в себя соответствующий элемент синтаксиса типа группирования с конкретным значением, причем каждый соответствующий бокс SampleToGroup включает в себя одну или более записей группы выборок, причем каждая соответствующая запись группы выборок из одной или более записей группы выборок содержит соответствующий элемент синтаксиса счетчика выборки, указывающий количество выборок в соответствующей группе выборок, и причем каждая соответствующая запись группы выборок из одной или более записей группы выборок содержит соответствующий элемент синтаксиса индекса описания группы, указывающий индекс записи описания группы в боксе SampleGroupDescription, которая предоставляет описание соответствующей группы выборок, причем каждая выборка соответствующей группы выборок содержит одну или более картинок видеоконтента.
В другом аспекте данное раскрытие описывает устройство для чтения файла для хранения видеоконтента, при этом устройство содержит: средство для получения файла; и средство для получения из
- 3 036026 файла бокса-контейнера файла, при этом бокс-контейнер содержит бокс SampleGroupDescription, который включает в себя одну или более записей описания группы, при этом каждая соответствующая запись описания группы предоставляет описания для соответствующей группы выборок, причем бокс SampleGroupDescription дополнительно включает в себя элемент синтаксиса типа группирования, который идентифицирует тип группирования выборок, причем элемент синтаксиса типа группирования в боксе SampleGroupDescription имеет конкретное значение, причем бокс-контейнер является боксом таблицы выборок или боксом фрагмента дорожки, при этом требование конкретного формата файла состоит в том, что должен присутствовать только один бокс SampleGroupDescription в боксе-контейнере с конкретным значением элемента синтаксиса типа группирования; и множества боксов SampleToGroup, причем каждый соответствующий бокс SampleToGroup из множества боксов SampleToGroup включает в себя соответствующий элемент синтаксиса типа группирования с конкретным значением, причем каждый соответствующий бокс SampleToGroup включает в себя одну или более записей группы выборок, причем каждая соответствующая запись группы выборок из одной или более записей группы выборок содержит соответствующий элемент синтаксиса счетчика выборки, указывающий количество выборок в соответствующей группе выборок, и причем каждая соответствующая запись группы выборок из одной или более записей группы выборок содержит соответствующий элемент синтаксиса индекса описания группы, указывающий индекс записи описания группы в боксе SampleGroupDescription, которая предоставляет описание соответствующей группы выборок, причем каждая выборка соответствующей группы выборок содержит одну или более картинок видеоконтента.
В другом аспекте данное раскрытие описывает машиночитаемый запоминающий носитель информации с хранящимися на нем инструкциями, которые, когда исполняются, предписывают устройству получать из файла бокс-контейнер файла, при этом бокс-контейнер содержит бокс SampleGroupDescription, который включает в себя одну или более записей описания группы, при этом каждая соответствующая запись описания группы предоставляет описания для соответствующей группы выборок, причем бокс SampleGroupDescription дополнительно включает в себя элемент синтаксиса типа группирования, который идентифицирует тип группирования выборок, причем элемент синтаксиса типа группирования в боксе SampleGroupDescription имеет конкретное значение, причем бокс-контейнер является боксом таблицы выборок или боксом фрагмента дорожки, при этом требование конкретного формата файла состоит в том, что должен присутствовать только один бокс SampleGroupDescription в боксе-контейнере с конкретным значением элемента синтаксиса типа группирования; и множество боксов SampleToGroup, причем каждый соответствующий бокс SampleToGroup из множества боксов SampleToGroup включает в себя соответствующий элемент синтаксиса типа группирования с конкретным значением, причем каждый соответствующий бокс SampleToGroup включает в себя одну или более записей группы выборок, причем каждая соответствующая запись группы выборок из одной или более записей группы выборок содержит соответствующий элемент синтаксиса счетчика выборки, указывающий количество выборок в соответствующей группе выборок, и причем каждая соответствующая запись группы выборок из одной или более записей группы выборок содержит соответствующий элемент синтаксиса индекса описания группы, указывающий индекс записи описания группы в боксе SampleGroupDescription, которая предоставляет описание соответствующей группы выборок, причем каждая выборка соответствующей группы выборок содержит одну или более картинок видеоконтента.
Подробности одного или более примеров раскрытия излагаются в сопроводительных чертежах и описании ниже. Прочие признаки, цели, и преимущества будут очевидны из описания, чертежей, и формулы изобретения.
Краткое описание чертежей
Фиг. 1 является структурной схемой, иллюстрирующей пример системы кодирования и декодирования видео, которая может использовать методики, описанные в данном раскрытии.
Фиг. 2 является структурной схемой, иллюстрирующей примерный кодер видео, который может реализовывать методики, описанные в данном раскрытии.
Фиг. 3 является структурной схемой, иллюстрирующей примерный декодер видео, который может реализовывать методики, описанные в данном раскрытии.
Фиг. 4 является структурной схемой, иллюстрирующей примерный набор устройств, которые формируют часть сети.
Фиг. 5 является концептуальной схемой двух разных типов выборки точки доступа к потоку (SAP) в последовательности выборок в дорожке.
Фиг. 6А является концептуальной схемой, иллюстрирующей примерную структуру файла, в соответствии с одной или более методик данного раскрытия.
Фиг. 6В является концептуальной схемой, иллюстрирующей примерную структуру файла, в соответствии с одной или более методик данного раскрытия.
Фиг. 6С является концептуальной схемой, иллюстрирующей примерную структуру файла, в соответствии с одной или более методик данного раскрытия.
Фиг. 7А является концептуальной схемой, иллюстрирующей примерную структуру файла, в соответствии с одной или более методик данного раскрытия.
- 4 036026
Фиг. 7В является концептуальной схемой, иллюстрирующей примерную структуру файла, в соответствии с одной или более методик данного раскрытия.
Фиг. 7С является концептуальной схемой, иллюстрирующей примерную структуру файла, в соответствии с одной или более методик данного раскрытия.
Фиг. 8 является блок-схемой, иллюстрирующей примерное функционирование устройстваисточника, в соответствии с методикой данного раскрытия.
Фиг. 9 является блок-схемой, иллюстрирующей примерное функционирование устройства для чтения файла для хранения видеоконтента в соответствии с методикой данного раскрытия.
Подробное описание
Базовый формат мультимедийного файла Международной Организации по Стандартизации (ISO) (ISOBMFF) и форматы файла, полученные из базового формата мультимедийного файла ISO, разработаны для хранения видеоконтента. ISOBMFF определяется в единицах набора из вложенных боксов, которые хранят закодированные видеоданные и ассоциированные метаданные. Например, бокс мультимедийных данных может включать в себя одну или более выборок. Каждая из выборок может включать в себя закодированные видеоданные одной или более картинок в единице доступа.
В дополнение, боксы в файле ISOBMFF могут включать в себя боксы SampleToGroup и боксы SampleGroupDescription. В данном раскрытии боксы SampleToGroup могут упоминаться как боксы выборок в группе, а боксы SampleGroupDescription могут упоминаться как боксы описания группы выборок. В общих чертах, бокс SampleToGroup включает в себя элементы синтаксиса, определяющие одну или более групп из выборок. В данном раскрытии группы из выборок также могут упоминаться как группы выборок или группирования выборок. Кроме того, в общих чертах, бокс SampleGroupDescription включает в себя описания групп выборок.
В частности, бокс SampleToGroup включает в себя элемент синтаксиса типа группирования. Элемент синтаксиса типа группирования также может упоминаться как элемент синтаксиса grouping_type. Дополнительно бокс SampleToGroup включает в себя одну или более записей группы выборок. Каждая соответствующая запись группы выборок в боксе SampleToGroup включает в себя соответствующий элемент синтаксиса счетчика выборки и соответствующий элемент синтаксиса индекса описания группы. Соответствующий элемент синтаксиса счетчика выборки указывает количество последовательных выборок, к которым применяется соответствующий индекс описания группы.
Бокс SampleGroupDescription также включает в себя элемент синтаксиса типа группирования. Когда элементы синтаксиса типа группирования бокса SampleToGroup и бокса SampleGroupDescription совпадают, говорят, что бокс SampleToGroup и бокс SampleGroupDescription соответствуют один другому. Бокс SampleGroupDescription включает в себя одну или более записей описания группы. Каждая соответствующая запись описания группы в боксе SampleGroupDescription включает в себя описание соответствующей группы выборок. Индекс описания группы в боксе SampleToGroup идентифицирует соответствующую запись описания группы в соответствующем боксе SampleGroupDescription.
Например, бокс SampleToGroup может иметь первую запись группы выборок, которая включает в себя элемент синтаксиса счетчика выборки со значением, равным 5, и индекс описания группы со значением, равным 3. Следовательно, в данном примере пять последовательных выборок принадлежат к группе выборок, которая описывается посредством третьей записи описания группы в соответствующем боксе SampleGroupDescription. В данном примере бокс SampleToGroup может иметь вторую запись группы выборок, которая включает в себя элемент синтаксиса счетчика выборки со значением 4 и индекс описания группы со значением равным 2. Следовательно, в данном примере следующие четыре последовательные выборки принадлежат к группе выборок, которая описывается посредством второй записи описания группы в соответствующем боксе SampleGroupDescription.
Существует несколько версий ISOBMFF. В одной версии ISOBMFF, которая упоминается как версия 1, бокс SampleToGroup включает в себя элемент синтаксиса параметра типа группирования в дополнение к описанным выше элементам синтаксиса. Элемент синтаксиса параметра типа группирования является элементом синтаксиса отдельным от элемента синтаксиса типа группирования. Данное раскрытие может ссылаться на группу выборок в боксе SampleToGroup, который определяется в версии 1 ISOBMFF, как на группу выборок версии 1. Элемент синтаксиса параметра типа группирования может быть обозначен как grouping_type_parameter. Элемент синтаксиса параметра типа группирования не присутствует в боксах SampleToGroup у файлов, согласующихся с начальной версией ISOBMFF. Элемент синтаксиса параметра типа группирования является указанием подтипа группирования выборок. Следовательно, бокс SampleToGroup может включать в себя элемент синтаксиса тип группирования и отдельный элемент синтаксиса параметр типа группирования.
Версия спецификации ISOBMFF, на которую далее ссылаются как просто спецификацию ISOBMFF или N14574 доступна по адресу http://phenix.int-evry.fr/mpeg/doc_end_user/documents/109_ Sapporo/wg11/w14574-v2-w14574.zip. Спецификация ISOBMFF содержит документ, озаглавленный iSO/IEC 15444-12, fourth edition, Information technology - JPEG 2000 - image coding system - Part 12: ISO base media file format, 15 июля 2012г., измененный cOr 1, FDAM1, FDAM2, COR2, и FDAM 3 (далее, 15444-12 или спецификация 15444-12). Спецификация ISOBMFF также содержит документ, озаглав- 5 036026 ленный: Сингер и др., ISO/IEC 14496-12, Amd. 4, improved audio support, ISO/IEC JTC1/SC29/WG11,
MPEG2014/w14325, 25 июля 2014г, Саппоро, Япония (далее, 14496-12 или спецификация 14996-12).
Введение элемента синтаксиса параметра типа группирования в бокс SampleToGroup вызывает несколько проблем. Например, с введением элемента синтаксиса параметра типа группирования тип группирования у группы выборок версии 1 фактически определяется посредством как элемента синтаксиса типа группирования, так и элемента синтаксиса параметра типа группирования. Определение типа группирования у группы выборок версии 1, таким образом, может быть проблематичным из-за других частей спецификации ISOBMFF, которые доступны, исходя из предположения, что тип группирования группы выборок определяется исключительно посредством элемента синтаксиса параметра типа группирования. Например, семантика, которая определена в спецификации ISOBMFF для бокса SampleGroupDescription, не учитывает никаким образом элемент синтаксиса параметра типа группирования. Другие примеры описываются где-либо еще в данном раскрытии.
Данное раскрытие описывает несколько методик для преодоления таких проблем. Например, в соответствии с методикой данного раскрытия предлагается определять взаимосвязь между боксами SampleGroupDescription и боксами SampleToGroup для одинаковых типов группирования в качестве взаимосвязи 1-k-N, где N является положительным ненулевым целым числом. Следовательно, несколько боксов SampleToGroup, имеющие элементы синтаксиса типа группирования с одинаковым значением, могут соответствовать одному боксу SampleGroupDescription, имеющему элемент синтаксиса типа группирования с тем значением. В некоторых примерах каждый из этих боксов SampleToGroup может иметь элементы синтаксиса параметра типа группирования с разными значениями. Определение взаимосвязи, таким образом, может решать проблему, описанную выше, без изменения синтаксиса бокса SampleGroupDescription или бокса SampleToGroup. Вместо этого реализация данного примера может лишь вызывать изменения в семантике и описаниях бокса SampleGroupDescription и/или бокса SampleToGroup.
В соответствии с одним примером данной методики устройство-источник может генерировать в боксе-контейнере файла бокс SampleGroupDescription, который включает в себя одну или более записей описания группы. В данном раскрытии бокс-контейнер является боксом, который содержит один или более других боксов. В расширениях ISOBMFF для переноса HEVC и других форматов видео примерные типы боксов-контейнеров включают в себя боксы таблицы выборок, боксы фрагмента дорожки и другие типы боксов. Каждая соответствующая запись описания группы предоставляет описания для соответствующей группы выборок. Бокс SampleGroupDescription дополнительно включает в себя элемент синтаксиса типа группирования, который идентифицирует тип группирования выборок. В данном примере элемент синтаксиса типа группирования в боксе SampleGroupDescription имеет конкретное значение и боксконтейнер является боксом таблицы выборок или боксом фрагмента дорожки. Кроме того, в данном примере устройство-источник может генерировать в том же самом боксе-контейнере файла множество боксов SampleToGroup. В данном примере каждый соответствующий бокс SampleToGroup из множества боксов SampleToGroup включает в себя соответствующий элемент синтаксиса типа группирования с конкретным значением. Дополнительно каждый соответствующий бокс SampleToGroup включает в себя одну или более записей группы выборок. Каждая соответствующая запись группы выборок из одной или более записей группы выборок содержит соответствующий элемент синтаксиса счетчика выборки, указывающий количество выборок в соответствующей группе выборок. Каждая соответствующая запись группы выборок из одной или более записей группы выборок содержит соответствующий элемент синтаксиса индекса описания группы, указывающий индекс записи описания группы в боксе SampleGroupDescription, которая предоставляет описание соответствующей группы выборок. Каждая выборка соответствующей группы выборок содержит одну или более картинок видеоконтента. В данном примере устройство-источник может выводить файл.
Фиг. 1 является структурной схемой, иллюстрирующей пример системы 10 кодирования и декодирования видео, которая может использовать методики, описанные в данном раскрытии. Как показано на фиг. 1, система 10 включает в себя устройство-источник 12, которое генерирует закодированные видеоданные, которые должны быть декодированы позже устройством-получателем 14. Устройство-источник 12 и устройство-получатель 14 могут быть выполнены в виде широкого диапазона устройств, включая настольные компьютеры, компьютеры класса ноутбук (т.е. лэптоп), планшетные компьютеры, телевизионные абонентские приставки, телефонные трубки, такие как так называемые интеллектуальные телефоны, так называемые интеллектуальные панели, телевизоры, камеры, устройства отображения, цифровые мультимедийные проигрыватели, видеоигровые консоли, устройства потоковой передачи видео или подобное. В некоторых случаях устройство-источник 12 и устройство-получатель 14 могут быть оборудованы для беспроводной связи. Следовательно, устройство-источник 12 и устройство-получатель 14 могут рассматриваться в качестве видеоустройств.
В примере на фиг. 1 устройство-источник 12 включает в себя источник 18 видео, кодер 20 видео и интерфейс 22 вывода. В некоторых случаях интерфейс 22 вывода может включать в себя модулятор/демодулятор (модем) и/или приемопередатчик. В устройстве-источнике 12 источник 18 видео может включать в себя источник, такой как устройство захвата видео, например видеокамеру, видеоархив, содержащий ранее захваченное видео, интерфейс видеоканала, чтобы принимать видео от поставщика ви- 6 036026 деоконтента, и/или систему компьютерной графики для генерирования данных компьютерной графики в качестве исходного видео, или сочетание таких источников. Тем не менее методики, описываемые в данном раскрытии, могут быть применены к кодированию видео в целом и могут быть применены к беспроводным и/или проводным приложениям.
Кодер 20 видео может кодировать захваченное, предварительно захваченное или сгенерированное компьютером видео. Устройство-источник 12 может передавать закодированные видеоданные непосредственно устройству-получателю 14 через интерфейс 22 вывода устройства-источника 12. Закодированные видеоданные также могут быть (или альтернативно) сохранены на запоминающем устройстве 33 для осуществления доступа в дальнейшем посредством устройства-получателя 14 или других устройств для декодирования и/или воспроизведения.
Устройство-получатель 14 включает в себя интерфейс 28 ввода, декодер 30 видео и устройство 32 отображения. Кроме того, в примере фиг. 1 устройство-получатель 14 включает в себя запоминающий носитель 29 информации и модуль 31 синтаксического анализа файла. В некоторых случаях интерфейс 28 ввода может включать в себя приемник и/или модем. Интерфейс 28 ввода устройства-получателя 14 принимает закодированные видеоданные через линию 16 связи. Закодированные видеоданные, которые сообщаются через линию 16 связи или предоставляются на запоминающем устройстве 33, могут включать в себя многообразие элементов синтаксиса, сгенерированных кодером 20 видео для использования декодером видео, таким как декодер 30 видео, при декодировании видеоданных. Такие элементы синтаксиса могут быть включены с закодированными видеоданными, которые передаются по средству связи, сохраняются на запоминающем носителе информации или сохраняются на файловом сервере.
Устройство 32 отображения может быть интегрировано с (или может быть внешним для) устройством-получателем 14. В некоторых примерах устройство-получатель 14 может включать в себя интегрированное устройство отображения и также может быть выполнено с возможностью создания интерфейса с внешним устройством отображения. В других примерах устройство-получатель 14 может быть устройством отображения. В целом устройство 32 отображения отображает декодированные видеоданные пользователю и может быть выполнено в виде многообразия устройств отображения, таких как жидкокристаллический дисплей (LCD), плазменный дисплей, дисплей на органических светоизлучающих диодах (OLED) или другой тип устройства отображения.
Кодер 20 видео и декодер 30 видео каждый может быть реализован в качестве любой из многообразия пригодной схемы кодера, такой как один или более микропроцессоров, цифровых сигнальных процессоров (DSP), проблемно-ориентированных интегральных микросхем (ASIC), программируемых вентильных матриц (FPGA), дискретных логических схем, программное обеспечение, аппаратное обеспечение, встроенное программное обеспечение или любые их сочетания. Когда методики реализуются частично в программном обеспечении, устройство может хранить инструкции для программного обеспечения на пригодном, не временном машиночитаемом носителе информации и исполнять инструкции в аппаратном обеспечении, используя один или более процессоров, чтобы выполнять методики данного раскрытия. Каждый из кодера 20 видео и декодера 30 видео может быть включен в один или более кодеров или декодеров, любой из которых может быть интегрирован как часть объединенного кодера/декодера (КОДЕКА) в соответствующем устройстве.
Устройство-получатель 14 может принимать закодированные видеоданные, которые должны быть декодированы, через линию 16 связи. Линия 16 связи может быть выполнена в виде любого типа средства или устройства, выполненного с возможностью перемещения закодированных видеоданных от устройства-источника 12 к устройству-получателю 14. В одном примере линия 16 связи может содержать средство связи, чтобы позволить устройству-источнику 12 передавать закодированные видеоданные непосредственно устройству-получателю 14 в режиме реального времени. Закодированные видеоданные могут быть модулированы в соответствии со стандартом связи, таким как протокол беспроводной связи, и переданы устройству-получателю 14. Средство связи может быть выполнено в виде любого средства беспроводной или проводной связи, такого как радиочастотный (RF) спектр или одна или более физических линий передачи. Средство связи может формировать часть пакетной сети, такой как локальная сеть, сеть широкого охвата, или глобальная сеть, такая как Интернет. Средство связи может включать в себя маршрутизаторы, коммутаторы, базовые станции или любое другое оборудование, которое может быть полезным, чтобы способствовать осуществлению связи от устройства-источника 12 к устройствуполучателю 14.
В качестве альтернативы интерфейс 22 вывода может выводить закодированные данные на запоминающее устройство 33. Сходным образом интерфейс 28 ввода может осуществлять доступ к закодированным данным запоминающего устройства 33. Запоминающее устройство 33 может включать в себя любой из многообразия носителей информации для хранения данных с распределенным или локальным доступом, такой как накопитель на жестком диске, диски Blu-ray, DVD, CD-ROM, флэш-память, энергозависимую или энергонезависимую память, или любые другие пригодные цифровые запоминающие носители информации для хранения закодированных видеоданных. В дополнительном примере запоминающее устройство 33 может соответствовать файловому серверу или другому промежуточному запоминающему устройству, которое может удерживать закодированное видео, сгенерированное устройст- 7 036026 вом-источником 12. Устройство-получатель 14 может осуществлять доступ к сохраненным видеоданным от запоминающего устройства 33 через потоковую передачу или загрузку. Файловый сервер может быть сервером любого типа, выполненным с возможностью сохранения закодированных видеоданных и передачи тех закодированных видеоданных устройству-получателю 14. Примерные файловые серверы включают в себя web-сервер (например, для web-сайта), сервер протокола переноса файла (FTP), устройства подключаемого к сети накопителя (NAS) или локальный накопитель на диске. Устройство-получатель 14 может осуществлять доступ к закодированным видеоданным посредством любого стандартного соединения для передачи данных, включая Интернет-соединение. Это может включать в себя беспроводной канал (например, Wi-Fi соединение), проводное соединение (например, DSL, кабельный модем и т.д.) или сочетание двух видов, которое является пригодным для осуществления доступа к закодированным видеоданным, хранящимся на файловом сервере. Передача закодированных видеоданных от запоминающего устройства 33 может быть потоковой передачей, передачей загрузки или сочетанием двух видов.
Методики данного раскрытия не обязательно ограничиваются беспроводными приложениями или установками. Методики могут быть применены к кодированию видео в поддержку любых из многообразия мультимедийных приложений, таких как эфирное телевизионное вещание, передачи кабельного телевидения, передачи спутникового телевидения, передачи потокового видео, например через Интернет, кодирование цифрового видео для сохранения на носителе информации для хранения данных, декодирование цифрового видео, хранящегося на носители информации для хранения данных, или других приложений. В некоторых примерах система 10 может быть выполнена с возможностью обеспечения односторонней или двусторонней передачи видео, чтобы поддерживать приложения, такие как потоковая передача видео, воспроизведение видео, вещание видео и/или видеотелефония.
Кроме того, в примере на фиг. 1 система 10 кодирования видео может включать в себя устройство 34 генерирования файла. Устройство 34 генерирования файла может принимать закодированные видеоданные, сгенерированные устройством-источником 12. Устройство 34 генерирования файла может генерировать файл, который включает в себя закодированные видеоданные. Устройство-получатель 14 может принимать файл, сгенерированный устройством 34 генерирования файла. В разнообразных примерах устройство 34 генерирования файла может включать в себя разнообразные типы вычислительных устройств. Например, устройство 34 генерирования файла может быть выполнено в виде устройства кодирования видео, ориентированного на мультимедиа сетевого элемента (MANE), серверного вычислительного устройства, персонального вычислительного устройства, вычислительного устройства особого назначения, коммерческого вычислительного устройства или другого типа вычислительного устройства. В некоторых примерах устройство 34 генерирования файла является частью сети доставки контента. Устройство 34 генерирования файла может принимать закодированные видеоданные от устройстваисточника 12 через канал, такой как линия 16 связи. Кроме того, устройство-получатель 14 может принимать файл от устройства 34 генерирования файла через канал, такой как линия 16 связи. Устройство 34 генерирования файла может рассматриваться в качестве видеоустройства. Как показано в примере фиг. 1, устройство 34 генерирования файла может содержать память, выполненную с возможностью сохранения файла, который содержит закодированный видеоконтент.
В других примерах устройство-источник 12 или другое вычислительное устройство может генерировать файл, который включает в себя закодированные видеоданные. Тем не менее, для простоты объяснения данное раскрытие описывает устройство 34 генерирования файла как генерирующее файл. Однако следует понимать, что такие описания применимы к вычислительным устройствам в целом.
Кодер 20 видео и декодер 30 видео могут функционировать в соответствии со стандартом сжатия видео, таким как стандарт высокоэффективного кодирования видео (HEVC) или его расширение. Стандарт HEVC также может именоваться ISO/IEC 23008-2. Недавно разработка HEVC была завершена Объединенной Совместной Командой по Кодированию Видео (JCT-VC) из Экспертной Группы по Кодированию Видео ITU-T (VCEG) и Экспертной Группы по Кинематографии (MPEG). Последний проект технического описания HEVC, и именуемый далее HEVC WD, доступен по адресу http://phenix.intevry.fr/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N1003-v1.zip. Многовидовое расширение HEVC, а именно MV-HEVC, также было разработано JCT-3V. Последний рабочий проект (WD) MVHEVC, озаглавленный MV-HEVC Draft Text 5 и именуемый далее MV-HEVC WD5, доступен по адресу http://phenix.it-sudparis.eu/jct2/doc_end_user/documents/5_Vienna/wg11/JCT3V-E1004-v6.zip. Масштабируемое расширение HEVC, а именно SHVC, также разрабатывается JCT-VC. Последний рабочий проект (WD) SHVC, озаглавленный High efficiency video coding (HEVC) scalable extension draft 3 и именуемый далее SHVC WD3, доступен по адресу http://phenix.it-sudparis.eu/jct/doc_end_user/documents/14_Vienna/ wg11/JCTVC-N1008-v3.zip. Последний рабочий проект (WD) расширения диапазона HEVC доступен по адресу http://phenix.int-evry.fr/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N1005-v3.zip. Последний рабочий проект (WD) 3D расширения HEVC, a именно 3D-HEVC, озаглавленный 3D-HEVC Draft Text 1 доступен по адресу http://phenix.int-evry.fr/jct2/doc_end_user/documents/5_Vienna/wg11/JCT3VE1001-v3.zip. Кодер 20 видео и декодер 30 видео могут функционировать в соответствии с одним из этих стандартов.
- 8 036026
В качестве альтернативы кодер 20 видео и декодер 30 видео могут функционировать в соответствии с другими собственными или промышленными стандартами, такими как стандарт ITU-T H.264, альтернативно именуемый MPEG-4, Часть 10, Расширенное Кодирование Видео (AVC), или расширения таких стандартов. Методики данного раскрытия тем не менее не ограничиваются каким-либо конкретным стандартом кодирования. Другие примеры стандартов сжатия видео включают в себя ITU-T Н.261, ISO/IEC MPEG-1 Visual, ITU-T H.262 или ISO/IEC MPEG-2 Visual, ITU-T H.263, ISO/IEC MPEG-4 Visual и ITU-T H.264 (также известный как ISO/IEC MPEG-4 AVC), включая его расширения - масштабируемое кодирование видео (SVC) и многовидовое кодирование видео (MVC).
В целом в HEVC, кадр или картинка видео могут быть разделены на последовательность блоков дерева или наибольшие единицы кодирования (LCU), которые включают в себя выборки как яркости, так и цветности. Блоки дерева также могут именоваться единицами дерева кодирования (CTU). Блок дерева имеет цель сходную с макроблоком в стандарте H.264/AVC. Слайс включает в себя некоторое количество последовательных блоков дерева в очередности кодирования. Кадр или картинка видео могут быть разбиты на один или более слайсов. Каждый блок дерева может быть разбит на единицы кодирования (CU) в соответствии с квадродеревом. Например, блок дерева, как корневой узел квадродерева, может быть разбит на четыре узла-потомка, и каждый узел-потомок, в свою очередь, может быть узломродителем и разбит на другие четыре узла-потомка. Итоговый, неразбитый узел-потомок, как концевой узел квадродерева, содержит узел кодирования, т.е., кодированный блок видео. Данные синтаксиса, ассоциированные с кодированным битовым потоком, могут определять максимальное количество раз, которое может быть разбит блок дерева, и также могут определять минимальный размер узлов кодирования.
CU включает в себя узел кодирования и единицы предсказания (PU) и единицы преобразования (TU), ассоциированные с узлом кодирования. Размер CU соответствует размеру узла кодирования и должен быть квадратным по форме. Размер CU может находиться в диапазоне от 8x8 пикселей вплоть до размера блока дерева с максимум 64x64 пикселей или больше. Каждая CU может содержать одну или более PU и одну или более TU. Данные синтаксиса, ассоциированные с CU, могут описывать, например, разбиение CU на одну или более PU. Режимы разбиения могут отличаться в зависимости от того, является ли CU кодируемой в режиме пропуска или непосредственном режиме, кодируемой в режиме внутреннего предсказания, или кодируемой в режиме внешнего предсказания. PU могут быть разбиты так, чтобы быть неквадратными по форме. Данные синтаксиса, ассоциированные с CU, также могут описывать, например, разбиение CU на одну или более TU в соответствии с квадродеревом. TU может быть квадратной или неквадратной по форме.
Стандарт HEVC обеспечивает преобразования в соответствии с TU, которые могут быть разными для разных CU. Размер TU, как правило, определяется на основании размера PU внутри заданной CU, которая определена для разбитой LCU, несмотря на то, что это не всегда может быть так. TU, как правило, имеют размер точно такой же или меньше, чем у PU. В некоторых примерах остаточные выборки, соответствующие CU, могут быть подразделены на более мелкие единицы, используя структуру квадродерева, известную как остаточное квадродерево (RQT). Концевые узлы RQT могут именоваться TU. Значения пиксельной разности, ассоциированные с TU, могут быть преобразованы, чтобы создавать коэффициенты преобразования, которые могут быть квантованы.
В целом PU включает в себя данные, которые относятся к процессу предсказания. Например, когда PU является кодируемой во внутреннем режиме, PU может включать в себя данные, описывающие режим внутреннего предсказания для PU. В качестве другого примера, когда PU является кодируемой во внешнем режиме, PU может включать в себя данные, определяющие вектор движения для PU. Данные, определяющие вектор движения для PU, могут описывать, например, горизонтальную составляющую вектора движения, вертикальную составляющую вектора движения, разрешение для вектора движения (например, точность в одну четвертую пикселя или точность в одну восьмую пикселя), опорную картинку, на которую указывает вектор движения, и/или список опорных картинок (т.е. список 0, список 1) для вектора движения.
В целом TU используется для процессов преобразования и квантования. Заданная CU с одной или более PU также может включать в себя одну или более единиц преобразования (TU). Вслед за предсказанием кодер 20 видео может вычислять остаточные значения, соответствующие PU. Остаточные значения содержат значения пиксельной разности, которые могут быть преобразованы в коэффициенты преобразования, квантованы и просканированы, используя TU, чтобы создавать преобразованные в последовательную форму коэффициенты преобразования для энтропийного кодирования. Данное раскрытие, как правило, использует понятие блок видео, чтобы ссылаться на узел кодирования (т.е. блок кодирования) у CU. В некоторых особых случаях данное раскрытие также может использовать понятие блок видео, чтобы ссылаться на блок дерева, т.е. LCU, или CU, которая включает в себя узел кодирования и PU и TU.
Видеопоследовательность, как правило, включает в себя ряд кадров или картинок видео. Каждый слайс картинки может включать в себя данные синтаксиса слайса, которые описывают режим кодирования для соответствующего слайса. Кодер 20 видео, как правило, оперирует блоками видео в индивидуальных слайсах видео для того, чтобы кодировать видеоданные. Блок видео может соответствовать узлу
- 9 036026 кодирования внутри CU. Блоки видео могут иметь фиксированные или варьирующиеся размеры и могут отличаться по размеру в соответствии с указанным стандартом кодирования.
Вслед за кодированием с внутренним предсказанием или внешним предсказанием, используя PU у CU, кодер 20 видео может вычислять остаточные данные для TU у CU. PU могут содержать данные пикселя в пространственной области (также именуемой область пикселя), a TU могут содержать коэффициенты в области преобразования вслед за применением преобразования, например дискретного косинусного преобразования (DCT), целочисленного преобразования, вейвлет преобразования или концептуально сходного преобразования, к остаточным видеоданным. Остаточные данные могут соответствовать пиксельным разностям между пикселями незакодированной картинки и значениями предсказания, соответствующими PU. Кодер 20 видео может формировать TU, включающие в себя остаточные данные для CU, и затем преобразовывать TU, чтобы создавать коэффициенты преобразования для CU.
Вслед за любыми преобразованиями, чтобы создать коэффициенты преобразования, кодер 20 видео может выполнять квантование коэффициентов преобразования. Квантование, как правило, относится к процессу, при котором коэффициенты преобразования квантуются, чтобы возможно сократить объем данных, используемых для представления коэффициентов, обеспечивая дальнейшее сжатие. Процесс квантования может сокращать битовую глубину, ассоциированную с некоторыми или всеми из коэффициентов.
После сканирования квантованных коэффициентов преобразования, чтобы сформировать одномерный вектор, кодер 20 видео может энтропийно кодировать одномерный вектор, например в соответствии с контекстно-зависимым адаптивным кодированием с переменной длиной кодового слова (CAVLC), контекстно-зависимым адаптивным бинарным арифметическим кодированием (САВАС), основанным на синтаксисе контекстно-зависимым адаптивным бинарным арифметическим кодированием (SBAC), энтропийным кодированием с разбиением на интервала вероятности (PIPE) или другой методологией энтропийного кодирования. Кодер 20 видео также может энтропийно кодировать элементы синтаксиса, ассоциированные с закодированными видеоданными для использования декодером 30 видео при декодировании видеоданных.
Кодер 20 видео может выводить битовый поток, который включает в себя последовательность битов, которые формируют представление кодированных картинок и ассоциированных данных. Понятие битовый поток может быть собирательным понятием, которое используется, чтобы ссылаться на либо поток единиц слоя сетевой абстракции (NAL) (например, последовательность единиц NAL), либо байтовый поток (например, инкапсуляция потока единиц NAL, содержащая префиксы начального кода и единицы NAL, как указано в приложении В стандарта HEVC). Единица NAL является структурой синтаксиса, содержащей указание типа данных в единице NAL и байты, содержащие данные в форме полезной нагрузки необработанной байтовой последовательности (RBSP), чередующейся при необходимости с битами предотвращения эмуляции. Каждая из единиц NAL может включать в себя заголовок единицы NAL и может инкапсулировать RBSP. Заголовок единицы NAL может включать в себя элемент синтаксиса, который указывает код типа единицы NAL. Код типа единицы NAL, указываемый заголовком единицы NAL у единицы NAL, указывает тип единицы NAL. RBSP может быть структурой синтаксиса, содержащей целое число байтов, которые инкапсулированы внутри единицы NAL. В некоторых примерах RBSP включает в себя нулевые биты.
Разные типы единиц NAL могут инкапсулировать разные типы RBSP. Например, первый тип единицы NAL может инкапсулировать RBSP для набора параметров картинки (PPS), второй типа единицы NAL может инкапсулировать RBSP для сегмента слайса, третий тип единицы NAL может инкапсулировать RBSP для добавочной информации улучшения (SEI) и т.п. Единицы NAL, которые инкапсулируют RBSP для данных кодирования видео (в противоположность RBSP для наборов параметров и сообщений SEI) могут именоваться единицами NAL слоя кодирования видео (VLC). Единицы NAL, которые содержат наборы параметров (например, наборы параметров видео (VPS), наборы параметров последовательности (SPS), PPS, или другие типы наборов параметров) могут именоваться единицами NAL набора параметров.
Данное раскрытие может относиться к единице NAL, которая инкапсулирует RBSP для сегмента слайса, как к единице NAL кодированного слайса. Как определено в HEVC WD, сегмент слайса является целочисленным количеством CTU, упорядоченных последовательно в сканировании тайла, которые содержатся в одной единице NAL. В противоположность, в HEVC WD слайс может быть целочисленным количеством CTU, которые содержатся в одном независимом сегменте слайса и всех последующих зависимых сегментах слайса (если есть), которые предшествуют следующему независимому сегменту слайса (если есть) внутри одной и той же единицы доступа. Независимый сегмент слайса является сегментом слайса, для которого значения элементов синтаксиса заголовка сегмента слайса не вытекают из значений для предшествующего сегмента слайса. Зависимый сегмент слайса является сегментом слайса, для которого значения некоторых элементов синтаксиса заголовка сегмента слайса вытекают из значений для предшествующего независимого сегмента слайса в очередности декодирования. RBSP единицы NAL кодированного слайса может включать в себя заголовок сегмента слайса и данные слайса. Заголовок сегмента слайса является частью кодированного сегмента слайса, содержащей элементы данных, принадлежащие к первой или всем CTU, представленным в сегменте слайса. Заголовок слайса является заголов- 10 036026 ком сегмента слайса независимого сегмента слайса, т.е. текущего сегмента слайса или самого последнего независимого сегмента слайса, который предшествует текущему зависимому сегменту слайса в очередности декодирования.
Декодер 30 видео может принимать битовый поток, сгенерированный кодером 20 видео. В дополнение, декодер 30 видео может осуществлять синтаксический анализ битового потока, чтобы получать элементы синтаксиса из битового потока. Декодер 30 видео может восстанавливать картинки видеоданных на основании, по меньшей мере частично, элементов синтаксиса, полученных из битового потока. Процесс восстановления видеоданных может быть в целом обратным процессу, который выполняется кодером 20 видео. Например, декодер 30 видео может использовать векторы движения PU, чтобы определять блоки предсказания для PU у текущей CU. В дополнение декодер 30 видео может обратно квантовать блоки коэффициента TU у текущей CU. Декодер 30 видео может выполнять обратные преобразования над блоками коэффициента, чтобы восстанавливать блоки преобразования TU у текущей CU. Декодер 30 видео может восстанавливать блоки кодирования текущей CU посредством сложения выборок блоков предсказания для PU текущей CU с соответствующими выборками блоков преобразования TU текущей CU. Посредством восстановления блоков кодирования для каждой CU картинки декодер 30 видео может восстанавливать картинку.
Теперь кратко будут обсуждаться форматы файла и стандарты формата файла. Стандарты формата файла включают в себя базовый формат мультимедийного файла ISO (ISOBMFF, ISO/IEC 14496-12, далее, ISO/IEC 14996-12) и другие стандарты формата файла, полученные из ISOBMFF, включая формат файла MPEG-4 (ISO/IEC 14496-14), формат файла 3GPP (3GPP TS 26.244) и формат файла AVC (ISO/IEC 14496-15, далее ISO/IEC 14996-15). Следовательно, ISO/IEC 14496-12 описывает базовый формат мультимедийного файла ISO. Другие документы расширяют базовый формат мультимедийного файла ISO для конкретных приложений. Например, ISO/IEC 14496-15 описывает перенос видео, структурированного в единицах NAL в базовом формате мультимедийного файла ISO. H.264/AVC и HEVC, как, впрочем, и их расширения, являются примерами видео, структурированного в единицах NAL. ISO/IEC 14496-15 включает в себя разделы, описывающие перенос единиц NAL H.264/AVC. Дополнительно раздел 8 ISO/IEC 14496-15 описывает перенос единиц NAL HEVC.
Следовательно, говорят, что раздел 8 ISO/IEC 14496-15 описывает формат файла HEVC. Обсуждение ниже основано на недавно интегрированной версии 14496-12, встроенной в N14574.
ISOBMFF используется в качестве базы для многих форматов инкапсуляции кодека, таких как формат файла AVC, как, впрочем, и для многих форматов мультимедийного контейнера, таких как формат файла MPEG-4, формат файла 3GPP (3GP) и формат файла DVB. В дополнение к непрерывному мультимедиа, такому как аудио и видео, статическое мультимедиа, такое как изображения, как, впрочем, и метаданные, может быть сохранено в файле, который согласуется с ISOBMFF. Файлы, структурированные в соответствии с ISOBMFF, могут быть использованы для многих целей, включая локальное воспроизведение мультимедийного файла, прогрессивную загрузку удаленного файла, сегменты для динамической адаптивной потоковой передачи через HTTP (DASH), контейнеры для контента, который должен быть передан потоковым образом, и его инструкции формирования пакетов, и запись принимаемых в режиме реального времени мультимедийных потоков. Следовательно, несмотря на то, что исходно разработан для сохранения, ISOBMFF доказал свою ценность для потоковой передачи, например для прогрессивной загрузки или DASH. Применительно к целям потоковой передачи могут быть использованы фрагменты фильма, определенные в ISOBMFF. В дополнение к непрерывному мультимедиа, такому как аудио и видео, статическое мультимедиа, такое как изображения, как, впрочем, и метаданные, может быть сохранено в файле, который согласуется с ISOBMFF.
Файл, согласующийся с форматом файла HEVC, может содержать ряд объектов, именуемых боксами. Бокс может быть объектно-ориентированным строительным блоком, который определяется уникальным идентификатором типа и длиной. Бокс является элементарной структурой синтаксиса в ISOBMFF и может включать в себя четырехзначный кодированный тип бокса, счетчик байтов бокса и полезную нагрузку. Другими словами, бокс может быть структурой синтаксиса, содержащей кодированный тип бокса, счетчик байтов бокса и полезную нагрузку. В некоторых случаях все данные в файле, согласующемся с форматом файла HEVC, могут содержаться внутри боксов, и могут отсутствовать данные в файле, которые не находятся в боксе. Следовательно, файл ISOBMFF может состоять из последовательности боксов и боксы могут содержать другие боксы. Например, полезная нагрузка бокса может включать в себя один или более дополнительные боксы. Фиг. 6А-С, фиг. 7А-С, описываемые подробно в другом месте в данном раскрытии, показывают примеры боксов внутри файла в соответствии с одной или более методик данного раскрытия.
Файл, согласующийся с ISOBMFF, может включать в себя разнообразные типы боксов. Например, файл, согласующийся с ISOBMFF, может включать в себя бокс типа файла, бокс мультимедийных данных, бокс фильма, бокс фрагмента фильма и т.п. В данном примере бокс типа файла включает в себя тип файла и информацию совместимости. Бокс мультимедийных данных может содержать выборки (например, кодированные картинки). Бокс фильма (moov) содержит метаданные для непрерывных мультимедийных потоков, присутствующих в файле. Каждый из непрерывных мультимедийных потоков может
- 11 036026 быть представлен в файле в качестве дорожки. Например, бокс фильма может содержать метаданные касательно фильма (например, логические и хронометражные зависимости между выборками, а также указатели на местоположения выборок). Боксы фильма могут включать в себя несколько типов суббоксов. Суббоксы в боксе фильма могут включать в себя один или более боксов дорожки. Бокс дорожки может включать в себя информацию касательно индивидуальной дорожки фильма. Бокс дорожки может включать в себя бокс заголовка дорожки, который указывает общую информацию одной дорожки. В дополнение бокс дорожки может включать в себя бокс мультимедиа, который содержит бокс информации мультимедиа. Бокс информации мультимедиа может включать в себя бокс таблицы выборок, который содержит данные, индексирующие выборки мультимедиа индексирования данных в дорожке. Информация в боксе таблицы выборок может быть использована, чтобы располагать выборки по времени и, применительно к каждой из выборок дорожки, тип, размер, контейнер и смещение в том контейнере у выборки. Следовательно, метаданные для дорожки заключены в боксе дорожки (trak), тогда как контент мультимедиа дорожки либо заключен в боксе мультимедийных данных (mdat), либо непосредственно в отдельном файле. Контент мультимедиа для дорожек содержит или состоит из последовательности выборок, таких как единицы доступа аудио или видео.
ISOBMFF указывает следующие типы дорожек: дорожка мультимедиа, которая содержит элементарный поток мультимедиа, дорожка подсказки, которая либо включает в себя инструкции передачи мультимедиа, либо представляет собой принятый поток пакета, и дорожка синхронизированных метаданных, которая содержит синхронизированные по времени метаданные. Метаданные для каждой дорожки включают в себя список записей описания выборки, каждая из них предоставляет формат кодирования или инкапсуляции, использованный в дорожке, и данные инициализации, необходимые для обработки того формата. Каждая выборка ассоциирована с одной из записей описания выборки дорожки.
ISOBMFF обеспечивает указание характерных для выборки метаданных с помощью разнообразных механизмов. Конкретные боксы внутри бокса таблицы выборок (stbl) были стандартизованы, чтобы реагировать на общие потребности. Бокс таблицы выборок содержит таблицу выборок, которая содержит всю индексацию времени и данных у выборок мультимедиа в дорожке. Используя таблицы в боксе таблицы выборки, можно располагать выборки по времени, определять их тип (например, I-кадр или нет) и определять их размер, контейнер и смещение в контейнере.
Например, бокс выборки синхронизации (stss) является боксом внутри бокса таблицы выборок. Бокс выборки синхронизации используется, чтобы перечислять выборки произвольного доступа у дорожки. Данное раскрытие может относиться к выборке, перечисленной в боксе выборки синхронизации, как к выборке синхронизации. В другом примере механизм группирования выборок обеспечивает соотнесение выборок в соответствии с четырехзначным типом группирования с группами выборок, которые совместно используют одно и то же свойство, указанное в качестве записи описания группы выборок в файле. В ISOBMFF указано несколько типов группирования.
Бокс фрагмента фильма является боксом верхнего уровня. Бокс фрагмента фильма предоставляет информацию, которая ранее была в боксе фильма. Бокс фрагмента фильма может содержать один или более боксов фрагмента дорожки (traf'). Внутри фрагмента фильма присутствует набор фрагментов дорожки, ноль или более на дорожку. В свою очередь, фрагменты дорожки содержат ноль или более отрезков дорожки, каждый из которых документирует непрерывный отрезок из выборок для дорожки. Например, каждый отрезок дорожки может содержать выборки из картинок, которые непрерывны в некоторой очередности, такой как очередность декодирования. Бокс фрагмента дорожки определен в спецификации 14996-12 и содержит метаданные для одного или более фрагментов дорожки. Например, бокс фрагмента дорожки может включать в себя бокс заголовка фрагмента дорожки, указывающий ID дорожки, базовое смещение данных, индекс описания выборки, продолжительность выборки по умолчанию, размер выборки по умолчанию и флаги выборки по умолчанию. Бокс фрагмента дорожки может включать в себя один или более боксов отрезка фрагмента дорожки, каждый из которых документирует непрерывный набор выборок для дорожки. Например, бокс фрагмента дорожки может включать в себя элементы синтаксиса, указывающие счетчик выборки, смещение данных, флаги выборки, продолжительность выборки, размер выборки, смещение времени композиции выборки и т.п. Внутри этих структур много полей являются опциональными и могут быть заданы по умолчанию.
Бокс таблицы выборок может включать в себя один или более боксов SampleToGroup и один или более боксов описания группы выборок (т.е., боксы SampleGroupDescription). Бокс SampleToGroup может быть использован, чтобы определять группу выборок, к которой принадлежит выборка, наряду с ассоциированным описанием группы выборок. Другими словами, бокс SampleToGroup может указывать группу, к которой принадлежит выборка. Бокс SampleToGroup может иметь тип бокса sbgp. Бокс SampleToGroup может включать в себя элемент типа группирования (например, grouping_type). В некоторых случаях в данном раскрытии элемент бокса также может именоваться элементом синтаксиса. Элемент типа группирования может быть целым числом, которое идентифицирует тип (т.е. критерий, используемый, чтобы формировать группы выборок) группирования выборок. Кроме того, бокс SampleToGroup может включать в себя одну или более записей (т.е., записи группы выборок). Каждая запись группы выборок в боксе SampleToGroup может быть ассоциирована с разными, не перекрывающимися рядами
- 12 036026 последовательных выборок в дорожке. Каждая запись группы выборок может указывать элемент счетчика выборки (например, sample_count) и элемент индекса описания группы (например, group_description_index). Элемент счетчика выборки записи группы выборок может указывать количество выборок, ассоциированных с записью группы выборок. Другими словами, элемент счетчика выборки записи группы выборок может быть целым числом, которое задает количество последовательных выборок с одним и тем же дескриптором группы выборок. Элемент индекса описания группы может идентифицировать, внутри бокса SampleGroupDescription, записи описания группы, которая содержит описание выборок, ассоциированных с записью группы выборок. Элементы индекса описания группы нескольких записей группы выборок могут идентифицировать один и тот же бокс SampleGroupDescription.
Как кратко указано выше, бокс SampleToGroup также может включать в себя элемент синтаксиса параметра типа группирования. Элемент синтаксиса параметра типа группирования может быть обозначен как grouping_type_parameter. Элемент синтаксиса параметра типа группирования является указанием подтипа группирования выборок. Существует три места в ISO/IEC 14496-15, использующие grouping_type_parameter, первое как часть законченной спецификации (формата файла MVC), два других как части спецификаций на стадии разработки.
1) В статье В.5 (Группирование выборок приоритета вида) Ванг, и др., Carriage of AVC based 3D video excluding MVC, ISO/IEC JTC1/SC29/WG11/N14837, Октябрь 2014, (текст 14496-15 2014 PDAM 2 AVC based 3D video excluding MVC), далее, N14837 и более ранние версии 14496-15, в которых имеется формат файла MVC.
Если используется версия 1 бокса группа из выборок и бокс URI назначения приоритета вида MVC присутствует в записи выборки, grouping_type_parameter является основанным на 1 (единицах) индексом для бокса URI назначения приоритета вида MVC.
2) В статье 7.2.6 (Sample groups on random access recovery points and random access points) в N14837 (текст 14496-15 2014 PDAM 2 AVC based 3D video excluding MVC):
когда версия 1 SampleToGroupBox используется для группирования выборок точки произвольного доступа, grouping_type_parameter указывает значение tier_id у слоя(ев) или вида(ов), которые обновляются в ассоциированной выборке.
3) В статье 10.6 (Stream access point sample group) в N14574 (ISO/IEC 14496-12 Amd.4 Improved audio support):
точка доступа к потоку, как определено в приложении I, обеспечивает произвольный доступ в контейнер мультимедийного потока(ов); группирование выборок SAP идентифицирует выборки (первый байт которых является позицией ISAU для SAP, как указано в приложении I) как являющиеся указанного типа SAP.
Синтаксис и семантика grouping_type_parameter указываются следующим образом:
{ unsigned int(28) target_layers;
unsigned int(4) layer_id_method_idc;
} target_layers указывает целевые слои для указанных SAP в соответствии с приложением I. Семантика target_layers зависит от значения layer_id_method_idc. Когда layer_id_method_idc равен 0, target_layers является зарезервированным.
layer_id_method_idc указывает семантику target_layers. layer_id_method_idc, равный 0, указывает, что целевые слои состоят из всех слоев, представленных посредством дорожки.
layer_id_method_idc, не равный 0, указывается посредством извлеченных спецификаций формата мультимедиа.
Также присутствует несколько примеров в самом позднем тексте, 14496-12, которые используют элемент синтаксиса grouping_type_parameter. Например, статья 8.8.13.1 Level Assignment Box и статья 8.8.16.1 Alternative Startup Sequence Properties Box используют элемент синтаксиса grouping_type_parameter.
Некоторые аспекты текущей сигнализации групп выборок в ISOBMFF (т.е. бокс SampleGroupDescription и бокс SampleToGroup) не понятны или не работают, когда версия боксов SampleToGroup равна 1. Например, синтаксис бокса группа из выборок является следующим:
- 13 036026 aligned(8) класс SampleToGroupBox расширяет FullBox ('sbgp', версия, 0) unsigned int(32) grouping_type;
if (версия == 1) ( unsigned int(32) grouping_type_parameter; } unsigned int(32) entry_count;
for (i=l; i <= entry_count; i ++) { unsigned int(32) sample_count;
unsigned int(32) group_description_index;
} }
Семантика grouping_type и grouping_type_parameter является следующей.
grouping_type является целым числом, которое идентифицирует тип (т.е. критерий, используемый, чтобы формировать группы выборок) группирования выборок и связывает его с его таблицей описания группы выборок с тем же самым значением для типа группирования. Не более одного случая данного бокса с одинаковым значением grouping_type (и, если используется, grouping_type_parameter) должно присутствовать для дорожки.
grouping_type_parameter является указанием подтипа группирования.
Вследствие этого тип группирования группы выборок версии 1 может состоять как из grouping_type, так и grouping_type_parameter.
Кроме того, присутствует следующее описание бокса SampleToGroup в спецификации 14496-12:
может присутствовать несколько экземпляров данного бокса, если присутствует более одного группирования выборок для выборок в дорожке; каждый экземпляр бокса SampleToGroup имеет код типа, который отличает разные группирования выборок. [НАЧАЛО 1]; внутри дорожки, должно быть не более одного экземпляра данного бокса с конкретным типом группирования [КОНЕЦ 1] [НАЧАЛО 2], ассоциированный SampleGroupDescription должен указывать точно такое же значение для типа группирования. [КОНЕЦ 2].
В данном описании бокса SampleToGroup, код типа является фактически точно grouping_type, не включающим подтип grouping_type_parameter. В то же самое время, с другой стороны, на основании текста между [НАЧАЛО 1] и [КОНЕЦ 1] выше, тип группирования состоит как из grouping_type, так и grouping_type_parameter. При этом вновь, на основании текста между [НАЧАЛО 2] и [КОНЕЦ 2] выше, тип группирования вновь состоит только из grouping_type.
Синтаксис бокса описание группы выборок является следующим:
aligned(8) класс SampleGroupDescriptionBox (unsigned int(32) handler_type) расширяет FullBox (fsgpd', версия, 0){ unsigned int(32) grouping_type;
if (версия==1) { unsigned int(32) default_length; } if (версия>=2) { unsigned int(32) default_sample_description_index;
} unsigned int(32) entry_count;
int i;
- 14 036026 for (i=l ; i <= entry_count ; i++){ if (версия==1) { if (default_length==0) { unsigned int(32) description_length;
} } SampleGroupEntry (grouping_type);
// экземпляр класса полученного из SampleGroupEntry // который соответствует и разрешен для типа мультимедиа } }
Как может быть видно, в боксе SampleGroupDescription не присутствует подтип группирования выборок (т.е. grouping_type_parameter). Следовательно, отсутствует способ иметь несколько боксов SampleGroupDescription в боксе таблица выборок или боксе фрагмент дорожки с одинаковым значением grouping_type (и разными значениями grouping_type_parameter) таким образом, что присутствует взаимно-однозначное соотнесение между боксами SampleToGroup и боксами SampleGroupDescription, когда суб-группирование используется с боксами SampleToGroup версии 1.
Кроме того, существует следующе описание бокса описание выборки в спецификации 14496-12.
Может присутствовать несколько экземпляров данного бокса, если присутствует более одного группирования выборок для выборок в дорожке. Каждый экземпляр бокса SampleGroupDescription имеет код типа, который отличает разные группирования выборок. Внутри дорожки должно присутствовать не более одного экземпляра данного бокса с конкретным типом группирования. Ассоциированный SampleToGroup должен указывать точно такое же значение для типа группирования.
Из данного текста как код типа, так и тип группирования должны быть просто grouping_type, не включающим в себя подтип grouping_type_parameter.
Краткое описание методик данного раскрытия приводится ниже, с подробной реализацией некоторых способов, приведенных в последующих разделах. Некоторые из этих методик могут быть применены независимо, а некоторые из них могут быть применены в сочетании. Конкретные методики данного раскрытия предписывают требования, которым должны соответствовать файлы, принадлежащие формату файла. Например, если файл не удовлетворяет одному из требований, файл не соответствует формату файла.
В соответствии с первой примерной методикой данного раскрытия вопросы ясности касательно сигнализации групп выборок в ISOBMFF, описанные выше, могут быть решены посредством удаления элемента синтаксиса grouping_type_parameter из синтаксиса бокса группа из выборок. Следовательно, элемент синтаксиса grouping_type может быть единственным элементом синтаксиса, указывающим тип группирования бокса группа из выборок.
В соответствии со второй примерной методикой данного раскрытия вопросы ясности касательно сигнализации групп выборок в ISOBMFF, описанные выше, могут быть решены посредством добавления элемента синтаксиса grouping_type_parameter в синтаксис бокса описание группы выборок, когда версия бокса описание группы выборок равна 1. В этом примере присутствует взаимно-однозначная взаимосвязь между боксами описание группы выборок и боксами группа из выборок, так что боксы описание группы выборок и боксы группа из выборок могут быть сопоставлены посредством значения элемента синтаксиса grouping_type и элемента синтаксиса grouping_type_parameter, если имеется. Например, синтаксис бокса описание группы выборок может быть модифицирован таким образом, что бокс описание группы выборок может включать в себя элемент синтаксиса grouping_type_parameter. В данном примере бокс группа из выборок может соответствовать боксу описание группы выборок, если значение элемента синтаксиса grouping_type у бокса группа из выборок совпадает со значением элемента синтаксиса grouping_type у бокса описание группы выборок и значение элемента синтаксиса grouping_type_parameter у бокса группа из выборок совпадает со значением элемента синтаксиса grouping_type_parameter у бокса описание группы.
В соответствии с третьей примерной методикой данного раскрытия вопросы ясности касательно сигнализации групп выборок в ISOBMFF, описанные выше, могут быть решены посредством определения того, что взаимосвязь между боксом SampleGroupDescription и боксом SampleToGroup для одинакового типа группирования составляет 1 к N. В соответствии с данной третей примерной методикой может применяться одно или более из следующего. Во-первых, внутри бокса-контейнера (например, 'stbl' или 'traf) должен присутствовать только один бокс SampleGroupDescription с конкретным значением grouping_type и может присутствовать один или более ассоциированных (например, соответствующих) боксов SampleToGroup с точно таким же значением grouping_type. Например, значение элемента синтак- 15 036026 сиса grouping_type в боксе SampleGroupDescription может быть равно 3 и значения элементов синтаксиса grouping_type в нескольких боксах SampleToGroup могут иметь значения, равные 3. В некоторых примерах бокс-контейнер может включать в себя несколько боксов SampleGroupDescription. По меньшей мере, в некоторых таких примерах, никаким двум из нескольких боксов SampleGroupDescription не разрешается иметь элементы синтаксиса grouping_type с одинаковым значением.
Во-вторых, в третьей примерной методике данного раскрытия, когда присутствует несколько боксов SampleToGroup с конкретным значением элемента синтаксиса grouping_type в боксе-контейнере, версия всех боксов SampleToGroup должна быть 1. Например, в данном примере, если два бокса SampleToGroup в боксе-контейнере имеют элементы синтаксиса grouping_type со значениями равными 3, невозможно, чтобы один из боксов SampleToGroup имел версию 0 бокса SampleToGroup. Наоборот, в данном примере оба из двух боксов SampleToGroup являются боксами SampleToGroup версии 1. Вследствие этого в данном примере оба из двух боксов SampleToGroup имеют элементы синтаксиса grouping_type_parameter. Следовательно, требованием формата файла может быть то, что, когда присутствует несколько боксов SampleToGroup с одинаковым значением элемента синтаксиса grouping_type в одном боксе-контейнере, каждый из нескольких боксов SampleToGroup должен иметь соответствующий идентификатор версии, равный 1.
В-третьих, в данной третьей примерной методике данного раскрытия, когда присутствует несколько боксов SampleToGroup с конкретным значением элемента синтаксиса grouping_type, значение элемента синтаксиса grouping_type должно быть ограничено таким образом, что любое значение элемента синтаксиса group_description_index, которое больше 0, не должно присутствовать в более чем одном из боксов SampleToGroup. Другими словами, существует ограничение или запрет, встроенный в формат файла, который предотвращает то, что два или более боксов SampleToGroup в одном и том же боксе-контейнере имеют элементы синтаксиса group_description_index с одинаковым значением больше 0. Например, первый бокс SampleToGroup и второй бокс SampleToGroup каждый может иметь элемент синтаксиса grouping_type со значением, равным 4. В данном примере, если первый бокс SampleToGroup имеет элемент синтаксиса group_description_index со значением, равным 2, второй бокс SampleToGroup не может иметь элемент синтаксиса group_description_index со значением, равным 2. Следовательно, в данном примере, требованием формата файла может быть то, что, когда присутствует несколько боксов SampleToGroup с одинаковым значением элемента синтаксиса типа группирования в одном боксе-контейнере, никакие два из нескольких боксов SampleToGroup не должны иметь элементы синтаксиса индекса описания группы с одинаковым значением больше 0.
Таким образом, в соответствии с примером третьей методики данного раскрытия устройство, такое как устройство-источник 12 или устройство 34 генерирования файла, может генерировать боксконтейнер (например, бокс таблицы выборок или бокс фрагмента дорожки) файла так, что файл согласуется с конкретным форматом файла. В рамках генерирования бокса-контейнера устройство может генерировать в боксе-контейнере бокс SampleGroupDescription, который включает в себя одну или более записей описания группы. Каждая соответствующая запись описания группы предоставляет описания для соответствующей группы выборок. Бокс SampleGroupDescription дополнительно включает в себя элемент синтаксиса типа группирования, который идентифицирует тип группирования выборок. В данном примере элемент синтаксиса типа группирования в боксе SampleGroupDescription имеет конкретное значение. Кроме того, в данном примере устройство может генерировать в том же самом боксе-контейнере файла множество боксов SampleToGroup. В данном примере каждый соответствующий бокс SampleToGroup из множества боксов SampleToGroup включает в себя соответствующий элемент синтаксиса типа группирования с конкретным значением. Дополнительно каждый соответствующий бокс SampleToGroup включает в себя одну или более записей группы выборок. Каждая соответствующая запись группы выборок из одной или более записей группы выборок содержит соответствующий элемент синтаксиса счетчика выборки, указывающий количество выборок в соответствующей группе выборок. Каждая соответствующая запись группы выборок из одной или более записей группы выборок содержит соответствующий элемент синтаксиса индекса описания группы, указывающий индекс записи описания группы в боксе SampleGroupDescription, которая предоставляет описание соответствующей группы выборок. Каждая выборка соответствующей группы выборок содержит одну или более картинок видеоконтента. В данном примере устройство может выводить файл.
Устройство для чтения файла, такое как устройство 14-получатель, может получать файл и получать, например посредством синтаксического анализа файла, бокс-контейнер из файла. Например, в примере на фиг. 1, запоминающий носитель информации 29 устройства-получателя 14 может быть выполнен с возможностью хранения файла. Модуль 31 синтаксического анализа файла устройства-получателя 14 может быть выполнен с возможностью получения бокса-контейнера из файла. В данном примере декодер 30 видео может декодировать закодированные видеоданные, полученные посредством синтаксического анализа из файла.
В соответствии с третей примерной методикой данного раскрытия требование конкретного формата файла может состоять в том, что должен присутствовать только один бокс SampleGroupDescription в боксе-контейнере с конкретным значением элемента синтаксиса типа группирования. Тем не менее, в неко- 16 036026 торых примерах устройство может дополнительно генерировать другой бокс SampleGroupDescription с элементом синтаксиса типа группирования, отличным от конкретного значения.
Как указано выше, файл может быть согласован с конкретным форматом файла. Более того, в некоторых примерах требование формата файла состоит в том, что, когда присутствует несколько боксов SampleToGroup с одинаковым значением элемента синтаксиса типа группирования в одном боксеконтейнере, каждый из нескольких боксов SampleToGroup должен иметь соответствующий идентификатор версии, равный 1. Другими словами, когда присутствует несколько боксов SampleToGroup с конкретным значением grouping_type в боксе-контейнере, версия всех боксов SampleToGroup должна быть 1. Кроме того, в некоторых примерах требование формата файла состоит в том, что, когда присутствует несколько боксов SampleToGroup с одинаковым значением элемента синтаксиса типа группирования в одном боксе-контейнере, никакие два из нескольких боксов SampleToGroup не должны иметь элементы синтаксиса индекса описания группы с одинаковым значением больше 0. Другими словами, когда присутствует несколько боксов SampleToGroup с конкретным значением grouping_type, должно быть ограничено то, что любое значение group_description_index, которое больше 0, не должно присутствовать более чем в одном из боксов SampleToGroup. В некоторых примерах требование формата файла состоит в том, что, когда присутствует несколько боксов SampleToGroup с одинаковым значением элемента синтаксиса типа группирования в одной дорожке или фрагменте дорожки, никакие два из нескольких боксов SampleToGroup не должны иметь одинаковое значение элемента синтаксиса параметра типа группирования.
Спецификация ISOBMFF указывает шесть типов точек доступа к потоку (SAP) для использования с DASH. Первые два типа SAP (типы 1 и 2) соответствуют картинкам мгновенного обновления декодирования (IDR) в H.264/AVC и HEVC. Картинка IDR включает в себя только I слайсы. I слайсы являются слайсами, которые могут включать в себя внутренне-предсказываемые блоки, но не внешнепредсказываемые блоки. Третий тип SAP (тип 3) соответствует точкам произвольного доступа открытойGOP, т.е. картинкам доступа с нерабочей ссылкой (BLA) или чистого произвольного доступа (CRA) в HEVC. Картинки BLA и картинки CRA могут включать в себя только I слайсы. Картинки, которые следуют за картинкой CRA в очередности декодирования, но предшествуют картинке CRA в очередности вывода, могут использовать картинки, декодированные до картинки CRA для ссылки. Картинка BLA, как правило, происходит из сращивания битового потока в позиции картинки CRA, и в сращенном битовом потоке точка сращивания картинки CRA меняется на картинку BLA. Четвертый тип SAP (тип 4) соответствует точкам произвольного доступа постепенного обновления декодирования (GDR). Точка доступа, которая не является единицей доступа внутренней точки произвольного доступа (IRAP) и которая содержит сообщение SEI точки восстановления именуется единицей доступа GDR, и ее соответствующая картинка именуется картинкой GDR.
В текущей спецификации 14996-12, исполнение сигнализации группирования выборок SAP требует, чтобы использовалась версия 1 бокса SampleToGroup. Данное исполнение является неэффективным, так как, как правило, будет требовать использования нескольких боксов SampleToGroup, как, впрочем, больше суммарных записей в боксах SampleToGroup. Это может означать как большую комплексность синтаксического анализа, так и большие служебные данные. Одной причиной дополнительных служебных данных является то, что использование дополнительных боксов, следовательно, приведет к большим служебным данным для сигнализации некоторой информации, такой как тип бокса, версия бокса и т.д. Другой причиной дополнительных служебных данных являются дополнительные записи в боксах SampleToGroup, в то время как объем данных каждой записи является постоянным. Больше боксов может означать, что больше синтаксического анализа используется для нахождения боксов. В частности, если необходимо найти только один бокс, тогда синтаксический анализ может останавливаться сразу после того, как тот бокс найден, тогда как когда необходимо найти, возможно, несколько боксов и фактическое количество боксов неизвестно, будет использован синтаксический анализ всего бокса-контейнера до конца.
Для решения данной проблемы данное раскрытие предлагает то, что вместо использования версии 1 для боксов SampleToGroup используется версия 0. Элементы синтаксиса target_layers и layers_id_method_idc включаются в запись описания группы выборок.
Фиг. 2 является структурной схемой, иллюстрирующей примерный кодер 20 видео, который может реализовывать методики, описываемые в данном раскрытии. Кодер 20 видео представляет собой пример кодера видео, выполненного с возможностью генерирования видеоданных, которые могут быть сохранены, используя методики формата файла, описываемые в данном раскрытии. Кодер 20 видео может быть выполнен с возможностью вывода с одним видом, многовидовых, масштабируемых, 3D и других типов видеоданных. Кодер 20 видео может быть выполнен с возможностью вывода видео на объект 27 обработки постобработки. Объект 27 обработки постобработки предназначен для представления примера объекта видео, такого как MANE или устройство монтажа/редактирования, которое может обрабатывать закодированные видеоданные от кодера 20 видео. В некоторых случаях объект обработки постобработки может быть примером сетевого объекта. В некоторых системах кодирования видео объект 27 обработки постобработки и кодер 20 видео могут быть частями отдельных устройств, тогда как в других случаях
- 17 036026 функциональность, которая описывается в отношении объекта 27 постобработки, может быть выполнена точно тем же устройством, которое содержит кодер 20 видео. Объект 27 постобработки может быть видеоустройством. В некоторых примерах объект 27 постобработки может быть точно таким же, как устройство 34 генерирования файла на фиг. 1.
В соответствии с методиками данного раскрытия объект 27 постобработки может генерировать файл для хранения закодированного видеоконтента, сгенерированного кодером 20 видео. Файл может включать в боксе-контейнере файла, бокс SampleGroupDescription, который предоставляет описание группы выборок для группирования выборок. Бокс SampleGroupDescription включает в себя элемент синтаксиса типа группирования с конкретным значением. Дополнительно бокс SampleGroupDescription включает в себя одну или более записей группы выборки. Объект 27 постобработки может генерировать в том же самом боксе-контейнере множество боксов SampleToGroup. Каждый соответствующий бокс SampleToGroup из множества боксов SampleToGroup включает в себя соответствующий элемент синтаксиса типа группирования с конкретным значением, включает в себя соответствующий элемент синтаксиса счетчика выборки, указывающий количество выборок в соответствующем группировании выборок, и включает в себя соответствующий элемент синтаксиса индекса описания группы, указывающий индекс записи в боксе SampleGroupDescription, который описывает выборки соответствующего группирования выборок. Каждая выборка из соответствующего группирования выборок может содержать соответствующую картинку видеоконтента.
Кодер 20 видео может выполнять внутреннее и внешнее кодирование блоков видео внутри слайсов видео. Внутреннее кодирование основано на пространственном предсказании, чтобы сократить или удалить пространственную избыточность в видео внутри заданного кадра или картинки видео. Внешнее кодирование основано на временном предсказании, чтобы сократить или удалить временную избыточность в видео внутри смежных кадров или картинок видеопоследовательности. Внутренний режим (I режим) может относиться к любому из нескольких основанных на пространстве режимов сжатия. Внешние режимы, такой как однонаправленное предсказание (Р режим) или двунаправленное предсказание (В режим), могут относиться к любому из нескольких основанных на времени режимов сжатия.
В примере фиг. 2 кодер 20 видео включает в себя модуль 35 разбиения, модуль 41 обработки предсказания, модуль 63 фильтра, память 64 опорных картинок, сумматор 50, модуль 52 обработки преобразования, модуль 54 квантования и модуль 56 энтропийного кодирования. Модуль 41 обработки предсказания включает в себя модуль 42 оценки движения, модуль 44 компенсации движения и модуль 46 обработки внутреннего предсказания. Применительно к восстановлению блока видео кодер 20 видео также включает в себя модуль 58 обратного квантования, модуль 60 обработки обратного преобразования и сумматор 62. Модуль 63 фильтра предназначен для представления одного или более контурных фильтров, таких как фильтр устранения блочности, адаптивный контурный фильтр (ALF) и фильтр адаптивного к выборке смещения (SAO). Несмотря на то, что модуль 63 фильтра показан на фиг. 2 как заключенный в контурном фильтре, в других конфигурациях модуль 63 фильтра может быть реализован в качестве постконтурного фильтра.
Память 65 видеоданных кодера 20 видео может хранить видеоданные, которые должны быть закодированы компонентами кодера 20 видео. Видеоданные, хранящиеся в памяти 65 видеоданных, могут быть получены, например, от источника 18 видео. Память 64 опорных картинок может быть памятью опорных картинок, которая хранит опорные видеоданные для использования при кодировании видеоданных кодером 20 видео, например при режимах внутреннего или внешнего кодирования. Память 65 видеоданных и память 64 опорных картинок могут быть сформированы посредством любого из многообразия устройств памяти, таких как динамическая память с произвольным доступом (DRAM), включая синхронную DRAM (SDRAM), магниторезистивную RAM (MRAM), резистивную RAM (RRAM) или другие типы устройств памяти. Память 65 видеоданных и память 64 опорных картинок могут быть предоставлены одним и тем же устройством памяти или раздельными устройствами памяти. В различных примерах память 65 видеоданных может быть на кристалле с другими компонентами кодера 20 видео или вне кристалла по отношению к этим компонентам.
Как показано на фиг. 2, кодер 20 видео принимает видеоданные, и модуль 35 разбиения разбивает данные на блоки видео. Данное разбиение также может включать в себя разбиение на слайсы, тайлы или другие большие единицы, как, впрочем, и разбиение блока видео, например, в соответствии со структурой квадродерева из LCU и CU. Кодер 20 видео в целом иллюстрирует компоненты, которые кодируют блоки видео внутри слайса видео, который должен быть закодирован. Слайс может быть разделен на несколько блоков видео (и возможно на наборы блоков видео, упоминаемых как тайлы). Модуль 41 обработки предсказания может выбирать один из множества возможных режимов кодирования, как, например, один из множества режимов внутреннего кодирования или один из множества режимов внешнего кодирования для текущего блока видео на основании результатов ошибки (например, скорости кодирования и уровня искажения). Модуль 41 обработки предсказания может предоставлять результирующий внутренне или внешне-кодированный блок сумматору 50, чтобы генерировать остаточные данные блока, и сумматору 62, чтобы восстанавливать закодированный блок для использования в качестве опорной картинки.
- 18 036026
Модуль 46 обработки внутреннего предсказания внутри модуля 41 обработки предсказания может выполнять кодирование с внутренним предсказанием текущего блока видео по отношению к одному или более соседним блокам в том же самом кадре или слайсе, что и текущий блок, который должен быть закодирован, чтобы обеспечить пространственное сжатие. Модуль 42 оценки движения и модуль 44 компенсации движения внутри модуля 41 обработки предсказания выполняют кодирование с внешним предсказанием текущего блока видео по отношению к одному или более блокам предсказания в одной или более опорных картинках, чтобы обеспечить временное сжатие.
Модуль 42 оценки движения может быть выполнен с возможностью определения режима внешнего-предсказания для слайса видео в соответствии с предварительно определенным шаблоном для видеопоследовательности. Предварительно определенный шаблон может объявлять слайсы видео в последовательности в качестве Р слайсов, В слайсов или GPB слайсов. Модуль 42 оценки движения и модуль 44 компенсации движения могут быть высоко интегрированными, но иллюстрируются раздельно в концептуальных целях. Оценка движения, выполняемая модулем 42 оценки движения, является процессом генерирования векторов движения, которые оценивают движение блоков видео. Вектор движения, например, может указывать перемещение PU блока видео внутри текущего кадра или картинки видео по отношению к блоку предсказания внутри опорной картинки.
Блок предсказания является блоком, который обнаружен как точно совпадающий с PU блока видео, который должен быть закодирован, в выражении пиксельной разности, которая может быть определена посредством суммы абсолютных разностей (SAD), суммы квадратичных разностей (SSD) или других метрик разности. В некоторых примерах кодер 20 видео может вычислять значения суб-целочисленных позиций пикселя у опорных картинок, хранящихся в памяти 64 опорных картинок. Например, кодер 20 видео может интерполировать значения одной четвертой позиций пикселя, одной восьмой позиций пикселя или других дробных позиций пикселя опорной картинки. Вследствие этого модуль 42 оценки движения может выполнять поиск движения по отношению к полным позициям пикселя и дробным позициям пикселя и выводить вектор движения с дробной точностью пикселя.
Модуль 42 оценки движения вычисляет вектор движения для PU блока видео во внешнекодированном слайсе посредством сравнения позиции PU с позицией блока предсказания опорной картинки. Опорная картинка может быть выбрана из первого списка опорных картинок (список 0) или второго списка опорных картинок (список 1), каждый из которых идентифицирует одну или более опорных картинок, хранящихся в памяти 64 опорных картинок. Модуль 42 оценки движения отправляет элементы синтаксиса, из которых может быть определен вычисленный вектор движения, модулю 56 энтропийного кодирования и модулю 44 компенсации движения.
Компенсация движения, выполняемая модулем 44 компенсации движения, может задействовать привлечение или генерирование блока предсказания на основании вектора движения, определенного посредством оценки движения, возможно, выполняя интерполяции до субпиксельной точности. По приему вектора движения для PU текущего блока видео модуль 44 компенсации движения может определять местоположение блока предсказания, на который указывает вектор движения, в одном из списков опорных картинок. Кодер 20 видео может формировать блок остатка предсказания видео посредством вычитания значений пикселя блока предсказания из значений пикселя текущего блока видео, который кодируется, формируя значения пиксельной разности. Значения пиксельной разности формируют остаточные данные для блока, и могут включать в себя компоненты разности как яркости, так и цветности. Сумматор 50 представляет собой компонент или компоненты, которые выполняют данную операцию вычитания. Модуль 44 компенсации движения также может генерировать элементы синтаксиса, ассоциированные с блоками видео и слайсом видео для использования декодером 30 видео при декодировании блоков видео у слайса видео.
Модуль 46 обработки внутреннего предсказания может внутренне предсказывать текущий блок, в качестве альтернативы внешнему предсказанию, выполняемому модулем 42 оценки движения и модулем 44 компенсации движений, как описано выше. В частности, модуль 46 обработки внутреннего предсказания может определять режим внутреннего предсказания для использования при кодировании текущего блока. В некоторых примерах модуль 46 обработки внутреннего предсказания может кодировать текущий блок, используя разнообразные режимы внутреннего предсказания, например во время отдельных проходов кодирования, и модуль 46 обработки внутреннего предсказания может выбирать пригодный режим внутреннего предсказания для использования из протестированных режимов. Например, модуль 46 обработки внутреннего предсказания может вычислять значения скорости-к-искажению, используя анализ скорости-к-искажению для разнообразных протестированных режимов внутреннего предсказания, и выбирать режим внутреннего предсказания с наилучшими характеристиками скорости-кискажению из числа протестированных режимов. Анализ скорости-к-искажению главным образом определяет величину искажения (или ошибки) между закодированным блоком и исходным, незакодированным блоком, который был закодирован, чтобы создать закодированный блок, как, впрочем, и скорость передачи битов (т.е. количество битов), использованную для создания закодированного блока. Модуль 46 обработки внутреннего предсказания может вычислять отношения из искажений и скоростей для разных закодированных блоков, чтобы определять, какой режим внутреннего предсказания показывает наи
- 19 036026 лучшее значение скорости-к-искажению для блока.
В любом случае после выбора режима внутреннего предсказания для блока модуль 46 обработки внутреннего предсказания может предоставлять информацию, указывающую выбранный режим внутреннего предсказания для блока, модулю 56 энтропийного кодирования. Модуль 56 энтропийного кодирования может кодировать информацию, указывающую выбранный режим внутреннего предсказания в соответствии с методиками данного раскрытия. Кодер 20 видео может включать в передаваемый битовый поток данные конфигурации, которые могут включать в себя множество из таблиц индекса режима внутреннего предсказания и множество из модифицированных таблиц индекса режима внутреннего предсказания (также именуемых как таблицы соотнесения кодового слова), определения контекстов кодирования для разнообразных блоков и указания наиболее вероятного режима внутреннего предсказания, таблицу индекса режима внутреннего предсказания и модифицированную таблицу индекса режима внутреннего предсказания для использования для каждого из контекстов.
После того как модуль 41 обработки предсказания генерирует блок предсказания для текущего блока видео через либо внешнее предсказание, либо внутренне предсказание, кодер 20 видео может формировать блок остатка предсказания видео посредством вычитания блока предсказания из текущего блока видео. Остаточные видеоданные в блоке остатка предсказания могут быть включены в одну или более TU и применены к модулю 52 обработки преобразования. Модуль 52 обработки преобразования преобразует остаточные видеоданные в остаточные коэффициенты преобразования, используя преобразование, такое как дискретное косинусное преобразование (DCT) или концептуально сходное преобразование. Блок 52 обработки преобразования может преобразовывать остаточные видеоданные из области пикселя в область преобразования, такую как частотная область.
Модуль 52 обработки преобразования может отправлять результирующие коэффициенты преобразования модулю 54 квантования. Модуль 54 квантования квантует коэффициенты преобразования, чтобы дополнительно сократить скорость передачи битов. Процесс квантования может уменьшать битовую глубину, ассоциированную с некоторыми или всеми из коэффициентов. Степень квантования может модифицироваться посредством регулирования параметра квантования. В некоторых примерах модуль 54 квантования затем может выполнять сканирование матрицы, включающей в себя квантованные коэффициенты преобразования. В качестве альтернативы сканирование может выполнять модуль 56 энтропийного кодирования.
Вслед за квантованием модуль 56 энтропийного кодирования может энтропийно кодировать элементы синтаксиса, представляющие квантованные коэффициенты преобразования. Например, модуль 56 энтропийного кодирования может выполнять контекстно-зависимое адаптивное кодирование с переменной длиной кодового слова (CAVLC), контекстно-зависимое адаптивное бинарное арифметическое кодирование (САВАС), основанное на синтаксисе контекстно-зависимое адаптивное бинарное арифметическое кодирование (SBAC), энтропийное кодирование с разбиением на интервал вероятности (PIPE) или другую методологию или методику энтропийного кодирования. Вслед за энтропийным кодированием посредством модуля 56 энтропийного кодирования закодированный битовый поток может быть передан декодеру 30 видео или заархивирован для дальнейшей передачи или извлечения декодером 30 видео. Модуль 56 энтропийного кодирования также может энтропийного кодировать векторы движения и другие элементы синтаксиса для текущего кодируемого слайса видео.
Модуль 58 обратного квантования и модуль 60 обработки обратного преобразования применяют обратное квантование и обратное преобразование соответственно, чтобы восстанавливать блок остатка предсказания в области пикселя для дальнейшего использования в качестве опорного блока опорной картинки. Модуль 44 компенсации движения может вычислять опорный блок посредством сложения блока остатка предсказания с блоком предсказания одной из опорных картинок в одном из списков опорных картинок. Модуль 44 компенсации движения также может применять один или более фильтров интерполяции к восстановленному блоку остатка предсказания, чтобы вычислять субцелочисленные значения пикселя для использования при оценке движения. Сумматор 62 может складывать восстановленный блок остатка предсказания с блоком предсказания с компенсацией движения, созданным модулем 44 компенсации движения, чтобы создавать опорный блок для сохранения в памяти 64 опорных картинок. Опорный блок может быть использован модулем 42 оценки движения и модулем 44 компенсации движения в качестве опорного блока для внешнего предсказания блока в последующем кадре или картинке видео.
Фиг. 3 является структурной схемой, иллюстрирующей примерный декодер 30 видео, который может реализовывать методики, описываемые в данном раскрытии. Декодер 30 видео на фиг. 3 представляет собой пример декодера видео, выполненного с возможностью декодирования видеоданных, которые могут быть сохранены, используя методики формата файла, описываемые в данном раскрытии.
Декодер 30 видео может быть выполнен с возможностью декодирования с одним видом, многовидовых, масштабируемых, 3D или других типов видеоданных. В примере фиг. 3 декодер 30 видео включает в себя модуль 80 энтропийного декодирования, модуль 81 обработки предсказания, модуль 86 обратного квантования, модуль 88 обработки обратного преобразования, сумматор 90, модуль 91 фильтра и память 92 опорных картинок. Модуль 81 обработки предсказания включает в себя модуль 82 компенсации движения и модуль 84 обработки внутреннего предсказания. Декодер 30 видео может в некоторых
- 20 036026 примерах выполнять проход декодирования в целом обратно проходу кодирования, описанному в отношении кодера 20 видео с фиг. 2.
Буфер 79 кодированной картинки (СРВ) может принимать и сохранять закодированные видеоданные (например, единицы NAL) битового потока. Видеоданные, сохраненные в СРВ 79, могут быть получены, например, из линии 16 связи на фиг. 1, например от локального источника видео, такого как камера, через связь проводной и беспроводной сети видеоданных или посредством осуществления доступа к физическим носителям информации для хранения данных. СРВ 79 может формировать память видеоданных, которая хранит закодированные видеоданные из закодированного битового потока видео. Память 92 опорных картинок может быть памятью опорных картинок, которая хранит опорные видеоданные для использования при декодировании видеоданных посредством декодера 30 видео, например, в режимах внутреннего или внешнего кодирования. СРВ 79 и память 92 опорных картинок могут быть сформированы посредством любого из многообразия устройств памяти, таких как динамическая память с произвольным доступом (DRAM), включая синхронную DRAM (SDRAM), магниторезистивную RAM (MRAM), резистивную RAM (RRAM), или другие типы устройств памяти. СРВ 79 и память 92 опорных картинок могут быть предоставлены одним и тем же устройством памяти или отдельными устройствами памяти. В разнообразных примерах СРВ 79 может быть на кристалле с другими компонентами декодера 30 видео или вне кристалла по отношению к этим компонентам.
Во время процесса декодирования декодер 30 видео принимает закодированный битовый поток видео, который представляет собой блоки видео закодированного слайса видео и ассоциированные элементы синтаксиса от кодера 20 видео. В примере фиг. 3 декодер 30 видео может принимать закодированный битовый поток видео от модуля 77 синтаксического анализа файла, который осуществляет синтаксический анализ файла, чтобы извлекать кодированный битовый поток видео. В некоторых примерах модуль 77 синтаксического анализа файла может принимать файл от сетевого объекта 29. Сетевой объект 29 может, например, быть сервером, MANE, средством редактирования/монтажа видео или другим таким устройством, выполненным с возможностью реализации одной или более методик, описанных выше. Сетевой объект 29 может или может не включать в себя кодер видео, такой как кодер 20 видео. Некоторые из методик, описываемые в данном раскрытии, могут быть реализованы посредством сетевого объекта 29 до того, как сетевой объект 29 передает закодированный битовый поток видео декодеру 30 видео. В некоторых системах декодирования видео, сетевой объект 29 и декодер 30 видео могут быть частями отдельных устройств, тогда как в других случаях функциональность, описываемая в отношении сетевого объекта 29, может быть выполнена посредством того же самого устройства, которое содержит декодер 30 видео. Сетевой объект 29 может рассматриваться в качестве видеоустройства. Кроме того, в некоторых примерах сетевой объект 29 является устройством 34 генерирования файла на фиг. 1. Модуль 77 синтаксического анализа файла может быть реализован как часть устройства-получателя 14 или устройства, отдельного от устройства-получателя. В некоторых примерах сетевой объект 29 и модуль 77 синтаксического анализа файла реализуются посредством одного и того же устройства.
Модуль 80 энтропийного декодирования декодера 30 видео энтропийно декодирует конкретные элементы синтаксиса битового потока, чтобы генерировать квантованные коэффициенты, векторы движения и другие элементы синтаксиса. Модуль 80 энтропийного декодирования переадресовывает векторы движения и другие элементы синтаксиса модулю 81 обработки предсказания. Декодер 30 видео может принимать элементы синтаксиса на уровне слайса видео и/или на уровне блока видео.
Когда слайс видео является кодированным в качестве внутренне кодированного (I) слайса, модуль 84 обработки внутреннего предсказания модуля 81 обработки предсказания может генерировать данные предсказания для блока видео текущего слайса видео на основании просигнализированного режима внутреннего предсказания и данных из ранее декодированных блоков текущего кадра или картинки. Когда кадр видео является кодированным в качестве внешне-кодированного (т.е. В или Р) слайса, модуль 82 компенсации движения модуля 81 обработки предсказания создает блоки предсказания для блока видео текущего слайса видео на основании векторов движения и других элементов синтаксиса, принимаемых от модуля 80 энтропийного декодирования. Блоки предсказания могут быть созданы из одной из опорных картинок в одном из списков опорных картинок. Декодер 30 видео может создавать списки опорного кадра, список 0 и список 1, используя методики создания по умолчанию на основании опорных картинок, хранящихся в памяти 92 опорных картинок.
Модуль 82 компенсации движения определяет информацию предсказания для блока видео текущего слайса видео посредством определения векторов движения и получения других элементов синтаксиса и использует информацию предсказания, чтобы создавать блоки предсказания для текущего декодируемого блока видео. Например, модуль 82 компенсации движения использует некоторые из принятых элементов синтаксиса, чтобы определять режим предсказания (например, внутреннее или внешнее предсказание), использованное, чтобы кодировать блоки видео слайса видео, тип слайса внешнего предсказания (например, В слайс, Р слайс или GPB слайс), информацию создания для одного или более списков опорной картинки для слайса, векторы движения для каждого внешне-закодированного блока видео у слайса, статус внешнего предсказания для каждого внешне-кодированного блока видео у слайса, и другую информацию, чтобы декодировать блоки видео в текущем слайсе видео.
- 21 036026
Модуль 82 компенсации движения также может выполнять интерполяцию на основании фильтров интерполяции. Модуль 82 компенсации движения может использовать фильтры интерполяции как используемые кодером 20 видео во время кодирования блоков видео, чтобы вычислять интерполированные значения для субцелочисленных пикселей опорных блоков. В данном случае модуль 82 компенсации движения может определять фильтры интерполяции, использованные кодером 20 видео, из принятых элементов синтаксиса и может использовать фильтры интерполяции, чтобы создавать блоки предсказания.
Модуль 86 обратного квантования обратно квантует, т.е. деквантует квантованные коэффициенты преобразования, предоставленные в битовом потоке, и декодированные модулем 80 энтропийного декодирования. Процесс обратного квантования может включать в себя использование параметра квантования, вычисленного кодером 20 видео для каждого блока видео в слайсе видео, чтобы определять степень квантования и подобным образом степень обратного квантования, которая должна применяться.
Модуль 88 обработки обратного преобразования применяет обратное преобразование, например обратное DCT, обратное целочисленное преобразование или концептуально сходный процесс обратного преобразования, к коэффициентам преобразования с тем, чтобы создать блоки остатка предсказания в области пикселя.
После того как модуль 82 компенсации движения генерирует блок предсказания для текущего блока видео на основании векторов движения и других элементов синтаксиса, декодер 30 видео формирует декодированный блок видео посредством суммирования блоков остатка предсказания от модуля 88 обработки обратного преобразования с соответствующими блоками предсказания, сгенерированными модулем 82 компенсации движения. Сумматор 90 представляет собой компонент или компоненты, которые выполняют данную операцию суммирования. При желании контурные фильтры (либо в цикле кодирования, либо после цикла кодирования) также могут быть использованы, чтобы сглаживать переходы пикселя или иным образом улучшать качество видео. Модуль 91 фильтра предназначен, чтобы представлять собой один или более контурных фильтров, таких как фильтр устранения блочности, адаптивный контурный фильтр (ALF) и фильтр адаптивного к выборке смещения (SAO). Несмотря на то, что модуль 91 фильтра показан на фиг. 3 как заключенный в контурном фильтре, в других конфигурациях модуль 91 фильтра может быть реализован в качестве пост-контурного фильтра. Декодированные блоки видео в заданном кадре или картинке затем сохраняются в памяти 92 опорных картинок, которая хранит опорные картинки, используемые для последующей компенсации движения. Память 92 опорных картинок также может хранить декодированные видеоданные для последующего представления на устройстве отображения, таком как устройство 32 отображения на фиг. 1. Таким образом, память 92 опорных картинок может быть примером одного или более носителей информации для хранения данных, выполненных с возможностью хранения видеоданных.
Фиг. 4 является структурной схемой, иллюстрирующей примерный набор устройств, которые формируют часть сети 100. В данном примере сеть 100 включает в себя устройства 104А, 104В маршрутизации (устройства 104 маршрутизации) и устройство 106 перекодировки. Устройства 104 маршрутизации и устройство 106 перекодировки предназначены представлять собой небольшое количество устройств, которые могут формировать часть сети 100. Другие сетевые устройства, такие как коммутаторы, концентраторы, шлюзы, межсетевые экраны, мосты и другие такие устройства, также могут быть включены в сеть 100. Более того, дополнительные сетевые устройства могут быть предоставлены по пути сети между серверным устройством 102 и клиентским устройством 108. В некоторых примерах серверное устройство 102 может соответствовать устройству-источнику 12 (фиг. 1), тогда как клиентское устройство 108 может соответствовать устройству-получателю 14 (фиг. 1).
В целом устройства 104 маршрутизации реализуют один или более протоколов маршрутизации, чтобы осуществлять обмен сетевыми данными через сеть 100. В некоторых примерах устройства 104 маршрутизации могут быть выполнены с возможностью выполнения операций прокси-функции или кэширования. Вследствие этого в некоторых примерах устройства 104 маршрутизации могут упоминаться как прокси-устройства. В целом устройства 104 маршрутизации исполняют протоколы маршрутизации, чтобы выявлять маршруты по сети 100. Посредством исполнения таких протоколов маршрутизации устройство 104В маршрутизации может выявлять сетевой маршрут от себя самого до серверного устройства 102 через устройство 104А маршрутизации.
Методики данного раскрытия могут быть реализованы посредством сетевых устройств, таких как устройства 104 маршрутизации и устройство 106 перекодировки, но также могут быть реализованы посредством клиентского устройства 108. Таким образом, устройства 104 маршрутизации, устройство 106 перекодировки и клиентское устройство 108 представляют собой примеры устройств, выполненных с возможностью выполнения методик данного раскрытия. Более того, устройства фиг. 1, и кодер 20, иллюстрируемый на фиг. 2, и декодер 30, иллюстрируемый на фиг. 3, также являются примерами устройств, которые могут быть выполнены с возможностью выполнения одной или более методик данного раскрытия. Например, файл, сгенерированный образом, описанным в данном раскрытии, может быть передан, или его потоковая передача может быть осуществлена от серверного устройства 102 к клиентскому устройству 108 через сеть 100, как показано на фиг. 4.
В данном разделе предоставляются подробности методик данного раскрытия в других местах дан- 22 036026 ного раскрытия. В нижеследующем тексте изменения реализаций, описанных в 15444-12, текст между символами <вставить> и </вставить> соответствует дополнениям или модифицированным существующим текстам (например, <вставить>добавленный текст</вставить>), тогда как удаленный текст находится между символами <удалить> и </удалить> (например, <удалить>удаленный текст</удалить>).
Как указано кратко выше касательно первой примерной методики данного раскрытия, элемент синтаксиса grouping_type_parameter может быть удален из синтаксиса бокса группа из выборок следующим образом: aligned(8) класс SampleToGroupBox расширяет FullBox ('sbgp', версия, 0) { unsigned int(32) grouping_type; <удалить>11 (версия == 1) { unsigned int(32) grouping_type_parameter; }</удалить> unsigned int(32) entry_count; for (i=l; i <= entry_count; i++) { unsigned int(32) sample_count;
unsigned int(32) group_description_index; } }
В данном примере части 14496-12, которые используют элемент синтаксиса grouping_type_parameter, могут быть модифицированы, чтобы добавлять информацию, которая переносится в параметре (не обязательно сам элемент синтаксиса) в запись описания группы выборок.
Кроме того, как указано кратко выше касательно второй примерной методики данного раскрытия, может присутствовать взаимно-однозначная взаимосвязь между боксом описание группы выборок и боксом группа из выборок так, что они могут быть сопоставлены посредством значения синтаксиса grouping_type и элемента синтаксиса grouping_type_parameter, если присутствует. В соответствии с данным примером синтаксис SampleGroupDescriptionBox может быть модифицирован следующим образом.
- 23 036026 aligned(8) класс SampleGroupDescriptionBox (unsigned int (32) handler_type) расширяет FullBox ('sgpdl', версия, 0){ unsigned int(32) grouping_type;
if (версия==1) { unsigned int(32) default_length;
<BCTaBHTb>unsigned int(32) grouping_type_parameter;
</вставить>
} if (версия>=2) { unsigned int(32) default_sample_description_index;
} unsigned int(32) entry_count;
int i ;
for (i=l ; i <= entry_count ; i++){ if (версия==1) { if (default_length==0) { unsigned int(32) description_length;
} }
SampleGroupEntry (grouping_type);
// экземпляр класса, полученного из SampleGroupEntry // который подходит и разрешен для типа мультимедиа } }
Кроме того, в соответствии с методиками данного раскрытия, где присутствует взаимнооднозначная взаимосвязь между боксом описание группы выборок и боксом группа из выборок, семантика элемента синтаксиса grouping_type и элемента синтаксиса grouping_type_parameter в боксе описание группы выборок может быть модифицирована следующим образом:
grouping_type является целым числом, которое идентифицирует группирование <вставить>; совместно с grouping_type_parameter, если присутствует, он идентифицирует бокс SampleToGroup, который является ассоциированным с данным описанием группы выборок.
grouping_type_parameter является указанием подтипа группирования. </вставить>
Семантика grouping_type и grouping_type_parameter в боксе группа из выборок может быть модифицирована следующим образом:
grouping_type является целым числом, которое идентифицирует тип (т.е. критерий, который используется, чтобы формировать группу выборок) группирования выборок и связывает его с его таблицей описания группы выборок с тем же самым значением для типа группирования <вставить> и grouping_type_parameter, если присутствует </вставить>. Не больше одного экземпляра данного бокса с тем же самым значением для grouping_type (и, если используется, grouping_type_parameter) должно существовать для дорожки.
grouping_type_parameter является указанием подтипа группирования.
Кроме того, в соответствии с методиками данного раскрытия, где присутствует взаимнооднозначная взаимосвязь между боксом описание группы выборок и боксом группа из выборок, описание касательно количества боксов SampleGroupDescription и боксов SampleToGroup может быть модифицировано следующим образом.
Бокс SampleGroupDescription: может присутствовать несколько экземпляров данного бокса, если присутствует более одного группирования выборок для выборок в дорожке <вставить> или фрагменте дорожки </вставить>. Каждый экземпляр бокса SampleGroupDescription имеет код типа, который различает разные группирования выборок. Внутри дорожки <вставить> или фрагмента дорожки </вставить> должно присутствовать не более одного экземпляра данного бокса с конкретным типом группирования <вставить> и подтипом, если присутствует </вставить>. <вставить> Ассоциированный SampleToGroup должен указывать точно такое же значение для типа группирования и подтипа, если присутствует, и
- 24 036026 должен указывать точно такое же значение версии. </вставить>
Бокс SampleToGroup: может присутствовать несколько экземпляров данного бокса, если присутствует более одного группирования выборок для выборок в дорожке <вставить> или фрагменте дорожки </вставить>. Каждый экземпляр бокса SampleToGroup имеет код типа, который различает разные группирования выборок. Внутри дорожки <вставить> или фрагмента дорожки </вставить> должно присутствовать не более одного экземпляра данного бокса с конкретным типом группирования <вставить> и подтипом, если присутствует </вставить>. <вставить> Ассоциированный SampleGroupDescription должен указывать точно такое же значение для типа группирования и подтипа, если присутствует, и должен указывать точно такое же значение версии. </вставить>
Как указано выше, в соответствии с третьей методикой данного раскрытия взаимосвязь между боксами SampleGroupDescription и боксами SampleToGroup для одного и того же типа группирования является 1 к N. В соответствии с такими методиками может быть применено одно или более из следующих ограничений или аспектов. Во-первых, внутри бокса-контейнера (например, 'stbl' или 'traf) должен присутствовать только один бокс SampleGroupDescription с конкретным значением grouping_type и может присутствовать один или более ассоциированных боксов SampleToGroup с точно таким же значением grouping_type. Во-вторых, когда присутствует несколько боксов SampleToGroup с конкретным значением grouping_type в боксе-контейнере, версия всех боксов SampleToGroup должна быть 1. Например, если присутствует ровно три бокса SampleToGroup в боксе-контейнере и значения элементов синтаксиса grouping_type в этих трех боксах SampleToGroup каждое равно 5, каждый из боксов SampleToGroup должен быть боксами SampleToGroup версии 1 и вследствие этого включать в себя элементы синтаксиса grouping_type_parameter. В-третьих, когда присутствует несколько боксов SampleToGroup с конкретным значением grouping_type, файл ограничивается таким образом, что любое значение элемента синтаксиса group_description_index, которое больше 0, не должно присутствовать в более чем одном из боксов SampleToGroup. Например, если присутствует ровно три бокса SampleToGroup в боксе-контейнере и каждый из этих трех боксов SampleToGroup имеет элемент синтаксиса grouping_type со значением равным 5, никаким двум из боксов SampleToGroup не разрешено иметь элементы синтаксиса group_description_index с одинаковым значением, за исключением того, когда это значение равно 0. Например, никаким двум из боксов SampleToGroup не разрешено иметь элементы синтаксиса group_description_index со значениями, равными 6.
Кроме того, в соответствии с методиками данного раскрытия, где взаимосвязь между боксами SampleGroupDescription и боксами SampleToGroup для одного и того же типа группирования является 1 к N, описание касательно количества боксов SampleToGroup в спецификации 15444-12 может быть модифицировано следующим образом.
Может присутствовать несколько экземпляров данного бокса, если присутствует более одного группирования выборок для выборок в дорожке <вставить> или фрагменте дорожки </вставить>. Каждый экземпляр бокса SampleToGroup имеет код типа, который различает разные группирования выборок. Внутри дорожки <вставить> или фрагмента дорожки </вставить> должно присутствовать не более одного экземпляра данного бокса с конкретным типом группирования <вставить> и подтипом, если присутствует </вставить>. <вставить> Ассоциированный SampleGroupDescription должен указывать точно такое же значение для типа группирования и подтипа, если присутствует. </вставить>
Дополнительно семантика элемента синтаксиса grouping_type в боксе SampleGroupDescription может быть модифицирована следующим образом:
grouping_type является целым числом, которое идентифицирует бокс SampleToGroup, который ассоциирован с данным описанием группы выборок. Если grouping_type_parameter не определен <вставить> в боксе SampleToGroup </вставить> для заданного grouping_type, тогда должен присутствовать только один экземпляр <удалить> данного </удалить> бокса <вставить> SampleToGroup </вставить> с данным grouping_type <вставить> в боксе-контейнере </вставить>.
В соответствии с методиками данного раскрытия, где взаимосвязь между боксами SampleGroupDescription и боксами SampleToGroup для одного и того же типа группирования является 1 к N, семантика элемента синтаксиса group_description_index в боксе SampleToGroup может быть модифицирована следующим образом, чтобы гарантировать, что когда присутствует несколько боксов SampleToGroup с конкретным значением grouping_type, файл ограничивается таким образом, что любое значение элемента синтаксиса group_description_index, которое больше 0, не должно присутствовать в более чем одном из боксов SampleToGroup:
group_description_index является целым числом, которое задает индекс записи группы выборок, которая описывает выборки в данной группе; индекс находится в диапазоне от 1 до количества записей группы выборок в Боксе SampleGroupDescription, или принимает значение 0, чтобы указывать, что данная выборка не является членом группы данного типа. <вставить> Когда версия данного бокса равна 1, если конкретное значение group_description_index присутствует в данном боксе SampleToGroup, точно такое же значение group_description_index не должно присутствовать ни в каком другом боксе SampleToGroup с тем же самым значением grouping_type в том же самом боксе-контейнере. </вставить>
Как указано кратко выше, текущее исполнение сигнализации группирования выборок SAP требует,
- 25 036026 чтобы использовалась версия 1 боксов SampleToGroup. Чтобы преодолеть проблемы, которые вызываются тем, что требуется использование версии 1 боксов SampleToGroup для сигнализации группирований выборок SAP, устройство, такое как устройство-источник 12 или устройство 34 генерирования файла, может использовать версию 0 боксов SampleToGroup и включать элементы синтаксиса target_layers и layers_id_method_idc в записях описания группы из выборок. Следовательно, устройство может использовать измененное исполнение для исполнения группы выборок 'sap' независимо от того, какие из трех ранее описанных методик данного раскрытия должны быть приняты для общего механизма группирования выборок в 14496-12.
В спецификации 14496-12 синтаксис и семантика grouping_type_parameter указываются следующим образом:
{ unsigned int(28) target_layers;
unsigned int(4) layer_id_method_idc;
}
В тексте выше target_layers указывает целевые слои для указанных SAP в соответствии с приложением I спецификации 14496-12. Семантика target_layers зависит от значения layer_id_method_idc. Когда layer_id_method_idc равен 0, target_layers является зарезервированным. Элемент синтаксиса layer_id_method_idc указывает семантику элемента синтаксиса target_layers. В данном примере layer_id_method_idc, равный 0, указывает на то, что целевые слои состоят из всех слоев, представленных дорожкой, соответствующей боксу дорожка или боксу фрагмент дорожки, содержащему бокс SampleToGroup.
layer_id_method_idc, не равный 0, указывается посредством извлеченных спецификаций формата мультимедиа.
Как указано выше, бокс SampleGroupDescription может включать в себя ряд записей описания группы выборок. Специализированная версия записи описания группы выборок может быть использована для SAP. В спецификации 14496-12, синтаксис и семантика такой записи описания группы выборок яв ляются следующими:
класс SAPEntry() расширяет SampleGroupDescriptionEntry ('sap') { unsigned int(4) зарезервировано;
unsigned int(l) dependent_flag;
unsigned int(3) SAP_type; }
В SAPEntry() зарезервированный элемент синтаксиса должен быть равен 0. Устройства, осуществляющие синтаксический анализ файла, должны допускать и игнорировать все значения вида зарезервировано. Элемент синтаксиса dependent_flag должен быть 0 для неслоистого мультимедиа. Элемент синтаксиса dependent_flag равный 1 указывает, что опорные слои, если имеются, для предсказания целевых слоев, возможно, должны быть декодированы для осуществления доступа к данной группе выборок. Элемент синтаксиса dependent_flag, равный 0, указывает на то, что опорные слои, если имеются, для предсказания целевых слоев не должны быть декодированы для осуществления доступа к любой SAP данной группы выборок.
Элемент синтаксиса sap_type со значениями, равными 0 и 7, являются зарезервированными. Значения элемента синтаксиса sap_type в диапазоне от 1 до 6 включительно указывают тип SAP, как указано а приложении I, у ассоциированных выборок (для которых первый байт выборки в данной группе является позицией ISAU).
В соответствии с методикой данного раскрытия следующие модификации выполняются в отношении спецификации 14496-12, чтобы решить проблемы с сигнализацией группирования выборки SAP.
класс SAPEntry() расширяет SampleGroupDescriptionEntry (’sap’) {
unsigned int(4) зарезервировано;
unsigned int(l) dependent_flag;
unsigned int(3) SAP_type;
<BCTaBHTb>unsigned int(28) target_layers;
- 26 036026
I unsigned int(4)layer_id_method_idc; </вставить> }
В данном примере семантика зарезервированного элемента синтаксиса, элемента синтаксиса dependent_flag, элемента синтаксиса Sap_type, элемента синтаксиса target_layers и элемента синтаксиса layer_id_method_idc остается той же самой. Кроме того, при вышеприведенной модификации исполнения присутствует ровно один бокс SampleToGroup и ровно один бокс SampleGroupDescription с groupingjype 'sap' в боксе-контейнере.
В нижеследующем тексте сравнивают первую, вторую и третью методики данного раскрытия, используя группирование выборок 'sap' в качестве примера. Фиг. 5 является концептуальной схемой двух разных типов выборки точки доступа к потоку (SAP) в последовательности выборок в дорожке. Например, рассмотрим следующий примерный сценарий, как показано на фиг. 5, который иллюстрирует последовательность выборок в дорожке и картинки SAP в выборках сигнализируются, используя группирование выборок 'sap'. В частности, фиг. 5 показывает базовый слой 200 и слой 202 улучшения. Базовый слой 200 включает в себя рад картинок, начиная с картинки IDR, за которой следует одна или более картинок не-IRAP (например, 95 картинок не-IRAP). В базовом слое 200 присутствует некоторое количество картинок CRA, рассеянных среди картинок не-IRAP перед следующей картинкой IDR. Слой 202 улучшения может включать в себя картинки IDR в тех же самых единицах доступа, как картинки IDR в базовом слое 200. Тем не менее, слой 202 улучшения не обязательно включает в себя картинки CRA, соответствующие картинкам CRA базового слоя 200.
В примере в соответствии с первой примерной методикой данного раскрытия может быть использован один бокс SampleGroupDescription и один бокс SampleToGroup с grouping_type 'sap'. Бокс SampleGroupDescription содержит две записи, и счетчик записи в боксе SampleToGroup равен 12, как показано ниже:
SampleGroupDescriptionBox ('sgpd', версия=0) grouping_type='sap' entry_count=2
- Entry #1 - SAPEntry() dependent_flag=0
SAP_type=l target_layers=3 layer_id_method_idc=l
- Entry #2 - SAPEntry() dependent_flag=l
SAP_type=3 target_layers=l layer_id_method_idc=l
SampleToGroupBox ('sbgp', версия=0)
- grouping_type='sap
- entry_count=12
- Entry #1 - [1-1] //[sample_count-- group_description_index]
- Entry #2 - [95-0]
- Entry #3 - [1-2]
- Entry #4 - [95-0]
- Entry #5 - [1-2]
- Entry #6 - [95-0]
- Entry #7 - [1-2]
- Entry #8 - [95-0]
- Entry #9 - [i-i]
- Entry #10 - [95-0]
- Entry #11 - [1-2]
- Entry #12 - [95-0]
В примере в соответствии со второй примерной методикой данного раскрытия может присутство- 27 036026 вать два бокса SampleGroupDescription и может присутствовать два бокса SampleToGroup с grouping_type 'sap'. В данном примере каждый бокс SampleGroupDescription содержит одну запись, что приводит суммарно к двум записям, и элементы синтаксиса entry_count в двух боксах SampleToGroup являются 4 и 9 соответственно, что дает суммарно тринадцать записей в боксах SampleToGroup, как показано ниже:
SampleGroupDescriptionBox #1 ('sgpd', версия=0) - grouping_type='sap' - grouping_type_parameter target_layers=3 layer_id_method_idc=l - entry_count=l - Entry #1 - SAPEntry() dependent_flag=0 SAP_type=l
SampleGroupDescriptionBox #2 ('sgpd', версия=0) - grouping_type='sap' - grouping_type_parameter target_layers=l layer_id_method_idc=l - entry_count=l - Entry #1 - SAPEntry() dependent_flag=0 SAP_type=3 SampleToGroupBox #1 ('sbgp', версия=0) - grouping_type='sap' - grouping_type_parameter target_layers=3 layer_id_method_idc=l - entry_count=4 - Entry #1 - [1-1] //[sample_count-group_description_index]
- Entry #2 - [383-0]
- Entry #3 - [i-i]
- Entry #4 - [191-0]
SampleToGroupBox #2 ('sbgp', версия=0)
- grouping_type='sap'
- grouping_type_parameter target_layers=l layer_id_method_idc=l
- entry_count=9
- 28 036026
- Entry #1 - [96-0] //[sample_count group_description_index]
- Entry #2 - [i-i]
- Entry #3 - [95-0]
- Entry #4 - [i-i]
- Entry #5 - [95-0]
- Entry #6 - [i-i]
- Entry #7 - [191-0]
- Entry #8 - [i-i]
- Entry #9 - [95-0]
В примере в соответствии с третьей примерной методикой данного раскрытия может присутствовать один бокс SampleGroupDescription и может присутствовать два бокса SampleToGroup с grouping_type 'sap'. В данном примере бокс SampleGroupDescription содержит две записи, и элементы синтаксиса entry_count в двух боксах SampleToGroup вновь являются 4 и 9 соответственно, приводя суммарно к тринадцати записям в боксах SampleToGroup, как показано ниже:
SampleGroupDescriptionBox ('sgpd', версия=0)
- grouping_type='sap'
- entry_count=2
- Entry #1 - SAPEntry() dependent_flag=0
SAP_type=l
- Entry #2 - SAPEntry() dependent_flag=l
SAP_type=3
SampleToGroupBox #1 ('sbgp', версия=0)
- grouping_type='sap'
- grouping_type_parameter target_layers=3 layer_id_method_idc=l
- entry_count=4
- Entry #1 - [1-1] //[sample_count— group_description_index]
- 29 036026
- Entry #2 - [383-0]
- Entry #3 - [i-i]
- Entry #4 - [191-0]
SampleToGroupBox #2 ('sbgp', версия=0)
- grouping_type='sap'
- grouping_type_parameter target_layers=l layer_id_method_idc
- entry_count=12
- Entry #1 - [96-0] //[sample_count group_description_index]
- Entry #2 - [1-2]
- Entry #3 - [95-0]
- Entry #4 - [1-2]
- Entry #5 - [95-0]
- Entry #6 - [1-2]
- Entry #7 - [191-0]
- Entry #8 - [1-2]
- Entry #9 - [95-0]
Как может быть видно из вышеприведенного, основные отличия между опциями состоят в том, что пример в соответствии с первой методикой данного раскрытия может использовать наименьшее количество боксов (SampleToGroup и SampleGroupDescription) и может использовать также наименьшее количество суммарных записей.
Фиг. 6А-С являются концептуальной схемой, иллюстрирующей примеры структуры файла 300 в соответствии с одной или более методик данного раскрытия. Фиг. 6А соответствует первой примерной методике данного раскрытия, которая обсуждалась выше. Фиг. 6В соответствует второй примерной методике данного раскрытия, которая обсуждалась выше. Фиг. 6С соответствует третьей примерной методике данного раскрытия, которая обсуждалась выше.
В примерах на фиг. 6А-С файл 300 включает в себя бокс 302 фильма и множество боксов 304 мультимедийных данных. Несмотря на то, что в примерах фиг. 6А-С они иллюстрируются как находящиеся в одном и том же файле, в других примерах бокс 302 фильма и боксы 304 мультимедийных данных могут находиться в отдельных файлах. Как указано выше, бокс может быть объектно-ориентированным строительным блоком, который определяется уникальным идентификатором типа и длиной. Например, бокс может быть элементарной структурой синтаксиса в ISOBMFF, включающей в себя четырехзначный кодированный тип бокса, счетчик байтов бокса и полезную нагрузку.
Бокс 302 фильма может содержать метаданные дорожек файла 300. Каждая дорожка файла 300 может содержать непрерывный поток мультимедийных данных. Каждый из боксов 304 мультимедийных данных может включать в себя одну или более выборок 305. Каждая из выборок 305 может содержать единицу доступа аудио и видео. Как описано где-то в другом месте в данном раскрытии, каждая единица доступа может содержать несколько кодированных картинок при многовидовом кодировании (например, MV-HEVC и 3D-HEVC) и масштабируемом кодировании видео (например, SHVC). Например, единица доступа может включать в себя одну или более кодированных картинок для каждого слоя.
Кроме того, в примерах фиг. 6А-С бокс 302 фильма включает в себя бокс 306 дорожки. Бокс 306 дорожки может заключать метаданные для дорожки файла 300. В других примерах бокс 302 фильма может включать в себя несколько боксов дорожки для разных дорожек файла 300. Бокс 306 дорожки включает в себя бокс 307 мультимедиа. Бокс 307 мультимедиа может содержать все объекты, которые объявляют информацию касательно мультимедийных данных внутри дорожки. Бокс 307 мультимедиа может включать в себя бокс 308 информации мультимедиа. Бокс 308 информации мультимедиа может содержать все объекты, которые объявляют информацию характеристики у мультимедиа в дорожке. Бокс 308 информации мультимедиа включает в себя бокс 309 таблицы выборок. Бокс 309 таблицы выборок может указывать характерные для выборки метаданные.
В примерах фиг. 6А-С бокс 309 таблицы выборок включает в себя по меньшей мере один бокс 310 SampleToGroup и по меньшей мере один бокс 312 SampleGroupDescription. Следовательно, бокс 309 таблицы выборок является экземпляром бокса-контейнера. В других примерах бокс 309 таблицы выборок может включать в себя другие боксы в дополнение к боксу 310 SampleToGroup и боксу 312 SampleGroupDescription и/или может включать в себя несколько боксов SampleToGroup и боксов SampleGroupDescription. Бокс 310 SampleToGroup может соотносить выборки (например, конкретные одни из выбо- 30 036026 рок 305) с группой из выборок. Бокс 312 SampleGroupDescription может указывать свойство, которое совместно используется выборками в группе из выборок (т.е. группе выборок).
Кроме того, в примерах фиг. 6А-С бокс 310 SampleToGroup включает в себя элемент 313 синтаксиса grouping_type (т.е. элемент синтаксиса тип группирования), элемент 314 синтаксиса entry_count (т.е. элемент синтаксиса счетчик записи) и одну или более записей 315 группы выборок. Элемент 314 синтаксиса entry_count указывает количество записей 315 группы выборок. Каждая из записей 315 группы выборок включает в себя элемент 316 синтаксиса samle_count (т.е. элемент синтаксиса счетчик выборки) и элемент 317 синтаксиса group_description_index (т.е. элемент синтаксиса индекса описания группы) Элемент 316 синтаксиса sample_count может указывать количество выборок, ассоциированных с записью группы выборок, содержащей элемент 316 синтаксиса sample_count. Элемент 317 синтаксиса group_description_index может идентифицировать внутри бокса SampleGroupDescription (например, бокса 312 SampleGroupDescription) запись описания группы, которая содержит описание выборок, ассоциированных с записью группы выборок, содержащей элемент 317 синтаксиса group_description_index.
Дополнительно в примерах фиг. 6-С бокс 312 SampleGroupDescription включает в себя элемент 320 синтаксиса grouping_type, элемент 322 синтаксиса entry_count и одну или более записей 324 описания группы. Элемент 322 синтаксиса entry count указывает количество записей 324 описания группы в боксе SampleGroupDescription.
Как указано выше, в первой примерной методике данного раскрытия, вопросы ясности касательно сигнализации групп выборок в ISOBMFF, описанные выше, могут быть решены посредством удаления элемента синтаксиса grouping_type_parameter из синтаксиса бокса группа из выборок. Следовательно, в соответствии с первой примерной методикой данного раскрытия, которая иллюстрируется на фиг. 6А, ни один из боксов 310 SampleToGroup не включает в себя элемент синтаксиса grouping_type_parameter (т.е. элемент синтаксиса параметра типа группирования). Следовательно, в соответствии с первой примерной методикой данного раскрытия бокс 310 SampleToGroup не включает в себя grouping_type_parameter 318, иллюстрируемый на фиг. 6В, и бокс 312 SampleGroupDescription не включает в себя grouping_type_parameter 326, как иллюстрируется на фиг. 6В.
Как указано выше, во второй примерной методике данного раскрытия, вопросы ясности касательно сигнализации групп выборок в ISOBMFF, описанные выше, могут быть решены, посредством добавления элемента синтаксиса grouping_type_parameter в синтаксис бокса описание группы выборок, когда версия бокса описание группы выборок равна 1. Следовательно, в соответствии со второй примерной методикой данного раскрытия, которая иллюстрируется на фиг. 6В, боксы 310 SampleToGroup и боксы 312 SampleGroupDescription могут включать в себя элементы 318, 326 синтаксиса grouping_type_parameter и присутствует взаимно-однозначная взаимосвязь между боксами 310 SampleToGroup и боксами 312 SampleGroupDescription.
Как указано выше, в третьей примерной методике данного раскрытия, вопросы ясности касательно сигнализации групп выборок в ISOBMFF, описанные выше, могут быть решены посредством определения, что взаимосвязь между боксом SampleGroupDescription и боксом SampleToGroup для одного и того же типа группирования является 1 к N. Следовательно, в соответствии с третьей примерной методикой данного раскрытия, которая иллюстрируется на фиг. 6С, бокс 310 SampleToGroup включает в себя элемент 318 синтаксиса grouping_type_parameter (т.е. элемент синтаксиса параметра типа группирования). Кроме того, присутствует 1-k-N взаимосвязь между боксами SampleGroupDescription и боксами SampleToGroup, имеющими элементы синтаксиса grouping_type (например, элементы 313, 20 синтаксиса grouping_type) с одинаковым значением. Например, один из боксов SampleGroupDescription (например, бокс 312 SampleGroupDescription) может иметь элемент синтаксиса grouping_type с конкретным значением и два или более боксов SampleToGroup также могут иметь элементы синтаксиса grouping_type с конкретным значением. В некоторых примерах, если два или более боксов SampleToGroup имеют элементы синтаксиса grouping_type с одинаковым значением, каждый бокс SampleToGroup в боксе 309 таблицы выборок должен быть версии 1. Кроме того, в некоторых примерах, если два или более боксов SampleToGroup имеют элементы синтаксиса grouping_type с одинаковым значением, любое значение элемента синтаксиса group_description_index, которое является больше 0, не должно присутствовать в более чем одном из боксов 310 SampleToGroup. В соответствии с третьей примерной методикой данного раскрытия боксы SampleGroupDescription (например, бокс 312 SampleGroupDescription) не включают в себя элементы синтаксиса grouping_type_parameter (например, элемент 326 синтаксиса grouping_type_parameter, показанный на фиг. 6В).
Фиг. 7А-С являются концептуальными схемами, иллюстрирующими примерные структуры файла 450, в соответствии с одной или более методик данного раскрытия. Фиг. 7А соответствует первой примерной методике данного раскрытия, которая обсуждалась выше. Фиг. 7В соответствует второй примерной методике данного раскрытия, которая обсуждалась выше. Фиг. 7С соответствует третьей примерной методике данного раскрытия, которая обсуждалась выше.
В примерах на фиг. 7А-С файл 450 включает в себя один или более боксов 452 фрагмента фильма и множество боксов 454 мультимедийных данных. Несмотря на то, что в примерах фиг. 7А-С они иллюстрируются как находящиеся в одном и том же файле, в других примерах боксы 452 фрагмента фильма и
- 31 036026 боксы 454 мультимедийных данных могут находиться в отдельных файлах. Каждый из боксов 454 мультимедийных данных может включать в себя одну или более выборок 456. Каждый из боксов фрагмента фильма соответствует фрагменту фильма. Каждый фрагмент фильма может содержать набор фрагментов дорожки. Может присутствовать ноль или больше фрагментов дорожки на дорожку.
В примерах фиг. 7А-С бокс 452 фрагмента фильма предоставляет информацию касательно соответствующего фрагмента фильма. Такая информация ранее присутствовала в боксе фильма, таком как бокс 302 фильма. Бокс 452 фрагмента фильма может включать в себя бокс 458 фрагмента дорожки. Бокс 458 фрагмента дорожки соответствует фрагменту дорожки и предоставляет информацию о фрагменте дорожки.
Например, в примерах на фиг. 7А-С бокс 458 фрагмента дорожки может включать в себя один или более боксов 462 SampleToGroup и один или более боксов 464 SampleGroupDescription, которые содержат информацию о фрагменте дорожки, соответствующем боксу 458 фрагмента дорожки. Следовательно, бокс 458 фрагмента дорожки является экземпляром бокса-контейнера.
Кроме того, в примерах фиг. 7А-С бокс 462 SampleToGroup включает в себя элемент 470 синтаксиса grouping_type (т.е. элемент синтаксиса тип группирования), элемент 3471 синтаксиса entry_count (т.е. элемент синтаксиса счетчик записи) и одну или более записей 472 группы выборок. Элемент 471 синтаксиса entry_count указывает количество записей 472 группы выборок. Каждая из записей 472 группы выборок включает в себя элемент 473 синтаксиса samle_count (т.е. элемент синтаксиса счетчик выборки) и элемент 474 синтаксиса group_description_index (т.е. элемент синтаксиса индекса описания группы). Элемент 473 синтаксиса sample_count может указывать количество выборок, ассоциированных с записью группы выборок, содержащей элемент 473 синтаксиса sample_count. Элемент 474 синтаксиса group_description_index может идентифицировать внутри бокса SampleGroupDescription (например, бокса 464 SampleGroupDescription) запись описания группы, которая содержит описание выборок, ассоциированных с записью группы выборок, содержащей элемент 474 синтаксиса group_description_index.
Дополнительно в примерах фиг. 7А-С бокс 464 SampleGroupDescription включает в себя элемент 480 синтаксиса grouping_type, элемент 482 синтаксиса entry_count, и одну или более записей 484 описания группы. Элемент 482 синтаксиса entry_count указывает количество записей 484 описания группы в боксе 464 SampleGroupDescription.
Как указано выше, в первой примерной методике данного раскрытия, вопросы ясности касательно сигнализации групп выборок в ISOBMFF, описанные выше, могут быть решены посредством удаления элемента синтаксиса grouping_type_parameter из синтаксиса бокса группа из выборок. Следовательно, в соответствии с первой примерной методикой данного раскрытия, которая иллюстрируется на фиг. 7А, ни один из боксов 462 SampleToGroup не включает в себя элемент синтаксиса grouping_type_parameter. Например, в соответствии с первой примерной методикой данного раскрытия, бокс 462 SampleToGroup не включает в себя элемент 475 синтаксиса grouping_type_parameter, иллюстрируемый на фиг. 7В и С, и бокс 464 SampleGroupDescription не включает в себя элемент 486 синтаксиса grouping_type_parameter, иллюстрируемый на фиг. 7В.
Как указано выше, во второй примерной методике данного раскрытия, вопросы ясности касательно сигнализации групп выборок в ISOBMFF, описанные выше, могут быть решены, посредством добавления элемента синтаксиса grouping_type_parameter в синтаксис бокса описание группы выборок, когда версия бокса описание группы выборок равна 1. Следовательно, в соответствии со второй примерной методикой данного раскрытия, которая соответствует фиг. 7В, боксы 462 SampleToGroup и боксы 464 SampleGroupDescription могут включать в себя элементы синтаксиса grouping_type_parameter и присутствует взаимно-однозначная взаимосвязь между боксами 462 SampleToGroup и боксами 464 SampleGroupDescription. Например, в соответствии со второй примерной методикой данного раскрытия бокс 462 SampleToGroup включает в себя элемент 475 синтаксиса grouping_type_parameter и бокс 464 SampleGroupDescription включает в себя элемент 486 синтаксиса grouping_type_parameter.
Как указано выше, в третьей примерной методике данного раскрытия, вопросы ясности касательно сигнализации групп выборок в ISOBMFF, описанные выше, могут быть решены посредством определения, что взаимосвязь между боксом SampleGroupDescription и боксом SampleToGroup для одного и того же типа группирования является 1 к N. Следовательно, в соответствии с третьей примерной методикой данного раскрытия, которая иллюстрируется на фиг. 7С, присутствует 1-k-N взаимосвязь между боксами 464 SampleGroupDescription и боксами 462 SampleToGroup, имеющими элементы синтаксиса grouping_type с одинаковым значением. Например, один из боксов 464 SampleGroupDescription может иметь элемент синтаксиса grouping_type с конкретным значением и два или более боксов 462 SampleToGroup также могут иметь элементы синтаксиса grouping_type с конкретным значением. В некоторых примерах, если два или более боксов 462 SampleToGroup имеют элементы синтаксиса grouping_type с одинаковым значением, каждый из боксов 462 SampleToGroup в боксе 458 фрагмента дорожки должен быть версии 1. Кроме того, в некоторых примерах, если два или более боксов 462 SampleToGroup имеют элементы синтаксиса grouping_type с одинаковым значением, любое значение элемента 474 синтаксиса group_description_index, которое является больше 0, не должно присутствовать в более чем одном из боксов 462 SampleToGroup. В соответствии, по меньшей мере, с некоторыми реализациями третьей пример- 32 036026 ной методикой данного раскрытия боксы 464 SampleGroupDescription не включают в себя элемент 475 синтаксиса grouping_type_parameter, показанный на фиг. 7В.
Фиг. 8 является блок-схемой, иллюстрирующей пример функционирования устройства-источника 12, в соответствии с методикой данного раскрытия. Несмотря на то, что фиг. 8 описывается со ссылкой на устройство-источник 12, примерное функционирование фиг. 8 может быть выполнено другими устройствами, такими как устройство 34 генерирования файла или другое устройство. Блок-схема фиг. 8 предоставляется в качестве примера. Другие функционирования в соответствии с методиками данного раскрытия могут включать в себя больше, меньше или другие действия, или действия могут быть выполнены в другой очередности или параллельно.
В примере фиг. 8 устройство-источник 12 генерирует (500) бокс-контейнер файла таким образом, что файл согласуется с конкретным форматом файла. Конкретным форматом файла может быть версия ISOBMFF, модифицированная в соответствии с методикой данного раскрытия. В примере фиг. 8, в рамках генерирования файла, устройство-источник 12 может генерировать (502) бокс SampleGroupDescription, который включает в себя одну или более записей описания группы. Каждая соответствующая запись описания группы может предоставлять описания для соответствующей группы выборок. Бокс SampleGroupDescription может дополнительно включать в себя элемент синтаксиса типа группирования, который идентифицирует тип группирования выборок. Элемент синтаксиса типа группирования в боксе SampleGroupDescription может иметь конкретное значение. Бокс-контейнер может быть боксом таблицы выборок или боксом фрагмента дорожки. В примере фиг. 8 файл принадлежит к конкретному формату файла, в котором должен присутствовать только один бокс SampleGroupDescription в боксе-контейнере с конкретным значением элемента синтаксиса типа группирования.
Кроме того, в примере фиг. 8, в рамках генерирования бокса-контейнера, устройство-источник 12 генерирует (504) в том же самом боксе-контейнере файла множество боксов SampleToGroup. Каждый соответствующий бокс SampleToGroup из множества боксов SampleToGroup включает в себя соответствующий элемент синтаксиса типа группирования с конкретным значением. Каждый соответствующий бокс SampleToGroup может включать в себя одну или более записей группы выборок. Каждая соответствующая запись группы выборок из одной или более записей группы выборок может содержать соответствующий элемент синтаксиса счетчика выборки (например, sample_count), указывающий количество выборок в соответствующей группе выборок. Каждая соответствующая запись группы выборок из одной или более записей группы выборок может содержать соответствующий элемент синтаксиса индекса описания группы (например, group_description_index), указывающий индекс записи описания группы в боксе SampleGroupDescription, которая предоставляет описание соответствующей группы выборок. Каждая выборка соответствующей группы выборок может содержать одну или более картинок видеоконтента.
В некоторых примерах устройство-источник 12 может генерировать множество боксов SampleToGroup таким образом, что, применительно к каждому соответствующему боксу SampleToGroup из множества боксов SampleToGroup, соответствующий бокс SampleToGroup включает в себя соответствующий элемент синтаксиса параметра типа группирования (например, grouping_type_parameter), указывающий подтип типа группирования выборок. Кроме того, в некоторых примерах файл согласуется с конкретным форматом файла, и требование формата файла состоит в том, что, когда присутствует несколько боксов SampleToGroup с одинаковым значением элемента синтаксиса типа группирования в одном боксе-контейнере, каждый из нескольких боксов SampleToGroup должен иметь соответствующий идентификатор версии, равный 1. В некоторых примерах требование формата файла может состоять в том, что, когда присутствует несколько боксов SampleToGroup с одинаковым значением элемента синтаксиса типа группирования в одном боксе-контейнере, никакие два из нескольких боксов SampleToGroup не должны иметь элементы синтаксиса индекса описания группы (например, group_description_index) с одинаковым значением больше 0. Кроме того, в некоторых примерах требование формата файла состоит в том, что, когда присутствует несколько боксов SampleToGroup с одинаковым значением элемента синтаксиса типа группирования в одной дорожке или фрагменте дорожки, никакие два из нескольких боксов SampleToGroup не имеют одинаковое значение элемента синтаксиса параметра типа группирования.
Кроме того, устройство-источник 12 может выводить (506) файл. Например, устройство-источник 12 может выводить файл для сохранения на машиночитаемом запоминающем носителе информации, таком как память, магнитные носители информации или оптические носители информации. В другом примере устройство-источник 12 может выводить файл для передачи.
Фиг. 9 является блок-схемой, иллюстрирующей примерное функционирование устройства для чтения файла для хранения видеоконтента в соответствии с методикой данного раскрытия. В примере фиг. 9 устройство для чтения файла может быть устройством-получателем 14 с фиг. 1 или другим устройством.
В примере фиг. 9 устройство может получать (500) файл. Например, устройство может получать файл от носителя информации для хранения данных (например, запоминающего носителя 29 информации на фиг. 1), среды передачи или другого источника. Например, устройство может принимать или считывать файл с такого источника. Кроме того, в примере фиг. 9 устройство может получать (502) из файла боксконтейнер файла. Например, устройство может осуществлять синтаксический анализ или иным образом
- 33 036026 интерпретировать файл, чтобы извлекать или иным образом осуществлять доступ к боксу-контейнеру и его контенту.
В некоторых примерах бокс-контейнер является боксом таблицы выборок или боксом фрагмента дорожки. Бокс-контейнер может содержать бокс SampleGroupDescription, который включает в себя одну или более записей описания группы. Каждая соответствующая запись описания группы предоставляет описания для соответствующей группы выборок. Кроме того, бокс SampleGroupDescription дополнительно включает в себя элемент синтаксиса типа группирования, который идентифицирует тип группирования выборок. Элемент синтаксиса типа группирования в боксе SampleGroupDescription имеет конкретное значение. В соответствии с методикой данного раскрытия требование конкретного формата файла состоит в том, что должен присутствовать только один бокс SampleGroupDescription в боксе-контейнере с конкретным значением элемента синтаксиса типа группирования. Бокс-контейнер также может содержать множество боксов SampleToGroup. Каждый соответствующий бокс SampleToGroup из множества боксов SampleToGroup может включать в себя соответствующий элемент синтаксиса типа группирования с конкретным значением. Каждый соответствующий бокс SampleToGroup может включать в себя одну или более записей группы выборок. Кроме того, каждая соответствующая запись группы выборок из одной или более записей группы выборок может содержать соответствующий элемент синтаксиса счетчика выборки, указывающий количество выборок в соответствующей группе выборок. Каждая соответствующая запись группы выборок из одной или более записей группы выборок может содержать соответствующий элемент синтаксиса индекса описания группы, указывающий индекс записи описания группы в боксе SampleGroupDescription, которая предоставляет описание соответствующей группы выборок. Дополнительно каждая выборка соответствующей группы выборок может содержать одну или более картинок видеоконтента.
Нижеследующие абзацы описывают конкретные примеры в соответствии с данным раскрытием.
Пример 1. Способ генерирования файла, при этом способ содержит этапы, на которых генерируют бокс, который указывает группирование выборок, причем группирование выборок является группой из выборок, при этом бокс включает в себя элемент синтаксиса, идентифицирующий тип группирования выборки, и независимо от версии формата бокса бокс не включает в себя параметр, указывающий подтип группирования выборок; генерируют файл, при этом файл включает в себя бокс.
Пример 2. Способ примера 1, в котором каждая соответствующая одна из выборок является закодированной картинкой.
Пример 3. Способ генерирования файла, при этом способ содержит этапы, на которых генерируют первый бокс, причем первый бокс указывает группирование выборок, причем группирование выборок является группой из выборок; генерируют второй бокс, причем второй бокс включает в себя элементы синтаксиса, предоставляющие описание группы выборок для группирования выборок, при этом второй бокс включает в себя первый элемент синтаксиса и опционально включает в себя второй элемент синтаксиса, причем первый элемент синтаксиса идентифицирует тип группирования выборок и совместно со вторым элементом синтаксиса, если присутствует, идентифицирует первый бокс как ассоциированный с описанием группы выборок; второй элемент синтаксиса, указывающий подтип группирования выборок; генерируют файл, при этом файл включает в себя первый бокс и второй бокс.
Пример 4. Способ примера 3, при этом этап, на котором генерируют первый бокс, содержит этапы, на которых генерируют в первом боксе третий элемент синтаксиса и опционально четвертый элемент синтаксиса, при этом третий элемент синтаксиса идентифицирует тип группирования выборок и связывает группирование выборок в таблицей описания группы выборок с тем же самым значением типа группирования выборок и значением четвертого элемента синтаксиса, если присутствует, и второй элемент синтаксиса, указывающий подтип группирования выборок.
Пример 5. Способ примеров 3 или 4, в котором файл включает в себя один или более боксов, указывающих описания группы выборок для группировании выборок для выборок в дорожке или фрагменте дорожки, причем внутри дорожки или фрагмента дорожки присутствует не более одного экземпляра бокса, указывающего описание группы выборок с конкретным типом группирования и подтипом.
Пример 6. Способ примеров 3-5, в котором файл включает в себя один или более боксов, указывающих группы выборок для выборок в дорожке или фрагменте дорожки, причем внутри дорожки или фрагмента дорожки присутствует не более одного экземпляра бокса, указывающего группу выборок с конкретным типом группирования и подтипом.
Пример 7. Способ генерирования файла, при этом способ содержит этапы, на которых генерируют первый бокс, причем первый бокс указывает группирование выборок, причем группирование выборок является группой из выборок; генерируют второй бокс, причем второй бокс указывает элементы синтаксиса, предоставляющие описание группы выборок для группирования выборок, при этом взаимосвязь между боксом SampleGroupDescription и боксом SampleToGroup для одного и того же типа группирования является 1 к N; и генерируют файл, при этом файл включает в себя первый бокс и второй бокс.
Пример 8. Способ для генерирования файла, при этом способ содержит этапы, на которых генерируют бокс, причем бокс указывает описание группирования выборок, причем группирование выборок является группой из выборок, причем бокс включает в себя первый элемент синтаксиса и второй элемент
- 34 036026 синтаксиса, причем первый элемент синтаксиса указывает целевые слои, причем второй элемент синтаксиса указывает семантику первого элемента синтаксиса; и генерируют файл, при этом файл включает в себя бокс.
Пример 9. Способ примера 8, в котором второй элемент синтаксиса, равный конкретному значению, указывает, что целевые слои состоят из всех слоев, представленных дорожкой, причем второй элемент синтаксиса, не равный конкретному значению, указывается посредством извлеченных спецификаций формата мультимедиа.
Пример 10. Устройство декодирования видео для генерирования файла, при этом устройство содержит память для хранения файла; и один или более процессоров, выполненных с возможностью выполнения любого сочетания способов генерирования файла, предоставленных в любых из пунктов выше.
В одном или более примерах описанные функции могут быть реализованы в аппаратном обеспечении, программном обеспечении, встроенном программном обеспечении или любом их сочетании. При реализации в программном обеспечении функции могут быть сохранены на или переданы через, в качестве одной или более инструкций или кода, машиночитаемый носитель информации и исполнены посредством основанного на аппаратном обеспечении модуля обработки. Машиночитаемые носители информации могут включать в себя машиночитаемые запоминающие носители информации, которые соответствуют вещественному носителю информации, такому как носители информации для хранения данных, или средства связи, включающие в себя любые средства, которые способствуют переносу компьютерной программы из одного места в другое, например в соответствии с протоколом связи. Таким образом, машиночитаемые носители информации главным образом соответствуют (1) вещественным машиночитаемым запоминающим носителям информации, которые не являются временными, или (2) средствам связи, таким как сигнал или несущая волна. Носители информации для хранения данных могут быть любыми доступными носителями информации, доступ к которым может быть осуществлен посредством одного или более компьютеров или одного или более процессоров, чтобы извлекать инструкции, код и/или структуры данных для реализации методик, описываемых в данном раскрытии. Компьютерный программный продукт может включать в себя машиночитаемый носитель информации.
В качестве примера, а не ограничения, такие машиночитаемые запоминающие носители информации могут быть выполнены в виде RAM, ROM, EEPROM, CD-ROM или другого хранилища на оптическом диске, хранилища на магнитном диске или других магнитных запоминающих устройств, флэшпамяти или любого другого носителя информации, который может быть использован, чтобы хранить требуемый программный код в форме инструкций или структур данных и доступ к которому может быть осуществлен посредством компьютера. Также любое соединение правильно называть машиночитаемым носителем информации. Например, если инструкции передаются с web-сайта, сервера или другого удаленного источника, используя коаксиальный кабель, оптоволоконный кабель, витую пару, цифровую абонентскую линию (DSL) или беспроводные технологии, такие как инфракрасные, радиосвязи и микроволновые, тогда коаксиальный кабель, оптоволоконный кабель, витая пара, DSL или беспроводные технологии, такие как инфракрасные, радиосвязи и микроволновые, включены в определение носителя информации. Тем не менее, следует понимать, что машиночитаемые запоминающие носители информации и носители информации для хранения данных не включают в себя соединения, несущие волны, сигналы или другие временные носители информации, а вместо этого направлены на не временные, вещественные запоминающие носители информации. Используемый в данном документе магнитный диск и оптический диск включают в себя компакт-диск (CD), лазерный диск, оптический диск, цифровой универсальный диск (DVD), гибкий диск и Blu-ray диск, где магнитные диски обычно воспроизводят данные магнитным образом, тогда как оптические диски воспроизводят данные оптическим образом с помощью лазеров. Сочетания вышеприведенного также должно быть включено в объем машиночитаемых носителей информации.
Инструкции могут быть исполнены одним или более процессорами, такими как один или более цифровых сигнальных процессоров (DSP), микропроцессоров общего назначения, проблемно ориентированных интегральных микросхем (ASIC), программируемых вентильных матриц (FPGA) или других эквивалентных интегральных или дискретных логических схем. Соответственно понятие процессор, используемое в данном документе, может относиться к любой вышеупомянутой структуре или любой другой структуре, пригодной для реализации методик, описываемых в данном документе. В дополнение, в некоторых аспектах функциональность, описываемая в данном документе, может быть обеспечена в рамках предназначенных модулей аппаратного обеспечения и/или программного обеспечения, выполненных с возможностью кодирования и декодирования или встроенных в объединенный кодек. Также методики могут быть полностью реализованы в одной или более схем или логических элементов.
Методики данного раскрытия могут быть реализованы в широком многообразии устройств и аппаратур, включая беспроводную телефонную трубку, интегральную микросхему (IC) или набор IC (например, набор микросхем). Разнообразные компоненты, модули или блоки описываются в данном раскрытии, чтобы подчеркнуть функциональные аспекты устройств, выполненных с возможностью выполнения раскрываемых методик, но не обязательно требуют реализации посредством разных модулей аппаратного обеспечения. Наоборот, как описано выше, разнообразные модули могут быть объединены в модуль
- 35 036026 аппаратного обеспечения кодека или обеспечены посредством совокупности взаимодействующих модулей аппаратного обеспечения, включая один или более процессоров, как описано выше, совместно с пригодным программным обеспечением и/или встроенным программным обеспечением.
Были описаны разнообразные примеры. Эти и прочие примеры находятся в рамках объема нижеследующей формулы изобретения.

Claims (8)

  1. ФОРМУЛА ИЗОБРЕТЕНИЯ
    1. Способ генерирования файла для хранения видеоконтента, при этом способ содержит этапы, на которых генерируют посредством устройства бокс-контейнер файла таким образом, что файл согласуется с конкретным форматом файла, который основан на базовом формате мультимедийного файла Международной Организации по Стандартизации (ISO) (ISOBMFF), при этом бокс-контейнер является боксом таблицы выборок или боксом фрагмента дорожки, при этом бокс-контейнер является боксом, который содержит один или более других боксов, и этап, на котором генерируют бокс-контейнер, содержит этапы, на которых генерируют посредством устройства в упомянутом боксе-контейнере бокс описания группы выборок (SampleGroupDescription), который включает в себя одну или более записей описания группы, при этом каждая соответствующая запись описания группы предоставляет описания для соответствующей группы выборок, при этом этап, на котором генерируют бокс описания группы выборок (SampleGroupDescription), содержит этап, на котором включают посредством устройства в бокс описания группы выборок (SampleGroupDescription) элемент синтаксиса типа группирования выборок (grouping_type), который идентифицирует тип группирования выборок, указывающий критерий, используемый для формирования групп выборок, причем элемент синтаксиса типа группирования выборок в боксе описания группы выборок (SampleGroupDescription) имеет конкретное целочисленное значение, и требование конкретного формата файла состоит в том, что должен присутствовать только один бокс описания группы выборок (SampleGroupDescription) в боксе-контейнере с упомянутым конкретным значением элемента синтаксиса типа группирования выборок; и генерируют посредством устройства в том же самом боксе-контейнере файла множество боксов выборок в группе (SampleToGroup), при этом этап, на котором генерируют множество боксов выборок в группе (SampleToGroup), содержит применительно к каждому соответствующему боксу выборок в группе (SampleToGroup) из множества боксов выборок в группе (SampleToGroup) следующие этапы, на которых включают посредством устройства в соответствующий бокс выборок в группе (SampleToGroup) соответствующий элемент синтаксиса типа группирования выборок с упомянутым конкретным значением, при этом на основании того, что присутствует несколько боксов выборок в группе (SampleToGroup) с одинаковым значением элемента синтаксиса типа группирования выборок в упомянутом боксеконтейнере, каждый из упомянутых нескольких боксов выборок в группе (SampleToGroup) должен иметь соответствующий идентификатор версии, равный 1, причем идентификатор версии указывает версию ISOBMFF;
    на основании соответствующего идентификатора версии у соответствующего бокса выборок в группе (SampleToGroup), равного 1, включают посредством устройства в соответствующий бокс выборок в группе (SampleToGroup) соответствующий элемент синтаксиса параметра типа группирования выборок (grouping_type_parameter), указывающий подтип группирования выборок, при этом требование конкретного формата файла состоит в том, чтобы внутри одного бокса дорожки или бокса фрагмента дорожки присутствовало не более одного бокса выборок в группе (SampleToGroup) с типом группирования выборок, который указывается соответствующим элементом синтаксиса типа группирования выборок, и подтипом, который указывается соответствующим элементом синтаксиса параметра типа группирования выборок;
    включают посредством устройства в соответствующий бокс выборок в группе (SampleToGroup) одну или более записей группы выборок, при этом этап, на котором включают одну или более записей группы выборок в соответствующий бокс выборок в группе (SampleToGroup), содержит применительно к каждой соответствующей записи группы выборок из одной или более записей группы выборок следующие этапы, на которых включают посредством устройства в соответствующую запись группы выборок соответствующий элемент синтаксиса счетчика выборки, указывающий количество выборок в соответствующей группе выборок, и включают посредством устройства в соответствующую запись группы выборок соответствующий элемент синтаксиса индекса описания группы, указывающий индекс записи описания группы в боксе описания группы выборок (SampleGroupDescription), которая предоставляет описание соответствующей группы выборок, при этом каждая выборка соответствующей группы выборок содержит одну или более картинок ви- 36 036026 деоконтента; и выводят посредством устройства упомянутый файл.
  2. 2. Способ по п.1, в котором бокс описания группы выборок (SampleGroupDescription) является первым боксом описания группы выборок (SampleGroupDescription), и этап, на котором генерируют боксконтейнер, содержит этап, на котором генерируют посредством устройства второй бокс описания группы выборок (SampleGroupDescription) в боксе-контейнере, причем второй бокс описания группы выборок (SampleGroupDescription) имеет элемент синтаксиса типа группирования выборок, отличный от упомянутого конкретного значения.
  3. 3. Устройство для осуществления способа по п.1, при этом устройство содержит память, выполненную с возможностью сохранения файла; и один или более процессоров, выполненных с возможностью генерирования бокса-контейнера файла таким образом, что файл согласуется с конкретным форматом файла, при этом бокс-контейнер является боксом таблицы выборок или боксом фрагмента дорожки, при этом бокс-контейнер является боксом, который содержит один или более других боксов, и при этом в рамках генерирования бокса-контейнера один или более процессоров выполнены с возможностью генерировать бокс описания группы выборок (SampleGroupDescription), который включает в себя одну или более записей описания группы, при этом каждая соответствующая запись описания группы предоставляет описания для соответствующей группы выборок, при этом в рамках генерирования бокса описания группы выборок (SampleGroupDescription) один или более процессоров выполнены с возможностью включать в бокс описания группы выборок (SampleGroupDescription) элемент синтаксиса типа группирования выборок (grouping_type), который идентифицирует тип группирования выборок, указывающий критерий, используемый для формирования групп выборок, причем элемент синтаксиса типа группирования выборок в боксе описания группы выборок (SampleGroupDescription) имеет конкретное целочисленное значение, и требование конкретного формата файла состоит в том, что должен присутствовать только один бокс описания группы выборок (SampleGroupDescription) в боксе-контейнере с упомянутым конкретным значением элемента синтаксиса типа группирования выборок; и генерировать в том же самом боксе-контейнере файла множество боксов выборок в группе (SampleToGroup), при этом, применительно к каждому соответствующему боксу выборок в группе (SampleToGroup) из множества боксов выборок в группе (SampleToGroup), один или более процессоров выполнены с возможностью включать в соответствующий бокс выборок в группе (SampleToGroup) соответствующий элемент синтаксиса типа группирования выборок с упомянутым конкретным значением, при этом на основании того, что присутствует несколько боксов выборок в группе (SampleToGroup) с одинаковым значением элемента синтаксиса типа группирования выборок в упомянутом боксе-контейнере, каждый из упомянутых нескольких боксов выборок в группе (SampleToGroup) должен иметь соответствующий идентификатор версии, равный 1, причем идентификатор версии указывает версию ISOBMFF;
    на основании соответствующего идентификатора версии у соответствующего бокса выборок в группе (SampleToGroup), равного 1, включать в соответствующий бокс выборок в группе (SampleToGroup) соответствующий элемент синтаксиса параметра типа группирования выборок (grouping_type_parameter), указывающий подтип группирования выборок, при этом требование конкретного формата файла состоит в том, чтобы внутри одного бокса дорожки или бокса фрагмента дорожки присутствовало не более одного бокса выборок в группе (SampleToGroup) с типом группирования выборок, который указывается соответствующим элементом синтаксиса типа группирования выборок, и подтипом, который указывается соответствующим элементом синтаксиса параметра типа группирования выборок;
    включать в соответствующий бокс выборок в группе (SampleToGroup) одну или более записей группы выборок, при этом, применительно к каждой соответствующей записи группы выборок из одной или более записей группы выборок, один или более процессоров выполнены с возможностью включать в соответствующую запись группы выборок соответствующий элемент синтаксиса счетчика выборки, указывающий количество выборок в соответствующей группе выборок, и включать в соответствующую запись группы выборок соответствующий элемент синтаксиса индекса описания группы, указывающий индекс записи описания группы в боксе описания группы выборок (SampleGroupDescription), которая предоставляет описание соответствующей группы выборок, при этом каждая выборка соответствующей группы выборок содержит одну или более картинок видеоконтента; и вывода упомянутого файла.
  4. 4. Устройство по п.3, содержащее устройство беспроводной связи.
  5. 5. Устройство по п.3, в котором бокс описания группы выборок (SampleGroupDescription) является первым боксом описания группы выборок (SampleGroupDescription), и в рамках генерирования боксаконтейнера один или более процессоров выполнены с возможностью генерировать второй бокс описания группы выборок (SampleGroupDescription) в боксе-контейнере, причем второй бокс описания группы выборок (SampleGroupDescription) имеет элемент синтаксиса типа группирования выборок, отличный от
    - 37 036026 упомянутого конкретного значения.
  6. 6. Устройство по п.3, дополнительно содержащее камеру, выполненную с возможностью захвата видеоконтента.
  7. 7. Устройство для чтения файла для хранения видеоконтента, сгенерированного согласно способу по п.1, причем устройство содержит память, выполненную с возможностью сохранения файла; и один или более процессоров, выполненных с возможностью получения из файла бокса-контейнера файла, при этом бокс-контейнер является боксом таблицы выборок или боксом фрагмента дорожки, при этом бокс-контейнер является боксом, который содержит один или более других боксов, и в рамках получения бокса-контейнера один или более процессоров выполнены с возможностью получать из бокса-контейнера бокс описания группы выборок (SampleGroupDescription), который включает в себя одну или более записей описания группы, при этом каждая соответствующая запись описания группы предоставляет описания для соответствующей группы выборок, при этом один или более процессоров выполнены с возможностью получения из бокса описания группы выборок (SampleGroupDescription) элемента синтаксиса типа группирования выборок (grouping_type), который идентифицирует тип группирования выборок, указывающий критерий, используемый для формирования групп выборок, причем элемент синтаксиса типа группирования выборок в боксе описания группы выборок (SampleGroupDescription) имеет конкретное целочисленное значение, и требование конкретного формата файла состоит в том, что должен присутствовать только один бокс описания группы выборок (SampleGroupDescription) в боксе-контейнере с упомянутым конкретным значением элемента синтаксиса типа группирования выборок; и получать из бокса-контейнера множество боксов выборок в группе (SampleToGroup), при этом, применительно к каждому соответствующему боксу выборок в группе (SampleToGroup) из множества боксов выборок в группе (SampleToGroup) один или более процессоров выполнены с возможностью получать из соответствующего бокса выборок в группе (SampleToGroup) соответствующий элемент синтаксиса типа группирования выборок с упомянутым конкретным значением, при этом на основании того, что присутствует несколько боксов выборок в группе (SampleToGroup) с одинаковым значением элемента синтаксиса типа группирования выборок в упомянутом боксе-контейнере, каждый из упомянутых нескольких боксов выборок в группе (SampleToGroup) должен иметь соответствующий идентификатор версии, равный 1, причем идентификатор версии указывает версию ISOBMFF;
    на основании соответствующего идентификатора версии соответствующего бокса выборок в группе (SampleToGroup), равного 1, получать из соответствующего бокса выборок в группе (SampleToGroup) соответствующий элемент синтаксиса параметра типа группирования выборок (grouping_type_parameter), указывающий подтип группирования выборок, при этом требование конкретного формата файла состоит в том, чтобы внутри одного бокса дорожки или бокса фрагмента дорожки присутствовало не более одного бокса выборок в группе (SampleToGroup) с типом группирования выборок, который указывается соответствующим элементом синтаксиса типа группирования выборок, и подтипом, который указывается соответствующим элементом синтаксиса параметра типа группирования выборок;
    получать из соответствующего бокса выборок в группе (SampleToGroup) одну или более записей группы выборок, при этом, применительно к каждой соответствующей записи группы выборок из одной или более записей группы выборок, один или более процессоров выполнены с возможностью получать из соответствующей записи группы выборок соответствующий элемент синтаксиса счетчика выборки, указывающий количество выборок в соответствующей группе выборок, и получать из соответствующей записи группы выборок соответствующий элемент синтаксиса индекса описания группы, указывающий индекс записи описания группы в боксе описания группы выборок (SampleGroupDescription), которая предоставляет описание соответствующей группы выборок, при этом каждая выборка соответствующей группы выборок содержит одну или более картинок видеоконтента.
  8. 8. Устройство по п.7, в котором бокс описания группы выборок (SampleGroupDescription) является первым боксом описания группы выборок (SampleGroupDescription) и бокс-контейнер содержит второй бокс описания группы выборок (SampleGroupDescription), причем второй бокс описания группы выборок (SampleGroupDescription) имеет элемент синтаксиса типа группирования выборок, отличный от упомянутого конкретного значения.
EA201791567A 2015-02-11 2015-12-16 Способ и устройство генерирования файла для хранения видеоконтента EA036026B1 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562115087P 2015-02-11 2015-02-11
US14/969,954 US9928297B2 (en) 2015-02-11 2015-12-15 Sample grouping signaling in file formats
PCT/US2015/066095 WO2016130210A1 (en) 2015-02-11 2015-12-16 Sample grouping signaling in file formats

Publications (2)

Publication Number Publication Date
EA201791567A1 EA201791567A1 (ru) 2017-12-29
EA036026B1 true EA036026B1 (ru) 2020-09-15

Family

ID=56565431

Family Applications (1)

Application Number Title Priority Date Filing Date
EA201791567A EA036026B1 (ru) 2015-02-11 2015-12-16 Способ и устройство генерирования файла для хранения видеоконтента

Country Status (21)

Country Link
US (1) US9928297B2 (ru)
EP (1) EP3257262B1 (ru)
JP (1) JP6891120B2 (ru)
KR (1) KR102284553B1 (ru)
CN (1) CN107211159B (ru)
AU (1) AU2015382335B9 (ru)
BR (1) BR112017017315B1 (ru)
CA (1) CA2973339A1 (ru)
CL (1) CL2017002015A1 (ru)
CO (1) CO2017008030A2 (ru)
EA (1) EA036026B1 (ru)
IL (1) IL253290B (ru)
MX (1) MX2017010274A (ru)
MY (1) MY182261A (ru)
PH (1) PH12017501270A1 (ru)
SA (1) SA517382051B1 (ru)
SG (1) SG11201705443RA (ru)
TN (1) TN2017000326A1 (ru)
TW (1) TWI659319B (ru)
WO (1) WO2016130210A1 (ru)
ZA (1) ZA201705087B (ru)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016204481A1 (ko) * 2015-06-16 2016-12-22 엘지전자 주식회사 미디어 데이터 전송 장치, 미디어 데이터 수신 장치, 미디어 데이터 전송 방법, 및 미디어 데이터 수신 방법
US10021184B2 (en) * 2015-12-31 2018-07-10 Dropbox, Inc. Randomized peer-to-peer synchronization of shared content items
GB2550604A (en) * 2016-05-24 2017-11-29 Canon Kk Method, device, and computer program for encapsulating and parsing timed media data
WO2018230809A1 (ko) * 2017-06-15 2018-12-20 엘지전자 주식회사 360도 비디오를 전송하는 방법, 360도 비디오를 수신하는 방법, 360도 비디오 전송 장치, 360도 비디오 수신 장치
CN110351492B (zh) * 2018-04-06 2021-11-19 中兴通讯股份有限公司 一种视频数据处理方法、装置及介质
JP7391963B2 (ja) * 2018-12-10 2023-12-05 ノキア テクノロジーズ オーユー コンテナファイルフォーマットで情報をシグナリングするための装置及び方法
CN112511866B (zh) * 2019-12-03 2024-02-23 中兴通讯股份有限公司 媒体资源播放方法、装置、设备和存储介质
US11263261B2 (en) * 2020-02-14 2022-03-01 Alibaba Group Holding Limited Method and system for characteristic-based video processing
JP2023527966A (ja) 2020-05-26 2023-07-03 ドルビー ラボラトリーズ ライセンシング コーポレイション 可変フレームレートビデオのためのピクチャメタデータ
GB2597642B (en) * 2020-06-16 2023-08-02 Canon Kk Method, device, and computer program for encapsulating media data into a media file
WO2022089396A1 (en) * 2020-10-26 2022-05-05 Beijing Bytedance Network Technology Co., Ltd. Decoder configuration information in vvc video coding

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070016594A1 (en) * 2005-07-15 2007-01-18 Sony Corporation Scalable video coding (SVC) file format
US20100153395A1 (en) * 2008-07-16 2010-06-17 Nokia Corporation Method and Apparatus For Track and Track Subset Grouping
US20140098868A1 (en) * 2012-10-04 2014-04-10 Qualcomm Incorporated File format for video data
WO2014170547A1 (en) * 2013-04-17 2014-10-23 Nokia Corporation An apparatus, a method and a computer program for video coding and decoding

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040167925A1 (en) * 2003-02-21 2004-08-26 Visharam Mohammed Zubair Method and apparatus for supporting advanced coding formats in media files
US20060233247A1 (en) * 2005-04-13 2006-10-19 Visharam Mohammed Z Storing SVC streams in the AVC file format
CN101802823A (zh) * 2007-08-20 2010-08-11 诺基亚公司 用于流式多媒体数据的分段的元数据和位标
EP2195952B1 (en) * 2007-09-19 2011-03-23 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for storing and reading a file having a media data container and a metadata container
TW201210325A (en) * 2010-07-21 2012-03-01 Nokia Corp Method and apparatus for indicating switching points in a streaming session
KR101620151B1 (ko) * 2010-10-05 2016-05-12 텔레폰악티에볼라겟엘엠에릭슨(펍) 클라이언트와, 콘텐트 생성기 엔티티 및 미디어 스트리밍을 위한 이들의 방법
US9706227B2 (en) * 2011-03-10 2017-07-11 Qualcomm Incorporated Video coding techniques for coding dependent pictures after random access
US20130170561A1 (en) * 2011-07-05 2013-07-04 Nokia Corporation Method and apparatus for video coding and decoding
KR101965374B1 (ko) * 2013-01-18 2019-04-03 캐논 가부시끼가이샤 비디오 데이터의 재생 방법 및 비디오 데이터를 재생하기 위한 디바이스
EP3092772B1 (en) * 2014-01-07 2019-07-31 Nokia Technologies Oy Media encapsulating and decapsulating

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070016594A1 (en) * 2005-07-15 2007-01-18 Sony Corporation Scalable video coding (SVC) file format
US20100153395A1 (en) * 2008-07-16 2010-06-17 Nokia Corporation Method and Apparatus For Track and Track Subset Grouping
US20140098868A1 (en) * 2012-10-04 2014-04-10 Qualcomm Incorporated File format for video data
WO2014170547A1 (en) * 2013-04-17 2014-10-23 Nokia Corporation An apparatus, a method and a computer program for video coding and decoding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Information technology - Coding of audio-visual objects - Part 12: ISO Base Media File Format", ISO/IEC 14496-12 1 October 2005 (2005-10-01), pages 1-93, XP055260376, Switzerland, Retrieved from the Internet: URL:http://read.pudn.com/downloads153/doc/fileformat/671512/ISO_IEC_14496-12_2005(E) [1].pdf [retrieved on 2016-03-22] pp 52-55, 8.40.3: Sample Groups *

Also Published As

Publication number Publication date
JP6891120B2 (ja) 2021-06-18
EA201791567A1 (ru) 2017-12-29
ZA201705087B (en) 2019-01-30
AU2015382335B2 (en) 2018-11-08
CN107211159B (zh) 2020-04-14
EP3257262A1 (en) 2017-12-20
PH12017501270A1 (en) 2018-01-15
SG11201705443RA (en) 2017-09-28
CN107211159A (zh) 2017-09-26
KR20170117074A (ko) 2017-10-20
WO2016130210A1 (en) 2016-08-18
CL2017002015A1 (es) 2018-03-16
EP3257262B1 (en) 2020-07-22
CA2973339A1 (en) 2016-08-18
BR112017017315A2 (pt) 2018-04-03
SA517382051B1 (ar) 2020-10-29
AU2015382335B9 (en) 2018-11-22
JP2018510546A (ja) 2018-04-12
IL253290B (en) 2018-10-31
CO2017008030A2 (es) 2018-01-31
MX2017010274A (es) 2017-11-17
MY182261A (en) 2021-01-18
US9928297B2 (en) 2018-03-27
US20160232233A1 (en) 2016-08-11
TWI659319B (zh) 2019-05-11
BR112017017315B1 (pt) 2023-11-21
IL253290A0 (en) 2017-09-28
KR102284553B1 (ko) 2021-07-30
AU2015382335A1 (en) 2017-07-27
TN2017000326A1 (en) 2019-01-16
TW201640385A (zh) 2016-11-16

Similar Documents

Publication Publication Date Title
US11115669B2 (en) End of sequence and end of bitstream NAL units in separate file tracks
JP6559663B2 (ja) マルチレイヤビデオファイルフォーマットの設計
TWI590643B (zh) 針對多視圖加深度寫碼之軌跡中紋理及深度視圖的存在之指示
US9928297B2 (en) Sample grouping signaling in file formats
KR20180127997A (ko) Hevc 및 l­hevc 파일 포맷들에서의 타일 그룹화에 대한 개선
EA035924B1 (ru) Устройство и способ для обработки многослойных видеоданных
OA18432A (en) Sample grouping signaling in file formats