WO2014010894A1 - Mpeg 데이터의 랜덤 억세스를 지원하는 방법 및 시스템 - Google Patents

Mpeg 데이터의 랜덤 억세스를 지원하는 방법 및 시스템 Download PDF

Info

Publication number
WO2014010894A1
WO2014010894A1 PCT/KR2013/006038 KR2013006038W WO2014010894A1 WO 2014010894 A1 WO2014010894 A1 WO 2014010894A1 KR 2013006038 W KR2013006038 W KR 2013006038W WO 2014010894 A1 WO2014010894 A1 WO 2014010894A1
Authority
WO
WIPO (PCT)
Prior art keywords
initialization
random access
data
mfu
flag
Prior art date
Application number
PCT/KR2013/006038
Other languages
English (en)
French (fr)
Inventor
이진영
윤국진
정원식
허남호
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020130077254A external-priority patent/KR102185384B1/ko
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to US14/414,394 priority Critical patent/US9894394B2/en
Publication of WO2014010894A1 publication Critical patent/WO2014010894A1/ko
Priority to US15/861,289 priority patent/US10187672B2/en
Priority to US16/216,698 priority patent/US11218748B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23605Creation or processing of packetized elementary streams [PES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4343Extraction or processing of packetized elementary streams [PES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream

Definitions

  • the present invention relates to a system and a method for supporting random access of MPEG data, and more particularly, to include data used for initialization of the decoding process or to include all data necessary for initialization of the decoding process.
  • the present invention relates to a technique for supporting random access.
  • the technology that supports random access of MPEG data can support random access by inserting an I frame supporting random access by independently encoding an image frame in a bit stream of MPEG data.
  • the random access may be performed only at the position of the I frame.
  • Embodiments of the present invention provide a method, apparatus, and system for supporting random access by setting an improved Media Processing Unit (MPU) and Media Fragment Unit (MFU) in a transmitting apparatus.
  • MPU Media Processing Unit
  • MFU Media Fragment Unit
  • embodiments of the present invention provide a method, apparatus and system for setting an improved MPU and MFU by inserting a specific flag in the header of the MPU and MFU in the process of supporting random access.
  • embodiments of the present invention provide a method, apparatus and system for performing random access using an improved MPU and MFU in a receiving apparatus.
  • embodiments of the present invention provide a method, apparatus, and system for activating random access by extracting a specific flag included in a header of an MPU and an MFU in a process of performing random access.
  • a method for supporting random access of MPEG data is to obtain at least one access unit including coded media data through a process including encapsulation and packetization. step; Grouping the at least one access unit to generate at least one media processing unit (MPU); Determining, at the at least one MPU, an initialization flag indicating whether the at least one access unit contains all data required for initialization of a decoding process; And inserting the initialization flag into a header of the at least one MPU.
  • MPU media processing unit
  • the determining of the initialization flag may include setting the initialization flag to 1 when the at least one access unit includes all data necessary for initialization of the decoding process.
  • the method of supporting random access of MPEG data includes determining, at the at least one MPU, a potential random access point flag indicating whether the at least one access unit can be a random access point; And inserting the potential random access point flag into a header of the at least one MPU.
  • the determining of the potential random access point flag may include setting the potential access point flag to 1 when the at least one access unit is the random access point.
  • the method of supporting random access of the MPEG data includes an initialization access indicative of an order / index of the at least one access unit including all initialization data necessary for a decoding process that can be used for a random access point in the at least one MPU. Determining a unit; And inserting the initialization access unit into a header of the at least one MPU.
  • a method of performing random access of MPEG data includes receiving at least one MPU; Extracting an initialization flag included in a header of the at least one MPU; Determining whether the at least one access unit included in the at least one MPU includes all data necessary for initialization of a decoding process based on the initialization flag; And activating random access for the at least one access unit included in the at least one MPU based on the determination result.
  • a method for supporting random access of MPEG data is to obtain at least one access unit including coded media data through a process including encapsulation and packetization. step; Fragmenting the at least one access unit to generate at least one Media Fragment Unit (MFU); Determining, at the at least one MFU, an initialization data flag indicating whether the at least one MFU includes data used for initialization of a decoding process; And inserting the initialization data flag into the header of the at least one MFU.
  • MFU Media Fragment Unit
  • the determining of the initialization data flag may include setting the initialization data flag to 1 when the at least one MFU includes data used for initialization of the decoding process.
  • the method of supporting random access of the MPEG data may include determining, in the at least one MFU, a priority designating a relative priority of the at least one MFU from the remaining MFUs except the at least one MFU; And inserting the priority in the header of the at least one MFU.
  • the priority may indicate the level of initialization data of the at least one MFU.
  • a method of performing random access of MPEG data includes: receiving at least one MFU; Extracting an initialization data flag included in a header of the at least one MFU; Determining whether the at least one MFU includes data used for initialization of a decoding process based on the initialization data flag; And activating random access to the at least one MFU based on the determination result.
  • Embodiments of the present invention can provide a method, apparatus and system for supporting random access by setting an improved Media Processing Unit (MPU) and Media Fragment Unit (MFU) in a transmitting apparatus.
  • MPU Media Processing Unit
  • MFU Media Fragment Unit
  • embodiments of the present invention can provide a method, apparatus, and system for setting an improved MPU and MFU by inserting a specific flag in the header of the MPU and MFU in the process of supporting random access.
  • embodiments of the present invention may provide a method, apparatus, and system for performing random access using an improved MPU and MFU in a receiving apparatus.
  • embodiments of the present invention may provide a method, apparatus and system for activating random access by extracting a specific flag included in a header of an MPU and an MFU in the process of performing random access.
  • FIGS. 1A and 1B are diagrams illustrating a Media Processing Unit (MPU) and a Media Fragment Unit (MFU).
  • MPU Media Processing Unit
  • MFU Media Fragment Unit
  • FIG. 2 is a diagram illustrating an MFU obtained by fragmenting an access unit.
  • FIG. 3 is a diagram illustrating an MPU packet according to an embodiment of the present invention.
  • FIG. 4 is a diagram illustrating syntax of an MPU according to an embodiment of the present invention.
  • FIG. 5 is a diagram illustrating an MFU packet according to an embodiment of the present invention.
  • FIG. 6 is a diagram illustrating syntax of MFU according to an embodiment of the present invention.
  • FIG. 7 is a flowchart illustrating a method of supporting random access of MPEG data set as an MPU in a transmitting apparatus according to an embodiment of the present invention.
  • FIG. 8 is a flowchart illustrating a method of performing random access of MPEG data set as an MPU in a receiving apparatus according to an embodiment of the present invention.
  • FIG. 9 is a flowchart illustrating a method of supporting random access of MPEG data set to MFU in a transmitting apparatus according to an embodiment of the present invention.
  • FIG. 10 is a flowchart illustrating a method of performing random access of MPEG data set to MFU in a receiving apparatus according to an embodiment of the present invention.
  • FIGS. 1A and 1B are diagrams illustrating a Media Processing Unit (MPU) and a Media Fragment Unit (MFU).
  • MPU Media Processing Unit
  • MFU Media Fragment Unit
  • timed media data 111 and non-timed media data 121 may be set and processed in MPU and MFU, which are formats of MPEG Media Transport (MMT) ASSET (110, 120).
  • MMT MPEG Media Transport
  • the MPUs 118 and 123 may be configured from at least one access unit, at least one MFU 119 or non-timed media data 121, and may be an encapsulated and packetized data format. Can be.
  • the MFU 119 may be generated by fragmenting an access unit, or may be generated from a single access unit, and may be an encapsulated and packetized data format.
  • the timed media data 111 may be converted into a plurality of coded access units 113, 114, and 115 through an encapsulation process (112).
  • the plurality of access units 113, 114, and 115 may be converted into the MPU 118 and the MFU 119 which are formats of the MMT ASSET (116, 117).
  • the MPU 118 may be generated by grouping a plurality of access units 113 and 114 (116)
  • the MFU 119 may be generated from a single access unit 115 (117).
  • the MFU 119 may be generated by fragmenting the single access unit 115. Detailed description thereof will be described below.
  • non-timed media data 121 may be converted to MPU 123 (122).
  • FIG. 2 is a diagram illustrating an MFU obtained by fragmenting an access unit.
  • a plurality of MFUs 230, 240, and 250 may be obtained by fragmenting a single access unit 210 (220).
  • each of the plurality of MFUs 230, 240, 250 may be used independently, each may include an identifier that distinguishes each other, and between the plurality of MFUs 230, 240, 250 in a single access unit. It may include an identifier that generalizes the relationship information.
  • the MPUs and MFUs mentioned above are defined by reference to "Working Draft of MPEG Media Transport” as specified in ISO / IEC JTC1 / SC29 / WG11 n12690 and "High efficiency coding and media delivery in heterogeneous environments" as specified in ISO / IEC 23008. Can be.
  • FIG. 3 is a diagram illustrating an MPU packet according to an embodiment of the present invention.
  • the MPU packet includes an MPU header 310 and an MPU payload 320.
  • the MPU payload 320 may include MPEG data
  • the MPU header 310 may include a length of an MPU, a length of an MPU header, an MPU sequence number, an access unit number, an access unit length, an initialization flag, and potentially random data.
  • An access point flag and an initialization access unit, a private header flag, a private header length, and a private header may be included. Detailed description thereof will be described below.
  • FIG. 4 is a diagram illustrating syntax of an MPU according to an embodiment of the present invention.
  • the header of the MPU includes the length of the MPU, the length of the MPU header, the MPU sequence number, the number of the access unit, the length of the access unit, the private header flag, the private header length, the private header, the initialization flag 410, Potential random access point flag 420 and initialization access unit 430 may be included.
  • the initialization flag 410 may indicate whether the access unit includes all data required for initialization of the decoding process in the MPU.
  • the initialization flag 410 may be set to a bit value of 1 when the access unit includes all data necessary for initialization of the decoding process.
  • the potential random access point flag 420 may indicate whether an access unit can be a random access point in the MPU. In this case, the potential random access point flag 420 may be set to a bit value of 1 when the access unit is a random access point.
  • the initialization access unit 430 may represent an order / index of an access unit including all initialization data necessary for the decoding process that may be used for a random access point in the MPU. In this case, the initialization access unit 430 may be set when the potential random access point flag 420 is valid.
  • FIG. 5 is a diagram illustrating an MFU packet according to an embodiment of the present invention.
  • an MFU packet includes an MFU header 510 and an MFU payload 520.
  • the MFU payload 520 may include MPEG data
  • the MFU header 510 may include a length of the MFU, a length of the MFU header, a start end indicator, an initialization data flag, a priority, a dependency counter, and a decoding order. have. Detailed description thereof will be described below.
  • FIG. 6 is a diagram illustrating syntax of MFU according to an embodiment of the present invention.
  • a header of an MFU may include a length of an MFU, a length of an MFU header, a start end indicator, an initialization data flag 610, a priority 620, a dependency counter, and a decoding order.
  • the initialization data flag 610 may indicate whether the MFU includes data used for initialization of the decoding process in the MFU. In this case, the initialization data flag 610 may be set to a bit value of 1 when the MFU includes data used for initialization of the decoding process.
  • the priority 620 may designate the relative priority of the corresponding MFU from the remaining MFUs other than the corresponding MFU in the MFU. In this case, when the initialization data flag 610 is set to a bit value of 1, the priority 620 may indicate the level of initialization data of the corresponding MFU. Further, priority 620 may be set when the start end indicator is equal to a specific parameter.
  • FIG. 7 is a flowchart illustrating a method of supporting random access of MPEG data set as an MPU in a transmitting apparatus according to an embodiment of the present invention.
  • a method according to an embodiment of the present invention obtains at least one access unit including coded media data through a process including encapsulation and packetization (710). .
  • the method according to an embodiment of the present invention groups 720 at least one access unit to generate at least one MPU (720).
  • the method according to an embodiment of the present invention determines, at at least one MPU, an initialization flag indicating whether at least one access unit includes all data required for initialization of the decoding process (730).
  • the determining of the initialization flag may include setting the initialization flag to 1 when at least one access unit includes all data necessary for initialization of the decoding process.
  • the method according to an embodiment of the present invention inserts an initialization flag into a header of at least one MPU (740).
  • the method according to an embodiment of the present invention determines, at at least one MPU, a potential random access point flag indicating whether at least one access unit can be a random access point, and at least one potential random access point flag. Can be inserted into the header of the MPU.
  • the determining of the potential random access point flag may include setting the potential access point flag to 1 when at least one access unit is a random access point.
  • the method according to an embodiment of the present invention provides an initialization access unit that represents an order / index of at least one access unit including all initialization data necessary for a decoding process that can be used for a random access point in at least one MPU.
  • the initialization access unit may be inserted into the header of the at least one MPU.
  • FIG. 8 is a flowchart illustrating a method of performing random access of MPEG data set as an MPU in a receiving apparatus according to an embodiment of the present invention.
  • the method according to an embodiment of the present invention receives at least one MPU (810).
  • the method extracts an initialization flag included in a header of at least one MPU.
  • the method according to the embodiment of the present invention determines whether at least one access unit included in the at least one MPU includes all data necessary for initialization of the decoding process based on the initialization flag (830).
  • the method according to the embodiment of the present invention activates random access for at least one access unit included in the at least one MPU based on the determination result (840).
  • FIG. 9 is a flowchart illustrating a method of supporting random access of MPEG data set to MFU in a transmitting apparatus according to an embodiment of the present invention.
  • a method according to an embodiment of the present invention obtains at least one access unit including coded media data through a process including encapsulation and packetization (910). .
  • the method according to the embodiment of the present invention fragments the at least one access unit to generate at least one media fragment unit (MFU).
  • MFU media fragment unit
  • the method according to an embodiment of the present invention determines, in at least one MFU, an initialization data flag indicating whether at least one MFU includes data used for initialization of the decoding process (930).
  • the determining of the initialization data flag may include setting the initialization data flag to 1 when at least one MFU includes data used for initialization of the decoding process.
  • the method according to an embodiment of the present invention inserts an initialization data flag into a header of at least one MFU (940).
  • the method according to an embodiment of the present invention determines the priority specifying the relative priority of the at least one MFU from the remaining MFUs except at least one MFU, and the priority is at least one Can be inserted into the header of the MFU.
  • the priority may indicate the level of initialization data of at least one MFU.
  • FIG. 10 is a flowchart illustrating a method of performing random access of MPEG data set to MFU in a receiving apparatus according to an embodiment of the present invention.
  • a method according to an embodiment of the present invention receives 1010 at least one MFU.
  • the method extracts an initialization data flag included in a header of at least one MFU.
  • the method according to an embodiment of the present invention determines 1030 whether the at least one MFU includes data used for initialization of the decoding process based on the initialization data flag.
  • the method according to an embodiment of the present invention activates random access to at least one MFU based on the determination result (1040).
  • the apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components.
  • the devices and components described in the embodiments may be, for example, processors, controllers, arithmetic logic units (ALUs), digital signal processors, microcomputers, field programmable arrays (FPAs), It may be implemented using one or more general purpose or special purpose computers, such as a programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions.
  • the processing device may execute an operating system (OS) and one or more software applications running on the operating system.
  • the processing device may also access, store, manipulate, process, and generate data in response to the execution of the software.
  • OS operating system
  • the processing device may also access, store, manipulate, process, and generate data in response to the execution of the software.
  • processing device includes a plurality of processing elements and / or a plurality of types of processing elements. It can be seen that it may include.
  • the processing device may include a plurality of processors or one processor and one controller.
  • other processing configurations are possible, such as parallel processors.
  • the software may include a computer program, code, instructions, or a combination of one or more of the above, and configure the processing device to operate as desired, or process it independently or collectively. You can command the device.
  • Software and / or data may be any type of machine, component, physical device, virtual equipment, computer storage medium or device in order to be interpreted by or to provide instructions or data to the processing device. Or may be permanently or temporarily embodied in a signal wave to be transmitted.
  • the software may be distributed over networked computer systems so that they may be stored or executed in a distributed manner.
  • Software and data may be stored on one or more computer readable recording media.
  • the method according to the embodiment may be embodied in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium.
  • the computer readable medium may include program instructions, data files, data structures, etc. alone or in combination.
  • the program instructions recorded on the media may be those specially designed and constructed for the purposes of the embodiments, or they may be of the kind well-known and available to those having skill in the computer software arts.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks.
  • Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
  • the hardware device described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

Abstract

MPEG 데이터의 랜덤 억세스를 지원하는 방법은 캡슐화 및 패킷화를 포함하는 처리를 통하여 코딩된(coded) 미디어 데이터를 포함하는 적어도 하나의 억세스 유닛(Access Unit)을 획득하는 단계; 상기 적어도 하나의 억세스 유닛을 그룹화하여 적어도 하나의 MPU(Media Processing Unit)를 생성하는 단계; 상기 적어도 하나의 MPU에서, 상기 적어도 하나의 억세스 유닛이 디코딩 프로세스의 초기화에 필요한 모든 데이터를 포함하는지 여부를 나타내는 초기화 플래그를 결정하는 단계; 및 상기 초기화 플래그를 상기 적어도 하나의 MPU의 헤더에 삽입하는 단계를 포함한다.

Description

MPEG 데이터의 랜덤 억세스를 지원하는 방법 및 시스템
본 발명은 MPEG 데이터의 랜덤 억세스를 지원하는 시스템 및 그 방법에 관한 것으로, 보다 구체적으로, MPEG 데이터에 디코딩 프로세스의 초기화에 사용되는 데이터를 포함시키거나, 디코딩 프로세스의 초기화에 필요한 모든 데이터를 포함시킴으로써, 랜덤 억세스를 지원하는 기술에 관한 것이다.
MPEG 데이터의 랜덤 억세스를 지원하는 기술은 MPEG 데이터의 비트 스트림(bit stream)안에 영상 프레임이 독립적으로 코딩되어 랜덤 억세스를 지원하는 I 프레임을 삽입함으로써, 랜덤 억세스를 지원할 수 있다. 여기서, 랜덤 억세스는 I 프레임의 위치에서만 수행 가능할 수 있다.
본 발명의 실시예들은 송신 장치에서, 개선된 MPU(Media Processing Unit) 및 MFU(Media Fragment Unit)를 설정하여 랜덤 억세스를 지원하는 방법, 장치 및 시스템을 제공한다.
또한, 본 발명의 실시예들은 랜덤 억세스를 지원하는 과정에서, MPU 및 MFU의 헤더에 특정 플래그(flag)를 삽입하여 개선된 MPU 및 MFU를 설정하는 방법, 장치 및 시스템을 제공한다.
또한, 본 발명의 실시예들은 수신 장치에서, 개선된 MPU 및 MFU를 이용하여 랜덤 억세스를 수행하는 방법, 장치 및 시스템을 제공한다.
또한, 본 발명의 실시예들은 랜덤 억세스를 수행하는 과정에서, MPU 및 MFU의 헤더에 포함된 특정 플래그를 추출하여 랜덤 억세스를 활성화하는 방법, 장치 및 시스템을 제공한다.
본 발명의 일실시예에 따른 MPEG 데이터의 랜덤 억세스를 지원하는 방법은 캡슐화 및 패킷화를 포함하는 처리를 통하여 코딩된(coded) 미디어 데이터를 포함하는 적어도 하나의 억세스 유닛(Access Unit)을 획득하는 단계; 상기 적어도 하나의 억세스 유닛을 그룹화하여 적어도 하나의 MPU(Media Processing Unit)를 생성하는 단계; 상기 적어도 하나의 MPU에서, 상기 적어도 하나의 억세스 유닛이 디코딩 프로세스의 초기화에 필요한 모든 데이터를 포함하는지 여부를 나타내는 초기화 플래그를 결정하는 단계; 및 상기 초기화 플래그를 상기 적어도 하나의 MPU의 헤더에 삽입하는 단계를 포함한다.
상기 초기화 플래그를 결정하는 단계는 상기 적어도 하나의 억세스 유닛이 상기 디코딩 프로세스의 초기화에 필요한 모든 데이터를 포함하는 경우, 상기 초기화 플래그를 1로 설정하는 단계를 포함할 수 있다.
상기 MPEG 데이터의 랜덤 억세스를 지원하는 방법은 상기 적어도 하나의 MPU에서, 상기 적어도 하나의 억세스 유닛이 랜덤 억세스 포인트가 될 수 있는지 여부를 나타내는 잠재적 랜덤 억세스 포인트 플래그를 결정하는 단계; 및 상기 잠재적 랜덤 억세스 포인트 플래그를 상기 적어도 하나의 MPU의 헤더에 삽입하는 단계를 더 포함할 수 있다.
상기 잠재적 랜덤 억세스 포인트 플래그를 결정하는 단계는 상기 적어도 하나의 억세스 유닛이 상기 랜덤 억세스 포인트인 경우, 상기 잠재적 억세스 포인트 플래그를 1로 설정하는 단계를 포함할 수 있다.
상기 MPEG 데이터의 랜덤 억세스를 지원하는 방법은 상기 적어도 하나의 MPU에서, 랜덤 억세스 포인트에 대해 사용될 수 있는 디코딩 프로세스에 필요한 모든 초기화 데이터를 포함하는 상기 적어도 하나의 억세스 유닛의 오더/인덱스를 나타내는 초기화 억세스 유닛을 결정하는 단계; 및 상기 초기화 억세스 유닛을 상기 적어도 하나의 MPU의 헤더에 삽입하는 단계를 더 포함할 수 있다.
본 발명의 일실시예에 따른 MPEG 데이터의 랜덤 억세스를 수행하는 방법은 적어도 하나의 MPU를 수신하는 단계; 상기 적어도 하나의 MPU의 헤더에 포함된 초기화 플래그를 추출하는 단계; 상기 초기화 플래그를 기초로 상기 적어도 하나의 MPU에 포함된 상기 적어도 하나의 억세스 유닛이 디코딩 프로세스의 초기화에 필요한 모든 데이터를 포함하는지 여부를 판단하는 단계; 및 상기 판단 결과에 기초하여 상기 적어도 하나의 MPU에 포함된 상기 적어도 하나의 억세스 유닛에 대한 랜덤 억세스를 활성화하는 단계를 포함한다.
본 발명의 일실시예에 따른 MPEG 데이터의 랜덤 억세스를 지원하는 방법은 캡슐화 및 패킷화를 포함하는 처리를 통하여 코딩된(coded) 미디어 데이터를 포함하는 적어도 하나의 억세스 유닛(Access Unit)을 획득하는 단계; 상기 적어도 하나의 억세스 유닛을 조각화하여 적어도 하나의 MFU(Media Fragment Unit)를 생성하는 단계; 상기 적어도 하나의 MFU에서, 상기 적어도 하나의 MFU가 디코딩 프로세스의 초기화에 사용되는 데이터를 포함하는지 여부를 나타내는 초기화 데이터 플래그를 결정하는 단계; 및 상기 초기화 데이터 플래그를 상기 적어도 하나의 MFU의 헤더에 삽입하는 단계를 포함한다.
상기 초기화 데이터 플래그를 결정하는 단계는 상기 적어도 하나의 MFU가 상기 디코딩 프로세스의 초기화에 사용되는 데이터를 포함하는 경우, 상기 초기화 데이터 플래그를 1로 설정하는 단계를 포함할 수 있다.
상기 MPEG 데이터의 랜덤 억세스를 지원하는 방법은 상기 적어도 하나의 MFU에서, 상기 적어도 하나의 MFU를 제외한 나머지 MFU들로부터 상기 적어도 하나의 MFU의 상대적인 우선순위를 지정하는 우선순위를 결정하는 단계; 및 상기 우선순위를 상기 적어도 하나의 MFU의 헤더에 삽입하는 단계를 더 포함할 수 있다.
초기화 데이터 플래그가 1로 설정되는 경우, 상기 우선순위는 상기 적어도 하나의 MFU의 초기화 데이터의 레벨을 나타낼 수 있다.
본 발명의 일실시예에 따른 MPEG 데이터의 랜덤 억세스를 수행하는 방법은 적어도 하나의 MFU를 수신하는 단계; 상기 적어도 하나의 MFU의 헤더에 포함된 초기화 데이터 플래그를 추출하는 단계; 상기 초기화 데이터 플래그를 기초로 상기 적어도 하나의 MFU가 디코딩 프로세스의 초기화에 사용되는 데이터를 포함하는지 여부를 판단하는 단계; 및 상기 판단 결과에 기초하여 상기 적어도 하나의 MFU에 대한 랜덤 억세스를 활성화하는 단계를 포함한다.
본 발명의 실시예들은 송신 장치에서, 개선된 MPU(Media Processing Unit) 및 MFU(Media Fragment Unit)를 설정하여 랜덤 억세스를 지원하는 방법, 장치 및 시스템을 제공할 수 있다.
또한, 본 발명의 실시예들은 랜덤 억세스를 지원하는 과정에서, MPU 및 MFU의 헤더에 특정 플래그(flag)를 삽입하여 개선된 MPU 및 MFU를 설정하는 방법, 장치 및 시스템을 제공할 수 있다.
또한, 본 발명의 실시예들은 수신 장치에서, 개선된 MPU 및 MFU를 이용하여 랜덤 억세스를 수행하는 방법, 장치 및 시스템을 제공할 수 있다.
또한, 본 발명의 실시예들은 랜덤 억세스를 수행하는 과정에서, MPU 및 MFU의 헤더에 포함된 특정 플래그를 추출하여 랜덤 억세스를 활성화하는 방법, 장치 및 시스템을 제공할 수 있다.
도 1a 및 1b는 MPU(Media Processing Unit) 및 MFU(Media Fragment Unit)를 나타낸 도면이다.
도 2는 억세스 유닛(Access Unit)을 조각화하여 획득한 MFU를 나타낸 도면이다.
도 3은 본 발명의 일실시예에 따른 MPU 패킷을 나타낸 도면이다.
도 4는 본 발명의 일실시예에 따른 MPU의 syntax를 나타낸 도면이다.
도 5는 본 발명의 일실시예에 따른 MFU 패킷을 나타낸 도면이다.
도 6은 본 발명의 일실시예에 따른 MFU의 syntax를 나타낸 도면이다.
도 7은 본 발명의 일실시예에 따른 송신 장치에서 MPU로 설정된 MPEG 데이터의 랜덤 억세스를 지원하는 방법을 나타낸 플로우 차트이다.
도 8은 본 발명의 일실시예에 따른 수신 장치에서 MPU로 설정된 MPEG 데이터의 랜덤 억세스를 수행하는 방법을 나타낸 플로우 차트이다.
도 9는 본 발명의 일실시예에 따른 송신 장치에서 MFU로 설정된 MPEG 데이터의 랜덤 억세스를 지원하는 방법을 나타낸 플로우 차트이다.
도 10은 본 발명의 일실시예에 따른 수신 장치에서 MFU로 설정된 MPEG 데이터의 랜덤 억세스를 수행하는 방법을 나타낸 플로우 차트이다.
이하, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 또한, 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1a 및 1b는 MPU(Media Processing Unit) 및 MFU(Media Fragment Unit)를 나타낸 도면이다.
도 1a 및 1b를 참조하면, timed 미디어 데이터(111) 및 non-timed 미디어 데이터(121)는 MMT(MPEG Media Transport) ASSET의 포맷인 MPU 및 MFU로 설정되어 처리될 수 있다(110, 120).
여기서, MPU(118, 123)는 적어도 하나의 억세스 유닛(Access Unit), 적어도 하나의 MFU(119) 또는 non-timed 미디어 데이터(121)로부터 구성될 수 있고, 캡슐화 및 패킷화 처리된 데이터 포맷일 수 있다.
또한, MFU(119)는 억세스 유닛을 조각화하여 생성되거나, 단일 억세스 유닛으로부터 생성될 수 있고, 캡슐화 및 패킷화 처리된 데이터 포맷일 수 있다.
보다 구체적으로, timed 미디어 데이터의 처리(110)를 살펴보면, timed 미디어 데이터(111)는 캡슐화 처리를 통하여 코딩된 복수의 억세스 유닛들(113, 114, 115)으로 변환될 수 있다(112). 또한, 복수의 억세스 유닛들(113, 114, 115)은 MMT ASSET의 포맷인 MPU(118) 및 MFU(119)로 변환될 수 있다(116, 117). 여기서, MPU(118)는 복수의 억세스 유닛들(113, 114)이 그룹화되어 생성될 수 있고(116), MFU(119)는 단일 억세스 유닛(115)으로부터 생성될 수 있다(117). 이 때, MFU(119)는 단일 억세스 유닛(115)을 조각화하여 생성될 수 있다. 이에 대한 상세한 설명은 아래에서 기재하기로 한다.
non-timed 미디어 데이터의 처리(120)를 살펴보면, non-timed 미디어 데이터(121)는 MPU(123)로 변환될 수 있다(122).
도 2는 억세스 유닛(Access Unit)을 조각화하여 획득한 MFU를 나타낸 도면이다.
도 2를 참조하면, 복수의 MFU들(230, 240, 250)은 단일 억세스 유닛(210)을 조각화하여(220) 획득될 수 있다. 여기서, 복수의 MFU들(230, 240, 250) 각각은 독립적으로 사용될 수 있고, 각각 서로를 구별하는 식별자를 포함할 수 있으며, 단일 억세스 유닛 내의 복수의 MFU들(230, 240, 250) 사이의 관계 정보를 일반화하는 식별자를 포함할 수 있다.
위에서 상술한 MPU 및 MFU는 ISO/IEC JTC1/SC29/WG11 n12690에 명시된 "Working Draft of MPEG Media Transport" 및 ISO/IEC 23008에 명시된 "High efficiency coding and media delivery in heterogeneous environments"의 참고자료에 의해 정의될 수 있다.
도 3은 본 발명의 일실시예에 따른 MPU 패킷을 나타낸 도면이다.
도 3을 참조하면, MPU 패킷은 MPU 헤더(310) 및 MPU 페이로드(320)를 포함한다. 여기서, MPU 페이로드(320)에는 MPEG 데이터가 포함될 수 있고, MPU 헤더(310)에는 MPU의 길이, MPU 헤더의 길이, MPU 시퀀스 넘버, 억세스 유닛의 넘버, 억세스 유닛의 길이, 초기화 플래그, 잠재적 랜덤 억세스 포인트 플래그 및 초기화 억세스 유닛, 프라이빗 헤더 플래그, 프라이빗 헤더 길이 및 프라이빗 헤더가 포함될 수 있다. 이에 대한 상세한 설명은 아래에서 기재하기로 한다.
도 4는 본 발명의 일실시예에 따른 MPU의 syntax를 나타낸 도면이다.
도 4를 참조하면, MPU의 헤더에는 MPU의 길이, MPU 헤더의 길이, MPU 시퀀스 넘버, 억세스 유닛의 넘버, 억세스 유닛의 길이, 프라이빗 헤더 플래그, 프라이빗 헤더 길이, 프라이빗 헤더, 초기화 플래그(410), 잠재적 랜덤 억세스 포인트 플래그(420) 및 초기화 억세스 유닛(430)이 포함될 수 있다.
여기서, 초기화 플래그(410)는 MPU에서 억세스 유닛이 디코딩 프로세스의 초기화에 필요한 모든 데이터를 포함하는지 여부를 나타낼 수 있다. 이 때, 초기화 플래그(410)는 억세스 유닛이 디코딩 프로세스의 초기화에 필요한 모든 데이터를 포함하는 경우, 1의 비트 값으로 설정될 수 있다.
또한, 잠재적 랜덤 억세스 포인트 플래그(420)는 MPU에서 억세스 유닛이 랜덤 억세스 포인트가 될 수 있는지 여부를 나타낼 수 있다. 이 때, 잠재적 랜덤 억세스 포인트 플래그(420)는 억세스 유닛이 랜덤 억세스 포인트인 경우, 1의 비트 값으로 설정될 수 있다.
또한, 초기화 억세스 유닛(430)은 MPU에서 랜덤 억세스 포인트에 대해 사용될 수 있는 디코딩 프로세스에 필요한 모든 초기화 데이터를 포함하는 억세스 유닛의 오더/인덱스를 나타낼 수 있다. 이 때, 초기화 억세스 유닛(430)은 잠재적 랜덤 억세스 포인트 플래그(420)가 유효한 경우, 설정될 수 있다.
도 5는 본 발명의 일실시예에 따른 MFU 패킷을 나타낸 도면이다.
도 5를 참조하면, MFU 패킷은 MFU 헤더(510) 및 MFU 페이로드(520)를 포함한다. 여기서, MFU 페이로드(520)에는 MPEG 데이터가 포함될 수 있고, MFU 헤더(510)에는 MFU의 길이, MFU 헤더의 길이, 스타트 엔드 지시자, 초기화 데이터 플래그, 우선순위, 의존 카운터 및 디코딩 순서가 포함될 수 있다. 이에 대한 상세한 설명은 아래에서 기재하기로 한다.
도 6은 본 발명의 일실시예에 따른 MFU의 syntax를 나타낸 도면이다.
도 6을 참조하면, MFU의 헤더에는 MFU의 길이, MFU 헤더의 길이, 시작 엔드 지시자, 초기화 데이터 플래그(610), 우선순위(620), 의존 카운터 및 디코딩 순서가 포함될 수 있다.
여기서, 초기화 데이터 플래그(610)는 MFU에서 MFU가 디코딩 프로세스의 초기화에 사용되는 데이터를 포함하는지 여부를 나타낼 수 있다. 이 때, 초기화 데이터 플래그(610)는 MFU가 디코딩 프로세스의 초기화에 사용되는 데이터를 포함하는 경우, 1의 비트 값으로 설정될 수 있다.
또한, 우선순위(620)는 MFU에서 해당 MFU를 제외한 나머지 MFU들로부터 해당 MFU의 상대적인 우선순위를 지정할 수 있다. 이 때, 초기화 데이터 플래그(610)가 1의 비트 값으로 설정되는 경우, 우선순위(620)는 해당 MFU의 초기화 데이터의 레벨을 나타낼 수 있다. 또한, 우선순위(620)는 스타트 엔드 지시자가 특정 파라미터와 동일한 경우, 설정될 수 있다.
도 7은 본 발명의 일실시예에 따른 송신 장치에서 MPU로 설정된 MPEG 데이터의 랜덤 억세스를 지원하는 방법을 나타낸 플로우 차트이다.
도 7을 참조하면, 본 발명의 실시예에 따른 방법은 캡슐화 및 패킷화를 포함하는 처리를 통하여 코딩된(coded) 미디어 데이터를 포함하는 적어도 하나의 억세스 유닛(Access Unit)을 획득한다(710).
또한, 본 발명의 실시예에 따른 방법은 적어도 하나의 억세스 유닛을 그룹화하여 적어도 하나의 MPU를 생성한다(720).
또한, 본 발명의 실시예에 따른 방법은 적어도 하나의 MPU에서, 적어도 하나의 억세스 유닛이 디코딩 프로세스의 초기화에 필요한 모든 데이터를 포함하는지 여부를 나타내는 초기화 플래그를 결정한다(730). 이 때, 초기화 플래그를 결정하는 과정은 적어도 하나의 억세스 유닛이 디코딩 프로세스의 초기화에 필요한 모든 데이터를 포함하는 경우, 초기화 플래그를 1로 설정하는 과정을 포함할 수 있다.
또한, 본 발명의 실시예에 따른 방법은 초기화 플래그를 적어도 하나의 MPU의 헤더에 삽입한다(740).
또한, 본 발명의 실시예에 따른 방법은 적어도 하나의 MPU에서, 적어도 하나의 억세스 유닛이 랜덤 억세스 포인트가 될 수 있는지 여부를 나타내는 잠재적 랜덤 억세스 포인트 플래그를 결정하고, 잠재적 랜덤 억세스 포인트 플래그를 적어도 하나의 MPU의 헤더에 삽입할 수 있다. 이 때, 잠재적 랜덤 억세스 포인트 플래그를 결정하는 과정은 적어도 하나의 억세스 유닛이 랜덤 억세스 포인트인 경우, 잠재적 억세스 포인트 플래그를 1로 설정하는 과정을 포함할 수 있다.
또한, 본 발명의 실시예에 따른 방법은 적어도 하나의 MPU에서, 랜덤 억세스 포인트에 대해 사용될 수 있는 디코딩 프로세스에 필요한 모든 초기화 데이터를 포함하는 적어도 하나의 억세스 유닛의 오더/인덱스를 나타내는 초기화 억세스 유닛을 결정하고, 초기화 억세스 유닛을 적어도 하나의 MPU의 헤더에 삽입할 수 있다.
도 8은 본 발명의 일실시예에 따른 수신 장치에서 MPU로 설정된 MPEG 데이터의 랜덤 억세스를 수행하는 방법을 나타낸 플로우 차트이다.
도 8을 참조하면, 본 발명의 실시예에 따른 방법은 적어도 하나의 MPU를 수신한다(810).
또한, 본 발명의 실시예에 따른 방법은 적어도 하나의 MPU의 헤더에 포함된 초기화 플래그를 추출한다(820).
또한, 본 발명의 실시예에 따른 방법은 초기화 플래그를 기초로 적어도 하나의 MPU에 포함된 적어도 하나의 억세스 유닛이 디코딩 프로세스의 초기화에 필요한 모든 데이터를 포함하는지 여부를 판단한다(830).
또한, 본 발명의 실시예에 따른 방법은 판단 결과에 기초하여 적어도 하나의 MPU에 포함된 적어도 하나의 억세스 유닛에 대한 랜덤 억세스를 활성화한다(840).
도 9는 본 발명의 일실시예에 따른 송신 장치에서 MFU로 설정된 MPEG 데이터의 랜덤 억세스를 지원하는 방법을 나타낸 플로우 차트이다.
도 9를 참조하면, 본 발명의 실시예에 따른 방법은 캡슐화 및 패킷화를 포함하는 처리를 통하여 코딩된(coded) 미디어 데이터를 포함하는 적어도 하나의 억세스 유닛(Access Unit)을 획득한다(910).
또한, 본 발명의 실시예에 따른 방법은 적어도 하나의 억세스 유닛을 조각화하여 적어도 하나의 MFU(Media Fragment Unit)를 생성한다(920).
또한, 본 발명의 실시예에 따른 방법은 적어도 하나의 MFU에서, 적어도 하나의 MFU가 디코딩 프로세스의 초기화에 사용되는 데이터를 포함하는지 여부를 나타내는 초기화 데이터 플래그를 결정한다(930). 이 때, 초기화 데이터 플래그를 결정하는 과정은 적어도 하나의 MFU가 디코딩 프로세스의 초기화에 사용되는 데이터를 포함하는 경우, 초기화 데이터 플래그를 1로 설정하는 과정을 포함할 수 있다.
또한, 본 발명의 실시예에 따른 방법은 초기화 데이터 플래그를 적어도 하나의 MFU의 헤더에 삽입한다(940).
또한, 본 발명의 실시예에 따른 방법은 적어도 하나의 MFU에서, 적어도 하나의 MFU를 제외한 나머지 MFU들로부터 적어도 하나의 MFU의 상대적인 우선순위를 지정하는 우선순위를 결정하고, 우선순위를 적어도 하나의 MFU의 헤더에 삽입할 수 있다. 이 때, 초기화 데이터 플래그가 1로 설정되는 경우, 우선순위는 적어도 하나의 MFU의 초기화 데이터의 레벨을 나타낼 수 있다.
도 10은 본 발명의 일실시예에 따른 수신 장치에서 MFU로 설정된 MPEG 데이터의 랜덤 억세스를 수행하는 방법을 나타낸 플로우 차트이다.
도 10을 참조하면, 본 발명의 실시예에 따른 방법은 적어도 하나의 MFU를 수신한다(1010).
또한, 본 발명의 실시예에 따른 방법은 적어도 하나의 MFU의 헤더에 포함된 초기화 데이터 플래그를 추출한다(1020).
또한, 본 발명의 실시예에 따른 방법은 초기화 데이터 플래그를 기초로 적어도 하나의 MFU가 디코딩 프로세스의 초기화에 사용되는 데이터를 포함하는지 여부를 판단한다(1030).
또한, 본 발명의 실시예에 따른 방법은 판단 결과에 기초하여 적어도 하나의 MFU에 대한 랜덤 억세스를 활성화한다(1040).
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (11)

  1. MPEG 데이터의 랜덤 억세스를 지원하는 방법에 있어서,
    캡슐화 및 패킷화를 포함하는 처리를 통하여 코딩된(coded) 미디어 데이터를 포함하는 적어도 하나의 억세스 유닛(Access Unit)을 획득하는 단계;
    상기 적어도 하나의 억세스 유닛을 그룹화하여 적어도 하나의 MPU(Media Processing Unit)를 생성하는 단계;
    상기 적어도 하나의 MPU에서, 상기 적어도 하나의 억세스 유닛이 디코딩 프로세스의 초기화에 필요한 모든 데이터를 포함하는지 여부를 나타내는 초기화 플래그를 결정하는 단계; 및
    상기 초기화 플래그를 상기 적어도 하나의 MPU의 헤더에 삽입하는 단계
    를 포함하는 MPEG 데이터의 랜덤 억세스를 지원하는 방법.
  2. 제1항에 있어서,
    상기 초기화 플래그를 결정하는 단계는
    상기 적어도 하나의 억세스 유닛이 상기 디코딩 프로세스의 초기화에 필요한 모든 데이터를 포함하는 경우, 상기 초기화 플래그를 1로 설정하는 단계
    를 포함하는 MPEG 데이터의 랜덤 억세스를 지원하는 방법.
  3. 제1항에 있어서,
    상기 적어도 하
    나의 MPU에서, 상기 적어도 하나의 억세스 유닛이 랜덤 억세스 포인트가 될 수 있는지 여부를 나타내는 잠재적 랜덤 억세스 포인트 플래그를 결정하는 단계; 및
    상기 잠재적 랜덤 억세스 포인트 플래그를 상기 적어도 하나의 MPU의 헤더에 삽입하는 단계
    를 더 포함하는 MPEG 데이터의 랜덤 억세스를 지원하는 방법.
  4. 제3항에 있어서,
    상기 잠재적 랜덤 억세스 포인트 플래그를 결정하는 단계는
    상기 적어도 하나의 억세스 유닛이 상기 랜덤 억세스 포인트인 경우, 상기 잠재적 억세스 포인트 플래그를 1로 설정하는 단계
    를 포함하는 MPEG 데이터의 랜덤 억세스를 지원하는 방법.
  5. 제1항에 있어서,
    상기 적어도 하나의 MPU에서, 랜덤 억세스 포인트에 대해 사용될 수 있는 디코딩 프로세스에 필요한 모든 초기화 데이터를 포함하는 상기 적어도 하나의 억세스 유닛의 오더/인덱스를 나타내는 초기화 억세스 유닛을 결정하는 단계; 및
    상기 초기화 억세스 유닛을 상기 적어도 하나의 MPU의 헤더에 삽입하는 단계
    를 더 포함하는 MPEG 데이터의 랜덤 억세스를 지원하는 방법.
  6. MPEG 데이터의 랜덤 억세스를 수행하는 방법에 있어서,
    적어도 하나의 MPU를 수신하는 단계;
    상기 적어도 하나의 MPU의 헤더에 포함된 초기화 플래그를 추출하는 단계;
    상기 초기화 플래그를 기초로 상기 적어도 하나의 MPU에 포함된 상기 적어도 하나의 억세스 유닛이 디코딩 프로세스의 초기화에 필요한 모든 데이터를 포함하는지 여부를 판단하는 단계; 및
    상기 판단 결과에 기초하여 상기 적어도 하나의 MPU에 포함된 상기 적어도 하나의 억세스 유닛에 대한 랜덤 억세스를 활성화하는 단계
    를 포함하는 MPEG 데이터의 랜덤 억세스를 수행하는 방법.
  7. MPEG 데이터의 랜덤 억세스를 지원하는 방법에 있어서,
    캡슐화 및 패킷화를 포함하는 처리를 통하여 코딩된(coded) 미디어 데이터를 포함하는 적어도 하나의 억세스 유닛(Access Unit)을 획득하는 단계;
    상기 적어도 하나의 억세스 유닛을 조각화하여 적어도 하나의 MFU(Media Fragment Unit)를 생성하는 단계;
    상기 적어도 하나의 MFU에서, 상기 적어도 하나의 MFU가 디코딩 프로세스의 초기화에 사용되는 데이터를 포함하는지 여부를 나타내는 초기화 데이터 플래그를 결정하는 단계; 및
    상기 초기화 데이터 플래그를 상기 적어도 하나의 MFU의 헤더에 삽입하는 단계
    를 포함하는 MPEG 데이터의 랜덤 억세스를 지원하는 방법.
  8. 제7항에 있어서,
    상기 초기화 데이터 플래그를 결정하는 단계는
    상기 적어도 하나의 MFU가 상기 디코딩 프로세스의 초기화에 사용되는 데이터를 포함하는 경우, 상기 초기화 데이터 플래그를 1로 설정하는 단계
    를 포함하는 MPEG 데이터의 랜덤 억세스를 지원하는 방법.
  9. 제7항에 있어서,
    상기 적어도 하나의 MFU에서, 상기 적어도 하나의 MFU를 제외한 나머지 MFU들로부터 상기 적어도 하나의 MFU의 상대적인 우선순위를 지정하는 우선순위를 결정하는 단계; 및
    상기 우선순위를 상기 적어도 하나의 MFU의 헤더에 삽입하는 단계
    를 더 포함하는 MPEG 데이터의 랜덤 억세스를 지원하는 방법.
  10. 제9항에 있어서,
    초기화 데이터 플래그가 1로 설정되는 경우, 상기 우선순위는 상기 적어도 하나의 MFU의 초기화 데이터의 레벨을 나타내는 MPEG 데이터의 랜덤 억세스를 지원하는 방법.
  11. MPEG 데이터의 랜덤 억세스를 수행하는 방법에 있어서,
    적어도 하나의 MFU를 수신하는 단계;
    상기 적어도 하나의 MFU의 헤더에 포함된 초기화 데이터 플래그를 추출하는 단계;
    상기 초기화 데이터 플래그를 기초로 상기 적어도 하나의 MFU가 디코딩 프로세스의 초기화에 사용되는 데이터를 포함하는지 여부를 판단하는 단계; 및
    상기 판단 결과에 기초하여 상기 적어도 하나의 MFU에 대한 랜덤 억세스를 활성화하는 단계
    를 포함하는 MPEG 데이터의 랜덤 억세스를 수행하는 방법.
PCT/KR2013/006038 2012-07-11 2013-07-08 Mpeg 데이터의 랜덤 억세스를 지원하는 방법 및 시스템 WO2014010894A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US14/414,394 US9894394B2 (en) 2012-07-11 2013-07-08 Method and system for supporting random access of MPEG data
US15/861,289 US10187672B2 (en) 2012-07-11 2018-01-03 Method and system for supporting random access of MPEG data
US16/216,698 US11218748B2 (en) 2012-07-11 2018-12-11 Method and system for supporting random access of MPEG data

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US201261670395P 2012-07-11 2012-07-11
US61/670,395 2012-07-11
US201261712097P 2012-10-10 2012-10-10
US61/712,097 2012-10-10
US201361753720P 2013-01-17 2013-01-17
US61/753,720 2013-01-17
KR10-2013-0077254 2013-07-02
KR1020130077254A KR102185384B1 (ko) 2012-07-11 2013-07-02 Mpeg 데이터의 랜덤 억세스를 지원하는 방법 및 시스템

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US14/414,394 A-371-Of-International US9894394B2 (en) 2012-07-11 2013-07-08 Method and system for supporting random access of MPEG data
US15/861,289 Continuation US10187672B2 (en) 2012-07-11 2018-01-03 Method and system for supporting random access of MPEG data

Publications (1)

Publication Number Publication Date
WO2014010894A1 true WO2014010894A1 (ko) 2014-01-16

Family

ID=49916282

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2013/006038 WO2014010894A1 (ko) 2012-07-11 2013-07-08 Mpeg 데이터의 랜덤 억세스를 지원하는 방법 및 시스템

Country Status (2)

Country Link
US (1) US11218748B2 (ko)
WO (1) WO2014010894A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003319340A (ja) * 2002-04-26 2003-11-07 Sony Corp 符号化装置および方法、復号装置および方法、記録媒体、並びにプログラム
KR20060011937A (ko) * 2003-03-25 2006-02-06 마쯔시다덴기산교 가부시키가이샤 데이터 송신 장치
KR20060081970A (ko) * 2005-01-11 2006-07-14 엘지전자 주식회사 H.264 기반의 동영상 디코더에서 인트라 프레임을 랜덤억세스 가능 포인트로 선택하는 방법
KR20070040103A (ko) * 2005-10-11 2007-04-16 엘지전자 주식회사 압축 스트림의 복호방법
KR20080114500A (ko) * 2007-06-25 2008-12-31 한국전자통신연구원 기본시점 복호 및 시점 임의 접근을 지원하기 위한 다시점비디오 부호화 시스템, 복호화 시스템 및 비트스트림 추출시스템

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5812791A (en) * 1995-05-10 1998-09-22 Cagent Technologies, Inc. Multiple sequence MPEG decoder
WO2000046803A1 (fr) * 1999-02-05 2000-08-10 Kabushiki Kaisha Toshiba Procede permettant de creer des trains de donnees et procede permettant d'effectuer des suppressions partielles
JP4292654B2 (ja) 1999-03-19 2009-07-08 ソニー株式会社 記録装置および方法、再生装置および方法、並びに記録媒体
JP2002064709A (ja) * 2000-06-06 2002-02-28 Canon Inc 画像処理装置及びその方法とそのコンピュータプログラム及び記憶媒体
EP1553735A1 (en) * 2002-10-17 2005-07-13 Matsushita Electric Industrial Co., Ltd. Packet transmission/reception device
US7254272B2 (en) * 2003-08-21 2007-08-07 International Business Machines Corporation Browsing JPEG images using MPEG hardware chips
US20060184790A1 (en) * 2004-03-26 2006-08-17 Microsoft Corporation Protecting elementary stream content
CN104125464A (zh) * 2005-12-08 2014-10-29 维德约股份有限公司 用于视频通信系统中的差错弹性和随机接入的系统和方法
BRPI0710048A2 (pt) 2006-03-30 2011-08-02 Lg Electronics Inc método e aparelho para decodificar / codificar um sinal de vìdeo
US20080040498A1 (en) 2006-08-10 2008-02-14 Nokia Corporation System and method of XML based content fragmentation for rich media streaming
US9281847B2 (en) * 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
EP2418792A1 (de) * 2010-05-19 2012-02-15 Fraunhofer-Gesellschaft zur Förderung der Angewandten Forschung e.V. Digital Multimedia Broadcast (DMB) mit effizienter Übertragung der Daten zur Zugangsbeschränkung im Transportstrom-Packet mit der Programmzuordnungstabelle (Program Association Table = PAT)
US9706227B2 (en) 2011-03-10 2017-07-11 Qualcomm Incorporated Video coding techniques for coding dependent pictures after random access
US9930379B2 (en) * 2012-01-31 2018-03-27 Comcast Cable Communications, Llc System and method for data stream fragmentation
RU2653245C2 (ru) * 2012-10-11 2018-05-07 Самсунг Электроникс Ко., Лтд. Устройство и способ для доставки и приема данных мультимедиа в гибридной сети

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003319340A (ja) * 2002-04-26 2003-11-07 Sony Corp 符号化装置および方法、復号装置および方法、記録媒体、並びにプログラム
KR20060011937A (ko) * 2003-03-25 2006-02-06 마쯔시다덴기산교 가부시키가이샤 데이터 송신 장치
KR20060081970A (ko) * 2005-01-11 2006-07-14 엘지전자 주식회사 H.264 기반의 동영상 디코더에서 인트라 프레임을 랜덤억세스 가능 포인트로 선택하는 방법
KR20070040103A (ko) * 2005-10-11 2007-04-16 엘지전자 주식회사 압축 스트림의 복호방법
KR20080114500A (ko) * 2007-06-25 2008-12-31 한국전자통신연구원 기본시점 복호 및 시점 임의 접근을 지원하기 위한 다시점비디오 부호화 시스템, 복호화 시스템 및 비트스트림 추출시스템

Also Published As

Publication number Publication date
US11218748B2 (en) 2022-01-04
US20190110088A1 (en) 2019-04-11

Similar Documents

Publication Publication Date Title
KR102422260B1 (ko) Mpeg 데이터의 랜덤 억세스를 지원하는 방법 및 시스템
WO2017026739A1 (ko) 어플리케이션의 코드 난독화를 위한 시스템 및 방법
US8265079B2 (en) Discriminatory MTU fragmentation in a logical partition
US20080249759A1 (en) USB Device Simulator
KR102274520B1 (ko) Mpeg 데이터를 처리하는 방법 및 시스템
WO2013165186A1 (en) Method and apparatus for transmitting and receiving message for downloadable cas or drm in mmt
WO2016186236A1 (ko) 3차원 오브젝트의 색상 처리 시스템 및 방법
WO2019078411A1 (ko) Epcis 이력 이벤트 간 블록체인 구성을 통한 이력 검증 방식
WO2014010894A1 (ko) Mpeg 데이터의 랜덤 억세스를 지원하는 방법 및 시스템
WO2014010955A1 (ko) Mpeg 데이터를 처리하는 방법 및 시스템
WO2018088680A1 (ko) 차단된 사이트로의 접속 요청을 처리하는 보안 시스템 및 방법
WO2021194082A1 (ko) 캡티브 포털을 이용한 웹 페이지 제공 방법 및 그 장치
WO2015046951A1 (ko) Ip 주소를 이용한 네트워크 보안 방법 및 장치
WO2019066099A1 (ko) 통합된 분석 모델에 기초하여 이상 행동을 감지하는 시스템 및 그 방법
WO2012077966A1 (en) Apparatus and method for removing malicious code
WO2015156627A1 (ko) 스마트 폰의 듀얼 운영체제를 실행하는 방법
WO2018052166A1 (ko) 어플리케이션을 검증하는 디바이스 및 방법
WO2017052125A1 (ko) 비트 수를 증가시킨 sram 기반 tcam의 동작 방법 및 시스템
WO2018194198A1 (ko) Pe 파일의 난독화 적용 여부의 탐지 및 보안성 평가를 위한 방법 및 시스템
WO2016204442A1 (ko) 미디어 데이터의 처리를 위한 mmt 장치 및 방법
WO2015167151A1 (ko) Ip 주소 및 url를 이용한 인터넷 접속 차단 방법
WO2019107608A1 (ko) 데이터 집합을 카운팅하는 방법 및 시스템
WO2021075652A1 (ko) 우회 프로그램 자동 검출 방법 및 그 시스템
WO2023075490A1 (en) Apparatus and method for ciphertext comparison capable of preventing side channel attack
WO2023085514A1 (ko) 보드형 컴퓨팅 노드들을 이용한 고성능 클라우드 분리 운영 방법 및 그 시스템

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13816109

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 14414394

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 13816109

Country of ref document: EP

Kind code of ref document: A1