KR101540217B1 - Apparatus, system, method and computer readable recording medium for performing the optimal trnscording automatically - Google Patents

Apparatus, system, method and computer readable recording medium for performing the optimal trnscording automatically Download PDF

Info

Publication number
KR101540217B1
KR101540217B1 KR1020120121366A KR20120121366A KR101540217B1 KR 101540217 B1 KR101540217 B1 KR 101540217B1 KR 1020120121366 A KR1020120121366 A KR 1020120121366A KR 20120121366 A KR20120121366 A KR 20120121366A KR 101540217 B1 KR101540217 B1 KR 101540217B1
Authority
KR
South Korea
Prior art keywords
transcoding
format
information
user terminal
terminal
Prior art date
Application number
KR1020120121366A
Other languages
Korean (ko)
Other versions
KR20140055066A (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 KR1020120121366A priority Critical patent/KR101540217B1/en
Publication of KR20140055066A publication Critical patent/KR20140055066A/en
Application granted granted Critical
Publication of KR101540217B1 publication Critical patent/KR101540217B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은 자동으로 최적의 트랜스코딩을 수행하는 장치에 관한 것으로, 자동으로 최적의 트랜스코딩을 수행하는 장치는 사용자 단말로부터 수신된 단말 정보에 기초하여 트랜스코딩 포맷을 설정하는 제어부, 상기 사용자 단말로부터 수신된 컨텐츠 정보에 기초하여 인식된 특정 컨텐츠를 상기 설정된 트랜스코딩 포맷에 기초하여 트랜스코딩하는 트랜스코딩부 및 상기 단말 정보를 저장하는 단말 정보 데이터베이스를 포함한다. The present invention relates to an apparatus for automatically performing optimal transcoding, and an apparatus for automatically performing optimal transcoding includes a controller for setting a transcoding format based on terminal information received from a user terminal, A transcoder for transcoding specific content recognized based on the received content information based on the set transcoding format, and a terminal information database for storing the terminal information.

Description

자동으로 최적의 트랜스코딩을 수행하는 장치, 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체{APPARATUS, SYSTEM, METHOD AND COMPUTER READABLE RECORDING MEDIUM FOR PERFORMING THE OPTIMAL TRNSCORDING AUTOMATICALLY}BACKGROUND OF THE INVENTION 1. Field of the Invention [0001] The present invention relates to an apparatus, a system, a method, and a computer-readable recording medium for automatically performing optimal transcoding.

본 발명은 자동으로 최적의 트랜스코딩을 수행하는 장치 등에 관한 것으로, 보다 상세하게는 사용자에 의한 구체적인 트랜스코딩의 포맷 선택이 없이도 자동으로 사용자가 사용하는 사용자 단말에 가장 최적화된 트랜스코딩을 수행하고 이를 제공하는 장치, 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체에 관한 것이다. The present invention relates to an apparatus for automatically performing optimal transcoding, and more particularly, to a system and method for automatically performing optimal transcoding for a user terminal used by a user without selecting a format of a specific transcoding by a user, A method, and a computer-readable recording medium.

오늘날 인터넷의 광범위한 보급에 따라 각종 디지털 가입자 회선(xDSL), 케이블(Cable), 모바일(Mobile), 공중 무선 랜 서비스(WLAN), 전력선 통신 등 다양한 네트워크를 이용하여 고성능 개인용 컴퓨터(Personal Computer;PC), 개인 휴대 정보 단말기(Personal Digital Assistance; PDA), 휴대폰, 각종 태블릿(Tablet) 등 다양한 종류의 사용자 단말이 사용되고 있다. 또한, MPEG1 MPEG2, MPEG 4, H.264 등 서로 다른 멀티 미디어 압축 방식들이 공존하고 있다.Today, with the widespread use of the Internet, a high performance personal computer (PC) is used by using various networks such as various digital subscriber line (xDSL), cable, mobile, public wireless LAN service (WLAN) , A personal digital assistant (PDA), a mobile phone, various tablets, and the like are used. Also, different multimedia compression schemes such as MPEG1 MPEG2, MPEG4, and H.264 coexist.

따라서, 이러한 다양한 네트워크 및 사용자 단말, 그리고 다양한 압축 방식들을 모두 고려하여 멀티미디어 컨텐츠를 개발한다면 하나의 컨텐츠에 대해 서로 다른 네트워크를 이용하여 서로 다른 사용자 단말에게 적합한, 즉 다양한 종류의 멀티미디어 파일들을 각각 개발하여야 한다는 문제점을 야기한다. Therefore, if multimedia contents are developed considering all of these various networks, user terminals, and various compression methods, it is necessary to develop various kinds of multimedia files suitable for different user terminals using different networks for one content .

이러한 문제점을 해결하기 위한 방법으로서, 하나의 컨텐츠를 서로 다른 네트워크, 해상도, 사용자 단말의 성능, 사용자 인터페이스(User Interface; UI) 등에서 공통으로 사용될 수 있도록 변환 기능을 제공하여 OSMU(One Source Multi Use)의 개념을 구현하는 것이 고려되고 있으며, 이를 위해 원래의 컨텐츠를 각 네트워크 대역폭, 사용자 단말의 특성 및 성능에 적합하도록 가공, 변환, 선별하는 과정이 수행되어야 하는데 이러한 과정을 멀티미디어의 “트랜스코딩”이라 한다. As a method for solving such a problem, there is a method of converting a single content to be used commonly in different networks, resolutions, performance of user terminals, user interface (UI) In order to do this, a process of processing, converting, and sorting the original contents according to the network bandwidth, the characteristics and the performance of the user terminal should be performed. In order to do this, it is necessary to perform the process of "transcoding" do.

한편, 각종 기기 및 네트워크의 성능이 좋아지면서 멀티미디어 컨텐츠를 보유하고 있는 서버측에서 미리 사용자 단말에 적합하게 트랜스코딩을 수행해 두는 것이 아니라 각 사용자 단말의 요청시에 트랜스코딩을 수행하는, 즉 실시간 트랜스코딩을 지원하게 되었다. 그 기술중의 하나로서 대한민국 등록특허공보 제10-0760617호 “실시간 트랜스코딩 장치 및 그의 운용 방법(에스케이 텔레콤 주식회사)”(문헌 1)에는 다양한 캐시 운용 방식을 적용하여 트랜스코딩된 컨텐츠를 캐시에 저장하여 놓음으로써 동일한 컨텐츠를 반복하여 트랜스코딩함에 기인한 부하를 효율적으로 감소시키는 장치 및 방법 등이 개시된다. On the other hand, as the performance of various devices and networks is improved, a server having multimedia contents does not perform transcoding suitable for a user terminal in advance, but rather performs transcoding upon request of each user terminal, . As one of such techniques, Korean Patent Registration No. 10-0760617 entitled " Real-Time Transcoding Device and Its Operation Method (SKY Telecom Co., Ltd.) " (Document 1), a variety of caching operations are applied to store transcoded contents in a cache An apparatus and a method for efficiently reducing the load caused by repeatedly transcoding the same contents by releasing the same contents.

하지만, 기술의 빠른 진보로 인해 서로 다른 특성과 성능을 갖는 사용자 단말은 계속하여 개발되고 판매되고 있다. 일 예로 삼성전자가 개발한 제품 중 갤럭시 탭의 경우 화면 사이즈가 7.0인치, 7.7인치, 8.9인치 및 10.1인치로 서로 다양하고 사용된 내부 프로세서, 하드웨어 가속을 지원하는 코덱의 존재 여부 및 종류, 메모리 사이즈 또한 서로 상이하다. 또 다른 제품인 갤럭시 노트의 경우 그 화면 사이즈가 5.3인치, 10.1인치 및 5.5인치로 상이하며 갤럭시s 시리즈의 경우에도 앞선 제품들과 그 사이즈 및 내부 프로세서 등 사용자 단말의 특성 및 성능이 서로 상이함을 알 수 있다. 이와 같이 서로 다른 특성과 성능을 갖는 사용자 단말에 가장 적합한 멀티미디어 컨텐츠를 제공하기 위해서는 각 단말의 특성 및 성능에 기초한 최적의 포맷으로 트랜스코딩을 수행하는 것이 가장 적절하나 선행기술에 따르면 이미 트랜스코딩된 컨텐츠를 캐시에 저장하고 다른 단말의 요청시 별도의 트랜스코딩 없이 캐시에 저장된 컨텐츠를 제공하게 되므로 사용자 단말의 특성 및 성능에 무관하게 트랜스코딩된 컨텐츠가 제공되어 단말의 성능에 한참 못 미치게 되거나, 최악의 경우에는 단말에서 지원하지 않거나 재생에 문제를 일으킬 수 있다는 문제점이 존재한다. However, due to rapid advances in technology, user terminals with different characteristics and capabilities continue to be developed and sold. For example, among the products developed by Samsung Electronics, Galaxy Tab has various internal processors used for screen sizes 7.0 inches, 7.7 inches, 8.9 inches, and 10.1 inches, the presence and type of codecs supporting hardware acceleration, They are also different. Galaxy Note, another product, has a different screen size of 5.3 inches, 10.1 inches, and 5.5 inches, and Galaxy s series has different characteristics and performance of user terminals such as the previous products and their sizes and internal processors. . In order to provide multimedia contents most suitable for a user terminal having different characteristics and performance, it is most appropriate to perform transcoding in an optimal format based on the characteristics and performance of each terminal. However, according to the prior art, Since the contents stored in the cache are provided without any additional transcoding at the request of the other terminal, the transcoded contents are provided irrespective of the characteristics and performance of the user terminal, There is a problem that the terminal may not support it or cause a problem in playback.

이러한 문제점을 해결하기 위해서 서버에서 주요 사용자 단말의 특성 및 성능을 모두 조사하고 이에 따른 적절한 포맷을 구비하여 두고 사용자 단말을 이용하는 사용자로부터의 단말 선택에 기초하여 해당 단말용 트랜스코딩을 수행하거나 또는 사용자들이 직접 트랜스코딩을 위한 포맷의 상세한 옵션값들을 직접 선택하는 방법이 있을 수 있다. 하지만, 계속하여 개발되고 판매되는 새로운 단말들의 특성과 성능에 기초한 최적의 포맷을 계속하여 업데이트하여 두는 것은 쉬운 일이 아니고, 일반 사용자들에게 있어 멀티미디어 컨텐츠의 재생시마다 자신의 사용자 단말을 수많은 리스트 중에서 선택하거나 직접 포맷의 상세한 옵션값들을 모두 선택한다는 것은 매우 어렵거나 불편한 일이 아닐 수 없다. In order to solve such a problem, a server investigates all the characteristics and performance of a major user terminal and has appropriate formats according to it, and performs transcoding for the terminal based on the terminal selection from the user using the user terminal, There may be a way to directly select the detailed option values of the format for direct transcoding. However, it is not easy to continuously update the optimal format based on the characteristics and performance of new terminals developed and sold continuously, and it is not easy for ordinary users to select their user terminals from a large number of lists Or selecting all of the detailed option values of the direct format can be very difficult or inconvenient.

따라서, 사용자가 자신의 사용자 단말을 선택하거나, 또는 트랜스코딩에 이용될 포맷의 상세한 옵션값들을 멀티미디어 컨텐츠의 재생시마다 스스로 선택해야 할 불편함 및 필요성 없이도 사용자 단말에 최적인 포맷을 자동적으로 인식하고 이에 맞춘 트랜스코딩을 수행할 수 있는 방법의 필요성이 요구되고 있는 실정이다.Accordingly, it is possible to automatically recognize the optimal format for the user terminal without any inconvenience and necessity for the user to select his or her own user terminal, or to select the detailed option values of the format to be used for the transcoding, There is a need for a method for performing transcoding in accordance with the present invention.

[문헌 1] 대한민국등록특허공보 제10-0870617호 실시간 트랜스코딩 장치 및 그의 운용 방법(에스케이 텔레콤주식회사) 2008.11.19[Patent Document 1] Korean Registered Patent No. 10-0870617 Real-time transcoding device and method of operating the same (SK Telecom Co., Ltd.) 2008.11.19

본 발명의 목적은 사용자가 자신의 사용자 단말을 선택하거나, 또는 해당 단말의 특성 및 성능에 기초한 적절한 포맷을 선택하지 않아도 사용자 단말에 최적인 포맷을 자동으로 인식하고 이에 맞춘 트랜스코딩을 수행하는 장치, 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체를 제공함에 있다.It is an object of the present invention to provide an apparatus and a method for automatically recognizing a format best suited to a user terminal and performing transcoding according to the selected format, without selecting a user terminal of the user or selecting an appropriate format based on the characteristics and performance of the terminal, A method, and a computer-readable recording medium.

또한, 본 발명의 다른 목적은 사용자 단말에 설치되는 애플리케이션이 사용자 단말의 특성 및 성능의 수집 및 이에 기초하여 연산 능력을 수치화하고, 서버의 요청시 상기 수집된 특성 및 성능, 그리고 수치화된 연산 능력을 포함하는 단말 정보를 제공하여 서버측에서 사용자 단말에 최적인 포맷으로 트랜스코딩을 수행하는 장치, 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체를 제공함에 있다. It is another object of the present invention to provide a method and apparatus for an application installed in a user terminal to collect the characteristics and performance of a user terminal and to quantify the computing capability based on the collected characteristics and performance, A system, a method, and a computer-readable recording medium for performing transcoding in a format optimal for a user terminal on the server side by providing terminal information including the terminal information.

상기한 바와 같은 본 발명의 목적을 달성하고, 후술하는 본 발명의 특유의 효과를 달성하기 위한, 본 발명의 특징적인 구성은 하기와 같다.In order to achieve the above-described object of the present invention and to achieve the specific effects of the present invention described below, the characteristic structure of the present invention is as follows.

본 발명의 일 측면에 따르면, 자동으로 최적의 트랜스코딩을 수행하는 장치는 사용자 단말로부터 수신된 단말 정보에 기초하여 트랜스코딩 포맷을 설정하는 제어부, 상기 사용자 단말로부터 수신된 컨텐츠 정보에 기초하여 인식된 특정 컨텐츠를 상기 설정된 트랜스코딩 포맷에 기초하여 트랜스코딩하는 트랜스코딩부 및 상기 단말 정보를 저장하는 단말 정보 데이터베이스를 포함한다. According to an aspect of the present invention, an apparatus for automatically performing optimal transcoding includes a controller configured to set a transcoding format based on terminal information received from a user terminal, A transcoding unit for transcoding the specific content based on the set transcoding format, and a terminal information database for storing the terminal information.

바람직하게는, 상기 단말 정보는, 상기 사용자 단말에서 수집되고 특정 상황 발생시 전송되며, 상기 특정 상황은 상기 사용자 단말이 네트워크에 연결되는 상황 또는 상기 컨텐츠 정보를 송신하는 상황을 포함한다. Preferably, the terminal information is collected by the user terminal and transmitted when a specific situation occurs, and the specific situation includes a situation in which the user terminal is connected to a network or a situation in which the content information is transmitted.

바람직하게는, 상기 제어부는 상기 단말 정보에 포함된 코덱 리스트 중 하드웨어 가속을 지원하는 코텍 리스트, 소프트웨어 코덱 리스트, 상기 소프트웨어 코덱 리스트 중 GPU(Graphic Processing Unit)를 이용하는 코덱 리스트 및 상기 코텍 리스트 중 최신 코덱 여부 중 적어도 하나 이상에 기초하여 상기 트랜스코딩 포맷의 옵션 값을 설정한다. Preferably, the control unit includes a codec list supporting a hardware acceleration, a software codec list, a codec list using a GPU (Graphic Processing Unit) among the software codec list, and a codec list using a latest codec Or < RTI ID = 0.0 > a < / RTI > transcoding format.

바람직하게는, 상기 제어부는 상기 단말 정보에 기초하여 상기 컨텐츠가 트랜스코딩될 출력 해상도, 압축 방식, 초당 프레임수, P 프레임 간격 및 비트 레이트 중 적어도 하나 이상을 상기 트랜스코딩 포맷의 옵션 값으로 더 설정한다. Preferably, the control unit further sets at least one of an output resolution, a compression scheme, a frame rate per second, a P frame interval, and a bit rate at which the content is to be transcoded, as an option value of the transcoding format, based on the terminal information do.

바람직하게는, 상기 제어부는 상기 옵션 값이 설정된 트랜스코딩 포맷에 기초한 예상 화질을 계산하고, 상기 계산된 예상 화질이 미리 설정된 최소 화질보다 높은 제1 조건을 만족하지 않는 경우 상기 트랜스코딩 포맷의 옵션 값 중 적어도 일부를 재설정한다. Preferably, the controller calculates an expected image quality based on the transcoding format in which the option value is set, and when the calculated image quality does not satisfy a first condition higher than a predetermined minimum image quality, At least a part of the data is reset.

바람직하게는, 상기 제어부는 상기 네트워크의 속도가 상기 트랜스코딩 포맷의 옵션 값으로 설정된 비트 레이트보다 높은 제2 조건을 만족하지 않는 경우 상기 트랜스코딩 포맷의 옵션 값 중 적어도 일부를 재설정한다. Advantageously, the control unit resets at least some of the option values of the transcoding format if the speed of the network does not satisfy a second condition higher than a bit rate set to an option value of the transcoding format.

바람직하게는, 상기 트랜스코딩부는 상기 제1 조건 또는 상기 제2 조건이 만족한 경우에 한하여 상기 컨텐츠를 트랜스코딩한다. Preferably, the transcoding unit transcodes the content only when the first condition or the second condition is satisfied.

바람직하게는, 상기 제어부는 상기 컨텐츠의 트랜스코딩이 종료될 때까지, 이미 트랜스코딩된 프레임 정보에 기초한 예상 화질이 미리 설정된 최소 화질보다 높지 않거나 상기 트랜스코딩된 프레임 정보에 기초한 비트 레이트가 상기 트랜스코딩 포맷의 옵션 값으로 설정된 비트 레이트보다 높지 않은 경우 상기 트랜스코딩 포맷의 옵션 값 중 적어도 일부를 재설정한다. Preferably, the control unit determines whether the predicted picture quality based on the already-transcoded frame information is higher than a predetermined minimum picture quality until the transcoding of the content is completed, or if the bit rate based on the transcoded frame information is less than Format is not higher than the bit rate set as the option value of the format, at least some of the option values of the transcoding format are reset.

바람직하게는, 상기 제어부는 상기 컨텐츠의 트랜스코딩이 종료되기 전에도 이미 트랜스코딩된 부분을 상기 사용자 단말로 제공한다. Preferably, the controller provides the already transcoded portion to the user terminal before the transcoding of the content ends.

본 발명의 다른 측면에 따르면, 자동으로 최적의 트랜스코딩을 수행하는 시스템은 사용자 단말로부터 수신된 단말 정보에 기초하여 트랜스코딩 포맷을 설정하는 제어부, 상기 사용자 단말로부터 수신된 컨텐츠 정보에 기초하여 인식된 특정 컨텐츠를 상기 설정된 트랜스코딩 포맷에 기초하여 트랜스코딩하는 트랜스코딩부 및 상기 단말 정보를 저장하는 단말 정보 데이터베이스를 포함하는, 트랜스코딩 서버와, 상기 단말 정보를 수집하는 수집부 및 상기 특정 컨텐츠의 트랜스코딩된 부분을 재생하는 재생부를 포함하는 사용자 단말을 포함한다. According to another aspect of the present invention, a system for automatically performing optimal transcoding includes a controller configured to set a transcoding format based on terminal information received from a user terminal, A transcoding server for transcoding the specific content based on the set transcoding format and a terminal information database for storing the terminal information; a collection unit for collecting the terminal information; And a playback unit for playing back the coded portion.

본 발명의 또 다른 측면에 따르면, 자동으로 최적의 트랜스코딩을 수행하는 방법은, 트랜스코딩 서버에 의해 수행되는 각 단계가, 사용자 단말로부터 수신된 단말 정보에 기초하여 트랜스코딩 포맷을 설정하는 단계 및 상기 사용자 단말로부터 수신된 컨텐츠 정보에 의해 인식된 특정 컨텐츠를 상기 설정된 트랜스코딩 포맷에 기초하여 트랜스코딩하는 단계를 포함한다. According to another aspect of the present invention, a method for automatically performing optimal transcoding includes the steps of: each step performed by a transcoding server establishing a transcoding format based on terminal information received from a user terminal; And transcoding the specific content recognized by the content information received from the user terminal based on the set transcoding format.

한편, 자동으로 최적의 트랜스코딩을 수행하는 방법을 실행하기 위한 프로그램은 컴퓨터로 읽을 수 있는 기록 매체에 저장될 수 있다. 이러한 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있도록 프로그램 및 데이터가 저장되는 모든 종류의 기록매체를 포함한다. 그 예로는, 롬(Read Only Memory), 램(Random Access Memory), CD(Compact Disk), DVD(Digital Video Disk)-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함된다. 또한, 이러한 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.On the other hand, a program for executing a method of automatically performing optimal transcoding may be stored in a computer-readable recording medium. Such a recording medium includes all kinds of recording media in which programs and data are stored so that they can be read by a computer system. Examples of the storage medium include a ROM (Read Only Memory), a RAM (Random Access Memory), a CD (Compact Disk), a DVD (Digital Video Disk) -ROM, a magnetic tape, a floppy disk, (For example, transmission over the Internet). Such a recording medium may also be distributed over a networked computer system so that computer readable code in a distributed manner can be stored and executed.

상술한 바와 같이, 본 발명에 따르면 사용자가 자신의 사용자 단말을 선택하거나, 또는 해당 단말의 특성 및 성능에 기초한 적절한 포맷을 선택하지 않아도 사용자 단말에 최적인 포맷을 자동으로 인식하고 이에 맞춘 트랜스코딩을 수행할 수 있다는 장점이 있다. As described above, according to the present invention, the user can automatically recognize the optimal format for the user terminal without selecting his / her own user terminal or selecting the proper format based on the characteristics and performance of the corresponding terminal, It has the advantage of being able to perform.

또한, 본 발명에 따르면 사용자 단말에 설치되는 애플리케이션이 사용자 단말의 특성 및 성능의 수집 및 이에 기초하여 연산 능력을 수치화하고, 서버의 요청시 상기 수집된 특성 및 성능, 그리고 수치화된 연산 능력을 포함하는 단말 정보를 제공하여 서버측에서 사용자 단말에 최적인 포맷으로 트랜스코딩을 수행할 수 있다는 장점이 있다.In addition, according to the present invention, an application installed in a user terminal can collect the characteristics and performance of the user terminal and numerically calculate the computing capability based on the collected characteristics and performance, and the numerical computation ability It is advantageous in that the server side can perform transcoding in the format optimal for the user terminal by providing the terminal information.

도 1은 본 발명에 따른 자동으로 최적의 트랜스코딩을 수행하는 시스템을 나타내는 도면이다.
도 2는 본 발명에 따른 사용자 단말의 세부 구조를 나타내는 블록도이다.
도 3은 본 발명에 따른 트랜스코딩을 수행하는 서버의 세부 구조를 나타내는 블록도이다.
도 4는 본 발명에 따른 자동으로 최적의 트랜스코딩을 수행하는 절차를 나타내는 흐름도이다.
도 5는 본 발명에 따른 예시적인 단말 정보를 도시한 도면이다.
Figure 1 is a diagram illustrating a system for automatically performing optimal transcoding according to the present invention.
2 is a block diagram illustrating a detailed structure of a user terminal according to the present invention.
3 is a block diagram showing a detailed structure of a server for performing transcoding according to the present invention.
4 is a flowchart illustrating a procedure for automatically performing optimal transcoding according to the present invention.
5 is a diagram illustrating exemplary terminal information according to the present invention.

후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는 적절하게 설명된다면 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.The following detailed description of the invention refers to the accompanying drawings, which illustrate, by way of illustration, specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. It should be understood that the various embodiments of the present invention are different, but need not be mutually exclusive. For example, certain features, structures, and characteristics described herein may be implemented in other embodiments without departing from the spirit and scope of the invention in connection with an embodiment. It is also to be understood that the position or arrangement of the individual components within each disclosed embodiment may be varied without departing from the spirit and scope of the invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is to be limited only by the appended claims, along with the full scope of equivalents to which the claims are entitled, if properly explained. In the drawings, like reference numerals refer to the same or similar functions throughout the several views.

본 발명은 사용자에 의한 구체적인 트랜스코딩의 포맷 선택이 없이도 자동으로 사용자가 사용하는 사용자 단말의 단말 정보를 확인하고, 이에 기초하여 단말에 가장 최적화된 트랜스코딩을 수행하고 이를 제공하는 서버, 시스템, 방법 및 컴퓨터 판독 가능한 기록 매체를 개시한다. The present invention relates to a server, a system, and a method for confirming terminal information of a user terminal used by a user automatically without performing a format selection of a specific transcoding by a user, performing transcoding optimized for the terminal based on the information, And a computer readable recording medium.

한편, 후술하는 설명에서의 사용자 단말은 일반적인 데스크톱 컴퓨터뿐만 아니라 스마트폰을 포함하는 개념으로서, 이동 통신 단말기, 데스크톱 컴퓨터, 노트북 컴퓨터, 워크스테이션, 팜톱(palmtop) 컴퓨터, 개인 휴대 정보 단말기(personal digital assistant: PDA), 웹 패드 등과 같이 메모리 수단을 구비하고 마이크로 프로세서를 탑재하여 연산 능력을 갖춘 디지털 기기라면 얼마든지 본 발명에 따른 사용자 단말로서 채택될 수 있다.Meanwhile, the user terminal in the following description includes not only a general desktop computer but also a smart phone including a mobile communication terminal, a desktop computer, a notebook computer, a workstation, a palmtop computer, a personal digital assistant : PDA), a web pad, etc., and can be adopted as a user terminal according to the present invention as long as it is a digital device equipped with a microprocessor and capable of computing with a memory means.

이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings, so that those skilled in the art can easily carry out the present invention.

먼저, 도 1 내지 도 3을 참조하여 본 발명의 실시예에 따른 시스템 및 장치의 구조를 설명하며, 다음으로 도 4를 참조하여 본 발명의 실시예에 따른 절차를 상세히 설명한다.First, the structure of a system and an apparatus according to an embodiment of the present invention will be described with reference to FIG. 1 to FIG. 3, and then a procedure according to an embodiment of the present invention will be described in detail with reference to FIG.

트랜스코딩 수행 시스템Transcoding performance system

도 1은 본 발명에 따른 자동으로 최적의 트랜스코딩을 수행하는 시스템을 나타내는 도면이다. 도 1을 참조하면, 다수의 사용자 단말(100a, …, 100n) 들이 통신 네트워크(200)에 접속하여 트랜스코딩 서버(300)로 단말 정보의 전송 및 특정 멀티미디어 컨텐츠의 재생을 요청을 하고, 트랜스코딩 서버(300)는 각 사용자 단말의 단말 정보에 기초하여 최적으로 실시간 트랜스코딩을 수행한다. 또한, 트랜스코딩 서버(300)는 한편 트랜스코딩되는 멀티미디어 컨텐츠를 트랜스코딩 도중에 완료된 부분을 또는 전체 트랜스코딩이 완료된 이후 사용자 단말에서 실시간으로 재생할 수 있도록 스트리밍 방식으로 제공하는 기능을 더 수행할 수 있다. Figure 1 is a diagram illustrating a system for automatically performing optimal transcoding according to the present invention. Referring to FIG. 1, a plurality of user terminals 100a, ..., 100n access the communication network 200 to request transmission of terminal information and playback of specific multimedia contents to the transcoding server 300, The server 300 optimally performs real-time transcoding based on the terminal information of each user terminal. In addition, the transcoding server 300 may further provide a function of providing the streamed content to the user terminal so that the streamed content can be reproduced in real time after the completion of the transcoding or the entire transcoding is completed.

먼저, 사용자 단말(100) 내에는 단말의 특성 및 성능을 포함하는 단말 정보가 존재하고, 사용자 단말의 백그라운드 작업으로, 트랜스코딩 서버(300)의 요청에 의해, 컨텐츠 재생 요청시에 또는 사용자의 정보 전송에 의해 등 특정 상황의 발생시 단말 정보의 적어도 일부가 트랜스코딩 서버(300)로 전송될 수 있다. 상기 단말 정보는 본 발명에서 단말의 특성 및 성능에 관련된 정보로서 트랜스코딩의 포맷에 고려될 수 있는 모든 정보를 총칭하는 의미로 사용되며, 예컨대 중앙처리장치(Central Processing Unit: CPU)의 성능에 관련된 정보, 그래픽 처리 장치(Graphic Processing Unit: GPU)의 성능에 관련된 정보, 단말이 지원하는 코덱(Codec) 종류에 대한 정보, 단말의 메모리(RAM) 크기에 관련된 정보, 단말의 화면 해상도 정보 등을 포함할 수 있으나, 전술된 예에 한정되는 것은 아니다. 또는, 본 발명의 실시예에 따라서는 단말 정보는 사용자 단말(100)을 인식할 수 있는 모델명 또는 시리얼 넘버 등을 포함하고, 트랜스코딩 서버(300) 에서 상기 단말 정보에 기초하여 해당 단말을 인식하고 인식된 단말의 특성 및 성능에 관련된 상기 정보 등을 매칭하여 활용할 수도 있다. First, terminal information including the characteristics and capabilities of the terminal exists in the user terminal 100. In response to a request from the transcoding server 300 as a background job of the user terminal, At least a portion of the terminal information may be transmitted to the transcoding server 300 upon occurrence of a specific situation, such as by transmission. The terminal information is used to collectively refer to all information that can be considered in the format of the transcoding as information related to the characteristics and performance of the terminal in the present invention. For example, the terminal information is related to the performance of a central processing unit Information related to the performance of the GPU, information on the type of the codec supported by the terminal, information on the size of the memory (RAM) of the terminal, information on the screen resolution of the terminal, etc. However, the present invention is not limited to the above-described examples. Alternatively, according to an embodiment of the present invention, the terminal information includes a model name or a serial number that can recognize the user terminal 100, and the transcoding server 300 recognizes the terminal based on the terminal information The information related to the characteristics and the performance of the recognized terminal may be matched and utilized.

상기 단말 정보를 추출하기 위해 사용자 단말(100) 내에 애플리케이션을 설치할 수 있으며, 상기 애플리케이션은 단말 내에 설치되어 상기 단말 정보를 수집 및 저장(전송을 위해 임시적으로 저장할 수도 있고 또는 비휘발성 저장 공간에 저장해 둘 수도 있다)하고 통신 네트워크(200)에 연결될 때에 백그라운드 작업으로의 실행에 의해, 컨텐츠 재생 요청시에 함께, 사용자의 선택에 의한 실행에 의해 또는 트랜스코딩 서버(300)의 요청에 의해 등 특정 상황이 발생하였을 때 상기 단말 정보를 상기 서버로 전송한다. 상기 전송되는 단말 정보는 전송 효율을 위해 압축되어 전송될 수도 있으며 보안을 위해 암호화되어 전송될 수도 있다. 상기 애플리케이션은 사용자 단말(100)에 탑재할 수 있는 다양한 애플리케이션을 판매하는 온라인상의 모바일 컨텐츠 장터인 앱스토어에서 선택하여 설치될 수도 있으며 또는 트랜스코딩 서버(300)로부터 상기 애플리케이션을 다운로드 받아 설치할 수도 있다. The application may be installed in the user terminal 100 to extract the terminal information, and the application may be installed in the terminal and may collect and store the terminal information temporarily or in a nonvolatile storage space ), And when executed in the background job when connected to the communication network 200, a specific situation such as when the content reproduction request is made, by execution by the user's choice, or by a request of the transcoding server 300 And transmits the terminal information to the server when it occurs. The transmitted terminal information may be compressed and transmitted for transmission efficiency or encrypted for security. The application may be installed in the app store, which is a mobile content marketplace on-line, which sells various applications that can be installed in the user terminal 100, or may be installed and downloaded from the transcoding server 300.

이 밖에도, 도 1에는 도시되지 않았지만 사용자 단말(100)은 트랜스코딩 서버(300)와 단말 정보를 비롯한 각종 정보를 송수신하는 송수신부, 단말 정보를 수집하고 계산하는 수집부, 및 트랜스코딩 서버(300)로부터 전송되는 트랜스코딩된 멀티미디어 컨텐츠를 재생하는 재생부 등을 더 포함할 수 있다. 1, the user terminal 100 includes a transceiving unit 300 for transmitting / receiving various information including terminal information, a collecting unit for collecting and calculating terminal information, and a transcoding server 300 And a playback unit for playing back the transcoded multimedia content transmitted from the mobile terminal.

다음으로, 트랜스코딩 서버(300)에는 사용자 단말(100)로부터 특정 멀티미디어 컨텐츠에 대한 전송 요청이 수신되었을 때 해당 단말의 단말 정보에 기초하여 자동으로 최적의 트랜스코딩을 수행하고, 트랜스코딩된 멀티미디어 컨텐츠를 사용자 단말(100)로 제공한다. 한편, 트랜스코딩 서버(300)에는 단말 정보 중 적어도 일부를 저장하는 단말 정보 데이터베이스(301)가 더 포함될 수 있고, 이 경우 트랜스코딩 서버(300)는 사용자 단말(100)로부터 수신된 단말 정보에 기초하여 해당 단말을 인식하고 인식된 단말의 추가적인 단말 정보를 단말 정보 데이터베이스(301)로부터 추출할 수 있다. 이 밖에도, 도 1에 도시되지는 않았지만 트랜스코딩 서버(300)는 사용자 단말(100)과 각종 정보를 송수신하는 송수신부, 트랜스코딩 포맷의 설정 및 진행을 제어하는 제어부, 그리고 제어부의 설정에 의해 트랜스코딩을 수행하는 트랜스코딩부 등을 더 포함할 수 있다. Next, when a transmission request for specific multimedia contents is received from the user terminal 100, the transcoding server 300 automatically performs optimal transcoding based on the terminal information of the corresponding terminal and transmits the transcoded multimedia contents To the user terminal (100). The transcoding server 300 may further include a terminal information database 301 for storing at least a part of the terminal information. In this case, the transcoding server 300 may transmit the terminal information to the transcoding server 300 based on the terminal information received from the user terminal 100 And can extract the additional terminal information of the recognized terminal from the terminal information database 301 by recognizing the terminal. In addition, although not shown in FIG. 1, the transcoding server 300 includes a transceiver for transmitting / receiving various information to / from the user terminal 100, a controller for controlling the setting and progress of the transcoding format, A transcoding unit for performing coding, and the like.

통신 네트워크(200)는 유선 및 무선 등과 같은 그 통신 양태를 가리지 않고 구성될 수 있으며, 단거리 통신망(PAN; Personal Area Network), 근거리 통신망(LAN; Local Area Network), 도시권 통신망(MAN; Metropolitan Area Network), 광역 통신망(WAN; Wide Area Network) 등 다양한 통신망으로 구성될 수 있다. 또한, 상기 통신 네트워크(200)는 공지의 월드와이드웹(WWW; World Wide Web)일 수 있으며, 적외선(Infrared Data Association; IrDA) 또는 블루투스(Bluetooth)와 같이 단거리 통신에 이용되는 무선전송기술을 이용할 수도 있다.The communication network 200 may be configured without regard to its communication mode such as wired and wireless and may be a personal area network (PAN), a local area network (LAN), a metropolitan area network ), A wide area network (WAN), and the like. Also, the communication network 200 may be a known World Wide Web (WWW) and may use a wireless transmission technique used for short-distance communication such as Infrared Data Association (IrDA) or Bluetooth It is possible.

본 발명에 따른 사용자 단말의 세부 구조Detailed structure of the user terminal according to the present invention

도 2는 본 발명에 따른 사용자 단말의 세부 구조를 나타내는 블록도이다. 본 발명에 따라 사용자 단말(100)의 단말 정보를 수집하고, 특정 상황 발생시 단말 정보를 트랜스코딩 서버(300)로 전송한다. 이후, 트랜스코딩 서버(300)로부터 사용자 단말(100)에 최적으로 트랜스코딩된 멀티미디어 컨텐츠를 수신하고 이를 재생할 수 있다. 또한, 본 발명의 실시예에 따른 각 기능들은 사용자 단말(100) 내에 설치되는 애플리케이션 내에 포함되어 동작할 수 있다. 2 is a block diagram illustrating a detailed structure of a user terminal according to the present invention. The terminal information of the user terminal 100 is collected according to the present invention, and the terminal information is transmitted to the transcoding server 300 when a specific situation occurs. Thereafter, the transcoding server 300 may receive and reproduce the optimal transcoded multimedia content to the user terminal 100. In addition, each of the functions according to the embodiment of the present invention may be included in an application installed in the user terminal 100 and operated.

먼저, 도 2를 참조하면 본 발명에 따른 사용자 단말(100)은 송수신부(110), 수집부(120) 및 재생부(130)를 포함하여 구성될 수 있고, 해당 단말의 단말 정보는 단말 내부에 저장될 수 있다. 이 중 송수신부(110)는 수집부(120)에 의해 수집된 단말 정보의 적어도 일부를 특정 상황이 발생하는 경우 트랜스코딩 서버(300)로 전송하고, 사용자의 선택에 의해 선택된 특정 멀티미디어 컨텐츠의 재생을 요청하며, 트랜스코딩 서버(300)로부터 트랜스코딩된 멀티미디어 컨텐츠를 수신하고 재생을 위해 재생부(130)에 제공하는 기능을 수행한다. 전술한 바와 같이 특정 상황은 트랜스코딩 서버(300)로부터 단말 정보의 요청을 수신하였거나, 사용자가 단말 정보의 전송을 선택하였거나, 사용자의 선택에 의해 특정 컨텐츠의 재생을 요청하였거나, 또는 백그라운드로 통신 네트워크(200)에 연결되었음을 확인하였을 때 등을 포함할 수 있으나 반드시 설시된 예에 한정되는 것은 아니다. Referring to FIG. 2, the user terminal 100 according to the present invention may include a transmitting / receiving unit 110, a collecting unit 120, and a reproducing unit 130, Lt; / RTI > The transceiving unit 110 transmits at least a part of the terminal information collected by the collecting unit 120 to the transcoding server 300 when a specific situation occurs and reproduces the specific multimedia content selected by the user And receives the transcoded multimedia contents from the transcoding server 300 and provides the multimedia contents to the playback unit 130 for playback. As described above, the specific situation may be that the user has received a request for terminal information from the transcoding server 300, the user has selected to transmit the terminal information, the user has requested playback of the specific content, And when it is confirmed that it is connected to the portable terminal 200, but the present invention is not limited to this example.

다음으로, 수집부(120)는 사용자 단말(100)의 단말 정보를 수집하는 기능을 수행한다. 수집부(120)에서 수집하는 단말 정보는 본 발명의 실시예에 따라 사용자 단말(100)을 인식할 수 있는 정보인 모델명 및/또는 시리얼 넘버 등에 해당할 수도 있고, 또는 단말에 최적인 트랜스코딩을 수행하도록 고려될 수 있는 CPU 성능 정보, GPU 성능 정보, 하드웨어 가속을 지원하는 코덱 리스트, 지원 가능한 소프트웨어 코덱 리스트 및 GPU 가속 지원 여부에 대한 정보, 메모리(RAM 등)의 크기 정보, 화면 해상도 정보 등을 포함할 수 있으며, 수집된 정보를 바탕으로 CPU의 연산 능력, GPU의 연산 능력, 또는 단말 전체의 연산 능력을 수치화하도록 계산한 정보 또한 포함할 수 있으나 이에 한정되는 것은 아니다. 수집부(120)의 단말 정보 수집 및 계산은 사용자 단말(100) 내에 설치된 특정 애플리케이션이 운영 체제와 관련하여 제공되는 API(Application Programming Interface)를 이용하여 수행될 수 있다. 이하에서, 도 5를 참조하여 단말 정보의 각 예들에 대해 보다 구체적으로 살펴본다. Next, the collecting unit 120 collects terminal information of the user terminal 100. The terminal information collected by the collecting unit 120 may correspond to a model name and / or a serial number, which is information capable of recognizing the user terminal 100 according to an embodiment of the present invention, or may be transcoding optimized for the terminal Information on the CPU performance information, GPU performance information, a list of codecs that support hardware acceleration, a list of software codecs that can be supported, information on whether GPU acceleration is supported, size information on a memory (RAM, etc.) And may include, but is not limited to, information calculated to quantify the computation power of the CPU, the computation power of the GPU, or the computing power of the entire terminal based on the collected information. The terminal information collection and calculation of the collection unit 120 may be performed using an API (Application Programming Interface) provided in association with the operating system of a specific application installed in the user terminal 100. Hereinafter, each example of the terminal information will be described in more detail with reference to FIG.

먼저 모델명 또는 시리얼 넘버는 SHV-E210K 또는 CN-036N7K-74445와 같이 상기 명칭이나 번호를 기초로 매칭하여 사용자 단말의 스펙(Spec)을 인식할 수 있는 예시적인 값이며 도 5에는 도시되지 않았지만 이 밖에도 매칭을 통해 사용자 단말의 스펙을 인식할 수 있는 다른 어떠한 값 또한 단말 정보에 포함될 수 있다. First, the model name or serial number is an exemplary value capable of recognizing the specification of the user terminal based on the above-mentioned name or number, such as SHV-E210K or CN-036N7K-74445. Any other value that can recognize the specification of the user terminal through matching can also be included in the terminal information.

다음으로, CPU 성능 정보는 CPU의 아키텍쳐(예컨대 ARM사의 Cortex-A9), 코어의 개수(예컨대 쿼드코어), 동작 속도(예컨대 1.4GHz), 또는 코어별 초당 명령어 수행 능력(Million Instructions Per Second: MIPS, 예컨대 2.5MIPS) 등과 같이 CPU의 성능을 나타낼 수 있는 값이면 포함될 수 있으며, GPU 성능 정보 또한 GPU의 아키텍쳐(예컨대 ARM사의 Mali-400), 코어의 개수(예컨대 쿼드코어), 동작 속도(예컨대 400Mhz), 또는 코어별 초당 연산 속도 수행 능력(FLoating-point Operations Per Second: FLOPS, 예컨대 2M FLOPS) 등과 같이 GPU의 성능을 나타낼 수 있는 값이면 포함될 수 있다. Next, the CPU performance information may include CPU architecture (e.g., ARM Cortex-A9), number of cores (e.g. quad core), operation speed (e.g., 1.4 GHz), or instructions per second (For example, Mali-400 of ARM), the number of cores (for example, quad core), the operation speed (for example, 400Mhz ), Or a value capable of indicating the performance of the GPU such as FLOPS (e.g., FLOPS, 2M FLOPS) per core.

한편, 하드웨어 가속 지원 코덱은 특정 코덱을 디코딩할 수 있는 하드웨어 가속 모듈이 사용자 단말 내에 포함된 경우, 해당 하드웨어 가속 모듈에 의해 처리될 수 있는 코덱들, 예컨대 MPEG4 AVC/H.264, XVID MPEG4-Video와 같은 코덱들의 리스트를 포함하며, 소프트웨어 코덱 리스트는 하드웨어에 의한 가속 지원이 되지 않더라도 소프트웨어에 의해 지원되는 코덱의 리스트, 예컨대 도 5의 WMV1, WMV2 등, 를 포함하고 수집부(120)는 추가적으로 이 중에서 GPU를 사용하는 코덱이 존재하는지 판별하고 존재하는 경우 해당 정보를 단말 정보의 별도 항목으로 관리할 수 있다. Meanwhile, when a hardware acceleration module capable of decoding a specific codec is included in the user terminal, the hardware acceleration supporting codec may include codecs such as MPEG4 AVC / H.264, XVID MPEG4-Video , And the software codec list includes a list of codecs supported by the software, for example, WMV1, WMV2, etc. of FIG. 5, even though the software codec list does not support acceleration by hardware, and the collecting unit 120 additionally includes a list of codecs It is possible to determine whether a codec using the GPU exists and to manage the information as a separate item of the terminal information.

또한, 메모리 크기 정보는 단말에서 사용 가능한 메모리 크기, 예컨대 1GB, 를 포함하고 있고 화면 해상도 정보는 단말의 해상도, 예컨대 가로가 1280픽셀이고 세로가 720픽셀,를 포함하고 있다. In addition, the memory size information includes a memory size available in the terminal, for example, 1 GB, and the screen resolution information includes resolution of the terminal, for example, 1280 pixels in width and 720 pixels in height.

마지막으로, 수집부(120)는 수집한 CPU 성능 정보, GPU 성능 정보, 메모리 크기 정보, 화면 해상도 정보, 하드웨어 가속 또는 소프트웨어 지원 코덱 리스트 등에 기초하여 또는 기 존재하는 벤치마크 알고리즘을 이용하여 단말을 평가함으로써 CPU의 연산 능력, GPU의 연산 능력, 그리고 멀티미디어 컨텐츠의 인코딩 및/또는 디코딩을 기초로 한 단말의 연산 능력에 대한 정보를 계산할 수 있다. 이와 같이 연산 능력에 대한 정보는 수치화될 수 있으며, 도 5를 참조하면 각각 CPU 연산 능력 정보는 1442, GPU 연산 능력 정보는 91, 단말의 연산 능력 정보는 8.16임을 알 수 있다. 다만, 본 발명의 실시예에 따라 수집부(120)는 단말 정보의 일부에 대한 계산을 생략할 수도 있는데, 예컨대 하드웨어 가속 지원 코덱 리스트가 존재하는 경우 트랜스코딩된 멀티미디어 컨텐츠의 재생시 GPU를 이용할 필요가 없으므로 GPU 연산 능력 정보를 계산하는 것은 생략될 수 있고, 소프트웨어 코덱 리스트 중에 GPU를 사용하는 코덱이 존재하지 않는 경우에도 동일한 이유로 CPU 연산 능력 정보만을 계산하고 GPU의 연산 능력 정보의 계산은 생략할 수도 있다.Finally, the collecting unit 120 may evaluate the terminal based on the collected CPU performance information, the GPU performance information, the memory size information, the screen resolution information, the hardware acceleration or the software support codec list, or the existing benchmark algorithm. Thereby calculating information on the computing power of the CPU based on encoding and / or decoding of the multimedia contents, and the computing power of the GPU. 5, it can be seen that the CPU operation capability information is 1442, the GPU operation capability information is 91, and the terminal operation capability information is 8.16, respectively. However, according to the embodiment of the present invention, the collecting unit 120 may omit calculation of a part of the terminal information. For example, if a hardware accelerated codec list exists, it is necessary to use the GPU in reproducing the transcoded multimedia contents And therefore, even if there is no codec using the GPU in the software codec list, it is possible to calculate only the CPU operation capability information for the same reason, and to omit calculation of the GPU operation capability information have.

한편, 재생부(130)는 트랜스코딩 서버(300)로부터 수신한, 사용자 단말(100)에 최적으로 트랜스코딩된 멀티미디어 컨텐츠를 재생하는 기능을 수행하며, 종래의 사용자 단말에서 수행하는 기능과 동일하므로 별도의 상세한 설명은 생략하도록 한다. On the other hand, the playback unit 130 plays back the multimedia contents optimally transcoded to the user terminal 100, which is received from the transcoding server 300, and is identical to the function performed by the conventional user terminal A detailed description thereof will be omitted.

본 발명에 따른 트랜스코딩 서버의 세부 구조Detailed structure of the transcoding server according to the present invention

도 3은 본 발명에 따른 트랜스코딩 서버의 세부 구조를 나타내는 블록도이다. 본 발명에 따라 사용자 단말(100)로부터 특정 멀티미디어 컨텐츠에 대한 재생을 요청받는 경우, 트랜스코딩 서버(300)는 함께 전송된 단말 정보의 적어도 일부에 기초하여 단말의 성능 및 특성을 인식하고, 해당 단말에 최적인 트랜스코딩 포맷을 설정하고 설정된 포맷에 맞춰 트랜스코딩을 진행한다. 이후, 트랜스코딩 서버(300)는 트랜스코딩된 멀티미디어 컨텐츠를 요청하였던 사용자 단말(100)로 전송한다. 3 is a block diagram showing a detailed structure of a transcoding server according to the present invention. The transcoding server 300 recognizes the performance and characteristics of the terminal based on at least a part of the terminal information transmitted together, And sets the transcoding format suitable for the set format. Then, the transcoding server 300 transmits the transcoded multimedia contents to the user terminal 100 that has requested the transcoded multimedia contents.

먼저, 도 3을 참조하면 본 발명에 따른 트랜스코딩 서버(300)는 송수신부(310), 제어부(320) 및 트랜스코딩부(330)를 포함하여 구성될 수 있고, 또한 단말 정보의 적어도 일부를 저장하고 있는 단말 정보 데이터베이스(301)를 포함하거나 연결될 수 있다. 먼저 단말 정보 데이터베이스(301)는 도 5에 예시된 바와 같은 단말 정보의 적어도 일부를 저장하고 있다. 단말 정보 데이터베이스(301)에 저장된 단말 정보는 모두 사용자 단말(100)로부터 수신하여 저장하여 둘 수도 있고, 또는 이와는 별도로 수집하여 저장하여 둘 수도 있으며, 이 경우 연산능력 정보 등은 전술한 사용자 단말(100)의 수집부(120)에서 계산하는 방식과 유사한 방식으로 계산할 수 있다. 3, a transcoding server 300 according to the present invention may include a transceiver 310, a controller 320, and a transcoder 330, and may include at least a portion of the terminal information And may include or be connected to the terminal information database 301 storing the terminal information. First, the terminal information database 301 stores at least a part of terminal information as illustrated in FIG. All of the terminal information stored in the terminal information database 301 may be received from the user terminal 100 and stored or may be separately collected and stored. In this case, the calculation capability information may be transmitted to the user terminal 100 In a manner similar to the method of calculating by the collecting unit 120 of FIG.

다음으로, 송수신부(310)는 특정 상황이 발생하는 경우 사용자 단말(100)로부터 단말 정보의 적어도 일부를 수신하고, 이후 특정 멀티미디어 컨텐츠의 재생을 요청받는 경우, 해당 컨텐츠가 트랜스코딩된 후 요청한 사용자 단말(100)로 전송하는 기능을 수행한다. 전술한 바와 같이 특정 상황은 트랜스코딩 서버(300)가 단말 정보의 요청을 수신하였거나, 사용자의 선택에 의해 특정 컨텐츠의 재생이 요청되었거나, 사용자가 단말 정보의 전송을 선택하였거나, 또는 사용자 단말(100)이 백그라운드로 통신 네트워크(200)에 연결되었음을 확인하였을 때 등을 포함할 수 있으나 반드시 설시된 예에 한정되는 것은 아니다. Next, the transceiver 310 receives at least a part of the terminal information from the user terminal 100 when a specific situation occurs, and thereafter, when receiving the request to reproduce the specific multimedia content, the transceiver 310 transcodes the content, To the terminal (100). As described above, the specific situation is that the transcoding server 300 has received the request for the terminal information, the reproduction of the specific content has been requested by the user's choice, the user has selected to transmit the terminal information, ) Is confirmed to be connected to the communication network 200 in the background, but the present invention is not limited to this example.

한편, 제어부(320)는 전송받은 단말 정보에 기초하여 단말에 최적인 트랜스코딩 포맷을 설정하는 기능을 수행한다. 본 발명에서 트랜스코딩 포맷은 트랜스코딩시 지정할 수 있는 각종 옵션 값들을 모두 포함할 수 있는 광의의 의미로 해석되어야 한다. 트랜스코딩 포맷에 포함될 수 있는 옵션 값들은 예컨대 비디오 코덱과 관련하여서는 비디오 코덱의 종류, 압축 방식, 비트 레이트(Bitrate), P 프레임 간격, 초당 프레임수(Frames Per Second: FPS) 등을 포함할 수 있고, 오디오 코덱과 관련하여서는 오디오 코덱의 종류, 음질(kHz), 샘플 레이트(sample rate) 및 채널수, 노멀라이저(Normalizer), 이퀄라이저(Equalizer) 등을 포함할 수 있으며, 그 밖에도 출력 해상도 등을 포함할 수 있으나, 전술한 예에 한정되는 것은 아니다. On the other hand, the control unit 320 sets a transcoding format that is optimal for the terminal based on the received terminal information. In the present invention, the transcoding format should be interpreted broadly to include all of the various option values that can be specified at the time of transcoding. Option values that may be included in the transcoding format may include, for example, a type of video codec, a compression scheme, a bit rate, a P frame interval, a frames per second (FPS), etc., The audio codec, audio codec type, sound quality (kHz), sample rate and channel number, normalizer, equalizer, etc., and other output resolutions However, the present invention is not limited to the above-described examples.

상기 예시한 트랜스코딩 포맷의 옵션 값들에 기초하여 제어부(320)의 기능을 상술하면, 송수신부(310)를 통하여 전송받은 단말 정보에 기초하여 특정 멀티미디어 컨텐츠의 재생을 요청한 단말의 단말 정보를 도 5와 같이 확인할 수 있기 때문에 제어부(320)는 먼저 상기 단말 정보 중 하드웨어 가속 지원 코덱 리스트 및 소프트웨어 코덱 리스트에 기초하여 트랜스코딩할 코덱의 옵션 값을 선택한다. 일 예로서, 만일 하드웨어 가속을 지원하는 코덱이 있으면 우선하여 해당 코덱으로 설정할 수 있고, 만일 없다면 소프트웨어 코덱 리스트 중에서 선택하여야 하며, 이 중 GPU를 사용하는 코덱이 존재하는 경우 우선하여 설정할 수 있다. 만일 하드웨어 가속을 지원하는 코덱도 없고 GPU를 사용하는 코덱도 없는 경우 소프트웨어 코덱 리스트 중에서 가장 최신 코덱을 선택하거나 임의로 선택하는 등 별도의 우선 순위에 기초하여 트랜스코딩할 비디오 코덱의 종류에 대한 옵션 값을 선택할 수 있다. The terminal 320 of the terminal that has requested the reproduction of the specific multimedia content based on the terminal information transmitted through the transceiver 310 is described with reference to Figure 5 The control unit 320 first selects an option value of the codec to be transcoded based on the hardware acceleration supported codec list and the software codec list of the terminal information. As an example, if there is a codec that supports hardware acceleration, it can be set to the corresponding codec. If there is no codec, it should be selected from a software codec list. If there is a codec using the GPU, it can be set first. If there is no codec that supports hardware acceleration and no codec using the GPU, the option value for the type of video codec to be transcoded may be selected based on a separate priority, such as selecting the latest codec from the software codec list or arbitrarily selecting it You can choose.

또한, 압축 방식에 대해서는 단말 정보 중 화면 해상도, CPU 성능 정보 및/또는 CPU 연산 능력, GPU 성능 정보 및/또는 GPU 연산 능력, 단말 연산 능력 등에 기초하여 인코딩 횟수(1PASS 또는 2PASS 등) 및 비디오 품질 등을 선택할 수 있으며, 초당 프레임수의 경우 상기 압축 방식에 고려되는 단말 정보 및/또는 압축 방식 등에 기초하여 특정 기준을 넘는 경우 예컨대 30FPS로, 넘지 못하는 경우 예컨대 24FPS로 옵션값을 설정할 수도 있고 또는 다수의 기준을 두고 이에 따라 서로 다른 초당 프레임수를 옵션값으로 설정할 수도 있다. P 프레임 간격은 인코딩시 B 프레임(Bidirectional-coded frame)을 사용할 지 여부, 그리고 I 프레임(Intra-coded frame) 간에 P 프레임(Predictive-coded frame)을 몇 개 넣을지 여부 등에 관한 옵션 값으로 단말 정보, 압축 방식, 초당 프레임수 등에 기초하여 B 프레임의 사용 여부 및 P 프레임의 삽입 정도를 옵션값으로 설정한다. 또한, 비트 레이트는 초당 비트의 양을 의미하며 단말 정보, 압축 방식, 초당 프레임 수, P 프레임 간격 등에 기초하여 평균 비트레이트 및 피크(peak) 비트레이트 등의 옵션 값을 설정한다. (1PASS or 2PASS, etc.) based on the screen resolution, the CPU performance information and / or the CPU operation capability, the GPU performance information and / or the GPU operation capability, the terminal operation capability, For example, 30 FPS when exceeding a specific criterion based on the terminal information and / or compression scheme considered in the compression scheme in the case of the number of frames per second, and may set the option value to, for example, 24 FPS if not exceeding, Depending on the criteria, different frames per second may be set as option values accordingly. The P frame interval is an option value regarding whether to use a B-frame (Bidirectional-coded frame) in encoding and how many P frames (Predictive-coded frames) are inserted between I frames (Intra-coded frames) The use of the B frame and the insertion degree of the P frame are set as option values based on the compression method, the number of frames per second, and the like. In addition, the bit rate means the amount of bits per second, and sets optional values such as an average bit rate and a peak bit rate based on the terminal information, the compression method, the number of frames per second, the P frame interval and the like.

한편, 오디오 코덱과 관련하여서는 도 5에 예시되지는 않았지만 단말 정보 중 소프트웨어 코덱 리스트에 지원되는 오디오 코덱이 더 포함될 수 있으며 이에 기초하여 오디오 코덱의 종류가 옵션 값으로 설정될 수 있다. 한편, 음질, 샘플 레이트, 채널 수, 노멀라이저, 이퀄라이저 또한 단말 정보에 기초하여 설정될 수 있다. 마지막으로 출력 해상도는 기본적으로 단말 정보 중 화면 해상도 정보에 기초하여 설정될 수 있다. In the meantime, although not shown in FIG. 5, the audio codec may further include an audio codec supported in the software codec list of the terminal information, and the type of the audio codec may be set as an option value based on the audio codec. On the other hand, the sound quality, the sample rate, the number of channels, the normalizer, and the equalizer can also be set based on the terminal information. Finally, the output resolution can be basically set based on the screen resolution information among the terminal information.

트랜스코딩 포맷에 포함되는 옵션 값들의 설정에 있어서 어느 기준에 의해 어떤 값으로 설정될지 여부는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자들이 본 발명에서 상술한 내용에 기초하여 다양하게 조합하여 이용할 수 있다는 것은 자명할 것이다.Whether or not the value of the option value included in the transcoding format is set to which value according to which criterion can be determined by various combinations based on the above description in the present invention by those skilled in the art It will be obvious that it is available.

제어부(320)는 또한 트랜스코딩 포맷을 설정한 후 설정된 포맷에 기초한 예상 화질이 미리 설정한 최소 화질보다 그 값이 높은지 여부를 판단할 수 있다. 예상 화질은 트랜스코딩 포맷의 각 옵션 값에 기초하여 트랜스코딩을 수행했을 경우 나올 수 있는 화질을 에뮬레이션 등을 통해 미리 산출한 수치로서 저장 공간에 저장해두고 제어부(320)에 의한 비교 판단시 이용될 수 있으며, 최소 화질은 사용자 단말(100)에 제공하는 컨텐츠의 화질에 대한 품질을 보증하기 위해 미리 설정한 값에 해당한다. 따라서, 제어부(320)의 판단 결과 예상 화질이 최소 화질보다 그 값이 낮으면, 포맷의 옵션 값을 다시 설정하여야 하며 이 경우 어떤 옵션 값을 수정해야 할지는 두 값의 차이에 따라 상이할 수 있다. 즉, 그 차이가 매우 높을 경우에는 처음부터 모든 옵션 값을 재설정할 수도 있고, 그 차이가 매우 낮을 경우에는 상기 옵션 값 중 일부만 재설정하여 다시 한 번 예상 화질을 구하고 최소 화질과 비교할 수 있다. The controller 320 may also set the transcoding format and then determine whether the predicted image quality based on the format set is higher than the preset minimum image quality. The predicted image quality may be a value calculated in advance through emulation or the like and stored in a storage space when the transcoding is performed based on each option value of the transcoding format, And the minimum image quality corresponds to a preset value in order to assure the quality of the image quality of the contents to be provided to the user terminal 100. [ Accordingly, if the expected image quality is lower than the minimum image quality as a result of the determination by the controller 320, the option value of the format should be set again. In this case, the option value may be different depending on the difference of the two values. That is, when the difference is very high, all the option values may be reset from the beginning, and if the difference is very low, only a part of the option values may be reset, and the predicted image quality may be once again obtained and compared with the minimum image quality.

예상 화질이 최소 화질 이상인 경우, 제어부(320)는 최종적으로 트랜스코딩 포맷 중 비트 레이트에 대한 옵션 값이 사용자 단말(100)과 트랜스코딩 서버(300) 간에 이용하고 있는 통신 네트워크(200)의 네트워크 속도 이하인지 여부를 더 판단할 수 있다. 만일 비트 레이트가 네트워크 속도를 초과하는 경우 이를 네트워크 속도 이하로 낮추어 재설정한 후 예상화질 판단부터 다시 수행하고, 그렇지 않는다면, 즉 비트 레이트가 네트워크 속도 이하인 경우 트랜스코딩부(330)가 설정된 트랜스코딩 포맷에 기초하여 트랜스코딩을 수행하도록 제어한다. The control unit 320 determines whether the option value of the bit rate in the transcoding format is higher than the network speed of the communication network 200 used between the user terminal 100 and the transcoding server 300 Or less. ≪ / RTI > If the bit rate exceeds the network speed, the transcoding unit 330 resets the network speed to the network speed or less, and then performs the operation again from the prediction image quality determination. Otherwise, if the bit rate is equal to or lower than the network speed, To perform transcoding based on the received signal.

트랜스코딩부(330)에 의한 트랜스코딩이 진행되는 중간에도, 제어부(320)는 트랜스코딩된 프레임 정보를 수신하고 이를 기초로 트랜스코딩되는 컨텐츠의 실제 화질이 최소 화질보다 높은지 여부 및 트랜스코딩되는 컨텐츠의 비트레이트가 네트워크 속도 이하인지를 판단할 수 있으며, 만일 문제가 있다면 트랜스코딩 중간에 값을 변경할 수 있는 초당 프레임수 및 비트레이트를 재설정하여 트랜스코딩되는 컨텐츠의 화질을 최소 화질보다 높게 유지하면서도 그 비트레이트가 네트워크 속도 이하가 되도록 실시간으로 조정할 수 있다. In the middle of transcoding by the transcoding unit 330, the control unit 320 receives the transcoded frame information and determines whether the actual image quality of the content to be transcoded is higher than the minimum image quality based on the received transcoded frame information, It is possible to determine whether the bit rate of the transcoded content is less than or equal to the network speed, and if there is a problem, the number of frames per second and the bit rate that can change the value during transcoding can be reset to maintain the image quality of the transcoded content higher than the minimum image quality It can be adjusted in real time so that the bit rate is below the network speed.

또한, 제어부(320)는 트랜스코딩부(330)에 의한 트랜스코딩이 진행되는 중간에도, 트랜스코딩된 부분을 송수신부(310)에 제공하여 사용자 단말(100)로 제공되도록 할 수 있다. Also, the controller 320 may provide the transcoded portion to the transceiver 310 and provide the transcoded portion to the user terminal 100, even in the middle of transcoding by the transcoder 330.

마지막으로 트랜스코딩부(330)는 제어부(320)가 설정한 트랜스코딩 포맷에 기초하여 사용자 단말(100)이 요청한 특정 멀티미디어 컨텐츠에 대한 트랜스코딩을 수행하고, 트랜스코딩 중간에도 제어부(320)의 요청에 의해 트랜스코딩된 프레임 정보를 제공할 수 있다. Finally, the transcoding unit 330 performs transcoding on the specific multimedia content requested by the user terminal 100 based on the transcoding format set by the control unit 320, Lt; RTI ID = 0.0 > transcoded < / RTI >

자동으로 최적의 트랜스코딩을 수행하는 방법How to Automatically Perform Optimal Transcoding

도 4는 본 발명에 따른 자동으로 최적의 트랜스코딩을 수행하는 절차를 나타내는 흐름도이다. 도 4를 참조하면, 사용자 단말은 수집부를 통해 단말의 성능 및 특성을 나타내는 단말 정보를 수집(S401)하고, 필요시 수집된 단말 정보에 기초해서 연산 능력 등을 계산한다. 이후 특정 상황이 발생한 경우(S402) 수집 및 계산한 단말 정보를 트랜스코딩 서버로 전송(S403)한다. 전술한 바와 같이 단말 정보 수집 및 전송은 사용자 단말에 설치된 애플리케이션에 의해 수행될 수 있으며, 수집된 단말 정보에는 CPU 성능 정보, GPU 성능 정보, 하드웨어 가속을 지원하는 코덱 리스트, 지원 가능한 소프트웨어 코덱 리스트 및 GPU 가속 지원 여부에 대한 정보, 메모리(RAM 등)의 크기 정보, 화면 해상도 정보 등이, 계산되는 단말 정보에 포함되는 연산 능력으로는 CPU의 연산 능력, GPU의 연산 능력, 또는 단말 전체의 연산 능력이 있으나 이는 예시적인 것에 불과하다. 또한, 특정 상황은 사용자 단말이 트랜스코딩 서버로부터 단말 정보의 요청을 수신하였거나, 사용자가 사용자 단말을 통해 단말 정보의 전송을 조작이나 선택, 또는 동의하였거나, 또는 애플리케이션이 백그라운드로 동작하면서 사용자 단말이 통신 네트워크에 연결되었음을 확인하였을 때 등을 포함할 수 있으나 이는 예시적인 것에 불과하다. 4 is a flowchart illustrating a procedure for automatically performing optimal transcoding according to the present invention. Referring to FIG. 4, the user terminal collects terminal information indicating the performance and characteristics of the terminal through the collecting unit (S401), and calculates the calculation capability based on the terminal information collected when necessary. If a specific situation occurs (S402), the terminal information collected and calculated is transmitted to the transcoding server (S403). As described above, the terminal information collection and transmission can be performed by an application installed in the user terminal. The collected terminal information includes CPU performance information, GPU performance information, a codec list supporting hardware acceleration, a list of software codecs that can be supported, Information on whether or not acceleration is supported, size information of a memory (RAM or the like), screen resolution information, and the like are included in the calculated terminal information. For example, the computing power of the CPU, the GPU computing power, However, this is only an example. In addition, a specific situation may be that the user terminal has received a request for terminal information from the transcoding server, the user has manipulated, selected, or agreed to transmit the terminal information via the user terminal, or the user terminal is communicating When it is confirmed that the network is connected, and the like, but this is merely an example.

한편, 트랜스코딩 서버는 사용자 단말로부터 단말 정보를 수신하는 경우 이를 데이터베이스에 저장(S404)한다. 본 발명의 실시예에 따라, 사용자 단말로부터 모든 단말 정보가 전송되어 저장될 수도 있고, 일부만 전송되어 나머지 일부를 트랜스코딩 서버가 직접 수집하거나 계산이 필요한 정보를 계산하여 저장할 수도 있다. On the other hand, when the transcoding server receives the terminal information from the user terminal, it stores it in the database (S404). According to the embodiment of the present invention, all the terminal information may be transmitted and stored from the user terminal, or only a part of the terminal information may be transmitted and the remaining part may be directly collected by the transcoding server or may be calculated and stored.

이후, 사용자가 특정 멀티미디어 컨텐츠의 재생을 요청(S405)하는 경우 해당 단말을 인식할 수 있는 단말 정보 및 특정 컨텐츠임을 인식할 수 있는 컨텐츠 정보가 트랜스코딩 서버로 전송(S406)된다. 여기서 컨텐츠 정보는 특정 컨텐츠임을 나타내는 ID 값이나 특정 링크(link) 등을 포함할 수 있고, 단계 S406에서의 단말 정보는 모델명이나 시리얼 넘버 등 트랜스코딩 서버가 해당 단말의 종류를 인식하기 위한 정보로 충분하므로 단계 S403에서 전송되는 단말 정보 중의 일부일 수 있다. 또는, 본 발명의 다른 실시예에 따르면 상기 특정 상황(S402)은 사용자의 선택에 의해 특정 컨텐츠의 재생이 요청되는 경우를 포함할 수 있으며, 이때에는 특정 상황 발생 단계인 S402 및 특정 컨텐츠 재생 요청 단계인 S405가 동일하고, 단말 정보 및 컨텐츠 정보 전송 단계인 S406에서 단말 정보가 함께 전송(즉, 단계 S403도 함께 실행)되며, 이 중 전송된 단말 정보를 저장하는 단계인 S404가 S406 이후에 수행될 수 있다. When the user requests playback of specific multimedia contents (S405), the terminal information capable of recognizing the terminal and the content information capable of recognizing the specific content are transmitted to the transcoding server (S406). The content information may include an ID value indicating a specific content or a specific link. The terminal information in step S406 may be sufficient information for the transcoding server to recognize the type of the terminal, such as a model name or a serial number. It may be part of the terminal information transmitted in step S403. Alternatively, according to another embodiment of the present invention, the specific situation (S402) may include a case in which the reproduction of a specific content is requested by the user's selection. In this case, the specific situation occurrence step S402 and the specific content reproduction request step The terminal information is transmitted together (that is, step S403 is also executed) in step S406, which is the terminal information and the content information transmitting step, and step S404 of storing the transmitted terminal information is performed after step S406 .

한편, 트랜스코딩 서버는 수신한 컨텐츠 정보 및 단말 정보에 기초하여 트랜스코딩될 멀티미디어 컨텐츠를 특정하는 한편 해당 컨텐츠를 타겟이 되는 단말에 트랜스코딩하기 위한 최적의 포맷을 설정(S407)한다. 단계 S407에서는 포맷에 포함되는 각 옵션값들을 설정할 수 있으며, 그 일 예를 보다 구체적으로 설명하면, 트랜스코딩 서버는 해당 단말의 단말 정보에 기초하여 해당 단말이 하드웨어 가속을 지원하는 코덱이 존재하는지 판단하고, 다수 개 존재하는 경우 이 중 가장 최신 코덱이나 랜덤으로, 만일 1개 존재하는 경우 해당 코덱을 선택한다. 만일 존재하지 않는다면 소프트웨어 코덱 리스트에 기초하여 코덱을 선택하되 이 중 GPU를 사용하는 코덱이 존재한다면 이를 우선적으로 선택하고, 그렇지 않다면 최신 코덱이나 랜덤으로 선택할 수 있다. 또한, 출력 해상도는 단말 정보 중 화면 해상도로 설정할 수 있고, 압축 방식에 대해서는 단말 정보에 기초하여 인코딩 횟수(1PASS 또는 2PASS 등) 및 비디오 품질 등을 선택할 수 있으며, 초당 프레임수의 경우 특정 기준을 넘는 경우 예컨대 30FPS로, 넘지 못하는 경우 예컨대 24FPS로 또는 다수의 기준을 두고 이에 따라 서로 다른 초당 프레임수를 옵션값으로 설정할 수도 있다. 그리고 P 프레임 간격은 B 프레임의 사용 여부 및 P 프레임의 삽입 정도를 옵션값으로 설정한다. 또한, 비트 레이트는 평균 비트레이트 및 피크 비트레이트 등의 옵션 값을 설정한다. Meanwhile, the transcoding server specifies the multimedia content to be transcoded based on the received content information and the terminal information, and sets an optimal format for transcoding the content to the target terminal (S407). In step S407, each option value included in the format can be set. More specifically, the transcoding server determines whether a codec supporting hardware acceleration exists in the terminal based on the terminal information of the corresponding terminal If there are a plurality of codecs, the most recent codec or random codec is selected. If it does not exist, it selects a codec based on the list of software codecs, and if there is a codec using the GPU, it selects it first, otherwise it can select the latest codec or random. In addition, the output resolution can be set to the screen resolution of the terminal information. For the compression method, the number of encoding (1PASS or 2PASS, etc.) and the video quality can be selected based on the terminal information. For example, 30 FPS in case of not exceeding, or 24 FPS in case of not exceeding, or a different number of frames per second may be set as an option value. The P frame interval sets whether the B frame is used or not and the degree of insertion of the P frame as an option value. In addition, the bit rate sets optional values such as an average bit rate and a peak bit rate.

단계 S407을 통해서 해당 단말에 최적인 트랜스코딩 포맷이 설정되면, 트랜스코딩 서버는 설정된 트랜스코딩 포맷에 기초한 예상 화질을 계산(S408)한다. 계산 속도를 절감하기 위해 미리 저장된 값을 추출할 수도 있으며, 이후 미리 저장된 최소 화질과의 비교(S409)를 통해 예상 화질이 최소 화질보다 우수한지를 판단한다. 만일 예상 화질이 최소 화질보다 떨어지는 경우 두 화질간의 차이를 계산(S410)하고, 차이 값의 정도에 따라 S407 단계에서 전술한 포맷의 각 옵션 값 중 적어도 일부를 재설정(S411)한 뒤 다시 예상 화질을 계산하고 최소 화질과 비교하는 단계 S408 및 S409를 반복한다. If an optimal transcoding format is set for the terminal through step S407, the transcoding server calculates an expected image quality based on the set transcoding format (S408). In order to reduce the calculation speed, a previously stored value may be extracted. Then, it is determined whether the predicted image quality is superior to the minimum image quality through comparison with the previously stored minimum image quality (S409). If the predicted picture quality is lower than the minimum picture quality, the difference between the two picture quality is calculated (S410), and at least a part of each option value in the above-described format is reset (S411) The steps S408 and S409 for calculating and comparing with the minimum image quality are repeated.

만일 단계 S409에서 예상 화질이 최소 화질보다 우수한 경우, 트랜스코딩 서버는 최종적으로 사용자 단말과 트랜스코딩 서버 간에 연결된 통신 네트워크의 속도가 트랜스코딩 포맷 내의 비트 레이트보다 빠른지 비교(S412)하여 아닌 경우에는 전술한 단계 S410 및 S411을 수행한다. 더 빠른 경우에는 트랜스코딩부를 통해서 실제로 트랜스코딩이 수행(S813)되며, 트랜스코딩 중간에도 트랜스코딩이 종료될 때까지 종료 여부를 확인(S814)하고 종료되지 않은 경우 트랜스코딩된 프레임 정보를 기초로 예상화질을 계산하는 단계 S408부터 반복하여 수행할 수 있다. If the expected picture quality is better than the minimum picture quality in step S409, the transcoding server finally compares the speed of the communication network connected between the user terminal and the transcoding server (S412) to determine whether the speed of the communication network is faster than the bit rate in the transcoding format Steps S410 and S411 are performed. If it is earlier, the transcoding is actually performed (S813) through the transcoding unit, and it is checked whether the transcoding ends until the transcoding ends (S814). If the transcoding is not finished, transcoding is performed based on the transcoded frame information The image quality can be repeatedly performed from step S408.

한편, 도 4에는 도시되지 않았지만 트랜스코딩 서버는 트랜스코딩 중간에도 트랜스코딩된 부분을 사용자 단말로 전송할 수 있으며, 사용자 단말은 이를 수신하여 재생할 수 있다. 또한, 도 4에서 도시된 단계 S408 내지 S414는 본 발명에 있어 반드시 필요한 단계가 아닌 부가적인 단계로서 생략 또는 그 일부 단계만 수행될 수도 있음은 이해될 수 있다. Meanwhile, although not shown in FIG. 4, the transcoding server can transmit the transcoded portion to the user terminal even during the transcoding, and the user terminal can receive and reproduce the transcoded portion. It is to be understood that steps S408 to S414 shown in FIG. 4 may be omitted, or only some of them, may be performed as additional steps, which are not essential steps in the present invention.

여기에서 다양한 방법들에 관해 설명된 바와 같은 다양한 동작들 및 기능들은 특정 프로세싱 기능부 및/또는 그 안에 구현된 프로세싱 기능부, 및/또는 그 안의 다른 구성요소들과 같은 많은 유형의 기능부들 중 어느 것 내에서 수행될 수 있다. 예를 들면, 그러한 기능부들은 여기에 설명된 바와 같은 다양한 동작들 및 처리들, 또는 여기에 설명된 바와 같은 어느 다른 동작들 및 기능들, 등 또는 그 각 등가물들을 수행하는 것뿐만 아니라 여기에 설명된 바와 같은 그러한 정보들을 생성하고 그러한 동작들, 처리들 등을 수행할 수 있다.The various operations and functions as described herein with respect to the various methods may be performed by any of a number of types of functions, such as a particular processing function and / or a processing function implemented therein, and / ≪ / RTI > For example, such functions may be described herein, as well as performing various operations and processes as described herein, or any other operations and functions as described herein, etc., or the like, And may perform such operations, processes, and the like.

일부 실시예들에서, 그러한 기능부들(동일한 장치 또는 구별된 장치들상에서 구현될 수 있는)은 본 발명의 다양한 측면들에 따른 그러한 처리 및 동작들, 등, 및/또는 여기에 개시된 바와 같은 어느 다른 동작들 및 기능들, 및 그 각 등가물들을 수행할 수 있다. 일부 실시예들에서, 그러한 처리는 제1 장치에서의 제1 기능부, 및 제2 장치 내의 제2 기능부에 의해 함께 수행된다. 다른 실시예들에서, 그러한 프로세싱, 동작들 등은 하나의 특정 장치 내에서 처리부들에 의해 전적으로 수행된다. 심지어 다른 실시예들에서는, 그러한 프로세싱, 동작들이 하나의 단일 디바이스내에서 적어도 제1 기능부 및 제2 기능부를 사용하여 수행된다.In some embodiments, such functions (which may be implemented on the same device or on distinct devices) may be implemented in such a manner and in accordance with various aspects of the present invention, etc., and / Operations and functions, and their equivalents. In some embodiments, such processing is performed together by the first functional portion in the first device and the second functional portion in the second device. In other embodiments, such processing, operations, etc. are performed entirely by the processing units within one particular apparatus. Even in other embodiments, such processing and operations are performed using at least a first functional portion and a second functional portion within a single device.

또한 상술한 설명에서, 용어들 '시스템', '장치', '~부'는 단일 프로세싱 디바이스 또는 복수의 프로세싱 디바이스들일 수 있다. 그러한 프로세싱 디바이스는 마이크로 프로세서, 마이크로 컨트롤러, 디지털 신호 처리기, 마이크로 컴퓨터, 중앙 처리 유닛, 필드 프로그래머블 게이트 어레이, 프로그래머블 로직 디바이스, 스테이트 머신, 로직 회로, 아날로그 회로, 디지털 회로, 및/또는 상기 회로 및/또는 동작 지시들의 하드 코딩에 기반하여 신호들(아날로그 및/또는 디지털)을 조작하는 소정의 디바이스일 수 있다. 상기 프로세싱 모듈, 모듈, 프로세싱 회로, 및/또는 프로세싱 유닛은 단일 메모리 디바이스, 복수의 메모리 디바이스들, 및/또는 상기 프로세싱 모듈, 모듈, 프로세싱 회로, 및/또는 프로세싱 유닛의 내장된 회로일 수 있는 결합된 메모리 및/또는 집적된 메모리 엘리먼트를 가질 수 있다. 그러한, 메모리 디바이스는 읽기 전용 메모리(ROM), 랜덤 액세스 메모리(RAM), 휘발성 메모리, 비휘발성 메모리, 정적 메모리, 동적 메모리, 플래시 메모리, 캐시 메모리, 및/또는 디지털 정보를 저장하는 소정의 디바이스일 수 있다. 만약, 상기 프로세싱 모듈, 모듈, 프로세싱 회로, 및/또는 프로세싱 유닛이 하나 이상의 프로세싱 디바이스를 포함한다면, 상기 프로세싱 디바이스들은 집중적으로 위치될 수 있거나(즉, 유선 및/또는 무선 버스 구조를 통해 함께 직접적으로 연결된), 분산되어 위치될 수 있음(예컨대, 근거리 통신망 및/또는 광역 네트워크를 통한 간접적인 연결을 통한 클라우드 컴퓨팅)을 주목하여야 한다. 만약, 상기 프로세싱 모듈, 모듈, 프로세싱 회로, 및/또는 프로세싱 유닛이 정적 머신, 아날로그 회로, 디지털 회로, 및/또는 회로, 저장하는 메모리 및/또는 메모리 구성요소를 통해 하나 이상의 그 기능들을 구현한다면, 그 대응하는 동작 지시들은 상기 정적 머신, 아날로그 회로, 디지털 회로, 및/또는 논리 회로를 포함하는 회로의 내부에 내장되거나 외부에 있을 수 있음을 더 주목하여야 한다. 상기 메모리 엘리먼트는 저장할 수 있으며, 상기 프로세싱 모듈, 모듈, 프로세싱 회로, 및/또는 프로세싱 유닛은 상기 도면들 중 하나 이상에서 나타내는 단계들 및/또는 기능들 중 적어도 일부에 대응하는 하드 코딩된 및/또는 동작 지시들을 실행한다는 것을 여전히 더 주목하여야 한다. 그러한 메모리 디바이스 또는 메모리 엘리먼트는 제조의 부품 내에서 포함될 수 있다.Also, in the foregoing description, the terms " system, " " device, " and " section " may be a single processing device or a plurality of processing devices. Such a processing device may be a microprocessor, a microcontroller, a digital signal processor, a microcomputer, a central processing unit, a field programmable gate array, a programmable logic device, a state machine, a logic circuit, an analog circuit, a digital circuit, and / (Analog and / or digital) based on hard coding of operational instructions. The processing module, module, processing circuit, and / or processing unit may be implemented as a single memory device, a plurality of memory devices, and / or a combination of the processing modules, the processing circuitry, and / Lt; / RTI > memory and / or an integrated memory element. Such a memory device may be any device that stores read only memory (ROM), random access memory (RAM), volatile memory, non-volatile memory, static memory, dynamic memory, flash memory, cache memory, and / . If the processing module, the module, the processing circuit, and / or the processing unit include one or more processing devices, the processing devices may be centrally located (i.e., directly or indirectly via a wired and / Connected), distributed (e.g., cloud computing via an indirect connection over a local and / or wide area network). If the processing module, module, processing circuit, and / or processing unit implements one or more of those functions through a static machine, analog circuitry, digital circuitry, and / or circuitry, memory and / It should further be noted that the corresponding operating instructions may be internal or external to the circuit including the static machine, analog circuitry, digital circuitry, and / or logic circuitry. The memory element may be stored and the processing module, module, processing circuitry, and / or processing unit may be configured to store a hard-coded and / or hard-coded data item corresponding to at least a portion of the steps and / or functions depicted in one or more of the figures It should be further noted that it carries out operational instructions. Such a memory device or memory element may be included within the components of the manufacture.

본 발명은 특정 기능들 및 그의 관계들의 성능을 나타내는 방법 단계들의 목적을 가지고 위에서 설명되었다. 이러한 기능적 구성 요소들 및 방법 단계들의 경계들 및 순서는 설명의 편의를 위해 여기에서 임의로 정의되었다. 상기 특정 기능들 및 관계들이 적절히 수행되는 한 대안적인 경계들 및 순서들이 정의될 수 있다. 임의의 그러한 대안적인 경계들 및 순서들은 그러므로 상기 청구된 발명의 범위 및 사상 내에 있다. 추가로, 이러한 기능적 구성 요소들의 경계들은 설명의 편의를 위해 임의로 정의되었다. 어떠한 중요한 기능들이 적절히 수행되는 한 대안적인 경계들이 정의될 수 있다. 마찬가지로, 흐름도 블록들은 또한 어떠한 중요한 기능성을 나타내기 위해 여기에서 임의로 정의되었을 수 있다. 확장된 사용을 위해, 상기 흐름도 블록 경계들 및 순서는 정의되었을 수 있으며 여전히 어떠한 중요한 기능을 수행한다. 기능적 구성 요소들 및 흐름도 블록들 및 순서들 둘 다의 대안적인 정의들은 그러므로 청구된 본 발명의 범위 및 사상 내에 있다. 당업자는 또한 여기에서의 상기 기능적 구성 요소들 및 다른 도시된 블록들, 모듈들, 및 구성요소들이 도시된 바와 같이 또는 분리된 구성요소들, 반도체 집적 회로(ASIC)들, 적절한 소프트웨어를 실행하는 프로세서들 및 그와 유사한 또는 임의의 조합에 의해 구현될 수 있음을 인지할 것이다.The invention has been described above with the aim of method steps illustrating the performance of certain functions and their relationships. The boundaries and order of these functional components and method steps have been arbitrarily defined herein for convenience of description. Alternative boundaries and sequences may be defined as long as the specific functions and relationships are properly performed. Any such alternative boundaries and sequences are therefore within the scope and spirit of the claimed invention. In addition, the boundaries of these functional components have been arbitrarily defined for ease of illustration. Alternative boundaries can be defined as long as certain important functions are properly performed. Likewise, the flow diagram blocks may also be arbitrarily defined herein to represent any significant functionality. For extended use, the flowchart block boundaries and order may have been defined and still perform some important function. Alternative definitions of both functional components and flowchart blocks and sequences are therefore within the scope and spirit of the claimed invention. Those skilled in the art will also appreciate that the functional components and other illustrated blocks, modules, and components herein may be implemented as illustrated or as separate components, such as semiconductor integrated circuits (ASICs) And the like, or any combination thereof.

본 발명은 또한 하나 이상의 실시예들의 용어로, 적어도 부분적으로 설명되었을 수 있다. 본 발명의 실시예는 본 발명, 그 측면, 그 특징, 그 개념, 및/또는 그 예를 나타내기 위해 여기에서 사용된다. 본 발명을 구현하는 장치, 제조의 물건, 머신, 및/또는 프로세스의 물리적인 실시예는 여기에 설명된 하나 이상의 실시예들을 참조하여 설명된 하나 이상의 측면들, 특징들, 개념들, 예들 등을 포함할 수 있다. 더구나, 전체 도면에서, 실시예들은 상기 동일한 또는 상이한 참조 번호들을 사용할 수 있는 상기 동일하게 또는 유사하게 명명된 기능들, 단계들, 모듈들 등을 통합할 수 있으며, 그와 같이, 상기 기능들, 단계들, 모듈들 등은 상기 동일한 또는 유사한 기능들, 단계들, 모듈들 등 또는 다른 것들일 수 있다.The invention may also be described, at least in part, in the language of one or more embodiments. Embodiments of the invention are used herein to describe the invention, aspects thereof, features thereof, concepts thereof, and / or examples thereof. The physical embodiment of an apparatus, article of manufacture, machine, and / or process for implementing the invention may include one or more aspects, features, concepts, examples, etc., described with reference to one or more embodiments described herein . Moreover, in the entire drawings, embodiments may incorporate the same or similarly named functions, steps, modules, etc. that may use the same or different reference numerals, and so forth, Steps, modules, etc., may be the same or similar functions, steps, modules, etc., or the like.

한편, 용어 "~처리부"는 본 발명의 다양한 실시예들의 설명에서 사용된다. 모듈은 하나 이상의 출력 신호들을 생성하기 위해 하나 이상의 입력 신호들의 처리와 같은 하나 이상의 기능들을 수행하기 위해 하드웨어를 통해 구현되는 기능적 블록을 포함한다. 상기 기능적 블록을 구현하는 하드웨어는 소프트웨어 및/또는 펌웨어를 결합하여 직접 동작할 수 있다. 여기에서 사용된 바와 같이, 모듈은 자체적으로 모듈인 하나 이상의 서브-모듈들을 포함할 수 있다.In the meantime, the term " processing unit "is used in the description of various embodiments of the present invention. A module includes a functional block implemented via hardware to perform one or more functions, such as processing one or more input signals to produce one or more output signals. The hardware implementing the functional block may operate directly by combining software and / or firmware. As used herein, a module may include one or more sub-modules that are themselves modules.

본 발명의 여러가지 기능들 및 특정들의 특별한 조합들이 여기에 분명히 설명된 반면, 이러한 특징들 및 기능들의 다른 조합들이 마찬가지로 가능하다. 본 발명은 여기에 개시된 특정한 예들에 제한되지 않으며, 이러한 다른 조합들을 명백히 통합한다.While various combinations of features and specific combinations of features of the present invention are explicitly described herein, other combinations of these features and functions are likewise possible. The present invention is not limited to the specific examples disclosed herein, and explicitly incorporates these different combinations.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described with reference to particular embodiments, such as specific elements, and specific embodiments and drawings. However, it should be understood that the present invention is not limited to the above- And various modifications and changes may be made thereto by those skilled in the art to which the present invention pertains.

따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Accordingly, the spirit of the present invention should not be construed as being limited to the embodiments described, and all of the equivalents or equivalents of the claims, as well as the following claims, belong to the scope of the present invention .

100, 100a, 100n : 사용자 단말 110 : 송수신부
120 : 수집부 130 : 재생부
200 : 통신 네트워크 300 : 트랜스코딩 서버
301 : 단말정보 데이터베이스 310 : 송수신부
320 : 제어부 330 : 트랜스코딩부
100, 100a, 100n: User terminal 110: Transmitting /
120: Collecting unit 130:
200: communication network 300: transcoding server
301: Terminal information database 310: Transmitting /
320: control unit 330: transcoding unit

Claims (20)

사용자 단말로부터 컨텐츠 정보 및 상기 사용자 단말과 관련된 단말 정보를 수신하는 송수신부;
상기 수신된 단말 정보에 기초하여 트랜스코딩 포맷을 설정하는 제어부; 및
상기 수신된 컨텐츠 정보에 기초하여 인식된 특정 컨텐츠를 상기 설정된 트랜스코딩 포맷에 기초하여 트랜스코딩하는 트랜스코딩부를 포함하고,
상기 송수신부는, 상기 트랜스코딩된 특정 컨텐츠를 상기 사용자 단말로 전송하는 것을 특징으로 하는 자동으로 최적의 트랜스코딩을 수행하는 장치.
A transceiver for receiving content information from a user terminal and terminal information related to the user terminal;
A controller configured to set a transcoding format based on the received terminal information; And
And a transcoding unit for transcoding specific content recognized based on the received content information based on the set transcoding format,
Wherein the transceiving unit transmits the transcoded specific content to the user terminal.
청구항 1에 있어서, 상기 단말 정보는,
상기 사용자 단말에서 수집되고 특정 상황 발생시 전송되며,
상기 특정 상황은 상기 사용자 단말이 네트워크에 연결되는 상황 또는 상기 컨텐츠 정보를 송신하는 상황을 포함하는, 장치.
The terminal according to claim 1,
The user terminal being collected and transmitted upon occurrence of a specific situation,
Wherein the specific situation comprises a situation in which the user terminal is connected to a network or a situation in which the content information is transmitted.
청구항 1에 있어서, 상기 제어부는 상기 단말 정보에 포함된 코덱 리스트 중 하드웨어 가속을 지원하는 코텍 리스트, 소프트웨어 코덱 리스트, 상기 소프트웨어 코덱 리스트 중 GPU(Graphic Processing Unit)를 이용하는 코덱 리스트 및 상기 코텍 리스트 중 최신 코덱 여부 중 적어도 하나 이상에 기초하여 상기 트랜스코딩 포맷의 옵션 값을 설정하는, 장치.
[Claim 2] The system of claim 1, wherein the control unit comprises a codec list supporting a hardware acceleration, a software codec list, a codec list using a GPU (Graphic Processing Unit) among the codec list, And setting an option value of the transcoding format based on at least one of a codec availability.
청구항 1에 있어서, 상기 제어부는 상기 단말 정보에 기초하여 상기 컨텐츠가 트랜스코딩될 출력 해상도, 압축 방식, 초당 프레임수, P 프레임 간격 및 비트 레이트 중 적어도 하나 이상을 상기 트랜스코딩 포맷의 옵션 값으로 더 설정하는, 장치.
The apparatus of claim 1, wherein the control unit further receives, as an option value of the transcoding format, at least one of an output resolution, a compression scheme, a number of frames per second, a P frame interval and a bit rate at which the content is to be transcoded Set the device.
청구항 4에 있어서, 상기 제어부는 상기 옵션 값이 설정된 트랜스코딩 포맷에 기초한 예상 화질을 계산하고, 상기 계산된 예상 화질이 미리 설정된 최소 화질보다 높은 제1 조건을 만족하지 않는 경우 상기 트랜스코딩 포맷의 옵션 값 중 적어도 일부를 재설정하는, 장치.
The method according to claim 4, wherein the controller calculates an expected image quality based on the transcoding format in which the option value is set, and when the calculated image quality does not satisfy a first condition higher than a predetermined minimum image quality, And resetting at least some of the values.
청구항 4에 있어서, 상기 제어부는 네트워크의 속도가 상기 트랜스코딩 포맷의 옵션 값으로 설정된 비트 레이트보다 높은 제2 조건을 만족하지 않는 경우 상기 트랜스코딩 포맷의 옵션 값 중 적어도 일부를 재설정하는, 장치.
5. The apparatus of claim 4, wherein the controller resets at least some of the option values of the transcoding format if the speed of the network does not satisfy a second condition higher than a bit rate set to an option value of the transcoding format.
삭제delete 청구항 4에 있어서, 상기 제어부는 상기 컨텐츠의 트랜스코딩이 종료될 때까지, 이미 트랜스코딩된 프레임 정보에 기초한 예상 화질이 미리 설정된 최소 화질보다 높지 않거나 상기 트랜스코딩된 프레임 정보에 기초한 비트 레이트가 상기 트랜스코딩 포맷의 옵션 값으로 설정된 비트 레이트보다 높지 않은 경우 상기 트랜스코딩 포맷의 옵션 값 중 적어도 일부를 재설정하는, 장치.
The method as claimed in claim 4, wherein the controller determines whether the predicted image quality based on the already transcoded frame information is higher than a preset minimum image quality, or if the bit rate based on the transcoded frame information is less than the predetermined minimum image quality, And resets at least some of the option values of the transcoding format if the bit rate is not higher than the bit rate set to the option value of the coding format.
청구항 1에 있어서, 상기 송수신부는 상기 컨텐츠의 트랜스코딩이 종료되기 전에도 이미 트랜스코딩된 부분을 상기 사용자 단말로 제공하는, 장치.
The apparatus of claim 1, wherein the transceiver provides the already transcoded portion to the user terminal before transcoding the content.
사용자 단말로부터 컨텐츠 정보 및 상기 사용자 단말과 관련된 단말 정보를 수신하는 송수신부;
상기 수신된 단말 정보에 기초하여 트랜스코딩 포맷을 설정하는 제어부; 및
상기 수신된 컨텐츠 정보에 기초하여 인식된 특정 컨텐츠를 상기 설정된 트랜스코딩 포맷에 기초하여 트랜스코딩하는 트랜스코딩부를 포함하되,
상기 송수신부는, 상기 트랜스코딩된 특정 컨텐츠를 상기 사용자 단말로 전송하는 것을 특징으로 하는 트랜스코딩 서버와,
상기 단말 정보를 수집하는 수집부; 및
상기 특정 컨텐츠의 트랜스코딩된 부분을 재생하는 재생부를 포함하는 사용자 단말을 포함하는, 자동으로 최적의 트랜스코딩을 수행하는 시스템.
A transceiver for receiving content information from a user terminal and terminal information related to the user terminal;
A controller configured to set a transcoding format based on the received terminal information; And
And a transcoding unit for transcoding specific content recognized based on the received content information based on the set transcoding format,
Wherein the transceiving unit transmits the transcoded specific content to the user terminal,
A collecting unit for collecting the terminal information; And
And a playback unit for playing back the transcoded portion of the specific content. ≪ Desc / Clms Page number 20 >
자동으로 최적의 트랜스코딩을 수행하는 방법에 있어서, 트랜스코딩 서버에 의해 수행되는 각 단계가,
사용자 단말로부터 컨텐츠 정보 및 상기 사용자 단말과 관련된 단말 정보를 수신하는 단계;
상기 수신된 단말 정보에 기초하여 트랜스코딩 포맷을 설정하는 단계;
상기 수신된 컨텐츠 정보에 의해 인식된 특정 컨텐츠를 상기 설정된 트랜스코딩 포맷에 기초하여 트랜스코딩하는 단계; 및
상기 트랜스코딩된 특정 컨텐츠를 상기 사용자 단말로 전송하는 단계를 포함하는, 방법.
A method for automatically performing optimal transcoding, wherein each step performed by the transcoding server comprises:
Receiving content information from a user terminal and terminal information related to the user terminal;
Setting a transcoding format based on the received terminal information;
Transcoding the specific content recognized by the received content information based on the set transcoding format; And
And transmitting the transcoded specific content to the user terminal.
청구항 11에 있어서, 상기 단말 정보는,
상기 사용자 단말에서 수집되고 특정 상황 발생시 전송되며,
상기 특정 상황은 상기 사용자 단말이 네트워크에 연결되는 상황 또는 상기 컨텐츠 정보를 송신하는 상황을 포함하는, 방법.
The method of claim 11,
The user terminal being collected and transmitted upon occurrence of a specific situation,
Wherein the specific situation includes a situation in which the user terminal is connected to a network or a situation in which the content information is transmitted.
청구항 11에 있어서, 상기 트랜스코딩 포맷을 설정하는 단계는,
상기 단말 정보에 포함된 코덱 리스트 중 하드웨어 가속을 지원하는 코텍 리스트, 소프트웨어 코덱 리스트, 상기 소프트웨어 코덱 리스트 중 GPU(Graphic Processing Unit)를 이용하는 코덱 리스트 및 상기 코텍 리스트 중 최신 코덱 여부 중 적어도 하나 이상에 기초하여 상기 트랜스코딩 포맷의 옵션 값을 설정하는 단계를 포함하는, 방법.
12. The method of claim 11, wherein setting the transcoding format comprises:
A codec list for supporting hardware acceleration among the codec lists included in the terminal information, a software codec list, a codec list using a GPU (Graphic Processing Unit) among the software codec list, and a latest codec among the codec lists And setting an option value of the transcoding format.
청구항 11에 있어서, 상기 트랜스코딩 포맷을 설정하는 단계는,
상기 단말 정보에 기초하여 상기 컨텐츠가 트랜스코딩될 출력 해상도, 압축 방식, 초당 프레임수, P 프레임 간격 및 비트 레이트 중 적어도 하나 이상을 상기 트랜스코딩 포맷의 옵션 값으로 설정하는 단계를 더 포함하는, 방법.
12. The method of claim 11, wherein setting the transcoding format comprises:
Further comprising setting at least one of an output resolution, a compression scheme, a number of frames per second, a P frame interval, and a bit rate at which the content is to be transcoded based on the terminal information as an option value of the transcoding format .
청구항 14에 있어서, 상기 트랜스코딩 포맷을 설정하는 단계는,
상기 옵션 값이 설정된 트랜스코딩 포맷에 기초한 예상 화질을 계산하고, 상기 계산된 예상 화질이 미리 설정된 최소 화질보다 높은 제1 조건을 만족하지 않는 경우 상기 트랜스코딩 포맷의 옵션 값 중 적어도 일부를 재설정하는 단계를 더 포함하는, 방법.
15. The method of claim 14, wherein setting the transcoding format comprises:
Calculating an expected picture quality based on the transcoding format for which the option value is set and resetting at least a part of the option values of the transcoding format if the calculated picture quality does not satisfy a first condition higher than a preset minimum picture quality ≪ / RTI >
청구항 14에 있어서, 상기 트랜스코딩 포맷을 설정하는 단계는,
네트워크의 속도가 상기 트랜스코딩 포맷의 옵션 값으로 설정된 비트 레이트보다 높은 제2 조건을 만족하지 않는 경우 상기 트랜스코딩 포맷의 옵션 값 중 적어도 일부를 재설정하는 단계를 더 포함하는, 방법.
15. The method of claim 14, wherein setting the transcoding format comprises:
Further comprising resetting at least some of the option values of the transcoding format if the speed of the network does not satisfy a second condition that is higher than a bit rate set to an option value of the transcoding format.
삭제delete 청구항 14에 있어서, 상기 트랜스코딩하는 단계는,
상기 컨텐츠의 트랜스코딩이 종료될 때까지, 이미 트랜스코딩된 프레임 정보에 기초한 예상 화질이 미리 설정된 최소 화질보다 높지 않거나 상기 트랜스코딩된 프레임 정보에 기초한 비트 레이트가 상기 트랜스코딩 포맷의 옵션 값으로 설정된 비트 레이트보다 높지 않은 경우 상기 트랜스코딩 포맷의 옵션 값 중 적어도 일부를 재설정하는 단계를 포함하는, 방법.
15. The method of claim 14,
The predicted picture quality based on the already transcoded frame information is not higher than a preset minimum picture quality or the bit rate based on the transcoded frame information is set to an option value of the transcoding format until the transcoding of the content is completed, And resetting at least some of the option values of the transcoding format if the rate is not higher than the rate.
청구항 11에 있어서, 상기 트랜스코딩하는 단계는,
상기 컨텐츠의 트랜스코딩이 종료되기 전에도 이미 트랜스코딩된 부분을 상기 사용자 단말로 제공하는 단계를 더 포함하는, 방법.
12. The method of claim 11, wherein transcoding comprises:
Further comprising providing the already transcoded portion to the user terminal before the transcoding of the content is terminated.
청구항 11 내지 청구항 16, 청구항 18 내지 청구항 19 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터 판독 가능한 기록 매체.A computer-readable recording medium having recorded therein a program for executing the method according to any one of claims 11 to 16 and claim 18.
KR1020120121366A 2012-10-30 2012-10-30 Apparatus, system, method and computer readable recording medium for performing the optimal trnscording automatically KR101540217B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120121366A KR101540217B1 (en) 2012-10-30 2012-10-30 Apparatus, system, method and computer readable recording medium for performing the optimal trnscording automatically

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120121366A KR101540217B1 (en) 2012-10-30 2012-10-30 Apparatus, system, method and computer readable recording medium for performing the optimal trnscording automatically

Publications (2)

Publication Number Publication Date
KR20140055066A KR20140055066A (en) 2014-05-09
KR101540217B1 true KR101540217B1 (en) 2015-07-30

Family

ID=50886800

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120121366A KR101540217B1 (en) 2012-10-30 2012-10-30 Apparatus, system, method and computer readable recording medium for performing the optimal trnscording automatically

Country Status (1)

Country Link
KR (1) KR101540217B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210079806A (en) * 2019-12-20 2021-06-30 라인플러스 주식회사 Image storing service providing method, computer program and computing device

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101724555B1 (en) 2014-12-22 2017-04-18 삼성전자주식회사 Method and Apparatus for Encoding and Method and Apparatus for Decoding
KR102405143B1 (en) 2015-08-21 2022-06-07 에스케이플래닛 주식회사 System for cloud streaming service, method of image cloud streaming service using reduction of color bit and apparatus for the same

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090000068A (en) * 2006-12-26 2009-01-07 에스케이 텔레콤주식회사 Apparatus and method for media exchange of wire and wireless

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090000068A (en) * 2006-12-26 2009-01-07 에스케이 텔레콤주식회사 Apparatus and method for media exchange of wire and wireless

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210079806A (en) * 2019-12-20 2021-06-30 라인플러스 주식회사 Image storing service providing method, computer program and computing device
KR20220092850A (en) * 2019-12-20 2022-07-04 라인플러스 주식회사 Image storing service providing method, computer program and computing device
KR102416160B1 (en) * 2019-12-20 2022-07-05 라인플러스 주식회사 Image storing service providing method, computer program and computing device
US11593966B2 (en) 2019-12-20 2023-02-28 LINE Plus Corporation Method of providing image storage service, recording medium and computing device
KR102661366B1 (en) 2019-12-20 2024-04-25 라인플러스 주식회사 Image storing service providing method, computer program and computing device

Also Published As

Publication number Publication date
KR20140055066A (en) 2014-05-09

Similar Documents

Publication Publication Date Title
US10484195B2 (en) Method and apparatus for sharing functions between devices via a network
US10389720B2 (en) Method and apparatus for providing and receiving contents via network, method and apparatus for backing up data via network, backup data providing device, and backup system
TWI526062B (en) Quality-aware rate adaptation techniques for dash streaming
WO2018010662A1 (en) Video file transcoding method and device, and storage medium
US10003626B2 (en) Adaptive real-time transcoding method and streaming server therefor
CN102883152A (en) Media streaming with adaptation
KR20030021558A (en) Image data providing system and method thereof
TWI584636B (en) Method for decreasing the bit rate needed to transmit videos over a network by dropping video frames
US20110310965A1 (en) Communication device, communication method, and communication program product
TWI694713B (en) Method and apparatus for processing video data
KR101569502B1 (en) Apparatus, method and computer readable recording medium for assigning trnscording works
KR101540217B1 (en) Apparatus, system, method and computer readable recording medium for performing the optimal trnscording automatically
CN108540745B (en) High-definition double-stream video transmission method, transmitting end, receiving end and transmission system
US20150095509A1 (en) Adaptive buffers for media players
KR102307447B1 (en) Server, method, and client terminal for http adaptive streaming based on network environment mornitoring
WO2024087604A1 (en) Image processing method, intelligent terminal and storage medium
JP2010081489A (en) Moving picture file transmission server and operation control method thereof
KR100847597B1 (en) Method of transcoding video contents and contents providing system with transcoding video contents
EP3888373A1 (en) A method and apparatus for loop-playing video content
KR20140070896A (en) Method for video streaming and an electronic device thereof
KR101452269B1 (en) Content Virtual Segmentation Method, and Method and System for Providing Streaming Service Using the Same
TWI523541B (en) Wireless video/audio data transmission systems and methods, and computer products thereof
JP6048073B2 (en) CONTENT REPRODUCTION SYSTEM, COMMUNICATION DEVICE, CONTENT REPRODUCTION METHOD, AND PROGRAM
KR101952632B1 (en) User terminal device and contents streaming method using the same
KR101251312B1 (en) Method for handling video seek request in video transcoding server

Legal Events

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

Payment date: 20190701

Year of fee payment: 5