KR102221021B1 - 전자 장치 및 인터넷 프로토콜 기반의 네트워크에서 패킷을 처리하는 방법 - Google Patents

전자 장치 및 인터넷 프로토콜 기반의 네트워크에서 패킷을 처리하는 방법 Download PDF

Info

Publication number
KR102221021B1
KR102221021B1 KR1020140091756A KR20140091756A KR102221021B1 KR 102221021 B1 KR102221021 B1 KR 102221021B1 KR 1020140091756 A KR1020140091756 A KR 1020140091756A KR 20140091756 A KR20140091756 A KR 20140091756A KR 102221021 B1 KR102221021 B1 KR 102221021B1
Authority
KR
South Korea
Prior art keywords
electronic device
received signal
packet
various embodiments
module
Prior art date
Application number
KR1020140091756A
Other languages
English (en)
Other versions
KR20160010958A (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 삼성전자주식회사
Priority to KR1020140091756A priority Critical patent/KR102221021B1/ko
Priority to US14/804,777 priority patent/US9763126B2/en
Publication of KR20160010958A publication Critical patent/KR20160010958A/ko
Application granted granted Critical
Publication of KR102221021B1 publication Critical patent/KR102221021B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/08Testing, supervising or monitoring using real traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/16Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
    • H04W28/18Negotiating wireless communication parameters
    • H04W28/22Negotiating communication rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 전자 장치 및 인터넷 프로토콜 기반의 네트워크에서 패킷을 처리하는 방법에 있어서, 수신 신호로부터 네트워크 상태를 확인하고, 적어도 하나의 네트워크 상태에 대응하게 설정된 기준 값들 중 하나를 상기 확인한 네트워크 상태에 대응하는 전송률로 설정하며, 상기 패킷을 상기 설정된 전송률로 전송할 수 있으며, 그 외 다양한 실시 예가 가능할 수 있다.

Description

전자 장치 및 인터넷 프로토콜 기반의 네트워크에서 패킷을 처리하는 방법{ELECTRONIC DEVICE AND METHOD FOR PROCESSING PACKET IN INTERNET PROTOCOL BASED NETWORK}
본 발명은 전자 장치 및 인터넷 프로토콜 기반의 네트워크에서 패킷을 처리하는 방법에 관한 것이다.
4세대 이동통신이라 불리어지는 LTE(Long Term Evolution) 기술이 전 세계적으로 급속히 도입되고 있다. LTE 기술은 인터넷 프로토콜(Internet Protocol: IP) 기반의 네트워크에서 다양한 실시간 데이터 서비스를 제공할 수 있다. 상기 서비스는 예를 들어, LTE 기반의 음성 통화 서비스(voice over LTE: VoLTE), LTE 기반의 영상 통화 서비스(video telephony over LTE: VT), IP 기반의 패킷(Packet) 데이터를 통한 음성 통화 서비스(Voice over Internet Protocol: VoIP) 등이 있을 수 있다.
패킷 데이터를 이용한 통화 서비스를 수행하는 도중, 네트워크의 상태에 따라 패킷 데이터의 전송이 지연(delay)되거나 패킷 데이터가 손실(loss) 되는 상황이 발생할 수 있다. 이 경우, 통화 서비스의 품질은 악화될 수 있다.
이후, 악화된 통화 서비스의 품질을 개선하기 위하여, 패킷 전송을 위한 비트레이트(bitrate)를 조절하거나, 지연 혹은 로스된 패킷 데이터를 재전송할 수 있으나, 이는 사후적인 조치라는 문제점이 있다.
본 발명의 다양한 실시 예에 따른 전자 장치 및 인터넷 프로토콜 기반의 네트워크에서 패킷을 처리하는 방법은, 통화 서비스의 품질이 악화되기 전에 네트워크의 상태를 미리 확인하여 비트레이트를 조절하거나 패킷 데이터를 재전송할 수 있다.
본 발명의 다양한 실시 예에 따른 인터넷 프로토콜 기반의 네트워크에서 패킷을 처리하는 방법은, 전자 장치가 수신 신호로부터 네트워크 상태를 확인하는 동작과,
적어도 하나의 네트워크 상태에 대응하게 설정된 기준 값들 중 하나를 상기 확인한 네트워크 상태에 대응하는 전송률로 설정하는 동작과, 상기 패킷을 상기 설정된 전송률로 전송하는 동작을 포함할 수 있다.
본 발명의 다양한 실시 예에 따른 전자 장치는, 수신 신호로부터 네트워크 상태를 확인하고, 적어도 하나의 네트워크 상태에 대응하게 설정된 기준 값들 중 하나를 상기 확인한 네트워크 상태에 대응하는 전송률로 설정하는 프로세서와, 상기 패킷을 상기 설정된 전송률로 전송하는 통신 모듈을 포함할 수 있다.
본 발명의 다양한 실시 예에 따른 전자 장치 및 인터넷 프로토콜 기반의 네트워크에서 패킷을 처리하는 방법에 따라, 통화 서비스의 품질이 악화되기 전에 네트워크의 상태를 미리 확인하여 비트레이트를 설정하고, 설정된 비트레이트로 패킷을 전송함에 따라, 전송한 이후에 지연 또는 패킷 데이터가 손실되는 미리 상황을 방지할 수 있다.
본 발명의 다양한 실시 예에 따른 전자 장치 및 인터넷 프로토콜 기반의 네트워크에서 패킷을 처리하는 방법에 따라, 미리 할당된 대역의 크기 범위 내에서 패킷을 여러 번 더 전송함으로써 과도한 대역 할당으로 인해 사용되지 않는 대역의 낭비를 줄일 수 있다.
도 1은 본 발명의 다양한 실시 예에 따른, 네트워크 환경의 일 예를 도시한 도면이다.
도 2는 본 발명의 다양한 실시 예에 따른, 전자 장치들 간의 통신의 일 예를 도시한 도면이다.
도 3은 본 발명의 다양한 실시 예에 따른 전자 장치 구성의 일 예를 도시한 블록도이다.
도 4는 본 발명의 다양한 실시 예에 따라, 전자 장치에서 비트레이트를 설정하는 동작의 일 예를 도시한 흐름도이다.
도 5는 본 발명의 다양한 실시 예에 따라, 전자 장치에서 비트레이트를 설정하는 동작의 다른 예를 도시한 흐름도이다.
도 6은 본 발명의 다양한 실시 예에 따라, 전자 장치에서 수신 신호를 전송하는 방법의 일 예를 도시한 흐름도이다.
도 7은 본 발명의 다양한 실시 예에 따라, 전자 장치들 간의 비트레이트를 설정하는 동작의 일 예를 도시한 흐름도이다.
도 8은 본 발명의 다양한 실시 예에 따른 RTP 패킷 구조의 일 예를 도시한 구조도이다.
도 9는 본 발명의 다양한 실시 예에 따른 확장된 RTP 패킷 구조의 일 예를 도시한 구조도이다.
도 10은 본 발명의 다양한 실시 예가 적용될 수 있는 전자 장치 구성의 일 예를 도시한 블록도이다.
도 11은 본 발명의 다양한 실시 예에 따라, 복수의 전자 장치들 사이의 통신 프로토콜들의 일 예를 도시한 흐름도이다.
이하, 본 발명의 다양한 실시 예가 첨부된 도면과 연관되어 기재된다. 본 발명의 다양한 실시 예는 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들이 도면에 예시되고 관련된 상세한 설명이 기재되어 있다. 그러나, 이는 본 발명의 다양한 실시 예를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 다양한 실시 예의 사상 및 기술 범위에 포함되는 모든 변경 및/또는 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용되었다.
본 발명의 다양한 실시 예에서 사용될 수 있는 “포함한다” 또는 “포함할 수 있다” 등의 표현은 개시(disclosure)된 해당 기능, 동작 또는 구성요소 등의 존재를 가리키며, 추가적인 하나 이상의 기능, 동작 또는 구성요소 등을 제한하지 않는다. 또한, 본 발명의 다양한 실시 예에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 발명의 다양한 실시 예에서 “또는” 등의 표현은 함께 나열된 단어들의 어떠한, 그리고 모든 조합을 포함한다. 예를 들어, “A 또는 B”는, A를 포함할 수도, B를 포함할 수도, 또는 A 와 B 모두를 포함할 수도 있다.
본 발명의 다양한 실시 예에서 사용된 “제 1,”“제2,”“첫째,” 또는 “둘째,”등의 표현들은 다양한 실시 예들의 다양한 구성요소들을 수식할 수 있지만, 해당 구성요소들을 한정하지 않는다. 예를 들어, 상기 표현들은 해당 구성요소들의 순서 및/또는 중요도 등을 한정하지 않는다. 상기 표현들은 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 수 있다. 예를 들어, 제1 사용자 기기와 제 2 사용자 기기는 모두 사용자 기기이며, 서로 다른 사용자 기기를 나타낸다. 예를 들어, 본 발명의 다양한 실시 예의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 새로운 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 새로운 다른 구성요소가 존재하지 않는 것으로 이해될 수 있어야 할 것이다.
본 발명의 다양한 실시 예에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명의 다양한 실시 예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명의 다양한 실시 예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 발명의 다양한 실시 예에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 발명의 다양한 실시 예가 적용될 수 있는 전자 장치는, 통신 기능이 포함된 장치일 수 있다. 예를 들면, 전자 장치는 스마트 폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 화상전화기, 전자북 리더기(e-book reader), 데스크탑 PC(desktop personal computer), 랩탑 PC(laptop personal computer), 넷북 컴퓨터(netbook computer), PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라(camera), 또는 웨어러블 장치(wearable device)(예: 전자 안경과 같은 head-mounted-device(HMD), 전자 의복, 전자 팔찌, 전자 목걸이, 전자 앱세서리(appcessory), 전자 문신, 또는 스마트 와치(smart watch))중 적어도 하나를 포함할 수 있다.
어떤 실시 예들에 따르면, 전자 장치는 통신 기능을 갖춘 스마트 가전 제품(smart home appliance)일 수 있다. 스마트 가전 제품은, 예를 들자면, 전자 장치는 텔레비전, DVD(digital video disk) 플레이어, 오디오, 냉장고, 에어컨, 청소기, 오븐, 전자레인지, 세탁기, 공기 청정기, 셋톱 박스(set-top box), TV 박스(예를 들면, 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM), 게임 콘솔(game consoles), 전자 사전, 전자 키, 캠코더(camcorder), 또는 전자 액자 중 적어도 하나를 포함할 수 있다.
어떤 실시 예들에 따르면, 전자 장치는 각종 의료기기(예: MRA(magnetic resonance angiography), MRI(magnetic resonance imaging), CT(computed tomography), 촬영기, 초음파기 등), 네비게이션(navigation) 장치, GPS 수신기(global positioning system receiver), EDR(event data recorder), FDR(flight data recorder), 자동차 인포테인먼트(infotainment) 장치, 선박용 전자 장비(예: 선박용 항법 장치 및 자이로 콤파스 등), 항공 전자기기(avionics), 보안 기기, 차량용 헤드 유닛, 산업용 또는 가정용 로봇, 금융 기관의 ATM(automatic teller’s machine) 또는 상점의 POS(point of sales) 중 적어도 하나를 포함할 수 있다.
어떤 실시 예들에 따르면, 전자 장치는 통신 기능을 포함한 가구(furniture) 또는 건물/구조물의 일부, 전자 보드(electronic board), 전자 사인 입력장치(electronic signature receiving device), 프로젝터(projector), 또는 각종 계측기기(예: 수도, 전기, 가스, 또는 전파 계측 기기 등) 중 적어도 하나를 포함할 수 있다. 본 발명의 다양한 실시 예에 따른 전자 장치는 전술한 다양한 장치들 중 하나 또는 그 이상의 조합일 수 있다. 또한, 본 발명의 다양한 실시 예에 따른 전자 장치는 플렉서블 장치일 수 있다. 또한, 본 발명의 다양한 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않음은 당업자에게 자명하다. 다양한 실시 예에서 이용되는 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예: 인공지능 전자 장치)를 지칭할 수 있다.
이하, 첨부된 도면을 참조하여 다양한 실시 예에 따른 전자 장치 및 인터넷 프로토콜 기반의 네트워크에서 패킷을 처리하는 방법에 대해서 살펴본다.
도 1은 본 발명의 다양한 실시 예에 따른, 네트워크 환경의 일 예를 도시한 도면이다. 도 1을 참조하면, 네트워크 환경(100)은 전자 장치(101), 외부 전자 장치(예: 전자 장치(104)), 그리고 상기 전자 장치들(101 혹은 104) 간을 연결하는 네트워크(162)를 포함할 수 있다.
상기 전자 장치(101)는 버스(110), 프로세서(120), 메모리(130), 입출력 인터페이스(140), 디스플레이(150) 및 통신 인터페이스(160) 중 적어도 하나를 포함할 수 있다.
상기 버스(110)는 전술한 구성요소들을 서로 연결하고, 전술한 구성요소들 간의 통신(예: 제어 메시지)을 전달하는 수단일 수 있다.
상기 프로세서(120)는, 예를 들면, 상기 버스(110)를 통해 전술한 다른 구성요소들(예: 상기 메모리(130), 상기 입출력 인터페이스(140), 상기 디스플레이(150), 상기 통신 인터페이스(160) 등)로부터 명령을 수신하여, 수신된 명령을 해독하고, 해독된 명령에 따른 연산이나 데이터 처리를 실행할 수 있다.
상기 메모리(130)는, 상기 프로세서(120) 또는 다른 구성요소들(예: 상기 입출력 인터페이스(140), 상기 디스플레이(150), 상기 통신 인터페이스(160) 등)로부터 수신되거나 상기 프로세서(120) 또는 다른 구성요소들에 의해 생성된 명령 또는 데이터를 저장할 수 있다. 상기 메모리(130)는, 예를 들면, 커널(131), 미들웨어(132), 애플리케이션 프로그래밍 인터페이스(API: application programming interface)(133) 또는 애플리케이션(134) 등의 프로그래밍 모듈들을 포함할 수 있다. 전술한 각각의 프로그래밍 모듈들은 소프트웨어, 펌웨어, 하드웨어 또는 이들 중 적어도 둘 이상의 조합으로 구성될 수 있다.
상기 커널(131)은 나머지 다른 프로그래밍 모듈들, 예를 들면, 상기 미들웨어(132), 상기 API(133) 또는 상기 애플리케이션(134)에 구현된 동작 또는 기능을 실행하는 데 사용되는 시스템 리소스(Resource)들(예: 상기 버스(110), 상기 프로세서(120) 또는 상기 메모리(130) 등)을 제어 또는 관리할 수 있다. 또한, 상기 커널(131)은 상기 미들웨어(132), 상기 API(133) 또는 상기 애플리케이션(134)에서 상기 전자 장치(101)의 개별 구성요소에 접근하여 제어 또는 관리할 수 있는 인터페이스를 제공할 수 있다.
상기 미들웨어(132)는 상기 API(133) 또는 상기 애플리케이션(134)이 상기 커널(131)과 통신하여 데이터를 주고받을 수 있도록 중개 역할을 수행할 수 있다. 또한, 상기 미들웨어(132)는 상기 애플리케이션(134)로부터 수신된 작업 요청들과 관련하여, 예를 들면, 상기 애플리케이션(134) 중 적어도 하나의 애플리케이션에 상기 전자 장치(101)의 시스템 리소스(예: 상기 버스(110), 상기 프로세서(120) 또는 상기 메모리(130) 등)를 사용할 수 있는 우선 순위를 배정하는 등의 방법을 이용하여 작업 요청에 대한 제어(예: 스케쥴링 또는 로드 밸런싱)를 수행할 수 있다.
상기 API(133)는 상기 애플리케이션(134)이 상기 커널(131) 또는 상기 미들웨어(132)에서 제공되는 기능을 제어하기 위한 인터페이스로, 예를 들면, 파일 제어, 창 제어, 화상 처리 또는 문자 제어 등을 위한 적어도 하나의 인터페이스 또는 함수(예: 명령어)를 포함할 수 있다.
다양한 실시 예에 따르면, 상기 애플리케이션(134)은 SMS(short messaging service)/MMS(multimedia messaging service) 애플리케이션, IM(instant messaging) 애플리케이션, SNS(social networking service) 애플리케이션, 이메일 애플리케이션, 달력 애플리케이션, 알람 애플리케이션, 건강 관리(health care) 애플리케이션(예: 운동량 또는 혈당 등을 측정하는 애플리케이션) 또는 환경 정보 애플리케이션(예: 기압, 습도 또는 온도 정보 등을 제공하는 애플리케이션) 등을 포함할 수 있다. 추가적으로 또는 대안적으로, 상기 애플리케이션(134)은 상기 전자 장치(101)와 외부 전자 장치(예: 전자 장치(104)) 사이의 정보 교환과 관련된 애플리케이션일 수 있다. 상기 정보 교환과 관련된 애플리케이션은, 예를 들어, 상기 외부 전자 장치에 특정 정보를 전달하기 위한 알림 전달(notification relay) 애플리케이션, 또는 상기 외부 전자 장치를 관리하기 위한 장치 관리(device management) 애플리케이션을 포함할 수 있다.
예를 들면, 상기 알림 전달 애플리케이션은 상기 전자 장치(101)의 다른 애플리케이션(예: SMS/MMS 애플리케이션, 이메일 애플리케이션, 건강 관리 애플리케이션 또는 환경 정보 애플리케이션 등)에서 발생한 알림 정보를 외부 전자 장치(예: 전자 장치(104))로 전달하는 기능을 포함할 수 있다. 추가적으로 또는 대체적으로, 상기 알림 전달 애플리케이션은, 예를 들면, 외부 전자 장치(예: 전자 장치(104))로부터 알림 정보를 수신하여 사용자에게 제공할 수 있다. 상기 장치 관리 애플리케이션은, 예를 들면, 상기 전자 장치(101)와 통신하는 외부 전자 장치(예: 전자 장치(104))의 적어도 일부에 대한 기능(예: 외부 전자 장치 자체(또는, 일부 구성 부품)의 턴온/턴오프 또는 디스플레이의 밝기(또는, 해상도) 조절), 상기 외부 전자 장치에서 동작하는 애플리케이션 또는 상기 외부 전자 장치에서 제공되는 서비스(예: 통화 서비스 또는 메시지 서비스)를 관리(예: 설치, 삭제 또는 업데이트)할 수 있다.
다양한 실시 예에 따르면, 상기 애플리케이션(134)은 상기 외부 전자 장치(예: 전자 장치(104))의 속성(예: 전자 장치의 종류)에 따라 지정된 애플리케이션을 포함할 수 있다. 예를 들어, 외부 전자 장치가 MP3 플레이어인 경우, 상기 애플리케이션(134)은 음악 재생과 관련된 애플리케이션을 포함할 수 있다. 유사하게, 외부 전자 장치가 모바일 의료기기인 경우, 상기 애플리케이션(134)은 건강 관리와 관련된 애플리케이션을 포함할 수 있다. 한 실시 예에 따르면, 상기 애플리케이션(134)은 전자 장치(101)에 지정된 애플리케이션 또는 외부 전자 장치(예: 서버(106) 또는 전자 장치(104))로부터 수신된 애플리케이션 중 적어도 하나를 포함할 수 있다.
상기 입출력 인터페이스(140)는, 입출력 장치(예: 센서, 키보드 또는 터치 스크린)를 통하여 사용자로부터 입력된 명령 또는 데이터를, 예를 들면, 상기 버스(110)를 통해 상기 프로세서(120), 상기 메모리(130), 상기 통신 인터페이스(160)에 전달할 수 있다. 예를 들면, 상기 입출력 인터페이스(140)는 터치 스크린을 통하여 입력된 사용자의 터치에 대한 데이터를 상기 프로세서(120)로 제공할 수 있다. 또한, 상기 입출력 인터페이스(140)는, 예를 들면, 상기 버스(110)을 통해 상기 프로세서(120), 상기 메모리(130), 상기 통신 인터페이스(160)로부터 수신된 명령 또는 데이터를 상기 입출력 장치(예: 스피커 또는 디스플레이)를 통하여 출력할 수 있다. 예를 들면, 상기 입출력 인터페이스(140)는 상기 프로세서(120)를 통하여 처리된 음성 데이터를 스피커를 통하여 사용자에게 출력할 수 있다.
상기 디스플레이(150)는 사용자에게 각종 정보(예: 멀티미디어 데이터 또는 텍스트 데이터 등)을 표시할 수 있다. 본 발명의 실시 예에 따라, 상기 디스플레이(150)는 추천 데이터를 표시할 수 있다.
상기 통신 인터페이스(160)는 상기 전자 장치(101)와 외부 전자 장치(예: 전자 장치(104)) 간의 통신을 연결할 수 있다. 예를 들면, 상기 통신 인터페이스(160)는 무선 통신 또는 유선 통신을 통해서 네트워크(162)에 연결되어 상기 외부 전자 장치와 통신할 수 있다. 상기 무선 통신은, 예를 들어, Wifi(wireless fidelity), BT(Bluetooth), NFC(near field communication), GPS(global positioning system), BLE(Bluetooth Low Energy) 또는 cellular 통신(예: LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro 또는 GSM 등) 중 적어도 하나를 포함할 수 있다. 상기 유선 통신은, 예를 들어, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard 232) 또는 POTS(plain old telephone service) 중 적어도 하나를 포함할 수 있다.
한 실시 예에 따르면, 상기 네트워크(162)는 통신 네트워크(telecommunications network)일 수 있다. 상기 통신 네트워크는 컴퓨터 네트워크(computer network), 인터넷(internet), 사물 인터넷(internet of things) 또는 전화망(telephone network) 중 적어도 하나를 포함할 수 있다. 한 실시 예에 따르면, 상기 전자 장치(101)와 외부 전자 장치 간의 통신을 위한 프로토콜(예: transport layer protocol, data link layer protocol 또는 physical layer protocol))은 애플리케이션(134), API(133), 상기 미들웨어(132), 커널(131) 또는 통신 인터페이스(160) 중 적어도 하나에서 지원될 수 있다.
도 2는 본 발명의 다양한 실시 예에 따른, 전자 장치들 간의 통신의 일 예를 도시한 도면이다. 도 2를 참조하면 네트워크 환경(200)은 단말과 단말간의 통신을 수행하는 제1전자 장치(201)와 제2전자 장치(102)를 포함할 수 있다. 예컨대, 제1전자 장치(201)와 제2전자 장치(102)는 데이터의 일 예로, 실시간 데이터를 주고받을 수 있다. 여기서 실시간 데이터는 실시간 전송 프로토콜(Real-time Transport Protocol: RTP)을 통해 제공되는 RTP 패킷일 수 있다. 상기 RTP 패킷을 이용하여 제1전자 장치(201)와 제2전자 장치(102)간에 IP 기반의 실시간 음성/영상 통화 서비스, 멀티미디어 스트리밍 서비스 등이 수행될 수 있다.
도 3은 본 발명의 다양한 실시 예에 따른 전자 장치 구성의 일 예를 도시한 블록도이다. 도 3을 참조하면, 전자 장치(301)는 프로세서(310)와 통신 모듈(320)을 포함할 수 있다.
프로세서(310)는 수신 신호 확인부(311), RTP 헤더 확인부(312), 비트레이트 설정부(313)를 포함할 수 있으며, 전반적인 전자 장치(301)의 동작을 제어할 수 있다. 도 3을 참조하면, 본 발명의 다양한 실시 예에 따라, 프로세서(310)는 수신 신호 확인부(311)로부터 확인된 수신 신호의 세기를 확인할 수 있다. 프로세서(310)는 상기 수신 신호에 기반하여 네트워크 상태를 확인할 수 있다.
본 발명의 다양한 실시 예에 따라 프로세서(310)는 전자 장치(301)에서의 수신 신호의 세기뿐 아니라, 외부의 다른 전자 장치로부터 수신된 RTP 헤더에 포함된 수신 신호의 세기를 더 고려하여 네트워크 상태를 확인할 수도 있다.
수신 신호 확인부(311)는 전자 장치(301)로 수신되는 신호의 세기를 측정할 수 있다. 상기 수신 신호는 일 예로, RSRP(reference signal received power), RSRQ(reference signal received quality), SINR(signal to interference plus noise ratio) 혹은 RSSI(received signal strength indicator) 중 적어도 하나를 포함할 수 있다. 또한 상기 수신 신호는 전자 장치(301)가 다른 전자 장치(예, 전자 장치(104))와의 통신을 수행함에 따라 수신되는 신호이거나 그 외 네트워크 상태를 유추할 수 있는 어떠한 수신 신호도 가능할 수 있다. 수신 신호 확인부(311)는 측정한 수신 신호의 결과 값을 프로세서(310)로 전달할 수 있다.
RTP 헤더 확인부(312)는 다른 전자 장치로부터 수신된 RTP 헤더를 확인할 수 있다. 본 발명의 다양한 실시 예에 따라 상기 수신된 RTP 헤더는, 해당 RTP 헤더를 송신한 전자 장치에서 수신한 수신 신호가 포함되었음을 알리는 지시자 혹은 해당 수신 신호의 세기를 포함할 수 있다. RTP 헤더 확인부(312)는 상기 수신된 RTP 헤더가 수신 신호를 포함하였음을 지시하는 경우, 상기 수신된 RTP 헤더의 확장 헤더(header extension)의 영역을 확인하여 수신 신호의 값을 확인할 수 있다. RTP 헤더 확인부(312)는 확인한 수신 신호를 프로세서(310)로 전달할 수 있다.
비트레이트 설정부(313)는 프로세서(310)에 의해 확인된 네트워크 상태를 기반으로 비트레이트를 설정할 수 있다. 본 발명의 다양한 실시 예에 따라, 프로세서(310)는 네트워크 상태를 수신 신호의 세기에 따라 강전계, 중전계 혹은 약전계 등으로 구분할 수 있다. 예컨대, 수신 신호의 종류 혹은 수신 신호의 세기에 따라 네트워크 상태는 아래의 표 1과 같이 구분될 수 있다.
표 1은 다양한 실시 예에 따른, 수신 신호의 종류 혹은 수신 신호의 세기에 따라 구분되는 네트워크 상태에 관한 것이다.
RSRP(dBm) RSRQ(dBm) SINR(dBm)
강전계 -50 ~ -70 -2 ~ -7 25 ~ 30
중전계 -70 ~ -85 -7 ~ -13 15 ~ 25
약전계 <-85 <-13 <15

수신 신호의 세기에 따른 네트워크 상태가 확인됨에 따라, 비트레이트 설정부(313)는 기준 값을 확인하여 상기 확인된 네트워크 상태에 대응하게 비트레이트를 설정할 수 있다. 상기 기준 값은 코덱별 특정 비트레이트에 따른 RTP 페이로드의 크기를 포함할 수 있다. 또한 상기 기준 값은 특정 코덱뿐만 아니라, RTP 패킷을 압축하는 방식, RTP 페이로드 처리 모드 등 그 외 다른 요소에 따라 미리 설정되어 있는, 비트레이트에 따른 RTP 페이로드의 크기를 포함할 수 있다.
예컨대, 기준 값의 일 예로, AMR-WB(Adaptive Multi-Rate Wideband) 코덱의 경우에서, 비트레이트의 모드(Mode)와 각 비트레이트로 전송할 수 있는 RTP 페이로드(RTP payload)의 크기의 일 예는 아래의 표 2 및 표 3과 같다.
표 2는 AMR-WB 코덱의 대역폭이 AS인 경우의 계산 값(Computation of b=AS for AMR-WB (IPv6, ptime=20, bandwidth-efficient mode))에 관한 것이다.
Mode 6.6 8.85 12.65 14.25 15.85 18.25 19.85 23.05 23.85 SID
Bits per speech frame 132 177 253 285 317 365 397 461 477 40
Payload header and ToC 10 10 10 10 10 10 10 10 10 10
RTP payload (bits) 142 187 263 295 327 375 407 471 487 50
RTP payload (bytes) 17.75 23.38 32.88 36.88 40.88 46.88 50.88 58.88 60.875 6.25
Rounded-up RTP payload (bytes) 18 24 33 37 41 47 51 59 61 7
Rounded-up RTP payload (bits) 144 192 264 296 328 376 408 472 488 56
RTP header 96 96 96 96 96 96 96 96 96 96
UDP header 64 64 64 64 64 64 64 64 64 64
IPv6 header 320 320 320 320 320 320 320 320 320 320
Total bits per 20 ms 624 672 744 776 808 856 888 952 968 536
Total bit-rate (kbps) 31.2 33.6 37.2 38.8 40.4 42.8 44.4 47.6 48.4 26.8
AS 32 34 38 39 41 43 45 48 49 N/A
표 3은 AMR-WB 코덱의 대역폭이 AS인 경우의 계산 값(Computation of b=AS for AMR-WB (IPv6, ptime=20, octet-aligned mode))에 관한 것이다.
Mode 6.6 8.85 12.65 14.25 15.85 18.25 19.85 23.05 23.85 SID
Bits per speech frame 132 177 253 285 317 365 397 461 477 40
Speech frame size (bytes) 16.5 22.13 31.63 35.63 39.63 45.63 49.63 57.63 59.625 10
Rounded-up speech frame size (bytes) 17 23 32 36 40 46 50 58 60 5
Rounded-up speech frame size (bits) 136 184 256 288 320 368 400 464 480 40
Payload header and ToC 16 16 16 16 16 16 16 16 16 16
RTP payload (bits) 152 200 272 304 336 384 416 480 496 56
RTP header 96 96 96 96 96 96 96 96 96 96
UDP header 64 64 64 64 64 64 64 64 64 64
IPv6 header 320 320 320 320 320 320 320 320 320 320
Total bits per 20 ms 632 680 752 784 816 864 896 960 976 536
Total bit-rate (kbps) 31.6 34 37.6 39.2 40.8 43.2 44.8 48 48.8 26.8
AS 32 34 38 40 41 44 45 48 49 N/A

본 발명의 다양한 실시 예에 따라, 전자 장치(301)의 비트레이트가 표 2 및 표 3과 같이 6.6kbps ~ 23.85kbps의 범위 내에서 설정되는 경우를 가정한다.
비트레이트 설정부(313)는 RTP 헤더 압축 방식의 일 예로 RoHC(Robust Header Compression)가 사용되는 경우, 표 3을 참조하여 비트레이트를 설정할 수 있다. 비트레이트 설정부(313)는 접속 초기에는 QoS(Quality of Service)를 기반으로 비트레이트를 설정할 수 있다. 현재 비트레이트는 QoS를 기반으로 23.85kpbs로 설정되었음을 가정한다.
표 3을 참조하면, 23.85kpbs의 비트레이트로 전송할 수 있는 RTP 페이로드의 크기는 496bits일 수 있다. 이에 따라 RTP 페이로드의 처리를 위하여 적어도 496bits 이상의 대역이 할당될 수 있다. 표 3을 참조하여, 상기 23.85kpbs의 비트레이트로 전송하는 경우에 필요한 대역폭은 해당 AS 값인 49Kbps일 수 있다. 비트레이트 설정부(313)는 현재 네트워크 상태가 약전계인 것으로 확인되면, 비트레이트를 6.6kpbs으로 설정할 수 있다.
예컨대, 비트레이트가 6.6kpbs로 설정됨에 따라 전자 장치(301)는 한번에 152bits 만큼의 RTP 페이로드를 전송할 수 있다. 표 3을 참조하여, 상기 6.6kpbs의 비트레이트로 전송하는 경우에 필요한 대역폭 값은 32kpbs일 수 있다.
예컨대, 비트레이트 모드가 23.85kbps로 설정됨에 따라, 하나의 음성 패킷에 RTP 헤더(header) 필드, UDP 헤더 필드, 및 IPv6 헤더 필드가 포함되며, 필드들 각각에 96 bits, 64 bits, 및 320bits 가 포함될 수 있다. 전자 장치(301)는 상기 음성 패킷에 기본 오버헤드인 480bps를 제외하고, 패킷당 필요한 페이로드인 496bit를 포함시켜 총 976 bit만큼의 패킷을 전송할 수 있다.
이때 비트레이트를 6.6kbps로 낮춰서 전송한다면 전송에 필요하지 않은 대역이 더 할당된 것으로써 대역이 낭비될 수 있다.
본 발명의 다양한 실시 예에 따라, 전자 장치(301)는 할당된 대역의 범위 내에서 RTP 페이로드를 가능한 한 여러 번 전송할 수 있다. 예컨대, 할당된 496bits의 대역에서, 152bits 크기의 RTP 페이로드를 적어도 세 번 전송할 수 있다.
본 발명의 다양한 실시 예에 따라, 전자 장치(301)는 샘플링(sampling)된 음성 패킷의 비트레이트를 6.6kbps로 낮추고, 음성 패킷의 페이로드를 AMR 번들링(bundling)하여 세 개의 음성 패킷의 페이로드들을 하나의 RTP 패킷에 묶어 포함시키고, 상기 세 개의 페이로드들을 포함한 음성 패킷을 20ms의 주기 마다 전송할 수 있다.
예컨대, 이미 할당된 대역폭에서 세 개의 음성 패킷을 반복해서 보냄으로써 중간에 패킷이 손실되는 경우를 대비할 수 있다.
통신 모듈(320)는 송신부(321) 및 수신부(322)를 포함할 수 있다.
송신부(321)는 RTP 패킷을 외부로 전송할 수 있다. 상기 RTP 패킷은 RTP 헤더(header)와 RTP 페이로드(payload)를 포함할 수 있다. 여기서 RTP 헤더는 본 발명의 다양한 실시 예에 따라, 수신 신호 세기 및 상기 수신 신호 세기가 포함되었음을 알리는 지시자를 포함한 데이터 필드를 포함할 수 있다.
수신부(322)는 외부의 전자 장치로부터 RTP 패킷을 수신할 수 있다. 본 발명의 다양한 실시 예에 따라, 상기 수신부(322)가 수신한 RTP 패킷은 RTP 헤더를 포함할 수 있다. 상기 RTP 헤더는 본 발명의 다양한 실시 예에 따라, 수신 신호 세기 및 상기 수신 신호 세기가 포함되었음을 알리는 지시자를 포함한 데이터 필드를 포함할 수 있다.
예컨대, 본 발명의 다양한 실시 예에 따라, 전자 장치는, 수신 신호로부터 네트워크 상태를 확인하고, 적어도 하나의 네트워크 상태에 대응하게 설정된 기준 값들 중 하나를 상기 확인한 네트워크 상태에 대응하는 전송률로 설정하는 프로세서와, 상기 패킷을 상기 설정된 전송률로 전송하는 통신 모듈을 포함할 수 있다.
본 발명의 다양한 실시 예에 따라, 프로세서는, 이전에 할당된 대역폭 내에서, 상기 패킷이 재전송될 수 있는 경우, 상기 패킷을 적어도 한번 재전송하도록 상기 통신 모듈을 제어할 수 있다. 상기 이전에 할당된 대역폭은, QoS(Quality of Service)를 기반으로 미리 설정될 수 있다. 상기 기준 값은, 비트레이트와 코덱에 대응하여 설정될 수 있는 상기 패킷의 비트레이트의 값을 포함할 수 있다.
본 발명의 다양한 실시 예에 따라, 상기 프로세서는, 상기 통신 모듈을 통해 전송된 제2전자 장치의 신호를 통해, 상기 제2전자 장치의 수신 신호 세기를 확인하고, 상기 네트워크 상태를 상기 제2전자 장치의 수신 신호 세기를 더 고려하여 확인할 수 있다.
본 발명의 다양한 실시 예에 따라, 상기 프로세서는, 상기 제2전자 장치의 수신 신호 세기의 정보를 RTP(Real-time Transport Protocol) 패킷의 헤더에 포함할 수 있다. 상기 헤더는 상기 수신 신호 세기가 상기 헤더에 포함됨을 지시하는 데이터 필더를 포함할 수 있다.
도 4는 본 발명의 다양한 실시 예에 따라, 전자 장치에서 비트레이트를 설정하는 동작의 일 예를 도시한 흐름도이다. 도 4를 참조하면, 410 동작에서 전자 장치는 수신 신호로 네트워크 상태를 확인할 수 있다. 여기서 수신 신호는 RSSI 혹은 RSRP가 될 수 있으며, 수신 신호의 세기에 따라 네트워크 상태는 강전계, 중전계 혹은 약전계로 분류될 수 있다.
본 발명의 다양한 실시 예에 따라, 상기 네트워크 상태는 RTP의 확장 헤더(header extention)에 포함되어 있는 다른 전자 장치의 수신 세기에 따라 결정될 수 있다. 예컨대, 상기 표 1에 개시한 것과 같이, RSRP, RSRQ 혹은 SINR 등과 같은 수신 세기 값들 중 적어도 하나를 기준으로, 현재 네트워크 상태가 강전계, 중전계 혹은 약전계로 분류될 수 있다.
420 동작에서 전자 장치는 상기 네트워크 상태에 대응하는 기준 값을 확인할 수 있다. 상기 기준 값은 특정 네트워크 상태에 대응하여 설정될 수 있는 특정 코덱 별 비트레이트 및 RTP 페이로드의 크기 등이 될 수 있다.
430 동작에서 전자 장치는 네트워크 상태에 따른 비트레이트를 설정할 수 있다. 더욱이 전자 장치는 설정된 비트레이트로 전송 가능한 RTP 페이로드의 크기를 확인할 수 있다.
440 동작에서 본 발명의 다양한 실시 예에 따라 전자 장치는 재전송 여부를 결정할 수 있다. 상기 재전송 여부는 QoS 레벨에 따라 할당된 대역 내에서, RTP 페이로드가 여러 번 전송할 수 있는지에 따라 결정될 수 있다. 예컨대, 상기 할당된 대역의 범위가 RTP 페이로드를 더 전송할 수 있을 만큼 할당된 경우, 450 동작에서 전자 장치는 데이터를 재전송할 수 있다. 한편, 상기 할당된 대역이 RTP 페이로드를 여러 번 전송할 수 있을 만큼 할당되지 않은 경우, 다시 410 동작에서 전자 장치는 수신 신호로 네트워크 상태를 확인할 수 있다.
상기 도 4에 도시된 동작들 중 적어도 하나의 동작이 생략되어 실행될 수도 있으며, 적어도 하나의 다른 동작이 상기 동작들 사이에 추가될 수도 있다. 또한, 상기 도 4의 동작들은 도시된 순서로 처리될 수도 있으며, 적어도 하나의 동작에 대한 실행 순서가 다른 동작의 실행 순서와 변경되어 처리될 수도 있다.
도 5는 본 발명의 다양한 실시 예에 따라, 전자 장치에서 비트레이트를 설정하는 동작의 다른 예를 도시한 흐름도이다. 도 5를 참조하면, 510 동작에서 제1전자 장치에서는 수신 신호의 세기를 확인할 수 있다.
520 동작에서 제1전자 장치는 제2전자 장치로부터 전송된 RTP 패킷을 수신할 수 있다.
530 동작에서 제1전자 장치는 상기 RTP 패킷에서 상기 제2전자 장치의 수신 신호 세기의 값을 확인할 수 있다.
540 동작에서 제1전자 장치는 제1전자 장치의 수신 신호 및 제2전자 장치의 수신 신호를 이용하여 비트레이트를 설정할 수 있다. 여기서 설정되는 비트레이트는, 본 발명의 다양한 실시 예에 따라, 각 전자 장치의 수신 신호를 이용하여 네트워크 상태를 확인함에 따라 설정되는 것일 수 있다.
상기 도 5에 도시된 동작들 중 적어도 하나의 동작이 생략되어 실행될 수도 있으며, 적어도 하나의 다른 동작이 상기 동작들 사이에 추가될 수도 있다. 또한, 상기 도 5의 동작들은 도시된 순서로 처리될 수도 있으며, 적어도 하나의 동작에 대한 실행 순서가 다른 동작의 실행 순서와 변경되어 처리될 수도 있다.
도 6은 본 발명의 다양한 실시 예에 따라, 전자 장치에서 수신 신호를 전송하는 방법의 일 예를 도시한 흐름도이다. 도 6을 참조하면, 610 동작에서 전자 장치는 수신 신호의 세기를 확인할 수 있다.
620 동작에서 전자 장치는 수신 신호 세기의 값(예컨대, RSRP, RSSI 등)을 RTP 헤더에 추가할 수 있다. 예컨대, 수신 신호의 값이 RTP 헤더에 추가됨에 따라 RTP 헤더는 수신 신호의 값이 포함됨을 지시하는 값을 더 포함할 수 있다.
630 동작에서 전자 장치는 RTP 패킷을 전송할 수 있다. 다른 전자 장치가 상기 수신 신호의 값이 포함된 RTP 패킷을 수신하면, 해당 전자 장치의 수신 신호 및 수신한 수신 신호를 고려하여 네트워크의 상태를 고려할 수 있다.
상기 도 6에 도시된 동작들 중 적어도 하나의 동작이 생략되어 실행될 수도 있으며, 적어도 하나의 다른 동작이 상기 동작들 사이에 추가될 수도 있다. 또한, 상기 도 6의 동작들은 도시된 순서로 처리될 수도 있으며, 적어도 하나의 동작에 대한 실행 순서가 다른 동작의 실행 순서와 변경되어 처리될 수도 있다.
도 7은 본 발명의 다양한 실시 예에 따라, 전자 장치들 간의 비트레이트를 설정하는 동작의 일 예를 도시한 흐름도이다. 도 7을 참조하면, 710 동작에서 제1전자 장치(701)와 제2전자 장치(702)는 서로 통신중일 수 있다.
712 동작에서 제1전자 장치(701)는 수신 신호로 네트워크 상태를 확인할 수 있다. 여기서 제1전자 장치(701)는 네트워크 상태를 확인하기 위하여 수신 신호의 세기를 확인할 수 있으며, 상기 수신 신호의 세기는 제2전자 장치(702)와 통신을 통해 수신되는 기준 신호의 세기 혹은 수신되는 어떠한 신호의 세기일 수 있다.
714 동작에서 제1전자 장치(701)는 네트워크 상태를 이용하여 전송률을 설정할 수 있다. 네트워크 상태는 수신 신호의 세기에 따라 강전계, 중전계 혹은 약전계로 분류될 수 있다. 제1전자 장치(701)는 각 분류된 네트워크 상태에 대응하여 비트레이트를 설정할 수 있다.
720 동작에서 제1전자 장치(701)는 제2전자 장치(702)로 전송하는 데이터를, QoS 대역 범위 내에서, 상기 설정된 비트레이트로 전송할 수 있다. 여기서 상기 전송하는 데이터는 RTP 데이터일 수 있다.
722 동작에서 제1전자 장치(701)는 데이터를 재전송할 수 있다. 한편, 제1전자 장치(701)는 상기 재전송 동작의 수행 여부를 할당된 QoS 대역과 전송할 데이터의 크기를 고려하여 결정할 수 있다. 여기서 상기 데이터의 크기는 RTP 페이로드일 수 있다. 예컨대, 할당된 QoS 대역의 범위 내에서 상기 전송할 데이터가 여러 번 전송될 수 있는 경우, 해당 데이터는 재전송될 수 있다.
730 동작에서 제1전자 장치(701)는 수신 신호의 세기를 RTP 헤더에 포함하여 제2전자 장치(702)로 전송할 수 있다.
732 동작에서 제2전자 장치(702)는 제1전자 장치(701)의 수신 신호 세기 및 제2전자 장치(702)의 수신 신호 세기로 네트워크 상태를 확인할 수 있다. 제2전자 장치(702)는 RTP 헤더를 수신함에 따라 제1전자 장치(701)의 수신 신호 세기를 확인할 수 있다.
734 동작에서 제2전자 장치(702)는 상기 확인한 네트워크 상태를 이용하여 비트레이트를 설정할 수 있다.
740 동작에서 제2전자 장치(702)는 데이터를 상기 설정한 비트레이트로 전송할 수 있다.
상기 도 7에 도시된 동작들 중 적어도 하나의 동작이 생략되어 실행될 수도 있으며, 적어도 하나의 다른 동작이 상기 동작들 사이에 추가될 수도 있다. 또한, 상기 도 7의 동작들은 도시된 순서로 처리될 수도 있으며, 적어도 하나의 동작에 대한 실행 순서가 다른 동작의 실행 순서와 변경되어 처리될 수도 있다.
예컨대, 본 발명의 다양한 실시 예에 따른 방법은, 전자 장치가 수신 신호로부터 네트워크 상태를 확인하는 동작과, 적어도 하나의 네트워크 상태에 대응하게 설정된 기준 값들 중 하나를 상기 확인한 네트워크 상태에 대응하는 전송률로 설정하는 동작과, 상기 패킷을 상기 설정된 전송률로 전송하는 동작을 포함할 수 있다.
본 발명의 다양한 실시 예에 따른 방법은, 이전에 할당된 대역폭 내에서, 상기 패킷이 재전송될 수 있는 경우, 상기 패킷을 적어도 한번 재전송하는 동작을 더 포함할 수 있다. 상기 이전에 할당된 대역폭은, QoS(Quality of Service)를 기반으로 미리 설정될 수 있다. 상기 기준 값은, 비트레이트와 코덱에 대응하여 설정될 수 있는 상기 패킷의 비트레이트의 값을 포함할 수 있다.
본 발명의 다양한 실시 예에 따른 방법은, 제2 전자 장치로부터 전송된 신호를 통해, 상기 제2 전자 장치의 수신 신호 세기를 확인하는 동작과, 상기 네트워크 상태를 상기 제2전자 장치의 수신 신호 세기를 더 고려하여 확인하는 동작을 더 포함할 수 있다. 상기 제2전자 장치의 수신 신호 세기의 정보는 RTP(Real-time Transport Protocol) 패킷의 헤더에 포함될 수 있다. 상기 헤더는 상기 수신 신호 세기가 상기 헤더에 포함됨을 지시하는 데이터 필더를 포함할 수 있다.
도 8은 본 발명의 다양한 실시 예에 따른 RTP 패킷 구조의 일 예를 도시한 구조도이다. 도 8을 참조하면, RTP 패킷은 RTP 페이로드와 RTP 헤더(800)를 포함할 수 있으며, 상기 RTP 헤더(800)는 version(V), padding(P), extention(X)(810), CSRC count(CC), marker(M), payload type(PT), “sequence number”, “timestamp”, synchronization source(SSRC) 식별자들(identifiers), contributing sources(CSRC) 식별자들(identifiers) 등의 데이터 필드들을 포함할 수 있다.
상기 V는 RTP의 버전을 식별하는 필드일 수 있다. 상기 P는 해당 패킷이 페이로드의 마지막에 적어도 하나의 패딩 비트를 포함하는지 여부를 식별하는 필드일 수 있다. 상기 X(810)는 본 발명의 다양한 실시 예에 따라, 수신 신호를 포함하는지 여부를 지시하는 필드일 수 있다. 예컨대, 상기 X(810)가 “true” 혹은 “false”를 지시하는 비트가 포함될 수 있다. 상기 X(810)에서 true를 지시하는 비트가 포함된 경우, 본 발명의 다양한 실시 예에 따라, 전자 장치는 확장 헤더(header extention)(910)(이어지는 도 9에 도시됨)를 확인할 수 있다.
상기 CC는 상기 RTP 헤더(800)의 CSRC 식별자들(identifiers)의 개수를 포함하는 필드일 수 있다. 여기서 CSRC는 RTP 헤더를 생성하도록 기여하는 자원들의 SSRC 식별자들을 지시할 수 있다.
상기 M은 해당 패킷의 특징을 포함하는 필드일 수 있다.
상기 PT는 상기 PTP 헤더(800)에 대응하는 RTP 페이로드의 포맷을 지시하는 필드일 수 있다.
상기 “sequence number”는 RTP 패킷이 전송될 때, 상기 RTP 패킷을 수신하는 전자 장치를 위해 각 RTP 패킷의 순서를 지시하는 필드일 수 있다.
상기 “timestamp”는 RTP 패킷의 첫 번째 바이트(octect)가 샘플링된 시점을 나타내는 필드일 수 있다.
상기 SSRC identifier는 해당 RTP 세션에서 자원을 식별하는 식별자를 포함하는 필드일 수 있다.
상기 CSRC identifiers는 CSRC를 식별하는 식별자들을 포함하는 필드일 수 있다.
도 9는 본 발명의 다양한 실시 예에 따른 확장된 RTP 패킷 구조의 일 예를 도시한 구조도이다. 도 9를 참조하면, RTP 패킷은 RTP 확장 헤더(900)을 더 포함할 수 있다. 본 발명의 다양한 실시 예에 따라, 전자 장치는 도 8의 X(810)가 true를 지시함에 따라 상기 RTP 확장 헤더(900)을 확인할 수 있다.
상기 RTP 확장 헤더(900)는 “defined by profile”, “length”, 확장 헤더(910)들의 데이터 필드들을 포함할 수 있다. 본 발명의 다양한 실시 예에 따라, 상기 확장 헤더(910)는 전자 장치의 수신 신호 세기 정보를 포함할 수 있다. 여기서 포함되는 수신 신호는 일 예로, 105 혹은 110과 같이, 수신 신호의 세기 값을 나타내는 것일 수 있다.
도 10은 본 발명의 다양한 실시 예가 적용될 수 있는 전자 장치 구성의 일 예를 도시한 블록도이다. 상기 전자 장치(1001)는, 예를 들면, 도 1에 도시된 전자 장치(101)의 전체 또는 일부를 구성할 수 있다. 도 10을 참조하면, 상기 전자 장치(1001)는 하나 이상의 프로세서(예, 애플리케이션 프로세서(AP: application processor)(1010)), 통신 모듈(1020), SIM(subscriber identification module) 카드(1024), 메모리(1030), 센서 모듈(1040), 입력 장치(1050), 디스플레이(1060), 인터페이스(1070), 오디오 모듈(1080), 카메라 모듈(1091), 전력관리 모듈(1095), 배터리(1096), 인디케이터(1097) 및 모터(1098)를 포함할 수 있다.
상기 AP(1010)는 운영체제 또는 응용 프로그램을 구동하여 상기 AP(1010)에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 멀티미디어 데이터를 포함한 각종 데이터 처리 및 연산을 수행할 수 있다. 상기 AP(1010)는, 예를 들면, SoC(system on chip) 로 구현될 수 있다. 한 실시 예에 따르면, 상기 AP(1010)는 GPU(graphic processing unit, 미도시)를 더 포함할 수 있다.
상기 통신 모듈(1020)(예: 상기 통신 인터페이스(160))은 상기 전자 장치(1001)(예: 전자 장치(101))와 네트워크를 통해 연결된 다른 외부 전자 장치들(예: 전자 장치(104) 또는 서버(106)) 간의 통신에서 데이터 송수신을 수행할 수 있다. 한 실시 예에 따르면, 상기 통신 모듈(1020)은 셀룰러 모듈(1021), Wifi 모듈(1023), BT 모듈(1025), GPS 모듈(1027), NFC 모듈(1028) 및 RF(radio frequency) 모듈(1029)를 포함할 수 있다.
상기 셀룰러 모듈(1021)은 통신망(예: LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro 또는 GSM 등)을 통해서 음성 통화, 영상 통화, 문자 서비스 또는 인터넷 서비스 등을 제공할 수 있다. 또한, 상기 셀룰러 모듈(1021)은, 예를 들면, 가입자 식별 모듈(예: SIM 카드(1024))을 이용하여 통신 네트워크 내에서 전자 장치의 구별 및 인증을 수행할 수 있다. 한 실시 예에 따르면, 상기 셀룰러 모듈(1021)은 상기 AP(1010)가 제공할 수 있는 기능 중 적어도 일부 기능을 수행할 수 있다. 예를 들면, 상기 셀룰러 모듈(1021)은 멀티 미디어 제어 기능의 적어도 일부를 수행할 수 있다.
한 실시 예에 따르면, 상기 셀룰러 모듈(1021)은 커뮤니케이션 프로세서(CP: communication processor)를 포함할 수 있다. 또한, 상기 셀룰러 모듈(1021)은, 예를 들면, SoC로 구현될 수 있다. 도 10에서는 상기 셀룰러 모듈(1021)(예: 커뮤니케이션 프로세서), 상기 메모리(1030) 또는 상기 전력관리 모듈(1095) 등의 구성요소들이 상기 AP(1010)와 별개의 구성요소로 도시되어 있으나, 한 실시 예에 따르면, 상기 AP(1010)가 전술한 구성요소들의 적어도 일부(예: 셀룰러 모듈(1021))를 포함하도록 구현될 수 있다.
한 실시 예에 따르면, 상기 AP(1010) 또는 상기 셀룰러 모듈(1021)(예: 커뮤니케이션 프로세서)은 각각에 연결된 비휘발성 메모리 또는 다른 구성요소 중 적어도 하나로부터 수신한 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리할 수 있다. 또한, 상기 AP(1010) 또는 상기 셀룰러 모듈(1021)은 다른 구성요소 중 적어도 하나로부터 수신하거나 다른 구성요소 중 적어도 하나에 의해 생성된 데이터를 비휘발성 메모리에 저장(store)할 수 있다.
상기 Wifi 모듈(1023), 상기 BT 모듈(1025), 상기 GPS 모듈(1027) 또는 상기 NFC 모듈(1028) 각각은, 예를 들면, 해당하는 모듈을 통해서 송수신되는 데이터를 처리하기 위한 프로세서를 포함할 수 있다. 도 10에서는 셀룰러 모듈(1021), Wifi 모듈(1023), BT 모듈(1025), GPS 모듈(1027) 또는 NFC 모듈(1028)이 각각 별개의 블록으로 도시되었으나, 한 실시 예에 따르면, 셀룰러 모듈(1021), Wifi 모듈(1023), BT 모듈(1025), GPS 모듈(1027) 또는 NFC 모듈(1028) 중 적어도 일부(예: 두 개 이상)는 하나의 integrated chip(IC) 또는 IC 패키지 내에 포함될 수 있다. 예를 들면, 셀룰러 모듈(1021), Wifi 모듈(1023), BT 모듈(1025), GPS 모듈(1027) 또는 NFC 모듈(1028) 각각에 대응하는 프로세서들 중 적어도 일부(예: 셀룰러 모듈(1021)에 대응하는 커뮤니케이션 프로세서 및 Wifi 모듈(1023)에 대응하는 Wifi 프로세서)는 하나의 SoC로 구현될 수 있다.
상기 RF 모듈(1029)는 데이터의 송수신, 예를 들면, RF 신호의 송수신을 할 수 있다. 상기 RF 모듈(1029)는, 도시되지는 않았으나, 예를 들면, 트랜시버(transceiver), PAM(power amp module), 주파수 필터(frequency filter) 또는 LNA(low noise amplifier) 등을 포함할 수 있다. 또한, 상기 RF 모듈(1029)는 무선 통신에서 자유 공간상의 전자파를 송수신하기 위한 부품, 예를 들면, 도체 또는 도선 등을 더 포함할 수 있다. 도 10에서는 셀룰러 모듈(1021), Wifi 모듈(1023), BT 모듈(1025), GPS 모듈(1027) 및 NFC 모듈(1028)이 하나의 RF 모듈(1029)을 서로 공유하는 것으로 도시되어 있으나, 한 실시 예에 따르면, 셀룰러 모듈(1021), Wifi 모듈(1023), BT 모듈(1025), GPS 모듈(1027) 또는 NFC 모듈(1028) 중 적어도 하나는 별개의 RF 모듈을 통하여 RF 신호의 송수신을 수행할 수 있다.
상기 SIM 카드(1024)는 가입자 식별 모듈을 포함하는 카드일 수 있으며, 전자 장치의 특정 위치에 형성된 슬롯에 삽입될 수 있다. 상기 SIM 카드(1024)는 고유한 식별정보(예: ICCID(integrated circuit card identifier)) 또는 가입자 정보(예: IMSI(international mobile subscriber identity))를 포함할 수 있다.
상기 메모리(1030)(예: 상기 메모리(130))는 내장 메모리(1032) 또는 외장 메모리(1034)를 포함할 수 있다. 상기 내장 메모리(1032)는, 예를 들면, 휘발성 메모리(예를 들면, DRAM(dynamic RAM), SRAM(static RAM), SDRAM(synchronous dynamic RAM) 등) 또는 비휘발성 메모리(non-volatile Memory, 예를 들면, OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, NAND flash memory, NOR flash memory 등) 중 적어도 하나를 포함할 수 있다.
한 실시 예에 따르면, 상기 내장 메모리(1032)는 Solid State Drive (SSD)일 수 있다. 상기 외장 메모리(1034)는 flash drive, 예를 들면, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital) 또는 Memory Stick 등을 더 포함할 수 있다. 상기 외장 메모리(1034)는 다양한 인터페이스를 통하여 상기 전자 장치(1001)과 기능적으로 연결될 수 있다. 한 실시 예에 따르면, 상기 전자 장치(1001)는 하드 드라이브와 같은 저장 장치(또는 저장 매체)를 더 포함할 수 있다.
상기 센서 모듈(1040)은 물리량을 계측하거나 전자 장치(1001)의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 상기 센서 모듈(1040)은, 예를 들면, 제스처 센서(1040A), 자이로 센서(1040B), 기압 센서(1040C), 마그네틱 센서(1040D), 가속도 센서(1040E), 그립 센서(1040F), 근접 센서(1040G), color 센서(예: RGB(red, green, blue) 센서(1040H)), 생체 센서(1040I), 온/습도 센서(1040J), 조도 센서(1040K), 또는 UV(ultra violet) 센서(1040L) 중의 적어도 하나를 포함할 수 있다. 추가적으로 또는 대안적으로, 상기 센서 모듈(740)은, 예를 들면, 후각 센서(E-nose sensor, 미도시), EMG 센서(electromyography sensor, 미도시), EEG 센서(electroencephalogram sensor, 미도시), ECG 센서(electrocardiogram sensor, 미도시), IR(infra red) 센서(미도시), 홍채 센서(미도시) 또는 지문 센서(미도시) 등을 포함할 수 있다. 상기 센서 모듈(1040)은 그 안에 속한 적어도 하나 이상의 센서들을 제어하기 위한 제어 회로를 더 포함할 수 있다.
상기 입력 장치(1050)는 터치 패널(touch panel)(1052), (디지털) 펜 센서(pen sensor)(1054), 키(key)(1056) 또는 초음파(ultrasonic) 입력 장치(1058)를 포함할 수 있다. 상기 터치 패널(1052)은, 예를 들면, 정전식, 감압식, 적외선 방식 또는 초음파 방식 중 적어도 하나의 방식으로 터치 입력을 인식할 수 있다. 또한, 상기 터치 패널(1052)은 제어 회로를 더 포함할 수도 있다. 정전식의 경우, 물리적 접촉 또는 근접 인식이 가능하다. 상기 터치 패널(1052)은 택타일 레이어(tactile layer)를 더 포함할 수도 있다. 이 경우, 상기 터치 패널(1052)은 사용자에게 촉각 반응을 제공할 수 있다.
상기 (디지털) 펜 센서(1054)는, 예를 들면, 사용자의 터치 입력을 받는 것과 동일 또는 유사한 방법 또는 별도의 인식용 쉬트(sheet)를 이용하여 구현될 수 있다. 상기 키(1056)는, 예를 들면, 물리적인 버튼, 광학식 키 또는 키패드를 포함할 수 있다. 상기 초음파 입력 장치(1058)는 초음파 신호를 발생하는 입력 도구를 통해, 전자 장치(1001)에서 마이크(예: 마이크(1088))로 음파를 감지하여 데이터를 확인할 수 있는 장치로서, 무선 인식이 가능하다. 한 실시 예에 따르면, 상기 전자 장치(1001)는 상기 통신 모듈(1020)를 이용하여 이와 연결된 외부 전자 장치(예: 컴퓨터 또는 서버)로부터 사용자 입력을 수신할 수도 있다.
상기 디스플레이(1060)(예: 상기 디스플레이(150))는 패널(1062), 홀로그램 장치(1064) 또는 프로젝터(1066)을 포함할 수 있다. 상기 패널(1062)은, 예를 들면, LCD(liquid-crystal display) 또는 AM-OLED(active-matrix organic light-emitting diode) 등일 수 있다. 상기 패널(1062)은, 예를 들면, 유연하게(flexible), 투명하게(transparent) 또는 착용할 수 있게(wearable) 구현될 수 있다. 상기 패널(1062)은 상기 터치 패널(1052)과 하나의 모듈로 구성될 수도 있다. 상기 홀로그램 장치(1064)은 빛의 간섭을 이용하여 입체 영상을 허공에 보여줄 수 있다. 상기 프로젝터(1066)는 스크린에 빛을 투사하여 영상을 표시할 수 있다. 상기 스크린은, 예를 들면, 상기 전자 장치(1001)의 내부 또는 외부에 구비될 수 있다. 한 실시 예에 따르면, 상기 디스플레이(1060)은 상기 패널(1062), 상기 홀로그램 장치(1064), 또는 프로젝터(1066)를 제어하기 위한 제어 회로를 더 포함할 수 있다.
상기 인터페이스(1070)는, 예를 들면, HDMI(high-definition multimedia interface)(1072), USB(universal serial bus)(1074), 광 인터페이스(optical interface)(1076) 또는 D-sub(D-subminiature)(1078)를 포함할 수 있다. 상기 인터페이스(1070)는, 예를 들면, 도 1에 도시된 통신 인터페이스(160)에 포함될 수 있다. 추가적으로 또는 대체적으로, 상기 인터페이스(1070)는, 예를 들면, MHL(mobile high-definition link) 인터페이스, SD(secure Digital) 카드/MMC(multi-media card) 인터페이스 또는 IrDA(infrared data association) 규격 인터페이스를 포함할 수 있다.
상기 오디오 모듈(1080)은 소리(sound)와 전기신호를 쌍방향으로 변환시킬 수 있다. 상기 오디오 모듈(1080)의 적어도 일부 구성요소는, 예를 들면, 도 1 에 도시된 입출력 인터페이스(140)에 포함될 수 있다. 상기 오디오 모듈(1080)은, 예를 들면, 스피커(1082), 리시버(1084), 이어폰(1086) 또는 마이크(1088) 등을 통해 입력 또는 출력되는 소리 정보를 처리할 수 있다.
상기 카메라 모듈(1091)은 정지 영상 및 동영상을 촬영할 수 있는 장치로서, 한 실시 예에 따르면, 하나 이상의 이미지 센서(예: 전면 센서 또는 후면 센서), 렌즈(미도시), ISP(image signal processor, 미도시) 또는 플래쉬 (flash, 미도시)(예: LED 또는 xenon lamp)를 포함할 수 있다. 상기 카메라 모듈(1091)은 본 발명의 다양한 실시 예에 따라, 터치 센서(1040M)와 AP(1010)간의 연동 동작에 의해 제어될 수 있다. 예컨대, 전자 장치(1001)는 터치 센서(1040M)로부터 센싱된 신호에 의해 설정된 제스처가 확인되면, 상기 카메라 모듈(1091)과 관련된 기능을 제공할 수 있다.
상기 전력 관리 모듈(1095)은 상기 전자 장치(1001)의 전력을 관리할 수 있다. 도시하지는 않았으나, 상기 전력 관리 모듈(1095)은, 예를 들면, PMIC(power management integrated circuit), 충전 IC(charger integrated circuit) 또는 배터리 또는 연료 게이지(battery or fuel gauge)를 포함할 수 있다. 상기 PMIC는, 예를 들면, 집적회로 또는 SoC 반도체 내에 탑재될 수 있다. 충전 방식은 유선과 무선으로 구분될 수 있다. 상기 충전 IC는 배터리를 충전시킬 수 있으며, 충전기로부터의 과전압 또는 과전류 유입을 방지할 수 있다. 한 실시 예에 따르면, 상기 충전 IC는 유선 충전 방식 또는 무선 충전 방식 중 적어도 하나를 위한 충전 IC를 포함할 수 있다. 무선 충전 방식으로는, 예를 들면, 자기공명 방식, 자기유도 방식 또는 전자기파 방식 등이 있으며, 무선 충전을 위한 부가적인 회로, 예를 들면, 코일 루프, 공진 회로 또는 정류기 등의 회로가 추가될 수 있다.
상기 배터리 게이지는, 예를 들면, 상기 배터리(1096)의 잔량, 충전 중 전압, 전류 또는 온도를 측정할 수 있다. 상기 배터리(1096)는 전기를 저장 또는 생성할 수 있고, 그 저장 또는 생성된 전기를 이용하여 상기 전자 장치(1001)에 전원을 공급할 수 있다. 상기 배터리(1096)는, 예를 들면, 충전식 전지(rechargeable battery) 또는 태양 전지(solar battery)를 포함할 수 있다.
상기 인디케이터(1097)는 상기 전자 장치(1001) 혹은 그 일부(예: 상기 AP(1010))의 특정 상태, 예를 들면, 부팅 상태, 메시지 상태 또는 충전 상태 등을 표시할 수 있다. 상기 모터(1098)는 전기적 신호를 기계적 진동으로 변환할 수 있다. 도시되지는 않았으나, 상기 전자 장치(1001)는 모바일 TV 지원을 위한 처리 장치(예: GPU)를 포함할 수 있다. 상기 모바일 TV지원을 위한 처리 장치는, 예를 들면, DMB(digital multimedia broadcasting), DVB(digital video broadcasting) 또는 미디어플로우(media flow) 등의 규격에 따른 미디어 데이터를 처리할 수 있다.
도 11은 본 발명의 다양한 실시 예에 따라, 복수의 전자 장치들(예: 전자 장치(1101) 및 제2 전자 장치(1102)) 사이의 통신 프로토콜들의 일 예를 도시한 흐름도이다. 도 11을 참조하면, 예를 들어, 상기 통신 프로토콜(900)은, 장치 발견 프로토콜(device discovery protocol)(1151), 기능 교환 프로토콜(capability exchange protocol)(1153), 네트워크 프로토콜(network protocol)(1155), 실시간 전송 프로토콜(Real-time transport protocol)(1157) 및 애플리케이션 프로토콜(application protocol)(1159) 등을 포함할 수 있다.
한 실시 예에 따르면, 상기 장치 발견 프로토콜(1151)은 전자 장치들(예: 전자 장치(910) 또는 제2 전자 장치(1102))이 자신과 통신 가능한 외부 전자 장치를 감지하거나 감지된 외부 전자 장치와 연결하기 위한 프로토콜일 수 있다. 예를 들어, 전자 장치(910)(예: 전자 장치 101)은, 상기 장치 발견 프로토콜(1151)을 이용하여, 상기 제1 전자 장치(1101)에서 사용 가능한 통신 방법(예: Wifi, BT 또는 USB 등)을 통해, 상기 제1 전자 장치(1101)와 통신 가능한 기기(device)로, 제2 전자 장치(1102)(예: 전자 장치 104)를 감지할 수 있다. 상기 제1 전자 장치(1101)는, 상기 제2 전자 장치(1102)과의 통신 연결을 위해, 상기 장치 발견 프로토콜(1151)을 이용하여, 감지된 제2 전자 장치(1102)에 대한 식별 정보를 획득하여 저장할 수 있다. 상기 제1 전자 장치(1101)는, 예를 들면, 적어도 상기 식별 정보에 기반하여, 상기 제2 전자 장치(1102)와의 통신 연결을 개설할 수 있다.
어떤 실시 예에 따르면, 상기 장치 발견 프로토콜(1151)은 복수의 전자 장치들 사이에서 상호 인증을 하기 위한 프로토콜일 수 있다. 예를 들어, 제1 전자 장치(1101)는 적어도 제2 전자 장치(1102)와 연결을 위한 통신 정보(예: MAC(media access control) address, UUID(universally unique identifier), SSID(subsystem identification), IP(information provider) address)에 기반하여, 상기 제1 전자 장치(1101)와 상기 제2 전자 장치(1102) 간의 인증을 수행할 수 있다.
한 실시 예에 따르면, 상기 기능 교환 프로토콜(1153)은 제1 전자 장치(1101) 또는 제2 전자 장치(1102) 중 적어도 하나에서 지원 가능한 서비스의 기능과 관련된 정보를 교환하기 위한 프로토콜일 수 있다. 예를 들어, 제1 전자 장치(1101) 및 제2 전자 장치(1102)은 상기 기능 교환 프로토콜(1153)을 통하여, 각각이 현재 제공하고 있는 서비스의 기능과 관련된 정보를 서로 교환할 수 있다. 교환 가능한 정보는 전자 장치 310 및 전자 장치 320에서 지원 가능한 복수의 서비스들 중에서 특정 서비스를 가리키는 식별 정보를 포함할 수 있다. 예를 들어, 제1 제1 전자 장치(1101)는 상기 기능 교환 프로토콜 333을 통해 제2 전자 장치(1102)로부터 상기 제2 전자 장치(1102)가 제공하는 특정 서비스의 식별 정보를 수신할 수 있다. 이 경우, 제1 제1 전자 장치(1101)는 상기 수신된 식별 정보에 기반하여, 상기 제1 전자 장치(1101)이 상기 특정 서비스를 지원할 수 있는지 여부를 판단할 수 있다.
한 실시 예에 따르면, 상기 네트워크 프로토콜(1155)은 통신이 가능하도록 연결된 전자 장치들(예: 제1 전자 장치(1101), 제2 전자 장치(1102)) 간에, 예컨대, 서비스를 연동하여 제공하기 위하여 송수신 되는, 데이터 흐름을 제어하기 위한 프로토콜일 수 있다. 예를 들어, 제1 전자 장치(1101) 또는 제2 전자 장치(1102) 중 적어도 하나는 상기 네트워크 프로토콜(1155)을 이용하여, 오류 제어, 또는 데이터 품질 제어 등을 수행할 수 있다. 추가적으로 또는 대체적으로, 상기 네트워크 프로토콜(1155)은 제1 전자 장치(1101)와 제2 전자 장치(1102) 사이에서 송수신되는 데이터의 전송 포맷을 결정할 수 있다. 또한, 제1 전자 장치(1101) 또는 제2 전자 장치(1102) 중 적어도 하나는 상기 네트워크 프로토콜(1155)를 이용하여 상호간의 데이터 교환을 위한 적어도 세션(session)을 관리(예: 세션 연결 또는 세션 종료)할 수 있다.
본 발명의 다양한 실시 예에 따라, 상기 실시간 전송 프로토콜(1157)은 복수의 전자 장치들(예: 전자 장치(1101) 및 제2 전자 장치(1102)) 간의 실시간 데이터 서비스를 제공하기 위한 프로토콜일 수 있다. 상기 실시간 전송 프로토콜(1157)은 IP 기반의 네트워크를 통해 오디오와 비디오를 실시간으로 전달하기 위한 RTP 패킷의 포맷을 정의할 수 있다.
한 실시 예에 따르면, 상기 애플리케이션 프로토콜(1159)은 외부 전자 장치로 제공되는 서비스와 관련된 데이터를 교환하기 위한, 절차 또는 정보를 제공하기 위한 프로토콜일 수 있다. 예를 들어, 제1 전자 장치(1101)(예: 전자 장치(101))은 상기 애플리케이션 프로토콜(1159)을 통해 제2 전자 장치(1102)(예: 전자 장치(104) 또는 서버 (106))로 서비스를 제공할 수 있다.
한 실시 예에 따르면, 상기 통신 프로토콜(1100)은 표준 통신 프로토콜, 개인 또는 단체에서 지정한 통신 프로토콜(예: 통신 장치 제조 업체 또는 네트워크 공급 업체 등에서 자체적으로 지정한 통신 프로토콜) 또는 이들의 조합을 포함할 수 있다.
본 발명의 다양한 실시 예에 사용된 용어 “모듈”은, 예를 들어, 하드웨어, 소프트웨어 또는 펌웨어(firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위(unit)를 의미할 수 있다. “모듈”은 예를 들어, 유닛(unit), 로직(logic), 논리 블록(logical block), 부품(component) 또는 회로(circuit) 등의 용어와 바꾸어 사용(interchangeably use)될 수 있다. “모듈”은, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. “모듈”은 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. “모듈”은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면, 본 발명의 다양한 실시 예에 따른 “모듈”은, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays) 또는 프로그램 가능 논리 장치(programmable-logic device) 중 적어도 하나를 포함할 수 있다.
다양한 실시 예에 따르면, 본 발명의 다양한 실시 예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는, 예컨대, 프로그래밍 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어는, 하나 이상의 프로세서 (예: 상기 프로세서(120))에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 상기 메모리(130)가 될 수 있다. 상기 프로그래밍 모듈의 적어도 일부는, 예를 들면, 상기 프로세서(120)에 의해 구현(implement)(예: 실행)될 수 있다. 상기 프로그래밍 모듈 의 적어도 일부는 하나 이상의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트 (sets of instructions) 또는 프로세스 등을 포함할 수 있다.
상기 컴퓨터로 판독 가능한 기록 매체에는 하드디스크, 플로피디스크 및 자기 테이프와 같은 마그네틱 매체(Magnetic Media)와, CD-ROM(Compact Disc Read Only Memory), DVD(Digital Versatile Disc)와 같은 광기록 매체(Optical Media)와, 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media)와, 그리고 ROM(Read Only Memory), RAM(Random Access Memory), 플래시 메모리 등과 같은 프로그램 명령(예: 프로그래밍 모듈)을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 본 발명의 다양한 실시 예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
본 발명의 다양한 실시 예에 따른 모듈 또는 프로그래밍 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 본 발명의 다양한 실시 예에 따른 모듈, 프로그래밍 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
다양한 실시 예에 따르면, 명령들을 저장하고 있는 저장 매체에 있어서, 상기 명령들은 적어도 하나의 프로세서에 의하여 실행될 때에 상기 적어도 하나의 프로세서로 하여금 적어도 하나의 동작을 수행하도록 설정된 것으로서, 상기 적어도 하나의 동작은, 수신 신호로부터 네트워크 상태를 확인하는 동작과, 적어도 하나의 네트워크 상태에 대응하게 설정된 기준 값들 중 하나를 상기 확인한 네트워크 상태에 대응하는 전송률로 설정하는 동작과, 상기 패킷을 상기 설정된 전송률로 전송하는 동작을 포함할 수 있다.
그리고 본 명세서와 도면에 개시된 본 발명의 실시 예들은 본 발명의 실시 예에 따른 의 기술 내용을 쉽게 설명하고 본 발명의 실시 예의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 실시 예의 범위를 한정하고자 하는 것은 아니다. 따라서 본 발명의 다양한 실시 예의 범위는 여기에 개시된 실시 예들 이외에도 본 발명의 다양한 실시 예의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 발명의 다양한 실시 예의 범위에 포함되는 것으로 해석되어야 한다.

Claims (14)

  1. 인터넷 프로토콜 기반의 네트워크에서 패킷을 처리하는 방법에 있어서,
    전자 장치가 수신 신호로부터 네트워크 상태를 확인하는 동작과,
    적어도 하나의 네트워크 상태에 대응하게 설정된 기준 값들 중 하나를 상기 확인한 네트워크 상태에 대응하는 전송률로 설정하는 동작과,
    상기 패킷을 상기 설정된 전송률로 전송하는 동작과,
    이전에 할당된 대역폭 내에서 상기 패킷이 재 전송 가능한 것으로 판단되는 경우, 상기 패킷을 적어도 한번 재 전송하는 동작을 포함하는 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 이전에 할당된 대역폭은, QoS(Quality of Service)를 기반으로 미리 설정됨을 특징으로 하는 방법.
  4. 제1항에 있어서,
    상기 기준 값은,
    비트레이트와 코덱에 대응하여 설정될 수 있는 상기 패킷의 비트레이트의 값을 포함함을 특징으로 하는 방법.
  5. 제1항에 있어서,
    제2전자 장치로부터 전송된 신호를 통해, 상기 제2전자 장치의 수신 신호 세기를 확인하는 동작과,
    상기 네트워크 상태를 상기 제2전자 장치의 수신 신호 세기를 더 고려하여 확인하는 동작을 더 포함하는 방법.
  6. 제5항에 있어서,
    상기 제2전자 장치의 수신 신호 세기의 정보는 RTP(Real-time Transport Protocol) 패킷의 헤더에 포함됨을 특징으로 하는 방법.
  7. 제6항에 있어서,
    상기 헤더는 상기 수신 신호 세기가 상기 헤더에 포함됨을 지시하는 데이터 필드를 포함함을 특징으로 하는 방법.
  8. 전자 장치에 있어서,
    통신 모듈; 및
    수신 신호로부터 네트워크 상태를 확인하고,
    적어도 하나의 네트워크 상태에 대응하게 설정된 기준 값들 중 하나를 상기 확인한 네트워크 상태에 대응하는 전송률로 설정하고,
    패킷을 상기 설정된 전송률로 전송하도록 상기 통신 모듈을 제어하고,
    이전에 할당된 대역폭 내에서 상기 패킷이 재 전송 가능한 것으로 판단되면, 상기 패킷을 적어도 한번 재 전송하도록 상기 통신 모듈을 제어하는 프로세서;를 포함하는 전자 장치.
  9. 삭제
  10. 제8항에 있어서,
    상기 이전에 할당된 대역폭은, QoS(Quality of Service)를 기반으로 미리 설정됨을 특징으로 하는 전자 장치.
  11. 제8항에 있어서,
    상기 기준 값은,
    비트레이트와 코덱에 대응하여 설정될 수 있는 상기 패킷의 비트레이트의 값을 포함함을 특징으로 하는 전자 장치.
  12. 제8항에 있어서,
    상기 프로세서는,
    상기 통신 모듈을 통해 전송된 제2전자 장치의 신호를 통해, 상기 제2전자 장치의 수신 신호 세기를 확인하고, 상기 네트워크 상태를 상기 제2전자 장치의 수신 신호 세기를 더 고려하여 확인함을 특징으로 하는 전자 장치.
  13. 제12항에 있어서,
    상기 프로세서는,
    상기 제2전자 장치의 수신 신호 세기의 정보를 RTP(Real-time Transport Protocol) 패킷의 헤더에 포함함을 특징으로 하는 전자 장치.
  14. 제13항에 있어서,
    상기 헤더는 상기 수신 신호 세기가 상기 헤더에 포함됨을 지시하는 데이터 필드를 포함함을 특징으로 하는 전자 장치.
KR1020140091756A 2014-07-21 2014-07-21 전자 장치 및 인터넷 프로토콜 기반의 네트워크에서 패킷을 처리하는 방법 KR102221021B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140091756A KR102221021B1 (ko) 2014-07-21 2014-07-21 전자 장치 및 인터넷 프로토콜 기반의 네트워크에서 패킷을 처리하는 방법
US14/804,777 US9763126B2 (en) 2014-07-21 2015-07-21 Electronic device and method for processing packet in internet protocol-based network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140091756A KR102221021B1 (ko) 2014-07-21 2014-07-21 전자 장치 및 인터넷 프로토콜 기반의 네트워크에서 패킷을 처리하는 방법

Publications (2)

Publication Number Publication Date
KR20160010958A KR20160010958A (ko) 2016-01-29
KR102221021B1 true KR102221021B1 (ko) 2021-02-26

Family

ID=55075794

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140091756A KR102221021B1 (ko) 2014-07-21 2014-07-21 전자 장치 및 인터넷 프로토콜 기반의 네트워크에서 패킷을 처리하는 방법

Country Status (2)

Country Link
US (1) US9763126B2 (ko)
KR (1) KR102221021B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10088580B2 (en) 2012-05-31 2018-10-02 Minnesota Imaging And Engineering Llc Detector systems for radiation imaging
US10371834B2 (en) 2012-05-31 2019-08-06 Minnesota Imaging And Engineering Llc Detector systems for integrated radiation imaging
US10509135B2 (en) 2016-09-09 2019-12-17 Minnesota Imaging And Engineering Llc Structured detectors and detector systems for radiation imaging
US10274610B2 (en) 2016-09-09 2019-04-30 Minnesota Imaging And Engineering Llc Structured detectors and detector systems for radiation imaging
US10365383B2 (en) 2016-09-09 2019-07-30 Minnesota Imaging And Engineering Llc Structured detectors and detector systems for radiation imaging
KR20200100387A (ko) * 2019-02-18 2020-08-26 삼성전자주식회사 실시간 비트레이트 제어 방법 및 이를 위한 전자 장치
CN113420623B (zh) * 2021-06-09 2022-07-12 山东师范大学 基于自组织映射神经网络的5g基站检测方法及***

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU3171999A (en) * 1998-04-17 1999-11-08 Matsushita Electric Industrial Co., Ltd. Radio communication device and method of controlling transmission rate
GB0230301D0 (en) 2002-12-30 2003-02-05 Nokia Corp Streaming media
US7515548B2 (en) * 2004-09-28 2009-04-07 Texas Instruments Incorporated End-point based approach for determining network status in a wireless local area network
US8289952B2 (en) * 2005-05-25 2012-10-16 Telefonaktiebolaget Lm Ericsson (Publ) Enhanced VoIP media flow quality by adapting speech encoding based on selected modulation and coding scheme (MCS)
BRPI0709513A2 (pt) * 2006-04-12 2011-07-19 Interdigital Tech Corp método para o controle de velocidade de compressão/descompressão requerido para o controle de recursos de rádio, para voz sobre ip
US20080025300A1 (en) * 2006-07-31 2008-01-31 Texas Instruments Incorporated Method and/or apparatus for enabling voice packet redundancy
KR101904053B1 (ko) * 2012-03-13 2018-11-30 삼성전자 주식회사 단말장치의 멀티미디어 처리장치 및 방법
KR20140018089A (ko) * 2012-07-25 2014-02-12 삼성전자주식회사 무선 통신 시스템에서 혼잡을 고려한 트래픽 오프로딩 방법 및 장치
US9413787B2 (en) 2012-08-06 2016-08-09 Blackberry Limited Real-time delivery of location/orientation data
US9253238B2 (en) * 2013-09-30 2016-02-02 Apple Inc. Device-initiated codec rate change during a voice call

Also Published As

Publication number Publication date
KR20160010958A (ko) 2016-01-29
US20160021674A1 (en) 2016-01-21
US9763126B2 (en) 2017-09-12

Similar Documents

Publication Publication Date Title
KR102221021B1 (ko) 전자 장치 및 인터넷 프로토콜 기반의 네트워크에서 패킷을 처리하는 방법
US10743164B2 (en) Method and electronic device for transmitting data
KR102480856B1 (ko) 블루투스 기반의 무선 통신 시스템에서 스트리밍 데이터의 통신 방법 및 장치
US9538445B2 (en) Communication method and apparatus for electronic device in mobile communication system
KR102137962B1 (ko) Ims을 지원하는 통신 방법 및 장치
CN106557311B (zh) 电子装置及其执行无线通信的方法
KR102274950B1 (ko) 무선 통신 시스템에서 다중 망 접속을 위한 장치 및 방법
KR102210431B1 (ko) 무선통신 시스템에서 패킷 데이터 망에 연결하기 위한 방법 및 장치
US9606957B2 (en) Electronic device and method of linking a task thereof
US10244425B2 (en) Electronic device and method for controlling transmission control protocol thereof
KR102201616B1 (ko) 전자 장치 간의 장치 검색 방법
US20180217077A1 (en) Apparatus and method for preventing malfunction in an electronic device
KR20160003450A (ko) 전자장치의 데이터를 공유하기 위한 방법 및 장치
KR20150141437A (ko) 무선 통신 시스템에서 반송파 집적을 제어하기 위한 방법 및 전자장치
KR20150104014A (ko) 로컬 무선 네트워크에서 점대점 미디어 스트리밍을 제어하는 방법 및 장치
KR102133012B1 (ko) 미디어 스트리밍 방법 및 그 전자 장치
KR102240526B1 (ko) 전자 장치의 컨텐츠 다운로드 방법 및 그 전자 장치
US9843527B2 (en) Method for processing data and an electronic device thereof
KR102248911B1 (ko) 전자 장치 및 전자 장치에서 데이터를 처리하는 방법
US10212215B2 (en) Apparatus and method for providing metadata with network traffic
KR102227488B1 (ko) 통신 환경에 기반한 메시지 송신 방법 및 그 장치
US20150326630A1 (en) Method for streaming video images and electrical device for supporting the same
KR102166381B1 (ko) 블루투스 프로토콜에 기반한 데이터 처리 방법 및 그 전자장치
KR20150089409A (ko) 방송 데이터 처리 방법 및 장치

Legal Events

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