KR20120105970A - 비디오 트랜스코딩 방법 및 시스템 - Google Patents

비디오 트랜스코딩 방법 및 시스템 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
Application number
KR1020110023740A
Other languages
English (en)
Other versions
KR101882889B1 (ko
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/ko
Publication of KR20120105970A publication Critical patent/KR20120105970A/ko
Application granted granted Critical
Publication of KR101882889B1 publication Critical patent/KR101882889B1/ko

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 부하율을 더한 값이 임계값보다 작은 코덱을 찾아서 트랜스코딩에 이용할 코덱으로 결정하며, 결정된 코덱을 통해 원본 압축 비디오를 트랜스코딩하는 비디오 트랜스코딩 서버; 및 상기 비디오 트랜스코딩 서버에 비디오 해상도, 가용 대역폭, 프레임율 및 코덱 리스트를 전송하며, 이후 비디오 트랜스코딩 서버로부터 원본 압축 비디오가 트랜스코딩 된 비디오를 수신하여 디스플레이하는 사용자 단말기를 포함한다.

Description

비디오 트랜스코딩 방법 및 시스템{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)을 결정해, 결정된 코덱 타입으로 최대한 많은 수의 비디오를 트랜스코딩할 수 있도록 된 것이다.
인터넷에 존재하는 많은 비디오 컨텐츠는 다양한 컨텐츠 제공자(content provider)에 의해 생산되어 컨텐츠의 코덱(codec)을 포함하는 인코딩 변수 및 방법, 파일타입(file type), 영상의 해상도, 프레임율 등이 사용자의 장치 및 네트워크 환경에 적합하지 않은 경우가 많다. 또한, 드라마, 액션, 뮤직비디오 등 비디오의 '장르'별로 요구대역폭이나 CPU 점유율이 통상적으로 어느 정도 차이가 있다.
이를 해결하기 위해, 서비스 제공자는 실시간 비디오 트랜스코딩 서버(transcoding server)를 두고 사용자의 단말기에 맞도록 비디오를 재인코딩하여 네트워크를 통하여 사용자 단말기에 전송한다.
한편, 비디오 트랜스코딩 서버(Video transcoding server)는 한 번에 몇 개의 비디오를 트랜스코딩(transcoding) 할 수가 있는지가 서버(server)의 용량(capacity)으로 볼 수 있다.
그런데, 비디오 트랜스코딩은 비디오의 디코딩(decoding)과 비디오 편집, 인코딩(encoding) 과정을 포함하고 있는데, 특히 인코딩(encoding) 과정은 높은 연산량을 요구하여, 비디오 트랜스코딩 서버가 많은 수의 비디오 트랜스코딩(video transcoding)을 수행할 때 서버(server) 연산 성능의 제약이 따른다는 문제점이 있다.
전술한 문제점을 해결하기 위한 본 발명은 비디오의 디코딩(Decoding)과 비디오 편집, 인코딩(Encoding) 과정 등의 비디오 트랜스코딩을 수행할 때, 사용자의 가용 네트워크 대역폭, 비디오의 특성, 서버의 연산부하를 고려하여 트랜스코더(Transcoder)의 코덱 타입(Codec type)을 결정해 제한된 서버의 연산 능력 하에서 최대한 많은 수의 비디오를 트랜스코딩할 수 있도록 된, 비디오 트랜스코딩 방법 및 시스템을 제공함에 그 목적이 있다.
전술한 목적을 달성하기 위한 본 발명의 일 측면에 따르면, 현재의 CPU 부하율에 따라 트랜스코딩용 코덱을 결정하며, 결정된 코덱을 통해 원본 압축 비디오를 트랜스코딩하는 비디오 트랜스코딩 장치; 및 상기 비디오 트랜스코딩 장치로부터 트랜스코딩 된 비디오를 수신하여 디스플레이하는 사용자 단말기를 포함하는 비디오 트랜스코딩 시스템이 제공된다.
또한, 상기 비디오 트랜스코딩 장치는, 상기 사용자 단말기로부터 비디오 해상도, 가용 대역폭, 프레임율 및 코덱 리스트를 전송받고, 상기 원본 압축 비디오의 장르에 따라 코덱 리스트의 각 코덱별로 전송률을 예측하고, 현재 가용 대역폭보다 낮은 전송률을 가진 코덱 리스트를 검색한 후, 검색된 코덱 리스트에서 현재의 CPU 부하율에 각 코덱별 CPU 부하율을 더한 값이 임계값보다 작은 코덱을 찾아서 트랜스코딩용 코덱으로 결정하며, 결정된 코덱을 통해 원본 압축 비디오를 트랜스코딩한다.
한편, 전술한 목적을 달성하기 위한 본 발명의 다른 측면에 따르면, 사용자 단말기와 통신망을 통해 통신하는 통신 인터페이스부; 상기 사용자 단말기에 전송할 비디오에 대해, 비디오의 장르에 따라 미리 측정되고 각 코덱 종류에 따른 평균적인 요구 대역폭을 저장하고 있는 대역폭 저장부; 상기 각 코덱별 장르에 따라 미리 측정된 CPU 점유율을 저장하고 있는 부하율 저장부; 상기 사용자 단말기에 전송하기 위한 원본 압축 비디오가 입력되면, 입력된 원본 압축 비디오를 분석하여 원본 압축 비디오의 장르를 확인하는 비디오 분석부; 상기 확인된 원본 압축 비디오의 장르와, 상기 사용자 단말기로부터 전송받은 가용 대역폭, 비디오 해상도, 프레임율 및 코덱 리스트에 따라 코덱을 결정하는 코덱 결정부; 및 상기 결정된 코덱을 통해 원본 압축 비디오를 트랜스코딩하는 트랜스코딩부를 포함하는 비디오 트랜스코딩 장치가 제공된다.
또한, 상기 비디오 분석부는, 상기 원본 압축 비디오의 장르를 입력받거나, 장르 분류 알고리즘을 통해 원본 압축 비디오의 장르를 확인할 수 있다.
또한, 상기 코덱 결정부는, 상기 가용 대역폭에 대해 측정하여 얻거나 사용자 단말기로부터 입력받아 얻을 수 있다.
또한, 상기 코덱 결정부는, 각 코덱별 장르에 따른 비디오 해상도, 프레임별 평균 비트율 및, 프레임별 평균 CPU 부하율을 가지고 있다.
또한, 상기 코덱 결정부는, 각 코덱별 장르에 따른 비디오 해상도, 프레임별 평균 비트율에 근거해 각 코덱별로 트랜스코딩 후의 전송률을 예측하고 현재 가용 대역폭보다 낮은 전송률을 가진 코덱 리스트에서, 상기 코덱별 비디오 해상도, 프레임별 평균 CPU 부하율을 기반으로 현재의 CPU 부하율에 각 코덱별 CPU 부하율을 더한 부하량 값을 구하여, 구한 부하량 값이 특정값보다 작은 코덱을 찾아서 트랜스코딩용 코덱으로 결정할 수 있다.
또한, 상기 코덱 결정부는, 상기 부하량 값이 특정값보다 작은 코덱이 2 개 이상인 경우, 상기 CPU 부하율을 더한 부하량 값이 가장 낮은 코덱을 트랜스코딩용 코덱으로 결정할 수 있다.
그리고, 상기 코덱 결정부는, 상기 부하량 값이 특정값보다 작은 코덱을 코덱 리스트에서 찾지 못하는 경우에 CPU 부하량을 최소로 하는 코덱을 찾아서 트랜스코딩용 코덱으로 결정할 수 있다.
한편, 전술한 목적을 달성하기 위한 본 발명의 또다른 측면에 따르면, 사용자 단말기와 통신망을 통해 통신하는 트랜스코딩 장치의 비디오 트랜스코딩 방법으로서, (a) 원본 압축 비디오를 분석하여 원본 압축 비디오의 장르를 확인하는 단계; (b) 상기 사용자 단말기에 요청하여 상기 사용자 단말기로부터 가용 대역폭, 비디오 해상도, 프레임율 및 코덱 리스트(Codec List)를 수신하는 단계; (c) 상기 확인된 원본 압축 비디오의 장르와, 상기 사용자 단말기로부터 수신한 가용 대역폭, 비디오 해상도, 프레임율 및 코덱 리스트에 따라 코덱을 결정하는 단계; 및 (d) 상기 결정된 코덱을 통해 원본 압축 비디오를 트랜스코딩하는 단계를 포함하는 트랜스코딩 장치의 비디오 트랜스코딩 방법이 제공된다.
또한, 상기 (a) 단계는 상기 사용자 단말기에 전송할 원본 압축 비디오에 대해, 비디오의 장르에 따라 각 코덱 종류에 따른 평균적인 요구 대역폭을 미리 측정하여 저장하고, 상기 각 코덱별 장르에 따라 CPU 점유율(부하율)을 미리 측정하여 저장하고 있는 상태에서, 상기 원본 압축 비디오를 분석하여 장르를 확인할 수 있다.
또한, 상기 (a) 단계는, 상기 사용자 단말기로부터 원본 압축 비디오의 장르를 입력받거나, 장르 분류 알고리즘을 통해 원본 압축 비디오의 장르를 확인할 수 있다.
또한, 상기 (b) 단계에서 상기 가용 대역폭을 측정하여 얻거나 사용자 단말기로부터 입력받아 얻을 수 있다.
또한, 상기 (c) 단계는, 각 코덱별 장르에 따른 비디오 해상도, 프레임별 평균 비트율에 근거해 각 코덱별로 트랜스코딩 후의 전송률을 예측하고 현재 가용 대역폭보다 낮은 전송률을 가진 코덱 리스트에서, 상기 코덱별 비디오 해상도, 프레임별 평균 CPU 부하율을 기반으로 현재의 CPU 부하율에 각 코덱별 CPU 부하율을 더한 부하량 값을 구하여, 구한 부하량 값이 특정값보다 작은 코덱을 찾아서 트랜스코딩용 코덱으로 결정할 수 있다.
또한, 상기 (c) 단계는, 상기 부하량 값이 특정값보다 작은 코덱이 2 개 이상인 경우, 상기 CPU 부하율을 더한 부하량 값이 가장 낮은 코덱을 트랜스코딩용 코덱으로 결정할 수 있다.
그리고, 상기 (c) 단계는, 상기 부하량 값이 특정값보다 작은 코덱을 코덱 리스트에서 찾지 못하는 경우에 CPU 부하량을 최소로 하는 코덱을 찾아서 트랜스코딩용 코덱으로 결정할 수 있다.
본 발명에 의하면, 사용자의 가용 대역폭, 비디오의 특성, 서버의 연산부하를 고려하여 트랜스코더의 코덱 타입을 결정할 수 있다.
또한, 사용자측 단말기에 적합한 코덱 타입으로 제한된 서버의 연산 능력 하에서 최대한 많은 수의 비디오를 트랜스코딩 할 수 있다.
그리고, 사용자측 단말기에 가장 적합한 코덱 타입으로 트랜스코딩 된 비디오를 전송하게 됨으로써 사용자측 단말기에서 최상의 비디오를 디스플레이할 수 있다.
도 1은 본 발명의 실시예에 따른 비디오 트랜스코딩 시스템의 전체적인 구성을 개략적으로 나타낸 구성도이다.
도 2는 본 발명의 실시예에 따른 비디오 트랜스코딩 장치의 기능 블럭을 개략적으로 나타낸 구성도이다.
도 3은 본 발명의 실시예에 따른 트랜스코딩 장치의 비디오 트랜스코딩 방법을 설명하기 위한 동작 흐름도이다.
본 발명의 목적과 기술적 구성 및 그에 따른 작용 효과에 관한 자세한 사항은 본 발명의 명세서에 첨부된 도면에 의거한 이하 상세한 설명에 의해 보다 명확하게 이해될 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 실시예를 상세하게 설명한다.
정보통신기술의 급속한 발전에 따른 통신ㆍ방송ㆍ인터넷의 대 통합과 인간 중심의 유비쿼터스 정보 환경 실현의 새로운 네트워크 사회가 도래하고 있다. 이에 따라 가전, 자동차 등 모든 일상용품에 통신 및 컴퓨팅 기능이 내재되어 네트워크에 연동ㆍ수용됨으로써 누구나 언제 어디서나 원하는 서비스를 편리하게 이용할 수 있는 유비쿼터스 네트워크 사회로 발전하고 있다. 이것은 향후 네트워크 환경이 지금보다 더 다양한 네트워크와 사용자 단말이 혼재된 상황에 추가하여 서로 다른 방식으로 제작된 다양한 멀티미디어 콘텐츠가 공존한다는 것을 의미하고 있다.따라서 하나의 콘텐츠(one-source)를 다양한 네트워크 대역폭과 상이한 디스플레이 해상도, 프로세서 성능, 사용자 인터페이스 등 성능과 특성이 다른 다양한 단말기들에 사용 가능(multi-use)하도록 하는 멀티미디어 트랜스코딩 기술이 절대적으로 필요하다. 멀티미디어 트랜스코딩 기술은 궁극적으로 사용자가 콘텐츠, 네트워크 및 사용 단말을 의식하지 않은 상태에서 언제 어디서나 자유롭게 네트워크에 접속하여 Any Network, Any Device, Any Service를 실현하는 유비쿼터스 컴퓨팅 환경을 제공하는 핵심기술로서 향후 그 기술적인 가치와 필요성이 급속히 부각될 것으로 전망된다.
멀티미디어 트랜스코딩 기술은 단일 컨텐츠(one-source)를 사용자의 다양한 네트워크 및 단말기 특성에 능동적으로 대응하여 사용자의 환경에 최적의 컨텐츠로 재구성하여 제공함으로써(multi-use) 끊김없이 안정적인 서비스가 가능하도록 한다. 즉, 단일 컨텐츠를 다양한 네트워크 및 단말기에서 출력하도록 하여 any network, any device, any contents를 지향하는 유비쿼터스 컴퓨팅 환경을 지원 및 해결할 수 있는 핵심 기술 중의 하나이다.
향후 인터넷 환경은 더 다양한 네트워크와 사용자 단말기가 혼재된 상황에 추가하여 서로 다른 멀티미디어 압축 방식들이 공존할 것으로 예상되어 엄청난 개수의 사용 환경을 반영한 컨텐츠를 조합할 수 있다.
따라서, 하나의 컨텐츠를 상이한 네트워크, 해상도, 프로세서 성능, 사용자 인터페이스 등 성능과 특성이 서로 다른 다양한 환경에서도 사용 가능하도록 하는 기능을 제공해야 한다.
도 1은 본 발명의 실시예에 따른 비디오 트랜스코딩 시스템의 전체적인 구성을 개략적으로 나타낸 구성도이다.
도 1을 참조하면, 본 발명에 따른 비디오 트랜스코딩 시스템(100)은, 비디오 트랜스코딩 장치(110), 통신망(120) 및 사용자 단말기(130) 등을 포함한다.
비디오 트랜스코딩 장치(110)는 트랜스코딩 할 원본 압축 비디오를 입력받으면, 원본 압축 비디오의 장르를 확인하고, 사용자 단말기(130)로부터 비디오 해상도, 가용 대역폭, 프레임율 및 코덱 리스트를 전송받아, 원본 압축 비디오의 장르에 따른 각 코덱별 트랜스코딩 후 전송률을 예측하여 현재 가용 대역폭보다 낮은 전송률을 가진 코덱 리스트를 검색하고, 검색된 코덱 리스트에서 현재의 CPU 부하율에 각 코덱별 CPU 부하율을 더한 값이 임계값보다 작은 코덱을 찾아서 트랜스코딩에 이용할 코덱으로 결정하며, 결정된 코덱을 통해 원본 압축 비디오를 트랜스코딩한다.
여기서, 비디오 트랜스코딩 장치(110)는 원본 압축 비디오를 트랜스코딩하여 하나 이상의 사용자 단말기(130)에 전송해 주는 미디어 서버 등이 될 수 있으며, 원본 압축 비디오를 입력받아 트랜스코딩해서 통신망(120)을 통해 멀티캐스팅 할 수 있는 전용 미디어 장치 등이 될 수 있다.
통신망(120)은 비디오 트랜스코딩 장치(110)에서 사용자 단말기(130)로 비디오를 전송하는 전송 경로를 제공하고, 사용자 단말기(130)가 비디오 트랜스코딩 서버(110)에 접속하기 위한 접속 경로를 제공한다. 여기서, 통신망(120)은 WCDMA, HDPA, 3G, 4G 등 이동 통신망과, 블루투스(Bluetooth)와 지그비(Zigbee), 와이파이(Wi-Fi) 등 근거리 통신망과, 인터넷이나 PSTN 등 유선 통신망 등을 포함한다.
사용자 단말기(130)는 비디오 트랜스코딩 서버(110)에 비디오 해상도, 가용 대역폭, 프레임율 및 코덱 리스트를 전송하며, 이후 비디오 트랜스코딩 서버(110)로부터 원본 압축 비디오가 트랜스코딩 된 비디오를 수신하여 디스플레이한다.
여기서, 사용자 단말기(130)는 비디오 트랜스코딩 서버(110)로부터 비디오 데이터를 수신하여 디스플레이할 수 있는 IPTV, 셋탑박스(Settop Box) 등이 될 수 있으며, 사용자가 이동하면서 비디오 데이터를 재생하여 볼 수 있는 스마트 폰이나 이동통신 단말기 등이 될 수 있다.
도 2는 본 발명의 실시예에 따른 비디오 트랜스코딩 장치의 기능 블럭을 개략적으로 나타낸 구성도이다.
도 2를 참조하면, 본 발명에 따른 비디오 트랜스코딩 장치(110)는 통신 인터페이스부(210), 대역폭 저장부(220), 부하율 저장부(230), 비디오 분석부(240), 코덱 결정부(250) 및 트랜스코딩부(260) 등을 포함한다.
통신 인터페이스부(210)는 사용자 단말기(130)와 통신망(120)을 통해 통신한다.
즉, 통신 인터페이스부(210)는 사용자 단말기(130)로부터 통신망(120)을 통해 가용 대역폭, 비디오 해상도, 프레임율 및 코덱 리스트(Codec List)를 전송받거나, 사용자 단말기(130)에 트랜스코딩 된 비디오를 전송한다.
대역폭 저장부(220)는 사용자 단말기(130)에 전송할 원본 압축 비디오에 대해, 비디오의 장르에 따라 미리 측정된 각 코덱 종류에 따른 평균적인 요구 대역폭을 저장하고 있다.
부하율 저장부(230)는 각 코덱별 장르에 따라 미리 측정된 CPU 점유율을 저장하고 있다.
비디오 분석부(240)는 사용자 단말기(130)에 전송하기 위해 트랜스코딩 할 원본 압축 비디오가 입력되면, 입력된 원본 압축 비디오를 분석하여 원본 압축 비디오의 장르를 확인한다.
또한, 비디오 분석부(240)는 사용자 단말기(130)로부터 원본 압축 비디오의 장르를 입력받거나, 장르 분류 알고리즘(Genre Classification Algorithm)을 통해 검출하여 원본 압축 비디오의 장르를 확인할 수 있다.
코덱 결정부(250)는 확인된 원본 압축 비디오의 장르와, 사용자 단말기(130)로부터 전송받은 가용 대역폭, 비디오 해상도, 프레임율 및 코덱 리스트에 따라 트랜스코딩용 코덱을 결정한다. 여기서, 트랜스코딩용 코덱은 MPEG-2, MPEG-4 SP(Simple Profile), MPEG-4 ASP(Advanced Simple Profile). H.263, H.264, VC1 등을 포함한다.
또한, 코덱 결정부(250)는 가용 대역폭에 대해 측정하여 얻거나 사용자 단말기(130)로부터 입력받아 얻을 수 있다.
또한, 코덱 결정부(250)는, 각 코덱별로 장르에 따른 비디오 해상도, 프레임별 평균 비트율을 가지고 있으며, 각 코덱별로 장르에 따른 비디오 해상도, 프레임별 평균 CPU(Central Processing Unit) 부하율을 가지고 있다.
또한, 코덱 결정부(250)는, 각 코덱별 장르에 따른 비디오 해상도, 프레임별 평균 비트율에 근거해 각 코덱별로 트랜스코딩 후의 전송률을 예측하고, 현재 가용 대역폭보다 낮은 전송률을 가진 코덱 리스트에서, 코덱별 비디오 해상도, 프레임별 평균 CPU 부하율을 기반으로 현재의 CPU 부하율에 각 코덱별 CPU 부하율을 더한 부하량 값을 구하여, 구한 부하량 값이 특정값(T1)보다 작은 코덱을 찾아서 트랜스코딩용 코덱으로 결정할 수 있다.
또한, 코덱 결정부(250)는, 부하량 값이 특정값보다 작은 코덱이 2 개 이상인 경우, CPU 부하율을 더한 부하량 값이 가장 낮은 코덱을 트랜스코딩용 코덱으로 결정할 수 있다.
그리고, 코덱 결정부(250)는 부하량 값이 특정값(T1)보다 작은 코덱을 코덱 리스트에서 찾지 못하는 경우에 CPU 부하량을 최소로 하는 코덱을 찾아서 트랜스코딩용 코덱으로 결정할 수 있다.
트랜스코딩부(260)는 결정된 코덱을 통해 원본 압축 비디오를 트랜스코딩하여 사용자 단말기(130)에 전송한다.
도 3은 본 발명의 실시예에 따른 트랜스코딩 장치의 비디오 트랜스코딩 방법을 설명하기 위한 동작 흐름도이다.
도 3을 참조하면, 본 발명에 따른 비디오 트랜스코딩 장치(110)는 먼저 사용자 단말기(130)에 전송할 원본 압축 비디오를 입력받는다(S310).
이때, 비디오 트랜스코딩 장치(110)는 사용자 단말기(130)에 전송할 원본 압축 비디오에 대해, 비디오의 장르에 따라 각 코덱 종류에 따른 평균적인 요구 대역폭을 미리 측정하여 저장하고, 또한 각 코덱별 장르에 따라 CPU 점유율(부하율)을 미리 측정하여 저장하고 있는 상태에서 원본 압축 비디오를 입력받는다.
이어, 비디오 트랜스코딩 장치(110)는 입력된 원본 압축 비디오를 분석하여 원본 압축 비디오의 장르(Genre)를 확인한다(S320).
이때, 비디오 트랜스코딩 장치(110)는 원본 압축 비디오의 장르를 사용자 단말기(130)로부터 입력받거나, 장르 분류 알고리즘(Genre Classification Algorithm)을 통해 검출하여 원본 압축 비디오의 장르를 확인할 수 있다.
이어, 비디오 트랜스코딩 장치(110)는 사용자 단말기(130)에 가용 대역폭, 비디오 해상도, 프레임율 및 코덱 리스트(Codec List)를 요청하고(S330), 사용자 단말기(130)로부터 가용 대역폭, 비디오 해상도, 프레임율 및 코덱 리스트를 수신한다(S340).
이어, 비디오 트랜스코딩 장치(110)는 확인된 원본 압축 비디오의 장르와, 사용자 단말기(130)로부터 수신한 가용 대역폭, 비디오 해상도, 프레임율 및 코덱 리스트에 따라 트랜스코딩용 코덱을 결정한다(S350).
이때, 비디오 트랜스코딩 장치(110)는 코덱 결정부(250)를 통해 가용 대역폭을 측정하여 얻거나 사용자 단말기(130)로부터 입력받아 얻을 수 있다.
또한, 비디오 트랜스코딩 장치(110)는, 각 코덱별 장르에 따른 비디오 해상도, 프레임별 평균 비트율에 근거해 각 코덱별로 트랜스코딩 후의 전송률을 예측하고 현재 가용 대역폭보다 낮은 전송률을 가진 코덱 리스트에서, 코덱별 비디오 해상도, 프레임별 평균 CPU 부하율을 기반으로 현재의 CPU 부하율에 각 코덱별 CPU 부하율을 더한 부하량 값을 구하여, 구한 부하량 값이 특정값보다 작은 코덱을 찾아서 트랜스코딩용 코덱으로 결정할 수 있다.
또한, 비디오 트랜스코딩 장치(110)는, 부하량 값이 특정값보다 작은 코덱이 2 개 이상인 경우, CPU 부하율을 더한 부하량 값이 가장 낮은 코덱을 트랜스코딩용 코덱으로 결정할 수 있다.
또한, 비디오 트랜스코딩 장치(110)는 구한 부하량 값이 특정값보다 작은 코덱을 코덱 리스트에서 찾지 못하는 경우에 CPU 부하량을 최소로 하는 코덱을 찾아서 트랜스코딩용 코덱으로 결정할 수 있다.
이어, 비디오 트랜스코딩 장치(110)는 결정된 코덱을 통해 원본 압축 비디오를 트랜스코딩한다(S360).
그리고, 비디오 트랜스코딩 장치(110)는 트랜스코딩 된 비디오를 통신망(120)을 통해 사용자 단말기(130)에 전송한다(S370).
따라서, 사용자 단말기(130)는 자신의 가용 대역폭, 비디오 해상도, 프레임율 및 코덱에 적합한 트랜스코딩 된 비디오를 수신하여 최상의 상태로 디스플레이할 수 있다.
전술한 바와 같이 본 발명에 따르면, 비디오의 디코딩(Decoding)과 비디오 편집, 인코딩(Encoding) 과정 등의 비디오 트랜스코딩을 수행할 때, 사용자의 가용 네트워크 대역폭, 비디오의 특성, 서버의 연산부하를 고려하여 트랜스코더의 코덱 타입을 결정해, 제한된 서버의 연산 능력하에서 최대한 많은 수의 비디오를 트랜스코딩할 수 있도록 된, 비디오 트랜스코딩 방법 및 시스템을 실현할 수 있다.
본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있으므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
본 발명은 비디오 컨텐츠를 네트워크를 통해 전송하는 장치나 시스템 등에 적용할 수 있고, 비디오 컨텐츠를 실시간으로 재인코딩하여 전송하는 비디오 트랜스코딩 기술에 적용할 수 있다.
100 : 비디오 트랜스코딩 시스템 110 : 비디오 트랜스코딩 장치
120 : 통신망 130 : 사용자 단말기
210 : 통신 인터페이스부 220 : 대역폭 저장부
230 : 부하율 저장부 240 : 비디오 분석부
250 : 코덱 결정부 260 : 트랜스코딩부

Claims (16)

  1. 현재의 CPU 부하율에 따라 트랜스코딩용 코덱을 결정하며, 결정된 코덱을 통해 원본 압축 비디오를 트랜스코딩하는 비디오 트랜스코딩 장치; 및
    상기 비디오 트랜스코딩 장치로부터 트랜스코딩 된 비디오를 수신하여 디스플레이하는 사용자 단말기;
    를 포함하는 비디오 트랜스코딩 시스템.
  2. 제 1 항에 있어서,
    상기 비디오 트랜스코딩 장치는, 상기 사용자 단말기로부터 비디오 해상도, 가용 대역폭, 프레임율 및 코덱 리스트를 전송받고, 상기 원본 압축 비디오의 장르에 따라 코덱 리스트의 각 코덱별로 전송률을 예측하고, 현재 가용 대역폭보다 낮은 전송률을 가진 코덱 리스트를 검색한 후, 검색된 코덱 리스트에서 현재의 CPU 부하율에 각 코덱별 CPU 부하율을 더한 값이 임계값보다 작은 코덱을 찾아서 트랜스코딩용 코덱으로 결정하며, 결정된 코덱을 통해 원본 압축 비디오를 트랜스코딩하는 것을 특징으로 하는 비디오 트랜스코딩 시스템.
  3. 사용자 단말기와 통신망을 통해 통신하는 통신 인터페이스부;
    상기 사용자 단말기에 전송할 비디오에 대해, 비디오의 장르에 따라 미리 측정되고 각 코덱 종류에 따른 평균적인 요구 대역폭을 저장하고 있는 대역폭 저장부;
    상기 각 코덱별 장르에 따라 미리 측정된 CPU 점유율을 저장하고 있는 부하율 저장부;
    상기 사용자 단말기에 전송하기 위한 원본 압축 비디오가 입력되면, 입력된 원본 압축 비디오를 분석하여 원본 압축 비디오의 장르를 확인하는 비디오 분석부;
    상기 확인된 원본 압축 비디오의 장르와, 상기 사용자 단말기로부터 전송받은 가용 대역폭, 비디오 해상도, 프레임율 및 코덱 리스트에 따라 코덱을 결정하는 코덱 결정부; 및
    상기 결정된 코덱을 통해 원본 압축 비디오를 트랜스코딩하는 트랜스코딩부;
    를 포함하는 비디오 트랜스코딩 장치.
  4. 제 3 항에 있어서,
    상기 비디오 분석부는, 상기 원본 압축 비디오의 장르를 입력받거나, 장르 분류 알고리즘(Genre Classification Algorithm)을 통해 원본 압축 비디오의 장르를 확인하는 것을 특징으로 하는 비디오 트랜스코딩 장치.
  5. 제 3 항에 있어서,
    상기 코덱 결정부는, 상기 가용 대역폭에 대해 측정하여 얻거나 사용자 단말기로부터 입력받아 얻는 것을 특징으로 하는 비디오 트랜스코딩 장치.
  6. 제 3 항에 있어서,
    상기 코덱 결정부는, 각 코덱별 장르에 따른 비디오 해상도, 프레임별 평균 비트율 및, 프레임별 평균 CPU 부하율을 가지고 있는 것을 특징으로 하는 비디오 트랜트코딩 장치.
  7. 제 6 항에 있어서,
    상기 코덱 결정부는, 각 코덱별 장르에 따른 비디오 해상도, 프레임별 평균 비트율에 근거해 각 코덱별로 트랜스코딩 후의 전송률을 예측하고 현재 가용 대역폭보다 낮은 전송률을 가진 코덱 리스트에서, 상기 코덱별 비디오 해상도, 프레임별 평균 CPU 부하율을 기반으로 현재의 CPU 부하율에 각 코덱별 CPU 부하율을 더한 부하량 값을 구하여, 구한 부하량 값이 특정값보다 작은 코덱을 찾아서 트랜스코딩용 코덱으로 결정하는 것을 특징으로 하는 비디오 트랜스코딩 장치.
  8. 제 7 항에 있어서,
    상기 코덱 결정부는, 상기 부하량 값이 특정값보다 작은 코덱이 2 개 이상인 경우, 상기 CPU 부하율을 더한 부하량 값이 가장 낮은 코덱을 트랜스코딩용 코덱으로 결정하는 것을 특징으로 하는 비디오 트랜스코딩 장치.
  9. 제 3 항에 있어서,
    상기 코덱 결정부는, 상기 부하량 값이 특정값보다 작은 코덱을 코덱 리스트에서 찾지 못하는 경우에 CPU 부하량을 최소로 하는 코덱을 찾아서 트랜스코딩용 코덱으로 결정하는 것을 특징으로 하는 비디오 트랜스코딩 장치.
  10. 사용자 단말기와 통신망을 통해 통신하는 트랜스코딩 장치의 비디오 트랜스코딩 방법으로서,
    (a) 원본 압축 비디오를 분석하여 원본 압축 비디오의 장르를 확인하는 단계;
    (b) 상기 사용자 단말기에 요청하여 상기 사용자 단말기로부터 가용 대역폭, 비디오 해상도, 프레임율 및 코덱 리스트(Codec List)를 수신하는 단계;
    (c) 상기 확인된 원본 압축 비디오의 장르와, 상기 사용자 단말기로부터 수신한 가용 대역폭, 비디오 해상도, 프레임율 및 코덱 리스트에 따라 코덱을 결정하는 단계; 및
    (d) 상기 결정된 코덱을 통해 원본 압축 비디오를 트랜스코딩하는 단계;
    를 포함하는 트랜스코딩 장치의 비디오 트랜스코딩 방법.
  11. 제 10 항에 있어서,
    상기 (a) 단계는 상기 사용자 단말기에 전송할 원본 압축 비디오에 대해, 비디오의 장르에 따라 각 코덱 종류에 따른 평균적인 요구 대역폭을 미리 측정하여 저장하고, 상기 각 코덱별 장르에 따라 CPU 점유율(부하율)을 미리 측정하여 저장하고 있는 상태에서, 상기 원본 압축 비디오를 분석하여 장르를 확인하는 것을 특징으로 하는 트랜스코딩 장치의 비디오 트랜스코딩 방법.
  12. 제 10 항에 있어서,
    상기 (a) 단계는, 상기 사용자 단말기로부터 원본 압축 비디오의 장르를 입력받거나, 장르 분류 알고리즘(Genre Classification Algorithm)을 통해 원본 압축 비디오의 장르를 확인하는 것을 특징으로 하는 트랜스코딩 장치의 비디오 트랜스코딩 방법.
  13. 제 10 항에 있어서,
    상기 (b) 단계에서 상기 가용 대역폭을 측정하여 얻거나 사용자 단말기로부터 입력받아 얻는 것을 특징으로 하는 트랜스코딩 장치의 비디오 트랜스코딩 방법.
  14. 제 10 항에 있어서,
    상기 (c) 단계는, 각 코덱별 장르에 따른 비디오 해상도, 프레임별 평균 비트율에 근거해 각 코덱별로 트랜스코딩 후의 전송률을 예측하고 현재 가용 대역폭보다 낮은 전송률을 가진 코덱 리스트에서, 상기 코덱별 비디오 해상도, 프레임별 평균 CPU 부하율을 기반으로 현재의 CPU 부하율에 각 코덱별 CPU 부하율을 더한 부하량 값을 구하여, 구한 부하량 값이 특정값보다 작은 코덱을 찾아서 트랜스코딩용 코덱으로 결정하는 것을 특징으로 하는 트랜스코딩 장치의 비디오 트랜스코딩 방법.
  15. 제 14 항에 있어서,
    상기 (c) 단계는, 상기 부하량 값이 특정값보다 작은 코덱을 코덱 리스트에서 찾지 못하는 경우에 CPU 부하량을 최소로 하는 코덱을 찾아서 트랜스코딩용 코덱으로 결정하는 것을 특징으로 하는 트랜스코딩 장치의 비디오 트랜스코딩 방법.
  16. 제 14 항에 있어서,
    상기 (c) 단계는, 상기 부하량 값이 특정값보다 작은 코덱이 2 개 이상인 경우, 상기 CPU 부하율을 더한 부하량 값이 가장 낮은 코덱을 트랜스코딩용 코덱으로 결정하는 것을 특징으로 하는 트랜스코딩 장치의 비디오 트랜스코딩 방법.
KR1020110023740A 2011-03-17 2011-03-17 비디오 트랜스코딩 방법 및 시스템 KR101882889B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110023740A KR101882889B1 (ko) 2011-03-17 2011-03-17 비디오 트랜스코딩 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110023740A KR101882889B1 (ko) 2011-03-17 2011-03-17 비디오 트랜스코딩 방법 및 시스템

Publications (2)

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

Family

ID=47112746

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110023740A KR101882889B1 (ko) 2011-03-17 2011-03-17 비디오 트랜스코딩 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR101882889B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150021007A (ko) * 2013-08-19 2015-02-27 경희대학교 산학협력단 클라우드 컴퓨팅을 이용한 멀티미디어 서비스 품질 향상 방법 및 이를 위한 기기
WO2016052845A1 (ko) * 2014-10-02 2016-04-07 엔트릭스 주식회사 클라우드 스트리밍 서비스 시스템, 최적 gpu를 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR101871116B1 (ko) * 2017-09-08 2018-06-25 인하대학교 산학협력단 트랜스코딩 소모 전력을 제한하고 사용자 인지 품질을 최대화 하기 위한 방법
CN115842918A (zh) * 2022-10-28 2023-03-24 金程科技有限公司 一种可变码率的视频流实时转码发送装置与方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060066521A (ko) * 2004-12-13 2006-06-16 삼성전자주식회사 멀티미디어 컨텐츠를 연속적으로 전송하는 장치 및 방법
JP2007096800A (ja) * 2005-09-29 2007-04-12 Toshiba Corp 動画像データの再圧縮符号化方法、装置及びプログラム
KR20080003961A (ko) * 2006-07-04 2008-01-09 (주) 컨텐츠플러그 동영상 콘텐츠 서비스 시스템 및 방법
JP2009049474A (ja) * 2007-08-13 2009-03-05 Toshiba Corp 情報処理装置および再符号化方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060066521A (ko) * 2004-12-13 2006-06-16 삼성전자주식회사 멀티미디어 컨텐츠를 연속적으로 전송하는 장치 및 방법
JP2007096800A (ja) * 2005-09-29 2007-04-12 Toshiba Corp 動画像データの再圧縮符号化方法、装置及びプログラム
KR20080003961A (ko) * 2006-07-04 2008-01-09 (주) 컨텐츠플러그 동영상 콘텐츠 서비스 시스템 및 방법
JP2009049474A (ja) * 2007-08-13 2009-03-05 Toshiba Corp 情報処理装置および再符号化方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150021007A (ko) * 2013-08-19 2015-02-27 경희대학교 산학협력단 클라우드 컴퓨팅을 이용한 멀티미디어 서비스 품질 향상 방법 및 이를 위한 기기
WO2016052845A1 (ko) * 2014-10-02 2016-04-07 엔트릭스 주식회사 클라우드 스트리밍 서비스 시스템, 최적 gpu를 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
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 (ko) * 2017-09-08 2018-06-25 인하대학교 산학협력단 트랜스코딩 소모 전력을 제한하고 사용자 인지 품질을 최대화 하기 위한 방법
CN115842918A (zh) * 2022-10-28 2023-03-24 金程科技有限公司 一种可变码率的视频流实时转码发送装置与方法

Also Published As

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

Similar Documents

Publication Publication Date Title
KR101894420B1 (ko) 적응적 비디오 트랜스코딩 방법 및 시스템
CN110460871B (zh) 直播视频的生成方法、装置、***及设备
US10003626B2 (en) Adaptive real-time transcoding method and streaming server therefor
US20190166170A1 (en) Video Streaming Delivery
CA3057894C (en) Video compression using down-sampling patterns in two phases
US20140189141A1 (en) Real-time content transcoding method, apparatus and system, and real-time content receiving method and apparatus
US20140226711A1 (en) System and method for self-adaptive streaming of multimedia content
KR101882889B1 (ko) 비디오 트랜스코딩 방법 및 시스템
KR101569502B1 (ko) 트랜스코딩 작업 할당 장치, 방법 및 컴퓨터 판독 가능한 기록 매체
US10750185B2 (en) High speed scalable video coding device and method using multi-track video
WO2016032383A1 (en) Sharing of multimedia content
JP2022158941A (ja) ビデオエンコーディングの交差検証
Hemalatha et al. Adaptive bitrate transcoding for power efficient video streaming in mobile devices
Arnaiz et al. Efficient personalized scalable video adaptation decision-taking engine based on MPEG-21
Shao et al. A multimedia terminal for adaptation and end-to-end Qos control
Uddin et al. Optimization and Evaluation of Emerging Codecs
Aubry et al. Spatial downsizing impact in the transrating tradeoff for content/context awareness in media network
Zhang et al. A Packet-Layer Model with Content Characteristics for Video Quality Assessment of IPTV
KR20180026683A (ko) 멀티트랙 비디오를 스케일러블 비디오로 인코딩하는 방법 및 장치
Kent et al. On-demand hd video using jini based grid
Salvador Avaliação da Qualidade de Experiência de Vídeo em Várias Tecnologias
Wang Channel Aware Joint Optimization of Latency and Distortion for Image Communications
KR20100079597A (ko) 어레이 기반의 움직임 벡터 추출기 및 그 방법

Legal Events

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