[go: up one dir, main page]

KR20120105970A - Video transcoding method and its system for maximizing transcoding capacity by considering network condition, content characteristics, and computational capacity of transcoding server - Google Patents

Video transcoding method and its system for maximizing transcoding capacity by considering network condition, content characteristics, and computational capacity of transcoding server Download PDF

Info

Publication number
KR20120105970A
KR20120105970A KR1020110023740A KR20110023740A KR20120105970A KR 20120105970 A KR20120105970 A KR 20120105970A KR 1020110023740 A KR1020110023740 A KR 1020110023740A KR 20110023740 A KR20110023740 A KR 20110023740A KR 20120105970 A KR20120105970 A KR 20120105970A
Authority
KR
South Korea
Prior art keywords
codec
video
transcoding
genre
rate
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
KR1020110023740A
Other languages
Korean (ko)
Other versions
KR101882889B1 (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 KR1020110023740A priority Critical patent/KR101882889B1/en
Publication of KR20120105970A publication Critical patent/KR20120105970A/en
Application granted granted Critical
Publication of KR101882889B1 publication Critical patent/KR101882889B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/234309Processing 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 by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/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
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은 비디오의 디코딩(Decoding)과 비디오 편집, 인코딩(Encoding) 과정 등의 비디오 트랜스코딩을 수행할 때, 사용자의 가용 네트워크 대역폭, 비디오의 특성, 서버의 연산부하를 고려하여 트랜스코더(Transcoder)의 코덱 타입(Codec type)을 결정해 제한된 서버의 연산 능력하에서 최대한 많은 수의 비디오를 트랜스코딩할 수 있도록 된, 비디오 트랜스코딩 방법 및 시스템에 관한 것이다.
본 발명에 따른 비디오 트랜스코딩 시스템은, 트랜스코딩 할 원본 압축 비디오를 입력받으면, 원본 압축 비디오의 장르를 확인하고, 사용자 단말기로부터 비디오 해상도, 가용 대역폭, 프레임율 및 코덱 리스트를 입력받아 원본 압축 비디오의 장르에 따라 각 코덱별로 트랜스코딩 후 전송률을 예측하여 현재 가용 대역폭보다 낮은 전송률을 가진 코덱 리스트를 검색한 후, 검색된 코덱 리스트에서 현재의 CPU 부하율에 각 코덱별 CPU 부하율을 더한 값이 임계값보다 작은 코덱을 찾아서 트랜스코딩에 이용할 코덱으로 결정하며, 결정된 코덱을 통해 원본 압축 비디오를 트랜스코딩하는 비디오 트랜스코딩 서버; 및 상기 비디오 트랜스코딩 서버에 비디오 해상도, 가용 대역폭, 프레임율 및 코덱 리스트를 전송하며, 이후 비디오 트랜스코딩 서버로부터 원본 압축 비디오가 트랜스코딩 된 비디오를 수신하여 디스플레이하는 사용자 단말기를 포함한다.
According to the present invention, when performing video transcoding such as video decoding, video editing, and encoding, a transcoder is considered in consideration of the available network bandwidth of the user, the characteristics of the video, and the computational load of the server. The present invention relates to a video transcoding method and system, which is capable of transcoding the maximum number of videos under the limited computing power of a codec type.
When the video transcoding system according to the present invention receives the original compressed video to be transcoded, the video transcoding system checks the genre of the original compressed video, receives a video resolution, an available bandwidth, a frame rate, and a codec list from the user terminal, After transcoding for each codec according to the genre, the codec predicts the transmission rate and retrieves a codec list with a lower rate than the available bandwidth.Then, the CPU load rate of each codec plus the current CPU load rate is smaller than the threshold. A video transcoding server that finds a codec and determines a codec to use for transcoding, and transcodes the original compressed video through the determined codec; And a user terminal which transmits a video resolution, an available bandwidth, a frame rate and a codec list to the video transcoding server, and then receives and displays the original compressed video transcoded from the video transcoding server.

Description

비디오 트랜스코딩 방법 및 시스템{Video transcoding method and its system for maximizing transcoding capacity by considering network condition, content characteristics, and computational capacity of transcoding server}Video transcoding method and its system for maximizing transcoding capacity by considering network condition, content characteristics, and computational capacity of transcoding server}

본 발명은 비디오 컨텐츠를 네트워크를 통해 전송할 때 컨텐츠를 실시간으로 재인코딩하여 전송하는 비디오 트랜스코딩 방법 및 시스템에 관한 것으로서, 더욱 자세하게는 비디오의 디코딩(Decoding)과 비디오 편집, 인코딩(Encoding) 과정 등의 비디오 트랜스코딩을 수행할 때, 사용자의 가용 네트워크 대역폭, 비디오의 특성, 서버의 연산부하를 고려하여 트랜스코더(Transcoder)의 코덱 타입(Codec type)을 결정해, 결정된 코덱 타입으로 최대한 많은 수의 비디오를 트랜스코딩할 수 있도록 된 것이다.The present invention relates to a video transcoding method and system for re-encoding and transmitting video content in real time when the video content is transmitted through a network. More particularly, the present invention relates to a video decoding, video editing, and encoding process. When performing video transcoding, the codec type of the transcoder is determined in consideration of the available network bandwidth of the user, the characteristics of the video, and the computational load of the server. You can now transcode.

인터넷에 존재하는 많은 비디오 컨텐츠는 다양한 컨텐츠 제공자(content provider)에 의해 생산되어 컨텐츠의 코덱(codec)을 포함하는 인코딩 변수 및 방법, 파일타입(file type), 영상의 해상도, 프레임율 등이 사용자의 장치 및 네트워크 환경에 적합하지 않은 경우가 많다. 또한, 드라마, 액션, 뮤직비디오 등 비디오의 '장르'별로 요구대역폭이나 CPU 점유율이 통상적으로 어느 정도 차이가 있다.Many video contents existing on the Internet are produced by various content providers, and encoding variables and methods including file codec, file type, image resolution, frame rate, etc. Often not suitable for the device and network environment. In addition, the required bandwidth and CPU occupancy of the video genre, such as drama, action, music video, and the like, usually differs to some extent.

이를 해결하기 위해, 서비스 제공자는 실시간 비디오 트랜스코딩 서버(transcoding server)를 두고 사용자의 단말기에 맞도록 비디오를 재인코딩하여 네트워크를 통하여 사용자 단말기에 전송한다.To solve this problem, the service provider has a real-time video transcoding server and re-encodes the video to fit the user's terminal and transmits the video to the user terminal through the network.

한편, 비디오 트랜스코딩 서버(Video transcoding server)는 한 번에 몇 개의 비디오를 트랜스코딩(transcoding) 할 수가 있는지가 서버(server)의 용량(capacity)으로 볼 수 있다. On the other hand, the video transcoding server (Video transcoding server) can be seen as the capacity (capacity) of the server (server) how many videos can be transcoded (transcoding) at a time.

그런데, 비디오 트랜스코딩은 비디오의 디코딩(decoding)과 비디오 편집, 인코딩(encoding) 과정을 포함하고 있는데, 특히 인코딩(encoding) 과정은 높은 연산량을 요구하여, 비디오 트랜스코딩 서버가 많은 수의 비디오 트랜스코딩(video transcoding)을 수행할 때 서버(server) 연산 성능의 제약이 따른다는 문제점이 있다.However, video transcoding includes video decoding, video editing, and encoding. In particular, the encoding process requires a large amount of computation, so that the video transcoding server requires a large number of video transcoding. When performing video transcoding, there is a problem in that server operation performance is limited.

전술한 문제점을 해결하기 위한 본 발명은 비디오의 디코딩(Decoding)과 비디오 편집, 인코딩(Encoding) 과정 등의 비디오 트랜스코딩을 수행할 때, 사용자의 가용 네트워크 대역폭, 비디오의 특성, 서버의 연산부하를 고려하여 트랜스코더(Transcoder)의 코덱 타입(Codec type)을 결정해 제한된 서버의 연산 능력 하에서 최대한 많은 수의 비디오를 트랜스코딩할 수 있도록 된, 비디오 트랜스코딩 방법 및 시스템을 제공함에 그 목적이 있다.The present invention for solving the above-described problems, when performing video transcoding such as video decoding, video editing, encoding process, the user's available network bandwidth, video characteristics, server's computing load It is an object of the present invention to provide a video transcoding method and system that can determine the codec type of a transcoder and transcode as many videos as possible under the limited computing power of the transcoder.

전술한 목적을 달성하기 위한 본 발명의 일 측면에 따르면, 현재의 CPU 부하율에 따라 트랜스코딩용 코덱을 결정하며, 결정된 코덱을 통해 원본 압축 비디오를 트랜스코딩하는 비디오 트랜스코딩 장치; 및 상기 비디오 트랜스코딩 장치로부터 트랜스코딩 된 비디오를 수신하여 디스플레이하는 사용자 단말기를 포함하는 비디오 트랜스코딩 시스템이 제공된다.According to an aspect of the present invention for achieving the above object, a video transcoding apparatus for determining a transcoding codec according to the current CPU load rate, and transcoding the original compressed video through the determined codec; And a user terminal for receiving and displaying the transcoded video from the video transcoding device.

또한, 상기 비디오 트랜스코딩 장치는, 상기 사용자 단말기로부터 비디오 해상도, 가용 대역폭, 프레임율 및 코덱 리스트를 전송받고, 상기 원본 압축 비디오의 장르에 따라 코덱 리스트의 각 코덱별로 전송률을 예측하고, 현재 가용 대역폭보다 낮은 전송률을 가진 코덱 리스트를 검색한 후, 검색된 코덱 리스트에서 현재의 CPU 부하율에 각 코덱별 CPU 부하율을 더한 값이 임계값보다 작은 코덱을 찾아서 트랜스코딩용 코덱으로 결정하며, 결정된 코덱을 통해 원본 압축 비디오를 트랜스코딩한다.In addition, the video transcoding apparatus receives a video resolution, an available bandwidth, a frame rate, and a codec list from the user terminal, predicts a transmission rate for each codec of the codec list according to the genre of the original compressed video, and uses the current available bandwidth. After searching the codec list with lower transmission rate, the codec for transcoding is found by finding the codec whose current CPU load rate plus CPU load rate of each codec is smaller than the threshold. Transcode the compressed video.

한편, 전술한 목적을 달성하기 위한 본 발명의 다른 측면에 따르면, 사용자 단말기와 통신망을 통해 통신하는 통신 인터페이스부; 상기 사용자 단말기에 전송할 비디오에 대해, 비디오의 장르에 따라 미리 측정되고 각 코덱 종류에 따른 평균적인 요구 대역폭을 저장하고 있는 대역폭 저장부; 상기 각 코덱별 장르에 따라 미리 측정된 CPU 점유율을 저장하고 있는 부하율 저장부; 상기 사용자 단말기에 전송하기 위한 원본 압축 비디오가 입력되면, 입력된 원본 압축 비디오를 분석하여 원본 압축 비디오의 장르를 확인하는 비디오 분석부; 상기 확인된 원본 압축 비디오의 장르와, 상기 사용자 단말기로부터 전송받은 가용 대역폭, 비디오 해상도, 프레임율 및 코덱 리스트에 따라 코덱을 결정하는 코덱 결정부; 및 상기 결정된 코덱을 통해 원본 압축 비디오를 트랜스코딩하는 트랜스코딩부를 포함하는 비디오 트랜스코딩 장치가 제공된다.On the other hand, according to another aspect of the present invention for achieving the above object, a communication interface unit for communicating with a user terminal through a communication network; A bandwidth storage unit for storing the video to be transmitted to the user terminal in advance according to the genre of the video and storing an average required bandwidth for each codec type; A load ratio storage unit for storing a predetermined CPU occupancy rate according to each genre of each codec; A video analyzing unit for checking the genre of the original compressed video by analyzing the input original compressed video when the original compressed video for transmission to the user terminal is input; A codec determining unit which determines a codec according to the checked genre of the original compressed video and available bandwidth, video resolution, frame rate, and codec list received from the user terminal; And a transcoding unit transcoding the original compressed video through the determined codec.

또한, 상기 비디오 분석부는, 상기 원본 압축 비디오의 장르를 입력받거나, 장르 분류 알고리즘을 통해 원본 압축 비디오의 장르를 확인할 수 있다.In addition, the video analyzer may receive the genre of the original compressed video or identify the genre of the original compressed video through a genre classification algorithm.

또한, 상기 코덱 결정부는, 상기 가용 대역폭에 대해 측정하여 얻거나 사용자 단말기로부터 입력받아 얻을 수 있다.The codec determination unit may be obtained by measuring the available bandwidth or by receiving an input from a user terminal.

또한, 상기 코덱 결정부는, 각 코덱별 장르에 따른 비디오 해상도, 프레임별 평균 비트율 및, 프레임별 평균 CPU 부하율을 가지고 있다.In addition, the codec determining unit has a video resolution, an average bit rate for each frame, and an average CPU load rate for each frame according to each codec genre.

또한, 상기 코덱 결정부는, 각 코덱별 장르에 따른 비디오 해상도, 프레임별 평균 비트율에 근거해 각 코덱별로 트랜스코딩 후의 전송률을 예측하고 현재 가용 대역폭보다 낮은 전송률을 가진 코덱 리스트에서, 상기 코덱별 비디오 해상도, 프레임별 평균 CPU 부하율을 기반으로 현재의 CPU 부하율에 각 코덱별 CPU 부하율을 더한 부하량 값을 구하여, 구한 부하량 값이 특정값보다 작은 코덱을 찾아서 트랜스코딩용 코덱으로 결정할 수 있다.In addition, the codec determination unit predicts a transmission rate after transcoding for each codec based on the video resolution according to each codec genre and the average bit rate for each frame, and in the codec list having a data rate lower than the current available bandwidth, the video resolution for each codec Based on the average CPU load rate of each frame, the load value obtained by adding the CPU load rate of each codec to the current CPU load rate can be obtained, and a codec for transcoding can be determined by finding a codec whose load value is smaller than a specific value.

또한, 상기 코덱 결정부는, 상기 부하량 값이 특정값보다 작은 코덱이 2 개 이상인 경우, 상기 CPU 부하율을 더한 부하량 값이 가장 낮은 코덱을 트랜스코딩용 코덱으로 결정할 수 있다.The codec determining unit may determine a codec for transcoding having the lowest load value obtained by adding the CPU load ratio when two or more codecs having a load value smaller than a specific value are used.

그리고, 상기 코덱 결정부는, 상기 부하량 값이 특정값보다 작은 코덱을 코덱 리스트에서 찾지 못하는 경우에 CPU 부하량을 최소로 하는 코덱을 찾아서 트랜스코딩용 코덱으로 결정할 수 있다.The codec determination unit may determine a codec for minimizing the CPU load amount and determine it as a transcoding codec when a codec having a load value smaller than a specific value is not found in the codec list.

한편, 전술한 목적을 달성하기 위한 본 발명의 또다른 측면에 따르면, 사용자 단말기와 통신망을 통해 통신하는 트랜스코딩 장치의 비디오 트랜스코딩 방법으로서, (a) 원본 압축 비디오를 분석하여 원본 압축 비디오의 장르를 확인하는 단계; (b) 상기 사용자 단말기에 요청하여 상기 사용자 단말기로부터 가용 대역폭, 비디오 해상도, 프레임율 및 코덱 리스트(Codec List)를 수신하는 단계; (c) 상기 확인된 원본 압축 비디오의 장르와, 상기 사용자 단말기로부터 수신한 가용 대역폭, 비디오 해상도, 프레임율 및 코덱 리스트에 따라 코덱을 결정하는 단계; 및 (d) 상기 결정된 코덱을 통해 원본 압축 비디오를 트랜스코딩하는 단계를 포함하는 트랜스코딩 장치의 비디오 트랜스코딩 방법이 제공된다.On the other hand, according to another aspect of the present invention for achieving the above object, a video transcoding method of a transcoding device that communicates with a user terminal through a communication network, (a) the original compressed video genre by analyzing the original compressed video Confirming; (b) requesting the user terminal to receive an available bandwidth, video resolution, frame rate and codec list from the user terminal; (c) determining a codec according to the identified genre of the compressed video and the available bandwidth, video resolution, frame rate and codec list received from the user terminal; And (d) transcoding the original compressed video through the determined codec.

또한, 상기 (a) 단계는 상기 사용자 단말기에 전송할 원본 압축 비디오에 대해, 비디오의 장르에 따라 각 코덱 종류에 따른 평균적인 요구 대역폭을 미리 측정하여 저장하고, 상기 각 코덱별 장르에 따라 CPU 점유율(부하율)을 미리 측정하여 저장하고 있는 상태에서, 상기 원본 압축 비디오를 분석하여 장르를 확인할 수 있다.Also, in the step (a), the average required bandwidth for each codec type is measured and stored in advance for the original compressed video to be transmitted to the user terminal, and the CPU share ( Load rate) is measured and stored in advance, the genre can be confirmed by analyzing the original compressed video.

또한, 상기 (a) 단계는, 상기 사용자 단말기로부터 원본 압축 비디오의 장르를 입력받거나, 장르 분류 알고리즘을 통해 원본 압축 비디오의 장르를 확인할 수 있다.Also, in the step (a), the genre of the original compressed video may be received from the user terminal, or the genre of the original compressed video may be identified through a genre classification algorithm.

또한, 상기 (b) 단계에서 상기 가용 대역폭을 측정하여 얻거나 사용자 단말기로부터 입력받아 얻을 수 있다.In addition, in the step (b), the available bandwidth may be measured or obtained by input from a user terminal.

또한, 상기 (c) 단계는, 각 코덱별 장르에 따른 비디오 해상도, 프레임별 평균 비트율에 근거해 각 코덱별로 트랜스코딩 후의 전송률을 예측하고 현재 가용 대역폭보다 낮은 전송률을 가진 코덱 리스트에서, 상기 코덱별 비디오 해상도, 프레임별 평균 CPU 부하율을 기반으로 현재의 CPU 부하율에 각 코덱별 CPU 부하율을 더한 부하량 값을 구하여, 구한 부하량 값이 특정값보다 작은 코덱을 찾아서 트랜스코딩용 코덱으로 결정할 수 있다.In addition, the step (c) is to predict the transmission rate after transcoding for each codec based on the video resolution according to the genre for each codec, the average bit rate for each frame, and in the codec list having a data rate lower than the current available bandwidth, Based on the video resolution and the average CPU load rate for each frame, the load value obtained by adding the CPU load rate of each codec to the current CPU load rate can be obtained, and the codec for transcoding can be determined by finding a codec having a smaller load value than a specific value.

또한, 상기 (c) 단계는, 상기 부하량 값이 특정값보다 작은 코덱이 2 개 이상인 경우, 상기 CPU 부하율을 더한 부하량 값이 가장 낮은 코덱을 트랜스코딩용 코덱으로 결정할 수 있다.In the step (c), when there are two or more codecs whose load value is smaller than a specific value, the codec for transcoding having the lowest load value plus the CPU load rate may be determined.

그리고, 상기 (c) 단계는, 상기 부하량 값이 특정값보다 작은 코덱을 코덱 리스트에서 찾지 못하는 경우에 CPU 부하량을 최소로 하는 코덱을 찾아서 트랜스코딩용 코덱으로 결정할 수 있다.In the step (c), when a codec having a load value smaller than a specific value is not found in the codec list, a codec for minimizing the CPU load may be found and determined as a transcoding codec.

본 발명에 의하면, 사용자의 가용 대역폭, 비디오의 특성, 서버의 연산부하를 고려하여 트랜스코더의 코덱 타입을 결정할 수 있다.According to the present invention, the codec type of the transcoder may be determined in consideration of the available bandwidth of the user, the characteristics of the video, and the computational load of the server.

또한, 사용자측 단말기에 적합한 코덱 타입으로 제한된 서버의 연산 능력 하에서 최대한 많은 수의 비디오를 트랜스코딩 할 수 있다.In addition, a codec type suitable for a user terminal can transcode as many videos as possible under the limited computing power of the server.

그리고, 사용자측 단말기에 가장 적합한 코덱 타입으로 트랜스코딩 된 비디오를 전송하게 됨으로써 사용자측 단말기에서 최상의 비디오를 디스플레이할 수 있다.In addition, by transmitting the transcoded video in the codec type most suitable for the user terminal, the best video can be displayed in the user terminal.

도 1은 본 발명의 실시예에 따른 비디오 트랜스코딩 시스템의 전체적인 구성을 개략적으로 나타낸 구성도이다.
도 2는 본 발명의 실시예에 따른 비디오 트랜스코딩 장치의 기능 블럭을 개략적으로 나타낸 구성도이다.
도 3은 본 발명의 실시예에 따른 트랜스코딩 장치의 비디오 트랜스코딩 방법을 설명하기 위한 동작 흐름도이다.
1 is a configuration diagram schematically showing the overall configuration of a video transcoding system according to an embodiment of the present invention.
2 is a block diagram schematically illustrating a functional block of a video transcoding apparatus according to an embodiment of the present invention.
3 is a flowchart illustrating a video transcoding method of a transcoding apparatus according to an embodiment of the present invention.

본 발명의 목적과 기술적 구성 및 그에 따른 작용 효과에 관한 자세한 사항은 본 발명의 명세서에 첨부된 도면에 의거한 이하 상세한 설명에 의해 보다 명확하게 이해될 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 실시예를 상세하게 설명한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Reference will now be made in detail to the preferred embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

정보통신기술의 급속한 발전에 따른 통신ㆍ방송ㆍ인터넷의 대 통합과 인간 중심의 유비쿼터스 정보 환경 실현의 새로운 네트워크 사회가 도래하고 있다. 이에 따라 가전, 자동차 등 모든 일상용품에 통신 및 컴퓨팅 기능이 내재되어 네트워크에 연동ㆍ수용됨으로써 누구나 언제 어디서나 원하는 서비스를 편리하게 이용할 수 있는 유비쿼터스 네트워크 사회로 발전하고 있다. 이것은 향후 네트워크 환경이 지금보다 더 다양한 네트워크와 사용자 단말이 혼재된 상황에 추가하여 서로 다른 방식으로 제작된 다양한 멀티미디어 콘텐츠가 공존한다는 것을 의미하고 있다.따라서 하나의 콘텐츠(one-source)를 다양한 네트워크 대역폭과 상이한 디스플레이 해상도, 프로세서 성능, 사용자 인터페이스 등 성능과 특성이 다른 다양한 단말기들에 사용 가능(multi-use)하도록 하는 멀티미디어 트랜스코딩 기술이 절대적으로 필요하다. 멀티미디어 트랜스코딩 기술은 궁극적으로 사용자가 콘텐츠, 네트워크 및 사용 단말을 의식하지 않은 상태에서 언제 어디서나 자유롭게 네트워크에 접속하여 Any Network, Any Device, Any Service를 실현하는 유비쿼터스 컴퓨팅 환경을 제공하는 핵심기술로서 향후 그 기술적인 가치와 필요성이 급속히 부각될 것으로 전망된다.With the rapid development of information and communication technology, a new network society has emerged, which is the integration of communication, broadcasting, and Internet, and realization of human-oriented ubiquitous information environment. Accordingly, communication and computing functions are inherent in all daily necessities such as home appliances and automobiles, and thus are being developed and ubiquitous network society where anyone can conveniently use any desired service anytime and anywhere. This means that the future network environment coexists with various multimedia contents produced in different ways in addition to the mixed network and user terminals. There is an absolute need for a multimedia transcoding technique that enables multi-use with different performance and characteristics such as display resolution, processor performance, and user interface. Multimedia transcoding technology is a core technology that ultimately provides a ubiquitous computing environment that realizes Any Network, Any Device, Any Service by freely accessing the network anytime and anywhere without the user's awareness of content, network and terminal. Technical value and necessity are expected to rise rapidly.

멀티미디어 트랜스코딩 기술은 단일 컨텐츠(one-source)를 사용자의 다양한 네트워크 및 단말기 특성에 능동적으로 대응하여 사용자의 환경에 최적의 컨텐츠로 재구성하여 제공함으로써(multi-use) 끊김없이 안정적인 서비스가 가능하도록 한다. 즉, 단일 컨텐츠를 다양한 네트워크 및 단말기에서 출력하도록 하여 any network, any device, any contents를 지향하는 유비쿼터스 컴퓨팅 환경을 지원 및 해결할 수 있는 핵심 기술 중의 하나이다.The multimedia transcoding technology enables a stable service without interruption by multi-use by reconstructing and providing a single content (one-source) as an optimal content for the user's environment by actively responding to various network and terminal characteristics of the user. . That is, it is one of the core technologies that can support and solve a ubiquitous computing environment that aims for any network, any device, and any contents by outputting a single content from various networks and terminals.

향후 인터넷 환경은 더 다양한 네트워크와 사용자 단말기가 혼재된 상황에 추가하여 서로 다른 멀티미디어 압축 방식들이 공존할 것으로 예상되어 엄청난 개수의 사용 환경을 반영한 컨텐츠를 조합할 수 있다. In the future, the Internet environment is expected to coexist with different multimedia compression schemes in addition to a variety of networks and user terminals, so that content that reflects a huge number of usage environments can be combined.

따라서, 하나의 컨텐츠를 상이한 네트워크, 해상도, 프로세서 성능, 사용자 인터페이스 등 성능과 특성이 서로 다른 다양한 환경에서도 사용 가능하도록 하는 기능을 제공해야 한다.Therefore, it is necessary to provide a function that enables a content to be used in various environments having different performances and characteristics such as different networks, resolutions, processor performances, and user interfaces.

도 1은 본 발명의 실시예에 따른 비디오 트랜스코딩 시스템의 전체적인 구성을 개략적으로 나타낸 구성도이다.1 is a configuration diagram schematically showing the overall configuration of a video transcoding system according to an embodiment of the present invention.

도 1을 참조하면, 본 발명에 따른 비디오 트랜스코딩 시스템(100)은, 비디오 트랜스코딩 장치(110), 통신망(120) 및 사용자 단말기(130) 등을 포함한다.Referring to FIG. 1, a video transcoding system 100 according to the present invention includes a video transcoding apparatus 110, a communication network 120, a user terminal 130, and the like.

비디오 트랜스코딩 장치(110)는 트랜스코딩 할 원본 압축 비디오를 입력받으면, 원본 압축 비디오의 장르를 확인하고, 사용자 단말기(130)로부터 비디오 해상도, 가용 대역폭, 프레임율 및 코덱 리스트를 전송받아, 원본 압축 비디오의 장르에 따른 각 코덱별 트랜스코딩 후 전송률을 예측하여 현재 가용 대역폭보다 낮은 전송률을 가진 코덱 리스트를 검색하고, 검색된 코덱 리스트에서 현재의 CPU 부하율에 각 코덱별 CPU 부하율을 더한 값이 임계값보다 작은 코덱을 찾아서 트랜스코딩에 이용할 코덱으로 결정하며, 결정된 코덱을 통해 원본 압축 비디오를 트랜스코딩한다.When the video transcoding apparatus 110 receives the original compressed video to be transcoded, the video transcoding apparatus 110 checks the genre of the original compressed video, receives the video resolution, the available bandwidth, the frame rate, and the codec list from the user terminal 130, and compresses the original. After transcoding for each codec according to the genre of video, the codec is searched for the codec list with the lower rate than the current available bandwidth.In the searched codec list, the CPU load rate of each codec is higher than the threshold. It finds a small codec and decides which codec to use for transcoding, and transcodes the original compressed video through the determined codec.

여기서, 비디오 트랜스코딩 장치(110)는 원본 압축 비디오를 트랜스코딩하여 하나 이상의 사용자 단말기(130)에 전송해 주는 미디어 서버 등이 될 수 있으며, 원본 압축 비디오를 입력받아 트랜스코딩해서 통신망(120)을 통해 멀티캐스팅 할 수 있는 전용 미디어 장치 등이 될 수 있다.Here, the video transcoding apparatus 110 may be a media server that transcodes original compressed video and transmits the original compressed video to one or more user terminals 130. The video transcoding apparatus 110 receives an original compressed video and transcodes the communication network 120. It can be a dedicated media device that can be multicasted through.

통신망(120)은 비디오 트랜스코딩 장치(110)에서 사용자 단말기(130)로 비디오를 전송하는 전송 경로를 제공하고, 사용자 단말기(130)가 비디오 트랜스코딩 서버(110)에 접속하기 위한 접속 경로를 제공한다. 여기서, 통신망(120)은 WCDMA, HDPA, 3G, 4G 등 이동 통신망과, 블루투스(Bluetooth)와 지그비(Zigbee), 와이파이(Wi-Fi) 등 근거리 통신망과, 인터넷이나 PSTN 등 유선 통신망 등을 포함한다.The communication network 120 provides a transmission path for transmitting video from the video transcoding apparatus 110 to the user terminal 130, and provides a connection path for the user terminal 130 to access the video transcoding server 110. do. Here, the communication network 120 includes a mobile communication network such as WCDMA, HDPA, 3G, 4G, a local area network such as Bluetooth, Zigbee, and Wi-Fi, and a wired communication network such as the Internet or PSTN. .

사용자 단말기(130)는 비디오 트랜스코딩 서버(110)에 비디오 해상도, 가용 대역폭, 프레임율 및 코덱 리스트를 전송하며, 이후 비디오 트랜스코딩 서버(110)로부터 원본 압축 비디오가 트랜스코딩 된 비디오를 수신하여 디스플레이한다.The user terminal 130 transmits the video resolution, the available bandwidth, the frame rate and the codec list to the video transcoding server 110, and then receives and displays the transcoded video of the original compressed video from the video transcoding server 110. do.

여기서, 사용자 단말기(130)는 비디오 트랜스코딩 서버(110)로부터 비디오 데이터를 수신하여 디스플레이할 수 있는 IPTV, 셋탑박스(Settop Box) 등이 될 수 있으며, 사용자가 이동하면서 비디오 데이터를 재생하여 볼 수 있는 스마트 폰이나 이동통신 단말기 등이 될 수 있다.Here, the user terminal 130 may be an IPTV, a set-top box, etc., which may receive and display video data from the video transcoding server 110, and may play and view the video data while the user moves. It can be a smart phone or a mobile communication terminal.

도 2는 본 발명의 실시예에 따른 비디오 트랜스코딩 장치의 기능 블럭을 개략적으로 나타낸 구성도이다.2 is a block diagram schematically illustrating a functional block of a video transcoding apparatus according to an embodiment of the present invention.

도 2를 참조하면, 본 발명에 따른 비디오 트랜스코딩 장치(110)는 통신 인터페이스부(210), 대역폭 저장부(220), 부하율 저장부(230), 비디오 분석부(240), 코덱 결정부(250) 및 트랜스코딩부(260) 등을 포함한다.Referring to FIG. 2, the video transcoding apparatus 110 according to the present invention includes a communication interface 210, a bandwidth storage 220, a load rate storage 230, a video analyzer 240, and a codec determiner ( 250), transcoding unit 260, and the like.

통신 인터페이스부(210)는 사용자 단말기(130)와 통신망(120)을 통해 통신한다.The communication interface 210 communicates with the user terminal 130 through the communication network 120.

즉, 통신 인터페이스부(210)는 사용자 단말기(130)로부터 통신망(120)을 통해 가용 대역폭, 비디오 해상도, 프레임율 및 코덱 리스트(Codec List)를 전송받거나, 사용자 단말기(130)에 트랜스코딩 된 비디오를 전송한다.That is, the communication interface 210 receives available bandwidth, video resolution, frame rate and codec list from the user terminal 130 through the communication network 120, or transcodes the video to the user terminal 130. Send it.

대역폭 저장부(220)는 사용자 단말기(130)에 전송할 원본 압축 비디오에 대해, 비디오의 장르에 따라 미리 측정된 각 코덱 종류에 따른 평균적인 요구 대역폭을 저장하고 있다.The bandwidth storage unit 220 stores the average required bandwidth for each type of codec previously measured according to the genre of the video for the original compressed video to be transmitted to the user terminal 130.

부하율 저장부(230)는 각 코덱별 장르에 따라 미리 측정된 CPU 점유율을 저장하고 있다. The load factor storage 230 stores CPU occupancy rates previously measured according to the genres for each codec.

비디오 분석부(240)는 사용자 단말기(130)에 전송하기 위해 트랜스코딩 할 원본 압축 비디오가 입력되면, 입력된 원본 압축 비디오를 분석하여 원본 압축 비디오의 장르를 확인한다.If the original compressed video to be transcoded to be transmitted to the user terminal 130 is input, the video analyzer 240 analyzes the input original compressed video and checks the genre of the original compressed video.

또한, 비디오 분석부(240)는 사용자 단말기(130)로부터 원본 압축 비디오의 장르를 입력받거나, 장르 분류 알고리즘(Genre Classification Algorithm)을 통해 검출하여 원본 압축 비디오의 장르를 확인할 수 있다.In addition, the video analyzer 240 may receive the genre of the original compressed video from the user terminal 130 or detect the genre of the original compressed video by detecting it through a genre classification algorithm.

코덱 결정부(250)는 확인된 원본 압축 비디오의 장르와, 사용자 단말기(130)로부터 전송받은 가용 대역폭, 비디오 해상도, 프레임율 및 코덱 리스트에 따라 트랜스코딩용 코덱을 결정한다. 여기서, 트랜스코딩용 코덱은 MPEG-2, MPEG-4 SP(Simple Profile), MPEG-4 ASP(Advanced Simple Profile). H.263, H.264, VC1 등을 포함한다.The codec determination unit 250 determines a codec for transcoding according to the genre of the confirmed original compressed video, the available bandwidth, the video resolution, the frame rate, and the codec list received from the user terminal 130. Here, the codec for transcoding is MPEG-2, MPEG-4 Simple Profile (SP), MPEG-4 Advanced Simple Profile (ASP). H.263, H.264, VC1 and the like.

또한, 코덱 결정부(250)는 가용 대역폭에 대해 측정하여 얻거나 사용자 단말기(130)로부터 입력받아 얻을 수 있다.In addition, the codec determiner 250 may obtain the measured bandwidth or obtain an input from the user terminal 130.

또한, 코덱 결정부(250)는, 각 코덱별로 장르에 따른 비디오 해상도, 프레임별 평균 비트율을 가지고 있으며, 각 코덱별로 장르에 따른 비디오 해상도, 프레임별 평균 CPU(Central Processing Unit) 부하율을 가지고 있다.In addition, the codec determination unit 250 has a video resolution according to a genre for each codec and an average bit rate for each frame, and has a video resolution according to a genre for each codec and an average CPU (Central Processing Unit) load rate for each frame.

또한, 코덱 결정부(250)는, 각 코덱별 장르에 따른 비디오 해상도, 프레임별 평균 비트율에 근거해 각 코덱별로 트랜스코딩 후의 전송률을 예측하고, 현재 가용 대역폭보다 낮은 전송률을 가진 코덱 리스트에서, 코덱별 비디오 해상도, 프레임별 평균 CPU 부하율을 기반으로 현재의 CPU 부하율에 각 코덱별 CPU 부하율을 더한 부하량 값을 구하여, 구한 부하량 값이 특정값(T1)보다 작은 코덱을 찾아서 트랜스코딩용 코덱으로 결정할 수 있다.In addition, the codec determination unit 250 predicts a transmission rate after transcoding for each codec based on the video resolution according to the codec genre for each codec and the average bit rate for each frame, and in the codec list having a data rate lower than the current available bandwidth, Based on the video resolution for each frame and the average CPU load rate for each frame, the load value obtained by adding the CPU load rate of each codec to the current CPU load rate can be obtained, and the codec for which the obtained load value is smaller than a specific value (T1) can be found and determined as a transcoding codec. have.

또한, 코덱 결정부(250)는, 부하량 값이 특정값보다 작은 코덱이 2 개 이상인 경우, CPU 부하율을 더한 부하량 값이 가장 낮은 코덱을 트랜스코딩용 코덱으로 결정할 수 있다.In addition, when there are two or more codecs whose load value is smaller than a specific value, the codec determination unit 250 may determine a codec for transcoding having the lowest load value plus the CPU load rate.

그리고, 코덱 결정부(250)는 부하량 값이 특정값(T1)보다 작은 코덱을 코덱 리스트에서 찾지 못하는 경우에 CPU 부하량을 최소로 하는 코덱을 찾아서 트랜스코딩용 코덱으로 결정할 수 있다.The codec determination unit 250 may determine a codec for minimizing the CPU load amount as a transcoding codec when the codec having a load value smaller than the specific value T1 is not found in the codec list.

트랜스코딩부(260)는 결정된 코덱을 통해 원본 압축 비디오를 트랜스코딩하여 사용자 단말기(130)에 전송한다.The transcoding unit 260 transcodes the original compressed video through the determined codec and transmits the original compressed video to the user terminal 130.

도 3은 본 발명의 실시예에 따른 트랜스코딩 장치의 비디오 트랜스코딩 방법을 설명하기 위한 동작 흐름도이다.3 is a flowchart illustrating a video transcoding method of a transcoding apparatus according to an embodiment of the present invention.

도 3을 참조하면, 본 발명에 따른 비디오 트랜스코딩 장치(110)는 먼저 사용자 단말기(130)에 전송할 원본 압축 비디오를 입력받는다(S310).Referring to FIG. 3, the video transcoding apparatus 110 according to the present invention first receives an original compressed video to be transmitted to the user terminal 130 (S310).

이때, 비디오 트랜스코딩 장치(110)는 사용자 단말기(130)에 전송할 원본 압축 비디오에 대해, 비디오의 장르에 따라 각 코덱 종류에 따른 평균적인 요구 대역폭을 미리 측정하여 저장하고, 또한 각 코덱별 장르에 따라 CPU 점유율(부하율)을 미리 측정하여 저장하고 있는 상태에서 원본 압축 비디오를 입력받는다.In this case, the video transcoding apparatus 110 measures and stores an average required bandwidth for each codec type in advance according to the genre of the video, and stores the original compressed video to be transmitted to the user terminal 130. Accordingly, the original compressed video is input while the CPU occupancy rate is measured and stored in advance.

이어, 비디오 트랜스코딩 장치(110)는 입력된 원본 압축 비디오를 분석하여 원본 압축 비디오의 장르(Genre)를 확인한다(S320).Subsequently, the video transcoding apparatus 110 analyzes the input original compressed video and checks the genre of the original compressed video (S320).

이때, 비디오 트랜스코딩 장치(110)는 원본 압축 비디오의 장르를 사용자 단말기(130)로부터 입력받거나, 장르 분류 알고리즘(Genre Classification Algorithm)을 통해 검출하여 원본 압축 비디오의 장르를 확인할 수 있다.In this case, the video transcoding apparatus 110 may receive the genre of the original compressed video from the user terminal 130 or detect the genre of the original compressed video by detecting it through a genre classification algorithm.

이어, 비디오 트랜스코딩 장치(110)는 사용자 단말기(130)에 가용 대역폭, 비디오 해상도, 프레임율 및 코덱 리스트(Codec List)를 요청하고(S330), 사용자 단말기(130)로부터 가용 대역폭, 비디오 해상도, 프레임율 및 코덱 리스트를 수신한다(S340).Subsequently, the video transcoding apparatus 110 requests the available bandwidth, the video resolution, the frame rate and the codec list from the user terminal 130 (S330), and the available bandwidth, the video resolution, and the user terminal 130. The frame rate and the codec list are received (S340).

이어, 비디오 트랜스코딩 장치(110)는 확인된 원본 압축 비디오의 장르와, 사용자 단말기(130)로부터 수신한 가용 대역폭, 비디오 해상도, 프레임율 및 코덱 리스트에 따라 트랜스코딩용 코덱을 결정한다(S350).Subsequently, the video transcoding apparatus 110 determines a transcoding codec according to the genre of the confirmed original compressed video, the available bandwidth, the video resolution, the frame rate, and the codec list received from the user terminal 130 (S350). .

이때, 비디오 트랜스코딩 장치(110)는 코덱 결정부(250)를 통해 가용 대역폭을 측정하여 얻거나 사용자 단말기(130)로부터 입력받아 얻을 수 있다. In this case, the video transcoding apparatus 110 may be obtained by measuring the available bandwidth through the codec determination unit 250 or received from the user terminal 130.

또한, 비디오 트랜스코딩 장치(110)는, 각 코덱별 장르에 따른 비디오 해상도, 프레임별 평균 비트율에 근거해 각 코덱별로 트랜스코딩 후의 전송률을 예측하고 현재 가용 대역폭보다 낮은 전송률을 가진 코덱 리스트에서, 코덱별 비디오 해상도, 프레임별 평균 CPU 부하율을 기반으로 현재의 CPU 부하율에 각 코덱별 CPU 부하율을 더한 부하량 값을 구하여, 구한 부하량 값이 특정값보다 작은 코덱을 찾아서 트랜스코딩용 코덱으로 결정할 수 있다.In addition, the video transcoding apparatus 110 predicts a transmission rate after transcoding for each codec based on the video resolution according to the codec genre for each codec and the average bit rate for each frame and selects a codec from a codec list having a data rate lower than the current available bandwidth. Based on the video resolution of each video and the average CPU load of each frame, the load value obtained by adding the CPU load rate of each codec to the current CPU load rate can be obtained, and the codec for transcoding can be determined by finding a codec whose load value is smaller than a specific value.

또한, 비디오 트랜스코딩 장치(110)는, 부하량 값이 특정값보다 작은 코덱이 2 개 이상인 경우, CPU 부하율을 더한 부하량 값이 가장 낮은 코덱을 트랜스코딩용 코덱으로 결정할 수 있다.In addition, when there are two or more codecs whose load value is smaller than a specific value, the video transcoding apparatus 110 may determine a codec for transcoding having the lowest load value plus the CPU load rate.

또한, 비디오 트랜스코딩 장치(110)는 구한 부하량 값이 특정값보다 작은 코덱을 코덱 리스트에서 찾지 못하는 경우에 CPU 부하량을 최소로 하는 코덱을 찾아서 트랜스코딩용 코덱으로 결정할 수 있다.In addition, the video transcoding apparatus 110 may determine a codec for minimizing the CPU load and determine it as a transcoding codec if the codec having the obtained load value smaller than a specific value is not found in the codec list.

이어, 비디오 트랜스코딩 장치(110)는 결정된 코덱을 통해 원본 압축 비디오를 트랜스코딩한다(S360).Subsequently, the video transcoding apparatus 110 transcodes the original compressed video through the determined codec (S360).

그리고, 비디오 트랜스코딩 장치(110)는 트랜스코딩 된 비디오를 통신망(120)을 통해 사용자 단말기(130)에 전송한다(S370).The video transcoding apparatus 110 transmits the transcoded video to the user terminal 130 through the communication network 120 (S370).

따라서, 사용자 단말기(130)는 자신의 가용 대역폭, 비디오 해상도, 프레임율 및 코덱에 적합한 트랜스코딩 된 비디오를 수신하여 최상의 상태로 디스플레이할 수 있다.Accordingly, the user terminal 130 may receive the transcoded video suitable for its available bandwidth, video resolution, frame rate, and codec and display the best state.

전술한 바와 같이 본 발명에 따르면, 비디오의 디코딩(Decoding)과 비디오 편집, 인코딩(Encoding) 과정 등의 비디오 트랜스코딩을 수행할 때, 사용자의 가용 네트워크 대역폭, 비디오의 특성, 서버의 연산부하를 고려하여 트랜스코더의 코덱 타입을 결정해, 제한된 서버의 연산 능력하에서 최대한 많은 수의 비디오를 트랜스코딩할 수 있도록 된, 비디오 트랜스코딩 방법 및 시스템을 실현할 수 있다.As described above, according to the present invention, when performing video transcoding such as video decoding, video editing, and encoding, the user's available network bandwidth, video characteristics, and server's computing load are considered. By determining the codec type of the transcoder, it is possible to realize a video transcoding method and system that can transcode as many videos as possible with limited server computing power.

본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있으므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present invention as defined by the following claims and their equivalents. Only. The scope of the present invention is defined by the appended claims rather than the detailed description and all changes or modifications derived from the meaning and scope of the claims and their equivalents are to be construed as being included within the scope of the present invention do.

본 발명은 비디오 컨텐츠를 네트워크를 통해 전송하는 장치나 시스템 등에 적용할 수 있고, 비디오 컨텐츠를 실시간으로 재인코딩하여 전송하는 비디오 트랜스코딩 기술에 적용할 수 있다.The present invention can be applied to an apparatus or system for transmitting video content through a network, and can be applied to a video transcoding technology for re-encoding and transmitting video content in real time.

100 : 비디오 트랜스코딩 시스템 110 : 비디오 트랜스코딩 장치
120 : 통신망 130 : 사용자 단말기
210 : 통신 인터페이스부 220 : 대역폭 저장부
230 : 부하율 저장부 240 : 비디오 분석부
250 : 코덱 결정부 260 : 트랜스코딩부
100: video transcoding system 110: video transcoding device
120: communication network 130: user terminal
210: communication interface unit 220: bandwidth storage unit
230: load rate storage unit 240: video analysis unit
250: codec determination unit 260: transcoding unit

Claims (16)

현재의 CPU 부하율에 따라 트랜스코딩용 코덱을 결정하며, 결정된 코덱을 통해 원본 압축 비디오를 트랜스코딩하는 비디오 트랜스코딩 장치; 및
상기 비디오 트랜스코딩 장치로부터 트랜스코딩 된 비디오를 수신하여 디스플레이하는 사용자 단말기;
를 포함하는 비디오 트랜스코딩 시스템.
A video transcoding device which determines a codec for transcoding according to a current CPU load rate and transcodes an original compressed video through the determined codec; And
A user terminal for receiving and displaying the transcoded video from the video transcoding device;
Video transcoding system comprising a.
제 1 항에 있어서,
상기 비디오 트랜스코딩 장치는, 상기 사용자 단말기로부터 비디오 해상도, 가용 대역폭, 프레임율 및 코덱 리스트를 전송받고, 상기 원본 압축 비디오의 장르에 따라 코덱 리스트의 각 코덱별로 전송률을 예측하고, 현재 가용 대역폭보다 낮은 전송률을 가진 코덱 리스트를 검색한 후, 검색된 코덱 리스트에서 현재의 CPU 부하율에 각 코덱별 CPU 부하율을 더한 값이 임계값보다 작은 코덱을 찾아서 트랜스코딩용 코덱으로 결정하며, 결정된 코덱을 통해 원본 압축 비디오를 트랜스코딩하는 것을 특징으로 하는 비디오 트랜스코딩 시스템.
The method of claim 1,
The video transcoding apparatus receives a video resolution, an available bandwidth, a frame rate, and a codec list from the user terminal, predicts a transmission rate for each codec of the codec list according to the genre of the original compressed video, and lowers the current available bandwidth. After searching the codec list with the transmission rate, the codec for transcoding is found by determining the codec whose current CPU load rate plus the CPU load rate of each codec is smaller than the threshold value. And a video transcoding system.
사용자 단말기와 통신망을 통해 통신하는 통신 인터페이스부;
상기 사용자 단말기에 전송할 비디오에 대해, 비디오의 장르에 따라 미리 측정되고 각 코덱 종류에 따른 평균적인 요구 대역폭을 저장하고 있는 대역폭 저장부;
상기 각 코덱별 장르에 따라 미리 측정된 CPU 점유율을 저장하고 있는 부하율 저장부;
상기 사용자 단말기에 전송하기 위한 원본 압축 비디오가 입력되면, 입력된 원본 압축 비디오를 분석하여 원본 압축 비디오의 장르를 확인하는 비디오 분석부;
상기 확인된 원본 압축 비디오의 장르와, 상기 사용자 단말기로부터 전송받은 가용 대역폭, 비디오 해상도, 프레임율 및 코덱 리스트에 따라 코덱을 결정하는 코덱 결정부; 및
상기 결정된 코덱을 통해 원본 압축 비디오를 트랜스코딩하는 트랜스코딩부;
를 포함하는 비디오 트랜스코딩 장치.
A communication interface for communicating with a user terminal through a communication network;
A bandwidth storage unit for storing the video to be transmitted to the user terminal in advance according to the genre of the video and storing an average required bandwidth for each codec type;
A load ratio storage unit for storing a predetermined CPU occupancy rate according to each genre of each codec;
A video analyzing unit for checking the genre of the original compressed video by analyzing the input original compressed video when the original compressed video for transmission to the user terminal is input;
A codec determining unit which determines a codec according to the checked genre of the original compressed video and available bandwidth, video resolution, frame rate, and codec list received from the user terminal; And
A transcoding unit transcoding the original compressed video through the determined codec;
Video transcoding device comprising a.
제 3 항에 있어서,
상기 비디오 분석부는, 상기 원본 압축 비디오의 장르를 입력받거나, 장르 분류 알고리즘(Genre Classification Algorithm)을 통해 원본 압축 비디오의 장르를 확인하는 것을 특징으로 하는 비디오 트랜스코딩 장치.
The method of claim 3, wherein
The video analysis unit may receive a genre of the original compressed video, or identify a genre of the original compressed video through a genre classification algorithm (Genre Classification Algorithm).
제 3 항에 있어서,
상기 코덱 결정부는, 상기 가용 대역폭에 대해 측정하여 얻거나 사용자 단말기로부터 입력받아 얻는 것을 특징으로 하는 비디오 트랜스코딩 장치.
The method of claim 3, wherein
The codec determination unit, the video transcoding device, characterized in that obtained by measuring the available bandwidth or obtained from a user terminal.
제 3 항에 있어서,
상기 코덱 결정부는, 각 코덱별 장르에 따른 비디오 해상도, 프레임별 평균 비트율 및, 프레임별 평균 CPU 부하율을 가지고 있는 것을 특징으로 하는 비디오 트랜트코딩 장치.
The method of claim 3, wherein
The codec determining unit has a video resolution according to each codec genre, an average bit rate for each frame, and an average CPU load rate for each frame.
제 6 항에 있어서,
상기 코덱 결정부는, 각 코덱별 장르에 따른 비디오 해상도, 프레임별 평균 비트율에 근거해 각 코덱별로 트랜스코딩 후의 전송률을 예측하고 현재 가용 대역폭보다 낮은 전송률을 가진 코덱 리스트에서, 상기 코덱별 비디오 해상도, 프레임별 평균 CPU 부하율을 기반으로 현재의 CPU 부하율에 각 코덱별 CPU 부하율을 더한 부하량 값을 구하여, 구한 부하량 값이 특정값보다 작은 코덱을 찾아서 트랜스코딩용 코덱으로 결정하는 것을 특징으로 하는 비디오 트랜스코딩 장치.
The method according to claim 6,
The codec determining unit predicts a transmission rate after transcoding for each codec based on a video resolution according to a genre of each codec and an average bit rate of each frame, and displays a video resolution and a frame for each codec in a codec list having a lower transmission rate than a current available bandwidth. A video transcoding device characterized in that a load value obtained by adding the CPU load rate of each codec to the current CPU load rate based on the average CPU load rate of each coder is found, and the codec for the transcoding is determined by finding a codec whose load value is smaller than a specific value. .
제 7 항에 있어서,
상기 코덱 결정부는, 상기 부하량 값이 특정값보다 작은 코덱이 2 개 이상인 경우, 상기 CPU 부하율을 더한 부하량 값이 가장 낮은 코덱을 트랜스코딩용 코덱으로 결정하는 것을 특징으로 하는 비디오 트랜스코딩 장치.
The method of claim 7, wherein
And the codec determination unit determines that a codec for transcoding having the lowest load value plus the CPU load ratio is used as a transcoding codec when two or more codecs having a load value smaller than a specific value are used.
제 3 항에 있어서,
상기 코덱 결정부는, 상기 부하량 값이 특정값보다 작은 코덱을 코덱 리스트에서 찾지 못하는 경우에 CPU 부하량을 최소로 하는 코덱을 찾아서 트랜스코딩용 코덱으로 결정하는 것을 특징으로 하는 비디오 트랜스코딩 장치.
The method of claim 3, wherein
And the codec determining unit determines a codec for minimizing the CPU load as a transcoding codec when the codec list does not find a codec smaller than a specific value in the codec list.
사용자 단말기와 통신망을 통해 통신하는 트랜스코딩 장치의 비디오 트랜스코딩 방법으로서,
(a) 원본 압축 비디오를 분석하여 원본 압축 비디오의 장르를 확인하는 단계;
(b) 상기 사용자 단말기에 요청하여 상기 사용자 단말기로부터 가용 대역폭, 비디오 해상도, 프레임율 및 코덱 리스트(Codec List)를 수신하는 단계;
(c) 상기 확인된 원본 압축 비디오의 장르와, 상기 사용자 단말기로부터 수신한 가용 대역폭, 비디오 해상도, 프레임율 및 코덱 리스트에 따라 코덱을 결정하는 단계; 및
(d) 상기 결정된 코덱을 통해 원본 압축 비디오를 트랜스코딩하는 단계;
를 포함하는 트랜스코딩 장치의 비디오 트랜스코딩 방법.
A video transcoding method of a transcoding device communicating with a user terminal through a communication network,
(a) analyzing the original compressed video to identify the genre of the original compressed video;
(b) requesting the user terminal to receive an available bandwidth, video resolution, frame rate and codec list from the user terminal;
(c) determining a codec according to the identified genre of the compressed video and the available bandwidth, video resolution, frame rate and codec list received from the user terminal; And
(d) transcoding the original compressed video via the determined codec;
Video transcoding method of a transcoding device comprising a.
제 10 항에 있어서,
상기 (a) 단계는 상기 사용자 단말기에 전송할 원본 압축 비디오에 대해, 비디오의 장르에 따라 각 코덱 종류에 따른 평균적인 요구 대역폭을 미리 측정하여 저장하고, 상기 각 코덱별 장르에 따라 CPU 점유율(부하율)을 미리 측정하여 저장하고 있는 상태에서, 상기 원본 압축 비디오를 분석하여 장르를 확인하는 것을 특징으로 하는 트랜스코딩 장치의 비디오 트랜스코딩 방법.
11. The method of claim 10,
In the step (a), the average bandwidth required for each codec type is stored in advance according to the genre of the video, and the CPU occupancy ratio (load rate) is stored for the original compressed video to be transmitted to the user terminal. The video transcoding method of the transcoding device, characterized in that to determine the genre by analyzing the original compressed video in a state of measuring and storing in advance.
제 10 항에 있어서,
상기 (a) 단계는, 상기 사용자 단말기로부터 원본 압축 비디오의 장르를 입력받거나, 장르 분류 알고리즘(Genre Classification Algorithm)을 통해 원본 압축 비디오의 장르를 확인하는 것을 특징으로 하는 트랜스코딩 장치의 비디오 트랜스코딩 방법.
11. The method of claim 10,
In the step (a), the genre of the original compressed video is input from the user terminal, or the genre of the original compressed video is identified through a genre classification algorithm (Genre Classification Algorithm). .
제 10 항에 있어서,
상기 (b) 단계에서 상기 가용 대역폭을 측정하여 얻거나 사용자 단말기로부터 입력받아 얻는 것을 특징으로 하는 트랜스코딩 장치의 비디오 트랜스코딩 방법.
11. The method of claim 10,
The video transcoding method of the transcoding apparatus, characterized in that obtained in the step (b) by measuring the available bandwidth or obtained from a user terminal.
제 10 항에 있어서,
상기 (c) 단계는, 각 코덱별 장르에 따른 비디오 해상도, 프레임별 평균 비트율에 근거해 각 코덱별로 트랜스코딩 후의 전송률을 예측하고 현재 가용 대역폭보다 낮은 전송률을 가진 코덱 리스트에서, 상기 코덱별 비디오 해상도, 프레임별 평균 CPU 부하율을 기반으로 현재의 CPU 부하율에 각 코덱별 CPU 부하율을 더한 부하량 값을 구하여, 구한 부하량 값이 특정값보다 작은 코덱을 찾아서 트랜스코딩용 코덱으로 결정하는 것을 특징으로 하는 트랜스코딩 장치의 비디오 트랜스코딩 방법.
11. The method of claim 10,
In step (c), the video resolution for each codec is estimated based on the video resolution according to the genre for each codec and the average bit rate for each frame. Based on the average CPU load rate for each frame, transcoding is obtained by adding the current CPU load rate plus the CPU load rate for each codec, and finding a codec whose load value is smaller than a specific value and determining the codec for transcoding. Video transcoding method of the device.
제 14 항에 있어서,
상기 (c) 단계는, 상기 부하량 값이 특정값보다 작은 코덱을 코덱 리스트에서 찾지 못하는 경우에 CPU 부하량을 최소로 하는 코덱을 찾아서 트랜스코딩용 코덱으로 결정하는 것을 특징으로 하는 트랜스코딩 장치의 비디오 트랜스코딩 방법.
15. The method of claim 14,
In the step (c), if a codec whose load value is smaller than a specific value is not found in the codec list, the codec for minimizing the CPU load is found and determined as a transcoding codec. Coding method.
제 14 항에 있어서,
상기 (c) 단계는, 상기 부하량 값이 특정값보다 작은 코덱이 2 개 이상인 경우, 상기 CPU 부하율을 더한 부하량 값이 가장 낮은 코덱을 트랜스코딩용 코덱으로 결정하는 것을 특징으로 하는 트랜스코딩 장치의 비디오 트랜스코딩 방법.
15. The method of claim 14,
In the step (c), when there are two or more codecs whose load value is smaller than a specific value, the codec for transcoding is determined as the codec having the lowest load value plus the CPU load rate as a transcoding codec. Transcoding method.
KR1020110023740A 2011-03-17 2011-03-17 Video transcoding method and its system for maximizing transcoding capacity by considering network condition, content characteristics, and computational capacity of transcoding server Active KR101882889B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110023740A KR101882889B1 (en) 2011-03-17 2011-03-17 Video transcoding method and its system for maximizing transcoding capacity by considering network condition, content characteristics, and computational capacity of transcoding server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110023740A KR101882889B1 (en) 2011-03-17 2011-03-17 Video transcoding method and its system for maximizing transcoding capacity by considering network condition, content characteristics, and computational capacity of transcoding server

Publications (2)

Publication Number Publication Date
KR20120105970A true KR20120105970A (en) 2012-09-26
KR101882889B1 KR101882889B1 (en) 2018-07-30

Family

ID=47112746

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110023740A Active KR101882889B1 (en) 2011-03-17 2011-03-17 Video transcoding method and its system for maximizing transcoding capacity by considering network condition, content characteristics, and computational capacity of transcoding server

Country Status (1)

Country Link
KR (1) KR101882889B1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150021007A (en) * 2013-08-19 2015-02-27 경희대학교 산학협력단 A Method And Apparatus For Enhancing Quality Of Multimedia Service By Using Cloud Computing
WO2016052845A1 (en) * 2014-10-02 2016-04-07 엔트릭스 주식회사 Cloud streaming service system, cloud streaming service method using optimal gpu, and apparatus for same
KR101871116B1 (en) * 2017-09-08 2018-06-25 인하대학교 산학협력단 Quality of exprerience maximization scheme to limit transcoding power consumption
CN115842918A (en) * 2022-10-28 2023-03-24 金程科技有限公司 Variable-bit-rate video stream real-time transcoding sending device and method
WO2024147371A1 (en) * 2023-01-02 2024-07-11 엘지전자 주식회사 Video transmission device and operating method thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060066521A (en) * 2004-12-13 2006-06-16 삼성전자주식회사 Apparatus and method for continuously transmitting multimedia contents
JP2007096800A (en) * 2005-09-29 2007-04-12 Toshiba Corp Recompression encoding method, apparatus, and program for moving image data
KR20080003961A (en) * 2006-07-04 2008-01-09 (주) 컨텐츠플러그 Video content service system and method
JP2009049474A (en) * 2007-08-13 2009-03-05 Toshiba Corp Information processing apparatus and re-encoding method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060066521A (en) * 2004-12-13 2006-06-16 삼성전자주식회사 Apparatus and method for continuously transmitting multimedia contents
JP2007096800A (en) * 2005-09-29 2007-04-12 Toshiba Corp Recompression encoding method, apparatus, and program for moving image data
KR20080003961A (en) * 2006-07-04 2008-01-09 (주) 컨텐츠플러그 Video content service system and method
JP2009049474A (en) * 2007-08-13 2009-03-05 Toshiba Corp Information processing apparatus and re-encoding method

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150021007A (en) * 2013-08-19 2015-02-27 경희대학교 산학협력단 A Method And Apparatus For Enhancing Quality Of Multimedia Service By Using Cloud Computing
WO2016052845A1 (en) * 2014-10-02 2016-04-07 엔트릭스 주식회사 Cloud streaming service system, cloud streaming service method using optimal gpu, and apparatus for same
US10601891B2 (en) 2014-10-02 2020-03-24 Sk Planet Co., Ltd. Cloud streaming service system and cloud streaming service method for utilizing an optimal GPU for video decoding based on resource conditions, and apparatus for the same
KR101871116B1 (en) * 2017-09-08 2018-06-25 인하대학교 산학협력단 Quality of exprerience maximization scheme to limit transcoding power consumption
CN115842918A (en) * 2022-10-28 2023-03-24 金程科技有限公司 Variable-bit-rate video stream real-time transcoding sending device and method
WO2024147371A1 (en) * 2023-01-02 2024-07-11 엘지전자 주식회사 Video transmission device and operating method thereof
EP4645874A4 (en) * 2023-01-02 2025-11-12 Lg Electronics Inc VIDEO TRANSMISSION DEVICE AND OPERATING PROCEDURES FOR IT

Also Published As

Publication number Publication date
KR101882889B1 (en) 2018-07-30

Similar Documents

Publication Publication Date Title
KR101894420B1 (en) Adaptive video transcoding method and its system for maximizing transcoding server capacity
AU2014283266B2 (en) Concept for determining the quality of a media data stream with varying quality-to-bit rate
CN110460871B (en) Live video generation method, device, system and equipment
US10003626B2 (en) Adaptive real-time transcoding method and streaming server therefor
US20190166170A1 (en) Video Streaming Delivery
KR101882889B1 (en) Video transcoding method and its system for maximizing transcoding capacity by considering network condition, content characteristics, and computational capacity of transcoding server
CA3057894C (en) Video compression using down-sampling patterns in two phases
US20140226711A1 (en) System and method for self-adaptive streaming of multimedia content
US20140189141A1 (en) Real-time content transcoding method, apparatus and system, and real-time content receiving method and apparatus
JP7342166B2 (en) Cross-validation of video encoding
KR101569502B1 (en) Apparatus, method and computer readable recording medium for assigning trnscording works
WO2016032383A1 (en) Sharing of multimedia content
US20160037169A1 (en) High speed scalable video coding device and method using multi-track video
Hemalatha et al. Adaptive bitrate transcoding for power efficient video streaming in mobile devices
KR101274500B1 (en) Method and system for streaming service
Shao et al. A multimedia terminal for adaptation and end-to-end Qos control
Arnaiz et al. Efficient personalized scalable video adaptation decision-taking engine based on MPEG-21
Uddin et al. Optimization and Evaluation of Emerging Codecs
CN100366077C (en) Method and system for optimal video decoding based on utility function description
Aubry et al. Spatial downsizing impact in the transrating tradeoff for content/context awareness in media network
KR20130029235A (en) Method for transcoding streaming vedio file into streaming vedio file in real-time
Salvador Avaliação da Qualidade de Experiência de Vídeo em Várias Tecnologias
Zhang et al. A Packet-Layer Model with Content Characteristics for Video Quality Assessment of IPTV
Wang Channel Aware Joint Optimization of Latency and Distortion for Image Communications
CN110958459A (en) Data processing method and device

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20110317

N231 Notification of change of applicant
PN2301 Change of applicant

Patent event date: 20111102

Comment text: Notification of Change of Applicant

Patent event code: PN23011R01D

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20160316

Comment text: Request for Examination of Application

Patent event code: PA02011R01I

Patent event date: 20110317

Comment text: Patent Application

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20171017

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20180423

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20180723

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20180724

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20210702

Start annual number: 4

End annual number: 4