KR20180031547A - 서버에서 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 방법 및 장치 - Google Patents

서버에서 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20180031547A
KR20180031547A KR1020170018792A KR20170018792A KR20180031547A KR 20180031547 A KR20180031547 A KR 20180031547A KR 1020170018792 A KR1020170018792 A KR 1020170018792A KR 20170018792 A KR20170018792 A KR 20170018792A KR 20180031547 A KR20180031547 A KR 20180031547A
Authority
KR
South Korea
Prior art keywords
bit rate
queue
multimedia data
switching
queues
Prior art date
Application number
KR1020170018792A
Other languages
English (en)
Other versions
KR102039778B1 (ko
Inventor
용싱 리
후이펭 쉔
Original Assignee
베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. filed Critical 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디.
Publication of KR20180031547A publication Critical patent/KR20180031547A/ko
Application granted granted Critical
Publication of KR102039778B1 publication Critical patent/KR102039778B1/ko

Links

Images

Classifications

    • H04L65/601
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • H04L65/4076
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network 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/63Control 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/637Control signals issued by the client directed to the server or network components
    • H04N21/6373Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate

Abstract

본 발명은 서버에서 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 방법 및 장치를 제공한다. 상기 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 방법은, 네트워크 품질 정보를 획득하는 단계와, 상기 네트워크 품질 정보에 근거하여 비트 레이트 전환의 필요성을 확정하는 경우, 상이한 큐에는 동일한 미디어 콘텐츠에 대한 상이한 비트 레이트의 멀티미디어 데이터 프레임이 저장된 모든 큐 중에서 하나의 큐를 송신 큐로 선택하는 단계와, 상기 송신 큐로부터 멀티미디어 데이터 프레임을 판독하고 배포하고, 기타 큐 중의 이미 배포된 멀티미디어 데이터 프레임과 동일한 미디어 콘텐츠를 구비한 멀티미디어 데이터 프레임은 전부 삭제되는 단계를 포함한다. 본 발명에서 제공된 상기 기술 방안은 적응적으로 비트 레이트 전환을 실현하는 동시에, 비트 레이트 전환의 지연을 감소시키고, 신속하고 연속적으로 적응적 비트 레이트 전환을 실현한다.

Description

서버에서 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 방법 및 장치{METHOD AND APPARATUS FOR ADAPTIVELY PROVIDING MULTIPLE BIT RATE STREAM MEDIA IN SERVER}
본 발명은 네트워크 기술에 관한 것으로서, 특히, 서버에서 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 방법 및 장치에 관한 것이다.
스트림 미디어 기술을 이용하여 네트워크에서 스트림 방식으로 오디오 및 비디오 등 미디어 콘텐츠를 전송할 수 있다. 스트림 미디어 기술의 실시간성이 높은 특성으로 인해 주문형 비디오, 비디오 컨퍼런스, 원격 교육, 원격 의료 및 온라인 라이브 방송 등 시스템에 널리 쓰이고 있다.
스트림 미디어 서버가 사용자에게 멀티 비트 레이트 스트림 미디어 서비스를 제공하는 방식은 통상적으로 아래와 같은 2가지 방식을 포함한다.
방식 1: 사용자는 네트워크 상태에 따라 "유창”, "선명" 또는 "고화질" 등 재생 옵션을 선택하고, 서버는 사용자가 선택한 재생 옵션에 따라 해당 사용자에게 상응한 비트 레이트의 미디어 스트림을 제공한다.
방식 2: HLS(HTTP Live Streaming; HTTP 라이브 스트리밍)을 이용하여 사용자에게 멀티 비트 레이트 스트림 미디어를 적응적으로 제공한다. 구체적으로, 스트림 미디어 서버가 사용자에게 배포한 미디어 스트림은 비디오 클립으로 구성되고, 각각의 비디오 클립은 10초 동안의 미디어 콘텐츠를 재생할 수 있는 멀티미디어 데이터를 포함하며, 스트림 미디어 서버는 네트워크 품질에 따라 사용자에게 다양한 비트 레이트의 미디어 스트림을 적응적으로 제공한다.
발명인은 본 발명을 구현하는 과정에서 아래와 같은 문제점을 발견하였다. 상기 방식 1은 사용자가 선택한 재성 옵션에 따라 사용자에게 상응한 비트 레이트의 미디어 스트림을 푸시하기에, 사용자에게 멀티 비트 레이트 스트림 미디어를 적응적으로 제공할 수 없으며, 지능화 정도가 낮아진다. 또한, 사용자는 통상적으로 재생시 중단 또는 모자이크 등 재생 이상이 발생될 경우 재성 옵션을 변경하므로, 상기 방식 1은 사용자 체험에 부정적인 영향을 미치게 된다. 상기 방식 2는 방식 1에 존재하는 기술적 문제를 해결할 수 있으나, 방식 2 에서의 비디오 클립의 재생 시간으로 인해 비트 레이트 전환에 비교적 큰 지연이 발생하게 된다.
본 발명은 서버에서 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 방법 및 장치를 제공하는데 그 목적이 있다.
본 발명의 일 측면에 따르면, 네트워크 품질 정보를 획득하는 단계와; 상기 네트워크 품질 정보에 근거하여 비트 레이트 전환의 필요성을 확정하는 경우, 상이한 큐에는 동일한 미디어 콘텐츠에 대한 상이한 비트 레이트의 멀티미디어 데이터 프레임이 저장된 모든 큐 중에서 하나의 큐를 송신 큐로 선택하는 단계와; 상기 송신 큐로부터 멀티미디어 데이터 프레임을 판독하고 배포하는 단계와; 이미 배포된 멀티미디어 데이터 프레임에 근거하여 각 큐 중의 상응한 멀티미디어 데이터 프레임을 삭제하는 단계; 를 포함하는 서버에서 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 방법을 제공한다.
본 발명의 다른 일 측면에 따르면, 네트워크 품질 정보를 획득하는 장치와; 상기 네트워크 품질 정보에 근거하여 비트 레이트 전환의 필요성을 확정하는 경우, 상이한 큐에는 동일한 미디어 콘텐츠에 대한 상이한 비트 레이트의 멀티미디어 데이터 프레임이 저장된 모든 큐 중에서 하나의 큐를 송신 큐로 선택하는 장치와; 상기 송신 큐로부터 멀티미디어 데이터 프레임을 판독하고 배포하고, 기타 큐 중의 이미 배포된 멀티미디어 데이터 프레임과 동일한 미디어 콘텐츠를 구비한 멀티미디어 데이터 프레임은 전부 삭제되는 장치; 를 포함하는 서버에서 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 장치를 제공한다.
선행 기술에 비해, 본 발명은 아래와 같은 장점을 갖는다. 즉, 본 발명은 다수의 큐를 설정하고, 각 큐에 대응되는 비트 레이트를 상이하게 하고, 동일한 미디어 콘텐츠에 대한 상이한 비트 레이트의 멀티미디어 데이터 프레임이 각자 상이한 큐에 배치될 수 있도록 함으로써, 네트워크 품질 정보에 근거하여 비트 레이트 전환의 필요성을 확정하는 경우, 본 발명은 모든 큐 중에서 현재 네트워크 품질에 더 잘 매칭되는 비트 레이트에 대응되는 하나의 큐를 선택하고, 상기 선택된 큐로부터 멀티미디어 데이터 프레임을 판독하고 배포함으로써, 신속하게 비트 레이트 전환을 실현할 수 있다. 본 발명은 현재 배포된 멀티미디어 데이터 프레임에 근거하여, 각 큐 중의 상응한 멀티미디어 데이터 프레임을 삭제함으로써, 각 큐 중에서 큐 해드에 위치한 멀티미디어 데이터 프레임이 전부 동일한 미디어 콘텐츠에 대한 상이한 비트 레이트의 멀티미디어 데이터 프레임으로 되도록 한다. 이로 하여, 언제라도 비트 레이트 전환의 필요성을 확정하면, 본 발명은 즉시 비트 레이트 전환을 신속하게 진행하는 동시에 비트 레이트 전환 동작이 미디어 콘텐츠의 일관성에 영향을 미치지 않도록 확보할 수 있다. 상기한 바와 같이, 본 발명에서 제공된 기술 방안은 적응적 비트 레이트 전환을 실현하는 동시에 비트 레이트 전환의 지연을 감소시키고, 신속하고 연속적인 적응적 비트 레이트 전환을 실현한다.
본 출원의 기타 특징, 목적 및 장점들은 하기 도면을 참조하여 진행하는 비한정적 실시예들에 대한 상세한 설명을 통하여 더욱 명확해 질 것이다.
도 1은 본 발명의 실시예 1에 따른 서버에서 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 방법의 순서도이다.
도 2는 본 발명의 실시예 2에 따른 비디오 라이브 방송의 응용 정경에서, 스트림 미디어 서버가 사용자에게 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하는 방법의 개략도이다.
도 3은 본 발명의 실시예 4에 따른 서버에서 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 장치의 구성의 개략도이다.
첨부된 도면 중의 동일하거나 유사한 참조부호는 동일하거나 유사한 구성요소를 나타낸다.
예시적인 실시예들에 대해 더욱 상세한 설명을 진행하기에 앞서, 일부 예시적인 실시예들은 순서도에 도시된 처리 또는 방법으로 설명됨을 유의하여야 할 것이다. 순서도에서 각 동작들은 순차적인 처리로 도시되어 있으나, 그중 다수의 동작들은 병행적, 동시적 또는 동기적으로 수행될 수 있다. 또한, 각 동작들의 수행 순서는 재배치될 수 있다. 해당 동작이 완료되면, 상기 처리는 종료될 수 있으나, 첨부된 도면에 포함되지 않은 추가 단계를 구비할 수도 있다. 상기 처리는 방법, 함수, 룰, 서브 루틴, 서브 프로그램 등에 대응될 수 있다.
문맥상에서 "컴퓨터 기기" 또는 "컴퓨터"는, 기설정된 프로그램 또는 명령을 실행함으로써 수치 계산 및/또는 논리 계산 등 기설정된 처리 과정을 수행할 수 있는 스마트 전자 기기를 가리키고, 프로세서와 메모리를 포함할 수 있으며, 프로세서에 의해 메모리에 미리 저장된 프로그램 명령을 실행하여 기설정된 처리 과정을 수행하거나, ASIC, FPGA, DSP 등 하드웨어에 의해 기설정된 처리 과정을 수행하거나, 또는 상기 양자의 조합으로 구현될 수 있다. 컴퓨터 기기는 서버, 개인용 컴퓨터 및 노트북 등을 포함하나 이에 한정되는 것은 아니다.
상기 컴퓨터 기기는 사용자 기기와 네트워크 기기를 포함한다. 상기 사용자 기기는 컴퓨터, 스마트폰, PDA 등을 포함하나 이에 한정되지 않고, 상기 네트워크 기기는 단일 네트워크 서버, 다수의 네트워크 서버로 이루어진 서버 그룹 또는 클라우드 컴퓨팅 (Cloud Computing)에 기반한 대량의 컴퓨터 또는 네트워크 서버로 이루어진 클라우드를 포함하나 이에 한정되지 않는다. 상기 클라우드 컴퓨팅은 분산형 컴퓨팅의 일종으로서, 다수의 루스 커플링된(loose coupled) 컴퓨터 집합들로 이루어진 하나의 가상 슈퍼 컴퓨터이다. 상기 컴퓨터 기기는 단독적으로 실행되어 본 발명을 구현할 수도 있고, 네트워크에 접속하여 네트워크 중 기타 컴퓨터 기기들과의 상호적인 동작을 통해 본 발명을 구현할 수도 있다. 여기서, 상기 컴퓨터 기기가 위치한 네트워크는 인터넷, 광역 통신망, 도시지역 통신망, 근거리 통신망 및 VPN 네트워크 등을 포함하나 이에 한정되지 않는다.
상기 사용자 기기, 네트워크 기기 및 네트워크 등은 예시적인 것일 뿐, 기타 기존 또는 미래의 컴퓨터 기기 또는 네트워크는 본 발명에 적용될 수 있으면, 본 발명의 보호 범위에 포함되는 것으로 이해하여야 하며, 인용된 방식으로 본 발명에 포함됨을 밝혀둔다.
후술할 방법(일부는 순서도에서 도시됨)은 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로 코드, 하드웨어 기술 언어 또는 이들의 임의의 조합으로 구현될 수 있다. 소프트웨어, 펌웨어, 미들웨어 또는 마이크로 코드로 구현될 경우, 필요한 과제를 실행하기 위한 프로그램 코드 또는 코드 세그먼트는 기기 또는 컴퓨터 판독 가능한 매체(예를 들어, 저장 매체)에 저장될 수 있다. (하나 또는 다수의) 프로세서는 필요한 과제를 실행할 수 있다.
본 명세서에 개시되어 있는 구체적인 구성 및 기능의 세부 사항들은 대표적인 것으로서, 본 발명의 예시적인 실시예를 설명하기 위한 목적으로 예시된 것이다. 본 발명의 실시예들은 기타 다양한 형태로 실시될 수 있으며, 본 명세서에서 설명된 실시예들에 한정되는 것으로 해석되어서는 안 된다.
본 발명에서 “제1”, “제2” 등 용어를 사용하여 각 유닛을 설명하였을 수 있으나, 이들 유닛은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 유닛을 다른 하나의 유닛과 구분하기 위해 사용되는 것으로서, 예를 들어, 예시적인 실시예의 범위를 벗어나지 않는 범위 내에서, 제1 유닛은 제2 유닛으로 지칭될 수 있고, 유사하게 제2 유닛은 제1 유닛으로 지칭될 수 있다. 본 발명에서 사용되는 용어 "및/또는”은 그중 하나 또는 그 이상의 나열된 관련 항목들의 임의의 조합과 모든 조합을 포함한다.
어느 하나의 유닛이 다른 하나의 유닛에 “연결되어”있다거나 “커플링되어”있다고 언급된 경우, 그 다른 하나의 유닛에 직접적으로 연결 또는 커플링되거나, 이들 사이에 중간 유닛이 존재할 수 있다고 이해되어야 할 것이다. 반면에, 어느 하나의 유닛이 다른 하나의 유닛에 “직접 연결되어” 있다거나 “직접 커플링되어”있다고 언급된 경우, 중간 유닛이 존재하지 않는것으로 이해되어야 할 것이다. 유닛들 사이의 관계를 설명하는 다른 표현들(예를 들어, “…사이에”와 “바로…사이에”, 또는 “…에 인접하다”와 “…에 직접 인접하다”등)도 마찬가지로 해석되어야 한다.
본 발명에서 사용되는 용어는 구체적인 실시예를 설명하기 위해 사용된 것으로서, 예시적인 실시예들을 한정하려는 의도가 아니다. 문맥상 명백하게 다르게 뜻하지 않는 한, 본 발명에서 사용되는 단수 형식의 “하나의”, “한 항”은 복수의 표현을 포함한다. 또한, 본 발명에서 사용되는 용어 “포함한다” 및/또는 “가지다”는 기술한 특징, 정수, 단계, 동작, 유닛 및/또는 구성요소가 존재함을 지정하려는 것이지, 하나 또는 그 이상의 기타 특징, 정수, 단계, 동작, 유닛, 구성요소 및/또는 이들을 조합한 것이 존재 또는 부가 가능성을 배제하지 않는 것으로 이해되어야 한다.
또한, 일부 대체적인 구현 방식에 있어서, 언급된 기능/동작은 첨부도면에 도시된 순서와 다른 순서로 발생될 수 있다. 예를 들어, 언급된 기능/동작에 따라, 순차적으로 나타낸 두 도면은 실제로 기본상 동시에 실행되거나 상반된 순서로 실행될 수도 있음을 유의하여야 한다.
이하에서는 첨부된 도면을 참조하여 본 발명에 대해 더욱 상세히 설명하고자 한다.
실시예 1: 서버에서 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 방법.
본 실시예는 다수의 큐를 이용하여 사용자에게 멀티 비트 레이트 스트림 미디어 서비스를 적응적으로 제공하는 것이고, 큐의 수량은 비트 레이트의 수량에 대응된다. 본 실시예의 방법은 스트림 미디어 서버에 의해 수행된다. 본 실시예 중의 큐는 논리적으로 다수의 멀티미디어 데이터 프레임을 순차적으로 저장할 수 있는 일정한 저장 공간을 가리키고, 예를 들어, 본 실시예 중의 큐는 체인 테이블 또는 FIFO(First Input First Output, 선입 선출) 큐 등 방식으로 구현될 수 있다.
본 실시예의 서버에서 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 방법의 프로세스는 도 1에 도시된 바와 같다. 도 1에서, 본 실시예의 방법은 주요하게 단계(S100), 단계(S110) 및 단계(S120)를 포함한다.
단계(S100)에서, 네트워크 품질 정보를 획득한다.
예시로서, 본 실시예 중의 네트워크 품질 정보는 네트워크 전송 지연, 패킷 손실률 및 네트워크 지터 정보(network jitter information) 등을 포함할 수 있다. 바람직하게, 본 실시예 중의 네트워크 품질 정보는 큐의 데이터 필링(data filling) 정보를 통해 표현될 수 있고, 큐의 데이터 필링 정보는 데이터가 큐에서의 저장 상태를 나타내는 정보를 가리킨다.
예시로서, 본 실시예 중의 큐의 데이터 필링 정보는 구체적으로 큐에 저장된 멀티미디어 데이터 프레임이 점용한 저장 공간의 크기와 큐의 총 저장 공간의 크기의 비율(또는 비 또는 백분율 등으로 지칭될 수도 있고, 큐의 데이터 필링률로 총칭될 수도 있음)일 수 있고, 큐의 데이터 필링 정보는 구체적으로 큐에 저장된 멀티미디어 데이터 프레임이 점용한 저장 공간의 크기 또는 큐 중의 유휴 저장 공간의 크기 등과 같은 네트워크 품질을 반영할 수 있는 큐 파라미터일 수도 있다.
예시로서, 본 실시예는 정기적으로 (예를 들어, 1초 또는 1초 이하 등) 모든 큐 중의 임의의 한 큐의 데이터 필링 정보를 획득하고 해당 큐의 데이터 필링 정보에 따라 즉시 현재 네트워크 상태를 인지할 수 있다. 상기 임의의 한 큐는 랜덤하게 확정된 하나의 큐일 수도 있고, 미리 확정된 하나의 고정적인 큐일 수도 있다. 즉, 본 실시예는 어느 한 큐의 데이터 필링 정보를 랜덤하게 획득할 수도 있고, 어느 한 큐(예를 들어, 첫번째 큐 또는 두번째 큐)의 데이터 필링 정보를 고정적으로 획득할 수도 있다. 바람직하게, 본 실시예는 정기적으로 큐 중의 송신 큐의 데이터 필링 정보(예를 들어, 큐의 데이터 필링률)를 획득하여 송신 큐의 데이터 필링 정보에 따라 즉시 현재 네트워크 상태를 인지할 수 있다. 본 실시예 중의 송신 큐는 현재 단말기 장치에 송신되고 있는 멀티미디어 데이터 프레임이 속하는 큐를 가리킨다. 즉, 본 실시예에서 상이한 비트 레이트의 멀티미디어 데이터 프레임에 대해 각각 상응한 큐를 설정하고, 각 큐마다 전부 상응한 비트 레이트의 멀티미디어 데이터 프레임이 저장되어 있지만, 어느 한 시각에 있어서, 하나의 큐에 저장된 멀티미디어 데이터 프레임만 단말기 장치에 송신되고, 해당 큐는 송신 큐가 된다.
단계(S110)에서, 네트워크 품질 정보에 근거하여 비트 레이트 전환의 필요성을 확정하는 경우, 모든 큐 중에서 하나의 큐를 송신 큐로 선택한다.
예시로서, 본 실시예에는 다수의 큐가 설정되고, 각각의 큐마다 한가지 비트 레이트에 대응되며, 상이한 큐는 상이한 비트 레이트에 대응된다. 각각의 큐마다 멀티미디어 데이터 프레임이 저장되고, 모든 큐 중의 큐 해드(queue head)에 위치한 멀티미디어 데이터 프레임에 대응되는 미디어 콘텐츠는 완전히 동일하다. 하나의 바람직한 방식으로서, 모든 큐에 저장된 멀티미디어 데이터 프레임의 미디어 콘텐츠는 완전히 동일하고, 즉, 미디어 콘텐츠의 관점으로부터 보면, 모든 큐에 저장된 멀티미디어 데이터 프레임은 동기적이다. 즉, 동일한 미디어 콘텐츠에 대해, 상이한 비트 레이트의 멀티미디어 데이터 프레임은 상이한 큐에 배치된다. 본 실시예 중의 미디어 콘텐츠는 비디오 화면일 수 있고, 동일한 미디어 콘텐츠는 동일한 비디오 화면이다.
예시로서, 본 실시예 중의 모든 큐의 저장 공간의 크기는 통상적으로 차이가 있지만, 모든 큐의 저장 공간에 저장될 수 있는 멀티미디어 데이터 프레임의 수량은 통상적으로 동일하다. 본 실시예 중의 모든 큐의 저장 공간에 저장될 수 있는 멀티미디어 데이터 프레임의 수량이 동일할 경우, 상이한 큐에는 상이한 비트 레이트의 멀티미디어 데이터 프레임이 저장되고 상이한 비트 레이트의 멀티미디어 데이터 프레임이 점용한 저장 공간은 차이가 있으므로, 본 실시예 중의 모든 큐의 저장 공간의 크기는 차이가 있으며, 고 비트 레이트(high bitrate)에 대응되는 큐의 저장 공간의 크기는 저 비트 레이트(low bitrate)에 대응되는 큐의 저장 공간의 크기보다 크다. 물론, 본 실시예에서 모든 큐는 동일한 저장 공간을 구비하는 가능성을 배제하지 않는다. 각 큐의 저장 공간의 크기는 실제 수요에 따라 설정될 수 있으나, 각 큐의 저장 공간의 크기는 전부 2개의 멀티미디어 데이터 프레임이 점용하는 저장 공간보다 작지 않다. 즉, 각각의 큐마다 적어도 2개의 멀티미디어 데이터 프레임을 저장할 수 있다. 본 실시예 중의 멀티미디어 데이터 프레임은 키 프레임 및 해당 키 프레임에 대응되는 모든 넌 키 프레임(non-key frame)을 포함할 수 있다.
예시로서, 본 실시예에서 각 큐에 저장된 멀티미디어 데이터 프레임은 GOP(Group of Pictures, 화면 집합) 구조를 채택할 수 있고, 예를 들어, 본 실시예의 멀티미디어 데이터 프레임은 MPEG(Moving Picture Experts Group, 동영상 전문가 그룹) 인코딩 포맷에 기반한 멀티미디어 데이터 프레임을 채택할 경우, 하나의 I 프레임(즉, 내부 인코딩 프레임, 또는 키 프레임이라고도 칭함), 다수의 P 프레임(즉, 전방향 예측 프레임) 및 다수의 B 프레임(즉, 양방향 보간 프레임)으로 하나의 GOP를 형성하고, 하나의 GOP는 하나의 멀티미디어 데이터 프레임이다. 본 실시예의 멀티미디어 데이터 프레임 중의 키 프레임(예를 들어, I 프레임)은 통상적으로 하나의 완전한 화면이고, 기타 프레임(예를 들어, P 프레임 및 B 프레임)은 주요하게 키 프레임에 대한 변화를 기록하며, 키 프레임이 없으면, P 프레임 및 B 프레임은 디코딩될 수 없다.
예시로서, 본 실시예의 상이한 큐에 저장된 모든 멀티미디어 데이터 프레임은 동일한 인코딩 포맷을 구비하고, 예를 들어, 상이한 큐에 저장된 모든 멀티미디어 데이터 프레임은 동일한 GOP 구조를 갖는다. 한편, 상이한 큐에 저장된 멀티미디어 데이터 프레임은 통상 동기적으로 업데이트된다. 예를 들어, 동일한 미디어 콘텐츠에 대한 멀티미디어 데이터 프레임을 동시에 삭제하거나, 또 예를 들면, 각 큐 중의 동일한 미디어 콘텐츠에 대한 멀티미디어 데이터 프레임을 동시에 삭제할 경우, 동시에 각 큐에 동일한 미디어 콘텐츠에 대한 멀티미디어 데이터 프레임을 동기적으로 추가한다. 물론, 본 실시예에서 각 큐에 동일한 미디어 콘텐츠에 대한 멀티미디어 데이터 프레임을 비동기적으로 추가하는 가능성을 배제하지 않는다. 하지만, 모든 큐 중의 큐 해드에 위치한 멀티미디어 데이터 프레임에 대응되는 미디어 콘텐츠가 완전히 동일하도록 확보하기 위하여, 반드시 동일한 미디어 콘텐츠에 대한 멀티미디어 데이터 프레임을 동시에 삭제하여야 한다.
예시로서, 본 실시예에 있어서, 각 큐에 동일한 미디어 콘텐츠에 대한 멀티미디어 데이터 프레임을 동기적으로 추가하는 하나의 구체적인 예시는 아래와 같다. 즉, 본 실시예에서 각각의 비트 레이트마다 하나의 캐시가 설정되고, 예를 들어, 멀티미디어 데이터 프레임이 GOP 구조를 채택할 경우, 본 실시예에서 각각의 비트 레이트마다 각각 하나의 GOP 캐시가 설정된다. 먼저, 인코딩 처리를 거친 각 멀티미디어 데이터 프레임(예를 들어, MPEG 인코딩 처리를 거친 각 멀티미디어 데이터 프레임)에 대해 트랜스코딩 처리를 진행하여 다수의 상이한 비트 레이트의 멀티미디어 데이터 프레임을 획득한 다음, 상이한 비트 레이트의 멀티미디어 데이터 프레임을 동시에 상응한 GOP 캐시에 기록한다. 예를 들어, 각 GOP 캐시가 전부 비어 있을 경우(GOP 캐시 중의 멀티미디어 데이터 프레임이 큐에 인입되어 GOP 캐시가 비게 될 수도 있고, 비우기 동작에 의해 GOP 캐시가 비게 될 수도 있음), 트랜스코딩 처리를 거친상이한 비트 레이트의 멀티미디어 데이터 프레임을 동시에 상응한 GOP 캐시에 기록한다. 다음, 각 GOP 캐시로부터 동시에 동일한 수량의 멀티미디어 데이터 프레임을 판독하고, 판독한 동일한 수량의 멀티미디어 데이터 프레임을 각각 상응한 큐에 저장함으로써, 각 큐에 동일한 미디어 콘텐츠에 대한 멀티미디어 데이터 프레임이 동기적으로 추가된다.
예시로서, 본 실시예 중의 네트워크 품질 정보는 큐의 데이터 필링률을 포함하고, 모든 큐 각자의 저장 공간에 저장될 수 있는 멀티미디어 데이터 프레임의 수량이 전부 동일할 경우, 본 실시예의 네트워크 품질 정보에 근거하여 비트 레이트 전환의 필요성을 확정하는 과정은 아래와 같을 수 있다. 즉, 사전에 모든 큐에 대해 2개의 통일적인 역치 즉, 제1 역치와 제2 역치를 설정하고, 사전에 유지보수된 정보로부터 각 큐의 총 저장 공간의 크기를 획득하며, 정기적으로 모든 큐 중 임의의 한 큐에 현재 저장된 모든 멀티미디어 데이터 프레임이 점용한 총 저장 공간의 크기를 획득한다(예를 들어, 정기적으로 송신 큐에 현재 저장된 모든 멀티미디어 데이터 프레임이 점용한 총 저장 공간의 크기를 획득함). 다음, 상기 획득한 큐에 현재 저장된 모든 멀티미디어 데이터 프레임이 점용한 총 저장 공간의 크기 및 해당 큐의 총 저장 공간의 크기에 근거하여 해당 큐의 데이터 필링률을 산출하고, 해당 큐의 데이터 필링률이 제1 역치보다 높은 것으로 판단되면, 저 비트 레이트로의 전환의 필요성을 확정하고, 해당 큐의 데이터 필링률이 제2 역치보다 낮은 것으로 판단되면, 고 비트 레이트로의 전환의 필요성을 확정한다. 상기 제1 역치는 통상적으로 제2 역치보다 훨씬 크며, 예를 들어, 제1 역치는 80%이고, 제2 역치는 20%이다.
예시로서, 본 실시예 중의 네트워크 품질 정보는 큐의 데이터 필링률을 포함하고, 모든 큐 각자의 저장 공간에 저장될 수 있는 멀티미디어 데이터 프레임의 수량이 상이할 경우, 본 실시예의 네트워크 품질 정보에 근거하여 비트 레이트 전환의 필요성을 확정하는 과정은 아래와 같을 수 있다. 즉, 사전에 각각의 큐에 대해 각각 2개의 역치를 설정한다. 즉, 각각의 큐마다 전부 각자의 제1 역치 및 제2 역치에 대응되고, 상이한 큐의 각자 대응되는 제1 역치는 통상적으로 상이하며, 마찬가지로, 상이한 큐의 각자 대응되는 제2 역치도 통상적으로 상이하다. 사전에 유지보수된 정보로부터 각 큐의 총 저장 공간의 크기 및 각 큐의 각자 대응되는 제1 역치 및 제2 역치를 획득하고, 정기적으로 모든 큐 중 임의의 한 큐에 현재 저장된 모든 멀티미디어 데이터 프레임이 점용한 총 저장 공간의 크기를 획득하며(예를 들어, 정기적으로 송신 큐에 현재 저장된 모든 멀티미디어 데이터 프레임이 점용한 총 저장 공간의 크기를 획득함), 상기 획득한 큐에 현재 저장된 모든 멀티미디어 데이터가 점용한 총 저장 공간의 크기 및 해당 큐의 총 저장 공간의 크기에 근거하여 해당 큐의 데이터 필링률을 산출한다. 해당 큐의 데이터 필링률이 해당 큐에 대응되는 제1 역치보다 높은 것으로 판단되면, 저 비트 레이트로의 전환의 필요성을 확정하고, 해당 큐의 데이터 필링률이 해당 큐에 대응되는 제2 역치보다 낮은 것으로 판단되면, 고 비트 레이트로의 전환의 필요성을 확정한다. 상기 제1 역치는 통상적으로 제2 역치보다 훨씬 크며, 예를 들어, 제1 역치는 80%이고, 제2 역치는 20%이다.
예시로서, 본 실시예 중의 네트워크 품질 정보가 큐에 현재 저장된 모든 멀티미디어 데이터 프레임이 점용한 총 저장 공간의 크기를 포함할 경우, 본 실시예의 네트워크 품질 정보에 근거하여 비트 레이트 전환의 필요성을 확정하는 과정은 구체적으로 아래와 같을 수 있다. 즉, 모든 큐 각자의 저장 공간에 저장될 수 있는 멀티미디어 데이터 프레임의 수량이 동일한지 여부에 상관없이, 사전에 각각의 큐에 대해 각각 2개의 역치를 설정한다. 즉, 각각의 큐마다 전부 각자의 제3 역치 및 제4 역치에 대응되고, 상이한 큐의 각자 대응되는 제3 역치는 통상적으로 상이하며, 마찬가지로, 상이한 큐의 각자 대응되는 제4 역치도 통상적으로 상이하다. 사전에 유지보수된 정보로부터 각 큐의 각자 대응되는 제3 역치 및 제4 역치를 획득하고, 정기적으로 모든 큐 중 임의의 한 큐에 현재 저장된 모든 멀티미디어 데이터 프레임이 점용한 총 저장 공간의 크기를 획득하며(예를 들어, 정기적으로 송신 큐에 현재 저장된 모든 멀티미디어 데이터 프레임이 점용한 총 저장 공간의 크기를 획득함), 상기 획득한 큐에 현재 저장된 모든 멀티미디어 데이터 프레임이 점용한 총 저장 공간의 크기와 해당 큐에 대응되는 제3 역치 및 제4 역치를 비교한다. 비교 결과 상기 획득한 큐에 현재 저장된 모든 멀티미디어 데이터 프레임이 점용한 총 저장 공간의 크기가 해당 큐에 대응되는 제3 역치보다 클 경우, 저 비트 레이트로의 전환의 필요성을 확정하고, 비교 결과 상기 획득한 큐에 현재 저장된 모든 멀티미디어 데이터 프레임이 점용한 총 저장 공간의 크기가 해당 큐에 대응되는 제4 역치보다 작을 경우, 고 비트 레이트로의 전환의 필요성을 확정한다. 상기 제3 역치는 통상적으로 제4 역치보다 훨씬 크다.
예시로서, 본 실시예 중의 네트워크 품질 정보가 큐의 현재 유휴 저장 공간의 크기를 포함할 경우, 본 실시예의 네트워크 품질 정보에 근거하여 비트 레이트 전환의 필요성을 확정하는 과정은 아래와 같을 수 있다. 즉, 모든 큐 각자의 저장 공간에 저장될 수 있는 멀티미디어 데이터 프레임의 수량이 동일한지 여부에 상관없이, 사전에 각각의 큐에 대해 각각 2개의 역치를 설정한다. 즉, 각각의 큐마다 전부 각자의 제5 역치 및 제6 역치에 대응되고, 상이한 큐의 각자 대응되는 제5 역치는 통상적으로 상이하며, 마찬가지로, 상이한 큐의 각자 대응되는 제6 역치도 통상적으로 상이하다. 사전에 유지보수된 정보로부터 각 큐의 각자 대응되는 제5 역치 및 제6 역치를 획득하고, 정기적으로 모든 큐 중 임의의 한 큐의 현재 유휴 저장 공간의 크기를 획득하며(예를 들어, 정기적으로 송신 큐의 현재 유휴 저장 공간의 크기를 획득함), 상기 획득한 큐의 현재 유휴 저장 공간의 크기와 해당 큐에 대응되는 제5 역치 및 제6 역치를 비교한다. 비교 결과 상기 획득한 큐의 현재 유휴 저장 공간의 크기가 상기 획득한 제5 역치보다 클 경우, 고 비트 레이트로의 전환의 필요성을 확정하고, 비교 결과 상기 획득한 큐의 현재 유휴 저장 공간의 크기가 제6 역치보다 작을 경우, 저 비트 레이트로의 전환의 필요성을 확정한다. 상기 제5 역치는 통상적으로 제6 역치보다 훨씬 작다.
예시로서, 네트워크 지터 등 원인으로 인해 비트 레이트 전환이 빈번하게 발생하는 현상을 방지하기 위하여, 본 실시예에서 비트 레이트 전환의 필요성을 판단하는 과정에서 비트 레이트의 빈번한 전환을 제어하는 제한 조건을 추가할 수 있다. 즉, 본 실시예는 네트워크 품질 정보 및 사전 설정된 비트 레이트 전환의 시간 제한 조건에 근거하여 비트 레이트 전환의 필요성을 확정할 수 있다. 상기 사전 설정된 비트 레이트 전환의 시간 제한 조건은, 구체적으로 현재 시간으로부터 먼젓번 비트 레이트 전환시간까지의 시간 간격이 기설정된 시간을 초과하는 것일 수 있다.
예시로서, 본 실시예에서 네트워크 품질 정보 및 사전 설정된 비트 레이트 전환의 시간 제한 조건에 근거하여 비트 레이트 전환의 필요성을 확정하는 첫번째 구체적인 예시는 아래와 같다. 즉, 모든 큐 각자의 저장 공간에 저장될 수 있는 멀티미디어 데이터 프레임의 수량이 전부 동일할 경우, 사전에 모든 큐에 대해 2개의 통일적인 역치 즉, 제1 역치와 제2 역치를 설정하고, 사전에 유지보수된 정보로부터 큐의 총 저장 공간의 크기, 기설정된 시간 및 먼젓번 비트 레이트 전환의 시간을 획득하며, 정기적으로 모든 큐 중 임의의 한 큐에 현재 저장된 모든 멀티미디어 데이터 프레임이 점용한 총 저장 공간의 크기를 획득한다. 다음, 상기 획득한 임의의 한 큐에 현재 저장된 모든 멀티미디어 데이터 프레임이 점용한 총 저장 공간의 크기 및 해당 큐의 총 저장 공간의 크기에 근거하여 큐의 데이터 필링률을 산출한다. 해당 데이터 필링률이 제1 역치보다 높고 현재 시간과 먼젓번 비트 레이트 전환 시간의 차이가 기설정된 시간을 초과하는 것으로 판단되면, 저 비트 레이트로의 전환의 필요성을 확정하고, 해당 데이터 필링률이 제2 역치보다 낮고 현재 시간과 먼젓번 비트 레이트 전환 시간의 차이가 기설정된 시간을 초과하는 것으로 판단되면, 고 비트 레이트로의 전환의 필요성을 확정한다.
예시로서, 본 실시예에서 네트워크 품질 정보 및 사전 설정된 비트 레이트 전환의 시간 제한 조건에 근거하여 비트 레이트 전환의 필요성을 확정하는 두번째 구체적인 예시는 아래와 같다. 즉, 모든 큐 각자의 저장 공간에 저장될 수 있는 멀티미디어 데이터 프레임의 수량이 상이할 경우, 사전에 각각의 큐에 대해 각각 2개의 역치를 설정한다. 즉, 각각의 큐마다 전부 각자의 제1 역치 및 제2 역치에 대응되고, 상이한 큐의 각자 대응되는 제1 역치는 통상적으로 상이하며, 마찬가지로, 상이한 큐의 각자 대응되는 제2 역치도 통상적으로 상이하다. 사전에 유지보수된 정보로부터 각 큐의 총 저장 공간의 크기, 각 큐의 각자 대응되는 제1 역치 및 제2 역치, 기설정된 시간 및 먼젓번 비트 레이트 전환의 시간을 획득하고, 정기적으로 모든 큐 중 임의의 한 큐에 현재 저장된 모든 멀티미디어 데이터 프레임이 점용한 총 저장 공간의 크기를 획득하며(바람직하게, 정기적으로 송신 큐에 현재 저장된 모든 멀티미디어 데이터 프레임이 점용한 총 저장 공간의 크기를 획득함), 상기 획득한 큐에 현재 저장된 모든 멀티미디어 데이터가 점용한 총 저장 공간의 크기 및 해당 큐의 총 저장 공간의 크기에 근거하여 큐의 데이터 필링률을 산출한다. 해당 데이터 필링률이 해당 큐에 대응되는 제1 역치보다 높고 현재 시간과 먼젓번 비트 레이트 전환 시간의 차이가 기설정된 시간을 초과하는 것으로 판단되면, 저 비트 레이트로의 전환의 필요성을 확정하고, 해당 데이터 필링률이 해당 큐에 대응되는 제2 역치보다 낮고 현재 시간과 먼젓번 비트 레이트 전환 시간의 차이가 기설정된 시간을 초과하는 것으로 판단되면, 고 비트 레이트로의 전환의 필요성을 확정한다. 상기 제1 역치는 통상적으로 제2 역치보다 훨씬 크고, 예를 들어, 제1 역치는 80%이고, 제2 역치는 20%이다.
예시로서, 본 실시예에서 네트워크 품질 정보 및 사전 설정된 비트 레이트 전환의 시간 제한 조건에 근거하여 비트 레이트 전환의 필요성을 확정하는 세번째 구체적인 예시는 아래와 같다. 사전에 각각의 큐에 대해 각각 2개의 역치를 설정한다. 즉, 각각의 큐마다 전부 각자의 제3 역치 및 제4 역치에 대응되고, 상이한 큐의 각자 대응되는 제3 역치는 통상적으로 상이하며, 마찬가지로, 상이한 큐의 각자 대응되는 제4 역치도 통상적으로 상이하다. 사전에 유지보수된 정보로부터 각 큐의 각자 대응되는 제3 역치 및 제4 역치, 기설정된 시간 및 먼젓번 비트 레이트 전환의 시간을 획득하고, 정기적으로 모든 큐 중 임의의 한 큐에 현재 저장된 모든 멀티미디어 데이터 프레임이 점용한 총 저장 공간의 크기를 획득하며(바람직하게, 정기적으로 송신 큐에 현재 저장된 모든 멀티미디어 데이터 프레임이 점용한 총 저장 공간의 크기를 획득할 수 있음), 상기 획득한 큐에 현재 저장된 모든 멀티미디어 데이터 프레임이 점용한 총 저장 공간의 크기와 해당 큐에 대응되는 제3 역치 및 제4 역치를 비교한다. 비교 결과 상기 획득한 큐에 현재 저장된 모든 멀티미디어 데이터 프레임이 점용한 총 저장 공간의 크기가 해당 큐에 대응되는 제3 역치보다 크고 현재 시간과 먼젓번 비트 레이트 전환 시간의 차이가 기설정된 시간을 초과하면, 저 비트 레이트로의 전환의 필요성을 확정하고, 비교 결과 상기 획득한 큐에 현재 저장된 모든 멀티미디어 데이터 프레임이 점용한 총 저장 공간의 크기가 해당 큐에 대응되는 제4 역치보다 작고 현재 시간과 먼젓번 비트 레이트 전환 시간의 차이가 기설정된 시간을 초과하면, 고 비트 레이트로의 전환의 필요성을 확정한다. 상기 제3 역치는 통상적으로 제4 역치보다 훨씬 크다.
예시로서, 본 실시예에서 네트워크 품질 정보 및 사전 설정된 비트 레이트 전환의 시간 제한 조건에 근거하여 비트 레이트 전환의 필요성을 확정하는 네번째 구체적인 예시는 아래와 같다. 사전에 각각의 큐에 대해 각각 2개의 역치를 설정한다. 즉, 각각의 큐마다 전부 각자의 제5 역치 및 제6 역치에 대응되고, 상이한 큐의 각자 대응되는 제5 역치는 통상적으로 상이하며, 마찬가지로, 상이한 큐의 각자 대응되는 제6 역치도 통상적으로 상이하다. 사전에 유지보수된 정보로부터 각 큐의 각자 대응되는 제5 역치 및 제6 역치, 기설정된 시간 및 먼젓번 비트 레이트 전환의 시간을 획득하고, 정기적으로 모든 큐 중 임의의 한 큐의 현재 유휴 저장 공간의 크기를 획득하며(바람직하게, 정기적으로 송신 큐의 현재 유휴 저장 공간의 크기를 획득할 수 있음), 상기 획득한 큐의 현재 유휴 저장 공간의 크기와 해당 큐에 대응되는 제5 역치 및 제6 역치를 비교한다. 비교 결과 상기 획득한 큐의 현재 유휴 저장 공간의 크기가 상기 획득한 제5 역치보다 크고 현재 시간과 먼젓번 비트 레이트 전환 시간의 차이가 기설정된 시간을 초과하면, 고 비트 레이트로의 전환의 필요성을 확정하고, 비교 결과 상기 획득한 큐의 현재 유휴 저장 공간의 크기가 제6 역치보다 작고 현재 시간과 먼젓번 비트 레이트 전환 시간의 차이가 기설정된 시간을 초과하면, 저 비트 레이트로의 전환의 필요성을 확정한다. 상기 제5 역치는 통상적으로 제6 역치보다 훨씬 작다.
특별히 설명할 것은, 본 실시예에서 저 비트 레이트로의 전환의 필요성을 확정함에 있어서, 전환 전의 송신 큐의 비트 레이트는 이미 모든 큐의 비트 레이트 중 가장 낮은 비트 레이트일 경우, 전환 후의 새로운 송신 큐는 여전히 전환 전의 송신 큐이고, 전환 전의 송신 큐의 비트 레이트가 모든 큐의 비트 레이트 중 가장 낮은 비트 레이트가 아닐 경우, 비트 레이트가 전환 전의 송신 큐의 비트 레이트보다 낮은 모든 큐 중에서 하나의 큐를 송신 큐로 선택하여야 한다. 예를 들어, 비트 레이트가 전환 전의 송신 큐의 비트 레이트보다 낮은 모든 큐 중에서 비트 레이트가 가장 낮은 큐를 송신 큐로 선택한다. 본 실시예에서 고 비트 레이트로의 전환의 필요성을 확정함에 있어서, 전환 전의 송신 큐의 비트 레이트가 이미 모든 큐의 비트 레이트 중 가장 높은 비트 레이트일 경우, 전환 후의 새로운 송신 큐는 여전히 전환 전의 송신 큐이고, 전환 전의 송신 큐의 비트 레이트가 모든 큐의 비트 레이트 중 가장 높은 비트 레이트가 아닐 경우, 비트 레이트가 전환 전의 송신 큐의 비트 레이트보다 높은 모든 큐 중에서 하나의 큐를 송신 큐로 선택하여야 한다. 예를 들어, 비트 레이트가 전환 전의 송신 큐의 비트 레이트보다 높은 모든 큐 중에서 비트 레이트가 가장 높은 큐를 송신 큐로 선택한다.
단계(S120)에서, 송신 큐로부터 멀티미디어 데이터 프레임을 판독하여 배포하고, 기타 큐 중의 이미 배포된 멀티미디어 데이터 프레임과 동일한 미디어 콘텐츠를 구비한 멀티미디어 데이터 프레임은 전부 삭제된다.
예시로서, 비트 레이트 전환이 필요하지 않을 경우, 본 실시예에서는 시종 송신 큐로부터 멀티미디어 데이터 프레임을 판독하여 배포하고, 송신 큐로부터 판독하여 배포된 멀티미디어 데이터 프레임은 송신 큐로부터 삭제되어야 하며, 비트 레이트 전환의 필요성을 확정하는 경우, 본 실시예는 전환 후의 새로운 송신 큐로부터 멀티미디어 데이터 프레임을 판독하고 배포하여야 한다.
예시로서, 멀티미디어 데이터 프레임이 송신 큐로부터 판독되어 배포될 경우, 본 실시예에서는 모든 큐에서 큐 해드에 위치한 멀티미디어 데이터 프레임이 시종 동일한 미디어 콘텐츠에 대응되도록 확보하기 위하여, 기타 큐(즉, 전체 큐 중 송신 큐를 제외한 모든 큐) 중의 상응한 멀티미디어 데이터 프레임을 동기적으로 삭제하여야 한다.
예시로서, 비트 레이트 전환의 필요성을 확정하는 경우, 본 실시예에서는 전환 후의 새로운 송신 큐로부터 멀티미디어 데이터 프레임을 판독하고 배포하는 시기를 유의하여야 하고, 구체적으로, 비트 레이트 전환의 필요성을 확정하는 경우, 본 실시예에서는 전환 전의 송신 큐로부터 키 프레임(예를 들어, I 프레임)을 판독하여야 할 경우, 전환 전의 송신 큐로부터 멀티미디어 데이터 프레임을 판독하여 배포하는 것을 정지하고, 전환 후의 송신 큐로부터 멀티미디어 데이터 프레임을 판독하여 배포하여야 한다. 하나의 구체적인 예시로서, 비트 레이트 전환의 필요성을 확정하는 경우, 현재 전환 전의 송신 큐로부터 넌 키 프레임(예를 들어, P 프레임 또는 B 프레임 등)을 판독하고 배포하고 있을 경우, 전환 전의 송신 큐로부터 이미 배포된 키 프레임(예를 들어, I 프레임)에 대응되는 모든 넌 키 프레임을 판독 완료할 때까지 대기하여야 하며, 전환 전의 송신 큐로부터 다음 키 프레임을 판독하여 배포하여야 하고, 전환 전의 송신 큐를 제외한 모든 큐에서 상응한 넌 키 프레임이 삭제되면, 더이상 전환 전의 송신 큐로부터 키 프레임을 판독하지 않고, 비트 레이트 전환 후의 새로운 송신 큐로부터 멀티미디어 데이터 프레임을 판독하고 배포하기 시작하며, 이는 다음번 비트 레이트 전환까지 지속된다.
실시예 2: 비디오 라이브 방송의 응용 정경에서, 스트림 미디어 서버가 사용자에게 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하는 방법.
비디오 라이브 방송의 응용 정경에서, 스트림 미디어 서버가 네트워크 상의 n(n>2)명의 사용자(즉, 사용자 1, 사용자 2, … 및 사용자 n)에게 각각 3가지 비트 레이트의 스트림 미디어 서비스를 적응적으로 제공하도록 설정하면, 스트림 미디어 서버가 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하는 구현 방식은 도 2에 도시된 바와 같다.
도 2에서, 스트림 미디어 서버는 3가지 비트 레이트에 대해 3개의 GOP 캐시를 설정하고, 한명의 사용자에게 3개의 큐를 각각 설정한다. 즉, 제1 GOP 캐시, 제2 GOP 캐시, 제3 GOP 캐시, 제1 큐, 제2 큐 및 제3 큐를 설정하고, 제1 GOP 캐시 및 제1 큐는 제1 비트 레이트에 대응되고, 제2 GOP 캐시 및 제2 큐는 제2 비트 레이트에 대응되며, 제3 GOP 캐시 및 제3 큐는 제3 비트 레이트에 대응되며, 제1 비트 레이트는 제2 비트 레이트보다 높고, 제2 비트 레이트는 제3 비트 레이트보다 높다.
본 실시예 중의 3개의 GOP 캐시의 저장 공간에는 차이가 있지만, 3개의 GOP 캐시에 저장될 수 있는 비디오 프레임의 수량은 동일하다. 3개의 큐의 저장 공간에는 차이가 있지만, 3개의 큐에 저장될 수 있는 비디오 프레임의 수량은 동일하다.
스트림 미디어 서버는 현재 실시간으로 생성되는 인코딩 처리를 거친 GOP 구조를 가지는 비디오 프레임(즉, GOP 구조를 가지는 멀티미디어 데이터 프레임)에 대해 트랜스코딩 처리를 진행함으로써, 인코딩 처리를 거친 비디오 프레임에 대해 제1 비트 레이트 기반의 비디오 프레임, 제2 비트 레이트 기반의 비디오 프레임 및 제3 비트 레이트 기반의 비디오 프레임을 생성한다.
예시로서, 스트림 미디어 서버는 상이한 비트 레이트의 비디오 프레임을 동기적으로 상응한 GOP 캐시에 저장할 수 있다. 즉, 제1 비트 레이트 기반의 비디오 프레임은 제1 GOP 캐시에 캐시되고, 제2 비트 레이트 기반의 비디오 프레임은 제2 GOP 캐시에 캐시되며, 제3 비트 레이트 기반의 비디오 프레임은 제3 GOP 캐시에 캐시된다. 스트림 미디어 서버는 3개의 GOP 캐시 중의 비디오 프레임의 수량이 동일하도록 제어하고, 3개의 GOP 캐시 중의 비디오 프레임에 대응되는 미디어 콘텐츠가 완전히 동일하도록 제어할 수 있다.
네트워크 상의 임의의 한 사용자에 대해, 스트림 미디어 서버는 동기적으로 제1 GOP 캐시 중의 비디오 프레임을 판독하여 제1 큐에 인입시키고, 제2 GOP 캐시 중의 비디오 프레임을 판독하여 제2 큐에 인입시키며, 제3 GOP 캐시 중의 비디오 프레임을 판독하여 제3 큐에 인입시킬 수 있다. 스트림 미디어 서버는 동기적으로 3개의 큐에 인입된 비디오 프레임에 대응되는 미디어 콘텐츠가 완전히 동일하도록 제어할 수 있다.
네트워크 상의 임의의 한 사용자에 대해, 해당 사용자에게 금회 라이브 방송의 미디어 스트림을 제공할 경우, 스트림 미디어 서버는 먼저 해당 사용자에 대응되는 3개의 큐 중 하나의 큐를 송신 큐로 한다. 예를 들어, 스트림 미디어 서버는 기본 설정에 따라 상응한 큐를 송신 큐로 하거나, 또 예를 들어, 스트림 미디어 서버는 사용자가 선택한 비트 레이트에 근거하여 해당 비트 레이트에 대응되는 큐를 송신 큐로 하거나, 또 다른 예를 들면, 스트림 미디어 서버는 현재 네트워크 전송 속도에 근거하여 상응한 비트 레이트의 큐를 송신 큐로 한다. 스트림 미디어 서버는 송신 큐(예를 들어, 제2 큐)로부터 비디오 프레임을 판독하여 해당 사용자에게 발송하고, 하나의 비디오 프레임을 배포할 때마다 해당 비디오 프레임은 송신 큐로부터 삭제되며, 스트림 미디어 서버는 제1 큐 및 제3 큐 중 해당 비디오 프레임에 대응되는 비트 레이트가 상이한 비디오 프레임도 삭제한다. 스트림 미디어 서버가 지속적으로 송신 큐로부터 비디오 프레임을 판독하고 배포하는 과정에서, 송신 큐의 데이터 필링률(즉, 송신 큐에 현재 저장된 비디오 프레임이 점용한 저장 공간과 송신 큐의 총 저장 공간의 크기의 비율)을 모니터링하고, 스트림 미디어 서버는 송신 큐의 데이터 필링률이 제1 필링률보다 높고, 먼젓번 비트 레이트 전환시간까지의 시간 간격이 기설정된 시간에 도달하는 것을 검출할 경우, 저 비트 레이트로의 전환의 필요성을 확정하고, 스트림 미디어 서버는 제3 큐를 새로운 송신 큐로 하며, 제2 큐로부터 I 프레임을 판독하여야 할 경우, 새로운 송신 큐(즉, 제3 큐)로부터 비디오 프레임을 판독하고 배포하기 시작하고, 마찬가지로, 판독된 비디오 프레임은 송신 큐로부터 삭제된다. 스트림 미디어 서버는 제1 큐 및 제2 큐 중의 제3 큐로부터 판독된 비디오 프레임에 대응되는 비트 레이트가 상이한 비디오 프레임도 삭제한다. 스트림 미디어 서버는 송신 큐의 데이터 필링률이 제2 필링률보다 높고, 먼젓번 비트 레이트 전환시간까지의 시간 간격이 기설정된 시간에 도달하는 것을 검출할 경우, 고 비트 레이트로의 전환의 필요성을 확정하고, 스트림 미디어 서버는 제2 큐를 새로운 송신 큐로 하며, 제3 큐로부터 I 프레임을 판독하여야 할 경우, 새로운 송신 큐(즉, 제2 큐)로부터 비디오 프레임을 판독하고 배포하기 시작하고, 마찬가지로, 판독된 비디오 프레임은 송신 큐로부터 삭제된다. 스트림 미디어 서버는 제1 큐 및 제3 큐 중의 제2 큐로부터 판독된 비디오 프레임에 대응되는 비트 레이트가 상이한 비디오 프레임도 삭제한다.
실시예 3: 비디오 텔레컨퍼런스의 응용 정경에서, 스트림 미디어 서버가 사용자에게 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하는 방법.
비디오 텔레컨퍼런스의 응용 정경에서, 스트림 미디어 서버가 비디오 텔레컨퍼런스에 참석한 모든 참석자에게 각각 3가지 비트 레이트의 스트림 미디어 서비스를 적응적으로 제공할 수 있도록 설정하고, 스트림 미디어 서버는 3개의 GOP 캐시를 설정한다. 즉, 제1 GOP 캐시, 제2 GOP 캐시 및 제3 GOP 캐시를 설정한다. 제1 GOP 캐시는 제1 비트 레이트에 대응되고, 제2 GOP 캐시는 제2 비트 레이트에 대응되며, 제3 GOP 캐시는 제3 비트 레이트에 대응되며, 제1 비트 레이트는 제2 비트 레이트보다 높고, 제2 비트 레이트는 제3 비트 레이트보다 높다.
한 사용자가 비디오 텔레컨퍼런스에 가입 신청을 제출할 경우, 스트림 미디어 서버는 해당 사용자에 대해 상응한 정보를 설정한다. 예를 들어, 해당 사용자에 대해 동적으로 3개의 큐, 즉 제1 큐, 제2 큐 및 제3 큐를 설정하고, 여기서, 제1 큐는 제1 비트 레이트에 대응되고, 제2 큐는 제2 비트 레이트에 대응되며, 제3 큐는 제 3 비트 레이트에 대응된다. 본 실시예 중의 3개의 GOP 캐시의 저장 공간에는 차이가 있지만, 3개의 GOP 캐시에 저장될 수 있는 비디오 프레임의 수량은 동일하다. 3개의 큐의 저장 공간에는 차이가 있지만, 3개의 큐에 저장될 수 있는 비디오 프레임의 수량은 동일하다.
스트림 미디어 서버가 해당 사용자에 대해 상응한 정보를 성공적으로 설정한 후, 해당 사용자는 금회 비디오 텔레컨퍼런스의 참석자로 된다. 스트림 미디어 서버는 현재 실시간으로 생성되는 인코딩 처리를 거친 GOP 구조를 가지는 비디오 프레임에 대해 트랜스코딩 처리를 진행함으로써, 인코딩 처리를 거친 비디오 프레임에 대해 제1 비트 레이트 기반의 비디오 프레임, 제2 비트 레이트 기반의 비디오 프레임 및 제3 비트 레이트 기반의 비디오 프레임을 생성한다.
스트림 미디어 서버는 상이한 비트 레이트의 비디오 프레임을 동기적으로 3개의 GOP 캐시에 저장할 수 있다. 즉, 제1 비트 레이트 기반의 비디오 프레임은 제1 GOP 캐시에 캐시되고, 제2 비트 레이트 기반의 비디오 프레임은 제2 GOP 캐시에 캐시되며, 제3 비트 레이트 기반의 비디오 프레임은 제3 GOP 캐시에 캐시된다. 스트림 미디어 서버는 3개의 GOP 캐시 중의 비디오 프레임의 수량이 동일하도록 제어하고, 3개의 GOP 캐시 중의 비디오 프레임에 대응되는 미디어 콘텐츠가 완전히 동일하도록 제어할 수 있다.
스트림 미디어 서버는 동기적으로 해당 참석자의 제1 GOP 캐시 중의 비디오 프레임을 판독하여 제1 큐에 인입시키고, 제2 GOP 캐시 중의 비디오 프레임을 판독하여 제2 큐에 인입시키며, 제3 GOP 캐시 중의 비디오 프레임을 판독하여 제3 큐에 인입시킬 수 있다. 스트림 미디어 서버는 동기적으로 3개의 큐에 인입된 비디오 프레임에 대응되는 미디어 콘텐츠가 완전히 동일하도록 제어할 수 있다.
해당 참석자에게 비디오 텔레컨퍼런스의 미디어 스트림의 제공을 시작할 경우, 스트림 미디어 서버는 먼저 해당 참석자가 선택한 비트 레이트에 근거하여 해당 비트 레이트에 대응되는 큐를 송신 큐로 한다. 스트림 미디어 서버는 송신 큐(예를 들어, 제3 큐)로부터 비디오 프레임을 판독하여 해당 참석자에게 발송하고, 하나의 비디오 프레임을 배포할 때마다 해당 비디오 프레임은 송신 큐로부터 삭제되며, 스트림 미디어 서버는 제1 큐 및 제2 큐 중의 해당 비디오 스트림에 대응되는 비트 레이트가 상이한 비디오 프레임도 삭제한다. 스트림 미디어 서버는 지속적으로 송신 큐로부터 비디오 프레임을 판독하고 배포하는 과정에서, 송신 큐의 데이터 필링률을 모니터링한다. 스트림 미디어 서버는 송신 큐의 데이터 필링률이 제1 필링률보다 높고, 먼젓번 비트 레이트 전환시간까지의 시간 간격이 기설정된 시간에 도달하는 것을 검출할 경우, 저 비트 레이트로의 전환의 필요성을 확정한다. 제3 큐의 비트 레이트는 이미 가장 낮은 비트 레이트이므로, 스트림 미디어 서버는 여전히 제3 큐를 송신 큐로 하고, 계속하여 제3 큐로부터 비디오 프레임을 판독하고 배포한다. 스트림 미디어 서버는 송신 큐의 데이터 필링률이 제2 필링률보다 높고, 먼젓번 비트 레이트 전환시간까지의 시간 간격이 기설정된 시간에 도달하는 것을 검출할 경우, 고 비트 레이트로의 전환의 필요성을 확정한다. 스트림 미디어 서버는 제2 큐를 새로운 송신 큐로 하고, 제3 큐로부터 I 프레임을 판독하여야 할 경우, 새로운 송신 큐(즉, 제2 큐)로부터 비디오 프레임을 판독하고 배포하기 시작하고, 마찬가지로, 판독된 비디오 프레임은 송신 큐로부터 삭제되며, 스트림 미디어 서버는 제1 큐 및 제3 큐 중의 제2 큐로부터 판독된 비디오 프레임에 대응되는 비트 레이트가 상이한 비디오 프레임도 삭제한다.
실시예 4: 서버에서 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 장치.
본 실시예의 서버, 즉 스트림 미디어 서버에 있어서, 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 장치는 통상적으로 스트림 미디어 서버로 사용되는 컴퓨터 기기에 설치된다. 예를 들어, 본 실시예에 기재된 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 장치는 스트림 미디어 서버로 사용되는 데스크톱 컴퓨터, 서버 및 기타 네트워크 장치에 설치될 수 있다. 본 실시예의 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 장치의 주요 구조는 도 3에 도시된 바와 같다.
이하 구체적인 실시예를 참조하여 서버에서 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 장치에 대해 설명 한다.
도 3에서, 본 실시예의 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 장치는, 네트워크 품질 정보를 획득하는 장치(이하에서 “네트워크 품질 획득 장치(300)”로 약칭됨); 네트워크 품질 정보에 근거하여 비트 레이트 전환의 필요성을 확정하는 경우, 모든 큐 중에서 하나의 큐를 송신 큐로 선택하는 장치(이하 “비트 레이트 전환 제어 장치(310)”로 약칭됨); 및 송신 큐로부터 멀티미디어 데이터 프레임을 판독하여 배포하고, 기타 큐 중의 이미 배포된 멀티미디어 데이터 프레임과 동일한 미디어 콘텐츠를 구비한 멀티미디어 데이터 프레임은 전부 삭제된 장치(이하 “데이터 프레임 배포 장치(320)”로 약칭됨)를 포함하고, 상기 네트워크 품질 획득 장치는, 송신 큐의 데이터 필링 정보를 획득하는 장치(이하, “필링 정보 획득 장치(301)”로 약칭됨)를 포함할 수 있다. 선택적으로, 본 실시예의 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 장치는, 인코딩 처리를 거친 멀티미디어 데이터 프레임을 상이한 비트 레이트의 멀티미디어 데이터 프레임으로 트랜스코딩하는 장치(이하, “트랜스코딩 장치(330)”으로 약칭됨); 트랜스코딩을 거친 상이한 비트 레이트의 멀티미디어 데이터 프레임을 각각 상응한 GOP 캐시에 저장하는 장치(이하, “제1 저장 제어 장치(340)”로 약칭됨); 및 각 GOP 캐시로부터 동기적으로 멀티미디어 데이터 프레임을 판독하고, 판독한 멀티미디어 데이터를 각각 상응한 큐에 저장하는 장치(이하, “제2 저장 제어 장치(350)”로 약칭됨)를 포함할 수 있다.
네트워크 품질 획득 장치(300)는 주요하게 네트워크 품질 정보를 획득한다.
예시로서, 네트워크 품질 획득 장치(300)에서 획득한 네트워크 품질 정보는 네트워크 전송 지연, 패킷 손실률 및 네트워크 지터 정보(Network jitter information) 등을 포함할 수 있다. 바람직하게, 본 실시예 중의 네트워크 품질 정보는 큐의 데이터 필링 정보를 사용하여 구현할 수 있으며, 즉, 필링 정보 획득 장치(301)에서 큐의 데이터 필링 정보를 획득한다.
예시로서, 필링 정보 획득 장치(301)에서 획득한 큐의 데이터 필링 정보는 구체적으로 큐에 저장된 멀티미디어 데이터 프레임이 점용한 저장 공간의 크기와 큐의 총 저장 공간의 크기의 비율(즉, 데이터 필링률)일 수도 있고, 큐에 저장된 멀티미디어 데이터 프레임이 점용한 저장 공간의 크기 또는 큐의 유휴 저장 공간의 크기 등 네트워크 품질을 반영할 수 있는 큐 파라미터일 수도 있다.
예시로서, 필링 정보 획득 장치(301)는 정기적으로 (예를 들어, 1초 또는 1초 이하 등) 모든 큐 중 임의의 한 큐의 데이터 필링 정보를 획득하여, 해당 큐의 데이터 필링 정보에 근거하여 즉시 현재 네트워크 상태를 인지할 수 있다. 상기 임의의 한 큐는 랜덤하게 확정된 하나의 큐일 수도 있고, 미리 확정된 하나의 고정적인 큐일 수도 있다. 즉, 필링 정보 획득 장치(301)는 어느 한 큐의 데이터 필링 정보를 랜덤하게 획득할 수도 있고, 어느 한 큐의 데이터 필링 정보를 고정적으로 획득할 수도 있다. 바람직하게, 필링 정보 획득 장치(301)는 정기적으로 큐 중 송신 큐의 데이터 필링 정보를 획득할 수 있음으로써, 필링 정보 획득 장치(301)는 송신 큐의 데이터 필링 정보에 따라 즉시 현재 네트워크 상태를 인지할 수 있다. 본 실시예 중의 송신 큐는 현재 단말기 장치에 송신되고 있는 멀티미디어 데이터 프레임이 속하는 큐를 가리킨다. 즉, 본 실시예에서 상이한 비트 레이트의 멀티미디어 데이터 프레임에 대해 각각 상응한 큐를 설정하고, 각 큐마다 모두 상응한 비트 레이트의 멀티미디어 데이터 프레임이 저장되였지만, 어느 한 시각에 있어서, 하나의 큐에 저장된 멀티미디어 데이터 프레임만 단말기 장치에 송신되고, 해당 큐는 송신 큐가 된다.
비트 레이트 전환 제어 장치(310)는 주요하게 네트워크 품질 정보에 근거하여 비트 레이트 전환의 필요성을 확정하는 경우, 모든 큐 중에서 하나의 큐를 송신 큐로 선택한다.
예시로서, 본 실시예의 상이한 큐에 저장된 모든 멀티미디어 데이터 프레임은 동일한 인코딩 포맷을 구비한다. 예를 들어, 상이한 큐에 저장된 모든 멀티미디어 데이터 프레임은 동일한 GOP 구조를 가진다. 또한, 상이한 큐에 저장된 멀티미디어 데이터 프레임은 보통 동기적으로 업데이트된다. 예를 들어, 멀티미디어 데이터 프레임이 GOP 구조를 채택할 경우, 본 실시예에서는 각 비트 레이트마다 하나의 GOP 캐시를 설정한다. 먼저, 트랜스코딩 장치(330)는 인코딩 처리를 거친 각 멀티미디어 데이터 프레임에 대해 트랜스코딩 처리를 진행하여 다수의 상이한 비트 레이트의 멀티미디어 데이터 프레임을 획득한다. 다음, 제1 저장 제어 장치(340)는 상이한 비트 레이트의 멀티미디어 데이터 프레임을 동시에 상응한 GOP 캐시에 기록한다. 예를 들어, 각 GOP 캐시가 전부 비어 있을 경우(GOP 캐시 중의 멀티미디어 데이터 프레임이 큐에 인입되어 GOP 캐시가 비게 될 수도 있고, 비우기 동작에 의해 GOP 캐시가 비게 될 수도 있음), 제1 저장 제어 장치(340)는 트랜스코딩 처리를 거친 상이한 비트 레이트의 멀티미디어 데이터 프레임을 동시에 상응한 GOP 캐시에 기록한다. 다음, 제2 저장 제어 장치(350)는 각 GOP 캐시로부터 동시에 동일한 수량의 멀티미디어 데이터 프레임을 판독하고, 판독한 동일한 수량의 멀티미디어 데이터 프레임을 각각 상응한 큐에 저장함으로써, 각 큐에 동일한 미디어 콘텐츠에 대한 멀티미디어 데이터 프레임이 동기적으로 추가되도록 한다.
예시로서, 네트워크 품질 획득 장치(300)에 의해 획득한 큐의 데이터 필링 정보는 큐의 데이터 필링률을 포함하고, 모든 큐 각자의 저장 공간에 저장될 수 있는 멀티미디어 데이터 프레임의 수량이 전부 동일할 경우, 비트 레이트 전환 제어 장치(310)가 네트워크 품질 정보에 근거하여 비트 레이트 전환의 필요성을 확정하는 과정은 구체적으로 아래와 같을 수 있다. 즉, 사전에 모든 큐에 대해 2개의 통일적인 역치 즉, 제1 역치와 제2 역치를 설정한다. 비트 레이트 전환 제어 장치(310)는 사전에 유지보수된 정보로부터 각 큐의 총 저장 공간의 크기를 획득하고, 정기적으로 모든 큐 중 임의의 한 큐에 현재 저장된 모든 멀티미디어 데이터 프레임이 점용한 총 저장 공간의 크기를 획득한다(예를 들어, 비트 레이트 전환 제어 장치(310)는 정기적으로 송신 큐에 현재 저장된 모든 멀티미디어 데이터 프레임이 점용한 총 저장 공간의 크기를 획득함). 다음, 비트 레이트 전환 제어 장치(310)는 상기 획득한 큐에 현재 저장된 모든 멀티미디어 데이터 프레임이 점용한 총 저장 공간의 크기 및 해당 큐의 총 저장 공간의 크기에 근거하여 큐의 데이터 필링률을 산출하고, 해당 데이터 필링률이 제1 역치보다 높은 것으로 판단 되면, 저 비트 레이트로의 전환의 필요성을 확정하고, 해당 데이터 필링률이 제2 역치보다 낮은 것으로 판단 되면, 고 비트 레이트로의 전환의 필요성을 확정한다. 상기 제1 역치는 통상적으로 제2 역치보다 훨씬 크고, 예를 들어, 제1 역치는 80%이고, 제2 역치는 20%이다.
예시로서, 네트워크 품질 획득 장치(300)에서 획득한 큐의 데이터 필링 정보는 큐의 데이터 필링률을 포함하고, 모든 큐 각자의 저장 공간에 저장될 수 있는 멀티미디어 데이터 프레임의 수량이 상이할 경우, 비트 레이트 전환 제어 장치(310)가 네트워크 품질 정보에 근거하여 비트 레이트 전환의 필요성을 확정하는 과정은 아래와 같을 수 있다. 즉, 사전에 각각의 큐에 대해 각각 2개의 역치를 설정한다. 즉, 각각의 큐마다 전부 각자의 제1 역치 및 제2 역치에 대응되고, 상이한 큐의 각자 대응되는 제1 역치는 통상적으로 상이하며, 마찬가지로, 상이한 큐의 각자 대응되는 제2 역치도 통상적으로 상이하다. 비트 레이트 전환 제어 장치(310)는 사전에 유지보수된 정보로부터 각 큐의 총 저장 공간의 크기 및 각 큐의 각자 대응되는 제1 역치 및 제2 역치를 획득하고, 비트 레이트 전환 제어 장치(310)는 정기적으로 모든 큐 중 임의의 한 큐에 현재 저장된 모든 멀티미디어 데이터 프레임이 점용한 총 저장 공간의 크기를 획득하고(예를 들어, 비트 레이트 전환 제어 장치(310)는 정기적으로 송신 큐에 현재 저장된 모든 멀티미디어 데이터 프레임이 점용한 총 저장 공간의 크기를 획득함), 상기 획득한 큐에 현재 저장된 모든 멀티미디어 데이터가 점용한 총 저장 공간의 크기 및 해당 큐의 총 저장 공간의 크기에 근거하여 큐의 데이터 필링률을 산출한다. 비트 레이트 전환 제어 장치(310)는 해당 데이터 필링률이 해당 큐에 대응되는 제1 역치보다 높은 것으로 판단되면, 저 비트 레이트로의 전환의 필요성을 확정하고, 비트 레이트 전환 제어 장치(310)는 해당 데이터 필링률이 해당 큐에 대응되는 제2 역치보다 낮은 것으로 판단되면, 고 비트 레이트로의 전환의 필요성을 확정한다.
예시로서, 본 실시예 중의 네트워크 품질 정보가 큐에 현재 저장된 모든 멀티미디어 데이터 프레임이 점용한 총 저장 공간의 크기를 포함할 경우, 비트 레이트 전환 제어 장치(310)가 네트워크 품질 정보에 근거하여 비트 레이트 전환의 필요성을 확정하는 과정은 구체적으로 아래와 같을 수 있다. 즉, 모든 큐 각자의 저장 공간에 저장될 수 있는 멀티미디어 데이터 프레임의 수량이 동일한지 여부에 상관없이, 사전에 각각의 큐에 대해 각각 2개의 역치를 설정한다. 즉, 각각의 큐마다 전부 각자의 제3 역치 및 제4 역치에 대응되고, 상이한 큐의 각자 대응되는 제3 역치는 통상적으로 상이하며, 마찬가지로, 상이한 큐의 각자 대응되는 제4 역치도 통상적으로 상이하다. 비트 레이트 전환 제어 장치(310)는 사전에 유지보수된 정보로부터 각 큐의 각자 대응되는 제3 역치 및 제4 역치를 획득하고, 비트 레이트 전환 제어 장치(310)는 정기적으로 모든 큐 중 임의의 한 큐에 현재 저장된 모든 멀티미디어 데이터 프레임이 점용한 총 저장 공간의 크기를 획득하고(예를 들어, 정기적으로 송신 큐에 현재 저장된 모든 멀티미디어 데이터 프레임이 점용한 총 저장 공간의 크기를 획득함), 상기 획득한 큐에 현재 저장된 모든 멀티미디어 데이터 프레임이 점용한 총 저장 공간의 크기와 해당 큐에 대응되는 제3 역치 및 제4 역치를 비교한다. 비교 결과 상기 획득한 큐에 현재 저장된 모든 멀티미디어 데이터 프레임이 점용한 총 저장 공간의 크기가 해당 큐에 대응되는 제3 역치보다 클 경우, 비트 레이트 전환 제어 장치(310)는 저 비트 레이트로의 전환의 필요성을 확정하고, 비교 결과 상기 획득한 큐에 현재 저장된 모든 멀티미디어 데이터 프레임이 점용한 총 저장 공간의 크기가 해당 큐에 대응되는 제4 역치보다 작을 경우, 비트 레이트 전환 제어 장치(310)는 고 비트 레이트로의 전환의 필요성을 확정한다. 상기 제3 역치는 통상적으로 제4 역치보다 훨씬 크다.
예시로서, 본 실시예 중의 네트워크 품질 정보가 큐의 현재 유휴 저장 공간의 크기를 포함할 경우, 비트 레이트 전환 제어 장치(310)가 네트워크 품질 정보에 근거하여 비트 레이트 전환의 필요성을 확정하는 과정은 구체적으로 아래와 같을 수 있다. 즉, 모든 큐 각자의 저장 공간에 저장될 수 있는 멀티미디어 데이터 프레임의 수량이 동일한지 여부에 상관없이, 사전에 각각의 큐에 대해 각각 2개의 역치를 설정한다. 즉, 각각의 큐마다 전부 각자의 제5 역치 및 제6 역치에 대응되고, 상이한 큐의 각자 대응되는 제5 역치는 통상적으로 상이하며, 마찬가지로, 상이한 큐의 각자 대응되는 제6 역치도 통상적으로 상이하다. 비트 레이트 전환 제어 장치(310)는 사전에 유지보수된 정보로부터 각 큐의 각자 대응되는 제5 역치 및 제6 역치를 획득하고, 비트 레이트 전환 제어 장치(310)는 정기적으로 모든 큐 중 임의의 한 큐의 현재 유휴 저장 공간의 크기를 획득하고(예를 들어, 정기적으로 송신 큐의 현재 유휴 저장 공간의 크기를 획득함), 상기 획득한 큐의 현재 유휴 저장 공간의 크기와 해당 큐에 대응되는 제5 역치 및 제6 역치를 비교한다. 비교 결과 상기 획득한 큐의 현재 유휴 저장 공간의 크기가 상기 획득한 제5 역치보다 클 경우, 비트 레이트 전환 제어 장치(310)는 고 비트 레이트로의 전환의 필요성을 확정하고, 비교 결과 상기 획득한 큐의 현재 유휴 저장 공간의 크기가 제6 역치보다 작을 경우, 비트 레이트 전환 제어 장치(310)는 저 비트 레이트로의 전환의 필요성을 확정한다. 상기 제5 역치는 통상적으로 제6 역치보다 훨씬 작다.
예시로서, 네트워크 지터 등 원인으로 인해 비트 레이트 전환이 빈번하게 발생하는 현상을 방지하기 위하여, 비트 레이트 전환 제어 장치(310)는 비트 레이트 전환의 필요성을 판단하는 과정에서 비트 레이트의 빈번한 전환을 제어하는 제한 조건을 고려할 수 있다. 즉, 비트 레이트 전환 제어 장치(310)는 네트워크 품질 정보 및 사전 설정된 비트 레이트 전환의 시간 제한 조건에 근거하여 비트 레이트 전환의 필요성을 확정할 수 있다. 상기 사전 설정된 비트 레이트 전환의 시간 제한 조건은 구체적으로 현재 시간으로부터 먼젓번 비트 레이트 전환시간까지의 시간 간격이 기설정된 시간을 초과하는 것일 수 있다.
예시로서, 비트 레이트 전환 제어 장치(310)가 네트워크 품질 정보 및 사전 설정된 비트 레이트 전환의 시간 제한 조건에 근거하여 비트 레이트 전환의 필요성을 확정하는 첫번째 구체적인 예시는 아래와 같다. 즉, 모든 큐 각자의 저장 공간에 저장될 수 있는 멀티미디어 데이터 프레임의 수량이 전부 동일할 경우, 사전에 모든 큐에 대해 2개의 통일적인 역치 즉, 제1 역치와 제2 역치를 설정하고, 비트 레이트 전환 제어 장치(310)는 사전에 유지보수된 정보로부터 큐의 총 저장 공간의 크기, 기설정된 시간 및 먼젓번 비트 레이트 전환의 시간을 획득하고, 정기적으로 모든 큐 중 임의의 한 큐에 현재 저장된 모든 멀티미디어 데이터 프레임이 점용한 총 저장 공간의 크기를 획득한다. 다음, 비트 레이트 전환 제어 장치(310)는 상기 획득한 임의의 한 큐에 현재 저장된 모든 멀티미디어 데이터 프레임이 점용한 총 저장 공간의 크기 및 해당 큐의 총 저장 공간의 크기에 근거하여 큐의 데이터 필링률을 산출하고, 해당 큐의 데이터 필링률이 제1 역치보다 높고 현재 시간과 먼젓번 비트 레이트 전환 시간의 차이가 기설정된 시간을 초과하는 것으로 판단되면, 비트 레이트 전환 제어 장치(310)는 저 비트 레이트로의 전환의 필요성을 확정하고, 해당 큐의 데이터 필링률이 제2 역치보다 낮고 현재 시간과 먼젓번 비트 레이트 전환 시간의 차이가 기설정된 시간을 초과하는 것으로 판단되면, 비트 레이트 전환 제어 장치(310)는 고 비트 레이트로의 전환의 필요성을 확정한다.
예시로서, 비트 레이트 전환 제어 장치(310)가 네트워크 품질 정보 및 사전 설정된 비트 레이트 전환의 시간 제한 조건에 근거하여 비트 레이트 전환의 필요성을 확정하는 두번째 구체적인 예시는 아래와 같다. 즉, 모든 큐 각자의 저장 공간에 저장될 수 있는 멀티미디어 데이터 프레임의 수량이 상이할 경우, 사전에 각각의 큐에 대해 각각 2개의 역치를 설정한다. 즉, 각각의 큐마다 전부 각자의 제1 역치 및 제2 역치에 대응되고, 상이한 큐의 각자 대응되는 제1 역치는 통상적으로 상이하며, 마찬가지로, 상이한 큐의 각자 대응되는 제2 역치도 통상적으로 상이하다. 비트 레이트 전환 제어 장치(310)는 사전에 유지보수된 정보로부터 각 큐의 총 저장 공간의 크기, 각 큐의 각자 대응되는 제1 역치 및 제2 역치, 기설정된 시간 및 먼젓번 비트 레이트 전환의 시간을 획득하고, 비트 레이트 전환 제어 장치(310)는 정기적으로 모든 큐 중 임의의 한 큐에 현재 저장된 모든 멀티미디어 데이터 프레임이 점용한 총 저장 공간의 크기를 획득하고(예를 들어, 정기적으로 송신 큐에 현재 저장된 모든 멀티미디어 데이터 프레임이 점용한 총 저장 공간의 크기를 획득함), 상기 획득한 큐에 현재 저장된 모든 멀티미디어 데이터가 점용한 총 저장 공간의 크기 및 해당 큐의 총 저장 공간의 크기에 근거하여 큐의 데이터 필링률을 산출하며, 비트 레이트 전환 제어 장치(310)는 해당 데이터 필링률이 해당 큐에 대응되는 제1 역치보다 높고 현재 시간과 먼젓번 비트 레이트 전환 시간의 차이가 기설정된 시간을 초과하는 것으로 판단되면, 저 비트 레이트로의 전환의 필요성을 확정하고, 비트 레이트 전환 제어 장치(310)는 해당 데이터 필링률이 해당 큐에 대응되는 제2 역치보다 낮고 현재 시간과 먼젓번 비트 레이트 전환 시간의 차이가 기설정된 시간을 초과하는 것으로 판단되면, 고 비트 레이트로의 전환의 필요성을 확정한다. 상기 제1 역치는 통상적으로 제2 역치보다 훨씬 크고, 예를 들어, 제1 역치는 80%이고, 제2 역치는 20%이다.
예시로서, 비트 레이트 전환 제어 장치(310)가 네트워크 품질 정보 및 사전 설정된 비트 레이트 전환의 시간 제한 조건에 근거하여 비트 레이트 전환의 필요성을 확정하는 세번째 구체적인 예시는 아래와 같다. 즉, 사전에 각각의 큐에 대해 각각 2개의 역치를 설정한다. 즉, 각각의 큐마다 전부 각자의 제3 역치 및 제4 역치에 대응되고, 상이한 큐의 각자 대응되는 제3 역치는 통상적으로 상이하며, 마찬가지로, 상이한 큐의 각자 대응되는 제4 역치도 통상적으로 상이하다. 비트 레이트 전환 제어 장치(310)는 사전에 유지보수된 정보로부터 각 큐의 각각 대응되는 제3 역치 및 제4 역치, 기설정된 시간 및 먼젓번 비트 레이트 전환의 시간을 획득하고, 비트 레이트 전환 제어 장치(310)는 정기적으로 모든 큐 중 임의의 한 큐에 현재 저장된 모든 멀티미디어 데이터 프레임이 점용한 총 저장 공간의 크기를 획득하고(예를 들어, 정기적으로 송신 큐에 현재 저장된 모든 멀티미디어 데이터 프레임이 점용한 총 저장 공간의 크기를 획득함), 상기 획득한 큐에 현재 저장된 모든 멀티미디어 데이터 프레임이 점용한 총 저장 공간의 크기와 해당 큐에 대응되는 제3 역치 및 제4 역치를 비교한다. 비교 결과 상기 획득한 큐에 현재 저장된 모든 멀티미디어 데이터 프레임이 점용한 총 저장 공간의 크기가 해당 큐에 대응되는 제3 역치보다 크고 현재 시간과 먼젓번 비트 레이트 전환 시간의 차이가 기설정된 시간을 초과하면, 비트 레이트 전환 제어 장치(310)는 저 비트 레이트로의 전환의 필요성을 확정하고, 비교 결과 상기 획득한 큐에 현재 저장된 모든 멀티미디어 데이터 프레임이 점용한 총 저장 공간의 크기가 해당 큐에 대응되는 제4 역치보다 작고 현재 시간과 먼젓번 비트 레이트 전환 시간의 차이가 기설정된 시간을 초과하면, 비트 레이트 전환 제어 장치(310)는 고 비트 레이트로의 전환의 필요성을 확정한다. 상기 제3 역치는 통상적으로 제4 역치보다 훨씬 크다.
예시로서, 비트 레이트 전환 제어 장치(310)가 네트워크 품질 정보 및 사전 설정된 비트 레이트 전환의 시간 제한 조건에 근거하여 비트 레이트 전환의 필요성을 확정하는 네번째 구체적인 예시는 아래와 같다. 즉, 사전에 각각의 큐에 대해 각각 2개의 역치를 설정한다. 즉, 각각의 큐마다 전부 각자의 제5 역치 및 제6 역치에 대응되고, 상이한 큐의 각자 대응되는 제5 역치는 통상적으로 상이하며, 마찬가지로, 상이한 큐의 각자 대응되는 제6 역치도 통상적으로 상이하다. 비트 레이트 전환 제어 장치(310)는 사전에 유지보수된 정보로부터 각 큐의 각자 대응되는 제5 역치 및 제6 역치, 기설정된 시간 및 먼젓번 비트 레이트 전환의 시간을 획득하고, 비트 레이트 전환 제어 장치(310)는 정기적으로 모든 큐 중 임의의 한 큐의 현재 유휴 저장 공간의 크기를 획득하고(예를 들어, 정기적으로 송신 큐의 현재 유휴 저장 공간의 크기를 획득함), 상기 획득한 큐의 현재 유휴 저장 공간의 크기와 해당 큐에 대응되는 제5 역치 및 제6 역치를 비교한다. 비교 결과 상기 획득한 큐의 현재 유휴 저장 공간의 크기가 상기 획득한 제5 역치보다 크고 현재 시간과 먼젓번 비트 레이트 전환 시간의 차이가 기설정된 시간을 초과하면, 비트 레이트 전환 제어 장치(310)는 고 비트 레이트로의 전환의 필요성을 확정하고, 비교 결과 상기 획득한 큐의 현재 유휴 저장 공간의 크기가 제6 역치보다 작고 현재 시간과 먼젓번 비트 레이트 전환 시간의 차이가 기설정된 시간을 초과하면, 비트 레이트 전환 제어 장치(310)는 저 비트 레이트로의 전환의 필요성을 확정한다. 상기 제5 역치는 통상적으로 제6 역치보다 훨씬 작다.
데이터 프레임 배포 장치(320)는 주요하게 송신 큐로부터 멀티미디어 데이터 프레임을 판독하고 배포하며, 기타 큐 중의 이미 배포된 멀티미디어 데이터 프레임과 동일한 미디어 콘텐츠를 구비한 멀티미디어 데이터 프레임들은 전부 삭제된다.
예시로서, 데이터 프레임 배포 장치(320)는 시종 송신 큐로부터 멀티미디어 데이터 프레임을 판독하여 배포하여야 하고, 데이터 프레임 배포 장치(320)에 의해 송신 큐로부터 판독하여 배포된 멀티미디어 데이터 프레임은 송신 큐로부터 삭제된다. 비트 레이트 전환 제어 장치(310)는 비트 레이트 전환의 필요성을 확정할 경우, 데이터 프레임 배포 장치(320)는 전환 후의 새로운 송신 큐로부터 멀티미디어 데이터 프레임을 판독하고 배포하여야 한다.
예시로서, 멀티미디어 데이터 프레임이 데이터 프레임 배포 장치(320)에 의해 송신 큐로부터 판독되어 배포될 경우, 데이터 프레임 배포 장치(320)는 모든 큐에서 큐 해드에 위치한 멀티미디어 데이터 프레임에 대응되는 미디어 콘텐츠가 시종 동일한 미디어 콘텐츠에 대응되도록 확보하기 위하여, 기타 큐(즉, 전체 큐 중 송신 큐를 제외한 모든 큐)로부터 상응한 멀티미디어 데이터 프레임을 동기적으로 삭제하여야 한다.
예시로서, 비트 레이트 전환 제어 장치(310)는 비트 레이트 전환의 필요성을 확정할 경우, 데이터 프레임 배포 장치(320)는 전환 후의 새로운 송신 큐로부터 멀티미디어 데이터 프레임을 판독하여 배포하는 시기를 유의하여야 한다. 구체적으로, 비트 레이트 전환 제어 장치(310)는 비트 레이트 전환의 필요성을 확정할 경우, 데이터 프레임 배포 장치(320)는 전환 전의 송신 큐로부터 키 프레임(예를 들어, I 프레임)을 판독하여야 할 경우, 전환 전의 송신 큐로부터 멀티미디어 데이터 프레임을 판독하여 배포하는 것을 정지하고, 전환 후의 송신 큐로부터 멀티미디어 데이터 프레임을 판독하여 배포하여야 한다. 하나의 구체적인 예시로서, 비트 레이트 전환 제어 장치(310)는 비트 레이트의 필요성을 확정할 경우, 현재 전환 전의 송신 큐로부터 넌 키 프레임(예를 들어, P 프레임 또는 B 프레임 등)을 판독하고 배포하고 있을 경우, 데이터 프레임 배포 장치(320)가 전환 전의 송신 큐로부터 이미 배포된 키 프레임(예를 들어, I 프레임)에 대응되는 모든 넌 키 프레임을 판독 완료할 때까지 대기하여야 하며, 전환 전의 송신 큐로부터 다음 키 프레임을 판독하여 배포하여야 하고, 전환 전의 송신 큐를 제외한 모든 큐에서 상응한 넌 키 프레임이 삭제되면, 데이터 프레임 배포 장치(320)는 더이상 전환 전의 송신 큐로부터 키 프레임을 판독하지 않고, 비트 레이트 전환 후의 새로운 송신 큐로부터 멀티미디어 데이터 프레임을 판독하고 배포하기 시작하며, 이는 다음번 비트 레이트 전환까지 지속된다.
특별히 설명할 것은, 비트 레이트 전환 제어 장치(310)는 저 비트 레이트로의 전환의 필요성을 확정할 경우, 전환 전의 송신 큐의 비트 레이트가 이미 모든 큐의 비트 레이트 중에서 가장 낮은 비트 레이트일 경우, 전환 후의 새로운 송신 큐는 여전히 전환 전의 송신 큐이고, 전환 전의 송신 큐의 비트 레이트가 모든 큐의 비트 레이트 중에서 가장 낮은 비트 레이트가 아니일 경우, 비트 레이트 전환 제어 장치(310)는 비트 레이트가 전환 전의 송신 큐의 비트 레이트보다 낮은 모든 큐 중에서 하나의 큐를 송신 큐로 선택하여야 한다. 예를 들어, 비트 레이트 전환 제어 장치(310)는 비트 레이트가 전환 전의 송신 큐의 비트 레이트보다 낮은 모든 큐 중에서 비트 레이트가 가장 낮은 큐를 송신 큐로 선택한다. 비트 레이트 전환 제어 장치(310)는 고 비트 레이트로의 전환의 필요성을 확정할 경우, 전환 전의 송신 큐의 비트 레이트가 이미 모든 큐의 비트 레이트 중에서 가장 높은 비트 레이트일 경우, 전환 후의 새로운 송신 큐는 여전히 전환 전의 송신 큐이고, 전환 전의 송신 큐의 비트 레이트가 모든 큐의 비트 레이트 중에서 가장 높은 비트 레이트가 아니일 경우, 비트 레이트 전환 제어 장치(310)는 비트 레이트가 전환 전의 송신 큐의 비트 레이트보다 높은 모든 큐 중에서 하나의 큐를 송신 큐로 선택하여야 한다. 예를 들어, 비트 레이트 전환 제어 장치(310)는 비트 레이트가 전환 전의 송신 큐의 비트 레이트보다 높은 모든 큐 중에서 비트 레이트가 가장 높은 큐를 송신 큐로 선택한다.
실시예 5: 비디오 라이브 방송의 응용 정경에서, 스트림 미디어 서버가 사용자에게 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하는 구현 방식.
비디오 라이브 방송의 응용 정경에서, 스트림 미디어 서버가 네트워크 상의 n(n>2) 명의 사용자에게 각각 적응적으로 3가지 비트 레이트의 스트림 미디어 서비스를 제공하도록 설정한다. 스트림 미디어 서버는 3가지 비트 레이트에 대해 3개의 GOP 캐시를 설정하고, 각 사용자마다 각각 3개의 큐를 설정한다. 즉 제1 GOP 캐시, 제2 GOP 캐시, 제3 GOP 캐시, 제1 큐, 제2 큐 및 제3 큐를 설정한다. 여기서, 제1 GOP 캐시 및 제1 큐는 제1 비트 레이트에 대응되고, 제2 GOP 캐시 및 제2 큐는 제2 비트 레이트에 대응되며, 제3 GOP 캐시 및 제3 큐는 제3 비트 레이트에 대응되며, 제1 비트 레이트는 제2 비트 레이트보다 높고, 제2 비트 레이트는 제3 비트 레이트보다 높다. 3개의 GOP 캐시의 저장 공간에는 차이가 있지만, 3개의 GOP 캐시에 저장될 수 있는 비디오 프레임의 수량은 동일하다. 3개의 큐의 저장 공간에는 차이가 있지만, 3개의 큐에 저장될 수 있는 비디오 프레임의 수량은 동일하다.
트랜스코딩 장치(330)는 현재 실시간으로 생성되는 인코딩 처리를 거친 GOP 구조를 가지는 비디오 프레임(즉, GOP 구조를 가지는 멀티미디어 데이터 프레임)에 대해 트랜스코딩 처리를 진행함으로써, 인코딩 처리를 거친 비디오 프레임에 대해 제1 비트 레이트 기반의 비디오 프레임, 제2 비트 레이트 기반의 비디오 프레임 및 제3 비트 레이트 기반의 비디오 프레임을 생성한다.
제1 저장 제어 장치(340)는 동기적으로 상이한 비트 레이트의 비디오 프레임을 상응한 GOP 캐시에 저장할 수 있다. 즉, 제1 비트 레이트 기반의 비디오 프레임은 제1 GOP 캐시에 캐시되고, 제2 비트 레이트 기반의 비디오 프레임은 제2 GOP 캐시에 캐시되며, 제3 비트 레이트 기반의 비디오 프레임은 제3 GOP 캐시에 캐시된다. 스트림 미디어 서버는 3개의 GOP 캐시 중의 비디오 프레임의 수량이 동일하도록 제어하고, 3개의 GOP 캐시 중의 비디오 프레임에 대응되는 미디어 콘텐츠가 완전히 동일하도록 제어할 수 있다.
네트워크 상의 임의의 한 사용자에 대해, 제2 저장 제어 장치(350)는 동기적으로 제1 GOP 캐시 중의 비디오 프레임을 판독하여 제1 큐에 인입시키고, 제2 GOP 캐시 중의 비디오 프레임을 판독하여 제2 큐에 인입시키며, 제3 GOP 캐시 중의 비디오 프레임을 판독하여 제3 큐에 인입시킬 수 있다. 제2 저장 제어 장치(350)는 동기적으로 3개의 큐에 인입된 비디오 프레임에 대응되는 미디어 콘텐츠가 완전히 동일하도록 제어할 수 있다.
네트워크 상의 임의의 한 사용자에 대해, 해당 사용자에게 금회 라이브 방송의 미디어 스트림 제공할 경우, 데이터 프레임 배포 장치(320)는 먼저 해당 사용자에 대응되는 3개의 큐 중 하나의 큐를 송신 큐로 한다. 예를 들어, 기본 설정에 따라 상응한 큐를 송신 큐로 하거나, 또 예를 들어, 사용자가 선택한 비트 레이트에 근거하여 해당 비트 레이트에 대응되는 큐를 송신 큐로 하거나, 또 다른 예를 들면, 데이터 프레임 배포 장치(320)는 현재 네트워크 전송 속도에 근거하여 상응한 비트 레이트의 큐를 송신 큐로 한다. 데이터 프레임 배포 장치(320)는 송신 큐(예를 들어, 제2 큐)로부터 비디오 프레임을 판독하여 해당 사용자에게 발송하고, 하나의 비디오 프레임을 배포할 때마다 해당 비디오 프레임은 송신 큐로부터 삭제되며, 데이터 프레임 배포 장치(320)는 제1 큐 및 제3 큐 중의 해당 비디오 프레임에 대응되는 비트 레이트가 상이한 비디오 프레임도 삭제한다. 데이터 프레임 배포 장치(320)가 지속적으로 송신 큐로부터 비디오 프레임을 판독하고 배포하는 과정에서, 비트 레이트 전환 제어 장치(310)는 네트워크 품질 획득 장치(300)에서 획득한 송신 큐의 데이터 필링률(즉, 송신 큐에 현재 저장된 비디오 프레임이 점용한 저장 공간과 송신 큐의 총 저장 공간의 크기의 비율)을 모니터링하고, 비트 레이트 전환 제어 장치(310)는 송신 큐의 데이터 필링률이 제1 필링률보다 높고, 먼젓번 비트 레이트 전환시간까지의 시간 간격이 기설정된 시간에 도달하는 것을 검출할 경우, 저 비트 레이트로의 전환의 필요성을 확정하고, 비트 레이트 전환 제어 장치(310)는 제3 큐를 새로운 송신 큐로 하며, 데이터 프레임 배포 장치(320)가 제2 큐로부터 I 프레임을 판독하여야 할 경우, 데이터 프레임 배포 장치(320)는 새로운 송신 큐(즉, 제3 큐)로부터 비디오 프레임을 판독하고 배포하기 시작하고, 마찬가지로, 데이터 프레임 배포 장치(320)가 판독한 비디오 프레임은 송신 큐로부터 삭제되며, 데이터 프레임 배포 장치(320)는 제1 큐 및 제2 큐 중의 제3 큐로부터 판독된 비디오 프레임에 대응되는 비트 레이트가 상이한 비디오 프레임도 삭제한다. 비트 레이트 전환 제어 장치(310)는 송신 큐의 데이터 필링률이 제2 필링률보다 높고, 먼젓번 비트 레이트 전환시간까지의 시간 간격이 기설정된 시간에 도달하는 것을 검출할 경우, 고 비트 레이트로의 전환의 필요성을 확정하고, 데이터 프레임 배포 장치(320)는 제2 큐를 새로운 송신 큐로 하며, 데이터 프레임 배포 장치(320)가 제3 큐로부터 I 프레임을 판독하여야 할 경우, 새로운 송신 큐(즉, 제2 큐)로부터 비디오 프레임을 판독하고 배포하기 시작하고, 마찬가지로, 데이터 프레임 배포 장치(320)가 판독한 비디오 프레임은 송신 큐로부터 삭제되며, 데이터 프레임 배포 장치(320)는 제1 큐 및 제3 큐 중의 제2 큐로부터 판독된 비디오 프레임에 대응되는 비트 레이트가 상이한 비디오 프레임도 삭제한다.
실시예 6: 비디오 텔레컨퍼런스의 응용 정경에서, 스트림 미디어 서버가 사용자에게 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하는 구현 방식.
비디오 텔레컨퍼런스의 응용 정경에서, 스트림 미디어 서버가 비디오 텔레컨퍼런스에 참석한 모든 참석자에게 각각 3가지 비트 레이트의 스트림 미디어 서비스를 적응적으로 제공할 수 있도록 설정하고, 스트림 미디어 서버는 3개의 GOP 캐시를 설정한다. 즉, 제1 GOP 캐시, 제2 GOP 캐시 및 제3 GOP 캐시를 설정한다. 여기서, 제1 GOP 캐시는 제1 비트 레이트에 대응되고, 제2 GOP 캐시는 제2 비트 레이트에 대응되며, 제3 GOP 캐시는 제3 비트 레이트에 대응되며, 제1 비트 레이트는 제2 비트 레이트보다 높고, 제2 비트 레이트는 제3 비트 레이트보다 높다.
한 사용자가 비디오 텔레컨퍼런스에 가입 신청을 제출할 경우, 스트림 미디어 서버는 해당 사용자에 대해 상응한 정보를 설정한다. 예를 들어, 해당 사용자에 대해 동적으로 3개의 큐, 즉 제1 큐, 제2 큐 및 제3 큐를 설정하고, 여기서, 제1 큐는 제1 비트 레이트에 대응되고, 제2 큐는 제2 비트 레이트에 대응되며, 제3 큐는 제 3 비트 레이트에 대응된다. 본 실시예 중의 3개의 GOP 캐시의 저장 공간에는 차이가 있지만, 3개의 GOP 캐시에 저장될 수 있는 비디오 프레임의 수량은 동일하다. 3개의 큐의 저장 공간에는 차이가 있지만, 3개의 큐에 저장될 수 있는 비디오 프레임의 수량은 동일하다.
스트림 미디어 서버가 해당 사용자에 대해 상응한 정보를 성공적으로 설정한 후, 해당 사용자는 금회 비디오 텔레컨퍼런스의 참석자로 된다. 트랜스코딩 장치(330)는 현재 실시간으로 생성되는 인코딩 처리를 거친 GOP 구조를 가지는 비디오 프레임에 대해 트랜스코딩 처리를 진행함으로써, 인코딩 처리를 거친 비디오 프레임에 대해 제1 비트 레이트 기반의 비디오 프레임, 제2 비트 레이트 기반의 비디오 프레임 및 제3 비트 레이트 기반의 비디오 프레임을 생성한다.
제1 저장 제어 장치(340)는 상이한 비트 레이트의 비디오 프레임을 동기적으로 3개의 GOP 캐시에 저장할 수 있다. 즉, 제1 비트 레이트 기반의 비디오 프레임은 제1 GOP 캐시에 캐시되고, 제2 비트 레이트 기반의 비디오 프레임은 제2 GOP 캐시에 캐시되며, 제3 비트 레이트 기반의 비디오 프레임은 제3 GOP 캐시에 캐시된다. 제1 저장 제어 장치(340)는 3개의 GOP 캐시 중의 비디오 프레임의 수량이 동일하도록 제어하고, 3개의 GOP 캐시 중의 비디오 프레임에 대응되는 미디어 콘텐츠가 완전히 동일하도록 제어할 수 있다.
제2 저장 제어 장치(350)는 동기적으로 해당 참석자의 제1 GOP 캐시 중의 비디오 프레임을 판독하여 제1 큐에 인입시키고, 제2 GOP 캐시 중의 비디오 프레임을 판독하여 제2 큐에 인입시키며, 제3 GOP 캐시 중의 비디오 프레임을 판독하여 제3 큐에 인입시킬 수 있다. 제2 저장 제어 장치(350)는 동기적으로 3개의 큐에 인입된 비디오 프레임에 대응되는 미디어 콘텐츠가 완전히 동일하도록 제어할 수 있다.
해당 참석자에게 비디오 텔레컨퍼런스의 미디어 스트림 제공을 시작할 경우, 데이터 프레임 배포 장치(320)는 먼저 해당 참석자가 선택한 비트 레이트에 근거하여 해당 비트 레이트에 대응되는 큐를 송신 큐로 한다. 데이터 프레임 배포 장치(320)는 송신 큐(예를 들어, 제3 큐)로부터 비디오 프레임을 판독하여 해당 참석자에게 발송하며, 하나의 비디오 프레임을 배포할 때마다 해당 비디오 프레임은 송신 큐로부터 삭제되며, 데이터 프레임 배포 장치(320)는 제1 큐 및 제2 큐 중의 해당 비디오 스트림에 대응되는 비트 레이트가 상이한 비디오 프레임도 삭제한다. 데이터 프레임 배포 장치(320)가 지속적으로 송신 큐로부터 비디오 프레임을 판독하고 배포하는 과정에서, 비트 레이트 전환 제어 장치(310)는 네트워크 품질 획득 장치(300)에서 획득한 송신 큐의 데이터 필링률을 모니터링한다. 비트 레이트 전환 제어 장치(310)는 송신 큐의 데이터 필링률이 제1 필링률보다 높고, 먼젓번 비트 레이트 전환시간까지의 시간 간격이 기설정된 시간에 도달하는 것을 검출할 경우, 저 비트 레이트로의 전환의 필요성을 확정한다. 제3 큐의 비트 레이트는 이미 가장 낮은 비트 레이트이므로, 비트 레이트 전환 제어 장치(310)는 여전히 제3 큐를 송신 큐로 하고, 데이터 프레임 배포 장치(320)는 계속하여 제3 큐로부터 비디오 프레임을 판독하고 배포한다. 비트 레이트 전환 제어 장치(310)는 송신 큐의 데이터 필링률이 제2 필링률보다 높고, 먼젓번 비트 레이트 전환시간까지의 시간 간격이 기설정된 시간에 도달하는 것을 검출할 경우, 고 비트 레이트로의 전환의 필요성을 확정하고, 비트 레이트 전환 제어 장치(310)는 제2 큐를 새로운 송신 큐로 한다. 데이터 프레임 배포 장치(320)가 제3 큐로부터 I 프레임을 판독하여야 할 경우, 새로운 송신 큐(즉, 제2 큐)로부터 비디오 프레임을 판독하고 배포하기 시작하고, 마찬가지로, 데이터 프레임 배포 장치(320)가 판독한 비디오 프레임은 송신 큐로부터 삭제되며, 데이터 프레임 배포 장치(320)는 제1 큐 및 제3 큐 중의 제2 큐로부터 판독된 비디오 프레임에 대응되는 비트 레이트가 상이한 비디오 프레임도 삭제한다.
본 발명은 소프트웨어 및/또는 소프트웨어와 하드웨어의 조합체에서 구현될 수 있다. 예를 들어, 본 발명의 각 장치는 주문형 집적회로(ASIC) 또는 임의의 기타 유사한 하드웨어 기기를 이용하여 구현될 수 있음을 유의하여야 한다. 일 실시예에 있어서, 본 발명의 소프트웨어 프로그램은 프로세서를 통해 실행되어 전술한 단계 또는 기능들을 실현할 수 있다. 마찬가지로, 본 발명의 소프트웨어 프로그램(관련 데이터 구조를 포함함)은 예컨대 RAM메모리, 자기 또는 광 드라이브 또는 플로피 디스크 및 유사한 기기와 같은 컴퓨터 판독 가능한 기록 매체에 저장될 수 있다. 또한, 본 발명의 일부 단계 또는 기능들은 하드웨어로 구현될 수 있으며, 예를 들어, 프로세서와 합동하여 각 단계 또는 기능을 수행하는 전기 회로일 수 있다.
본 발명은 상기 예시적인 실시예의 세부 사항들에 한정되는 것이 아니고, 본 발명의 정신 또는 기본적인 특징의 범위를 벗어나지 않는 범위 내에서, 기타 구체적인 형태로 실시될 수 있음은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명백할 것이다. 따라서, 그 어느 방면으로부터 보아도, 상기 실시예들은 예시적이고 비한정적인 것으로서, 본 발명의 범위는 상술한 설명에 의해 한정되는 것이 아니며, 첨부된 청구범위 의해 한정된다. 따라서 청구항의 균등 요건의 함의 및 범위 내에 속하는 모든 변형들은 전부 본 발명의 범위에 속한다고 할 것이다. 청구항 중의 임의의 참조부호는 해당 청구항을 한정하는 것으로 해석되어서는 안 된다. 또한, 용어 “포함하다”는 기타 유닛 또는 단계를 배제하지 않으며, 단수는 복수를 배제하지 않는 것으로 이해되어야 한다. 시스템 청구항에서 기재된 다수의 유닛 또는 장치는 하나의 유닛 또는 장치에 의해 소프트웨어 또는 하드웨어를 통해 구현될 수 있다. 제1, 제2 등 용어는 명칭을 나타내기 위한 것일 뿐, 그 어떤 특정된 순서를 나타내는 것은 아니다.
이상에서는 특별히 예시적인 실시예에 대하여 도시하고 설명하였지만, 해당 기술분야의 통상의 지식을 가진 자는특허청구범위의 정신과 범위를 벗어나지 않는 범위 내에서, 실시예의 형식 및 세부사항을 다양하게 변경시킬 수 있음을 이해할 것이다. 본 발명에서 청구하고자 하는 보호범위는 특허청구범위에 기재되어 있다.

Claims (18)

  1. 서버에서 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 방법에 있어서,
    네트워크 품질 정보를 획득하는 단계;
    상기 네트워크 품질 정보에 근거하여 비트 레이트 전환의 필요성을 확정하는 경우, 상이한 큐에는 동일한 미디어 콘텐츠에 대한 상이한 비트 레이트의 멀티미디어 데이터 프레임이 저장된 모든 큐 중에서 하나의 큐를 송신 큐로 선택하는 단계; 및
    상기 송신 큐로부터 멀티미디어 데이터 프레임을 판독하고 배포하고, 기타 큐 중의 이미 배포된 멀티미디어 데이터 프레임과 동일한 미디어 콘텐츠를 구비한 멀티미디어 데이터 프레임은 전부 삭제되는 단계; 를 포함하는 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 방법.
  2. 제1항에 있어서,
    상기 네트워크 품질 정보는 큐의 데이터 필링률을 포함하는 것을 특징으로 하는 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 방법.
  3. 제2항에 있어서,
    상기 네트워크 품질 정보를 획득하는 단계는,
    송신 큐의 데이터 필링률을 획득하는 단계를 포함하는 것을 특징으로 하는 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 방법.
  4. 제2항에 있어서,
    상기 네트워크 품질 정보에 근거하여 비트 레이트 전환의 필요성을 확정하는 단계는,
    상기 데이터 필링률이 제1 역치보다 높을 경우, 저 비트 레이트로의 전환의 필요성을 확정하는 단계; 및
    상기 데이터 필링 정보가 제2 역치보다 낮을 경우, 고 비트 레이트로의 전환의 필요성을 확정하는 단계;를 포함하되,
    상기 제1 역치는 제2 역치보다 높은 것을 특징으로 하는 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 방법.
  5. 제2항에 있어서,
    상기 네트워크 품질 정보에 근거하여 비트 레이트 전환의 필요성을 확정하는 단계는,
    상기 데이터 필링률이 제1 역치보다 높고, 현재 시간으로부터 먼젓번 비트 레이트 전환시간까지의 시간 간격이 기설정된 시간을 초과할 경우, 저 비트 레이트로의 전환의 필요성을 확정하는 단계; 및
    상기 데이터 필링률이 제2 역치보다 낮고, 현재 시간으로부터 먼젓번 비트 레이트 전환시간까지의 시간 간격이 기설정된 시간을 초과할 경우, 고 비트 레이트로의 전환의 필요성을 확정하는 단계;를 포함하되,
    상기 제1 역치는 제2 역치보다 높은 것을 특징으로 하는 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 송신 큐로부터 멀티미디어 데이터 프레임을 판독하고 배포하는 단계는,
    전환 전의 송신 큐로부터 멀티미디어 데이터 프레임 중의 키 프레임을 판독하고 배포하여야 할 경우, 상기 전환 후의 송신 큐로부터 멀티미디어 데이터 프레임을 판독하고 배포하기 시작하는 단계를 포함하는 것을 특징으로 하는 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 방법.
  7. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상이한 큐에 저장된 멀티미디어 데이터 프레임은 동일한 화면 집합 GOP 구조를 가지는 것을 특징으로 하는 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 방법.
  8. 제7항에 있어서,
    각 비트 레이트마다 대응되는 하나의 GOP 캐시를 구비하고,
    상기 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 방법은,
    인코딩 처리를 거친 멀티미디어 데이터 프레임을 상이한 비트 레이트의 멀티미디어 데이터 프레임으로 트랜스코딩하는 단계;
    트랜스코딩을 거친 상이한 비트 레이트의 멀티미디어 데이터 프레임을 각각 상응한 GOP 캐시에 저장하는 단계; 및
    각 GOP 캐시로부터 동기적으로 멀티미디어 데이터 프레임을 판독하고, 판독한 멀티미디어 데이터를 각각 상응한 큐에 저장하는 단계;를 더 포함하는 것을 특징으로 하는 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 방법.
  9. 제1항 내지 제5항 중 어느 한 항에 있어서,
    각 큐의 저장 공간에 수용될 수 있는 멀티미디어 데이터 프레임의 수량은 동일하고, 각 큐의 저장 공간은 전부 2개의 멀티미디어 데이터 프레임이 점용하는 저장 공간보다 작지 않은 것을 특징으로 하는 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 방법.
  10. 서버에서 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 장치에 있어서,
    네트워크 품질 정보를 획득하는 장치;
    상기 네트워크 품질 정보에 근거하여 비트 레이트 전환의 필요성을 확정하는 경우, 상이한 큐에는 동일한 미디어 콘텐츠에 대한 상이한 비트 레이트의 멀티미디어 데이터 프레임이 저장된 모든 큐 중에서 하나의 큐를 송신 큐로 선택하는 장치; 및
    상기 송신 큐로부터 멀티미디어 데이터 프레임을 판독하고 배포하고, 기타 큐 중의 이미 배포된 멀티미디어 데이터 프레임과 동일한 미디어 콘텐츠를 구비한 멀티미디어 데이터 프레임은 전부 삭제되는 장치;를 포함하는 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 장치.
  11. 제10항에 있어서,
    상기 네트워크 품질 정보는 큐의 데이터 필링률을 포함하는 것을 특징으로 하는 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 장치.
  12. 제11항에 있어서,
    상기 네트워크 품질 정보를 획득하는 장치는,
    송신 큐의 데이터 필링률을 획득하는 장치를 포함하는 것을 특징으로 하는 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 장치.
  13. 제11항에 있어서,
    상기 네트워크 품질 정보에 근거하여 비트 레이트 전환의 필요성을 확정하는 경우, 모든 큐 중에서 하나의 큐를 송신 큐로 선택하는 장치는, 구체적으로,
    상기 데이터 필링률이 제1 역치보다 높을 경우, 저 비트 레이트로의 전환의 필요성을 확정하고,
    상기 데이터 필링률이 제2 역치보다 낮을 경우, 고 비트 레이트로의 전환의 필요성을 확정하며,
    상기 제1 역치는 제2 역치보다 높은 것을 특징으로 하는 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 장치.
  14. 제11항에 있어서,
    상기 네트워크 품질 정보에 근거하여 비트 레이트 전환의 필요성을 확정하는 경우, 모든 큐 중에서 하나의 큐를 송신 큐로 선택하는 장치는, 구체적으로,
    상기 데이터 필링률이 제1 역치보다 높고, 현재 시간으로부터 먼젓번 비트 레이트 전환시간까지의 시간 간격이 기설정된 시간을 초과할 경우, 저 비트 레이트로의 전환의 필요성을 확정하고,
    상기 데이터 필링률이 제2 역치보다 낮고, 현재 시간으로부터 먼젓번 비트 레이트 전환시간까지의 시간 간격이 기설정된 시간을 초과할 경우, 고 비트 레이트로의 전환의 필요성을 확정하며,
    상기 제1 역치는 제2 역치보다 높은 것을 특징으로 하는 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 장치.
  15. 제10항 내지 제14항 중 어느 한 항에 있어서,
    상기 송신 큐로부터 멀티미디어 데이터 프레임을 판독하고 배포하고, 기타 큐 중의 이미 배포된 멀티미디어 데이터 프레임과 동일한 미디어 콘텐츠를 구비한 멀티미디어 데이터 프레임은 전부 삭제되는 장치는, 구체적으로,
    전환 전의 송신 큐로부터 멀티미디어 데이터 프레임 중의 키 프레임을 판독하고 배포하여야 할 경우, 상기 전환 후의 송신 큐로부터 멀티미디어 데이터 프레임을 판독하고 배포하기 시작하는 것을 특징으로 하는 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 장치.
  16. 제10항 내지 제14항 중 어느 한 항에 있어서,
    상이한 큐에 저장된 멀티미디어 데이터 프레임은 동일한 화면 집합 GOP 구조를 가지는 것을 특징으로 하는 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 장치.
  17. 제16항에 있어서,
    각 비트 레이트마다 대응되는 하나의 GOP 캐시를 구비하고,
    상기 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 장치는,
    인코딩 처리를 거친 멀티미디어 데이터 프레임을 상이한 비트 레이트의 멀티미디어 데이터 프레임으로 트랜스코딩하는 장치;
    트랜스코딩을 거친 상이한 비트 레이트의 멀티미디어 데이터 프레임을 각각 상응한 GOP 캐시에 저장하는 장치; 및
    각 GOP 캐시로부터 동기적으로 멀티미디어 데이터 프레임을 판독하고, 판독한 멀티미디어 데이터를 각각 상응한 큐에 저장하는 장치; 를 더 포함하는 것을 특징으로 하는 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 장치.
  18. 제10항 내지 제14항 중 어느 한 항에 있어서,
    각 큐의 저장 공간에 수용될 수 있는 멀티미디어 데이터 프레임의 수량은 동일하고, 각 큐의 저장 공간은 전부 2개의 멀티미디어 데이터 프레임이 점용하는 저장 공간보다 작지 않은 것을 특징으로 하는 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 장치.
KR1020170018792A 2016-09-20 2017-02-10 서버에서 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 방법 및 장치 KR102039778B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610835828.8 2016-09-20
CN201610835828.8A CN106454395B (zh) 2016-09-20 2016-09-20 在服务器中用于自适应提供多码率流媒体的方法及装置

Publications (2)

Publication Number Publication Date
KR20180031547A true KR20180031547A (ko) 2018-03-28
KR102039778B1 KR102039778B1 (ko) 2019-11-01

Family

ID=58165645

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170018792A KR102039778B1 (ko) 2016-09-20 2017-02-10 서버에서 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 방법 및 장치

Country Status (4)

Country Link
US (1) US10498786B2 (ko)
JP (2) JP2018050275A (ko)
KR (1) KR102039778B1 (ko)
CN (1) CN106454395B (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4196192B2 (ja) * 2003-09-18 2008-12-17 グンゼ株式会社 スタッカーバンドラー及びその制御方法
CN108234350B (zh) * 2016-12-21 2021-08-03 华为技术有限公司 一种调度方法及客户驻地设备
CN107122159B (zh) * 2017-04-20 2020-04-17 维沃移动通信有限公司 一种在线音频的品质切换方法及移动终端
CN108307248B (zh) * 2018-02-01 2019-10-29 腾讯科技(深圳)有限公司 视频播放方法、装置、计算设备及存储介质
CN108737861B (zh) * 2018-05-11 2020-06-16 浙江大学 一种拥塞环境下基于解码优先级的带宽资源优化配置方法
CN108881185B (zh) * 2018-05-31 2022-10-25 康键信息技术(深圳)有限公司 数据发送装置及方法、数据接收装置及方法和存储介质
CN108769805B (zh) * 2018-06-11 2021-05-07 广州酷狗计算机科技有限公司 数据传输方法、装置、计算机设备及存储介质
CN109698928B (zh) * 2018-11-15 2021-04-13 贵阳朗玛信息技术股份有限公司 一种调节视频会议系统中视频流的方法及装置
CN110062003B (zh) * 2019-04-30 2022-01-25 北京金山云网络技术有限公司 视频数据发送方法、装置、电子设备及存储介质
CN110636346B (zh) * 2019-09-19 2021-08-03 北京达佳互联信息技术有限公司 一种码率自适应切换方法、装置、电子设备及存储介质
CN113141524B (zh) * 2020-01-17 2023-09-29 北京达佳互联信息技术有限公司 资源传输方法、装置、终端及存储介质
CN111669636B (zh) * 2020-06-19 2022-02-25 海信视像科技股份有限公司 一种音画同步的视频录制方法及显示设备
CN112637661B (zh) * 2020-12-22 2022-08-05 广州博冠信息科技有限公司 视频流的切换方法及装置、计算机存储介质、电子设备
CN113038246A (zh) * 2021-02-23 2021-06-25 北京金山云网络技术有限公司 多媒体帧的传输方法、装置和计算机可读存储介质
CN113259710B (zh) * 2021-06-22 2021-09-21 北京百瑞互联技术有限公司 改进音频传输卡顿的方法、系统及介质
US11770592B2 (en) 2021-06-28 2023-09-26 Synamedia Limited Intrasegment adjustment of video transmission rate
US11374998B1 (en) * 2021-09-01 2022-06-28 At&T Intellectual Property I, L.P. Adaptive bitrate streaming stall mitigation
CN114697693B (zh) * 2022-03-21 2023-09-19 联想(北京)有限公司 一种数据处理方法、装置、存储介质及电子设备
US11736552B1 (en) * 2022-09-21 2023-08-22 Microsoft Technology Licensing, Llc Sender based adaptive bit rate control

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050254508A1 (en) * 2004-05-13 2005-11-17 Nokia Corporation Cooperation between packetized data bit-rate adaptation and data packet re-transmission
KR100924309B1 (ko) * 2009-06-04 2009-11-02 전자부품연구원 시간확장성과 버퍼상태판단을 통한 품질 적응적 멀티미디어 데이터 스트리밍 방법 및 시스템
JP2011040879A (ja) * 2009-08-07 2011-02-24 Hitachi Consumer Electronics Co Ltd データ配信システム、切替装置及びデータ配信方法
US20110225315A1 (en) * 2010-03-09 2011-09-15 Mobixell Networks Ltd. Multi-stream bit rate adaptation

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05327836A (ja) * 1992-05-26 1993-12-10 Mitsubishi Electric Corp 音声通信装置
JP4244424B2 (ja) * 1999-02-05 2009-03-25 パナソニック株式会社 テレビ放送用送受信システム
JP2001177828A (ja) 1999-12-16 2001-06-29 Nec Corp 同期制御エンコーダ
JP4453175B2 (ja) * 2000-08-25 2010-04-21 ソニー株式会社 受信装置、及び、受信方法
JP2004236050A (ja) 2003-01-31 2004-08-19 Anritsu Corp 負荷分散型中継装置及び負荷分散型中継方法
EP1638333A1 (en) 2004-09-17 2006-03-22 Mitsubishi Electric Information Technology Centre Europe B.V. Rate adaptive video coding
JP5327836B2 (ja) 2008-03-18 2013-10-30 東芝エレベータ株式会社 エレベータの制御装置
JP2009267642A (ja) 2008-04-23 2009-11-12 Fujitsu Telecom Networks Ltd フロー制御装置及びフロー制御方法
CN101771492A (zh) * 2008-12-29 2010-07-07 华为技术有限公司 调整流媒体码率的方法和装置
JP5089658B2 (ja) * 2009-07-16 2012-12-05 株式会社Gnzo 送信装置及び送信方法
US8392600B2 (en) * 2009-09-14 2013-03-05 Adobe Systems Incorporated Dynamic stream switch control
US8705616B2 (en) * 2010-06-11 2014-04-22 Microsoft Corporation Parallel multiple bitrate video encoding to reduce latency and dependences between groups of pictures
CN103210613B (zh) 2010-11-24 2016-09-07 三菱电机株式会社 通信装置
US9973402B2 (en) 2013-06-26 2018-05-15 Nec Corporation Transmission device, receiving device, and relay device
CN103686167A (zh) * 2013-12-24 2014-03-26 广东威创视讯科技股份有限公司 多码流播出方法及装置
CN103747296A (zh) * 2013-12-31 2014-04-23 深圳市同洲电子股份有限公司 一种视频播放的方法及系统
CN103945245A (zh) * 2014-04-16 2014-07-23 上海交通大学 一种dash码率切换方法以及快速视频启动的方法
CN104796732B (zh) * 2015-04-21 2018-05-08 无锡天脉聚源传媒科技有限公司 一种音视频编辑方法及装置
CN105744342B (zh) * 2016-01-28 2019-04-12 腾讯科技(深圳)有限公司 移动终端的数据传输方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050254508A1 (en) * 2004-05-13 2005-11-17 Nokia Corporation Cooperation between packetized data bit-rate adaptation and data packet re-transmission
KR100924309B1 (ko) * 2009-06-04 2009-11-02 전자부품연구원 시간확장성과 버퍼상태판단을 통한 품질 적응적 멀티미디어 데이터 스트리밍 방법 및 시스템
JP2011040879A (ja) * 2009-08-07 2011-02-24 Hitachi Consumer Electronics Co Ltd データ配信システム、切替装置及びデータ配信方法
US20110225315A1 (en) * 2010-03-09 2011-09-15 Mobixell Networks Ltd. Multi-stream bit rate adaptation

Also Published As

Publication number Publication date
CN106454395A (zh) 2017-02-22
JP2018050275A (ja) 2018-03-29
CN106454395B (zh) 2018-10-12
US20180084020A1 (en) 2018-03-22
US10498786B2 (en) 2019-12-03
KR102039778B1 (ko) 2019-11-01
JP7053556B2 (ja) 2022-04-12
JP2020043583A (ja) 2020-03-19

Similar Documents

Publication Publication Date Title
KR102039778B1 (ko) 서버에서 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 방법 및 장치
US7743161B2 (en) Digital content buffer for adaptive streaming
US10154320B2 (en) Dynamic time synchronization
KR101737325B1 (ko) 멀티미디어 시스템에서 멀티미디어 서비스의 경험 품질 감소를 줄이는 방법 및 장치
WO2016131223A1 (zh) 一种视频帧丢帧方法及视频发送装置
US10609390B1 (en) Adaptive screen encoding control
US20080100694A1 (en) Distributed caching for multimedia conference calls
US20140104493A1 (en) Proactive video frame dropping for hardware and network variance
CN106488265A (zh) 一种发送媒体流的方法和装置
JP2012512561A (ja) ビデオ会議レートマッチング
EP2583463A2 (en) Combining multiple bit rate and scalable video coding
CN110024409B (zh) 具有多个接收器的视频流的关键帧削弱的方法和装置
CN117581552A (zh) 在传输预创作视频帧和合成视频帧之间切换
US11356739B2 (en) Video playback method, terminal apparatus, and storage medium
CN112866746A (zh) 一种多路串流云游戏控制方法、装置、设备及存储介质
US20140099040A1 (en) Image processing device and image processing method
KR100848309B1 (ko) 고속 버퍼링 스위치를 이용한 인터넷 방송 서비스 제공방법 및 그 장치
JP2009171294A (ja) 映像配信システム、映像中継装置、及び映像中継方法
JP2011192229A (ja) サーバ装置および情報処理方法
CN115209189A (zh) 一种视频流传输方法、系统、服务器及存储介质
CN101552684B (zh) 实时流媒体协议会话状态控制的方法、装置和系统
US11290680B1 (en) High-fidelity freeze-frame for precision video communication applications
US11350160B1 (en) Management of a client device buffer
US10623830B1 (en) Dual-representation streaming frames
WO2024080975A1 (en) Client adaptation for real-time meeting data recovery

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