KR101708728B1 - 스트림 미디어에 기반하여 비트스트림 세그먼트를 선택하는 방법, 플레이어, 및 단말 - Google Patents

스트림 미디어에 기반하여 비트스트림 세그먼트를 선택하는 방법, 플레이어, 및 단말 Download PDF

Info

Publication number
KR101708728B1
KR101708728B1 KR1020157013302A KR20157013302A KR101708728B1 KR 101708728 B1 KR101708728 B1 KR 101708728B1 KR 1020157013302 A KR1020157013302 A KR 1020157013302A KR 20157013302 A KR20157013302 A KR 20157013302A KR 101708728 B1 KR101708728 B1 KR 101708728B1
Authority
KR
South Korea
Prior art keywords
segment
bitstream
quality
terminal
buffer
Prior art date
Application number
KR1020157013302A
Other languages
English (en)
Other versions
KR20150073207A (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 KR20150073207A publication Critical patent/KR20150073207A/ko
Application granted granted Critical
Publication of KR101708728B1 publication Critical patent/KR101708728B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/647Control 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
    • H04L65/4084
    • 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/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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/752Media network packet handling adapting media to network 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/75Media network packet handling
    • H04L65/756Media network packet handling adapting media to device 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/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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Abstract

본 발명은 스트리밍 미디어에 기초하여 비트스트림 세그먼트를 선택하는 방법에 대해 개시하며, 상기 방법은: 스트리밍 미디어 내의 제1 시간에 대응하는 적어도 2개의 세그먼트의 각각의 세그먼트의 세그먼트 정보를 획득하는 단계 - 상기 세그먼트 정보는 세그먼트 품질을 포함함 - ; 각각의 세그먼트의 세그먼트 품질 및 사전설정된 품질 임계값에 따라, 상기 제1 시간에 대응하는 적어도 2개의 세그먼트 중에서 최초의 세그먼트를 선택하는 단계; 및 상기 최초의 세그먼트의 다운로딩이 단말의 플레이 제외(play exception)를 야기하지 않는 것으로 판정되면, 상기 최초의 세그먼트를 선택된 비트스트림 세그먼트로 사용하는 단계를 포함한다. 본 발명의 실시예에 따라 스트리밍 미디어에 기초하여 비트스트림 세그먼트를 선택하는 방법은 최종 선택된 비트스트림 세그먼트가 대역폭을 완전하게 사용하게 하며, 세그먼트들의 품질이 더 밀접하게 되고, 비디오 플레이 동안 비디오 품질이 더 부드럽게 된다. 본 발명의 실시예는 스트리밍 미디어에 기초하여 비트스트림 세그먼트를 선택하는 플레이어 및 단말에 대해 추가로 개시한다.

Description

스트림 미디어에 기반하여 비트스트림 세그먼트를 선택하는 방법, 플레이어, 및 단말{METHOD, PLAYER, AND TERMINAL FOR SELECTING BITSTREAM SEGMENT BASED ON STREAM MEDIA}
본 출원은 2013년 1월 14일 중국특허청에 출원되고 발명의 명칭이 "METHOD, PLAYER, AND TERMINAL FOR SELECTING BITSTREAM SEGMENT BASED ON STREAMING MEDIA"인 중국특허출원 No. 201310012242.8에 대한 우선권을 주장하는 바이며, 상기 문헌은 본 명세서에 원용되어 병합된다.
본 발명은 통신 시스템에서 비디오 통신 기술에 관한 것이며, 특히 스트리밍 미디어에 기반하여 비트스트림 세그먼트를 선택하는 방법, 플레이어 및 단말에 관한 것이다.
스트리밍 미디어 기술은 애플리케이션 레이어에서 하이퍼텍스트 트랜스퍼 프로토콜(Hypertext transfer protocol: HTTP)을 사용하여 미디어 데이터 전송을 실행하는 기술이며, 이 기술은 미디어 프로그램이 다운로딩될 때 미디어 프로그램을 볼 수 있는 것을 실현할 수 있다. 단말의 다양성 및 사용자가 액세스하는 네트워크의 대역폭 변동에 적응하기 위해, 미디어 콘텐츠를 제공하는 서버상의 동일한 편의 미디어 콘텐츠에 대해 복수의 멀티스트림이 동시에 저장된다. 비트스트림의 오디오 및 비디오 코딩 파라미터, 비트 레이트, 또는 비디오 해상도는 상이하며, 각각의 비트스트림은 복수의 세그먼트로 분할되고, 각각의 세그먼트는 독립적으로 플레이될 수 있다. 단말은 네트워크 대역폭 정보에 따라 비트 레이트가 상이한 세그먼트를 요구하고 비트 레이트가 상이한 세그먼트는 단말 상에서 연속적으로 플레이될 수 있다.
종래기술에서, 서버는 미디어 콘텐츠의 미디어 프레젠테이션 디스크립션(media presentation description: MPD)을 단말에 제공하고, 각각의 비트스트림에 관한 정보, 예를 들어, 비트 레이트 및 시간이 설명되고, 각각의 세그먼트에 관한 정보, 예를 들어, 비트 레이트, URL(Uniform/Universal Resource Locator, uniform/universal resource locator)도 설명된다. MPD를 획득한 후, 단말은 MPD를 분석하여, 비트 레이트와 같이, 서버 내의 대응하는 미디어 콘텐츠에 의해 제공되는 비트스트림에 관한 정보를 획득하며, 단말은, 단말의 네트워크 대역폭에 따라, 현재의 대역폭보다 낮은 최대 비트 레이트를 가지는 미디어 프로그램 세그먼트를 요구한다. 방법의 실시는 간단하지만, 세그먼트 비트 레이트가 대역폭을 초과하지 않는 상황만이 방법의 실시 동안 고려된다. 이 방법을 사용하게 되면, 대역폭 자원을 완전하게 사용할 수 없을 뿐만 아니라 사용자에게 양호한 비디오 경험을 제공하지 못한다.
이 관점에서, 본 발명의 실시예는 스트리밍 미디어에 기반하여 비트스트림 세그먼트를 선택하는 방법, 플레이어 및 단말을 제공한다. 본 발명의 실시예의 스트리밍 미디어에 기반하여 비트스트림 세그먼트를 선택하는 방법, 장치 및 단말에 따르면, 대역폭이 완전하게 사용되고 버퍼 언더플로가 일어나지 않는 것이 확실할 때, 고품질 세그먼트의 상향-조정 품질/비트 레이트 및/또는 저품질 세그먼트의 하향-조정 품질/비트 레이트의 방식이 사용되며, 이에 따라 최종 선택된 비트스트림 세그먼트가 대역폭을 완전하게 사용하며, 세그먼트들의 품질이 더 밀접하게 되고, 비디오 플레이 동안 비디오 품질이 더 부드럽게 된다.
본 발명의 제1 관점의 실시예는 스트리밍 미디어에 기초하여 비트스트림 세그먼트를 선택하는 방법을 개시하며, 상기 방법은: 스트리밍 미디어 내의 제1 시간에 대응하는 적어도 2개의 세그먼트의 각각의 세그먼트의 세그먼트 정보를 획득하는 단계 - 상기 세그먼트 정보는 세그먼트 품질을 포함함 - ; 각각의 세그먼트의 세그먼트 품질 및 사전설정된 품질 임계값에 따라, 상기 제1 시간에 대응하는 적어도 2개의 세그먼트 중에서 최초의 세그먼트를 선택하는 단계; 및 상기 최초의 세그먼트의 다운로딩이 단말의 플레이 제외(play exception)를 야기하지 않는 것으로 판정되면, 상기 최초의 세그먼트를 선택된 비트스트림 세그먼트로 사용하는 단계를 포함한다.
본 발명의 제1 관점의 실시예에 따라 스트리밍 미디어에 기초하여 비트스트림 세그먼트를 선택하는 방법은 최종 선택된 비트스트림 세그먼트가 대역폭을 완전하게 사용하게 하며, 세그먼트들의 품질이 더 밀접하게 되고, 비디오 플레이 동안 비디오 품질이 더 부드럽게 된다.
본 발명의 제1 관점의 실시예의 가능한 실시 방식에서, 상기 최초의 세그먼트의 다운로딩이 단말의 플레이 제외를 야기하지 않는 것으로 판정하는 과정은: 단말의 버퍼 파라미터 정보를 획득하는 단계 - 상기 버퍼 파라미터 정보는 사전설정된 버퍼 임계값을 포함함 - ; 및 상기 최초의 세그먼트의 세그먼트 정보 및 상기 단말의 버퍼 파라미터 정보에 따라, 상기 최초의 세그먼트의 다운로딩이 단말의 이용 가능한 버퍼가 상기 사전설정된 버퍼 임계값보다 작게 되는 것을 야기하지 않는 것으로 판정되면, 상기 최초의 세그먼트의 다운로딩이 단말의 플레이 제외를 야기하지 않는 것으로 판정하는 단계를 포함한다.
전술한 실시예 중 어느 하나를 참조하여, 본 발명의 제1 관점의 실시예의 제2 가능한 실시 방식에서, 상기 각각의 세그먼트의 세그먼트 품질 및 사전설정된 품질 임계값에 따라, 상기 제1 시간에 대응하는 적어도 2개의 세그먼트 중에서 최초의 세그먼트를 선택하는 단계는: 상기 제1 시간에 대응하는 모든 세그먼트 중에서 세그먼트 품질과 품질 임계값 간의 차이의 절대값이 최소인 세그먼트를 선택하는 단계를 포함한다.
전술한 실시예 중 어느 하나를 참조하여, 본 발명의 제1 관점의 실시예의 제3 가능한 실시 방식에서, 상기 세그먼트 정보는 세그먼트 시간 길이 및 세그먼트 비트 레이트를 더 포함하고, 상기 단말의 버퍼 파라미터 정보는 버퍼 내에 있으면서 플레이되지 않았던 스트리밍 미디어의 시간 길이를 더 포함하며, 상기 최초의 세그먼트의 세그먼트 정보 및 상기 단말의 버퍼 파라미터 정보에 따라, 상기 최초의 세그먼트의 다운로딩이 단말의 이용 가능한 버퍼가 상기 사전설정된 버퍼 임계값보다 작게 되는 것을 야기하지 않는 것으로 판정하기 전에, 상기 방법은: 상기 단말이 스트리밍 미디어를 다운로딩하는 데 이용 가능한 네트워크 대역폭을 획득하는 단계를 더 포함하고, 상기 최초의 세그먼트의 세그먼트 정보 및 상기 단말의 버퍼 파라미터 정보에 따라, 상기 최초의 세그먼트의 다운로딩이 단말의 이용 가능한 버퍼가 상기 사전설정된 버퍼 임계값보다 작게 되는 것을 야기하지 않는 것으로 판정하는 과정은: 상기 최초의 세그먼트의 세그먼트 시간 길이와 세그먼트 비트 레이트 및 상기 이용 가능한 네트워크 대역폭에 따라, 상기 최초의 세그먼트의 다운로딩을 완료하기 위한 시간 길이를 판정하는 단계를 포함하며, 여기서 상기 단말의 버퍼 내에 있으면서 플레이되지 않았던 상기 스트리밍 미디어의 시간 길이와 상기 최초의 세그먼트의 세그먼트 시간 길이의 합이 상기 최초의 세그먼트의 다운로딩을 완료하기 위한 시간 길이와 상기 사전설정된 버퍼 임계값의 합보다 작지 않으면, 상기 최초의 세그먼트의 다운로딩이 단말의 이용 가능한 버퍼가 상기 사전설정된 버퍼 임계값보다 작게 되는 것을 야기하지 않는다.
전술한 실시예 중 어느 하나를 참조하여, 본 발명의 제1 관점의 실시예의 제4 가능한 실시 방식에서, 상기 단말의 버퍼 파라미터 정보를 획득하는 단계 이후에, 상기 방법은: 상기 최초의 세그먼트의 세그먼트 정보 및 상기 단말의 버퍼 파라미터 정보에 따라, 상기 최초의 세그먼트의 다운로딩이 단말의 이용 가능한 버퍼가 상기 사전설정된 버퍼 임계값보다 작게 되는 것을 야기하는 것으로 판정되면, 상기 제1 시간에 대응하는 모든 세그먼트 중에서 세그먼트 품질이 상기 최초의 세그먼트의 세그먼트 품질보다 낮은 제2 세그먼트를 순차적으로 선택하고, 상기 제2 세그먼트를 갱신된 최초의 세그먼트로 사용하고, 상기 갱신된 최초의 세그먼트의 다운로딩이 단말의 이용 가능한 버퍼가 상기 사전설정된 버퍼 임계값보다 작게 되는 것을 야기하지 않는 것으로 판정될 때까지 위의 단계들을 반복하며, 상기 갱신된 최초의 세그먼트를 선택된 비트스트림 세그먼트로 사용하는 단계를 포함한다.
전술한 실시예 중 어느 하나를 참조하여, 본 발명의 제1 관점의 실시예의 제5 가능한 실시 방식에서, 상기 사전설정된 품질 임계값의 값은 사전설정될 수 있거나; 또는 상기 사전설정된 품질 임계값의 값은 상기 단말에 의해 다운로딩되었던 세그먼트의 세그먼트 품질에 따라 가중 계산에 의해 획득되거나; 또는 상기 사전설정된 품질 임계값의 값은 상기 단말에 의해 다운로딩되었던 세그먼트의 세그먼트 품질 및 제1 시간에 대응하는 모든 세그먼트의 세그먼트 품질에 따라 가중 계산에 의해 획득된다.
본 발명의 제2 관점의 실시예는 스트리밍 미디어에 기초하여 비트스트림 세그먼트를 선택하는 방법을 개시하며, 상기 방법은: 상기 스트리밍 미디어의 제1 플레이 시간에 대응하는 적어도 2개의 비트스트림 세그먼트의 세그먼트 정보 및 제2 플레이 시간에 대응하는 적어도 2개의 비트스트림 세그먼트의 세그먼트 정보를 개별로 획득하는 단계 - 상기 제1 플레이 시간에서의 비트스트림 세그먼트의 세그먼트 정보 및 상기 제2 플레이 시간에서의 비트스트림 세그먼트의 세그먼트 정보는 세그먼트 품질을 포함함 - ; 상기 제1 플레이 시간에 대응하는 비트스트림 세그먼트 중에서 제1 비트스트림 세그먼트를 선택하고 상기 제2 플레이 시간에 대응하는 비트스트림 세그먼트 중에서 제2 비트스트림 세그먼트를 선택함으로써 제1 비트스트림 세그먼트 그룹을 형성하는 단계 - 상기 제1 비트스트림 세그먼트 그룹은 단말 상에서 연속적으로 플레이될 수 있는 비트스트림 세그먼트 그룹임 - ; 상기 제1 비트스트림 세그먼트 그룹 내에 있으면서 선택되지 않았던 비트스트림 세그먼트 중에서 최소 세그먼트 품질을 가지는 비트스트림 세그먼트를 선택하고, 세그먼트 품질의 오름차순으로 상기 제1 플레이 시간에서 상기 최소 세그먼트 품질을 가지는 비트스트림 세그먼트에 대응하는 모든 비트스트림 중에서, 세그먼트 품질이 상기 최소 세그먼트 품질을 가지는 비트스트림 세그먼트의 세그먼트 품질보다 높은 제3 비트스트림 세그먼트를 선택하고, 상기 최소 세그먼트 품질을 가지는 비트스트림 세그먼트를 상기 제3 비트스트림 세그먼트로 대체하는 방식으로 상기 제1 비트스트림 세그먼트 그룹을 갱신하며, 상기 갱신된 제1 코드 스팀 세그먼트 그룹이 단말 상에서 연속적으로 플레이될 수 있는 비트스트림 세그먼트 그룹이고 상기 제1 플레이 시간에서의 모든 비트스트림 세그먼트 내의 최대 세그먼트 품질을 가지는 비트스트림 세그먼트가 상기 제3 비트스트림 세그먼트가 아니면, 상기 갱신된 제1 비트스트림 세그먼트 그룹이 단말 상에서 연속적으로 플레이될 수 있는 비트스트림 세그먼트 그룹이거나 상기 제3 비트스트림 세그먼트가 상기 제1 플레이 시간에서의 모든 비트스트림 세그먼트 중 최대 세그먼트 품질을 가지는 비트스트림 세그먼트일 때까지 이 단계를 반복하는 단계; 및 상기 갱신된 제1 비트스트림 세그먼트 그룹이 단말 상에서 연속적으로 플레이될 수 없는 비트스트림 세그먼트 그룹이면, 상기 갱신된 제1 비트스트림 세그먼트 그룹 중에서, 연속적인 플레이를 수행할 수 없는 시간 이전에 있는 세그먼트 또는 연속적인 플레이를 수행할 수 없는 시간에서의 세그먼트 중 최대 세그먼트 품질을 가지는 비트스트림 세그먼트를 선택하며, 상기 갱신된 제1 비트스트림 세그먼트 그룹 중 최대 세그먼트 품질을 가지는 비트스트림 세그먼트가 상기 제3 비트스트림 세그먼트이면, 세그먼트 품질의 내림차순으로 상기 제1 플레이 시간 및 상기 제2 플레이 시간에서 상기 제3 비트스트림 세그먼트에 대응하는 모든 비트스트림 중에서, 세그먼트 품질이 상기 제3 비트스트림 세그먼트의 세그먼트 품질보다 낮은 비트스트림 세그먼트를 상기 제1 플레이 시간 또는 제2 플레이 시간에서 선택된 비트스트림 세그먼트로 선택하며, 그리고 상기 제1 플레이 시간 또는 상기 제2 플레이 시간에 대응하는 선택된 비트스트림 세그먼트를 찾을 때까지 전술한 단계들을 반복하고, 상기 제1 플레이 시간에 대응하는 선택된 비트스트림 세그먼트 및 상기 제2 플레이 시간에 대응하는 선택된 비트스트림 세그먼트에 따라 제2 비트스트림 세그먼트 그룹을 획득하는 단계를 포함한다.
본 발명의 제2 관점의 실시예에 따라 스트리밍 미디어에 기초하여 비트스트림 세그먼트를 선택하는 방법은 최종 선택된 비트스트림 세그먼트가 대역폭을 완전하게 사용하게 하며, 세그먼트들의 품질이 더 밀접하게 되고, 비디오 플레이 동안 비디오 품질이 더 부드럽게 된다.
본 발명의 제2 관점의 실시예의 가능한 실시 방식에서, 상기 세그먼트 정보는 세그먼트 시간 길이 및 세그먼트 비트 레이트를 포함하고, 상기 스트리밍 미디어의 제1 플레이 시간에 대응하는 적어도 2개의 비트스트림 세그먼트의 세그먼트 정보 및 제2 플레이 시간에 대응하는 적어도 2개의 비트스트림 세그먼트의 세그먼트 정보를 개별로 획득하는 단계 이후에, 상기 방법은: 단말의 버퍼 파라미터 정보를 획득하는 단계 - 상기 단말의 버퍼 파라미터 정보는 버퍼 내에 있으면서 플레이되지 않았던 스트리밍 미디어의 시간 길이를 포함함 - ; 및 상기 단말이 스트리밍 미디어를 다운로딩하기 위해 이용 가능한 네트워크 대역폭을 획득하는 단계를 더 포함하며, 상기 갱신된 제1 비트스트림 세그먼트 그룹이 단말 상에서 연속적으로 플레이될 수 있는 비트스트림 세그먼트 그룹인 것으로 판정하는 과정은: 상기 제1 비트스트림 세그먼트 그룹 내의 상기 제1 비트스트림 세그먼트의 세그먼트 시간 길이 및 세그먼트 비트 레이트 및 상기 이용 가능한 네트워크 대역폭에 따라, 상기 제1 비트스트림 세그먼트의 다운로딩을 완료하기 위한 시간 길이를 판정하는 단계; 및 상기 제1 비트스트림 세그먼트 그룹 내의 상기 제2 비트스트림 세그먼트의 세그먼트 시간 길이와 세그먼트 비트 레이트 및 상기 이용 가능한 네트워크 대역폭에 따라, 상기 제2 비트스트림 세그먼트의 다운로딩을 완료하기 위한 시간 길이를 판정하는 단계를 포함하고, 여기서 상기 단말의 버퍼 내에 있으면서 플레이되지 않았던 스트리밍 미디어의 시간 길이와 제1 세그먼트의 세그먼트 시간 길이의 합이 상기 제1 비트스트림 세그먼트의 다운로딩을 완료하기 위한 시간 길이와 상기 사전설정된 버퍼 임계값의 합보다 작고, 상기 단말의 버퍼 내에 있으면서 플레이되지 않았던 스트리밍 미디어의 시간 길이, 상기 제1 세그먼트의 세그먼트 시간 길이, 및 상기 제2 세그먼트의 세그먼트 시간 길이의 합이 상기 제1 비트스트림 세그먼트의 다운로딩을 완료하기 위한 시간 길이, 상기 제2 비트스트림 세그먼트의 다운로딩을 완료하기 위한 시간 길이, 및 상기 사전설정된 버퍼 임계값의 합보다 작으면, 상기 제1 비트스트림 세그먼트 그룹은 상기 단말 상에서 연속적으로 플레이될 수 있는 비트스트림 세그먼트 그룹이다.
전술한 실시예 중 어느 하나를 참조하여, 본 발명의 제2 관점의 실시예의 제2 가능한 실시 방식에서, 상기 갱신된 제1 비트스트림 세그먼트 그룹이 단말 상에서 연속적으로 플레이될 수 없는 비트스트림 세그먼트 그룹이면, 상기 방법은: 연속적인 플레이가 수행될 수 없는 시간 이전에 있으면서 상기 갱신된 제1 비트스트림 세그먼트 그룹 내의 세그먼트 또는 연속적인 플레이가 수행될 수 없는 시간에서의 세그먼트 중 최대 세그먼트 품질을 가지는 비트스트림 세그먼트가 상기 제3 비트스트림 세그먼트가 아니면, 세그먼트 품질의 내림차순으로 상기 제2 플레이 시간에 대응하는 모든 비트스트림 세그먼트 중에서, 세그먼트 품질이 상기 갱신된 제1 비트스트림 세그먼트 그룹 내의 상기 제2 플레이 시간에 대응하는 비트스트림 세그먼트의 세그먼트 품질보다 낮은 제4 비트스트림 세그먼트를 순차적으로 선택하며, 상기 갱신된 제1 비트스트림 세그먼트 그룹 내의 상기 제2 플레이 시간에 대응하는 비트스트림 세그먼트를 상기 제4 비트스트림 세그먼트로 대체하는 방식으로 상기 갱신된 제1 비트스트림 세그먼트 그룹을 갱신하며; 상기 갱신된 제1 비트스트림 세그먼트 그룹이 단말 상에서 연속적으로 플레이될 수 없는 비트스트림 세그먼트 그룹이면, 상기 갱신된 제1 비트스트림 세그먼트 그룹 내에 있으면서 선택되지 않았던 비트스트림 세그먼트 중에서 최소 세그먼트 품질을 가지는 비트스트림 세그먼트를 선택하고, 세그먼트 품질의 내림차순으로 상기 제1 플레이 시간 또는 상기 제2 플레이 시간에서 상기 최소 세그먼트 품질을 가지는 비트스트림 세그먼트에 대응하는 모든 비트스트림 중에서, 세그먼트 품질이 상기 최소 세그먼트 품질을 가지는 비트스트림 세그먼트의 세그먼트 품질보다 높은 비트스트림 세그먼트를 갱신된 제3 비트스트림 세그먼트로 선택하며, 상기 갱신된 제3 비트스트림 세그먼트에 따라 상기 제1 비트스트림 세그먼트 그룹을 갱신하고, 상기 갱신된 제1 비트스트림 세그먼트 그룹이 단말 상에서 연속적으로 플레이될 수 없는 비트스트림 세그먼트 그룹일 때까지 또는 상기 갱신된 제3 비트스트림 세그먼트가 상기 제1 플레이 시간 또는 상기 제2 플레이 시간에서 상기 갱신된 제3 비트스트림 세그먼트에 대응하는 모든 비트스트림 중에서 최대 세그먼트 품질을 가지는 비트스트림 세그먼트일 때까지 이 단계를 반복하는 단계; 및 상기 갱신된 제3 비트스트림 세그먼트가 상기 갱신된 제1 비트스트림 세그먼트 그룹 내의 최대 세그먼트 품질을 가지는 비트스트림 세그먼트일 때까지, 또는 상기 제4 비트스트림 세그먼트가 상기 제1 플레이 시간 또는 상기 제2 플레이 시간에서 상기 제4 비트스트림 세그먼트에 대응하는 모든 비트스트림 중에서 최소 세그먼트 품질을 가지는 비트스트림 세그먼트일 때까지 위의 단계들을 반복하는 단계를 더 포함한다.
전술한 실시예 중 어느 하나를 참조하여, 본 발명의 제2 관점의 실시예의 제3 가능한 실시 방식에서, 상기 제1 플레이 시간에 대응하는 선택된 비트스트림 세그먼트 및 상기 제2 플레이 시간에 대응하는 선택된 비트스트림 세그먼트에 따라 제2 비트스트림 세그먼트 그룹을 획득하는 단계 이후에, 상기 방법은: 상기 제2 비트스트림 세그먼트 그룹에 따라, 상기 제2 비트스트림 세그먼트 그룹 내의 제1 플레이 시간에 대응하는 비트스트림 세그먼트의 세그먼트 품질을 획득하는 단계; 상기 제2 비트스트림 세그먼트 그룹 내의 제1 플레이 시간에 대응하는 비트스트림 세그먼트의 세그먼트 품질이 사전설정된 품질 임계값보다 높으면, 상기 제1 플레이 시간에 대응하는 모든 비트스트림 세그먼트 중에서, 세그먼트 품질이 상기 제1 플레이 시간에 대응하는 선택된 비트스트림 세그먼트의 세그먼트 품질보다 낮은 제5 비트스트림 세그먼트를 순차적으로 선택하고, 상기 제5 비트스트림 세그먼트를 상기 제1 플레이 시간에 대응하는 비트스트림 세그먼트로서 사용함으로써 상기 제2 비트스트림 세그먼트 그룹을 갱신하며, 상기 제2 비트스트림 세그먼트 그룹 내의 상기 제1 플레이 시간에 대응하는 비트스트림 세그먼트의 세그먼트 품질이 사전설정된 품질 임계값보다 높지 않을 때까지 이 단계를 반복하는 단계; 및 상기 갱신된 제2 비트스트림 세그먼트 그룹을 출력하는 단계를 더 포함한다.
전술한 실시예 중 어느 하나를 참조하여, 본 발명의 제2 관점의 실시예의 제4 가능한 실시 방식에서, 상기 품질 임계값은 사전설정될 수 있거나; 또는 상기 품질 임계값은 상기 단말에 의해 다운로딩되었던 세그먼트의 세그먼트 품질에 따라 가중 계산에 의해 획득되거나; 또는 상기 품질 임계값은 상기 단말에 의해 다운로딩되었던 세그먼트의 세그먼트 품질 및 제1 시간에 대응하는 모든 세그먼트의 세그먼트 품질에 따라 가중 계산에 의해 획득된다.
본 발명의 제3 관점의 실시예는 스트리밍 미디어에 기초하여 비트스트림 세그먼트를 선택하는 플레이어를 개시하며, 상기 플레이어는: 스트리밍 미디어 내의 제1 시간에 대응하는 적어도 2개의 세그먼트의 각각의 세그먼트의 세그먼트 정보를 획득하도록 구성되어 있는 수신 모듈 - 상기 세그먼트 정보는 세그먼트 품질을 포함함 - ; 상기 수신 모듈에 의해 획득된 각각의 세그먼트의 세그먼트 품질 및 사전설정된 품질 임계값에 따라, 상기 제1 시간에 대응하는 적어도 2개의 세그먼트 중에서 최초의 세그먼트를 선택하도록 구성되어 있는 최초의 세그먼트 선택 모듈; 및 상기 최초의 세그먼트의 다운로딩이 단말의 플레이 제외를 야기하지 않는 것으로 판정되면, 상기 최초의 세그먼트 선택 모듈에 의해 선택된 최초의 세그먼트를 선택된 비트스트림 세그먼트로 사용하도록 구성되어 있는 세그먼트 선택 모듈을 포함한다.
본 발명의 제3 관점의 실시예에 따라 스트리밍 미디어에 기초하여 비트스트림 세그먼트를 선택하는 플레이어는 최종 선택된 비트스트림 세그먼트가 대역폭을 완전하게 사용하게 하며, 세그먼트들의 품질이 더 밀접하게 되고, 비디오 플레이 동안 비디오 품질이 더 부드럽게 된다.
본 발명의 제3 관점의 실시예의 가능한 실시 방식에서, 상기 수신 모듈은 단말의 버퍼 파라미터 정보를 획득하고 - 상기 버퍼 파라미터 정보는 사전설정된 버퍼 임계값을 포함함 - ; 그리고 상기 수신 모듈에 의해 수신된 최초의 세그먼트의 세그먼트 정보 및 상기 단말의 버퍼 파라미터 정보에 따라, 상기 최초의 세그먼트의 다운로딩이 단말의 이용 가능한 버퍼가 상기 사전설정된 버퍼 임계값보다 작게 되는 것을 야기하지 않는 것으로 판정되면, 상기 최초의 세그먼트의 다운로딩이 단말의 플레이 제외를 야기하지 않는 것으로 판정하도록 추가로 구성되어 있다.
전술한 실시예 중 어느 하나를 참조하여, 본 발명의 제3 관점의 실시예의 제2 가능한 실시 방식에서, 상기 최초의 세그먼트 선택 모듈은 구체적으로 상기 제1 시간에 대응하는 모든 세그먼트 중에서 세그먼트 품질과 품질 임계값 간의 차이의 절대값이 최소인 세그먼트를 선택하도록 구성되어 있다.
전술한 실시예 중 어느 하나를 참조하여, 본 발명의 제3 관점의 실시예의 제3 가능한 실시 방식에서, 상기 세그먼트 정보는 세그먼트 시간 길이 및 세그먼트 비트 레이트를 더 포함하고, 상기 단말의 버퍼 파라미터 정보는 버퍼 내에 있으면서 플레이되지 않았던 스트리밍 미디어의 시간 길이를 더 포함하며, 상기 수신 모듈은 상기 단말이 스트리밍 미디어를 다운로딩하는 데 이용 가능한 네트워크 대역폭을 획득하도록 추가로 구성되어 있으며, 상기 세그먼트 선택 모듈은 구체적으로 상기 최초의 세그먼트의 세그먼트 시간 길이와 세그먼트 비트 레이트 및 상기 이용 가능한 네트워크 대역폭에 따라, 상기 최초의 세그먼트의 다운로딩을 완료하기 위한 시간 길이를 판정하며, 상기 단말의 버퍼 내에 있으면서 플레이되지 않았던 상기 스트리밍 미디어의 시간 길이와 상기 최초의 세그먼트의 세그먼트 시간 길이의 합이 상기 최초의 세그먼트의 다운로딩을 완료하기 위한 시간 길이와 상기 사전설정된 버퍼 임계값의 합보다 작지 않으면, 상기 최초의 세그먼트의 다운로딩이 단말의 이용 가능한 버퍼가 상기 사전설정된 버퍼 임계값보다 작게 되는 것을 야기하지 않는 것으로 간주하고, 상기 최초의 세그먼트를 선택된 비트스트림 세그먼트로 사용하도록 구성되어 있다.
전술한 실시예 중 어느 하나를 참조하여, 본 발명의 제3 관점의 실시예의 제4 가능한 실시 방식에서, 상기 최초의 세그먼트의 세그먼트 정보 및 상기 단말의 버퍼 파라미터 정보에 따라, 상기 최초의 세그먼트의 다운로딩이 단말의 이용 가능한 버퍼가 상기 사전설정된 버퍼 임계값보다 작게 되는 것을 야기하는 것으로 판정되면, 상기 세그먼트 선택 모듈은 구체적으로 세그먼트 품질의 내림 차순으로 상기 제1 시간에 대응하는 모든 세그먼트 중에서 세그먼트 품질이 상기 최초의 세그먼트의 세그먼트 품질보다 낮은 제2 세그먼트를 선택하고, 상기 제2 세그먼트를 갱신된 최초의 세그먼트로 사용하고, 상기 갱신된 최초의 세그먼트의 다운로딩이 단말의 이용 가능한 버퍼가 상기 사전설정된 버퍼 임계값보다 작게 되는 것을 야기하지 않는 것으로 판정될 때까지 위의 단계들을 반복하며, 상기 갱신된 최초의 세그먼트를 선택된 비트스트림 세그먼트로 사용하도록 추가로 구성되어 있다.
본 발명의 제4 관점의 실시예는 스트리밍 미디어에 기초하여 비트스트림 세그먼트를 선택하는 단말을 개시하며, 상기 단말은: 수신기 및 프로세서를 포함하며, 상기 수신기는 상기 스트리밍 미디어의 제1 플레이 시간에 대응하는 적어도 2개의 세그먼트의 각각의 세그먼트의 세그먼트 정보를 획득하도록 구성되어 있으며, 상기 세그먼트 정보는 세그먼트 품질을 포함하며; 상기 프로세서는 상기 수신기에 의해 획득된 각각의 세그먼트의 세그먼트 품질 및 사전설정된 품질 임계값에 따라, 제1 시간에 대응하는 적어도 2개의 세그먼트 중에서 최초의 세그먼트를 선택하고, 상기 최초의 세그먼트의 다운로딩이 단말의 플레이 제외를 야기하지 않는 것으로 판정되면, 상기 프로세서는 상기 최초의 세그먼트 선택 모듈에 의해 획득된 최초의 세그먼트를 선택된 비트스트림 세그먼트로 사용하도록 추가로 구성되어 있다.
본 발명의 제4 관점의 실시예에 따라 스트리밍 미디어에 기초하여 비트스트림 세그먼트를 선택하는 방법은 최종 선택된 비트스트림 세그먼트가 대역폭을 완전하게 사용하게 하며, 세그먼트들의 품질이 더 밀접하게 되고, 비디오 플레이 동안 비디오 품질이 더 부드럽게 된다.
본 발명의 제4 관점의 실시예의 가능한 실시 방식에서, 상기 수신기는 단말의 버퍼 파라미터 정보를 획득하도록 추가로 구성되어 있으며, 상기 버퍼 파라미터 정보는 사전설정된 버퍼 임계값을 포함하며, 상기 프로세서는 상기 수신기에 의해 수신된 최초의 세그먼트의 세그먼트 정보 값 및 상기 단말의 버퍼 파라미터 정보에 따라, 상기 최초의 세그먼트의 다운로딩이 상기 단말의 이용 가능한 버퍼가 상기 사전설정된 버퍼 임계값보다 작게 되는 것을 야기하지 않는 것으로 판정되면, 상기 최초의 세그먼트의 다운로딩이 단말의 플레이 제외를 야기하지 않는 것으로 판정하도록 추가로 구성되어 있다.
전술한 실시예 중 어느 하나를 참조하여, 본 발명의 제4 관점의 실시예의 제2 가능한 실시 방식에서, 상기 세그먼트 정보는 세그먼트 시간 길이 및 세그먼트 비트 레이트를 더 포함하고, 상기 단말의 버퍼 파라미터 정보는 버퍼 내에 있으면서 플레이되지 않았던 스트리밍 미디어의 시간 길이를 더 포함하며, 상기 수신기는 상기 단말이 스트리밍 미디어를 다운로딩하는 데 이용 가능한 네트워크 대역폭을 획득하도록 추가로 구성되어 있으며, 상기 프로세서는 구체적으로 상기 제1 시간에 대응하는 모든 세그먼트 중에서 세그먼트 품질과 품질 임계값 간의 차이의 절대값이 최소인 세그먼트를 선택하고, 상기 최초의 세그먼트의 세그먼트 시간 길이와 세그먼트 비트 레이트 및 상기 이용 가능한 네트워크 대역폭에 따라, 상기 최초의 세그먼트의 다운로딩을 완료하기 위한 시간 길이를 판정하며; 상기 단말의 버퍼 내에 있으면서 플레이되지 않았던 스트리밍 미디어의 시간 길이와 상기 최초의 세그먼트의 세그먼트 시간 길이의 합이 상기 최초의 세그먼트의 다운로딩을 완료하기 위한 시간 길이와 상기 사전설정된 버퍼 임계값의 합보다 작지 않은 것으로 판정하고, 상기 최초의 세그먼트의 다운로딩이 상기 단말의 이용 가능한 버퍼가 상기 사전설정된 버퍼 임계값보다 작게 되는 것을 야기하지 않는 것으로 간주하며, 상기 최초의 세그먼트가 선택된 비트스트림 세그먼트로서 사용하도록 추가로 구성되어 있다.
전술한 실시예 중 어느 하나를 참조하여, 본 발명의 제4 관점의 실시예의 제3 가능한 실시 방식에서, 상기 프로세서는 상기 최초의 세그먼트의 세그먼트 정보 및 상기 단말의 버퍼 파라미터 정보에 따라, 상기 최초의 세그먼트의 다운로딩이 상기 단말의 이용 가능한 버퍼가 상기 사전설정된 버퍼 임계값보다 작게 되는 것을 야기하는 것으로 판정되면, 세그먼트 품질의 내림 차순으로 상기 제1 시간에 대응하는 모든 세그먼트 중에서 세그먼트 품질이 상기 최초의 세그먼트의 세그먼트 품질보다 낮은 제2 세그먼트를 선택하고, 상기 제2 세그먼트를 갱신된 최초의 세그먼트로 사용하고, 상기 갱신된 최초의 세그먼트의 다운로딩이 단말의 이용 가능한 버퍼가 상기 사전설정된 버퍼 임계값보다 작게 되는 것을 야기하지 않는 것으로 판정될 때까지 위의 단계들을 반복하며, 상기 갱신된 최초의 세그먼트를 선택된 비트스트림 세그먼트로 사용하도록 추가로 구성되어 있다.
본 발명의 실시예 또는 종래기술의 기술적 솔루션을 더 명확하게 설명하기 위해, 이하에서는 본 발명의 실시예를 설명하는 데 필요한 첨부된 도면에 대해 간략하게 설명한다. 당연히, 이하의 실시예의 첨부된 도면은 본 발명의 일부의 실시예에 지나지 않으며, 당업자라면 창조적 노력 없이 첨부된 도면으로부터 다른 도면을 도출해낼 수 있을 것이다.
도 1은 본 발명의 제1 관점의 실시예에 따라 스트리밍 미디어에 기초하여 비트스트림 세그먼트를 선택하는 방법에 대한 흐름도이다.
도 2는 본 발명의 제1 관점의 실시예에 따라 스트리밍 미디어에 기초하여 비트스트림 세그먼트를 선택하는 방법에 대한 다른 흐름도이다.
도 3은 본 발명의 제2 관점의 실시예에 따라 스트리밍 미디어에 기초하여 비트스트림 세그먼트를 선택하는 방법에 대한 흐름도이다.
도 4는 본 발명의 제3 관점의 실시예에 따라 스트리밍 미디어에 기초하여 비트스트림 세그먼트를 선택하는 플레이어에 대한 개략적인 구조도이다.
도 5는 본 발명의 제4 관점의 실시예에 따라 스트리밍 미디어에 기초하여 비트스트림 세그먼트를 선택하는 단말에 대한 개략적인 구조도이다.
이하에서는 본 발명의 실시예에 첨부된 도면을 참조하여 본 발명의 실시예의 기술적 솔루션에 대해 명확하고 완전하게 설명한다. 당연히, 설명된 실시예는 본 발명의 모든 실시예가 아닌 일부에 지나지 않는다. 당업자가 창조적 노력 없이 본 발명의 실시예에 기초하여 획득하는 모든 다른 실시예는 본 발명의 보호 범위 내에 있게 된다.
도 1을 참조하여, 이하에서는 스트리밍 미디어에 기반하여 비트스트림 세그먼트를 선택하는 방법에 대해 설명한다. 도 1에 도시된 바와 같이, 상기 방법은 이하를 포함한다:
S11: 스트리밍 미디어 내의 제1 시간에 대응하는 적어도 2개의 세그먼트의 각각의 세그먼트의 세그먼트 정보를 획득하며, 상기 세그먼트 정보는 세그먼트 품질을 포함한다.
S12: 각각의 세그먼트의 세그먼트 품질 및 사전설정된 품질 임계값에 따라, 상기 제1 시간에 대응하는 적어도 2개의 세그먼트 중에서 최초의 세그먼트를 선택한다.
S13: 상기 최초의 세그먼트의 다운로딩이 단말의 플레이 제외(play exception)를 야기하지 않는 것으로 판정되면, 상기 최초의 세그먼트를 선택된 비트스트림 세그먼트로 사용한다.
본 발명의 본 실시예에 따라 스트리밍 미디어에 기초하여 비트스트림 세그먼트를 선택하는 방법은 최종 선택된 비트스트림 세그먼트가 대역폭을 완전하게 사용하게 하며, 세그먼트들의 품질이 더 밀접하게 되고, 비디오 플레이 동안 비디오 품질이 더 부드럽게 된다.
도 2를 참조하여, 이하에서는 스트리밍 미디어에 기반하여 비트스트림 세그먼트를 선택하는 방법에 대해 설명한다. 도 2에 도시된 바와 같이, 상기 방법은 이하를 포함한다:
S21: 세그먼트 정보를 획득한다.
본 발명의 실시예에서, 단말은 미디어 프레젠테이션 디스크립션(media presentation description: MPD) 정보를 분석하는 방식으로, 프로그램의 비트스트림의 세그먼트 Fij에 관한 정보, 세그먼트의 지속시간 정보 Dij, 세그먼트의 비트 레이트 정보 Rij, 및 세그먼트의 품질 정보 Qij를 획득하며, 여기서 Fij는 비트스트림 i의 j번째 세그먼트를 나타내고, Dij는 세그먼트 Fij의 플레이 시간 길이를 나타내고, Rij는 세그먼트의 비트 레이트 정보이고, Qij는 세그먼트의 품질 정보이며, 정보는 피크 신호대잡음비(Peak Signal to Noise Ratio: PSNR) 값, 구조적 유사성(Structural SIMilarity: SIMM), 평균 여론 스코어(MeanOpinionScore: MOS), 또는 다른 주관적 및 객관적 품질 데이터 또는 품질 레벨 정보일 수 있다. 이하에서 설명하는 세그먼트 품질의 값은 이러한 품질 데이터 및 품질 레벨 정보의 값을 구체적으로 말하는 것이 아니라, 이러한 품질 데이터 또는 품질 레벨 정보로 표현되는 세그먼트 품질의 결과를 말하는 것이며, i 및 j는 0보다 큰 정수이다. 획득된 세그먼트 정보를 명확하게 설명하기 위해, 한 세트의 데이터를 제공하며, 이하의 표에 상세하게 나와 있다. 표에서, 비트 레이트의 단위는 (kbps)이며, PSNR의 단위는 (db)이며, 세그먼트 지속시간의 단위는 (s)이며, 여기서 i= 1, 2, 3, 및 j=1, 2, 3이다.
시간 t1에서의 세그먼트
(Fi1)
시간 t2에서의 세그먼트
(Fi2)
시간 t3에서의 세그먼트
(Fi3)
비트 레이트 PSNR 세그먼트 지속시간 비트 레이트 PSNR 세그먼트 지속시간 비트 레이트 PSNR 세그먼트 지속시간
S1 2000 50 2 1900 55 3 2300 40 2.5
S2 1000 40 2 950 49 3 1200 32 2.5
S3 500 30 2 490 39 3 700 27 2.5
본 표에 열거된 데이터는 본 발명의 본 실시예를 쉽게 이해할 수 있도록 주어진 예시에 불과하며, 본 발명의 본 실시예에 대한 제한으로서 파악해서는 안 된다. 비트스트림 세그먼트의 비트 레이트, 품질, 및 지속시간은 다른 값 범위를 가질 수 있다. 동일한 시간에서의 세그먼트는 또한 2개의 세그먼트 및 4개의 세그먼트와 같은 방식으로 취해질 수 있다. 본 발명의 본 실시예에서, 세그먼트 정보 및 세그먼트 정보 내용을 획득하는 방식은 당업자가 창조적 노력 없이 실시할 수 있는 다른 방식을 더 포함한다.
본 발명의 실시예에서, 세그먼트 품질은 MPD로부터 획득될 수 있거나, 서버에 의해 송신된 미디어 데이터로부터 획득될 수 있거나, 당업자가 생각해낼 수 있는 다른 통신 또는 데이터 전송 방식으로 서버에 의해 단말에 송신될 수 있다.
S22: 미디어 버퍼 정보를 획득한다.
본 발명의 실시예에서, 버퍼 내에 있으면서 플레이되지 않았던 미디어 콘텐츠를 스트리밍하는 시간 길이 Tbuf는 미디어 버퍼를 검출하는 방식으로 획득될 수 있다. 예에서, 위의 표에서의 데이터를 참조하면, Tbuf=6s이다. 본 발명의 실시예에서, 버퍼 정보는 단말에 의해 서버에 송신될 수 있거나, 서버 측에서의 측정에 의해 획득될 수 있다. 서버 측은 일반적으로 버퍼 정보를 획득할 필요가 없으며, 동작은 일반적으로 단말 측에서 완료되는 것에 유의해야 한다. 서버 측은 본 발명의 본 실시예에 기초하여 비트스트림 세그먼트를 선택하는 방법이 서버 측에서 사용될 때만 버퍼 정보를 획득해야 한다.
미디어 버퍼 정보의 표현 방식은 단말의 버퍼 내에 있으면서 플레이되지 않았던 미디어 콘텐츠를 스트리밍하는 시간 길이를 사용하는 표현일 수 있거나 단말의 버퍼 내에 저장될 수 있는 데이터 용량을 사용하는 표현 방식일 수 있다. 시간 길이를 사용함으로써 버퍼 정보를 표현하는 방식은 본 명세서에서는 본 발명의 본 실시예를 쉽게 이해하도록 제공된 예에 불과하다. 본 발명의 실시예에서, 버퍼 오버플로란 "버퍼가 임계값보다 낮다"는 것을 말하며, 여기서 임계값은 버퍼에 저장될 수 있는 데이터의 용량, 예를 들어, 0 또는 1일 수 있거나, 세그먼트 지속시간일 수 있거나, 다른 사전설정된 값, 예를 들어, 10S일 수 있다. 비트스트림 세그먼트의 다운로딩이 단말의 버퍼 오버플로를 야기하는지가 판정될 때, 단말의 버퍼에 저장될 수 있는 데이터의 용량과 같이, 당업자가 창조적 노력 없이 실시할 수 있는 다른 방식도 사용될 수 있다.
S23: 네트워크 대역폭을 획득한다.
단말이 미디어 데이터를 다운로딩하는 이용 가능한 대역폭이 획득된다. 본 발명의 실시예에서, 위의 표에 주어진 예를 참조하면, 이용 가능한 대역폭 BW (Bandwidth) =1000kbps이다.
이용 가능한 대역폭의 값을 획득하는 방식은 단말 자체에 의한 측정 또는 추정일 수 있거나, 서버에 의한 측정 또는 추정 후 이용 가능한 대역폭의 값을 단말에 송신하는 것일 수 있다.
S24: 품질 임계값을 판정한다.
품질 임계값은 사전설정된 값, 예를 들어, 품질 임계값 QTH=40일 수 있거나; 품질 임계값은 동적으로 계산된 값, 예를 들어, 다운로딩되었던 세그먼트의 품질을 사용하여 계산을 수행함으로써 획득되는 값일 수 있거나(품질 임계값은 다운로딩되었던 세그먼트의 품질의 평균을 계산하는 방식으로 획득될 수 있다), 다운로딩되었던 세그먼트의 품질 또는 다운로딩될 세그먼트의 품질을 사용하여 계산을 수행함으로써 획득되는 값일 수 있다(다운로딩되었던 세그먼트의 품질 및 다운로딩될 세그먼트의 품질에 상이한 가중값들이 각각 할당될 수 있거나, 품질 임계값은 가중 계산의 방식으로 획득된다). 품질 임계값을 계산하는 전술한 방식은 본 발명의 본 실시예를 쉽게 이해하도록 주어진 예에 불과하며, 본 발명의 본 실시예에 대한 제안으로 고려되어서는 안 된다는 것에 유의해야 한다. 품질 임계값을 획득하는 방식들은 당업자가 창조적 노력 없이 실시할 수 있는 다른 방식을 더 포함한다.
본 발명의 실시예에서, 품질 임계값 간격은 예를 들어 [QTH1, QTH2], 또는 (QTH1, QTH2], 또는 (QTH1, QTH2), 또는 [QTH1, QTH2)가 (정적으로 또는 동적으로) 선택될 수 있다. 품질 임계값 간격은 또한 다른 방식, 예를 들어, 품질 임계값 상한 QTH2 및 하향 변동 범위 DeltaQ2, 품질 임계값 하한 QTH1 및 상향 변동 범위 DeltaQ1, 품질 임계값 QTH 및 상향 및 하향 변동 범위 DeltaQ1 및 DeltaQ2와 같은 방식으로 표현될 수 있다. 품질 임계값 간격의 전술한 선택은 본 발명의 본 실시예에 대한 제한이 아닌, 본 발명의 본 실시예를 쉽게 이해하도록 주어진 예에 불과하다는 것을 이해해야 한다.
S25: 비트스트림 세그먼트를 선택한다.
세그먼트 선택 동안, 세그먼트 품질이 품질 임계값에 가장 근접하는 비트스트림 세그먼트가 먼저 최초의 세그먼트로서 선택되고, 그런 다음 최초의 세그먼트의 다운로딩이 단말의 버퍼 오버플로를 야기하는지를 판정하고, 단말의 버퍼 오버플로가 야기되지 않으면, 세그먼트가 선택되며; 단말의 버퍼 오버플로가 야기되면, 세그먼트 품질이 최초의 세그먼트의 세그먼트 품질보다 낮은 비트스트림 세그먼트가 비트스트림 세그먼트 중에서 내림차순으로 선택되며, 세그먼트의 다운로딩이 단말의 버퍼 오버플로를 야기하는지를 연속적으로 판정하며, 이 단계는 선택된 비트스트림 세그먼트가 단말의 버퍼 오버플로를 야기하지 않을 때까지 계속되며, 그런 다음 동작이 중지된다.
본 발명의 실시예에서, 세그먼트 선택 동안, 대역폭과 버퍼 자원은 완전히 사용할 수 있는 세그먼트가 먼저 선택되고, 그런 다음 세그먼트 품질이 품질 임계값 QTH보다 높은 최종 선택된 세그먼트의 품질/비트 레이트가 하향 조정되고, 및/또는 품질이 QTH보다 낮은 세그먼트의 품질/비트 레이트가 상향 조정된다.
본 발명의 실시예에서, 품질 또는 비트 레이트 하향-조정은 품질이 QTH보다 높은 세그먼트를 떨어뜨리고 품질이 QTH보다 낮은 비트스트림을 선택하는 것일 수 있거나, 품질이 품질 임계값 QTH에 가장 근접한 세그먼트를 선택하는 것일 수 있으며; 마찬가지로, 품질 또는 비트 레이트 상향-조정은 품질이 QTH보다 낮은 세그먼트를 떨어뜨리고 품질이 QTH보다 높은 비트스트림을 선택하는 것일 수 있거나, 품질이 품질 임계값 QTH에 가장 근접한 세그먼트를 선택하는 것일 수 있다. 표에 나타난 바와 같이, 예를 들어, 초기에 선택된 비트스트림 세그먼트는 F21이고, F21의 비트스트림 품질은 PSNR을 사용하여 표현되며, 여기서 PSNR=40이다. 이 경우, 품질 상향-조정은 PSNR이 F21의 PSNR보다 높은 세그먼트를 선택하는 것을 말하는데, 즉 표에서 F11을 선택하는 것으로 말하며; 품질 하향-조정은 PSNR이 F21의 PSNR보다 낮은 세그먼트를 선택하는 것을 말하는데, 즉 표에서 F31을 선택하는 것으로 말한다. 그런 다음, 선택된 세그먼트의 PSNR 값은 품질 임계값 QTH와 비교되어 선택이 적절한지를 판정하며, 적절하면, 비트스트림 세그먼트를 선택하는 것을 계속 수행한다. 여기에서 비트스트림 세그먼트의 품질과 관련된 상향-조정 및 하향-조정은 본 발명의 본 실시예에 대한 제한이 아닌, 본 발명의 본 실시예를 쉽게 이해하도록 주어진 특정한 예에 불과하다는 것을 이해해야 한다.
본 발명의 실시예에서, 위의 표에서의 데이터를 참조하면, F11은 시간 t1에서 선택되고, Tbuf=6+2-(2000*2)/1000=4s이며, 단말의 버퍼는 F11이 선택될 때 오버플로되지 않는다. QTH=40이면, F21이 선택된 후 단말의 버퍼 상황을 계속 판정하며, 이 경우, 버퍼는 마찬가지로 오버플로하지 않기 때문에 시간 t1에서 최종 선택된 세그먼트는 F21이다. QTH=50이면, F11은 시간 t1에서 선택되는 비트스트림 세그먼트로 직접 선택된다.
본 발명의 본 실시예에 따라 스트리밍 미디어에 기초하여 비트스트림 세그먼트를 선택하는 방법은 모든 선택된 비트스트림 세그먼트의 품질이 품질 임계값에 가깝게 하며, 이에 의해 모든 선택된 세그먼트의 품질이 상대적으로 근접한 범위에 있게 하고, 세그먼트가 플레이될 때 품질의 변동을 크게 줄이며, 이에 따라 비디오 플레이 품질이 더 부드럽게 되고, 사용자가 프로그램을 보는 경험이 효과적으로 향상된다.
도 3을 참조하여, 이하에서는 스트리밍 미디어에 기반하여 비트스트림 세그먼트를 선택하는 방법에 대해 설명한다. 도 3에 도시된 바와 같이, 상기 방법은 이하를 포함한다:
S31: 세그먼트 정보를 획득한다.
본 발명의 실시예에서, 단말은 MPD 정보를 분석하는 방식으로, 프로그램의 비트스트림의 세그먼트 Fij에 관한 정보, 세그먼트의 지속시간 정보 Dij, 세그먼트의 비트 레이트 정보 Rij, 및 세그먼트의 품질 정보 Qij를 획득하며, 여기서 Fij는 비트스트림 i의 j번째 세그먼트를 나타내고, Dij는 세그먼트 Fij의 플레이 시간 길이를 나타내고, Rij는 세그먼트의 비트 레이트 정보이고, Qij는 세그먼트의 품질 정보이며, 정보는 피크 신호대잡음비(Peak Signal to Noise Ratio: PSNR) 값, 구조적 유사성(Structural SIMilarity: SIMM), 평균 여론 스코어(MeanOpinionScore: MOS), 또는 다른 주관적 및 객관적 품질 데이터 또는 품질 레벨 정보일 수 있다. 이하에서 설명하는 세그먼트 품질의 값은 이러한 품질 데이터 및 품질 레벨 정보의 값을 구체적으로 말하는 것이 아니라, 이러한 품질 데이터 또는 품질 레벨 정보로 표현되는 세그먼트 품질의 결과를 말하는 것이며, i 및 j는 0보다 큰 정수이다. 획득된 세그먼트 정보를 명확하게 설명하기 위해, 한 세트의 데이터를 제공하며, 이하의 표에 상세하게 나와 있다. 표에서, 비트 레이트의 단위는 (kbps)이며, PSNR의 단위는 (db)이며, 세그먼트 지속시간의 단위는 (s)이며, 여기서 i= 1, 2, 3, 및 j=1, 2, 3이다.
시간 t1에서 세그먼트
(Fi1)
시간 t2에서 세그먼트
(Fi2)
시간 t3에서 세그먼트
(Fi3)
비트 레이트 PSNR 세그먼트 지속시간 비트 레이트 PSNR 세그먼트 지속시간 비트 레이트 PSNR 세그먼트 지속시간
S1 2000 50 2 1900 55 3 2300 40 2.5
S2 1000 40 2 950 49 3 1200 32 2.5
S3 500 30 2 490 39 3 700 27 2.5
본 표에 열거된 데이터는 본 발명의 본 실시예를 쉽게 이해할 수 있도록 주어진 예시에 불과하며, 본 발명의 본 실시예에 대한 제한으로서 파악해서는 안 된다. 비트스트림 세그먼트의 비트 레이트, 품질, 및 지속시간은 다른 값 범위를 가질 수 있다. 동일한 시간에서의 세그먼트는 또한 2개의 세그먼트 및 4개의 세그먼트와 같은 방식으로 취해질 수 있다. 본 발명의 본 실시예에서, 세그먼트 정보 및 세그먼트 정보 내용을 획득하는 방식은 당업자가 창조적 노력 없이 실시할 수 있는 다른 방식을 더 포함한다.
본 발명의 실시예에서, 세그먼트 품질은 MPD로부터 획득될 수 있거나, 서버에 의해 송신된 미디어 데이터로부터 획득될 수 있거나, 당업자가 생각해낼 수 있는 다른 통신 또는 데이터 전송 방식으로 서버에 의해 단말에 송신될 수 있다.
S32: 미디어 버퍼 정보를 획득한다.
본 발명의 실시예에서, 버퍼 내에 있으면서 플레이되지 않았던 미디어 콘텐츠를 스트리밍하는 시간 길이 Tbuf는 미디어 버퍼를 검출하는 방식으로 획득될 수 있다. 예에서, 위의 표에서의 데이터를 참조하면, Tbuf=6s이다.
본 발명의 실시예에서, 버퍼 정보는 단말에 의해 서버에 송신될 수 있거나, 서버 측에서의 측정에 의해 획득될 수 있다. 서버 측은 일반적으로 버퍼 정보를 획득할 필요가 없으며, 동작은 일반적으로 단말 측에서 완료되는 것에 유의해야 한다. 서버 측은 본 발명의 본 실시예에 기초하여 비트스트림 세그먼트를 선택하는 방법이 서버 측에서 사용될 때만 버퍼 정보를 획득해야 한다.
미디어 버퍼 정보의 표현 방식은 단말의 버퍼 내에 있으면서 플레이되지 않았던 미디어 콘텐츠를 스트리밍하는 시간 길이를 사용하는 표현일 수 있거나 단말의 버퍼 내에 저장될 수 있는 데이터 용량을 사용하는 표현 방식일 수 있다. 시간 길이를 사용함으로써 버퍼 정보를 표현하는 방식은 본 명세서에서는 본 발명의 본 실시예를 쉽게 이해하도록 제공된 예에 불과하다. 비트스트림 세그먼트의 다운로딩이 단말의 버퍼 오버플로를 야기하는지가 판정될 때, 단말의 버퍼에 저장될 수 있는 데이터의 용량과 같이, 당업자가 창조적 노력 없이 실시할 수 있는 다른 방식도 사용될 수 있다.
S33: 네트워크 대역폭을 획득한다.
단말이 미디어 데이터를 다운로딩하는 이용 가능한 대역폭이 획득된다. 본 발명의 실시예에서, 위의 표에 주어진 예를 참조하면, 이용 가능한 대역폭 BW (Bandwidth) =1000kbps이다.
이용 가능한 대역폭의 값을 획득하는 방식은 단말 자체에 의한 측정 또는 추정일 수 있거나, 서버에 의한 측정 또는 추정 후 이용 가능한 대역폭의 값을 단말에 송신하는 것일 수 있다.
S34: 연속적으로 재생될 수 있는 최초의 세그먼트 그룹을 선택한다.
본 발명의 실시예에서, 연속적으로 재생될 수 있는 세그먼트 그룹 [F21, F22, F33]은 위의 표에 나타난 데이터를 참조하여 선택된다.
이하에서는 본 발명의 본 실시예에 따라 연속적으로 재생될 수 있는 최초의 세그먼트 그룹을 선택하는 방식을 구체적으로 설명한다. 본 발명의 실시예에서, 최초의 세그먼트 그룹 [F21, F22, F33]은 무작위로 선택될 수 있으며, 그런 다음 최초의 세그먼트 그룹이 연속적으로 플레이될 수 있는지를 판정한다. 본 발명의 실시예에서, 최초의 세그먼트 그룹이 연속적으로 플레이될 수 있는지를 판정하는 것은 세그먼트 그룹의 다운로딩이 단말의 버퍼 오버플로를 야기하는지를 판정하는 방식을 사용할 수 있으며; 세그먼트 그룹이 연속적으로 플레이될 수 있는지를 판정하는 조건은 세그먼트가 플레이되기 전에 세그먼트의 다운로딩이 완료되는지를 판정하는 것일 수도 있다. 예를 들어, 최초의 세그먼트 그룹에서, 시간 t1에서 F11의 데이터의 다운로딩을 완료하는 버퍼링 시간 Tbuf은 6+2-(2*2000)/1000=4s이고, 및 시간 t2에서 F12의 데이터의 다운로딩을 완료하는 버퍼링 시간 Tbuf는 4+3-(3*1900)/1000=1.3s이며, 1.3s는 시간 t3에서의 세그먼트의 지속시간보다 짧기 때문에, 이 경우 단말의 버퍼는 오버플로하며, 세그먼트 그룹은 연속적으로 플레이될 수 없다. 세그먼트 그룹 내의 일부의 비트스트림 세그먼트는 대체되어야 하고, 이러한 대체는 무작위 대체일 수 있거나, 소정의 규칙에 따라 수행되는 대체일 수 있다. 이 단계는 연속적으로 플레이될 수 있는 최초의 세그먼트 그룹을 찾을 때까지 반복된다.
본 발명의 실시예에서, 최초의 세그먼트 그룹의 비트스트림을 대체하는 규칙은 각각의 시간에서, 세그먼트 품질이 현재의 세그먼트 그룹 내의 다른 세그먼트의 품질보다 낮은 비트스트림 세그먼트가 세그먼트 품질의 순서에 따라 선택되는 것일 수 있고, 비트스트림 세그먼트는 세그먼트 그룹에서의 그 시간에 대체되어야 하는 비트스트림 세그먼트로서 사용된다.
본 발명의 실시예에서, 계산을 편리하고 간단하게 하기 위해, 최소 비트스트림 품질을 가지는 세그먼트가 각각의 시간에서 복수의 세그먼트 중에서 먼저 선택되어 세그먼트 그룹을 형성하고; 위의 표에 나타난 데이터를 참조하여, [F31, F32, F33]이 먼저 선택될 수 있다. 그런 다음 연속적으로 플레이될 수 있는지를 판정하고, 세그먼트 그룹이 연속적으로 플레이될 수 있으면, 세그먼트 그룹 [F31, F32, F33]은 연속적으로 플레이될 수 있는 최초의 세그먼트 그룹으로 판정된다. 연속적으로 플레이될 수 있는 최초의 세그먼트 그룹을 선택하는 전술한 열거된 방식은 본 발명의 본 실시예를 쉽게 이해하도록 주어진 예에 불과하며, 본 발명의 본 실시예에 대한 제한으로 고려되어서는 안 된다. 연속적으로 플레이될 수 있는 최초의 세그먼트 그룹을 획득하는 방식은 당업자가 창조적 노력 없이 실시할 수 있는 다른 방식으로 더 포함한다.
S35: 연속적으로 플레이될 수 있는 최초의 세그먼트 그룹 중에서 최소 세그먼트 품질을 가지는 세그먼트를 처리를 위해 선택한다.
최소 세그먼트 품질을 가지는 세그먼트는 단계 S34에서 선택되는 최초의 세그먼트 그룹 중에서 선택되어 연속적으로 플레이될 수 있다. 본 발명의 실시예에서, 세그먼트 그룹 [F21, F22, F33]에서, 최소 품질을 가지는 세그먼트는 F33이고, 세그먼트 품질은 Q33=27이며; 이것은 더 높은 PSNR 값은 더 높은 세그먼트 품질을 나타내기 때문이며, 그런 다음 최소의 PSNR 값을 가지는 비트스트림 세그먼트가 세그먼트 그룹 중에서 선택될 수 있다. 다른 품질 표현 방식에서, 최댓값을 가지는 비트스트림 세그먼트가 최소 품질을 가지는 세그먼트로서 선택될 수 있으며, 이에 대해서는 여기서 다시 설명하지 않는다.
비트스트림 세그먼트 F33에 대응하는 시간은 t3이므로, 이 경우의 동작은 시간 t3에 대응하는 복수의 비트스트림 세그먼트 중에서 세그먼트 품질이 F33의 세그먼트 품질보다 높은 비트스트림 세그먼트를 순차적으로 선택하는 것이다. 표에 나타난 바와 같이, 이 경우 선택된 비트스트림 세그먼트는 F23이고, 즉 새로운 세그먼트 그룹은 [F21, F32, F23]이다.
S36: 새로운 세그먼트 그룹이 연속적으로 플레이될 수 있는지를 판정한다.
단계 S35에서 획득된 새로운 세그먼트 그룹이 연속적으로 플레이될 수 있는지를 계산하며, 즉 세그먼트가 플레이되기 전에 세그먼트의 다운로딩이 완료될 수 있는지를 계산한다. 시간 t1에서의 세그먼트의 비트 레이트는 대역폭보다 낮으며, 이에 따라 시간 t1에서의 세그먼트의 다운로딩은 완료될 수 있다. 시간 t1에서 데이터의 다운로딩을 완료하는 버퍼링 시간은 Tbuf=6-2+2=6s이고, 시간 t2에서 데이터의 다운로딩을 완료하는 버퍼링 시간은 Tbuf=6+3-(950*3)/1000=6.15s이며, 시간 t3에서 데이터의 다운로딩을 완료하는 버퍼링 시간은 Tbuf=6.15+2.5-(1200*2.5)/1000=5.65s이다. 각각의 시간에서의 버퍼는 2.5보다 크고(버퍼는 오버플로하지 않는다), 이에 따라 새로운 세그먼트 그룹은 연속적으로 플레이될 수 있으며, 이 경우 단계 S5로 돌아간다.
새로운 세그먼트 그룹이 연속적으로 플레이될 수 없으면, 단계 S37로 돌아간다.
본 발명의 실시예에서, 단계 S35 및 S36은 반복되어야 한다. 최소 품질을 가지는 찾아낸 세그먼트는 F23이고, 시간 t3에서의 세그먼트의 비트 레이트는 F13으로 선택되며, 이전의 2개의 세그먼트는 불변으로 유지되며, 그러므로 시간 t3에서 세그먼트의 다운로딩이 완료된 후 버퍼링된 데이터 용량의 버퍼링 시간만이 계산되며: Tbuf=5.65+2.5-(2300*2.5)/1000=2.4s; 세그먼트 F13은 이미 시간 t3에서의 세그먼트 중에서 최고의 품질을 가지는 세그먼트이기 때문에, 하위 품질의 대체는 단계 5 및 6이 반복될 때 F13에서 수행되지 않는다. 2.4는 2.5보다 낮기 때문에, 시간 t3에서의 세그먼트는 그 시간에서의 세그먼트의 다운로딩이 완료되지 않았을 때 플레이되며; 플레이어가 다운로딩이 완료되지 않을 때 플레이를 시작하는 이러한 메커니즘을 지원하면, 단계 S35로 되돌아가지만, 플레이어가 다운로딩이 완료되지 않을 때 플레이를 시작하는 이러한 메커니즘을 지원하지 않으면, 단계 S37로 돌아가야만 하며, 이 경우 제2의 플레이 메커니즘이 사용되며, 따라서 단계 S37로 돌아가야 한다.
S37: 연속적으로 플레이될 수 없고 최고의 세그먼트 품질을 가지는 세그먼트를 선택하여 처리한다.
연속적으로 플레이될 수 없고 최고의 세그먼트 품질을 가지는 세그먼트 이전에 있는 세그먼트(연속적으로 플레이될 수 없는 포인트를 포함하는 세그먼트), 예를 들어, 시간 t2에서의 세그먼트 F22가 선택되며; 세그먼트 품질이 F22의 세그먼트 품질보다 낮은 비트스트림 세그먼트를 시간 t2에서의 세그먼트 중에서 선택하고, 그런 다음 단계 S36으로 돌아가며; 최고 품질을 가지는 선택된 세그먼트가 단계 S35에서 선택되고 비트 레이트가 향상된 저품질 세그먼트이면, 세그먼트의 비트 레이트는 하향-조정되고(즉, 이전의 단계 S35에서 선택된 비트스트림 세그먼트가 재선택되고, 여기서 향상 및 하향-조정이란, 이전에 선택된 세그먼트에 대한 처리 동작 대신, 소정의 시간에서의 비트스트림 세그먼트로부터 선택된 세그먼트 품질 또는 비트 레이트와 이전에 선택된 세그먼트의 세그먼트 품질 또는 비트 레이트 간의 상대적 변화를 말한다), 세그먼트는 후속의 품질 조정에 포함되지 않으며; 모든 세그먼트가 조정에 최종 포함되지 않을 때 또는 비트 레이트가 더 이상 높아지지 없을 때, 조정은 종료되며, 단계 S38로 돌아간다. (후속의 주기적인 조정에서, 점차 더 많은 세그먼트가 품질 조정에 참여하지 않으며; 최종적으로, 모든 세그먼트의 비트 레이트는 더 이상 조정되지 않으며, 조정은 종료된다.)
시간 t1에서의 데이터의 다운로딩을 완료하는 버퍼링 시간은 Tbuf=6-2+2=6s이고, 시간 t2에서의 데이터의 다운로딩을 완료하는 버퍼링 시간은 Tbuf=6+3-(490*3)/1000=6.3s이며, 시간 t3에서의 데이터의 다운로딩을 완료하는 버퍼링 시간은 Tbuf=6.3+2.5-(2300*2.5)/1000=3.05s이다. 이 경우, 세그먼트 그룹은 [F21, F32, F13]이다.
단계 S37에서의 조정 후, 이 경우 새로운 조합은 [F21, F32, F13]이며, 시간 t1에서의 데이터의 다운로딩을 완료하는 버퍼링 시간은 Tbuf=6-2+2=6s이고, 시간 t2에서의 데이터의 다운로딩을 완료하는 버퍼링 시간은 Tbuf=6+3-(490*3)/1000=6.3s이며, 시간 t3에서의 데이터의 다운로딩을 완료하는 버퍼링 시간은 Tbuf=6.3+2.5-(2300*2.5)/1000=3.05s이다. 조합은 연속적으로 플레이될 수 있으며, 그런 다음 단계 S35로 돌아간다. 최저 품질을 가지는 세그먼트 F32는 [F21, F32]로부터 계속 선택되고, 새로운 조합은 [F21, F22, F13]이며, 조합은 이전에 계산되었으며 연속적으로 플레이될 수 있으며, 단계 S37로 돌아간다. 이 경우, 최고의 품질을 가지면서 연속적으로 플레이될 수 없는 포인트 이전에 있는 선택된 세그먼트는 F22이고, 여기서 F22는 단계 S35에서 선택되고 비트 레이트가 향상되는 최저의 품질을 가지는 세그먼트이며, 따라서 F22의 비트 레이트는 F32로 하향-조정된다(즉, 세그먼트 F32는 재선택된다). F32는 후속의 품질 조정에 포함되지 않으며, 조합은 [F21, F22, F13]이고 이 경우 연속적으로 플레이될 수 없으며; 그런 다음 단계 S35로 돌아간다. 이 경우, 비트 레이트를 조정하도록 선택될 수 있는 세그먼트는 F21뿐이고, 새로운 조합은 [F11, F32, F13]이며, 단계 S36으로 돌아간다. 시간 t1에서의 데이터의 다운로딩을 완료하는 버퍼링 시간은 Tbuf=6+2-(2000*2)/1000=4s이고, 시간 t2에서의 데이터의 다운로딩을 완료하는 버퍼링 시간은 Tbuf=4+3-(490*3)/1000=5.53s이며, 시간 t3에서의 데이터의 다운로딩을 완료하는 버퍼링 시간은 Tbuf=5.53+2.5-(2300*2.5)/1000=2.28s이며; 2.28<2.5, 연속적인 플레이는 수행될 수 없으며, 그런 다음 단계 S37로 돌아간다. 최고의 품질을 가지는 선택된 세그먼트는 F11이고, 여기서 F11은 단계 S35에서 선택되는 최저의 품질을 가지면서 비트 레이트가 향상되는 세그먼트이고; 그러므로 F11의 비트 레이트는 F21로 하향-조정된다(즉, 세그먼트 F21이 재선택된다). F21은 후속의 품질 조정에 포함되지 않으며, 이 경우, 이 조합에서의 세그먼트 F21 및 F32는 조정에 더 이상에 포함되지 않으며, F13은 이미 시간 t3에서 최고의 비트 레이트를 가지며, 비트 레이트는 더 이상 높아질 수 없다. 그러므로 조정은 종료되고, 최종 선택된 세그먼트 조합은 [F21, F32, F13]이다.
S38: 비트스트림의 세그먼트 그룹을 선택한다.
예를 들어, 열거된 최종적으로 선택된 세그먼트는 [F21, F32, F13]이고, 세그먼트의 품질 조합은 [40, 39, 40]임을 알 수 있으며; 품질상의 변동은 미미하고, 조합은 대역폭과 버퍼 자원을 완전하게 사용한다.
전술한 결과로부터 알 수 있는 바와 같이, 최저의 품질을 가지는 세그먼트의 품질/비트 레이트를 향상시키고 최고의 품질을 가지는 세그먼트의 품질/비트 레이트를 감소시킴으로써 사용자가 보는 프로그램의 품질 안전성이 확보되고, 이에 의해 사용자가 프로그램을 보는 주관적인 품질이 효과적으로 향상된다.
전술한 단계에서, 버퍼 값은 단말에 의해 플레이되지 않았던 미디어의 데이터 용량일 수 있거나, 단말에 의해 재생되지 않았던 미디어의 데이터 용량에서 사전설정된 값을 감산함으로써 획득된 값일 수 있다.
본 발명의 본 실시예에서, 세그먼트 조합이 선택된 후, 세그먼트 조합에서의 세그먼트의 다운로딩이 성공적으로 완료된 후 새로운 세그먼트 조합이 선택될 수 있거나, 각각의 세그먼트의 다운로딩이 완료된 후 새로운 세그먼트 조합이 재선택되거나, 세그먼트 조합의 수 개의 세그먼트의 다운로딩이 완료된 후 새로운 세그먼트 조합이 재선택된다.
도 3을 참조하여, 이하에서는 스트리밍 미디어에 기반하여 비트스트림 세그먼트를 선택하는 다른 방법에 대해 설명한다. 도 3에 도시된 바와 같이, 비트스트림 세그먼트 그룹이 선택된 후, 상기 방법은 이하를 포함한다:
S39: 품질 임계값 QTH를 설정한다.
품질 임계값은 사전설정된 값, 예를 들어, 품질 임계값 QTH=40일 수 있거나; 품질 임계값은 동적으로 계산된 값, 예를 들어, 다운로딩되었던 세그먼트의 품질을 사용하여 계산을 수행함으로써 획득되는 값일 수 있거나(품질 임계값은 다운로딩되었던 세그먼트의 품질의 평균을 계산하는 방식으로 획득될 수 있다), 다운로딩되었던 세그먼트의 품질 또는 다운로딩될 세그먼트의 품질을 사용하여 계산을 수행함으로써 획득되는 값일 수 있다(다운로딩되었던 세그먼트의 품질 및 다운로딩될 세그먼트의 품질에 상이한 가중값들이 각각 할당될 수 있거나, 품질 임계값은 가중 계산의 방식으로 획득된다). 품질 임계값을 계산하는 전술한 방식은 본 발명의 본 실시예를 쉽게 이해하도록 주어진 예에 불과하며, 본 발명의 본 실시예에 대한 제안으로 고려되어서는 안 된다는 것에 유의해야 한다. 품질 임계값을 획득하는 방식들은 당업자가 창조적 노력 없이 실시할 수 있는 다른 방식을 더 포함한다.
본 발명의 실시예에서, 품질 임계값 간격은 예를 들어 [QTH1, QTH2], 또는 (QTH1, QTH2], 또는 (QTH1, QTH2), 또는 [QTH1, QTH2)가 (정적으로 또는 동적으로) 선택될 수 있다. 품질 임계값 간격은 또한 다른 방식, 예를 들어, 품질 임계값 상한 QTH2 및 하향 변동 범위 DeltaQ2, 품질 임계값 하한 QTH1 및 상향 변동 범위 DeltaQ1, 품질 임계값 QTH 및 상향 및 하향 변동 범위 DeltaQ1 및 DeltaQ2와 같은 방식으로 표현될 수 있다. 품질 임계값 간격의 전술한 선택은 본 발명의 본 실시예에 대한 제한이 아닌, 본 발명의 본 실시예를 쉽게 이해하도록 주어진 예에 불과하다는 것을 이해해야 한다.
S310: 품질 임계값 QTH에 따라 선택된 비트스트림 세그먼트 그룹을 조정하여 최종 세그먼트 그룹을 획득한다.
단계 S38에서 선택된 비트스트림 세그먼트 그룹은 단계 S9에서 획득된 품질 임계값 QTH에 따라 조정된다. 품질이 QTH보다 더 높은 비트스트림 세그먼트의 품질은 QTH보다 낮도록 하향-조정되거나(즉, 세그먼트 품질이 QTH보다 낮은 비트스트림 세그먼트가 선택된다), 비트스트림 세그먼트의 품질이 품질 임계값 QTH에 가장 근접하도록 하향-조정될 수 있다. 이 단계에서 조정된 각각의 세그먼트의 품질은 품질 임계값에 근접하고, 이에 의해 선택된 세그먼트의 품질은 상대적으로 밀접하고, 세그먼트가 플레이된 후의 품질의 변동 역시 크게 감소하며, 이것은 사용자가 프로그램을 보는 주관적인 품질을 향상시킨다.
본 발명의 실시예에서, 품질 임계값에 따라 세그먼트 품질을 선택하는 프로세스에서, 버터는 여전히 버퍼가 오버플로하지 않는다는 것을 보장하도록 추정되어야 하며, 이에 따라 비트스트림 세그먼트 그룹은 정상적으로 플레이될 수 있다. 전술한 실시예에서의 버퍼 값은 단말에 의해 플레이되지 않았던 미디어의 데이터 용량일 수 있거나, 단말에 의해 플레이되지 않았던 미디어의 데이터 용량에서 값을 감산함으로써 획득된 값일 수 있다. 일반적으로, 단말의 버퍼는 품질이 QTH보다 더 높은 비트스트림 세그먼트(즉, 세그먼트 품질이 QTH보다 낮은 비트스트림 세그먼트)의 품질이 QTH보다 낮도록 하향-조정될 때 오버플로하지 않으며; 이 경우, 새로운 세그먼트 그룹이 단말의 버퍼 오버플로를 야기하는지를 판정할 필요가 없으며, 계산이 간단하게 된다.
도 4를 참조하여, 이하에서는 본 발명의 실시예에 따라 스트리밍 미디어에 기반하여 비트스트림 세그먼트를 선택하는 플레이어(40)에 대해 설명한다. 도면에 도시된 바와 같이, 장치는: 수신 모듈(401), 최초의 세그먼트 선택 모듈(402), 및 세그먼트 선택 모듈(403)을 포함한다.
본 발명의 실시예에서, 수신 모듈(401)은 세그먼트 정보, 미디어 버퍼 정보, 및 네트워크 대역폭을 획득하도록 구성되어 있으며, 수신 모듈은 서버에 의해 송신된 MPD 정보를 수신하도록 구성될 수 있다. 프로그램의 비트스트림의 세그먼트 Fij에 관한 정보, 세그먼트의 지속시간 정보 Dij, 세그먼트의 비트 레이트 정보 Rij, 및 세그먼트의 품질 정보 Qij를 MPD 정보를 분석하는 방식으로 획득하며, 여기서 Fij는 비트스트림 i의 j번째 세그먼트를 나타내고, Dij는 세그먼트 Fij의 플레이 시간 길이를 나타내고, Rij는 세그먼트의 비트 레이트 정보이고, Qij는 세그먼트의 품질 정보이며, 정보는 피크 신호대잡음비(Peak Signal to Noise Ratio: PSNR) 값, 구조적 유사성(Structural SIMilarity: SIMM), 평균 여론 스코어(MeanOpinionScore: MOS), 또는 다른 주관적 및 객관적 품질 데이터 또는 품질 레벨 정보일 수 있다. 이하에서 설명하는 세그먼트 품질의 값은 이러한 품질 데이터 및 품질 레벨 정보의 값을 구체적으로 말하는 것이 아니라, 이러한 품질 데이터 또는 품질 레벨 정보로 표현되는 세그먼트 품질의 결과를 말하는 것이며, i 및 j는 0보다 큰 정수이다.
본 발명의 실시예에서, 수신 모듈(401)은 미디어 버퍼를 검출하는 방식으로, 버퍼 내에 있으면서 플레이되지 않았던 미디어 콘텐츠의 시간 길이 Tbuf를 획득할 수 있다.
본 발명의 실시예에서, 수신 모듈(401)은 단말이 미디어 데이터를 다운로딩하는 데 이용 가능한 대역폭을 추가로 획득할 수 있다.
최초의 세그먼트 선택 모듈(402)은 세그먼트 선택 동안, 세그먼트 품질이 품질 임계값에 가장 근접한 비트스트림 세그먼트를 최초의 세그먼트로서 먼저 선택한다. 그런 다음, 세그먼트 선택 모듈(403)은 최초의 세그먼트의 다운로딩이 단말의 버퍼가 설정된 값보다 작게 되는 것을 야기하는지를 판정하며, 여기서 설정된 값은 0일 수도 있고 다른 논-제로 값일 수도 있으며; 단말의 버퍼가 설정된 값보다 작게 되도록 야기되지 않으면, 세그먼트 선택 모듈(403)은 세그먼트를 선택하며; 단말의 버퍼가 설정된 값보다 작게 되도록 야기되면, 세그먼트 선택 모듈(403)은 내림차순으로 비트스트림 세그먼트 중에서, 세그먼트 품질이 최초의 세그먼트의 세그먼트 품질보다 낮은 비트스트림 세그먼트를 계속 선택하고, 그런 다음 세그먼트의 다운로딩이 단말의 버퍼가 설정된 값보다 낮게 되는 것을 야기하는지를 계속 판정하며, 선택된 비트스트림 세그먼트가 단말의 버퍼가 설정된 값보다 낮게 되는 것을 야기하지 않을 때까지 이 단계를 반복하며, 동작을 중지하고, 선택된 비트스트림 세그먼트를 출력한다.
본 발명의 실시예에서, 세그먼트 선택 동안, 대역폭과 버퍼 자원을 완전하게 사용할 수 있는 세그먼트가 먼저 선택되고, 그런 다음 세그먼트 품질이 품질 임계값 QTH보다 높은 최종 선택된 세그먼트의 품질/비트 레이트가 하향-조정되고 및/또는 품질이 품질 임계값 QTH보다 낮은 세그먼트의 품질/비트 레이트가 상향-조정된다.
본 발명의 실시예에서, 품질 또는 비트 레이트 하향-조정은 품질이 QTH보다 높은 세그먼트를 떨어뜨리고 품질이 QTH보다 낮은 비트스트림을 선택하는 것일 수 있거나, 품질이 품질 임계값 QTH에 가장 근접한 세그먼트를 선택하는 것일 수 있으며; 마찬가지로, 품질 또는 비트 레이트 상향-조정은 품질이 QTH보다 낮은 세그먼트를 떨어뜨리고 품질이 QTH보다 높은 비트스트림을 선택하는 것일 수 있거나, 품질이 품질 임계값 QTH에 가장 근접한 세그먼트를 선택하는 것일 수 있다.
본 발명의 본 실시예에 따라 스트리밍 미디어에 기초하여 비트스트림 세그먼트를 선택하는 플레이어(40)는 모든 선택된 비트스트림 세그먼트의 품질이 품질 임계값에 가깝게 하며, 이에 의해 모든 선택된 세그먼트의 품질이 상대적으로 근접한 범위에 있게 하고, 세그먼트가 플레이될 때 품질의 변동을 크게 줄이며, 이에 따라 비디오 플레이 품질이 더 부드럽게 되고, 사용자가 프로그램을 보는 경험이 효과적으로 향상된다.
도 5를 참조하여, 이하에서는 본 발명의 실시예에 따라 스트리밍 미디어에 기반하여 비트스트림 세그먼트를 선택하는 단말(50)에 대해 설명한다. 도 5에 도시된 바와 같이, 단말(50)은: 수신기(501) 및 프로세서(502)를 포함한다.
사용자가 프로그램을 볼 때, 단말(50)은 먼저 MPD를 획득하고, 프로그램과 관련된 MPD는 이하의 방식으로 획득될 수 있다: 프로그램 공개자는 프로그램의 MPD를 먼저 단말에 송신하거나; 또는 프로그램의 공개자는 MPD의 웹사이트를 단말의 사용자에게 제공하며, 사용자는 웹사이트를 사용하여 MPD를 획득한다.
수신기(501)는 MPD에 따라 프로그램과 관련된 모든 비트스트림의 세그먼트 정보를 획득하도록 구성되어 있으며, 여기서 정보는 세그먼트의 지속시간 정보, 세그먼트의 비트 레이트 정보, 세그먼트의 품질 정보, 및 세그먼트의 URL 정보를 포함하되, 이에 제한되지 않는다. 이러한 정보는 프로그램의 MPD로부터 분석을 통해 획득될 수도 있고, 서버에 의해 송신되고 프로그램과 관련된 다른 정보로부터 획득될 수도 있고, 프로그램의 미디어 스트림 데이터로부터 획득될 수도 있으며, 전술한 방식들의 조합으로 획득될 수도 있다. 프로그램을 플레이하는 프로세스에서, 수신기(501)는 디코더의 미디어 버퍼 상태 및 미디어 버퍼 내에 있으면서 플레이되지 않았던 미디어 데이터의 시간 길이 또는 데이터 용량을 더 획득하고; 수신기(501)는 단말의 네트워크 상황 정보를 획득하며, 여기서 정보는 네트워크로부터 데이터를 다운로딩하기 위한 대역폭 및 대역폭의 변동 상황이므로 미디어 데이터를 다운로딩하는 데 이용 가능한 대역폭을 추정하며; 수신기(501)는 단말에 의해 다운로딩되었던 세그먼트에 관한 정보를 더 획득할 수 있다.
프로세서(502)는 버퍼 내의 미디어 데이터 용량, 미디어 데이터를 다운로딩하는 데 이용 가능한 대역폭, 및 다운로딩될 세그먼트에 관한 획득된 정보 및/또는 다운로딩되었고 수신기(501)에 의해 획득되는 세그먼트에 관한 정보를 사용함으로써, 어느 비트스트림 세그먼트가 다운로딩되어야 하는지를 판정한다. 프로세서(502)가 비트스트림 세그먼트를 선택하는 방법에 대해서는, 전술한 방법 및 장치 실시예를 참조하면 되므로, 이에 대해서는 여기서 다시 설명하지 않는다.
본 발명의 실시예에서, 단말은 전송기(503)를 더 포함하며, 전송기(503)는 프로세서(502)에 의해 선택되고 다운로딩되어야 하는 세그먼트의 URL을 획득하고, GET 요구를 서버에 송신한다.
수신기(501)는 서버에 의해 송신된 미디어 데이터, 또는 서버에 의해 송신된 다른 응답 정보, 또는 MPD를 수신하도록 추가로 구성되어 있다. 단말의 미디어 버퍼(즉, 버퍼)는, 프로그램과 관련되어 있으면서 디코딩되지 않았거나 플레이되지 않았거나, 수신기(501)에 의해 수신된 미디어 데이터를 저장하도록 구성되어 있다.
본 발명의 실시예에서, 단말은 디스플레이(504)를 더 포함하며, 프로세서(502)는 미디어의 오디오 및 비디오 캡션과 같이, 수신기(501)에 의해 수신된 데이터를 디코딩하도록 추가로 구성되어 있고, 디스플레이(504)는 프로세서(502)에 의해 디코딩된 콘텐츠를 디스플레이하도록 구성되어 있다.
본 발명의 본 실시예에 따라 스트리밍 미디어에 기초하여 비트스트림 세그먼트를 선택하는 단말(50)은 모든 선택된 비트스트림 세그먼트의 품질이 품질 임계값에 가깝게 하며, 이에 의해 모든 선택된 세그먼트의 품질이 상대적으로 근접한 범위에 있게 하고, 세그먼트가 플레이될 때 품질의 변동을 크게 줄이며, 이에 따라 비디오 플레이 품질이 더 부드럽게 되고, 사용자가 프로그램을 보는 경험이 효과적으로 향상된다.
당업자라면 설명을 편리하고 간단하게 할 목적으로, 전술한 단말, 장치, 모듈의 작업 프로세스에 대한 상세한 설명에 대해서는, 전술한 방법 실시예에서의 대응하는 프로세스를 참조하면 된다는 것을 이해할 수 있을 것이므로, 이에 대해서는 여기서 다시 설명하지 않는다.
본 출원에서 제공하는 수 개의 실시예에서, 전술한 시스템, 장치, 및 방법은 다른 방식으로도 실현될 수 있다는 것은 물론이다. 예를 들어, 설명된 장치 실시예는 단지 예시에 불과하다. 예를 들어, 유닛의 분할은 단지 일종의 논리적 기능 분할일 뿐이며, 실제의 실행 동안 다른 분할 방식으로 있을 수 있다. 예를 들어, 복수의 유닛 또는 구성요소를 다른 시스템에 결합 또는 통합할 수 있거나, 또는 일부의 특징은 무시하거나 수행하지 않을 수도 있다. 또한, 도시되거나 논의된 상호 커플링 또는 직접 결합 또는 통신 접속은 일부의 인터페이스를 통해 실현될 수 있다. 장치 또는 유닛 간의 직접 결합 또는 통신 접속은 전자식, 기계식 또는 다른 형태로 실현될 수 있다.
또한, 본 발명의 실시예에서의 기능 유닛은 하나의 프로세싱 유닛으로 통합될 수 있거나, 각각의 유닛이 물리적으로 단독으로 존재할 수도 있거나, 2개 이상의 유닛이 하나의 유닛으로 통합될 수도 있다.
통합 유닛이 소프트웨어 기능 유닛의 형태로 실현되어 독립 제품으로 시판되거나 사용되면, 이 통합 유닛은 컴퓨터 판독 가능형 저장 매체에 저장될 수 있다. 이러한 이해를 바탕으로, 본 발명의 필수적 기술적 솔루션 또는, 또는 종래기술에 기여하는 부분, 또는 기술적 솔루션의 일부는 소프트웨어 제품의 형태로 실현될 수 있다. 컴퓨터 소프트웨어 제품은 저장 매체에 저장되고, 본 발명의 실시예에 설명된 방법의 단계 중 일부 또는 전부를 수행하도록 컴퓨터 장치(이것은 퍼스널 컴퓨터, 서버, 또는 네트워크 장치 등이 될 수 있다)에 명령하는 수개의 명령어를 포함한다. 전술한 저장 매체는: 프로그램 코드를 저장할 수 있는 임의의 저장 매체, 예를 들어, USB 플래시 디스크, 탈착 가능한 하드디스크, 리드-온리 메모리(ROM), 랜덤 액세스 메모리(RAM), 자기디스크 또는 광디스크를 포함한다.
전술한 설명은 단지 본 발명의 특정한 실행 방식에 불과하며, 본 발명의 보호 범위를 제한하려는 것이 아니다. 본 발명에 설명된 기술적 범위 내에서 당업자가 용이하게 실현하는 모든 변형 또는 대체는 본 발명의 보호 범위 내에 있게 된다. 그러므로 본 발명의 보호 범위는 특허청구범위의 보호 범위에 있게 된다.

Claims (20)

  1. 스트리밍 미디어에 기초하여 비트스트림 세그먼트를 선택하는 방법으로서,
    스트리밍 미디어 내의 제1 시간에 대응하는 적어도 2개의 세그먼트의 각각의 세그먼트의 세그먼트 정보를 획득하는 단계 - 상기 세그먼트 정보는 세그먼트 품질을 포함함 - ;
    각각의 세그먼트의 세그먼트 품질 및 사전설정된 품질 임계값에 따라, 상기 제1 시간에 대응하는 적어도 2개의 세그먼트 중에서 최초의 세그먼트를 선택하는 단계;
    단말의 버퍼 파라미터 정보를 획득하는 단계 - 상기 버퍼 파라미터 정보는 사전설정된 버퍼 임계값을 포함함 - ; 및
    상기 최초의 세그먼트의 세그먼트 정보 및 상기 단말의 버퍼 파라미터 정보에 따라, 상기 최초의 세그먼트의 다운로딩이 단말의 이용 가능한 버퍼가 상기 사전설정된 버퍼 임계값보다 작게 되는 것을 야기하지 않는 것으로 판정되면, 상기 최초의 세그먼트의 다운로딩이 단말의 플레이 제외를 야기하지 않는 것으로 판정하고, 상기 최초의 세그먼트를 선택된 비트스트림 세그먼트로 사용하는 단계
    를 포함하고,
    상기 각각의 세그먼트의 세그먼트 품질 및 사전설정된 품질 임계값에 따라, 상기 제1 시간에 대응하는 적어도 2개의 세그먼트 중에서 최초의 세그먼트를 선택하는 단계는,
    상기 제1 시간에 대응하는 모든 세그먼트 중에서 세그먼트 품질과 품질 임계값 간의 차이의 절대값이 최소인 세그먼트를 선택하는 단계
    를 포함하고,
    상기 단말의 버퍼 파라미터 정보를 획득하는 단계 이후에, 상기 방법은,
    (1) 상기 최초의 세그먼트의 세그먼트 정보 및 상기 단말의 버퍼 파라미터 정보에 따라, 상기 최초의 세그먼트의 다운로딩이 단말의 이용 가능한 버퍼가 상기 사전설정된 버퍼 임계값보다 작게 되는 것을 야기하는 것으로 판정되면, 상기 제1 시간에 대응하는 모든 세그먼트 중에서 세그먼트 품질이 상기 최초의 세그먼트의 세그먼트 품질보다 낮은 제2 세그먼트를 순차적으로 선택하고, (2) 상기 제2 세그먼트를 갱신된 최초의 세그먼트로 사용하고, (3) 상기 갱신된 최초의 세그먼트의 다운로딩이 단말의 이용 가능한 버퍼가 상기 사전설정된 버퍼 임계값보다 작게 되는 것을 야기하지 않는 것으로 판정될 때까지 (1)과 (2)를 반복하며, 상기 갱신된 최초의 세그먼트를 선택된 비트스트림 세그먼트로 사용하는 단계
    를 포함하는, 방법.
  2. 제1항에 있어서,
    상기 세그먼트 정보는 세그먼트 시간 길이 및 세그먼트 비트 레이트를 더 포함하고, 상기 단말의 버퍼 파라미터 정보는 버퍼 내에 있으면서 플레이되지 않았던 스트리밍 미디어의 시간 길이를 더 포함하며, 상기 최초의 세그먼트의 세그먼트 정보 및 상기 단말의 버퍼 파라미터 정보에 따라, 상기 최초의 세그먼트의 다운로딩이 단말의 이용 가능한 버퍼가 상기 사전설정된 버퍼 임계값보다 작게 되는 것을 야기하지 않는 것으로 판정하기 전에, 상기 방법은,
    상기 단말이 스트리밍 미디어를 다운로딩하는 데 이용 가능한 네트워크 대역폭을 획득하는 단계
    를 더 포함하고,
    상기 최초의 세그먼트의 세그먼트 정보 및 상기 단말의 버퍼 파라미터 정보에 따라, 상기 최초의 세그먼트의 다운로딩이 단말의 이용 가능한 버퍼가 상기 사전설정된 버퍼 임계값보다 작게 되는 것을 야기하지 않는 것으로 판정하는 과정은,
    상기 최초의 세그먼트의 세그먼트 시간 길이와 세그먼트 비트 레이트 및 상기 이용 가능한 네트워크 대역폭에 따라, 상기 최초의 세그먼트의 다운로딩을 완료하기 위한 시간 길이를 판정하는 단계
    를 포함하며,
    여기서 상기 단말의 버퍼 내에 있으면서 플레이되지 않았던 상기 스트리밍 미디어의 시간 길이와 상기 최초의 세그먼트의 세그먼트 시간 길이의 합이 상기 최초의 세그먼트의 다운로딩을 완료하기 위한 시간 길이와 상기 사전설정된 버퍼 임계값의 합보다 작지 않으면, 상기 최초의 세그먼트의 다운로딩이 단말의 이용 가능한 버퍼가 상기 사전설정된 버퍼 임계값보다 작게 되는 것을 야기하지 않는, 방법.
  3. 제1항에 있어서,
    상기 사전설정된 품질 임계값의 값은 사전설정될 수 있거나; 또는
    상기 사전설정된 품질 임계값의 값은 상기 단말에 의해 다운로딩되었던 세그먼트의 세그먼트 품질에 따라 가중 계산에 의해 획득되거나; 또는
    상기 사전설정된 품질 임계값의 값은 상기 단말에 의해 다운로딩되었던 세그먼트의 세그먼트 품질 및 제1 시간에 대응하는 모든 세그먼트의 세그먼트 품질에 따라 가중 계산에 의해 획득되는, 방법.
  4. 스트리밍 미디어에 기초하여 비트스트림 세그먼트를 선택하는 방법으로서,
    상기 스트리밍 미디어의 제1 플레이 시간에 대응하는 적어도 2개의 비트스트림 세그먼트의 세그먼트 정보 및 제2 플레이 시간에 대응하는 적어도 2개의 비트스트림 세그먼트의 세그먼트 정보를 개별로 획득하는 단계 - 상기 제1 플레이 시간에서의 비트스트림 세그먼트의 세그먼트 정보 및 상기 제2 플레이 시간에서의 비트스트림 세그먼트의 세그먼트 정보는 세그먼트 품질을 포함함 - ;
    상기 제1 플레이 시간에 대응하는 비트스트림 세그먼트 중에서 제1 비트스트림 세그먼트를 선택하고 상기 제2 플레이 시간에 대응하는 비트스트림 세그먼트 중에서 제2 비트스트림 세그먼트를 선택함으로써 제1 비트스트림 세그먼트 그룹을 형성하는 단계 - 상기 제1 비트스트림 세그먼트 그룹은 단말 상에서 연속적으로 플레이될 수 있는 비트스트림 세그먼트 그룹임 - ;
    (1) 상기 제1 비트스트림 세그먼트 그룹 내에 있으면서 선택되지 않았던 비트스트림 세그먼트 중에서 최소 세그먼트 품질을 가지는 비트스트림 세그먼트를 선택하고, (2) 세그먼트 품질의 오름차순으로 상기 제1 플레이 시간에서 상기 최소 세그먼트 품질을 가지는 비트스트림 세그먼트에 대응하는 모든 비트스트림 중에서, 세그먼트 품질이 상기 최소 세그먼트 품질을 가지는 비트스트림 세그먼트의 세그먼트 품질보다 높은 제3 비트스트림 세그먼트를 선택하고, (3) 상기 최소 세그먼트 품질을 가지는 비트스트림 세그먼트를 상기 제3 비트스트림 세그먼트로 대체하는 방식으로 상기 제1 비트스트림 세그먼트 그룹을 갱신하며, (4) 상기 갱신된 제1 비트스트림 세그먼트 그룹이 단말 상에서 연속적으로 플레이될 수 있는 비트스트림 세그먼트 그룹이고 상기 제1 플레이 시간에서의 모든 비트스트림 세그먼트 내의 최대 세그먼트 품질을 가지는 비트스트림 세그먼트가 상기 제3 비트스트림 세그먼트가 아니면, 상기 갱신된 제1 비트스트림 세그먼트 그룹이 단말 상에서 연속적으로 플레이될 수 없는 비트스트림 세그먼트 그룹이거나 상기 제3 비트스트림 세그먼트가 상기 제1 플레이 시간에서의 모든 비트스트림 세그먼트 중 최대 세그먼트 품질을 가지는 비트스트림 세그먼트일 때까지 (1) 내지 (3)을 반복하는 단계; 및
    (A) 상기 갱신된 제1 비트스트림 세그먼트 그룹이 단말 상에서 연속적으로 플레이될 수 없는 비트스트림 세그먼트 그룹이면, 상기 갱신된 제1 비트스트림 세그먼트 그룹 중에서, 연속적인 플레이를 수행할 수 없는 시간 이전에 있는 세그먼트 또는 연속적인 플레이를 수행할 수 없는 시간에서의 세그먼트 중 최대 세그먼트 품질을 가지는 비트스트림 세그먼트를 선택하며, (B) 상기 갱신된 제1 비트스트림 세그먼트 그룹 중 최대 세그먼트 품질을 가지는 비트스트림 세그먼트가 상기 제3 비트스트림 세그먼트이면, 세그먼트 품질의 내림차순으로 상기 제1 플레이 시간 또는 상기 제2 플레이 시간에서 상기 제3 비트스트림 세그먼트에 대응하는 모든 비트스트림 중에서, 세그먼트 품질이 상기 제3 비트스트림 세그먼트의 세그먼트 품질보다 낮은 비트스트림 세그먼트를 상기 제1 플레이 시간 또는 제2 플레이 시간에서 선택된 비트스트림 세그먼트로 선택하며, 그리고 (C) 상기 제1 플레이 시간 및 상기 제2 플레이 시간에 대응하는 선택된 비트스트림 세그먼트를 찾을 때까지 (A) 및 (B)를 반복하고, 상기 제1 플레이 시간에 대응하는 선택된 비트스트림 세그먼트 및 상기 제2 플레이 시간에 대응하는 선택된 비트스트림 세그먼트에 따라 제2 비트스트림 세그먼트 그룹을 획득하는 단계
    를 포함하는, 방법.
  5. 제4항에 있어서,
    상기 세그먼트 정보는 세그먼트 시간 길이 및 세그먼트 비트 레이트를 포함하고, 상기 스트리밍 미디어의 제1 플레이 시간에 대응하는 적어도 2개의 비트스트림 세그먼트의 세그먼트 정보 및 제2 플레이 시간에 대응하는 적어도 2개의 비트스트림 세그먼트의 세그먼트 정보를 개별로 획득하는 단계 이후에, 상기 방법은,
    단말의 버퍼 파라미터 정보를 획득하는 단계 - 상기 단말의 버퍼 파라미터 정보는 버퍼 내에 있으면서 플레이되지 않았던 스트리밍 미디어의 시간 길이를 포함함 - ; 및
    상기 단말이 스트리밍 미디어를 다운로딩하기 위해 이용 가능한 네트워크 대역폭을 획득하는 단계
    를 더 포함하며,
    상기 갱신된 제1 비트스트림 세그먼트 그룹이 단말 상에서 연속적으로 플레이될 수 있는 비트스트림 세그먼트 그룹인 것으로 판정하는 과정은,
    상기 제1 비트스트림 세그먼트 그룹 내의 상기 제1 비트스트림 세그먼트의 세그먼트 시간 길이 및 세그먼트 비트 레이트 및 상기 이용 가능한 네트워크 대역폭에 따라, 상기 제1 비트스트림 세그먼트의 다운로딩을 완료하기 위한 시간 길이를 판정하는 단계; 및
    상기 제1 비트스트림 세그먼트 그룹 내의 상기 제2 비트스트림 세그먼트의 세그먼트 시간 길이와 세그먼트 비트 레이트 및 상기 이용 가능한 네트워크 대역폭에 따라, 상기 제2 비트스트림 세그먼트의 다운로딩을 완료하기 위한 시간 길이를 판정하는 단계
    를 포함하고,
    여기서 상기 단말의 버퍼 내에 있으면서 플레이되지 않았던 스트리밍 미디어의 시간 길이와 제1 비트스트림 세그먼트의 세그먼트 시간 길이의 합이 상기 제1 비트스트림 세그먼트의 다운로딩을 완료하기 위한 시간 길이와 사전설정된 버퍼 임계값의 합보다 작고, 상기 단말의 버퍼 내에 있으면서 플레이되지 않았던 스트리밍 미디어의 시간 길이, 상기 제1 비트스트림 세그먼트의 세그먼트 시간 길이, 및 상기 제2 비트스트림 세그먼트의 세그먼트 시간 길이의 합이 상기 제1 비트스트림 세그먼트의 다운로딩을 완료하기 위한 시간 길이, 상기 제2 비트스트림 세그먼트의 다운로딩을 완료하기 위한 시간 길이, 및 상기 사전설정된 버퍼 임계값의 합보다 작으면, 상기 제1 비트스트림 세그먼트 그룹은 상기 단말 상에서 연속적으로 플레이될 수 있는 비트스트림 세그먼트 그룹인, 방법.
  6. 제4항에 있어서,
    상기 갱신된 제1 비트스트림 세그먼트 그룹이 단말 상에서 연속적으로 플레이될 수 없는 비트스트림 세그먼트 그룹이면, 상기 방법은,
    (1) 연속적인 플레이가 수행될 수 없는 시간 이전에 있으면서 상기 갱신된 제1 비트스트림 세그먼트 그룹 내의 세그먼트 또는 연속적인 플레이가 수행될 수 없는 시간에서의 세그먼트 중 최대 세그먼트 품질을 가지는 비트스트림 세그먼트가 상기 제3 비트스트림 세그먼트가 아니면, 세그먼트 품질의 내림차순으로 상기 제2 플레이 시간에 대응하는 모든 비트스트림 세그먼트 중에서, 세그먼트 품질이 상기 갱신된 제1 비트스트림 세그먼트 그룹 내의 상기 제2 플레이 시간에 대응하는 비트스트림 세그먼트의 세그먼트 품질보다 낮은 제4 비트스트림 세그먼트를 순차적으로 선택하며, 상기 갱신된 제1 비트스트림 세그먼트 그룹 내의 상기 제2 플레이 시간에 대응하는 비트스트림 세그먼트를 상기 제4 비트스트림 세그먼트로 대체하는 방식으로 상기 갱신된 제1 비트스트림 세그먼트 그룹을 갱신하며; (2) (A) 상기 갱신된 제1 비트스트림 세그먼트 그룹이 단말 상에서 연속적으로 플레이될 수 있는 비트스트림 세그먼트 그룹이면, 상기 갱신된 제1 비트스트림 세그먼트 그룹 내에 있으면서 선택되지 않았던 비트스트림 세그먼트 중에서 최소 세그먼트 품질을 가지는 비트스트림 세그먼트를 선택하고, (B) 세그먼트 품질의 내림차순으로 상기 제1 플레이 시간 또는 상기 제2 플레이 시간에서 상기 최소 세그먼트 품질을 가지는 비트스트림 세그먼트에 대응하는 모든 비트스트림 중에서, 세그먼트 품질이 상기 최소 세그먼트 품질을 가지는 비트스트림 세그먼트의 세그먼트 품질보다 높은 비트스트림 세그먼트를 갱신된 제3 비트스트림 세그먼트로 선택하며, (C) 상기 갱신된 제3 비트스트림 세그먼트에 따라 상기 제1 비트스트림 세그먼트 그룹을 갱신하고, (D) 상기 갱신된 제1 비트스트림 세그먼트 그룹이 단말 상에서 연속적으로 플레이될 수 없는 비트스트림 세그먼트 그룹일 때까지 또는 상기 갱신된 제3 비트스트림 세그먼트가 상기 제1 플레이 시간 또는 상기 제2 플레이 시간에서 상기 갱신된 제3 비트스트림 세그먼트에 대응하는 모든 비트스트림 중에서 최대 세그먼트 품질을 가지는 비트스트림 세그먼트일 때까지 (A) 내지 (C)를 반복하는 단계; 및
    (3) 상기 갱신된 제3 비트스트림 세그먼트가 상기 갱신된 제1 비트스트림 세그먼트 그룹 내의 최대 세그먼트 품질을 가지는 비트스트림 세그먼트일 때까지, 또는 상기 제4 비트스트림 세그먼트가 상기 제1 플레이 시간 또는 상기 제2 플레이 시간에서 상기 제4 비트스트림 세그먼트에 대응하는 모든 비트스트림 중에서 최소 세그먼트 품질을 가지는 비트스트림 세그먼트일 때까지 (1) 및 (2)를 반복하는 단계
    를 더 포함하는 방법.
  7. 제4항에 있어서,
    상기 제1 플레이 시간에 대응하는 선택된 비트스트림 세그먼트 및 상기 제2 플레이 시간에 대응하는 선택된 비트스트림 세그먼트에 따라 제2 비트스트림 세그먼트 그룹을 획득하는 단계 이후에, 상기 방법은,
    상기 제2 비트스트림 세그먼트 그룹에 따라, 상기 제2 비트스트림 세그먼트 그룹 내의 제1 플레이 시간에 대응하는 비트스트림 세그먼트의 세그먼트 품질을 획득하는 단계;
    (1) 상기 제2 비트스트림 세그먼트 그룹 내의 제1 플레이 시간에 대응하는 비트스트림 세그먼트의 세그먼트 품질이 사전설정된 품질 임계값보다 높으면, 상기 제1 플레이 시간에 대응하는 모든 비트스트림 세그먼트 중에서, 세그먼트 품질이 상기 제1 플레이 시간에 대응하는 선택된 비트스트림 세그먼트의 세그먼트 품질보다 낮은 제5 비트스트림 세그먼트를 순차적으로 선택하고, (2) 상기 제5 비트스트림 세그먼트를 상기 제1 플레이 시간에 대응하는 비트스트림 세그먼트로서 사용함으로써 상기 제2 비트스트림 세그먼트 그룹을 갱신하며, (3) 상기 제2 비트스트림 세그먼트 그룹 내의 상기 제1 플레이 시간에 대응하는 비트스트림 세그먼트의 세그먼트 품질이 사전설정된 품질 임계값보다 높지 않을 때까지 (1) 및 (2)를 반복하는 단계; 및
    상기 갱신된 제2 비트스트림 세그먼트 그룹을 출력하는 단계
    를 더 포함하는 방법.
  8. 제7항에 있어서,
    상기 품질 임계값은 사전설정될 수 있거나; 또는
    상기 품질 임계값은 상기 단말에 의해 다운로딩되었던 세그먼트의 세그먼트 품질에 따라 가중 계산에 의해 획득되거나; 또는
    상기 품질 임계값은 상기 단말에 의해 다운로딩되었던 세그먼트의 세그먼트 품질 및 제1 시간에 대응하는 모든 세그먼트의 세그먼트 품질에 따라 가중 계산에 의해 획득되는, 방법.
  9. 스트리밍 미디어에 기초하여 비트스트림 세그먼트를 선택하는 플레이어로서,
    스트리밍 미디어 내의 제1 시간에 대응하는 적어도 2개의 세그먼트의 각각의 세그먼트의 세그먼트 정보를 획득하도록 구성되어 있는 수신 모듈 - 상기 세그먼트 정보는 세그먼트 품질을 포함함 - ;
    상기 수신 모듈에 의해 획득된 각각의 세그먼트의 세그먼트 품질 및 사전설정된 품질 임계값에 따라, 상기 제1 시간에 대응하는 적어도 2개의 세그먼트 중에서 최초의 세그먼트를 선택하도록 구성되어 있는 최초의 세그먼트 선택 모듈; 및
    상기 최초의 세그먼트의 다운로딩이 단말의 플레이 제외를 야기하지 않는 것으로 판정되면, 상기 최초의 세그먼트 선택 모듈에 의해 선택된 최초의 세그먼트를 선택된 비트스트림 세그먼트로 사용하도록 구성되어 있는 세그먼트 선택 모듈
    을 포함하고,
    상기 수신 모듈은 단말의 버퍼 파라미터 정보를 획득하고 - 상기 버퍼 파라미터 정보는 사전설정된 버퍼 임계값을 포함함 - ; 그리고 상기 수신 모듈에 의해 수신된 최초의 세그먼트의 세그먼트 정보 및 상기 단말의 버퍼 파라미터 정보에 따라, 상기 최초의 세그먼트의 다운로딩이 단말의 이용 가능한 버퍼가 상기 사전설정된 버퍼 임계값보다 작게 되는 것을 야기하지 않는 것으로 판정되면, 상기 세그먼트 선택 모듈은 상기 최초의 세그먼트의 다운로딩이 단말의 플레이 제외를 야기하지 않는 것으로 판정하도록 추가로 구성되어 있고,
    상기 최초의 세그먼트 선택 모듈은 구체적으로, 상기 제1 시간에 대응하는 모든 세그먼트 중에서 세그먼트 품질과 품질 임계값 간의 차이의 절대값이 최소인 세그먼트를 선택하도록 구성되어 있고,
    상기 최초의 세그먼트의 세그먼트 정보 및 상기 단말의 버퍼 파라미터 정보에 따라, 상기 최초의 세그먼트의 다운로딩이 단말의 이용 가능한 버퍼가 상기 사전설정된 버퍼 임계값보다 작게 되는 것을 야기하는 것으로 판정되면, 상기 세그먼트 선택 모듈은 구체적으로 (1) 세그먼트 품질의 내림 차순으로 상기 제1 시간에 대응하는 모든 세그먼트 중에서 세그먼트 품질이 상기 최초의 세그먼트의 세그먼트 품질보다 낮은 제2 세그먼트를 선택하고, (2) 상기 제2 세그먼트를 갱신된 최초의 세그먼트로 사용하고, (3) 상기 갱신된 최초의 세그먼트의 다운로딩이 단말의 이용 가능한 버퍼가 상기 사전설정된 버퍼 임계값보다 작게 되는 것을 야기하지 않는 것으로 판정될 때까지 (1) 및 (2)를 반복하며, 상기 갱신된 최초의 세그먼트를 선택된 비트스트림 세그먼트로 사용하도록 추가로 구성되어 있는, 플레이어.
  10. 제9항에 있어서,
    상기 세그먼트 정보는 세그먼트 시간 길이 및 세그먼트 비트 레이트를 더 포함하고, 상기 단말의 버퍼 파라미터 정보는 버퍼 내에 있으면서 플레이되지 않았던 스트리밍 미디어의 시간 길이를 더 포함하며,
    상기 수신 모듈은 상기 단말이 스트리밍 미디어를 다운로딩하는 데 이용 가능한 네트워크 대역폭을 획득하도록 추가로 구성되어 있으며,
    상기 세그먼트 선택 모듈은 구체적으로 상기 최초의 세그먼트의 세그먼트 시간 길이와 세그먼트 비트 레이트 및 상기 이용 가능한 네트워크 대역폭에 따라, 상기 최초의 세그먼트의 다운로딩을 완료하기 위한 시간 길이를 판정하며, 상기 단말의 버퍼 내에 있으면서 플레이되지 않았던 상기 스트리밍 미디어의 시간 길이와 상기 최초의 세그먼트의 세그먼트 시간 길이의 합이 상기 최초의 세그먼트의 다운로딩을 완료하기 위한 시간 길이와 상기 사전설정된 버퍼 임계값의 합보다 작지 않으면, 상기 최초의 세그먼트의 다운로딩이 단말의 이용 가능한 버퍼가 상기 사전설정된 버퍼 임계값보다 작게 되는 것을 야기하지 않는 것으로 간주하고, 상기 최초의 세그먼트를 선택된 비트스트림 세그먼트로 사용하도록 구성되어 있는, 플레이어.
  11. 스트리밍 미디어에 기초하여 비트스트림 세그먼트를 선택하는 단말로서,
    상기 단말은 수신기 및 프로세서를 포함하며,
    상기 수신기는 상기 스트리밍 미디어의 제1 시간에 대응하는 적어도 2개의 세그먼트의 각각의 세그먼트의 세그먼트 정보를 획득하도록 구성되어 있으며, 상기 세그먼트 정보는 세그먼트 품질을 포함하며;
    상기 프로세서는 상기 수신기에 의해 획득된 각각의 세그먼트의 세그먼트 품질 및 사전설정된 품질 임계값에 따라, 제1 시간에 대응하는 적어도 2개의 세그먼트 중에서 최초의 세그먼트를 선택하도록 구성되고, 상기 최초의 세그먼트의 다운로딩이 단말의 플레이 제외를 야기하지 않는 것으로 판정되면, 상기 프로세서는 상기 프로세서에 의해 획득된 최초의 세그먼트를 선택된 비트스트림 세그먼트로 사용하도록 추가로 구성되어 있고,
    상기 수신기는 단말의 버퍼 파라미터 정보를 획득하도록 추가로 구성되어 있으며, 상기 버퍼 파라미터 정보는 사전설정된 버퍼 임계값을 포함하며,
    상기 프로세서는 상기 수신기에 의해 수신된 최초의 세그먼트의 세그먼트 정보 및 상기 단말의 버퍼 파라미터 정보에 따라, 상기 최초의 세그먼트의 다운로딩이 상기 단말의 이용 가능한 버퍼가 상기 사전설정된 버퍼 임계값보다 작게 되는 것을 야기하지 않는 것으로 판정되면, 상기 최초의 세그먼트의 다운로딩이 단말의 플레이 제외를 야기하지 않는 것으로 판정하도록 추가로 구성되어 있고,
    상기 프로세서는 구체적으로, 상기 제1 시간에 대응하는 모든 세그먼트 중에서 세그먼트 품질과 품질 임계값 간의 차이의 절대값이 최소인 세그먼트를 선택하도록 추가로 구성되어 있고,
    상기 프로세서는 구체적으로, (1) 상기 최초의 세그먼트의 세그먼트 정보 및 상기 단말의 버퍼 파라미터 정보에 따라, 상기 최초의 세그먼트의 다운로딩이 상기 단말의 이용 가능한 버퍼가 상기 사전설정된 버퍼 임계값보다 작게 되는 것을 야기하는 것으로 판정되면, 세그먼트 품질의 내림 차순으로 상기 제1 시간에 대응하는 모든 세그먼트 중에서 세그먼트 품질이 상기 최초의 세그먼트의 세그먼트 품질보다 낮은 제2 세그먼트를 선택하고, (2) 상기 제2 세그먼트를 갱신된 최초의 세그먼트로 사용하고, (3) 상기 갱신된 최초의 세그먼트의 다운로딩이 단말의 이용 가능한 버퍼가 상기 사전설정된 버퍼 임계값보다 작게 되는 것을 야기하지 않는 것으로 판정될 때까지 (1) 및 (2)를 반복하며, 상기 갱신된 최초의 세그먼트를 선택된 비트스트림 세그먼트로 사용하도록 추가로 구성되어 있는, 단말.
  12. 제11항에 있어서,
    상기 세그먼트 정보는 세그먼트 시간 길이 및 세그먼트 비트 레이트를 더 포함하고, 상기 단말의 버퍼 파라미터 정보는 버퍼 내에 있으면서 플레이되지 않았던 스트리밍 미디어의 시간 길이를 더 포함하며,
    상기 수신기는 상기 단말이 스트리밍 미디어를 다운로딩하는 데 이용 가능한 네트워크 대역폭을 획득하도록 추가로 구성되어 있으며,
    상기 프로세서는 구체적으로, 상기 최초의 세그먼트의 세그먼트 시간 길이와 세그먼트 비트 레이트 및 상기 이용 가능한 네트워크 대역폭에 따라, 상기 최초의 세그먼트의 다운로딩을 완료하기 위한 시간 길이를 판정하며; 상기 단말의 버퍼 내에 있으면서 플레이되지 않았던 스트리밍 미디어의 시간 길이와 상기 최초의 세그먼트의 세그먼트 시간 길이의 합이 상기 최초의 세그먼트의 다운로딩을 완료하기 위한 시간 길이와 상기 사전설정된 버퍼 임계값의 합보다 작지 않은 것으로 판정하고, 상기 최초의 세그먼트의 다운로딩이 상기 단말의 이용 가능한 버퍼가 상기 사전설정된 버퍼 임계값보다 작게 되는 것을 야기하지 않는 것으로 간주하며, 상기 최초의 세그먼트가 선택된 비트스트림 세그먼트로서 사용하도록 추가로 구성되어 있는, 단말.
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020157013302A 2013-01-14 2013-07-23 스트림 미디어에 기반하여 비트스트림 세그먼트를 선택하는 방법, 플레이어, 및 단말 KR101708728B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201310012242.8 2013-01-14
CN201310012242.8A CN103929684B (zh) 2013-01-14 2013-01-14 一种基于流媒体选择码流分段的方法、播放器和终端
PCT/CN2013/079881 WO2014107951A1 (zh) 2013-01-14 2013-07-23 一种基于流媒体选择码流分段的方法、播放器和终端

Publications (2)

Publication Number Publication Date
KR20150073207A KR20150073207A (ko) 2015-06-30
KR101708728B1 true KR101708728B1 (ko) 2017-02-24

Family

ID=51147739

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157013302A KR101708728B1 (ko) 2013-01-14 2013-07-23 스트림 미디어에 기반하여 비트스트림 세그먼트를 선택하는 방법, 플레이어, 및 단말

Country Status (6)

Country Link
EP (2) EP3214820A1 (ko)
JP (1) JP6155519B2 (ko)
KR (1) KR101708728B1 (ko)
CN (1) CN103929684B (ko)
ES (1) ES2627579T3 (ko)
WO (1) WO2014107951A1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016149863A1 (zh) * 2015-03-20 2016-09-29 华为技术有限公司 流媒体资源的下载方法、装置和终端设备
WO2017063189A1 (en) * 2015-10-16 2017-04-20 Qualcomm Incorporated Deadline signaling for streaming of media data
CN106713948B (zh) * 2015-11-13 2019-10-11 北京国双科技有限公司 视频分段加载方法和装置
CN105898403A (zh) * 2015-11-16 2016-08-24 乐视云计算有限公司 在线媒体服务的码流自适应方法及系统
CN107333153B (zh) * 2016-04-28 2020-06-02 华为技术有限公司 一种视频传输方法、基站及系统
CN110139168B (zh) * 2018-02-02 2021-07-13 中南大学 视频编码方法、装置、计算机设备及存储介质
CN109151584B (zh) * 2018-09-07 2020-10-27 华为技术有限公司 控制网络流量的方法与装置
CN110213643B (zh) * 2019-06-11 2023-03-24 北京奇艺世纪科技有限公司 一种流媒体缓存方法、装置及终端设备
CN110662093A (zh) * 2019-10-17 2020-01-07 北京达佳互联信息技术有限公司 一种初始码率确定方法、装置、电子设备及存储介质
DE112021001616T5 (de) 2020-04-10 2022-12-29 Fanuc Corporation Spritzgiesssystem
CN114501084B (zh) * 2022-02-17 2023-08-01 北京百度网讯科技有限公司 播放器的起播方法、装置、设备和介质
CN117560525B (zh) * 2024-01-11 2024-04-19 腾讯科技(深圳)有限公司 一种数据处理方法、装置、设备以及可读存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003019394A1 (en) * 2001-08-24 2003-03-06 Intel Corporation A general input/output architecture, protocol and related methods to support legacy interrupts
JP3935419B2 (ja) * 2002-11-19 2007-06-20 Kddi株式会社 動画像符号化ビットレート選択方式
CN100440866C (zh) * 2005-10-21 2008-12-03 清华大学 数据驱动覆盖网络中的分段发送调度方法
US20070133405A1 (en) * 2005-12-08 2007-06-14 Microsoft Corporation Congestion controller for network transmissions
CN100531210C (zh) * 2006-01-12 2009-08-19 北京邮电大学 一种用于移动流媒体传输的无缝切换的方法
US7796532B2 (en) * 2006-05-31 2010-09-14 Cisco Technology, Inc. Media segment monitoring
US9380096B2 (en) * 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US8812673B2 (en) * 2007-02-14 2014-08-19 Alcatel Lucent Content rate control for streaming media servers
US9124642B2 (en) * 2009-10-16 2015-09-01 Qualcomm Incorporated Adaptively streaming multimedia
EP2383999A1 (en) * 2010-04-29 2011-11-02 Irdeto B.V. Controlling an adaptive streaming of digital content
US8996713B2 (en) * 2010-06-30 2015-03-31 British Telecommunications Public Limited Company Video streaming
EP2410743A1 (en) * 2010-07-23 2012-01-25 Alcatel Lucent Method for transferring video chunks, server entity, client entity and intermediate network entity realizing such a method
EP2410744A1 (en) * 2010-07-23 2012-01-25 Alcatel Lucent Method for transferring video segments, client entity and proxy entity realizing such a method
JP5837621B2 (ja) * 2011-02-11 2015-12-24 インターデイジタル パテント ホールディングス インコーポレイテッド コンテンツの配信および受信の方法および装置
CN102710586B (zh) * 2011-03-28 2014-10-08 华为技术有限公司 流媒体传输控制方法、媒体传输控制方法、相关设备
KR101757994B1 (ko) * 2012-07-10 2017-07-13 브이아이디 스케일, 인크. 품질 주도형 스트리밍

Also Published As

Publication number Publication date
KR20150073207A (ko) 2015-06-30
CN103929684A (zh) 2014-07-16
EP2903219B1 (en) 2017-04-26
ES2627579T3 (es) 2017-07-28
WO2014107951A1 (zh) 2014-07-17
JP2016502351A (ja) 2016-01-21
EP2903219A1 (en) 2015-08-05
CN103929684B (zh) 2018-06-15
EP3214820A1 (en) 2017-09-06
EP2903219A4 (en) 2015-11-25
JP6155519B2 (ja) 2017-07-05

Similar Documents

Publication Publication Date Title
KR101708728B1 (ko) 스트림 미디어에 기반하여 비트스트림 세그먼트를 선택하는 방법, 플레이어, 및 단말
US11611785B2 (en) Systems and methods for encoding and streaming video encoded using a plurality of maximum bitrate levels
JP6159329B2 (ja) マルチメディアコンテンツのシームレスな解像度切替のための解像度の選択
CN106688239A (zh) 视频下载方法、装置及系统
KR101693567B1 (ko) 스트리밍 미디어 세그먼트 준비 방법 및 장치
US11973996B2 (en) Staggered key frame video encoding
CN110022498B (zh) 一种实现码率切换的方法及装置
JP2016502351A5 (ko)
JP6544188B2 (ja) バッファサイズ決定装置、システム、バッファサイズ決定方法、映像データ再生方法およびプログラム
EP2704443A2 (en) Device for controlling streaming of media, server, receiver and method of controlling thereof
JP6891497B2 (ja) 情報処理装置、情報処理システム及びプログラム
KR100996348B1 (ko) 적응형 스트리밍 서비스 버퍼링 방법 및 이를 이용한스트리밍 서비스 수신장치
CN109672887B (zh) 一种视频编码方法及装置

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)