KR20230017335A - 버퍼 처리 방법, 장치, 기기 및 컴퓨터 저장 매체 - Google Patents

버퍼 처리 방법, 장치, 기기 및 컴퓨터 저장 매체 Download PDF

Info

Publication number
KR20230017335A
KR20230017335A KR1020230008015A KR20230008015A KR20230017335A KR 20230017335 A KR20230017335 A KR 20230017335A KR 1020230008015 A KR1020230008015 A KR 1020230008015A KR 20230008015 A KR20230008015 A KR 20230008015A KR 20230017335 A KR20230017335 A KR 20230017335A
Authority
KR
South Korea
Prior art keywords
receiving end
buffer
available bandwidth
size
value
Prior art date
Application number
KR1020230008015A
Other languages
English (en)
Other versions
KR102607561B1 (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 KR20230017335A publication Critical patent/KR20230017335A/ko
Application granted granted Critical
Publication of KR102607561B1 publication Critical patent/KR102607561B1/ko

Links

Images

Classifications

    • 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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2401Monitoring of the client buffer
    • 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
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440281Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44227Monitoring of local network, e.g. connection or bandwidth variations; Detecting new devices in the local network

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

본 발명은 버퍼 처리 방법, 장치, 기기 및 컴퓨터 저장 매체를 제공하는 바, 여기서, 당해 방법은, 수신단의 이용가능 대역폭 감소폭이 미리 설정된 제1 임계값을 초과하는 것으로 검출되면, 수신단에 의해 수신된 데이터 프레임 레이트 감소폭이 상기 제1 임계값보다 작은 미리 설정된 제2 임계값을 초과하는지 여부를 검출하는 것; 상기 제2 임계값을 초과한 것이 검출되면, 상기 수신단의 버퍼 크기를 조정하는 것; 및 그렇지 않을 경우, 상기 수신단의 버퍼 크기를 그대로 유지하는 것을 포함한다. 본 발명에 의해 제공되는 방식을 통해 수신단의 버퍼를 최적화하고, 지연을 감소시킬 수 있다.

Description

버퍼 처리 방법, 장치, 기기 및 컴퓨터 저장 매체{BUFFER PROCESSING METHODS, DEVICES, APPARATUSES AND COMPUTER STORAGE MEDIA}
본 발명은 멀티미디어 재생 기술 분야에 관한 것인 바, 특히 버퍼 처리 방법, 장치, 기기 및 컴퓨터 저장 매체에 관한 것이다.
본 부분은 청구 범위에 진술된 본 발명의 실시 방식에 대해 배경 또는 맥락을 제공하는데 있다. 여기서의 설명은 본 부분에 포함되어 있다고 하여 종래 기술로 간주하여서는 안된다.
수신단은 오디오 또는 비디오 등 멀티미디어를 재생할 때, 만약 네트워크가 이상적이다면, 즉 패킷 손실이 없고, 지터가 없으며, 지연이 낮다면, 수신한 하나의 프레임의 완전한 데이터를 직접 재생하는 바, 효과가 매우 좋다. 그러나, 실제의 네트워크는 늘 매우 복잡하므로, 만약 여전히 이렇게 직접 재생하면 필연적으로 랙 걸림을 초래하게 된다. 따라서, 수신단은 지터 버퍼(jitterbuffer)를 이용하여 수신한 데이터 프레임에 대해 버퍼링을 수행한 후, 다시 지터 버퍼(jitterbuffer)에서 데이터 프레임을 취득하여 디코딩 및 재생을 수행한다.
버퍼링은 지연을 대가로 치르게 되며, 지연이 클수록 지터에 대한 억제 효과가 좋으나, 지연이 크면 좋지 않은 재생 경험을 유저에 안겨준다. 따라서, 일반적으로 버퍼 크기를 동적으로 조정하는 방식을 이용하여 밸런스를 맞춘다. 현재 버퍼 크기를 동적으로 조정하는 방식은 주요하게 실시간 네트워크 대역폭에 기반하여 조정하며, 버퍼 크기와 실시간 네트워크 대역폭은 역상관의 관계를 이룬다. 예를 들면, 네트워크 대역폭이 증가하면, 버퍼를 감소시키고; 네트워크 대역폭이 감소하면, 버퍼를 증대한다. 그러나, 경우에 따라 네트워크 대역폭이 감소하더라도 실제의 네트워크 대역폭이 여전히 비디오 비트 전송률보다 높을 수 있으며, 버퍼를 증가하지 않는 경우에도 여전히 원활하게 재생할 수 있다. 이로부터 알 수 있듯이, 현재 버퍼 크기를 동적으로 조정하는 방식은 부적절한 지연을 초래하게 된다.
이에 따라, 본 발명은 수신단의 버퍼를 최적화하고 지연을 감소하기 위한 버퍼 처리 방법, 장치, 기기 및 컴퓨터 저장 매체를 제공한다.
구체적인 기술 방안은 아래와 같다.
제1 측면에 따르면, 본 발명은 버퍼 처리 방법을 제공하는 바, 당해 방법은,
수신단의 이용가능 대역폭 감소폭이 미리 설정된 제1 임계값을 초과하는 것으로 검출되면, 수신단에 의해 수신된 데이터 프레임 레이트 감소폭이 상기 제1 임계값보다 작은 미리 설정된 제2 임계값을 초과하는지 여부를 검출하는 것;
상기 제2 임계값을 초과한 것이 검출되면, 상기 수신단의 버퍼 크기를 조정하는 것; 그렇지 않을 경우, 상기 수신단의 버퍼 크기를 그대로 유지하는 것을 포함한다.
본 발명의 바람직한 일 실시 방식에 따르면, 상기 수신단의 이용가능 대역폭은 상기 수신단이 데이터 프레임 각각을 수신하는 시간 및 데이터 프레임의 크기에 기반하여 확정한 것이다.
본 발명의 바람직한 일 실시 방식에 따르면, 상기 제2 임계값은 상기 제1 임계값의 2분의 1 이하이다.
본 발명의 바람직한 일 실시 방식에 따르면, 상기 제2 임계값은 10%이고, 상기 제1 임계값은 20%이다.
본 발명의 바람직한 일 실시 방식에 따르면, 상기 수신단의 버퍼 크기를 조정하는 것은,
수신단의 이용가능 대역폭에 기반하여 상기 수신단의 버퍼 크기를 조정하는 것을 포함하며, 여기서, 버퍼 크기와 수신단의 이용가능 대역폭은 역상관이다.
본 발명의 바람직한 일 실시 방식에 따르면, 상기 수신단의 이용가능 대역폭에 기반하여 상기 수신단의 버퍼 크기를 조정하는 것은,
상기 수신단이 미리 설정된 시간 프레임 내에 수신한 데이터 프레임 크기의 최대값과 평균값을 확정하고, 또한 노이즈 지연을 확정하는 것;
상기 수신단의 이용가능 대역폭, 상기 최대값과 평균값 및 노이즈 지연을 이용하여, 수요되는 버퍼 크기의 값을 추산하는 것; 및
상기 수신단의 버퍼 크기를 추산하여 얻은 값까지 조정하는 것을 포함한다.
본 발명의 바람직한 일 실시 방식에 따르면, 상기 노이즈 지연을 확정하는 것은,
상기 수신단이 이미 수신한 노이즈에 대해 칼만 필터링을 수행한 후, 상기 노이즈 지연을 예측하여 얻는 것을 포함한다.
제2 측면에 따르면, 본 발명은 버퍼 처리 장치를 제공하는 바, 당해 장치는,
수신단의 이용가능 대역폭 감소폭이 미리 설정된 제1 임계값을 초과하는 것으로 검출되면, 수신단에 의해 수신된 데이터 프레임 레이트 감소폭이 상기 제1 임계값보다 작은 미리 설정된 제2 임계값을 초과하는지 여부를 검출하기 위한 검출 유닛; 및
상기 검출 유닛에 의해 수신단의 데이터 프레임 레이트 감소폭이 미리 설정된 제2 임계값을 초과하는 것으로 검출되면, 상기 수신단의 버퍼 크기를 조정하고; 그렇지 않을 경우, 상기 수신단의 버퍼 크기를 그대로 유지하기 위한 버퍼 조정 유닛을 구비한다.
본 발명의 바람직한 일 실시 방식에 따르면, 당해 장치는,
상기 수신단이 데이터 프레임 각각을 수신하는 시간 및 데이터 프레임의 크기에 기반하여 상기 수신단의 이용가능 대역폭을 확정하기 위한 대역폭 확정 유닛을 더 구비한다.
본 발명의 바람직한 일 실시 방식에 따르면, 상기 제2 임계값은 10%이고, 상기 제1 임계값은 20%이다.
본 발명의 바람직한 일 실시 방식에 따르면, 상기 버퍼 조정 유닛은 구체적으로, 수신단의 이용가능 대역폭에 기반하여 상기 수신단의 버퍼 크기를 조정하며, 여기서, 버퍼 크기와 수신단의 이용가능 대역폭은 역상관이다.
본 발명의 바람직한 일 실시 방식에 따르면, 상기 버퍼 조정 유닛은 구체적으로,
상기 수신단이 미리 설정된 시간 프레임 내에 수신한 데이터 프레임 크기의 최대값과 평균값을 확정하고, 또한 노이즈 지연을 확정하며;
상기 수신단의 이용가능 대역폭, 상기 최대값과 평균값 및 노이즈 지연을 이용하여, 수요되는 버퍼 크기의 값을 추산하고;
상기 수신단의 버퍼 크기를 추산하여 얻은 값까지 조정한다.
제3 측면에 따르면, 본 발명은 기기를 제공하는 바, 상기 기기는,
하나 또는 복수의 프로세서; 및
하나 또는 복수의 프로그램을 저장하기 위한 저장 장치를 구비하며,
상기 하나 또는 복수의 프로그램이 상기 하나 또는 복수의 프로세서에 의해 실행되면, 상기 하나 또는 복수의 프로세서로 하여금 상기의 임의의 하나의 방법을 구현하도록 한다.
제4 측면에 따르면, 본 발명은 컴퓨터 실행 가능 명령을 포함하는 저장 매체를 제공하는 바, 상기 컴퓨터 실행 가능 명령이 컴퓨터 프로세서에 의해 실행될 때, 상기의 임의의 하나의 방법이 실행된다.
이상의 기술 방안으로부터 알 수 있듯이, 본 발명에 의해 제공되는 방식은 수신단의 이용가능 대역폭의 감소폭을 고려할 뿐만 아니라, 또한 수신단의 데이터 프레임 레이트의 감소폭을 결합하여, 단지 데이터 프레임 레이트의 감소폭도 비교적 클 때에만 버퍼를 조정함으로써, 수신단의 버퍼를 최적화하고, 지연을 감소시킨다.
도 1은 본 발명의 실시예가 적용되는 주요한 시스템 아키텍처의 모식도이고;
도 2는 본 발명의 실시예에 의해 제공되는 주요한 방법의 순서도이며;
도 3은 본 발명의 실시예에 의해 제공되는 장치의 구조도이고;
도 4는 본 발명 실시 방식을 구현하기에 적합한 예시적인 컴퓨터 시스템/서버를 나타낸 블록도이다.
이하, 본 발명의 목적, 기술안 및 장점을 더욱 명확히 하기 위하여, 도면과 구체적인 실시예를 결합하여 본 발명을 상세히 설명한다.
종래 기술에서는 수신단이 수행하는 버퍼 크기의 조정은 단지 이용가능 대역폭의 영향만 고려하였을 뿐, 수신단의 멀티 미디어 데이터 프레임의 실제 수신 정황은 고려하지 않았으므로, 이용가능 대역폭에 기반한 버퍼 크기에 대한 조정의 부정확성을 초래하는 바, 경우에 따라 비교적 큰 지연을 초래한다. 따라서, 본 발명은 버퍼 크기를 조정할지 여부를 결정할 때, 수신단 이용가능 대역폭을 고려할 뿐만 아니라, 또한 수신단의 멀티 미디어 데이터 프레임에 대한 실제 수신 정황도 고려한다. 이하, 실시예를 참고하여 상세히 설명한다.
도 1은 본 발명의 실시예가 적용되는 주요한 시스템 아키텍처의 모식도인 바, 도 1에 나타낸 바와 같이, 당해 시스템은 송신단과 수신단을 포함한다. 여기서, 송신단은 미디어 스트림을 송신하는 기기인 바, 멀티 미디어 데이터 프레임에 대해 인코딩과 송신을 수행하는데 사용한다. 수신단은 미디어 스트림을 수신하는 기기인 바, 일반적으로 멀티 미디어 데이터 프레임에 대해 버퍼와 디코딩을 수행하며, 또한 재생을 수행하는데 사용한다. 여기서, 본 발명에 관한 방법과 장치는 주요하게 수신단 측에서 구현한다.
송신단과 수신단은 네트워크를 통해 미디어 스트림의 전송을 수행할 수 있으며, 예를 들면 유선, 무선 통신 링크 또는 광섬유 케이블과 같은 다양한 연결 유형을 포함할 수 있다.
본 발명의 실시예에 있어서, 수신단이 사용하는 버퍼는 지터 버퍼(jitterbuffer)일 수 있으며, 또한 기타 형식의 버퍼를 사용할 수도 있다. 후속의 실시예에 있어서, 지터 버퍼(jitterbuffer)의 예를 들어 설명한다. 또한, 본 발명의 실시예에 관한 멀티 미디어 데이터 프레임은 비디오 프레임, 오디오 프레임, 화상 프레임 등일 수 있다. 후속의 실시예에 있어서, 비디오 프레임의 예를 들어 설명한다.
도 2는 본 발명의 실시예에 의해 제공되는 주요한 방법의 플로우 차트인 바, 당해 방법은 수신단에 설치된 버퍼 처리 장치에 의해 실행될 수 있으며, 당해 장치는 수신단에 위치한 애플리케이션일 수 있거나, 또는 수신단에 위치한 애플리케이션 중의 플러그인 또는 소프트웨어 개발 키트(Software Development Kit, SDK) 등 기능 유닛일 수도 있다. 도 2에 나타낸 바와 같이, 당해 방법은 주요하게 이하의 단계를 포함한다.
201에 있어서, 수신단의 이용가능 대역폭을 검출한다.
본 단계에서 수신단의 이용가능 대역폭의 검출은 정기적으로 실행하거나, 실시간으로 실행하거나 (예를 들면, 데이터 프레임 각각을 수신할 때마다 모두 대역폭 검출을 실행함), 또는 특정 이벤트에 의해 트리거되어 실행될 수도 있다. 본 발명은 이에 대해 특히 한정을 가하지 않는다.
수신단의 이용가능 대역폭은 수신단이 데이터 프레임 각각을 수신하는 시간 및 데이터 프레임의 크기에 기반하여 추산하여 얻는다. 예를 들면, 데이터 프레임의 크기와 당해 데이터 프레임을 수신한 시간 사이의 비율 값에 기반하여 추산하여 얻는다. 본 발명의 실시예에 있어서, 수신단의 이용가능 대역폭을 bwe로 나타내며, 단위는 bps(bits per second, 비트 레이트)이다.
202에 있어서, 검출된 수신단의 이용가능 대역폭 감소폭이 미리 설정된 제1 임계값을 초과하는지 여부를 판단하며, 초과하였을 경우 203을 실행하고, 초과하지 않았을 경우 계속하여 201에 진입하여 이용가능 대역폭의 검출을 수행한다.
203에 있어서, 수신단에 의해 수신된 비디오 프레임 레이트 감소폭이 미리 설정된 제2 임계값을 초과하는지 여부를 검출하며, 초과하였을 경우 204를 실행하고; 초과하지 않았을 경우 205를 실행한다.
일반적인 경우, 단지 이용가능 대역폭이 대폭으로 감소되는 경우가 발생하는 경우에만, 버퍼 크기의 조정을 수행할 필요가 있으며, 이로써 수신단의 재생 랙 걸림을 피한다. 본 발명의 실시예에 있어서, 수신단의 이용가능 대역폭 감소폭이 미리 설정된 제1 임계값을 초과하는지 여부를 검출한다. 여기서의 감소폭은 감소한 폭을 나타내는 바, 일반적으로 백분율로 나타낸다.
수신단에 의해 수신된 이용가능 대역폭 감소폭이 미리 설정된 제1 임계값을 초과할 경우, 수신단의 이용가능 대역폭은 수신된 비디오 프레임을 이용하여 추산한 것이므로, 수신단의 비디오 수신 정황을 꼭 진실하게 반영한 것이 아니다. 따라서, 또한 수신단의 비디오 프레임 레이트의 감소폭을 더 검출한다. 여기서의 감소폭도 마찬가지로 백분율로 나타낸다.
상기의 제2 임계값은 제1 임계값보다 작으며, 값은 실험값, 경험값 등을 사용할 수 있다. 바람직한 일 실시 방식으로서, 제2 임계값은 제1 임계값의 2분의 1 이하일 수 있다. 예를 들면, 제1 임계값은 20%이고, 제2 임계값은 10%일 수 있다.
204에 있어서, 수신단의 버퍼 크기를 조정하며, 이번의 조정이 종료된 후, 계속하여 단계 201에 진입하여 이용가능 대역폭의 검출을 수행한다.
수신단의 버퍼 크기의 조정은 다양한 방식을 사용할 수 있는 바, 여기서, 하나의 방식은 수신단의 이용가능 대역폭에 기반하여 수신단의 버퍼 크기를 조정할 수 있으며, 여기서, 버퍼 크기와 수신단의 이용가능 대역폭은 역상관이다.
구체적으로, 수신단의 이용가능 대역폭을 추산한 후, 수신단이 미리 설정된 시간 프레임 내에 수신한 데이터 프레임 크기의 최대값(maxFrameSize로 나타냄) 및 평균값(avgFrameSize로 나타냄)을 확정하며, 또한 노이즈 지연을 확정한다(varNoise로 나타냄).
여기서, varNoise를 확정할 때, 수신단이 이미 수신한 노이즈에 대해 칼만 필터링을 수행한 후, 노이즈 지연을 예측하여 얻는다.
그 후, 수신단의 이용가능 대역폭 bwe를 이용하여, 상기 최대값(maxFrameSize)과 평균값(avgFrameSize) 및 노이즈 지연(varNoise)을 이용하여, 수요되는 버퍼 크기의 값 지터 지연(jitterDelay)을 추산한다.
예를 들면, 이하의 공식을 이용할 수 있다.
jitterDelay =
Figure pat00001
(1)
상기 공식 중의 jitterDelay는 빅 데이터 프레임의 전송으로 인한 지연과 네트워크 노이즈로 인한 지연과 같은 두 부분으로 구성된다.
여기서, 빅 데이터 프레임의 전송으로 인한 지연은
Figure pat00002
로 구현하고, 네트워크 노이즈로 인한 지연은 노이즈 지연(varNoise)로 구현한다.
노이즈 지연(varNoise)은 종래의 계산 방식을 사용할 수 있으며, 여기서 그 중 하나를 예로 든다.
varNoise = alpha*varNoise + (1-alpha)*(d_dT - _avgNoise)*(d_dT-avgNoise) (2)
여기서, avgNoise = alpha*avgNoise + (1-alpha)*d_dT; (3)
현재 노이즈 지연(varNoise)과 평균 노이즈(avgNoise)의 값에 대해 상기 업데이트를 수행하면, 업데이트 후의 노이즈 지연(varNoise)과 평균 노이즈(avgNoise)의 값이 얻어진다는 것을 알 수 있다.
alpha는 확률 계수로서, 프레임 레이트의 영향을 받는다. 프레임 레이트가 낮아지면 확률 계수(alpha)의 값이 작아지는데, 이는 현재 노이즈가 커지고 있는 것을 나타낸다. avgNoise는 수신한 이력 데이터 프레임의 평균 노이즈이고, d_dT는 프레임 지연 실제값과 예측 값 사이의 차분이다.
본 발명의 실시예에 의해 제공되는 상기 구체적인 공식에 의해 한정되지 않으며, 상기 공식에 의해 구현된 원리에 기초한 변형 및 확장은 모두 본 발명의 보호 범위 내에 있음을 설명할 필요가 있다.
마지막으로 수신단의 버퍼 크기를 추산하여 얻은 값 지터 지연(jitterDelay)까지 조정하여, 이번의 지터 버퍼(jitterbuffer)의 조정이 종료되며, 계속하여 단계 201에 진입하여 이용가능 대역폭의 검출을 수행한다.
상기의 예 중의 지터 지연(jitterDelay)을 확정하는 방식 외에, 또한 기타 방식을 사용할 수 있는 바, 여기서 모든 예를 열거하지 않는다.
205에 있어서, 수신단의 버퍼 크기를 그대로 유지하며, 계속하여 단계 201에 진입하여 이용가능 대역폭의 검출을 수행한다.
만약 수신단의 비디오 프레임 레이트가 비교적 큰 감소폭이 없으면, 이는 수신단의 비디오 프레임에 대한 수신 정황이 여전히 양호하다는 것을 나타내며, 비디오 프레임의 원활한 재생을 보장할 수 있다. 수신단의 이용가능 대역폭에 기반하여 지터 버퍼(jitterBuffer)의 크기를 증대할 필요가 없게 되므로, 종래 기술의 방식과 비교하여 재생 비디오 프레임의 지연을 감소시켰다.
또한, 상기 실시예에 기초하여 아래와 같이 해석한다. 이용가능 대역폭은 데이터 프레임 각각의 시간 및 데이터 프레임의 크기에 기반하여 예측한 값이고, 데이터 프레임은 레이트는 진실한 값이다. 따라서, 실제 이용가능 대역폭 및 데이터 프레임 레이트는 모두 다양한 요소의 영향을 받으며, 예측한 이용가능 대역폭의 감소는 꼭 데이터 프레임 레이트의 감소를 초래하지 않으므로, 데이터 프레임 레이트의 감소가 결과이다. 만약 직접 데이터 프레임 레이트 감소폭에 기반하여 판단한다면, 버퍼 크기의 조정의 지연을 초래하게 된다. 그러나, 본원의 상기 실시예는 먼저 이용가능 대역폭 감소폭의 판단에 기반한 후, 다시 데이터 프레임 레이트 감소폭에 기반하여 판단하므로, 버퍼 조정의 지연 문제를 효과적으로 감소시킬 수 있다.
이상은 본 발명의 실시예에 의해 제공되는 방법에 대한 상세한 설명이며, 이하, 실시예를 참고하여 본 발명에 의해 제공되는 장치를 상세히 설명하기로 한다. 도 3은 본 발명의 실시예에 의해 제공되는 장치의 구조도인 바, 도 3에 나타낸 바와 같이, 당해 장치는 검출 유닛(01) 및 버퍼 조정 유닛(02)을 구비할 수 있고, 또한 대역폭 확정 유닛(03)을 더 구비할 수 있다. 여기서, 각 구성 유닛의 주요한 기능은 아래와 같다.
검출 유닛(01)은 수신단의 이용가능 대역폭을 검출하며, 수신단의 이용가능 대역폭 감소폭이 미리 설정된 제1 임계값을 초과하는 것으로 검출되면, 수신단의 비디오 프레임 레이트 감소폭이 제1 임계값보다 작은 미리 설정된 제2 임계값을 초과하는지 여부를 검출한다.
버퍼 조정 유닛(02)은 검출 유닛(01)에 의해 검출된 수신단의 비디오 프레임 레이트 감소폭이 미리 설정된 제2 임계값을 초과하면, 수신단의 버퍼 크기를 조정하고; 미리 설정된 제2 임계값을 초과하지 않으며, 수신단의 버퍼 크기를 그대로 유지한다.
대역폭 확정 유닛(03)은 수신단이 데이터 프레임 각각을 수신하는 시간 및 데이터 프레임의 크기에 기반하여 수신단의 이용가능 대역폭을 확정한다.
여기서, 제1 임계값과 제2 임계값은 실험값 또는 경험값일 수 있다. 바람직한 일 실시 방식으로서, 제2 임계값은 제1 임계값의 2분의 1일 수 있다. 예를 들면, 제2 임계값은 10%이고, 제1 임계값은 20%이다.
여기서, 버퍼 조정 유닛(02)은 수신단의 이용가능 대역폭에 기반하여 수신단의 버퍼 크기를 조정할 수 있으며, 여기서, 버퍼 크기와 수신단의 이용가능 대역폭은 역상관이다.
구체적으로, 버퍼 조정 유닛(02)은 수신단이 미리 설정된 시간 프레임 내에 수신한 데이터 프레임 크기의 최대값과 평균값을 확정하고, 또한 노이즈 지연을 확정하며; 그 후 수신단의 이용가능 대역폭, 상기 최대값과 평균값 및 노이즈 지연을 이용하여, 수요되는 버퍼 크기의 값을 추산하고; 다시 수신단의 버퍼 크기를 추산하여 얻은 값까지 조정할 수 있다.
여기서, 버퍼 조정 유닛(02)은 수신단이 이미 수신한 노이즈에 대해 칼만 필터링을 수행한 후, 상기 노이즈 지연을 예측하여 얻을 수 있다.
여기서, 상기 버퍼 크기의 값에 대한 추산 및 노이즈 지연에 대한 예측은, 방법 실시예 중의 공식 (1)과 공식 (2)을 사용할 수 있으나, 이 두 구체적인 공식에 의해 한정되지 않으며, 당해 공식에 의해 구현된 원리에 기초한 변형 및 확장은 모두 본 발명의 보호 범위 내에 있다.
도 4는 본 발명 실시 방식을 구현하기에 적합한 예시적인 컴퓨터 시스템/서버(012)를 나타낸 블록도이다. 도 4에 나타낸 컴퓨터 시스템/서버(012)는 단지 일 예인바, 본 발명의 실시예의 기능 및 사용 범위에 대해 어떠한 한정을 이루어서는 안된다.
도 4에 나타낸 바와 같이, 시스템/서버(012)는 범용 계산 설비의 형식으로 구현된다. 시스템/서버(012)의 구성 요소는 하나 또는 복수의 처리 유닛(016), 시스템 메모리(028), 및 서로 다른 시스템 구성 요소(시스템 메모리(028)와 처리 유닛(016)을 포함)를 연결하는 버스(018)를 포함할 수 있으나 이에 한정되지 않는다.
버스(018)는 다양한 유형의 버스 구조 중 하나 또는 복수를 나타내는 바, 메모리 버스 또는 메모리 제어기, 주변 장치 버스, 그래픽 가속 포트, 프로세서 또는 멀티 버스 구조 중 임의의 버스 구조를 사용한 로컬 버스를 포함한다. 예를 들어, 이러한 체계 구조는 (ISA) 버스, 마이크로 채널 구조(MAC) 버스, 향상된 ISA 버스, 비디오 전자 표준 위원회(VESA) 로컬 버스 및 (PCI) 버스를 포함하지만 이에 한정되지 않는다.
시스템/서버(012)는 전형적으로 다양한 컴퓨터 시스템 판독 가능 매체를 포함한다. 이러한 매체는 휘발성 매체와 비 휘발성 매체, 분리형 매체와 비 분리형 매체를 포함하는 시스템/서버(012)에 의해 액세스될 수 있는 모든 사용 가능한 매체일 수 있다.
시스템 메모리(028)는 휘발성 메모리의 형식의 컴퓨터 시스템 판독 가능 매체, 예를 들어 램(RAM)(030) 및/또는 캐시 메모리(032)를 포함할 수 있다. 시스템/서버(012)은 분리형/비 분리형, 휘발성/비 휘발성 컴퓨터 시스템 저장 매체를 더 포함한다. 단지 예로서, 저장 시스템(034)은 판독 기록에 사용될 수 있는 비 분리형, 비 휘발성 자기 매체(도 4에는 도시되지 않음, 통상적으로 "하드 디스크 드라이브"로 지칭함)이다. 비록 도 4에는 도시되지 않았지만, 분리형 비 휘발성 디스크(예를 들어, "플로피 디스크")에 대해 판독 기록하기 위한 디스크 드라이브, 및 분리형 비 휘발성 시디롬(예를 들어: CD-ROM, DVD-ROM 또는 기타 광학 매체)에 대해 판독 기록하기 위한 시디롬 드라이버를 제공할 수 있다. 이러한 경우, 각각의 드라이브는 하나 또는 복수의 데이터 매체 인터페이스를 통해 버스(018)와 서로 연결된다. 메모리(028)는 적어도 하나의 프로그램 제품을 포함할 수 있고, 당해 프로그램 제품은 한 조(예를 들어 적어도 하나) 프로그램 모듈을 구비하며, 이러한 프로그램 모듈은 본 발명의 본 발명의 각 실시예의 기능을 수행한다.
한 그룹(적어도 하나)의 프로그램 모듈(042)을 구비한 프로그램/유틸리티(040)는, 예를 들어 메모리(028)에 저장될 수 있고, 이러한 프로그램 모듈(042)은 운영 체제, 하나 또는 복수의 응용 프로그램, 기타 프로그램 모듈 및 프로그램 데이터를 포함하지만 이에 한정하지 않으며, 이러한 예시에서의 각각 또는 일부 조합에는 네트워크 환경의 구현을 포함할 수 있다. 프로그램 모듈(042)은 일반적으로 본 발명에서 설명한 각 실시예 중의 기능 및/또는 방법을 통상적으로 수행한다.
시스템/서버(012)는 하나 또는 복수의 외부 기기(014)(예를 들어 키보드, 포인팅 기기, 디스플레이(024) 등)와 통신할 수도 있고, 하나 또는 복수의 사용자가 당해 시스템/서버(012)와 상호 작용할 수 있도록 하는 기기와 통신할 수도 있으며, 및/또는 당해 시스템/서버(012)가 하나 또는 복수의 기타 계산 기기와 통신할 수 있도록 하는 임의의 기기(예를 들어 랜카드, 모뎀 등)와 통신한다. 이런 통신은 입력/출력(I/O) 인터페이스(022)를 통해 할 수 있다. 또한, 시스템/서버(012)는 네트워크 어댑터(020)를 통해 하나 또는 복수의 네트워크(예를 들어 근거리 통신망(LAN), 광역 통신망(WAN) 및/또는 예를 들어 인터넷과 같은 공중 네트워크)와 통신할 수도 있다. 도시된 바와 같이, 네트워크 어댑터(020)는 버스(018)를 통해 시스템/서버(012)의 기타 모듈과 통신한다. 이해해야 하는 것은, 도면에 도시되지 않았지만, 시스템/서버(012)를 결합하여 마이크로 코드, 기기 드라이브, 리던던트 프로세싱 유닛, 외부 디스크 드라이브 배열, RAID 시스템, 테이프 드라이브 및 데이터 백업 저장 시스템 등을 포함하나 이에 한정되지 않는 기타 하드웨어 및/또는 소프트웨어 모듈을 사용할 수 있음을 명백히 하여야 한다.
처리 유닛(016)은 시스템 메모리(028)에 저장된 프로그램을 실행하는 것을 통해, 각종 기능 응용 및 데이터 처리를 수행하는 바, 예를 들어 본 발명의 실시예에 의해 제공된 방법의 흐름을 구현한다.
상기의 컴퓨터 프로그램은 컴퓨터 저장 매체 내에 설정될 수 있는 바, 즉 당해 컴퓨터 저장 매체는 컴퓨터 프로그램이 인코딩되어 있으며, 당해 프로그램이 하나 또는 복수의 컴퓨터에 의해 실행될 때, 하나 또는 복수의 컴퓨터로 하여금 본 발명에 기재된 실시예에 나타낸 방법의 흐름 및/또는 장치 조작을 실행하도록 한다. 예를 들면, 상기 하나 또는 복수의 프로세서에 의해 본 발명의 실시예에 의해 제공되는 방법의 흐름이 실행된다.
시간과 기술의 발전에 따라, 매체의 함의는 점점 광범해지고 있는 바, 컴퓨터 프로그램의 전파 경로는 더는 유형 매체에 제한되지 않으며, 또한 직접 네트워크에서 다운로드할 수 있다. 하나 또는 복수의 컴퓨터 판독 가능 매체의 임의의 조합을 이용할 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터 판독 가능 신호 매체 또는 컴퓨터 판독 가능 저장 매체일 수 있다. 컴퓨터 판독 가능 저장 매체는 예를 들어 전기, 자기, 광학, 전자기, 적외선, 또는 반도체의 시스템, 장치 또는 소자, 또는 상기의 임의의 조합일 수 있지만 이에 한정하지 않는다. 컴퓨터 판독 가능 저장 매체의 더 구체적인 예(비 완정적인 리스트)는 하나 또는 복수의 도선을 구비하는 전기적 연결, 휴대용 컴퓨터 디스크, 하드 디스크, 램(RAM), 롬(ROM), 이피롬(EPROM 또는 플래시 메모리), 광섬유, 시디롬(CD-ROM), 광학 저장 소자, 자기 저장 소자, 또는 상술한 임의의 적절한 조합을 포함한다. 본 문서에서, 컴퓨터 판독 가능 저장 매체는 임의의 프로그램을 포함하거나 저장하는 유형의 매체일 수 있고, 당해 프로그램은 명령 수행 시스템, 장치 또는 소자에 의해 사용되거나 또는 이들과 결합하여 사용된다.
컴퓨터 판독 가능한 신호 매체는 베이스 밴드 또는 반송파의 일부분으로 전파되는 데이터 신호를 포함할 수 있고, 여기서 컴퓨터 판독가능한 프로그램 코드를 적재한다. 이러한 전파된 데이터 신호는 전자기 신호, 광학 신호 또는 상술한 임의의 적절한 조합을 포함하는 여러 가지 형식을 이용할 수 있지만, 이에 한정되지 않는다. 컴퓨터 판독가능한 신호 매체는 컴퓨터 판독가능 저장 매체 이외의 임의의 컴퓨터 판독가능 매체일 수도 있고, 당해 컴퓨터 판독가능 매체는 명령 수행 시스템, 장치 또는 소자에 의해 사용되거나 또는 이들과 결합하여 사용하기 위한 프로그램을 송신, 전파 또는 전송할 수 있다.
컴퓨터 판독 가능 매체에 포함되는 프로그램 코드는 임의의 적합한 무선, 유선, 광 케이블, RF 등 또는 상술한 임의의 적절한 조합을 포함하지만 이에 한정하지 않는 매체로 전송할 수 있다.
하나 또는 복수의 종류의 프로그래밍 언어 또는 이의 조합으로 본 발명의 조작을 수행하기 위한 컴퓨터 프로그램 코드를 편집할 수 있고, 상기 프로그래밍 언어에는 예를 들어 Java, Smalltalk, C++와 같은 객체 지향 프로그래밍 언어를 포함하고, 예를 들어 "C" 언어 또는 유사한 프로그래밍 언어와 같은 통상적인 프로시저식 프로그래밍 언어를 더 포함한다. 프로그램 코드는 완전히 사용자 컴퓨터에서 수행할 수 있고, 부분적으로 사용자 컴퓨터에서 수행할 수 있으며, 독립적인 소프트웨어 패키지로 수행할 수 있고, 일부분이 사용자 컴퓨터에서 일부분이 원격 컴퓨터에서 수행할 수 있으며, 또는 완전히 원격 컴퓨터 또는 서버에서 수행할 수 있다. 원격 컴퓨터에 관한 상황에서, 원격 컴퓨터는 근거리 통신망(LAN) 또는 광역 네트워크(WAN)를 포함하는 임의의 종류의 네트워크를 통해 사용자 컴퓨터에 연결될 수 있고, 또는, 외부 컴퓨터(예를 들어 인터넷 서비스 공급자를 이용하여 인터넷을 통해 연결)에 연결할 수 있다.
상기의 설명은 단지 본 발명의 바람직한 실시예일 뿐, 본 발명을 한정하지 않으며, 본 발명의 정신과 원칙 내에서 수행한 임의의 수정, 동등 교체, 개량 등은 모두 본 발명이 보호하고자 하는 범위 내에 포함되어야 할 것이다.

Claims (13)

  1. 버퍼 처리 방법에 있어서,
    수신단의 이용가능 대역폭의 감소폭이 미리 설정된 제1 임계값을 초과한 것이 검출되면, 수신단에 의해 수신된 데이터 프레임 레이트 감소폭이 상기 제1 임계값보다 작은 미리 설정된 제2 임계값을 초과하는지 여부를 검출하는 것 - 상기 이용가능 대역폭은 수신된 데이터 프레임의 크기와 상기 데이터 프레임을 수신한 시간 사이의 비율 값에 기반하여 추산하여 얻는 것이고, 상기 데이터 프레임 레이트는 비디오 재생 시에 실제로 측정한 진실한 값임 -; 및
    상기 제2 임계값을 초과한 것이 검출되면, 상기 수신단의 버퍼 크기를 조정하는 것; 그렇지 않을 경우, 상기 수신단의 버퍼 크기를 그대로 유지하는 것을 포함하는 것을 특징으로 하는
    버퍼 처리 방법.
  2. 제1항에 있어서,
    상기 제2 임계값은 상기 제1 임계값의 2분의 1 이하인 것을 특징으로 하는
    버퍼 처리 방법.
  3. 제2항에 있어서,
    상기 제2 임계값은 10%이고,
    상기 제1 임계값은 20%인 것을 특징으로 하는
    버퍼 처리 방법.
  4. 제1항에 있어서,
    상기 수신단의 버퍼 크기를 조정하는 것은,
    수신단의 이용가능 대역폭에 기반하여 상기 수신단의 버퍼 크기를 조정하는 것을 포함하며, 여기서, 버퍼 크기와 수신단의 이용가능 대역폭은 역상관인 것을 특징으로 하는
    버퍼 처리 방법.
  5. 제4항에 있어서,
    상기 수신단의 이용가능 대역폭에 기반하여 상기 수신단의 버퍼 크기를 조정하는 것은,
    상기 수신단이 미리 설정된 시간 프레임 내에 수신한 데이터 프레임 크기의 최대값과 평균값을 확정하고, 노이즈 지연을 확정하는 것;
    상기 수신단의 이용가능 대역폭, 상기 최대값과 평균값 및 노이즈 지연을 이용하여, 수요되는 버퍼 크기의 값을 추산하는 것; 및
    상기 수신단의 버퍼 크기를 추산하여 얻은 값까지 조정하는 것을 포함하는 것을 특징으로 하는
    버퍼 처리 방법.
  6. 제5항에 있어서,
    상기 노이즈 지연을 확정하는 것은,
    상기 수신단이 이미 수신한 노이즈에 대해 칼만 필터링을 수행한 후, 상기 노이즈 지연을 예측하여 얻는 것을 포함하는 것을 특징으로 하는
    버퍼 처리 방법.
  7. 버퍼 처리 장치에 있어서,
    수신단의 이용가능 대역폭의 감소폭이 미리 설정된 제1 임계값을 초과한 것이 검출되면, 수신단에 의해 수신된 데이터 프레임 레이트 감소폭이 상기 제1 임계값보다 작은 미리 설정된 제2 임계값을 초과하는지 여부를 검출하기 위한 검출 유닛 - 상기 이용가능 대역폭은 수신된 데이터 프레임의 크기와 상기 데이터 프레임을 수신한 시간 사이의 비율 값에 기반하여 추산하여 얻는 것이고, 상기 데이터 프레임 레이트는 비디오 재생 시에 실제로 측정한 진실한 값임 -; 및
    상기 검출 유닛에 의해 수신단의 데이터 프레임 레이트 감소폭이 미리 설정된 제2 임계값을 초과한 것이 검출되면, 상기 수신단의 버퍼 크기를 조정하고; 그렇지 않을 경우, 상기 수신단의 버퍼 크기를 그대로 유지하기 위한 버퍼 조정 유닛을 포함하는 것을 특징으로 하는
    버퍼 처리 장치.
  8. 제7항에 있어서,
    상기 제2 임계값은 10%이고,
    상기 제1 임계값은 20%인 것을 특징으로 하는
    버퍼 처리 장치.
  9. 제7항에 있어서,
    상기 버퍼 조정 유닛은,
    수신단의 이용가능 대역폭에 기반하여 상기 수신단의 버퍼 크기를 조정하며, 여기서, 버퍼 크기와 수신단의 이용가능 대역폭은 역상관인 것을 특징으로 하는
    버퍼 처리 장치.
  10. 제9항에 있어서,
    상기 버퍼 조정 유닛은,
    상기 수신단이 미리 설정된 시간 프레임 내에 수신한 데이터 프레임 크기의 최대값과 평균값을 확정하고, 노이즈 지연을 확정하며;
    상기 수신단의 이용가능 대역폭, 상기 최대값과 평균값 및 노이즈 지연을 이용하여, 수요되는 버퍼 크기의 값을 추산하고;
    상기 수신단의 버퍼 크기를 추산하여 얻은 값까지 조정하는 것을 특징으로 하는
    버퍼 처리 장치.
  11. 기기에 있어서,
    하나 또는 복수의 프로세서; 및
    하나 또는 복수의 프로그램을 저장하기 위한 저장 장치를 포함하며,
    상기 하나 또는 복수의 프로그램이 상기 하나 또는 복수의 프로세서에 의해 실행되면, 상기 하나 또는 복수의 프로세서로 하여금 제1항 내지 제6항 중 어느 한 항에 기재된 방법을 구현하도록 하는 것을 특징으로 하는
    기기.
  12. 컴퓨터 실행 가능 명령을 포함하는 저장 매체에 있어서,
    상기 컴퓨터 실행 가능 명령이 컴퓨터 프로세서에 의해 실행될 때, 제1항 내지 제6항 중 어느 한 항에 기재된 방법이 실행되는 것을 특징으로 하는
    저장 매체.
  13. 컴퓨터 프로세서에 의해 실행될 때, 제1항 내지 제6항 중 어느 한 항에 기재된 방법이 실행되는 것을 특징으로 하는
    컴퓨터 프로그램.
KR1020230008015A 2019-07-17 2023-01-19 버퍼 처리 방법, 장치, 기기 및 컴퓨터 저장 매체 KR102607561B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2019106466648 2019-07-17
CN201910646664.8A CN110351595B (zh) 2019-07-17 2019-07-17 一种缓冲处理方法、装置、设备和计算机存储介质
KR1020200084737A KR20210010822A (ko) 2019-07-17 2020-07-09 버퍼 처리 방법, 장치, 기기 및 컴퓨터 저장 매체

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020200084737A Division KR20210010822A (ko) 2019-07-17 2020-07-09 버퍼 처리 방법, 장치, 기기 및 컴퓨터 저장 매체

Publications (2)

Publication Number Publication Date
KR20230017335A true KR20230017335A (ko) 2023-02-03
KR102607561B1 KR102607561B1 (ko) 2023-11-29

Family

ID=68175602

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020200084737A KR20210010822A (ko) 2019-07-17 2020-07-09 버퍼 처리 방법, 장치, 기기 및 컴퓨터 저장 매체
KR1020230008015A KR102607561B1 (ko) 2019-07-17 2023-01-19 버퍼 처리 방법, 장치, 기기 및 컴퓨터 저장 매체

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020200084737A KR20210010822A (ko) 2019-07-17 2020-07-09 버퍼 처리 방법, 장치, 기기 및 컴퓨터 저장 매체

Country Status (5)

Country Link
US (1) US11310558B2 (ko)
EP (1) EP3767915B1 (ko)
JP (1) JP7066940B2 (ko)
KR (2) KR20210010822A (ko)
CN (1) CN110351595B (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3767962A1 (en) * 2019-07-19 2021-01-20 THEO Technologies A media client with adaptive buffer size and the related method
EP4011090A4 (en) * 2019-08-08 2023-05-31 Intel Corporation LINK AND STREAMING MEDIA PERFORMANCE PREDICTION TECHNOLOGIES
CN112752109B (zh) * 2019-10-30 2022-05-17 上海哔哩哔哩科技有限公司 视频播放控制方法和系统
CN113079421B (zh) * 2020-01-03 2023-10-24 阿里巴巴集团控股有限公司 信息处理方法、装置、设备及存储介质
US11470380B1 (en) 2021-03-26 2022-10-11 Meta Platforms, Inc. Systems and methods for adaptively managing live video streaming
FR3122956A1 (fr) * 2021-05-17 2022-11-18 Orange Téléchargement progressif adaptatif d’un contenu diffusé en temps réel sur un réseau de radiocommunication mobile, programme d’ordinateur et terminal lecteur de flux multimédia associés
CN113473229B (zh) * 2021-06-25 2022-04-12 荣耀终端有限公司 一种动态调节丢帧阈值的方法及相关设备
CN114189712B (zh) * 2021-12-10 2024-01-16 眸芯科技(上海)有限公司 视频监控中支持解码帧率控制的虚拟vdp装置及应用

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101017352B1 (ko) * 2008-12-30 2011-02-28 학교법인 동의학원 무선 인터넷 환경에서의 스트리밍 콘텐츠 전송 방법
US20120281572A1 (en) * 2009-09-23 2012-11-08 Google Inc. Method And Device For Determining A Jitter Buffer Level
KR101818577B1 (ko) * 2011-04-05 2018-01-15 삼성전자 주식회사 통신 서비스 지원 중 전원 절약을 위한 휴대 단말기 운용 방법 및 이를 지원하는 휴대 단말기
CN109327716A (zh) * 2018-10-31 2019-02-12 北京达佳互联信息技术有限公司 延迟控制方法、延迟控制装置和计算机可读存储介质
KR20190043868A (ko) * 2017-10-19 2019-04-29 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005322995A (ja) 2004-05-06 2005-11-17 Nippon Telegr & Teleph Corp <Ntt> リアルタイム映像転送におけるバッファ制御方法、送信端末、受信端末、映像配信システム、およびプログラム
US20060092918A1 (en) * 2004-11-04 2006-05-04 Alexander Talalai Audio receiver having adaptive buffer delay
US7636022B2 (en) 2005-06-10 2009-12-22 Symmetricom, Inc. Adaptive play-out buffers and clock operation in packet networks
CN100588249C (zh) * 2006-07-27 2010-02-03 腾讯科技(深圳)有限公司 调节视频质量的方法、系统及终端
US7962637B2 (en) * 2006-11-03 2011-06-14 Apple Computer, Inc. Dynamic adjustments of video streams
US7796521B2 (en) * 2006-11-09 2010-09-14 Alcatel-Lucent Usa Inc. Method and apparatus for policing bandwidth usage for a home network
JP2008199361A (ja) 2007-02-14 2008-08-28 Oki Electric Ind Co Ltd ストリームデータ受信再生装置
US8824546B2 (en) * 2007-06-19 2014-09-02 Vantrix Corporation Buffer based rate control in video coding
JP5026167B2 (ja) * 2007-07-02 2012-09-12 パナソニック株式会社 ストリーム伝送サーバおよびストリーム伝送システム
CN101340358B (zh) 2007-07-04 2011-04-20 鼎桥通信技术有限公司 一种流量控制方法、系统及流量控制实体
JP5082715B2 (ja) 2007-09-20 2012-11-28 ソニー株式会社 受信装置、受信方法およびコンピュータプログラム
US8446452B2 (en) * 2008-11-07 2013-05-21 Magor Communications Corporation Video rate adaptation for congestion control
US8392600B2 (en) * 2009-09-14 2013-03-05 Adobe Systems Incorporated Dynamic stream switch control
JP5686133B2 (ja) * 2010-04-23 2015-03-18 日本電気株式会社 利用可能帯域計測システム、送信装置、利用可能帯域計測方法およびプログラム
US8284082B2 (en) * 2010-10-27 2012-10-09 Sling Media Pvt. Ltd. Dynamic encode setting adjustment
US9020039B2 (en) * 2011-01-06 2015-04-28 Sonic Ip, Inc. Systems and methods for encoding alternative streams of video for use in adaptive bitrate streaming
US9106787B1 (en) * 2011-05-09 2015-08-11 Google Inc. Apparatus and method for media transmission bandwidth control using bandwidth estimation
CN102378065A (zh) * 2011-10-19 2012-03-14 江西省南城县网信电子有限公司 基于mpeg-4的流媒体服务器端配置缓冲区的方法及系统
US20150249845A1 (en) * 2012-09-13 2015-09-03 Life On Air Inc. Live video broadcasting from a mobile device
CN103051955B (zh) * 2012-12-21 2016-08-03 华为技术有限公司 流媒体播放方法及装置
KR102037413B1 (ko) * 2013-02-22 2019-11-26 삼성전자주식회사 스트리밍 서비스를 제공하기 위한 동적 버퍼링 방법 및 그 장치
CN103259803B (zh) * 2013-06-04 2016-01-27 腾讯科技(深圳)有限公司 一种音频回放方法、装置和系统
CN103533451B (zh) * 2013-09-30 2017-01-11 广州华多网络科技有限公司 抖动缓存调节方法及其系统
US20150109909A1 (en) * 2013-10-21 2015-04-23 Time Warner Cable Enterprises Llc User-based profiling and network access
CN105208390B (zh) * 2014-06-30 2018-07-20 杭州海康威视数字技术股份有限公司 视频编码的码率控制方法及其系统
US9438853B2 (en) * 2014-07-29 2016-09-06 Qualcomm Incorporated Receiver driven up-switching in video telephony
KR102509179B1 (ko) * 2014-10-02 2023-03-13 자코티 브바 저-대기시간 멀티미디어 스트리밍 환경의 문제 패턴 취급 방법
CN104519325B (zh) * 2014-12-29 2018-12-07 大唐移动通信设备有限公司 一种基于4g网络的无线视频监控系统自适应保障方法
CN104735410B (zh) * 2015-02-11 2019-03-19 东电创新(北京)科技发展股份有限公司 一种低于4k/s的窄带宽视频传输方法及系统
CN106341738B (zh) * 2015-07-08 2021-02-02 杭州海康威视数字技术股份有限公司 流媒体网络传输的带宽计算方法、服务器端和系统
EP3347810A1 (en) * 2015-09-10 2018-07-18 Google LLC Playing spherical video on a limited bandwidth connection
CN105392001B (zh) * 2015-11-16 2019-05-28 四川大学 基于梯度的自适应高性能视频编码码率控制方法
EP3420658A1 (en) * 2016-02-26 2019-01-02 Net Insight Intellectual Property AB Retransmission of data in packet networks
US10482668B2 (en) 2016-06-02 2019-11-19 Thales Visionix, Inc. Miniature vision-inertial navigation system with extended dynamic range
CN106385620B (zh) * 2016-10-25 2019-06-21 浙江红苹果电子有限公司 一种基于流媒体的数据平滑输出方法
CN108667748B (zh) * 2017-03-29 2021-02-12 华为技术有限公司 一种控制带宽的方法、装置、设备和存储介质
US11442445B2 (en) * 2017-08-02 2022-09-13 Strong Force Iot Portfolio 2016, Llc Data collection systems and methods with alternate routing of input channels
US10349059B1 (en) * 2018-07-17 2019-07-09 Wowza Media Systems, LLC Adjusting encoding frame size based on available network bandwidth
CN109996087B (zh) * 2019-03-21 2020-04-24 武汉大学 一种基于有限状态机的面向视频直播的码率自适应方法及装置
US10924347B1 (en) * 2019-10-16 2021-02-16 Microsoft Technology Licensing, Llc Networking device configuration value persistence

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101017352B1 (ko) * 2008-12-30 2011-02-28 학교법인 동의학원 무선 인터넷 환경에서의 스트리밍 콘텐츠 전송 방법
US20120281572A1 (en) * 2009-09-23 2012-11-08 Google Inc. Method And Device For Determining A Jitter Buffer Level
KR101818577B1 (ko) * 2011-04-05 2018-01-15 삼성전자 주식회사 통신 서비스 지원 중 전원 절약을 위한 휴대 단말기 운용 방법 및 이를 지원하는 휴대 단말기
KR20190043868A (ko) * 2017-10-19 2019-04-29 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
CN109327716A (zh) * 2018-10-31 2019-02-12 北京达佳互联信息技术有限公司 延迟控制方法、延迟控制装置和计算机可读存储介质

Also Published As

Publication number Publication date
CN110351595A (zh) 2019-10-18
KR102607561B1 (ko) 2023-11-29
JP7066940B2 (ja) 2022-05-16
EP3767915B1 (en) 2023-04-05
JP2021019351A (ja) 2021-02-15
CN110351595B (zh) 2023-08-18
US20210021895A1 (en) 2021-01-21
KR20210010822A (ko) 2021-01-28
US11310558B2 (en) 2022-04-19
EP3767915A1 (en) 2021-01-20

Similar Documents

Publication Publication Date Title
KR102607561B1 (ko) 버퍼 처리 방법, 장치, 기기 및 컴퓨터 저장 매체
CN113453045B (zh) 网络带宽预测方法、系统、设备及存储介质
KR101121212B1 (ko) 통신 시스템에서 데이터 전송 방법
WO2014133745A2 (en) Multi-stream optimization
US20110299589A1 (en) Rate control in video communication via virtual transmission buffer
KR20120052336A (ko) 미디어 스트림 내의 디지털 오디오 샘플들에 대한 적응 이득 제어
CN112312137A (zh) 一种视频传输方法、装置、电子设备及存储介质
CN112312229A (zh) 一种视频传输方法、装置、电子设备及存储介质
WO2022257425A1 (zh) 传输速率控制方法、装置、电子设备和可读存储介质
CN111768790B (zh) 用于传输语音数据的方法和装置
CN111629210A (zh) 一种数据处理的方法、装置及电子设备
WO2019100475A1 (zh) 一种数据传输方法、装置、设备及存储介质
CN115801639B (zh) 一种带宽探测方法、装置、电子设备及存储介质
CN114143271B (zh) 一种基于拥塞检测的带宽估算方法及装置
CN113453004B (zh) 视频编码速率调节方法、系统、设备及存储介质
KR101701623B1 (ko) VoIP 통화음성 대역폭 감소를 은닉하는 시스템 및 방법
CN115695853A (zh) 视频处理方法、电子设备和计算机程序产品
CN114927138A (zh) 网络电话处理方法、系统、设备及存储介质
CN101309331A (zh) 语音通讯的方法、装置及其系统和数据卡、终端
CN113747202A (zh) 一种通过带宽估计发送数据的方法、装置、设备及介质
CN113301029A (zh) 数据发送方法、装置、设备以及存储介质
CN116248973A (zh) 带宽估计方法、装置、设备以及存储介质
CN115278308B (zh) 媒体流处理方法、装置、设备及存储介质
JP4392378B2 (ja) 音声符号化選択制御方法
CN117749728A (zh) 数据处理方法、装置、设备及存储介质

Legal Events

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