Media encapsulating and decapsulating.
Abstract
There are disclosed various methods, apparatuses and computer program products for media encapsulating and decapsulating. In an example method for encapsulating media data,a container file including at least one meta data unit in a media data structure is formed. It may be determined that an offset is relative to a location of the media data structure in the container file, wherein the offset data is formed as a reference to the location of the media data structure in the media data unit. An indication that the offset data is relative to the location of the media data structure is included. In an example method for decapsulating media data, a container file including at least one meta data unit in a media data structure and offset data are received. It may be determined that the offset data is relative to a location of the media data structure in the container file, wherein the offset data is used as a reference to the location of the media data structure to obtain the media data unit.

Term
9.4 yearsleft in the term
Expires 16 February 2036.
- Priority
- Filed
- Granted
- Today
- Expires
22 claims: 7 independent, 15 dependent
- 1CLAIMS REIVINDICACIONES 1 .. A method comprising:1.. Un método que comprende: receive a container file that includes at least one metadata unit 5 in a media data structure: recibir un fichero contenedor que incluye al menos una unidad de metadatos 5 en una estructura de datos de medios: receive displacement data: recibir datos de desplazamiento: determinar que los datos de desplazamienlc· calón riel aclon ados eon una. ubicación de la. estructura de datos de medios en el fichero contenedor;y usar los datos de desplazamiento como una referencia a la. ubicación de la 10 -estructura de datos de medios para obtener la unidad de datos de medios, determine that the displacement data of the aclon rail track is one. location of the. media data structure in the container file;and use the offset data as a reference to the. location of the 10-media data structure to obtain the media data unit,
- 55 include, in the container file, a second identifier of the media data structure within the media data structure, the second identifier being equal to the first identifier, 5 incluir, en el fichero contenedor, un segundo identificador de la estructura de datos de medios dentro de la estructura de datos de medios, siendo el segundo identificador igual al primer identificador, 13, El método de acuerdo con la reivindicación 10 que comprende además:13, The method according to claim 10 further comprising:
- 610 include, in the container file, a list of data references;10 incluir, en el fichero contenedor, una lista de referencias de datos;include, within the data reference list, a data reference comprising the first identifier;incluir, dentro de la liste de referencia de datos, una referencia de datos que comprende el primer identificador;asociar, en el fichero contenedor, los datos de desplazamiento con un índice de referencia de datos a. la lista de referencias de datos, haciendo referencia el associate, in the container file, the offset data with a data reference index a. the list of data references, referencing the 15 índice de referencia de datos a la. referencia de datos que comprende el primer identificad o r;fifteen data reference index to the. data reference comprising the first identifier;usar el índice de referencia de datos para seleccionar una referencia de datos de la liste, de referencias de datos, comprendiendo la referencia de dates seleccionada, un identificador de la estructura de datos de medios. use the data reference index to select a data reference from the list of data references, the selected date reference comprising an identifier of the media data structure.
- 1324. The apparatus according to any of claims 17 to 23; l wherein the shift data is related to a start of the media data structure, the apparatus further comprising:24. El aparato de acuerdo con euaíquiera.. de la,s reivindicaeiones 17 a 23;l en el que los datos de desplazamiento están relacionados con un comienzo de la estructura de datos de medios., comprendiendo el aparato además: 10 means to use the offset data and a location from the beginning of the. media data structure to obtain the media data unit 10 medios para usar los datos de desplazamiento y una ubicación del comienzo de la. estructura de datos de medios para, obtener la unidad de datos de medios,
- 1526. An apparatus comprising:26. Un aparato que comprende: 25 means for forming a container file that includes at least one metadata unit in a media data structure;25 medios para formar un fichero contenedor que incluye al menos una unidad de metadatos en una estructura de datos de medios;means for forming offset data in the container file as a reference to. the location of the media data drive relative to the. media data structure: and medios para formar datos de desplazamiento en el fichero contenedor como una referencia a. la ubicación de la unidad de datos de medios con relación a la. estructura de datos de medios: y 30 means for including an indication that the offset data is related to the location of the media data structure. 30 medios para incluir una indicación de que los datos de desplazamiento están relacionados con la ubicación de la estructura de datos de medios.
- 2133. A computer program product incorporated into a medium readable by 33. Un producto de programa informático incorporado en un medio legible por OJWQIVOI non-transient computer, comprising computer program code configured to, when run on at least one processor, cause an appliance or system:OJWQIVOI ordenador no transitorio, que comprende código de programa informático configurado para, cuando se ejecuta en al menos un procesador, provocar que un aparato o un sistema.: receive a container file that includes at least one metadata drive in a media data structure: reciba un fichero contenedor que incluye al menos una unidad de metadatos en una estructura de datos de medios: receive displacement data: reciba datos de desplazamiento: determine que los datos de desplazamiento están relacionados con una ubicación de la. estructura de datos de medios en el fichero contenedor: y use los datos de desplazamiento como una referencia a la ubicación de la. estructura de datos de medios para obtener la unidad de datos de medios, determine that the displacement data is related to a location of the. media data structure in the container file: and use the offset data as a reference to the location of the. media data structure to obtain the media data unit,
- 223. 4. A computer program product embedded in a non-transient computer-readable medium, comprising computer program code configured to, when run on at least one processor, cause a device □ system:34. Un producto de programa informático incorporado en un medio legible por ordenador no transitorio, que comprende código de programa informática configurado para, cuando se ejecuta en al menos un procesador, provocar que un aparato □ un sistema: form a container file that includes at least one. unit of metadata in a media data structure: forme un fichero contenedor que incluye al menos una. unidad de metadatos en una estructura de datos de medios: form offset data in the container file as a reference to the. location of the media data drive in relation to the. forme datos de desplazamiento en el fichero contenedor como una referencia, a la. ubicación de la unidad de datos de medios can relación a la. estructura de datos de medios: e incluya una indicación de que los datos de desplazamiento están relacionados con la ubicación de la estructura de datos de medios. media data structure: and include an indication that the offset data is related to the location of the media data structure.
Independent claims7
518 paragraphs in 11 sections, as filed
(54) Title: ENCAPSULATION AND DISENCAPSULATION OF MEDIA. (54) Title: MEDIA ENCAPSULATING AND DECAPSULATING.
(57) Summary
Various methods, apparatus and software products for encapsulation and decapsulation of media are disclosed. In an exemplary method for encapsulating media data, a container file including at least one metadata unit is formed in a media data structure. An offset can be determined to be related to a location of the media data structure in the container file, where the offset data is formed as a reference to the location of the media data structure in the media data unit. . An indication is included that the offset data is related to the location of the media data structure. In an exemplary method for uncapsulating media data, a container file is received that includes at least one metadata unit in a media data and offset data structure. The displacement data can be determined to be related to a location of the media data structure in the container file, where the displacement data is used as a reference to the location of the media data structure to obtain the unit of media data.
(57) Abstract
There are disclosed various methods, apparatuses and Computer program products for media encapsulating and decapsulating. In an example method for encapsulating media data, a container file including at least one meta data unit in a media data structure is formed. It may be determined that an offset is relative to a location of the media data structure in the container file, where the offset data is formed as a reference to the location of the media data structure in the media data unit. An indication that the offset data is relative to the location of the media data structure is included. In an example method for decapsulating media data, a container file including at least one meta data unit in a media data structure and offset data are received. It may be determined that the offset data is relative to a location of the media data structure in the container file, where the offset data is used as a reference to the location of the media data structure to obtain the media data unit.
IN CAPS I LIE AND DEBENGAPSULATION OF MEDIA
CAM PO TEC NO LÓS I CO
The present invention relates generally to the use of media file formats, More particularly, the present invention relates to a method for encapsulating the media data signal in a file and a method for deseneapsulating media data data. a file. The present invention also relates to computer program apparatus and products for encapsulating media data in a file and computer program apparatus and products for de-encapsulating media data from a file,
BACKGROUND
This section is intended to provide a background or context to the invention as set forth in the claims. The description in this document may include concepts that could be pursued, but are not necessarily ones that would have been previously conceived or pursued. Therefore, unless otherwise indicated in this document, what is described in this section is not prior art to the description and claims in this application and it is not admitted that it is prior art by inclusion in this section. ,.
A media container file format is an element in the. media content production chain, manipulation, transmission and consumption. In this context, the encoding format (that is, the elementary stream format) refers to the action of a spedir »encoding algorithm that encodes information from contained in a bit stream. The container file format comprises mechanisms to organize the generated stream of hits from
Esta5 this form that can be accessed for local decoding and reproduction, being transferred as a file, or continuous broadcast, using all various storage and transport architectures. The container file format can also facilitate the exchange and edition of the media, as well as the recording of real-time streams received to a file. As such, there may be substantial differences between the encoding format and the container file format,
BRIEF SUMMARY OF THE INVENTION
Various embodiments provide systems and methods for slow encapsulation and disengagement of media.
s
Various aspects of examples of the invention are provided in the detailed description.
According to a first aspect, a method is provided which comprises' receiving a container file that includes at least one metadata unit in a media data structure;
receive displacement data;
determining that the offset data is related to a location of the media data structure in the container file; and using the displacement data as a reference to the location of the media data structure to obtain the media data unit.
According to a second aspect there is provided an apparatus comprising at least one p-ic <cess <li and at least one memory, said at least one memory stored with code therein, which when executed by said at least one processor , causes a device to do at least the following:
receiving a container file that includes at least one metadata unit in a media data structure;
receive displacement data;
determine that the displacement data is related to a location of the. media data structure in the container file :; and use the displacement data as a reference to the location of the media data structure to obtain the media data unit,
In accordance with a third aspect, a computer program product incorporado5 is provided embedded in a non-transient computer readable medium, comprising computer program code configured to, when executed in at least one processor, cause an apparatus or a system:
receive a container file that includes · at least one metadata unit in a media data structure;
receive displacement data;
determine that the displacement data is related to a location of the. media data structure in the container file; and use the displacement data as a reference to the location of the media data structure to obtain the media data unit, a
According to a fourth aspect, a method is provided comprising:
forming a container file that includes at least one unit of m z-ladalos in a media data structure;
form offset data in the container file as a reference to the location of the media data unit relative to the media data structure ;: and include an indication that the offset data is related to the location of the media structure media dates,
In accordance with a fifth aspect, an apparatus is provided comprising at least one processor and at least one memory, said at least one memory stored with code therein, which when executed by said at least one processor, causes an apparatus to perform at least the following:
forming a container file that includes at least one metadata unit in a media data structure;
form offset data in the container file as a reference to the location of the media data unit relative to the media data structure: and include an indication that the offset dates are related to the location of the media data structure. media,
In accordance with a sixth aspect, a computer program product incorporated in a non-transient computer readable medium is provided, comprising computer program code configured to, when-run
Ξ5 on at least one processor, causing an appliance or system:
form a container file that includes at least one metadata drive in a media data structure;
form offset data in the container file as a reference to the. location of the media data unit in relation to the
-media data structure; and include an indication that the offset data is related to the location of the media data structure.
In accordance with a seventh aspect, there is provided an apparatus configured to perform the method of the first aspect.
In accordance with an eighth aspect, an apparatus configured for, performing e! fourth aspect method ..
In accordance with a ninth aspect, an apparatus is provided which comprises, means for receiving a container file including at least one. unit of metadata in a media data structure:
means for receiving movement data;
means for determining that the offset data is related to a location of the media data structure in the container file; and means for using the displacement data as a reference to the location of the media data structure to obtain the media data unit.
In accordance with a tenth aspect an apparatus is provided comprising:
means for forming a container file that includes at least one. unit of metadata in a media data structure:
means to form offset data -in the container file as one. reference to. the location of the media data unit relative to the media data structure: and means for including an indication that the offset data is related to the location of the media data structure.
According to an eleventh example, a method is provided comprising:
Request a. part of a file is one. first request, the primera5 first request comprising an identification of a data structure, the identification comprising a type and an identifier, in which the identifier identifies the data structure among several data structures of the same type.
According to a twelfth example, a method is provided comprising:
receiving a first request that requests a part of a file, the first one, comprising an identification of one. data structure, the identification comprising a type and an identifier, in which the identifier identifies the. data structure between several data structures of the same type;
determine the part of the file, said determination comprising the
Ο /, ΕΡΟΠΜΙ identification of the data structure based on the type and identifier: respond to the first request by transmitting the part of the file.
BRIEF DESCRIPTION OF LDS DRAWINGS
Having therefore described some embodiments of the invention in general terms, reference will now be made to the accompanying drawings, which have not necessarily been drawn to scale, and in which:
The. Figure. 1 shows one. hierarchy, containment example of formal cash structures ·: · I. · □ ;. ¡C ·: · de fichci ·: · inc-Dios de Oi ¿ioniza don International Standardization;
The figure. 2 illustrates a simplified file structure according to the basic ISO media file format;
Figure 3a represents an example of a suitable apparatus for composing media files;
Figure 3b represents an example of an apparatus suitable for unlocking files containing containers;
Figure 4a depicts a flow chart of a method for composing medra files, according to one embodiment;
The figure. 4b represents a flow chart of a method for decomposing media files, according to one embodiment.
Figure 5 represents an example illustration of some function blocks, formats and interfaces included in an HTTP streaming system;
Figure 6a illustrates an example of a normal web server operating as an HTTP streaming server:
The figure. 6b illustrates an example of a normal web server connected to a dynamic streaming broadcast sci • -dar;
Figure 7 schematically shows an electronic device employing some embodiments of the invention;
Figure, β schematically shows a suitable user equipment to start some of the steps from I to I mention:
Figure 9 further schematically shows electronic devices employing embodiments of the invention connected using wireless and / or wired network connections; and
Figure 10 is a graphical representation of an example of a generic media communication system within which i can implement: gave·.-·? these accomplishments,
DETAILED DESCRIPTION
Some embodiments of the present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all, embodiments of the invention are shown. In fact, various embodiments of the. Invention may be incorporated in many different ways and should not be construed as limiting the embodiments set forth in this document; instead, these embodiments are provided so that this disclosure will satisfy the applicable legal requirements. Similar reference numbers refer to similar elements throughout this document. As used herein, the terms data, content, information, and the like can be used interchangeably to refer to data capable of being transmitted, received, and / or stored-: -: l: a-: 11: -1 -: 1 -: - with some embodiments of the present invention. Therefore, the use of any such terms should not be construed to limit the spirit and scope · of embodiments of the present invention,
Additionally, as used herein, the term 'circuitry' refers to (a) hardware-only circuit implementations (for example, call me on analog and / or ci (digital culting) circuitry; (b) circuit combinations and product or computer program products comprising software and firmware instructions stored in one or more computer-readable memories that work together to cause a device to perform one or more functions described in this document: and (c) circuits,
Ξ5 such as, for example, a microprocessor or microprocessors or one. portion of a microprocessor or microprocessors, which require software or firmware for operation even if the software or firmware is not physically present. This dal begin -: 1st icli i Lo na 's? applies to 1 -: -: 1 -: - :. the uses of this term in this document, including in any of the claims, as an additional example, as used in this document, the term 'circuitry<sup>1</sup> also includes one. Implementation comprising one or more processors and / or portion or portions thereof and attached software and firmware. As another example, the term 'circuitry' as used in • this document also includes, for example, a baseband integrated circuit or “Τ application processor integrated circuit for a mobile phone or a similar integrated circuit in a server<sub>s </sub>a cellular network device, another network device and / or another computing device.
As defined in this document, a computer readable storage medium 5, which refers to a non-transient physical storage medium (for example, a volatile or non-volatile memory device), can be distinguished from a computer readable transmission medium that refers to. an ethical signal elentram.
Some additional definitions used in this specification 10 can be described as follows. An encoding format (which may also be referred to as a media compression format) can be related to an action of a specific encoding algorithm that
II encodes content information into a stream of hits. Media data may dsdiniisa 0: 1110 Lina eeeLie-neia on: - The ic-piceeuta ·: ion cc-dilicada do nn ull tell me ρ · : · Γ cjannplo lopiesenlacicn codilized ole i lisian lan aas ro ρι coded osculation- Lina image or images ic lilac ion audio coded ic-ρι codic osculation of graphics. Bcpi codified cscnlacion de mulliincdios noimalmcnlo conforms to luí loimalo of codil lal as H.264 AVC H.2 »: ·:; · HEvC AMR ole. A lichola de lichoio conlcncdoi can be the leading leader in the hearing of the lile de lile, generated in the way that can be used for selection and reproduction. It has been translated as a continuous or continuous broadcast, possibly using all various storage and transport architectures. Additionally, a container file format can facilitate media exchange and editing, as well as recording of
Ξ5 real-time streams received to a file. Metas atas can be understood to understand descriptive structural information about media data.
When storing media data using a container file format, at least part of the metadata can be represented by the file format structures of the container file format. However, a part of the metadata can be represented using a metadata format that is different from the container file format. For example, the metadata format and the tab format · ': e-nl; -nee |.: I · can you specify ;? in different specifications and / or can use díleí in the basic units. elements. For example, the format of fielic-rs · cenlenedoi can be based on a
elements comprising key-length-value triplets, in which the key indicates the type of information, the length indicates the size of the information and the value includes the information itself. The box structure used in the basic ISO media file format can be considered as an example of a container file element comprising a key-length-value triplet. Continuing with the same example, a metadata format can be based on a XML schema (Maneas Extensifale Language),
Some media file format standards include ISO standard media file format (ISG / IEG 14496-12, which can be abbreviated ISOBMFF), MPEG-4 file format (ISO / IEG 14496-14, also known as the MP4 format), ISG / IEG 14496-15 (Garríage of netnwork abstraction laye-r (NAL) unit structured video in the ISO base media file formal, which can be used for H.264 AVC and ·: Η.2 ·: <· HEVC), the High Efficiency Image File Format (ISO / IEG 23006-12, which can be abbreviated HEIF) and the 3GPP file format (Common Project of 3 Gen Wireless Technologies ·: rae ion i CGFF TS 26.244 ,, also known as the 3GF format), The file format for encoding gives video coca labia 'SVC · and the c: tension: -s encoding company videc · multiview (MVG) of H.264 / AVC, as well as the H.265 / HEVG multilayer extensions (MV-HEVC, SHVC ,, 3D-HEVC) are specified as part of
ISQ / 'IEG 14496-15. The ISO file format is the basis for obtaining all the aforementioned file formats, excluding the ISO file format itself,
Some ISOBMFF concepts, structures and specifications are described below as an example of a container file format, on the basis of which the embodiments can be implemented. The aspects of the invention are not limited to ISOBMFF, but rather the description is provided for, a possible basis on which the invention can be partially or totally carried out.
A basic component in the basic ISO media file format is called a box. For example, sample data, encoded data sent from a MovieBox or a. MovieFragmentBox can always reside in a MediaDataBox, Every box can have a header and a payload. The box heading indicates the box type and box size. box in terms of bytes, All media data and its related mefadata can in capsules: · in boxes. A box may include two boxes, and the formal one: of specificity, specifies the types of boxes that are separate from Lina's box of each type. Additionally the ρι essence of some boxes I can be l-licialori to in each licheic- micnlras the pi essence of olías boxes p Liecle sei optional.
In addition, for some types of boxes, you can allow more of the box to be installed in liii fie h-ero. For slowly. the I-asico media file format of the ISO p-uode consider :; To specify a hierarchical structure of the boxes. Each box of the file of the same ISO media p-uecle idenliíicaise measured Lin ceelieie · ele four ca rae I read is' 400 leuiOO ·. A code for which you lack can I recall or in faith an inte reai mi .i al. Measured by Lin e nleio do 22 lit without sin'no assuming Lina certain convei los caladros to ele values? I its Lina a certain eiolonation of the lits and a certain sorting of l.-ylos. . The encal.-ezainienie · can provide the Upo acetic information and the size of the box. Figure 1 shows the example containment hierarchy of box structures.
I3OBMFF.
The ISOBMFF is designed with a wide variety of activities. Smooth cases: Use cases can include> cc-cycle ding. in tercainl.-io> c communication ·, 'the i loca l presentation and eliÍLi nelicla in conlinLio. DilLision in Conlinuo Ada pía li · .. · a Dynamic by HTTP · ΌΆόΗ 'cs an example · ele a fonnalo communicates ·: ion foot uses I7-OBMFF for its ol.j divos. My in Iras DASH I heard ie; i nal moni o was intended as a formal ·: · that is transported by HTTP (Fio lócele · el Tra nslei encía el Hipertexto). tamlien has found uses in pi or lóceles I. 'roasted in 2ΆΡΡ lal come · MEMA> service of mui lid illusion dilus in muH.imcdia.' and broadcasts I'asadas in IF '> F'i ·: · 1 -: -: -: - 1 cl: Inlerncl · by CA'B Padi ·: · :! Diciilal merger on: Óidoc ··. Micnlras some of these piolo ·: ·: · the transmission are I.-¡·: ϋns ·: ·: onals. they are unidirectional. Further. When we are involved, these ice jealousies of the lian emission operate in an environment that is lost.
Of acueiolo with lóOBMFF a liche-re · can ineluii dalos ele meelie-s ·, laclalos that can in coi pora i ss in boxes scp-araelas. The media dates can be ρτορ-oriente d in the media box of the imelaD media and the movie box (moov) can be used to include the metadata. In some cases, for a file to be optional -I sent the eaja melat as the box moov clcl.-in eslai present. The movie box Ίτιοον 'can include one or more p-islands and each track can be id ii in Lina corres ponche le box de clues. A pisla can be p-ei
Ο / ΙΜίΜΟΙ example, one of the following tipc-s: media, suggestion, timed marks, A media track refers to samples (which may also be referred to as media samples) formatted according to a media compression format! and its encapsulates the basic ISO media file format.), A hint hint refers to hint samples, which contain cookbook instructions for building packages for transmission to. through an indicated communication protocol. Kitchen pound instructions can include a guide to building package headings and can include building load, package tooling. In packet payload construction, data residing on other tracks or articles can be referenced, as such, for example, data residing on other tracks or articles can be indicated by a reference to which piece of data is ordered to be copied on a particular track or item in a package during the package building process, can a timed metadata track be reread? to samples that describe referred means and / or samples of suggestions. For presentation of a media type, a media track can be selected. Samples of a track can be implicitly associated with numbers of samples that can be increased, for example, by 1 in the order indicated for decoding samples. The first sample on a track can be associated with sample number 1,
Aja 'Iraq contains a box of Sample Table. The. Table box
Samples comprises, for example, all the time indexing and data of the media samples on a track. The Sample Table box is required to contain a Sample Description box. Description box
Samples includes an entry count field, which specifies the number of sample entries included in the box. It is required that the. Sample Description box contains at least one sample entry. The sample input format depends on the type of handler for the track. Inputs of samples provide detailed information about the type of encoding used and any initialization information about the encoding.
Figure 2 illustrates an example of a simplified file format according to the basic ISO media file format, as shown in Figure ,. 2, file 90 can include box, moov 92 and mdat box 94, and moov box 92 can include tracks. (Iraq and Iraq ·? 8ϊ corresponding to video and audio, respectively.
The ISO media file format does not limit a presentation to be contained in a file. As such, a presentation can be comprised within multiple files. As an example, one file may include metadata for the entire presentation and may thus include all media data to render the presentation independent., Other files, if used, may not be required to return to the basic file format. from ISO media, and can be used to include media data, and can also include used media dates or other information. The basic ISO media file format refers only to the structure of the presentation file. The format of media data files can be limited by the ISO standard media file format or its derived formats only in that the media data in the media files is formatted as specified in the basic media file format. from ISO or sui<sup>:</sup> derived forms.
The ability to refer to external files can be done through data references. In some examples, one. Sample Description box included in each, track can provide one. list of sample entries, providing each. a. detailed information about the type of encoding used and any initialization information required for that encoding. All samples in a slice and all samples in a track fragment can use the same sample input. A portion can be defined as a contiguous set of samples for. a. track. The Data Reference box (drefi. That can also be included in each track, can define a smoothness and exoda
De5 of uniform resource locators (URL), uniform resource names (URN) and / or auto references to the file containing the metadata, A sample entry can point to an index of the Data Reference box (which, in the syntax , can be called DotaFTtaTcncc-Bl ·; i. thus indicating the file that contains the samples of the respective portion or fragment of the track,
DataReferenceBox contains a list of lame that declare the location or potential locations of the media dates referred to by the file, DataReferenceBox is contained in Datal Information Box, which in turn is contained in MedialnformationBox: o MetaBox, Guando .se- contains in the Medial Information Box, each sample entry of the track contains a data reference index referring to a list entry of the box list or boxes in the DaLaRalai anco Box. When contained in the MetaBox, the Item Location Box provides, for each item, the data reference index that references a list entry in list <l? box or boxes in the
DataReferenceBox, The box or boxes in the DataReferenceBox ae extend from FuIIBox, that is, they contain the version and the flag fields in the box header. Two types of pyre boxes have been specified to be included in the DataReferenceBox: DataEntryUrlBox and DataEntryUmBox provide a URL and URN data reference, respectively, When the least significant bit of the flag fields of either DataEntryUrlBox or DataEntryUmBox equals 1 the respective reference Data ae refers to the container file itself and no URL string is provided □ URN in the DataEntryUrlBox or the DataEntryUmBox.
The movie snippet feature can enable splitting the metadata that might otherwise reside in the box, of movie into multiple pieces, each piece may correspond to a certain time period of a track. In other words, the movie snippet feature can enable interleaving of file metadata and media data. Accordingly, the size of the film box may be limited and the above mentioned use cases be realized.
In some examples, the media samples for the film fragments may reside in a modal box. if they are the same file as the maov box. For the metadata of the film snippets, however, a moof box can be provided. The moof box may include information for a certain length of playing time that would previously have been in the moov saja. The moov box can still represent a valid movie, by itself, but it can also include an mvex box that indicates which movie clips will still be in the same file. Film snippets can extend the presentation associated with the moov box in time,
Within the movie clip can be a set of track clips, anywhere from zero to one plurality per track. The íiacmanl ·: · d? ρ Islands can in turn include anywhere from scratch to a plurality of run runs .. each, one of whose document -is a contiguous run of samples for that run. Within these structures, many fields are optional and can be default. The metadata that can be included in the moof box can be limited to a subset of the metadata that can be included in a moov box and can be coded differently in some cases., Detail bs regarding the boxes that can be included in a 5 moof box can be found to. from the ISO standard media file format specification, A movie clip. Independent can be defined to, consist of one. box, moof and one. box, mdat that are consecutive in the file order and in which the. box, mdat contains the samples of the film fragment (for which the moof box provides the metadata) and does not contain samples of any other film fragment (i.e. no other moof box).
The basic ISO media file format contains three mechanisms for timed metadata that can be associated with particular samples: groups of samples, timed metadata tracks and auxiliary information for samples. The derived specification may provide similar functionality with one or more. of these three mechanisms.
A grouping of samples in the basic ISO media file format can be defined as an assignment of each sample on a track to be a member of a group of samples, based on a criLei i ·: · el ·? clustering.
A group of samples in a group of samples is not limited to being contiguous samples and may contain non-adjacent samples. Already. that there is more than one grouping of samples for the samples - on one track, each grouping of samples can have a field of ti | x · to indicate the type of grouping. The displayed groupings can be represented by two linked data structures: (1) a SampleToGroup box (sbgp box) represents the assignment of samples to user groups: and · 2 · a SampleGroupDescription box (box, sgpd) contains an entry of sample group for, each sample group describing the group properties. There can be multiple instances of the SampleToGroup boxes and
SampleGroupDescriptlon based on different grouping criteria., These can be distinguished by a type field used to indicate the type of gr ouping, The boxes 'sbgp' and 'sgpd' can be linked using -the value of group¡ng_type and ,, in some versions of the boxes, also the value of group¡ng_type_parameter, The box 'sbgp indicates the index of the entry of 14 description of the group of samples to which a particular sample belongs,
File them | liü if they conform to the ISOBMFF they can contain any timed objects, named as articles, meta articles or metadata articles, in a meta box (four character code; 'meta') ,. While the name of the meta box refers to metadata, articles can generally contain metadata or media data. The meta box can reside at the top level of the file, within one. box, movie (four character code ·: 'moov') and inside a box, clues (four character code: 'Iraq')., but at most one meta box can be produced at each of the file level , movie level or track level. The meta box may be required to contain a 'hldr box indicating the structure or format of the box contents,' meta<sup>1</sup>. The meta box can list and characterize any number of articles that can be referenced and each one of them can be associated to a file name and they are identified unequivocally with the file by means of an article identifier (item_id) which is an integer value. Metadata can be stored, for example, in the 'dat' box of the meta box or in an 'mdaf box or reside in a separate file. If the metadata is located external to the file then its location can be declared by the DatalnformationBox (four character code: 'dinf'), In the specific case that the metadata is formatted using XML syntax and it is required to be stored directly in the MetaBox, metadata can be encapsulated in either the XMLBox (four character code: 'xml') or the B i na and XMLBox (four character code: 'bxml'Jl ·, An article can be stored as a contiguous byte interval or it can be stored in several extensions, each being a contiguous byte interval, In other words, articles can be stored fragmented in extensions, for example to enable inlcrcalad · : ·. An extension is a contiguous subset of the resource's bytes: the resource can be formed by concatenating extensions.
To support more than one meta box at any level of the hierarchy (file, movie, or track '·. Can you use? A meta box container sheet (' meco ') as a basic ISO media file format. metaboxes can carry any number of additional metaboxes at any level of the hierarchy (file, movie or track) This can allow, for example, the same metadata to be presented in two different and alternative metadata systems. The meta box relation box ('mere') can enable the description of how different meta boxes relate to each other, for example, if they contain exactly the same metadata (but described with different schemas) or if one represents a supercon together of other,.
High Efficiency Image File Format (HEIF) is a standard developed by the Moving Images Expert Group (MPEG) for storing images · and image sequences. The standard facilitates the encapsulation of data files encoded in accordance with the High Efficiency Video Coding (HEVG) standard. HEIF includes a rich set of features that are built on top of the Basic ISO Media File Format. (ISOBMFF) used,
HEIF enables a wide range of use cases ranging from still image capture, storage, and sharing to multiple image use cases, such as image burst sharing or image storage sets for the purpose of image processing. Through computational photography, computational photography forms a new category of use cases that- can benefit from the HEIF, A set of related images can be stored in a single file with associated metadata indicating relationships between different snapshots. Examples of such emerging use cases include refocusing the shot by selecting an image or with a desired focus. from a set of snapshots captured at different focal lengths, high dynamic-range photography by combining snapshots with different exposures and constructing images or mn ids that are panoramic or from a set of snapshots with
Ξ5 connected scenery,
The structures and characteristics of ISOBMFF are used to a great extent in the design of HEIF and HEIF files also conform to ISOBMFF, the basic corduroy design. HEIF understands that still images are stored as articles and image sequences are stored as tracks. Any number of image items can be stored in the same file.
In the context of HEIF, the following boxes can be contained within the root level 'meta' box and can be used as: · des ·: i ¡l.-a below. In HEIF, the handle value of the handle box of the 'meta' box is 'pict', The resource (if within the same file n in an external file identified by a uniform resource identifier) that contains the encoded data of media is resolved through the Data Information box ('dmf<sup>1</sup>), while the Item Location box ('read') stores the item position and sizes within the reference file. The Item Reference Box ('ref<sup>1</sup>) documents the relationships between articles using written reference, If there is an article among a collection of articles that should be considered in some way. more important compared to others, then this article is marked by. Primary Item box f'pitM in addition to the boxes mentioned on osl ·? Document, the 'meta' box is also flexible to include other boxes that may be necessary to describe items.
Internet media types, also known as MIME (Multi-purpose Internet Mail Extension) types, are used by various applications to identify the type of a resource or file. MIME types consist of a media type, a subtype, and zero or my optional parameters,
As described, MIME is an extension to an email protocol that makes it possible to transmit and receive different kinds of data files on the Internet, for example, video and audio, images, software, etc. An internet media type is an identifier used on the internet to indicate the type of data a file contains. Such internet media types can also be called content types. There are several MIME type / subtype combinations that can indicate different media formats. Content type information can be included using a. streaming entity in a MIME header at the start of a media stream. A receiving entity may therefore need to examine the details of such
Ξ5 media content to determine if specific elements can be converted given an available set of codes. Especially, when the end system has limited resources, π the connection to the end systems has limited bandwidth, it can be useful to know from only the content type if the content can be converted,
Two parameters, 'codees' and 'profiles', are specified to be used with various types of MIME or type / subtype combinations to allow ambiguous specification, from the codes used by the media formats contained within or the profile or profiles of the format general container.
By tagging content with the specific codes indicated to convert the contained media, receiving systems can determine if the end system supports the codes, and if not, can take appropriate action (such as reject content, send status notification, transcode the content to a supported type, I will search to Install the required codes. Further inspection to determine if it will be sufficient to support a subset of the Indicated codes, etc.)., For file formats derived from ISOBMFF, the codee parameter can be considered to contain a comma-separated list of one or more list items. When a codee parameter list item represents one. track of an ISOBMFF compliant file, the f0 list item may comprise a four-character code from the track's sample entry ..,
The Profiles MIME parameter can provide a general indication to the receiver of the specifications that the content complies with. This is an indication of the compatibility of the container format and its contents to some specification. The recipient may be able to work the care of the. You can try and convert the content by examining to see which of the declared profiles it supports and what they mean. The profiles parameter for an ISOBMFF file can be specified to include a list of the compatible marks included in the file.
Hlpertearto Transfer Protocol (HTTP) is widely used for real-time multimedia content distribution over the Internet, such as in streaming video applications. Unlike the use of the Real-time Transport Protocol (RTP) over the User Datagram Protocol (UDPj, HTTP is easy to configure and is usually allowed to pass through firewalls and network address translators (MAT), which makes it attractive for multimedia streaming applications.
HTTP chunk transfer (also known as chunk distribution) packages the payload structure, for example, of an HTTP QET response, to transfer it as a series of chunks, each with its own size indicator . Portion transfer encoding enables content streams of unknown size to be transferred as a delimited length buffer sequence, which it enables. that the sender retain, persistence of connection and that the receiver knows when it has received all the message.
1fl
International Standard ISO IEC 2> »3-1 specifies dynamic adaptive streaming, over HTTP (DASH). Some concepts, formats and operations of MPEG-DASH are described below as an example of a video streaming system, where the embodiments can be implemented. Aspects of the. The invention is not limited to MPEG-DASH, but rather the description is provided for a possible basis on which the invention may or may not completely or completely.
In dynamic optional ad continuous broadcast over HTTP (DASH), multimedia content can be captured and stored on an HTTP server and can be distributed using HTTP., The content can be stored on the server in two parts: Media Display Description (MPD) , which describes a manifest of the available content, its various alternatives, its URLs and other characteristics; and segments, which contain the current multimedia hit streams in the form of portions, in a single or multiple files. To reproduce the content, the DASH client can obtain the MPD, for example, using HTTP, email, USB memory stick, broadcast or other transport methods. By analyzing the MPD, the DASH client may be aware of the program timing, availability of media content, media types, resolutions, minimum and maximum bandwidths, and the existence of various multimedia component encoding alternatives, features of acc? s¡! 'ilidad y gestión de <teic ch «. digital. C'FTb ιο · | uei idos. locations of media components - on the network and other content features. Using this information, the DASH client can select the appropriate encoding alternative and initiate it. continuous dissemination of content looking for segments
Ξ5 using, for example, HTTP GET requests, After buffering to allow for network throughput variations, the client can continue to search for subsequent segments and also monitor network bandwidth fluctuations. The customer can decide how to adapt to the available bandwidth by searching for different alternative segments (with higher or lower bit rates) to maintain adequate buffer memory.
The Media Presentation Description (MPD) can provide information for clients to establish dynamic adaptive streaming, over HTTP, MPD can contain information that describes media presentation, such as a uniform HTTP-locator resource iUPL · do each Soqrnonto to make the GET Gcsimento request. In DASH, hierarchical data model can be used to structure media presentation as summarized below, A media presentation can comprise a sequence of one or more Periods, each Period can contain one or more Groups, each Group can contain one or more Adaptation Sets, each. Adaptation Set may contain one or more Representations, and each Representation may comprise one or more Segments ·, A Representation is one of the alternative choices of media content or a subset of it that may differ by choice of encoding. for example, using bit rate, resolution, language, code, etc. The Segment may contain a certain duration of media data, and metadata to decode and present the included media content. Can a Segment Identify You? using a Uniform Resource Indicator (URI) and can I soli? Lais? Using an HTTP GET request, a Segment can be defined as a unit of data associated with an HTTP-URL and optionally a byte range specified by one. MPD ..,
A DASH service can be provided as an on-demand service, or a live service. In the first, the MPD is static, and all the Segments of one. Media Presentation are already available when a content provider publishes an MPD, however, the MPD can be static or dynamic depending on the method of Segmenta URL construction used by an MPD and Segments can be created continues as content is produced and publishes for DASH clients
Ξ5 through a content provider. Segmenta URL construction method can be either a template-based Segmenta URL construction method or the Segmenta list generation method. In the former, a DASH client may be able to construct Segment URLs without updating an MPD after requesting a Segment, In the second, a customer
DASH may need to periodically download updated MPDs to get the Segment URL., For live service, therefore, the template-based Segmenta URL construction method may be superior to the Segmenta list generation method ..,
In the context of DASH, the following definitions can be used 'an ojummoi nwwni media content component or a media component can be defined as a continuous component of media content with a type of media component assigned that can be individually encoded into a media flow. Media content can be defined as a period of media content or a contiguous sequence of periods of media content. The media content component type can be defined as a single media content type ta.1 as audio ,. video or text. A media stream can be defined as one. encrypted version of a media content component,
An initialization segment can be defined as a Segment containing metadata that is necessary to present the media streams encapsulated in Media Segments. In ISOBMFF based segment formats, an i π localization segment can comprise the film box f ' rnoov ') which might not include metadata for any sample, i.e. no metadata is provided for samples in Ίτιοοί' boxes.
A Media Segment can be defined as a Segment that complies with the container file format and / or the media format or formats in use and enables, playback when combined are zero or more s: - Previous segments and an initial segment. hoisting (if any). A Media Segment may contain a certain duration of media data for playback at normal speed, such duration may be referred to as a Media Segment duration or Segment duration, The content producer or service provider may select the Segment duration accordingly with the desired characteristics of the service ... For example, one can be used. relatively short duration of
Segment into a live service for short end-to-end latenoia. The reason is that the duration of Gecimento can be a lower jump in the end-to-end latenoia perceived by a DASH scent since a Segment is one. Discrete media data generation unit for DASH., Content generation can be done in such a way that a whole
Media data segment is made available to a server. Additionally, many client implementations may use a Segment as the unit for GET requests, Ports much, in some provisions for live services a Segment can be requested through a DASH client only when all the Media Segment duration is, available as well as coded and eneapeulacla on a Segment, For service on demand, Different Segment duration selection strategies can be used,
A Segment can be further divided into His bsegments eg, for, he has 1.111101 dropped it · :; to eleman them in multiple parts. Subsegments may be required to contain complete access units. Subsegments can be indexed by Segment index box or boxes (which in syntax can be referred to as Segment ndexBox), which contain information to correlate display time interval and byte interval for each Subsegment, Box, Segment Index also can describe subsegments and access points to flow in the segment by signaling their durations and byte offsets, A DASH client can use the information obtained from the Segment Index boxes (s) to make an HTTP GET request for a specific bseg ment using byte interval HTTP request, If a relatively long Segment duration is used, then Subsegments can be used to keep the size of HTTP responses reasonable and flexible for bit rate adaptation. Indexing information for a segment can be put into a single drop at the beginning of that segment, or spread across many indexing boxes in the segment. Different propagation methods are possible, such as hierarchical, daisy chain, and hybrid. This technique can avoid adding a large box at the beginning of the segment and therefore can avoid a possible initial download delay.
Each media segment can be assigned a unique URL (possibly with a byte range), an explicit or implicit index and start time and duration. Each media segment can contain at least one access point to the stream, which is a random access or switch to point in the media stream where decryption can be started using only data from that point onwards.
To enable downloading of segments in multiple parts, a subsegment signaling method can be used using a Segment Index box. This box describes subsegments and access points to the flow in the sediment signaling their durations and byte displacements. The DASH client can use the Indexing information to request subsegments using partial HTTP GET requests. The. Indexing information from a sc <im? nto can be put into a single box at the beginning of that segment or,: · ι ·: · |: <ι ·: |.; ιΐί.ϋ among many cl boxes? indexing in the segment. Different propagation methods are possible, such as hierarchical, daisy chain, and hybrid. This technique can avoid adding a large box at the beginning of the segment and therefore can avoid a possible initial discharge delay,
MPEG-DABH defines both segment container formats for
Basic Format ·: · gives ISO Media Fichoic * and MPEG-2 Transport Streams, Other specifications may specify segment formats based on other container formats, eg. A sc-amcnto format has been proposed based on the Matroska container file format and can be summarized as follows. When Matroska files are transported through DASH segments or the like, the association of DASH units and Matroska units can be specified as follows, A subsegment (of DASH) can be defined as one or more
Consecutive groups of content encapsulated in Matroska, A DASH initialization segment may be required to contain the EBML heading, Segment heading (from Mafrosl <to · Segment information (from Matroska) and Tracks, and may optionally comprise other elements of level and fill A DASH Segment index can comprise a
Clue Element of Matroska,
DASH supports rate adaptation by dynamically requesting Segments of
Means and / or Subsegments of different Representations within an Adaptation Set to match variable network ba.nda.de width, When a DASH client switches orril or al • aj ·: · Representation, it may be necessary to take into account the dependencies Coding within Representation., In media decoding, a Representation switch can occur only at a random access point (RAP), which can be used in video encoding techniques such as H.2 <: - 4 AVC. To avoid requesting and transmitting media data that will not be de-edited, RAPs can be aligned at the beginning of Media Segments and / or Subsegments, and the MPD and / or Segment index box can be used to indicate RAP alignment in the beginning of Segmentas d? Media and ·: · Bul -segments. Consequently, DASH clients may be able to determine | li¿- Segments and / or Subsegments to request so that when the Representation switch is performed the first cecimc-nto and / or Subsegment of a destination Representation starts with a RAP and the segments and <Sul -socimontos of the Source and destination representation are aligned (in time), In DASH, a more general concept called Flow Access Point (SAP) is introduced for, provide a codee independent solution to access. a Representation and toggle between Representations, In DASH, a SAP is specified as a position in a Representation that enables, playback of a media stream to. start using only the. information contained in Representation data that is started from that position onward (preceded by data from startJizaeion in the
Initialization Segment, if any), So Rendering switching can be done in SAP,
Continuous diffusion systems similar to. MPEG-DASH include, for example, Live Streaming over HTTP (also known as HLS), specified in the IETF Internet Draft draft-pantos-http-live15 streaming-13 (and other versions of the same Internet Draft) . As a manifest format that corresponds to the MPD, HLS uses. An extended M3U format, M3U is a file format for multimedia playlists, originally developed for audio files. An M3U Playlist is a text file consisting of individual lines, and each line is a
URI, blank, or starts with the 'tf character indicating one. tag or comment. A URI line identifies, a media segment, or a playlist file. Tags start with #EXT „The HLS specification specifies a number of tags, which can be considered as key-value pairs. The. tag value part can comprise one. list. of attributes, which is one. comma-separated list of attribute-value pairs, in which an attribute-value pair can be considered to have the syntax AttributeName = AttributeValué. Therefore, HLS M3UB file tags can be considered similar · to. Elements in MPD or XML, and attributes of HLS M3UB files can be considered similar to. Attributes in MPD or
XML, HLS Media Segments are formatted according to the MPEG-2 Transport Stream and contain a single MPEG-2 Program. It is recommended that each media section start with a Program Association Table (PAT) and a Program Correspondence Table (PMT),
A version 5.1 of hypertext markup language (HTML 5.1) supports a
OJWQIVOI The number of use cases in which the content author can use multiple image resources from which a user agent (for example, a web browser) can choose. For example, different users might have different environmental characteristics; Authors may want to display the same image content, but with a different conversion size and / or use different image formats; and / or the authors may want to show different content of images,
Below, some non-limiting examples of environmental characteristics will be briefly discussed. The physical screen size of user device 10 could be different from device a. Another, as an example, a mobile phone screen could be smaller than a laptop screen. This difference may only be relevant when a converted image size depends on a display sector size. The screen pixel density of the user device may also be different on different devices. Different devices may additionally have different pixel densities regardless of physical screen size. For example, a mobile phone screen could have more physical pixels per inch compared to one. screen of another mobile phone. There may also be differences in magnification levels between devices, or the magnification level may change for a single user over time. As an example, a user could expand one. particular image to be able to get one. detailed view. The magnification level and screen pixel density can both affect the number of physical screen pixels per p¡ <.: l of · GGG lenquaj ·:: slil ·: · cascading). This ratio can be referred to as a pixel ratio per device. Additionally, the screen orientation may be different on different devices, or it may change for a single user over time. As an example, a tablet computer can be held vertically or rotated 90 degrees, so that the screen is either in portrait or landscape,
There may also be differences in user network speed, network latency, and bandwidth cost, or it could change for a single user over time. A user could be using a low cost, low latency, and fast connection at work, a low cost, low latency, and slow connection at home and one. variable cost connection, high latency and variable speed anywhere else,
Below, they will provide some non-limiting examples of displaying the same image content, but with different converted size and / or using different image formats. Selecting a converted size may depend on, for example, a width of a display sector. This can be referred to as display sector based selection.
A web page could have an ad at the top that always covers the entire width of the display sector. In this case, the converted size of the image depends on the physical size of the screen (assuming a rm sxi m left navigation window),
Another web page could have images in columns, with a single column for, screens with a small physical size, two columns for screens with a medium physical size and three columns for screens with a large physical size, with images that vary in size converted in each case for, fill in the display sector. In this case, the converted size of an image may be larger in a one-column layout compared to the two-column layout, despite the smaller screen size.
Web content authors may want to display different content of images depending on the converted image size. This may not seem like the suspicious π of art.
When a page is viewed on a large physical size screen (assuming a maximized browser window), the author may wish to include some less relevant parts surrounding the critical part of the image. When the same web page is displayed on a screen with a small physical size, the author may wish to display only the critical part of the image.
Authors of p-á-ziinac. Websites might want to display the same image content, but using different image formats, depending on which image format or formats the user agent supports. This is normally referred to as image format based selection.
A web page might have some images in JPEG (Mixed Photography Experts Group) image formats. VfcbP and JPEG XR (Extended JPEG Range), with the last two apparently having better capabilities than D>? c-jinpic-sion compared to JPEG. Since different user agents can support different image formats, with some formats offering better compression ratios, the author may wish to serve the best formats to user agents that support them, while providing JPEG as an alternative to image agents. user that doesn't support better formats,
The above situations are not mutually exclusive. For example, it may be reasonable to combine ditoionl · :, resources for, different relationships from pfxel to. device with different resources for art direction.
HTML 5.1 as well as older versions of HTML include a 10mg element that represents an image. The ¡mg element can include an src attribute, referring to a non-interactive and optionally animated imoqen resource that is neither paged nor written. Since older HTML versions also parse the src attribute, the image provided to . through the src attribute the default or alternative image can be considered,
The img element could also contain a srcset attribute, if present it contains one or my can didata image strings. Separated by Gomas.
A chain of candidate images may comprise the following components, in order, with the additional restrictions described below this list. First, the candidate Image can contain zero or more space characters; then a valid non-empty uniform resource locator (URL) that does not start or end, with a comma character (J, referencing a non-interactive and optionally animated image resource that is neither paged nor written. After the uniform resource locator there can be zero or more characters<sup>1</sup> of space followed by zero or one of a width descriptor and a pile density descriptor. Finally, there can be zero or more space characters.
The width descriptor can comprise a space character, a valid non-negative integer that provides a number greater than zero representing the width descriptor value, and a Latin lowercase tetra character w.
The pile density descriptor can comprise a space character, a valid floating point number that provides a number may · ?! gives oero representing the pixel density descriptor value and a caira ·: ler of Latin lowercase letter x.
Descriptors can be used to characterize the candidate image and therefore to select an appropriate image that meets the desired characteristics,
The ¡mg element may or may not be contained in a snapshot element in
HTML 5.1,
HTML 5.1 includes- the snapshot element, which contains zero or more font elements, followed by a mg element. The snapshot item is a container that provides multiple sources to your img content element to allow authors to declaratively control or provide suggestions to the user agent about which image resource to use, based on screen pixel density, size of visualization sector, image format and other factors. Represents your children.
The font element- within a snapshot element can allow authors to specify multiple alternative font sets for img elements. The font element within a snapshot element can- Include the sreset attribute, can and conditionally have- to Include -the sizes attribute, when the arcaet attribute includes a width descriptor between- any string of canddata images, optionally includes the media attribute and optionally includes- the type attribute. The media attribute contains a valid media query list. The type attribute contains a valid MIME type. Attributes of sizes, media and type, when present, can characterize the set of sources'. Is d: -c¡i. The images identified in the isset attribute of the same source element and can therefore be used to select an appropriate set of sources that meet the desired application preferences. In addition: from this set of sources, an appropriate image can then be selected,
The links are conceptual constructions, created · using the elements aisa and link, '.¡li ·: · represent a connection between two resources, one of them is a current document, There can be two kinds of links in HTML, the first one type is a link to an external resource. Links to external resources can be used to augment the current documents, generally automatically processed by -the user agent. The second type is a hyperlink. Hyperlinks are links to other resources that are generally
2fl expose the user to either the user or the user so that the user can cause the user to navigate to. those resources, for example, to visit them in a browser or download them.
For link elements with an href attribute and a laugh attribute, links should be created for the keywords of the laugh attribute, as defined for those keywords. Similarly, for elements and area, with an href attribute and a laugh attribute, links should be created for the keywords of the laugh attribute as defined - for those keywords. Unlike link elements, however, elements to and area with an href attribute that either does not have a laugh attribute, or whose laugh attribute does not have keywords that are defined as specifying hyperlinks, you should also create a hyperlink. This implicit hyperlink may not have any special meaning (it does not have a type of link · beyond Jo link the element's node document to the resource provided by the element's href attribute,
A number of link types have been '.pc-ciík ed in HTML 5.1 as well as in other specifications. A link type is specified as a specific character string, used as the value of the reí attribute. For example, the type of in the ·: a cl: - pre-search specifies that the target resource should be cached preventively,
A uniform resource identifier (URI) can be defined as a string of characters used to identify a resource name. Such identification enables interaction with representations of the resource across a network, using specific protocols. A URI is defined to. via a schema that specifies a specific syntax and associated protocol for the URI. A URI comprises a schema part (which identifies, for example, the protocol for, the URI) and a hierarchical part that identifies the resource, and these two parts are separated by a colon. A URI may optionally comprise a query part -separated ρ »: · ι cl: ai 0-: 4: -1<sup>-</sup> '?' · V>: a fragment part '.separated ρ>: · ι cl character The Uniform Resource Locator (URL) and the Uniform Resource Name (URN) are forms of URIs. A URL can be defined as a URI that identifies a web resource and specifies the means of acting on or obtaining representation of the resource, specifying both its primary access mechanism and network location. A URN can be defined as a URI that identifies a resource by name in a particular namespace. A URN can be used to identify a resource without implying its location how to access it,
URL fragment identifiers (which can also be referred to as forms of URLs) can be specified so that a particular content type accesses a part of the resource, such as a file, indicated by the basic part of the URL (without the fragment identifier ). Identifiers for URLs can be identified, for example, by a pound character ('#') within the URL. To, the ISOBMFF, it can be specified that URLs #X refer to a track with track_ID equal to X, # ¡Tem_ID = and # ¡tem_name = refer to. File level meta box (s), # / item_ID = and # item_name = refer to, the meta box (s) in the. movie box and * track_l D = Mtem_ID = and # track_ID = Witem_name = refer to. meta boxes on the track with track_ID equal to X, including meta boxes potentially found in movie clips.
In ISOBMFF the exact location of samples referenced by a TrackBox (i.e. excluding samples referenced by movie snippets) can be calculated using information provided by (a) DataReferenceBox (b) SampleTaGhunkBox (εή ChunkOffsetBox and (d) SampleSlzesBox, Additionally, the location of a sample Involves an offset calculation using the File Start. For samples referenced by movie snippets, the exact location of samples can be calculated using Information provided in TrackFragmentHeaderBox, and TrackFragmentRunBox, and the location of a sample can involve a calculation of an offset using either the Start of file □ or the start of the Box, from Film Fragment as a reference. The use of offsets can convert the unstable file to any edition. For example, it may be sufficient to simply add or delete a byte between the start of a file and a Med iaDataBox to destroy the calculated offsets and convert the file to non-decodtf¡cable. This means that any entity that is editing a file should take care to guarantee that all the displacements calculated and established in the file must be valid since it complies with its edition,
URL snippets enable requesting a part of a file or resource, per instance, using an HTTP GET request. However, if the file subject to partial reception using URL snippets uses addressing relative to the start of the file, it may be difficult for a server to return to a valid resource that
OJWQIVOI complies with the file form (eg ISOBMFF) or it may be impossible for a player to parse the resource ·. | U: - results from the resolved request.
Two different examples of use cases that result in partial file reception will be provided below,
The first example refers to intentional partial file reception. In this example, a container file is available on a server. The container file contains media tracks and / or articles, outside of which · a subset is sufficient for. Consumption (for example, displaying or reproducing). For example, the container file may be an image container file, which contains the same original image in multiple encoded versions, for example with different codes and at different spatial resolutions. It is sufficient to search for a subset of the · encoded images for display n, for example, a thumbnail image, which can be displayed while another image suitable for the. display resolution is being downloaded. The client therefore requests, a subset of media tracks and / or file items individually or in suitable groupings, A single container file may be preferable ·· for content management in sci vid ·: ·! se i vid i ss> · cn content distribution network or networks,
The second example refers to accidental reception of -partial file,
Files can be transmitted using unreliable protocols »such as the · MHMS file distribution stack (multimedia broadcasting and multicast service specified by the Third Generation Joint Wireless Technologies · Project, 3GPP). It can be assumed that losses can be detected so that it is known · if a box has been. incompletely received. However,
Ξ5 parts of received files may be missing. A recipient may not be able to easily determine if a partially received file is valid or compliant. It may be appropriate to store the received file partially in a way in which the file ¡is indicated to conform to a format, such as ISOBMFF, in which the file is indicated or assumed to be error-free,
Similarly, it may not be appropriate to process the partially received file with a file analyzer and / or media decoder or decoder that assumes an error-free file and / or error-free media stream or bit streams, respectively,
What if the boxes lipas I3OBWIFF allows valid boxes of the same four-character code to appear at the same level in the file hierarchy. For example, it is allowed to have several MediaDataBox at the root level of the file. Certain boxes may contain references or the like to other boxes, for example, using offsets, such as offsets relative to the beginning of the file. For example, a MovieBox contains references, such as slice offsets, that can refer to content in one or more MediaDataBox. When a file is partially received, you need to ensure that the integrity of such references is maintained, in order to parse the file correctly,
A streaming unit (Segment or Subsegment) in DASH can comprise one □ more independent movie snippets, in which a separate movie snippet can comprise a MovieFragmentBox and the MediaDataBox containing the media data described in the MovieFragmentBox), This layout may incur a delay in the distribution of live content, since the transmission unit can you do? only-amenle available after all your media data has been Godified, For example, a segment duration of 1 second can cause almost the same encoding delay and file encapsulation (plus the processing delay incurred in the coding and overriding) to make the segments available.
According to one embodiment, file level boxes can be made autonomous, as well as independent of the cash flow and presence of other file level boxes. Such a file may be referred to as a reordable file. In one embodiment, the file and / or in a file description indicate whether the file is reordable. In one embodiment, said indication is made by including a specific mark in the FileTypeBox indicating that the file is reordable. In one embodiment, the specific flag indicates that all MediaDalaE ·: · / inc Invents an identifier and that all internal media data references of files are related to the rc-cpecliva ModiaDalaB ·: ·· -;
which contains the media data. In one embodiment, a player in accordance with the brand operates as follows. When a MediaDataBox of a particular id_vaiue is referenced (for example, via a data reference as described in another embodiment) but no MediaDataBox with mdatjdentifier equal to ictavalue is present in the file, the player skips processing of the associated track or article, additionally, the player skips the processing of any track or article depending on a track or associated article of this type. The player determines such a dependency, for example, through a track reference or an article reference,
In one embodiment, a box of a box type that is allowed to appear more than once at the same hierarchy level, in the file, such as the root level, is labeled with an Identifier that differentiates it from other boxes in the The same type at the same level of file hierarchy or an Identifier of this type is obtained from the contents of the box. In one embodiment, said labeling or derivation is carried out, only for those boxes □ types of boxes to which references may be made from another box or: boxes.
Since there may be many MediaDataBoxes contained in a π file in a referred file, there should be a way, to unambiguously recognize faith
MedlaDaLaE ·: · '·: η faith that a sample is located. In one embodiment, an ability to recognize a MediaDataBox out of many MediaDataBox is achieved by tagging each. MediaDataBox with an Identifier, There may be methods to tag one. MedlaDataBox which include, but are not limited to, the cliul sntes, Gomo a first example, an identifier value, which can be, for example, an unsigned integer value of a certain bit count, can be set as soon as possible after ·: Ι ·: Ί faith box heading. According to another example a Universal Unique Identifier | UUID) can be set after the box heading of the box ,. In another example, an Identifier, such as an MD5 checksum. it is obtained from a subset of the box contents or from the entire box. box and used to identify the box. As yet another option, reordering can be limited such that a □ more box, or boxes of a certain type Immediately precedes (or succeeds) a MedlaDataBox and contains the Med Identifier. Give it Β «·.
According to one. realization, the displacements, which can also be called addresses or pointers. Indicated in the llchcr ·: · oslan related to the ice of one. box containing the suspicious data. In many cases, addresses can be related to the file level box containing the address data. In one embodiment, offsets indicating samples are related to. MedlaDataBox containing the samples.
Since the offsets can be included in a different file level box than the data the offsets are addressing, a box containing offset can be associated with a box containing the address data attached. In one embodiment, the association can be implemented using a identify or<sub>you</sub> which can be called, for example, a mdatHdentifier, which is included in each. of the MediaDataBox contained in the file or a referenced file, One. hint that you can use data from any of the MediaDataBox: you may need to refer to the MediaDataBox using its identifier, and a heated offset using the start of the MediaDataBox as your reference. The location of article data within a file can be provided by referencing a particular MediaDataBox using its identifier and an offset relative to the start of that particular MediaDataBox.
The ability to rearrange files can make it easier to edit files,
For example, in a situation where a file containing one. first track is added with a second track, sample offsets from the first track do not need to be obtained, when the media data from the second track is placed on one or more different MediaDataBoxes than the media data from the first track . When a track or article is added in a reordable file, its media data can be included in a new MediaDataBox, The MovieBox is attached with a new TrackBox or article information. The location displacement information of the tracks or articles that was already present in the file does not need to be updated, because the displacements are related to the MediaDataBox that transports the
Respectivos5 respective media data. The track location offset information for the added item is related to the recently added MediaDataBox and is therefore also easy to calculate. It's easy to locate the attached MovieBox at the beginning of the file, because no location offset depends on the size of the '' ajas' .juc |? Rc <add MediaDataBox in file order. When a track or article is deleted from a reordable file, it can be checked if no other media data than that of the deleted track or article is present in the MediaDataBox, If so, the MadiaDalaB ·: · 'can delete me without affecting the movements location of the remaining tracks or articles. Similarly, the TrackBox or article information can be removed from the file without a need to recalculate the location and offset of the ic-slanlcs tracks and articles.
In one embodiment, a pan-scientific URL fragment naming scheme is introduced ·: ar boxes d: - file level, a URL using that fragment naming scheme is resolved to a resource consisting of the identified file level strings by the URL snippet. Since there can be several boxes of the same name or type at the file level, the scheme, of naming of fia · :; peanut ·: · da URL also includes means to identify the file level box from another file level box of the same type or name of saja. Pair<sup>-</sup> For example, the MediaDataBox identifier described above may be included in the URL snippet.
In one embodiment, a file and / or file description or representation includes information about the sequence of file level boxes. The information can be considered: - as a directory or a table of contents of the file. This information may be useful, for example, to inform a customer about the download order required for uninterrupted playback. The information can be such that fragments of URLs for file-level boxes can be generated based on the. description, in one. In this embodiment, MediaDataBox identifiers can comprise part of the information about the sequence of file-level boxes. In one embodiment, MedíaDataBox identifiers follow a numbering scheme that can be predefined, for example, in a standard or can be indicated in the information. When a MediaDalaBox numbering scheme is in use, MediaDataBox identifiers may not be present for each
MediaDataBox, but can be obtained from. from the numbering scheme for ... each MediaDataBox.
A partial file reception may be possible. In one embodiment, a receiver may be receiving or there may be rc -: il · ϊ <Ι ·: · file level boxes, the receiver may have a priori information or the receiver may determine from indications in the file and / or In the file description that the file is reordable, the receiver can write, in a received file, those file level boxes that the receiver has received correctly. The receiver can provide the received file to a player, and the player can retrieve the file from a memory, such as random access memory (RAM), flash memory, or solid state disk (SSD). In one embodiment, the player has information a priari or determines, from indications in the file and / or in the description of the file that the file is reordable. For example, the player can receive on one. media display description a MIME type associated with a Representation, and determine from the MIME type profiling parameter, when it includes a tide indicating a reordable file or segments. that the file or segments are reordable. The player can analyze the information of the. file level box sequence. The player can analyze the file level boxes of the received file in the order indicated in the information of the file level box sequence. The player can identify missing boxes from the received file by comparing the boxes available in the received file with the information of the sequence of file level boxes. The player may process missing identified data, for example, by notifying the user and / or requesting missing data from a server, for example, using the URL fragment or fragments associated with the missing file level box or boxes.
According to one embodiment, low latency live streaming may be implemented as indicated a. continuation. In one embodiment, a streaming client can determine, for example, from the description of a Representation, that the segments use relative offsets of McdiaDjlaE'-oc Ρ · ξ · γ example, the streaming client can receive in a media presentation description a MIME type associated with one. Representation, and determine from the MIME type profiling parameter, when it includes a flag indicating the use of MediaDataBox relative offsets, that the segments use MediaDalaR · relative offsets: ·. The streaming client can determine, for example, from the media display description, URL fragments to receive a MovieFragmentBox or a segment header, and a respective MediaDataBox or a payload, segment. The continuous broadcast client can also use the determination of the boxes of the nivc-l file such as the SegmentindexBox. The continuous broadcast client can request the IJRL controls from the. MovieFragmentBox or a segment header, and the MediaDataBox or a segment payload separately, for example, using parallel HTTP connections. In one embodiment, the broadcast client in
ΙΜίΜΟΙ / ΙΜίΜΟΙ continuous uses a URL fragment indicating a particular box or particular boxes, such as boxtad = moof to indicate the MovieFragmentBox of a segment and box_id = mdat to indicate the. MediaDataBox of a segment to request the MovieFragrnentBox and MediaDataBox separately for example, using parallel HTTP connections. In one embodiment, a streaming client may request separately (eg, using parallel HTTP connections) a segment header using a specific URL fragment, such as seghdr as described in another embodiment, and .segment data using another specific URL fragment, such as segpayload as described in another embodiment. In one. In one embodiment, a streaming client can request a segment header using a specific 1 of URLs, such as seghdr as described in another embodiment, The streaming client can determine URL fragment of one or more MediaDataBox for the segment, for example, from the description of the representation. The streaming client can then request separately (for example, using a parallel HTTP connection) the media data of the segment using the determined U RL fragment.
In one embodiment, a server can respond to a URL fragment request with HTTP chunk distribution. The server can transmit first parts of the MovieFragmentBox or the seqm header; nto, and the respective or respective MediaDataBox or the load, useful segment before transmitting s: - :; some parts of it. MovieFragmentBox or the segment header (respectively) and the same or the same MediaDataBox or the segment payload (respectively). The first parts can contain data · up to the edge live, that is to say the data that is available so far, The first parts can limit ·? for:.? ι · for example, the integer number of the TrackFragmentBox and the corresponding media data in one or more MediaDataB ·: ·: ·: say avoiding transmitting partial TrackFragmentBoxes. The intrinsic latency related to file encoding and encapsulation, therefore, can be reduced and can be made as small as the slice duration in slice HTTP distribution,
In one embodiment, a media eneapsulator connects to the server. The media enneapsulator can package at least one encoded media stream into a container file or a segment, The media enneapsulator
OJWQIVOI can provide the first parts of the MovIeFragmentBox and the respective Mecí a a la B ·: · ·: to the server to be transmitted before the end of the encapsulation of the second parts of the Moví eFragment Box and the same MediaDataBox,
Previously on this. It was mentioned that there may be several ways to tag one or more MediaDataBox, In the following, an example of setting an unsigned integer value immediately after the box heading ds la will be described in more detail. box.
The description. syntax, and .. semantics of the MediaDataBox: according to 10 a. san embodiment as indicated below, according to an embodiment:
Tipa ds Caja: 'mdat'
Container: Mandatory File: No
Quantity: wax or more
Syntax aligned (B) class MediaDataBox extends Boxfmdaf) {unsigned ¡nt (32) mdat_¡dentifier¡
I iI <? give it [j: towards the end of the box}
The semantics of the MedraDataBox is as indicated below, according to one embodiment. The type indication (Box Type) reveals that the box is MediaDataBox. The mdat_identifier parameter is a 32-bit unsigned integer that is different from the mdffit_identifier values of the other MediaDataBoxes in the file and therefore allows the identification of this mdat box. The data parameter is the contained media data.
With this, give content, any MediaDalaBo:? N caps I a an the file or a refe file can be identified unequivocally using the mdat_identrfler.
In accordance with one embodiment, a MedraDataBox retention to is identified in a box contained in the DataRLeferenceBox for a track and therefore associated with a data reference index value. When that data- index value is referenced by an input it shows the. Track, displacement or displacements related to the indication of the sample location are related to the MediaDalaE '··? <identified in the box referred to be the reference index value of data.
According to one embodiment, a referenced MediaDataBox is identified in a box, contained in the DataReferenceBox for a MetaBox, and therefore associated with a data reference index value. When the data reference index value is referenced to indicate an item location, for example, in Item Location Box, offset or related displacements. Indication of the item location are related to the MediaDataBox identified in the. box referenced for, be the data benchmark value,
Descriptions of identification of a MediaDataBox in a box, contained in the DataReferenceBox, are described below,
In one embodiment, a new Box Type is specified, for example ·: ·. With a DataEntryldentifiedMdatBox name and a four-character code 'imdt', which can be contained in one. DataReferenceBox. The DataEntryldentifiedMdatBox is specified to contain an identifier for the MediaDatoiE '·: · <icleiida. for example, the 32-bit mdat_identif¡er field. When a file creator writes a file with offset π offsets relative to. a particular MediaDataBox. the file creator includes a
DataEntryldentifiedMdatBox with an identifier of that MediaDataBox in a DataReferenceBox. The file creator below writes the file so that -data reference index of the DataEntryldentifiedMdatBox is associated with the offset or offsets.
In one embodiment, a URL or URN scheme is specified to identify one. MediaDataBox inside the container file. In a. In one embodiment, a URL fragment schema (or equivalently a URN fragment schema) is used as described in another embodiment with a URL or URN indicating the container file. A URL or URN with the fragment part is included (via a file creator) in a Data Reference Uri Box or
DataReferenoeUmBox,
In one embodiment, the URL or URN that identifies the container file is included in the schema part file: and the |? Aila jc-raiquica is empty. An empty hierarchical part can be thought of as indicating a relative URL or URN that is related to a basic URI, which in this case when the URL or
OJUMfWOI as
URN is contained in the file) can be resolved to indicate the container file itself, and consequently an empty hierarchical part can be resolved to indicate the container file. The fragment part can be used to identify the MediaDataBox according to another embodiment. For example, the snippet part can be # box_¡d = mda1 / mdat_¡dentif¡er, where mdatJdentifier -is the value of Identifier of the MediaDataBosc, Generally an example of the URL or URN syntax to include in one. Give the Retel in ·: eUrIBox or DataReferenceUriBox is therefore f¡le :: # box_id = mdatfmdat_identif¡er '<sup>1</sup>.
In a. embodiment, the URL or URN that identifies the container file has 10 a. empty schema part and empty hierarchy part. They can be indicated, for example, by the least significant hit of the container box flag fields (DataReferenceUriBox or DataReferenceUmBox) that the container file itself refers to, or can be determined as. from the contained URL or URN, for example, based on starting with a hash ('*') indicating one. fragment part, that the URL or URN refers to the container file itself,
When a file creator writes a file with offset or offsets relative to a particular MediaDataBox, the file creator Includes, in a DataReferenceBox, a DataReferenceUriBox: with a. URL indicating the container file itself and a fragment of URL indicating the MediaDataBox in a DataReferenceBox, The file creator below writes the file so that the data reference index of the DataReferenceUriBox is associated with the offset □ offsets ..
In a. embodiment, a new bit (for example, the second least significant bit) is used in the flags d-the box heading of a box contained within a DataReferenceBox to ... indicate what offset or offsets if relative to a MediaDataBox of a particular identifier as indicated below. When the least significant bit of the flag fields is equal to 1 and the new bit of the flag fields of is equal to ύ. cl dz-cp-lazcimiento or offsets have a conventional reference point, usually the beginning of the container file., When the least significant bit of the flag fields is equal to 1 and the new bit of the flag fields of is equal to . 1, the box includes one. Identification of the MediaDaljE '··: ·· -: referred and the displacement or displacements are
OJWQIVOI related to the referred MediaDataBox, In one embodiment, when the least significant bit of the flag fields equals 1 and the new Ins Lampee bit of I.andaias of?:. Equal to 1 in a DataFteferenceUrlBox. the url included in the box comprises a url fragment that identifies the
MediaDataBox, according to another, realization. For example, the part of íiacmsnlo can be # box_¡d = mdat / rndat_¡dentÍfier<sub>></sub> where mdatJdentifier is the identifier value of the MediaDataBox, For example, the URL included in the. box can be # boxjd = mdató3456, which refers to the. MediaDataBox with identifier equal to. 3456, In another embodiment, when the least significant bit of the flag fields equals. 1 and the new bit of the ee flag fields equal to 1 in a DataReferenceUrlBox, the URL included in the box, comprises an identifier of the, MediaDataBox (ie it does not need to follow one. URL fragment syntax),
In a. In realization, a new version value (for example, equal to 2) of the box heading, of a box contained within a DataReferenoeBox is used to, indicate that offset or offsets are related to a MediaDataBox of a particular identifier as Indicated to Then, when the least significant bit of the flag fields is equal to 1 and the version campe has the new value, the box includes an ID of the. MediaDataBox referenced and offset or offsets are related to. MediaDataBox referred ,. In a. realization, when the least significant bit of the flag fields equals 1 and the version field equals a new value (for example, 2) in a DataReferenceUrlBox, the URL included in the box, is either π empty or comprises a fragment of url,
When the URL -is empty, the entire container file is indicated, and the offset or offsets have a conventional reference point, usually the beginning of the container file. When the URL includes a URL element, it identifies the MediaDataBox, according to Another embodiment, for example the fragment part can be # box_¡d = mdat / fndat_¡dentifier, where mdat_¡dentif¡er is the value of Identifi every r of the MediaDataBox, For example, the URL Included in the box can be # box_¡d = mdati ^ 456, which refers to the MediaDataBox with identifier equal to 3456. In another embodiment, when the least significant bit of the flag fields is Equal to 1 and the field of version equals a new value (for example 2) in a DataReferenceUrlBox, the URL
The OJWQIVOI included in the box includes a McdiaDabB pointer (: · ': ω: say no nocquire (a fragment URL syntax is required).
In one embodiment, a file parser parsing, a file that identifies a MediaDataBox in a cc-nlc-nested box to the DataReferenceBox operates as follows. A file parser determines from the file (for example, from one. input, sample or from Item Location Box) which Data Reference Index is associated with the offset or offsets used to Indicate the location of media data (for example, for a sample, or for an item, respectively). ,
Based on the data reference index, the file parser finds the correct, contained box (for example, DataEntryldentifiedMdatBox or DataEntryUrlBox in different embodiments) from the DataReferenceBox, The file parser parses the identifier of the included IaDataBox Med in that box, contained correct. The file parser finds the Med iaDataBox that is associated with the identifier, The file parser finds the data referenced by the offset to offsets by essentially adding the offset or offsets at the start of the load, useful from ia M ed IaDataBox, For example, when a data reference with a. URL with an íiaqmonl ·: · box_id = mda1 -.id value in use ·· osla for a chunk, values of chunk_offset in ChunkOffsetBox are related to the start of Med IaDataBox with mdatjdentifler Equal to ¡d_value.
In accordance with an embodiment that does not use the modifications described above in the DataReferenceBox, portion offsets relative to one or more MediaDataBox can be indicated as follows. In
ISOBMFF slice offsets are used to indicate the starting location (within the file) of a set of contiguous samples described in MovieBox., In one embodiment, the offset offset for slices in the ChunkOffsetBox can be defined so that, in instead of calculating the offset from the start of the file, the offset is calculated at. from the beginning of the MedlaDataBox: containing the. portion. To enable -this, the syntax and semantics of the ChunkOffsetBox can be as illustrated below, according to one. realization.
Syntax üli <; n:? Di8í class ChunkOffsetBox extends FullBoxfstco 'version = 0, 0) {unsigned ¡nt (32) entrycount; for (¡= t¡ i <= entrycount; ¡++) {if (version == 1) {unsigned ¡nt (32) mdatjdentifier:
} unsigned ¡nt (32) chunk_offset ·;
} }
The semantics of the GhunkÜffsetBox is as indicated a. Then, according to one embodiment. The version parameter is an integer that specifies the version of this box, entry_count is an integer that provides the number of entries in the. Following table, mdat_identifier is a 32 bit integer that identifies the mdaf box contained within this file or another file as indicated by the dref saja, and ehunk »» ffset is a 32 or 64 bit integer that provides the offset for the start of a portion in your media container file,
The following is an example of how to indicate offset my track execution onlcc relative to one or more MediaDataBox, when fragmentation is used in an ISOBMFF file. First, some examples of boxes will be described.
A TrackFragmentBox handful of ·: i il · ίι ·;. As indicated below, according ·: ·: · η one i limestone one hundred:
Type of Oaja :: 'traf
Container: Film Fragment Box fmoof ')
Mandatory :: No Quantity: zero or more
Within the movie clip, there can be a set of track clip, zero or more per track, Track clips can contain zero or more track runs, which can document one. contiguous run of samples for that track ..
The syntax of the TrackFragmentBox can be as follows, according to one. realization::
a I i <¡n:? d · 8 i: I ass Bring k Fraqment Box extends Boxf'trafjf}
A TrackFragmentHeaderBox can be described as follows, according to one embodiment:
Eyebrow Type: 'tfhd<sup>1</sup>
Container: Track Fragment Box (traf)
Mandatory: Yes
Quantity: Exactly one.
Each film fragment can add oero α more fragments to. each track; and a track fragment can add zero or more contiguous runs of samples. The track fraction heading can configure information and default torque values used for those sample runs.
The syntax of the TraGkFragmentHeaderBox can be as given to. then according to one. realization:
aligned (B) class TrackFragmentHeaderBox 15 extends FullBox ('tfhd', 0, tf_flags) {unsigned int (32) track_ID;
// all of the following are optional fields unsigned int (64) base_data_offset¡: unsigned inl · 521 sample_descript¡on_¡ndex;
unsigned int (32) default_sample ^ durat¡on:
unsigned in1> 521 delaulVsample ^ ize: unsigned ¡nt (32) default_sampleLflags}
According to one. realization, one bit: in tf_flags, such as the third bit:
less meaningful (for example, a result of the bitwise logical operation (tf__flags S. 4) that is not zero) can be used to inform the parser that the anchor to calculate the offsets is based on using the mdat_identif¡er, For example, when tf_flags ¡&. 0x000004- equals 0x000004, it signals that there is no base_data ^ offset present or if it is present, it should be ignored, and the default basic offset is not the start of a moof box even if the flag of default_base_¡s_moof is flagged,
For a TrackRunBox, a bit is defined in tr_flags indicating that the offsets are calculated using mdatJdentÍfiers, The syntax of the TrackRunBox can then be as indicated, then according to ao
44.
one embodiment:
Syntax aligned (B) class TrackRunBox extends FullBaif'trun<sup>1</sup>, version, tr_flags) {unsigned in1 (32) sample_count;
ff the following are optional fields signed int (32) gives; ta_offset 'unsigned i n1 (32) first_sample_flags;
ff all fields in the following matrix are optional f
sample_d urati or π;
sample_size · sample_flags unsigned in1> 32 · unsigned intpE) unsigned in1> 32 · if (version == 0) {unsigned int (32) sample_composilion_tim ·; - I heard I sel:} else {signed int (32) sampleL_GQmposition_time_offset:}} [ sample_count] if (1i liaos ε -: «> O -: .. jü.j4 üxhüüü'M {unsigned in1> 32? mclal idcntifier:
} }
The semantics of the TrackRunBox is as follows, according to one embodiment. The sample_cnunt parameter indicates the number of samples added in this run and also the number of rows in the next one (the row may be empty), data_offaet is added to the implicit or explicit data_offset set in the track fragment header, first_sample_flags provides a conjunction <<1 ·: - l.-andoias for the first sample only of this run, and mdat_identrf¡er is a 32-bit integer that identifies the mdat box contained within this file or another file as indicated by the dref box.
The TraekFragmentHeaderBox syntax can be as follows, according to one embodiment:
al¡ <; ns <li 8 <class TrackFragmentHeaderBox «tends FullBoxf'tfhd ', 0, tf_flags) {unsigned ¡nt (32) track_l D;
all of the following are optional fields unsigned ¡nt (B4) base_data ^ offset;
unsigned in1>? 2¡ sa.mple_descr¡pt¡on_¡ndex;
unsigned ¡nt (32) default_sampleyjdurat¡Qn; unsigned ¡nt (S2) default_sample ^ _s¡Zfe 'unsigned ¡nt (32) default sample flags: unsigned ¡rrt | 32) mdatjdentifier :;
<sup>10</sup> )
According to one embodiment, a bit: in tf_flags, such as the third bit: least significant (for example, a result of the logical bitwise operation (tf_flags & 4) that is not wax) can be used to indicate that the mdat_iderrtrfier field It is present in TnackFragrnentHeaderBox: and what offsets, such as baseL_data_joffset (if present) and data_offset in the TrackRunBox or TrackRunBox are contained in the TrackFragmentBox that also contains this TrackFragmentHeaderBox, are related to the first byte of the data in the McdiaDalaBox: identified. For example, when tf_flags & 0x000004 equals 0x000004, it indicates that mdatjdentifier is present and that offsets are related to the start of the MediaDataBox data that has the identifier or equal to mdat_jdentifier, since TrackRunBox or TrackRunBox do not indicate mdatjdentifier in this realization, all track executions of this track fragm ent may be required to reside on the same MediaDataBox.
Next, we will describe how the location of the article can be indicated in relation to an identified MediaDataBox, according to an embodiment · To enable the same kind of displacement calculation process based on Mc <liaDalaB ·: · in the MetaBox, a new construction method in the ItemLocationBox. This construction method has, for example, a value of 4 and its semantics are described below.
The Item Location Box can des ·: i il.-i is? as indicated below, agree · ·: ·: · η una i aal iza ·: ion:
Til? ·: · Do Box: il ·: ··; '
C <-nlοηο ·: Ι ·: · | ·: Mola i'mcla'i box
Mandatory: No Quantity: zero or one
The item location box can provide a directory of resources in this- or other files, locating its container, its offset within that container, and its length. The box can start with three or four values, specifying the size in bytes of the offset field, length field, I 'as field; · offset and the extent_index fields<sub>s </sub>respectively, These wal or res can be selected from the set {0, 4, 8}, The field CQnstruction_method can Indicate the 'construction method' for the article com □ indicates oo ntin uation:
i) file ^ offset: using the usual absolute file offsets in the file at data ^ reference_in¿lc <<-sc-n c-Li li ¿lio n_method == 0) ii) idat_offset: using box offsets in the box idat in the same box, goal; neither the data ^ reterencejndex field nor the 15 extent_index field are used; (construction_rnethQd == 1) ¡ii) item_offset: by moving the item in the Items Indicated by the extent_index field, which is used (currently) only by this construction method, (construefion_method == 2), iv) mdat_offset: by means of box displacement in a Med iaDataBox, 20 contained in it or a referenced file (eonstruction_method == 4),
The Item Location Box syntax can be as follows, according to one. realization:
al¡ ': ¡n? di 81 lase Item Locado n Box extends FullBoxfltoc<sup>1</sup>, version, 0) {u nsig ned i n1 · 4 · ¿f I sc I s iz e:
unsigned int¡4) length_s¡ze;
u nsig ned i nt (4) basB_offset_s¡: ze;
¡F ((version = 1) || (version == 2)) {u nsig ned int (4) index_s¡ze¡} else {u nsig ned int (4) reserved:
} if (version <2) {unsigned ¡nl · 1>: -> item ¿uní:
} else rf (version = 2] {unsigned int (32j Item_count;
} for (¡= 0¡: i <item_GQunt: ¡++) {if (version <2) {unsigned ¡nt (1 S) ¡ternJD;
} else if (version == 2) {unsigned ¡nt (32) item_ID;
} if ((version = 1) || (version == 2)) {unsigned int (12) reserved = 0;
unsigned int (4) construct¡on_method '}
unsigned in1 (16) data_referenoe_index; unsigned ¡nt (base_offset_s¡ZB * B) base_offset;
unsigned int (lS) extenjcount;
for (j = 0; ¡j <extent_count; j ++) {if (((version == 1) | j (version == 2)) 44 (¡ndex ^ size> 0)) {unsiqned ¡nluncl · ?? ciz ·? ·?. · edonl indox:
} unsigned i nl · ·? smooth l siz: · '·? i oxlcnl ·: · Πζ: · Ι:
unsigned ¡nldonqlh oizo 8 · · :: 4 ·? ηΙ_Ιβη9ΐΐΊ:
} }
}
The extentjndex field in the ItemLocationBox below can hold the unique mdatjdentifier value of the MediaDataBox where the item resides; the extenjoffset can use ·? to provide the byte offset from the start of the MediaDataBox starting the article,
Next, an example implementation of URL fragment generation will be described, in accordance with one embodiment. To facilitate the routing of boxes in URL fragments, the following additions can be implemented for an ISOBMFF URL fragment scheme, # boxjd = <4cc string »refers to a unique box identified with the string 4cc» '· : - ·: ·· = ϋ <ΐ · Ξ · from? Liali ·? · ·? Alaclcrcs ¡|? ·: · Ι example, 'ftyp'. It is observed that it could be used
4th equivalent form another predefined keyword instead of the box_id keyword, # box_jd = <4cc str¡ng »/ <¡d> refers to a box Identified with the string 4cc and having the value of unique identifier id between boxes | uc- have the same string 4cc in the file; for example, # box_¡d = moofK3 identifies, a moof box with a unique identifier value of 3., It is noted that another separator could be used equivalently instead of the forward slash character Ef id value can be specified for each code of four characters, for 'moof, the id value can refer to the campa sequencejiumber of the
MovieFragmentHeaderBox is contained in the. 'moof' box, for
ProducerReferenceTimeBox {'prft'), the id value can refer to the campaign sequence_number of the MovieFragmentHeaderBox contained in the 'moof' box associated with the 'prff, For' mdat box<sup>1</sup>., the id value can refer to the mdat_ident¡f¡er, as specified in a previous embodiment, □ any other identifier for one. MediaDataBox, as described in some previous embodiments, For boxes and clacks, cc-ns are paired with the cc-mo 'styp', 'sidx', and 'ssix', the id value can be a combination of the reference_ID and earliest_presentation_time fields from the associated ndexBac Segment> 's¡al>' | zcr example, separated by a separator character, such as the forward slash character,
To request multiple resources, such as multiple boxes, with one request, URL fragment groupings can be specified, according to one embodiment. For example, More than one URL snippet article can be included in the URL snippet part including one of the specified copycat, such as bed, between URL snippet articles, For example, # bo5 ^ ¡d = ftyp<sub>J</sub>box_id = rneta, box_jd = mdat¡<sup>F</sup>308. In another example syntax, the keyword, such as box_id, π π needs to be repeated. For example, * box_¡d = ftyp, meta, mdatirt39B, Note that another separator could be used equivalently instead of cai áclci <lc comma ''. ' c
In one embodiment, a URL fragment scheme is defined to indicate all the boxes in a segment (as understood in the context of dynamic adaptive streaming, such as MPEG-DASH. '·?>. ·: Ο |: · <· Segment MediaDataBoxes Segment boxes other than one or more MediaDataBox may include for example, 'styp' (the Segment Type box), SegmentlndexBox or Seg mentí ndex Box ('sidx')., Subsegmentl ndexBox or
SubsegmentlndexEo: ·. i'ssi-'i. MovieFragmentBox or MovieFragmentBox ('maof)
4S and / or ProducerReferenceTimeBox or ProducerReferenceTimeBox ('prft'J. For example, a seghdr keyword can be used, but it is noted that another predefined keyword could be used equivalently instead of the seghdr keyword, The URL fragment is. isccihdr is resolved in the boxes related to segments of the segment identified by the name "burning and the hierarchical part of the URL (which contains the url fragment),
In a. In one embodiment, a URL fragment schema is defined to indicate all the boxes in a segment that carry media data. For example, a segpayload keyword can be used, but it is noted that another predefined keyword could be used equivalently instead of the word., Segpayload key, The URL fragment is toegpayload is resolved in boxes that carry media data from segment identified by the schema name and the hierarchical part of the URL (containing the URL snippet),
According to one embodiment, a server resolves a URL with URL fragments. that identify boxes as described above including only those boxes identified in the resource or file that is provided as one. response to url request, for example * box_¡d = <four ^ character__string> resolves to. a box gives file level that has boxtype equal to. four_eharacter_string, It can be specified that solving a URL fragment with indications of multiple file level boxes results in a recule ·: · | ue consisting of the file level boxes indicated in the order in which they are listed in the liacmanlc · <lc URL, As an alternative, it can be specified that solving a URL fragment with the indication is multiple file level boxes results in a resource consisting of the file level boxes indicated in any or retain.
In one embodiment, a player or the like gets one. MovieBox (for example, through the HTTP GET request with a URL that contains a fragment address and the MovieBox), The player or similar parses the MovieBox and resolves the external data references of Data .Reference box and internal data references pointing to one or more MediaDalaB ··:. inside the file that also contains MovieBox, The player can obtain a MetaBox of file level, for example, when it is known · or determined, that the file contains image articles. The player or the like determines what media data is needed for its purposes. For example, the player or the like can determine from the file-level MetaBnx which article or Image articles are suitable for its purpose. In another example, the similar π player can determine a. from the MovieBox »which track or tracks are suitable for your purpose. The player or the like below determines what external data references and / or one or more MediaDataBox are needed for, the media data needed for, their purposes. In one embodiment, a content enneapsulator or the like Includes in or is associated with the. DataReferenceBox, a URL fragment associated with the media data. In one embodiment, a player or the like parses a URL fragment associated with the media data from the DataReferenceBox or an associated box, and uses the file name or URL obtained from the Data Referen ce Box along with the URL fragment. ,. In one embodiment, a similar player searches for an external reference, using a URL. [as parsed from a DataReferenceBox) without a part of fragment.
Next, the use of the fragments will be described in more detail.
URL with Image container files for selective image search, according to one embodiment,
HTML5.1 provides features to indicate different versions or alternatives of an Image to enable web browsers to select one
Appropriate image, for example, based on its encoding format and / or the width of a display window. More specifically, the Snapshot element can Include multiple · versions of the. Same Image, from which the browser can select the version that best suits. your needs, such as. resolution of the viewing area and the supported codes.
According to one embodiment, content authorship, such as. HTML page authoring is done in a way that Image articles or clusters of Image articles from the same container file are advertised, with URL items, which are available for search. For example »the HTMLS Snapshot element, 1 (or later) can be used. The following is an example of a part of an HTML5..1 code with a snapshot item different items from the same file to be available. In the example, the. MediaDataBox ('mdafj with ID 398 contains an Image for sm all display window widths (less than or equal to 1024 skins), while the MediaDataBox cnn ID 399 contains an image sffis au window widths, <picture>
<source media = (min-width <= lQ24px) srGset = eonta¡ ner.h eiWboxJ d = ftyp, box_i d = meta, box_¡d = m do I 3 ': <? · csource med¡a = (m¡ nw¡dth> 1Ο24ρχ) srcset = contai ner. h eiWboxta d = f typ, box_¡d = meta, box_id = md srt'399>
top src = small, ¡pq alt = Textual description of the. Maqen,>
v Jl áJ I -ur </picture>
In Lino ic aliza ·: with a navociadoi if a thousand ai select one imaejen del el ornenle · de ins Ion lonco l.osónclc <ü onlo deseo ¡po ¡cm ele lo imaqc-n lol cc-inc · la pai le cl ·: · With what media, on ol onlcii ·: ·! cc-cli ·:; ·: ·. The URL of the imocien can: include a parlo of li accentó cornc · se ho cese lile · onlei urinate! or. lol like ol listing of those. lame necosaiias poio adjust ol Ι ·: · ιinole · HEIF.
A conlinuocie'n. it will be written in more cblolle Lino imploméitación of the example of the acoustic information of the sequence of the boxes of the Iichoio level with Lina taima • of a box of tol the electoniclous with Lino and limestone: ion.
To enable unique identification of the; boxes on the level of a lichera, • satia coja ·. | ue that includes the box proposed at the end can be listed on a box rcc i in the amount specified with greed elel characters · (The list of the boxes sn Ίΐ.ο · f clcl.crio se or on the same order ocaclo -.¡lio are stored as · stor cn the file (When a licheio is edited (for example, removing or adding a root level box), this, box should also
J s<sup>8 B</sup> J be modified to take into account the new design of the edited file.
Description
Tip ··: · de Coja: 'rbsq'
Container: File
Mandatory: yes for a file marked as reordable
Quantity: only one
Syntax aligned-S - class RootBoxSequenee I extended FullBox ('rbsq', version = 0, flags = Q) {// Until the end of the box!
Linsicncd ¡nl · 32? I ··: ·· 4cc:
Linsiqnc-d inl · S- e- l Ibes:
¡F (ext_flags & 1) unsigned ¡nt (32) box_¡d;
} }
The semantics of the RootBoxSequence -is as follows, according to one embodiment, box_4cc is the four-character code value of a box located, at the root level of the file, extaflags indicates, what additional information is provided for the box and box_id is a 32-bit unsigned integer that provides a unique id (inside the container file) for the box with four-character code value box_4cc,
In the following, some exemplary embodiments are described in more detail with reference to the Fiquiac 3a and 3b apparatus and flow diagrams of Figures 4a and 4b. In accordance with an exemplary embodiment, the apparatus 700 may receive or otherwise, obtaining media data 720 to generate one or more container files from the media data (block 750 in Figure 4a.), The media data may comprise one or more media data units. Each unit of media data may refer to video ,, audio, image, or other media data (eg, text). Apparatus 700 may have a file composer 702 or other means for obtaining and / or generating a container file 722, File composer 702 may include one or more unit: -? d? give them media in container file 722, or file oompositor 702 may include a reference to the one or more media data units in container file 722. The reference may comprise, for example, a URN (Uniform Resource Name) or URL (Locator of
Uniform Resources) that identifies a file or resource that contains the one or more media data units. Said file or resource may reside in the same or different storage system, mass memory and / or device that cl Ιϊ ·: Ιί: -ι ·: · >>: · ηΙοηο ·: Ι ·: · ι · 722.
The file composer 702 of apparatus 700 or some other means may additionally examine 732 whether to use offsets from the start of the MediaDataBox (754) or from a data source pointer · 7. · 5ι; · include indication 75B regarding the beginning of calculation of the displacements, and if the displacements are calculated in relation to the Measure ¡gives the B ·: ·? Displacement information can also be included 756 to a file that contains a
GhunkOFfaetBox or other entity regarding offsets; TrackRunBox can also be constructed so that they contain an idonlili - :. of the MediaDataBox, when the displacements are calculated in relation to the MedDataBox,
The aforementioned data source pointer can be, for example, the beginning of the file, the beginning of the MovieFragmentflox, the beginning of data in the. Item Data box or from the beginning of a referred item data.
Container file 722 and other information can be stored in memory 706 and / or some other storage location, and / or container file 722 can be transmitted to another device, eg for storage, you want display and playback.
According to one embodiment, a file reader 710 (Figure 3b) or player can perform the following operations to decompose the media data from container file 722 .. The file reader 710 can comprise a file decomposer 712 that can check 772, 774 if displacements have been calculated with respect to the received file in relation to the MediaDataBox, IF so, the file dcscomposer 712 can read information regarding identification of the MediaDataBox and offset information to, 777 correctly calculate the location of media data and rebuild 778 the media received in the file, IF no offsets have been calculated relative to the MediaDataBoK but to the beginning of the file, the file decomposer 712 can calculate 776 the location of media data relative to the beginning of the file and rebuild 77B the media received in the file.
When a device (700, 7Ί0 or similar) accesses. files or resources other than the container file, for example using a URI or URM, and the □ resource files do not reside on the same device as the container file, access can be done, for example, using one. network connection, such as a wired, wireless (for example, WLAN) and mobile connection (for example, SSM, 36 and to LTEMS),
In the. Figure 5 shows one. Example illustration of some functional blocks, formats and interfaces included in a Hypertext Transfer Protocol (HTTP) streaming system, a file encapsulator
00 takes media bitstreams from a media presentation as input., The bitstreams may already be encapsulated in one or more container files 102, the bitstreams can r ·: ·: Smooth through file enneapsulator 100 while they are being created by one or more media encoders. The file enneapsulator converts the media bit streams into one or more files 104, which can be processed by a streaming server 11 0 such as the HTTP streaming server, La. Output 106 of the file eneapsulator is formatted according to a server file format. The HTTP streaming server 110 may receive requests from a streaming client 120 such as the HTTP streaming client. The requests may be included in a message or messages in accordance with, for example, the Hypertext transfer such as a GET request message. The request may include an address indicative of the requested media flow. The address may be the so-called uniform resource locator (URL). The HTTP 11 0 streaming server can respond to the request by transmitting the requested media file (s) or other information such as the meted atos file (s) to the HTTP 120 streaming client, in some cases the scent of continuous streaming of HTTP 120 can then convert the media file or files into a file format suitable for, playback by the HTTP streaming client and / or by a media player 130. In other cases, the received media file (s) are suitable for playback without conversion, and the HTTP streaming client 120 can provide the Media file or files for playback (eg, by media player 130). The media data file or files provided for playback can also be stored in one. memory 140 and / or other kind of storage medium, The HTTP streaming client and / or the media player can include or operatively connect one or more media decoders, which can decode the bitstreams contained in the responses HTTP in a convertible format, HTTP streaming server
An HTTP 110 streaming server takes one or more files from a media presentation as input. The entered files are formatted according to a server file format. Server
OJWQIVOI HTTP 110 Streaming responds 114 to HTTP 112 requests from an HTTP 120 Streaming Client by encapsulating media in HTTP responses, The HTTP Streaming Server issues and transmits one file or many files in the presentation of media formatted according to a transport file format and in capsule form in HTTP responses.
According to one embodiment, the HTTP 110 streaming servers can be broadly categorized into three classes. The. First, class is a web server, which is also known as an HTTP server, in a static mode. In this mode, the HTTP 120 streaming client can request one more of the presentation files, which can be formatted according to the server file format, to be transmitted in whole or in part. The server is not required to prepare the content at all. Instead, content preparation is done in advance, possibly offline, by a separate entity. Figure illustrates an example of a web server such as an HTTP streaming server. A content provider 300 may provide content for content preparation 310 and an advertisement of the content to a service / content advertisement service. 320. The user device 330, which may contain the HTTP 120 streaming client, may receive information regarding the advertisements from the service / content advertisement service 320 where the user of the user device 330 can select content for, reception, The service / content announcement service 320 can provide one. web interface and accordingly user device 330 may select content for reception via a web browser on user device 330. As an alternative or in addition, service / content announcement service 320 may use other means and protocols such as the Service Advertising Protocol (SAP), the Pealmcnl Syndication protocol? Simple iR'SSi. or an Electronic Content Guide (ESG) mechanism of a television broadcast system, The usual device or 3 ?? it may contain a service / content discovery element 332 to receive information related to services / content and, for example, provide the Information to a display of the user device. The streaming client 120 can then communicate with the web server 340 to inform the server.
OJWQIVOI web 340 of the content that the user has selected to download, The web server 340 can a. Then fetch the content from content preparation service 310 and provide the content to the HTTP 120 streaming client.
The second class is a (normal) web server operationally connected to a dynamic streaming server as illustrated in Figure 6b., Dynamic streaming server 410 dynamically customizes streaming content to a client 420 based on 420 client requests., HTTP 430 streaming server interprets the request
HTTP GET of client 420 and identifies the requested media samples from a given content. The HTTP streaming server 430 then locates the requested media samples in the file to content files or from the live streaming, then extracts and wraps the requested media samples in a 440 container,
Subsequently, the newly formed container with the media samples is distributed to the client in the HTTP GET response body,
The first interface. 1 in Figures Sa and 6b is based on the HTTP protocol and defines the syntax and semantics of HTTP Continuous Broadcast requests and responses. HTTP Streaming requests / responses put I sais; in HTTP SET requests / responses',
The second interface 2 in Figure 6b enables access to. the content delivery description ,. The content delivery description, which can also be called as one. media presentation description, may be provided by content provider 450 or service provider. Provides information about the means to access related content. In particular, it describes whether the content is accessible through HTTP Streaming and how to access it. The content delivery description is typically retrieved via HTTP GET requests / responses. but it can also be transported by other means, such as using SAP, RSS □ ESG.
The third Interface '' 3 in Figure 6b represents the Common Gateway Interface (CGI), which is a standardized and widely deployed interface between web servers and dynamic content creation servers. Other interfaces such as a State Transfer interface are possible.
Representation to (REST) and would enable the construction of more cache friendly resource locators.
The Common Gateway Interface (CGI) defines how web server software can delegate the ·: ι: · ηοκι ·: κ · π of web pages to. a console application,
Such applications are known as CGI routines: they can be written in any programming language, although routine languages are often used. A task, from a web server -is- to respond to requests for web pages issued by clients (usually na ·, · wel.i speakers analyzing the content of the request, determine an appropriate document to send in response and provide the document to the client . If the request identifies a file on disk, the server can return the contents of the file. As an alternative, the content of the document can be composed on it. March. One way to do this is to let a console application calculate the contents of the document and inform the web server to use that. CGI console application specifies what information is communicated between the web server and such a console application, and how.
Representative State Transfer is a style of software architecture for distributed hypermedia systems such as the World Computer Network (WWW). REST style architectures consist of clients and servers. Clients initiate requests to servers; servers process requests and return appropriate responses. Requests and responses are built around the. transfer of resource representations. A resource can be essentially any meaningful and coherent concept that can be misled. A representation of a resource can be a document that captures the current or expected state of a resource. At any particular time, a tooth can either be in transition between application or resting states. A client in a state of rest is able to interact with its user, but it does not create load and consume any storage per client on the server farm or on the network. The client can start sending requests when it is ready to start the. transition to. a new state, While one or more requests are pending, the customer is considered to be in transition. Represent her! So in each application osla-do contains links that can be used. Next time the customer chooses to initiate a new state transition.
5fl
I grew it up to the scivkloic-s of the neldo HTTP streaming in this example classification is a dynamic HTTP streaming server. Otherwise similar to the second class, but the HTTP server and the dynamic streaming server form a single component. Also, a dynamic HTTP streaming agent can split the state.
Solu ·: .i ·: · nos ele sei-dd ·: ·! Finally, they can carry out continuous broadcasting of the HTTP in two modes of οροί ation: continuous broadcasting of static HTTP and continuous dilution of dynamic HTTP. In the case of continuous broadcasting of Slavic HTTP, the content is ρι opposed ροι advanced or independent of the scieidoi. The osliLi ·: Ilii a of the dal ·: · :. say: means be; It modifies me by the server to meet the needs of the client. A normal statice mode web server can only operate in slalom HTTF streaming. In the case of dynamic HTTP streaming, content preparation is done dynamically on the server after receiving a non-cached request. A normal web server connected operation feed with a dynamic streaming server and a streaming server cl? Dynamic HTTP can be operated in dynamic HTTP streaming mode.
Transport file format
In an example embodiment transport file formats can be broadly categorized into two classes. In the first class the transmitted files comply with an existing file format that can be used for file playback. For example, the transmitted files comply with the formal ·: · I οεί ·: ·: ·:!: Tic h: r ·: · cio ISO media or the progressive desearqa profile of the
I vr I v formal ·: · de fie her ·: · de 2GPP.
In the second class reads transmitted tokens are similar to the formatted files of the acueicl ·: · with an existing file format used to reproduce fon da fich? Rc <.. For example, the transmitted files may be relia ·:; Server log, which may not be separate for individual playback. In another approach, files to be transmitted comply with an existing file format that can be used for file playback, but files are only partially transmitted and therefore reproduction of such files requires knowledge and ability to manage partial files.
OJWQIVOI
Files transmitted normally can be converted to comply with a form <1? lichcic · crdstente used for file playback.
HTTP cache
A 15 'HTTP cache? 'Ficiura 5 - can be a normal web cache that stores 5 HTTP requests and responses to requests to reduce bandwidth usage, server load, and perceived delay. If an HTTP cache contains one. particular HTTP request and its response, can serve the requestor instead of the HTTP streaming server.
HTTP streaming client
An HTTP 120 streaming client receives the media presentation file (s). The HTTP 120 streaming client may or may operatively connect to a media player 130 that analyzes the files, decodes the streams. of included media and converts the decoded media streams, The media player 130 can also store the received file or files for further use, Can Lisa be a swap file format for storage,
In some example embodiments, HTTP streaming clients can be broadly categorized into at least the following two classes. In the first class, conventional progressive download clients guess or determine a suitable buffer time for the digital media files that are received and begin media conversion after this buffer time. Conventional, nn download clients create bit rate adaptation related requests. media presentation.
In the second class, the streaming clients - active HTTP streaming monitor the status of the buffer, the presentation in the client - HTTP streaming and can create adaptation-related requests cl ·: - bit slab to guarantee uninterrupted presentation conversion,
The streaming client of HTTP 120 can convert the received HTTP response payloads formatted according to the transport file format to one or more files formatted according to an exchange file format. can happen to. as HTTP responses are received, -ie one. HTTP response is still written
Ο / ΙΜίΜΟΙ
BQ media file as soon as received, Alternatively, conversion can happen when multiple HTTP responses have been received up to all HTTP responses for a streaming session, Conversion may comprise, for example, locating a initialization segment at the beginning of the swap file followed by a sequential concatenation of the loads<sup>1</sup> HTTP response tools received.
Exchange file formats
In some example embodiments, the swap file formats can be broadly categorized into at least the following two classes. In the first class the received files are stored as tai according to the transport file format.
In the second class the received files are stored according to an existing file format used for file playback,
A media file player
A 13Q media file player can analyze, verify, decode and convert stored files. A media file player 130 may be capable of parsing, verifying, decoding, and converting either or both kinds of nlcicaml.io files. A media file player 130 is referred to as a legacy player if it can parse and play stored files according to an existing file format, but may not play stored files according to the transport file format. A media file player 130 is referred to as an HTTP streaming player if it can parse and play stored files according to the transport file format.
In some implementations, an HTTP streaming client merely receives and stores one or more files, but does not play them. In contrast, a media file player parses, verifies, decodes, and converts these files as they are received and stored.
In some implementations, the HTTP streaming client
120 and the media file player 130 is heard on different devices. In some implementations, the HTTP 120 streaming client transmits a media file formatted according to a swap file format over a network connection, such as a wireless local area network connection AVL .AN · to media file player 130,
OJWQIVOI
Que1 that plays the media file. The media file can be transmitted mtonlias so osla era and ·? in al procos ·: · <1? Conversion of the files as the HTTP files received to the media file. As an alternative, the media file can be transmitted after it has completed the process of converting the received HTTP responses to the media file. The media file player 130 can edit and play the media file while it is being received. For example, the media file player 130 can download the media file progressively using an HTTP GET request from the HTTP streaming client. Alternate Gomo, the media file player 130 can decode and play the media file afterwards. that it has been fully received.
HTTP pipeline is a technique in which multiple HTTP requests are written to a single socket without waiting for corresponding responses. Since it may be possible to embed HTTP requests into the same transmission packet such as a Transmission Control Protocol (TCP) packet, HTTP pipeline allows fewer transmission packets to send across the network, which can reduce the load, network,
A connection can be identified by a quadruple of server IP address, server port number, client IP address, and client port number. Multiple simultaneous TCP connections are possible from the same client to the same server already. that a. Each client process is assigned a different port number. Therefore, even if all TCP connections access the same server process (such as the web server process on port 80 dedicated for HTTP), they all have a different client socket and represent unique connections. This is<sup>:</sup> what enables multiple simultaneous requests to the same sili ·? wcl · d: -cdo the same computer.
Categorization of Multimedia Formats
The multimedia container format is an element used in the chain of production of multimedia content, manipulation, transmission and consumption.
There can be substantial differences between an encoding format (also known as an elementary stream format) and a container file format. The encoding format refers to the action of a specific encoding algorithm that encodes the content information into a stream of hits. The container file format includes means for organizing the flow of
OJWQIVOI bits generated in such a way that they can be accessed for local redeedification or π and reproduction, transferred as a file or continuously broadcast., Using all various storage and transport architectures. Additionally, the file format can facilitate the Exchange and edition of the media, as well as recording of real-time flows received to a file.
The figure. 7 is<sup>:</sup> a. graphical representation of an example of a generic multimedia communication system within which various re al Iza si ·: · nos can be implemented. As shown in Figure 7, a data source 1500 provides a source signal in an analog, uncompressed digital, or compressed digital form, □ any combination of these formats. An encoder 1510 encodes the source signal into an encoded media bit stream. It is to be noted that a bit stream to be de-edited can be received directly or indirectly from a remote device located within virtually any type of network. Additionally, the bit stream can be received from local hardware or software. Encoder 1510 may be capable of encoding more than one type of media, such as audio and video, or more than one encoder 1510 may be required to encode different types of media from the source signal. Encoder 1510 can also get input. , synthetically produced., such as: · q ral Icos or text, or may be capable of producing synthetic media bit streams. Next, only the processing of an encoded media bitstream of one media type is considered to simplify the description. It should be noted, however, that real-time broadcast services typically comprise multiple streams (usually at least one stream of audio, video, and text subtitles). It should also be noted that the system can include many encoders, but in Figure. 7 only represented, an encoder 1510 to simplify the description without a lack of generality. It should be understood additionally that, although text and examples contained in this document may specifically describe a |: · ι>: ··: that of coding, an expert in the field would understand that the same concepts and principles also apply to the corresponding decoding process and vice versa.
The encoded media bit stream is transferred to storage
1520, Storage 1520 may comprise any type of bulk memory for storing the encoded media bit stream. The format of the encoded media bit streams in storage 1520 may be a
OJWQIVOI
Β3 elementary independent bitstream format, or one or more encoded media bitstreams can be encapsulated in a container file. Some systems operate live, i.e. bypass storage and transfer encoded media bitstream from encoder 1510 directly to the sender
1530, The encoded media bit stream is then transferred to the sender
1530, also referred to as the server, as needed. The format used in the. Transmission may be an elementary standalone bitstream format, a packet stream format, or one or more encoded media bitstreams may be encapsulated in a container file, Encoder 1510, Storage 1520, and Sender 1530 may reside in the same physical device or can be included in separate devices. Encoder 151Q and sender 1530 can operate with live real-time content, in which case the commonly encoded media bit stream is not permanently stored, but is buffered for short periods of time in the content encoder 1510 and / or emitter 1530 to smooth out variations in processing delay, transfer delay and bit rate of encoded media.
Sender 1530 sends ... the encoded media bit stream using a communication protocol stack. The stack may include, but is not limited to. Protocol
Transport in Real Time (RTP), User Datagram Protocol (UDP) and Internet Protocol (IP). When the communication protocol stack is oriented to packages. The sender 1530 encapsulates the packet-encoded media bit stream. For example, when using RTF, sender 1530 encapsulates the media stream debit encoded in RTP packets according to an RTP payload format. Typically, each media type has a specialized RTP payload format. It should be noted again that a system can contain more than one 1530 emitter, but for simplicity, the following description only considers one 1530 emitter ...
If the media content is encapsulated in a container file for storage 1320 or for inputting data to sender 1530, sender 1530 may- operably comprise or be affixed to a send file analyzer (not shown in the figure). In particular, if the container file is not transmitted as such, but at least one of the contained encoded media bitstream is encapsulated for transport via a communication protocol, a
OJWQIVOI send file parser locates appropriate parts of the encoded media bit streams to be transported through the communication protocol. The send file parser can also assist in the. creating the correct format for the communication protocol, such as packet headers and payloads. The multimedia container may contain encapsulation instructions, such as hint hints in the basic ISO media file format, for encapsulation of the at least one of the media bit stream contained in the communication protocol.
Emitter 1530 may or may not be connected to an iota 1540 pass through one. communication network. The catwalk. 1540 it can perform different types of functions, such as translation of a packet stream according to one communication protocol stack to another communication protocol stack, merging and branching of data streams and manipulation of data stream according to the enlage. sccndcnl? iscoptor cycling layers, such as controlling the bit rate of the forwarded flow according to prevailing downlink network conditions, Examples of 1540 gateways include MCUs, gateways between circuit-switched and packet-switched video telephony, Pulsar for Mobile Talk (PoC) servers, IP encapsulators in portable digital video broadcast (DVB-H) systems, or room decoders that forward broadcast transmissions locally to domestic wireless networks. When using RTF, the 1540 gateway is called an RTP mixer or RTP translator and usually acts as an end point for an RTP connection.
The system includes one or more receivers 1550, usually capable of receiving, demodulating, and de-encapsulating the transmitted signal in an encoded media bitstream. The encoded media bit stream is transferred to a recording storage 1555, The recording storage 1555 may comprise any type of bulk memory for storing the encoded media bit stream. Recording storage 1555 may alternatively or additionally comprise computation memory, such as random access memory. The format of the encoded media bitstreams in the recording storage 1555 may be an elementary independent bitstream format, or one or more encoded media bitstreams may be encapsulated in a container file. If there are multiple bitstreams of
Ο / ΙΜίΜΟΙ encoded media, such as an audio stream and a video stream, associated with each other, a container file is commonly used and the receiver 1550 comprises or is attached to a container file generator that produces a container file from of inflows. Some systems operate live, that is, they bypass recording store 1555 and transfer encoded media bitstream from receiver 1550 directly to decoder 1560. In some systems, only the. Most recent part of the recorded stream, for example, the most recent 10 minute extract of the recorded stream, is kept in the 1555 recording storage, while any date recorded before the 1555 recording storage.
The encoded media bitstream is transferred from the storage of I¿ion 1555 to the decoder 1560. If there are many encoded media bitstreams, such as an audio stream and a video stream, associated with each other and encapsulated In a container file, a file parser (not shown in the figure) is used to encapsulate each, encoded media bit stream from the container file. The storage I - - ¿ral <κιοη 1555 or a decoder 1560 may comprise the file parser or the file parser is attached to either the recording storage 1555 □ or the decoder 1560.
The encoded media bit stream may be further processed by a decoder 1560, the output of which is one or more uncompressed media streams. Finally, a converter 1570 can reproduce uncompressed media streams with a speaker or display, for example. Receiver 1550, storage of -: ial 'ation 1555, decoder 1560 and converter 1570 may reside on the same physical device α may be included on separate devices.
Figure B shows a block diagram of a video encoding system according to an example embodiment as a schematic block diagram of an illustrative electronic device or apparatus 50, which may Incorporate a codee according to an embodiment of the Invention, The
Figure 9 shows., A design of an apparatus according to an example embodiment. The elements of Figures fl and 9 will be explained below,
The electronic device 50 may be, for example, a mobile terminal □ user equipment of a Wireless communication system, It will be appreciated, however, that embodiments of the invention can be implemented within any electronic device or apparatus that may require encoding and decoding or coding and decoding imáqcn-: do / 1-: 1 -: -: -.
The apparatus 50 may comprise a housing 30 for incorporating and protecting the device. The feed addition apparatus 50 may comprise a display 32 on a liquid crystal display. In other embodiments of the invention the hoist visual can be any suitable visualization technology, to visualize one. image or video. The apparatus 50 may further comprise a numeric keypad 34. In other embodiments of the invention any suitable data or user interface mechanism may be employed. By
-example, the user interface can be implemented as a virtual keyboard □ data entry system as part of a visual touch screen. The apparatus may comprise a microphone 36 or any suitable audio input which may be one. digital signal input □ analog. The apparatus 50 may further comprise an audio output device which in the embodiments of the. Invention may be any of: a headphone 33, speaker, or analog audio or digital audio output connection. The apparatus 50 may also comprise a battery 40 (or in other embodiments of the invention the device may be powered by any suitable mobile power device such as a single cell. or -: - - clockwork generator). The apparatus may additionally comprise a camera. 42 Able to record or capture images and video. In accordance with one embodiment, apparatus 50 may further comprise an infrared port for short-range field of view communication with other devices. In olias i limiza ci -: - nos -: the apparatus 50 may further comprise any short-range communication solution such as, for example, a wireless connection via Bluetooth or one with ·: / ten wired by US B / fi rewi re.
Apparatus 50 may comprise a controller 56 or processor for controlling apparatus 50. Controller 56 may be connected to it. memory 58 which in the embodiments of the invention can store both image data and audio data and / or can also store instructions for implementation in controller 56, controller 56 can additionally be connected to codec circuitry 54 suitable for, encoding and deemodifying audio and / or video data or assisting in encoding and deemodification performed by controller 56.
OJWQIVOI
Β7
The apparatus 50 may further comprise a card reader 48 and a smart card 46, for example, a UICG and LUCO reader for providing user information and being suitable for providing authentication information for user authentication and authorization in a network,
The apparatus 50 may comprise radio interface clreurtena 52 connected to the controller and suitable for generating wireless communication signals, for example, for communication with a cellular communication network, a wireless communication system or a wireless focal area network. The apparatus 50 may further comprise an antenna 44 connected to the radio interface circuitry 52 to transmit radio frequency signals generated in the radio interface junction 52 to other apparatus or apparatus and to receive radio frequency signals from other apparatus or apparatuses .
According to one embodiment, apparatus 50 comprises a camera capable of nabal or detecting individual frames that a. They are then passed to the codee 54 or controller for processing. According to one embodiment, the apparatus can receive the video image data for processing from □ other device before transmission and / or storage. According to one embodiment, the SO apparatus can recir-la. Image either wirelessly or via a wired connection for codilicjr dc-codificai.
Figure 10 shows an arrangement for video encoding comprising a plurality of apparatuses, networks and network elements according to one. example embodiment. Referring to Figure 10, an example of a system within which the embodiments of the present invention can be used is shown. System 10 comprises multiple communication devices that can communicate through one. or more networks. The system 10 may comprise any combination of wired or wireless networks including, but without limitation, a Wireless cell phone network (such as GSM, IJMTS, GOMA Network, etc.), one. Wireless local area network (¡WLAN) as defined in any of the IEEE 802.x standards, one. personal area network by
Bluetooth, an Ethernet local area network, a token ring local area network, one. wide area network and the. Internet,
System 10 may include either suitable wireless cams communication devices or apparatus 50 to implement the embodiments of the invention, For example, the system shown in the Figure. 10 shows one. network of
Ο / ΙΜίΜΟΙ
Bfl mobile phone 11 and a representation of the internet 26. The connection to the 2fl internet may include, but is not limited to, long-range wireless connections, short-range wireless connections, and various cable connections including, but not limited to, lines telephone lines, cable lines, power lines and similar communication paths,
Example communication devices shown in system 10 may include, but are not limited to, an electronic device or apparatus 50, one. combination of a personal digital assistant (PDA) and a mobile phone 14, a. PDA 1 6, an integrated messaging device (IMD) 18, a desktop computer
20, a laptop computer 22., The apparatus 50 can be stationary □ mobile when carried by a moving individual. The apparatus 50 can also be located in a mode of transportation including, but not limited to, a car, truck, taxi, bus, train, ship, plane, bicycle, motorcycle, or any similar suitable mode of transportation. ,
Some or additional devices can send and receive calls and messages and communicate with service providers through a wireless connection 25 to a Las station; · 24. The Las station: · 24 can connect to a network server 26 that allows communication between the mobile phone network 11 and the internet 2fl. The system may include communication devices and additional communication devices of various types.
Communication devices can communicate using various transmission technologies including, but not limited to, Code Division Multiple Access (COMA), Global Systems for Mobile Communications (GSM), Universal Mobile Telecommunications System (UMTS), Division Multiple Access time (TOMA), frequency division multiple access (FDM.A), transmission control protocol-internet protocol (TGP-IP), short message service (SMS), messaging service ,, multimedia. (MMS), email, Instant Messaging (IMS), Bluetooth, IEEE 802.11 and any similar wireless communication technology. A communications device involved in the implementation of various ion icers of the present invention can communicate using various means including, but not limited to, radio, infrared, laser, cable connections, and any suitable connection.
In previous In, some embodiments have been described with reference to a
OJWQIVOI structures and concepts of the ISOBMFF. It is necessary to understand that realizations can be carried out in a similar way with other container file formats, such as Matroska or its derivatives. Embodiments can be performed similarly with reference to similar data structures as those of
ISOBMFF, such as boxes,
In the foregoing, some embodiments have been described with reference to the phrase displacement or displacements relative to. a particular MediaDataBow or similar phrases. Some embodiments, on the other hand, have been more explicitly described to obtain the location pointed by displacement or displacements by adding the displacement π offsets at the beginning of the payload media data within the MediaDataBox, In addition, some embodiments have been described in which the offset or offsets are related to the start of the MediaDataBox. It is necessary to understand that realizations can be carried out in a similar way when the reference point for displacement or displacements is the beginning of the MccIiaDalaE ·: · ': To the first byte- of the box header of the Med iaDataBox), the start of the MedlaDataBox data box (which may point to the identifier of the MedlaDataBox in some embodiments), or the start of media data within the M celia Gives the E-: · <the l.-ylc immediately after the starter of the MedlaDataBox in some embodiments), or any predefined or Indicated location that is related to the location of the MedlaDataBox.
In the foregoing, some embodiments have been described with reference to one or more MedlaDataBox, as defined in ISOBMFF. It should be understood that some embodiments can be performed similarly with other types of boxes. For example, realizations for or based on an identifier of a McdbDjlaB ·: · * · could be performed similarly for οΙιοτ. lipes of boxes. It should also be understood that the embodiments can be performed in a similar way are other container structures for media data, eg a new type of box, with a different four-character code from the Med iaDataBox. can be specified to contain a mdatjdentifler or the like, followed by media data.
In the above, some embodiments have been described in relation to HTTP and HTTP / 1.1. It is necessary to understand that embodiments are not limited to the use of HTTP, but other protocols, such as WebSockets or other versions of HTTP, for example, HTTP / 2, can be used instead or in addition ··.
In the foregoing, some embodiments have been described with reference to DASH formats and concepts. It is necessary to understand that realizations can be carried out in a similar way with other systems and mechanisms of continuous broadcasting and transport, such as Continuous Broadcasting in Doto by HTTP (as defined in the IETF Draft Internet draft-pantos-http-lrve-strearnlng) or MPEG Media Transport (MMT. Specified as part of ISO / IEC 2300-51.
In the above, some embodiments have been described with reference to a file. It is necessary to understand that embodiments can also be described with reference to a file segment, such as a segment or subsegment as · defined · in DASH, or a resource, for example, as understood to be received in response to. an HTTP GET request,
In the above, some embodiments have been described with reference to 15 characteristics of HTML 5.1, for example, when it comes to announcing the availability of multiple alternative images stored in the same container file through a ·· fragment scheme. URL. It is necessary to understand that embodiments can be performed in a similar way are other schemes whereby a URL fragment scheme or the like is in use.
For example, realizations can be used with Sineranized Media Integration Language (SMIL),
Embodiments of the present invention can be implemented in software, hardware, application logic, or a combination of software, hardware, and application logic. In an example embodiment, the application logic, software, or instruction set is maintained on any one of several conventional computer-readable media. In the context of this document, a computer readable medium may be any medium or media that can contain, store, communicate, propagate, or transport instructions for use by or in connection with an instruction execution system, apparatus, or device, such as a computer, with an example of a computer described and depicted in Figures B and 9, A computer readable medium may comprise a computer readable storage medium which may be any medium or media that may contain or store instructions for use by or in connection with an instruction execution system, device α device, such as a computer, if only the various functions discussed in this document can be performed in a different order and / or simultaneously with each other, add to it, if desired, one or more of the functions described above can be optional or can be combined.
In general, the various embodiments of the Invention can be implemented in special purpose hardware or circuits, software, logic, or any combination thereof. For example, some aspects can be implemented in hardware, while other aspects can be implemented in firmware □ software that can be executed by a controller, mi ·: ic-p-ic-c-ozo <): «ru another computing device, although the invention it is not limited to them. While various aspects of the. Invention may be illustrated and described as block diagrams, flow diagrams, or using some other pictorial representation,. It is well understood that these blocks, apparatus, systems, techniques, or methods described in this document may be implemented in, as non-limiting examples. , special purpose hardware, software, firmware, circuits or logic, general purpose hardware or controller or other Computer devices or some combination thereof,
The embodiments of this invention can be implemented by means of computer software executable by means of a data processor of the mobile device, such as in the processor entity or by means of hardware or by means of a combination of software and hardware. Furthermore, it should be noted that any block of the logic flow as in the figures can represent program stages, or interconnected logic circuits, blocks and functions, or a combination of program stages and logic circuits, blocks, and functions. The software may be stored on such physical media as memory chips or memory blocks implemented within the processor, magnetic media such as hard drives, floppy disks, and optical media such as, for example, DVD and the data variants thereof, CDs. ,
The various embodiments of the Invention can be Implemented with the.
c help computer program code that resides in a memory and causes you to read relevant devices to perform the. invention. For example, a terminal device may comprise circuitry and electronics for processing, receiving, and transmitting data, computer program code in memory, and a processor that, when executing computer program code, causes the terminal device to perform the characteristics of an embodiment. , To an α ¿lemmas a network device can comprise circuitry and electronics to process, receive and transmit data, computer program code in a memory and a processor which, when executing the computer program code, causes the network device to perform the characteristics of an embodiment.
Memory can be of any type appropriate to the local technical environment and can be implemented using any suitable data storage technology, such as semiconductor-based memory devices, magnetic memory devices and systems, optical memory devices, and systems. , fixed memory and removable memory, The data processors may be of any type suitable to the local technical environment, and may include one or more general purpose computers, special purpose computers, microprocessors, ρι »digital signal roasters (DSF) and processors based on multi-core processor architecture, as non-limiting examples,
Embodiments of the inventions can be practiced on various components such as integrated circuit modules. Integrated circuit design is generally a highly automated process. Complex and powerful software tools are available to convert a logic level design into a ready-to-create semiconductor circuit design and formed into a semiconductor substrate.
Programs, such as those provided by Sypnopsys Inc., Of Mountain View, California, and Cadenee Design, of San Jose, California, automatically route conductors and locate components on a semiconductor chip using well-established design rules, as well as design module libraries pre-stored. Once the design for a semiconductor circuit · has been completed, the resulting design, in a standard electronic format (eg, Opus, SDSII, or the like) can be transmitted to one. semiconductor manufacturing facility □ * fab * pure factory ·: i · · γι.
The foregoing description has provided by way of illustrative and non-limiting examples one. Complete and informative description of the illustrative embodiment of this invention. However, various modifications and adaptations may become apparent to those skilled in the art in light of the foregoing description, when used in conjunction with the accompanying drawings and the appended claims. However, all such and similar modifications: -s <lc the contents of this invention will belong to the scope of this invention,
Below are some examples,
A method is provided comprising:
receive a container file that includes at least one metadata unit in one. media data structure;
receive displacement data;
determining that the offset data is related to a location of the media data structure in the container file; and upon examination reveals that the displacement data is related to the location of the media data structure, use the displacement data as a reference to the location of the. media data structure to obtain the media data unit.,
In one embodiment, the method further comprises:
receive an identifier of the media data structure, the identifier being:>? <. ¡ad ·? read them cl? offset: and select the. structure, of media data of the container file on the basis of the identifier,
In one embodiment, the method further comprises:
receiving a second identifier within the media data structure; and select the. structure, of media data of the container file on the basis that the identified r is<sup>:</sup> equal to the second identifier.
In one embodiment, the method further comprises:
associate the offset data with a data reference index to one. list of data references included in the container file:
using the data reference index to select a data reference from the data reference list, comprising the selected data reference, the identifier of the media data structure,
In one embodiment, the method further comprises:
receive the identifier in a data structure that contains the displacement data.
In one embodiment of the method the at least one media data unit is a sample of one. track, the track comprising a sequence of samples in decoding order.
In one embodiment of the method the at least one media data unit is an item that is not associated with a decoding order.
In one embodiment of the method the shift data is related to a start of the media data structure, wherein the method further comprises:
use the offset data and a location from the beginning of the media data structure to obtain the media data unit.
In one embodiment of the method the container file comprises two or more 10 subsets of the media data, in which the method further comprises:
request from a server a subset of the media data between the two more subsets,
In one embodiment, the method further comprises:
receiving a first media file format box containing offsets, the first media file format box being associated with one. second box of media file format containing address data;
receive the second box of media file format; and 20 using offset data from the first, media file format box to obtain the media data unit of the second media file format box.
In a second example, an apparatus is provided comprising at least one processor and at least one memory, said at least one memory stored with code therein, which when executed ... by said at least one pioc: sadoi · causes a device to do at least the following · ::
receive a container file that includes at least one metadata unit in a media data structure:
receive displacement data;
determine that the displacement data is related to a location of the. media data structure in the container file; and if the examination reveals that the displacement data is the π related to the location of the media data structure, use the displacement data as a reference to the location of the. media data structure to obtain the media data unit.
In one embodiment of the apparatus, said at least one memory stored with code therein, which when executed by said at least one processor, causes an apparatus to do at least the following:
receive an identifier of the media data structure, the identifier being associated with the displacement data: γ select the media data structure of the container file on the basis of the identifier r.
In one embodiment of the apparatus, said at least one memory stored with code therein, which when executed by said at least one processor, causes a device to do at least the following:
receive a second identifier within the media data structure: and select the media data structure of the container file on the basis that the identifier is equal to the second identifier »
In one embodiment of the apparatus, said at least one memory stored with code therein, which when executed by said at least one processor, causes a device to do at least the following:
associate the offset data with a data reference index to one. list of data references included in the container file;
using the data reference index to select a data reference from the list of data references, the selected data reference comprising an identifier of the. media data structure.
In one embodiment of the apparatus, said at least one memory stored with code therein, which when executed by said at least one processor, causes an apparatus to perform at least the following:
receiving the identifier in a data structure containing the display data.
In one embodiment of the apparatus, in which the offset data is related to a start of the media data structure, said at least one memory, stored with code in it. same., that when executed by said at least one processor, causes a device to do at least the following:
use the offset data and a location from the beginning of the media data structure to obtain the media data unit.
In one embodiment of the apparatus, said at least one memory stored with code therein, which when executed by said at least one processor, causes an apparatus to do at least the following:
receiving a first media file format box containing 5 offsets, the first media file format box being associated with a second media file format box containing the address data added;
receive the second box of media file format; and using offset data from the first media file format box to obtain the media data unit of the second media file format box.
In a third example, a computer program product embedded in a non-transient computer readable medium is provided, comprising computer program code configured to, when run on at least one processor, cause an apparatus or system:
receive a container file that includes at least one metadata unit in a media data structure; receive displacement data;
determine that the offset data is related to a location of the media data structure in the container file; and if the examination reveals that the displacement data is related to the location of the media data structure, use the displacement data as a reference to the location of the media data structure to obtain the media data unit.
In a fourth example, a method is provided comprising:
forming a container file that includes at least one metadata unit in a media data structure;
form offset data in the container file as a reference to the. location of the media data unit relative to the media data structure: and include one. indication that the displacement data is related to the. location of the media data structure.
In one embodiment, the method further comprises:
include, in the container file, a first identifier of the structure of
OJWQIVOI media data, the first identifier associated with the offset data. In one embodiment, the method further comprises: including, in the container file, a second identifier of the media data structure within the media data structure, the second identifier being equal to the first identifier.
In one embodiment, the method further comprises:
include, in the container file, one. list of data references, include, within the data reference list, one. data reference comprising the first identifier · associate, in the container file, the offset data with a data reference index to the list of data references, with the data reference index referring to. the data reference comprising the first identifier:
use the data reference index to select a data reference from the list of data references, the selected data reference comprising an identifier of the. media data structure.
In one embodiment, the method further comprises:
include the first identifier in a data structure containing the offset data,
In a fifth example, an apparatus is provided comprising at least one processor and at least one memory, said at least one memory stored with code therein, which when executed, by said at least one processor, causes an apparatus to perform at least the following:
form a container file that · includes at least one metadata unit in a media data structure:
form offset data in the container file as a reference to the. location of the media data unit in relation to the media data structure; and include one. indication that the displacement data is related to the. location of the media data structure.
In one embodiment of the apparatus, said at least one memory stored with code therein, which when executed by said at least one processor, causes an apparatus to perform at least the following:
include in the container file a first identifier of the. structure of
OJWQIVOI media data, the first identifier associated with the offset data.
In one embodiment of the display, said at least one memory stored with code therein, which when executed by said at least one processor, causes an display to do at least the following:
include in the container file a second identifier of the media data structure within the media data structure, the second identifier being equal to the first identifier.
In a sixth example, a computer program product embedded in a non-transient burner readable medium is provided, comprising computer program code configured to, when run on at least one processor, cause an apparatus or system to:
form a container file that includes at least one metadata unit in a media data structure:
form offset data in the container file as a reference to the location of the media data unit relative to the media data structure; and include an indication that the offset data is related to the location of the media data structure.
In a seventh example, a device configured to perform the method of the first example is provided.
In an eighth example, an apparatus configured to perform the method of the fourth example is provided.
In a ninth example, an apparatus is provided comprising: means for receiving a container file that includes at least one metadata unit in a media data structure;
means for receiving displacement data;
means for determining that the offset data is related to a location of the media data structure in the container file; and means for using the offset data as a reference to the location of the media data structure to obtain the media data unit, if examination reveals that the offset data is related to the location of the data structure. media.
In a tenth example, an apparatus is provided comprising: means for forming a container file including at least one unit
OJWQIVOI of metadata in a media data structure;
means for forming offset data in the container file as one. reference to. the location of the. media data unit relative to the media data structure; and means for including an indication that the offset data is related to the location of the media data structure.
In an eleventh example, a method is provided that includes buying or quoting one. part of a file with one. first request, the first request comprising an identification of a data structure, the identification comprising a type and an identifier, wherein the identifier identifies the data structure among several data structures of the same type.
In a twelfth example, a method is provided comprising: receiving a first request that requests a part of a file, the first request comprising an identification of one. data structure, the identification comprising a type and an identifier, in which the identifier identifies the. data structure between several data structures of the same type;
determining the part of the file, said determination comprising identifying the data structure based on the type and identifier;
respond to the first request by transmitting the part of the file.
In one embodiment, the method further comprises: progressively transmitting the part of the file to more than one. portion.
In a thirteenth example, an apparatus configured to perform the method of the eleventh example is provided.
In a fourteenth example, an apparatus configured to perform the method of the twelfth example is provided.
BQ
Contents11
9 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9
13 members in 6 offices
Priority claims4
| Document | Office | Kind | Date |
|---|---|---|---|
| 2016050096 | Finland | W | |
| 2016050096 | Finland | W | |
| PCTFI2016050096 | – | – | – |
| WO2016FI50096 | – | – | – |
Members13
| Document | Office | Kind | |
|---|---|---|---|
| WO2017140939A1 | World Intellectual Property Organization (WIPO) | A1 | |
| KR20180112026A | Republic of Korea | A | |
| MX2018009876AThis record | Mexico | A | |
| CN109076261A | China | A | |
| EP3417633A1 | European Patent Office (EPO) | A1 | |
| US2019052937A1 | United States of America | A1 | |
| EP3417633A4 | European Patent Office (EPO) | A4 | |
| US10631069B2 | United States of America | B2 | |
| KR102125162B1 | Republic of Korea | B1 | |
| EP3703384A1 | European Patent Office (EPO) | A1 | |
| CN112383540A | China | A | |
| EP3703384B1 | European Patent Office (EPO) | B1 | |
| CN112383540B | China | B |
Numbers
- Publication
- 2018009876
- Publication, DOCDB
- 2018009876
- Publication, EPODOC
- MX2018009876
- Application
- 2018009876
- Application, DOCDB
- 2018009876
- Application, EPODOC
- MX20180009876
Titles
- Spanish
- ENCAPSULAMIENTO Y DESENCAPSULAMIENTO DE MEDIOS
Classification
- CPC, 9
- H04N21/8455
- H04L65/762
- H04N21/23605
- H04N21/234
- H04L65/764
- H04L65/70
- H04N21/4343
- H04N21/435
- H04N21/85406
- IPC, 5
- H04N21 845
- G06F17 30
- H04L29 06
- H04N21 234
- H04N21 854