KR101907724B1 - 네트워크 상태에 따른 신호 프로세싱 모듈 선택 기법 - Google Patents

네트워크 상태에 따른 신호 프로세싱 모듈 선택 기법 Download PDF

Info

Publication number
KR101907724B1
KR101907724B1 KR1020147005874A KR20147005874A KR101907724B1 KR 101907724 B1 KR101907724 B1 KR 101907724B1 KR 1020147005874 A KR1020147005874 A KR 1020147005874A KR 20147005874 A KR20147005874 A KR 20147005874A KR 101907724 B1 KR101907724 B1 KR 101907724B1
Authority
KR
South Korea
Prior art keywords
processing module
mobile device
power supply
channel
logical analysis
Prior art date
Application number
KR1020147005874A
Other languages
English (en)
Other versions
KR20140074886A (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 KR20140074886A publication Critical patent/KR20140074886A/ko
Application granted granted Critical
Publication of KR101907724B1 publication Critical patent/KR101907724B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/0003Software-defined radio [SDR] systems, i.e. systems wherein components typically implemented in hardware, e.g. filters or modulators/demodulators, are implented using software, e.g. by involving an AD or DA conversion stage such that at least part of the signal processing is performed in the digital domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/06Receivers
    • H04B1/16Circuits
    • H04B1/18Input circuits, e.g. for coupling to an antenna or a transmission line
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5691Access to open networks; Ingress point selection, e.g. ISP selection
    • H04L12/5692Selection among different networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • 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
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/006Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer
    • H04M7/0072Speech codec negotiation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/164Feedback from the receiver or from the transmission channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • H04L43/0835One way packet loss
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0858One way delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • H04L67/5651Reducing the amount or size of exchanged application data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)

Abstract

무선 통신 네트워크를 통해 구축된 채널을 통해 원격 장치와 패킷-기반 통화를 수행하기 위한 모바일 장치, 방법, 및 컴퓨터 프로그램 프로덕트가 개시된다. 모바일 장치는 무선 통신 네트워크에 액세스하도록 구성되는 무선 액세스 회로와, 상기 무선 통신 네트워크를 통해 구축된 채널을 통해 원격 장치와 패킷-기반 통화를 수행하도록 통신 클라이언트 애플리케이션을 실행하기 위한 실행 수단 - 상기 통신 클라이언트 애플리케이션은 적어도 하나의 네트워크 파라미터를 모니터링하도록 구성됨 - 과, 프로세싱 기능을 구현하도록 선택적으로 작동가능한 하드웨어 프로세싱 모듈과, 상기 프로세싱 기능을 구현하도록 선택적으로 실행가능한 소프트웨어 프로세싱 모듈과, 적어도 하나의 모니터링되는 네트워크 파라미터에 기초하여 상기 하드웨어 프로세싱 모듈 및 소프트웨어 프로세싱 모듈 중 하나에 통화를 공급하기 위한 선택 메커니즘을 포함한다.

Description

네트워크 상태에 따른 신호 프로세싱 모듈 선택 기법{SELECTION OF SIGNAL PROCESSING MODULE DEPENDING ON NETWORK CONDITIONS}
본 발명은 모바일 장치 상에서 수행되는 통화(call) 중의 신호 처리에 관한 것이다.
일부 통신 시스템에서는 개인용 컴퓨터와 같은 장치의 사용자가 인터넷과 같은 패킷-기반 컴퓨터 네트워크를 통해 음성 또는 영상 통화를 수행할 수 있다. 이러한 통신 시스템은 VoIP(voice or video over internet protocol) 시스템을 포함한다. 이러한 시스템들은 흔히 기존의 고정 라인 또는 모바일 셀룰러 네트워크에 비해 비용이 훨씬 저렴하기 때문에 사용자에게 이익이 된다. 이는 특히 장거리 통신을 위한 경우에 그러할 수 있다. VoIP 시스템을 이용하기 위해, 사용자는 장치에 클라이언트 소프트웨어를 설치하고 실행한다. 클라이언트 소프트웨어는 VoIP 연결을 설정하고, 그외 등록 및 인증과 같은 다른 기능을 제공한다. 또한, 음성 통신에 추가하여, 클라이언트는 인스턴트 메시징("IM"), SMS 메시징, 파일 전송 및 보이스메일과 같은 기타 통신 매체에 대한 연결을 설정할 수 있다.
모바일 대역폭이 증가하면서, 인터넷-가능 모바일 폰과 같은 모바일 장치에서 구동되는 클라이언트 애플리케이션을 통해 패킷-기반 영상 통화를 제공하는 것에 관심도가 증가하고 있다. 이러한 모바일 장치는 GPRS(General Packet Radio Service) 또는 HSPA(High Speed Packet Access)와 같은 셀룰러 네트워크의 패킷-기반 서비스를 통해 인터넷에 액세스하기 위한 하나 이상의 허가 대역(licensed bands)에서 작동하는 셀룰러 트랜시버 및/또는 (예를 들어, WLAN 네트워크의 와이파이 액세스 포인트의) 무선 액세스 포인트를 통해 인터넷에 액세스하기 위한 하나 이상의 비허가 대역(unlicensed bands)에서 작동하는 단거리 RF 트랜시버와 같은 트랜시버를 포함한다.
도 1은 인터넷과 같은 패킷-기반 네트워크(101) 및 모바일 셀룰러 네트워크(103)를 포함하는 통신 시스템(100)의 개략도다. 모바일 셀룰러 네트워크(103)는 복수의 기지국(104)을 포함한다(종종 3GPP 용어로 노드 Bs라고 불림). 각각의 기지국(104)은 셀룰러 네트워크(103)의 대응 셀에 서빙하도록(serve) 배열된다. 더욱이, 패킷-스위치 네트워크(101)는 인터넷에 액세스하기 위해 와이파이 액세스 포인트와 같은 복수의 무선 액세스 포인트(106)를 포함한다. 이는 하나 이상의 무선 근거리 네트워크(WLAN)의 액세스 포인트일 수 있다.
네트워크(101 및/또는 103)를 통해 통신하기 위해 복수의 사용자 단말기(102)가 배열된다. 사용자 단말기(102) 중 적어도 하나는 인터넷-가능 모바일 폰과 같은 모바일 장치를 포함하고, 사용자 단말기(102) 중 다른 것들은 예를 들어 데스크탑 또는 랩탑 PC를 포함할 수 있다.
일례의 모바일 장치(102a)가 도 2a 및 2b에 개략적으로 도시된다. 모바일 장치(102a)는 통신 클라이언트 애플리케이션을 저장하는 메모리(213)에 연결된 하나 이상의 프로세서 유닛(CPU)(211) 형태의 프로세싱 장치를 포함한다. 프로세서(211)는 마이크로폰(202), 스피커(203), 카메라(205), 전원(206), 하나 이상의 RF 트랜시버(207), 키패드(209), 및 디스플레이(212)에 또한 연결된다.
하나 이상의 트랜시버(207)는 모바일 장치(102a)가 하나 이상의 네트워크(101 및/또는 103)에 액세스할 수 있게 한다. 예를 들어, 모바일 장치(102a)는 인터넷(101)에 액세스하기 위한 유선 또는 무선 모뎀 및/또는 기지국(104)을 통해 모바일 셀룰러 네트워크(103)에 액세스하기 위한 셀룰러 무선 트랜시버를 포함할 수 있다. 무선 모뎀의 경우에, 이는 무선 액세스 포인트(106)를 통해 인터넷(101)에 액세스하기 위한 단거리 무선 트랜시버(예를 들어, 와이파이)를 통상적으로 포함한다.
인터넷(101)에 대한 액세스는 GPRS(General Packet Radio Service) 또는 HSPA(High Speed Packet Access)와 같은 다른 수단에 의해 또한 실현될 수 있다. 높은 레벨의 셀룰러 계층에서, 셀룰러 네트워크(103)는 복수의 기지국(104)에 각각 연결되는 복수의 셀룰러 컨트롤러 스테이션(105)을 포함한다. 컨트롤러 스테이션(105)은 모바일 셀룰러 네트워크(103)의 종래의 회로-스위치 부분 뿐만 아니라 인터넷(101)에도 연결된다. 따라서, 컨트롤러 스테이션(105)은 인터넷(101)에 대한 액세스를 포함한, 기지국(104)을 통한 패킷-기반 통신에 대한 액세스를 가능하게 하도록 구성된다. 컨트롤러 스테이션(105)은 예를 들어, USTM 또는 HSPA 용어로 라디오 네트워크 컨트롤러(RNC)라고도 하고 GSM/EDGD 용어로 기지국 컨트롤러(BSC)라고도 한다.
메모리(213)는 프로세서(211)에 연결된 전자적 소거가능 및 프로그래밍가능 메모리(EEPROM, 또는 "플래시" 메모리)와 같은 비휘발성 메모리를 포함할 수 있다. 메모리는 프로세서 상에서 실행되도록 배열되는, 그리고, 실행될 때 인터넷(101) 및/또는 셀룰러 네트워크(103)를 통한 통신에 참여하도록 구성되는, 통신 코드를 저장한다. 통신 코드는 앞서 논의한 바와 같이, 셀룰러 네트워크(103)의 컨트롤러 스테이션(105), 기지국(104), 및 셀룰러 무선 트랜시버(207)를 통해, 및/또는 단거리 무선 트랜시버(207) 및 무선 액세스 포인트(106)를 통해 인터넷(101)을 통해 다른 사용자 단말기(102)와 음성 또는 영상 통화와 같은 통신을 수행하기 위한 통신 클라이언트 애플리케이션을 포함하는 것이 바람직하다. 그러나, 관련된 사용자 단말기(102)들 중 하나 이상이 대안으로서, 예를 들어, 모바일 단말기와 데스크탑 PC 사이의 통화의 경우에, 유선 모뎀을 통해 통신할 수 있다.
이러한 방식으로, 모바일 장치(102a)는 인터넷(101)(또는 다른 패킷-기반 네트워크)을 통해 다른 원격 단말기(102b)와 통화를 구축하도록 배열된다. 도시되는 예에서, 원격 단말기(102b)는 데스크탑 컴퓨터이지만, 다른 실시예에서, 다른 모바일 장치일 수 있다.
특히, 영상 통화 특징부가 사용자에 의해 가동될 경우, 통화는 모바일 장치(102a, 102b) 사이의 라이브 영상 통화를 포함한다. 영상 통화는 인터넷(101)을 통해 IP 패킷 형태로 송신되는, 장치(102a, 102b)에 의해 실시간으로 캡처되는 신호들의 교환을 포함한다.
교환되는 신호는 인입 및 송출 비디오 신호를 포함할 수 있으나, 대안으로서 영상 통화가 반드시 쌍방향성일 필요는 없으며, 사용자 장치(102) 중 단 하나로부터 일방향으로만 송신되는 비디오를 포함할 수 있다.
교환되는 신호는, 모바일 장치(102a)의 카메라(205)에 의해 캡처되는, 그리고 아날로그-디지털 컨버터(ADC)(215)에 의해 디지털 신호로 변환되는, 그리고, 블록(217)에서 클라이언트에 의해 인코딩되는, "순수(raw)"(인코딩되지 않은) 송출 비디오 신호를 포함할 수 있다.
실행되는 경우에 인코더(217)는 비디오 신호를 저-비트레이트 스트림으로 압축하도록 비디오 신호를 인코딩하며, 전송을 위해 인코딩된 신호를 트랜시버(207) 및 네트워크(101, 103)를 통해 원격 장치(102b)로 출력한다.
교환되는 신호는 디코더(219)에서 모바일 장치(102a) 상의 클라이언트 애플리케이션에 의해 디코딩되는, 원격 단말기(102b)로부터의 인입 인코딩 비디오 신호를 포함할 수 있다. 디코딩된 비디오 신호는 그 후 디지털 아날로그 컨버터(DAC)(221)를 이용하여 아날로그 신호로 변환될 수 있고, 디스플레이(212)에 출력될 수 있다.
교환되는 신호는 모바일 장치(102a) 상의 스피커(203)를 통해 출력하기 위한 원격 장치(102b)로부터의 인입 인코딩 오디오 신호, 및/또는, 원격 장치(102b)로 전송을 위해 모바일 장치(102a) 상의 마이크로폰(202)에 의해 캡처되는 송출 "순수"(인코딩되징 않은) 오디오 신호를 또한 포함할 수 있다. 인코더 및/또는 디코더를 나타내는데 사용될 수 있는 일반 용어는 코덱이다.
현재의 "스마트폰"에서, H.264 표준에 따른 소프트웨어 기반 인코딩이 구현되어, 우수한 품질의 인코딩을 제공할 수 있지만, 배터리 수명이 저하된다.
발명의 제 1 형태에 따르면, 무선 통신 네트워크에 액세스하도록 구성되는 무선 액세스 회로와, 상기 무선 통신 네트워크를 통해 구축된 채널을 통해 원격 장치와 패킷-기반 통화를 수행하도록 통신 클라이언트 애플리케이션을 실행하기 위한 실행 수단 - 상기 통신 클라이언트 애플리케이션은 적어도 하나의 네트워크 파라미터를 모니터링하도록 구성됨 - 과, 프로세싱 기능을 구현하도록 선택적으로 작동가능한 하드웨어 프로세싱 모듈과, 상기 프로세싱 기능을 구현하도록 선택적으로 실행가능한 소프트웨어 프로세싱 모듈과, 적어도 하나의 모니터링되는 네트워크 파라미터에 기초하여 상기 하드웨어 프로세싱 모듈 및 소프트웨어 프로세싱 모듈 중 하나에 통화를 공급하기 위한 선택 메커니즘을 포함하는, 모바일 장치가 제공된다.
프로세싱 기능은 영상 또는 음성 통화 중 하나에 대한 코덱 기능인 것이 바람직하다.
상기 적어도 하나의 모니터링되는 네트워크 파라미터는 채널 비트레이트, 채널 종단간 전송 지연, 채널 패킷 손실율, 및 채널 패킷 손실 무결성 중 적어도 하나인 것이 바람직하다.
상기 선택 메커니즘은 또한 원격 장치의 기능에 응답해서 하드웨어 프로세싱 모듈과 소프트웨어 프로세싱 모듈 중에서 선택할 수 있다. 선택 메커니즘은 입력 신호를 수신하도록 구성되는 스위칭 수단과, 상기 적어도 하나의 모니터링되는 네트워크 파라미터를 수신하도록, 그리고 제어 신호를 상기 스위칭 수단에 공급하도록 구성되는 제어 수단을 포함하는 것이 바람직하며, 상기 제어 신호는 적어도 하나의 모니터링되는 네트워크 파라미터에 기초하고, 상기 제어 신호는 프로세싱될 하드웨어 프로세싱 모듈 또는 소프트웨어 프로세싱 모듈에 입력 신호를 출력하도록 상기 스위칭 수단을 제어한다.
소프트웨어 프로세싱 모듈은 통신 클라이언트 애플리케이션을 실행하기 위한 수단 상에서 실행되는 코드에 의해 구현될 수 있다.
적어도 하나의 네트워크 파라미터의 모니터링은, 통신 클라이언트 애플리케이션을 실행하기 위한 수단에 의해 실행되는 애플리케이션 계층 기능 및 전송 계층 기능 중 적어도 하나인 것이 바람직하다.
하드웨어 프로세싱 모듈 및 소프트웨어 프로세싱 모듈은 비디오 인코더 및 비디오 디코더를 모두 포함할 수 있다. 모바일 장치는 실시간 비디오 데이터를 캡처하기 위한 수단을 더 포함할 수 있고, 상기 수단은 인코딩되지 않은 비디오 신호 형태로 입력 신호를 공급한다. 대안으로서, 입력 신호는 원격 장치에 의해 상기 채널을 통해 모바일 장치에 송신되는 인코딩된 비디오 신호일 수 있다.
하드웨어 프로세싱 모듈 및 소프트웨어 프로세싱 모듈은 오디오 인코더 및 오디오 디코더를 모두 포함할 수 있다. 모바일 장치는 오디오 데이터를 캡처하기 위한 수단을 더 포함할 수 있고, 상기 수단은 인코딩되지 않은 오디오 신호 형태로 입력 신호를 공급한다. 대안으로서, 입력 신호는 원격 장치에 의해 상기 채널을 통해 모바일 장치에 송신되는 인코딩된 오디오 신호일 수 있다.
일부 실시예에서, 프로세싱 기능은 보안 기능이다.
무선 통신 네트워크가 인터넷인 것이 바람직하다.
모바일 장치는 인터넷-가능 모바일 폰, 핸드헬드 게임 콘솔, 개인용 디지털 보조기기(PDA), 태블릿 컴퓨터, 및 랩탑 컴퓨터 중 하나인 것이 바람직하다.
발명의 제 2 형태에 따르면, 무선 통신 네트워크를 통해 구축된 채널을 통해 원격 장치와 패킷 기반 통화를 수행하는 방법이 제공되며, 상기 방법은, 통화를 수행하고 적어도 하나의 네트워크 파라미터를 모니터링하기 위해 통신 클라이언트 애플리케이션을 실행하는 단계와, 적어도 하나의 모니터링되는 네트워크 파라미터에 기초하여, 프로세싱 기능을 구현하도록 작동가능한 하드웨어 프로세싱 모듈과, 상기 프로세싱 기능을 구현하도록 실행가능한 소프트웨어 프로세싱 모듈 중 하나에, 통화를 선택적으로 공급하는 단계를 포함한다.
상기 방법은 하드웨어 프로세싱 모듈 또는 소프트웨어 프로세싱 모듈에 통화를 공급하도록 구성되는 선택 메커니즘에 적어도 하나의 모니터링되는 네트워크 파라미터를 공급하는 단계를 더 포함하는 것이 바람직하다.
상기 방법은, 선택 메커니즘의 스위칭 수단에서 입력 신호를 수신하는 단계와, 선택 메커니즘의 제어 수단에서 적어도 하나의 모니터링되는 네트워크 파라미터를 수신하는 단계와, 상기 제어 수단으로부터 상기 스위칭 수단에 제어 신호를 공급하는 단계 - 상기 제어 신호는 적어도 하나의 모니터링되는 네트워크 파라미터에 기초하고, 상기 제어 신호는 프로세싱될 하드웨어 프로세싱 모듈 또는 소프트웨어 프로세싱 모듈에 입력 신호를 출력하기 위한 스위칭 수단을 제어함 - 를 더 포함하는 것이 바람직하다.
상기 방법은 복수의 네트워크 파라미터의 논리적 분석을 실행하는 단계를 더 포함한다.
채널 비트레이트가 지정 비트레이트 임계치보다 크거나 동일하고, 채널 종단간 전송 지연이 지정 지연 임계치보다 작으며, 채널 패킷 손실율이 지정 패킷 손실율 임계치보다 작을 경우, 상기 제어 수단은 프로세싱될 하드웨어 프로세싱 모듈에 입력 신호를 출력하도록 상기 스위칭 수단을 제어한다.
채널 비트레이트가 지정 비트레이트 임계치보다 작을 경우, 상기 제어 수단은 프로세싱될 소프트웨어 프로세싱 모듈에 입력 신호를 출력하도록 상기 스위칭 수단을 제어할 수 있다.
채널 종단간 전송 지연이 지정 지연 임계치보다 크거나 동일할 경우, 상기 제어 수단은 프로세싱될 소프트웨어 프로세싱 모듈에 입력 신호를 출력하도록 상기 스위칭 수단을 제어할 수 있다.
채널 패킷 손실율이 지정 패킷 손실율 임계치보다 크거나 동일할 때, 상기 제어 수단은 프로세싱될 소프트웨어 프로세싱 모듈에 입력 신호를 출력하도록 상기 스위칭 수단을 제어할 수 있다.
상기 방법은 구성 모드를 선택하기 위한 사용자 입력을 수신하는 단계를 더 포함하고, 상기 구성 모드는 한 세트의 일정 임계 값에 대응하며, 상기 제어 수단은 상기 한 세트의 일정 임계 값을 이용하여 상기 스위칭 수단을 제어한다.
상기 방법은 전원의 전력 공급 레벨을 모니터링하는 단계와, 상기 전력 공급 레벨에 기초하여 상기 선택 메커니즘의 작동을 조정하는 단계를 더 포함하는 것이 바람직하다. 상기 임계치는 상기 전원의 전력 공급 레벨에 따라 변할 수 있다.
상기 제어 수단은 상기 전원의 전력 공급 레벨이 상기 모바일 장치가 외부 전원에 연결되었음을 표시할 때 제 1 세트의 일정 임계 값을 이용하여 상기 스위칭 수단을 제어하는 것이 바람직하다.
상기 제어 수단은 상기 전원의 전력 공급 레벨이 지정 전력 공급 임계치보다 크거나 동일할 때 제 2 세트의 일정 임계 값을 이용하여 상기 스위칭 수단을 제어하고, 상기 제어 수단은 상기 전원의 전력 공급 레벨이 지정 전력 공급 임계치보다 작을 때 제 3 세트의 일정 임계 값을 이용하여 상기 스위칭 수단을 제어하는 것이 바람직하다.
발명의 제 3 형태에 따르면, 모바일 장치 상에서 실행될 때 앞서 언급한 방법 단계들 중 임의의 방법 단계를 수행하도록 구성되는 코드를 포함하고 컴퓨터-판독가능 매체 상에 저장되는 컴퓨터 프로그램 프로덕트가 제공된다.
본 발명의 이해를 돕기 위해, 그리고 발명이 어떻게 효력을 발휘하는지를 보여주기 위해, 예로서 다음과 같은 첨부 도면을 이제 참조한다:
도 1은 통신 시스템의 개략도,
도 2a는 알려진 모바일 단말기의 개략도,
도 2b는 알려진 모바일 단말기의 개략적 블록도,
도 3은 발명에 따른 모바일 단말기의 개략적 블록도,
도 4는 신호 프로세싱 모듈의 개략도,
도 5는 프로토콜 스택의 개략도,
도 6은 소프트웨어 코덱 또는 하드웨어 코덱의 구현 여부를 결정하기 위한 방법을 보여주며,
도 7은 도 6의 방법에 사용하기 위한 파라미터 결정 방법을 보여준다.
본 발명에 따른 모바일 장치(102a)가 도 3에 개략적으로 도시된다.
도 3에 도시되는 모바일 장치(102a)는 (소프트웨어 코덱을 구현하기 위한, 그리고, 다른 신호 프로세싱 기능을 수행하기 위한) CPU(311) 및 하드웨어 코덱을 포함하는 신호 프로세싱 모듈(320)을 포함한다. 하드웨어 코덱은 전용 칩 상에 구현될 수도 있고, 물리적으로 CPU(311)와 동일 다이 상에 위치할 수도 있다.
신호 프로세싱 모듈(320)은 도 2a 및 2b를 참조하여 앞서 설명되는 알려진 모바일 장치에 존재하는 동일 장치에 연결된다. 즉, 신호 프로세싱 모듈(320)은 통신 클라이언트 애플리케이션을 저장하는 메모리(313)에 연결된다. 신호 프로세싱 모듈(320)은 마이크로폰(302), 스피커(303), 카메라(305), 전원(306), 하나 이상의 RF 트랜시버(307), 키패드(309), 및 디스플레이(312)에 또한 연결된다.
신호 프로세싱 모듈(320)은 전원(306)을 모니터링하는 전원 레벨 모니터링 블록(308)에 또한 연결된다. 전원 레벨 모니터링 블록(308)은 아날로그-디지털 컨버터 형태를 취할 수 있어서, 전원(306)의 전압 레벨을 판독하고, 이를 신호 프로세싱 모듈(320)에 의해 판독될 수 있는 디지털 데이터로 변환한다.
신호 프로세싱 모듈(320)은 도 4를 참조하여 이제 더욱 상세하게 설명될 것이다. 신호 프로세싱 모듈(320)은 음성 또는 영상 통화 동안 네트워크(101, 103)를 통해 원격 장치(102b)로 전송하기 위한 입력 신호를 인코딩하는데 사용될 수 있다.
입력 신호가 인코더 스위치(404)에 라인(402)으로 공급된다. 작동시, 입력 신호는 마이크로폰(302)으로부터 출력되는 오디오 신호일 수 있고, 및/또는 입력 신호는 카메라(305)에 의해 캡처되는 실시간 비디오 신호일 수 있다.
인코더 스위치(404)는 제어 블록(430)으로부터 제어 신호(412)를 또한 수신한다. 인코더 스위치(404)는 제어 신호(412)에 따라 라인(408)을 통해 소프트웨어 코덱(410)에 또는 라인(406) 통해 하드웨어 코덱(405)에 수신 입력 신호를 출력하도록 작동한다. 하드웨어 코덱(405) 및 소프트웨어 코덱(410) 중 선택된 코덱은 라인(414) 상에 인코딩된 출력 신호를 제공한다. 인코딩된 출력 신호(414)는 네트워크(101, 103)를 통한 원격 장치(102b)로의 전송을 위해 네트워크 인터페이스(207)에 공급될 수 있다.
점선으로 표시되는 바와 같이, 설명 용도로 별도의 블록으로 도시되지만, 소프트웨어 코덱(410)은 (도 4에 도시되지 않는) CPU(311) 상에서 프로그램 코드를 실행함으로써 구현된다. 하드웨어 코덱(405)은 전용 회로를 이용하여 구현된다.
하드웨어 코덱은 소프트웨어 코덱보다 적은 전력을 이용하며, 따라서, 배터리 수명을 연장시킨다. 그러나, 소프트웨어 코덱은 일부 상황에서 더 우수한 품질 결과를 제공할 수 있고, 더 쉽게 업데이트될 수 있다. 설명되는 실시예는 제어 블록(430)의 액션을 통해 상황별로 최적 코덱을 선택할 수 있게 한다. 제어 블록(430)은 CPU(311) 상에서 코드를 실행함으로서 구현되고, 이 코드는 도 3에 도시되지 않는 별도의 메모리에, 또는 메모리(313)에 저장될 수 있다. 제어 블록(430)은 원격 장치(102b)의 기능(448), 패킷 손실율(446), 전송 지연(44), 및 비트 레이트(442)를 포함한 모니터링되는 네트워크 파라미터를 수신하고, 이러한 모니터링되는 네트워크 파라미터에 기초하여, 제어 신호(412)를 출력하여 인코더 스위치(404)를 제어한다. 원격 장치(102b)의 기능(448)은 예를 들어, 원격 장치(102b)의 CPU 기능 또는 원격 장치(102b)의 스크린 해상도를 포함할 수 있다. 점선으로 표시되는 바와 같이, 파라미터(442-448)는 CPU(311) 상에서 통신 클라이언트 애플리케이션을 실행함으로써 모니터링된다. 제어 블록(430)이 제어 신호(412)를 어떻게 발생시키는지에 관한 설명이 도 6을 참조하여 아래에서 제공된다.
신호 프로세싱 모듈(320)은 또한 음성 또는 영상 통화 동안 모바일 장치(102a)의 사용자(108a)에게로의 출력을 위해 입력 신호를 디코딩하는 데 사용될 수 있다.
입력 신호는 라인(422)을 통해 디코더 스위치(424)에 공급된다. 작동시, 입력 신호는, 원격 장치(102b)로부터 네트워크(101, 103)를 통해 수신되는, 인코딩된 오디오 신호 및/또는 인코딩된 비디오 신호일 수 있다.
디코더 스위치(424)는 제어 블록(430)으로부터 제어 신호(432)를 또한 수신한다. 제어 블록(430)이 제어 신호(432)를 어떻게 발생시키는지에 관한 설명은 도 6을 참조하여 아래에서 제공된다. 디코더 스위치(424)는 제어 신호(432)에 따라 라인(428)을 통해 소프트웨어 코덱(410)에, 또는, 라인(426)을 통해 하드웨어 코덱(405)에 출력하도록 작용한다. 하드웨어 코덱(405) 및 소프트웨어 코덱(410) 중 선택된 코덱이 라인(434)을 통해 디코딩된 출력 신호를 제공한다. 디코딩된 출력 신호(434)는 스피커(203) 또는 디스플레이(212)에 의해 출력될 수 있는 아날로그 신호로 변환될 수 있다.
하드웨어 코덱(405) 및 소프트웨어 코덱(410)은 비디오 인코더 및/또는 비디오 디코더를 포함하는 비디오 코덱일 수도 있고, 오디오 인코더 및/또는 오디오 디코더를 포함하는 오디오 코덱일 수도 있다. 인코더 및 디코더는 인코더 스위치(404) 및 디코더 스위치(424)를 이용하여 서로에 독립적으로 스위칭될 수 있다.
파라미터(442-448)가 어떻게 모니터링되는지를 설명하기 위해, 도 5를 이제 참조한다. 당 업자에게 잘 알려져 있듯이, 사용자 장치가 인터넷과 같은 네트워크를 통해 통신할 수 있는 기본 메커니즘은, (각각의 사용자 장치에서 구동되는 소프트웨어로 구체화되는) 프로토콜 스택으로 간주될 수 있다. 통신 타입에 따라 서로 다른 다수의 프로토콜 스택이 존재하지만, 도 5에서는 대표로 하나만 도시된다.
이러한 스택에서, 장치(102a, 102b) 사이에서 RF 링크를 통해 비트를 운반할 책임이 있는 링크 계층(516)이 최저 계층이다. 링크 계층(316)은 캐리어 주파수로 변조되는 (통상적으로 인코딩된) 비트 형태의 RF 트래픽을 운반할 책임이 있다.
인터넷 계층(514)은 즉시적 패킷 라우팅을 책임지는 패킷 프로토콜이다. 당 업자는 데이터의 패킷이 헤더 부분 및 페이로드를 모두 포함함을 이해할 것이다. 헤더는 목표 사용자 장치의 인터네트워크 어드레스(예를 들어, IP 어드레스)를 포함하고, 페이로드는 송신될 통신 클라이언트 애플리케이션에 의해 요망되는 실제 사용자 데이터를 포함한다. 라우팅 노드가 패킷을 수신할 때, 그 IP 계층 소프트웨어는 IP 어드레스를 검사하고, 라우팅된 패킷을 수신할 다음 인접 라우팅 노드(또는 목표 장치가 인접할 경우 최종 사용자 단말 장치)를 결정한다.
전송 계층(512)은 포트 넘버링, 혼잡 제어, 및 패킷 수신 확인과 같은 서비스를 제공하기 위해 IP 헤더 위에 래핑(wrapping)되는 추가적인 헤더 정보를 추가한다.
마지막으로, 애플리케이션 계층(510)은 패킷 페이로드에 포함될 사용자 정보에 관련된다 - 예를 들어, 음성 또는 영상 통화의 오디오 또는 비디오, 또는 IM 메시지의 사용자 텍스트에 관련된다. 클라이언트 애플리케이션은 관심 대상인 애플리케이션에 적절한 페이로드에서 원하는 임의의 콘텐트를 자유롭게 포함시킨다.
프로세서(311) 상에서 실행되는 통신 클라이언트 애플리케이션은 전송 계층(512)에서 작동하여 종단간 전송 지연(444) 및 패킷 손실율(446)을 모니터링한다. 통신 클라이언트 애플리케이션은 시간 스탬프를 이용하여 전송 지연을 모니터링할 수 있다. 패킷 손실은 패킷의 시퀀스 넘버의 갭을 이용하여 결정될 수 있다. 이 정보를 모니터링하기 위한 다른 방법이 사용될 수 있다 - 예를 들어, 하위 계층 상의 네트워크 장비를 이용할 수 있다. 이러한 파라미터들은 애플리케이션 계층(510) 상에서 통신 클라이언트 애플리케이션에 의해 사용되어, 오디오/비디오 스트림에 사용될 수 있는 가용 네트워크 대역폭을 추정할 수 있다. 더욱이, 통신 클라이언트 애플리케이션은 원격 장치(102b)의 기능(448)에 대한 정보를 수신할 수 있고, 이는 나중에 링크를 통해 수행되는 통화의 구축의 일부분으로, 또는 모바일 장치(102a)에 의한 요청에 응답하여 수신될 수 있다.
통신 클라이언트 애플리케이션은 제어 블록(430)에 모니터링되는 파라미터(442-448)를 공급하며, 제어 블록은 그 후 모니터링되는 파라미터(442-448)를 평가하여, 입력 신호(402, 422)의 프로세싱을 위해 하드웨어 코덱(405) 또는 소프트웨어 코덱(410)을 구현할지 여부를 결정한다.
발명자는 하드웨어 코덱(405) 또는 소프트웨어 코덱(410)을 구현할지 여부를 결정할 때 제어 블록(430)이 구현하는 로직을 개발하였다. 전송을 위해 입력 신호가 반드시 인코딩되어야할 때 사용되는 로직이 도 6에 도시된다. 로직 구성시, 발명자는 다음의 사항을 가정하였다:
첫번째로, 실시간 비디오 신호를 프로세싱할 때, 하드웨어 코덱(405)은 소프트웨어 코덱(410)이 구현되는 CPU(311)의 제약사항으로 인해 소프트웨어 코덱(410)보다 높은 분해능으로 입력을 프로세싱할 수 있다.
두번째로, 소프트웨어 코덱(410)은 업데이트가 용이하고, 따라서, 하드웨어 코덱(405)보다 기술적으로 진보된 특징을 가질 가능성이 높고, 그러므로, 낮은 비트레이트, 긴 지연, 및 높은 패킷 손실 조건에서 하드웨어 코덱(405)보다 우수하게 수행될 가능성이 높다.
마지막으로, 하드웨어 코덱(405)은 소프트웨어 코덱(410)보다 전원(306)으로부터 더 적은 전력을 소모한다.
단계(602)에서, 제어 블록(430)은 모니터링되는 파라미터(442-448)를 수신한다.
단계(604)에서, 제어 블록(430)은 비트레이트(442)가 지정된 임계치(A)보다 크거나 동일한지를 결정한다. 비트레이트(442)가 A보다 작을 경우, 단계(614)에서 제어 블록(430)은 소프트웨어 코덱(410)에 라인(402)을 통해 입력을 공급하기 위해 인코더 스위치(404)를 제어하는 제어 신호(412)를 출력한다. 지정된 임계치(A)는 실제 하드웨어 코덱 구현에 맞게 조정되어야 한다. 한 예는 500kbps다.
단계(604)에서 비트레이트(442)가 A보다 크거나 동일하다고 결정되면, 제어 블록(430)은 단계(606)로 진행하여, 종단간 전송 지연(444)이 지정 임계치(B)보다 크거나 동일한지 여부를 판정한다. 지연(444)이 B보다 크거나 동일한 경우, 제어 블록(430)은 단계(614)로 진행하여 앞서 설명한 바와 같이 작동한다. 다시, 지정 임계치(B)는 실제 하드웨어 코덱 구현에 맞게 조정되어야 한다. 일 예의 시나리오에서, 500ms 종단간 지연이 요구될 수 있고, 하드웨어 코덱(405)이 라인(402) 상의 입력 인코딩을 위해 400ms를 필요할 경우, 네트워크 지연은 100ms 미만이어야 하고, 따라서, 본 예에서, 임계값(B)은 100ms로 선택될 것이다.
단계(606)에서 지연(444)이 B보다 작다고 결정되면, 제어 블록(430)은 단계(608)로 진행하여, 패킷 손실율(446)이 지정 임계치(C)보다 큰지 여부가 결정된다. 패킷 손실율(446)이 C보다 클 경우, 제어 블록(430)은 단계(614)로 진행하여 앞서 설명한 바와 같이 작동한다. 일례의 시나리오에서, 지정 임계치(C)는 패킷 손실이 없을 때만 하드웨어 코덱(405)이 사용되도록 0%일 수 있다.
패킷 손실율(446)이 C보다 작거나 동일할 경우, 제어 블록(430)은 단계(610)로 진행하여, 원격 장치 기능(448)이 지정 임계치(D)보다 크거나 동일한지 여부를 판정한다. 원격 장치 기능(448)이 D보다 작을 경우, 제어 블록(430)은 단계(614)로 진행하여 앞서 설명한 바와 같이 작동한다. 일례의 시나리오에서, 하드웨어 인코더(405)가 VGA 해상도 및 그 이상의 해상도 용으로 조정될 경우, 단계(610)에서 하드웨어 코덱(405)이 적용되기 전에 원격 장치(102b)의 CPU가 VGA 해상도를 취급할 수 있는지 여부를 프로세스가 확인한다.
패킷 손실이 언급될 때, 무결성(burstiness)과 같은 패킷 손실의 다른 측정치가 사용될 수 있다.
단계(610)에서 원격 장치 기능이 D보다 크거나 동일하다고 결정되면, 단계(614)에서 제어 블록(430)은, 라인(402)을 통해 하드웨어 코덱(405)에 입력을 공급하기 위해 인코더 스위치(404)를 제어하는 제어 신호(412)를 출력한다.
따라서, 비트레이트(442)가 A보다 크거나 동일하고 지연(444)이 B보다 작으며 패킷 손실(446)이 C보다 작거나 동일하고 원격 장치 기능(448)이 D보다 크거나 동일한 경우에만 하드웨어 코덱(405)이 사용되고, 이러한 조건들이 충족되지 않을 경우 소프트웨어 코덱(410)이 사용된다. 따라서, 하드웨어 코덱(405)은, 네트워크 상태가 양호하고 원격 장치(102b)가 고해상도를 취급할 수 있을 때 사용된다.
단순화를 위해, 도 4에서 하드웨어 코덱(405)과 소프트웨어 코덱(410) 사이의 명쾌한 분리가 도시된다. 그러나 일부 구현예에서, 예를 들어, 프로세싱의 일부분이 그래픽 프로세싱 유닛(GPU) 상에서 구동되는 하이브리드 구조가 사용될 때, 이러한 명백한 분리가 존재하지 않을 수 있다. 그러나 이러한 구현예에서, 도 6을 참조하여 앞서 논의한 스위칭 알고리즘이 여전히 적용된다.
인코딩된 입력 신호가 디코딩되어야 할 때 제어 블록(430)에 의해 구현되는 로직은 원격 장치 기능(448)에 고려되지 않는다. 따라서, 디코딩 프로세스에서, 하드웨어 코덱(405)은 네트워크 상태가 양호할 때 사용된다. 즉, 하드웨어 코덱(405)은, 비트레이트(442)가 A보다 크거나 동일하고 지연(444)이 B보다 작으며 패킷 손실(446)이 C보다 작거나 동일한 경우에만 사용되고, 이 조건이 충족되지 않을 경우 소프트웨어 코덱(410)이 사용된다.
네트워크 파라미터가 일정하게 변하기 때문에 도 6에 사용되는 로직은 하드웨어 코덱(405)과 소프트웨어 코덱(410) 사이에서 빈번한 스위칭을 이끌 수 있다. 이는 빈번한 코덱 스위칭으로 인해 지연 및 비트레이트 오버헤드가 야기되기 때문에 바람직하지 못하다. 빈번한 코덱 스위칭을 방지하기 위해 다양한 방법들이 사용될 수 있다. 예를 들어, 제어 블록(430)은 최종 코덱 스위치 이래 X초보다 많은 시간이 경과한 경우에만 코덱 스위치를 적용하도록 제어 신호(412, 432)를 출력할 수 있고, X의 한가지 예는 10초다. 다른 예에서, 모니터링되는 파라미터(442-448)는 시간 주기 Y에 대해 평균될 수 있고, Y의 한 예는 5초다. 또 다른 예에서, 시간 주기 Y에 대해 모니터링되는 네트워크 파라미터에 통계 계측치가 적용될 수 있고, 예를 들어, 시간 주기 Y에 걸쳐 모니터링되는 네트워크 파라미터의 가장 나쁜 값은 제어 블록(430)에 전송될 수 있다.
도 6에 도시되는 로직에 사용되는 지정 임계치(A, B, C, D)는 전원(306)의 상태(즉, 전력 공급 레벨)에 따라 적응성으로 만들어질 수 있다. 도 4에 도시되는 바와 같이, 전력 공급 레벨 모니터링 블록(308)은 제어 블록(430)에 전원(306)의 전력 공급 레벨을 제공할 수 있다. 제어 블록이 이 정보를 이용하여 도 6에 사용되는 임계값(A, B, C, D)을 적응성으로 변화시키는 방식이, 도 7을 참조하여 이제 설명될 것이다.
단계(702)에서, 제어 블록(430)은 전력 공급 레벨 모니터링 블록(308)으로부터 전원(306)의 전력 공급 레벨을 수신한다.
단계(704)에서, 제어 블록(430)은 전력 케이블이 모바일 장치(102a)에 연결되어 전력이 전원(206)에 공급되고 있는지 여부를 판정한다(즉, 모바일 장치의 전원이 충전되고 있는지 여부를 판정한다). 전력 케이블이 모바일 장치(102a)에 연결되어 전력이 전원(306)에 공급되고 있을 경우, 코덱의 전력 활용이 중요하지 않고, 그 후 단계(708)에 도시되는 바와 같이, 제 1 구성이 도 6의 프로세스에 사용된다. 즉, 도 6의 프로세스에 값(A1, B1, C1, D1)이 사용된다. 이러한 첫번째 구성은 가능한 많이 소프트웨어 코덱(410)을 이용하기 위해 제어 블록(430)을 바이어스시키는데 사용된다. 영상 통화 동안 하드웨어 코덱(405)으로의 스위칭은 원격 장치(102b)가 고해상도 비디오를 수신할 수 있을 때만 가능할 것이다. 단순한 예로서, 제 1 구성의 파라미터는 A1 = 1500kbps, B1 = 100ms, C1 = 0%, D1 = HD 가능을 취할 수 있다.
전력이 전원(306)에 공급되고 있지 않다고 단계(704)에서 결정되면, 단계(706)에서 제어 블록(430)은 전원(306)의 전력 공급 레벨이 60% 용량보다 크거나 동일한지 여부를 판정한다. 전원(306)의 전력 공급 레벨이 60% 용량보다 크거나 동일한 경우, 단계(710)에 도시되는 바와 같이, 제 2 구성이 도 6의 프로세스에 사용된다. 즉, 값(A2, B2, C2, D2)이 도 6의 프로세스에 사용된다. 전원(306)의 전력 공급 레벨이 60% 용량보다 크거나 동일한 경우, 소프트웨어 코덱(410)이 여전히 대부분의 경우에 선호된다. 따라서, 영상 통화 동안, 제 2 구성의 파라미터는 A2 = 500kbps, B2 = 200ms, C2 = 1%, D2 = QVGA 가능의 값을 취할 수 있다. 이러한 값들은 단지 예에 불과하고 어떤 방식으로도 제한되지 않는다.
전원(306)의 전력 공급 레벨이 60% 용량보다 작다고 단계(706)에서 판정되면, 단계(712)에 도시되는 바와 같이, 제 3 구성이 도 6의 프로세스에 사용된다. 이러한 제 3 구성은 하드웨어 코덱(405)을 이용하기 위해 제어 블록(430)을 바이어시키는데 사용된다. 즉, 도 6의 프로세스에 값(A3, B3, C3, D3)이 사용된다. 따라서, 영상 통화 동안, 제 2 구성의 파라미터들은 A2 = 500kbps, B2 = 200 ms, C2= 1%, D2 = QVGA 가능의 값을 취할 수 있다. 이러한 값들은 단지 예에 불과하고 어떤 방식으로도 제한되지 않는다.
60%의 임계 전원은 단지 예에 불과하고, 어떤 방식으로도 제한되지 않는다. 더욱이, 추가적인 임계값 구성과 연관하여 추가적인 전력 공급 임계치가 사용될 수 있다.
하드웨어 코덱(405) 또는 소프트웨어 코덱(410)이 사용되어야 할 때를 결정하기 위해 사용되는 A, B, C, D는 일정한 값이고, A1, A2, A3는 서로 다른 일정 값임(B1, B2, B3 및 C1, C2, C3 및 D1, D2, D3도 마찬가지다) 에 주목하는 것이 중요하다. 모든 값들은 서로 다른 장치, 서로 다른 카메라, 서로 다른 마이크로폰에 대해 서로 다르게 조정될 수 있거나, 서로 다른 사용자에게 맞도록(떨리는 비디오, 토킹 헤드 비디오, 등) 조정되거나 할 수 있다.
도 6 및 도 7에 도시되는 방법의 구현은 네트워크 및 배터리 조건의 변화에 반응하도록 그때그때 하드웨어 코덱(405) 또는 소프트웨어 코덱(410)을 이용할지 여부에 관한 결정을 할 수 있게 한다.
A1, B1, C1, D1; A2, B2, C2, D2, 및 A3, B3, C3, D3의 지정 임계 값을 선택함으로써 전원(306)의 전력 공급 레벨에 기초하여 하드웨어적 구현 코덱(405) 또는 소프트웨어 코덱(410)에 우선순위가 부여될 수 있다.
전원(306)의 전력 공급 레벨이 낮을 때, 배터리를 덜 사용하는 하드웨어 코덱(405)에 우선순위가 부여되어야 하고, 마찬가지로, 모바일 장치가 외부 전력원에 연결될 때(즉, 모바일 장치가 충전 중일 때), 우선순위는 소프트웨어 코덱(410)에 부여되어야 한다. 이러한 우선순위화를 구현하기 위해, 일정 임계값이 다음과 같이 설정될 수 있다.
Figure 112014021297291-pct00001
따라서, 일례로서, 비트레이트 임계값 A1, A2, A3를 취하고, 모바일 장치가 외부 전원에 연결되고 우선순위가 소프트웨어 코덱(410)에 부여되어야 할 경우, 소프트웨어 코덱(410)이 저-비트레이트 채널 조건에서 더 우수하게 수행될 수 있기 때문에 최고 임계값(A1)이 단계(604)에서 사용된다. 이에 반해, 전원(306)의 전력 공급 레벨이 낮고 우선순위가 하드웨어 코덱(405)에 부여되어야할 때, 단계(604)에서 최저 임계값(A3)이 사용된다.
앞서 설명한 바와 같이, 도 6 및 도 7에 도시되는 방법에서는 발명이 최적 작동 모드를 자동적으로 선택할 수 있다. 발명의 다른 실시예에서, 모바일 장치(102a)에서 수신되는 사용자 입력은 제어 블록(430)의 자동 결정을 앞지를 수 있다. 이러한 사용자 입력은 예를 들어 마이크로폰(302) 또는 키패드(309)와 같은, 모바일 장치(102a)에서의 입력 수단에서 수신될 수 있다.
본 실시예에서, 사용자는 한 세트의 지정 임계 값에 각각 대응하는 구성 모드를 선택할 수 있다. 예를 들어, "최고 성능" 구성 모드는 지정 임계 값 A1, B1, C1, D1에 대응할 수 있고, "우수 배터리" 구성 모드는 지정 임계 값 A2, B2, C2, D2에 대응할 수 있으며, "최고 배터리" 구성 모드는 지정 임계 값 A3, B3, C3, D3에 대응할 수 있다. 이러한 구성 모드들이 앞서 설명한 것과는 다른 지정 임계 값에 대응할 수도 있다.
일례의 시나리오에서, 모바일 장치(102a)의 사용자(108a)는 중요한 통화를 행하고자 할 수 있고, 따라서, 높은 레벨의 통화 품질을 원한다. 사용자(108a)는 전원(306)의 전력 공급 레벨이 낮고(즉, 60% 미만) 전원(306)이 나머지 시간 길이(즉, 30분)동안 모바일 장치에 전력을 제공할 수 있을 것임을 알 수 있다. 이러한 시나리오에서, 도 7에 도시되는 방법은 지정 임계 값(A3, B3, C3, D3)을 자동적으로 이용할 것이다(단계(706, 712) 참조). 그러나, 사용자(108a)는 중요한 통화가 20분만 지속될 것임을 알 수 있다. 즉, 전원(306)이 통화의 지속시간 동안 충분한 전력을 갖는다. 따라서, 사용자(108a)는 "최고 성능" 구성 모드를 선택하여 제어 블록(430)의 자동 기능을 무시할 수 있고, 지정된 임계값(A1, B1, C1, D1)을 선택하여 최상의 통화 품질을 실현할 수 있다.
다른 예의 시나리오에서, 모바일 장치(102a)의 사용자(108a)는 매우 긴 지속시간의 통화를 행하고자 할 수 있다. 사용자(108a)는 전원(306)의 전력 공급 레벨이 높음(즉, 60%보다 큼)을 알 수 있다. 본 시나리오에서, 도 7에 도시되는 방법은 지정 임계 값(A2, B2, C2, D2)를 자동적으로 이용할 것이다(단계(706, 712) 참조). 사용자(108a)는 "최상의 배터리" 구성 모드를 선택하여 제어 블록(430)의 자동 기능을 무시할 수 있고, 지정 임계 값(A3, B3, C3, D3)을 선택하여 통화 동안 충분한 전력을 제공하도록 최고 배터리 성능을 실현할 수 있다.
본 발명의 실시예는 하드웨어와 소프트웨어 간에 설계 및 제조 프로세스 중 이루어져야할 교환의 필요성을 해소시킨다. 과거에는 모바일 장치(102a)의 설계 프로세스 동안, 최상의 통화 품질, 보안, 또는 배터리 성능을 실현하기 위해 많은 교환이 이루어져야 했다. 모바일 장치는 모바일 장치의 배터리 성능을 개선시키기 위해 하드웨어 보조 칩이 제공될 수 있는데, 그러나 하드웨어 구현예는 유행을 벗어날 수 있고, 쉽게 업데이트될 수 있는 소프트웨어 기반 구현예에 의해 실현되는 통화 품질 레벨을 달성하지 못한다.
소프트웨어 및 하드웨어 구현예 간의 실시간 선택을 행함으로써, 이러한 교환이 더이상 설계 단계에서 이루어질 필요가 없다. 앞서 논의한 비디오 코덱에 추가하여, 발명은 오디오 코덱, 보안 관련 기능, 또는 다른 배터리 집중 기능에 적용될 수 있다.
본 발명의 실시예가 특히 영상 및/또는 음성 통화를 참조하여 논의되었으나, 본 발명이 라이브 스트리밍 및 비디오 메일과 같은 다른 모바일 비디오 용도로 확장될 수 있음을 이해할 수 있을 것이다.
본 발명이 특히 선호되는 실시예를 참조하여 도시 및 설명되었으나, 첨부 청구범위에 의해 규정되는 발명의 범위로부터 벗어나지 않는 범위에서 다양한 형태 및 세부사항 변화가 이루어질 수 있다.

Claims (31)

  1. 무선 네트워크 상에 구축된 채널을 통해서 원격 장치와 패킷 기반 통화를 수행하도록 모바일 장치의 하나 이상의 프로세서에 의해 실행 가능한 컴퓨터-판독가능 명령어를 포함하는 컴퓨터-판독가능 저장 메모리로서,
    상기 명령어는 실행될 때,
    통신 클라이언트 애플리케이션을 실행해서 상기 통화를 수행하고 복수의 네트워크 파라미터를 모니터링하는 것과,
    전원의 전력 공급 레벨을 모니터링하는 것과,
    상기 복수의 네트워크 파라미터의 논리적 분석을 실행하는 것 - 상기 논리적 분석은 상기 복수의 네트워크 파라미터를 복수의 임계치의 세트 중 하나와 비교하는 것을 포함하고, 상기 복수의 임계치의 세트 중 하나는 상기 모니터링된 전력 공급 레벨에 기초해서 상기 복수의 임계치의 세트로부터 상기 논리적 분석을 위해서 선택됨 - 과,
    상기 복수의 네트워크 파라미터의 상기 논리적 분석 및 상기 모니터링된 전력 공급 레벨에 기초해서, 상기 통화를, 프로세싱 기능을 구현하도록 작동가능한 하드웨어 프로세싱 모듈과 상기 프로세싱 기능을 구현하도록 실행가능한 소프트웨어 프로세싱 모듈 중 하나에, 선택적으로 공급하는 것
    을 행하는
    컴퓨터-판독가능 저장 메모리.
  2. 제 1 항에 있어서,
    상기 복수의 네트워크 파라미터는
    채널 비트레이트,
    채널 종단간 전송 지연,
    채널 패킷 손실율, 및
    채널 패킷 손실 무결성(burstiness)
    중 적어도 하나를 포함하는
    컴퓨터-판독가능 저장 메모리.
  3. 제 2 항에 있어서,
    상기 통화를 상기 하드웨어 프로세싱 모듈과 상기 소프트웨어 프로세싱 모듈 중 하나에 선택적으로 공급하는 것은, 상기 논리적 분석의 결과를, 상기 통화를 상기 하드웨어 프로세싱 모듈 혹은 상기 소프트웨어 프로세싱 모듈에 공급하도록 구성된 선택 메커니즘에 공급하는 것을 포함하는
    컴퓨터-판독가능 저장 메모리.
  4. 제 3 항에 있어서,
    상기 명령어는 실행될 때,
    상기 선택 메커니즘의 스위치에서 입력 신호를 수신하는 것과,
    상기 선택 메커니즘의 제어기에서 상기 논리적 분석의 결과를 수신하는 것과,
    상기 제어기로부터 상기 스위치로 제어 신호를 공급하는 것
    을 더 행하고,
    상기 제어 신호는 상기 논리적 분석 및 상기 모니터링된 전력 공급 레벨에 기초하고, 상기 제어 신호는 상기 하드웨어 프로세싱 모듈 또는 상기 소프트웨어 프로세싱 모듈에 프로세싱될 상기 입력 신호를 출력하도록 상기 스위치를 제어하는
    컴퓨터-판독가능 저장 메모리.
  5. 제 4 항에 있어서,
    상기 명령어는 실행될 때,
    일정 임계치의 세트에 대응하는 구성 모드를 선택하는 사용자 입력을 수신하는 것과,
    상기 구성 모드를 선택하는 것에 응답해서, 상기 일정 임계치의 세트를 이용해서 상기 제어 신호를 공급하는 것
    을 더 행하는
    컴퓨터-판독가능 저장 메모리.
  6. 제 4 항에 있어서,
    상기 제어기는,
    상기 채널 비트레이트와 소정의 비트레이트 임계치와의 비교 결과,
    상기 채널 종단간 전송 지연과 소정의 지연 임계치와의 비교 결과,
    상기 채널 패킷 손실율과 소정의 패킷 손실율 임계치와의 비교 결과
    를 포함하는 상기 논리적 분석에 기초해서 상기 프로세싱될 입력 신호를 출력하도록 상기 스위치를 제어하는
    컴퓨터-판독가능 저장 메모리.
  7. 모바일 장치로서,
    무선 통신 네트워크에 액세스하도록 구성되는 무선 액세스 회로와,
    프로세싱 기능을 구현하도록 선택적으로 작동가능한 하드웨어 프로세싱 모듈과,
    상기 프로세싱 기능을 구현하도록 선택적으로 실행가능한 소프트웨어 프로세싱 모듈과,
    전원과,
    상기 전원의 전력 공급 레벨을 모니터링하는 전력 공급 모니터와,
    무선 네트워크 상에 구축된 채널을 통해서 원격 장치와 패킷 기반 통화를 수행하도록 통신 클라이언트 애플리케이션을 실행하는 프로세서 - 상기 통신 클라이언트 애플리케이션은, 복수의 네트워크 파라미터를 모니터링하고, 상기 복수의 네트워크 파라미터의 논리적 분석을 실행하도록 구성되고, 상기 논리적 분석은 상기 복수의 네트워크 파라미터를 복수의 임계치의 세트 중 하나와 비교하는 것을 포함하고, 상기 복수의 임계치의 세트 중 하나는 상기 모니터링된 전력 공급 레벨에 기초해서 상기 복수의 임계치의 세트로부터 상기 논리적 분석을 위해서 선택됨 - 와,
    상기 복수의 네트워크 파라미터의 상기 논리적 분석 및 상기 모니터링된 전력 공급 레벨에 기초해서, 상기 패킷 기반 통화를, 상기 하드웨어 프로세싱 모듈과 상기 소프트웨어 프로세싱 모듈 중 하나에 공급하는 선택 메커니즘
    을 포함하는
    모바일 장치.
  8. 제 7 항에 있어서,
    상기 프로세싱 기능은 영상 통화와 음성 통화 중 하나에 대한 코덱 기능인
    모바일 장치.
  9. 제 7 항에 있어서,
    상기 복수의 네트워크 파라미터는
    채널 비트레이트,
    채널 종단간 전송 지연,
    채널 패킷 손실율, 및
    채널 패킷 손실 무결성
    중 적어도 하나를 포함하는
    모바일 장치.
  10. 제 7 항에 있어서,
    상기 복수의 네트워크 파라미터를 모니터링하는 것은, 상기 통신 클라이언트 애플리케이션의 적어도 하나의 전송 계층 기능 및 적어도 하나의 애플리케이션 계층 기능을 모니터링하는 것인
    모바일 장치.
  11. 제 7 항에 있어서,
    상기 선택 메커니즘은 또한 상기 원격 장치의 기능에 응답해서 상기 하드웨어 프로세싱 모듈과 상기 소프트웨어 프로세싱 모듈 중에서 선택하는
    모바일 장치.
  12. 제 7 항에 있어서,
    상기 선택 메커니즘은,
    입력 신호를 수신하도록 구성된 스위치와,
    제어기
    를 포함하고,
    상기 제어기는,
    상기 논리적 분석 및 상기 모니터링된 전력 공급 레벨을 수신하고,
    상기 논리적 분석 및 상기 모니터링된 전력 공급 레벨에 기초한 제어 신호를 상기 스위치에 공급하도록 구성되며,
    상기 제어 신호는 프로세싱될 상기 입력 신호를 상기 하드웨어 프로세싱 모듈 혹은 상기 소프트웨어 프로세싱 모듈에 출력하도록 상기 스위치를 제어하는
    모바일 장치.
  13. 제 12 항에 있어서,
    상기 하드웨어 프로세싱 모듈 및 상기 소프트웨어 프로세싱 모듈은 모두 비디오 인코더 및 비디오 디코더를 포함하는
    모바일 장치.
  14. 제 13 항에 있어서,
    상기 프로세서는,
    실시간 비디오 데이터를 수신하고,
    상기 입력 신호를 인코딩되지 않은 비디오 신호 형태로 수신하도록
    구성되는
    모바일 장치.
  15. 제 13 항에 있어서,
    상기 입력 신호는, 상기 원격 장치가 상기 채널을 통해 상기 모바일 장치로 송신하는 인코딩된 비디오 신호인
    모바일 장치.
  16. 제 12 항에 있어서,
    상기 하드웨어 프로세싱 모듈 및 상기 소프트웨어 프로세싱 모듈은 모두 오디오 인코더 및 오디오 디코더를 포함하는
    모바일 장치.
  17. 제 16 항에 있어서,
    오디오 입력 장치는,
    오디오 데이터를 캡쳐하고,
    상기 입력 신호를 인코딩되지 않은 오디오 신호 형태로 공급하도록
    구성되는
    모바일 장치.
  18. 제 16 항에 있어서,
    상기 입력 신호는, 상기 원격 장치가 상기 채널을 통해 상기 모바일 장치에 송신하는 인코딩된 오디오 신호인
    모바일 장치.
  19. 제 7 항에 있어서,
    상기 프로세싱 기능은 보안 기능인
    모바일 장치.
  20. 제 7 항에 있어서,
    상기 무선 통신 네트워크는 인터넷이고,
    상기 모바일 장치는 인터넷-가능 모바일 폰, 핸드헬드 게임 콘솔, 개인용 디지털 보조기기(PDA), 태블릿 컴퓨터 및 랩탑 컴퓨터 중 하나인
    모바일 장치.
  21. 무선 네트워크 상에 구축된 채널을 통해서 원격 장치와 패킷 기반 통화를 수행하는 방법으로서,
    상기 방법은 모바일 장치의 프로세서에 의해 수행되고,
    상기 방법은
    통신 클라이언트 애플리케이션을 실행해서 통화를 수행하고 복수의 네트워크 파라미터를 모니터링하는 단계와,
    전원의 전력 공급 레벨을 모니터링하는 단계와,
    상기 복수의 네트워크 파라미터의 논리적 분석을 실행하는 단계 - 상기 논리적 분석은 상기 복수의 네트워크 파라미터를 복수의 임계치의 세트 중 하나와 비교하는 것을 포함하고, 상기 복수의 임계치의 세트 중 하나는 상기 모니터링된 전력 공급 레벨에 기초해서 상기 복수의 임계치의 세트로부터 상기 논리적 분석을 위해서 선택됨 - 와,
    상기 복수의 네트워크 파라미터의 상기 논리적 분석 및 상기 모니터링된 전력 공급 레벨에 기초해서, 상기 통화를, 프로세싱 기능을 구현하도록 작동가능한 하드웨어 프로세싱 모듈과 상기 프로세싱 기능을 구현하도록 실행가능한 소프트웨어 프로세싱 모듈 중 하나에, 선택적으로 공급하는 단계
    를 포함하는
    방법.
  22. 제 21 항에 있어서,
    상기 복수의 네트워크 파라미터는
    채널 비트레이트,
    채널 종단간 전송 지연,
    채널 패킷 손실율, 및
    채널 패킷 손실 무결성
    중 적어도 하나를 포함하는
    방법.
  23. 제 22 항에 있어서,
    상기 통화를 상기 하드웨어 프로세싱 모듈과 상기 소프트웨어 프로세싱 모듈 중 하나에 선택적으로 공급하는 단계는, 상기 논리적 분석의 결과를, 상기 통화를 상기 하드웨어 프로세싱 모듈 혹은 상기 소프트웨어 프로세싱 모듈에 공급하도록 구성된 선택 메커니즘에 공급하는 단계를 포함하는
    방법.
  24. 제 23 항에 있어서,
    상기 선택 메커니즘의 스위치에서 입력 신호를 수신하는 단계와,
    상기 선택 메커니즘의 제어기에서 상기 논리적 분석의 결과를 수신하는 단계와,
    상기 제어기로부터 상기 스위치로 제어 신호를 공급하는 단계
    를 더 포함하고,
    상기 제어 신호는 상기 논리적 분석 및 상기 모니터링된 전력 공급 레벨에 기초하고, 상기 제어 신호는 상기 하드웨어 프로세싱 모듈 또는 상기 소프트웨어 프로세싱 모듈에 프로세싱될 상기 입력 신호를 출력하도록 상기 스위치를 제어하는
    방법.
  25. 제 24 항에 있어서,
    일정 임계치의 세트에 대응하는 구성 모드를 선택하는 사용자 입력을 수신하는 단계와,
    상기 구성 모드를 선택하는 것에 응답해서, 상기 일정 임계치의 세트를 이용해서 상기 제어 신호를 공급하는 단계
    를 더 포함하는
    방법.
  26. 제 24 항에 있어서,
    상기 제어기는,
    상기 채널 비트레이트와 소정의 비트레이트 임계치와의 비교 결과,
    상기 채널 종단간 전송 지연과 소정의 지연 임계치와의 비교 결과,
    상기 채널 패킷 손실율과 소정의 패킷 손실율 임계치와의 비교 결과
    를 포함하는 상기 논리적 분석에 기초해서 상기 프로세싱될 입력 신호를 출력하도록 상기 스위치를 제어하는
    방법.
  27. 제 26 항에 있어서,
    상기 제어기는, 상기 채널 비트레이트가 상기 소정의 비트레이트 임계치보다 작을 때, 프로세싱될 상기 입력 신호를 상기 소프트웨어 프로세싱 모듈에 출력하도록 상기 스위치를 제어하는
    방법.
  28. 제 26 항에 있어서,
    상기 제어기는, 상기 채널 종단간 전송 지연이 상기 소정의 지연 임계치보다 크거나 동일할 때, 프로세싱될 상기 입력 신호를 상기 소프트웨어 프로세싱 모듈에 출력하도록 상기 스위치를 제어하는
    방법.
  29. 제 26 항에 있어서,
    상기 제어기는, 상기 채널 패킷 손실율이 상기 소정의 패킷 손실율 임계치보다 크거나 동일할 때, 프로세싱될 상기 입력 신호를 상기 소프트웨어 프로세싱 모듈에 출력하도록 상기 스위치를 제어하는
    방법.
  30. 제 24 항에 있어서,
    상기 제어기는, 상기 모니터링된 전력 공급 레벨이 상기 모바일 장치가 외부 전원에 연결되었음을 표시할 때, 일정 임계치의 제 1 세트를 이용하여 상기 스위치를 제어하는
    방법.
  31. 제 24 항에 있어서,
    상기 제어기는, 상기 모니터링된 전력 공급 레벨이 소정의 전력 공급 임계치보다 크거나 동일할 때 일정 임계치의 제 2 세트를 이용하여 상기 스위치를 제어하고,
    상기 제어기는, 상기 모니터링된 전력 공급 레벨이 상기 소정의 전력 공급 임계치보다 작을 때 일정 임계치의 제 3 세트를 이용하여 상기 스위치를 제어하는
    방법.
KR1020147005874A 2011-09-06 2012-09-06 네트워크 상태에 따른 신호 프로세싱 모듈 선택 기법 KR101907724B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GB1115386.3A GB2494411B (en) 2011-09-06 2011-09-06 Signal processing
GB1115386.3 2011-09-06
US13/328,089 2011-12-16
US13/328,089 US8830853B2 (en) 2011-09-06 2011-12-16 Signal processing
PCT/US2012/054016 WO2013036682A1 (en) 2011-09-06 2012-09-06 Selection of signal processing module depending on network conditions

Publications (2)

Publication Number Publication Date
KR20140074886A KR20140074886A (ko) 2014-06-18
KR101907724B1 true KR101907724B1 (ko) 2018-10-12

Family

ID=44882287

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147005874A KR101907724B1 (ko) 2011-09-06 2012-09-06 네트워크 상태에 따른 신호 프로세싱 모듈 선택 기법

Country Status (6)

Country Link
US (1) US8830853B2 (ko)
EP (1) EP2740291B1 (ko)
JP (1) JP6256950B2 (ko)
KR (1) KR101907724B1 (ko)
GB (1) GB2494411B (ko)
WO (1) WO2013036682A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2514540B (en) * 2013-04-10 2020-01-08 Microsoft Technology Licensing Llc Resource for encoding a video signal
JP6022058B2 (ja) 2014-02-27 2016-11-09 三菱電機株式会社 熱源側ユニット及び冷凍サイクル装置
US10893266B2 (en) * 2014-10-07 2021-01-12 Disney Enterprises, Inc. Method and system for optimizing bitrate selection
US10972726B2 (en) * 2017-09-29 2021-04-06 Whatsapp Inc. Techniques to dynamically select a video encoder for streaming video encoding
CN111182303A (zh) * 2019-10-08 2020-05-19 腾讯科技(深圳)有限公司 共享屏幕的编码方法、装置、计算机可读介质及电子设备
CN114765677A (zh) * 2021-01-12 2022-07-19 腾讯科技(深圳)有限公司 多人视频会话方法、装置、计算机设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6404776B1 (en) 1997-03-13 2002-06-11 8 × 8, Inc. Data processor having controlled scalable input data source and method thereof
US20040165783A1 (en) 2001-09-26 2004-08-26 Interact Devices, Inc. System and method for dynamically switching quality settings of a codec to maintain a target data rate
US20060121955A1 (en) 2004-12-07 2006-06-08 Mindspeed Technologies, Inc. Wireless telephone having adaptable power consumption
EP2093890A1 (en) 2008-02-20 2009-08-26 Research In Motion Limited Apparatus and associated method for selecting speech coder operational rates

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11328376A (ja) * 1998-05-08 1999-11-30 Canon Inc 情報入出力方法及び装置並びに記憶媒体
JP2001027986A (ja) * 1999-05-10 2001-01-30 Canon Inc データ処理装置及び処理部選択方法
JP2002135127A (ja) * 2000-10-26 2002-05-10 Canon Inc 信号処理装置
US7002992B1 (en) * 2001-03-07 2006-02-21 Cisco Technology, Inc. Codec selection to improve media communication
US7376132B2 (en) * 2001-03-30 2008-05-20 Verizon Laboratories Inc. Passive system and method for measuring and monitoring the quality of service in a communications network
JP3586771B2 (ja) * 2001-04-12 2004-11-10 村田機械株式会社 画像メモリ付き通信端末装置
JP2004153769A (ja) * 2002-09-04 2004-05-27 Murata Mach Ltd 画像形成装置
JP3962675B2 (ja) * 2002-11-28 2007-08-22 株式会社リコー 画像圧縮装置
JP2005175694A (ja) * 2003-12-09 2005-06-30 Toyota Motor Corp 音声通信装置、及び、音声通信方法
US7679612B2 (en) * 2004-04-30 2010-03-16 Microsoft Corporation Configuration goals via video presenting network
US7733772B2 (en) * 2006-01-25 2010-06-08 Intel Corporation Dynamic selection of communication links in a mixed network
JP5170972B2 (ja) * 2006-03-28 2013-03-27 株式会社東芝 無線通信装置及び無線通信システム
US7792141B2 (en) * 2007-01-08 2010-09-07 Hellosoft, Inc. Hardware-centric medium access control (MAC) device
US20080207253A1 (en) * 2007-02-27 2008-08-28 Nokia Corporation Multiradio management through quality level control
US20080279097A1 (en) * 2007-05-09 2008-11-13 Campion Nicholas F Methods, Systems, and Computer Program Products for Network Device Congestion Relief
KR100915448B1 (ko) 2007-12-07 2009-09-04 한국전자통신연구원 통신시스템 및 그 코덱 할당방법
JP2010102587A (ja) * 2008-10-24 2010-05-06 Toshiba Corp 情報処理装置
US20120183040A1 (en) * 2011-01-19 2012-07-19 Qualcomm Incorporated Dynamic Video Switching
US10045089B2 (en) * 2011-08-02 2018-08-07 Apple Inc. Selection of encoder and decoder for a video communications session

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6404776B1 (en) 1997-03-13 2002-06-11 8 × 8, Inc. Data processor having controlled scalable input data source and method thereof
US20040165783A1 (en) 2001-09-26 2004-08-26 Interact Devices, Inc. System and method for dynamically switching quality settings of a codec to maintain a target data rate
US20060121955A1 (en) 2004-12-07 2006-06-08 Mindspeed Technologies, Inc. Wireless telephone having adaptable power consumption
EP2093890A1 (en) 2008-02-20 2009-08-26 Research In Motion Limited Apparatus and associated method for selecting speech coder operational rates

Also Published As

Publication number Publication date
JP6256950B2 (ja) 2018-01-10
GB201115386D0 (en) 2011-10-19
GB2494411B (en) 2017-12-06
EP2740291A1 (en) 2014-06-11
US8830853B2 (en) 2014-09-09
EP2740291B1 (en) 2023-06-07
WO2013036682A1 (en) 2013-03-14
KR20140074886A (ko) 2014-06-18
JP2014526827A (ja) 2014-10-06
GB2494411A (en) 2013-03-13
US20130058232A1 (en) 2013-03-07

Similar Documents

Publication Publication Date Title
US11006129B2 (en) System and method for automatic encoder adjustment based on transport data
KR101907724B1 (ko) 네트워크 상태에 따른 신호 프로세싱 모듈 선택 기법
US9538220B2 (en) Video streaming quality of experience degradation control using a video quality metric
US8284683B2 (en) Selecting an operational mode of a codec
US7903562B2 (en) Method and system for congestion control
US20130290492A1 (en) State management for video streaming quality of experience degradation control and recovery using a video quality metric
US20130298170A1 (en) Video streaming quality of experience recovery using a video quality metric
US20100082834A1 (en) Apparatus and method for transmitting and receiving data in a wireless communication network
WO2011079694A1 (zh) 媒体处理方法、设备和系统
CN112585922A (zh) 在用于协同媒体制作的网络控制上行链路媒体传输中利用事件特定优先级的方法和系统
AU2021200428B2 (en) System and method for automatic encoder adjustment based on transport data
WO2014209493A1 (en) State management for video streaming quality of experience degradation control and recovery using a video quality metric
WO2014209494A1 (en) Video streaming quality of experience degradation control using a video quality metric
EP3841722B1 (en) Method and system for utilizing network conditions feedback for improving quality of a collaborative media production
WO2014209495A1 (en) Video streaming quality of experience recovery using a video quality metric
JP2005101815A (ja) 携帯通信端末
CN102932841B (zh) 信号处理
JPWO2005062566A1 (ja) 情報送信端末及び受信端末
JP2012070198A (ja) 映像伝送システム

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right