KR20180064597A - Method and apparatus for random access of multiple contents streaming service - Google Patents

Method and apparatus for random access of multiple contents streaming service Download PDF

Info

Publication number
KR20180064597A
KR20180064597A KR1020160164344A KR20160164344A KR20180064597A KR 20180064597 A KR20180064597 A KR 20180064597A KR 1020160164344 A KR1020160164344 A KR 1020160164344A KR 20160164344 A KR20160164344 A KR 20160164344A KR 20180064597 A KR20180064597 A KR 20180064597A
Authority
KR
South Korea
Prior art keywords
frame
interframe
program
random access
present disclosure
Prior art date
Application number
KR1020160164344A
Other languages
Korean (ko)
Other versions
KR101917775B1 (en
Inventor
양승준
안상우
이인재
김현철
서정일
석주명
임성용
조용주
최진수
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020160164344A priority Critical patent/KR101917775B1/en
Publication of KR20180064597A publication Critical patent/KR20180064597A/en
Application granted granted Critical
Publication of KR101917775B1 publication Critical patent/KR101917775B1/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/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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234345Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • 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/4347Demultiplexing of several video streams

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

The present disclosure discloses a contents random access method and apparatus. The contents random access method based on scheduling according to an embodiment of the present disclosure includes the steps of: determining a branch point to an inter frame based on scheduling information; performing preprocessing on an intra frame associated with the inter frame corresponding to the determined branch point; and performing decoding on the inter frame based on the preprocessed intra frame information. Accordingly, the present invention can support the random access in a streaming service of contents.

Description

콘텐츠의 스트리밍 서비스에서 랜덤 액세스를 위한 방법 및 장치{METHOD AND APPARATUS FOR RANDOM ACCESS OF MULTIPLE CONTENTS STREAMING SERVICE}METHOD AND APPARATUS FOR RANDOM ACCESS OF MULTIPLE CONTENTS STREAMING SERVICE FIELD OF THE INVENTION [0001]

본 개시는 멀티미디어 콘텐츠 스트리밍에 대한 것이며, 구체적으로는 멀티미디어 콘텐츠의 스트리밍 서비스에 대한 랜덤 액세스 방법 및 장치에 대한 것이다.The present disclosure is directed to multimedia content streaming, and more particularly, to a random access method and apparatus for streaming service of multimedia content.

정보 통신 서비스의 발전에 따라서 멀티미디어 콘텐츠가 다양하게 진화하고 있으며, 이를 지원하기 위한 다양한 멀티미디어 규격 및 포맷 등이 이용되고 있다. 또한, 이러한 다양한 멀티미디어 콘텐츠를 편집하기 위한 툴(tool) 역시 진화하고 있다. 예를 들어, 다양한 멀티미디어 콘텐츠를 조합하여 재생하는 스케줄러의 개발도 가속화되고 있다. As information and communication services have evolved, multimedia contents have evolved in various ways, and various multimedia standards and formats have been used to support them. Tools for editing such various multimedia contents are also evolving. For example, the development of a scheduler for reproducing various multimedia contents in combination is also being accelerated.

기존의 멀티미디어 콘텐츠 편집 툴은 다양한 멀티미디어 콘텐츠들을 조합하여 하나의 프로그램의 완성된 형태로 재생산하는 것을 지원하며, 이 경우 재생 시에 완성된 하나의 프로그램을 재생하는 경우에는 하나의 멀티미디어 콘텐츠를 재생하는 것과 같이 아무런 문제가 발생하지 않는다. An existing multimedia content editing tool supports reproduction of a complete program of a combination of various multimedia contents. In this case, when a completed program is reproduced at the time of reproduction, it is possible to reproduce one multimedia content There is no problem at the same time.

한편, 스케줄러의 경우에는 복수의 멀티미디어 콘텐츠 중의 어느 하나를 실시간으로 재생(또는 스트리밍)하는 도중에 임의의 시점에서 다른 하나의 멀티미디어 콘텐츠로 분기하여 실시간 재생하는 것이 요구된다. On the other hand, in the case of the scheduler, it is required to branch to another multimedia content at a certain time during real-time playback (or streaming) of a plurality of multimedia contents to perform real-time playback.

그러나, 지금까지의 스케줄러에서는 어떤 멀티미디어 콘텐츠의 임의의 재생 시작 시점이 인터(inter) 프레임인 경우에는 올바르게 재생되지 않거나, 또는 재생이 불가능하므로, 실질적인 랜덤 액세스를 지원할 수 없는 문제가 있었다. 따라서, 콘텐츠의 스트리밍 서비스에서 진정한 랜덤 액세스를 지원하는 방안이 필요하다. However, in the schedulers so far, there has been a problem that actual random access can not be supported because arbitrary playback start points of certain multimedia contents are not correctly reproduced or can not be reproduced when they are inter frames. Therefore, it is necessary to provide a method of supporting true random access in a content streaming service.

본 개시의 기술적 과제는 콘텐츠의 스트리밍 서비스에서 랜덤 액세스를 지원하는 방법 및 장치를 제공하는 것이다. SUMMARY OF THE INVENTION The present invention provides a method and apparatus for supporting random access in a content streaming service.

본 개시의 다른 기술적 과제는 콘텐츠의 스트리밍 서비스에서의 랜덤 액세스를 위해서 특정 프레임을 선처리(preprocessing)하는 방법 및 장치를 제공하는 것이다. It is another object of the present disclosure to provide a method and apparatus for preprocessing a specific frame for random access in a content streaming service.

본 개시에서 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급하지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The technical objects to be achieved by the present disclosure are not limited to the above-mentioned technical subjects, and other technical subjects which are not mentioned are to be clearly understood from the following description to those skilled in the art It will be possible.

본 개시의 일 양상에 따르면 스케줄링 기반 콘텐츠 랜덤 액세스 방법이 개시된다. 상기 방법은 스케줄링 정보에 기초하여 인터 프레임으로의 분기점을 결정하는 단계; 결정된 분기점에 해당하는 인터 프레임에 연관된 인트라 프레임에 대한 선처리를 수행하는 단계; 및 상기 선처리된 인트라 프레임 정보에 기초하여 상기 인터 프레임에 대한 복호화를 수행하는 단계를 포함할 수 있다.According to an aspect of the disclosure, a scheduling based content random access method is disclosed. The method includes determining a branch point to an inter-frame based on scheduling information; Performing preliminary processing on an intra frame associated with the interframe corresponding to the determined branch point; And decoding the interframe based on the preprocessed intra frame information.

본 개시에 대하여 위에서 간략하게 요약된 특징들은 후술하는 본 개시의 상세한 설명의 예시적인 양상일 뿐이며, 본 개시의 범위를 제한하는 것은 아니다.The features briefly summarized above for this disclosure are only exemplary aspects of the detailed description of the disclosure which follow, and are not intended to limit the scope of the disclosure.

본 개시에 따르면, 콘텐츠의 스트리밍 서비스에서 랜덤 액세스를 지원하는 방법 및 장치가 제공될 수 있다.According to the present disclosure, a method and apparatus for supporting random access in a streaming service of content can be provided.

본 개시에 따르면, 콘텐츠의 스트리밍 서비스에서의 랜덤 액세스를 지원하기 위해서 특정 프레임을 선처리(preprocessing)하는 방법 및 장치가 제공될 수 있다. According to the present disclosure, a method and apparatus for preprocessing a specific frame to support random access in a streaming service of content can be provided.

본 개시에 따르면, 콘텐츠의 스트리밍 서비스에서 랜덤 액세스의 제약을 해소하는 방법 및 장치가 제공될 수 있다. According to the present disclosure, a method and apparatus for relieving the limitation of random access in a streaming service of contents can be provided.

본 개시에 따르면, 콘텐츠의 스트리밍 서비스에서 각각의 프로그램의 임의의 시점이 인터(inter) 프레임인 경우에도 랜덤 액세스를 지원하는 방법 및 장치가 제공될 수 있다.According to the present disclosure, a method and apparatus for supporting random access even when an arbitrary point in time of each program in the streaming service of contents is an inter frame can be provided.

본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The effects obtainable from the present disclosure are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood by those skilled in the art from the description below will be.

도 1은 본 개시에 따른 멀티미디어 콘텐츠 랜덤 액세스를 설명하기 위한 도면이다.
도 2는 본 개시에 따른 랜덤 액세스 지원 동작을 나타내는 흐름도이다.
도 3은 본 개시에 따른 랜덤 액세스 지원 장치를 나타내는 블록도이다.
도 4는 본 개시에 따른 랜덤 액세스 방법을 설명하기 위한 흐름도이다.
1 is a diagram for explaining multimedia content random access according to the present disclosure;
2 is a flow diagram illustrating a random access aiding operation in accordance with the present disclosure;
3 is a block diagram illustrating a random access aiding device according to the present disclosure;
4 is a flow chart for explaining a random access method according to the present disclosure.

이하에서는 첨부한 도면을 참고로 하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나, 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings, which will be easily understood by those skilled in the art. However, the present disclosure may be embodied in many different forms and is not limited to the embodiments described herein.

본 개시의 실시 예를 설명함에 있어서 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그에 대한 상세한 설명은 생략한다. 그리고, 도면에서 본 개시에 대한 설명과 관계없는 부분은 생략하였으며, 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.In the following description of the embodiments of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present disclosure rather unclear. Parts not related to the description of the present disclosure in the drawings are omitted, and like parts are denoted by similar reference numerals.

본 개시에 있어서, 어떤 구성요소가 다른 구성요소와 "연결", "결합" 또는 "접속"되어 있다고 할 때, 이는 직접적인 연결관계뿐만 아니라, 그 중간에 또 다른 구성요소가 존재하는 간접적인 연결관계도 포함할 수 있다. 또한 어떤 구성요소가 다른 구성요소를 "포함한다" 또는 "가진다"고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 배제하는 것이 아니라 또 다른 구성요소를 더 포함할 수 있는 것을 의미한다.In the present disclosure, when an element is referred to as being "connected", "coupled", or "connected" to another element, it is understood that not only a direct connection relationship but also an indirect connection relationship May also be included. Also, when an element is referred to as " comprising "or" having "another element, it is meant to include not only excluding another element but also another element .

본 개시에 있어서, 제1, 제2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용되며, 특별히 언급되지 않는 한 구성요소들간의 순서 또는 중요도 등을 한정하지 않는다. 따라서, 본 개시의 범위 내에서 일 실시 예에서의 제1 구성요소는 다른 실시 예에서 제2 구성요소라고 칭할 수도 있고, 마찬가지로 일 실시 예에서의 제2 구성요소를 다른 실시 예에서 제1 구성요소라고 칭할 수도 있다. In the present disclosure, the terms first, second, etc. are used only for the purpose of distinguishing one element from another, and do not limit the order or importance of elements, etc. unless specifically stated otherwise. Thus, within the scope of this disclosure, a first component in one embodiment may be referred to as a second component in another embodiment, and similarly a second component in one embodiment may be referred to as a first component .

본 개시에 있어서, 서로 구별되는 구성요소들은 각각의 특징을 명확하게 설명하기 위함이며, 구성요소들이 반드시 분리되는 것을 의미하지는 않는다. 즉, 복수의 구성요소가 통합되어 하나의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있고, 하나의 구성요소가 분산되어 복수의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있다. 따라서, 별도로 언급하지 않더라도 이와 같이 통합된 또는 분산된 실시 예도 본 개시의 범위에 포함된다. In the present disclosure, the components that are distinguished from each other are intended to clearly illustrate each feature and do not necessarily mean that components are separate. That is, a plurality of components may be integrated into one hardware or software unit, or a single component may be distributed into a plurality of hardware or software units. Thus, unless otherwise noted, such integrated or distributed embodiments are also included within the scope of this disclosure.

본 개시에 있어서, 다양한 실시 예에서 설명하는 구성요소들이 반드시 필수적인 구성요소들은 의미하는 것은 아니며, 일부는 선택적인 구성요소일 수 있다. 따라서, 일 실시 예에서 설명하는 구성요소들의 부분집합으로 구성되는 실시 예도 본 개시의 범위에 포함된다. 또한, 다양한 실시 예에서 설명하는 구성요소들에 추가적으로 다른 구성요소를 포함하는 실시 예도 본 개시의 범위에 포함된다. In the present disclosure, the components described in the various embodiments are not necessarily essential components, and some may be optional components. Thus, embodiments consisting of a subset of the components described in one embodiment are also included within the scope of the present disclosure. Also, embodiments that include other elements in addition to the elements described in the various embodiments are also included in the scope of the present disclosure.

본 개시에서 사용하는 용어에 대한 정의는 다음과 같다.The definitions of the terms used in the present disclosure are as follows.

- 멀티미디어 콘텐츠: 문자, 영상, 동영상, 음향, 음성 등을 포함하는 정보. 정보 처리 기기(예를 들어, TV, 컴퓨터, 이동 통신 기기 등)를 통하여 처리(예를 들어, 생성, 저장, 재생, 전달, 유통)될 수 있음.- Multimedia content: Information including text, video, video, sound, voice, etc. (E.g., generated, stored, reproduced, delivered, distributed) through an information processing device (e.g., a TV, a computer, a mobile communication device, etc.).

- 스케줄러(scheduler): 하나 이상의 멀티미디어 콘텐츠를 임의로 조합하여 재생하는 툴. 소프트웨어, 하드웨어, 또는 펌웨어로 구성될 수도 있고, 또는 소프트웨어, 하드웨어, 또는 펌웨어 중의 둘 이상의 조합으로 구성될 수 있음.- Scheduler: A tool that plays any combination of one or more multimedia content. May be composed of software, hardware, or firmware, or may be composed of a combination of two or more of software, hardware, or firmware.

- 프로그램: 스케줄러에 의해서 조합되는 대상이 되는 각각의 멀티미디어 콘텐츠. 예를 들어, 스케줄러에 의해서 특정 시점에서 제 1 프로그램에서 제 2 프로그램으로 분기할 수 있음.- Program: Each multimedia content to be combined by the scheduler. For example, the scheduler may branch from a first program to a second program at a particular point in time.

- 랜덤 액세스(random access): 멀티미디어 콘텐츠의 최초 시작점이 아닌 중간의 임의의 지점부터의 재생 또는 재생을 위한 복호화 등의 과정.- Random access: The process of deciphering or reproducing from an arbitrary point in the middle rather than the initial starting point of the multimedia contents.

- 인트라(intra) 프레임: 다른 프레임을 참조하지 않고 해당 프레임 자체의 정보를 이용하여 부호화 또는 복호화되는 프레임.- Intra frame: A frame that is encoded or decoded using information of the frame itself without referring to another frame.

- 인터(inter) 프레임: 다른 프레임을 참조하여 부호화 또는 복호화되는 프레임. 제 1 인터 프레임은 제 2 인터 프레임을 참조하여 부호화 또는 복호화될 수도 있지만, 적어도 하나의 인터 프레임은 인트라 프레임을 참조하여 부호화 또는 복호화됨.- Inter frame: A frame that is encoded or decoded with reference to another frame. The first interframe may be encoded or decoded with reference to the second interframe, but at least one interframe is encoded or decoded with reference to the intra frame.

전술한 용어들의 정의에 있어서 본 개시의 범위는 스케줄러라는 표현에 의해 제한되는 것은 아니다. 예를 들어, 본 개시에서 스케줄러는 하나 이상의 멀티미디어 콘텐츠의 임의의 시점에서부터 복호화 또는 재생하는 동작을 지원하는 모든 소프트웨어, 하드웨어, 펌웨어 등을 포함할 수 있다. The scope of the present disclosure in the definition of the above terms is not limited by the expression scheduler. For example, in this disclosure, the scheduler may include any software, hardware, firmware, etc. that supports operations to decode or play back from any point in time of one or more multimedia content.

또한, 본 개시의 범위는 복수의 멀티미디어 콘텐츠의 스트리밍 서비스에 있어서의 랜덤 액세스 방안으로 제한되는 것이 아니라, 하나의 멀티미디어 콘텐츠에 대한 랜덤 액세스 방안을 포함한다. Further, the scope of the present disclosure is not limited to a random access scheme in a streaming service of a plurality of multimedia contents, but includes a random access scheme for one multimedia contents.

본 개시는 HD(High Definition), UHD(Ultra HD), 파노라마, 다면 영상, 3D 영상 등의 멀티미디어 규격 및 포맷의 진화에 따른 다양한 멀티미디어 콘텐츠를 임의로 조합 또는 편집하는 방안에도 적용될 수 있다. 이 경우 어떤 멀티미디어 콘텐츠에 대한 랜덤 액세스가 필요한데, 아직까지는 멀티미디어 콘텐츠의 임의의 시점에 해당하는 프레임이 인트라 프레임이 아닌 경우에는 랜덤 액세스가 지원되지 않는 문제가 있었다. 이는, 인터 프레임은 인트라 프레임을 참조하는 경우에만 재생가능하기 때문이다. 즉, 멀티미디어 콘텐츠의 임의의 시점에 해당하는 프레임의 인터 프레임인 경우에는 상기 인터 프레임의 이전에 상기 인터 프레임이 참조하는 인트라 프레임이 존재하지 않으면, 상기 인터 프레임을 복호화할 수 없다. The present disclosure can also be applied to a method of arbitrarily combining or editing various multimedia contents due to the evolution of multimedia standards and formats such as HD (High Definition), UHD (Ultra HD), panorama, multi-view video and 3D video. In this case, random access to certain multimedia contents is required. However, there has been a problem in that when a frame corresponding to a certain time point of the multimedia contents is not an intra frame, random access is not supported. This is because an interframe can be reproduced only when referring to an intra frame. That is, in the case of an interframe of a frame corresponding to an arbitrary time point of the multimedia contents, the interframe can not be decoded unless an intra frame referred to by the interframe exists before the interframe.

로컬 재생의 경우에는, 어떤 인터 프레임이 참조하는 인트라 프레임이 로컬에 존재하므로 해당 인트라 프레임을 참조할 수 있으므로, 어떠한 인터 프레임에 대해서도 랜덤 액세스가 가능하다. In the case of local reproduction, since an intra frame referred to by an inter frame exists locally, the corresponding intra frame can be referred to, and therefore random access to any inter frame is possible.

그러나, 스케줄러에 의해서 스케줄링되는 멀티미디어 콘텐츠는 어떤 인터 프레임이 참조하는 인트라 프레임에 대한 정보가 존재하지 않으므로, 인터 프레임에 대한 랜덤 액세스가 불가능하다. However, in the multimedia contents scheduled by the scheduler, there is no information about an intra frame referenced by an inter frame, so that random access to the inter frame is impossible.

예를 들어, 제 1 멀티미디어 콘텐츠에 대한 스트리밍 도중에 제 2 멀티미디어 콘텐츠의 중간의 임의의 시점에 대한 스트리밍으로 분기되는 경우, 제 2 멀티미디어 콘텐츠의 임의의 시점이 인터 프레임에 해당하면, 해당 인터 프레임이 참조하는 인트라 프레임에 대한 정보가 없는 상태에서 상기 인터 프레임의 복호화가 시도되므로, 상기 인터 프레임을 성공적으로 복호화할 수 없을 수도 있다.For example, in the case of branching to streaming for any point in the middle of the second multimedia content during streaming for the first multimedia content, if any point in the second multimedia content corresponds to an interframe, The decoding of the interframe is attempted in a state in which there is no information on the intraframe to be decoded, so that the interframe may not be successfully decoded.

이러한 문제점을 해결하기 위해서, 본 개시에서는 하나 이상의 멀티미디어 콘텐츠의 각각에서의 임의의 시작점이 인터 프레임인 경우를 검사하고, 선처리(preprocessing)함으로써, 임의의 멀티미디어 콘텐츠의 임의의 시점에 대한 랜덤 액세스를 지원할 수 있다. To address this problem, the present disclosure provides a method and apparatus for supporting random access to any point in time of any multimedia content by examining and pre-processing when any starting point in each of one or more multimedia content is an interframe .

이에 따라, 다수의 멀티미디어 콘텐츠를 연속적으로 재생할 수 있는 프로그램 스케줄러에서, 임의의 프로그램에 대한 랜덤 액세스를 지원할 수 있다. Accordingly, in the program scheduler capable of continuously reproducing a plurality of multimedia contents, it is possible to support random access to any program.

여기서, 선처리는 인터 프레임이 참조하는 인트라 프레임을 미리 복호화, 저장, 관리하는 것을 포함할 수 있다.Here, the preprocessing may include decoding, storing, and managing intra frames referenced by the inter frames in advance.

이하, 첨부한 도면을 참조하여 본 개시의 실시 예들에 대해서 설명한다.Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings.

도 1은 본 개시에 따른 멀티미디어 콘텐츠 랜덤 액세스를 설명하기 위한 도면이다. 1 is a diagram for explaining multimedia content random access according to the present disclosure;

도 1에서 복수의 프로그램의 스케줄링(100)을 나타낸다. 도 1에서 가로축은 시간을 의미한다.Figure 1 shows the scheduling (100) of a plurality of programs. In Fig. 1, the horizontal axis indicates time.

도 1에서는, 예를 들어, 뉴스를 포함하는 제 1 프로그램(프로그램#1), 드라마를 포함하는 제 2 프로그램(프로그램 #2), 콘서트를 포함하는 제 3 프로그램(프로그램 #3), 오락을 포함하는 제 4 프로그램(프로그램 #4)의 순서로 분기 및 재생하는 경우를 나타낸다. In Figure 1, for example, a first program (program # 1) including news, a second program (program # 2) including drama, a third program (concert # 3) And a fourth program (program # 4) to be reproduced.

또한, 도 1을 참조하는 설명은 단지 예시일 뿐이며, 본 개시의 범위가 이러한 프로그램의 개수, 콘텐츠의 카테고리, 분기의 순서 또는 시점에 의해 제한되는 것은 아니다. Furthermore, the description with reference to Fig. 1 is merely an example, and the scope of the present disclosure is not limited by the number of such programs, the category of contents, the order or the timing of branching.

도 1의 예시에서, 프로그램 #1의 마지막 프레임까지 재생을 마친 직후(도 1의 A), 연속하여 프로그램 #2의 첫 프레임부터의 재생을 시작하는 경우는 아무런 문제가 없다. 즉, 프로그램 #2의 첫 번째 인트라 프레임(110)부터 복호화 및 재생을 시작하므로, 그 이후의 인터 프레임의 복호화에 필요한 정보가 확보된 상태이므로, 이후의 프로그램 #2 재생이 가능하다.In the example of Fig. 1, there is no problem when the reproduction from the first frame of the program # 2 is started immediately after completing the reproduction up to the last frame of the program # 1 (A of Fig. 1). That is, since decoding and reproduction are started from the first intra frame 110 of the program # 2, information necessary for decoding the inter frames thereafter is secured, so that the subsequent program # 2 can be reproduced.

도 1의 예시에서, 프로그램 #2의 중간의 어떤 프레임까지 재생한 후에(도 1의 B), 연속적으로 프로그램 #3의 중간의 어떤 프레임의 재생을 시작하는 경우, 문제가 발생할 수 있다. 예를 들어, 프로그램 #3의 재생이 시작되는 시점이 인터 프레임(140)에 해당하는 경우에 특히 문제가 발생할 수 있다. In the example of FIG. 1, a problem may arise when, after playing back to a certain frame in the middle of the program # 2 (B in FIG. 1), the reproduction of a certain frame in the middle of the program # 3 continuously starts. For example, a problem may arise particularly when the time at which the reproduction of the program # 3 starts corresponds to the interframe 140.

구체적으로, 프로그램 #3의 인터 프레임(140)의 복호화를 위해서, 프로그램 #3의 인트라 프레임(130)을 참조하는 것이 아니라(도 1의 ②), 이전까지 복호화 및 재생을 수행했던 프로그램 #2의 인트라 프레임(120)을 참조하므로(도 1의 ①), 프로그램 #3의 인터 프레임(140)의 복호화에 오류가 발생하여 사용자에게 이질감있는 영상이 제공될 수도 있고, 또는 복호화가 불가능할 수도 있다. Concretely, in order to decode the interframe 140 of the program # 3, not the intra frame 130 of the program # 3 (refer to (2) in FIG. 1) (1 in Fig. 1), an error occurs in decoding the interframe 140 of the program # 3, so that the user may be provided with a heterogeneous image or may be unable to decode the intra frame 140. [

다음으로, 도 1의 예시에서, 프로그램 #3의 중간의 어떤 프레임까지 재생한 후에(도 1의 C), 연속적으로 프로그램 #4의 중간의 어떤 프레임의 재생을 시작하는 경우에도 문제가 발생할 수 있다. Next, in the example of FIG. 1, a problem may arise even when playback of a certain frame in the middle of the program # 3 is started (C in FIG. 1), and playback of a certain frame in the middle of the program # 4 is continuously started .

이 경우에도 프로그램 #4의 재생이 시작되는 시점이 인터 프레임(160)에 해당하므로, 프로그램 #4의 인트라 프레임(150)을 참조하지 못하고, 프로그램 #3의 인트라 프레임도 참조하지 못하고, 가장 최근에 복호화된 인트라 프레임인 프로그램 #2의 인트라 프레임(120)을 참조하므로, 프로그램 #4의 인터 프레임(160)의 복호화에 오류가 발생하거나 복호화가 불가능할 수도 있다. Even in this case, since the time at which playback of the program # 4 starts is the interframe 160, the intra frame 150 of the program # 4 can not be referred to, and the intra frame of the program # 3 can not be referred to. The intra frame 160 of the program # 4 is referred to because it refers to the intra frame 120 of the program # 2 which is the decoded intra frame, so that the decoding of the inter frame 160 of the program # 4 may be erroneous or impossible.

도 1을 참조하여 설명한 바와 같은 인터 프레임에 대한 랜덤 액세스에서 발생할 수 있는 복호화 오류를 방지하기 위해서, 도 2와 같은 랜덤 액세스 지원 동작이 수행될 수 있다.In order to prevent a decoding error that may occur in a random access to an interframe as described with reference to FIG. 1, a random access supporting operation as shown in FIG. 2 may be performed.

도 2는 본 개시에 따른 랜덤 액세스 지원 동작을 나타내는 흐름도이다. 2 is a flow diagram illustrating a random access aiding operation in accordance with the present disclosure;

도 2의 단계 S210에서 하나 이상의 멀티미디어 콘텐츠에 대한 스케줄링 정보에 기초하여, 대상 프레임을 결정할 수 있다. The target frame can be determined based on the scheduling information for one or more multimedia contents in step S210 of FIG.

여기서, 스케줄링 정보는 하나 이상의 멀티미디어 콘텐츠에 대한 식별정보, 재생 순서, 분기 시점 등을 포함할 수 있다. 여기서, 분기 시점은 멀티미디어 콘텐츠의 복호화 또는 재생의 시작 시점(또는 위치 또는 프레임), 복호화 또는 재생의 종료 시점(또는 위치 또는 프레임) 중의 하나 이상을 포함할 수 있다.Here, the scheduling information may include identification information of one or more multimedia contents, a reproduction order, a branching time, and the like. Here, the branching point may include at least one of a starting point (or a position or a frame) of decoding or reproduction of the multimedia contents, and an ending point (or a position or a frame) of decoding or reproducing.

예를 들어, 어떤 멀티미디어 콘텐츠에서 선처리가 필요한지 여부는, 상기 멀티미디어 콘텐츠의 스케줄링 정보에 기초하여 결정되는 재생 시작 시점이, 상기 멀티미디어 콘텐츠의 인터 프레임인지 여부에 의해서 결정될 수 있다. 즉, 멀티미디어 콘텐츠의 복호화 또는 재생의 시작 시점이 인터 프레임에 해당하는 경우에 선처리가 필요하다고 결정할 수 있다. For example, the necessity of preprocessing in certain multimedia contents can be determined by whether the reproduction start time determined based on the scheduling information of the multimedia contents is an interframe of the multimedia contents. That is, it can be determined that preprocessing is necessary when the start point of the decoding or reproduction of the multimedia content corresponds to the interframe.

또한, 위와 같은 선처리 필요 여부에 대한 결정은, 전체 프로그램의 재생 이전에, 또는 재생 도중에 수행될 수 있다. Further, the determination as to whether or not the pre-processing is necessary can be performed before the reproduction of the entire program or during the reproduction.

만약 선처리가 필요한 것으로 결정하는 경우, 즉, 분기 시점(구체적으로는, 복호화 또는 재생의 시작 시점)이 어떤 멀티미디어 콘텐츠의 인터 프레임에 해당하는 경우, 상기 인터 프레임에 연관된 인트라 프레임을 선처리 대상 프레임으로 결정할 수 있다.If it is determined that preprocessing is necessary, that is, when the branching point (concretely, the start point of decoding or reproduction) corresponds to an interframe of a multimedia content, the intra frame associated with the interframe is determined as a preprocessing target frame .

단계 S220에서 결정된 대상 프레임에 대한 선처리가 수행될 수 있다. Pre-processing for the target frame determined in step S220 may be performed.

여기서, 선처리 대상 프레임으로 결정된 인터 프레임에 연관된 인트라 프레임이란, 상기 인터 프레임이 원래 참조하도록 되어 있는 인트라 프레임(즉, 상기 인터 프레임이 속한 동일한 멀티미디어 콘텐츠 내에서 상기 인터 프레임이 참조하는 인트라 프레임)일 수 있다. Here, an intra frame associated with an interframe determined as a preprocessing target frame may be an intra frame to which the interframe is originally referenced (i.e., an intra frame referred to by the interframe in the same multimedia content to which the interframe belongs) have.

이와 같이 인터 프레임에 연관된 인트라 프레임은 실제로는 재생되지 않지만, 상기 인터 프레임의 올바른 복호화 및 재생을 위해서 선처리될 수 있다.As described above, the intra frame associated with the inter frame is not actually reproduced, but can be preprocessed for correct decoding and reproduction of the inter frame.

어떤 인트라 프레임에 대한 선처리는, 상기 인트라 프레임에 대한 복호화, 저장, 관리 중의 하나 이상을 포함할 수 있다. 상기 선처리는 적어도 인트라 프레임에 대한 복호화를 포함할 수 있다. Preprocessing for an intra frame may include one or more of decoding, storing, and managing the intra frame. The preprocessing may include decoding for at least an intra frame.

또한, 인터 프레임에 연관된 인트라 프레임은 반드시 상기 인터 프레임에 앞서는 프레임으로 제한되는 것은 아니다. In addition, an intra frame associated with an inter frame is not necessarily limited to a frame preceding the inter frame.

예를 들어, 인터 프레임이 B 프레임(Bidirectional predictive frame)인 경우에는 상기 인터 프레임 이전의 및 이후의 프레임에 대한 선처리가 수행될 수도 있다. For example, if the interframe is a B-frame (Bidirectional predictive frame), preprocessing for the frames before and after the interframe may be performed.

또한, 인터 프레임에 연관된 인트라 프레임이 반드시 상기 인터 프레임의 직전의 인트라 프레임이 아니라, 상기 인터 프레임 이전의 복수의 인트라 프레임 중에서 몇 개 이전의 인트라 프레임, 또는 하나 이상의 인트라 프레임일 수도 있다. In addition, an intra frame associated with an inter frame may not necessarily be an intra frame immediately before the inter frame, but may be a few previous intra frames or one or more intra frames among a plurality of intra frames before the inter frame.

또한, 인터 프레임에 연관된 인트라 프레임은, 상기 인터 프레임이 직접적으로 참조하는 인트라 프레임일 수도 있고, 간접적으로 참조하는 인트라 프레임(예를 들어, 상기 인터 프레임이 직접 참조하는 프레임이 또 다른 인터 프레임이고, 상기 또 다른 인터 프레임이 참조하는 인트라 프레임)일 수도 있다. The intra frame associated with the inter frame may be an intra frame directly referred to by the inter frame, or may be an indirect frame referred to indirectly (for example, a frame directly referred to by the inter frame is another inter frame, Or an intra frame referred to by the another interframe).

도 1의 예시에서는 명료성을 위해서 4 개의 프로그램에 대한 스케줄링을 가정하여 프로그램 분기 시점이 인터 프레임에 해당하는 두 가지 경우를 보여주지만, 본 개시의 범위가 이에 제한되는 것은 아니다. In the example of FIG. 1, two programs corresponding to the interframe at the program branching time are assumed on the assumption of scheduling for four programs for clarity, but the scope of the present disclosure is not limited thereto.

예를 들어, 수십 개의 프로그램에 대한 스케줄링은 보다 복잡한 스케줄링 구조를 가질 수 있고, 이 경우에는 인터 프레임에 연관된 인트라 프레임에 대한 선처리가 필요한 경우가 더 많아질 수도 있다. For example, scheduling for dozens of programs may have a more complex scheduling scheme, in which case there may be a greater need for preprocessing for intra frames associated with inter frames.

따라서, 전체 프로그램에 대한 스케줄링이 결정되면, 최초로 프로그램이 시작하기 전에 또는 최초 프로그램 시작된 후 초기에, 스케줄링 정보에 기초하여 전체 분기 시점에서 선처리가 필요한 경우(즉, 멀티미디어 콘텐츠의 복호화 또는 재생 시작 시점이 인터 프레임에 해당하는 경우)가 존재하는지 미리 확인 또는 검사하는 과정이 필요할 수도 있다. Therefore, if scheduling for the entire program is determined, it is necessary to perform preprocessing at the entire branching point based on the scheduling information before the program starts for the first time or after the initial program is started (i.e., when the decoding or playback start point of the multimedia contents is It may be necessary to confirm or check whether there is an inter frame.

선처리가 필요한 경우가 특정되면, 특정된 멀티미디어 콘텐츠의 특정된 인터 프레임에 연관된 인트라 프레임을 결정할 수 있다. If it is specified that preprocessing is required, an intra frame associated with the specified interframe of the specified multimedia content can be determined.

이에 따라, 상기 특정된 인터 프레임의 복호화 또는 재생 이전에, 결정된 상기 인트라 프레임에 대한 선처리를 수행함으로써 상기 인트라 프레임의 복호화, 복호화된 정보의 저장, 저장된 정보가 어떤 인터 프레임의 복호화에 사용되는지에 대한 매핑 테이블을 구성하는 등의 관리 동작이 수행될 수 있다. Accordingly, prior to the decoding or reproduction of the specified interframe, pre-processing of the determined intra frame is performed to thereby decode the intra frame, store the decoded information, and determine whether the stored information is used for decoding an inter frame Management operations such as configuring a mapping table can be performed.

단계 S230에서는 선처리 결과를 인터 프레임 복호화에 사용할 수 있다. In step S230, the pre-processing result can be used for inter-frame decoding.

전술한 단계 S220에서 미리 복호화, 저장, 관리된 인트라 프레임 정보는, 상기 인터 프레임으로의 분기(즉, 상기 인터 프레임의 복호화 또는 재생 시작) 시점에서, 직전에 재생된 프로그램에서 사용되었던 인트라 프레임 버퍼에 저장된 정보를 대체할 수 있다. 이와 같은 동작을, 선처리된 정보를 인트라 프레임 버퍼에 로딩하는 것으로 표현할 수도 있다.The intra frame information previously decoded, stored, and managed in the above-described step S220 is stored in the intra frame buffer used in the immediately preceding program at the time of branching to the interframe (i.e., starting decoding or playback of the interframe) You can replace stored information. Such an operation may be expressed as loading preprocessed information into an intra frame buffer.

이에 따라, 어떤 멀티미디어 콘텐츠의 임의의 복호화 또는 재생 시작 시점이 인터 프레임인 경우에도, 해당 인터 프레임을 오류 없이 복호화할 수 있으므로, 사용자에게 자연스러운 프로그램 분기 및 재생 이미지를 제공할 수 있다. Accordingly, even when the arbitrary decoding or reproduction starting point of a certain multimedia content is an interframe, the interframe can be decoded without errors so that a natural program branch and a reproduced image can be provided to the user.

또한, 스케줄링되는 하나 이상의 멀티미디어 콘텐츠가 서로 다른 부호화 규격 및 포맷에 따르는 경우라도, 전술한 본 개시의 구성에 따라서 제 1 프로그램의 재생에 이용된 정보를 일시적으로 저장하고 있는 인트라 프레임 버퍼를, 제 2 프로그램의 인터 프레임에 연관된 인트라 프레임에 대해서 선처리된 정보로 채움으로써, 제 2 프로그램의 상기 인터 프레임에 대한 복호화가 지연 없이 올바르게 수행될 수 있다. In addition, even when one or more multimedia contents to be scheduled conform to different coding standards and formats, an intra frame buffer temporarily storing information used for reproduction of the first program according to the above-described configuration of the present invention can be used as a second By filling in the preprocessed information with respect to the intra frame associated with the program's interframe, decoding of the second program with respect to the interframe can be correctly performed without delay.

도 3은 본 개시에 따른 랜덤 액세스 지원 장치를 나타내는 블록도이다.3 is a block diagram illustrating a random access aiding device according to the present disclosure;

도 3의 랜덤 액세스 지원 장치(300)는 일반적인 스케줄러를 구성하는 하나의 모듈로서 구현될 수도 있고, 소프트웨어, 하드웨어, 펌웨어, 또는 이들의 조합의 형태로 구현될 수도 있다. The random access support apparatus 300 of FIG. 3 may be implemented as one module constituting a general scheduler, or in the form of software, hardware, firmware, or a combination thereof.

대상 프레임 결정부(310)는 인터 프레임 분기 검사 동작을 수행할 수 있다. The target frame determination unit 310 may perform an interframe branch inspection operation.

도 3의 랜덤 액세스 지원 장치(300)는 스케줄링 정보 획득부(미도시)를 더 포함할 수 있다. 또는, 스케줄링 정보 획득부는 랜덤 액세스 지원 장치의 외부의 메모리로 구현될 수도 있다. The random access support apparatus 300 of FIG. 3 may further include a scheduling information acquisition unit (not shown). Alternatively, the scheduling information obtaining unit may be implemented as an external memory of the random access support apparatus.

대상 프레임 결정부(310)는 하나 이상의 멀티미디어 콘텐츠에 대한 스케줄링 정보에 기초하여, 대상 프레임을 결정할 수 있다. The target frame determination unit 310 can determine a target frame based on the scheduling information for one or more multimedia contents.

여기서, 스케줄링 정보는 하나 이상의 멀티미디어 콘텐츠에 대한 식별정보, 재생 순서, 분기 시점(예를 들어, 멀티미디어 콘텐츠의 복호화 또는 재생의 시작 시점(또는 위치 또는 프레임), 복호화 또는 재생의 종료 시점(또는 위치 또는 프레임) 등) 등을 포함할 수 있다.Here, the scheduling information may include at least one of identification information for at least one multimedia content, a playback order, a branching time (e.g., starting point (or position or frame) of decoding or playback of the multimedia content, Frame), etc.), and the like.

구체적으로, 스케줄링 정보에 기초하여 멀티미디어 콘텐츠의 복호화 또는 재생의 시작 시점이 인터 프레임에 해당하는 경우에 선처리가 필요하다고 결정할 수 있고, 선처리가 필요한 것으로 결정하는 경우, 상기 인터 프레임에 연관된 인트라 프레임을 선처리 대상 프레임으로 결정할 수 있다. Specifically, it can be determined that pre-processing is necessary when the start time of decoding or playback of multimedia contents corresponds to an inter frame based on the scheduling information. If it is determined that preprocessing is necessary, an intra frame associated with the inter- It can be determined as a target frame.

여기서, 선처리 대상 프레임으로 결정된 인터 프레임에 연관된 인트라 프레임이란, 상기 인터 프레임이 원래 참조하도록 되어 있는 인트라 프레임(즉, 상기 인터 프레임이 속한 동일한 멀티미디어 콘텐츠 내에서 상기 인터 프레임이 참조하는 인트라 프레임)일 수 있다.Here, an intra frame associated with an interframe determined as a preprocessing target frame may be an intra frame to which the interframe is originally referenced (i.e., an intra frame referred to by the interframe in the same multimedia content to which the interframe belongs) have.

선처리부(320)는 인트라 프레임 복호화, 저장, 관리 등을 수행할 수 있다. The line processing unit 320 may perform intra frame decoding, storage, management, and the like.

구체적으로, 선처리부(320)는 선처리 대상 결정부(310)에 의해서 선처리 대상 프레임으로 결정된 인트라 프레임에 대해서 복호화 기능, 저장 기능, 관리 기능 중의 하나 이상을 수행할 수 있다. 또는 선처리부(320)는 인트라 프레임 복호화부와, 인트라 프레임 저장 및 관리부로 분리되어 구현될 수도 있다.Specifically, the pre-processing unit 320 can perform at least one of a decoding function, a storage function, and a management function for an intra frame determined as a preprocessing target frame by the preprocessing target determination unit 310. Or the line processing unit 320 may be implemented separately in an intra frame decoding unit and an intra frame storing and managing unit.

또한, 선처리부(320)의 복호화 기능 또는 복호화부는, 다양한 규격 및 포맷을 지원하는 복수의 복호화 기능 또는 복호화부를 포함할 수도 있다. In addition, the decoding function or decoding unit of the line processing unit 320 may include a plurality of decoding functions or decoding units that support various standards and formats.

선처리 결과 출력부(330)는, 선처리부(320)에 의해서 복호화 및 저장된 인트라 프레임 정보를, 이를 필요로 하는 인터 프레임의 복호화 시점 또는 직전의 시점에서 인트라 프레임 버퍼로 출력할 수 있다.The preprocessing result output unit 330 can output the intra frame information decoded and stored by the preprocessing unit 320 to the intra frame buffer at the decoding time or the immediately preceding time of the inter frame.

이에 따라, 선처리된 인트라 프레임 정보는 스케줄러에 의해서 인터 프레임으로 시작되는 분기 시점에서 해당 인터 프레임의 복호화에 이용됨으로써, 랜덤 액세스의 지연 시간 없이 자연스럽고 끊김 없는 프로그램간 분기를 제공할 수 있다. Accordingly, the preprocessed intra frame information is used by the scheduler to decode the corresponding interframe at a branching point that starts with an interframe, thereby providing a natural and seamless interprogram branching without a random access delay time.

도 4는 본 개시에 따른 랜덤 액세스 방법을 설명하기 위한 흐름도이다.4 is a flow chart for explaining a random access method according to the present disclosure.

단계 S410에서 하나 이상의 프로그램이 스케줄링되는 전체 프로그램에 대해서, 인터 프레임으로의 분기점을 검사할 수 있다. 인터 프레임으로의 분기점이란 하나의 프로그램의 시작 시점이 인터 프레임에 해당하는 것을 의미할 수 있다. In step S410, for the entire program in which one or more programs are scheduled, a branch point to an interframe can be checked. A branch point to an interframe may mean that a start point of one program corresponds to an interframe.

이러한 인터 프레임 분기점 검사는 전체 프로그램 재생을 시작하기 전에 수행될 수도 있다. 또는 어떤 프로그램 재생 중, 다음 하나 이상의 프로그램의 재생 이전에 다음 하나 이상의 프로그램에 대한 분기점을 검사하는 동작이 수행될 수도 있다.This interframe branch point check may be performed before starting the entire program reproduction. Or an operation of checking a turning point for the next one or more programs may be performed during reproduction of a program, and before reproduction of the next one or more programs.

여기서, 단계 S410의 n의 초기값은 1로 설정될 수 있다. 예를 들어, 전체 N 개의 프로그램 중에서, n=1 번째 프로그램에서 인터 프레임으로의 분기점을 검사하고, 순차적으로 다음 프로그램에서의 인터 프레임으로의 분기점을 검사할 수 있다. Here, the initial value of n in step S410 may be set to one. For example, it is possible to check a branch point from an n = 1 program to an interframe among all the N programs, and sequentially check a branch point to an interframe in the next program.

또는, 처음 X 개의 프로그램의 각각이 항상 최초 시작점에서부터 복호화 및 재생이 시작되는 경우라면, 이들 프로그램에 대한 인터 프레임 부호화 검사는 생략하고, 단계 S410의 n 의 초기값은 X+1로 설정될 수도 있다.Alternatively, if each of the first X programs always starts decoding and playback from the initial starting point, then the interframe coding check for these programs is skipped and the initial value of n in step S410 may be set to X + 1 .

단계 S420에서 인터 프레임으로의 분기점이 존재하는지 여부를 결정할 수 있다. It is possible to determine whether or not a branch point to an inter-frame exists in step S420.

하나 이상의 인터 프레임으로의 분기점이 존재하는 경우, 단계 S430으로 진행하여 해당 인터 프레임에 연관된 인트라 프레임을 선처리할 수 있다. If there is a branch point to one or more interframes, the flow advances to step S430 to pre-process the intra frame associated with the interframe.

만약 단계 S420에서 인터 프레임으로의 분기점이 없는 경우 바로 단계 S450으로 진행할 수 있다. If there is no branch point to the inter-frame in step S420, the flow directly advances to step S450.

단계 S430에서 인터 프레임으로의 분기점이 존재하는 경우, 해당 인터 프레임이 원래 참조하도록 되어 있는 인트라 프레임을 선처리할 수 있다. 즉, 상기 인터 프레임이 속한 동일한 n 번째 프로그램 내에서 상기 인터 프레임이 참조하는 인트라 프레임은 상기 인터 프레임의 이전 및/또는 이후에 존재하는 인트라 프레임일 수 있다. 이러한 인트라 프레임의 선처리는 인트라 프레임의 복호화, 저장 및 관리를 포함할 수 있다.If there is a branch point to an interframe in step S430, an intra frame to which the interframe is originally referenced can be preprocessed. That is, an intra frame referred to by the interframe in the same n-th program to which the interframe belongs may be an intra frame existing before and / or after the interframe. Preprocessing of such intra frames may include decoding, storing and managing intra frames.

단계 S440에서 n 번째 프로그램에서 잔여 인터 프레임으로의 분기점이 존재하는지 여부를 결정할 수 있다. In step S440, it may be determined whether or not a branch point from the nth program to the remaining interframe exists.

예를 들어, 프로그램 #1, 프로그램 #2, 프로그램 #4, 프로그램 #2, 프로그램 #1, ... 과 같이 스케줄링 예시를 가정하면, 특정 프로그램의 재생이 종료된 후(즉, 다른 프로그램으로 분기된 후)에, 다시 상기 특정 프로그램의 임의의 시점으로의 분기가 수행될 수도 있다. 즉, 하나의 프로그램에서 하나 이상의 인터 프레임으로의 분기점이 존재할 수도 있다. For example, assuming scheduling examples as in the case of program # 1, program # 2, program # 4, program # 2, program # 1, A branch to an arbitrary time point of the specific program may be performed again. That is, there may be a branch point from one program to one or more interframes.

따라서, 각각의 프로그램에 대해서 모든 인터 프레임 분기점을 검사하고, 하나 이상의 인터 프레임의 각각에 연관된 인트라 프레임을 선처리함으로써, 랜덤 액세스 성능을 제고할 수 있다.Therefore, it is possible to improve the random access performance by checking all the inter-frame branch points for each program and pre-processing the intra frames associated with each of the one or more inter frames.

단계 S440에서 n 번째 프로그램에서 인터 프레임으로의 분기점이 남아 있는 것으로 결정되면, 단계 S430으로 진행하여 해당 인터 프레임에 연관된 인트라 프레임에 대한 선처리를 수행할 수 있다. If it is determined in step S440 that the branch point to the interframe remains in the nth program, the flow advances to step S430 to perform preliminary processing on the intra frame associated with the interframe.

만약 단계 S440에서 n 번째 프로그램에서 인터 프레임으로의 분기점이 없는 경우에는 단계 S450으로 진행할 수 있다.If there is no branch to the interframe in the nth program in step S440, the process may proceed to step S450.

단계 S450에서 전체 N 개의 프로그램에 대한 인터 프레임으로의 분기점 검사가 완료되었는지 여부를 결정할 수 있다. It may be determined in step S450 whether or not the branch point inspection for interframes for all N programs has been completed.

마지막으로 인터 프레임으로의 분기점 검사가 수행된 프로그램이 N 번째 프로그램인 경우에는 도 4의 예시적인 동작을 종료할 수 있다. Finally, if the program in which the branch point inspection into the inter-frame is performed is the Nth program, the exemplary operation of FIG. 4 may be terminated.

만약 아직 검사해야 할 프로그램이 남아 있는 경우에는 단계 S460으로 진행하여 n 값을 1만큼 증가시키고, 이에 따라 단계 S410에서 다음 프로그램(즉, n+1 번째 프로그램)에서 인터 프레임으로의 분기점 검사를 수행할 수 있다. If the program to be inspected remains, the process proceeds to step S460 where the value of n is incremented by 1, and accordingly, the branch point inspection from the next program (i.e., the (n + 1) th program) to the interframe is performed at step S410 .

전술한 본 개시의 다양한 예시들에 따라서, 하나 이상의 멀티미디어 콘텐츠의 임의의 시점으로의 분기를 연속적으로 재생할 수 있고, 실질적인 랜덤 액세스를 지원할 수 있다. According to various examples of the present disclosure described above, one or more branches of the multimedia content to any point in time may be continuously reproduced and may support substantial random access.

본 개시의 예시적인 방법들은 설명의 명확성을 위해서 동작의 시리즈로 표현되어 있지만, 이는 단계가 수행되는 순서를 제한하기 위한 것은 아니며, 필요한 경우에는 각각의 단계가 동시에 또는 상이한 순서로 수행될 수도 있다. 본 개시에 따른 방법을 구현하기 위해서, 예시하는 단계에 추가적으로 다른 단계를 포함하거나, 일부의 단계를 제외하고 나머지 단계를 포함하거나, 또는 일부의 단계를 제외하고 추가적인 다른 단계를 포함할 수도 있다.Although the exemplary methods of this disclosure are represented by a series of acts for clarity of explanation, they are not intended to limit the order in which the steps are performed, and if necessary, each step may be performed simultaneously or in a different order. In order to implement the method according to the present disclosure, the illustrative steps may additionally include other steps, include the remaining steps except for some steps, or may include additional steps other than some steps.

본 개시의 다양한 실시 예는 모든 가능한 조합을 나열한 것이 아니고 본 개시의 대표적인 양상을 설명하기 위한 것이며, 다양한 실시 예에서 설명하는 사항들은 독립적으로 적용되거나 또는 둘 이상의 조합으로 적용될 수도 있다.The various embodiments of the disclosure are not intended to be all-inclusive and are intended to illustrate representative aspects of the disclosure, and the features described in the various embodiments may be applied independently or in a combination of two or more.

또한, 본 개시의 다양한 실시 예는 하드웨어, 펌웨어(firmware), 소프트웨어, 또는 그들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 범용 프로세서(general processor), 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다. In addition, various embodiments of the present disclosure may be implemented by hardware, firmware, software, or a combination thereof. In the case of hardware implementation, one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays A general processor, a controller, a microcontroller, a microprocessor, and the like.

본 개시의 범위는 다양한 실시 예의 방법에 따른 동작이 장치 또는 컴퓨터 상에서 실행되도록 하는 소프트웨어 또는 머신-실행가능한 명령들(예를 들어, 운영체제, 애플리케이션, 펌웨어(firmware), 프로그램 등), 및 이러한 소프트웨어 또는 명령 등이 저장되어 장치 또는 컴퓨터 상에서 실행 가능한 비-일시적 컴퓨터-판독가능 매체(non-transitory computer-readable medium)를 포함한다. The scope of the present disclosure is to be accorded the broadest interpretation as understanding of the principles of the invention, as well as software or machine-executable instructions (e.g., operating system, applications, firmware, Instructions, and the like are stored and are non-transitory computer-readable medium executable on the device or computer.

100 프로그램 스케줄링
110, 120, 130, 150 인트라 프레임
140, 160 인터 프레임
300 랜덤 액세스 지원 장치
310 대상 프레임 결정부
320 선처리부
330 선처리 결과 출력부
100 program scheduling
110, 120, 130, 150 Intra frames
140, 160 Interframe
300 random access support device
310 target frame determination unit
320 line processor
330 Preliminary result output unit

Claims (1)

스케줄링 기반 콘텐츠 랜덤 액세스 방법에 있어서,
스케줄링 정보에 기초하여 인터 프레임으로의 분기점을 결정하는 단계;
결정된 분기점에 해당하는 인터 프레임에 연관된 인트라 프레임에 대한 선처리를 수행하는 단계; 및
상기 선처리된 인트라 프레임 정보에 기초하여 상기 인터 프레임에 대한 복호화를 수행하는 단계를 포함하는, 랜덤 액세스 방법.
A scheduling-based content random access method,
Determining a branch point to an inter-frame based on the scheduling information;
Performing preliminary processing on an intra frame associated with the interframe corresponding to the determined branch point; And
And performing decoding on the interframe based on the preprocessed intra frame information.
KR1020160164344A 2016-12-05 2016-12-05 Method and apparatus for random access of multiple contents streaming service KR101917775B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160164344A KR101917775B1 (en) 2016-12-05 2016-12-05 Method and apparatus for random access of multiple contents streaming service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160164344A KR101917775B1 (en) 2016-12-05 2016-12-05 Method and apparatus for random access of multiple contents streaming service

Publications (2)

Publication Number Publication Date
KR20180064597A true KR20180064597A (en) 2018-06-15
KR101917775B1 KR101917775B1 (en) 2018-11-13

Family

ID=62628795

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160164344A KR101917775B1 (en) 2016-12-05 2016-12-05 Method and apparatus for random access of multiple contents streaming service

Country Status (1)

Country Link
KR (1) KR101917775B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004080785A (en) * 2002-08-13 2004-03-11 Microsoft Corp Quick digital channel change

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004080785A (en) * 2002-08-13 2004-03-11 Microsoft Corp Quick digital channel change

Also Published As

Publication number Publication date
KR101917775B1 (en) 2018-11-13

Similar Documents

Publication Publication Date Title
US11706483B2 (en) Video playing method and apparatus, and electronic device
WO2017096885A1 (en) Video playing method and device
US10051334B2 (en) Apparatus and method for resuming playing of media source, and smart television
TW202010314A (en) Dynamic reduction in playout of replacement content to help align end of replacement content with end of replaced content
US20170163992A1 (en) Video compressing and playing method and device
US10476928B2 (en) Network video playback method and apparatus
US10306179B2 (en) Image providing apparatus, control method thereof, and image providing system
US20230050596A1 (en) Playback mode determining method and apparatus
CN105227884A (en) Realize method that video file puts upside down and device thereof
CN105187845A (en) Video data decoding device and method
US9380189B2 (en) Method of providing information configuration function in video play device and video play device
US20170125062A1 (en) Multiple views recording
KR101917775B1 (en) Method and apparatus for random access of multiple contents streaming service
CN105025343A (en) Caching method and device of TS video
JP2016525297A (en) Picture reference control for video decoding using a graphics processor
US10771733B2 (en) Method and apparatus for processing video playing
US8428444B2 (en) Video server and seamless playback method
CN104168504A (en) Digital television program switchover method and device
US20160240198A1 (en) Multi-decoding method and multi-decoder for performing same
CN108111900B (en) Playing speed control method and device
CN113038150A (en) Program switching method and device
US11917241B2 (en) Electronic device and its execution method and computer-readable medium
CN118200623A (en) Playing processing method and device, electronic equipment and computer readable storage medium
CN117319723A (en) Video playing processing method and device, storage medium and electronic equipment
CN117135403A (en) Video playing method and device, electronic equipment and storage medium

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant