KR101868759B1 - 에러 정정 데이터를 위한 오프셋 선택 - Google Patents

에러 정정 데이터를 위한 오프셋 선택 Download PDF

Info

Publication number
KR101868759B1
KR101868759B1 KR1020177001903A KR20177001903A KR101868759B1 KR 101868759 B1 KR101868759 B1 KR 101868759B1 KR 1020177001903 A KR1020177001903 A KR 1020177001903A KR 20177001903 A KR20177001903 A KR 20177001903A KR 101868759 B1 KR101868759 B1 KR 101868759B1
Authority
KR
South Korea
Prior art keywords
offset value
packet
packets
jitter buffer
offset
Prior art date
Application number
KR1020177001903A
Other languages
English (en)
Other versions
KR20170034387A (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 KR20170034387A publication Critical patent/KR20170034387A/ko
Application granted granted Critical
Publication of KR101868759B1 publication Critical patent/KR101868759B1/ko

Links

Images

Classifications

    • 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/0006Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • H03M13/353Adaptation to the channel
    • 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/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • 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/0023Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the signalling
    • 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/0023Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the signalling
    • H04L1/0026Transmission of channel quality indication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/20Arrangements for detecting or preventing errors in the information received using signal quality detector
    • H04L1/205Arrangements for detecting or preventing errors in the information received using signal quality detector jitter monitoring
    • 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/087Jitter

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

방법은, 제 1 디바이스의 디코더에서, 제 1 특정 패킷과 제 2 특정 패킷 사이의 오프셋에 대응하는 오프셋 값을 결정하는 단계를 포함한다. 제 1 디바이스는 디-지터 버퍼를 포함한다. 방법은 또한, 오프셋 값을 제 2 디바이스의 인코더에 송신하여 제 2 디바이스로 하여금 오프셋 값에 기초하여 제 1 디바이스에 패킷들을 전송하는 것을 가능하게 하는 단계를 포함한다.

Description

에러 정정 데이터를 위한 오프셋 선택{OFFSET SELECTION FOR ERROR CORRECTION DATA}
우선권 주장
이 출원은, "OFFSET SELECTION FOR ERROR CORRECTION DATA" 라는 제목의, 2015년 6월 24일에 출원된 미국 특허출원 제 14/749,474 호로부터, 2014년 7월 22일에 출원된 미국 가특허출원 제 62/027,595 호로부터, 2014년 8월 26일 출원된 미국 가특허출원 제 62/042,013 호로부터 우선권을 주장하고, 이들의 내용들은 그들 전체가 본원에 통합된다.
기술분야
본 개시물은 일반적으로 에러 정정 데이터를 위한 오프셋 선택에 관련된다.
기술에서의 진보들은 더 작고 보다 강력한 컴퓨팅 디바이스들을 초래하였다. 예를 들어, 소형이고, 경량이며, 사용자들에 의해 용이하게 운반되는 모바일 및 스마트 폰들과 같은 무선 전화기들, 태블릿들, 및 랩탑 컴퓨터들을 포함하는, 다양한 휴대용 퍼스널 컴퓨팅 디바이스들이 현재 존재한다. 이들 디바이스들은 무선 네트워크들을 통해 음성 및 데이터 패킷들을 통신할 수 있다. 또한, 많은 이러한 디바이스들은 디지털 스틸 카메라, 디지털 비디오 카메라, 디지털 레코더, 및 오디오 파일 플레이어와 같은 추가적인 기능을 통합한다. 또한, 이러한 디바이스들은 인터넷에 액세스하기 위해 사용될 수 있는 웹 브라우저 애플리케이션과 같은 소프트웨어 애플리케이션들을 포함하는 실행가능한 명령들을 프로세싱할 수 있다. 이와 같이, 이들 디바이스들은 상당한 컴퓨팅 능력들을 포함할 수 있다.
소스 디바이스 (예컨대, 제 1 전자 디바이스) 는 패킷들을 목적지 디바이스 (예컨대, 제 2 전자 디바이스) 에 전송할 수도 있다. 네트워크 조건들로 인해, 패킷들은 목적지 디바이스에서 순서가 바뀌어 도달할 수도 있다. 목적지 디바이스는 수신된 패킷들을 디-지터 (de-jitter) 버퍼에 저장할 수도 있고, 수신된 패킷들이 순서가 맞지 않는 경우에 수신된 패킷들을 재배열할 수도 있다. 목적지 디바이스는 수신된 패킷들에 기초하여 데이터를 재구성 (reconstruct) 할 수도 있다. 소스 디바이스에 의해 전송된 특정 패킷은 목적지 디바이스에 의해 수신되지 않을 수도 있거나 에러들을 가지고 수신될 수도 있다. 목적지 디바이스는 특정 패킷과 연관된 데이터의 전부 또는 부분을 복원하는 것이 가능하지 않을 수도 있다.
일 구현에 따르면, 방법은, 제 1 디바이스의 디코더에서, 제 1 특정 패킷과 제 2 특정 패킷 사이의 오프셋 (offset) 에 대응하는 오프셋 값을 결정하는 단계를 포함한다. 제 1 디바이스는 디-지터 버퍼를 포함한다. 특정 시나리오들에서, 특정 패킷은 디-지터 버퍼에 있을 수도 있고, 오프셋 값은 디-지터 버퍼에 의해 수신된 패킷들의 통계적 측정 (statistical measure) 에 기초하여 결정될 수도 있다. 방법은 또한, 오프셋 값을 제 2 디바이스의 인코더에 송신하여 제 2 디바이스로 하여금 오프셋 값에 기초하여 제 1 디바이스에 패킷들을 전송하는 것을 가능하게 하는 단계를 포함한다.
다른 구현에 따르면, 디바이스는 하나 이상의 패킷들을 저장하도록 구성된 디-지터 버퍼를 포함한다. 디바이스는 또한, 제 1 특정 패킷과 제 2 특정 패킷 사이의 오프셋에 대응하는 오프셋 값을 결정하도록 구성된 디코더를 포함한다. 특정 시나리오들에서, 특정 패킷은 디-지터 버퍼에 있을 수도 있고, 오프셋 값은 디-지터 버퍼에 의해 수신된 패킷들의 통계적 측정에 기초하여 결정될 수도 있다. 디바이스는, 오프셋 값을 제 2 디바이스에 송신하여 제 2 디바이스로 하여금 오프셋 값에 기초하여 디바이스에 패킷들을 전송하는 것을 가능하게 하도록 구성된 송신기를 더 포함한다.
또 다른 구현에 따르면, 비일시적 컴퓨터 판독가능 매체는, 제 1 디바이스에 의해 실행될 때 제 1 디바이스로 하여금, 제 1 특정 패킷과 제 2 특정 패킷 사이의 오프셋에 대응하는 오프셋 값을 결정하게 하는 명령들을 포함한다. 제 1 디바이스는 디-지터 버퍼를 포함한다. 특정 시나리오들에서, 특정 패킷은 디-지터 버퍼에 있을 수도 있고, 오프셋 값은 디-지터 버퍼에 의해 수신된 패킷들의 통계적 측정에 기초하여 결정될 수도 있다. 명령들은 또한, 제 1 디바이스로 하여금, 제 2 디바이스가 오프셋 값에 기초하여 제 1 디바이스에 패킷들을 전송하는 것을 가능하게 하기 위해 오프셋 값을 제 2 디바이스에 송신하게 하도록 실행가능하다.
또 다른 구현에 따르면, 디바이스는, 하나 이상의 패킷들을 저장하는 수단, 및 제 1 특정 패킷과 제 2 특정 패킷 사이의 오프셋에 대응하는 오프셋 값을 결정하는 수단을 포함한다. 특정 시나리오들에서, 특정 패킷은 하나 이상의 패킷들을 저장하는 수단에 있을 수도 있고, 오프셋 값은 하나 이상의 패킷들을 저장하는 수단에 의해 수신된 패킷들의 통계적 측정에 기초하여 결정된다. 디바이스는 또한, 오프셋 값을 제 2 디바이스에 송신하여 제 2 디바이스로 하여금 오프셋 값에 기초하여 디바이스에 패킷들을 전송하는 것을 가능하게 하는 수단을 포함한다.
도 1 은 패킷의 부분적 중복 정보를 취출하기 위해 오프셋 값을 결정하도록 동작가능한 시스템이다.
도 2 는 더 이른 시간에 전송된 패킷의 부분적 카피를 포함하는 패킷이다.
도 3 은 손실된 패킷 복원을 향상시키기 위해 오프셋 값을 결정하도록 동작가능한 방법의 프로세스도이다.
도 4 는 손실된 패킷 복원을 향상시키기 위해 오프셋 값을 결정하기 위한 상태도이다.
도 5 는 오프셋 값을 반송하도록 동작가능한 코드 모드 요청 필드를 갖는 실시간 전송 프로토콜 페이로드 헤더이다.
도 6 은 손실된 패킷의 부분적 중복 정보를 취출하기 위해 오프셋 값을 결정하는 방법을 나타내는 플로우차트이다.
도 7 은 손실된 패킷의 부분적 중복 정보를 취출하기 위해 오프셋 값을 결정하도록 동작가능한 디바이스의 블록도이다.
본원에 설명된 원리들은, 예를 들어, 헤드셋, 핸드셋, 또는 중복 기반 패킷 송신 에러 복원을 수행하도록 구성되는 다른 오디오 디바이스에 대해 적용될 수도 있다. 그것의 문맥에 의해 명시적으로 제한되지 않는 한, 용어 "신호" 는 와이어, 버스, 또는 다른 송신 매체 상에서 표현되는 바와 같이 메모리 로케이션 (또는 메모리 로케이션들의 셋트) 의 상태를 포함하는, 그것의 보통의 의미들의 임의의 것을 나타내기 위해서 본 명세서에서 사용된다. 그것의 문맥에 의해 명시적으로 제한되지 않는 한, 용어 "생성하는 것" 은, 컴퓨팅 또는 그 외에 생성하는 것과 같이, 그것의 보통의 의미들의 임의의 것을 나타내기 위해 본 명세서에서 사용된다. 그것의 문맥에 의해 명시적으로 제한되지 않는 한, 용어 "계산하는 것" 은, 컴퓨팅, 평가, 평활화, 및/또는 복수의 값들로부터 선택하는 것과 같이, 그것의 보통의 의미들의 임의의 것을 나타내기 위해 본 명세서에서 사용된다. 그것의 문맥에 의해 명시적으로 제한되지 않는 한, 용어 "획득하는 것" 은, 계산하는 것, 도출하는 것, (예컨대, 다른 컴포넌트, 블록 또는 디바이스로부터) 수신하는 것, 및/또는 (예컨대, 메모리 레지스터 또는 저장 엘리먼트들의 어레이로부터) 취출하는 것과 같이, 그것의 보통의 의미들의 임의의 것을 나타내기 위해 사용된다.
그것의 문맥에 의해 명시적으로 제한되지 않는 한, 용어 "생성하는 것" 은 계산하는 것, 발생시키는 것, 및/또는 제공하는 것과 같이, 그것의 보통의 의미들의 임의의 것을 나타내기 위해 사용된다. 그것의 문맥에 의해 명시적으로 제한되지 않는 한, 용어 "제공하는 것" 은 계산하는 것, 발생시키는 것, 및/또는 생성하는 것과 같이, 그것의 보통의 의미들의 임의의 것을 나타내기 위해 사용된다. 그것의 문맥에 의해 명시적으로 제한되지 않는 한, 용어 "커플링되는" 은 직접적 또는 간접적 전기적 또는 물리적 연결을 나타내기 위해 사용된다. 연결이 간접적인 경우에, "커플링되는" 구조들 사이에 다른 블록들 또는 컴포넌트들이 존재할 수도 있음을, 당해 기술분야에서 통상의 지식을 가진 자 (이하, '통상의 기술자' 라 함) 에 의해 잘 이해될 것이다.
용어 "구성 (configuration)" 은 그것의 특정 문맥에 의해 표시되는 바와 같이 방법, 장치/디바이스, 및/또는 시스템과 관련하여 사용될 수도 있다. 용어 "포함하는" 이 본 설명 및 청구항들에서 사용되는 경우에, 그것은 다른 엘리먼트들 또는 동작들을 배제하지 않는다. 용어 "기초하여" ("A 는 B 에 기초한다" 에서처럼) 은 경우들 (i) "적어도 기초하여" (예컨대, "A 는 적어도 B 에 기초한다") 그리고, 특정 문맥에서 적절한 경우에, (ii) "~ 와 동일" (예컨대, "A 는 B 와 동일하다") 을 포함하는, 그것의 보통의 의미들의 임의의 것을 나타내기 위해 사용된다. A 가 B 에 기초한다가 적어도 기초하는 것을 포함하는 경우 (i) 에서, 이는 A 가 B 에 커플링되는 구성을 포함할 수도 있다. 유사하게, 용어 "~ 에 응답하여" 는 "적어도 ~ 에 응답하여" 를 포함하는, 그것의 보통의 의미들의 임의의 것을 나타내기 위해 사용된다. 용어 "적어도 하나" 는 "하나 또는 그보다 많은" 을 포함하는, 그것의 보통의 의미들의 임의의 것을 나타내기 위해 사용된다. 용어 "적어도 2 개" 는 "2 개 또는 그보다 많은" 을 포함하는, 그것의 보통의 의미들의 임의의 것을 나타내기 위해 사용된다.
용어들 "장치" 및 "디바이스" 는 특정 문맥에 의해 달리 표시되지 않는 한 일반적으로 그리고 상호교환가능하게 사용된다. 달리 나타내지 않는 한, 특정 피처 (feature) 를 갖는 장치의 동작의 임의의 개시는 또한 유사한 피처를 갖는 방법을 개시하도록 명시적으로 의도되고 (그리고 그 역도 성립함), 특정 구성에 따른 장치의 동작의 임의의 개시는 또한, 유사한 구성에 따른 방법을 개시하도록 명시적으로 의도된다 (그리고 그 역도 성립함). 용어들 "방법", "프로세스", "절차", 및 "기법" 은 특정 문맥에 의해 달리 표시되지 않는 한 일반적으로 그리고 상호교환가능하게 사용된다. 용어들 "엘리먼트" 및 "모듈" 은 더 큰 구성의 부분을 나타내기 위해 사용될 수도 있다. 문헌의 부분의 참조에 의한 임의의 통합은 또한, 그 부분 내에서 참조되는 용어들 또는 변수들의 정의들을 통합하도록 이해되어야 할 것이고, 이러한 정의들은 문헌의 다른 곳에서, 또한 통합된 부분에서 참조된 임의의 도면들에서 나타난다.
본 명세서에서 사용된 바와 같이, 용어 "통신 디바이스" 는 무선 통신 네트워크를 통한 음성 및/또는 데이터 통신을 위해 사용될 수도 있는 전자 디바이스를 지칭한다. 통신 디바이스들의 예들은 셀룰러 전화기들, 개인 휴대 정보 단말기 (PDA) 들, 핸드헬드 디바이스들, 헤드셋들, 무선 모뎀들, 랩탑 컴퓨터들, 퍼스널 컴퓨터들 등을 포함한다. 본 명세서에서 설명된 디바이스들은 하나 이상의 모바일 원격통신 기술들과 호환가능할 수도 있다. 예를 들어, 본 명세서에서 설명된 디바이스들은 3 세대 (3G) 이동 통신 기술들, 4 세대 (4G) 이동 통신 기술들, 및/또는 5 세대 (5G) 이동 통신 기술들과 호환가능할 수도 있다. 추가적으로, 또는 대안적으로, 본 명세서에서 설명된 디바이스들은 다른 표준들 (예컨대, 롱-텀 에볼루션 (LTE) 무선 통신 표준, LTE-A 무선 통신 표준, WiMAX (Worldwide Interoperability for Microwave Access) 무선 통신 표준 등) 과 호환가능할 수도 있다.
도 1 을 참조하면, 손실된 패킷의 부분적 중복 정보를 취출 (retrieve) 하기 위해 오프셋 값을 결정하도록 동작가능한 시스템이 개시되고 일반적으로 100 으로 지정된다. 시스템 (100) 은 네트워크 (150) 를 통해 하나 이상의 다른 디바이스들 (예컨대, 제 2 디바이스 (122)) 과 통신하는 제 1 디바이스 (102) 를 포함한다. 제 1 디바이스 (102) 는 제 1 경로 (152) 를 이용하여 네트워크 (150) 를 통해 제 2 디바이스 (122) 에 데이터를 전송할 수도 있고, 제 2 디바이스 (122) 는 제 2 경로 (154) 를 이용하여 네트워크 (150) 를 통해 제 1 디바이스 (102) 에 데이터를 전송할 수도 있다.
제 1 디바이스 (102) 는 제 1 역방향 채널 (152a) (예컨대, 제 1 역방향 링크) 및 제 1 순방향 채널 (154b) (예컨대, 제 1 순방향 링크) 을 통해 네트워크 (150) 와 통신할 수도 있다. 예를 들어, 제 1 디바이스 (102) 는 제 1 역방향 채널 (152a) 을 이용하여 네트워크 (150) 에 데이터를 송신할 수도 있고, 제 1 디바이스 (102) 는 제 1 순방향 채널 (154b) 을 이용하여 네트워크 (150) 로부터 데이터를 수신할 수도 있다. 제 2 디바이스 (122) 는 제 2 역방향 채널 (154a) (예컨대, 제 2 역방향 링크) 및 제 2 순방향 채널 (152b) (예컨대, 제 2 순방향 링크) 을 통해 네트워크 (150) 와 통신할 수도 있다. 예를 들어, 제 2 디바이스 (122) 는 제 2 역방향 채널 (154a) 을 이용하여 네트워크 (150) 에 데이터를 송신할 수도 있고, 제 2 디바이스 (122) 는 제 2 순방향 채널 (152b) 을 이용하여 네트워크 (150) 로부터 데이터를 수신할 수도 있다.
네트워크 (150) 는 제 1 디바이스 (102) 와 제 2 디바이스 (122) 사이에 데이터를 통신하기 위해 하나 이상의 기지국들 또는 액세스 포인트들을 포함할 수도 있다. 본 명세서에서 사용되는 바와 같이, 제 1 경로 (152) 를 통해 통신되는 데이터 (예컨대, 패킷들, 프레임들, 오프셋 값들, 확인응답들 등) 는 제 1 역방향 채널 (152a) 을 통해 제 1 디바이스 (102) 로부터 네트워크 (150) 로 송신되고 제 2 순방향 채널 (152b) 을 통해 제 2 디바이스 (122) 에서 네트워크 (150) 로부터 수신된 데이터에 대응한다. 유사한 방식으로, 제 2 경로 (154) 를 통해 통신되는 데이터는 제 2 역방향 채널 (154a) 을 통해 제 2 디바이스 (122) 로부터 네트워크 (150) 로 송신되고 제 1 순방향 채널 (154b) 을 통해 제 1 디바이스 (102) 에서 네트워크 (150) 로부터 수신된 데이터에 대응한다.
디바이스들 (102, 122) 은 도 1 에서 예시된 것보다 더 적거나 더 많은 컴포넌트들을 포함할 수도 있다. 예를 들어, 디바이스들 (102, 122) 은 하나 이상의 프로세서들, 하나 이상의 메모리 유닛들, 또는 양자 모두를 포함할 수도 있다. 하나의 구현에 따르면, 제 1 디바이스 (102) 및/또는 제 2 디바이스 (122) 는, 스마트 폰, 셀룰러 폰, 모바일 통신 디바이스, 랩탑 컴퓨터, 컴퓨터, 태블릿, PDA, 셋톱 박스, 비디오 플레이어, 엔터테인먼트 유닛, 디스플레이 디바이스, 텔레비전, 게이밍 콘솔, 뮤직 플레이어, 라디오, 디지털 비디오 플레이어, 디지털 비디오 디스크 (DVD) 플레이어, 튜너, 카메라, 내비게이션 디바이스, 또는 이들의 조합일 수도 있다. 이러한 디바이스들은 사용자 인터페이스 (예컨대, 터치 스크린, 음성 인식 능력, 또는 다른 사용자 인터페이스 능력들) 를 포함할 수도 있다.
제 1 디바이스 (102) 는 제 1 스피치 보코더 (104), 수신기 (106), 및 송신기 (108) 를 포함한다. 제 1 스피치 보코더 (104) 는 인코더 (110), 디-지터 버퍼 (112), 및 디코더 (114) 를 포함한다. 제 2 디바이스 (122) 는 제 2 스피치 보코더 (124), 수신기 (126), 및 송신기 (128) 를 포함한다. 제 2 스피치 보코더 (124) 는 인코더 (130), 디-지터 버퍼 (132), 및 디코더 (134) 를 포함한다. 본 명세서에서 사용되는 바와 같이, 제 1 디바이스 (102) 는 "수신 단말기" 로서 기술될 것이고, 제 2 디바이스 (122) 는 "송신 단말기" 로서 기술될 것이다. 예를 들어, 제 2 디바이스 (122) 는 제 1 디바이스 (102) 에 의해 수신되는 패킷들을 송신할 수도 있다. 하지만, 다른 구현들에서, 각 디바이스 (102, 122) 는 동시에 수신 단말기 및 송신 단말기로서 동작할 수도 있다. 예를 들어, 제 1 디바이스 (102) 는 제 1 경로 (152) 를 통해 제 2 디바이스 (122) 에 패킷들을 송신 (예컨대, 제 1 역방향 채널 (152a) 을 통해 네트워크 (150) 에 패킷들을 송신) 할 수도 있고, 동시에, 제 2 경로 (154) 를 통해 제 2 디바이스 (122) 로부터 패킷들을 수신 (예컨대, 제 1 순방향 채널 (154b) 을 통해 네트워크 (150) 로부터 패킷들을 수신) 할 수도 있다. 추가적으로, 제 2 디바이스 (122) 는 제 2 경로 (154) 를 통해 제 2 디바이스 (122) 에 패킷들을 송신 (예컨대, 제 2 역방향 채널 (154a) 을 통해 네트워크 (150) 에 패킷들을 송신) 할 수도 있고, 동시에, 제 1 경로 (152) 를 통해 제 1 디바이스 (102) 로부터 패킷들을 수신 (예컨대, 제 2 순방향 채널 (152b) 을 통해 네트워크 (150) 로부터 패킷들을 수신) 할 수도 있다.
수신기 (106) 는 제 2 경로 (154) 를 통해 제 2 디바이스 (122) 로부터 데이터 (예컨대, 하나 이상의 패킷들) 를 수신하도록 구성될 수도 있다. 예시를 위해, 송신기 (128) 는 제 2 역방향 채널 (154a) 을 통해 네트워크 (150) 로 제 1 패킷 (160), 제 2 패킷 (162), 및 제 N 패킷 (164) 을 송신하도록 구성될 수도 있다. 수신기 (106) 는 제 1 순방향 채널 (154b) 을 통해 네트워크 (150) 로부터 제 1 패킷 (160), 제 2 패킷 (162), 및 제 N 패킷 (164) 을 수신하도록 구성될 수도 있다. N 은 0 보다 더 큰 임의의 정수 값일 수도 있다. 예를 들어, N 이 12 와 동일한 경우에, 12 개의 패킷들이 제 2 경로 (154) 를 통해 제 2 디바이스 (122) 로부터 제 1 디바이스 (102) 로 통신될 수도 있다.
수신기 (106) 는 수신된 패킷들 (160-164) 을 디-지터 버퍼 (112) 에 제공할 수도 있다. 디-지터 버퍼 (112) 는 수신기 (106) 에 의해 수신된 패킷들 (160-164) 을 저장 (예컨대, 버퍼링) 하도록 구성될 수도 있다. 예시를 위해, 디-지터 버퍼 (112) 는 다수의 "D" 패킷들을 저장하기 위한 저장 용량 (예컨대, "심도 (depth)") 을 가질 수도 있다. 패킷들 (160-164) 은 무선 네트워크 (150) 의 동적 성질로 인해 순서가 바뀌어 도달할 수도 있다. 예를 들어, 제 2 패킷 (162) 은 네트워크 지연, 데이터 핸들링 용량, 무선 신호 조건들, 네트워크 부하 등으로 인해 수신기 (106) 에 도달하는 제 1 패킷 (160) 이전에 수신기 (106) 에 도달할 수도 있다. 디-지터 버퍼 (112) 는 수신기 (106) 에 의해 수신된 패킷들 (160-164) 을 버퍼링하고 패킷을 디코더 (114) 에 규칙적인 간격들로 (예컨대, 적절하게는 매 20 밀리세컨드 (ms) 들마다 한번) 제공함으로써 패킷 도착 시간에서의 지터 (jitter) (예컨대, 지연) 를 "흡수" 또는 감소시키도록 구성될 수도 있다.
디코더 (114) 는, 패킷들 (160-164) 이 순서가 바뀌는 경우에, 디-지터 버퍼 (112) 에서 패킷들 (160-164) 중 하나 이상을 재정렬할 수도 있다. 추가적으로, 제 2 디바이스 (122) 에 의해 전송된 하나 이상의 패킷들 (160-164) 은, 제 1 디바이스 (102) 에 의해, 수신되지 않을 수도 있고, 또는 에러들을 가지고 수신될 수도 있다. 예를 들어, 패킷 (예컨대, 제 1 패킷 (160)) 은, 수신기 (106) 에 의해, 패킷 손실로 인해 수신되지 않을 수도 있고, 또는, 네트워크 조건들로 인해 부분적으로 수신될 수도 있다. 디코더 (114) 는 특정 패킷이 디-지터 버퍼 (112) 로부터 미싱 (missing) 인지 여부를 결정할 수도 있다.
손실 패킷 (또는 에러들을 가지고 수신된 패킷) 에 의해 야기되는 디코더 (114) 에서의 문제점들을 피하기 위해, 후속 패킷들은 손실 패킷과 연관된 에러 정정 데이터 (error correction data) 를 포함할 수도 있다. 하나의 구현에 따르면, 에러 정정 데이터는 손실 패킷의 부분적 카피 (partial copy) 를 포함할 수도 있다. 따라서, 디코더 (114) 는, 손실 패킷이 디-지터 버퍼 (112) 로부터 미싱된 것을 결정하는 것에 응답하여, 디-지터 버퍼 (112) 로부터 (손실 패킷과 연관된 에러 정정 데이터를 갖는) 후속 패킷을 취출할 수도 있다.
예를 들어, 디코더 (114) 가 디-지터 버퍼 (112) 로부터 제 1 패킷 (160) 을 취출하고 제 1 패킷 (160) 을 디코딩하기를 시도할 때 디코더 (114) 가 제 1 패킷 (160) (예컨대, "현재 프레임") 이 디-지터 버퍼 (112) 로부터 미싱 (또는 에러들을 포함) 된 것을 결정하는 경우에, 디코더 (114) 는 (제 1 패킷 (160) 과 연관된 에러 정정 데이터 또는 부분적 중복을 포함하는) 후속 패킷이 디-지터 버퍼 (112) 에 저장되어 있는지 여부를 결정할 수도 있다.
예시를 위해, 제 2 패킷 (162) 은 제 1 패킷 (160) 의 부분적 카피를 포함할 수도 있다. 도 2 를 참조하면, 제 2 패킷 (162) 은 제 2 패킷 데이터, 및 제 1 패킷 (160) 과 연관된 제 1 패킷 데이터의 부분적 중복 카피 (partial redundant copy) 를 포함할 수도 있다. 따라서, 현재 프레임 (예컨대, 제 1 패킷 (160)) 의 부분적 중복성 카피는 후속 프레임 (예컨대, 제 2 패킷 (162)) 과 멀티플렉싱될 수도 있다. 현재 프레임 후에 "D" 타임 유닛들보다 더 많지 않게 송신된 후속 프레임에 현재 프레임의 부분적 카피가 부가되는 경우에, 디코더 (114) 가 현재 프레임을 디코딩하기를 시도할 때 디-지터 버퍼 (112) 에 후속 프레임이 있을 비교적 높은 가능성이 존재한다. 따라서, 도 1 및 도 2 를 참조하여, 제 1 패킷 데이터의 부분적 중복 카피가 제 2 패킷 (162) 에 부가되는 경우에는, 제 2 패킷 (162) 이 제 1 패킷 (160) 후에 "D" 타임 유닛들보다 더 많지 않게 송신되는 경우에 (디코더 (114) 가 제 1 패킷 (160) 을 디코딩하기를 시도할 때) 제 2 패킷 (162) 이 디-지터 버퍼 (112) 에 있을 비교적 높은 가능성이 존재한다.
디코더 (114) 는, (제 1 패킷 (160) 과 연관된 부분적 중복 또는 에러 정정 데이터를 포함하는) 후속 패킷이 디-지터 버퍼 (112) 에 저장되어 있는지 여부를 결정하기 위해 디-지터 버퍼 (112) 를 폴링하도록 구성될 수도 있다. 예를 들어, 디코더 (114) 는 제 2 패킷 (162) 에 대해 디-지터 버퍼 (112) 를 폴링할 수도 있다. 제 2 패킷 (162) 이 디-지터 버퍼 (112) 에서 이용가능한 경우에, 디코더 (114) 는 제 1 패킷 (160) 을 합성하기 위해 (제 2 패킷 (162) 에서의) 제 1 패킷 데이터의 중복적 카피를 이용할 수도 있고, 이는 (예컨대, 제 1 패킷 (160) 과 연관된 디코딩 기능들을 스킵하는) 삭제 은닉 (erasure concealment) 과는 대조적으로 상당한 품질 향상을 초래할 수도 있다.
후속하는 패킷 (예컨대, 제 2 패킷 (162)) 에서의 제 1 패킷 (160) 의 부분적 카피에 기초한 손실 패킷 (예컨대, 제 1 패킷 (160)) 의 "복원 (recovering)" 의 가능성은 후속 패킷이 디-지터 버퍼 (112) 에서 이용가능한지 여부에 의존한다. 디-지터 버퍼 (112) 에 의해 수신된 패킷들의 통계적 측정 (예컨대, 디-지터 버퍼 (112) 의 폴링 이력 (polling history)) 에 기초하여, 디코더 (114) 는, 도 3 을 참조하여 설명된 바와 같이, 현재 패킷과, 현재 패킷의 부분적 카피를 갖는 후속 패킷 사이의 오프셋 값 ("X") (예컨대, FEC 오프셋 값) 을 결정하고 동적으로 조정할 수도 있다.
예를 들어, 각 패킷 (160-164) 은 그 패킷 (160-164) 이 제 2 디바이스 (122) 로부터 송신되는 순서에 대응하는 시퀀스 넘버 (sequence number) 를 포함할 수도 있다. 비제한적 예로서, 제 1 패킷 (160) 은 시퀀스 넘버 "1" 을 포함할 수도 있고, 제 2 패킷 (162) 은 시퀀스 넘버 "2" 를 포함할 수도 있으며, 제 N 패킷 (164) 은 시퀀스 넘버 "N" 을 포함할 수도 있는 등이다. 현재 프레임 (예컨대, 제 1 패킷 (160)) 과, 그 현재 프레임과 연관된 에러 정정 데이터를 포함하는 후속 프레임 (예컨대, 제 2 패킷 (162)) 사이의 오프셋 값 ("X") 은 현재 프레임의 시퀀스 넘버와 후속 프레임의 시퀀스 넘버 사이의 차이에 대응한다.
하나의 구현에 따르면, 오프셋 값 ("X") 을 나타내기 위해 패킷에 2 비트들이 할당될 수도 있다. 2 비트들은 4 개의 가능한 오프셋 값들 (예컨대, 2, 3, 5, 또는 7) 중 하나에 대응할 수도 있다. 예시를 위해, 패킷에 할당된 2 비트들이 "00" 을 나타내는 경우에, 오프셋 값은 2 와 동일할 수도 있다. 패킷에 할당된 2 비트들이 "01" 을 나타내는 경우에, 오프셋 값은 3 과 동일할 수도 있다. 패킷에 할당된 2 비트들이 "10" 을 나타내는 경우에, 오프셋 값은 5 와 동일할 수도 있다. 패킷에 할당된 2 비트들이 "11" 을 나타내는 경우에, 오프셋 값은 7 과 동일할 수도 있다.
도 3 을 참조하면, 프로세스도 (300) 는 제 1 스피치 보코더 (104) 의 컴포넌트들을 이용하여 손실 패킷 복원을 향상시키기 위해 오프셋 값을 결정하도록 동작가능한 방법을 예시한다. 프로세스도 (300) 는 디-지터 버퍼 (112) 및 복수의 프로세스 단계들 (302-312) 을 묘사한다. 각 프로세스 단계 (302-312) 는 제 1 스피치 보코더 (104) 의 디코더 (114) 에 의해 수행될 수도 있다.
수신기 (106) 는 디-지터 버퍼 (112) 에 제 2 패킷 (162), 제 3 패킷 (360), 제 4 패킷 (362), 및 제 N 패킷 (164) 을 제공할 수도 있다. 302 에서, 디코더 (114) 는, 제 1 패킷 (160) (예컨대, 제 1 스피치 프레임) 이 디-지터 버퍼 (112) 에서 이용가능한지 여부를 결정할 수도 있다. 예를 들어, 디코더 (114) 는 제 1 패킷 (160) 에 대해 디-지터 버퍼 (112) 를 폴링할 수도 있다. 디코더 (114) 가 디-지터 버퍼 (112) 에서 제 1 패킷 (160) 이 이용가능하다고 결정하는 경우에, 304 에서, 디코더 (114) 는 제 1 패킷 (160) 을 디코딩할 수도 있다.
디코더 (114) 가 디-지터 버퍼 (112) 에서 제 1 패킷 (160) 이 이용가능하지 않다고 결정하는 경우에, 디코더 (114) 는, 제 1 패킷 (160) 과 연관된 에러 정정 데이터를 포함하는 후속 패킷에 대해 디-지터 버퍼 (112) 를 폴링하고, 304 에서, 후속 패킷을 디코딩할 수도 있다. 추가적으로, 디코더 (114) 는, 디-지터 버퍼 (112) 에서 제 1 패킷 (160) 이 이용가능하지 않다는 결정에 응답하여 손실 패킷 복원을 향상시키기 위해 오프셋 값을 결정/업데이트할 수도 있다.
예를 들어, 디코더 (114) 는, 306 에서, 과거 "M" 패킷들에서 손실되었던 (또는 에러들을 포함하는) 패킷들의 수를 결정할 수도 있고, 여기서, M 은 1 보다 더 큰 임의의 정수이다. 예를 들어, M 이 20 과 동일한 경우에, 디코더 (114) 는, 306 에서, 과거 20 개의 패킷들에서 손실되었던 패킷들의 수를 결정할 수도 있다. 312 에서, 지난 M 개의 패킷들에서의 손실 패킷들의 수는 디-지터 버퍼 제어 알고리즘을 구현하는 프로세서에 제공될 수도 있다.
추가적으로, 디코더 (114) 는, 308 에서, 디-지터 버퍼 (112) 에서의 각각의 이용가능한 후속 패킷의 시퀀스 넘버를 결정할 수도 있다. 예를 들어, 디코더 (114) 는, 제 2 패킷 (162) 의 시퀀스 넘버, 제 3 패킷 (360) 의 시퀀스 넘버, 제 4 패킷 (362) 의 시퀀스 넘버, 제 N 패킷 (164) 의 시퀀스 넘버 등을 결정할 수도 있다.
디코더 (114) 는, 310 에서, 손실 패킷들의 발생 시에, 디-지터 버퍼 (112) 에 있는 패킷들의 오프셋 값들의 이력에 기초하여 특정 오프셋 값 (예컨대, "최적의 (optimum)" FEC 오프셋 값 (Xopt)) 을 결정할 수도 있다. 결정은, 308 에서 디-지터 버퍼 (112) 에서의 각 패킷의 시퀀스 넘버들에 기초할 수도 있다. 하나의 구현에 따르면, 디코더 (114) 는 최적의 FEC 오프셋 값 (Xopt) 을 결정하기 위해 확률 질량 함수 (probability mass function)
Figure 112017007327090-pct00001
를 이용할 수도 있다. 확률 질량 함수
Figure 112017007327090-pct00002
는 다음과 같이 표현될 수도 있다:
Figure 112017007327090-pct00003
(식 1)
여기서, k 는 손실 패킷 (예컨대, 제 1 패킷 (160)) 에 대응하고, K 는 특정 기간 내에서의 손실 패킷들의 전부에 대응하며, L 은 특정 기간 내의 손실 패킷들의 전부 및 특정 기간 내의 디-지터 버퍼 (112) 내에서의 모든 패킷들에 대응하고,
Figure 112017007327090-pct00004
는 디-지터 버퍼 (112) 에 패킷이 존재하는지 여부에 관한 표시자 함수에 대응한다. 예를 들어,
Figure 112017007327090-pct00005
는 다음과 같이 표현될 수도 있다:
Figure 112017007327090-pct00006
(식 2)
따라서, 식 1 의 분자는 특정 기간 동안 디-지터 버퍼 (112) 에 있는 각각의 손실 패킷에 대한 오프셋 (x) 을 갖는 패킷들의 인스턴스들 (instances) 을 추적 (예컨대, 합산) 할 수도 있다. 식 1 의 분모를 참조하면, D 는 디-지터 버퍼 (112) 의 심도에 대응할 수도 있다. 따라서, 식 1 의 분모는 정규화 값 (예컨대, 특정 기간 내에서의 가능한 오프셋들의 전부의 값) 을 가질 수도 있다.
최적의 FEC 오프셋 값 (Xopt) 은 최대 오프셋 (x) (예컨대, 특정 기간에서 가장 빈번하게 발생하는 오프셋) 을 결정함으로써 계산될 수도 있다. 예를 들어, 오프셋 값 (Xopt) (예를 들어, 다음과 같이 표혀될 수도 있다.
Figure 112017007327090-pct00007
(식 3)
최적의 FEC 오프셋 값 (Xopt) 만큼 손실 패킷 (k) 으로부터 시퀀스 넘버 오프셋을 갖는 후속 패킷에서 손실 패킷 (k) (예컨대, 제 1 패킷 (160)) 의 에러 정정 데이터를 저장하는 것은, 손실 패킷 (k) 에 대한 에러 정정 데이터가 디-지터 버퍼 (112) 에 있을 가능성을 증가시킬 수도 있다. 따라서, 비교적 높은 수 (예컨대, 최대 수) 의 패킷 삭제들이 이전 패킷 삭제들의 유한 이력의 패킷 삭제 통계들에 기초하여 패킷 데이터의 중복적 카피들을 이용하여 복원될 수도 있도록, 특정 오프셋 값 (예컨대, 최적의 FEC 오프셋 값 (Xopt)) 의 계산이 수행될 수도 있다.
최적의 FEC 오프셋 값 (Xopt) 은, 이하 설명되는 바와 같이, 제 2 디바이스 (122) 의 인코더 (130) 에 송신될 도 1 의 송신기 (108) 에 제공될 수도 있다. 최적의 FEC 오프셋 값 (Xopt) 은 또한, 312 에서, 디-지터 버퍼 제어 알고리즘을 구현하는 프로세서에 제공될 수도 있다. 디-지터 버퍼 제어 알고리즘은, 지연과 패킷 손실들 사이의 트레이드오프 (tradeoff) 를 달성하기 위해 손실 패킷들의 수 및 최적의 FEC 오프셋 값 (Xopt) 에 기초하여 디-지터 버퍼 (112) 의 심도 (depth; D) 를 조정하도록 구성될 수도 있다.
다시 도 1 을 참조하면, 디코더 (114) 는 오프셋 값 (166) (예컨대, 최적의 FEC 오프셋 값 (Xopt)) 을 송신기 (108) 에 제공할 수도 있고, 송신기 (108) 는 제 2 디바이스 (122) 의 수신기 (126) 에 오프셋 값 (166) 을 송신할 수도 있다.
또 다른 구현에 따르면, 디코더 (114) 는 오프셋 값 (166) 을 수개의 시도 값들 (trial values) 의 각각으로 반복적으로 설정하고 그 시도 값을 오프셋 값 (166) 으로 제 2 디바이스 (122) (예컨대, 인코더 (130)) 에 송신함으로써 "최적의" FEC 오프셋 값 (Xopt) 을 결정할 수도 있다. 상이한 시도 값들을 이용한 인코더 (130) 와 디코더 (114) 사이의 통신들에 기초하여, 디코더 (114) 는, 각각의 시도 값에 대해, 손실 패킷의 부분적 중복성 카피를 복원하는 확률을 결정할 수도 있다.
비제한적 예로서, 디코더 (114) 는 오프셋 값 (166) 을 "1" (예컨대, 최소 오프셋 값) 로 설정하고 그 오프셋 값 (166) 을 인코더 (130) 에 송신할 수도 있다. 그 오프셋 값 (166) 에 기초하여, 인코더 (130) 는 다음 후속하는 패킷에서 특정 패킷에 대한 부분적 중복 카피를 제공할 수도 있다. 디코더 (114) 가 손실 패킷을 디코딩하기를 시도하는 각 시간에서, 디코더 (114) 는, 손실 패킷의 "중복성 패킷 (redundant packet)" (예컨대, 손실 패킷의 부분적 중복 카피를 포함하는 패킷) 이 디-지터 버퍼 (112) 에 있는지 여부를 결정하기 위해 디-지터 버퍼 (112) 를 폴링 (예컨대, 손실 패킷의 시퀀스 넘버로부터 1 만큼 오프셋된 시퀀스 넘버를 갖는 패킷에 대해 디-지터 버퍼 (112) 를 폴링) 할 수도 있다. 중복 패킷이 디-지터 버퍼 (112) 에 있는 경우에, 손실 패킷을 성공적으로 디코딩할 확률이 "1" 의 값을 갖는 오프셋 값 (166) 에 대해 증가한다. 중복 패킷이 디-지터 버퍼 (112) 에 있지 않은 경우에, 손실 패킷을 성공적으로 디코딩할 확률이 "1" 의 값을 갖는 오프셋 값 (166) 에 대해 감소한다. 예를 들어, 확률은, 손실 패킷이 검출될 때 디-지터 버퍼 (112) 에 중복성 패킷이 있는 횟수들의 수를 검출된 손실 패킷들의 수에 의해 나눈 것과 동일할 수도 있다.
특정 기간 후에 (또는 특정 수의 손실 패킷들을 디코딩하기를 시도한 후에), 디코더 (114) 는 오프셋 값 (166) 을 "2" 로 증분시키고 오프셋 값 (166) 을 인코더 (130) 로 송신할 수도 있다. 증분된 오프셋 값 (166) 에 기초하여, 인코더 (130) 는 특정 패킷으로부터 2 만큼 오프셋된 후속 패킷에서 특정 패킷에 대한 부분적 중복 카피를 제공할 수도 있다. 유사한 방식으로, 디코더 (114) 가 손실 패킷을 디코딩하기를 시도할 때, 디코더 (114) 는 디-지터 버퍼 (112) 에 손실 패킷의 중복성 패킷이 있는지 여부를 결정하기 위해 디-지터 버퍼 (112) 를 폴링할 수도 있다. 2 의 오프셋 값 (166) 에 대해 손실 패킷을 성공적으로 디코딩할 확률을 결정 시, 프로세스는 추가적인 오프셋 값들에 대해 반복될 수도 있다. 최적의 FEC 오프셋 값 (Xopt) 은 손실 패킷을 성공적으로 디코딩할 가장 큰 확률을 산출하는 오프셋 값 (166) 에 대응할 수도 있다.
상기 예는 오프셋 값 (166) 을 점증시키는 것에 대응하지만, 다른 구현들에서, 디코더 (114) 는 초기 값을 "최대 값" 으로 설정하고 오프셋 값 (166) 을 점감시킬 수도 있다. 비제한적 예로서, 디코더 (114) 는 오프셋 값 (166) 을 "20" 으로 설정하고, 오프셋 값 (166) 이 "20" 일 때에 대해 손실된 패킷을 성공적으로 디코딩할 확률을 결정하며, 오프셋 값 (166) 을 "19" 로 감소시키고, 반복할 수도 있다. 추가적으로, 비록 상기 예들은 오프셋 값 (166) 을 1 만큼 증가 (또는 감소) 시키는 것을 설명하지만, 다른 구현들에서, 오프셋 값 (166) 은 다른 값들만큼 증가 (또는 감소) 될 수도 있다. 비제한적 예로서, 오프셋 값 (166) 은 2, 3, 4, 5 등 만큼 증가 (또는 감소) 될 수도 있다.
도 4 를 참조하면, 손실 패킷 복원성을 향상시키기 위해 오프셋 값을 결정하기 위한 상태도 (400) 가 도시된다. 상태도 (400) 는 채널 특성들에 기초하여 최적의 FEC 오프셋 값 (Xopt) (예컨대, 오프셋 값 (166)) 을 선제적으로 (preemptively) 예측하기 위해 예측 모델 (예컨대, 은닉 마르코프 모델 (hidden Markov model) 또는 베이지안 네트워크 (Bayesian network)) 에 기초할 수도 있다.
상태도 (400) 는 제 1 모드 (모드 1) (402), 제 2 모드 (모드 2) (404), 제 3 모드 (모드 3) (406), 및 제 4 모드 (모드 4) (408) 를 포함할 수도 있다. 각 모드 (402-408) 는 채널 특성 (예컨대, 신호 강도, 셀 위치, 이동 특성 등) 에 대응할 수도 있다. 비제한적 예로서, 제 1 모드 (402) 는 "강한" 신호 강도를 갖는 채널에 대응할 수도 있고, 제 2 모드 (404) 는 "비교적 강한" 신호 강도를 갖는 채널에 대응할 수도 있으며, 제 3 모드 (406) 는 "비교적 약한" 신호 강도를 갖는 채널에 대응할 수도 있고, 제 4 모드 (408) 는 "약한" 신호 강도를 갖는 채널에 대응할 수도 있다.
다른 예로서, 각 모드 (402-408) 는 제 1 디바이스 (102) 의 한경에 대응할 수도 있다. 예시를 위해, 제 1 모드 (402) 는 제 1 디바이스 (102) 가 강한 신호 수신으로 외부 영역에 있을 때에 대응할 수도 있고, 제 4 모드 (408) 는 적당한 신호 강도 및 다중 신호 경로들 (예컨대, 지하) 을 갖는 영역에 대응할 수도 있다. 대안적으로, 또는 추가로, 각 모드 (402-408) 는 하나 이상의 셀 타워들에 대한 제 1 디바이스 (102) 의 위치에 대응할 수도 있다. 예를 들어, 제 1 모드 (402) 는 제 1 디바이스 (102) 가 셀 타워에 비교적 가까울 대에 대응할 수도 있고, 제 4 모드 (408) 는 제 1 디바이스 (102) 가 셀 타워 커버리지 사이에서 천이하고 있을 때에 대응할 수도 있다.
도 1 의 제 1 디바이스 (102) 가 제 1 모드 (402) 에서 동작하고 있는 경우에, 오프셋 값 (166) (예컨대, 최적의 FEC 오프셋 값 (Xopt)) 은 1 과 동일할 수도 있다. 예를 들어, 제 2 디바이스 (122) 는 다음 후속 패킷에서 특정 패킷의 부분적 중복 카피를 인코딩할 수도 있고, 특정 패킷이 손실되는 경우에 디-지터 버퍼 (112) 에 다음 후속 패킷이 저장되는 확률은 비교적 높다.
제 1 디바이스 (102) 는 미래 상태 (future state) (예컨대, 미래 모드) 및 그 미래 상태에 대응하는 오프셋 값 (166) 을 예측 (예컨대, 결정) 하기 위해 상태도 (400) 를 이용할 수도 있다. 비제한적 예로서, 제 1 디바이스 (102) 가 제 1 모드 (402) 에 있는 경우에, 제 1 디바이스 (102) 가 제 2 모드 (404) 로 천이할 60 퍼센트 확률이 존재할 수도 있다. 따라서, 제 1 디바이스 (102) 는 인코더 (130) 에 대해 오프셋에서의 변경을 나타내기 위해 제 2 디바이스 (122) 에 "2" 의 오프셋 값 (166) 을 전송할 수도 있다.
상태도 (400) 에서의 확률들 및 모드들은 예시적 목적들을 위한 것이고 제한하는 것으로 의도되지 않는다. 하나의 구현에 따르면, 확률들은 손실 패킷을 디코딩하기 위한 이전 시도들에 기초하여 동적으로 변경될 수도 있다. 도 4 의 상태도 (400) 에 의해 예시되는 바와 같은 상태 천이 모델을 이용하는 것은 손실 패킷을 디코딩할 확률을 증가시키기 위해 동작의 모드에 기초하여 오프셋 값 (166) 을 선제적으로 설정할 수도 있다. 비록 상태들이 구별되는 채널 조건들로서 기술되지만, 다른 구현들에서, 상태들은 대신에 최적의 오프셋 값들의 면에서 정의될 수도 있다. 예를 들어, 다양한 구별되는 채널 조건들은 각각 동일한 최적의 오프셋 값에 대응할 수도 있고, 따라서, 상태도 (400) 에서의 단일 상태에 대응할 것이다.
다시 도 1 을 참조하면, 송신기 (108) 는 대역내 (in-band) 시그널링 또는 대역외 (out-of-band) 시그널링을 이용하여 제 1 경로 (152) 를 통해 제 2 디바이스 (122) 의 수신기 (126) 에 오프셋 값 (166) 을 송신할 수도 있다. 예시를 위해, 송신기 (108) 는 제 1 역방향 채널 (152a) 을 통해 네트워크 (150) 에 오프셋 값 (166) 을 송신할 수도 있고, 수신기 (126) 는 제 2 순방향 채널 (152b) 을 통해 네트워크 (150) 로부터 오프셋 값 (166) 을 수신할 수도 있다.
대역 외 시그널링은 실시간 전송 프로토콜 (real-time transport protocol; RTP) 메시지와 같은 메커니즘을 이용하여 수행된다. 대역내 시그널링을 위해, 송신기 (108) 는 실시간 전송 프로토콜 (RTP) 페이로드 헤더의 코드 모드 요청 (code mode request; CMR) 필드를 이용하여 수신기 (126) 에 오프셋 값 (166) 을 송신할 수도 있다. 도 5 를 참조하면, 오프셋 값을 나타내는 CMR 필드를 갖는 RTP 페이로드 헤더 (500) 가 도시된다. RTP 페이로드 헤더 (500) 는, 대역내 시그널링을 이용하는 등에 의해, 제 2 디바이스 (122) 에 도 1 의 오프셋 값 (166) 을 송신하기 위해 사용될 수도 있다. RTP 페이로드 헤더 (500) 는 제 1 필드 ("F"), 제 2 필드 ("M"), 제 3 필드 ("R"), 제 4 필드 ("C"), 프레임 타입 인덱스 필드 ("FT"), 및 요청 필드들 ("REQ") 을 포함할 수도 있다.
제 1 필드 ("F") 는 1-비트 필드일 수도 있다. 제 1 필드 ("F") 가 "1" 로 설정되는 경우에, 제 1 필드 ("F") 는 현재 프레임 뒤에 페이로드에서의 다른 스피치 프레임이 뒤따르는 것을 나타낸다. 따라서, 다른 RTP 헤더 엔트리가 현재의 엔트리를 뒤따를 수도 있다. 제 1 필드 ("F") 가 "0" 으로 설정되는 경우에, 제 1 필드 ("F") 는 현재 프레임이 페이로드에서 마지막 프레임이고 추가적인 헤더 엔트리가 현재 엔트리에 뒤따르지 않는 것을 나타낸다.
제 2 필드 ("M") 는 1-비트 필드일 수도 있다. 제 2 필드 ("M") 가 "0" 으로 설정되는 경우에, 제 2 필드 ("M") 는, 현재 프레임이 EVS (Enhanced Voice Services) 코더/디코더 (CODEC) 모드의 스피치 프레임이라는 것을 나타낸다. 제 2 필드 ("M") 가 "1" 로 설정되는 경우에, 제 2 필드 ("M") 는 현재 프레임이 AMR-WB (Adaptive Multi-Rate 광대역) 모드의 스피치 프레임이라는 것을 나타낸다.
제 3 필드 ("R") 는 1-비트 필드일 수도 있다. 제 3 필드 ("R") 가 "0" 으로 설정되는 경우에, RTP 페이로드 헤더 (500) 의 사이즈는 1 바이트이고, 요청 필드들 ("REQ") 이 뒤따르지 않는다. 제 3 필드 ("R") 가 "1" 로 설정되는 경우에, RTP 페이로드 헤더 (500) 의 사이즈는 2 바이트이고, 전송자로부터 특정 모드들 또는 피처들을 요청하기 위해 요청 필드들 ("REQ") 가 사용될 수도 있다.
제 4 필드 ("C") 는 1-비트 필드일 수도 있다. 제 4 필드 ("C") 가 "0" 으로 설정되는 경우에, 제 4 필드 ("C") 는 단일-채널 동작 모드들 (예컨대, 모노 동작 모드들) 의 사용을 나타낸다. 제 4 필드 ("C") 가 "1" 로 설정되는 경우에, 제 4 필드 ("C") 는 듀얼-채널 동작 모드들 (예컨대, 스테레오 동작 모드들) 의 사용을 나타낸다.
프레임 타입 인덱스 필드 ("FT") 는 4-비트 필드일 수도 있다. 제 2 필드 ("M") 가 "0" 으로 설정되고 제 4 필드 ("C") 가 "0" 으로 설정되는 경우에, 프레임 타입 인덱스 필드 ("FT") 는, 표 1 에 따라, 비트 레이트를 나타낼 수도 있다.
프레임 타입 인덱스 비트 레이트
0000 2.0 kbps
0001 2.8 kbps
0010 4.0 kbps
0011 5.6 kbps
0100 7.2 kbps
0101 8.0 kbps
0110 9.6 kbps
0111 13.2 kbps
1000 16.4 kbps
1001 24.4 kbps
1010 32.0 kbps
1011 48.0 kbps
1100 64.0 kbps
1101 96.0 kbps
1110 128.0 kbps
1111 예비
표 1: 프레임 타입 인덱스에 대한 비트 레이트
요청 필드들 ("REQ") 은 (제 3 필드 ("R") 가 "1" 로 설정될 때) 제 5 필드 ("X"), 제 6 필드 ("C"), 및 CMR 필드를 포함한다. 제 5 필드 ("X") 는 1-비트 필드일 수도 있다. 제 5 필드 ("X") 가 "1" 로 설정될 때, 제 5 필드 ("X") 는 현재 엔트리 바로 다음에 CMR 을 나타내기 위한 비트들이 뒤따름을 나타낸다. 예를 들어, 제 6 필드 ("C") 는 예비적으로 준비될 수도 있고, CMR 필드는 표 2 에 따라 요청된 대역폭, CODEC 타입, 및 비트 레이트를 나타내는 6-비트 필드일 수도 있다.
CMR 필드 요청된 대역폭 코덱 비트레이트 (kb/s)
0 예비
1 협대역 EVS 네이티브 5.9
2 협대역 EVS 네이티브 7.2
3 협대역 EVS 네이티브 8.0
4 협대역 EVS 네이티브 9.6
5 협대역 EVS 네이티브 13.2
6 광대역 EVS 네이티브 5.9
7 광대역 EVS 네이티브 7.2
8 광대역 EVS 네이티브 8
9 광대역 EVS 네이티브 9.6
10 광대역 EVS 네이티브 13.2
11 광대역 EVS 네이티브 16.4
12 광대역 EVS 네이티브 24.4
13 광대역 EVS 네이티브 32
14 광대역 EVS 네이티브 48
15 광대역 EVS 네이티브 64
16 광대역 EVS 네이티브 96
17 광대역 EVS 네이티브 128
18 광대역 AMR-WB IO 6.6
19 광대역 AMR-WB IO 8.85
20 광대역 AMR-WB IO 12.65
21 광대역 AMR-WB IO 14.85
22 광대역 AMR-WB IO 15.85
23 광대역 AMR-WB IO 18.85
24 광대역 AMR-WB IO 19.85
25 광대역 AMR-WB IO 23.05
26 광대역 AMR-WB IO 23.85
27 수퍼광대역 EVS 네이티브 13.2
28 수퍼광대역 EVS 네이티브 16.4
29 수퍼광대역 EVS 네이티브 24.4
30 수퍼광대역 EVS 네이티브 32
31 수퍼광대역 EVS 네이티브 48
32 수퍼광대역 EVS 네이티브 64
33 수퍼광대역 EVS 네이티브 96
34 수퍼광대역 EVS 네이티브 128
35 풀밴드 EVS 네이티브 24.4
36 풀밴드 EVS 네이티브 32
37 풀밴드 EVS 네이티브 48
38 풀밴드 EVS 네이티브 64
39 풀밴드 EVS 네이티브 96
40 풀밴드 EVS 네이티브 128
41-63 예비
표 2: 제 5 필드 ("X") 가 "1" 로 설정될 때 CMR 에 대한 정보
제 5 필드 ("X") 가 "0" 으로 설정되는 경우에, 부분적 중복이 요청되고, 현재 엔트리 바로 뒤에 부분적 중복 모드의 구성을 나타내기 위한 비트들이 뒤따른다. 예를 들어, 필드 ("C") 는 CMR 필드의 제 1 비트에 대응할 수도 있고, CMR 필드는 7-비트 필드일 수도 있다. CMR 필드의 처음 2 비트들은 광대역 (wideband) 대역폭 및 수퍼 광대역 대역폭에서 저 비트 레이트 채널 모드 또는 고 비트 레이트 채널 모드를 요청하기 위해 사용될 수도 있다. CMR 필드의 나머지 5 비트들은, 부분적 중복 (예컨대, 제 1 패킷 데이터의 부분적 카피) 이 저장되는, 현재 프레임 (예컨대, 제 1 패킷 (160)) 에 대한 도 1 의 오프셋 값 (166) (예컨대, 최적의 FEC 오프셋 값 (Xopt)) 을 요청하기 위해 사용될 수도 있다.
다시 도 1 을 참조하면, 제 2 디바이스 (122) 의 수신기 (126) 는 오프셋 값 (166) 을 수신하고, 오프셋 값 (166) 을 인코더 (130) 에 제공할 수도 있다. 오프셋 값 (166) 의 수신 시 (예컨대, 도 4 와 관련하여 설명된 바와 같이 최적의 FEC 오프셋 값 (Xopt) 및 부분적 중복 요청의 수신 시), 제 2 디바이스 (122) 는 제 2 경로 (154) 를 통해 제 1 디바이스 (102) 에 확인응답 (acknowledgment) (168) 을 전송할 수도 있다. 예를 들어, 인코더 (130) 가 오프셋 값 (166) 을 수신할 때, 인코더 (130) (또는 다른 프로세서) 는 확인응답 (168) 을 생성할 수도 있고, 송신기 (128) 는 확인응답 (168) 을 제 2 역방향 채널 (154a) 을 통해 네트워크 (150) 에 송신할 수도 있다. 하나의 구현에 따르면, 확인응답을 시그널링하기 위한 전용 메시지를 전송하는 것에 추가하여 또는 대신에 제 2 디바이스 (122) 로부터 제 1 디바이스 (102) 로 송신된 부분적 중복 데이터를 포함하는 하나 이상의 패킷들이 확인응답 (168) 을 포함할 수도 있다. 예를 들어, 확인응답 (168) 은 하나 이상의 페이로드 비트들을 이용하여 표시될 수도 있고, 확인응답 (168) 은 하나 이상의 "워터마크 (watermark)" 비트들을 이용하여 표시될 수도 있고, 또는, 패킷은 확인응답 (168) 을 포함하는 헤더를 포함할 수도 있다. 이러한 확인응답은, 나중에 전송된 (later-sent) 패킷에 더일찍 전송된 (earlier-sent) 패킷의 중복 데이터를 부가할 때 인코더 (130) 에 의해 사용되는 오프셋 값 (166) 의 표시로서 제공될 수도 있다. 디코더 (114) 는, 인코다 (130) 가 요청된 값을 이용하고 있는 것을 검증하기 위해, 오프셋 값 (166) 을 판독하고 오프셋 값 (166) 을 요청된 값에 대해 비교할 수도 있다. 수신기 (106) 는 제 1 순방향 채널 (154b) 을 통해 네트워크 (150) 로부터 확인응답 (168) 을 수신할 수도 있다.
수신기 (106) 에서 확인응답 (168) 을 수신 시, 디코더 (114) 는 손실 패킷의 정확한 부분적 카피를 발견하기 위해 그 확인응답 (168) 을 이용할 수도 있다. 예를 들어, 확인응답 (168) 은 최적의 FEC 오프셋 값 (Xopt) 의 표시를 포함할 수도 있다. 표시를 수신한 후에, 디코더 (114) 는 손실 패킷의 정확한 부분적 카피를 발견하기 위해 최적의 FEC 오프셋 값 (Xopt) 만큼 손실 패킷의 시퀀스 넘버로부터 오프셋된 시퀀스 넘버를 갖는 패킷에 대해 디-지터 버퍼 (112) 를 폴링할 수도 있다.
제 2 디바이스 (122) 는 또한, 부분적 중복을 포함하는 프레임에서 오프셋 값 (166) 을 포함함으로써 오프셋 값 (166) 의 수신을 확인응답할 수도 있다. 따라서, 오프셋 값 (166) 은, 디-지터 버퍼 (112) 에서의 어느 미래 프레임이 현재 손실 프레임의 부분적 중복 카피를 포함하는지를 결정하는 모호성의 가능성을 감소시키기 위해 부분적 중복을 갖는 각 프레임에서 표시될 수도 있다. 예를 들어, FEC 오프셋 값은 부분적 중복을 운반하는 프레임에서 배타적 비트들로서 반송될 수도 있다. 다른 예로서, FEC 오프셋 값은 "워터마크" 로서 비트 스트림 내로 입력될 수도 있다 (예컨대, 부분적 중복을 운반하는 패킷의 페이로드 내로 워터마킹될 수도 있다). 부분적 중복을 포함하는 각 프레임이 또한 오프셋 값 (166) 을 나타내는 구현들에 따르면, 디코더 (114) 는 임의의 프레임이 손실 패킷에 대응하는지 여부를 결정하기 위해 디-지터 버퍼 (112) 에서 각 프레임에 대해 오프셋 값 (166) 의 표시를 판독할 수도 있다.
도 1 의 시스템 (100) 은 에러 정정 데이터 (예컨대, 손실 패킷의 부분적 카피) 를 취출하는 가능성을 증가시킴으로써 스피치 디코딩 동작들을 개선할 수도 있다. 예를 들어, 디코더 (114) 는 손실 패킷을 디코딩하기 위한 시도 동안 디-지터 버퍼 (112) 에 있는 후속 패킷의 오프셋 값 (166) (예컨대, 최적의 FEC 오프셋 값 (Xopt)) 을 결정할 수도 있다. 제 2 디바이스가 오프셋 값 (166) 만큼 이격된 후속 패킷에서 각각의 송신된 패킷에 대한 에러 정정 데이터를 제공하도록 오프셋 값 (166) 이 제 2 디바이스 (122) 에 송신될 수도 있다. 따라서, (손실 패킷에 대한 에러 정정 데이터를 갖는) 후속 패킷이 그 손실 패킷을 디코딩하기 위한 시도 동안 디-지터 버퍼 (112) 에 있을 가능성이 증가하고, 이는 디코더 (114) 로 하여금 디-지터 버퍼 (112) 로부터 에러 정정 데이터 (예컨대, 손실 패킷의 부분적 카피) 를 취출하는 것이 가능하게 할 수도 있다.
도 6 을 참조하면, 손실 패킷의 부분적 중복 정보를 취출하기 위해 오프셋 값을 결정하는 방법 (600) 이 도시된다. 방법 (600) 은 도 1 의 제 1 디바이스 (102), 도 1 의 제 2 디바이스 (122), 또는 이들의 임의의 조합 내의 컴포넌트들에 의해 수행될 수도 있다.
방법 (600) 은, 602 에서, 제 1 디바이스의 디코더에서, 제 1 특정 패킷과 제 2 특정 패킷 사이의 오프셋에 대응하는 오프셋 값을 결정하는 것을 포함하고, 특정 패킷은 디-지터 버퍼에 있다. 예를 들어, 디코더 (114) 는 디-지터 버퍼 (112) 에 의해 수신된 패킷들의 통계적 측정에 기초하여 오프셋 값 (166) (예컨대, 최적의 FEC 오프셋 값 (Xopt)) 을 결정할 수도 있다.
비제한적 예로서, 디코더 (114) 는 디-지터 버퍼 (112) 에 저장된 각각의 패킷과 제 1 패킷 (160) (예컨대, 손실 패킷) 사이의 오프셋 값들을 결정할 수도 있다. 추가적으로, 디코더 (114) 는 디-지터 버퍼 (112) 에 저장되고 있는 패킷들과 연관된 확률 오프셋 값들을 결정하기 위해, 식 1 에서 표현된 바와 같이, 확률 질량 함수
Figure 112017007327090-pct00008
를 적용할 수도 있다. 디코더 (114) 는 손실 패킷들의 발생 시에 디-지터 버퍼 (112) 에 있는 패킷들의 오프셋 값들의 이력에 기초하여 특정 오프셋 값을 결정할 수도 있다.
다른 비제한적 예로서, 디코더 (114) 는, 제 1 패킷 (160) 이 손실될 때, 오프셋 값 (166) 을 제 1 값으로 설정하고, 디-지터 버퍼 (112) 에 저장되어 있는 특정 패킷 (제 1 패킷 (160) 의 부분적 중복 카피를 포함하는 패킷) 의 제 1 확률을 결정할 수도 있다. 디코더 (114) 는, 제 1 패킷 (160) 이 손실될 때, 오프셋 값 (166) 을 제 2 값으로 조정 (예컨대, 증가 또는 감소) 하고, 디-지터 버퍼 (112) 에 저장되어 있는 특정 패킷의 제 2 확률을 결정할 수도 있다. 오프셋 값 (166) 은 다수의 시도 오프셋 값들에 기초하여 최대 결정된 확률을 갖는 값으로 설정될 수도 있다. 예를 들어, 오프셋 값 (166) 은, 제 1 확률이 제 2 확률보다 더 큰 경우에, 제 1 값과 동일할 수도 있고, 오프셋 값 (166) 은, 제 2 확률이 제 1 확률보다 더 큰 경우에, 제 2 값과 동일할 수도 있다. 또 다른 비제한적 예로서, 디코더 (114) 는, 도 4 를 참조하여 설명된 바와 같이, 예측 모델 (예컨대, 은닉 마르코프 모델 또는 베이지안 네트워크) 및 제 1 디바이스 (102) 와 제 2 디바이스 (122) 사이의 채널 특성들을 이용하여 오프셋 값 (166) 을 예측할 수도 있다.
506 에서, 오프셋 값은 제 2 디바이스에 송신되어, 제 2 디바이스로 하여금 그 오프셋 값에 기초하여 패킷들을 제 1 디바이스에 전송하는 것을 가능하게 할 수도 있다. 예를 들어, 도 1 을 참조하면, 송신기 (108) 는 오프셋 값 (166) 을 제 1 경로 (152) 를 통해 제 2 디바이스 (122) 의 수신기 (126) 에 송신할 수도 있고, 수신기 (126) 는 오프셋 값 (166) 을 인코더 (130) 에 제공할 수도 있다. 예시를 위해, 송신기 (108) 는 오프셋 값 (166) 을 제 1 역방향 채널 (152a) 을 통해 네트워크 (150) 에 송신할 수도 있고, 수신기 (126) 는 오프셋 값 (166) 을 제 2 순방향 채널 (152b) 을 통해 네트워크 (150) 로부터 수신할 수도 있다. 오프셋 값 (166) 은 제 2 디바이스 (122) 의 인코더 (130) 로 하여금, 오프셋 값 (166) 에 기초하여 나중에 전송된 패킷이 더일찍 전송된 패킷의 에러 정정 데이터를 포함하도록, 패킷들을 구성하도록 지시한다. 에러 정정 데이터는 더일찍 전송된 패킷의 카피 또는 더일찍 전송된 패킷의 부분적 카피를 포함할 수도 있다.
도 6 의 방법 (600) 은 에러 정정 데이터 (예컨대, 손실 패킷의 부분적 카피) 를 취출하는 가능성을 증가시킴으로써 스피치 디코딩 동작들을 개선할 수도 있다. 예를 들어, 디코더 (114) 는 손실 패킷을 디코딩하기 위한 시도 동안 디-지터 버퍼 (112) 에 있는 후속 패킷의 오프셋 값 (166) (예컨대, 최적의 FEC 오프셋 값 (Xopt)) 을 결정할 수도 있다. 오프셋 값 (166) 은 제 2 디바이스 (122) 에 송신되어, 제 2 디바이스 (122) 가 오프셋 값 (166) 만큼 이격된 후속 패킷에서 각각의 송신된 패킷에 대한 에러 정정 데이터를 제공하도록 할 수도 있다. 따라서, (손실 패킷에 대한 에러 정정 데이터를 갖는) 후속 패킷이 디-지터 버퍼 (112) 에 있는 확률이 증가하고, 이는, 디코더 (114) 가 디-지터 버퍼 (112) 로부터 에러 정정 데이터 (예컨대, 손실 패킷의 부분적 카피) 를 취출하는 것을 가능하게 할 수도 있다.
도 6 의 방법 (600) 은, 필드-프로그래밍가능 게이트 어레이 (FPGA) 디바이스, 애플리케이션-특정 집적 회로 (ASIC), 중앙 처리 유닛 (CPU) 과 같은 프로세싱 유닛, 디지털 신호 프로세서 (DSP), 제어기, 다른 하드웨어 디바이스, 펌웨어 디바이스, 또는 이들의 임의의 조합에 의해 구현될 수도 있다. 일 예로서, 도 6 의 방법 (600) 은, 도 7 을 참조하여 설명되는 바와 같이, 명령들을 실행하는 프로세서에 의해 수행될 수도 있다.
도 7 을 참조하면, 손실 패킷의 부분적 중복 정보를 취출하기 위해 오프셋 값을 결정하도록 동작가능한 디바이스 (700) (예컨대, 무선 통신 디바이스) 가 도시된다. 다른 구현들에서, 디바이스 (700) 는 도 7 에 예시된 것보다 더 많거나 더 적은 컴포넌트들을 가질 수도 있다. 디바이스 (700) 는 도 1 의 제 1 디바이스 (102), 도 1 의 제 2 디바이스 (122), 또는 양자 모두에 대응할 수도 있다. 디바이스 (700) 는 도 6 의 방법 (600) 에 따라 동작할 수도 있다.
디바이스 (700) 는 프로세서 (706) (예컨대, CPU) 를 포함한다. 디바이스 (700) 는 하나 이상의 추가적인 프로세서들 (710) (예컨대, 하나 이상의 DSP들) 을 포함할 수도 있다. 프로세서들 (710) 은 제 1 스피치 보코더 (104) 를 포함할 수도 있다. 대안적인 구현에서, 제 1 스피치 보코더 (104) 는 CPU (예컨대, 프로세서 (706)) 와 같은, 상이한 타입의 프로세서에 포함될 수도 있다.
디바이스 (700) 는 메모리 (752) 및 CODEC (734) 을 포함할 수도 있다. 메모리 (752) 는 프로세서 (710) 에 의해 실행되는 명령들 (756) 을 포함할 수도 있다. 디바이스 (700) 는 트랜시버 (750) 를 통해 안테나 (742) 에 커플링된 무선 제어기 (740) 를 포함할 수도 있다. 트랜시버 (750) 는 도 1 의 수신기 (106), 송신기 (108), 또는 양자 모두를 포함할 수도 있다.
디바이스 (700) 는 디스플레이 제어기 (726) 에 커플링된 디스플레이 (728) 를 포함할 수도 있다. 디바이스 (700) 는 또한, 코덱 (734) 에 커플링된 마이크로폰 (746) 및 스피커 (748) 를 포함할 수도 있다. 코덱 (734) 은 디지털-대-아날로그 변환기 (702) 및 아날로그-대-디지털 변환기 (704) 를 포함할 수도 있다. 코덱 (734) 은, 마이크로폰 (746) 으로부터 아날로그 신호들을 수신하고, 아날로그-대-디지털 변환기 (704) 를 이용하여 아날로그 신호들을 디지털 신호들로 변환하며, 디지털 신호들을 제 1 스피치 보코더 (104) 에 제공할 수도 있다. 제 1 스피치 보코더 (104) 는 디지털 신호들을 프로세싱할 수도 있다. 제 1 스피치 보코더 (104) 는 코덱 (734) 에 디지털 신호들을 제공할 수도 있다. 코덱 (734) 은 디지털-대-아날로그 변환기 (702) 를 이용하여 디지털 신호들을 아날로그 신호들로 변환할 수도 있고, 아날로그 신호들을 스피커 (748) 에 제공할 수도 있다. 코덱 (734) 은 이득 제어 및 파라미터 조정과 같은 기능들을 수행하는 오디오 프로세싱을 위한 아날로그 프론트-엔드를 나타낸다.
제 1 스피치 보코더 (104) 는 인코더 (110), 디-지터 버퍼 (112), 및 디코더 (114) 를 포함할 수도 있다. 디코더 (114) 및 디-지터 버퍼 (112) 는 본 명세서에서 설명된 바와 같이 오프셋 결정 기법들을 수행하는 하드웨어를 구현하기 위해 사용될 수도 있다. 대안적으로, 또는 추가적으로, 소프트웨어 구현 (또는 결합된 소프트웨어/하드웨어 구현) 이 사용될 수도 있다. 예를 들어, 메모리 (752) 는 도 6 의 방법 (600) 을 수행하기 위해 디바이스 (700) 의 프로세서들 (710) 또는 다른 프로세싱 유닛 (예컨대, 프로세서 (706), 코덱 (734), 또는 양자) 에 의해 실행가능한 명령들 (756) 을 포함할 수도 있다.
디바이스 (700) 는 시스템-인-패키지 또는 시스템-온-칩 디바이스 (722) 에 포함될 수도 있다. 메모리 (752), 프로세서 (706), 프로세서들 (710), 디스플레이 제어기 (726), 코덱 (734), 및 무선 제어기 (740) 는 시스템-인-패키지 또는 시스템-온-칩 디바이스 (722) 에 포함될 수도 있다. 입력 디바이스 (730) 및 전력 공급기 (744) 는 시스템-온-칩 디바이스 (722) 에 커플링될 수도 있다. 더욱이, 도 7 에서 예시된 바와 같이, 디스플레이 (728), 입력 디바이스 (730), 스피커 (748), 마이크로폰 (746), 안테나 (742), 및 전력 공급기 (744) 는 시스템-온-칩 디바이스 (722) 의 외부에 있을 수도 있다. 디스플레이 (728), 입력 디바이스 (730), 스피커 (748), 마이크로폰 (746), 안테나 (742), 및 전력 공급기 (744) 의 각각은, 인터페이스 또는 제어기와 같은, 시스템-온-칩 디바이스 (722) 의 컴포넌트들에 커플링될 수도 있다.
디바이스 (700) 는, 모바일 통신 디바이스, 스마트 폰, 셀룰러 폰, 랩탑 컴퓨터, 컴퓨터, 태블릿, PDA, 디스플레이 디바이스, 텔레비전, 게이밍 콘솔, 뮤직 플레이어, 라디오, 디지털 비디오 플레이어, DVD 플레이어, 튜너, 카메라, 내비게이션 디바이스, 또는 이들의 조합을 포함할 수도 있다.
설명된 구현들과 함께, 디바이스는, 제 1 특정 패킷과 제 2 특정 패킷 사이의 오프셋에 대응하는 오프셋 값을 결정하기 위한 수단을 포함할 수도 있고, 특정 패킷은 디-지터 버퍼에 있다. 오프셋 값은 디-지터 버퍼에 의해 수신된 패킷들의 통계적 측정에 기초하여 결정될 수도 있다. 예를 들어, 특정 오프셋을 결정하는 수단은, 도 1 및 도 7 의 디코더 (114), 도 1 의 디코더 (134), 도 7 의 프로세서 (706), 도 7 의 프로세서 (710), 도 7 의 코덱 (734), 또는 이들의 임의의 조합을 포함할 수도 있다.
디바이스는 또한, 오프셋 값에 기초하여 제 2 디바이스가 그 디바이스에 패킷들을 전송하는 것을 가능하게 하기 위해 제 2 디바이스에 오프셋 값을 송신하기 위한 수단을 포함할 수도 있다. 디바이스는 순방향 채널을 통해 패킷들을 수신할 수도 있다. 예를 들어, 송신하기 위한 수단은 도 1 및 도 7 의 송신기 (108), 도 1 의 송신기 (128), 도 7 의 트랜시버 (750), 또는 이들의 임의의 조합을 포함할 수도 있다.
통상의 기술자는, 여기에 개시된 실시형태들과 관련하여 설명되는 다양한 예시적인 논리 블록들, 구성들, 모듈들, 회로들, 및 알고리즘 단계들이 전자적 하드웨어, 프로세서에 의해 실행되는 컴퓨터 소프트웨어, 또는 양자의 조합들로 구현될 수도 있다는 것을 추가로 이해할 것이다. 다양한 예시적인 컴포넌트들, 블록들, 구성들, 모듈들, 회로들, 및 단계들은 일반적으로 그들의 기능성의 측면에서 위에서 설명되었다. 이러한 기능성이 하드웨어 또는 프로세서 실행가능 명령들로서 구현되는지 여부는 전체 시스템에 부과되는 설계 제약들 및 특정 애플리케이션에 의존한다. 통상의 기술자는 설명된 기능성을 각 특정 애플리케이션에 대하여 다양한 방식으로 구현할 수도 있지만, 이러한 구현 결정들은 본 개시의 범위로부터의 일탈을 야기하는 것으로 해석되어서는 안된다.
여기에 개시된 실시형태들에 관련하여 설명된 방법 또는 알고리즘의 단계들은 직접 하드웨어로, 프로세서에 의해 실행되는 소프트웨어 모듈로, 또는 이 둘의 조합으로 구현될 수도 있다. 소프트웨어 모듈은 RAM (random-access memory), 플래시 메모리, ROM (read-only memory), 프로그래밍가능 ROM (PROM), 소거가능 프로그래밍가능 ROM (EPROM), 전기적 소거가능 프로그래밍가능 ROM (EEPROM), 레지스터들, 하드 디스크, 착탈식 디스크, CD-ROM (compact disc read-only memory), 또는 이 기술분야에서 알려진 임의의 다른 형태의 비-일시적 저장 매체에 상주할 수도 있다. 예시적인 저장 매체는 프로세서에 커플링되어서 그 프로세서가 저장 매체로부터 정보를 판독할 수도 있고 그 저장 매체에 정보를 기입할 수도 있다. 대안적으로, 저장 매체는 프로세서에 통합될 수도 있다. 프로세서와 저장 매체는 ASIC 에 상주할 수도 있다. ASIC 은 컴퓨팅 디바이스 또는 사용자 단말기에 상주할 수도 있다. 대안적으로, 프로세서와 저장 매체는 컴퓨팅 디바이스 또는 사용자 단말기에 개별 컴포넌트들로서 상주할 수도 있다.
개시된 양태들의 전술한 설명은 통상의 기술자가 개시된 양태들을 실시하고 사용할 수 있게 하도록 제공된다. 이들 양태들에 대한 다양한 변형들은 통상의 기술자에게 자명할 것이고, 본원에서 정의된 원리들은 본 개시의 범위로부터 벗어남 없이 다른 양태들에 적용될 수도 있다. 따라서, 본 개시는 본원에 나타낸 양태들로 제한되도록 의도되지 아니하며, 이하의 청구항들에 의해 정의된 바와 같은 원리들 및 신규한 특징들과 일치하는 가능한 가장 넓은 범위에 부합된다.

Claims (48)

  1. 제 1 디바이스의 디코더에서, 제 1 특정 패킷과 제 2 특정 패킷 사이의 오프셋에 대응하는 오프셋 값을 결정하는 단계로서, 상기 제 1 디바이스는 디-지터 버퍼를 포함하는, 상기 오프셋 값을 결정하는 단계; 및
    상기 오프셋 값을 제 2 디바이스에 송신하여 상기 제 2 디바이스로 하여금 상기 오프셋 값에 기초하여 상기 제 1 디바이스에 패킷들을 전송하는 것을 가능하게 하는 단계로서, 상기 오프셋 값은 대역 내 시그널링 또는 대역 외 시그널링을 이용하여 역방향 채널을 통해 송신되는, 상기 오프셋 값을 제 2 디바이스에 송신하여 상기 제 2 디바이스로 하여금 상기 오프셋 값에 기초하여 상기 제 1 디바이스에 패킷들을 전송하는 것을 가능하게 하는 단계를 포함하고,
    상기 오프셋 값을 송신하기 위해 대역 내 시그널링이 사용되는 경우에, 상기 오프셋 값은 실시간 전송 프로토콜 (real-time transport protocol; RTP) 페이로드 헤더의 코드 모드 요청 (code mode request; CMR) 필드를 이용하여 송신되는, 방법.
  2. 제 1 항에 있어서,
    상기 오프셋 값에 기초하여, 상기 제 2 디바이스는, 상기 오프셋 값에 기초하여 나중에 전송된 패킷이 더일찍 전송된 패킷의 에러 정정 데이터를 포함하도록, 상기 패킷들을 구성하는, 방법.
  3. 제 2 항에 있어서,
    상기 에러 정정 데이터는 상기 더일찍 전송된 패킷의 부분적 카피를 포함하는, 방법.
  4. 제 1 항에 있어서,
    상기 제 1 디바이스의 상기 디코더에서, 상기 제 2 디바이스에 의한 상기 오프셋 값의 수신의 확인응답을 수신하는 단계를 더 포함하는, 방법.
  5. 제 4 항에 있어서,
    상기 수신의 확인응답은, 상기 제 2 디바이스로부터 수신된 부분적 중복 데이터를 포함하는 하나 이상의 패킷들에 포함되는, 방법.
  6. 제 4 항에 있어서,
    상기 제 2 디바이스로부터 수신된 패킷의 하나 이상의 페이로드 비트들은 상기 수신의 확인응답을 포함하는, 방법.
  7. 제 4 항에 있어서,
    상기 제 2 디바이스로부터 수신된 패킷의 하나 이상의 워터마크 비트들은 상기 수신의 확인응답을 포함하는, 방법.
  8. 제 4 항에 있어서,
    상기 제 2 디바이스로부터 수신된 패킷의 헤더는 상기 수신의 확인응답을 포함하는, 방법.
  9. 제 4 항에 있어서,
    상기 수신의 확인응답은 상기 오프셋 값의 표시로서 제공되는, 방법.
  10. 제 1 항에 있어서,
    상기 오프셋 값은 순방향 에러 정정 (forward error correction; FEC) 오프셋 값에 대응하는, 방법.
  11. 제 1 항에 있어서,
    순방향 채널을 통해 상기 패킷들을 수신하는 단계를 더 포함하는, 방법.
  12. 제 1 항에 있어서,
    상기 디코더는 스피치 보코더에 포함되는, 방법.
  13. 제 1 항에 있어서,
    상기 오프셋 값은 상기 디-지터 버퍼에 의해 수신된 패킷들의 통계적 측정에 기초하여 결정되는, 방법.
  14. 제 1 항에 있어서,
    상기 오프셋 값을 결정하는 단계는,
    상기 제 1 특정 패킷과 상기 디-지터 버퍼에 저장된 각 패킷 사이의 오프셋 값들을 결정하는 것; 및
    손실된 패킷과 연관된 오프셋 값들을 갖는 패킷들을 포함하는 상기 디-지터 버퍼의 확률을 결정하기 위해 디-지터 버퍼 콘텐츠들의 이력에 기초하여 확률 질량 함수를 결정하는 것
    에 의해, 특정 오프셋 값을 결정하는 단계를 포함하고,
    상기 특정 오프셋 값은 상기 확률 질량 함수에 기초하는, 방법.
  15. 제 1 항에 있어서,
    상기 오프셋 값을 나타내기 위해 상기 제 2 디바이스에 송신되는 패킷에 2 비트들이 할당되는, 방법.
  16. 제 15 항에 있어서,
    상기 2 비트들은 상기 오프셋 값이 2, 3, 5, 또는 7 과 동일한 것을 나타내는, 방법.
  17. 디바이스로서,
    하나 이상의 패킷들을 저장하도록 구성된 디-지터 버퍼;
    제 1 특정 패킷과 제 2 특정 패킷 사이의 오프셋에 대응하는 오프셋 값을 결정하도록 구성된 디코더; 및
    상기 오프셋 값을 제 2 디바이스에 송신하여 상기 제 2 디바이스로 하여금 상기 오프셋 값에 기초하여 상기 디바이스에 패킷들을 전송하는 것을 가능하게 하도록 구성된 송신기로서, 상기 오프셋 값은 대역 내 시그널링 또는 대역 외 시그널링을 이용하여 역방향 채널을 통해 송신되는, 상기 송신기를 포함하고,
    상기 오프셋 값을 송신하기 위해 대역 내 시그널링이 사용되는 경우에, 상기 오프셋 값은 실시간 전송 프로토콜 (real-time transport protocol; RTP) 페이로드 헤더의 코드 모드 요청 (code mode request; CMR) 필드를 이용하여 송신되는, 디바이스.
  18. 제 17 항에 있어서,
    상기 오프셋 값에 기초하여, 상기 제 2 디바이스는, 상기 오프셋 값에 기초하여 나중에 전송된 패킷이 더일찍 전송된 패킷의 에러 정정 데이터를 포함하도록, 상기 패킷들을 구성하는, 디바이스.
  19. 제 18 항에 있어서,
    상기 에러 정정 데이터는 상기 더일찍 전송된 패킷의 부분적 카피를 포함하는, 디바이스.
  20. 제 17 항에 있어서,
    상기 디코더는, 상기 제 2 디바이스로부터 상기 오프셋 값의 수신의 확인응답을 수신하도록 더 구성되는, 디바이스.
  21. 제 20 항에 있어서,
    상기 수신의 확인응답은, 상기 제 2 디바이스로부터 수신되고 부분적 중복 데이터를 포함하는 하나 이상의 패킷들에 포함되는, 디바이스.
  22. 제 17 항에 있어서,
    상기 오프셋 값은 상기 디-지터 버퍼에 의해 수신된 패킷들의 통계적 측정에 기초하여 결정되는, 디바이스.
  23. 제 17 항에 있어서,
    상기 오프셋 값은 순방향 에러 정정 (forward error correction; FEC) 오프셋 값에 대응하는, 디바이스.
  24. 제 17 항에 있어서,
    상기 오프셋 값을 결정하는 것은,
    상기 제 1 특정 패킷과 상기 디-지터 버퍼에 저장된 각 패킷 사이의 오프셋 값들을 결정하는 것; 및
    손실된 패킷과 연관된 오프셋 값들을 갖는 패킷들을 포함하는 상기 디-지터 버퍼의 확률을 결정하기 위해 디-지터 버퍼 콘텐츠들의 이력에 기초하여 확률 질량 함수를 결정하는 것
    에 의해, 특정 오프셋 값을 결정하는 것을 포함하고,
    상기 특정 오프셋 값은 상기 확률 질량 함수에 기초하는, 디바이스.
  25. 제 17 항에 있어서,
    상기 오프셋 값을 나타내기 위해 상기 제 2 디바이스에 송신되는 패킷에 2 비트들이 할당되는, 디바이스.
  26. 제 25 항에 있어서,
    상기 2 비트들은 상기 오프셋 값이 2, 3, 5, 또는 7 과 동일한 것을 나타내는, 디바이스.
  27. 명령들을 포함하는 비일시적 컴퓨터 판독가능 저장 매체로서,
    상기 명령들은, 제 1 디바이스에 의해 실행될 때, 상기 제 1 디바이스로 하여금,
    제 1 특정 패킷과 제 2 특정 패킷 사이의 오프셋에 대응하는 오프셋 값을 결정하는 것으로서, 상기 제 1 디바이스는 디-지터 버퍼를 포함하는, 상기 오프셋 값을 결정하는 것을 행하게 하고; 그리고
    상기 오프셋 값을 제 2 디바이스에 송신하여 상기 제 2 디바이스로 하여금 상기 오프셋 값에 기초하여 상기 제 1 디바이스에 패킷들을 전송하는 것을 가능하게 하는 것으로서, 상기 오프셋 값은 대역 내 시그널링 또는 대역 외 시그널링을 이용하여 역방향 채널을 통해 송신되는, 상기 오프셋 값을 제 2 디바이스에 송신하여 상기 제 2 디바이스로 하여금 상기 오프셋 값에 기초하여 상기 제 1 디바이스에 패킷들을 전송하는 것을 가능하게 하는 것을 행하게 하며,
    상기 오프셋 값을 송신하기 위해 대역 내 시그널링이 사용되는 경우에, 상기 오프셋 값은 실시간 전송 프로토콜 (real-time transport protocol; RTP) 페이로드 헤더의 코드 모드 요청 (code mode request; CMR) 필드를 이용하여 송신되는, 비일시적 컴퓨터 판독가능 저장 매체.
  28. 제 27 항에 있어서,
    상기 오프셋 값은, 상기 제 2 디바이스에게, 상기 오프셋 값에 기초하여 나중에 전송된 패킷이 더일찍 전송된 패킷의 에러 정정 데이터를 포함하도록, 상기 패킷들을 구성하도록 지시하는, 비일시적 컴퓨터 판독가능 저장 매체.
  29. 제 28 항에 있어서,
    상기 에러 정정 데이터는 상기 더일찍 전송된 패킷의 부분적 카피를 포함하는, 비일시적 컴퓨터 판독가능 저장 매체.
  30. 제 27 항에 있어서,
    상기 제 1 디바이스는, 상기 제 2 디바이스로부터 상기 오프셋 값의 수신의 확인응답을 수신하는, 비일시적 컴퓨터 판독가능 저장 매체.
  31. 제 30 항에 있어서,
    상기 수신의 확인응답은, 상기 제 2 디바이스로부터 수신되고 부분적 중복 데이터를 포함하는 하나 이상의 패킷들에 포함되는, 비일시적 컴퓨터 판독가능 저장 매체.
  32. 제 27 항에 있어서,
    상기 오프셋 값은 상기 디-지터 버퍼에 의해 수신된 패킷들의 통계적 측정에 기초하여 결정되는, 비일시적 컴퓨터 판독가능 저장 매체.
  33. 제 27 항에 있어서,
    상기 오프셋 값은 순방향 에러 정정 (forward error correction; FEC) 오프셋 값에 대응하는, 비일시적 컴퓨터 판독가능 저장 매체.
  34. 제 27 항에 있어서,
    상기 오프셋 값을 결정하는 것은,
    상기 제 1 특정 패킷과 상기 디-지터 버퍼에 저장된 각 패킷 사이의 오프셋 값들을 결정하는 것; 및
    손실된 패킷과 연관된 오프셋 값들을 갖는 패킷들을 포함하는 상기 디-지터 버퍼의 확률을 결정하기 위해 디-지터 버퍼 콘텐츠들의 이력에 기초하여 확률 질량 함수를 결정하는 것
    에 의해, 특정 오프셋 값을 결정하는 것을 포함하고,
    상기 특정 오프셋 값은 상기 확률 질량 함수에 기초하는, 비일시적 컴퓨터 판독가능 저장 매체.
  35. 제 34 항에 있어서,
    상기 오프셋 값을 나타내기 위해 상기 제 2 디바이스에 송신되는 패킷에 2 비트들이 할당되는, 비일시적 컴퓨터 판독가능 저장 매체.
  36. 제 35 항에 있어서,
    상기 2 비트들은 상기 오프셋 값이 2, 3, 5, 또는 7 과 동일한 것을 나타내는, 비일시적 컴퓨터 판독가능 저장 매체.
  37. 디바이스로서,
    하나 이상의 패킷들을 저장하는 수단;
    제 1 특정 패킷과 제 2 특정 패킷 사이의 오프셋에 대응하는 오프셋 값을 결정하는 수단; 및
    상기 오프셋 값을 제 2 디바이스에 송신하여 상기 제 2 디바이스로 하여금 상기 오프셋 값에 기초하여 상기 디바이스에 패킷들을 전송하는 것을 가능하게 하는 수단으로서, 상기 오프셋 값은 대역 내 시그널링 또는 대역 외 시그널링을 이용하여 역방향 채널을 통해 송신되는, 상기 오프셋 값을 제 2 디바이스에 송신하여 상기 제 2 디바이스로 하여금 상기 오프셋 값에 기초하여 상기 디바이스에 패킷들을 전송하는 것을 가능하게 하는 수단을 포함하고,
    상기 오프셋 값을 송신하기 위해 대역 내 시그널링이 사용되는 경우에, 상기 오프셋 값은 실시간 전송 프로토콜 (real-time transport protocol; RTP) 페이로드 헤더의 코드 모드 요청 (code mode request; CMR) 필드를 이용하여 송신되는, 디바이스.
  38. 제 37 항에 있어서,
    상기 오프셋 값에 기초하여, 상기 제 2 디바이스는, 상기 오프셋 값에 기초하여 나중에 전송된 패킷이 더일찍 전송된 패킷의 에러 정정 데이터를 포함하도록, 상기 패킷들을 구성하는, 디바이스.
  39. 제 38 항에 있어서,
    상기 에러 정정 데이터는 상기 더일찍 전송된 패킷의 부분적 카피를 포함하는, 디바이스.
  40. 제 37 항에 있어서,
    상기 제 2 디바이스로부터 상기 오프셋 값의 수신의 확인응답을 수신하는 수단을 더 포함하는, 디바이스.
  41. 제 40 항에 있어서,
    상기 수신의 확인응답은, 상기 제 2 디바이스로부터 수신되고 부분적 중복 데이터를 포함하는 하나 이상의 패킷들에 포함되는, 디바이스.
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
KR1020177001903A 2014-07-22 2015-06-25 에러 정정 데이터를 위한 오프셋 선택 KR101868759B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201462027595P 2014-07-22 2014-07-22
US62/027,595 2014-07-22
US201462042013P 2014-08-26 2014-08-26
US62/042,013 2014-08-26
US14/749,474 2015-06-24
US14/749,474 US9680507B2 (en) 2014-07-22 2015-06-24 Offset selection for error correction data
PCT/US2015/037789 WO2016014211A1 (en) 2014-07-22 2015-06-25 Offset selection for error correction data

Publications (2)

Publication Number Publication Date
KR20170034387A KR20170034387A (ko) 2017-03-28
KR101868759B1 true KR101868759B1 (ko) 2018-06-18

Family

ID=53541947

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177001903A KR101868759B1 (ko) 2014-07-22 2015-06-25 에러 정정 데이터를 위한 오프셋 선택

Country Status (7)

Country Link
US (1) US9680507B2 (ko)
EP (1) EP3172854B1 (ko)
JP (1) JP6328844B2 (ko)
KR (1) KR101868759B1 (ko)
CN (1) CN106537832B (ko)
CA (1) CA2952736C (ko)
WO (1) WO2016014211A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9948578B2 (en) * 2015-04-14 2018-04-17 Qualcomm Incorporated De-jitter buffer update
US9967306B1 (en) * 2016-09-08 2018-05-08 Sprint Spectrum L.P. Prioritized transmission of redundancy data for packetized voice communication
FR3071997A1 (fr) * 2017-10-02 2019-04-05 Orange Signalisation d’une requete d’adaptation d’une session de communication en voixsur ip
US10727868B2 (en) * 2018-12-03 2020-07-28 Samsung Electronics Co., Ltd. Apparatus and method for offset optimization for low-density parity-check (LDPC) code

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070183323A1 (en) * 2006-02-03 2007-08-09 Telefonaktiebolaget Lm Ericsson (Publ) Selective redundancy for voice over internet transmissions
WO2009000821A1 (en) * 2007-06-28 2008-12-31 Global Ip Solutions (Gips) Ab Method and receiver for determining a jitter buffer level
WO2010141762A1 (en) * 2009-06-04 2010-12-09 Qualcomm Incorporated Systems and methods for preventing the loss of information within a speech frame
JP2012529808A (ja) * 2009-06-12 2012-11-22 テレフオンアクチーボラゲット エル エム エリクソン(パブル) パケット交換網における遅延の監視
WO2013106181A1 (en) * 2012-01-12 2013-07-18 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for criticality threshold control
US9332492B2 (en) * 2012-12-20 2016-05-03 Google Inc. Rapid acknowledgement of radio transmissions for energy minimization

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6661811B1 (en) * 1999-02-12 2003-12-09 Koninklijke Philips Electronics N.V. Method of and apparatus for communicating isochronous data
US6678339B1 (en) * 2000-02-02 2004-01-13 Agere Systems Inc. Globally optimum maximum likelihood estimation of joint carrier frequency offset and symbol timing error in multi-carrier systems
US7092322B2 (en) * 2001-01-25 2006-08-15 Dphi Acquisitions, Inc. Calibration of focus error signal offset in a focus servo system
US6970403B2 (en) * 2001-01-25 2005-11-29 Dphi Acquisition, Inc. Calibration of tracking error signal offset in a tracking servo system
EP1444811A4 (en) 2001-09-12 2006-03-01 Lycium Networks B V I Ltd METHOD FOR CALCULATING A JITTER BUFFER AND A PACKAGING DELAY
CN101212459B (zh) * 2006-12-28 2012-08-08 华为技术有限公司 控制媒体编码速率的方法、系统和设备
KR101472542B1 (ko) * 2007-01-16 2014-12-16 코닌클리케 필립스 엔.브이. 데이터 비트들이나 심벌들을 인터리빙하는 시스템, 장치, 및 방법
US20080267224A1 (en) 2007-04-24 2008-10-30 Rohit Kapoor Method and apparatus for modifying playback timing of talkspurts within a sentence without affecting intelligibility
US8428938B2 (en) 2009-06-04 2013-04-23 Qualcomm Incorporated Systems and methods for reconstructing an erased speech frame
CN102111233B (zh) * 2009-12-28 2014-03-26 华为软件技术有限公司 一种fec数据的处理方法及系统
WO2012063417A1 (ja) * 2010-11-10 2012-05-18 パナソニック株式会社 端末及びコーデックモード選択方法
US9275644B2 (en) 2012-01-20 2016-03-01 Qualcomm Incorporated Devices for redundant frame coding and decoding
US9712287B2 (en) 2014-07-31 2017-07-18 Qualcomm Incorporated System and method of redundancy based packet transmission error recovery

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070183323A1 (en) * 2006-02-03 2007-08-09 Telefonaktiebolaget Lm Ericsson (Publ) Selective redundancy for voice over internet transmissions
WO2009000821A1 (en) * 2007-06-28 2008-12-31 Global Ip Solutions (Gips) Ab Method and receiver for determining a jitter buffer level
WO2010141762A1 (en) * 2009-06-04 2010-12-09 Qualcomm Incorporated Systems and methods for preventing the loss of information within a speech frame
JP2012529808A (ja) * 2009-06-12 2012-11-22 テレフオンアクチーボラゲット エル エム エリクソン(パブル) パケット交換網における遅延の監視
WO2013106181A1 (en) * 2012-01-12 2013-07-18 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for criticality threshold control
US9332492B2 (en) * 2012-12-20 2016-05-03 Google Inc. Rapid acknowledgement of radio transmissions for energy minimization

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
일본 공표특허공보 특표2012-529808호(2012.11.22.) 1부. *

Also Published As

Publication number Publication date
JP2017528952A (ja) 2017-09-28
US20160028418A1 (en) 2016-01-28
KR20170034387A (ko) 2017-03-28
CA2952736A1 (en) 2016-01-28
CN106537832A (zh) 2017-03-22
EP3172854A1 (en) 2017-05-31
BR112017000636A2 (pt) 2017-11-14
EP3172854B1 (en) 2018-12-19
JP6328844B2 (ja) 2018-05-23
US9680507B2 (en) 2017-06-13
CN106537832B (zh) 2018-04-17
CA2952736C (en) 2018-05-15
WO2016014211A1 (en) 2016-01-28

Similar Documents

Publication Publication Date Title
US11259192B2 (en) Ultra-low latency audio over bluetooth
US10892780B2 (en) Polar polar code encoding and decoding method and apparatus
CN109524015B (zh) 音频编码方法、解码方法、装置及音频编解码系统
KR101868759B1 (ko) 에러 정정 데이터를 위한 오프셋 선택
WO2021057461A1 (zh) 一种极化码分段编码的方法及通信设备
US20200021310A1 (en) Information processing method and apparatus, and device
US10887048B2 (en) Bluetooth transmission using low density parity check
CN113259710B (zh) 改进音频传输卡顿的方法、系统及介质
US8457185B2 (en) Wireless communication device and wireless communication system
WO2018094604A1 (zh) 数据处理方法、终端设备和网络设备
CN108400802B (zh) 一种蓝牙接收方法、系统及电子设备
WO2022206675A1 (zh) 一种极化码分段编码方法及相关装置
TWI774077B (zh) 用於具有轉碼器錯誤模型的媒體存取控制器的設備及方法
CN112217602B (zh) 集群语音包的处理方法、装置和终端
JP7222458B2 (ja) Polar Polar符号を利用して符号化および復号化を行う方法および装置
WO2023109733A1 (zh) 一种速率匹配的方法及装置
BR112017000636B1 (pt) Método de desvio para dados de correção de erro, dispositivo e memória legível
WO2020063315A1 (zh) 信道编码方法及装置
CN201248041Y (zh) 指示字段被定址到的临时块流的设备和处理该字段的设备
KR20140068509A (ko) 음성 인식 기반의 오류 정정 인코딩 방법 및 이를 위한 장치

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant