JP2014526827A - ネットワーク状態に依存した信号処理モジュールの選択 - Google Patents

ネットワーク状態に依存した信号処理モジュールの選択 Download PDF

Info

Publication number
JP2014526827A
JP2014526827A JP2014529871A JP2014529871A JP2014526827A JP 2014526827 A JP2014526827 A JP 2014526827A JP 2014529871 A JP2014529871 A JP 2014529871A JP 2014529871 A JP2014529871 A JP 2014529871A JP 2014526827 A JP2014526827 A JP 2014526827A
Authority
JP
Japan
Prior art keywords
processing module
channel
threshold
switching means
mobile device
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2014529871A
Other languages
English (en)
Other versions
JP6256950B2 (ja
JP2014526827A5 (ja
Inventor
ヴルム,カールハインツ
イェフレモフ,アンドレイ
ジャオ,デイヴィッド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2014526827A publication Critical patent/JP2014526827A/ja
Publication of JP2014526827A5 publication Critical patent/JP2014526827A5/ja
Application granted granted Critical
Publication of JP6256950B2 publication Critical patent/JP6256950B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/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

無線通信ネットワークを通じて確立されたチャネルを介してリモートデバイスとパケットベースの通話を行うモバイルデバイス、方法、及びコンピュータプログラム製品である。モバイルデバイスは、無線通信ネットワークにアクセスするように構成された無線アクセス回路と、通信クライアントアプリケーションを実行して無線通信ネットワークを通じて確立されたチャネルを介してリモートデバイスとパケットベースの通話を行う、実行する手段であり、通信クライアントアプリケーションは少なくとも1つのネットワークパラメータを監視するように構成される、手段と、処理機能を実施するように選択的に動作可能なハードウェア処理モジュールと、上記処理機能を実施するように選択的に実行可能なソフトウェア処理モジュールと、少なくとも1つの監視されたネットワークパラメータに基づいて、ハードウェア処理モジュール及びソフトウェア処理モジュールのうち1つに通話を供給する選択メカニズムと、を含む

Description

本発明は、モバイルデバイスにおいて行われる通話中の信号処理に関する。
いくつかの通信システムは、パーソナルコンピュータなどのデバイスのユーザが、インターネットなどのパケットベースのコンピュータネットワークを通じて音声通話又ビデオ通話を行うことを可能にする。上記のような通信システムには、インターネットプロトコルを通じた音声又はビデオ(VoIP)システムを含む。これらのシステムは、しばしば従来の固定回線又はモバイルセルラーネットワークよりもかなり低コストであるため、ユーザにとって有益である。これは、長距離通信について、特に当てはまるであろう。VoIPシステムを利用するために、ユーザは、ユーザ自身のデバイス上にクライアントソフトウェアをインストールし、それを実行する。クライアントソフトウェアは、登録及び認証などの他の機能を提供するとともに、VoIP接続をセットアップする。音声通信に加えて、上記クライアントはさらに、インスタントメッセージング(“IM”)、SMSメッセージング、ファイル転送、及びボイスメールなどの他の通信媒体のための接続をセットアップすることもできる。
モバイル帯域幅の増加とともに、インターネット接続可能なモバイルフォンなどのモバイルデバイス上で実行するクライアントアプリケーションを介した、パケットベースのビデオ通話を提供することへの関心が高まっている。これらのモバイルデバイスは、無線アクセスポイント(例えば、WLANネットワークのWi−Fiアクセスポイントなど)を介してインターネットへアクセスする1つ又は複数の免許不要帯域において動作する短距離RFトランシーバ、及び/又はGPRS(General Packet Radio Service)若しくはHSPA(High Speed Packet Access)などのセルラーネットワークのパケットベースのサービスを介してインターネットにアクセスする1つ又は複数の要免許帯域において動作するセルラートランシーバなどの、トランシーバを含む。
図1は、通信システム100の概略図であり、通信システム100は、インターネットなどのパケットベースのネットワーク101とモバイルセルラーネットワーク103とを含む。モバイルセルラーネットワーク103は、複数の基地局104(3GPP用語において時にノードBと呼ばれる)を含む。それぞれの基地局104は、セルラーネットワーク103の対応するセルを扱うように構成される。さらに、パケット交換ネットワーク101は、インターネットにアクセスするWi−Fiアクセスポイントなどの複数の無線アクセスポイント106を含む。これらは、1つ又は複数の無線ローカルエリアネットワーク(WLAN)のアクセスポイントであってよい。
複数のユーザ端末102が、ネットワーク101及び/又は103を通じて通信するように構成される。ユーザターミナル102のうち少なくとも1つが、インターネット接続可能なモバイルフォンなどのモバイルデバイスを含み、他のユーザ端末102には、例えばデスクトップPC又はラップトップPCを含んでよい。
例示的なモバイルデバイス102aを、図2a及び図2bに概略的に示す。モバイルデバイス102aは、通信クライアントアプリケーションを記憶するメモリ213に接続された1つ又は複数のプロセッサユニット(CPU)211の形態の処理装置を含む。プロセッサ211は、さらに、マイクロフォン202、スピーカ203、カメラ205、電源206、1つ又は複数のRFトランシーバ207、キーパッド209、及びディスプレイ212に接続される。
1つ又は複数のトランシーバ207は、モバイルデバイス102aが、1つ又は複数のネットワーク101及び/又は103にアクセスすることを可能にする。例えば、モバイルデバイス102aは、基地局104を介してモバイルセルラーネットワーク103にアクセスするセルラー無線トランシーバ、及び/又はインターネット101にアクセスする有線若しくは無線のモデムを含んでよい。無線モデムの場合、これは典型的には、無線アクセスポイント106を介してインターネット101にアクセスする短距離無線トランシーバ(例えば、Wi−Fi)を含む。
インターネット101へのアクセスは、さらに、GPRS(General Packet Radio Service)又はHSPA(High Speed Packet Access)などの他の手段によっても達成されるであろう。セルラー階層のより高いレベルにおいて、セルラーネットワーク103は、複数のセルラーコントローラステーション105を含み、セルラーコントローラステーション105のそれぞれは、複数の基地局104に接続される。コントローラステーション105は、モバイルセルラーネットワーク103の従来の回線交換部分に接続されるが、さらにインターネット101にも接続される。コントローラステーション105は、したがって、インターネット101へのアクセスを含む、基地局104を介したパケットベース通信へのアクセスを可能にするように配置される。コントローラステーション105を、例えば、GSM(登録商標)/EDGE用語において基地局コントローラ(Base Station Controller;BSC)と呼ぶ場合があり、あるいはUSTM又はHSPA用語において無線ネットワークコントローラ(Radio Network Controller;RNC)と呼ぶ場合がある。
メモリ213には、プロセッサ211に接続された電子的消去可能プログラマブルメモリ(EEPROM、又は「フラッシュ」メモリ)などの不揮発性メモリを含んでよい。メモリは、プロセッサ上で実行されるように配置され、実行されたときにインターネット101及び/又はセルラーネットワーク103を通じて通信に従事するように構成された通信コードを記憶する。通信コードは、短距離無線トランシーバ207及び無線アクセスポイント106を介して、かつ/あるいは上述したようなセルラーネットワーク103のセルラー無線トランシーバ207、基地局104及びコントローラステーション105を介して、インターネット101を通じて他のユーザ端末102と音声又はビデオ通話などの通信を行う通信クライアントアプリケーションを好ましくは含む。しかしながら、関連するユーザ端末102のうち1つ又は複数は、代替的に、例えばモバイル端末とデスクトップPCとの間の通話の場合などにおいて、有線モデムを介して通信するであろう。
この方法において、モバイルデバイス102aは、インターネット101(又は他のパケットベースのネットワーク)を介して、別の、リモート端末102bと通話を確立するように構成される。図示の例において、リモート端末102bはデスクトップコンピュータであるが、他の実施形態において、別のモバイルデバイスであってもよい。
具体的に、ビデオ通話機能がユーザにより有効にされている場合、上記通話は、モバイルデバイス102aと102bとにおけるライブビデオ通話を含む。ビデオ通話は、デバイス102a及び102bによりリアルタイムで捕捉され、インターネット101を介してIPパケットの形式で送信される信号の交換を含む。
交換される信号には、着信(incoming)ビデオ信号及び発信(outgoing)ビデオ信号の双方を含むことができるが、代替的に、ビデオ通話は、双方向性である必要はなく、ユーザデバイス102のうち1つだけから1方向だけに送信されるビデオを含んでよい。
交換される信号には、モバイルデバイス102aのカメラ205により捕捉される「生の」(エンコードされていない)発信ビデオ信号を含むことができる。上記の発信ビデオ信号は、アナログ・デジタル・コンバータ(ADC)215によりデジタル信号へと変換され、ブロック217においてクライアントによりエンコードされる。
実行されると、エンコーダ217は、ビデオ信号をより低いビットレートストリームへと圧縮するようにビデオ信号をエンコードし、トランシーバ207とネットワーク101、103とを介してリモートデバイス102bに送信するために、エンコードされた信号を出力する。
交換される信号には、リモート端末102bからの着信エンコード済ビデオ信号を含むことができる。上記着信エンコード済ビデオ信号は、クライアントアプリケーションによりモバイルデバイス102a上でデコーダ219においてデコードされる。デコードされたビデオ信号は、次いで、デジタル・アナログ・コンバータ(DAC)221を用いてアナログ信号へと変換され、ディスプレイ212に出力されることができる。
交換される信号には、さらに、モバイルデバイス102a上でスピーカ203を介して出力するための、リモートデバイス102bからの着信エンコード済オーディオ信号、及び/又はリモートデバイス102bへ送信するための、モバイルデバイス102a上のマイクロフォン202により捕捉された、発信の「生の」(エンコードされていない)オーディオ信号を含むことができる。エンコーダ及び/又はデコーダを示すために用いる場合がある総称が、コーデックである。
現代の「スマートフォン」において、H.264に従うソフトウェアベースの符号化が実装されており、それは良好な品質の符号化を提供するが、バッテリ寿命を減らす。
本発明の第1の態様に従い、無線通信ネットワークにアクセスするように構成された無線アクセス回路と、通信クライアントアプリケーションを実行して上記無線通信ネットワークを通じて確立されたチャネルを介してリモートデバイスとパケットベースの通話を行う、実行する手段であり、上記通信クライアントアプリケーションは少なくとも1つのネットワークパラメータを監視するように構成される、手段と、処理機能を実施するように選択的に動作可能なハードウェア処理モジュールと、上記処理機能を実施するように選択的に実行可能なソフトウェア処理モジュールと、上記の少なくとも1つの監視されたネットワークパラメータに基づいて、上記ハードウェア処理モジュール及び上記ソフトウェア処理モジュールのうち1つに上記通話を供給する選択メカニズムと、を含むモバイルデバイスが提供される。
好ましくは、上記処理機能は、ビデオ通話又はオーディオ通話のうち1つにおけるコーデック機能である。
好ましくは、上記少なくとも1つの監視されたネットワークパラメータは、チャネルビットレート、チャネルエンドツーエンド送信遅延、チャネルパケット損失率、及びチャネルパケット損失バースト性のうちの少なくとも1つである。
上記選択メカニズムは、さらに、上記リモートデバイスの能力に応じて上記ハードウェア処理モジュールと上記ソフトウェア処理モジュールとにおいて選択することができる。好ましくは、上記選択メカニズムは、入力信号を受け取るように構成された切り替え手段と、上記少なくとも1つの監視されたネットワークパラメータを受け取り、上記切り替え手段に制御信号を供給するように構成された制御手段であり、上記制御信号は上記少なくとも1つの監視されたネットワークパラメータに基づき、上記制御信号は上記ハードウェア処理モジュール又は上記ソフトウェア処理モジュールのいずれかに処理すべき上記入力信号を出力するように上記切り替え手段を制御する、制御手段と、を含む。
上記ソフトウェア処理モジュールは、上記通信クライアントアプリケーションを実行する手段において実行されるコードにより実施することができる。
好ましくは、上記少なくとも1つのネットワークパラメータを監視するステップは、上記通信クライアントアプリケーションを実行する手段により実行されるトランスポート層機能とアプリケーション層機能とのうち少なくとも1つである。
上記ハードウェア処理モジュールと上記ソフトウェア処理モジュールとは、双方とも、ビデオエンコーダ及びビデオデコーダを含むことができる。上記モバイルデバイスは、さらに、リアルタイムビデオデータを捕捉する手段を含むことができ、上記手段はエンコードされていないビデオ信号の形式で上記入力信号を供給することができる。代替的に、上記入力信号は、上記リモートデバイスにより上記チャネルを介して上記モバイルデバイスに送信されるエンコードされたビデオ信号であってよい。
上記ハードウェア処理モジュールと上記ソフトウェア処理モジュールとは、双方とも、オーディオエンコーダ及びオーディオデコーダを含むことができる。上記モバイルデバイスは、さらに、オーディオデータを捕捉する手段を含むことができ、上記手段はエンコードされていないオーディオ信号の形式で上記入力信号を供給することができる。代替的に、上記入力信号は、上記リモートデバイスにより上記チャネルを介して上記モバイルデバイスに送信されるエンコードされたオーディオ信号であってよい。
いくつかの実施形態において、上記処理機能はセキュリティ機能である。
好ましくは、上記無線通信ネットワークはインターネットである。
好ましくは、上記モバイルデバイスは、インターネット接続可能なモバイル電話、携帯型ゲーム機、パーソナル・デジタル・アシスタント(PDA)、タブレットコンピュータ、及びラップトップコンピュータのうちの1つである。
本発明の第2の態様に従い、無線通信ネットワークを通じて確立されたチャネルを介してリモートデバイスとパケットベースの通話を行う方法が提供される。当該方法は、通信クライアントアプリケーションを実行して上記通話を行い、少なくとも1つのネットワークパラメータを監視する、実行するステップと、前記の少なくとも1つの監視されたネットワークパラメータに基づいて、処理機能を実施するように動作可能なハードウェア処理モジュール、又は前記処理機能を実施するように実行可能なソフトウェア処理モジュールのうち1つに前記通話を選択的に供給するステップと、を含む。
好ましくは、当該方法は、上記ハードウェア処理モジュール又は上記ソフトウェア処理モジュールに上記通話を供給するように構成された選択メカニズムに、上記少なくとも1つの監視されたネットワークパラメータを供給するステップをさらに含む。
好ましくは、当該方法は、上記選択メカニズムの切り替え手段において入力信号を受け取るステップと、上記選択メカニズムの制御手段において上記少なくとも1つの監視されたネットワークパラメータを受け取るステップと、上記制御手段から上記切り替え手段へ制御信号を供給するステップであり、上記制御信号は上記少なくとも1つの監視されたネットワークパラメータに基づき、上記制御信号は上記ハードウェア処理モジュール又は上記ソフトウェア処理モジュールのいずれかに処理すべき上記入力信号を出力するように上記切り替え手段を制御する、ステップと、をさらに含む。
好ましくは、当該方法は、複数のネットワークパラメータの論理分析を実行するステップをさらに含む。
上記制御手段は、チャネルビットレートが所定ビットレート閾値以上であり、かつチャネルエンドツーエンド送信遅延が所定遅延閾値未満であり、かつチャネルパケット損失率が所定パケット損失率閾値未満であるとき、上記ハードウェア処理モジュールに処理すべき上記入力信号を出力するように上記切り替え手段を制御することができる。
上記制御手段は、上記チャネルビットレートが上記所定ビットレート閾値未満であるとき、上記ソフトウェア処理モジュールに処理すべき上記入力信号を出力するように上記切り替え手段を制御することができる。
上記制御手段は、上記チャネルエンドツーエンド送信遅延が上記所定遅延閾値以上であるとき、上記ソフトウェア処理モジュールに処理すべき上記入力信号を出力するように上記切り替え手段を制御することができる。
上記制御手段は、上記チャネルパケット損失率が上記所定パケット損失率閾値以上であるとき、上記ソフトウェア処理モジュールに処理すべき上記入力信号を出力するように上記切り替え手段を制御することができる。
当該方法は、構成モードを選択するためのユーザ入力を受け取るステップであり、上記構成モードは一定閾値のセットに対応し、上記制御手段は一定閾値の上記セットを用いて上記切り替え手段を制御する、ステップ、をさらに含むことができる。
好ましくは、当該方法は、電源の電源レベルを監視するステップと、上記電源レベルに基づいて上記選択メカニズムの動作を調整するステップと、をさらに含む。上記の閾値は上記電源の上記電源レベルに従って変更することができる。
好ましくは、上記制御手段は、上記モバイルデバイスが外部電力源に接続されていることを上記電源の上記電源レベルが示すとき、一定閾値の第1のセットを用いて上記切り替え手段を制御する。
好ましくは、上記制御手段は、上記電源の上記電源レベルが所定電源閾値以上であるとき、一定閾値の第2のセットを用いて上記切り替え手段を制御し、上記制御手段は、上記電源の上記電源レベルが上記所定電源閾値未満であるとき、一定閾値の第3のセットを用いて上記切り替え手段を制御する。
本発明の第3の態様に従い、コンピュータ読取可能媒体上に具体化され、モバイルデバイスにおいて実行されたときに上述した方法のステップのいずれかを行うように構成されたコードを含む、コンピュータプログラム製品が提供される。
本発明をより理解するため、及び本発明をどのように実施することができるかを示すため、ここで例示として以下の添付図面を参照する。
通信システムの略図である。 既知のモバイル端末の略図である。 既知のモバイル端末の略ブロック図である。 本発明によるモバイル端末の略ブロック図である。 信号処理モジュールの略図である。 プロトコルスタックの略図である。 ソフトウェアコーデックを実施すべきか又はハードウェアコーデックを実施すべきかを決定する方法を図示する。 図6の方法において使用するパラメータを決定する方法を図示する。
本発明によるモバイルデバイス102aを、図3に概略的に示す。
図3に示すモバイルデバイス102aは、CPU311(ソフトウェアコーデックを実施し、他の信号処理機能を実行する)とハードウェアコーデックとを含む信号処理モジュール320を含む。ハードウェアコーデックは、専用チップ上に実装することができ、あるいはCPU311と同一のダイ上に物理的に位置付けることができる。
信号処理モジュール320は、図2a及び図2bを参照しながら上述した既知のモバイルデバイス内に存在するものと同じデバイスに接続される。すなわち、信号処理モジュール320は、通信クライアントアプリケーションを記憶するメモリ313に接続される。信号処理モジュール320は、さらに、マイクロフォン302、スピーカ303、カメラ305、電源306、1つ又は複数の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に依存して、ハードウェアコーデック405へのライン406か又はソフトウェアコーデック410へのライン408かのいずれかに、受け取った入力信号を出力するように動作する。ハードウェアコーデック405とソフトウェアコーデック410とのうち選択された1つが、エンコードされた出力信号をライン414に与える。エンコードされた出力信号414を、ネットワークインタフェース207に供給して、ネットワーク101、103を通じてリモートデバイス102bに送信することができる。
例示目的で別個のブロックとして示しているが、点線が示すように、ソフトウェアコーデック410は、CPU311(図4に図示せず)上でプログラムコードを実行することによって実施される。ハードウェアコーデック405は、専用回路を用いて実施される。
ハードウェアコーデックは、ソフトウェアコーデックよりも使用する電力が少なく、したがってバッテリ寿命を延ばすことができる。しかしながら、ソフトウェアコーデックは、いくつかの状況においてより良好な品質結果をもたらすことができ、より容易にアップデートすることができる。上述の実施形態は、制御ブロック430の動作を通じて環境に依存して最適なコーデックを選択することを可能にする。制御ブロック430は、CPU311上でコードを実行することにより実施され、このコードは、メモリ313内に、又は図3に示していない別個のメモリ内に記憶することができる。制御ブロック430は、ビットレート442、送信遅延444、パケット損失率446、及びリモートデバイス102bの能力448を含む、監視されたネットワークパラメータを受け取り、これらの監視されたネットワークパラメータに基づいて制御信号412を出力して、エンコーダスイッチ404を制御する。リモートデバイス102bの能力448には、例えば、リモートデバイス102bの画面解像度、又はリモートデバイス102bのCPU能力を含むことができる。点線で伝えられているように、パラメータ442〜448は、CPU311上で通信クライアントアプリケーションを実行することによって監視される。制御ブロック430がどのように制御信号412を生成するかの説明を、図6を参照しながら以下に与える。
さらに、信号処理モジュール320を使用して入力信号をデコードして、音声又はビデオ通話中にモバイルデバイス102aのユーザ108aに対して出力することができる。
入力信号は、デコーダスイッチ424へのライン422上に供給される。動作において、入力信号は、ネットワーク101、103を通じてリモートデバイス102bから受信する、エンコードされたオーディオ信号及び/又はエンコードされたビデオ信号であってよい。
デコーダスイッチ424は、さらに、制御ブロック430から制御信号432を受け取る。制御ブロック430がどのように制御信号432を生成するかの説明を、図6を参照しながら以下に与える。デコーダスイッチ424は、制御信号432に依存して、ハードウェアコーデック405へのライン426か、又はソフトウェアコーデック410へのライン428かのいずれかに、受信した入力信号を出力するように動作する。ハードウェアコーデック405とソフトウェアコーデック410とのうち選択された1つが、デコードされた出力信号をライン434に与える。デコードされた出力信号434を、スピーカ203又はディスプレイ212により出力することが可能なアナログ信号へと変換することができる。
ハードウェアコーデック405及びソフトウェアコーデック410は、ビデオエンコーダ及び/又はビデオデコーダを含むビデオコーデックか、あるいはオーディオエンコーダ及び/又はオーディオデコーダを含むオーディオコーデックかのいずれかであってよいことが、十分理解されるであろう。エンコーダとデコーダとを、エンコーダスイッチ404とデコーダスイッチ424とを用いて互いに独立して切り替えることができる。
パラメータ442〜448をどのように監視するかを説明するために、ここで図5を参照する。当業者によく知られているであろうように、ユーザデバイスがインターネットなどのネットワークを通じて通信することができるための基本的なメカニズムを、(各ユーザデバイス上で実行されるソフトウェアにおいて具体化される)プロトコルスタックと考えることができる。通信の種類に依存して、複数の種々のプロトコルスタックが存在するが、1つを代表として図5に示す。
このスタックにおいて、最下層は、デバイス102a及び102b間のRFリンクにわたってビットを伝える責任を負う、リンク層516である。リンク層516は、搬送周波数上へと変調された、(典型的にはエンコードされた)ビットの形式におけるRFトラフィックを伝える責任を負う。
インターネット層514は、すぐ後のパケットルーティングの責任を負うパケットプロトコルである。データのパケットはヘッダ部分とペイロードとの双方を含むことを、当業者は理解するであろう。ヘッダは、宛先ユーザデバイスのインターネットワークアドレス(例えば、IPアドレス)を含み、ペイロードは、通信クライアントアプリケーションにより所望される送信すべき実際のユーザデータを含む。ルーティングノードがパケットを受信するとき、そのIP層ソフトウェアが、IPアドレスを調べ、パケットを送るべき次の隣接するルーティングノード(又は、宛先デバイスが隣接している場合はエンドユーザ端末デバイス)を決定する。
トランスポート層512は、IPヘッダの上部にラップされるさらなるヘッダ情報を追加して、ポート番号付け、輻輳制御、及びパケット受信の肯定応答などのサービスを提供する。
最後に、アプリケーション層510は、パケットペイロード内に含まれるユーザ情報、例えば、音声若しくはビデオ通話のオーディオ若しくはビデオコンテンツ、又はIMメッセージのためのユーザテキストなどに関連する。クライアントアプリケーションは、当のアプリケーションに対して適切としてペイロード内に望むいかなるコンテンツも自由に含むことができる。
プロセッサ311上で実行される通信クライアントアプリケーションは、トランスポート層512において動作して、エンドツーエンド送信遅延444とパケット損失率446とを監視することができる。通信クライアントアプリケーションは、タイムスタンプを用いて送信遅延を監視することができる。パケット損失は、パケットのシーケンス番号における欠落を用いて決定することができる。例えば、より低い層においてネットワーク機器を用いるなどの、この情報を監視するための他の方法を利用できることが、十分理解されるであろう。これらのパラメータをアプリケーション層510において通信クライアントアプリケーションが使用して、オーディオ/ビデオストリームに対して使用することができる利用可能なネットワーク帯域幅を推定することができる。さらに、通信クライアントアプリケーションは、リモートデバイス102bの能力448に関する情報を受信することができ、これは、モバイルデバイス102aによる要求に応じて、又はリンク層を通じて行われる通話の確立の一部として受信することができる。
通信クライアントアプリケーションは、制御ブロック430に対して、監視したパラメータ442〜448を与え、次いで、制御ブロックが、監視されたパラメータ442〜448を評価して、入力信号402、422を処理するためにハードウェアコーデック405を実施すべきか、あるいはソフトウェアコーデック410を実施すべきかを決定することができる。
ハードウェアコーデック405を実施すべきか、あるいはソフトウェアコーデック410を実施すべきかを決定するときに制御ブロック430が実施するロジックを、発明者らは開発した。入力信号が送信用にエンコードされなければならないときに使用されるロジックを、図6に図示する。ロジックの構築において、発明者らは以下を仮定している。
第1に、リアルタイムビデオ信号を処理する場合、ハードウェアコーデック405は、ソフトウェアコーデック410が実施されるCPU311の制約に起因して、ソフトウェアコーデック410よりも高い解像度で入力を処理することができる。
第2に、ソフトウェアコーデック410は、アップデートすることがより容易であり、ゆえにハードウェアコーデック405よりもさらに技術的に先行した特徴を有する可能性がある。ゆえに、低ビットレートの、遅延の大きい、パケット損失の多い状態において、ハードウェアコーデック405よりも良好に機能することができる。
最後に、ハードウェアコーデック405は、ソフトウェアコーデック410よりも電源306から消費する電力がより少ない。
ステップ602において、制御ブロック430は、監視されたパラメータ442〜448を受け取る。
ステップ604において、制御ブロック430は、ビットレート442が所定閾値A以上であるどうかを決定する。ビットレート442がA未満である場合、ステップ614において、制御ブロック430は、エンコーダスイッチ404を制御する制御信号412を出力して、ライン402上の入力をソフトウェアコーデック410へ供給する。所定閾値Aは、実際のハードウェアコーデックの実装に合わせるべきである。一例が、500kbpsである。
ステップ604において、ビットレート442がA以上であることが決定された場合、制御ブロック430はステップ606へと進む。ステップ606は、エンドツーエンド送信遅延444が所定閾値B以上であるかどうかを決定する。遅延444がB以上である場合、次いで、制御ブロック430はステップ614へと進み、上述のとおり動作する。再びになるが、所定閾値Bは、実際のハードウェアコーデックの実装に合わせるべきである。一例のシナリオにおいて、500msのエンドツーエンド遅延が要求される場合であって、ハードウェアコーデック405がライン402上の入力をエンコードするために400msを必要とする場合、ネットワーク遅延は100ms未満でなければならない。ゆえに、この例において、閾値Bは100msであるように選択されるであろう。
ステップ606において、遅延444がB未満であることが決定された場合、制御ブロック430はステップ608へと進む。ステップ608は、パケット損失率446が所定閾値Cより大きいかどうかを決定する。パケット損失率446がCより大きい場合、次いで、制御ブロック430はステップ614へと進み、上述したとおりに動作する。一例のシナリオにおいて、パケット損失がまったく存在しない場合に限りハードウェアコーデック405が使用されるように、所定閾値Cが0%であってよい。
パケット損失率446がC以下である場合、制御ブロック430はステップ610へと進む。ステップ610は、リモートデバイス能力448が所定閾値D以上であるかどうかを決定する。リモートデバイス能力448がD未満である場合、次いで、制御ブロック430はステップ614へと進み、上述したとおりに動作する。一例のシナリオにおいて、ハードウェアエンコーダ405がVGA以上の解像度に対して合わせられる場合、次いで、ステップ610において、本処理は、ハードウェアコーデック405が適用される前に、リモートデバイス102bのCPUがVGA解像度を扱うことができるかどうかを確認する。
パケット損失に言及しているが、バースト性などの、パケット損失の他の評価基準を使用してもよいことが十分理解されるであろう。
ステップ610において、リモートデバイス能力がD以上であることが決定された場合、ステップ614において、制御ブロック430は、エンコーダスイッチ404を制御する制御信号412を出力して、ライン402上の入力をハードウェアコーデック405に供給する。
したがって、ハードウェアコーデック405は、ビットレート442がA以上であり、遅延444がB未満であり、パケット損失446がC以下であり、かつリモートデバイス能力448がD以上であるときに限り使用され、これらの状態に合致しない場合、ソフトウェアコーデック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は、電源306の電源レベルを制御ブロック430に提供することができる。制御ブロックがこの情報をどのように利用して図6において使用される閾値A、B、C、Dを適応的に変化させるのかを、ここから図7を参照しながら説明していく。
ステップ702において、制御ブロック430は、電源レベル監視ブロック308から電源306の電源レベルを受け取る。
ステップ704において、制御ブロック430は、電力が電源206に供給されるように電力ケーブルがモバイルデバイス102aに接続されているかどうかを決定する(すなわち、モバイルデバイスの電源が充電中であるかどうかを決定する)。電力が電源306に供給されるように電力ケーブルがモバイルデバイス102aに接続されている場合、コーデックの電力利用は重要ではなく、次いで、ステップ708に示すように、第1の構成が図6の処理において使用される。すなわち、値A1、B1、C1、D1を、図6の処理において使用する。この第1の構成を使用して、可能な限り多くソフトウェアコーデック410を使用するように制御ブロック430を偏らせる。ビデオ通話中、ハードウェアコーデック405への切り替えは、リモートデバイス102bが高解像度ビデオを受信する能力があるときにのみ可能となるであろう。ほんの一例として、第1の構成におけるパラメータは、A1=1500kbps、B1=100ms、C1=0%、D1=HD可能という値をとることができる。
ステップ704において、電力が電源306に供給されていないことが決定された場合、次いで、ステップ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可能という値をとることができる。これらの値はいずれにせよ単に例示であり限定ではないことが、十分理解されるであろう。
ステップ706において、電源306の電源レベルが容量の60%より低いことが決定された場合、次いで、ステップ712において示すように、第3の構成が図6の処理において使用される。この第3の構成を使用して、ハードウェアコーデック405を使用するように制御ブロック430を偏らせる。すなわち、値A3、B3、C3、D3が図6の処理において用いられる。ゆえに、ビデオ通話中、第2の構成におけるパラメータは、A2=500kbps、B2=200ms、C2=1%、D2=QVGA可能という値をとることができる。これらの値はいずれにせよ単に例示であり限定ではないことが、十分理解されるであろう。
電源の60%という閾値はいずれにせよ単に例示であり限定ではないことが、十分理解されるであろう。さらに、さらなる電源閾値がさらなる閾値の構成と関連付けて用いられうることが、十分理解されるであろう。
A、B、C、Dは、いつハードウェアコーデック405を使用すべきであり、あるいはいつソフトウェアコーデック410を使用すべきであるかを判断するために使用される一定の値であり、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に対して優先順位を与えるべきである。この優先順位付けを実施するために、一定の閾値を以下のように、すなわち、
A1≧A2≧A3
B3≧B2≧B1
C3≧C2≧C1
D1≧D2≧D3
のように設定することができる。
したがって、例としてビットレート閾値A1、A2、A3をとると、モバイルデバイスが外部電力源に接続されていて、ソフトウェアコーデック410に対して優先順位が与えられるべきであるとき、ソフトウェアコーデック410は低ビットレートのチャネル状態においてより良好に機能することができるため、最も高い閾値A1がステップ604において使用される。対照的に、電源306の電源レベルが低く、ハードウェアコーデック405に対して優先順位が与えられるべきであるとき、最も低い閾値A3がステップ604において使用される。
上述したように、図6及び図7に図示する方法は、本発明が最良の形態の動作を自動的に選択することを可能にする。本発明の別の実施形態において、モバイルデバイス102aが受け取るユーザ入力が、制御ブロック430の自動的な判断を上書きすることができる。このユーザ入力は、モバイルデバイス102aにおける入力手段、例えばマイクロフォン302又はキーパッド309において受け取ることができる。
この実施形態において、ユーザは、所定閾値のセットにそれぞれ対応する構成モードを選択することができる。例えば、「パフォーマンス最優先(Best Performance)」の構成モードが所定閾値A1、B1、C1、D1に対応してよく、「バッテリやや優先(Better Battery)」の構成モードが所定閾値A2、B2、C2、D2に対応してよく、「バッテリ最優先(Best Battery)」の構成モードが所定閾値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、710を参照)。ユーザ108aは、「バッテリ最優先」の構成モードを選択して制御ブロック430の自動的な機能性を上書きし、所定閾値A3、B3、C3、D3を選択することができ、それにより最良のバッテリ性能を達成して通話中に十分な電力を提供することができる。
本発明の実施形態は、ハードウェアとソフトウェアとにおける設計及び製造工程中に、トレードオフを行う必要性を回避する。従来、モバイルデバイス102aの設計工程中に、最良の通話品質、セキュリティ、又はバッテリ性能を達成するために、多くのトレードオフを行うことが必要とされた。モバイルデバイスは、モバイルデバイスのバッテリ性能を向上するために、ハードウェア補助チップを備えるであろう。しかしながら、ハードウェア実装は、時代遅れとなる可能性があり、アップデートすることがより容易であろうソフトウェアベースの実装により達成される通話品質のレベルを達成しない。
ソフトウェア実装とハードウェア実装とにおける使用中の(live)選択を可能にすることにより、このトレードオフはもはや設計段階において行う必要がなくなる。上記で論じられたビデオコーデックに加えて、本発明は、オーディオコーデック、セキュリティ関連機能、又は他のバッテリ強化機能に対して適用することができる。
本発明の実施形態を、ビデオ通話及び/又は音声通話と特に関連させて論じたが、本発明の用途はライブストリーミング及びビデオメールなどの他のモバイルビデオの活用に拡張することができることが、十分理解されるであろう。
本発明を好適な実施形態に関連させて具体的に図示及び説明したが、別記の請求項により定義される本発明の範囲から逸脱することなく、形式及び詳細において種々の変更を行うことができることを、当業者は理解するであろう。

Claims (10)

  1. 無線通信ネットワークを通じて確立されたチャネルを介してリモートデバイスとパケットベースの通話を行う方法であって、
    通信クライアントアプリケーションを実行して上記通話を行い、少なくとも1つのネットワークパラメータを監視する、実行するステップと、
    前記の少なくとも1つの監視されたネットワークパラメータに基づいて、処理機能を実施するように動作可能なハードウェア処理モジュール、又は前記処理機能を実施するように実行可能なソフトウェア処理モジュールのうち1つに前記通話を選択的に供給するステップと、
    を含む方法。
  2. 前記少なくとも1つの監視されたネットワークパラメータは、
    チャネルビットレート、
    チャネルエンドツーエンド送信遅延、
    チャネルパケット損失率、及び
    チャネルパケット損失バースト性
    のうち少なくとも1つである、請求項1に記載の方法。
  3. 選択メカニズムの切り替え手段において入力信号を受け取るステップと、
    前記選択メカニズムの制御手段において前記少なくとも1つの監視されたネットワークパラメータを受け取るステップと、
    前記制御手段から前記切り替え手段へ制御信号を供給するステップであり、前記制御信号は前記少なくとも1つの監視されたネットワークパラメータに基づき、前記制御信号は前記ハードウェア処理モジュール又は前記ソフトウェア処理モジュールのいずれかに処理すべき前記入力信号を出力するように前記切り替え手段を制御する、ステップと、
    をさらに含む請求項2に記載の方法。
  4. 複数のネットワークパラメータの論理分析を実行するステップ
    をさらに含む請求項3に記載の方法。
  5. 前記制御手段は、
    前記チャネルビットレートが所定ビットレート閾値以上であり、かつ
    前記チャネルエンドツーエンド送信遅延が所定遅延閾値未満であり、かつ
    前記チャネルパケット損失率が所定パケット損失率閾値未満であるとき、
    前記ハードウェア処理モジュールに処理すべき前記入力信号を出力するように前記切り替え手段を制御し、
    かつ/あるいは、前記制御手段は、
    前記チャネルビットレートが前記所定ビットレート閾値未満であるとき、又は
    前記チャネルエンドツーエンド送信遅延が前記所定遅延閾値以上であるとき、又は
    前記チャネルパケット損失率が前記所定パケット損失率閾値以上であるとき、
    前記ソフトウェア処理モジュールに処理すべき前記入力信号を出力するように前記切り替え手段を制御する、
    請求項4に記載の方法。
  6. 構成モードを選択するためのユーザ入力を受け取るステップであり、前記構成モードは一定閾値のセットに対応し、前記制御手段は一定閾値の前記セットを用いて前記切り替え手段を制御する、ステップ
    をさらに含む請求項5に記載の方法。
  7. 電源の電源レベルを監視するステップと、
    前記電源レベルに基づいて前記選択メカニズムの動作を調整するステップと、
    をさらに含む請求項5に記載の方法。
  8. 前記の閾値は前記電源の前記電源レベルに従って変更され、前記制御手段は、モバイルデバイスが外部電力源に接続されていることを前記電源の前記電源レベルが示すとき、一定閾値の第1のセットを用いて前記切り替え手段を制御し、前記制御手段は、前記電源の前記電源レベルが所定電源閾値以上であるとき、一定閾値の第2のセットを用いて前記切り替え手段を制御し、前記制御手段は、前記電源の前記電源レベルが前記所定電源閾値未満であるとき、一定閾値の第3のセットを用いて前記切り替え手段を制御する、
    請求項7に記載の方法。
  9. モバイルデバイスに請求項1乃至8のうちいずれか1項に記載の方法を実行させるように構成されたコードを含むコンピュータプログラム。
  10. 請求項1乃至8のうちいずれか1項に記載の方法を実施することに適したモバイルデバイスであって、
    無線通信ネットワークにアクセスするように構成された無線アクセス回路と、
    通信クライアントアプリケーションを実行して前記無線通信ネットワークを通じて確立されたチャネルを介してリモートデバイスとパケットベースの通話を行う、実行する手段であり、前記通信クライアントアプリケーションは少なくとも1つのネットワークパラメータを監視するように構成される、手段と、
    処理機能を実施するように選択的に動作可能なハードウェア処理モジュールと、
    前記処理機能を実施するように選択的に実行可能なソフトウェア処理モジュールと、
    前記の少なくとも1つの監視されたネットワークパラメータに基づいて、前記ハードウェア処理モジュール及び前記ソフトウェア処理モジュールのうち1つに前記通話を供給する選択メカニズムと、
    を含むモバイルデバイス。
JP2014529871A 2011-09-06 2012-09-06 ネットワーク状態に依存した信号処理モジュールの選択 Active JP6256950B2 (ja)

Applications Claiming Priority (5)

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

Publications (3)

Publication Number Publication Date
JP2014526827A true JP2014526827A (ja) 2014-10-06
JP2014526827A5 JP2014526827A5 (ja) 2015-10-01
JP6256950B2 JP6256950B2 (ja) 2018-01-10

Family

ID=44882287

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014529871A Active JP6256950B2 (ja) 2011-09-06 2012-09-06 ネットワーク状態に依存した信号処理モジュールの選択

Country Status (6)

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

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
CN106104178B (zh) 2014-02-27 2018-09-25 三菱电机株式会社 热源侧单元以及制冷循环装置
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 (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002135127A (ja) * 2000-10-26 2002-05-10 Canon Inc 信号処理装置
JP2002314782A (ja) * 2001-04-12 2002-10-25 Murata Mach Ltd 画像メモリ付き通信端末装置
JP2004180075A (ja) * 2002-11-28 2004-06-24 Ricoh Co Ltd 画像圧縮装置
JP2005175694A (ja) * 2003-12-09 2005-06-30 Toyota Motor Corp 音声通信装置、及び、音声通信方法
JP2007266954A (ja) * 2006-03-28 2007-10-11 Toshiba Corp 無線通信装置及び無線通信システム
US20080279097A1 (en) * 2007-05-09 2008-11-13 Campion Nicholas F Methods, Systems, and Computer Program Products for Network Device Congestion Relief
JP2010102587A (ja) * 2008-10-24 2010-05-06 Toshiba Corp 情報処理装置

Family Cites Families (16)

* 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
JPH11328376A (ja) * 1998-05-08 1999-11-30 Canon Inc 情報入出力方法及び装置並びに記憶媒体
JP2001027986A (ja) * 1999-05-10 2001-01-30 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
US7302102B2 (en) 2001-09-26 2007-11-27 Reynolds Jodie L System and method for dynamically switching quality settings of a codec to maintain a target data rate
JP2004153769A (ja) * 2002-09-04 2004-05-27 Murata Mach Ltd 画像形成装置
US7679612B2 (en) * 2004-04-30 2010-03-16 Microsoft Corporation Configuration goals via video presenting network
US20060121955A1 (en) 2004-12-07 2006-06-08 Mindspeed Technologies, Inc. Wireless telephone having adaptable power consumption
US7733772B2 (en) * 2006-01-25 2010-06-08 Intel Corporation Dynamic selection of communication links in a mixed network
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
KR100915448B1 (ko) 2007-12-07 2009-09-04 한국전자통신연구원 통신시스템 및 그 코덱 할당방법
US8050932B2 (en) 2008-02-20 2011-11-01 Research In Motion Limited Apparatus, and associated method, for selecting speech COder operational rates
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 (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002135127A (ja) * 2000-10-26 2002-05-10 Canon Inc 信号処理装置
JP2002314782A (ja) * 2001-04-12 2002-10-25 Murata Mach Ltd 画像メモリ付き通信端末装置
JP2004180075A (ja) * 2002-11-28 2004-06-24 Ricoh Co Ltd 画像圧縮装置
JP2005175694A (ja) * 2003-12-09 2005-06-30 Toyota Motor Corp 音声通信装置、及び、音声通信方法
JP2007266954A (ja) * 2006-03-28 2007-10-11 Toshiba Corp 無線通信装置及び無線通信システム
US20080279097A1 (en) * 2007-05-09 2008-11-13 Campion Nicholas F Methods, Systems, and Computer Program Products for Network Device Congestion Relief
JP2010102587A (ja) * 2008-10-24 2010-05-06 Toshiba Corp 情報処理装置

Also Published As

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

Similar Documents

Publication Publication Date Title
JP6256950B2 (ja) ネットワーク状態に依存した信号処理モジュールの選択
US9351194B2 (en) Congestion level indication with explicit congestion notification in communication systems
US20180316606A1 (en) Methods and systems for evaluating network performance of and transmitting packets through an aggregated connection
US8989661B2 (en) Method and system for optimized architecture for bluetooth streaming audio applications
US7817625B2 (en) Method of transmitting data in a communication system
CN108476456B (zh) 一种数据发送方法、接收方法和发送端以及接收端
US10448455B2 (en) Radio communications gateway and radio communications terminal
KR20120103749A (ko) 통신 시스템에서 이진 마킹을 사용한 명시적 혼잡 통지 기반의 레이트 적응
US9332094B2 (en) Communication system and method
WO2011079694A1 (zh) 媒体处理方法、设备和系统
US7664036B2 (en) Dynamic real-time quality management of packetized communications in a network environment
CN112585921B (zh) 提供事件协调的上行链路网络辅助的方法和网络元件
JP2014068087A (ja) バッファ制御装置、バッファ制御装置による制御方法、メディア通信装置、並びにコンピュータ・プログラム
JP2006217167A (ja) Ip電話装置およびipアダプタ装置
CN102932841B (zh) 信号处理
AU2014384897A1 (en) Methods, wireless device, radio base station and second network node for managing EPS bearer
WO2023185608A1 (zh) 一种数据传输的方法及通信装置
WO2022002003A1 (zh) 信息确定方法及设备
WO2024037423A1 (zh) 一种带宽控制的方法和装置
JP2012070198A (ja) 映像伝送システム
CN115550320A (zh) 一种数据传输方法和相关设备
CN115696462A (zh) 一种网络编码方法及装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150810

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150810

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160620

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160628

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160928

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170221

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170522

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171031

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20171102

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171129

R150 Certificate of patent or registration of utility model

Ref document number: 6256950

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250