KR102287274B1 - Method and apparatus for encording video - Google Patents

Method and apparatus for encording video Download PDF

Info

Publication number
KR102287274B1
KR102287274B1 KR1020190160837A KR20190160837A KR102287274B1 KR 102287274 B1 KR102287274 B1 KR 102287274B1 KR 1020190160837 A KR1020190160837 A KR 1020190160837A KR 20190160837 A KR20190160837 A KR 20190160837A KR 102287274 B1 KR102287274 B1 KR 102287274B1
Authority
KR
South Korea
Prior art keywords
encoding
delay time
video
time
bit rate
Prior art date
Application number
KR1020190160837A
Other languages
Korean (ko)
Other versions
KR20210070739A (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 KR1020190160837A priority Critical patent/KR102287274B1/en
Publication of KR20210070739A publication Critical patent/KR20210070739A/en
Application granted granted Critical
Publication of KR102287274B1 publication Critical patent/KR102287274B1/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, 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
    • H04N21/234381Processing 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 by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available

Abstract

개시된 비디오 인코딩 장치는, 비디오 데이터를 스트리밍으로 전송할 네트워크에 접속된 통신부와, 비디오 데이터에 대한 인코딩 비트레이트를 결정하는 제어부와, 결정된 인코딩 비트레이트로 비디오 데이터를 인코딩하는 인코딩부를 포함하고, 제어부는, 통신부의 네트워크로의 신호 전송에 대한 확인 응답(Acknowledgement)을 통신부로부터 전달받아 패킷의 정보를 획득하며, 네트워크의 가용 네트워크 채널 용량을 추정하고, 패킷의 정보와 가용 네트워크 채널 용량에 기초하여 비디오 데이터에 대한 인코딩 비트레이트를 결정한다.The disclosed video encoding apparatus includes a communication unit connected to a network for transmitting video data by streaming, a control unit determining an encoding bit rate for the video data, and an encoding unit encoding video data at the determined encoding bit rate, the control unit comprising: Acknowledgment for signal transmission to the network of the communication unit is received from the communication unit to obtain packet information, to estimate the available network channel capacity of the network, and to video data based on the packet information and available network channel capacity. Determines the encoding bit rate for

Description

비디오 인코딩 장치 및 방법{METHOD AND APPARATUS FOR ENCORDING VIDEO}Video encoding apparatus and method {METHOD AND APPARATUS FOR ENCORDING VIDEO}

본 발명은 비디오 데이터를 인코딩 장치와 이러한 비디오 인코딩 장치에서 결정된 인코딩 비트레이트로 비디오 데이터를 인코딩하는 방법에 관한 것이다.The present invention relates to an apparatus for encoding video data and a method for encoding video data at an encoding bitrate determined by the video encoding apparatus.

증강현실/가상현실 서비스를 포함하는 실시간 스트리밍 서비스의 체감성능을 원격실재(Telepresence) 수준으로 끌어올리려면, 인지부조화 없이 촉각까지 전달할 수 있는, 왕복지연시간 10ms 이내의 실시간 스트리밍 기술이 필수적이라 할 수 있다. 10ms의 왕복지연시간은 4세대 무선 네트워크에서는 물리적으로 달성이 불가능하지만, 10ms 이내의 최소 왕복지연을 가지는 유선 네트워크, 와이파이(WiFi), 5세대 무선 네트워크에서는 물리적으로 실현 가능하다. 이러한 네트워크의 종류에 상관없이, 각 네트워크에서 달성할 수 있는 최소 왕복지연에 가까운 수준의 저지연 스트리밍 기술의 필요성이 대두되었다.In order to raise the sensible performance of real-time streaming services including augmented reality/virtual reality services to the level of telepresence, real-time streaming technology with a round-trip delay of less than 10 ms that can deliver tactile sensations without cognitive dissonance is essential. there is. Round-trip latency of 10ms is physically impossible to achieve in 4G wireless networks, but is physically feasible in wired networks, Wi-Fi, and 5G wireless networks with a minimum round-trip delay of less than 10ms. Regardless of the type of network, the need for a low-latency streaming technology close to the minimum round-trip delay achievable in each network has emerged.

종래에는 비디오 스트리밍 환경에서 저지연 스트리밍을 달성하기 위해, 네트워크의 가용 대역폭보다 현저하게 낮은 수준의 비트레이트(bitrate)로 영상을 인코딩하여 저지연 성능을 달성하였지만, 저화질 영상에 의한 품질 문제를 가짐과 동시에, 네트워크 혼잡 등에 의한 가용 대역폭의 변동시 영상 끊김이 발생한다.Conventionally, in order to achieve low-delay streaming in a video streaming environment, low-delay performance was achieved by encoding an image at a bitrate that is significantly lower than the available bandwidth of the network, but having a quality problem due to low-quality images and At the same time, video interruption occurs when the available bandwidth is changed due to network congestion or the like.

대한민국 공개특허공보 제10-2014-0047575호, 공개일자 2014년 4월 22일.Korean Patent Publication No. 10-2014-0047575, published on April 22, 2014.

실시예에 따르면, 비디오 데이터를 스트리밍으로 전송할 네트워크의 패킷 정보를 활용하여 비디오 데이터의 인코딩 비트레이트를 결정하는 비디오 인코딩 장치 및 방법을 제공한다.According to an embodiment, a video encoding apparatus and method for determining an encoding bit rate of video data by utilizing packet information of a network through which video data is to be transmitted by streaming are provided.

본 발명의 해결하고자 하는 과제는 이상에서 언급한 것으로 제한되지 않으며, 언급되지 않은 또 다른 해결하고자 하는 과제는 아래의 기재로부터 본 발명이 속하는 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The problems to be solved of the present invention are not limited to those mentioned above, and other problems to be solved that are not mentioned will be clearly understood by those of ordinary skill in the art to which the present invention belongs from the following description.

제 1 관점에 따른 비디오 인코딩 장치는, 비디오 데이터를 스트리밍으로 전송할 네트워크에 접속된 통신부와, 상기 비디오 데이터에 대한 인코딩 비트레이트를 결정하는 제어부와, 상기 결정된 인코딩 비트레이트로 상기 비디오 데이터를 인코딩하는 인코딩부를 포함하고, 상기 제어부는, 상기 통신부의 상기 네트워크로의 신호 전송에 대한 확인 응답(Acknowledgement)을 상기 통신부로부터 전달받아 지연 정보를 포함하는 패킷의 정보를 획득하며, 상기 네트워크의 가용 네트워크 채널 용량을 추정하고, 상기 지연 정보를 포함하는 패킷의 정보와 상기 가용 네트워크 채널 용량에 기초하여 상기 비디오 데이터에 대한 인코딩 비트레이트를 결정한다.A video encoding apparatus according to a first aspect includes a communication unit connected to a network for transmitting video data by streaming, a control unit determining an encoding bit rate for the video data, and encoding for encoding the video data at the determined encoding bit rate. comprising a unit, wherein the control unit receives from the communication unit an acknowledgment of the signal transmission to the network of the communication unit, obtains packet information including delay information, and determines the available network channel capacity of the network. and determines an encoding bit rate for the video data based on the information of the packet including the delay information and the available network channel capacity.

제 2 관점에 따른 비디오 인코딩 장치의 비디오 인코딩 방법은, 비디오 데이터를 스트리밍으로 전송할 네트워크의 신호 전송에 대한 확인 응답으로부터 지연 정보를 포함하는 패킷의 정보를 획득하는 단계와, 상기 네트워크의 가용 네트워크 채널 용량을 추정하는 단계와, 상기 지연 정보를 포함하는 패킷의 정보와 상기 가용 네트워크 채널 용량에 기초하여 상기 비디오 데이터에 대한 인코딩 비트레이트를 결정하는 단계와, 상기 결정된 인코딩 비트레이트로 상기 비디오 데이터를 인코딩하는 단계를 포함한다.A video encoding method of a video encoding apparatus according to a second aspect includes: obtaining information of a packet including delay information from an acknowledgment for signal transmission of a network through which video data is to be transmitted by streaming; estimating , determining an encoding bitrate for the video data based on information of a packet including the delay information and the available network channel capacity, and encoding the video data at the determined encoding bitrate. includes steps.

제 3 관점에 따른 컴퓨터 프로그램을 저장하고 있는 컴퓨터 판독 가능 기록매체는, 상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면, 상기 비디오 인코딩 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함한다.The computer-readable recording medium storing the computer program according to the third aspect, when the computer program is executed by a processor, includes instructions for causing the processor to perform the video encoding method.

제 4 관점에 따른 컴퓨터 판독 가능한 기록매체에 저장되어 있는 컴퓨터 프로그램은, 상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면, 상기 비디오 인코딩 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함한다.The computer program stored in the computer-readable recording medium according to the fourth aspect, when the computer program is executed by a processor, includes instructions for causing the processor to perform the video encoding method.

실시예에 의하면, 비디오 데이터를 스트리밍으로 전송할 네트워크의 패킷 정보를 활용하여 비디오 데이터의 인코딩 비트레이트를 결정함으로써, 네트워크의 종류에 상관없이, 해당 네트워크에서 달성할 수 있는 최소 왕복지연에 가까운 수준으로 비디오 데이터를 스트리밍 할 수 있다. 또한, 비디오 프레임의 드롭(drop) 없이도 네트워크 혼잡에 적응적으로 동작할 수 있다.According to the embodiment, by determining the encoding bit rate of the video data by using packet information of the network through which the video data is to be transmitted by streaming, the video data is reduced to a level close to the minimum round-trip delay achievable in the network regardless of the type of network. Data can be streamed. In addition, it can operate adaptively to network congestion without dropping video frames.

도 1은 본 발명의 실시예에 따른 비디오 인코딩 장치의 구성도이다.
도 2는 본 발명의 실시예에 따른 비디오 인코딩 방법을 설명하기 위한 흐름도이다.
1 is a block diagram of a video encoding apparatus according to an embodiment of the present invention.
2 is a flowchart illustrating a video encoding method according to an embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명의 범주는 청구항에 의해 정의될 뿐이다.Advantages and features of the present invention and methods of achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but can be implemented in various forms, and only these embodiments allow the disclosure of the present invention to be complete, and those of ordinary skill in the art to which the present invention pertains. It is provided to fully inform the person of the scope of the invention, and the scope of the invention is only defined by the claims.

본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명은 본 발명의 실시예들을 설명함에 있어 실제로 필요한 경우 외에는 생략될 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In describing the embodiments of the present invention, detailed descriptions of well-known functions or configurations will be omitted except when it is actually necessary to describe the embodiments of the present invention. In addition, the terms to be described later are terms defined in consideration of functions in an embodiment of the present invention, which may vary according to intentions or customs of users and operators. Therefore, the definition should be made based on the content throughout this specification.

본 명세서에서 단수의 표현은 문맥상 명백하게 다름을 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, '포함하다' 또는 '구성하다' 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In this specification, the singular expression includes the plural expression unless the context clearly dictates otherwise. In the present application, terms such as 'comprise' or 'comprise' are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification is present, and one or more other It should be understood that this does not preclude the possibility of addition or presence of features or numbers, steps, operations, components, parts, or combinations thereof.

또한, 본 발명의 실시예에서, 어떤 부분이 다른 부분과 연결되어 있다고 할 때, 이는 직접적인 연결뿐 아니라, 다른 매체를 통한 간접적인 연결의 경우도 포함한다. 또한 어떤 부분이 어떤 구성 요소를 포함한다는 의미는, 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있다는 것을 의미한다.In addition, in the embodiment of the present invention, when a part is connected to another part, this includes not only direct connection but also indirect connection through another medium. In addition, the meaning that a part includes a certain component means that other components may be further included, rather than excluding other components, unless otherwise stated.

도 1은 본 발명의 실시예에 따른 비디오 인코딩 장치(100)의 구성도이다.1 is a block diagram of a video encoding apparatus 100 according to an embodiment of the present invention.

도 1에 나타낸 바와 같이 실시예에 따른 비디오 인코딩 장치(100)는 통신부(110), 제어부(120) 및 인코딩부(130)를 포함한다.As shown in FIG. 1 , the video encoding apparatus 100 according to the embodiment includes a communication unit 110 , a control unit 120 , and an encoding unit 130 .

통신부(110)는 비디오 데이터를 스트리밍으로 전송할 네트워크에 접속된다. 이러한 통신부(110)는 제어부(120)의 제어에 따라 네트워크로 신호를 송신할 수 있고, 신호 전송에 대한 확인 응답(Acknowledgement)을 수신하여 제어부(120)에 제공할 수 있다. 그리고, 통신부(110)는 인코딩된 비디오 데이터를 제어부(120)의 제어에 따라 네트워크에 스트리밍으로 전송할 수 있다.The communication unit 110 is connected to a network through which video data is transmitted by streaming. The communication unit 110 may transmit a signal to the network under the control of the control unit 120 , and may receive an acknowledgment for signal transmission and provide it to the control unit 120 . In addition, the communication unit 110 may transmit the encoded video data to the network by streaming under the control of the control unit 120 .

제어부(120)는 통신부(110)를 통해 네트워크로 전달되는 패킷의 전송 단위의 크기를 제한하기 위한 혼잡 윈도우(CW, Congestion Window)의 크기를 결정한 후 결정된 혼잡 윈도우의 크기에 대응하여 패킷의 전송 단위의 크기를 제한할 수 있다. 또한, 제어부(120)는 통신부(110)를 통해 네트워크로 전송할 비디오 데이터에 대한 인코딩 비트레이트를 결정한다. 예컨대, 제어부(120)는 마이크로프로세서(microprocessor) 등과 같은 컴퓨팅연산수단을 포함할 수 있다. 이러한 제어부(120)는 네트워크로의 신호 전송에 대한 확인 응답을 통신부(110)로부터 전달받아 지연 정보를 포함하는 패킷의 정보를 획득할 수 있으며, 네트워크의 가용 네트워크 채널 용량을 추정할 수 있고, 패킷의 정보와 가용 네트워크 채널 용량에 기초하여 비디오 데이터에 대한 인코딩 비트레이트를 결정할 수 있다. 예를 들어, 제어부(120)는 패킷의 왕복지연시간과 네트워크의 실시간 전송률을 패킷의 정보로서 획득할 수 있다. 예컨대, 제어부(120)는 왕복지연시간과 실시간 전송률에 기초하여, 지연시간 손실 없이 네트워크의 대역폭-지연곱(Bandwidth-Delay Product)을 달성하는 전송률을 가용 네트워크 채널 용량으로서 추정할 수 있다. 또, 제어부(120)는 비디오 데이터 중 순간 비트레이트 추정치로 인코딩하여 전송한 과거의 프레임에서 발생한 추가 지연시간의 추정치에 기초하여 현재 프레임에 대한 인코딩 비트레이트를 결정할 수 있다. 여기서, 제어부(120)는 과거의 프레임에 대한 전송 시간(transmission time)과 전파 지연시간(propagation delay time) 및 큐잉 지연시간(queuing delay time)의 합계시간과 스트리밍의 목표 지연시간을 비교한 결과에 기초하여 과거의 프레임에서 발생한 추가 지연시간을 추정할 수 있다. 예들 들어, 제어부(120)는 합계시간이 목표 지연시간 이하이면, 과거의 프레임에 대한 순간 비트레이트 추정치를 현재 프레임에 대한 인코딩 비트레이트로 결정할 수 있다. 또는, 제어부(120)는 합계시간이 목표 지연시간 이상이면, 합계시간과 목표 지연시간이 동일한 조건을 만족하는 비트레이트를 산출하여 현재 프레임에 대한 인코딩 비트레이트로 결정할 수 있다.The control unit 120 determines the size of a congestion window (CW) for limiting the size of a transmission unit of a packet transmitted to the network through the communication unit 110 and corresponds to the determined size of the congestion window, the packet transmission unit size can be limited. In addition, the control unit 120 determines an encoding bit rate for video data to be transmitted to the network through the communication unit 110 . For example, the control unit 120 may include a computing means such as a microprocessor (microprocessor). The control unit 120 may receive the acknowledgment for signal transmission to the network from the communication unit 110 to obtain packet information including delay information, estimate the available network channel capacity of the network, and packet An encoding bitrate for video data may be determined based on the information of and the available network channel capacity. For example, the controller 120 may obtain a round trip delay time of a packet and a real-time transmission rate of the network as information of the packet. For example, the controller 120 may estimate, as an available network channel capacity, a transmission rate that achieves a bandwidth-delay product of the network without loss of delay time, based on the round-trip delay time and the real-time transmission rate. Also, the controller 120 may determine the encoding bitrate for the current frame based on an estimate of an additional delay time occurring in a past frame that is encoded and transmitted with an instantaneous bitrate estimate among video data. Here, the control unit 120 compares the total time of the transmission time, the propagation delay time, and the queuing delay time for the past frame with the target delay time of streaming. Based on the additional delay time generated in the past frame can be estimated. For example, if the total time is equal to or less than the target delay time, the controller 120 may determine the instantaneous bitrate estimate for the past frame as the encoding bitrate for the current frame. Alternatively, if the total time is equal to or greater than the target delay time, the controller 120 may calculate a bit rate that satisfies the same condition as the total time and the target delay time, and determine the encoding bit rate for the current frame.

인코딩부(130)는 제어부(120)에 의해 결정된 인코딩 비트레이트로 비디오 데이터를 인코딩하여 인코딩된 비디오 데이터를 통신부(110)에 제공함으로써, 통신부(110)에 의해 비디오 데이터가 스트리밍으로 전송될 수 있도록 할 수 있다.The encoding unit 130 encodes the video data at the encoding bit rate determined by the control unit 120 and provides the encoded video data to the communication unit 110 so that the video data can be transmitted by the communication unit 110 in streaming. can do.

도 2는 본 발명의 실시예에 따른 비디오 인코딩 방법을 설명하기 위한 흐름도이다.2 is a flowchart illustrating a video encoding method according to an embodiment of the present invention.

이하, 도 1 및 도 2를 참조하여 실시예에 따른 비디오 인코딩 장치(100)에서 수행하는 비디오 인코딩 방법에 대해 자세히 살펴보기로 한다.Hereinafter, a video encoding method performed by the video encoding apparatus 100 according to an embodiment will be described in detail with reference to FIGS. 1 and 2 .

먼저, 비디오 인코딩 장치(100)의 제어부(120)는 통신부(110)를 통해 네트워크로 전달되는 패킷의 전송 단위의 크기를 제한하기 위한 혼잡 윈도우(CW, Congestion Window)의 크기를 결정하고, 혼잡 윈도우의 크기에 대응하여 패킷의 전송 단위의 크기를 제한하면서 통신부(110)를 제어하여 소정의 신호를 네트워크로 송신하도록 한다. 여기서, 제어부(120)는 초기 혼잡 윈도우의 크기와 알려진 수준의 왕복지연시간에 기초하여 초기의 비트레이트를 결정 및 제어할 수 있다. 그러면, 네트워크에 접속된 수신단에 의하여 발생된 신호 전송에 대한 확인 응답을 통신부(110)가 수신하여 제어부(120)에 제공한다.First, the controller 120 of the video encoding apparatus 100 determines the size of a congestion window (CW) for limiting the size of a transmission unit of a packet transmitted to a network through the communication unit 110, and the congestion window The communication unit 110 is controlled to transmit a predetermined signal to the network while limiting the size of a packet transmission unit corresponding to the size of . Here, the controller 120 may determine and control the initial bit rate based on the size of the initial congestion window and the known level of round trip delay time. Then, the communication unit 110 receives an acknowledgment for signal transmission generated by the receiving end connected to the network and provides it to the control unit 120 .

이어서, 제어부(120)는 신호 전송에 대한 확인 응답으로부터 지연 정보를 포함하는 패킷의 정보를 획득한다. 예를 들어, 제어부(120)는 패킷의 왕복지연시간과 네트워크의 실시간 전송률을 패킷의 정보로서 획득할 수 있다. 예컨대, 제어부(120)는 확인 응답 패킷의 시퀀스 넘버(sequence number)에 기초하여 실시간 전송률을 추정할 수 있다(S210).Subsequently, the control unit 120 obtains information on a packet including delay information from an acknowledgment for signal transmission. For example, the controller 120 may obtain a round trip delay time of a packet and a real-time transmission rate of the network as information of the packet. For example, the controller 120 may estimate the real-time data rate based on a sequence number of the acknowledgment packet ( S210 ).

여기서, 제어부(120)는 왕복지연시간과 실시간 전송률에 기초하여, 지연시간 손실 없이 네트워크의 대역폭-지연곱을 달성하는 전송률을 가용 네트워크 채널 용량으로서 추정할 수 있다. 예컨대, 제어부(120)는 왕복지연시간과 실시간 전송률에 기초하여, 지연시간 손실 없이 네트워크의 대역폭-지연곱을 달성하는 전송률을 가용 네트워크 채널 용량으로서 추정할 수 있다(S220).Here, the control unit 120 may estimate, as an available network channel capacity, a transmission rate that achieves the bandwidth-delay product of the network without loss of delay time, based on the round-trip delay time and the real-time transmission rate. For example, the controller 120 may estimate, as an available network channel capacity, a transmission rate that achieves a delay product of the network bandwidth without loss of delay time, based on the round-trip delay time and the real-time transmission rate (S220).

그리고, 제어부(120)는 신호 전송에 대한 확인 응답으로부터 추출한 패킷의 정보와 가용 네트워크 채널 용량에 기초하여 비디오 데이터에 대한 인코딩 비트레이트를 결정할 수 있다. 여기서, 제어부(120)는 비디오 데이터 중 순간 비트레이트 추정치로 인코딩하여 전송한 과거의 프레임에서 발생한 추가 지연시간의 추정치에 기초하여 현재 프레임에 대한 인코딩 비트레이트를 결정할 수 있다. 예를 들어, 제어부(120)는 과거의 프레임에 대한 전송 시간과 전파 지연시간 및 큐잉 지연시간의 합계시간과 스트리밍의 목표 지연시간을 비교한 결과에 기초하여 과거의 프레임에서 발생한 추가 지연시간을 추정할 수 있다. 예컨대, 제어부(120)는 합계시간이 목표 지연시간 이하이면, 과거의 프레임에 대한 순간 비트레이트 추정치를 현재 프레임에 대한 인코딩 비트레이트로 결정할 수 있다. 이는 과거의 프레임에서 해당 채널의 최대 전송률을 달성할 수 있도록 순간 비트레이트 추정치가 결정 및 설정되어 있기 때문이다. 또는, 제어부(120)는 합계시간이 목표 지연시간 이상이면, 합계시간과 목표 지연시간이 동일한 조건을 만족하는 비트레이트를 산출하여 현재 프레임에 대한 인코딩 비트레이트로 결정할 수 있다(S230). 이처럼, 제어부(120)가 인코딩 비트레이트를 결정하는 과정에 대해서는 아래에서 좀 더 자세히 설명하기로 한다.In addition, the controller 120 may determine the encoding bit rate for the video data based on the packet information extracted from the acknowledgment for signal transmission and the available network channel capacity. Here, the controller 120 may determine the encoding bit rate for the current frame based on an estimate of an additional delay time generated in a past frame that is encoded and transmitted with an instantaneous bitrate estimate among video data. For example, the control unit 120 estimates the additional delay time generated in the past frame based on the result of comparing the total time of the transmission time, the propagation delay time, and the queuing delay time for the past frame with the target delay time of streaming can do. For example, if the total time is equal to or less than the target delay time, the controller 120 may determine the instantaneous bitrate estimate for the past frame as the encoding bitrate for the current frame. This is because the instantaneous bitrate estimate is determined and set to achieve the maximum bitrate of the channel in the past frame. Alternatively, if the total time is equal to or greater than the target delay time, the controller 120 may calculate a bit rate that satisfies the same condition as the total time and the target delay time and determine the encoding bit rate for the current frame ( S230 ). As such, a process in which the controller 120 determines the encoding bit rate will be described in more detail below.

그러면, 인코딩부(130)는 제어부(120)에 의해 결정된 인코딩 비트레이트로 비디오 데이터를 인코딩하여 인코딩된 비디오 데이터를 통신부(110)에 제공한다. 이로써, 통신부(110)는 인코딩된 비디오 데이터를 제어부(120)의 제어에 따라 네트워크의 수신단에 스트리밍으로 전송할 수 있다(S240).Then, the encoding unit 130 encodes the video data at the encoding bit rate determined by the control unit 120 and provides the encoded video data to the communication unit 110 . Accordingly, the communication unit 110 may transmit the encoded video data to the receiving end of the network by streaming under the control of the control unit 120 ( S240 ).

한편, 제어부(120)가 인코딩 비트레이트를 결정하는 과정에 대하여 좀 더 자세히 살펴보기로 한다.Meanwhile, a process in which the controller 120 determines the encoding bit rate will be described in more detail.

제어부(120)는 최대 전송률을 달성할 수 있는 순간 비트레이트 추정치를 결정할 때에 네트워크 혼잡에 따른 지연시간 증가를 고려하지 않는다면 혼잡 윈도우 크기와 왕복지연시간만을 고려하여 현재 프레임에 대한 인코딩 비트레이트를 결정할 수 있다. 예를 들어, 수학식 1을 이용하여 순간 비트레이트 추정치를 결정할 수 있다.When determining the instantaneous bitrate estimate that can achieve the maximum data rate, the controller 120 determines the encoding bitrate for the current frame by considering only the congestion window size and round-trip delay time if the delay time increase due to network congestion is not considered. there is. For example, an instantaneous bitrate estimate can be determined using Equation (1).

Figure 112019125962313-pat00001
Figure 112019125962313-pat00001

수학식 1의 분모는 ith 확인 응답에 의해 최신화되는 smoothed RTT 값이고, 분자는 세션이 형성된 이후 jth RTT가 흐른 뒤에 혼잡 제어 수식에 의해 갱신된 혼잡 윈도우 값이다.The denominator of Equation 1 is the smoothed RTT value updated by the i th acknowledgment, and the numerator is the congestion window value updated by the congestion control equation after the j th RTT flows after the session is established.

하지만, 수학식 1을 통하여 산출된 순간 비트레이터 추정치를 적용하여 인코딩을 진행한다면, 네트워크 혼잡 시에 발생하는 지연시간 증가 문제를 해결할 수 없다. 예를 들어, 수학식 1을 통하여 산출된 순간 비트레이트 추정치로 해당 프레임을 인코딩하여 프레임을 전송하고 있는 상황에서 네트워크가 변동하여 혼잡이 발생한 경우, 전송 중의 실제 가용 혼잡 윈도우 값은 혼잡에 의해 순간 비트레이트 추정치 계산에 사용한 CWj 값보다 작아지게 되고, 이는 순간적인 큐잉 지연(queuing delay)를 필연적으로 발생시키게 된다. 이러한 상황은 모바일 장치를 활용한 이동 상황에서의 스트리밍 환경에서 자주 발생하기 때문에, 인코딩 비트레이트를 결정할 때에, 혼잡 발생시 추가되는 큐잉 지연을 다음 번 프레임 인코딩에 반영해 주어야만 비디오 스트림 자체가 네트워크 혼잡에 의한 심각한 성능 저하(예, 장시간 비디오 버퍼링 등)를 겪지 않고 안정적으로 실시간 프레임을 송출할 수 있다.However, if encoding is performed by applying the instantaneous bitrate estimate calculated through Equation 1, it is impossible to solve the problem of increasing delay time that occurs during network congestion. For example, when congestion occurs due to network fluctuations in a situation in which the frame is transmitted by encoding the frame with the instantaneous bitrate estimate calculated through Equation 1, the actual available congestion window value during transmission is the instantaneous bit rate due to congestion. It becomes smaller than the CW j value used for calculating the rate estimate, which inevitably causes an instantaneous queuing delay. Since this situation often occurs in a streaming environment in a moving situation using a mobile device, when determining the encoding bit rate, the queuing delay added when congestion occurs must be reflected in the next frame encoding to prevent the video stream itself due to network congestion. It can reliably transmit real-time frames without experiencing significant performance degradation (eg, video buffering for a long time).

따라서, 제어부(120)는 수학식 1을 통하여 산출된 순간 비트레이트 추정치를 적용한 프레임의 추가 지연시간을 추정하고, 추정된 결과에 기초하여 현재 프레임의 인코딩 비트레이트를 결정할 수 있다. 예를 들어, 제어부(120)는 수학식 2를 이용하여 과거 프레임에 대한 추가 지연시간을 추정할 수 있다.Accordingly, the controller 120 may estimate the additional delay time of the frame to which the instantaneous bitrate estimate calculated through Equation 1 is applied, and determine the encoding bitrate of the current frame based on the estimated result. For example, the controller 120 may estimate the additional delay time for the past frame by using Equation (2).

Figure 112019125962313-pat00002
Figure 112019125962313-pat00002

수학식 2에서, b는 안정적인 동작을 위한 튜닝 파라미터이고, tk는 kth 인코딩이 시작되는 시점의 타임 스탬프(time stamp)이며, MTEi는 ith 확인 응답에 의해 최신화되는 최대 전송률 추정치이고, f(·) 함수(function)는 단방향 지연(one-way delay)을 추정하기 위해 고안된 함수이며, sRTT는 ith 확인 응답에 의해 최신화되는 smoothed RTT 값이고, dv는 통신 매체(예, 셀룰러, 무선, 유선 등)나 채널 상황 및 사용 어플리케이션의 종류에 따라 결정될 수 있는 목표 지연시간이다.In Equation 2, b is a tuning parameter for stable operation, t k is a time stamp of when k th encoding starts, MTE i is the maximum data rate estimate updated by i th acknowledgment, and , f(·) is a function designed to estimate the one-way delay, sRTT is the smoothed RTT value updated by the i th acknowledgment, and d v is the communication medium (e.g., It is a target delay time that can be determined according to the type of application used, cellular, wireless, etc.) or channel conditions.

이러한 수학식 2를 이용하여, 제어부(120)는 과거의 프레임에 대한 전송 시간과 전파 지연시간 및 큐잉 지연시간의 합계시간이 목표 지연시간 이하인 조건을 만족하면, 과거의 프레임에 대한 순간 비트레이트 추정치를 현재 프레임에 대한 인코딩 비트레이트로 결정할 수 있다. 하지만, 제어부(120)는 합계시간이 목표 지연시간 이상이면, 합계시간과 목표 지연시간이 동일한 조건을 만족하는 비트레이트를 수학식 3을 이용해 산출하여 산출된 비트레이트를 현재 프레임에 대한 인코딩 비트레이트로 결정할 수 있다.Using Equation 2, if the total time of the transmission time, propagation delay time, and queuing delay time for the past frame satisfies the condition that is less than or equal to the target delay time, the controller 120 determines the instantaneous bitrate estimate for the past frame may be determined as the encoding bitrate for the current frame. However, if the total time is equal to or greater than the target delay time, the control unit 120 calculates a bit rate that satisfies the same condition as the total time and the target delay time using Equation 3 and converts the calculated bit rate to the encoding bit rate for the current frame. can be decided with

Figure 112019125962313-pat00003
Figure 112019125962313-pat00003

수학식 3에서, αk는 목표 지연시간(dv)을 순간 비트레이트 추정치가 연속적으로 만족하지 못할 때에 a만큼씩 증가시켜 bitratek를 좀 더 보수적으로 설정하기 위해 사용하는 튜닝 파라미터이고, a는 안정적인 동작을 위한 튜닝 파라미터이다.In Equation 3, α k is a tuning parameter used to more conservatively set the bitrate k by increasing the target delay time d v by a when the instantaneous bitrate estimate is not continuously satisfied, and a is It is a tuning parameter for stable operation.

앞서 설명한 바와 같이 수학식 1 내지 수학식 3을 이용하여 인코딩 비트레이트를 결정하는 경우에는 다양한 네트워크 상태에 적응적으로 비트레이트를 가변시킬 수 있다.As described above, when the encoding bit rate is determined using Equations 1 to 3, the bit rate may be adaptively changed to various network conditions.

네트워크 상태가 일정하게 유지되는 경우 또는 좋아지는 경우, dv가 mRE/2(최소 단방향 지연)에 가까울 만큼 타이트(tight)하다면, 큐잉 지연의 문제보다, 전송 시간의 문제가 dv 달성을 위해 더 중요하다. 즉, 인코딩 비트레이트를 매우 작게 유지해서 전송 시간을 매우 작게 유지해야 만이, dv를 간신히 만족시킬 수 있다. 이 상황에서는 라인(line rate)보다 훨씬 작은 량의 데이터를 계속 전송하기 때문에 큐잉은 일어나지 않는다. dv가 매우 넉넉하다면, 인코딩 비트레이트를 MTEi*(1-b)값으로 추정되는 라인 레이트까지 증가시킬 수 있다. 이 경우, 전송 시간은 인코딩 간격(encoding interval)이 된다. 이 경우에도 네트워크가 나빠지지 않기 때문에, 큐잉은 크게 일어나지 않는다.If the network condition remains constant or improves, if d v is tight enough to be close to mRE/2 (minimum one-way delay), then the issue of transmission time is more important to achieving d v than the issue of queuing delay. do. That is, only by keeping the encoding bitrate very small so that the transmission time is very small, d v can barely be satisfied. In this situation, queuing does not occur because it continues to transmit a much smaller amount of data than the line rate. If d v is very generous, it is possible to increase the encoding bitrate to the line rate estimated by the MTE i *(1-b) value. In this case, the transmission time becomes the encoding interval. Even in this case, since the network does not deteriorate, queuing does not occur much.

네트워크 상태가 지속적으로 나빠지는 경우, 인코딩 비트레이트가 라인 레이트와 비슷하거나, 작을 것으로 기대하고 순간 비트레이트 추정치 값이 계산되었으나, 네트워크 상태가 나빠져 라인 레이트가 급격히 줄어들고, 큐잉 지연이 발생하는 상황이 존재한다. 이 경우에는 큐잉 지연이 dv를 만족시키지 못하는 원인일 수도 있고, 전송 시간이 dv를 만족시키지 못하는 원인일 수도 있다. 하지만, 어디서 발생한 지연이 주된 요인이 되는지 상관하지 않고, 이미 발생한 큐잉을 받아들이고, 해당 큐잉 하에서 dv를 만족시킬 수 있는 인코딩 비트레이트를 수학식 2로부터 계산한다. dv를 만족하지 못하는 상황이 연속해서 발생하는 경우(예, 채널이 계속 나빠지는 상황 등)에는 더 안전하게 인코딩 비트레이트를 보수적으로 추정하기 위하여 αk 값을 a만큼씩 증가시킬 수 있다.When the network condition continues to deteriorate, an instantaneous bitrate estimate value is calculated with the expectation that the encoding bitrate will be similar to or smaller than the line rate, but the line rate is sharply reduced due to the deterioration of the network condition, and there is a situation in which a queuing delay occurs. do. In this case, the queuing delay may be the cause of not satisfying d v , or the transmission time may be the cause of not satisfying d v . However, regardless of where the delay is a major factor, the queuing that has already occurred is accepted, and an encoding bitrate capable of satisfying d v under the corresponding queuing is calculated from Equation (2). When a situation in which d v is not satisfied continuously occurs (eg, a situation in which the channel continues to deteriorate, etc.), the value of α k may be increased by a in order to more safely estimate the encoding bit rate conservatively.

네트워크 상태가 나빠졌다 좋아졌다 하는 경우, 앞서 설명한 바 있는 네트워크 상태가 일정하게 유지되는 경우 또는 좋아지는 경우와 같이 dv가 너무 타이트한 상황과 채널이 지속적으로 나빠져서 계속 머무르는 상황을 구분하여 인코딩 비트레이트를 결정할 필요가 있다. 이들 상황을 구분할 때에는 함수 f(sRTTi) 값을 사용하면 쉽게 구분이 가능한데, f(sRTTi) 값이 mRE/2 값에 가까우면 큐잉이 없다는 의미(즉, dv가 타이트한 상황)를 가지고, 이 경우엔 위하여 αk 값을 '0'으로 설정하여 준다. 반대의 경우라면 큐잉이 발생하였다는 뜻으로, αk 값을 증가시켜서 대비할 수 있다. Encoding bitrate is determined by distinguishing between a situation in which d v is too tight and a situation in which the channel continues to stay because of a constant deterioration, such as when the network condition deteriorates and improves, when the network condition as described above is kept constant or when it improves. There is a need. These conditions when distinguished with the function f (sRTT i) The value means easily possible the identification, the f (sRTT i) value, there is no queuing surface close to mRE / 2 values (i.e., dv a tight situation), the In case for α k Set the value to '0'. In the opposite case, it means that queuing has occurred, and you can prepare for it by increasing the α k value.

지금까지 설명한 바와 같이 본 발명의 실시예들에 의하면, 비디오 데이터를 스트리밍으로 전송할 네트워크의 패킷 정보를 활용하여 비디오 데이터의 인코딩 비트레이트를 결정함으로써, 네트워크의 종류에 상관없이, 해당 네트워크에서 달성할 수 있는 최소 왕복지연에 가까운 수준으로 비디오 데이터를 스트리밍 할 수 있다. 또한, 비디오 프레임의 드롭 없이도 네트워크 혼잡에 적응적으로 동작할 수 있다.As described so far, according to the embodiments of the present invention, the encoding bit rate of the video data is determined using packet information of the network through which the video data is to be transmitted through streaming, so that it can be achieved in the corresponding network regardless of the type of network. Video data can be streamed with a level close to the minimum round-trip delay. In addition, it can operate adaptively to network congestion without dropping video frames.

본 발명에 첨부된 각 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 기록매체에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 기록매체에 저장된 인스트럭션들은 흐름도의 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.Combinations of each step in each flowchart attached to the present invention may be performed by computer program instructions. These computer program instructions may be embodied in a processor of a general purpose computer, special purpose computer, or other programmable data processing equipment, such that the instructions performed by the processor of the computer or other programmable data processing equipment provide the functions described in each step of the flowchart. It creates a means to do these things. These computer program instructions may also be stored in a computer-usable or computer-readable medium that may direct a computer or other programmable data processing equipment to implement a function in a particular manner, and thus the computer-usable or computer-readable medium. The instructions stored in the recording medium are also possible to produce an article of manufacture including instruction means for performing the functions described in each step of the flowchart. The computer program instructions may also be mounted on a computer or other programmable data processing equipment, such that a series of operational steps are performed on the computer or other programmable data processing equipment to create a computer-executed process to create a computer or other programmable data processing equipment. It is also possible that instructions for performing the processing equipment provide steps for performing the functions described in each step of the flowchart.

또한, 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.Further, each step may represent a module, segment, or portion of code comprising one or more executable instructions for executing the specified logical function(s). It should also be noted that in some alternative embodiments it is also possible for the functions recited in the steps to occur out of order. For example, it is possible that two steps shown one after another may in fact be performed substantially simultaneously, or that the steps may sometimes be performed in the reverse order depending on the function in question.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The above description is merely illustrative of the technical spirit of the present invention, and various modifications and variations will be possible without departing from the essential characteristics of the present invention by those skilled in the art to which the present invention pertains. Therefore, the embodiments disclosed in the present invention are not intended to limit the technical spirit of the present invention, but to explain, and the scope of the technical spirit of the present invention is not limited by these embodiments. The protection scope of the present invention should be interpreted by the following claims, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the present invention.

100: 비디오 인코딩 장치
110: 통신부
120: 제어부
130: 인코딩부
100: video encoding device
110: communication department
120: control unit
130: encoding unit

Claims (19)

비디오 데이터를 스트리밍으로 전송할 네트워크에 접속된 통신부와,
상기 비디오 데이터에 대한 인코딩 비트레이트를 결정하는 제어부와,
상기 결정된 인코딩 비트레이트로 상기 비디오 데이터를 인코딩하는 인코딩부를 포함하고,
상기 제어부는, 상기 통신부의 상기 네트워크로의 신호 전송에 대한 확인 응답(Acknowledgement)을 상기 통신부로부터 전달받아 지연 정보를 포함하는 패킷의 정보를 획득하며, 상기 네트워크의 가용 네트워크 채널 용량을 추정하고, 상기 지연 정보를 포함하는 패킷의 정보와 상기 가용 네트워크 채널 용량에 기초하여 상기 인코딩 비트레이트를 결정하되, 상기 비디오 데이터 중 순간 비트레이트 추정치로 인코딩하여 전송한 과거의 프레임에서 발생한 추가 지연시간의 추정치에 기초하여 현재 프레임에 대한 인코딩 비트레이트를 결정하는
비디오 인코딩 장치.
a communication unit connected to a network for transmitting video data by streaming;
a controller for determining an encoding bit rate for the video data;
an encoding unit for encoding the video data at the determined encoding bit rate;
The control unit receives from the communication unit an acknowledgment for signal transmission to the network of the communication unit, obtains information of a packet including delay information, estimates an available network channel capacity of the network, and The encoding bit rate is determined based on the information of the packet including the delay information and the available network channel capacity, and based on an estimate of an additional delay time occurring in a past frame that is encoded and transmitted with an instantaneous bit rate estimate among the video data. to determine the encoding bitrate for the current frame.
video encoding device.
제 1 항에 있어서,
상기 제어부는, 상기 패킷의 왕복지연시간과 상기 네트워크의 실시간 전송률을 상기 정보로서 획득하는
비디오 인코딩 장치.
The method of claim 1,
The control unit is configured to obtain a round trip delay time of the packet and a real-time transmission rate of the network as the information.
video encoding device.
제 2 항에 있어서,
상기 제어부는, 상기 왕복지연시간과 상기 실시간 전송률에 기초하여, 지연시간 손실 없이 상기 네트워크의 대역폭-지연곱(Bandwidth-Delay Product)을 달성하는 전송률을 상기 가용 네트워크 채널 용량으로서 추정하는
비디오 인코딩 장치.
3. The method of claim 2,
The control unit, based on the round-trip delay time and the real-time transmission rate, estimating, as the available network channel capacity, a transmission rate that achieves a bandwidth-delay product of the network without loss of delay time
video encoding device.
삭제delete 제 1 항에 있어서,
상기 제어부는, 상기 과거의 프레임에 대한 전송 시간(transmission time)과 전파 지연시간(propagation delay time) 및 큐잉 지연시간(queuing delay time)의 합계시간과 상기 스트리밍의 목표 지연시간을 비교한 결과에 기초하여 상기 추가 지연시간을 추정하는
비디오 인코딩 장치.
The method of claim 1,
The control unit, based on a result of comparing the total time of a transmission time, a propagation delay time, and a queuing delay time for the past frame and the target delay time of the streaming to estimate the additional delay time
video encoding device.
제 5 항에 있어서,
상기 제어부는, 상기 합계시간이 상기 목표 지연시간 이하이면, 상기 과거의 프레임에 대한 순간 비트레이트 추정치를 상기 현재 프레임에 대한 인코딩 비트레이트로 결정하는
비디오 인코딩 장치.
6. The method of claim 5,
If the total time is equal to or less than the target delay time, the controller determines the instantaneous bitrate estimate for the past frame as the encoding bitrate for the current frame.
video encoding device.
제 5 항에 있어서,
상기 제어부는, 상기 합계시간이 상기 목표 지연시간 이상이면, 상기 합계시간과 상기 목표 지연시간이 동일한 조건을 만족하는 비트레이트를 산출하여 상기 현재 프레임에 대한 인코딩 비트레이트로 결정하는
비디오 인코딩 장치.
6. The method of claim 5,
When the total time is equal to or greater than the target delay time, the controller calculates a bit rate that satisfies the same condition as the total time and the target delay time to determine the encoding bit rate for the current frame
video encoding device.
제 7 항에 있어서,
상기 제어부는, 상기 산출한 비트레이트를 인코딩 비트레이트로 적용한 프레임의 상기 합계시간이 상기 목표 지연시간 이상이면, 결과값이 더 낮게 산출되게 하는 튜닝 파라미터를 조정한 후 상기 동일한 조건을 만족하는 비트레이터를 산출하여 다음 프레임에 대한 인코딩 비트레이트로 결정하는
비디오 인코딩 장치.
8. The method of claim 7,
If the total time of frames to which the calculated bitrate is applied as the encoding bitrate is equal to or greater than the target delay time, the control unit adjusts a tuning parameter that allows a result value to be calculated to be lower and then a bitrate that satisfies the same condition to determine the encoding bit rate for the next frame by calculating
video encoding device.
제 1 항 내지 제 3 항 또는 제 5 항 내지 제 8 항 중 어느 한 항의 비디오 인코딩 장치를 포함하는 증강현실 장치.An augmented reality device comprising the video encoding device of any one of claims 1 to 3 or 5 to 8. 비디오 인코딩 장치의 비디오 인코딩 방법으로서,
비디오 데이터를 스트리밍으로 전송할 네트워크의 신호 전송에 대한 확인 응답(Acknowledgement)으로부터 지연 정보를 포함하는 패킷의 정보를 획득하는 단계와,
상기 네트워크의 가용 네트워크 채널 용량을 추정하는 단계와,
상기 지연 정보를 포함하는 패킷의 정보와 상기 가용 네트워크 채널 용량에 기초하여 상기 비디오 데이터에 대한 인코딩 비트레이트를 결정하되, 상기 비디오 데이터 중 순간 비트레이트 추정치로 인코딩하여 전송한 과거의 프레임에서 발생한 추가 지연시간의 추정치에 기초하여 현재 프레임에 대한 인코딩 비트레이트를 결정하는 단계와,
상기 결정된 인코딩 비트레이트로 상기 비디오 데이터를 인코딩하는 단계를 포함하는
비디오 인코딩 방법.
A video encoding method of a video encoding device, comprising:
obtaining information of a packet including delay information from an acknowledgment for signal transmission of a network that will transmit video data by streaming;
estimating an available network channel capacity of the network;
An encoding bitrate for the video data is determined based on the information of the packet including the delay information and the available network channel capacity, and an additional delay occurring in a past frame encoded with an instantaneous bitrate estimate among the video data and transmitted determining an encoding bitrate for the current frame based on the estimate of time;
encoding the video data at the determined encoding bitrate;
How to encode video.
제 10 항에 있어서,
상기 패킷의 정보를 획득하는 단계는, 상기 패킷의 왕복지연시간과 상기 네트워크의 실시간 전송률을 상기 정보로서 획득하는
비디오 인코딩 방법.
11. The method of claim 10,
The step of obtaining the information of the packet may include obtaining a round trip delay time of the packet and a real-time transmission rate of the network as the information.
How to encode video.
제 11 항에 있어서,
상기 가용 네트워크 채널 용량을 추정하는 단계는, 상기 왕복지연시간과 상기 실시간 전송률에 기초하여, 지연시간 손실 없이 상기 네트워크의 대역폭-지연곱(Bandwidth-Delay Product)을 달성하는 전송률을 상기 가용 네트워크 채널 용량으로서 추정하는
비디오 인코딩 방법.
12. The method of claim 11,
In the estimating of the available network channel capacity, based on the round-trip delay time and the real-time data rate, a data rate that achieves a bandwidth-delay product of the network without loss of delay time is calculated as the available network channel capacity. estimated as
How to encode video.
삭제delete 제 10 항에 있어서,
상기 인코딩 비트레이트를 결정하는 단계는, 상기 과거의 프레임에 대한 전송 시간(transmission time)과 전파 지연시간(propagation delay time) 및 큐잉 지연시간(queuing delay time)의 합계시간과 상기 스트리밍의 목표 지연시간을 비교한 결과에 기초하여 상기 추가 지연시간을 추정하는
비디오 인코딩 방법
11. The method of claim 10,
In the determining of the encoding bit rate, a total time of a transmission time, a propagation delay time, and a queuing delay time for the past frame, and a target delay time of the streaming Estimating the additional delay time based on the result of comparing
How to encode video
제 14 항에 있어서,
상기 인코딩 비트레이트를 결정하는 단계는, 상기 합계시간이 상기 목표 지연시간 이하이면, 상기 과거의 프레임에 대한 순간 비트레이트 추정치를 상기 현재 프레임에 대한 인코딩 비트레이트로 결정하는
비디오 인코딩 방법.
15. The method of claim 14,
The determining of the encoding bit rate may include determining an instantaneous bit rate estimate for the past frame as an encoding bit rate for the current frame if the total time is equal to or less than the target delay time.
How to encode video.
제 14 항에 있어서,
상기 인코딩 비트레이트를 결정하는 단계는, 상기 합계시간이 상기 목표 지연시간 이상이면, 상기 합계시간과 상기 목표 지연시간이 동일한 조건을 만족할 수 있는 비트레이트를 산출하여 상기 현재 프레임에 대한 인코딩 비트레이트로 결정하는
비디오 인코딩 방법.
15. The method of claim 14,
In the determining of the encoding bit rate, if the total time is equal to or greater than the target delay time, calculating a bit rate that satisfies the same condition as the total time and the target delay time is used as the encoding bit rate for the current frame. to decide
How to encode video.
제 16 항에 있어서,
상기 인코딩 비트레이트를 결정하는 단계는, 상기 산출한 비트레이트를 인코딩 비트레이트로 적용한 프레임의 상기 합계시간이 상기 목표 지연시간 이상이면, 결과값이 더 낮게 산출되게 하는 튜닝 파라미터를 조정한 후 상기 동일한 조건을 만족하는 비트레이터를 산출하여 다음 프레임에 대한 인코딩 비트레이트로 결정하는
비디오 인코딩 방법.
17. The method of claim 16,
In the determining of the encoding bitrate, if the total time of frames to which the calculated bitrate is applied as the encoding bitrate is equal to or greater than the target delay time, after adjusting a tuning parameter that allows a result value to be calculated to be lower, the same Calculating a bitrate that satisfies the condition and determining the encoding bitrate for the next frame
How to encode video.
컴퓨터 프로그램을 저장하고 있는 컴퓨터 판독 가능 기록매체로서,
상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면,
제 10 항 내지 제 12 항 또는 제 14 항 내지 제 17 항 중 어느 한 항의 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함하는
컴퓨터 판독 가능한 기록매체.
As a computer-readable recording medium storing a computer program,
The computer program, when executed by a processor,
18. A method comprising instructions for causing the processor to perform the method of any one of claims 10 to 12 or 14 to 17.
computer readable recording medium.
컴퓨터 판독 가능한 기록매체에 저장되어 있는 컴퓨터 프로그램으로서,
상기 컴퓨터 프로그램은, 프로세서에 의해 실행되면,
제 10 항 내지 제 12 항 또는 제 14 항 내지 제 17 항 중 어느 한 항의 방법을 상기 프로세서가 수행하도록 하기 위한 명령어를 포함하는
컴퓨터 프로그램.
As a computer program stored in a computer-readable recording medium,
The computer program, when executed by a processor,
18. A method comprising instructions for causing the processor to perform the method of any one of claims 10 to 12 or 14 to 17.
computer program.
KR1020190160837A 2019-12-05 2019-12-05 Method and apparatus for encording video KR102287274B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190160837A KR102287274B1 (en) 2019-12-05 2019-12-05 Method and apparatus for encording video

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190160837A KR102287274B1 (en) 2019-12-05 2019-12-05 Method and apparatus for encording video

Publications (2)

Publication Number Publication Date
KR20210070739A KR20210070739A (en) 2021-06-15
KR102287274B1 true KR102287274B1 (en) 2021-08-06

Family

ID=76412103

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190160837A KR102287274B1 (en) 2019-12-05 2019-12-05 Method and apparatus for encording video

Country Status (1)

Country Link
KR (1) KR102287274B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100420601B1 (en) * 2001-11-22 2004-03-02 에스케이 텔레콤주식회사 Streaming service method of video data
JP2004536525A (en) * 2001-07-19 2004-12-02 ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー Switching video streams

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5159447A (en) * 1991-05-23 1992-10-27 At&T Bell Laboratories Buffer control for variable bit-rate channel
KR20110060190A (en) * 2009-11-30 2011-06-08 주식회사 케이티 Method and apparatus for determining a bit rate of video contents
US9021119B2 (en) 2011-01-06 2015-04-28 Sonic Ip, Inc. Systems and methods for performing adaptive bitrate streaming based upon the delay of each stream and the channel rate
GB201502434D0 (en) * 2015-02-13 2015-04-01 Digital Barriers Services Ltd Video encoder

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004536525A (en) * 2001-07-19 2004-12-02 ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー Switching video streams
KR100420601B1 (en) * 2001-11-22 2004-03-02 에스케이 텔레콤주식회사 Streaming service method of video data

Also Published As

Publication number Publication date
KR20210070739A (en) 2021-06-15

Similar Documents

Publication Publication Date Title
US10084715B2 (en) Packet loss mitigation
JP5221562B2 (en) Content-dependent and link-dependent coding adaptation for multimedia telephony
US9398488B2 (en) Video service buffer management in a mobile rate control enabled network
US10355998B2 (en) Adaptive video over multicast
JP5284355B2 (en) Adaptive rate control in communication systems.
JP5027222B2 (en) Video rate adaptation for reverse link conditions
KR101164836B1 (en) System and method to adapt to network congestion
US8295348B2 (en) Method for controlling moving picture encoding using channel information of wireless networks
KR20150052826A (en) Systems and methods for using client-side video buffer occupancy for enhanced quality of experience in a communication network
US20190364311A1 (en) Managing congestion response during content delivery
US10116715B2 (en) Adapting encoded bandwidth
US10492085B2 (en) Real-time transport protocol congestion control techniques in video telephony
KR101225028B1 (en) Method and apparatus for evaluating performance for a video broadcast and/or multicast
US11196793B2 (en) Method and apparatus for adaptive streaming based on hybrid TCP and UDP in multiple narrowband wireless communication environment
KR102287274B1 (en) Method and apparatus for encording video
US20130243079A1 (en) Storage and processing savings when adapting video bit rate to link speed
KR20180007794A (en) Method and apparatus for controlling the data rate
US20160277467A1 (en) Adapting Encoded Bandwidth
KR101837637B1 (en) Streaming method based on Client-side ACK-regulation and apparatus thereof
US20080247468A1 (en) Method and system for performing rate control adapted to channel conditions
CN111953978A (en) Frame rate control method, device and storage medium
KR20140140364A (en) Apparatus and method for providing contents
JP6724517B2 (en) Bit rate instruction device, bit rate instruction method, and bit rate instruction program
KR101806510B1 (en) Method and apparatus for congention entrance control
JP2013031038A (en) Communication device, image acquisition method, and image acquisition program

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant