KR20140029088A - 스트리밍 미디어의 공급 제어 장치, 서버, 수신기 및 제어 방법 - Google Patents
스트리밍 미디어의 공급 제어 장치, 서버, 수신기 및 제어 방법 Download PDFInfo
- Publication number
- KR20140029088A KR20140029088A KR1020120141268A KR20120141268A KR20140029088A KR 20140029088 A KR20140029088 A KR 20140029088A KR 1020120141268 A KR1020120141268 A KR 1020120141268A KR 20120141268 A KR20120141268 A KR 20120141268A KR 20140029088 A KR20140029088 A KR 20140029088A
- Authority
- KR
- South Korea
- Prior art keywords
- bit rate
- media
- receiver
- regions
- value
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000005540 biological transmission Effects 0.000 claims abstract description 28
- 230000008859 change Effects 0.000 claims description 10
- 230000006872 improvement Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 abstract description 3
- 238000000926 separation method Methods 0.000 abstract description 2
- 230000006835 compression Effects 0.000 description 15
- 238000007906 compression Methods 0.000 description 15
- 230000004044 response Effects 0.000 description 10
- 230000008901 benefit Effects 0.000 description 9
- 230000003068 static effect Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/613—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/752—Media network packet handling adapting media to network capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2402—Monitoring of the downstream path of the transmission network, e.g. bandwidth available
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/266—Channel 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/2662—Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/438—Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/647—Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/65—Transmission of management data between client and server
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
서버에서 수신기로 가는 미디어의 공급을 제어하기 위한 방법들, 장치들, 컴퓨터 프로그램들. 영역들로 나뉘어진 미디어, 다른 인코딩 비트 전송 속도의 다른 버전들을 갖는 각 영역으로 이런 버전들은 서버로부터 각각 이용가능하다. 제1 값은 제1 비트 전송 속도를 나타내고, 제2 값들은 다른 인코딩 비트 전송 속도 영역들을 선택하는데 사용되는 영역들을 위한 등급을 나타내고, 그 후에, 선택된 인코딩 비트 전송 속도에 대응하는 영역들이 서버로부터 수신기에 제공된다.
Description
본 발명은 서버에서 수신기로 미디어 스트리밍을 제어하기 위한 방법들, 장치, 컴퓨터 프로그램과 관련된 것이다.
오디오나 혹은 비디오 같은 미디어가 점점 더, 서버에서 수신기로 가는 컴퓨터 네트워크에서 배포되고 있다. 미디어 파일들은 다운로드 될 수 있는데 즉 그것들은 재생 이전에 수신기에 의해 전체를 수신하게 된다. 아니면 대신에 미디어 파일들은 스트림 될지도 모르는데 수신기의 재생은 미디어 스트림 이전에 시작되고 전체적으로는 서버로부터 수신하게 된다. 스트리밍은 미디어 재생이 미디어 스트림이 서버에서부터 수신기에 의해 요청된 이후에 거의 즉각적으로 시작하도록 할 수 있게 한다. 그러나 그것은 서버와 수신기 사이의 연결을 필요로 하는데 미디어의 중단없이 스트리밍 할 수 있도록 높은 주파수 대역폭을 충분히 갖기 위해서다.
네트워크 상에 배포되는 미디어는 전형적으로 인코딩 되어 있다. 이 인코딩은 인코딩 비트 전송 속도 어떤 것에서든 이루어질 수 있다. 전형적으로 수신기에 의해 재생될 때 인코딩 비트 전송 속도와 미디어의 품질 사이에는 교환적인 것이 있다. 낮은 비트 전송 속도는 미디어가 낮은 스피드 연결로 스트림 될 수 있게 하고 작은 파일 크기를 동등하게 공급한다; 하지만 미디어는 낮은 품질을 가질 것이다. 동일하게 높은 비트 전송 속도는 높은 품질을 공급하지만 스트리밍을 위한 높은 연결 주파수 대역폭을 필요로 하고 대형 파일 크기를 공급한다.
다운로드 혹은 스트리밍을 하던간에 전형적으로 미디어를 위한 최적의 비트 전송 속도가 있다. 이 최적의 비트 전송속도는 많은 요인을 갖지만 연결 주파수 대역폭, -특별히 스트리밍의 경우에- 적당한 파일 크기를 포함하며 이것은 미디어의 인코딩 비트 전송속도에 의해 결정된다. 사실은 최적의 비트 전송속도는 최상의 이용 가능한 네트워크 소스의 사용을 나타낸다. 예를 들어 미디어를 네트워크 주파수 대역폭과 네트워크 데이터 양쪽의 휴대폰 연결을 통해 모바일 장치로 스트리밍 할 때를 고려해야 한다.
위에서 언급했듯이, 미디어는 서로 다른 인코딩 비트 전송 속도로 이용 가능할지 모른다. 이것은 수신기가 대략적으로 정해진 최적의 비트 전송 속도에 매치된 비트 전송속도를 선택할 수 있게 한다. 하지만 전형적으로 작은 수만 있을 것이다. 예를 들면 2에서 5까지의 인코딩 비트 전송 속도가 이용가능하다. 그러므로 이용 가능한 인코딩 비트 전송 속도의 하나와 최적화된 비트 전송 속도 사이의 차이는 거의 항상 있을 것이다. 이것은 이용가능한 네트워크 자원이 항상 효율적으로 사용되지 않을 것이라는 것을 의미한다.
본 발명의 실시 예의 적어도 하나에 따라 방법, 장치, 시스템과 소프트웨어가 미디어를 수신기에 공급하는 기능의 지원이나 수행을 위해 제공된다.
이것은 각각의 독립항에 언급된 특성의 결합에 의해 성취된다. 따라서 종속항들은 본 발명의 더 자세한 수행을 설명한다.
본 발명의 첫번째 측면에 따르면, 서버에서 수신기로 미디어의 공급을 제어하기 위한 장치가 공급된다. 미디어는 다수의 부분과, 그리고 다르고 기설정된 인코딩 비트 전송 속도의 서버로부터 이용가능한 부분의 적어도 일부분의 여러가지 버전을 구성한다. 장치는 정해진 프로세서를 구성한다: 첫 비트 전송 속도를 나타내는 처음 값을 결정, 부분의 적어도 일부를 위한 등급을 나타내는 많은 두 번째 값들을 수신, 처음 값과 두번째 값 모두를 사용하는 부분의 적어도 일부를 위해 서로 다른 인코딩 비트 전송 속도를 선택, 서버에서 수신기로 제공되기 위해 선택된 인코딩 비트 전송 속도에 대응하는 부분의 버전들을 야기할 수 있다.
선행 기술에서 수신기는 미디어를 위해 이용가능하고 기설정된 인코딩 비트 전송속도의 제한된 수의 하나를 선택하도록 제한된다. 대조적으로, 실시예에 따르면, 프로세서는 적어도 일부 부분을 위한 다른 인코딩 비트 전송 속도를 선택할 수 있다. 이것은 전체적인 미디어를 위해 더 큰 범위의 비트 전송 속도가 선택될 수 있게 한다. 더욱이 첫번째 비트 전송 속도와 부분들을 위한 한 등급 모두에 근거해 인코딩 비트 전송속도의 선택이 이루어졌기 때문에 비트 전송속도의 선택은 제어될 수 있고 주어진 부분을 위해 적당한 비트 전송 속도가 선택되는 것을 확실히 하게 한다.
일부 선행 기술 시스템에서 서버와 수신기 사이의 연결 주파수 대역폭에서와 같은 곳의 변화에 있어, 수신기는 미디어를 위해 사용되는 인코딩 비트 전송 속도를 변화시킬 수 있다. 그런 시스템은 인코딩 비트 전송속도를 선택하기 위한 등급의 사용과 관련되지 않고 그런 시스템은 반동적이어서 당시의 이용가능한 주파수 대역폭에 근거해 최고 가능한 비트 전송 속도를 사용한다.
알려진 변동적인 비트 전송 속도 인코딩 기술들이 위의 내용을 설명하지 않는다는 것은 더욱 칭찬받을 일이다. 알려진 기술들에서 미디어는 기설정된 목표 비트 전송 속도에서 미디어 스트림의 평균 비트 전송 속도를 유지하기 위해 인코딩된다. 높은 비트 전송 속도에서 인코딩된 미디어 스트림의 일부 부분과 낮은 비트 전송 속도에서 그렇게 된 다른 부분들과 함께이다. 그러나 각 부분을 위한 비트 전송 속도의 선택은 인코딩에서 이루어지고 따라서 서로 다른 기설정된 인코딩 비트 전송 속도에서 이용가능한 부분들을 갖는 것에 대한 설명이 없고 이런 기설정된 비트 전송 속도들 중 하나를 선택하는 첫번째 비트 전송 속도와의 결합에 있어 등급을 사용하는 것에 대한 설명도 없다.
첫번째 값은 적어도 수신기로 가는 미디어의 공급을 위해 이용 가능한 자원의 제한에 근거해서 결정될 수 있다. 첫번째 값은 하나 혹은 이상의 다음에 근거해 결정된다. 서버와 수신장치 사이의 이용 가능한 연결 주파수 대역폭, 미디어의 총 크기에 있어서의 네트워크 제한, 미디어를 위한 비트 전송 속도를 선택하는 사용자의 입력, 미디어를 위한 총 크기를 선택하는 사용자의 입력, 프로세서는 첫번째 값을 결정하기 위해 서버와 수신기 사이의 연결 주파수 대역폭이 측정되도록 처리될 수 있다.
미디어 공급을 수신기에 보내도록 하는데 제한적인 자원만이 이용가능 할 때, 예를 들면, 주파수 대역폭의 제한이나 미디어를 위한 총 크기의 제한으로 미디어를 위해 전체적으로 더 큰 범위의 비트 전송 속도가 선택되도록 하는 것에 의해 실시예는 미디어를 제한적인 조건으로 더 잘 이끌 수 있다. 특별히 제한적인 자원의 사용을 더욱 효율적으로 할 수 있게 하는데 효과적인 비트 전송 속도를 증가시키고 따라서 수신된 미디어의 품질도 증가시킨다. 만약, 예를 들어, 수신기와 서버 사이의 연결 주파수 대역폭이 제한적인 요인이면, 예를 들어, 연결을 테스트하거나 데이터를 연결을 통해 보내는 것에 의해서 측정될 수 있다.
프로세서는 첫번째 값의 변화를 감지하는 것에 근거해 적어도 부분 중의 하나를 위해 인코딩 비트 전송 속도를 재선택 하도록 처리될 수 있다.
조건은 변화할지 모르고 따라서 본 발명의 실시예에서, 첫번째 값은 변할지 모르고 그래서 인코딩 비트 전송 속도의 재선택이 실행될 수 있다. 이것은 예를들면 이용가능한 주파수 대역폭에서의 변화를 위해 이루어질 수 있다.
프로세서는 첫번째 비트 전송 속도에 맞춰진 미디어의 효과적인 비트 전송 속도 같은 부분을 위한 인코딩 비트 전송 속도를 선택하기 위해 처리될 수 있다. 프로세서는 부분을 위한 인코딩 비트 전송 속도를 선택하려고 처리될지 모르는데 그런 효과적인 미디어 비트 전송 속도는 첫번째 비트 전송 속도의 기설정된 범위 내에 있다. 프로세서는 부분을 위해 인코딩 비트 전송 속도를 선택하려고 처리될지 모르는데 그런 효과적인 미디어의 비트 전송속도와 첫번째 비트 전송 속도 사이의 차이는 최소화되어 있다. 효과적인 비트 전송 속도는 부분을 위해 선택된 인코딩 비트 전송속도의 평균이 될 수도 있다.
프로세서는 미디어가 부분을 위해 평균의 비트 전송 속도를 수신할 때 장기간의 비트 전송 속도의 수치가 될 수 있는 효과적인 비트 전송속도가 첫번째 비트 전송 속도와 일치되어 가장 효율적으로 이용가능한 자원을 사용하도록 하는 것을 확실하게 한다. 다양한 방법들이 비트 전송 속도들을 일치시키는데 사용될 수 있다. 효과적인 비트 전송 속도는 첫번째 비트 전송 속도의 원하는 범위 내에 있게 하도록 부분을 선택하는 것이나 비트 전송 속도와 첫번째 비트 전송 속도 사이의 차이를 최소화하는 것 같은 것이다. 둘 중 하나의 경우에서 추가적인 조건은, 효과적인 비트 전송 속도를 확실히 하는 것 같은 것으로, 사용될지 모르는 첫번째 비트 전송 속도 이하 혹은 이상인 것이다. 일부 실시 예에서 상호적인 과정은 비트 전송 속도를 선택하는데 사용될 수 있다.
프로세서는 비교적 높은 등급을 갖는 부분을 위해 비교적 높은 비트 전송 속도를 선택하려고 처리될지 모르고 비교적 낮은 등급을 갖는 부분을 위해 비교적 낮은 비트 전송 속도를 선택하려고 처리될 수 있다. 프로세서는 비교적 높은 등급을 갖는 부분의 적어도 첫번째를 위해 첫번째 비트 전송 속도 보다 더 높은 비트 전송 속도를 선택하려고 처리될지 모르고 비교적 낮은 등급을 갖는 부분의 적어도 두번째를 위해 첫번째 비트 전송 속도 보다 낮은 비트 전송 속도를 선택하려고 처리될 수 있다.
실시 예들에서, 등급은 품질과 비트 전송 속도 사이의 관계를 나타낼 수 있다. 비교적 높은 등급은 비교적 많은 품질의 향상이 비트 전송 속도의 증가에 의해 제공된 부분을 나타내고 비교적 낮은 등급은 비교적 작은 품질의 향상이 비트 전송 속도 증가에 의해 제공된 부분을 나타낸다.
다른 실시예들에서 등급은 품질과 비트 전송 속도 사이의 관계를 나타낼지 모르는데, 비교적 높은 등급은 비교적 높은 비트 전송 속도가 주어진 품질 레벨을 제공하기 위해 요구되는 부분을 나타내고 비교적 낮은 등급은 비교적 낮은 비트 전송 속도가 역시 주어진 품질 수준을 제공하기 위해 요구되는 부분을 나타낸다.
등급은 미디어가 인코딩될 때 결정될 수 있다.
종종 인코딩하는데 사용되는 비트 전송 속도로 가는 미디어 스트림 부분의 ‘응신’ 품질에 있어 차이가 있다. 즉, 일부 부분은 낮은 비트 전송 속도 (즉, 고압축) 인코딩이 사용될 때 품질에서 비교적 작은 손실을 가질 수 있다. 다른 부분들은 역시 낮은 비트 전송 속도를 위해 품질에서 비교적 높은 손실을 가질 수 있다. 반대로, 비트 전송 속도의 증가는 일부 부분에서 품질의 비교적 작은 향상을 제공할 것이고 다른 부분들을 위해 비교적 큰 향상을 제공할 것이다. 예로써, 비디오 스트림의 역동적인 장면은 낮은 비트 전송 속도가 사용된다면 높은 품질의 손실을 나타낼 것이다, 그리고 만약 비트 전송 속도가 증가한다면 큰 품질 향상이 있을 것이다. 비교적 정적인 장면은 품질에서 훨씬 낮은 손실이 보여질 것이고 따라서 더 높은 비트 전송 속도가 사용된다면 향상이 덜할 것이다.
따라서, 실시예의 이익은 증가된 비트 전송 속도를 위해 높은 증가 품질을 가질 부분들이 높은 등급을 가지고 공급될 수 있다는 것과 증가된 비트 전송 속도를 위해 낮은 증가 품질을 가질 부분들이 낮은 등급을 가지고 공급될 수 있다는 것이다. 이것은 향상이 가장 중요한 높은 등급 부분이 우선적으로 높은 비트 전송 속도로 수신될 것이라는 것을 의미한다.
동일하게, 등급은 품질과 비트 전송 속도와 관련된 품질 요인에 기반을 둘 수도 있다. 그렇게 해서 주어진 비트 전송 속도에서 낮은 품질을 갖는 부분들은 우선적으로 비트 전송 속도가 증가할 것이고 그리고 품질에서도 그럴 것이다. 다른 부분들은 낮은 비트 전송 속도에도 불구하고 높은 비트 전송 속도를 갖는데 비트 전송 속도가 감소될 수도 있다. 이것은 각 부분 집중된 품질에 영향을 줄지 모르고 따라서 더 많은 지속적인 재생을 제공할 수 있다. 등급은 미디어가 인코딩됨에 따라 결정될 수 있다. 즉, 인코딩 알고리즘의 출력을 보는 것에 의해서다.
두번째 값은 서버로부터 수신될 수 있다. 프로세서는 플레이리스트를 수신기에 보내도록 처리될 수 있다. 선택된 인코딩 비트 전송 속도에 대응하는 부분들의 버전을 식별하는 데이터를 구성하는 플레이리스트이다.
본 발명의 두번째 측면에 따르면, 스트리밍 미디어를 위한 서버를 공급받는데, 서버는 위에서 상술한 장치를 구성하는 서버이다. 본 발명의 세번째 측면에 따르면, 수신 미디어를 위한 수신기가 공급되는데 수신기는 위에서 상술한 장치를 구성한다.
본 발명의 네번째 측면에 따르면 서버에서 수신기로 가는 미디어의 공급을 제어하기 위한 방법이 제공된다. 이 미디어는 많은 부분과 기설정된 인코딩 비트 전송 속도로 서버로부터 이용가능한 부분들의 적어도 일부의 많은 버전들을 구성하며, 그 방식은 다음을 구성한다. 처음 비트 전송속도를 나타내는 첫번째 값을 결정, 부분들의 적어도 일부를 위한 등급을 나타내는 다수의 두번째 값을 수신, 첫번째와 두번째 값을 사용하는 부분들의 적어도 일부를 위한 다른 인코딩 비트 전송 속도를 선택 및 서버에서 수신기로 공급되는 선택된 인코딩 비트 전송 속도에 대응하는 부분들의 버전들을 야기할 수 있다.
본 발명의 다섯번째 측면에 따르면, 컴퓨터가 읽을 수 있는 지시사항을 가진, 오래가는 컴퓨터가 읽을 수 있는 스토리지 미디엄을 구성하는 컴퓨터 프로그램 제품이 공급된다. 이 컴퓨터가 읽을 수 있는 지시사항은 서버에서부터 수신기로 미디어 공급을 제어하기 위한 방법을 수행하도록 컴퓨터화된 장치를 야기하는 컴퓨터화된 장치에 의해 실행되는 것으로, 이 미디어는 다수의 부분들, 다르고, 기설정된 인코딩 비트 전송속도로 서버에서 이용가능한 부분들의 적어도 일부의 많은 버전들을 구성하며 그 방법은 다음을 구성한다. 첫 비트 전송 속도를 나타내는 첫번째 값 결정, 부분들의 적어도 일부를 위한 등급을 나타내는 다수의 두번째 값 수신, 첫번째와 두번째 값 모두를 사용하는 부분들의 적어도 일부를 위한 서로 다른 인코딩 비트 전송 속도를 선택, 서버에서 수신기로 제공되는 선택된 인코딩 비트 전송 속도에 대응하는 부분들의 버전들을 야기할 수 있다.
도면 1은 서버에서 수신기로 미디어가 제공되는 시스템의 도면.
도면 2는 하나의 실시 예에 따른 미디어 제공을 위한 방법을 설명하는 도면.
도면 3은 다른 실시 예에 따라 미디어 제공을 위한 방법을 설명하는 도면.
도면 4는 하나의 실시 예에 따라 비트 전송 속도를 선택하기 위한 방법을 설명하는 도면.
도면 5와 6은 다른 실시 예에 따라 비트 전송 속도를 선택하기 위한 방법을 설명하는 도면.
도면 2는 하나의 실시 예에 따른 미디어 제공을 위한 방법을 설명하는 도면.
도면 3은 다른 실시 예에 따라 미디어 제공을 위한 방법을 설명하는 도면.
도면 4는 하나의 실시 예에 따라 비트 전송 속도를 선택하기 위한 방법을 설명하는 도면.
도면 5와 6은 다른 실시 예에 따라 비트 전송 속도를 선택하기 위한 방법을 설명하는 도면.
수신기로 미디어를 제공하기 위한 시스템에서 본 발명의 실시 예가 사용되며, 현재 도면 1을 참고하여 설명되어질 것이다. 상기 시스템은 네트워크 연결(4)을 경유해 수신기(6)로 연결된 서버(2)를 구성하고 있다. 네트워크 연결(4)은 네트워크(8)를 통과한다.
서버(2)는 메모리(10), 프로세서(12) 및 네트워크 인터페이스(14)로 구성된다. 메모리(10)는 미디어를 저장하며 프로세서(12)는 미디어가 서버(2)에서 제공되는 방법을 제어한다. 서버(2)와 수신기(6) 사이의 통신은 네트워크 인터페이스(14)를 경유해 이루어진다.
수신기(6)는 수신기(6)를 네트워크(8)에 연결되게 하는 인터페이스(16)를 포함한다. 상기 수신기는 인터페이스에 연결된 프로세서(18)를 더 포함한다. 프로세서(18)는 메모리(20)와 미디어 출력부(22)에 연결된다.
네트워크(8)는 사설 LAN(Local Area Network), 인터넷 같은 공공 네트워크 혹은 그 둘의 결합일 수 있다. 네트워크(8)는 무선 요소를 포함한다. 네트워크 연결(4)의 부분은, 예를 들어 네트워크 연결의 일부(4'), 무선일 수 있는데 휴대폰 (3G 혹은 LTE) 혹은 WiFi (802.11) 표준에 따르면 그렇다.
시청각 영화(24) 같은 미디어 사용에서 영역(portion)들로 분리되는데, 각각의 영역(portion)은 2 혹은 그 이상의 버전들로 인코딩된다. 각 버전은 다른 비트 전송 속도로 인코딩 된다. 이런 분리 및 인코딩(26)은 도 1에서 타원형으로 나타내었다. 영역들의 버전들은 이후에 서버(2)의 메모리(10)에 저장된다. 이것은 점선 박스(28)로 표시했는데, P1V2는 영역 1, 버전 2 임을 의미한다.
미디어가 서버(2)에서 수신기(6)로 제공될 때, 미디어 부분의 원하는 버전들을 나타내는 데이터는 프로세서(12)의 제어 아래 메모리(10)로부터 검색되고 인터페이스(14)를 경유하는 연결(4)로 전달된다. 상기 데이터는 네트워크(8)를 경유해 수신기(6)로 보내진다. 수신기(6)에서 데이터는 인터페이스(16)에 의해 수신된다. 상기 데이터는 이후 프로세서(18)에 의해 처리된다. 데이터의 일부는 메모리(20)에 저장될 수 있다. 반면에 데이터의 다른 것들은 직접적으로 재생될 수도 있다. 미디어를 재생하기 위해, 수신되어 선택적으로 메모리(20)에 저장된 데이터는 처리된다. 예를 들면 미디어를 디코딩하고 출력부(22)를 경유해 출력한다.
출력부(22)는 디지털 아날로그 컨버터, 증폭기와 오디오 출력 연결(헤드폰 혹은 축음기 연결)과 같은 오디오 프로세서를 포함할 수도 있다. 출력부(22)는 비디오 드라이버와 출력 연결(가령, HDMI, VGA, DVI 등)을 포함할 수 있다. 또한, 출력부는 오디오를 위한 스피커, 시각 미디어를 위한 스크린과 같은 휴먼 인터페이스 요소(human interface element)들을 포함할 수도 있다.
상기 미디어는 서버(2)로부터 수신기(6)에 의해 스트리밍되거나 다운로드될 수 있다. 여기서, 스트리밍은 미디어의 다운로드가 끝나기 이전에 미디어가 재생되는 것이다. 대조적으로 다운로딩은 재생되기 이전에 미디어의 전체가 다운로드 되는 것이다.
네트워크 통신, 미디어 파일의 저장, 프로세싱과 출력은 관련 분야에서 알려져 있고 따라서 이런 작동의 세부사항은 여기에 제공되지 않을 것이다.
서버(2)에서 수신기(6)로 미디어를 제공하는 방법은 현재 도면 2를 참고해 설명되어질 것이다. 이런 방식을 언급하기 이전에, 주어진 미디어 파일을 선택하는 어떤 요구되는 스텝이 수행될 것이라고 가정될 것이다. 예를 들어, 수신기(6)를 작동하는 한 사용자는 미디어 파일들을 카탈로그를 통해 찾아보고 원하는 하나를 선택할 수 있다. 설명된 방법은 미디어가 서버(2)에서 수신기(6)로 스트리밍되는 시나리오에 적용될 것이다.
스텝(step) 30에서 프로세서(18)는 서버(2)로부터 미디어의 다른 영역들을 위한 등급(ranking)을 요청한다. 등급들은, 혹은 등급을 나타내는 값들은 스텝 32에서 수신된다. 등급의 특징은 아래에서 더 자세하게 설명될 것이다. 간단하게 설명하면 등급은 수신기에 어떤 영역이 우선적으로 더 높은 비트 전송 속도에서 수신되어야 하는지 여부를 나타낸다.
스텝 34에서, 수신기(6)의 프로세서(18)는 미디어를 위해 첫 비트 전송 속도를 결정한다. 이 실시 예에서, 제1 비트 전송 속도는 스트리밍이 가능할 비트 전송 속도를 나타내도록 취해질 수 있다. 이와 같이 제1 비트 전송 속도는 수신기(6)와 서버(2) 사이의 연결(4)의 이용가능한 주파수 대역폭을 측정하는 것에 의해 결정될 수 있고, 이용 가능한 주파수 대역폭의 기능으로써 제1 비트 전송 속도를 측정하는 것에 의해서 결정될 수도 있다.
스텝 36에서, 프로세서(18)는 등급과 제1 비트 전송 속도를 사용하는 미디어의 각 부분을 위해 인코딩 비트 전송 속도를 선택한다. 이것이 이루어질 수 있는 방법들은 도면 4 내지 6에서 자세히 설명되어 있다. 다음 단계는 두 개의 영역만이 있다는 가정에 근거해 설명될 것이다. 스텝 36에서 비교적 낮은 비트 전송 속도는 첫번째 영역을 위해 선택되고, 비교적 높은 비트 전송 속도는 두번째 영역을 위해 선택될 것이다. 더욱이, 이런 실시 예에서, 비교적 높은 비트 전송 속도는 수신기(6)와 서버(2) 사이의 연결(4)의 이용 가능한 주파수 대역폭을 초과할 것이다. 즉, 비교적 높은 비트 전송 속도는 제1 비트 전송 속도를 초과한다.
스텝 38 내지 42는 첫번째 부분의 스트리밍을 나타낸다. 스텝 38에서, 프로세서(18)는 서버(2)로부터 첫번째 영역을 요청한다. 스텝 40에서 첫번째 영역이 수신되면, 스텝 42에서 첫번째 영역이 재생된다. 스텝 40과 42는 첫번째 영역의 전체 재생을 통해 지속될 수 있다. 첫번째 영역의 재생 동안, 즉, 스텝 42 동안에, 프로세서(18)는 스텝 44에서 두번째 영역의 부분을 요청한다. 두번째 영역의 이 부분은 스텝 46에서 수신된다. 두번째 영역의 수신 부분은 스텝 48에서 보여지듯이 메모리(20)에 저장된다.
따라서, 스텝 50 내지 54에서 두번째 영역은 스트림된다. 이것은 스텝 50에서 프로세서(18) 보내기로 시작하는데, 두번째 영역의 추가적인 부분을 위한 요구이다. 이 예에서, 이 추가적인 부분은 스텝 46에서 수신되지 않은 두번째 영역의 남은 부분을 나타낸다. 이 남은 부분은 스텝 52에서 수신된다. 스텝 54에서, 두번째 영역은 재생된다. 이것은 스텝 48에서 메모리에 저장된 부분을 메모리에서 검색하는 것과 관련되며, 또한 스텝 52에서 수신된 추가적인 부분을 사용하는 것 또한 그렇다.
요약하자면, 첫번째 영역이 스트림되고 있는 동안에, 여분의 대역폭은 이용 가능한 대역폭을 사용하여 직접 스트림되기에 너무 높은 비트 전송 속도를 가지는 두번째 영역의 부분을 수신하기 위해 사용된다. 따라서, 두번째 영역이 스트림될 때, 데이터의 한 부분은 메모리에서 검색되고 데이터의 추가적인 부분은 스트림된다(가령, 두번째 영역의 재생동안에 수신). 이것은 수신기가 이용가능한 자원의 제한에도 불구하고 (즉, 주파수 대역폭) 미디어를 효율적으로 스트림 할 수 있게 한다.
도면 2에서 설명된 방법의 다른 실시 예는 현재 도면 3에서 참고로 설명되고 있다. 이 방법은 서버에서 수행되는 비트 전송 속도의 선택에 있어서 도면 2의 것과 비슷하다. 스텝 56에서, 수신기(6)는 서버로부터 미디어를 요구한다. 이런 요구에 대한 응답으로, 스텝 58에서 서버(2)의 프로세서(12)는 제1 비트 전송 속도를 결정한다. 이것은 위의 스텝 34와 유사한 방식으로 연결을 테스트하는 것에 의해 이루어질 수 있다. 다른 방식으로 수신기는 요청에 의해 제1 비트 전송 속도의 표시를 제공할 수 있다.
스텝 60에서, 프로세서(12)는 요청받은 미디어를 위해 메모리(10)로부터 등급을 검색한다. 제1 비트 전송 속도와 함께 이런 등급들은 스텝 62에서 프로세서(12)에 의해 사용되는데, 요청된 미디어의 영역들을 위해 인코딩 비트 전송 속도를 선택하기 위해서다.
스텝 56에서 미디어의 영역을 위한 인코딩 비트 전송 속도를 선택한다면, 서버(2)의 프로세서(12)는 선택된 비트 전송 속도에 대응하는 영역들의 버전들이 서버(2)에서 수신기(6)로 공급되게 한다. 스텝 64에 의해 보여지는 이런 실시예에서, 선택된 비트 전송 속도에 대응하는 영역들의 버전들을 식별하는 한 플레이리스트는 수신기(2)에 의해 제공된다. 상기 플레이리스트는 스텝 66에서 미디어의 적절한 영역들을 요청하기 위해 수신기에 의해 사용될지 모른다. 도면 2의 방법으로, 영역들의 일부는 이용 가능한 주파수 대역폭보다 더 높은 인코딩 비트 전송 속도를 가질 수도 있다. 따라서 영역들의 일부는 요청되고, 다른 부분들의 스트리밍 동안에 수신될 수 있다.
수신기나 서버 둘 중 하나 내의 장치는 부분들을 위한 비트 전송 속도를 선택할 수 있다. 이런 장치는 프로세서(12, 18)를 적용 가능하게 포함할 수 있으며, 요구에 따라 어떤 메모리나 인터페이스 등도 포함될 수 있다. 일부 대체적인 실시 예에서, 도면들에서는 나오지 않은, 영역들을 위한 비트 전송 속도의 선택은 서버와 수신기로부터 분리된 장치에 의해 수행될 수 있다. 예를 들면, 네트워크 컨트롤 장치이다. 이것은 네트워크 공급자가 모든 네트워크 상태에 근거해 수신기에 공급되는 주파수 대역폭을 제한할 수 있게 이루어질 수 있다. 상기에서 서술된 시스템의 이익은 두가지이다. 첫번째는 다른 비트 전송 속도로 다른 영역들을 다운로드 하는 것으로 미디어의 효과적인 비트 전송 속도를 위한 더 많은 잠재적 값들이 있다는 것이다. 여기서 효과적인 비트 전송 속도는 평균 혹은 장기간으로 미디어를 위한 비트 전송 속도이다. 이것은 한 예를 통해 증명될 수 있다. 이 예에서 미디어는 5 동등 길이 영역에서 이용 가능한데, 각 부분들은 두 가지 버전들을 갖고, 하나는 10Mbps에서 다른 하나는 20Mbps에서 인코딩된다. 위에서 논의된 제1 비트 전송속도는 15Mbps로 결정된다. 이것은 연결의 최대 주파수 대역폭에 근거해 결정될 수 있는데, 이 예에서는 16Mbps 일 수 있다.
이런 시나리오에서, 선행 기술 시스템은 전체를 더 낮은 비트 전송 속도, 즉 10Mbps에서 미디어를 수신하도록 제한될 수도 있다. 미디어를 20Mbps 보다 더 높게 스트림 할 수 없기 때문이다. 스트리밍 전체에서 적어도 미사용된 주파수 대역폭의 5Mbps로 될 것이다.
대조적으로 위의 설명에 따르면 장치는 영역들의 일부를 위해 10Mbps의 인코딩 비트 전송 속도를 선택할 수 있다. 그리고 영역들의 다른 것들을 위해 20Mbps의 인코딩 비트 전송 속도를 선택할 수 있다. 특별히 영역들의 세 개를 위해 비트 전송 속도는 10Mbps로 선택될 수 있고, 다른 두 영역들을 위한 비트 전송 속도는 20Mbps에서 선택될 수 있다. 이것은 14Mbps의 평균 비트 전송 속도의 결과를 가져오는데, 선행 기술보다 15Mbps의 제1 비트 전송 속도에 더 가까운 것이다. 이것은 이용가능한 주파수 대역폭의 더욱 효율적인 사용을 가능하게 한다.
두번째 이점은 영역들을 위한 비트 전송 속도를 선택하도록 등급을 사용하는 것으로부터 나온다. 발명자는 미디어의 다른 영역들이 인코딩 비트 전송 속도에 대한 다른 품질 반응을 갖는다고 인정하고 있다. 품질 반응은 여기에서는 얼마나 많은 영역의 품질들이 비트 전송 속도에 따라 변화하는가를 의미한다. 다른 말로, 얼마나 많은 품질이 비트 전송 속도의 감소에 의해 줄어드는가, 그리고 동일하게 얼마나 많은 품질이 비트 전송 속도의 증가에 의해 증가할 수 있는가 이다. 품질 반응에서의 차이는 미디어를 인코딩 하도록 사용되는 압축의 결과이다.
품질 반응을 다르게 하는 많은 원인이 있는데, 비디오 데이터를 위한 단순화된 설명은 여기에서 제공될 것이다. 비디오를 위해, 두가지 기술이 미디어를 압축하기 위해 함께 사용되는데, 첫번째는 각각의 프레임을 따로 따로 인코딩 하기 보다는 프레임 사이의 차이를 식별하고 기록한다. 두번째는 데이터를 더욱 압축하게 위해 손실이 있는 압축 알고리즘을 사용한다. 손실이 많은 압축은 계획적으로 데이터를 단순화하고, 원하는 압축을 할 수 있게 한다. 이런 단순화 결과는 예를 들면, 고압축 비디오에서 보여지는 블록킹 현상(blockiness)의 결과를 가져온다.
비디오 미디어의 비교적 정적인 영역은 연속적인 프레임들 사이의 작은 차이만 가질 것이다. 이처럼, 데이터의 작은 양이 이런 작은 차이들을 기록하도록 필요로 된다. 큰 정도의 압축은 이런 차이 하나로 성취될 수 있다. 이것은 손실이 많은 압축은 원하는 전체 압축을 성취할 정도로 많은 데이터를 단순화하는 것을 필요로 하지 않는다는 것을 의미한다.
이와는 반대로, 상대적인 동적 영역은 연속하는 프레임들 사이에 많은 차이를 가진다. 그리고, 데이터의 많은 양은 이러한 차이들의 기록이 요구된다. 이것은 압축의 작은 정도는 프레임들의 차이를 통해 성취된다는 것을 의미한다. 이것은 손실이 많은 압축은 원하는 전체 압축을 성취하기 위해 더 많은 프레임들을 단순화해야 한다는 것을 의미한다.
따라서, 주어진 비트 전송 속도를 위해, 비교적 정적인 영역이 덜 단순화될 것이고 따라서 비교적 더 높은 품질을 가질 것이다. 그리고 상대적으로 동적 영역은 더욱 단순화될 것이고 따라서 비교적 낮은 품질을 가질 것이다. 결과적으로, 상대적으로 정적인 영역의 비트 전송 속도의 증가는 처음에 품질의 손실이 덜 하기 때문에 상대적으로 작은 증가를 가져올 것이다. 그리고, 상대적으로 동적인 영역의 비트 전송 속도의 증가는 처음에 품질의 손실이 더 크기 때문에 상대적으로 큰 증가를 제공할 것이다. 따라서, 상대적으로 동적인 영역의 품질 반응은 비교적 정적인 영역보다 더 높다고 할 수 있다.
주어진 영역의 품질 반응은 혹은 더 일반적으로 품질 반응을 사용하는 등급 값은 비트 전송 속도를 증가시키는 것이 선호되는 영역들을 식별하는데 사용될 수 있다. 높은 품질 반응을 갖는 영역의 비트 전송 속도를 증가시키는 것에서, 즉, 동적 영역, 미디어의 전체 품질은 비트 전송 속도가 낮은 품질 반응을 (즉, 정적인 영역) 갖는 기간(period)을 위해 증가된 것보다 더 많이 증가될 것이다. 동일하게, 등급은 영역들을 식별하도록 사용될 것이다. 이런 영역들을 위해 비트 전송 속도의 감소는 품질에서의 큰 감소 없이 만들어질 것이다. 일부 실시 예에서 일부 영역들을 위한 비트 전송 속도의 감소는 다른 영역들을 위한 비트 전송 속도의 증가를 상쇄하도록 사용될 수 있다.
따라서 위의 방법들의 두번째 이점은 비트 전송 속도가 제공된 등급들에 근거해 선택된 영역들을 위해 증가되기 때문에 전체 품질이 증가될 수 있다는 것이다.
위에서 설명된 두가지 이점들은 별개일 수 있으나, 이들은 특별히 자원 이용이 증가될 뿐 아니라(첫번째 이점) 자원의 증가된 사용은 무작위 부분들이 비트 전송 속도에서 증가되는 것보다 더 큰 효과를 제공하기 때문에(두번째 이점) 함께 이점을 가진다.
결론적으로, 미디어의 영역을 위한 비트 전송 속도의 선택적인 증가에 의해서, 그리고 품질 효과가 가장 큰 영역들로의 비트 전송 속도 증가를 목표로 하는 것에 의해서, 실시 예들은 이용 가능한 자원의 사용을 증가시킬 수 있을 뿐 아니라 실질적으로 증가된 사용에 의해 가능하게 된 품질의 향상을 최대화한다.
많은 형태(form)를 취할 수도 있고, 많은 요인들에 근거해 결정될 수 있는 상술된 등급들은 평가될 수 있을 것이다. 더욱이, 제1 비트 전송 속도는 많은 다른 요인들에 근거해 결정될 수 있다. 일부 예들은 아래에서 도면 4 내지 6을 참고로 설명되는데, 더 많은 예들은 이하와 같다.
프로세서(12, 18)의 하나가 미디어 부분들을 위해 인코딩 비트 전송 속도를 선택하게 하는 방법은 현재 도면 4에서 설명되고 있다. 제1 비트 전송 속도는 결정되었다고 가정하고, 이 방법을 언급하기 이전의 프로세서에 의해 등급은 수신되었다.
이런 예에서, 제1 비트 전송 속도는 이용 가능한 주파수 대역폭을 나타내고 있다. 그래서 이용 가능한 주파수 대역폭의 사용을 최대화하기 위해서 여기에서 대상은 효과적인 비트 전송 속도를 만들려고 하는데, (전체적인 영역들의 평균 비트 전송 속도) 가능한 한 제1 비트 전송 속도에 가깝게 하지만, 제1 비트 전송 속도보다는 아래로 유지한다.
이런 방법에서는, 영역들을 위해서 고려되는 두 가지 비트 전송 속도만 있을 것이다. 첫번째는 제1 비트 전송 속도보다 더 크고, 두번째는 제1 비트 전송 속도보다 덜하다. 게다가, 영역들의 각각은 유일한 등급을 가질 것이다.
스텝 68에서, 프로세서는 모든 영역들을 위한 더 높은 인코딩 비트 전송 속도를 선택해 선택 절차를 초기화한다. 이런 다음, 프로세서는 스텝 70 내지 74에 의해 한정된 루프로 진입할 것이다.
스텝 70에서 프로세서는 미디어를 위한 효과적인 비트 전송 속도를 처음 계산할 것이다. 위에서 언급했듯이, 효과적인 비트 전송 속도는 모든 영역들을 위한 평균 비트 전송 속도로서 계산될지 모르고, 각각은 연결되고 선택된 비트 전송 속도에서 그럴 것이다. 그 다음 스텝 72에서, 효과적인 비트 전송 속도는 제1 비트 전송 속도와 비교된다. 만약 효과적인 비트 전송 속도가 제1 비트 전송 속도보다 더 크다면, 스텝 74에서 프로세서는 가장 낮은 등급의 영역을 위한 더 낮은 인코딩 비트 전송 속도를 선택하는데, 가장 낮은 등급의 영역을 위해 더 높은 비트 전송 속도는 여전히 선택되어진다. 이런 후에, 루프는 스텝 70에서 다시 계산되는 효과적인 비트 전송 속도로 반복한다.
만약, 스텝 72에서 효과적인 비트 전송 속도가 제1 비트 전송 속도보다 적은가를 결정하고 선택된 비트 전송 속도는 스텝 76에서 보여지듯이, 미디어의 공급을 위해 사용된다.
상기 방법이 실 예이고 더 효율적인 시스템이 사용될 수 있는 것으로 평가될 수 있을 것이다. 위의 방법은 어떻게 인코딩 비트 전송 속도가 미디어의 다른 부분들을 위해 선택될 것인가에 대한 원칙을 실증한다. 요약하자면 더 높은 비트 전송 속도는 비교적 높은 등급의 영역들을 위해 선택되어지고 더 낮은 비트 전송 속도는 비교적 낮은 영역의 부분들을 위해 그럴 것이다. 등급의 임계값은 상대적으로 낮은 등급의 영역들에서 상대적으로 높은 등급의 영역들을 나누도록 설정될 것이다. 임계값은 효과적인 비트 전송 속도는 제1 비트 전송 속도보다 작도록 선택된다.
미디어의 영역들을 위한 인코딩 비트 전송 속도를 선택하기 위한 다른 방법은 현재 도면 5와 6을 참고로 설명된다. 이 예에서, 이용 가능하고 미디어를 위해 사용될 수 있는 두 개 이상의 다른 인코딩 비트 전송 속도들이 있다고 가정될 것이다. 게다가, 등급들은 숫자값에 의해 나타내지는데 비교적 큰 수의 다른 값들이 그중에 있다. 아래에 자세히 설명될 것인데, 이런 방법은 선택된 비트 전송 속도와 등급들을 연결하는 척도 요인(scale factor)을 사용한다.
처음에, 초기화에서, 스텝 78에서, 프로세서는 척도 요인을 위한 값을 추정할 것이다. 이것은 모든 영역들의 평균 등급 값에 의해 제1 비트 전송 속도를 나누는 방법으로 이루어질 수 있다. 따라서, 스텝 80과 90에서 프로세서는 각 영역들을 위한 비트 전송 속도를 선택하기 위한 척도 요인을 사용한다. 그렇게 하는 것에서, 프로세서는 척도 요인을 조절할 수 있고, 따라서 비트 전송 속도도 조절될 수 있다.
스텝 80에서, 각 영역들을 위한 비트 전송 속도들은 등급들에 의해 배가된 척도 요인들을 사용해 선택되어진다. 이렇게 하는 한 방법은 도 6에 나와 있고 아래에서 설명되어질 것이다.
스텝 82에서, 선택된 비트 전송 속도들은 미디어를 위한 효과적인 비트 전송 속도를 계산하는데 사용된다. 위 설명에서처럼, 효과적인 비트 전송 속도는 영역들의 선택된 비트 전송 속도들의 평균이 될 수도 있다. 스텝 84에서, 프로세서는 효과적인 비트 전송 속도를 제1 비트 전송 속도와 비교하고 특별히 효과적인 비트 전송 속도가 제1 비트 전송 속도의 원하는 범위 내에 있는지를 결정한다.
만약 효과적인 비트 전송 속도가 원하는 범위 내에 있지 않으면, 스텝 86에서, 프로세서는 효과적인 비트 전송 속도가 원하는 비트 전송 속도보다 적은지 아닌지를 결정한다. 효과적인 비트 전송 속도가 원하는 비트 전송 속도보다 적으면, 스텝 88에서, 척도 요인은 증가되고 아니면, 스텝 90에서, 척도 요인은 감소된다. 척도 요인을 조절하게 하는 양은 (예를 들면 증가하거나 감소하거나) 기설정되거나, 예를 들면, 효과적인 비트 전송 속도와 제1 비트 전송 속도 사이의 차이를 사용해 계산될 수 있다.
전형적으로, 증가하는 척도 요인의 효과는 적어도 영역들의 하나를 위해 선택된 비트 전송 속도를 증가시키고, 따라서 효과적인 비트 전송 속도를 증가시킨다. 동일하게, 척도 요인의 감소의 효과는 전형적으로 영역들의 적어도 하나를 위한 선택된 비트 전송 속도를 감소시키고, 따라서 효과적인 비트 전송 속도를 감소시킨다.
척도 요인의 변경 이후에, 프로세서는 비트 전송 속도는 다시 선택되는 스텝 80으로 돌아가는데, 새 척도 요인을 사용하며, 효과적인 비트 전송 속도는 스텝 82에서 계산되고 스텝 84에서 제1 비트 전송 속도와 비교된다.
만약 스텝 84에서 효과적인 비트 전송 속도가 원하는 범위 내에 있으면, 스텝 92에서, 선택된 비트 전송 속도는 미디어의 공급을 위해 사용된다.
척도 요인을 사용해 비트 전송 속도를 선택하는 방법은 도면 6을 참고해 설명되어질 것이다. 도면 6는 P1 내지 P12를 나타내는 12 기간의 비트 전송 속도를 보여주는 도면을 보여준다. 그 기간 전송 속도들은 수평축 94를 따라 나열된다. 수직축 96은 비트 전송 속도를 나타낸다. 수평축 점선 98, 100, 102 및 104는 네개의 이용가능한 비트 전송 속도 3, 6, 12 그리고 20 Mbps를 각각 보여준다. 점선이 아닌 수평선 106은 10Mbps의 제1 비트 전송 속도를 나타낸다.
척도 요인에 의해 등급을 배가시키는 것으로 만들어진 임시값은 굵게 표시된 수평의 검은선(108)에 의해 보여진다. 보듯이, 각 기간은 관련된 임시값을 위한 다른 값을 갖는다. 임시값을 사용해, 네 개의 이용 가능한 인코딩 비트 전송 속도들의 하나가 선택될 수 있다. 이것은 도면 6에서 도시된 바와 같이 가장 가까운 비트 전송 속도를 선택하는 것에 의해 이루어질 수 있다. 그러나, 다음으로 가장 높은 혹은 가장 낮은 비트 전송 속도를 선택하는 것 같은 다른 기술들이 사용될 수도 있다. 일부 기간들을 위해서 선택된 비트 전송 속도는 이용 가능한 비트 전송 속도보다 더 크고, 다른 기간들을 위해서 선택된 비트 전송 속도는 이용 가능한 비트 전송 속도보다 더 적다.
도시되지는 않았지만 척도 요인을 바꾸는 효과가 모든 임시 값들을 바꿀 것이라는 것이 인식될 것이다.
많은 기간들을 위한 선택된 비트 전송 속도가 변하지 않는 동안, 두 개의 이용 가능한 인코딩 비트 전송 속도 사이의 컷 오프(cut off)에 가까운 것들은 바뀔 수도 있다. 그렇게 함으로써 전체적으로 미디어의 효과적인 비트 전송 속도를 변경한다.
임시값에 근거해 비트 전송 속도를 선택할 때, 관련된 프로세서는 다른 고려사항을 감안할 수 있다.
예를 들어, 첫번째 구간을(P1) 위한 선택된 비트 전송 속도가 예를 들어 20Mbps라면 프로세서는 효과적인 비트 전송 속도를 예를 들어 12Mbps로 줄이려고 결정할 수 있고, 더 적은 버퍼링이 재생이 시작될 수 있기 이전에 요구된다.
유사한 조정(adjustment)이 다른 기간(period)들을 위해 이루어질 수 있다. 예를 들어, 후의 기간이 높은 선택된 비트 전송 속도를 가지면, 프로세서는 이전 기간들의 스트리밍 동안 수신기가 충분한 데이터를 수신하는 것이 가능한지 여부와 상술한 후의 기간의 스트리밍이 가능한지 여부를 결정한다. 만일 그렇지 못하다면, 프로세서는 후의 기간의 비트 전송 속도를 줄이거나 용량을 확보할 수 있는 하나 이상의 이전 기간들의 비트 전송 속도를 줄일 수 있다. 예를 들어, P7 기간 20Mbps 이상의 높은 비트 전송 속도를 가진다. 충분한 데이터를 수신하는 것이 불가능하다면, 프로세서는 비트 전송 속도를 줄일 수 있다. 예를 들어, P6 기간은 6Mbps에서 3Mbps 또는 연결상에서 자유로운 대역폭으로 변경될 수 있다. P6는 3Mbps와 6Mbps의 두 가지 비트 전송 속도 사이에서 제한되도록 선택될 수 있다.
추가적인 조정은, 예를 들어, 수신기의 메모리 크기를 기초로 만들어질 수 있다. 예를 들어, 주어진 미디어 파일에서 높은 등급(높은 비트 전송 속도) 영역은 미디어의 끝 방향으로 바이어스(bias)될 수 있다. 미디어의 앞쪽 부분이 높은 비트 전송 속도의 뒷 영역을 재생하는데 요구되는 추가적인 데이터를 다운로드하기 위해 사용될 수도 있지만 불가능할 수도 있다. 이러한 경우, 더 앞쪽 영역은 그들을 위해 약간 더 높은 비트 전송 속도가 선택되고, 나중의 비트 전송 속도는 버퍼에 저장하기 위해 필요한 데이터 양을 줄이기 위해 약간 낮은 비트 전송 속도가 선택된다.
상술한 방법은 상대적으로 상당수의 등급을 사용하여 상대적으로 상당수의 비트 전송 속도가 미디어를 위해 선택될 수 있는 방법의 예이다. 이것은 원하는 효과적인 비트 전송 속도를 얻을 때까지 비트 전송 속도와 등급을 매칭하기 위한 반복적인 과정에 효과적이다.
<추가적인 세부 내용 및 변경>
일단 영역들을 위한 비트 전송 속도가 식별되는 것이 평가된다. 요청되고 수신기에 의해 수신되는 많은 방법이 있다. 예를 들면, 위의 도면 2와 관련된 설명에서, 높은 비트 전송 속도를 갖는 영역들의 일부는 낮은 비트 전송 속도를 갖는 영역들과 함께 다운로드될 수도 있다.
그러나, 대체적인 실시예에서, 각 영역들 전체는 단순히 알맞게 요청받을 수 있다. 각 영역은 수신기(6)의 메모리(20)에 수신받아 저장할 것이고 재생을 위해 검색될 것이다. 이것은 미디어의 영역들의 선택된 버전들이 예를 들어 서버 혹은 서버와 수신기로부터 분리된 장치에 의해 선택되어질 수 있다는 것과 플레이리스트 재생을 하는 수신기가 상당한 수정 없이 미디어를 재생할 수 있을 것이라는 이점을 갖는다.
등급의 두 가지 예는 제공되었는데, 첫번째에서 등급은 미디어의 연결된 부분의 비트 전송 속도를 증가시키기 위한 선호 명령을 나타내는 유일한 값이었다. 두번째에서, 등급은 척도 요인을 사용해 사실상 비트 전송 속도로 전환되는 관련된 비트 전송 속도를 나타내는 것이었다. 등급의 다른 형태들이 사용될 수 있고, 등급의 유형이 영역들을 위한 인코딩 비트 전송 속도를 선택하기 위해 사용되는 알고리즘에 의존할 것이라는 것은 명백할 것이다.
이처럼, 일부 실시예에서, 등급은 레벨의 비교적 제한된 수의 하나가 될 수 있는데, 1에서 5까지의 값 같은 것이다. 다른 실시예들에서, 이런 등급은 100 256(28) 혹은 더 높은 수와 같이 더 큰 수의 레벨을 취할 수도 있다. 등급들은 정수, 혹은 소수점 수에 의해 나타내질 수 있다. 일부 실시예에서 위에서 설명되었듯이, 각 영역은 유일한 등급을 받을 수 있다.
등급들은 미디어의 인코딩 동안에 계산될 수 있는데, 예를 들면 인코딩 비트 전송 속도를 얻도록 요구되는 손실이 큰 압축 정도를 살펴보는 것에 의해서, 혹은 미디어의 영역들의 분석에 근거해 한 요인을 직접적으로 계산하는 것에 의해서이다.
높은 컨트라스트는 더욱 분명하게 고 압축을 만들고 그 역도 성립하는 전체 장면 컨트라스트(contrast)와 같은 다른 요인들이 고려될 수도 있다.
여기에서 사용되는 품질은, 미디어의 하나 혹은 이상의 특성들을 설명할지 모르는데 그렇게 하는 것은 많은 방법으로 측정되어질 것이다. 예를 들면, 품질은 객관적으로 측정되어 수 있는데 원래 미디어의 첨두 신호 대 잡음비와 수신기에 의해 재생되는 디코딩된 미디어와 비교해 측정될 수 있다. 이처럼, 사용자들은 비트 전송 속도에 근거해 미디어의 영역들의 감지된 품질을 측정할 수 있고, 음성 품질 수치를 제공할 수 있다. 등급은 따라서 평균 음성 품질 수치에서 나올 수 있는데, 평균값, 중앙값, 최빈치 값 같은 것이다.
이 설명에서, 다른 버전들은 비트 전송 속도에 의해서만 차별화된다. 비트 전송 속도는 미디어의 주어진 부분의 압축 요인을 다양화 하는 것에 의해 다양화될지 모른다. 그러나 해결책을 바꾸는 것 같은 대체적인 방법이 사용되어질 수도 있다.
일부 실시예들에서, 일부 버전들은 특정 수신기에서 이용가능할 수 있다. 반면에 다른 것들은 다른 수신기들에서 이용가능하다. 이것은 예를 들면 수신기의 용량 같은 것에 근거해 결정된다.
일부 실시예들에서, 사용자 선호는 등급들이 비트 전송 속도를 선택하는데 사용하는 방법을 변화시키는데 사용될 수 있다. 예를 들면, 첫번째 사용자는 고품질의 동적 장면들에 대한 관심보다는 정적인 장면들에서는 더욱 자세한 것을 선호할 수 있다. 반면에 두번째 사용자는 반대일 수 있다. 따라서, 사용자 입력은 비트 전송 속도 선택으로의 입력을 제공할 수 있다.
위의 설명은 비트 전송 속도의 선택이 미디어가 수신기에 제공되기 이전에 실행되어진다고 가정한다. 이것은 그 경우가 아닐지 모르고, 일부 예에서 비트 전송 속도를 선택하는 과정은 계속되어질 수 있다. 예를 들면 현재 이용 가능한 자원들에, 주파수 대역폭 같은, 근거해서 이다. 다른 말로, 제1 비트 전송 속도가 예를 들면 주파수 대역폭 변화에 근거해 바뀐다면, 영역들의 적어도 일부를 위한 비트 전송 속도의 선택은 다시 이루어질 수 있다.
일부 실시예에서, 비트 전송 속도의 선택은 미디어의 한 부분을 위해서만 실행되어질 수 있다. 예를 들면, 비트 전송 속도는 주어진 수의 영역들을 위해 선택되어질 수 있는데, 이런 영역들이 재생됨에 따라, 나중 영역들을 위한 비트 전송 속도의 선택은 실행되어질 수 있다.
일부 실시예에서, 어떤 영역들은 단일 비트 전송 속도에서만 이용가능할 수 있다. 즉, 영역들의 일부만이 다양한 버전(multiple version)들을 가질 수 있다. 이런 경우들에서 고정된 비트 전송 속도 영역들은 고정된 비트 전송 속도에서 수신될 것이고, 다른 영역들은 그들을 위해 선택된 비트 전송 속도들을 가질 것이다. 이것은 비트 전송 속도를 선택하는 것의 계산상의(computational) 어려움을 줄이도록 이루어질 수 있다. 예를 들면, 한 실시예에서, 다수의 영역들을 위한 비트 전송 속도는 낮은 비트 전송 속도에서 고정되어질 수 있다. 그리고 더 높은 비트 전송 속도는 제한된 수의 다른 부분들을 위해 선택사항이 될 수 있다.
제1 비트 전송 속도는 위에서 연결(4)의 이용 가능한 주파수 대역폭과 관련되어 설명되었다. 여기서, 이용 가능한 주파수 대역폭은 연결의 최대 처리량을 단순히 의미할 수 있다. 그러나, 그것은 또한 다른 요인들을 고려할 수 있는데, 연결이 다른 장치들 혹은 애플리케이션들, 그리고/혹은 연결 주파수 대역폭의 가변성과 공유되었는지 같은 요인들이다. 더욱이, 이용 가능한 주파수 대역폭이 제1 비트 전송 속도를 결정하는 한가지 고려 사항인 반면, 미디어는 미디어 비트 전송 속도가 연결 주파수 대역폭을 초과할때는 스트림될 수 없기 때문에, 그것은 유일한 고려사항이 아니고 다른 요인들이 추가적으로 또는 대신으로 사용될 수 있다.
예를 들면, 수신기에 의해 수신될 수 있는 미디어 데이터의 총량에 대한 네트워크 제한이 있을 수 있다. 이것은 많은 네트워크들이 데이터 제한을 갖기 때문에, 특별히 미디어가 휴대폰 연결로 수신받을때에 중요하다. 미디어의 총 크기의 측정은 미디어 길이에 의해 총 크기를 나누는 것으로 제1 비트 전송 속도를 결정하도록 사용될 수 있다. 대안으로서, 사용자는 특정 비트 전송 속도 혹은 총 크기를 상세화하기를 원할 수도 있다.
일부 실시예들에서, 한 네트워크는 제1 비트 전송 속도를 상세화하도록 원할 수 있다. 이것은 정체를 줄이도록 이루어질 수 있다. 그런 실시예들에서, 미디어 영역들을 위한 비트 전송 속도를 선택하는 장치는 네트워크 장치에 있을 수도 있는데, 수신기 혹은 서버로부터 분리된 것이다.
서버가 미디어를 수신기로 제공할 수 있는 어떤 장치든 참고한다는 것이 여기에서 인식될 것이다. 서버는 단독 장치일 수 있고 혹은 배분 시스템, 예를 들면 클라우드 스토리지 같은, 것으로 존재하는 것일 수 있다. 일부 실시예들에서, 서버는 로컬 장치일 수 있다. 즉, 홈 네트워크상의 장치이다. 예를 들면 서버는 스토리지 (NAS) 장치에 부착된 홈 네트워크일 수 있고, 혹은, 심지어 홈 네트워크에서 미디어를 연결된 장치에 제공하도록 설정된 홈 컴퓨터일 수 있다.
수신기는 동일하게 미디어를 수신하는 능력을 가진 어느 클라이언트 장치도 된다. 수신기들의 예들은, 제한되는 것은 아니지만, 컴퓨터, 텔레비전, 셋톱박스, 스마트폰, 태블릿 컴퓨터, 랩탑과 PDA를 포함한다.
결국, 비트 전송 속도의 선택은 어느 장치에 의해서든지 실행될 수 있다. 수신기의 부분, 서버, 혹은 두가지에서 분리된 독립장치이든지 이다.
미디어는 패키저에 의한 많은 기설정된 버전들에 있어서 분리되고, 인코딩되고, 서버에 저장되어질 수 있다. 하지만, 다른 실시예에서, 미디어는 예를 들면 한가지 버전에서 저장될 수 있다. 그리고 하나 혹은 그 이상의 코드 변환기는 미디어를 다수의 이용가능한 비트 전송 속도로 코드 변환 시키도록 제공될 수 있다. 이런 실시예에서, 코드 변환기는 상세한, 이용가능한, 비트 전송 속도로 기설정될 수 있는데, 선택된 비트 전송 속도가 이것에 대응한다.
위에서, 기간들은 기설정된 길이를 갖는 것으로 보여졌다. 이것은 그 경우는 아닐지 모르지만, 기간들은 예를 들면, 미디어의 다른 장면들에 의해 한정될지 모른다. 그처럼, 기간들은 다양한 길이가 될 수 있다.
어느 실시예와 관련되어 설명된 어느 특징도 홀로, 혹은 다른 설명된 특징들과 결합해 사용될 수 있다는 것과 다른 실시예의 하나 혹은 그 이상의 특징들과 결합해, 혹은 다른 실시예들과 결합해 사용될 수 있다는 것이 이해될 수 있을 것이다. 더욱이, 상술하지 않은 동등하거나 수정 또한 청구항과 분리되지 않고 적용될 수 있다. 청구항의 특징들은 청구항에서 구체화된 것 이상으로 다른 것과 결합될 수도 있다.
2 : 서버 6 : 수신기
10, 20 : 메모리 12, 18 : 프로세서
14 : 네트워크 인터페이스 22 : 출력부
10, 20 : 메모리 12, 18 : 프로세서
14 : 네트워크 인터페이스 22 : 출력부
Claims (20)
- 서버에서 수신기로 복수의 영역을 포함하는 미디어의 공급을 제어하는 장치에 있어서, 상기 미디어는 적어도 두 개의 버전으로 인코딩된 복수의 영역을 포함하고, 상기 버전은 상이한 기 설정된 인코딩 비트 전송 속도를 가지며,
상기 장치는,
제1 비트 전송 속도를 나타내는 제1 값을 결정하는 프로세서;
상기 영역(portion)들의 적어도 일부를 위한 등급(ranking)을 나타내는 복수의 제2 값을 수신하는 인터페이스;를 포함하며,
상기 프로세서는,
상기 제1 값 및 상기 제2 값을 이용하여 상기 영역들의 적어도 일부를 위한 서로 다른 인코딩 비트 전송 속도를 선택하고, 상기 선택된 인코딩 비트 전송 속도에 대응하는 상기 영역들의 버전이 상기 서버로부터 상기 수신기로 제공되도록 하는, 장치. - 제1항에 있어서,
상기 제1 값은 적어도 상기 수신기로 전송되는 상기 미디어의 공급을 위해 이용 가능한 자원의 제한에 기초하여 결정되는, 장치. - 제1항 또는 제2항에 있어서,
상기 제1 값은,
상기 서버와 상기 수신기 사이의 연결에서 이용 가능한 대역폭, 상기 미디어의 총 크기에 대한 네트워크 제한, 상기 미디어를 위한 비트 전송 속도에 대한 선택 입력 및 상기 미디어를 위한 총 크기에 대한 선택 입력 중 적어도 하나에 근거하여 결정되는, 장치. - 제1항 또는 제2항에 있어서,
상기 프로세서는,
상기 제1 값을 결정하기 위해 측정되는 상기 서버와 상기 수신기 사이의 연결 대역폭을 발생시키기 위해 구성되는, 장치. - 제1항 또는 제2항에 있어서,
상기 프로세서는,
상기 제1 값의 변화를 감지하는 것에 근거하여 상기 영역들의 적어도 하나를 위한 인코딩 비트 전송 속도를 재선택하기 위해 구성되는, 장치. - 제1항에 있어서,
상기 프로세서는,
상기 미디어의 효과적인 전송 속도가 상기 제1 비트 전송 속도와 맞추어 조정되는 상기 영역들을 위한 인코딩 비트 전송 속도를 선택하기 위해 구성되는, 장치. - 제6항에 있어서,
상기 프로세서는,
상기 미디어의 효과적인 전송 속도가 상기 제1 비트 전송 속도의 기 설정된 범위 이내인 상기 영역들을 위한 인코딩 비트 전송 속도를 선택하기 위해 구성되는, 장치. - 제6항에 있어서,
상기 프로세서는,
상기 미디어의 효과적인 전송 속도와 상기 제1 비트 전송 속도 사이의 차이가 최소화되는 상기 영역들을 위한 인코딩 비트 전송 속도를 선택하기 위해 구성되는, 장치. - 제6항 내지 제8항 중 어느 한 항에 있어서,
상기 효과적인 전송 속도는 상기 영역들을 위한 상기 선택된 인코딩 비트 전송 속도의 평균인, 장치. - 제1항에 있어서,
상기 프로세서는,
기 설정된 임계값보다 큰 등급을 가지는 영역들을 위한 큰 비트 전송 속도 및 기 설정된 임계값보다 작은 등급을 가지는 영역들을 위한 작은 비트 전송 속도를 선택하기 위해 구성되는, 장치. - 제1항 또는 제2항에 있어서,
상기 프로세서는,
기 설정된 임계값보다 큰 등급을 가지는 상기 영역들의 적어도 첫번째를 위한 상기 제1 비트 전송 속도보다 큰 비트 전송 속도 및 기 설정된 임계값보다 작은 등급을 가지는 상기 영역들의 적어도 두번째를 위한 상기 제1 비트 전송 속도보다 작은 비트 전송 속도를 선택하기 위해 구성되는, 장치. - 제1항 또는 제2항에 있어서,
상기 등급은 품질과 비트 전송 속도 사이의 관계를 나타내고,
기 설정된 임계값보다 큰 등급은 비트 전송 속도의 증가에 의해 영역을 위한 품질의 큰 향상이 된 영역을 나타내며,
기 설정된 임계값보다 작은 등급은 비트 전송 속도의 증가에 의해 영역을 위한 품질의 작은 향상이 된 영역을 나타내는, 장치. - 제1항 또는 제2항에 있어서,
상기 등급은 품질과 비트 전송 속도 사이의 관계를 나타내고,
기 설정된 임계값보다 큰 등급은 주어진 품질 레벨을 제공하기 위해 요구되는 큰 비트 전송 속도의 영역을 나타내며,
기 설정된 임계값보다 작은 등급은 주어진 품질 레벨을 제공하기 위해 요구되는 작은 비트 전송 속도의 영역을 나타내는, 장치. - 제1항 또는 제2항에 있어서,
상기 등급은 상기 미디어가 인코딩될 때 결정되는, 장치. - 제1항 또는 제2항에 있어서,
상기 제2 값은 상기 서버로부터 수신되는, 장치. - 제1항 또는 제2항에 있어서,
상기 프로세서는,
상기 수신기로 플레이리스트를 보내도록 구성되고,
상기 플레이리스트는,
상기 선택된 인코딩 비트 전송 속도에 대응하는 상기 영역들의 상기 버전을 식별하는 데이터인, 장치. - 스트리밍 미디어를 위한 서버에 있어서, 상기 미디어는 적어도 두 개의 버전으로 인코딩된 복수의 영역을 포함하고, 상기 버전은 상이한 기 설정된 인코딩 비트 전송 속도를 가지며,
상기 서버는,
상기 버전 정보 및 영역의 등급을 나타내는 제2 값을 저장하는 메모리; 및
제1 비트 전송 속도를 나타내는 제1 값을 결정하고, 상기 영역(portion)들의 적어도 일부를 위한 등급(ranking)을 나타내는 복수의 상기 제2 값을 검색하는 프로세서;를 포함하며,
상기 프로세서는,
상기 제1 값 및 상기 제2 값을 이용하여 상기 영역들의 적어도 일부를 위한 서로 다른 인코딩 비트 전송 속도를 선택하고, 상기 선택된 인코딩 비트 전송 속도에 대응하는 상기 영역들의 버전이 상기 서버로부터 상기 수신기로 제공되도록 하는 장치;를 포함하는 서버. - 미디어를 수신하기 위한 수신기에 있어서, 상기 미디어는 적어도 두 개의 버전으로 인코딩된 복수의 영역을 포함하고, 상기 버전은 상이한 기 설정된 인코딩 비트 전송 속도를 가지며,
상기 수신기는,
제1 비트 전송 속도를 나타내는 제1 값을 결정하는 프로세서;
상기 영역(portion)들의 적어도 일부를 위한 등급(ranking)을 나타내는 복수의 제2 값을 수신하는 인터페이스;를 포함하며,
상기 프로세서는,
상기 제1 값 및 상기 제2 값을 이용하는 상기 영역들의 적어도 일부를 위한 서로 다른 인코딩 비트 전송 속도를 선택하고, 상기 선택된 인코딩 비트 전송 속도에 대응하는 상기 영역들의 버전이 상기 서버로부터 상기 수신기로 제공되도록 하는 장치;를 포함하는 수신기. - 서버에서 수신기로 미디어 공급을 제어하는 방법에 있어서, 상기 미디어는 적어도 두 개의 버전으로 인코딩된 복수의 영역을 포함하고, 상기 버전은 상이한 기 설정된 인코딩 비트 전송 속도를 가지며,
제1 비트 전송 속도를 나타내는 제1 값을 결정하는 단계;
적어도 영역들의 일부를 위한 등급을 나타내는 복수의 제2 값을 수신하는 단계;
상기 제1 값 및 상기 제2 값을 이용하는 상기 영역들의 적어도 일부를 위한 서로 다른 인코딩 비트 전송 속도를 선택하는 단계; 및
상기 서버에서 상기 수신기로 공급되기 위한 선택된 인코딩 비트 전송 속도에 대응하는 상기 영역들의 버전을 발생시키는 단계;를 포함하는, 장치 제어 방법. - 서버에서 수신기로 미디어 공급을 제어하는 프로그램을 저장하는 저장 매체에 있어서, 상기 미디어는 적어도 두 개의 버전으로 인코딩된 복수의 영역을 포함하고, 상기 버전은 상이한 기 설정된 인코딩 비트 전송 속도를 가지며,
제1 비트 전송 속도를 나타내는 제1 값을 결정하는 단계;
적어도 영역들의 일부를 위한 등급을 나타내는 복수의 제2 값을 수신하는 단계;
상기 제1 값 및 상기 제2 값을 이용하는 상기 영역들의 적어도 일부를 위한 서로 다른 인코딩 비트 전송 속도를 선택하는 단계; 및
상기 서버에서 상기 수신기로 공급되기 위한 선택된 인코딩 비트 전송 속도에 대응하는 상기 영역들의 버전을 발생시키는 단계;를 수행하는 것을 특징으로 하는 프로그램을 저장하는 컴퓨터로 판독 가능한 저장 매체.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/766,110 US20140068097A1 (en) | 2012-08-31 | 2013-02-13 | Device of controlling streaming of media, server, receiver and method of controlling thereof |
EP13158462.5A EP2704443A3 (en) | 2012-08-31 | 2013-03-08 | Device for controlling streaming of media, server, receiver and method of controlling thereof |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1215573.5 | 2012-08-31 | ||
GB1215573.5A GB2505486B (en) | 2012-08-31 | 2012-08-31 | Streaming media |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20140029088A true KR20140029088A (ko) | 2014-03-10 |
KR101403943B1 KR101403943B1 (ko) | 2014-06-09 |
Family
ID=47075088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120141268A KR101403943B1 (ko) | 2012-08-31 | 2012-12-06 | 스트리밍 미디어의 공급 제어 장치, 서버, 수신기 및 제어 방법 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR101403943B1 (ko) |
GB (1) | GB2505486B (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016010235A1 (ko) * | 2014-07-18 | 2016-01-21 | 엔트릭스 주식회사 | 클라우드 스트리밍 서비스 시스템, 컨텐츠 화질 개선 방법 및 이를 위한 장치 |
KR20160093929A (ko) * | 2015-01-30 | 2016-08-09 | 엔트릭스 주식회사 | 클라우드 스트리밍 서비스 시스템, 동시 인코딩을 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9516375B2 (en) * | 2008-12-02 | 2016-12-06 | Orckit Ip, Llc | Edge optimized transrating system |
KR101578723B1 (ko) * | 2008-12-31 | 2015-12-21 | 엘지전자 주식회사 | 영상표시장치 및 영상표시장치의 동영상 스트리밍 방법 |
KR101750049B1 (ko) * | 2009-11-13 | 2017-06-22 | 삼성전자주식회사 | 적응적인 스트리밍 방법 및 장치 |
KR101777347B1 (ko) * | 2009-11-13 | 2017-09-11 | 삼성전자주식회사 | 부분화에 기초한 적응적인 스트리밍 방법 및 장치 |
KR101837687B1 (ko) * | 2010-06-04 | 2018-03-12 | 삼성전자주식회사 | 콘텐트의 품질을 결정하는 복수의 인자에 기초한 적응적인 스트리밍 방법 및 장치 |
KR101702562B1 (ko) * | 2010-06-18 | 2017-02-03 | 삼성전자 주식회사 | 멀티미디어 스트림 파일의 저장 파일 포맷, 저장 방법 및 이를 이용한 클라이언트 장치 |
US8689267B2 (en) * | 2010-12-06 | 2014-04-01 | Netflix, Inc. | Variable bit video streams for adaptive streaming |
-
2012
- 2012-08-31 GB GB1215573.5A patent/GB2505486B/en not_active Expired - Fee Related
- 2012-12-06 KR KR1020120141268A patent/KR101403943B1/ko not_active IP Right Cessation
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016010235A1 (ko) * | 2014-07-18 | 2016-01-21 | 엔트릭스 주식회사 | 클라우드 스트리밍 서비스 시스템, 컨텐츠 화질 개선 방법 및 이를 위한 장치 |
KR20160093929A (ko) * | 2015-01-30 | 2016-08-09 | 엔트릭스 주식회사 | 클라우드 스트리밍 서비스 시스템, 동시 인코딩을 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 |
KR20210095846A (ko) * | 2015-01-30 | 2021-08-03 | 에스케이플래닛 주식회사 | 클라우드 스트리밍 서비스 시스템, 동시 인코딩을 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 |
Also Published As
Publication number | Publication date |
---|---|
KR101403943B1 (ko) | 2014-06-09 |
GB201215573D0 (en) | 2012-10-17 |
GB2505486A (en) | 2014-03-05 |
GB2505486B (en) | 2016-01-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10419787B2 (en) | Dynamic programming across multiple streams | |
US9979768B2 (en) | System and method for transitioning between receiving different compressed media streams | |
US10547659B2 (en) | Signaling and processing content with variable bitrates for adaptive streaming | |
JP2018023133A (ja) | メディアコンテンツの適応型ストリーミングのための品質情報の使用 | |
GB2492538A (en) | A device specific, adaptive bit-rate method for streaming audio video content | |
KR101708728B1 (ko) | 스트림 미디어에 기반하여 비트스트림 세그먼트를 선택하는 방법, 플레이어, 및 단말 | |
CN112868229A (zh) | 用于流传输数据的方法和设备 | |
US20150156557A1 (en) | Display apparatus, method of displaying image thereof, and computer-readable recording medium | |
US10003626B2 (en) | Adaptive real-time transcoding method and streaming server therefor | |
JP7061567B2 (ja) | 節電メディア・コンテンツを提供する方法および装置 | |
JP2013110572A (ja) | 再生装置、再生方法、及びプログラム | |
EP2704443A2 (en) | Device for controlling streaming of media, server, receiver and method of controlling thereof | |
KR101403943B1 (ko) | 스트리밍 미디어의 공급 제어 장치, 서버, 수신기 및 제어 방법 | |
JP2018533272A (ja) | 節電メディアコンテンツを再生する方法、システム、及び機器 | |
US20130212223A1 (en) | Dynamic modification of media streams' quality | |
JP2013174882A (ja) | コンテンツ再生装置およびコンテンツ処理方法 | |
JPWO2018142947A1 (ja) | 情報処理装置および方法 | |
US11178206B2 (en) | Method for managing progressive and adaptive streaming of digital content by a multimedia stream player terminal connected to a communication network, and associated management device, multimedia stream player terminal and computer program | |
JP2022039452A (ja) | 受信端末、配信サーバ、受信方法及び受信プログラム | |
US20200084256A1 (en) | Image processing apparatus and method of controlling the same | |
JP2021114092A (ja) | クライアント装置、コンテンツ補正システムおよび制御方法 | |
JP4707478B2 (ja) | 端末装置、コンテンツ配信システム、コンテンツ配信方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |