KR101980058B1 - 패킷의 프라이머리 코딩을 디코딩할지 또는 리던던트 코딩을 디코딩할지를 표시하는 시그널링 정보를 베어링하는 패킷 - Google Patents

패킷의 프라이머리 코딩을 디코딩할지 또는 리던던트 코딩을 디코딩할지를 표시하는 시그널링 정보를 베어링하는 패킷 Download PDF

Info

Publication number
KR101980058B1
KR101980058B1 KR1020187011619A KR20187011619A KR101980058B1 KR 101980058 B1 KR101980058 B1 KR 101980058B1 KR 1020187011619 A KR1020187011619 A KR 1020187011619A KR 20187011619 A KR20187011619 A KR 20187011619A KR 101980058 B1 KR101980058 B1 KR 101980058B1
Authority
KR
South Korea
Prior art keywords
packet
coding
audio frame
signaling information
redundant
Prior art date
Application number
KR1020187011619A
Other languages
English (en)
Other versions
KR20180077167A (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 KR20180077167A publication Critical patent/KR20180077167A/ko
Application granted granted Critical
Publication of KR101980058B1 publication Critical patent/KR101980058B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/167Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/005Correction of errors induced by the transmission channel, if related to the coding algorithm
    • 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/0014Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the source 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/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • 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/0056Systems characterized by the type of code used
    • H04L1/007Unequal error protection
    • 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/0076Distributed coding, e.g. network coding, involving 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/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/102Gateways
    • H04L65/1023Media gateways
    • H04L65/103Media gateways in the network
    • H04L65/605
    • H04L65/607
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/018Audio watermarking, i.e. embedding inaudible data in the audio signal
    • 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/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2389Multiplex stream processing, e.g. multiplex stream encrypting

Abstract

장치는, 회선 교환 네트워크를 통해, 패킷을 수신하도록 구성된 네트워크 인터페이스를 포함한다. 패킷은 제 1 오디오 프레임의 프라이머리 코딩, 제 2 오디오 프레임의 리던던트 코딩, 및 시그널링 정보를 표시하는 하나 이상의 비트들을 포함한다. 시그널링 정보는 프라이머리 코딩 또는 리던던트 코딩 중 적어도 하나의 코딩의 디코드 동작에 대응한다. 장치는, 시그널링 정보에 기초하여 패킷의 부분을 디코딩하도록 구성된 디코더를 더 포함한다.

Description

패킷의 프라이머리 코딩을 디코딩할지 또는 리던던트 코딩을 디코딩할지를 표시하는 시그널링 정보를 베어링하는 패킷
Ⅰ. 우선권의 주장
본 출원은 2016년 9월 13일자로 출원되고 발명의 명칭이 "PACKET BEARING SIGNALING INFORMATION INDICATIVE OF WHETHER TO DECODE A PRIMARY CODING OR A REDUNDANT CODING OF THE PACKET" 인 미국 특허 출원 제15/263,905호, 2015년 10월 29일자로 출원되고 발명의 명칭이 "COMMUNICATION BETWEEN PACKET-SWITCHED NETWORKS AND CIRCUIT-SWITCHED NETWORKS" 인 미국 가특허 출원 제62/248,265호, 2015년 10월 29일자로 출원되고 발명의 명칭이 "COMMUNICATION BETWEEN PACKET-SWITCHED NETWORKS AND CIRCUIT-SWITCHED NETWORKS" 인 미국 가특허 출원 제62/248,271호, 및 2015년 10월 29일자로 출원되고 발명의 명칭이 "COMMUNICATION BETWEEN PACKET-SWITCHED NETWORKS AND CIRCUIT-SWITCHED NETWORKS" 인 미국 가특허 출원 제62/248,275호로부터의 우선권을 주장하고; 전술한 출원들 각각의 내용은 본 명세서에 그 전체가 참조로 명백히 포함된다.
Ⅱ. 분야
본 개시물은 일반적으로 패킷 교환 네트워크 (packet-switched network) 들의 디바이스들과 회선 교환 네트워크 (circuit-switched network) 들의 디바이스들 사이의 통신에 관한 것이다.
기술의 진보는 보다 소형이고 더 강력한 컴퓨팅 디바이스들을 발생시켰다. 예를 들어, 무선 전화기들 예컨대 모바일 및 스마트 폰들, 태블릿들 및 랩톱 컴퓨터들을 포함하는, 다양한 휴대용 개인 컴퓨팅 디바이스들은 작고 경량이며 사용자들에 의해 쉽게 휴대된다. 이들 디바이스들은 무선 네트워크들을 통해 보이스 및 데이터 패킷들을 통신할 수 있다. 추가로, 많은 그러한 디바이스들은 디지털 스틸 카메라, 디지털 비디오 카메라, 디지털 레코더, 및 오디오 파일 플레이어와 같은 추가적인 기능성을 포함한다. 또한, 그러한 디바이스들은 인터넷에 액세스하는 데 사용될 수 있는 웹 브라우저 애플리케이션과 같은 소프트웨어 애플리케이션들을 포함하여, 실행가능 명령들을 프로세싱할 수 있다. 이와 같이, 이들 디바이스들은 상당한 컴퓨팅 및 네트워킹 능력들을 포함할 수 있다.
무선 전화기들과 같은 전자 디바이스들은 네트워크들을 통해 데이터를 전송 및 수신할 수도 있다. 예를 들어, 오디오 데이터는 회선 교환 네트워크 (예를 들어, 공중 교환 전화 네트워크 (PSTN), 모바일 통신용 글로벌 시스템 (GSM) 네트워크 등) 또는 패킷 교환 네트워크 (예를 들어, VoIP (voice over internet protocol) 네트워크, VoLTE (voice over long term evolution) 네트워크 등) 를 통해 전송 및 수신될 수도 있다. 패킷 교환 네트워크에서, 오디오 패킷들은 소스 디바이스로부터 목적지 디바이스로 개별적으로 라우팅될 수도 있다. 패킷 교환 네트워크에서의 네트워크 조건들로 인해, 오디오 패킷들이 순서가 바뀌어 도달할 수도 있거나, 또는 오디오 패킷들 중 하나 이상이 손상되어 도달할 수도 있다 (또는 전혀 도달하지 못할 수도 있다). 네트워크 조건들로 인한 에러들을 보상하기 위해, 하나 이상의 오디오 패킷들은 다수의 오디오 프레임들에 대한 코딩을 포함할 수도 있다. 회선 교환 네트워크에서, 디바이스 (예를 들어, 전화기) 는 고정된 간격 (예를 들어, 각각의 패킷 사이의 20 밀리초) 에서 패킷들을 수신하도록 구성된다. 패킷 교환 네트워크에서와는 달리, 회선 교환 네트워크 내의 디바이스들은 순서가 바뀌어 또는 불특정된 시간들에서 패킷들을 수신하도록 구성되지 않는다. 따라서, 패킷 교환 네트워크로부터 회선 교환 네트워크로 패킷들을 직접 포워딩하면 회선 교환 네트워크의 디바이스들에게 어려움들을 초래할 수도 있다.
특정 양태에서, 장치는 회선 교환 네트워크를 통해 패킷을 수신하도록 구성된 네트워크 인터페이스를 포함한다. 패킷은 제 1 오디오 프레임의 프라이머리 코딩 (primary coding), 제 2 오디오 프레임의 리던던트 코딩 (redundant coding), 및 시그널링 정보를 표시하는 하나 이상의 비트들을 포함한다. 시그널링 정보는 프라이머리 코딩 또는 리던던트 코딩 중 적어도 하나의 코딩의 디코드 동작에 대응한다. 장치는, 시그널링 정보에 기초하여 패킷의 부분을 디코딩하도록 구성된 디코더를 더 포함한다.
다른 양태에서, 방법은 회선 교환 네트워크를 통해 네트워크 인터페이스에서 패킷을 수신하는 단계를 포함한다. 패킷은 제 1 오디오 프레임의 프라이머리 코딩, 제 2 오디오 프레임의 리던던트 코딩, 및 시그널링 정보를 표시하는 하나 이상의 비트들을 포함한다. 시그널링 정보는 프라이머리 코딩 또는 리던던트 코딩 중 적어도 하나의 코딩의 디코딩에 대응한다. 방법은 시그널링 정보에 기초하여 패킷의 부분을 디코딩하는 단계를 더 포함한다.
다른 양태에서, 장치는 회선 교환 네트워크를 통해 패킷을 수신하는 수단을 포함한다. 패킷은 제 1 오디오 프레임의 프라이머리 코딩, 제 2 오디오 프레임의 리던던트 코딩, 및 시그널링 정보를 표시하는 하나 이상의 비트들을 포함한다. 시그널링 정보는 프라이머리 코딩 또는 리던던트 코딩 중 적어도 하나의 코딩의 디코드 동작에 대응한다. 장치는 시그널링 정보에 기초하여 패킷의 부분을 디코딩하는 수단을 더 포함한다.
다른 양태에서, 컴퓨터 판독가능 저장 디바이스는, 프로세서에 의해 실행될 때, 프로세서로 하여금 동작들을 수행하게 하는 명령들을 저장한다. 동작들은 회선 교환 네트워크를 통해 네트워크 인터페이스에서 패킷을 수신하는 것을 포함한다. 패킷은 제 1 오디오 프레임의 프라이머리 코딩, 제 2 오디오 프레임의 리던던트 코딩, 및 시그널링 정보를 표시하는 하나 이상의 비트들을 포함한다. 시그널링 정보는 프라이머리 코딩 또는 리던던트 코딩 중 적어도 하나의 코딩의 디코딩에 대응한다. 동작들은 시그널링 정보에 기초하여 패킷의 부분을 디코딩하는 것을 더 포함한다.
다른 특정 양태에서, 장치는 제 1 네트워크 인터페이스를 포함한다. 제 1 네트워크 인터페이스는 패킷 교환 네트워크를 통해 패킷을 수신하도록 구성된다. 패킷은 제 1 오디오 프레임의 프라이머리 코딩 및 제 2 오디오 프레임의 리던던트 코딩을 포함할 수도 있다. 장치는 프로세서를 더 포함한다. 프로세서는 시그널링 정보를 표시하는 하나 이상의 비트들을 포함하는 수정된 패킷을 생성하도록 구성된다. 시그널링 정보는 프라이머리 코딩 또는 리던던트 코딩 중 적어도 하나의 코딩의 디코딩에 대응할 수도 있다. 장치는 회선 교환 네트워크를 통해 수정된 패킷을 송신하도록 구성된 제 2 인터페이스를 더 포함한다.
다른 양태에서, 무선 통신의 방법은 제 1 네트워크 인터페이스에서 패킷 교환 네트워크를 통해 패킷을 수신하는 단계를 포함한다. 패킷은 제 1 오디오 프레임의 프라이머리 코딩 및 제 2 오디오 프레임의 리던던트 코딩을 포함할 수도 있다. 방법은 시그널링 정보를 표시하는 하나 이상의 비트들을 포함하는 수정된 패킷을 생성하는 단계를 더 포함한다. 시그널링 정보는 프라이머리 코딩 또는 리던던트 코딩 중 적어도 하나의 코딩의 디코딩에 대응할 수도 있다. 방법은 회선 교환 네트워크를 통해 제 2 네트워크 인터페이스로부터의 수정된 패킷을 송신하는 단계를 더 포함한다.
다른 양태에서, 장치는 패킷 교환 네트워크를 통해 패킷을 수신하는 수단을 포함한다. 패킷은 제 1 오디오 프레임의 프라이머리 코딩 및 제 2 오디오 프레임의 리던던트 코딩을 포함할 수도 있다. 장치는 시그널링 정보를 표시하는 하나 이상의 비트들을 포함하는 수정된 패킷을 생성하는 수단을 더 포함한다. 시그널링 정보는 프라이머리 코딩 또는 리던던트 코딩 중 적어도 하나의 코딩의 디코딩에 대응할 수도 있다. 장치는 회선 교환 네트워크를 통해 수정된 패킷을 송신하는 수단을 더 포함한다.
다른 양태에서, 컴퓨터 판독가능 저장 매체는, 프로세서에 의해 실행될 때, 프로세서로 하여금 특정 동작들을 수행하게 하는 명령들을 저장한다. 동작들은 제 1 네트워크 인터페이스에서 패킷 교환 네트워크를 통해 패킷을 수신하는 것을 포함한다. 패킷은 제 1 오디오 프레임의 프라이머리 코딩 및 제 2 오디오 프레임의 리던던트 코딩을 포함할 수도 있다. 동작들은 시그널링 정보를 표시하는 하나 이상의 비트들을 포함하는 수정된 패킷을 생성하는 것을 더 포함한다. 시그널링 정보는 프라이머리 코딩 또는 리던던트 코딩 중 적어도 하나의 코딩의 디코딩에 대응할 수도 있다. 동작들은 회선 교환 네트워크를 통해 제 2 네트워크 인터페이스로부터의 수정된 패킷을 송신하는 것을 더 포함한다.
본 개시물의 다른 양태들, 이점들 및 피처들 (features) 은 다음의 섹션들: 도면의 간단한 설명, 상세한 설명, 및 청구항들을 포함하는 전체 출원의 검토 후에 명백해질 것이다.
도 1 은 패킷 교환 네트워크와 회선 교환 네트워크 사이에서 리던던트 프레임 정보 및 시그널링 정보를 통신하도록 구성된 시스템의 특정 구현의 블록 다이어그램이다.
도 2 는 시그널링 정보를 표시하는 하나 이상의 비트들을 포함하도록 미디어 게이트웨이에서 패킷들의 시퀀스를 수정하는 특정 구현의 다이어그램이다.
도 3 은 시그널링 정보를 포함하는 수정된 오디오 패킷들의 예들의 다이어그램이다.
도 4 는 오디오 프레임들을 생성하기 위해 미사용된 프레임 정보를 취출하는 제 1 구현의 다이어그램이다.
도 5 는 비트 시퀀스 (또는 다른 시그널링 정보) 를 사용하여 리던던트 프레임 정보를 통신하도록 구성된 시스템의 특정 구현의 블록 다이어그램이다.
도 6 은 비트 시퀀스 (또는 다른 시그널링 정보) 를 포함하도록 미디어 게이트웨이에서 패킷들의 시퀀스를 수정하는 예의 다이어그램이다.
도 7 은 오디오 프레임들을 생성하기 위해 미사용된 프레임 정보를 취출하는 제 2 구현의 다이어그램이다.
도 8 은 패킷 교환 네트워크로부터의 패킷들을 회선 교환 네트워크로 통신하기 위해 리던던트 프레임 정보를 사용하도록 구성된 시스템의 특정 구현의 블록 다이어그램이다.
도 9 는 패킷 교환 네트워크로부터 수신된 패킷들 내의 리던던트 프레임 정보에 기초하여 패킷들을 생성하는 예의 다이어그램이다.
도 10 은 시그널링 정보를 포함하도록 오디오 패킷을 수정하는 특정 방법을 예시하는 흐름도이다.
도 11 은 시그널링 정보를 포함하는 오디오 패킷을 디코딩하는 특정 방법을 예시하는 흐름도이다.
도 12 는 오디오 패킷에서 미사용된 프레임 정보의 저장된 카피 (copy) 를 유지하는 특정 방법을 예시하는 흐름도이다.
도 13 은 리던던트 프레임 정보를 재인코딩하는 특정 방법을 예시하는 흐름도이다.
도 14 는 수정된 오디오 패킷을 디코딩하는 방법을 표시하는 비트 시퀀스 (또는 다른 시그널링 정보) 를 포함하도록 오디오 패킷을 수정하는 특정 방법을 예시하는 흐름도이다.
도 15 는 특정 비트 시퀀스를 포함하는 오디오 패킷을 디코딩하는 특정 방법을 예시하는 흐름도이다.
도 16 은 도 1 내지 도 15 의 시스템들 및 방법들에 따른 동작들을 수행하도록 동작가능한 무선 디바이스의 블록 다이어그램이다.
도 17 은 도 1 내지 도 15 의 시스템들 및 방법들에 따른 동작들을 수행하도록 동작가능한 기지국의 블록 다이어그램이다.
본 개시물의 특정 양태들은 도면들을 참조하여 후술된다. 설명에서, 공통된 피처들은 도면들 전반에 걸쳐 공통된 참조 번호들로 지정된다. 본 명세서에서 사용되는 바와 같이, 다양한 전문용어는 단지 특정 구현들을 설명할 목적을 위해 사용되고 제한하려고 의도된 것이 아니다. 본 명세서에서 사용되는 바와 같이, "예시적인" 은 예, 구현, 및/또는 양태를 표시할 수도 있고, 선호도 또는 선호된 구현을 표시하는 것으로서 또는 제한하는 것으로서 해석되어서는 안된다. 본 명세서에서 사용되는 바와 같이, 구조, 컴포넌트, 동작 등과 같은 엘리먼트를 수정하기 위해 사용된 서수 용어 (예를 들어, "제 1", "제 2", "제 3" 등) 는 그것만으로는 다른 엘리먼트에 대한 엘리먼트의 임의의 우선순위 또는 순서를 표시하지 않으며, 오히려 엘리먼트를 동일한 명칭을 갖는 (그러나 서수 용어의 사용을 위한) 다른 엘리먼트로부터 단지 구별할 뿐이다. 예를 들어, 문맥상 분명히 달리 표시하지 않는 한, 단수형들 "a", "an", 및 "the" 는 복수형들도 또한 포함하도록 의도된다. 용어들 "포함하다 (comprises)" 및 "포함하는 (comprising)" 은 "포함하다 (includes)" 또는 "포함하는 (including)" 과 상호교환가능하게 사용될 수도 있다는 것이 추가로 이해될 수도 있다. 추가적으로, 용어 "여기서 (wherein)" 는 "여기서 (where)" 와 상호교환가능하게 사용될 수도 있다는 것이 이해될 것이다.
패킷 교환 네트워크들과 회선 교환 네트워크들 사이에서 통신을 수행하는 시스템들 및 방법들이 개시된다. 패킷 교환 네트워크 내의 (또는 패킷 교환 네트워크와 회선 교환 네트워크 사이의) 미디어 게이트웨이는 패킷 교환 네트워크와 통신하도록 구성되는 제 1 디바이스로부터 패킷들의 시퀀스를 수신할 수도 있다. 예를 들어, 미디어 게이트웨이는 회선 교환 네트워크와 통신하도록 구성되는 제 2 디바이스와 제 1 디바이스 사이의 보이스 호 동안 제 1 디바이스로부터 패킷들의 시퀀스를 수신할 수도 있다. 패킷들 중 하나 이상은 미디어 게이트웨이에 의해 패킷 교환 네트워크에 관련된 에러들을 보상함 또는 은닉함에 있어서의 사용을 위해 다수의 오디오 프레임들과 연관된 코딩을 포함할 수도 있다. 예시하기 위해, (N+2) 번째 패킷은 (N+2) 번째 오디오 프레임의 프라이머리 코딩 및 N 번째 오디오 프레임의 리던던트 코딩을 포함할 수도 있다. 리던던트 코딩은 패킷을 디코딩함에 있어서 수신자 디바이스에 의해 사용되는 하나 이상의 비트들 (예를 들어, 하나 이상의 오프셋 비트들) 을 포함한다. 예를 들어, (N+2) 번째 패킷은 2 의 오프셋 (예를 들어, N 번째 오디오 프레임과 (N+2) 번째 오디오 프레임 사이의 오프셋) 을 표시하는 오프셋 비트들을 포함할 수도 있다.
미디어 게이트웨이는 고정된 간격 (예를 들어, 패킷들 사이의 20 밀리초) 에서 패킷들을 회선 교환 네트워크를 통해 제 2 디바이스에 전송하도록 구성될 수도 있다. 패킷 교환 네트워크에서의 네트워크 조건들로 인해, 미디어 게이트웨이에 의해, 패킷들 중 하나 이상이 손상될 수도 있거나, 또는 패킷들 중 하나 이상이 수신되지 않을 수도 있다. 손상 에러들 또는 수신 에러들을 은닉하기 위해 (또는 에러들을 보상하기 위해), 미디어 게이트웨이는 상이한 오디오 프레임으로부터의 리던던트 데이터를 사용하여 수정된 프레임을 생성하여 제 2 디바이스에 제공할 수도 있다. 예를 들어, 미디어 게이트웨이에서의 N 번째 패킷의 수신과 관련하여 에러가 발생하고 (N+2) 번째 패킷이 올바르게 수신되는 경우, 미디어 게이트웨이는 N 번째 오디오 프레임과 연관된 타임 슬롯 동안 제 2 디바이스로 전송될 수정된 패킷을 생성하기 위해 (N+2) 번째 패킷을 사용할 수도 있다. 수정된 패킷은 적어도 N 번째 프레임의 리던던트 코딩 및 그 리던던트 코딩을 디코딩하기 위한 표시를 포함할 수도 있다. 특정 구현에서, 시그널링 비트 (예를 들어, 시그널링 비트의 값) 는 시그널링 정보를 표시할 수도 있고, 시그널링 비트는 수정된 패킷 내에 포지셔닝될 수도 있다. 수정된 패킷 (170) 내의 단일 비트의 포지션은 채널 인식 (channel aware; CA) 프레임 타입, 코더 타입, 및 EVS 표준에 특정된 바와 같은 대역폭 모드에 의존할 수도 있다. 시그널링 비트는 프라이머리 코딩의 비트 또는 리던던트 코딩의 비트를 대체시킬 수도 있다. 대안적으로, 시그널링 비트는 수정된 패킷의 페이로드의 다른 위치에 놓일 수도 있다. 다른 특정 구현에서, 미디어 게이트웨이는 (예를 들어, 오프셋 비트들에) 리던던트 코딩의 하나 이상의 비트들을 포함시킴으로써 (N+2) 번째 패킷을 수정할 수도 있고, 그 하나 이상의 비트들 (예를 들어, 하나의 비트들의 값) 은 시그널링 정보를 표시한다. 대안적인 구현에서, 미디어 게이트웨이는 (N+2) 번째 오디오 프레임의 프라이머리 코딩의 패딩 비트들에 비트 시퀀스 (예를 들어, 비트 값들의 미리 정의된 시퀀스) 를 포함시킴으로써 (N+2) 번째 패킷을 수정할 수도 있다. 시그널링 정보 (예를 들어, 시그널링 비트) 또는 비트 시퀀스는 오디오 프레임을 생성하기 위해 N 번째 패킷의 리던던트 코딩이 디코딩되어야 함을 제 2 디바이스에게 표시한다. 에러와 연관된 패킷 대신에 리던던트 코딩을 포함하는 수정된 패킷을 제공함으로써, 미디어 게이트웨이는 패킷 교환 네트워크의 네트워크 조건들에 의해 야기된 에러들을 은닉 (또는 보상) 하는 것이 가능하다.
특정 구현에서, 미디어 게이트웨이는 패킷의 전체 리던던트 코딩을 (예를 들어, 모든 제로 값들로, 모든 1 값들로, 교번하는 1 값들 및 제로 값들로, 또는 리던던트 코딩의 생성 동안 코더-디코더 (코덱) 에 의해 생성되지 않은 일부 다른 고유 비트 시퀀스로) 수정하여 패킷의 프라이머리 코딩이 (예를 들어, 회선 교환 네트워크의) 제 2 디바이스에서 디코딩되어야 한다는 것을 시그널링할 수도 있다. 예를 들어, (예를 들어, 미디어 게이트웨이에 액세스가능한 디-지터 버퍼 (de-jitter buffer) 에서) N 번째 패킷이 이용가능한 경우, 그러면 미디어 게이트웨이는 N 번째 패킷 내의 제 2 오디오 프레임의 전체 리던던트 코딩을 수정함으로써 수정된 N 번째 패킷을 전송하여 수정된 N 번째 패킷 내의 프라이머리 코딩이 제 2 디바이스에서 N 에 대응하는 타임 슬롯에서 디코딩되어야 함을 표시할 수도 있다. 제 2 디바이스 (예를 들어, 제 2 디바이스의 프로세서) 는 수정된 N 번째 패킷의 리던던트 코딩에서 이 수정을 식별하고, 수정된 N 번째 패킷의 프라이머리 코딩이 디코딩되어야 한다는 것을 결정할 수도 있다. 다른 예에서, (예를 들어, 디-지터 버퍼에서) N 번째 패킷이 이용가능하지 않고 장래의 패킷 (예를 들어, 제 2 오디오 프레임의 리던던트 코딩을 포함하는 (N+2) 번째 패킷) 이 이용가능한 경우, 그러면 미디어 게이트웨이는 회선 교환 네트워크를 통해 미수정된 (N+2) 번째 패킷을 제 2 디바이스에 전송할 수도 있다. 제 2 디바이스 (예를 들어, 제 2 디바이스의 프로세서) 는 리던던트 코딩이 수정되지 않았다고 결정할 수도 있고, 이 결정에 기초하여, 제 2 디바이스는 리던던트 코딩을 디코딩할 수도 있다. 수신된 장래의 패킷 (예를 들어, 미수정된 리던던트 코딩을 갖는 (N+2) 번째 패킷) 은, 대응하는 패킷이 (N+2) 번째 타임 슬롯 동안 제 2 디바이스에서 수신되지 않은 경우, 프리-리던던시 디코딩 (pre-redundancy decoding) 에서의 사용을 위해 제 2 디바이스의 메모리에 저장될 수도 있다.
추가적으로 또는 대안적으로, (회선 교환 네트워크의) 제 2 디바이스는 패킷 교환 네트워크 또는 회선 교환 네트워크의 네트워크 조건들로 인한 에러들을 은닉 (또는 보상) 하도록 구성될 수도 있다. 예시하기 위해, 패킷 교환 네트워크에서의 에러로 인해, 제 2 디바이스는 N 번째 오디오 프레임과 연관된 타임 슬롯 동안 (N+2) 번째 오디오 프레임의 프라이머리 코딩 및 N 번째 오디오 프레임의 리던던트 코딩을 포함하는 패킷을 수신할 수도 있다. 표시자 (예를 들어, 시그널링 정보 또는 비트 시퀀스) 에 기초하여, 제 2 디바이스는 리던던트 코딩을 디코딩하여 제 2 디바이스에서의 재생을 위한 오디오 프레임을 생성할 수도 있다. 추가적으로, 제 2 디바이스는 (N+2) 번째 오디오 프레임의 프라이머리 코딩의 카피를 메모리에 저장할 수도 있다. 제 2 디바이스는 (N+2) 번째 오디오 프레임의 프라이머리 코딩의 카피를 메모리로부터 취출할 수도 있다. 예를 들어, 회선 교환 네트워크의 에러 조건으로 인해, 제 2 디바이스가 (N+2) 번째 오디오 프레임과 연관된 타임 슬롯 동안 패킷 에러를 경험하는 경우, 제 2 디바이스는 메모리로부터 (N+2) 번째 오디오 프레임의 프라이머리 코딩의 카피를 취출할 수도 있다. 제 2 디바이스는 (N+2) 번째 오디오 프레임의 프라이머리 코딩의 카피를 디코딩하여 제 2 디바이스에서의 재생을 위한 오디오 프레임을 생성할 수도 있다. 디코딩 동안 사용되지 않는 코딩의 카피들을 저장함으로써, 제 2 디바이스는 회선 교환 네트워크의 네트워크 조건들에 의해 야기된 패킷 에러들을 은닉 (또는 보상) 하는 것이 가능할 수도 있다.
도 1 을 참조하면, 패킷 교환 네트워크와 회선 교환 네트워크 사이에서 리던던트 프레임 정보 및 시그널링 정보를 통신하도록 구성된 시스템의 특정 예시적 예가 도시되고 일반적으로 100 으로 지정된다. 시스템 (100) 은 제 1 디바이스 (102), 미디어 게이트웨이 (120), 및 제 2 디바이스 (140) 를 포함한다. 미디어 게이트웨이 (120) 는 제 1 디바이스 (102) 와 제 2 디바이스 (140) 사이에서 오디오 프레임들과 같은 데이터의 통신을 용이하게 하도록 구성될 수도 있다. 예시하기 위해, 제 1 디바이스 (102) 는 패킷 교환 네트워크 (152) 를 통해 오디오 프레임들을 미디어 게이트웨이 (120) 에 통신할 수도 있고, 미디어 게이트웨이 (120) 는 회선 교환 네트워크 (154) 를 통해 오디오 프레임들을 제 2 디바이스 (140) 에 통신할 수도 있다. 패킷 교환 네트워크 (152) 는 VoIP 네트워크, VoLTE 네트워크, 또는 다른 패킷 교환 네트워크를 포함할 수도 있다. 회선 교환 네트워크 (154) 는 PSTN 네트워크, GSM 네트워크, 또는 다른 회선 교환 네트워크를 포함할 수도 있다. 특정 구현에서, 제 1 디바이스 (102), 제 2 디바이스 (140), 또는 양쪽 모두는 통신 디바이스, 헤드셋, 디코더, 스마트 폰, 셀룰러 폰, 모바일 통신 디바이스, 랩톱 컴퓨터, 컴퓨터, 태블릿, 개인 휴대 정보 단말기 (PDA), 셋톱 박스, 비디오 플레이어, 엔터테인먼트 유닛, 디스플레이 디바이스, 텔레비전, 게이밍 콘솔, 음악 플레이어, 라디오, 디지털 비디오 플레이어, 디지털 비디오 디스크 (DVD) 플레이어, 튜너, 카메라, 내비게이션 디바이스, 차량, 차량의 온-보드 컴포넌트, 또는 이들의 조합을 포함할 수도 있다. 제 1 디바이스 (102) 는 본 명세서에서 패킷들을 송신하는 것으로서 설명되고 제 2 디바이스 (140) 는 패킷들을 수신하는 것으로서 설명되지만, 다른 구현들에서 제 1 디바이스 (102) 는 제 2 디바이스 (140) 로부터 패킷들을 수신할 수도 있다. 따라서, 도 1 의 예시는 제한적이지 않다.
제 1 디바이스 (102) 는 프로세서 (104) (예를 들어, 중앙 프로세싱 유닛 (CPU), 디지털 신호 프로세서 (DSP) 등) 및 메모리 (106) 를 포함할 수도 있다. 특정 구현에서, 메모리 (106) 는 본 명세서에서 설명되는 다양한 동작들을 수행하기 위해 프로세서 (104) 에 의해 실행가능한 명령들을 저장한다. 제 1 디바이스 (102) 는 또한 인코더 (108) 및 네트워크 인터페이스 (110) 를 포함할 수도 있다. 인코더 (108) 는 네트워크 인터페이스 (110) 에 의해 송신되는 오디오 프레임들을 인코딩할 수도 있다. 특정 구현에서, 인코더 (108) 는 인코딩 및 디코딩 동작들을 수행하도록 구성되는 보코더 (보이스 인코더-디코더) 의 부분일 수도 있다. 네트워크 인터페이스 (110) 는 패킷 교환 네트워크 (152) 를 통해 오디오 프레임들을 포함하는 패킷들과 같은 데이터를 송신하도록 그리고 수신하도록 구성될 수도 있다. 네트워크 인터페이스 (110) 는 패킷 교환 네트워크 (152) 를 통한 데이터의 송신 및 수신을 가능하게 하기 위해 송신기, 수신기, 또는 트랜시버에 커플링될 수도 있다.
인코더 (108) 는 패킷들의 시퀀스 (예를 들어, 오디오 패킷들) 를 생성하기 위해 오디오 프레임들의 시퀀스를 인코딩할 수도 있다. 특정 구현에서, 오디오 프레임들의 시퀀스는 (N-1) 번째 오디오 프레임, N 번째 오디오 프레임, (N+1) 번째 오디오 프레임, 및 (N+2) 번째 오디오 프레임과 같은 다수의 오디오 프레임들을 포함한다. 오디오 프레임들은 제 2 디바이스 (140) 에서 오디오 출력을 생성하기 위해 디코딩되어야 하는 오디오 프레임들의 시퀀스의 부분일 수도 있다. 오디오 프레임들의 시퀀스는, 특정 예로서, 보이스 호와 같은 통신 세션의 오디오에 대응할 수도 있다. 제 1 디바이스 (102) 는 예시적인 패킷 (160) 을 포함하는 패킷들의 시퀀스를 패킷 교환 네트워크 (152) 를 통해 미디어 게이트웨이 (120) 에 송신할 수도 있다. 본 명세서에서 추가로 설명되는 바와 같이, 패킷들은 패킷 교환 네트워크 (152) 의 네트워크 조건들로 인해 손실될 수도 있거나 또는 순서가 바뀌어 미디어 게이트웨이 (120) 에서 수신될 수도 있다.
패킷들의 시퀀스의 각각의 패킷은 하나 이상의 오디오 프레임들의 부분들을 포함할 수도 있다. 예를 들어, 각각의 패킷은 하나 이상의 오디오 프레임들의 인코딩된 저대역 신호 ("LB 코어") 및 고대역 파라미터들 ("HB 파라미터들") 을 포함할 수도 있다. 오디오 프레임의 LB 코어 및 HB 파라미터들은 통칭하여 오디오 프레임의 프라이머리 코딩으로 지칭될 수도 있다. 특정 구현에서, 패킷들 (또는 오디오 프레임들) 각각은 고정된 사이즈를 가지며, 인코딩된 LB 코어 및 HB 파라미터들에 할당된 대역폭의 양 (예를 들어, 오디오 프레임의 비트들의 수) 이 오디오 프레임 간에서 동적으로 조정될 수 있다. 패킷 교환 네트워크 (152) 에서의 네트워크 에러들의 존재 시에 오디오 디코딩 성능을 개선시키기 위해, 오디오 프레임들 중 하나 이상은 이전 오디오 프레임의 "리던던트" 코딩 정보를 포함할 수도 있다. 리던던트 코딩 정보는 저대역 리던던트 코딩 정보, 고대역 파라미터 리던던트 코딩, 또는 양쪽 모두를 포함할 수도 있다. 이전 오디오 프레임의 저대역 및 고대역에 대한 리던던트 코딩 정보는 통칭하여 이전 오디오 프레임의 "부분적 카피" 로 지칭될 수도 있다. 특정 구현에서, 저대역 리던던트 코딩 정보 및 고대역 리던던트 코딩 정보에 할당된 대역폭의 양은 오디오 프레임 간에서 동적으로 조정될 수 있다.
특정 구현에서, HB 대 LB 리던던트 코딩 정보는 [25%, 75%] 스플릿과 [5%, 95%] 스플릿 사이에서 변한다. 예를 들어, 오디오 프레임에 리던던트 코딩 정보가 포함되지 않을 때 오디오 프레임에 대한 공칭 인코딩 비트레이트는 초 당 13.2 킬로비트들 (kps, 대안적으로 kbps 로 줄여 씀) 일 수도 있다. 리던던트 코딩 정보를 수용하기 위해, 오디오 프레임의 LB 코어 및 HB 파라미터들에 대한 코딩 레이트는 9.6 kps 로 감소될 수도 있다. 나머지 3.6 kps 대역폭은 이전 오디오 프레임에 대한 HB 및 LB 리던던트 코딩 정보를 코딩하는 데 사용될 수도 있는데, 여기서 HB 및 LB 리던던트 코딩 정보 사이의 스플릿은 [25%, 75%] 스플릿과 [5%, 95%] 스플릿 사이에서 오디오 프레임 간에서 변할 수 있다. 다른 예로서, 총 13.2 kps 중에서 프라이머리 코딩은 11.6 kps 를 사용할 수도 있는 한편 리던던트 코딩은 1.6 kps 를 사용할 수도 있다. 다른 예로서, 총 13.2 kps 중에서 프라이머리 코딩은 12.6 kps 를 사용할 수도 있는 한편 리던던트 코딩은 0.6 kps 를 사용할 수도 있다. 다른 구현들에서, 비트 레이트들 및 스플릿들은 상이할 수도 있다. 비트 레이트들 및 스플릿들은 소스 제어 파라미터들 및 네트워크 또는 채널 조건들에 기초하여 인코더 (108) 에 의해 결정될 수도 있다.
예시하기 위해, 인코더 (108) 는 제 1 오디오 프레임의 프라이머리 코딩 (162) 을 포함하는 패킷 (160) 내의 제 2 오디오 프레임의 리던던트 코딩 (164) 을 인코딩할 수도 있다. 예를 들어, 제 1 오디오 프레임은 (N+2) 번째 오디오 프레임일 수도 있고, 제 2 오디오 프레임은 N 번째 오디오 프레임일 수도 있다. 이 예에서, 패킷 (160) 은 (N+2) 번째 오디오 프레임의 프라이머리 코딩 (160) 및 N 번째 오디오 프레임의 세컨더리 코딩 (164) 을 포함한다. 오디오 프레임들을 포함하는 패킷들이 패킷 교환 네트워크 (152) 를 통해 통신될 때, 각각의 패킷은 목적지 디바이스에 개별적으로 라우팅될 수도 있고 오디오 프레임들은 순서가 바뀌어 도달할 수도 있다. 따라서, 제 2 오디오 프레임 (예를 들어, N 번째 오디오 프레임) 의 프라이머리 코딩을 포함하는 패킷이 손상될 수도 있거나 또는 미디어 게이트웨이 (120) 에 도달하지 못할 수도 있지만 (통칭하여 본 명세서에서 "수신 에러" 로 또는 패킷이 "이용불가능한" 것으로 지칭됨), 패킷 (160) 은 온전히 미디어 게이트웨이 (120) 에 도달할 수도 있다 (또는 이미 도달하였을 수도 있다). 패킷 (160) 내의 리던던트 코딩 (164) 은 제 2 오디오 프레임 (또는 그 부분) 을 재구성하거나 또는 수신 에러에 의해 야기된 에러를 보상 (또는 은닉) 하기 위해 미디어 게이트웨이 (120) 에 의해 사용될 수도 있다.
패킷 (160) 은 또한 제 2 오디오 프레임의 리던던트 코딩 (164) 내의 하나 이상의 비트들 (166) 을 포함할 수도 있다. 하나 이상의 비트들 (166) 은 제 2 오디오 프레임의 디코딩을 용이하게 하기 위해 수신 디바이스 (예를 들어, 미디어 게이트웨이 (120) 또는 제 2 디바이스 (140)) 에 의해 사용될 수도 있다. 특정 구현에서, 패킷 (160) 의 하나 이상의 비트들 (166) 은 오프셋 비트들에 대응한다. 오프셋 비트들은 오디오 프레임들의 시퀀스에서 제 1 오디오 프레임과 제 2 오디오 프레임 사이의 오프셋을 표시할 수도 있다. 예를 들어, 오프셋 비트들은, 패킷 (160) 에 대해, 오프셋이 2 임을 표시할 수도 있다. 예시하기 위해, 제 1 오디오 프레임 (예를 들어, (N+2) 번째 오디오 프레임) 은 오디오 프레임들의 시퀀스에서 2 개의 오디오 프레임들만큼 제 2 오디오 프레임 (예를 들어, N 번째 오디오 프레임) 으로부터 오프셋된다. 오프셋의 값은 산업 표준 (예를 들어, 향상된 보이스 서비스 (enhanced voice services; EVS) 표준) 에 의해 정의될 수도 있거나, 제 1 디바이스 (102) 및 제 2 디바이스 (140) 에 의해 협상될 수도 있거나, 측정된 또는 추정된 네트워크 에러들에 기초하여 결정될 수도 있거나, 또는 이들의 조합일 수도 있다. 특정 구현에서, 오프셋은 2 개의 프레임들, 3 개의 프레임들, 5 개의 프레임들, 또는 7 개의 프레임들일 수도 있다. 다른 구현들에서, 오프셋은 상이한 수의 프레임들일 수도 있다. 각각의 패킷에 대한 오프셋은 상이할 수도 있다. 예를 들어, 제 2 패킷의 오프셋은 3 일 수도 있다 (예를 들어, 제 2 패킷은 (N-2) 번째 오디오 프레임의 프라이머리 코딩, (N-1) 번째 오디오 프레임의 리던던트 코딩을 포함할 수도 있다). 다른 구현들에서, 패킷 (160) 의 하나 이상의 비트들 (166) 은, 도 3 을 참조하여 추가로 설명되는 바와 같이, 코덱 타입 표시자, 리던던시 프레임 플래그, 샤프 플래그 (sharp flag), 모드 표시자, 대역폭 확장 (BWE) 계층 파라미터, 또는 이들의 조합에 대응할 수도 있다.
미디어 게이트웨이 (120) 는 프로세서 (122) 및 메모리 (124) 를 포함한다. 특정 구현에서, 메모리 (124) 는 본 명세서에서 설명되는 다양한 동작들을 수행하기 위해 프로세서 (122) 에 의해 실행가능한 명령들을 저장한다. 미디어 게이트웨이 (120) 는 또한 제 1 네트워크 인터페이스 (126) 및 제 2 네트워크 인터페이스 (128) 를 포함한다. 제 1 네트워크 인터페이스 (126) 는 패킷 교환 네트워크 (152) 를 통해 패킷 (160) 을 수신하도록 구성되는 패킷 교환 네트워크 인터페이스일 수도 있다. 제 2 네트워크 인터페이스 (128) 는, 회선 교환 네트워크 (154) 를 통해, 예시적인 수정된 패킷 (170) 과 같은 수정된 패킷들을 송신하도록 구성되는 회선 교환 네트워크 인터페이스일 수도 있다.
특정 구현에서, 미디어 게이트웨이 (120) 는 도 1 에 디-지터 버퍼 (130) 로서 예시되는 버퍼를 포함한다. 프로세서 (122) 및 디-지터 버퍼 (130) (또는 프로세서 (122) 및 디-지터 버퍼 (130) 에 관하여 설명된 기능들을 수행하는 임의의 컴포넌트들) 의 조합은 또한 지터 버퍼 관리 (JBM) 로 지칭될 수도 있다. 제 1 네트워크 인터페이스 (126) (또는 프로세서 (122)) 는 수신된 패킷들 (예를 들어, 오디오 프레임들) 을 디-지터 버퍼 (130) 에 저장할 수도 있다. 패킷 교환 네트워크들을 통해 송신된 패킷들이 순서가 바뀌어 도달할 수 있기 때문에, 디-지터 버퍼 (130) 는, 타임스탬프들 또는 시퀀스 번호들과 같은, 패킷들 내의 식별자들에 기초하여 수신된 패킷들을 저장 및 재순서화하는 데 사용될 수도 있다. 네트워크 에러들 (예를 들어, 수신 에러들) 의 존재 시에, 하나 이상의 패킷들 (또는 그의 부분(들)) 이 수신되지 않을 수도 있거나 또는 손상될 수도 있다. 미디어 게이트웨이 (120) 는 미디어 게이트웨이 (120) 에서의 수신 에러들 (예를 들어, 패킷 교환 네트워크 (152) 에서의 네트워크 에러들) 을 보상 (또는 은닉) 하는 수정된 패킷들을 생성하는 데 사용될 패킷들을 디-지터 버퍼 (130) 에 저장할 수도 있다.
미디어 게이트웨이 (120) 는, 하나 이상의 설정들에 따라 또는 회선 교환 네트워크 표준에 정의된 바와 같이, 고정된 간격에서 회선 교환 네트워크 (154) 를 통해 제 2 디바이스 (140) 에 패킷들을 제공하도록 구성될 수도 있다. 예를 들어, 미디어 게이트웨이 (120) 는 20 밀리초 간격들에서 패킷들을 제 2 디바이스 (140) 에 송신할 수도 있다. 각각의 패킷이 제 1 디바이스 (102) 로부터 에러 없이 수신되는 경우, 미디어 게이트웨이 (120) 는 회선 교환 네트워크 (154) 를 통해 제 2 디바이스 (140) 에 패킷들을 순서대로 포워딩할 수도 있다. 그러나, 네트워크 에러들로 인해, 패킷들 중 하나 이상이 이용불가능하게 될 수도 있다 (예를 들어, 하나 이상의 패킷들 (또는 그의 부분(들)) 이 손상될 수도 있거나 또는 수신되지 않을 수도 있다).
특정 오디오 프레임의 비가용성을 보상 (또는 은닉) 하기 위해, 미디어 게이트웨이 (120) 는 상이한 패킷 (예를 들어, 특정 오디오 프레임의 리던던트 코딩을 포함하는 패킷) 에 기초하여 수정된 패킷을 송신하도록 구성될 수도 있다. 예를 들어, 제 2 오디오 프레임 (예를 들어, N 번째 오디오 프레임) 의 프라이머리 코딩을 포함하는 패킷을 수신함에 있어서 에러가 있는 경우, 미디어 게이트웨이 (120) 는 패킷 (160) 을 수정하여 수정된 패킷 (170) 을 생성할 수도 있고, 수정된 패킷 (170) 은 제 2 디바이스 (140) 에 송신될 수도 있다. 추가로, N 번째 패킷 (예를 들어, 제 2 오디오 프레임의 프라이머리 코딩을 포함하는 패킷) 을 수신함에 있어서 어떠한 에러도 없는 경우, 미디어 게이트웨이 (120) 는 N 번째 패킷을 수정하여 수정된 패킷 (170) 을 생성할 수도 있고, 시그널링 정보 (172) 는 수정된 패킷 (170) 내의 프라이머리 코딩이 디코딩되어야 함을 표시할 수도 있다. 도 1 에 예시된 특정 구현에서, 프로세서 (122) 는 리던던트 코딩 (164) 의 하나 이상의 비트들 (166) 에 시그널링 정보 (172) 를 나타냄으로써 수정된 패킷 (170) 을 생성하도록 구성될 수도 있다. 다른 구현들에서, 시그널링 정보 (172) 는, 본 명세서에서 추가로 설명되는 바와 같이, 수정된 패킷 (170) 내의 다른 비트 위치들 (다른 비트 포지션들) 에 포함될 (예를 들어, 이들에 의해 나타내어질) 수도 있다.
시그널링 정보 (172) 는 프라이머리 코딩 (162) 또는 리던던트 코딩 (164) 의 디코딩에 대응할 수도 있다. 예를 들어, 시그널링 정보 (172) 는 프라이머리 코딩 (162) 또는 리던던트 코딩 (164) 을 디코딩할지 여부를 표시할 수도 있다. 특정 구현에서, 시그널링 정보 (172) 는 하나 이상의 비트들 (166) 을 대체시킬 수도 있다. 예를 들어, 수정된 패킷 (170) 의 오프셋 필드는 시그널링 정보 (172) 를 표시할 수도 있다. 대안적으로, 하나 이상의 비트들 (166) 은 비제한적인 예들로서 무선 링크 정보, 채널 에러 레이트, 또는 전력 제어 정보와 같은 다른 정보에 추가적으로 시그널링 정보 (172) 를 표시할 수도 있다. 상술된 바와 같이, 시그널링 정보 (172) 는 패킷의 어떤 부분 (예를 들어, 프라이머리 코딩 또는 리던던트 코딩) 이 디코딩될지를 표시한다. 일부 구현들에서, 단일 시그널링 비트는 시그널링 정보 (172) 를 표시한다. 단일 시그널링 비트는 수정된 패킷 (170) 내에 포지셔닝될 수도 있다. 예를 들어, 단일 시그널링 비트는 제 1 오디오 프레임의 프라이머리 코딩 (162) 내에 또는 제 2 오디오 프레임의 리던던트 코딩 (164) 내에 포지셔닝될 수도 있다. 대안적으로, 단일 시그널링 비트는 수정된 패킷 (170) 의 페이로드 내의 다른 위치에 포지셔닝될 수도 있다. 수정된 패킷 (170) 내의 단일 시그널링 비트의 정밀한 포지션은 채널 인식 (CA) 프레임 타입, 코더 타입, 대역폭 모드 (예를 들어, 초광대역 (swb) 모드 또는 광대역 (wb) 모드), 또는 이들의 조합에 의존할 수도 있고, 향상된 보이스 서비스 (EVS) 표준과 같은 하나 이상의 산업 표준들에 의해 규정될 수도 있다. 예를 들어, 구현에서, 단일 시그널링 비트의 위치는 다음의 표에 기초하여 결정될 수도 있다:
Figure 112018040712120-pct00001
표 1 은 시그널링 비트 (예를 들어, 시그널링 정보 (172)) 를 포지셔닝하는 특정 예들을 예시한다. 시그널링 비트의 포지셔닝은 CA 프레임 타입, 코더 타입, 및 모드 (예를 들어, swb 또는 wb) 에 의존할 수도 있다. 비트 포지셔닝은 b [비트 포지션] 에 의해 표 1 에 표시된다. 예를 들어, b [175] 는 시그널링 비트가 프레임의 175 번째 비트임을 표시한다. 특정 예에서, CA 프레임은 타입 3 CA 프레임이고, 코더는 타입 3 코더이고, 미디어 게이트웨이 (120) 는 swb 모드에서 동작한다. 이 예에서, 시그널링 비트는 수정된 패킷 (170) 의 229 번째 비트 포지션에 위치된다.
프로세서 (122) 는 제 2 오디오 프레임의 프라이머리 코딩을 포함하는 제 2 패킷이 이용불가능하다는 결정에 응답하여 수정된 패킷 (170) 을 생성하도록 구성될 수도 있다. 제 2 패킷이 이용불가능하다는 결정은 제 2 패킷이 손상되어 있다는 결정에 기초할 수도 있다. 대안적으로, 제 2 패킷이 이용불가능하다는 결정은 제 2 패킷이 수신되지 않았다는 결정에 기초할 수도 있다. 수정된 패킷 (170) 은, 도 2 를 참조하여 추가로 설명되는 바와 같이, 제 2 오디오 프레임과 연관된 타임 슬롯 동안 송신될 수도 있다.
예시하기 위해, N 번째 오디오 프레임의 프라이머리 코딩을 포함하는 패킷이 이용불가능하고 (N 번째 오디오 프레임의 리던던트 코딩 (164) 을 포함하는) 패킷 (160) 이 이용가능한 경우, 프로세서 (122) 는 패킷 (160) 에 기초하여 수정된 패킷 (170) 을 생성할 수도 있다. 수정된 패킷 (170) 을 생성하기 위해, 프로세서 (122) 는, 리던던트 코딩 (164) 에, 시그널링 정보 (172) 를 표시하는 하나 이상의 비트들 (166) 을 포함시킬 수도 있다. 시그널링 정보 (172) 는 리던던트 코딩 (164) 이 디코딩되어야 함을 표시할 수도 있다. 예시적 예로서, 미디어 게이트웨이 (120) 는 향상된 보이스 서비스 채널 인식 (EVS-CA) 동작 모드에서 동작할 수도 있고, 미디어 게이트웨이 (120) 는 N 번째 오디오 프레임의 비가용성 (또는 에러) 을 검출할 수도 있다. 미디어 게이트웨이 (120) 는 N 번째 오디오 프레임의 프라이머리 코딩 (162) 을 포함하는 패킷 (160) 내의 제 2 오디오 프레임의 리던던트 코딩 (164) 을 수신할 수도 있다. 미디어 게이트웨이 (120) 는 수정된 패킷 (170) 으로서 장래의 (N+k) 번째 오디오 프레임의 프라이머리 코딩 (162) 과 함께 N 번째 오디오 프레임의 리던던트 코딩 (164) 을 인코딩 및 송신하도록 구성될 수도 있다. 수정된 패킷 (170) 은 제 2 디바이스 (140) 에 송신될 수도 있다. 오프셋 파라미터 k 는 오디오 프레임의 프라이머리 코딩 (162) 과 오디오 프레임의 리던던트 코딩 (164) 사이의 분리를 표시할 수도 있다. 특정 구현에서, 수정된 패킷 (170) 은 오프셋 k 를 나타내는 제 1 비트 값, 미디어 게이트웨이 (120) 가 채널 인식 모드에서 동작하고 있음을 표시하는 제 2 비트 값, 및 N 번째 오디오 프레임의 리던던트 코딩 (164) 의 길이-인덱스에 대응하는 제 3 비트 값을 포함한다. 추가적으로, 시그널링 비트 (예를 들어, 시그널링 정보 (172)) 는 논리 1 값 (logical one value) 으로 설정될 수도 있다. 시그널링 비트의 논리 1 값은 N 번째 프레임의 리던던트 코딩 (164) 이 제 2 디바이스 (140) 에 의해 디코딩되어야 함을 표시한다. 시그널링 비트를 논리 값으로 설정하는 것은 제 2 디바이스 (140) 에 대한 N 번째 프레임과 연관된 프레임 소거 (또는 다른 에러) 를 표시할 수도 있다.
미디어 게이트웨이 (120) 가 N 번째 패킷 및 (N+k) 번째 패킷을 수신하지 못하는 경우와 같은 특정 경우들에서, 미디어 게이트웨이 (120) 는 수정된 패킷 (170) 을 제 2 디바이스 (140) 에 전송하는 것을 억제함으로써 프레임 소거를 시그널링할 수도 있다. 추가적으로 또는 대안적으로, 패킷이 시그널링 비트를 포함하지 않는 경우 (예를 들어, 패킷이 표 1 에서와 같이 CA 타입 0, 1, 또는 7 을 갖는 경우), 미디어 게이트웨이 (120) 는 수정된 패킷 (170) 을 제 2 디바이스 (140) 에 전송하는 것을 억제함으로써 프레임 소거를 시그널링할 수도 있다.
수정된 패킷 (170) 을 생성한 후에, 미디어 게이트웨이 (120) 는 수정된 패킷 (170) 을 회선 교환 네트워크 (154) 를 통해 제 2 디바이스 (140) 에 송신할 수도 있다. 수정된 패킷 (170) 은 제 2 디바이스 (140) 가 제 2 오디오 프레임 (예를 들어, N 번째 오디오 프레임) 을 적어도 부분적으로 재구성하는 것을 가능하게 할 수도 있다. 대안적으로, 수정된 패킷 (170) 을 생성하기 위해, 프로세서 (122) 는, 프라이머리 코딩 (162) 에, 시그널링 정보 (172) 를 표시하는 하나 이상의 비트들 (166) 을 포함시킬 수도 있다.
제 2 디바이스 (140) 는 프로세서 (142) 및 메모리 (144) 를 포함한다. 특정 구현에서, 메모리 (144) 는 본 명세서에서 설명되는 다양한 동작들을 수행하기 위해 프로세서 (142) 에 의해 실행가능한 명령들을 저장한다. 제 2 디바이스 (140) 는 또한 디코더 (146) 및 네트워크 인터페이스 (148) 를 포함한다. 네트워크 인터페이스 (148) 는 회선 교환 네트워크 (154) 를 통해 수정된 패킷 (170) 을 수신하도록 구성되는 회선 교환 네트워크 인터페이스일 수도 있다. 네트워크 인터페이스 (148) 는 회선 교환 네트워크 (154) 를 통한 데이터의 송신 및 수신을 가능하게 하기 위해 송신기, 수신기, 또는 트랜시버에 커플링될 수도 있다. 디코더 (146) 는 네트워크 인터페이스 (148) 에서 수신된 패킷을 디코딩하도록 구성될 수도 있다. 특정 구현에서, 디코더 (146) 는 인코딩 및 디코딩 동작들을 수행하도록 구성되는 보코더 (보이스 인코더-디코더) 의 부분일 수도 있다.
특정 구현에서, 제 2 디바이스 (140) 는 도 1 에 프리-리던던시 버퍼 (150) 로서 예시되는 버퍼를 포함한다. 프리-리던던시 버퍼 (150) 가 메모리 (144) 와 별개로 예시되지만, 일부 구현들에서 프리-리던던시 버퍼 (150) 는 메모리 (144) 에 포함될 수도 있다. 네트워크 인터페이스 (148) (또는 프로세서 (142)) 는 수신된 패킷들 (예를 들어, 오디오 프레임들) 의 미사용된 부분들을 프리-리던던시 버퍼 (150) 에 저장할 수도 있다. 미사용된 부분들은 프리-리던던시 버퍼 (150) 에 저장될 수도 있고, 이용불가능한 패킷에 대응하는 오디오 프레임을 복구하기 위해 취출될 수도 있다.
예시하기 위해, 제 2 디바이스 (140) 는 제 1 오디오 프레임의 프라이머리 코딩 (162), 제 2 오디오 프레임의 리던던트 코딩 (164), 및 시그널링 정보 (172) 를 포함하는 수정된 패킷 (170) 을 수신할 수도 있다. 수정된 패킷 (170) 은 미디어 게이트웨이 (120) 에서 이용불가능하였을 수도 있는 제 2 오디오 프레임의 프라이머리 코딩을 포함하는 패킷 대신에 수신될 수도 있다. 시그널링 정보 (172) 에 기초하여, 제 2 디바이스 (140) 는 리던던트 코딩 (164) 을 디코딩하여 제 2 디바이스 (140) 에서의 재생을 위한 제 2 오디오 프레임을 생성 (또는 복구) 할 수도 있다. 추가적으로, 제 2 디바이스 (140) 는 프라이머리 코딩 (162) 을 프리-리던던시 버퍼 (150) 에 저장할 수도 있다. 제 1 오디오 프레임과 연관된 추후의 타임 슬롯 동안, 미디어 게이트웨이 (120) 는 프라이머리 코딩 (162) 이 디코딩되어야 함을 표시하는 시그널링 정보 (172) 를 갖는 수정된 패킷 (170) 을 송신할 수도 있다. 회선 교환 네트워크 (154) 에서의 네트워크 에러로 인해, 수정된 패킷 (170) 은 추후의 타임 슬롯 동안 이용불가능할 수도 있다 (예를 들어, 손상될 수도 있거나 또는 수신되지 않았을 수도 있다). 제 2 디바이스 (140) 는 프리-리던던시 버퍼 (150) 로부터 프라이머리 코딩 (162) 을 취출할 수도 있고 제 1 오디오 프레임의 프라이머리 코딩 (162) 을 디코딩하여 제 2 디바이스 (140) 에서의 재생을 위한 제 1 오디오 프레임 (예를 들어, (N+2) 번째 오디오 프레임) 을 생성할 수도 있다. 프라이머리 코딩 (162) 은 에러가 타임 슬롯과 연관된다는 결정에 응답하여 취출될 수도 있다. 특정 구현에서, 에러는 제 1 오디오 프레임의 프라이머리 코딩을 포함하는 제 2 패킷이 손상되어 있다는 결정에 기초하여 결정된다. 대안적으로, 에러는 제 1 오디오 프레임의 프라이머리 코딩을 포함하는 제 2 패킷이 타임 슬롯 동안 수신되지 않았다는 결정에 기초하여 결정된다.
프리-리던던시 버퍼 (150) 로부터 취출될 프라이머리 코딩은 오프셋 값에 기초하여 결정될 수도 있다. 예를 들어, (N+2) 번째 프레임의 프라이머리 코딩 (162) 에 대한 오프셋 값은 2 일 수도 있고, 2 의 오프셋을 갖는 타임 슬롯 동안 에러가 발생하는 경우, 프라이머리 코딩 (162) 이 취출될 수도 있다. 오프셋 값은 프레임 에러 은닉 (frame error concealment; FEC) 오프셋으로 지칭될 수도 있다. 특정 구현에서, 시그널링 정보 (172) 는 제 1 오디오 프레임과 제 2 오디오 프레임 사이의 오프셋을 표시한다. 예를 들어, 시그널링 정보 (172) 는 2 비트 값일 수도 있고, 제 1 값은 프라이머리 코딩 (162) 이 디코딩되어야 함을 표시할 수도 있고, 제 2 값은 세컨더리 코딩 (164) 이 디코딩되어야 하고 오프셋이 2 임을 표시할 수도 있고, 제 3 값은 세컨더리 코딩 (164) 이 디코딩되어야 하고 오프셋이 3 임을 표시할 수도 있고, 제 4 값은 세컨더리 코딩 (164) 이 디코딩되어야 하고 오프셋이 5 임을 표시할 수도 있다. 다른 구현들에서, 시그널링 정보 (172) 는 2 비트들보다 더 많거나 또는 더 적은 비트를 가질 수도 있고, 다른 오프셋들 및 다른 정보는 시그널링 정보 (172) 에 의해 표시될 수도 있다.
동작 동안, 제 1 디바이스 (102) 는 패킷 (160) 을 포함하는 패킷들의 시퀀스를 인코딩하여 이것을 패킷 교환 네트워크 (152) 를 통해 미디어 게이트웨이 (120) 에 송신할 수도 있다. 미디어 게이트웨이 (120) 는 수신된 패킷들 (예를 들어, 오디오 프레임들) 을 디-지터 버퍼 (130) 에 버퍼링할 수도 있다. 미디어 게이트웨이 (120) 는 고정된 간격에서 수정된 패킷들을 회선 교환 네트워크 (154) 를 통해 제 2 디바이스 (140) 에 송신할 수도 있다. 일부 구현들에서, 미디어 게이트웨이 (120) 는 어떠한 에러도 발생하지 않은 경우 수신되는 패킷들을 포워딩할 수도 있고, 제 2 디바이스 (140) 는 디폴트로 패킷 내의 프라이머리 코딩을 디코딩하도록 구성될 수도 있다. 다른 구현들에서, 미디어 게이트웨이 (120) 는 프라이머리 코딩이 디코딩되어야 함을 표시하는 시그널링 정보를 포함할 수도 있다. 미디어 게이트웨이 (120) 가 제 2 오디오 프레임의 프라이머리 코딩을 포함하는 패킷이 이용불가능하다고 결정하는 경우, 미디어 게이트웨이 (120) 는, 리던던트 코딩 (164) 에, 시그널링 정보 (172) 를 표시하는 하나 이상의 비트들 (166) 을 포함시킴으로써 수정된 패킷 (170) 을 생성한다. 시그널링 정보 (172) 는 프라이머리 코딩 (162) 또는 리던던트 코딩 (164) 중 적어도 하나의 코딩의 디코딩에 대응한다. 도 1 에 예시된 수정된 패킷 (170) 에서, 시그널링 정보 (172) 는 리던던트 코딩 (164) 이 디코딩되어야 함을 표시한다. 하나 이상의 비트들 (166) 은, 제 2 디바이스 (140) 로부터 제 1 디바이스 (102) 로의 통신들의 리턴을 위해 사용될 코덱 모드에 관련된 코덱 모드 요청 (codec mode request; CMR) 비트들과 같은, 오디오 프레임들의 디코딩에 관련되지 않은 다른 비트들과는 대조적으로, 제 1 오디오 프레임 또는 제 2 오디오 프레임의 디코딩에 관련된 오프셋 비트들 또는 다른 비트들과 같은 비트들을 포함한다. 다른 구현들에서, 리던던트 코딩 (164) 의 저대역 코어, 리던던트 코딩 (164) 의 고대역 파라미터들, 또는 이들의 조합의 하나 이상의 비트들은 시그널링 정보 (172) 를 표시할 수도 있다. 다른 구현에서, 리던던트 코딩 (164) 의 단일 비트는 시그널링 정보 (172) 를 표시할 수도 있다. 특정 구현에서, 단일 비트의 "0" 값은 프라이머리 코딩 (162) 이 디코딩되어야 함을 표시할 수도 있고, 단일 비트의 "1" 값은 리던던트 코딩 (164) 이 디코딩되어야 함을 표시할 수도 있다.
특정 구현에서, 하나 이상의 비트들 (166) 은 오프셋 비트들을 포함하고, 시그널링 정보 (172) 는 오프셋 비트들을 대체시킨다. 미디어 게이트웨이 (120) 에서 오프셋 비트들을 대체시키는 것은 제 2 디바이스 (140) 가 프리-리던던시 버퍼 (150) 를 포함하지 않고 회선 교환 네트워크 (154) 에서의 에러들의 경우에서의 사용을 위해 수신된 오디오 프레임들의 카피들을 저장하지 않는 구현들에서 허용가능할 수도 있다. 대안적으로, 시그널링 정보 (172) 는 프라이머리 코딩 (162) 또는 리던던트 코딩 (164) 이 디코딩되어야 하는지 여부를 표시하는 것에 추가적으로 오프셋을 표시할 수도 있다. 다른 특정 구현에서, 리던던트 코딩 (164) 은 시그널링 정보 (172) 를 표시하기 위해 워터마킹된다. 예를 들어, 리던던트 코딩 (164) 은 시그널링 정보 (172) 를 포함하기 위해 데이터 스테가노그래피 (data steganography) 또는 데이터 은닉 기법을 사용하여 워터마킹될 수도 있다. 제 2 디바이스 (140) 는 시그널링 정보 (172) 를 취출하기 위해 워터마킹된 리던던트 코딩 (164) 을 검출 및 프로세싱하는 것이 가능할 수도 있다. 특정 구현에서, 리던던트 코딩 (164) 내의 워터마킹은 시그널링 정보 (172) 를 표시하는 데 사용될 수도 있다. 대안적으로, 워터마킹의 존재는 시그널링 정보 (172) 에 대응할 수도 있다. 예를 들어, 리던던트 코딩 (164) 이 워터마킹된 경우, 제 2 디바이스 (140) 는 리던던트 코딩 (164) 을 디코딩하도록 결정할 수도 있고, 리던던트 코딩 (164) 이 워터마킹되지 않은 경우, 제 2 디바이스 (140) 는 프라이머리 코딩 (162) 을 디코딩하도록 결정할 수도 있다. 다른 구현들에서, 제 2 디바이스 (140) 는 리던던트 코딩 (164) 이 워터마킹되는 경우 프라이머리 코딩 (162) 을 디코딩할 수도 있고, 제 2 디바이스 (140) 는 리던던트 코딩 (164) 이 워터마킹되지 않은 경우 리던던트 코딩 (164) 을 디코딩할 수도 있다.
수정된 패킷 (170) 을 수신한 후에, 제 2 디바이스 (140) 는 시그널링 정보 (172) 에 기초하여 수정된 패킷 (170) 의 부분을 디코딩하여 제 2 디바이스 (140) 에서의 재생을 위한 오디오 프레임을 생성할 수도 있다. 예를 들어, 수정된 패킷 (170) 의 시그널링 정보는 리던던트 코딩 (164) 이 디코딩되어야 함을 표시할 수도 있고 제 2 디바이스 (140) 는 제 2 오디오 프레임 (예를 들어, N 번째 오디오 프레임) 의 리던던트 코딩 (164) 을 디코딩하여 재생을 위한 제 2 오디오 프레임을 생성할 수도 있다. 추가적으로, 제 2 디바이스 (140) 는 프라이머리 코딩 (162) 을 프리-리던던시 버퍼 (150) 에 저장할 수도 있다. 제 1 오디오 프레임 (예를 들어, (N+2) 번째 오디오 프레임) 과 연관된 타임 슬롯 동안 에러가 발생하는 경우, 제 2 디바이스 (140) 는 프리-리던던시 버퍼 (150) 로부터 프라이머리 코딩 (162) 을 취출하여 재생을 위한 제 1 오디오 프레임 (예를 들어, (N+2) 번째 오디오 프레임) 을 생성할 수도 있다.
도 1 의 시스템 (100) 은 미디어 게이트웨이 (120) 가 리던던트 프레임 정보를 사용하여 시그널링 정보를 갖는 수정된 패킷들을 회선 교환 네트워크 디바이스 (예를 들어, 제 2 디바이스 (140)) 에 제공하는 것을 가능하게 한다. 시그널링 정보 (172) 는 수정된 패킷 (170) 의 어떤 부분이 디코딩되어야 할지를 제 2 디바이스 (140) 에게 표시한다. 따라서, 프라이머리 코딩을 갖는 패킷이 이용불가능한 경우, 특정 오디오 프레임의 리던던트 코딩을 갖는 패킷이 제 2 디바이스 (140) 에 제공될 수도 있고, 리던던트 코딩이 제 2 디바이스 (140) 에 의해 사용되어 패킷 교환 네트워크 (152) 에서의 네트워크 에러들을 보상 (또는 은닉) 할 수도 있다. 또한, 제 2 디바이스 (140) 는 패킷들의 미사용된 부분들의 카피들을 프리-리던던시 버퍼 (150) 에 저장할 수도 있다. 특정 오디오 프레임의 프라이머리 코딩을 포함하는 패킷이 연관된 타임 슬롯 동안 이용불가능할 때 (예를 들어, 손상되거나 또는 수신되지 않을 때) 카피들은 특정 오디오 프레임을 디코딩하기 위해 취출 및 사용될 수도 있다. 따라서, 제 2 디바이스 (140) 는 또한 회선 교환 네트워크 (154) 에서의 네트워크 에러들을 보상 (또는 은닉) 할 수도 있다.
상기의 설명에서, 도 1 의 시스템 (100) 에 의해 수행되는 다양한 기능들은 특정 컴포넌트들에 의해 수행되는 것으로서 설명된다. 그러나, 컴포넌트들의 이러한 분할은 단지 예시를 위한 것이다. 대안적인 구현에서, 특정 컴포넌트에 의해 수행되는 기능이 그 대신에 다수의 컴포넌트들 중에서 분할될 수도 있다. 더욱이, 대안적인 구현에서, 도 1 의 2 개 이상의 컴포넌트들은 단일 컴포넌트로 통합될 수도 있다. 도 1 에 예시된 각각의 컴포넌트는 하드웨어 (예를 들어, 필드 프로그래밍가능 게이트 어레이 (FPGA) 디바이스, 주문형 집적 회로 (ASIC), DSP, 제어기 등), 소프트웨어 (예를 들어, 프로세서에 의해 실행가능한 명령들), 또는 이들의 조합을 사용하여 구현될 수도 있다.
도 2 를 참조하면, 시그널링 정보를 표시하기 위해 미디어 게이트웨이에서 패킷들의 시퀀스를 수정하는 특정 구현의 다이어그램이 도시되고 일반적으로 200 으로 지정된다. 미디어 게이트웨이는 도 1 의 미디어 게이트웨이 (120) 를 포하거나 또는 그에 대응할 수도 있다.
패킷들이 제 1 네트워크 인터페이스 (126) 에 의해 수신됨에 따라, 패킷들 (예를 들어, 오디오 프레임들) 은 디-지터 버퍼 (130) 에 저장될 수도 있다. 도 1 을 참조하여 설명된 바와 같이, 패킷 교환 네트워크 (152) 에서의 네트워크 조건들로 인해, 소스 디바이스 (예를 들어, 제 1 디바이스 (102)) 에 의해 전송된 패킷들은 순서가 바뀌어 도달할 수도 있거나, 손상될 수도 있거나, 또는 전혀 도달하지 못할 수도 있다. 미디어 게이트웨이 (120) (예를 들어, 프로세서 (122)) 는 패킷 시퀀스 또는 프레임 시퀀스에 따라 디-지터 버퍼 (130) 로부터 패킷들 (예를 들어, 오디오 프레임들) 을 취출할 수도 있다. 예를 들어, 패킷들은 시퀀스 번호들, 타임스탬프들, 또는 패킷들에 포함된 다른 시퀀싱 정보에 기초하여 취출될 수도 있다. 예시하기 위해, 미디어 게이트웨이 (120) 는 (N+1) 번째 패킷 (202) 에 앞서 N 번째 패킷 (210) 을 취출하려고 시도할 수도 있고, 미디어 게이트웨이 (120) 는 (N+2) 번째 패킷 (160) 에 앞서 (N+1) 번째 패킷 (202) 을 취출하려고 시도할 수도 있다.
특정 구현에서, 패킷 시퀀스의 패킷들 각각은 다수의 오디오 프레임들의 코딩을 포함한다. 예를 들어, N 번째 패킷 (210) 은 N 번째 오디오 프레임의 프라이머리 코딩 (212) 및 (N-2) 번째 오디오 프레임의 리던던트 코딩 (214) 을 포함하고, (N+1) 번째 패킷 (202) 은 (N+1) 번째 오디오 프레임의 프라이머리 코딩 (204) 및 (N-1) 번째 오디오 프레임의 리던던트 코딩 (206) 을 포함하고, (N+2) 번째 패킷 (160) 은 (N+2) 번째 오디오 프레임의 프라이머리 코딩 (162) 및 N 번째 오디오 프레임의 리던던트 코딩 (164) 을 포함한다. 대안적으로, 하나 이상의 패킷들은 단일 오디오 프레임의 코딩 (예를 들어, 단일 오디오 프레임의 프라이머리 코딩) 을 포함할 수도 있다. 리던던트 코딩 (164, 206, 및 214) 은 또한 하나 이상의 비트들 (166, 208, 및 216) 을 각각 포함할 수도 있다. 하나 이상의 비트들 (216, 208, 및 166) 은 오디오 프레임들과 연관된 정보를 포함할 수도 있다. 예를 들어, 하나 이상의 비트들 (216, 208, 및 166) 은 오프셋 비트들일 수도 있다. 예시의 용이를 위해, (N-1) 번째 패킷, (N+3) 번째 패킷 등과 같은 패킷 시퀀스의 추가적인 패킷들이 도 2 에 도시되지 않는다.
미디어 게이트웨이 (120) 는 고정된 간격들에서 수정된 패킷들을 회선 교환 네트워크 (154) 를 통해 제 2 디바이스 (140) 에 제공할 수도 있다. 예를 들어, 미디어 게이트웨이는 N 번째 타임 슬롯 (230) 동안 N 번째 오디오 프레임에 대응하는 패킷, (N+1) 번째 타임 슬롯 (232) 동안 (N+1) 번째 오디오 프레임에 대응하는 패킷, 및 (N+2) 번째 타임 슬롯 (234) 동안 (N+2) 번째 오디오 프레임에 대응하는 패킷을 제공할 수도 있다. 미디어 게이트웨이 (120) 는 대응하는 패킷이 제 1 디바이스 (102) 로부터 에러들 없이 수신되었는지 여부에 기초하여 제 2 디바이스 (140) 에 제공하기 위해 수정될 패킷을 결정할 수도 있다.
도 2 에 예시된 예에서, N 번째 패킷 (210) 은 수정된 패킷을 생성함에 있어서의 사용을 위해 이용불가능하다. 예를 들어, 미디어 게이트웨이 (120) 는 N 번째 패킷 (210) 이 디-지터 버퍼 (130) 에서 이용가능하지 않다는 (예를 들어, N 번째 패킷 (210) 이 수신되지 않았다는) 것을 결정할 수도 있다. 다른 예로서, 미디어 게이트웨이 (120) 는 N 번째 패킷 (210) 이 디-지터 버퍼 (130) 에 있다는 것을 결정할 수도 있지만, N 번째 패킷 (210) 의 디코딩 동안 에러가 발생할 수도 있다 (예를 들어, N 번째 패킷 (210) 또는 그의 부분이 손상된다). (손상 또는 수신되지 않은 것으로 인해) N 번째 패킷 (210) 이 이용불가능하다는 결정에 기초하여, 미디어 게이트웨이 (120) 는 N 번째 오디오 프레임에 대한 리던던트 프레임 정보가 디-지터 버퍼 (130) 에서 이용가능한지 여부를 체크할 수도 있다. 예를 들어, 미디어 게이트웨이 (120) 는 디-지터 버퍼 (130) 내의 각각의 패킷을 체크할 수도 있고, 식별자 (예를 들어, 시퀀스 식별자, 타임스탬프 등) 및 오프셋 값에 기초하여, 미디어 게이트웨이 (120) 는 N 번째 오디오 프레임의 리던던트 정보가 이용가능하다는 것을 결정할 수도 있다.
도 2 에 예시된 바와 같이, (N+2) 번째 패킷 (160) 은 N 번째 오디오 프레임의 리던던트 코딩 (164) 을 포함한다. 미디어 게이트웨이 (120) 는 리던던트 코딩 (164) 이 디코딩되어야 함을 특정하는 시그널링 정보 (172) 를 표시하기 위해 (N+2) 번째 패킷 (160) (예를 들어, 리던던트 코딩 (164)) 을 수정함으로써 수정된 패킷 (170) 을 생성할 수도 있다. 수정된 패킷 (170) 을 생성한 후에, 미디어 게이트웨이 (120) 는 N 번째 타임 슬롯 (230) 동안 수정된 패킷 (170) 을 제 2 디바이스 (140) 에 송신할 수도 있다. 제 2 디바이스 (140) 는 시그널링 정보 (172) 를 갖는 수정된 패킷 (170) 을 수신하고, 시그널링 정보 (172) 에 기초하여 N 번째 오디오 프레임의 리던던트 코딩 (164) 을 디코딩하고, 제 2 디바이스 (140) 에서의 재생을 위한 N 번째 오디오 프레임을 생성할 수도 있다. 따라서, 시그널링 정보 (172) 를 갖는 수정된 패킷 (170) 은 제 2 디바이스 (140) 가 패킷 교환 네트워크 (152) 에서의 에러를 보상 (또는 은닉) 하는 것을 가능하게 할 수도 있다. N 번째 오디오 프레임의 리던던트 코딩 (164) 을 포함하는 패킷 (160) 이 디-지터 버퍼 (130) 에서 이용가능하지 않은 경우, 미디어 게이트웨이 (120) 는 상이한 에러 은닉 동작을 수행할 수도 있다. 도 2 에서 리던던트 코딩에 포함되는 것으로서 예시되지만, 다른 구현들에서는, 시그널링 정보를 표시하기 위해 하나 이상의 비트들이 수정된 패킷들의 다른 부분들에 포함될 수도 있다. 예를 들어, 수정된 패킷들의 프라이머리 코딩은 시그널링 정보를 표시할 수도 있다. 다른 예로서, 수정된 패킷들의 페이로드들의 다른 부분들은, 도 3 을 참조하여 추가로 설명되는 바와 같이, 시그널링 정보를 표시할 수도 있다.
대응하는 패킷이 미디어 게이트웨이 (120) 에서 에러 없이 수신되는 경우, 미디어 게이트웨이 (120) 는 시그널링 정보를 표시하기 위해 하나 이상의 비트들을 포함하도록 패킷을 수정할 수도 있다. 예를 들어, 하나 이상의 비트들은 프라이머리 코딩이 디코딩되어야 함을 특정한다. 미디어 게이트웨이 (120) 는 대응하는 타임 슬롯 동안 수정된 패킷을 제 2 디바이스 (140) 에 송신할 수도 있다. 예를 들어, 미디어 게이트웨이 (120) 는 (N+1) 번째 패킷 (202) 을 에러 없이 수신하고, (N+1) 번째 오디오 프레임의 프라이머리 코딩 (204) 이 디코딩되어야 함을 표시하는 리던던트 코딩 (206) 내의 시그널링 정보 (222) 를 포함하는 수정된 패킷 (220) 을 생성하고, (N+1) 번째 타임 슬롯 (232) 동안 수정된 패킷 (220) 을 제 2 디바이스 (140) 에 송신할 수도 있다. 다른 예로서, 미디어 게이트웨이 (120) 는 (N+2) 번째 패킷 (160) 을 에러 없이 수신하고, (N+2) 번째 오디오 프레임의 프라이머리 코딩 (162) 이 디코딩되어야 함을 표시하는 리던던트 코딩 (164) 내의 시그널링 정보 (252) 를 포함하는 수정된 패킷 (250) 을 생성하고, (N+2) 번째 타임 슬롯 (234) 동안 수정된 패킷 (250) 을 제 2 디바이스 (140) 에 송신할 수도 있다. 도 2 에 예시된 바와 같이, 수정된 패킷들 (170 및 250) 은 동일한 프라이머리 코딩 (162) 및 리던던트 코딩 (164) 을 포함할 수도 있지만, 시그널링 정보 (172 및 252) 가 상이하여 상이한 부분들이 디코딩되어야 함을 표시한다.
따라서, 도 2 는 미디어 게이트웨이 (120) 가 특정 오디오 프레임의 프라이머리 코딩을 포함하는 패킷이 이용불가능할 때 수정된 프레임을 제공하기 위해 디-지터 버퍼 (130) 에 저장된 오디오 프레임들의 리던던트 코딩을 어떻게 사용하는 것이 가능한지를 예시한다. 특정 오디오 프레임의 리던던트 코딩이 디코딩되어야 함을 표시하는 시그널링 정보를 갖는 수정된 프레임을 제공하면, 제 2 디바이스 (140) 가 제 2 디바이스 (140) 에서의 재생을 위한 특정 오디오 프레임을 생성하는 것을 가능하게 하고 패킷 교환 네트워크 (152) 에서의 네트워크 에러를 보상 (또는 은닉) 할 수도 있다.
도 3 은 도 1 의 수정된 패킷 (170) 의 페이로드들의 예들을 예시한다. 도 3 에 예시된 바와 같이, 수정된 패킷 (170) 은 헤더 (302) 및 페이로드 (304) 를 포함한다. 헤더 (302) 는 하나 이상의 헤더 비트들을 포함할 수도 있다. 페이로드 (304) 는, 본 명세서에서 추가로 설명되는 바와 같이, (예를 들어, 프라이머리 코딩 (162) 및 리던던트 코딩 (164) 의) 데이터 비트들 또는 다른 비트들을 포함할 수도 있다. 페이로드 (304) 는, 도 3 의 예들 (310, 330, 340, 및 350) 에 의해 예시된 바와 같이, 시그널링 정보 (172) 를 표시하는 하나 이상의 비트들을 포함하도록 다양한 방법들로 수정될 수도 있다.
페이로드 (304) 는 제 1 오디오 프레임 (예를 들어, 도 1 및 도 2 의 (N+2) 오디오 프레임) 의 프라이머리 코딩 영역 (312) 및 제 2 오디오 프레임 (예를 들어, 도 1 및 도 2 의 N 번째 오디오 프레임) 의 리던던트 코딩 영역 (314) 을 포함할 수도 있다. 리던던트 코딩 영역 (314) 은 또한 패딩 비트들 영역 (316), 오프셋 비트들 영역 (328), 코덱 타입 표시자 영역 (318), 리던던시 프레임 플래그 영역 (320), 샤프 플래그 영역 (322), 모드 표시자 영역 (324), 및 대역폭 확장 (BWE) 계층 파라미터 영역 (326) 을 포함할 수도 있다. 프라이머리 코딩 영역 (312) 은 또한 편의를 위해 예시되지 않은 패딩 비트들과 같은 추가적인 비트들 또는 영역들을 포함할 수도 있다. 도 3 의 수정된 패킷 (170) 의 영역들의 배열은 편의를 위한 것이며 제한적이지 않다. 다른 구현들에서, 영역들 (312 내지 328) 은 도 3 에 도시된 것과는 상이한 순서로 배열될 수도 있다. 추가적으로, 하나 이상의 영역들이 생략될 수도 있고, 하나 이상의 추가적인 영역들이 수정된 패킷 (170) 에 포함될 수도 있다. 또한, 영역들 (312 내지 328) 의 사이즈들은 본 명세서에서 설명되는 것과는 상이할 수도 있다. 특정 구현에서, 수정된 패킷 (170) 의 영역들의 수, 배열, 및 사이즈들은 EVS 표준과 같은 하나 이상의 무선 통신 표준들에서 정의된다.
프라이머리 코딩 영역 (312) 은 제 1 오디오 프레임의 프라이머리 코딩 (162) 을 포함한다. 프라이머리 코딩 (162) 은 제 1 오디오 프레임의 인코딩된 저대역 코어 및 제 1 오디오 프레임의 고대역 파라미터들을 포함할 수도 있다. 리던던트 코딩 영역 (314) 은 제 2 오디오 프레임의 리던던트 코딩 (164) 을 포함할 수도 있다. 리던던트 코딩 (164) 은 제 2 오디오 프레임의 고대역 이득 성형 (high-band gain shape) 과 연관된 이득 성형 표시자를 포함할 수도 있다. 추가적으로 또는 대안적으로, 리던던트 코딩은 제 1 오디오 프레임의 고대역 이득 성형과 연관된 고대역 이득 프레임 표시자를 포함할 수도 있다. 추가적으로 또는 대안적으로, 리던던트 코딩은 제 2 오디오 프레임의 고대역 라인 스펙트럼 쌍 (line spectral pair; LSP) 들과 연관된 고대역 LSP 표시자를 포함할 수도 있다.
예시하기 위해, 오디오 프레임은 "저대역 코어" 로 지정된 인코딩된 저대역 부분을 포함할 수도 있다. 인코딩된 저대역 부분은 저대역 선형 예측 필터 및 여기 정보 (excitation information) 를 포함할 수도 있다. 예를 들어, 인코딩된 저대역 부분은 저대역 LSP 인덱스(들) 및 저대역 여기 정보를 포함할 수도 있다. 대안적인 구현들에서, 오디오 프레임의 저대역 코어는 상이한 정보를 포함할 수도 있다. 오디오 프레임은 또한 고대역 파라미터들을 포함할 수도 있다. 고대역 파라미터들은 인코딩된 저대역 코어보다 더 적은 공간을 점유하고, 오디오 프레임의 고대역 부분을 재구성하기 위해, 오디오 신호 코딩 모델에 따라, 디코더에 의해 사용될 수 있는 파라미터들의 세트를 포함한다. 도 3 의 예에서, 고대역 파라미터들은 변환된 저대역 여기 정보, 고대역 이득 성형, 고대역 이득 프레임, 및 고대역 LSP 인덱스(들) 를 포함할 수도 있다. 다른 구현들에서, 오디오 프레임은 상이한 고대역 파라미터들을 포함할 수도 있다.
특정 구현에서, 저대역 LSP 인덱스(들) 및 저대역 여기 정보, 변환된 저대역 여기 정보, 고대역 이득 성형, 고대역 이득 프레임, 및 HB 고대역 LSP 인덱스(들) 는 인코더 (예를 들어, 도 1 의 인코더 (108)) 에서 오디오 분석 동안 생성된다. 예를 들어, 오디오 신호는 오디오 신호를 저대역 신호와 고대역 신호로 분리하는 분석 필터 뱅크를 통과할 수도 있다. 저대역 및 고대역 신호들은 중첩될 수도 있거나 또는 중첩되지 않을 수도 있다. 저대역 신호는 저대역 신호의 스펙트럼 엔벨로프를 선형 예측 (LP) 계수들 (LPC들) 의 세트로서 인코딩하는 LP 분석 모듈에 입력될 수도 있다. 변환 모듈은 LPC들을 LSP들로 변환할 수도 있는데, 이 LSP들은 대안적으로 라인 스펙트럼 쌍 (LSP) 들로 지칭될 수도 있다. 양자화기는 LSP들에 "가장 가까운" 저대역 LSP 코드북의 엔트리를 식별함으로써 LSP들을 양자화할 수도 있다. 양자화기는 코드북 내의 엔트리의 인덱스를 저대역 LSP 인덱스(들) 로서 출력할 수도 있다. 저대역 분석 모듈은 또한 저대역 여기 정보 및 변환된 저대역 여기 정보를 생성할 수도 있다. 예를 들어, 저대역 여기 정보는 LP 분석 모듈에 의해 수행된 LP 프로세스 동안 생성된 LP 잔차 신호를 양자화함으로써 생성되는 인코딩된 신호일 수도 있다. LP 잔차 신호는 예측 에러를 나타낼 수도 있다.
고대역 분석 모듈은 분석 필터 뱅크로부터의 고대역 신호 및 저대역 분석 모듈로부터의 저대역 여기 신호를 수신할 수도 있다. 고대역 분석 모듈은 저대역 LSP 인덱스(들) 및 저대역 여기 정보를 생성하기 위해 설명된 프로세스와 유사한 LPC 코딩, 변환, 및 양자화 프로세스를 사용하여 고대역 LSP 인덱스(들) 를 생성할 수도 있다. 고대역 LSP 인덱스(들) 는 저대역 LSP 인덱스(들) 보다 더 적은 비트들을 점유할 수도 있다. 고대역 분석 모듈은 또한 고대역 이득 성형 및 고대역 이득 프레임을 생성할 수도 있다. 고대역 이득 성형 및 고대역 이득 프레임은 디코더 (예를 들어, 도 1 의 디코더 (146)) 가 고대역 신호를 더 정확하게 재생하기 위해 고대역 이득 성형 및 프레임 이득을 조정하는 것을 가능하게 할 수도 있다. 프라이머리 코딩 (162) 및 리던던트 코딩 (164) 은 각각 제 1 오디오 프레임 및 제 2 오디오 프레임을 참조하여 상술된 값들 중 하나 이상을 포함할 수도 있다.
수정된 패킷 (170) 으로 돌아가서, 패딩 비트들 영역 (316) 은 리던던트 코딩 (164) 의 하나 이상의 패딩 비트들을 포함한다. 패딩 비트들은 패킷 (160) (또는 그의 부분) 이 고정된 사이즈를 갖도록 패킷 (160) 의 프라이머리 코딩 (162), 리던던트 코딩 (164), 또는 일부 다른 부분에 추가될 수도 있다. 오프셋 비트들 영역 (328) 은 프레임들의 시퀀스에서 제 1 오디오 프레임과 제 2 오디오 프레임 사이의 오프셋을 표시하는 하나 이상의 오프셋 비트들 (예를 들어, FEC 오프셋 비트들) 을 포함한다. 코덱 타입 표시자 영역 (318) 은 제 1 오디오 프레임, 제 2 오디오 프레임, 또는 양쪽 모두를 디코딩하는 데 사용되는 코덱 타입을 표시하는 비트들을 포함한다. 리던던시 프레임 플래그 영역 (320) 은 수정된 패킷 (170) 이 리던던트 프레임 정보를 포함하는지 여부를 표시하는 리던던시 프레임 (RF) 플래그를 포함한다. 샤프 플래그 영역 (322) 은 오디오 프레임의 고조파 피치가 "샤프한지" 여부를 표시하는 샤프 플래그 (예를 들어, 고조파 피치 샤프니스 플래그) 를 포함한다. 모드 표시자 영역 (324) 은, 프라이머리 동작 모드 또는 광대역 (WB) 동작 모드와 같은, 디코더에 의해 사용될 동작 모드를 표시하는 모드 표시자를 포함한다. BWE 계층 파라미터 영역 (326) 은 BWE 를 사용하여 고대역 신호들을 코딩하는 것과 연관된 하나 이상의 파라미터들을 포함한다.
도 1 의 미디어 게이트웨이 (120) 는 다양한 기법들을 사용하여 수정된 패킷 (170) 에 (예를 들어, 리던던트 코딩 (164) 에) 시그널링 정보 (172) 를 표시하는 하나 이상의 비트들을 포함시키도록 구성될 수도 있다. 제 1 예 (310) 에서, 페이로드 (304) 에 위치된 단일 시그널링 비트는 시그널링 정보 (172) 를 표시할 수도 있다. 페이로드 (304) 내의 시그널링 비트의 위치는 채널 인식 (CA) 프레임 타입, 코더 타입, 대역폭 모드 (예를 들어, 초광대역 (swb) 모드 또는 광대역 (wb) 모드), 또는 이들의 조합에 의존할 수도 있다. 예를 들어, CA 프레임 타입이 제 1 값을 갖는 경우, 대역폭 모드가 swb 모드인 경우, 그리고 코더 타입이 제 1 값을 갖는 경우, 그러면 시그널링 비트는 페이로드 (304) 의 제 1 영역에 위치될 수도 있다. 반대로, CA 프레임이 제 1 값을 갖는 경우, 대역폭 모드가 wb 모드인 경우, 그리고 코더 타입이 제 1 값을 갖는 경우, 그러면 시그널링 비트는, 제 1 영역과는 구별되는, 페이로드 (304) 의 제 2 영역에 위치될 수도 있다.
페이로드 (304) 의 제 2 예 (330) 에서, 오프셋 비트들 영역 (328) 은 시그널링 정보 (172) 를 표시할 수도 있다. 특정 구현에서, 시그널링 정보 (172) 는 오프셋 비트들을 대체시킬 수도 있다. 대안적으로, 시그널링 정보 (172) 의 값은 어떤 오디오 프레임이 디코딩되어야 하는지 그리고 오프셋 값을 나타낼 수도 있다. 페이로드 (304) 의 제 3 예 (340) 에서, 패딩 비트들 영역 (316) 은 시그널링 정보 (172) 를 표시할 수도 있다. 시그널링 정보 (172) 는 패딩 비트들의 일부 또는 전부를 대체시킬 수도 있다.
페이로드 (304) 의 제 4 예 (350) 에서, 페이로드 (304) 의 하나 이상의 비트들은 시그널링 정보를 표시하도록 워터마킹될 수도 있다. 워터마킹은 워터마킹된 데이터에 추가적인 데이터 (예를 들어, 시그널링 정보 (172)) 를 포함시키는 것이 가능한 임의의 데이터 은닉 또는 데이터 스테가노그래피 기법을 사용하여 수행될 수도 있다. 특정 구현에서, 제 2 디바이스 (140) 는 워터마킹된 데이터를 디코딩하여 저장된 데이터 (예를 들어, 시그널링 정보 (172)) 를 취출하도록 구성될 수도 있다. 다른 구현들에서, 워터마킹의 존재는 시그널링 정보 (172) 를 표시할 수도 있다. 예를 들어, 워터마킹의 존재는 제 1 오디오 프레임의 프라이머리 코딩 (162) 이 디코딩되어야 함을 표시할 수도 있고, 워터마킹의 부존재는 제 2 오디오 프레임의 리던던트 코딩 (164) 이 디코딩되어야 함을 표시할 수도 있다. 대안적으로, 워터마킹의 존재는 제 2 오디오 프레임의 리던던트 코딩 (164) 이 디코딩되어야 함을 표시할 수도 있고, 워터마킹의 부존재는 제 1 오디오 프레임의 프라이머리 코딩 (162) 이 디코딩되어야 함을 표시할 수도 있다. 특정 구현에서, 제 1 워터마킹 (352) 은 시그널링 정보 (172) 를 포함하도록 프라이머리 코딩 (162) 에 적용될 수도 있다. 다른 구현에서, 제 2 워터마킹 (354) 은 시그널링 정보 (172) 를 포함하도록 리던던트 코딩 (164) 에 적용될 수도 있다. 다른 특정 구현에서, 제 3 워터마킹 (356) 은 시그널링 정보 (172) 를 포함하도록 하나 이상의 영역들 (316 내지 328) 내의 데이터에 적용될 수도 있다.
제 5 예 (도시되지 않음) 에서, 코덱 타입 표시자 영역, 리던던시 프레임 플래그 영역, 샤프 플래그 영역, 모드 표시자 영역, BWE 계층 파라미터 영역, 또는 이들의 조합의 하나 이상의 비트들은 시그널링 정보를 표시할 수도 있다. 시그널링 정보는 이 예에서 영역들 중 임의의 영역의 하나 이상의 비트들을 대체시킬 수도 있다. 특정 구현에서, 시그널링 정보는 또한 대체된 비트들의 정보를 포함할 수도 있다. 예를 들어, 시그널링 정보의 값은 프라이머리 코딩 또는 리던던트 코딩을 디코딩할지 여부를 표시할 수도 있고, 추가적으로 제 1 오디오 프레임과 제 2 오디오 프레임 사이의 오프셋을 표시할 수도 있다.
따라서, 도 3 은 시그널링 정보 (172) 를 표시하는 하나 이상의 비트들을 포함하는 수정된 패킷을 생성하기 위한 다양한 기법들을 예시한다. 시그널링 정보 (172) 가 수정된 패킷 (170) 에 포함되기 때문에, 제 2 디바이스 (140) 는 어떤 오디오 프레임 (예를 들어, 제 1 오디오 프레임의 프라이머리 코딩 (162) 또는 제 2 오디오 프레임의 리던던트 코딩 (164)) 이 특정 오디오 프레임을 생성하기 위해 디코딩되어야 하는지를 아는 것이 가능해진다. 따라서, 패킷 교환 네트워크의 네트워크 에러들을 보상 (또는 은닉) 하기 위해 회선 교환 네트워크 내의 디바이스에 의해 리던던트 정보를 갖는 패킷들이 사용될 수도 있다.
도 4 를 참조하면, 오디오 프레임들을 생성하기 위해 미사용된 프레임 정보를 취출하는 제 1 구현의 다이어그램이 도시되고 일반적으로 400 으로 지정된다. 미사용된 프레임 정보는 회선 교환 네트워크 내의 목적지 디바이스의 메모리에 저장될 수도 있다. 목적지 디바이스는 도 1 의 회선 교환 네트워크 (154) 내의 제 2 디바이스 (140) 를 포함하거나 또는 그에 대응할 수도 있다.
패킷들이 네트워크 인터페이스 (148) 에 의해 수신됨에 따라, 패킷들은 디코딩될 수도 있고, 패킷들의 부분은 제 2 디바이스 (140) 에서의 재생을 위한 오디오 프레임들을 생성하는 데 사용될 수도 있다. 오디오 프레임들을 디코딩하는 데 사용되지 않은 부분은 프리-리던던시 버퍼 (150) 와 같은 메모리 (144) 에 저장될 수도 있고, 패킷 에러가 발생하는 경우 취출될 수도 있다. 도 1 을 참조하여 설명된 바와 같이, 패킷들은 고정된 간격들에서 특정 순서로 수신될 수도 있다. 그러나, 회선 교환 네트워크 (154) 에서의 네트워크 조건들로 인해, 미디어 게이트웨이 (120) 에 의해 전송된 패킷들 중 하나 이상이 손상될 수도 있거나 또는 전혀 도달하지 못할 수도 있다. 예를 들어, 제 2 디바이스 (140) 는 N 번째 타임 슬롯 (440) 동안 수정된 (N+2) 번째 패킷 (170) 을 수신할 수도 있다. 특정 구현에서, 수정된 패킷 (170) 은, 도 2 를 참조하여 설명된 바와 같이, 미디어 게이트웨이 (120) 에서 N 번째 오디오 프레임의 프라이머리 코딩의 수신과 연관된 에러에 응답하여 N 번째 타임 슬롯 (440) 동안 미디어 게이트웨이 (120) 로부터 수신된다. 제 2 디바이스 (140) 는 또한 (N+1) 번째 타임 슬롯 (442) 동안 수정된 (N+1) 번째 패킷 (402) 을 수신할 수도 있다. 네트워크 에러로 인해, 수정된 (N+2) 번째 패킷 (410) 은 (N+2) 번째 타임 슬롯 (444) 동안 올바르게 수신되지 않을 수도 있다.
특정 구현에서, 패킷 시퀀스의 패킷들 각각은 다수의 오디오 프레임들의 코딩을 포함한다. 예를 들어, 수정된 (N+2) 번째 패킷 (170) 은 (N+2) 번째 오디오 프레임의 프라이머리 코딩 (162) 및 N 번째 오디오 프레임의 리던던트 코딩 (164) 을 포함하고, 수정된 (N+1) 번째 패킷 (402) 은 (N+1) 번째 오디오 프레임의 프라이머리 코딩 (404) 및 (N-1) 번째 오디오 프레임의 리던던트 코딩 (406) 을 포함하고, 수정된 (N+2) 번째 패킷 (410) 은 (N+2) 번째 오디오 프레임의 프라이머리 코딩 (162) 및 N 번째 오디오 프레임의 리던던트 코딩 (164) 을 포함한다. 대안적으로, 하나 이상의 패킷들은 단일 오디오 프레임의 코딩 (예를 들어, 단일 오디오 프레임의 프라이머리 코딩) 을 포함할 수도 있다. 시그널링 정보 (172, 408, 및 412) 를 각각 표시하기 위해 하나 이상의 비트들이 수정된 패킷들 (170, 402, 및 410) 의 리던던트 코딩 (164, 406) 에 포함될 수도 있다. 시그널링 정보 (172, 408, 및 412) 는 어떤 오디오 프레임이 대응하는 수정된 패킷에서 디코딩되어야 하는지를 특정할 수도 있다. 예를 들어, 시그널링 정보 (172) 는 N 번째 오디오 프레임의 리던던트 코딩 (164) 이 디코딩되어야 함을 표시할 수도 있고, 시그널링 정보 (408) 는 (N+1) 번째 오디오 프레임의 프라이머리 코딩 (404) 이 디코딩되어야 함을 표시할 수도 있고, 시그널링 정보 (412) 는 (N+2) 번째 오디오 프레임의 프라이머리 코딩 (162) 이 디코딩되어야 함을 표시할 수도 있다. 예시의 용이를 위해, 수정된 (N-1) 번째 패킷, 수정된 (N+3) 번째 패킷 등과 같은 패킷 시퀀스의 추가적인 패킷들이 도 4 에 도시되지 않는다.
제 2 디바이스 (140) 는 수신된 패킷들을 디코딩하여 제 2 디바이스 (140) 에서의 재생을 위한 오디오 프레임들을 생성할 수도 있다. 예를 들어, 제 2 디바이스 (140) 는 시그널링 정보 (172) 에 기초하여 N 번째 오디오 프레임의 리던던트 코딩 (164) 을 디코딩하여 제 2 디바이스 (140) 에서의 재생을 위한 N 번째 오디오 프레임 (420) 을 생성할 수도 있다. 추가적으로, 제 2 디바이스 (140) 는 (N+2) 번째 오디오 프레임 (예를 들어, 수정된 패킷 (170) 의 미사용된 부분) 의 프라이머리 코딩 (162) 의 카피 (430) 를 프리-리던던시 버퍼 (150) 에 저장할 수도 있다. 추가로 예시하기 위해, 제 2 디바이스 (140) 는 (N+1) 번째 오디오 프레임의 프라이머리 코딩 (404) 을 디코딩하여 제 2 디바이스 (140) 에서의 재생을 위한 (N+1) 번째 오디오 프레임 (422) 을 생성할 수도 있고, 제 2 디바이스 (140) 는 (N-1) 번째 오디오 프레임 (예를 들어, 수정된 패킷 (402) 의 미사용된 부분) 의 리던던트 코딩 (406) 의 카피 (432) 를 프리-리던던시 버퍼 (150) 에 저장할 수도 있다. 대안적으로, (N-1) 번째 타임 슬롯이 경과되었기 때문에, 제 2 디바이스 (140) 는 (N-1) 번째 오디오 프레임을 폐기할 수도 있다.
도 4 에 예시된 예에서, (N+2) 번째 패킷 (410) 은 디코딩을 위해 이용불가능하다. 제 2 디바이스 (140) 는 에러가 (N+2) 번째 타임 슬롯 (444) 과 연관된다는 것을 결정할 수도 있다. 예를 들어, 제 2 디바이스 (140) 는 수정된 (N+2) 번째 패킷 (410) (또는 그의 부분) 이 손상되어 있다는 것을 결정할 수도 있다. 다른 예로서, 제 2 디바이스 (140) 는 수정된 (N+2) 번째 패킷 (410) 이 수신되지 않았다고 결정할 수도 있다. (손상 또는 수신되지 않은 것으로 인해) 수정된 (N+2) 번째 패킷 (410) 이 이용불가능하다는 결정에 기초하여, 제 2 디바이스 (140) 는 (N+2) 번째 오디오에 대한 미사용된 프레임 정보의 카피가 프리-리던던시 버퍼 (150) 에서 이용가능한지 여부를 체크할 수도 있다. 예를 들어, 제 2 디바이스 (140) 는 프리-리던던시 버퍼 (150) 내의 각각의 패킷을 체크할 수도 있고, 식별자 (예를 들어, 시퀀스 식별자, 타임스탬프 등) 및 오프셋 값에 기초하여, 제 2 디바이스 (140) 는 (N+2) 번째 패킷의 코딩의 카피가 이용가능한지 여부를 결정할 수도 있다.
도 4 에 예시된 바와 같이, 프리-리던던시 버퍼 (150) 는 (N+2) 번째 오디오 프레임의 프라이머리 코딩 (162) 의 카피 (430) 를 저장한다. 제 2 디바이스 (140) 는 프리-리던던시 버퍼 (150) 로부터 프라이머리 코딩 (162) 의 카피 (430) 를 취출할 수도 있고 카피 (430) 에 기초하여 제 2 디바이스 (140) 에서의 재생을 위한 (N+2) 번째 오디오 프레임 (424) 을 생성할 수도 있다. 따라서, 프라이머리 코딩 (162) 의 카피 (430) 는 제 2 디바이스 (140) 가 회선 교환 네트워크 (154) 에서의 에러를 보상 (또는 은닉) 하는 것을 가능하게 할 수도 있다. (N+2) 번째 오디오 프레임의 카피가 프리-리던던시 버퍼 (150) 에서 이용가능하지 않은 경우, 제 2 디바이스 (140) 는 상이한 에러 은닉 동작을 수행할 수도 있다.
따라서, 도 4 는 제 2 디바이스 (140) 가 특정 오디오 프레임의 프라이머리 코딩을 포함하는 패킷이 이용불가능할 때 특정 오디오 프레임을 생성하기 위해 프리-리던던시 버퍼 (150) 에 저장된 오디오 프레임들의 미사용된 부분들의 카피들을 어떻게 사용하는 것이 가능한지를 예시한다. 저장된 카피에 기초하여 제 2 디바이스 (140) 에서의 재생을 위한 특정 오디오 프레임을 생성하면 회선 교환 네트워크 (154) 에서의 네트워크 에러를 보상 (또는 은닉) 할 수도 있다.
도 5 를 참조하면, 비트 시퀀스를 사용하여 리던던트 프레임 정보를 통신하도록 구성된 시스템의 특정 예시적 예가 도시되고 일반적으로 500 으로 지정된다. 특정 구현에서, 시스템 (500) 은 도 1 의 제 1 디바이스 (102), 미디어 게이트웨이 (120), 및 제 2 디바이스 (140) 를 포함한다. 제 1 디바이스 (102) 는 패킷 교환 네트워크 (152) 를 통해 미디어 게이트웨이 (120) 와의 데이터 통신들을 수행할 수도 있고, 미디어 게이트웨이 (120) 는 회선 교환 네트워크 (154) 를 통해 제 2 디바이스 (140) 와의 데이터 통신들을 수행할 수도 있다.
동작 동안, 제 1 디바이스 (102) 는 패킷 (160) 을 포함하는 패킷들의 시퀀스를 인코딩하여 이것을 패킷 교환 네트워크 (152) 를 통해 미디어 게이트웨이 (120) 에 송신할 수도 있다. 패킷 (160) 은 제 1 오디오 프레임 (예를 들어, (N+2) 번째 오디오 프레임) 의 프라이머리 코딩 (162) 및 제 2 오디오 프레임 (예를 들어, N 번째 오디오 프레임) 의 리던던트 코딩 (164) 을 포함할 수도 있다. 도 1 및 도 3 을 참조하여 설명된 바와 같이, 프라이머리 코딩 (162) 은 제 1 오디오 프레임의 인코딩된 저대역 코어 및 제 1 오디오 프레임의 고대역 파라미터들을 포함할 수도 있고, 리던던트 코딩 (164) 은 제 2 오디오의 고대역 이득 성형과 연관된 이득 성형 표시자, 제 2 오디오 프레임의 고대역 이득 프레임과 연관된 고대역 이득 프레임 표시자, 제 2 오디오 프레임의 고대역 LSP들과 연관된 고대역 LSP 표시자, 또는 이들의 조합을 포함한다.
프라이머리 코딩 (162) 은 하나 이상의 패딩 비트들 (502) 을 포함할 수도 있다. 하나 이상의 패딩 비트들 (502) 은 패킷 (160) 에 (또는 그의 특정 부분에) 추가되어 패킷 (160) (및/또는 그의 특정 부분) 이 특정 사이즈를 유지하도록 할 수도 있다. 예를 들어, 총 13.2 kps 중 11.6 kps 가 프라이머리 코딩 (162) 을 위해 예비될 수도 있지만, 프라이머리 코딩 (162) 은 완전한 11.6 kps 를 점유할 만큼 크지 않을 수도 있다. 프라이머리 코딩 (162) 이 11.6 kps 의 고정된 사이즈를 갖는다는 것을 보장하기 위해, 프라이머리 코딩 (162) 과 하나 이상의 패딩 비트들 (502) 의 조합이 완전한 11.6 kps 를 점유하도록 하나 이상의 패딩 비트들 (502) 이 프라이머리 코딩 (162) 에 추가될 수도 있다. 추가적으로 또는 대안적으로, 패딩 비트들이 리던던트 코딩 (164) 에 추가될 수도 있다. 다른 특정 구현에서, (예를 들어, 패킷 (160) 전체가, 또는 적어도 그의 데이터/페이로드 부분이, 완전한 13.2 kps 를 점유하도록) 하나 이상의 패딩 비트들 (502) 이 프라이머리 코딩 (162) 및 리던던트 코딩 (164) 과는 구별될 수도 있다. 하나 이상의 패딩 비트들 (502) 은, 하나 이상의 패딩 비트들 (502) 이 디코딩 동안 폐기되어야 함을 표시하는, 모든 제로 값들 또는 모든 1 값들과 같은 특정 값을 가질 수도 있다.
미디어 게이트웨이 (120) 는 수신된 패킷들 (예를 들어, 오디오 프레임들) 을 디-지터 버퍼 (130) 에 버퍼링할 수도 있다. 미디어 게이트웨이 (120) 는 고정된 간격에서 수정된 패킷들을 회선 교환 네트워크 (154) 를 통해 제 2 디바이스 (140) 에 송신할 수도 있다. 미디어 게이트웨이 (120) 가 특정 오디오 프레임을 포함하는 패킷이 특정 오디오 프레임과 연관된 타임 슬롯에서 송신을 위해 이용불가능하다고 결정하는 경우, 미디어 게이트웨이 (120) 는 타임 슬롯 동안 송신을 위한 수정된 패킷을 생성하려고 시도할 수도 있다. 예를 들어, 미디어 게이트웨이 (120) 가 제 2 오디오 프레임의 프라이머리 코딩을 포함하는 패킷이 이용불가능하다고 결정하는 경우, 미디어 게이트웨이 (120) 는 수정된 패킷 (510) 을 생성한다.
도 1 의 수정된 패킷 (170) 과 비교하여, 도 5 의 수정된 패킷 (510) 은 비트 시퀀스 (512) (또는 시그널링 정보 (172)) 를 포함한다. 예시하기 위해, 프로세서 (122) 는 프라이머리 코딩 (162) 의 패딩 비트들 (502) 의 적어도 일부를 비트 시퀀스 (512) 로 (또는 시그널링 정보 (172) 로) 대체시킴으로써 수정된 패킷 (510) 을 생성하도록 구성될 수도 있다. 비트 시퀀스 (512) (또는 시그널링 정보 (172)) 는 리던던트 코딩 (164) 이 디코딩되어야 함을 표시할 수도 있다. 비트 시퀀스 (512) 는 비트 값들의 미리 결정된 시퀀스를 포함할 수도 있다. 비트 값들의 미리 결정된 시퀀스는 무선 통신 표준 (예를 들어, 제 3 세대 파트너십 프로젝트 (3GPP) EVS 표준과 같은 EVS 표준) 에 의해 정의될 수도 있거나, 제 1 디바이스 (102) 및 제 2 디바이스 (140) 의 벤더 또는 제조자에 의해 정의될 수도 있거나, 디바이스들 (102 및 140) 에 의해 협상될 수도 있거나, 또는 일부 다른 값일 수도 있다. 특정 구현에서, 비트 시퀀스 (512) 는 모든 1 값들을 포함한다. 대안적으로, 비트 시퀀스 (512) 는 모든 제로 값들을 포함한다. 다른 예로서, 비트 시퀀스 (512) 는 적어도 하나의 비-제로 값을 포함할 수도 있다. 다른 구현들에서, 비트 시퀀스 (512) 는 다른 값들을 포함한다. 특정 구현에서, 비트 시퀀스 (512) 는 제 2 오디오 프레임 (예를 들어, N 번째 오디오 프레임) 의 리던던트 코딩 (164) 과 함께 패딩 비트들 (502) 의 부분이 수정된 패킷 (510) 에 남아 있도록, 프라이머리 코딩 (162) 의 패딩 비트들 (502) 전체를 대체시키지 않는다. 대안적으로, 비트 시퀀스 (512) 는 프라이머리 코딩 (162) 의 패딩 비트들 (502) 전체를 대체시킬 수도 있다. 다른 구현에서, 패딩 비트들 (502) 은 도 1 및 표 1 을 참조하여 설명된 시그널링 정보 (172) 와 같은 다른 시그널링 정보에 의해 전체적으로 또는 부분적으로 대체될 수도 있다.
특정 구현에서, 패킷 (160) 및 수정된 패킷 (510) 은 편의를 위해 예시되지 않은 개개의 리던던트 코딩에서의 하나 이상의 비트들 (예를 들어, 도 1 의 하나 이상의 비트들 (166)) 을 포함할 수도 있다. 하나 이상의 비트들은 오프셋 비트들 (예를 들어, FEC 오프셋 비트들) 또는 제 1 오디오 프레임 또는 제 2 오디오 프레임을 디코딩하는 것에 관련된 다른 비트들을 포함할 수도 있다. 패킷 (160) 및 수정된 패킷 (510) 은 또한, 비제한적인 예로서 CMR 비트들과 같은, 제 1 오디오 프레임 및 제 2 오디오 프레임을 디코딩하는 것에 관련되지 않은 하나 이상의 비트들을 포함할 수도 있다.
프로세서 (122) 는 제 2 오디오 프레임의 프라이머리 코딩을 포함하는 제 2 패킷 (예를 들어, (N+2) 번째 패킷) 이 이용불가능하다는 결정에 응답하여 수정된 패킷 (510) 을 생성하도록 구성될 수도 있다. 예로서, 제 2 패킷이 이용불가능하다는 결정은 제 2 패킷 (또는 그의 부분) 이 손상되어 있다는 결정에 기초할 수도 있다. 다른 예로서, 제 2 패킷이 이용불가능하다는 결정은 제 2 패킷이 수신되지 않았다는 (예를 들어, 디-지터 버퍼 (130) 에서 이용가능하지 않다는) 결정에 기초할 수도 있다.
수정된 패킷 (510) 을 생성한 후에, 미디어 게이트웨이 (120) 는 제 2 오디오 프레임과 연관된 타임 슬롯 동안 수정된 패킷 (510) 을 제 2 디바이스 (140) 에 송신할 수도 있다. 제 2 디바이스 (140) 는 수정된 패킷 (510) 을 수신하고, 비트 시퀀스 (512) (또는 시그널링 정보 (172)) 에 기초하여 수정된 패킷 (510) 의 부분을 디코딩하여 제 2 디바이스 (140) 에서의 재생을 위한 제 2 오디오 프레임 (예를 들어, N 번째 오디오 프레임) 을 생성할 수도 있다. 특정 구현에서, 프로세서 (142) 는 프라이머리 코딩 (162) 의 패딩 비트들 (502) 의 부분 내의 비트 시퀀스 (512) (또는 시그널링 정보 (172)) 를 검출하도록 구성된다. 일부 구현들에서, 제 2 디바이스 (140) 는 프라이머리 코딩 (162) 을 프리-리던던시 버퍼 (150) 에 저장할 수도 있다. 도 1 및 도 4 를 참조하여 추가로 설명된 바와 같이, 제 1 오디오 프레임 (예를 들어, (N+2) 번째 오디오 프레임) 과 연관된 타임 슬롯 동안 에러가 발생하는 경우, 제 2 디바이스 (140) 는 프리-리던던시 버퍼 (150) 로부터 프라이머리 코딩 (162) 을 취출하여 재생을 위한 제 1 오디오 프레임 (예를 들어, (N+2) 번째 오디오 프레임) 을 생성할 수도 있다.
대안적인 구현에서, 미디어 게이트웨이 (120) 는 패킷 (160) 의 전체 리던던트 코딩 (164) 을 (예를 들어, 모든 제로 값들로, 모든 1 값들로, 교번하는 1 값들 및 제로 값들로, 또는 리던던트 코딩의 생성 동안 코덱에 의해 생성되지 않은 일부 다른 고유 비트 시퀀스로) 수정하여 수정된 패킷 (510) 의 프라이머리 코딩 (162) 이 제 2 디바이스 (140) 에서 디코딩되어야 한다는 것을 시그널링할 수도 있다. 예를 들어, (예를 들어, 디-지터 버퍼 (130) 에서) N 번째 패킷이 이용가능한 경우, 그러면 미디어 게이트웨이는 N 번째 패킷 내의 전체 리던던트 코딩을 수정함으로써 수정된 N 번째 패킷을 전송하여 수정된 N 번째 패킷 내의 프라이머리 코딩이 제 2 디바이스 (140) 에서 N 에 대응하는 타임 슬롯에서 디코딩되어야 함을 표시할 수도 있다. 제 2 디바이스 (140) (예를 들어, 프로세서 (122)) 는 수정된 N 번째 패킷의 리던던트 코딩에서 이 수정을 식별하고, 수정된 N 번째 패킷의 프라이머리 코딩이 디코딩되어야 한다는 것을 결정할 수도 있다. 다른 예에서, 디-지터 버퍼 (130) 에서 N 번째 패킷이 이용가능하지 않고 장래의 패킷 (예를 들어, 제 2 오디오 프레임의 리던던트 코딩 (164) 을 포함하는 (N+2) 번째 패킷 (160)) 이 이용가능한 경우, 그러면 미디어 게이트웨이 (120) 는 회선 교환 네트워크 (154) 를 통해 미수정된 (N+2) 번째 패킷 (160) 을 제 2 디바이스 (140) 에 전송할 수도 있다. 제 2 디바이스 (140) (예를 들어, 프로세서 (142)) 는 리던던트 코딩 (164) 이 수정되지 않았다고 결정할 수도 있고, 이 결정에 기초하여, 제 2 디바이스 (140) 는 리던던트 코딩 (164) 을 디코딩할 수도 있다. 도 1 및 도 4 를 참조하여 설명된 바와 같이, 수신된 미수정된 (N+2) 번째 패킷 (160) 은, 대응하는 패킷이 제 2 디바이스 (140) 에서 (N+2) 번째 타임 슬롯 동안 수신되지 않은 경우, 프리-리던던시 디코딩에서의 사용을 위해 프리-리던던시 버퍼 (150) 에 저장될 수도 있다.
도 5 의 시스템 (500) 은 미디어 게이트웨이 (120) 가 리던던트 프레임 정보를 사용하여 비트 시퀀스들을 갖는 수정된 패킷들을 회선 교환 네트워크 디바이스 (예를 들어, 제 2 디바이스 (140)) 에 제공하는 것을 가능하게 한다. 비트 시퀀스 (512) (또는 시그널링 정보 (172)) 는 수정된 패킷 (510) 의 어떤 부분이 디코딩되어야 할지를 제 2 디바이스 (140) 에게 표시한다. 따라서, 프라이머리 코딩을 갖는 패킷이 이용불가능한 경우, 특정 오디오 프레임의 리던던트 코딩을 갖는 패킷이 제 2 디바이스 (140) 에 제공될 수도 있고, 리던던트 코딩이 제 2 디바이스 (140) 에 의해 사용되어 패킷 교환 네트워크 (152) 에서의 네트워크 에러들을 보상 (또는 은닉) 할 수도 있다. 제 2 디바이스 (140) 는 또한, 도 1 을 참조하여 추가로 설명된 바와 같이, 회선 교환 네트워크 (154) 에서의 네트워크 에러들을 보상 (또는 은닉) 함에 있어서의 사용을 위해 프리-리던던시 버퍼 (150) 에 패킷들의 미사용된 부분들의 카피들을 저장할 수도 있다.
상기의 설명에서, 도 5 의 시스템 (500) 에 의해 수행되는 다양한 기능들은 특정 컴포넌트들에 의해 수행되는 것으로서 설명된다. 그러나, 컴포넌트들의 이러한 분할은 단지 예시를 위한 것이다. 대안적인 구현에서, 특정 컴포넌트에 의해 수행되는 기능이 그 대신에 다수의 컴포넌트들 중에서 분할될 수도 있다. 더욱이, 대안적인 구현에서, 도 5 의 2 개 이상의 컴포넌트들은 단일 컴포넌트로 통합될 수도 있다. 도 5 에 예시된 각각의 컴포넌트는 하드웨어 (예를 들어, FPGA 디바이스, ASIC, DSP, 제어기 등), 소프트웨어 (예를 들어, 프로세서에 의해 실행가능한 명령들), 또는 이들의 조합을 사용하여 구현될 수도 있다.
도 6 을 참조하면, 비트 시퀀스를 포함하기 위해 미디어 게이트웨이에서 패킷들의 시퀀스를 수정하는 특정 구현의 다이어그램이 도시되고 일반적으로 600 으로 지정된다. 미디어 게이트웨이는 도 5 의 미디어 게이트웨이 (120) 를 포함하거나 또는 그에 대응할 수도 있다.
패킷들이 제 1 네트워크 인터페이스 (126) 에 의해 수신됨에 따라, 패킷들 (예를 들어, 오디오 프레임들) 은 디-지터 버퍼 (130) 에 저장될 수도 있다. 도 5 를 참조하여 설명된 바와 같이, 패킷 교환 네트워크 (152) 에서의 네트워크 조건들로 인해, 소스 디바이스 (예를 들어, 제 1 디바이스 (102)) 에 의해 전송된 패킷들은 순서가 바뀌어 도달할 수도 있거나, 손상될 수도 있거나, 또는 전혀 도달하지 못할 수도 있다. 미디어 게이트웨이 (120) (예를 들어, 프로세서 (122)) 는 패킷 시퀀스 또는 프레임 시퀀스에 따라 디-지터 버퍼 (130) 로부터 패킷들 (예를 들어, 오디오 프레임들) 을 취출할 수도 있다. 예를 들어, 패킷들은 시퀀스 번호들, 타임스탬프들, 또는 패킷들에 포함된 다른 시퀀싱 정보에 기초하여 취출될 수도 있다. 예시하기 위해, 미디어 게이트웨이 (120) 는 (N+1) 번째 패킷 (602) 에 앞서 N 번째 패킷 (610) 을 취출하려고 시도할 수도 있고, 미디어 게이트웨이 (120) 는 (N+2) 번째 패킷 (160) 에 앞서 (N+1) 번째 패킷 (602) 을 취출하려고 시도할 수도 있다.
특정 구현에서, 패킷 시퀀스의 패킷들 각각은 다수의 오디오 프레임들의 코딩을 포함한다. 예를 들어, N 번째 패킷 (610) 은 N 번째 오디오 프레임의 프라이머리 코딩 (612) 및 (N-2) 번째 오디오 프레임의 리던던트 코딩 (614) 을 포함하고, (N+1) 번째 패킷 (602) 은 (N+1) 번째 오디오 프레임의 프라이머리 코딩 (604) 및 (N-1) 번째 오디오 프레임의 리던던트 코딩 (606) 을 포함하고, (N+2) 번째 패킷 (160) 은 (N+2) 번째 오디오 프레임의 프라이머리 코딩 (162) 및 N 번째 오디오 프레임의 리던던트 코딩 (164) 을 포함한다. 대안적으로, 하나 이상의 패킷들은 단일 오디오 프레임의 코딩 (예를 들어, 단일 오디오 프레임의 프라이머리 코딩) 을 포함할 수도 있다. 프라이머리 코딩 (162) 은 패딩 비트들 (502) 을 포함할 수도 있고, 프라이머리 코딩 (604) 은 패딩 비트들 (608) 을 포함할 수도 있고, 프라이머리 코딩 (612) 은 패딩 비트들 (616) 을 포함할 수도 있다. 일부 구현들에서, 패킷들 (610, 602, 및 160) 은 또한 대응하는 패킷의 오디오 프레임들 중 하나 이상에 관련된 개개의 비트들 (예를 들어, 오프셋 비트들) 을 포함할 수도 있다. 예시의 용이를 위해, (N-1) 번째 패킷, (N+3) 번째 패킷 등과 같은 패킷 시퀀스의 추가적인 패킷들이 도 6 에 도시되지 않는다.
미디어 게이트웨이 (120) 는 고정된 간격들에서 패킷들, 수정된 패킷들, 또는 양쪽 모두를 회선 교환 네트워크 (154) 를 통해 제 2 디바이스 (140) 에 제공할 수도 있다. 예를 들어, 미디어 게이트웨이는 N 번째 타임 슬롯 (630) 동안 N 번째 오디오 프레임에 대응하는 패킷, (N+1) 번째 타임 슬롯 (632) 동안 (N+1) 번째 오디오 프레임에 대응하는 패킷, 및 (N+2) 번째 타임 슬롯 (634) 동안 (N+2) 번째 오디오 프레임에 대응하는 패킷을 제공할 수도 있다. 미디어 게이트웨이 (120) 는 대응하는 패킷이 제 1 디바이스 (102) 로부터 에러들 없이 수신되었는지 여부에 기초하여 패킷을 수정할지 또는 수정 없이 패킷을 포워딩할지 여부를 결정할 수도 있다.
도 6 에 예시된 예에서, N 번째 패킷 (610) 은 수정된 패킷을 생성함에 있어서의 사용을 위해 이용불가능하다. 예를 들어, 미디어 게이트웨이 (120) 는 N 번째 패킷 (610) 이 디-지터 버퍼 (130) 에서 이용가능하지 않다는 (예를 들어, N 번째 패킷 (610) 이 수신되지 않았다는) 것을 결정할 수도 있다. 다른 예로서, 미디어 게이트웨이 (120) 는 N 번째 패킷 (610) 이 디-지터 버퍼 (130) 에 있다는 것을 결정할 수도 있지만, N 번째 패킷 (610) 의 디코딩 동안 에러가 발생할 수도 있다 (예를 들어, N 번째 패킷 (610) 또는 그의 부분이 손상된다). (손상 또는 수신되지 않은 것으로 인해) N 번째 패킷 (610) 이 이용불가능하다는 결정에 기초하여, 미디어 게이트웨이 (120) 는 N 번째 오디오 프레임에 대한 리던던트 프레임 정보가 디-지터 버퍼 (130) 에서 이용가능한지 여부를 체크할 수도 있다. 예를 들어, 미디어 게이트웨이 (120) 는 디-지터 버퍼 (130) 내의 각각의 패킷을 체크할 수도 있고, 식별자 (예를 들어, 시퀀스 식별자, 타임스탬프 등) 및 오프셋 값에 기초하여, 미디어 게이트웨이 (120) 는 N 번째 오디오 프레임의 리던던트 정보가 이용가능하다는 것을 결정할 수도 있다.
도 6 에 예시된 바와 같이, (N+2) 번째 패킷 (160) 은 N 번째 오디오 프레임의 리던던트 코딩 (164) 을 포함한다. 미디어 게이트웨이 (120) 는 리던던트 코딩 (164) 이 디코딩되어야 함을 표시하는 비트 시퀀스 (512) (또는 시그널링 정보 (172) 와 같은 다른 시그널링 정보) 를 포함하도록 (N+2) 번째 패킷 (160) 을 수정함으로써 수정된 패킷 (510) 을 생성할 수도 있다. 비트 시퀀스는 (N+2) 번째 오디오 프레임의 프라이머리 코딩 (162) 의 패딩 비트들 (502) 의 부분 (또는 전체) 를 대체시킬 수도 있다. 수정된 패킷 (510) 을 생성한 후에, 미디어 게이트웨이 (120) 는 N 번째 타임 슬롯 (630) 동안 수정된 패킷 (510) 을 제 2 디바이스 (140) 에 송신할 수도 있다. 제 2 디바이스 (140) 는 비트 시퀀스 (512) (또는 시그널링 정보 (172)) 를 갖는 수정된 패킷 (510) 을 수신하고, 패딩 비트들 (502) 에서 비트 시퀀스 (512) (또는 시그널링 정보 (172)) 를 검출하고, 비트 시퀀스 (512) 의 검출에 기초하여 N 번째 오디오 프레임의 리던던트 코딩 (164) 을 디코딩하고, 제 2 디바이스 (140) 에서의 재생을 위한 N 번째 오디오 프레임을 생성할 수도 있다. 따라서, 비트 시퀀스 (512) 를 갖는 수정된 패킷 (510) 은 제 2 디바이스 (140) 가 패킷 교환 네트워크 (152) 에서의 에러를 보상 (또는 은닉) 하는 것을 가능하게 할 수도 있다. N 번째 오디오 프레임의 리던던트 코딩 (164) 을 포함하는 패킷 (160) 이 디-지터 버퍼 (130) 에서 이용가능하지 않은 경우, 미디어 게이트웨이 (120) 는 상이한 에러 은닉 동작을 수행할 수도 있다.
대응하는 패킷이 미디어 게이트웨이 (120) 에서 에러 없이 수신되는 경우, 미디어 게이트웨이 (120) 는 패킷을 제 2 디바이스 (140) 에 포워딩할 수도 있다. 예를 들어, 미디어 게이트웨이 (120) 는 (N+1) 번째 패킷 (602) 을 에러 없이 수신할 수도 있고 (N+1) 번째 타임 슬롯 (632) 동안 패킷 (602) 을 제 2 디바이스 (140) 에 송신할 수도 있다. 다른 예로서, 미디어 게이트웨이 (120) 는 (N+2) 번째 패킷 (160) 을 에러 없이 수신할 수도 있고 (N+2) 번째 타임 슬롯 (634) 동안 패킷 (160) 을 제 2 디바이스 (140) 에 송신할 수도 있다. 특정 구현에서, 패킷들 (602 및 160) 은 수정 없이 포워딩될 수도 있고, 제 2 디바이스 (140) 는 비트 시퀀스 (512) (또는 시그널링 정보 (172)) 의 부존재에 기초하여 대응하는 프라이머리 코딩을 디코딩하도록 구성될 수도 있다. 대안적으로, 패킷들 (602 및 160) 은 비트 시퀀스 (512) (또는 시그널링 정보 (172) 와 같은 다른 시그널링 정보) 와는 구별되는 제 2 비트 시퀀스를 포함하여 패킷들 (602 및 160) 각각 내의 프라이머리 코딩이 디코딩되어야 함을 표시할 수도 있다.
따라서, 도 6 은 미디어 게이트웨이 (120) 가 특정 오디오 프레임의 프라이머리 코딩을 포함하는 패킷이 이용불가능할 때 수정된 프레임을 제공하기 위해 디-지터 버퍼 (130) 에 저장된 오디오 프레임들의 리던던트 코딩을 어떻게 사용하는 것이 가능한지를 예시한다. 특정 오디오 프레임의 리던던트 코딩이 디코딩되어야 함을 표시하는 비트 시퀀스를 갖는 수정된 프레임을 제공하면, 제 2 디바이스 (140) 가 제 2 디바이스 (140) 에서의 재생을 위한 특정 오디오 프레임을 생성하는 것을 가능하게 하고 패킷 교환 네트워크 (152) 에서의 네트워크 에러를 보상 (또는 은닉) 할 수도 있다.
도 7 을 참조하면, 오디오 프레임들을 생성하기 위해 미사용된 프레임 정보를 취출하는 제 2 구현의 다이어그램이 도시되고 일반적으로 700 으로 지정된다. 미사용된 프레임 정보는 회선 교환 네트워크 내의 목적지 디바이스의 메모리에 저장될 수도 있다. 목적지 디바이스는 도 1 의 회선 교환 네트워크 (154) 내의 제 2 디바이스 (140) 를 포함하거나 또는 그에 대응할 수도 있다.
패킷들이 네트워크 인터페이스 (148) 에 의해 수신됨에 따라, 패킷들은 디코딩될 수도 있고, 패킷들의 부분은 제 2 디바이스 (140) 에서의 재생을 위한 오디오 프레임들을 생성하는 데 사용될 수도 있다. 오디오 프레임들을 디코딩하는 데 사용되지 않은 부분은 프리-리던던시 버퍼 (150) 와 같은 메모리 (144) 에 저장될 수도 있고, 패킷 에러가 발생하는 경우 취출될 수도 있다. 도 1 을 참조하여 설명된 바와 같이, 패킷들은 고정된 간격들에서 특정 순서로 수신될 수도 있다. 그러나, 회선 교환 네트워크 (154) 에서의 네트워크 조건들로 인해, 미디어 게이트웨이 (120) 에 의해 전송된 패킷들 중 하나 이상이 손상될 수도 있거나 또는 전혀 도달하지 못할 수도 있다. 예를 들어, 제 2 디바이스 (140) 는 N 번째 타임 슬롯 (740) 동안 수정된 (N+2) 번째 패킷 (170) 을 수신할 수도 있다. 특정 구현에서, 수정된 패킷 (170) 은, 도 2 를 참조하여 설명된 바와 같이, 미디어 게이트웨이 (120) 에서 N 번째 오디오 프레임의 프라이머리 코딩의 수신과 연관된 에러에 응답하여 N 번째 타임 슬롯 (740) 동안 미디어 게이트웨이 (120) 로부터 수신된다. 제 2 디바이스 (140) 는 또한 (N+1) 번째 타임 슬롯 (742) 동안 수정된 (N+1) 번째 패킷 (702) 을 수신할 수도 있다. 네트워크 에러로 인해, 수정된 (N+2) 번째 패킷 (710) 은 (N+2) 번째 타임 슬롯 (744) 동안 올바르게 수신되지 않을 수도 있다.
특정 구현에서, 패킷 시퀀스의 패킷들 각각은 다수의 오디오 프레임들의 코딩을 포함한다. 예를 들어, 수정된 (N+2) 번째 패킷 (170) 은 (N+2) 번째 오디오 프레임의 프라이머리 코딩 (162) 및 N 번째 오디오 프레임의 리던던트 코딩 (164) 을 포함하고, 수정된 (N+1) 번째 패킷 (702) 은 (N+1) 번째 오디오 프레임의 프라이머리 코딩 (704) 및 (N-1) 번째 오디오 프레임의 리던던트 코딩 (708) 을 포함하고, 수정된 (N+2) 번째 패킷 (710) 은 (N+2) 번째 오디오 프레임의 프라이머리 코딩 (162) 및 N 번째 오디오 프레임의 리던던트 코딩 (164) 을 포함한다. 대안적으로, 하나 이상의 패킷들은 단일 오디오 프레임의 코딩 (예를 들어, 단일 오디오 프레임의 프라이머리 코딩) 을 포함할 수도 있다. 시그널링 정보 (172, 706, 및 712) 를 각각 표시하기 위해 하나 이상의 비트들이 수정된 패킷들 (170, 702, 및 710) 의 프라이머리 코딩 (162, 704) 에 포함될 수도 있다. 시그널링 정보 (172, 706, 및 712) 는 어떤 오디오 프레임이 대응하는 수정된 패킷에서 디코딩되어야 하는지를 특정할 수도 있다. 예를 들어, 시그널링 정보 (172) 는 (N) 번째 오디오 프레임의 리던던트 코딩 (164) 이 디코딩되어야 함을 표시할 수도 있고, 시그널링 정보 (708) 는 (N+1) 번째 오디오 프레임의 프라이머리 코딩 (704) 이 디코딩되어야 함을 표시할 수도 있고, 시그널링 정보 (712) 는 (N+2) 번째 오디오 프레임의 프라이머리 코딩 (162) 이 디코딩되어야 함을 표시할 수도 있다. 예시의 용이를 위해, 수정된 (N-1) 번째 패킷, 수정된 (N+3) 번째 패킷 등과 같은 패킷 시퀀스의 추가적인 패킷들이 도 7 에 도시되지 않는다.
제 2 디바이스 (140) 는 수신된 패킷들을 디코딩하여 제 2 디바이스 (140) 에서의 재생을 위한 오디오 프레임들을 생성할 수도 있다. 예를 들어, 제 2 디바이스 (140) 는 시그널링 정보 (172) 에 기초하여 N 번째 오디오 프레임의 리던던트 코딩 (164) 을 디코딩하여 제 2 디바이스 (140) 에서의 재생을 위한 N 번째 오디오 프레임 (720) 을 생성할 수도 있다. 추가적으로, 제 2 디바이스 (140) 는 (N+2) 번째 오디오 프레임 (예를 들어, 수정된 패킷 (170) 의 미사용된 부분) 의 프라이머리 코딩 (162) 의 카피 (730) 를 프리-리던던시 버퍼 (150) 에 저장할 수도 있다. 추가로 예시하기 위해, 제 2 디바이스 (140) 는 (N+1) 번째 오디오 프레임의 프라이머리 코딩 (704) 을 디코딩하여 제 2 디바이스 (140) 에서의 재생을 위한 (N+1) 번째 오디오 프레임 (722) 을 생성할 수도 있고, 제 2 디바이스 (140) 는 (N-1) 번째 오디오 프레임 (예를 들어, 수정된 패킷 (702) 의 미사용된 부분) 의 리던던트 코딩 (708) 의 카피 (732) 를 프리-리던던시 버퍼 (150) 에 저장할 수도 있다. 대안적으로, (N-1) 번째 타임 슬롯이 경과되었기 때문에, 제 2 디바이스 (140) 는 (N-1) 번째 오디오 프레임을 폐기할 수도 있다.
도 7 에 예시된 예에서, (N+2) 번째 패킷 (710) 은 디코딩을 위해 이용불가능하다. 제 2 디바이스 (140) 는 에러가 (N+2) 번째 타임 슬롯 (744) 과 연관된다는 것을 결정할 수도 있다. 예를 들어, 제 2 디바이스 (140) 는 수정된 (N+2) 번째 패킷 (710) (또는 그의 부분) 이 손상되어 있다는 것을 결정할 수도 있다. 다른 예로서, 제 2 디바이스 (140) 는 수정된 (N+2) 번째 패킷 (710) 이 수신되지 않았다고 결정할 수도 있다. (손상 또는 수신되지 않은 것으로 인해) 수정된 (N+2) 번째 패킷 (710) 이 이용불가능하다는 결정에 기초하여, 제 2 디바이스 (140) 는 (N+2) 번째 오디오에 대한 미사용된 프레임 정보의 카피가 프리-리던던시 버퍼 (150) 에서 이용가능한지 여부를 체크할 수도 있다. 예를 들어, 제 2 디바이스 (140) 는 프리-리던던시 버퍼 (150) 내의 각각의 패킷을 체크할 수도 있고, 식별자 (예를 들어, 시퀀스 식별자, 타임스탬프 등) 및 오프셋 값에 기초하여, 제 2 디바이스 (140) 는 (N+2) 번째 패킷의 코딩의 카피가 이용가능한지 여부를 결정할 수도 있다.
도 7 에 예시된 바와 같이, 프리-리던던시 버퍼 (150) 는 (N+2) 번째 오디오 프레임의 프라이머리 코딩 (162) 의 카피 (730) 를 저장한다. 제 2 디바이스 (140) 는 프리-리던던시 버퍼 (150) 로부터 프라이머리 코딩 (162) 의 카피 (730) 를 취출할 수도 있고 카피 (730) 에 기초하여 제 2 디바이스 (140) 에서의 재생을 위한 (N+2) 번째 오디오 프레임 (724) 을 생성할 수도 있다. 따라서, 프라이머리 코딩 (162) 의 카피 (730) 는 제 2 디바이스 (140) 가 회선 교환 네트워크 (154) 에서의 에러를 보상 (또는 은닉) 하는 것을 가능하게 할 수도 있다. (N+2) 번째 오디오 프레임의 카피가 프리-리던던시 버퍼 (150) 에서 이용가능하지 않은 경우, 제 2 디바이스 (140) 는 상이한 에러 은닉 동작을 수행할 수도 있다.
따라서, 도 7 은 제 2 디바이스 (140) 가 특정 오디오 프레임의 프라이머리 코딩을 포함하는 패킷이 이용불가능할 때 특정 오디오 프레임을 생성하기 위해 프리-리던던시 버퍼 (150) 에 저장된 오디오 프레임들의 미사용된 부분들의 카피들을 어떻게 사용하는 것이 가능한지를 예시한다. 저장된 카피에 기초하여 제 2 디바이스 (140) 에서의 재생을 위한 특정 오디오 프레임을 생성하면 회선 교환 네트워크 (154) 에서의 네트워크 에러를 보상 (또는 은닉) 할 수도 있다.
도 8 을 참조하면, 패킷 교환 네트워크로부터의 패킷들을 회선 교환 네트워크로 통신하기 위해 리던던트 프레임 정보를 사용하도록 구성된 시스템의 특정 예시적 예가 도시되고 일반적으로 800 으로 지정된다. 특정 구현에서, 시스템 (800) 은 도 1 의 제 1 디바이스 (102), 미디어 게이트웨이 (120), 및 제 2 디바이스 (140) 를 포함한다. 제 1 디바이스 (102) 는 패킷 교환 네트워크 (152) 를 통해 미디어 게이트웨이 (120) 와의 데이터 통신들을 수행할 수도 있고, 미디어 게이트웨이 (120) 는 회선 교환 네트워크 (154) 를 통해 제 2 디바이스 (140) 와의 데이터 통신들을 수행할 수도 있다.
도 8 에 예시된 바와 같이, 미디어 게이트웨이 (120) 는 디코더 (802) 및 인코더 (804) 를 포함한다. 특정 구현에서, 디코더 (802) 및 인코더 (804) 는 인코딩 및 디코딩 동작들을 수행하도록 구성되는 보코더 (보이스 인코더-디코더) 의 부분일 수도 있다. 디코더 (802) 는 패킷들 중 하나 이상을 디코딩하여 대응하는 오디오 프레임들을 생성하도록 구성될 수도 있고, 인코더 (804) 는 수정된 패킷들에 포함되는 오디오 프레임들 중 하나 이상을 재인코딩들로 재인코딩하도록 구성될 수도 있다. 특정 오디오 프레임을 생성하기 위해 패킷을 디코딩한 후에 특정 오디오 프레임을 인코딩하는 것은 특정 오디오 프레임을 "트랜스코딩" 하는 것으로 지칭될 수도 있다. 특정 구현에서, 디코더 (802) 및 인코더 (804) 는 특정 오디오 프레임의 리던던트 코딩을 디코딩하기 위해 그리고 특정 오디오 프레임을 프라이머리 코딩으로서 재인코딩하기 위해 사용될 수도 있다. 다른 구현들에서, 다른 타입들의 디코딩 및 인코딩이 수행될 수도 있다.
동작 동안, 제 1 디바이스 (102) 는 패킷 (160) 을 포함하는 패킷들의 시퀀스를 인코딩하여 이것을 패킷 교환 네트워크 (152) 를 통해 미디어 게이트웨이 (120) 에 송신할 수도 있다. 패킷 (160) 은 제 1 오디오 프레임 (예를 들어, (N+2) 번째 오디오 프레임) 의 프라이머리 코딩 (162) 및 제 2 오디오 프레임 (예를 들어, N 번째 오디오 프레임) 의 리던던트 코딩 (164) 을 포함할 수도 있다. 도 1 및 도 3 을 참조하여 설명된 바와 같이, 프라이머리 코딩 (162) 은 제 1 오디오 프레임의 인코딩된 저대역 코어 및 제 1 오디오 프레임의 고대역 파라미터들을 포함할 수도 있고, 리던던트 코딩 (164) 은 제 2 오디오의 고대역 이득 성형과 연관된 이득 성형 표시자, 제 2 오디오 프레임의 고대역 이득 프레임과 연관된 고대역 이득 프레임 표시자, 제 2 오디오 프레임의 고대역 LSP들과 연관된 고대역 LSP 표시자, 또는 이들의 조합을 포함한다. 미디어 게이트웨이 (120) 는 수신된 패킷들 (예를 들어, 오디오 프레임들) 을 디-지터 버퍼 (130) 에 버퍼링할 수도 있다. 미디어 게이트웨이 (120) 는 고정된 간격에서 패킷들을 회선 교환 네트워크 (154) 를 통해 제 2 디바이스 (140) 에 송신할 수도 있다. 미디어 게이트웨이 (120) 가 특정 오디오 프레임을 포함하는 패킷이 특정 오디오 프레임과 연관된 타임 슬롯에서 송신을 위해 이용불가능하다고 결정하는 경우, 미디어 게이트웨이 (120) 는 타임 슬롯 동안 송신을 위한 수정된 패킷을 생성하려고 시도할 수도 있다. 예를 들어, 미디어 게이트웨이 (120) 가 제 2 오디오 프레임의 프라이머리 코딩을 포함하는 패킷이 이용불가능하다고 결정하는 경우, 미디어 게이트웨이 (120) 는 수정된 패킷 (810) 을 생성할 수도 있다.
도 8 의 수정된 패킷 (810) 은 리던던트 코딩 (164) 에 기초하는 재인코딩 (812) 을 포함한다. 예시하기 위해, 디코더 (802) 는 제 2 오디오 프레임의 리던던트 코딩 (164) 에 기초하여 제 2 오디오 프레임을 생성하도록 패킷 (160) 을 디코딩하고, 인코더 (804) 는 제 2 오디오 프레임을 인코딩하여 재인코딩 (812) 을 생성할 수도 있고, 프로세서 (122) 는 제 2 오디오 프레임의 재인코딩 (812) 을 포함하는 수정된 패킷 (810) 을 생성하도록 구성될 수도 있다. 특정 구현에서, 재인코딩 (812) 은 제 2 오디오 프레임의 디코딩된 리던던트 코딩 (164) 의 프라이머리 코딩이다. 단일 오디오 프레임이 수정된 패킷 (810) 에 포함되기 때문에, 수정된 패킷 (810) 은 수정된 패킷 (810) 의 어떤 부분을 디코딩할지를 특정하기 위한 시그널링 정보를 표시하는 하나 이상의 비트들을 포함하지 않을 수도 있다.
특정 구현에서, 패킷 (160), 수정된 패킷 (810), 또는 양쪽 모두는 편의를 위해 예시되지 않은 개개의 리던던트 코딩의 하나 이상의 비트들 (예를 들어, 도 1 의 하나 이상의 비트들 (166)) 을 포함할 수도 있다. 하나 이상의 비트들은 오프셋 비트들 (예를 들어, FEC 오프셋 비트들) 또는 제 1 오디오 프레임 또는 제 2 오디오 프레임에 관련된 다른 비트들을 포함할 수도 있다. 패킷 (160) 및 수정된 패킷 (810) 은 또한, 비제한적인 예로서 CMR 비트들과 같은, 제 1 오디오 프레임 및 제 2 오디오 프레임을 디코딩하는 것에 관련되지 않은 하나 이상의 비트들을 포함할 수도 있다.
프로세서 (122) 는 제 2 오디오 프레임의 프라이머리 코딩을 포함하는 제 2 패킷 (예를 들어, (N+2) 번째 패킷) 이 이용불가능하다는 결정에 응답하여 수정된 패킷 (810) 을 생성하도록 구성될 수도 있다. 예로서, 제 2 패킷이 이용불가능하다는 결정은 제 2 패킷 (또는 그의 부분) 이 손상되어 있다는 결정에 기초할 수도 있다. 다른 예로서, 제 2 패킷이 이용불가능하다는 결정은 제 2 패킷이 수신되지 않았다는 (예를 들어, 디-지터 버퍼 (130) 에서 이용가능하지 않다는) 결정에 기초할 수도 있다.
수정된 패킷 (810) 을 생성한 후에, 미디어 게이트웨이 (120) 는 제 2 오디오 프레임과 연관된 타임 슬롯 동안 수정된 패킷 (810) 을 제 2 디바이스 (140) 에 송신할 수도 있다. 제 2 디바이스 (140) 는 수정된 패킷 (810) 을 수신하고 수정된 패킷 (810) 을 디코딩하여 제 2 디바이스 (140) 에서의 재생을 위한 제 2 오디오 프레임 (예를 들어, N 번째 오디오 프레임) 을 생성할 수도 있다.
도 8 의 시스템 (800) 은 미디어 게이트웨이 (120) 가 리던던트 프레임 정보를 사용하여 리던던트 프레임 정보의 재인코딩들을 갖는 수정된 패킷들을 회선 교환 네트워크 디바이스 (예를 들어, 제 2 디바이스 (140)) 에 제공하는 것을 가능하게 한다. 재인코딩은 특정 오디오 프레임을 생성하기 위해 디코딩 및 사용된다. 따라서, 프라이머리 코딩을 갖는 패킷이 이용불가능한 경우, 특정 오디오 프레임의 재인코딩을 갖는 패킷이 제 2 디바이스 (140) 에 제공될 수도 있고, 특정 오디오 프레임의 재인코딩이 제 2 디바이스 (140) 에 의해 사용되어 패킷 교환 네트워크 (152) 에서의 네트워크 에러들을 보상 (또는 은닉) 할 수도 있다.
상기의 설명에서, 도 8 의 시스템 (800) 에 의해 수행되는 다양한 기능들은 특정 컴포넌트들에 의해 수행되는 것으로서 설명된다. 그러나, 컴포넌트들의 이러한 분할은 단지 예시를 위한 것이다. 대안적인 구현에서, 특정 컴포넌트에 의해 수행되는 기능이 그 대신에 다수의 컴포넌트들 중에서 분할될 수도 있다. 더욱이, 대안적인 구현에서, 도 8 의 2 개 이상의 컴포넌트들은 단일 컴포넌트로 통합될 수도 있다. 도 8 에 예시된 각각의 컴포넌트는 하드웨어 (예를 들어, FPGA 디바이스, ASIC, DSP, 제어기 등), 소프트웨어 (예를 들어, 프로세서에 의해 실행가능한 명령들), 또는 이들의 조합을 사용하여 구현될 수도 있다.
도 9 를 참조하면, 패킷 교환 네트워크로부터 수신된 패킷들 내의 리던던트 프레임 정보에 기초하여 패킷들을 생성하는 특정 구현의 다이어그램이 도시되고 일반적으로 900 으로 지정된다. 패킷들은 미디어 게이트웨이에서 생성될 수도 있다. 미디어 게이트웨이는 도 8 의 미디어 게이트웨이 (120) 를 포함하거나 또는 그에 대응할 수도 있다.
패킷들이 제 1 네트워크 인터페이스 (126) 에 의해 수신됨에 따라, 패킷들 (예를 들어, 오디오 프레임들) 은 디-지터 버퍼 (130) 에 저장될 수도 있다. 도 8 을 참조하여 설명된 바와 같이, 패킷 교환 네트워크 (152) 에서의 네트워크 조건들로 인해, 소스 디바이스 (예를 들어, 제 1 디바이스 (102)) 에 의해 전송된 패킷들은 순서가 바뀌어 도달할 수도 있거나, 손상될 수도 있거나, 또는 전혀 도달하지 못할 수도 있다. 미디어 게이트웨이 (120) (예를 들어, 프로세서 (122)) 는 패킷 시퀀스 또는 프레임 시퀀스에 따라 디-지터 버퍼 (130) 로부터 패킷들 (예를 들어, 오디오 프레임들) 을 취출할 수도 있다. 예를 들어, 패킷들은 시퀀스 번호들, 타임스탬프들, 또는 패킷들에 포함된 다른 시퀀싱 정보에 기초하여 취출될 수도 있다. 예시하기 위해, 미디어 게이트웨이 (120) 는 (N+1) 번째 패킷 (902) 에 앞서 N 번째 패킷 (910) 을 취출하려고 시도할 수도 있고, 미디어 게이트웨이 (120) 는 (N+2) 번째 패킷 (160) 에 앞서 (N+1) 번째 패킷 (902) 을 취출하려고 시도할 수도 있다.
특정 구현에서, 패킷 시퀀스의 패킷들 각각은 다수의 오디오 프레임들의 코딩을 포함한다. 예를 들어, N 번째 패킷 (910) 은 N 번째 오디오 프레임의 프라이머리 코딩 (912) 및 (N-2) 번째 오디오 프레임의 리던던트 코딩 (914) 을 포함하고, (N+1) 번째 패킷 (902) 은 (N+1) 번째 오디오 프레임의 프라이머리 코딩 (904) 및 (N-1) 번째 오디오 프레임의 리던던트 코딩 (906) 을 포함하고, (N+2) 번째 패킷 (160) 은 (N+2) 번째 오디오 프레임의 프라이머리 코딩 (162) 및 N 번째 오디오 프레임의 리던던트 코딩 (164) 을 포함한다. 대안적으로, 하나 이상의 패킷들은 단일 오디오 프레임의 코딩 (예를 들어, 단일 오디오 프레임의 프라이머리 코딩) 을 포함할 수도 있다. 패킷들 (910, 902, 및 160) 은 또한 대응하는 패킷에 포함된 오디오 프레임들에 관련되는 개개의 비트들 (예를 들어, 오프셋 비트들) 을 포함할 수도 있다. 예시의 용이를 위해, (N-1) 번째 패킷, (N+3) 번째 패킷 등과 같은 패킷 시퀀스의 추가적인 패킷들이 도 9 에 도시되지 않는다.
미디어 게이트웨이 (120) 는 고정된 간격들에서 패킷들, 수정된 패킷들, 또는 양쪽 모두를 회선 교환 네트워크 (154) 를 통해 제 2 디바이스 (140) 에 제공할 수도 있다. 예를 들어, 미디어 게이트웨이 (120) 는 N 번째 타임 슬롯 (930) 동안 N 번째 오디오 프레임에 대응하는 패킷, (N+1) 번째 타임 슬롯 (932) 동안 (N+1) 번째 오디오 프레임에 대응하는 패킷, 및 (N+2) 번째 타임 슬롯 (934) 동안 (N+2) 번째 오디오 프레임에 대응하는 패킷을 제공할 수도 있다. 미디어 게이트웨이 (120) 는 대응하는 패킷이 제 1 디바이스 (102) 로부터 에러들 없이 수신되었는지 여부에 기초하여 패킷을 포워딩할지 또는 패킷을 수정할지 여부를 결정할 수도 있다.
도 9 에 예시된 예에서, N 번째 패킷 (910) 은 수정된 패킷을 생성함에 있어서의 사용을 위해 이용불가능하다. 예를 들어, 미디어 게이트웨이 (120) 는 N 번째 패킷 (910) 이 디-지터 버퍼 (130) 에서 이용가능하지 않다는 (예를 들어, N 번째 패킷 (910) 이 수신되지 않았다는) 것을 결정할 수도 있다. 다른 예로서, 미디어 게이트웨이 (120) 는 N 번째 패킷 (910) 이 디-지터 버퍼 (130) 에 있다는 것을 결정할 수도 있지만, N 번째 패킷 (910) 의 디코딩 동안 에러가 발생할 수도 있다 (예를 들어, N 번째 패킷 (210) 또는 그의 부분이 손상된다). (손상 또는 수신되지 않은 것으로 인해) N 번째 패킷 (910) 이 이용불가능하다는 결정에 기초하여, 미디어 게이트웨이 (120) 는 N 번째 오디오 프레임에 대한 리던던트 프레임 정보가 디-지터 버퍼 (130) 에서 이용가능한지 여부를 체크할 수도 있다. 예를 들어, 미디어 게이트웨이 (120) 는 디-지터 버퍼 (130) 내의 각각의 패킷을 체크할 수도 있고, 식별자 (예를 들어, 시퀀스 식별자, 타임스탬프 등) 및 오프셋 값에 기초하여, 미디어 게이트웨이 (120) 는 N 번째 오디오 프레임의 리던던트 정보가 이용가능한지를 결정할 수도 있다.
도 9 에 예시된 바와 같이, (N+2) 번째 패킷 (160) 은 N 번째 오디오 프레임의 리던던트 코딩 (164) 을 포함한다. 미디어 게이트웨이 (120) 는 디코더 (802) 를 통해 N 번째 오디오 프레임의 리던던트 코딩 (164) 을 디코딩할 수도 있고, 재인코딩 (812) 으로서 디코딩된 리던던트 코딩 (164) 을 재인코딩할 수도 있다. 예를 들어, 디코더 (802) 는 리던던트 코딩 (164) 을 디코딩할 수도 있고, 인코더 (804) 는 리던던트 코딩 (164) 을 인코딩하여 재인코딩 (812) 을 생성할 수도 있다. 특정 구현에서, 재인코딩 (812) 은 리던던트 코딩 (164) 에 기초하는 제 2 오디오 프레임의 프라이머리 코딩일 수도 있다. 리던던트 코딩 (164) 을 프라이머리 코딩으로서 재인코딩하는 것은 또한 리던던트 코딩 (164) 을 트랜스코딩하는 것으로 지칭될 수도 있다. 미디어 게이트웨이 (120) 는 재인코딩 (812) 을 포함하는 수정된 패킷 (810) 을 생성할 수도 있고, 미디어 게이트웨이 (120) 는 N 번째 타임 슬롯 (930) 동안 수정된 패킷 (810) 을 제 2 디바이스 (140) 에 송신할 수도 있다. 제 2 디바이스 (140) 는 수정된 패킷 (810) 을 수신하고, N 번째 오디오 프레임의 재인코딩 (812) 을 디코딩하고, 제 2 디바이스 (140) 에서의 재생을 위한 N 번째 오디오 프레임을 생성할 수도 있다. 따라서, 재인코딩 (812) 을 갖는 수정된 패킷 (810) 은 제 2 디바이스 (140) 가 패킷 교환 네트워크 (152) 에서의 에러를 보상 (또는 은닉) 하는 것을 가능하게 할 수도 있다. N 번째 오디오 프레임의 리던던트 코딩 (164) 을 포함하는 패킷 (160) 이 디-지터 버퍼 (130) 에서 이용가능하지 않은 경우, 미디어 게이트웨이 (120) 는 상이한 에러 은닉 동작을 수행할 수도 있다.
대응하는 패킷이 미디어 게이트웨이 (120) 에서 에러 없이 수신되는 경우, 미디어 게이트웨이 (120) 는 패킷을 제 2 디바이스 (140) 에 포워딩할 수도 있다. 예를 들어, 미디어 게이트웨이 (120) 는 (N+1) 번째 패킷 (902) 을 에러 없이 수신할 수도 있고 (N+1) 번째 타임 슬롯 (932) 동안 패킷 (902) 을 제 2 디바이스 (140) 에 송신할 수도 있다. 다른 예로서, 미디어 게이트웨이 (120) 는 (N+2) 번째 패킷 (160) 을 에러 없이 수신할 수도 있고 (N+2) 번째 타임 슬롯 (934) 동안 패킷 (160) 을 제 2 디바이스 (140) 에 송신할 수도 있다. 특정 구현에서, 패킷들 (902 및 160) 은 수정 없이 포워딩될 수도 있고, 제 2 디바이스 (140) 는 디폴트로 대응하는 프라이머리 코딩을 디코딩하도록 구성될 수도 있다. 대안적으로, 패킷들 (902 및 160) 은 패킷들 (902 및 160) 각각 내의 프라이머리 코딩이 디코딩되어야 한다는 것을 특정하기 위한 시그널링 정보를 표시하는 하나 이상의 비트들 (예를 들어, 비트 시퀀스) 을 포함할 수도 있다.
따라서, 도 9 는 특정 오디오 프레임의 프라이머리 코딩을 포함하는 패킷이 이용불가능할 때 리던던트 정보의 재인코딩을 갖는 수정된 프레임을 제공하기 위해 디-지터 버퍼 (130) 에 저장된 오디오 프레임들의 리던던트 코딩을 사용하기 위해 미디어 게이트웨이 (120) 에 의해 채용된 기법들을 예시한다. 특정 오디오 프레임의 리던던트 코딩을 갖는 수정된 프레임을 제공하면, 제 2 디바이스 (140) 가 제 2 디바이스 (140) 에서의 재생을 위한 특정 오디오 프레임을 생성하는 것을 가능하게 하고 패킷 교환 네트워크 (152) 에서의 네트워크 에러를 보상 (또는 은닉) 할 수도 있다.
도 10 을 참조하면, 시그널링 정보를 표시하는 하나 이상의 비트들을 포함하도록 오디오 패킷을 수정하는 방법의 특정 예시적 구현의 흐름도가 도시되고 일반적으로 1000 으로 지정된다. 방법 (1000) 은 도 1 및 도 2 의 미디어 게이트웨이 (120) 에 의해 수행될 수도 있다.
1002 에서, 방법 (1000) 은 제 1 네트워크 인터페이스에서 패킷 교환 네트워크를 통해 패킷을 수신하는 단계를 포함한다. 패킷은 제 1 오디오 프레임의 프라이머리 코딩 및 제 2 오디오 프레임의 리던던트 코딩을 포함한다. 예를 들어, 패킷 (160) 은 패킷 교환 네트워크 (152) 를 통해 미디어 게이트웨이 (120) 의 제 1 네트워크 인터페이스 (126) 에서 수신된다. 패킷 (160) 은 프라이머리 코딩 (162) 및 리던던트 코딩 (164) 를 포함한다.
1004 에서, 방법 (1000) 은 시그널링 정보를 표시하는 하나 이상의 비트들을 포함하는 수정된 패킷을 생성하는 단계를 포함한다. 시그널링 정보는 프라이머리 코딩 또는 리던던트 코딩 중 적어도 하나의 코딩의 디코딩에 대응한다. 예를 들어, 프로세서 (122) 는 수정된 패킷 (170) 에 시그널링 정보 (172) 를 표시하는 하나 이상의 비트들을 포함시킴으로써 수정된 패킷 (170) 을 생성한다. 시그널링 정보 (172) 는 프라이머리 코딩 (162) 또는 리던던트 코딩 (164) 중 적어도 하나를 디코딩하는 것에 대응한다. 예를 들어, 시그널링 정보 (172) 는 프라이머리 코딩 (162) 또는 리던던트 코딩 (164) 을 디코딩할지 여부를 표시한다. 구현에서, 단일 비트는 시그널링 정보 (172) 를 표시할 수도 있다. 일 구현에서, 단일 비트의 "0" 값은 프라이머리 코딩이 디코딩되어야 함을 표시할 수도 있고, 단일 비트의 "1" 값은 리던던트 코딩이 디코딩되어야 함을 표시할 수도 있다.
특정 구현에서, 도 1 에 예시된 바와 같이, 리던던트 코딩 (164) 의 단일 비트는 시그널링 정보 (172) 를 표시할 수도 있다. 다른 구현에서, 프라이머리 코딩 (162) 의 단일 비트는 시그널링 정보 (172) 를 표시할 수도 있다. 다른 구현에서, 도 3 에 예시된 바와 같이, 페이로드 (304) 내의 다른 값들에 대응하는 비트는 시그널링 정보 (172) 를 표시할 수도 있다. 다른 구현들에서, 도 1 의 하나 이상의 비트들 (166) 과 같은 하나 초과의 비트는 시그널링 정보 (172) 를 표시할 수도 있다.
1006 에서, 방법 (1000) 은 회선 교환 네트워크를 통해 제 2 네트워크 인터페이스로부터의 수정된 패킷을 송신하는 단계를 더 포함한다. 예를 들어, 미디어 게이트웨이 (120) 는 제 2 네트워크 인터페이스 (128) 로부터의 수정된 패킷 (170) 을 회선 교환 네트워크 (154) 를 통해 제 2 디바이스 (140) 에 송신한다.
특정 구현에서, 패킷 (160) 의 하나 이상의 비트들 (166) 은 오프셋 비트들에 대응한다. 오프셋 비트들은 오디오 프레임들의 시퀀스에서 제 1 오디오 프레임과 제 2 오디오 프레임 사이의 오프셋을 표시할 수도 있다. 다른 특정 구현에서, 패킷 (160) 의 하나 이상의 비트들 (166) 은 코덱 타입 표시자, 리던던시 프레임 플래그, 샤프 플래그, 모드 표시자, 대역폭 확장 (BWE) 계층 파라미터, 또는 이들의 조합에 대응한다.
다른 특정 구현에서, 방법 (1000) 은 제 2 오디오 프레임의 프라이머리 코딩을 포함하는 제 2 패킷이 이용불가능하다는 결정에 응답하여 수정된 패킷 (170) 을 생성하는 단계를 더 포함한다. 예로서, 제 2 패킷이 이용불가능하다는 결정은 제 2 패킷이 손상되어 있다는 결정에 기초할 수도 있다. 다른 예로서, 제 2 패킷이 이용불가능하다는 결정은 제 2 패킷이 수신되지 않았다는 결정에 기초한다. 추가적으로 또는 대안적으로, 수정된 패킷 (170) 은 N 번째 타임 슬롯 (230) (예를 들어, 제 2 오디오 프레임과 연관된 타임 슬롯) 동안 송신될 수도 있다.
특정 구현에서, 방법 (1000) 은, 도 3 의 페이로드 (304) 의 제 4 예 (350) 를 참조하여 설명된 바와 같이, 시그널링 정보 (172) 를 표시하기 위해 리던던트 코딩 (164) 의 하나 이상의 비트들 (166) 을 워터마킹하는 단계를 포함할 수도 있다. 다른 특정 구현에서, 프라이머리 코딩 (162) 은 제 1 오디오 프레임의 인코딩된 저대역 코어 및 제 1 오디오 프레임의 고대역 파라미터들을 포함할 수도 있다. 추가적으로 또는 대안적으로, 리던던트 코딩 (164) 은 제 2 오디오 프레임의 고대역 이득 성형과 연관된 이득 성형 표시자, 제 2 오디오 프레임의 고대역 이득 프레임과 연관된 고대역 이득 프레임 표시자, 제 2 오디오 프레임의 고대역 라인 스펙트럼 쌍 (LSP) 들과 연관된 고대역 LSP 표시자, 또는 이들의 조합을 포함할 수도 있다.
대안적으로, 시그널링 정보는 패딩 비트들로 인코딩될 수도 있다. 예를 들어, 패딩 비트들 중 하나는 시그널링 비트에 대응할 수도 있고 시그널링 비트의 값은 리던던트 코딩이 디코딩되어야 하는지 여부를 표시할 수도 있다. 다른 구현에서, 방법 (1000) 은 디-지터 버퍼로부터 패킷을 취출하는 단계 및 오디오 프레임의 송신에 대응하는 시간 주기 동안 패킷으로부터 수정된 패킷을 생성하는 단계를 포함한다. 다른 구현에서, 패킷은 복수의 비트들을 포함할 수도 있는데, 그 중 일부는 오프셋 비트들에 대응한다. 오프셋 비트들은 오디오 프레임들의 시퀀스에서 제 1 오디오 프레임과 제 2 오디오 프레임 사이의 오프셋에 대응할 수도 있다. 시그널링 정보는 오프셋 비트들의 비트에 대응할 수도 있다.
방법 (1000) 은 제 1 오디오 프레임의 프라이머리 코딩, 제 2 오디오 프레임의 리던던트 코딩, 및 어떤 코딩을 디코딩할지를 표시하는 시그널링 정보를 갖는 수정된 패킷의 생성을 가능하게 한다. 수정된 오디오 패킷은 패킷 교환 네트워크에서의 에러와 연관된 패킷 대신에 송신될 수도 있다.
도 11 을 참조하면, 시그널링 정보를 포함하는 오디오 패킷을 디코딩하는 방법의 특정 예시적 구현의 흐름도가 도시되고 일반적으로 1100 으로 지정된다. 방법 (1100) 은 도 1 및 도 2 의 제 2 디바이스 (140) 에 의해 수행될 수도 있다.
1102 에서, 방법 (1100) 은 회선 교환 네트워크를 통해 네트워크 인터페이스에서 패킷을 수신하는 단계를 포함한다. 패킷은 제 1 오디오 프레임의 프라이머리 코딩, 제 2 오디오 프레임의 리던던트 코딩, 및 프라이머리 코딩 또는 리던던트 코딩 중 적어도 하나의 코딩의 디코딩에 대응하는 시그널링 정보를 포함한다. 리던던트 코딩의 하나 이상의 비트들은 시그널링 정보를 표시할 수도 있다. 예를 들어, 제 2 디바이스 (140) 는 회선 교환 네트워크 (154) 를 통해 네트워크 인터페이스 (148) 에서 수정된 패킷 (170) 을 수신한다. 수정된 패킷 (170) 은 프라이머리 코딩 (162), 리던던트 코딩 (164), 및 리던던트 코딩 (164) 내의 하나 이상의 비트들 (166) 을 포함하고, 하나 이상의 비트들 (166) 은 시그널링 정보 (172) 를 표시한다. 특정 예로서, 도 3 의 오프셋 비트들 영역 (328) 은 시그널링 정보 (172) 를 표시할 수도 있다. 시그널링 정보 (172) 는 프라이머리 코딩 (162) 또는 리던던트 코딩 (164) 중 적어도 하나의 코딩의 디코딩에 대응한다. 예를 들어, 시그널링 정보 (172) 는 프라이머리 코딩 (162) 또는 리던던트 코딩 (164) 이 디코딩되어야 하는지 여부를 표시한다. 대안적으로, 수정된 패킷 (170) 의 리던던트 코딩, 프라이머리 코딩, 또는 페이로드 부분의 다른 세그먼트의 단일 비트가 시그널링 정보 (172) 를 표시할 수도 있다.
1104 에서, 방법 (1100) 은 시그널링 정보에 기초하여 패킷의 부분을 디코딩하는 단계를 더 포함한다. 예를 들어, 디코더 (146) 는 시그널링 정보 (172) 에 기초하여 프라이머리 코딩 (162) 또는 리던던트 코딩 (164) 을 디코딩할 수도 있다.
특정 구현에서, 수정된 패킷 (170) 의 부분을 디코딩하는 것은 시그널링 정보 (172) 에 기초하여 프라이머리 코딩 (162) 을 디코딩하는 것을 포함한다. 대안적으로, 수정된 패킷 (170) 의 부분을 디코딩하는 것은 시그널링 정보 (172) 에 기초하여 리던던트 코딩 (164) 을 디코딩하는 것을 포함한다.
다른 특정 구현에서, 시그널링 정보 (172) 는 오디오 프레임들의 시퀀스에서 제 1 오디오 프레임과 제 2 오디오 프레임 사이의 오프셋을 추가로 표시한다. 다른 특정 구현에서, 수정된 패킷 (170) 은 N 번째 타임 슬롯 (230) (예를 들어, 제 2 오디오 프레임의 프라이머리 코딩을 포함하는 제 2 패킷과 연관된 타임 슬롯) 동안 수신된다. 다른 특정 구현에서, 하나 이상의 비트들 (166) 은 오프셋 필드 (예를 들어, 도 3 의 오프셋 비트들 영역 (328)) 를 포함한다. 다른 특정 구현에서, 시그널링 정보 (172) 는 리던던트 코딩 (164) 의 워터마킹에 의해 표시된다.
다른 특정 구현에서, 방법 (1100) 은 패킷의 부분을 디코딩하는 것에 응답하여 프리-리던던시 버퍼에 패킷의 미디코딩된 부분을 저장하는 단계를 포함한다. 예를 들어, 도 1 을 참조하면, 제 2 디바이스 (140) 는 패킷의 미디코딩된 부분을 프리-리던던시 버퍼 (150) 에 저장하도록 구성될 수도 있다. 패킷의 부분을 디코딩하는 것에 응답하여, 제 2 디바이스 (140) 는 패킷의 미디코딩된 부분을 프리-리던던시 버퍼 (150) 에 저장하도록 구성될 수도 있다.
방법 (1100) 은, 제 2 패킷에 관련된 에러 조건에 응답하여, 프리-리던던시 버퍼로부터, 패킷의 미디코딩된 부분을 취출하는 단계를 더 포함할 수도 있다. 예를 들어, 도 1 을 참조하면, 제 2 디바이스 (140) 의 프로세서 (142) 는 제 2 디바이스 (140) 에서 수신된 제 2 패킷과 연관된 에러 조건에 응답하여 프리-리던던시 버퍼 (150) 로부터 패킷의 미디코딩된 부분을 취출하도록 구성될 수도 있다. 상세하게 설명하기 위해, 제 2 디바이스 (140) 는 네트워크 인터페이스 (148) 에서 제 2 패킷을 수신할 수도 있다. 제 2 패킷은 회선 교환 네트워크 (154) 를 통해 수신될 수도 있다. 제 2 패킷은 패킷이 수신된 타임 슬롯에 후속하는 타임 슬롯에서 수신될 수도 있다. 제 2 디바이스 (140) 는 제 2 패킷과 연관된 데이터가 손상되었다는 것을 결정하도록 구성될 수도 있다. 예를 들어, 제 2 패킷은 특정 비트들이 부족할 수도 있고, 제 2 디바이스 (140) 의 프로세서 (142) 는 그러한 비트들이 누락되어 있다는 것을 결정하도록 구성될 수도 있다.
방법 (1100) 은, 제 2 패킷 내의 데이터가 손상되었다는 것을 결정하는 것에 기초하여, 프리-리던던시 버퍼로부터 패킷의 미디코딩된 부분을 취출하는 단계를 추가적으로 포함할 수도 있다. 패킷의 미디코딩된 부분은 손상된 데이터에 대응할 수도 있다. 예시하기 위해, 제 2 디바이스 (140) 의 프로세서 (142) 는 제 2 패킷에 포함된 데이터가 손상되었다는 결정에 기초하여 프리-리던던시 버퍼 (150) 로부터 패킷의 미디코딩된 부분을 취출하도록 구성될 수도 있다. 패킷의 미디코딩된 부분은 제 2 패킷 내의 손상된 데이터의 미손상된 카피일 수도 있다.
방법 (1100) 은 제 1 오디오 프레임의 프라이머리 코딩, 제 2 오디오 프레임의 리던던트 코딩, 및 어떤 오디오 프레임을 디코딩할지를 표시하는 시그널링 정보를 갖는 수정된 패킷의 디코딩을 가능하게 한다. 수정된 패킷은 패킷 교환 네트워크에서 네트워크 에러와 연관된 패킷 대신에 수신될 수도 있다.
도 12 를 참조하면, 오디오 패킷에서 미사용된 프레임 정보의 저장된 카피를 유지하는 방법의 특정 예시적 구현의 흐름도가 도시되고 일반적으로 1200 으로 지정된다. 방법 (1200) 은 도 1 및 도 4 의 제 2 디바이스 (140) 에 의해 수행될 수도 있다.
1202 에서, 방법 (1200) 은 회선 교환 네트워크를 통해 네트워크 인터페이스에서 패킷을 수신하는 단계를 포함한다. 패킷은 제 1 오디오 프레임의 프라이머리 코딩 및 제 2 오디오 프레임의 리던던트 코딩을 포함한다. 예를 들어, 제 2 디바이스 (140) 는 회선 교환 네트워크 (154) 를 통해 네트워크 인터페이스 (148) 에서 수정된 패킷 (170) 을 수신한다. 수정된 패킷 (170) 은 프라이머리 코딩 (162) 및 리던던트 코딩 (164) 를 포함한다.
1204 에서, 방법 (1200) 은 제 2 오디오 프레임의 리던던트 코딩을 디코딩하는 단계를 포함한다. 예를 들어, 디코더 (146) 는 (예를 들어, 시그널링 정보 (172) 에 기초하여) 리던던트 코딩 (164) 을 디코딩한다. 1206 에서, 방법 (1200) 은 제 2 오디오 프레임의 리던던트 코딩의 디코딩 후에 메모리에 제 1 오디오 프레임의 프라이머리 코딩을 저장하는 단계를 더 포함한다. 예를 들어, 제 2 디바이스 (140) 는 리던던트 코딩 (164) 의 디코딩 후에 프라이머리 코딩 (162) 을 프리-리던던시 버퍼 (150) 에 저장한다.
특정 구현에서, 방법 (1200) 은, (N+2) 번째 타임 슬롯 (444) (예를 들어, 제 1 오디오 프레임과 연관된 타임 슬롯) 에서, 메모리 (144) (예를 들어, 프리-리던던시 버퍼 (150)) 로부터 제 1 오디오 프레임의 프라이머리 코딩 (162) 의 카피 (430) 를 취출하는 단계 및 제 1 오디오 프레임의 프라이머리 코딩 (160) 의 카피 (430) 를 사용하여 제 1 오디오 프레임을 디코딩하는 단계를 포함한다. 제 1 오디오 프레임의 프라이머리 코딩 (162) 은 에러가 (N+2) 번째 타임 슬롯 (444) 과 연관된다는 결정에 응답하여 취출될 수도 있다. 특정 구현에서, 에러는 제 1 오디오 프레임의 프라이머리 코딩 (162) 을 포함하는 제 2 패킷이 손상되어 있다는 결정에 기초하여 결정된다. 대안적으로, 에러는 제 1 오디오 프레임의 프라이머리 코딩 (162) 을 포함하는 제 2 패킷이 (N+2) 번째 타임 슬롯 (444) 동안 수신되지 않았다는 결정에 기초하여 결정될 수도 있다.
다른 특정 구현에서, 수정된 패킷 (170) 은 시그널링 정보 (172) 를 표시하는 하나 이상의 비트들 (166) 을 더 포함한다. 시그널링 정보 (172) 는 프라이머리 코딩 (162) 또는 리던던트 코딩 (164) 을 디코딩할지 여부를 특정한다. 리던던트 코딩 (164) 은 시그널링 정보 (172) 에 기초하여 디코딩될 수도 있다. 추가적으로 또는 대안적으로, 시그널링 정보 (172) 는 오디오 프레임들의 시퀀스에서 제 1 오디오 프레임과 제 2 오디오 프레임 사이의 오프셋을 추가로 표시할 수도 있다.
다른 특정 구현에서, 미디어 게이트웨이 (120) 에서의 제 2 오디오 프레임의 프라이머리 코딩의 수신과 연관된 에러에 응답하여, 수정된 패킷 (170) 이 N 번째 타임 슬롯 (440) (예를 들어, 제 2 오디오 프레임과 연관된 제 2 타임 슬롯) 동안 미디어 게이트웨이 (120) 로부터 수신된다. 추가적으로 또는 대안적으로, 프라이머리 코딩 (162) 은 제 1 오디오 프레임의 인코딩된 저대역 코어 및 제 1 오디오 프레임의 고대역 파라미터들을 포함할 수도 있다. 추가적으로 또는 대안적으로, 리던던트 코딩 (164) 은 제 2 오디오 프레임의 고대역 이득 성형과 연관된 이득 성형 표시자, 제 2 오디오 프레임의 고대역 이득 프레임과 연관된 고대역 이득 프레임 표시자, 제 2 오디오 프레임의 고대역 라인 스펙트럼 쌍 (LSP) 들과 연관된 고대역 LSP 표시자, 또는 이들의 조합을 포함할 수도 있다.
방법 (1200) 은 미사용된 오디오 프레임 정보의 저장된 카피가 유지되는 것을 가능하게 한다. 저장된 카피는 미사용된 오디오 프레임과 연관된 패킷의 수신 시에 에러가 발생할 때 오디오 프레임을 생성하는 데 사용될 수도 있다.
도 13 을 참조하면, 리던던트 프레임 정보를 재인코딩하는 방법의 특정 예시적 구현의 흐름도가 도시되고 일반적으로 1300 으로 지정된다. 방법 (1300) 은 도 8 및 도 9 의 미디어 게이트웨이 (120) 에 의해 수행될 수도 있다.
1302 에서, 방법 (1300) 은 제 1 네트워크 인터페이스에서 패킷 교환 네트워크를 통해 패킷을 수신하는 단계를 포함한다. 패킷은 제 1 오디오 프레임의 프라이머리 코딩 및 제 2 오디오 프레임의 리던던트 코딩을 포함한다. 예를 들어, 미디어 게이트웨이 (120) 의 제 1 네트워크 인터페이스 (126) 는 패킷 교환 네트워크 (152) 를 통해 패킷 (160) 을 수신한다. 패킷 (160) 은 프라이머리 코딩 (162) 및 리던던트 코딩 (164) 를 포함한다.
1304 에서, 방법 (1300) 은 제 2 오디오 프레임의 리던던트 코딩의 재인코딩을 포함하는 수정된 패킷을 생성하는 단계를 포함한다. 예를 들어, 디코더 (802) 는 리던던트 코딩 (164) 을 디코딩하고, 인코더 (804) 는 리던던트 코딩 (164) 의 재인코딩 (812) 을 생성한다. 프로세서 (122) 는 재인코딩 (812) 을 포함하는 수정된 패킷 (810) 을 생성한다.
1306 에서, 방법 (1300) 은 회선 교환 네트워크를 통해 제 2 네트워크 인터페이스로부터의 수정된 패킷을 송신하는 단계를 더 포함한다. 예를 들어, 미디어 게이트웨이 (120) 는 제 2 네트워크 인터페이스 (128) 로부터의 수정된 패킷 (810) 을 회선 교환 네트워크 (154) 를 통해 제 2 디바이스 (140) 에 송신한다.
특정 구현에서, 방법 (1300) 은 제 2 오디오 프레임의 리던던트 코딩 (164) 을 디코딩하는 단계를 포함하고, 여기서 리던던트 코딩 (164) 의 재인코딩 (812) 을 생성하는 것은 제 2 오디오 프레임의 디코딩된 리던던트 코딩 (164) 의 프라이머리 코딩을 생성하는 것을 포함한다. 재인코딩 (812) 을 생성하는 것은 트랜스코딩하는 것으로 지칭될 수도 있다. 다른 특정 구현에서, 수정된 패킷 (810) 은 제 2 오디오 프레임의 프라이머리 코딩을 포함하는 제 2 패킷이 이용불가능하다는 결정에 응답하여 송신된다.
다른 특정 구현에서, 방법 (1300) 은 패킷 (160) 의 수신에 응답하여 리던던트 코딩 (164) 의 재인코딩 (812) 을 생성하는 단계를 포함한다. 추가적으로 또는 대안적으로, 방법 (1300) 은 리던던트 코딩 (162) 의 재인코딩 (812) 을 메모리 (예를 들어, 디-지터 버퍼 (130)) 에 저장하는 단계를 포함한다. 일부 구현들에서, 방법 (1300) 은 제 2 오디오 프레임의 프라이머리 코딩을 포함하는 제 2 패킷이 이용불가능하다는 결정에 응답하여 수정된 패킷 (810) 을 생성하기 위해 메모리 (예를 들어, 디-지터 버퍼 (130)) 로부터 리던던트 코딩 (164) 의 재인코딩 (812) 을 취출하는 단계를 더 포함한다. 제 2 패킷이 이용불가능하다는 결정은 제 2 패킷이 손상되어 있다는 결정 또는 제 2 패킷이 수신되지 않았다는 결정에 기초할 수도 있다.
다른 특정 구현에서, 프라이머리 코딩 (162) 은 제 1 오디오 프레임의 인코딩된 저대역 코어 및 제 1 오디오 프레임의 고대역 파라미터들을 포함한다. 추가적으로 또는 대안적으로, 리던던트 코딩 (164) 은 제 2 오디오 프레임의 고대역 이득 성형과 연관된 이득 성형 표시자, 제 2 오디오 프레임의 고대역 이득 프레임과 연관된 고대역 이득 프레임 표시자, 제 2 오디오 프레임의 고대역 라인 스펙트럼 쌍 (LSP) 들과 연관된 고대역 LSP 표시자, 또는 이들의 조합을 포함한다.
방법 (1300) 은 재인코딩된 리던던트 프레임 정보를 갖는 수정된 패킷의 생성을 가능하게 한다. 수정된 오디오 패킷은 패킷 교환 네트워크에서의 에러와 연관되는 특정 오디오 프레임과 연관된 타임 슬롯 동안 송신될 수도 있다.
도 14 를 참조하면, 오디오 패킷을 디코딩하는 방법을 표시하는 비트 시퀀스를 포함하도록 오디오 패킷을 수정하는 방법의 특정 예시적 구현의 흐름도가 도시되고 일반적으로 1400 으로 지정된다. 방법 (1400) 은 도 5 및 도 6 의 미디어 게이트웨이 (120) 에 의해 수행될 수도 있다.
1402 에서, 방법 (1400) 은 제 1 네트워크 인터페이스에서 패킷 교환 네트워크를 통해 패킷을 수신하는 단계를 포함한다. 패킷은 제 1 오디오 프레임의 프라이머리 코딩 및 제 2 오디오 프레임의 리던던트 코딩을 포함한다. 예를 들어, 미디어 게이트웨이 (120) 의 제 1 네트워크 인터페이스 (126) 는 패킷 교환 네트워크 (152) 를 통해 패킷 (160) 을 수신한다. 패킷 (160) 은 프라이머리 코딩 (162) 및 리던던트 코딩 (164) 를 포함한다.
1404 에서, 방법 (1400) 은 프라이머리 코딩의 패딩 비트들의 적어도 일부를 비트 시퀀스로 대체시키는 것에 의해 수정된 패킷을 생성하는 단계를 포함한다. 예를 들어, 프로세서 (122) 는 수정된 패킷 (510) 을 생성하기 위해 프라이머리 코딩 (162) 의 패딩 비트들 (502) 의 적어도 일부를 비트 시퀀스 (512) 로 대체시킬 수도 있다. 구현에서, 수정된 패킷 (510) 을 생성하는 것은 패킷의 적어도 프라이머리 코딩 부분의 하나 이상의 패드 비트들 또는 리던던트 코딩 부분의 하나 이상의 오프셋 비트들을 오버라이팅하는 것을 포함할 수도 있다. 다른 구현에서, 수정된 패킷은 "초 당 13.2 킬로비트들 패킷" 으로 지칭될 수도 있는 초 당 13.2 킬로비트들의 레이트로 송신되는 패킷의 패딩 비트들 또는 패드 비트 부분들 내에 단일 비트 (즉, 시그널링 정보를 포함함) 를 배치시킴으로써 생성될 수도 있다.
1406 에서, 방법 (1400) 은 회선 교환 네트워크를 통해 제 2 네트워크 인터페이스로부터의 수정된 패킷을 송신하는 단계를 더 포함한다. 예를 들어, 미디어 게이트웨이 (120) 는 제 2 네트워크 인터페이스 (128) 로부터의 수정된 패킷 (510) 을 회선 교환 네트워크 (154) 를 통해 제 2 디바이스 (140) 에 송신할 수도 있다.
특정 구현에서, 비트 시퀀스 (512) (또는 시그널링 정보 (172)) 는 리던던트 코딩 (164) 이 디코딩되어야 함을 표시한다. 추가적으로 또는 대안적으로, 비트 시퀀스 (512) (또는 시그널링 정보 (172)) 는 비트 값들의 미리 결정된 시퀀스를 포함한다. 비트 시퀀스는, 비제한적인 예들로서, 모든 1 값들 또는 적어도 하나의 논-제로 값을 포함할 수도 있다.
다른 특정 구현에서, 방법 (1400) 은 제 2 오디오 프레임의 프라이머리 코딩을 포함하는 제 2 패킷이 이용불가능하다는 결정에 응답하여 수정된 패킷 (510) 을 생성하는 단계를 포함한다. 제 2 패킷이 이용불가능하다는 결정은 제 2 패킷이 손상되어 있다는 결정에 기초할 수도 있다. 대안적으로, 제 2 패킷이 이용불가능하다는 결정은 제 2 패킷이 수신되지 않았다는 결정에 기초할 수도 있다. 추가적으로 또는 대안적으로, 수정된 패킷 (510) 은 N 번째 타임 슬롯 (630) (예를 들어, 제 2 오디오 프레임과 연관된 타임 슬롯) 동안 송신될 수도 있다. 다른 특정 구현에서, 프라이머리 코딩 (162) 또는 리던던트 코딩 (164) 의 하나 이상의 비트들 (166) 은 시그널링 정보 (예를 들어, 도 1 의 시그널링 정보 (172)) 를 표시하기 위해 워터마킹될 수도 있다.
특정 구현에서, 프라이머리 코딩 (162) 은 제 1 오디오 프레임의 인코딩된 저대역 코어 및 제 1 오디오 프레임의 고대역 파라미터들을 포함할 수도 있다. 추가적으로 또는 대안적으로, 리던던트 코딩 (164) 은 제 2 오디오 프레임의 고대역 이득 성형과 연관된 이득 성형 표시자, 제 2 오디오 프레임의 고대역 이득 프레임과 연관된 고대역 이득 프레임 표시자, 제 2 오디오 프레임의 고대역 라인 스펙트럼 쌍 (LSP) 들과 연관된 고대역 LSP 표시자, 또는 이들의 조합을 포함할 수도 있다.
다른 특정 구현에서, 프로세서 (122) 는 제 2 네트워크 인터페이스 (128) 가 패킷 교환 네트워크 (152) 를 통해 오디오 패킷을 송신하도록 구성될 때 오디오 패킷을 수정하는 것을 억제하도록 구성될 수도 있다. 패킷을 수정하는 것을 억제하는 것은 수신된 패킷의 패딩 비트들의 부분을 대체시키고 그 대신에 패킷 교환 네트워크를 통해 수신된 패킷을 송신함으로써 수정된 패킷을 생성하지 않는 것을 포함할 수도 있다.
방법 (1400) 은 수정된 오디오 패킷을 디코딩하는 방법을 표시하는 비트 시퀀스를 갖는 수정된 패킷의 생성을 가능하게 한다. 수정된 오디오 패킷은 패킷 교환 네트워크에서의 에러와 연관되는 특정 오디오 프레임의 타임 슬롯 동안 송신될 수도 있다.
도 15 를 참조하면, 특정 비트 시퀀스를 포함하는 오디오 패킷을 디코딩하는 방법의 특정 예시적 구현의 흐름도가 도시되고 일반적으로 1500 으로 지정된다. 방법 (1500) 은 도 5 및 도 6 의 제 2 디바이스 (140) 에 의해 수행될 수도 있다.
1502 에서, 방법 (1500) 은 네트워크 인터페이스에서 회선 교환 네트워크를 통해 패킷을 수신하는 단계를 포함한다. 패킷은 제 1 오디오 프레임의 프라이머리 코딩을 위해 할당된 비트들의 제 1 세트 및 제 2 오디오 프레임의 리던던트 코딩을 위해 할당된 비트들의 제 2 세트를 포함한다. 예를 들어, 제 2 디바이스 (140) 의 네트워크 인터페이스 (148) 는 회선 교환 네트워크 (154) 를 통해 수정된 패킷 (510) 을 수신할 수도 있다. 수정된 패킷 (510) 은 프라이머리 코딩 (162) 에 대해 할당된 비트들의 제 1 세트 및 리던던트 코딩 (164) 에 대해 할당된 비트들의 제 2 세트를 포함할 수도 있다.
1504 에서, 방법 (1500) 은 비트들의 제 1 세트에서 비트 시퀀스를 검출하는 단계를 포함하고, 비트 시퀀스는 리던던트 코딩이 디코딩되어야 함을 표시한다. 예를 들어, 프로세서 (142) 는 비트들의 제 1 세트에서 비트 시퀀스 (512) (또는 시그널링 정보 (172)) 를 검출할 수도 있다. 비트 시퀀스 (512) (또는 시그널링 정보 (172)) 는 리던던트 코딩 (164) 이 디코딩되어야 함을 표시할 수도 있다.
1506 에서, 방법 (1500) 은 비트 시퀀스의 검출에 기초하여 리던던트 코딩을 디코딩하는 단계를 더 포함한다. 예를 들어, 디코더 (146) 는 비트 시퀀스 (512) (또는 시그널링 정보 (172)) 의 검출에 기초하여 리던던트 코딩 (164) 을 디코딩할 수도 있다.
특정 구현에서, 비트 시퀀스 (512) (또는 시그널링 정보 (172)) 는 비트들의 제 1 세트의 패딩 비트들의 부분에서 검출될 수도 있다. 다른 특정 구현에서, 비트 시퀀스 (512) 는 비트 값들의 미리 결정된 시퀀스를 포함한다. 예를 들어, 비트 시퀀스 (512) 는 모든 제로 값들을 포함할 수도 있다. 대안적으로, 비트 시퀀스 (512) 는 모든 1 값들을 포함할 수도 있다. 대안적으로, 비트 시퀀스 (512) 는 적어도 하나의 비-제로 값을 포함할 수도 있다. 다른 특정 구현에서, 수정된 패킷 (510) 은 N 번째 타임 슬롯 (630) (예를 들어, 제 2 오디오 프레임과 연관된 타임 슬롯) 동안 수신된다.
방법 (1500) 은 제 1 오디오 프레임의 프라이머리 코딩, 제 2 오디오 프레임의 리던던트 코딩, 및 어떤 오디오 프레임을 디코딩할지를 표시하는 비트 시퀀스를 갖는 수정된 패킷의 디코딩을 가능하게 한다. 수정된 패킷은 패킷 교환 네트워크에서 네트워크 에러와 연관된 패킷 대신에 수신될 수도 있다.
도 16 을 참조하면, 모바일 디바이스 (예를 들어, 무선 통신 디바이스) 의 특정 예시적 구현의 블록 다이어그램이 도시되고 일반적으로 1600 으로 지정된다. 다양한 구현들에서, 디바이스 (1600) 는 도 16 에 예시된 것보다 더 많거나 또는 더 적은 컴포넌트들을 가질 수도 있다. 예시적 구현에서, 디바이스 (1600) 는 도 1, 도 5, 및 도 8 의 제 1 디바이스 (102), 미디어 게이트웨이 (120), 및 제 2 디바이스 (140) 중 하나 이상에 대응할 수도 있다.
특정 구현에서, 디바이스 (1600) 는 프로세서 (1606) (예를 들어, 중앙 프로세싱 디바이스 (CPU)) 를 포함한다. 디바이스 (1600) 는 하나 이상의 추가적인 프로세서들 (1610) (예를 들어, 하나 이상의 디지털 신호 프로세서 (DSP) 들) 을 포함할 수도 있다. 프로세서들 (1610) 은 음성 및 음악 코더-디코더 (코덱) (1608) 를 포함할 수도 있다. 일 구현에서, 음성 및 음악 코덱 (1608) 은 보코더 인코더 (예를 들어, 도 1, 도 5, 및 도 8 의 인코더 (108)), 보코더 디코더 (예를 들어, 도 1, 도 4, 도 5, 도 7, 및 도 8 의 디코더 (146)), 또는 양쪽 모두를 포함할 수도 있다. 특정 구현에서, 음성 및 음악 코덱 (1608) 은 제 3 세대 파트너십 프로젝트 (3GPP) EVS 프로토콜과 같은 하나 이상의 사양들 또는 프로토콜들에 따라 통신하는 향상된 보이스 서비스 (EVS) 코덱일 수도 있다. 대안적인 구현에서, 디바이스 (1600) 는 메모리 (1632) 및 코덱 (1634) 을 포함할 수도 있다. 도시되지는 않았지만, 메모리 (1632) 는 도 1 의 프라이머리 코딩 (162), 리던던트 코딩 (164), 또는 양쪽 모두를 포함할 수도 있다. 메모리 (1632) 는 디-지터 버퍼 (130) 를 포함할 수도 있다. 구현에서, 디-지터 버퍼 (130) 는 패킷 (160) 을 저장하도록 구성될 수도 있다. 디바이스 (1600) 는 제 1 트랜시버 (1650) 를 통해 제 1 안테나 (1642) 에 커플링된 제 1 네트워크 인터페이스 (1640) 를 포함할 수도 있다. 디바이스 (1600) 는 제 2 트랜시버 (1612) 를 통해 제 2 안테나 (1614) 에 커플링된 제 2 네트워크 인터페이스 (1670) 를 더 포함할 수도 있다.
디바이스 (1600) 는 디스플레이 제어기 (1626) 에 커플링된 디스플레이 (1628) 를 포함할 수도 있다. 스피커 (1646), 마이크로폰 (1648), 또는 이들의 조합이 코덱 (1634) 에 커플링될 수도 있다. 코덱 (1634) 은 DAC (1602) 및 ADC (1604) 를 포함할 수도 있다. 특정 구현에서, 코덱 (1634) 은 마이크로폰 (1648) 으로부터 아날로그 신호를 수신하고, ADC (1604) 를 사용하여 아날로그 신호들을 디지털 신호들로 컨버팅하고, 디지털 신호들을 프로세서 (1610) 에 제공할 수도 있다. 프로세서 (1610) 는 디지털 신호들을 프로세싱할 수도 있다. 특정 구현에서, 프로세서 (1610) 는 코덱 (1634) 에 디지털 신호들을 제공할 수도 있다. 코덱 (1634) 은 DAC (1602) 를 사용하여 디지털 신호들을 아날로그 신호들로 컨버팅할 수도 있고 아날로그 신호들을 스피커 (1646) 에 제공할 수도 있다.
특정 구현에서, 디바이스 (1600) 는 시스템-인-패키지 또는 시스템-온-칩 디바이스 (1622) 에 포함될 수도 있다. 특정 구현에서, 메모리 (1632), 프로세서 (1606), 프로세서 (1610), 디스플레이 제어기 (1626), 코덱 (1634), 제 1 네트워크 인터페이스 (1640), 제 2 네트워크 인터페이스 (1670), 제 1 트랜시버 (1650), 및 제 2 트랜시버 (1612) 는 시스템-인-패키지 또는 시스템-온-칩 디바이스 (1622) 에 포함된다. 특정 구현에서, 입력 디바이스 (1630) 및 파워 서플라이 (1644) 는 시스템-온-칩 디바이스 (1622) 에 커플링된다. 더욱이, 특정 구현에서, 도 16 에 예시된 바와 같이, 디스플레이 (1628), 입력 디바이스 (1630), 스피커 (1646), 마이크로폰 (1648), 제 1 안테나 (1642), 제 2 안테나 (1614), 및 파워 서플라이 (1644) 는 시스템-온-칩 디바이스 (1622) 의 외부에 있다. 특정 구현에서, 디스플레이 (1628), 입력 디바이스 (1630), 스피커 (1646), 마이크로폰 (1648), 제 1 안테나 (1642), 제 2 안테나 (1614), 및 파워 서플라이 (1644) 각각은, 인터페이스 또는 제어기와 같은, 시스템-온-칩 디바이스 (1622) 의 컴포넌트에 커플링될 수도 있다.
디바이스 (1600) 는 헤드셋, 모바일 통신 디바이스, 스마트 폰, 셀룰러 폰, 랩톱 컴퓨터, 컴퓨터, 태블릿, 개인 휴대 정보 단말기, 디스플레이 디바이스, 텔레비전, 게이밍 콘솔, 음악 플레이어, 라디오, 디지털 비디오 플레이어, 디지털 비디오 디스크 (DVD) 플레이어, 튜너, 카메라, 내비게이션 디바이스, 차량, 차량의 컴포넌트, 또는 이들의 임의의 조합을 포함할 수도 있다.
예시적 구현에서, 메모리 (1632) 는 컴퓨터 판독가능 명령들 또는 프로세서 판독가능 명령들과 같은 명령들 (1660) (예를 들어, 실행가능 명령들) 을 포함 또는 저장한다. 예를 들어, 메모리 (1632) 는 명령들 (1660) 을 저장하는 비일시적 컴퓨터 판독가능 매체를 포함하거나 또는 그에 대응할 수도 있다. 명령들 (1660) 은 프로세서 (1606) 또는 프로세서 (1610) 와 같은 컴퓨터에 의해 실행가능한 하나 이상의 명령들을 포함할 수도 있다. 명령들 (1660) 은 프로세서 (1606) 또는 프로세서 (1610) 로 하여금 도 10 내지 도 15 의 방법들 (1000 내지 1500) 중 임의의 것을 수행하게 할 수도 있다.
특정 구현에서, 제 1 네트워크 인터페이스 (1640) 는 회선 교환 네트워크 (154) 를 통해 수정된 패킷 (170) 을 수신하도록 구성될 수도 있다. 수정된 패킷 (170) 은 프라이머리 코딩 (162), 리던던트 코딩 (164), 및 시그널링 정보 (172) 를 포함한다. 디코더 (146) 는, 도 1 및 도 2 를 참조하여 설명된 바와 같이, 시그널링 정보 (172) 에 기초하여 수정된 패킷 (170) 의 부분을 디코딩하도록 구성될 수도 있다. 다른 특정 구현에서, 제 1 네트워크 인터페이스 (1640) 는, 회선 교환 네트워크 (154) 를 통해, 프라이머리 코딩 (162) 및 리던던트 코딩 (164) 을 포함하는 수정된 패킷 (170) 을 수신하도록 구성될 수도 있다. 디코더 (146) 는 리던던트 코딩 (164) 을 디코딩하도록 구성될 수도 있고, 프리-리던던시 버퍼 (150) 는, 도 1 및 도 4 를 참조하여 설명된 바와 같이, 리던던트 코딩 (164) 의 디코딩 후에 프라이머리 코딩 (162) 을 저장하도록 구성될 수도 있다.
다른 특정 구현에서, 제 1 네트워크 인터페이스 (1640) 는, 회선 교환 네트워크 (154) 를 통해, 프라이머리 코딩 (예를 들어, 프라이머리 코딩 (162)) 을 위해 할당된 비트들의 제 1 세트 및 리던던트 코딩 (예를 들어, 리던던트 코딩 (164)) 을 위해 할당된 비트들의 제 2 세트를 포함하는 수정된 패킷 (510) 을 수신하도록 구성될 수도 있다. 도 5 및 도 6 을 참조하여 설명된 바와 같이, 프로세서 (1606) 또는 프로세서 (1610) 는 비트들의 제 1 세트에서 비트 시퀀스 (512) 를 검출하도록 구성될 수도 있고, 디코더 (146) 는 비트 시퀀스 (512) 의 검출에 기초하여 리던던트 코딩 (164) 을 디코딩하도록 구성될 수도 있다. 다른 구현에서, 무선 인터페이스는, 회선 교환 네트워크 (154) 를 통해, 시그널링 정보를 표시하는 하나 이상의 비트들을 포함하는 수정된 패킷 (510) 을 수신하도록 구성된다. 디코더 (146) 는 시그널링 정보에 기초하여 수정된 패킷 (510) 의 부분을 디코딩하도록 구성될 수도 있다.
특정 구현에서, 제 1 네트워크 인터페이스 (1640) 는 패킷 교환 네트워크 (152) 를 통해 패킷 (160) 을 수신하도록 구성될 수도 있다. 예를 들어, 제 1 네트워크 인터페이스 (1640) 는 제 1 트랜시버 (1650) 및 제 1 안테나 (1642) 를 통해 패킷 (160) 을 수신할 수도 있다. 패킷 (160) 은 제 1 오디오 프레임의 프라이머리 코딩 (162) 및 제 2 오디오 프레임의 리던던트 코딩 (164) 을 포함할 수도 있다. 프로세서 (1606) 는 수정된 패킷 (170) 을 생성하도록 구성될 수도 있다. 수정된 패킷 (170) 의 하나 이상의 비트들은 시그널링 정보 (172) 를 표시할 수도 있다. 예를 들어, 프라이머리 코딩 (162) 또는 리던던트 코딩 (164) 의 단일 비트는 시그널링 정보 (172) 를 표시할 수도 있다. 대안적으로, 수정된 패킷은 시그널링 정보 (172) 를 표시하는 하나 이상의 비트들을 포함할 수도 있다. 제 2 네트워크 인터페이스는 회선 교환 네트워크 (154) 를 통해 수정된 패킷 (170) 을 송신하도록 구성될 수도 있다. 예를 들어, 수정된 패킷 (170) 은 제 2 트랜시버 (1612) 및 제 2 안테나 (1614) 를 통해 회선 교환 네트워크로 송신될 수도 있다.
도 17 을 참조하면, 기지국 (1700) 의 특정 예시적 예의 블록 다이어그램이 도시된다. 다양한 구현들에서, 기지국 (1700) 은 도 17 에 예시된 것보다 더 많은 컴포넌트들 또는 더 적은 컴포넌트들을 가질 수도 있다. 제 1 예시적 예에서, 기지국 (1700) 은 제 2 디바이스 (140) 에 대응할 수도 있다. 제 2 예시적 예에서, 기지국 (1700) 은 도 1 의 미디어 게이트웨이 (120) 를 포함할 수도 있다. 기지국 (1700) 은 도 10, 도 13, 및 도 15 의 방법들 중 하나 이상에 따라 동작할 수도 있다.
기지국 (1700) 은 무선 통신 시스템의 부분일 수도 있다. 무선 통신 시스템은 다수의 기지국들 및 다수의 무선 디바이스들을 포함할 수도 있다. 무선 통신 시스템은 롱 텀 에볼루션 (LTE) 시스템, 코드 분할 다중 액세스 (CDMA) 시스템, 모바일 통신용 글로벌 시스템 (GSM) 시스템, 무선 로컬 영역 네트워크 (WLAN) 시스템, 또는 일부 다른 무선 시스템일 수도 있다. CDMA 시스템은 광대역 CDMA (WCDMA), CDMA 1X, EVDO (Evolution-Data Optimized), 시분할 동기식 CDMA (TD-SCDMA), 또는 CDMA 의 일부 다른 버전을 구현할 수도 있다.
무선 디바이스들은 또한 사용자 장비 (UE), 이동국, 단말기, 액세스 단말기, 모바일 게이트웨이, 가입자 유닛, 스테이션 등으로 지칭될 수도 있다. 무선 디바이스들은 셀룰러 폰, 스마트폰, 태블릿, 무선 모뎀, 개인 휴대 정보 단말기 (PDA), 핸드헬드 디바이스, 랩톱 컴퓨터, 스마트북, 넷북, 태블릿, 코드리스 폰, 무선 로컬 루프 (WLL) 스테이션, 블루투스 디바이스 등을 포함할 수도 있다. 무선 디바이스들은 도 1 의 제 1 디바이스 (102) 또는 제 2 디바이스 (140) 를 포함하거나 또는 그에 대응할 수도 있다.
메시지들 및 데이터 (예를 들어, 오디오 데이터) 를 전송 및 수신하는 것과 같은 다양한 기능들이 기지국 (1700) 의 하나 이상의 컴포넌트들에 의해 (및/또는 도시되지 않은 다른 컴포넌트들에서) 수행될 수도 있다. 특정 예에서, 기지국 (1700) 은 프로세서 (1706) (예를 들어, CPU) 를 포함한다. 기지국 (1700) 은 트랜스코더 (1710) 를 포함할 수도 있다. 트랜스코더 (1710) 는 오디오 코덱 (1708) 을 포함할 수도 있다. 예를 들어, 트랜스코더 (1710) 는 오디오 코덱 (1708) 의 동작들을 수행하도록 구성된 하나 이상의 컴포넌트들 (예를 들어, 회로부) 을 포함할 수도 있다. 다른 예로서, 트랜스코더 (1710) 는 오디오 코덱 (1708) 의 동작들을 수행하기 위해 하나 이상의 컴퓨터 판독가능 명령들을 실행하도록 구성될 수도 있다. 오디오 코덱 (1708) 은 트랜스코더 (1710) 의 컴포넌트로서 예시되지만, 다른 예들에서 오디오 코덱 (1708) 의 하나 이상의 컴포넌트들이 프로세서 (1706), 다른 프로세싱 컴포넌트, 또는 이들의 조합에 포함될 수도 있다. 예를 들어, 디코더 (1738) (예를 들어, 보코더 디코더) 는 수신기 데이터 프로세서 (1764) 에 포함될 수도 있다. 다른 예로서, 인코더 (1736) (예를 들어, 보코더 인코더) 가 송신 데이터 프로세서 (1782) 에 포함될 수도 있다.
트랜스코더 (1710) 는 2 개 이상의 네트워크들 사이에서 메시지들 및 데이터를 트랜스코딩하도록 기능할 수도 있다. 트랜스코더 (1710) 는 메시지 및 오디오 데이터를 제 1 포맷 (예를 들어, 디지털 포맷) 으로부터 제 2 포맷으로 컨버팅하도록 구성될 수도 있다. 예시하기 위해, 디코더 (1738) 는 제 1 포맷을 갖는 인코딩된 신호들을 디코딩할 수도 있고 인코더 (1736) 는 디코딩된 신호들을 제 2 포맷을 갖는 인코딩된 신호들로 인코딩할 수도 있다. 추가적으로 또는 대안적으로, 트랜스코더 (1710) 는 데이터 레이트 적응을 수행하도록 구성될 수도 있다. 예를 들어, 트랜스코더 (1710) 는 오디오 데이터의 포맷을 변경하는 일 없이 데이터 레이트를 다운컨버팅하거나 또는 데이터 레이트를 업컨버팅할 수도 있다. 예시하기 위해, 트랜스코더 (1710) 는 64 kbit/s 신호들을 16 kbit/s 신호들로 다운컨버팅할 수도 있다.
오디오 코덱 (1708) 은 인코더 (1736) 및 디코더 (1738) 를 포함할 수도 있다. 인코더 (1736) 는 인코더 셀렉터, 음성 인코더, 및 비-음성 인코더를 포함할 수도 있다. 디코더 (1738) 는 디코더 셀렉터, 음성 디코더 및 비-음성 디코더를 포함할 수도 있다.
구현에서, 기지국 (1700) 은 프리-리던던시 버퍼 (150) 를 포함할 수도 있다. 대안적으로 또는 추가적으로, 기지국 (1700) 은 디-지터 버퍼 (130) 를 포함할 수도 있고, 기지국 (1700) 은 메모리 (1732) 를 포함할 수도 있다. 컴퓨터 판독가능 저장 디바이스와 같은 메모리 (1732) 는 명령들을 포함할 수도 있다. 명령들은 프로세서 (1706), 트랜스코더 (1710), 또는 이들의 조합에 의해 실행가능한 하나 이상의 명령들을 포함할 수도 있다. 기지국 (1700) 은 안테나들의 어레이에 커플링된 제 1 트랜시버 (1752) 및 제 2 트랜시버 (1754) 와 같은 다수의 송신기들 및 수신기들 (예를 들어, 트랜시버들) 을 포함할 수도 있다. 안테나들의 어레이는 제 1 안테나 (1742) 및 제 2 안테나 (1744) 를 포함할 수도 있다. 안테나들의 어레이는 하나 이상의 무선 디바이스들과 무선으로 통신하도록 구성될 수도 있다. 예를 들어, 제 2 안테나 (1744) 는 무선 디바이스로부터 데이터 스트림 (1714) (예를 들어, 비트 스트림) 을 수신할 수도 있다. 데이터 스트림 (1714) 은 메시지들, 데이터 (예를 들어, 인코딩된 음성 데이터), 또는 이들의 조합을 포함할 수도 있다. 미디어 게이트웨이 (120) 의 제 1 네트워크 인터페이스 (126) 는 제 1 트랜시버 (1752) 에 대응할 수도 있고, 미디어 게이트웨이 (120) 의 제 2 네트워크 인터페이스 (128) 는 제 2 트랜시버 (1754) 에 대응할 수도 있다.
기지국 (1700) 은 백홀 커넥션과 같은 네트워크 커넥션 (1760) 을 포함할 수도 있다. 네트워크 커넥션 (1760) 은 무선 통신 네트워크의 하나 이상의 기지국들 또는 코어 네트워크와 통신하도록 구성될 수도 있다. 예를 들어, 기지국 (1700) 은 네트워크 커넥션 (1760) 을 통해 코어 네트워크로부터 제 2 데이터 스트림 (예를 들어, 메시지들 또는 오디오 데이터) 을 수신할 수도 있다. 기지국 (1700) 은 제 2 데이터 스트림을 프로세싱하여 메시지들 또는 오디오 데이터를 생성하고 메시지들 또는 오디오 데이터를 안테나들의 어레이의 하나 이상의 안테나들을 통해 하나 이상의 무선 디바이스에 또는 네트워크 커넥션 (1760) 을 통해 다른 기지국에 제공할 수도 있다. 특정 구현에서, 네트워크 커넥션 (1760) 은, 예시적인 비제한적 예로서, 광역 네트워크 (WAN) 커넥션일 수도 있다. 일부 구현들에서, 코어 네트워크는 공중 교환 전화 네트워크 (PSTN), 패킷 백본 네트워크, 또는 양쪽 모두를 포함하거나 또는 이에 대응할 수도 있다.
기지국 (1700) 은 네트워크 커넥션 (1760) 및 프로세서 (1706) 에 커플링되는 미디어 게이트웨이 (120) 를 포함할 수도 있다. 미디어 게이트웨이 (120) 는 상이한 전기통신 기술들의 미디어 스트림들 사이에서 컨버팅하도록 구성될 수도 있다. 예를 들어, 미디어 게이트웨이 (120) 는 상이한 송신 프로토콜들, 상이한 코딩 스킴들, 또는 양쪽 모두 사이에서 컨버팅할 수도 있다. 예시하기 위해, 미디어 게이트웨이 (120) 는, 예시적인 비제한적 예로서, PCM 신호들을 실시간 전송 프로토콜 (RTP) 신호들로 컨버팅할 수도 있다. 미디어 게이트웨이 (120) 는 패킷 교환 네트워크들 (예를 들어, VoIP (Voice Over Internet Protocol) 네트워크, IP 멀티미디어 서브시스템 (IMS), 제 4 세대 (4G) 무선 네트워크, 예컨대 LTE, WiMax, 및 UMB 등), 회선 교환 네트워크들 (예를 들어, PSTN), 및 하이브리드 네트워크들 (예를 들어, 제 2 세대 (2G) 무선 네트워크, 예컨대 GSM, GPRS, 및 EDGE, 제 3 세대 (3G) 무선 네트워크, 예컨대 WCDMA, EV-DO, 및 HSPA 등) 사이의 데이터를 컨버팅할 수도 있다. 특정 구현에서, 미디어 게이트웨이 (120) 는 디-지터 버퍼 (130) 를 포함할 수도 있다. 미디어 게이트웨이 (120) 는 도 10, 도 13, 및 도 15 에서 설명된 방법들을 수행하도록 구성된다.
기지국 (1700) 은 트랜시버들 (1752, 1754) 에 커플링되는 복조기 (1762), 수신기 데이터 프로세서 (1764), 및 프로세서 (1706) 를 포함할 수도 있고, 수신기 데이터 프로세서 (1764) 는 프로세서 (1706) 에 커플링될 수도 있다. 복조기 (1762) 는 트랜시버들 (1752, 1754) 로부터 수신된 변조된 신호들을 복조하도록, 그리고 복조된 데이터를 수신기 데이터 프로세서 (1764) 에 제공하도록 구성될 수도 있다. 수신기 데이터 프로세서 (1764) 는 복조된 데이터로부터 메시지 또는 오디오 데이터를 추출하고 메시지 또는 오디오 데이터를 프로세서 (1706) 에 전송하도록 구성될 수도 있다.
기지국 (1700) 은 송신 데이터 프로세서 (1782) 및 송신 다중 입력-다중 출력 (MIMO) 프로세서 (1784) 를 포함할 수도 있다. 송신 데이터 프로세서 (1782) 는 프로세서 (1706) 및 송신 MIMO 프로세서 (1784) 에 커플링될 수도 있다. 송신 MIMO 프로세서 (1784) 는 트랜시버들 (1752, 1754) 및 프로세서 (1706) 에 커플링될 수도 있다. 일부 구현들에서, 송신 MIMO 프로세서 (1784) 는 미디어 게이트웨이 (1770) 에 커플링될 수도 있다. 송신 데이터 프로세서 (1782) 는 프로세서 (1706) 로부터 메시지들 또는 오디오 데이터를 수신하도록 그리고, 예시적인 비제한적 예들로서, CDMA 또는 직교 주파수 분할 멀티플렉싱 (OFDM) 과 같은 코딩 스킴에 기초하여 메시지들 또는 오디오 데이터를 코딩하도록 구성될 수도 있다. 송신 데이터 프로세서 (1782) 는 코딩된 데이터를 송신 MIMO 프로세서 (1784) 에 제공할 수도 있다.
코딩된 데이터는 멀티플렉싱된 데이터를 생성하기 위해 CDMA 또는 OFDM 기법들을 사용하여 파일럿 데이터와 같은 다른 데이터와 멀티플렉싱될 수도 있다. 그 후에, 멀티플렉싱된 데이터는 변조 심볼들을 생성하기 위해 특정 변조 스킴 (예를 들어, 이진 위상-시프트 키잉 ("BPSK"), 직교 위상-시프트 키잉 ("QSPK"), M진 위상-시프트 키잉 ("M-PSK"), M진 직교 진폭 변조 ("M-QAM") 등) 에 기초하여 송신 데이터 프로세서 (1782) 에 의해 변조 (즉, 심볼 맵핑) 될 수도 있다. 특정 구현에서, 코딩된 데이터 및 다른 데이터는 상이한 변조 스킴들을 사용하여 변조될 수도 있다. 각각의 데이터 스트림에 대한 데이터 레이트, 코딩, 및 변조는 프로세서 (1706) 에 의해 실행된 명령들에 의해 결정될 수도 있다.
송신 MIMO 프로세서 (1784) 는 송신 데이터 프로세서 (1782) 로부터 변조 심볼들을 수신하도록 구성될 수도 있고, 변조 심볼들을 추가로 프로세싱할 수도 있고 데이터에 대해 빔포밍을 수행할 수도 있다. 예를 들어, 송신 MIMO 프로세서 (1784) 는 빔포밍 가중치들을 변조 심볼들에 적용할 수도 있다. 빔포밍 가중치들은 변조 심볼들이 송신되게 하는 안테나들의 어레이의 하나 이상의 안테나들에 대응할 수도 있다.
동작 동안, 기지국 (1700) 의 제 2 안테나 (1744) 는 데이터 스트림 (1714) 을 수신할 수도 있다. 제 2 트랜시버 (1754) 는 제 2 안테나 (1744) 로부터 데이터 스트림 (1714) 을 수신할 수도 있고 데이터 스트림 (1714) 을 복조기 (1762) 에 제공할 수도 있다. 복조기 (1762) 는 데이터 스트림 (1714) 의 변조 신호들을 복조하고 복조된 데이터를 수신기 데이터 프로세서 (1764) 에 제공할 수도 있다. 수신기 데이터 프로세서 (1764) 는 복조된 데이터로부터 오디오 데이터를 추출하고 추출된 오디오 데이터를 프로세서 (1706) 에 제공할 수도 있다.
프로세서 (1706) 는 트랜스코딩을 위해 오디오 데이터를 트랜스코더 (1710) 에 제공할 수도 있다. 트랜스코더 (1710) 의 디코더 (1738) 는 제 1 포맷으로부터 오디오 데이터를 디코딩된 오디오 데이터로 디코딩할 수도 있고, 인코더 (1736) 는 디코딩된 오디오 데이터를 제 2 포맷으로 인코딩할 수도 있다. 일부 구현들에서, 인코더 (1736) 는 무선 디바이스로부터 수신된 것보다 더 높은 데이터 레이트 (예를 들어, 업컨버트) 또는 더 낮은 데이터 레이트 (예를 들어, 다운컨버트) 를 사용하여 오디오 데이터를 인코딩할 수도 있다. 다른 구현들에서, 오디오 데이터는 트랜스코딩되지 않을 수도 있다. 트랜스코딩 (예를 들어, 디코딩 및 인코딩) 이 트랜스코더 (1710) 에 의해 수행되는 것으로서 예시되지만, 트랜스코딩 동작들 (예를 들어, 디코딩 및 인코딩) 은 기지국 (1700) 의 다수의 컴포넌트들에 의해 수행될 수도 있다. 예를 들어, 디코딩은 수신기 데이터 프로세서 (1764) 에 의해 수행될 수도 있고 인코딩은 송신 데이터 프로세서 (1782) 에 의해 수행될 수도 있다. 다른 구현들에서, 프로세서 (1706) 는 다른 송신 프로토콜, 코딩 스킴, 또는 양쪽 모두로의 컨버전을 위해 오디오 데이터를 미디어 게이트웨이 (1770) 에 제공할 수도 있다. 미디어 게이트웨이 (1770) 는 변환된 데이터를 네트워크 커넥션 (1760) 을 통해 다른 기지국 또는 코어 네트워크에 제공할 수도 있다.
디코더 (1738) 및 인코더 (1736) 는 대응하는 디코더 (예를 들어, 음성 디코더 또는 비-음성 디코더) 및 대응하는 인코더를 선택하여 프레임을 트랜스코딩 (예를 들어, 디코딩 및 인코딩) 할 수도 있다. 디코더 (1738) 및 인코더 (1736) 는, 프레임 기반으로, 데이터 스트림 (1714) 의 각각의 수신된 프레임이 협대역 프레임 또는 광대역 프레임에 대응하는지 여부를 결정할 수도 있고, 대응하는 디코딩 출력 모드 (예를 들어, 협대역 출력 모드 또는 광대역 출력 모드) 및 대응하는 인코딩 출력 모드를 선택하여 프레임을 트랜스코딩 (예를 들어, 디코딩 및 인코딩) 할 수도 있다. 트랜스코딩된 데이터와 같이 인코더 (1736) 에서 생성된 인코딩된 오디오 데이터는 프로세서 (1706) 를 통해 송신 데이터 프로세서 (1782) 또는 네트워크 커넥션 (1760) 에 제공될 수도 있다.
그에 따라, 기지국 (1700) 은, 프로세서 (예를 들어, 프로세서 (1706) 또는 트랜스코더 (1710)) 에 의해 실행될 때, 프로세서로 하여금, 네트워크 인터페이스에서 회선 교환 네트워크를 통해 패킷 (시그널링 정보를 표시함) 을 수신하는 것 및 시그널링 정보에 기초하여 패킷의 부분을 디코딩하는 것을 포함하는 동작들을 수행하게 하는 명령들을 저장하는 컴퓨터 판독가능 저장 디바이스 (예를 들어, 메모리 (1732)) 를 포함할 수도 있다.
구현에서, 트랜스코더 (1710) 로부터의 트랜스코딩된 오디오 데이터는 OFDM 과 같은 변조 스킴에 따라 코딩하기 위해 송신 데이터 프로세서 (1782) 에 제공되어, 선택된 변조 스킴에 대응하는 변조 심볼들을 생성할 수도 있다. 송신 데이터 프로세서 (1782) 는 추가의 프로세싱 및 빔포밍을 위해 송신 MIMO 프로세서 (1784) 에 변조 심볼들을 제공할 수도 있다. 송신 MIMO 프로세서 (1784) 는 빔포밍 가중치들을 적용할 수도 있고, 제 1 트랜시버 (1752) 를 통해 제 1 안테나 (1742) 와 같은 안테나들의 어레이의 하나 이상의 안테나들에 변조 심볼들에 대응하는 데이터를 제공할 수도 있다. 따라서, 기지국 (1700) 은 무선 디바이스로부터 수신된 데이터 스트림 (1714) 에 대응하는 트랜스코딩된 데이터 스트림 (1716) 을 다른 무선 디바이스에 제공할 수도 있다. 트랜스코딩된 데이터 스트림 (1716) 은 데이터 스트림 (1714) 과는 상이한 인코딩 포맷, 데이터 레이트, 또는 양쪽 모두를 가질 수도 있다. 다른 구현들에서, 트랜스코딩된 데이터 스트림 (1716) 은 다른 기지국 또는 코어 네트워크로의 송신을 위해 네트워크 커넥션 (1760) 에 제공될 수도 있다.
기지국 (1700) 은, 프로세서 (예를 들어, 프로세서 (1706) 또는 트랜스코더 (1710)) 에 의해 실행될 때, 프로세서로 하여금, 제 1 오디오 프레임의 프라이머리 코딩 및 제 2 오디오 프레임의 리던던트 코딩을 포함하는 패킷을 패킷 교환 네트워크를 통해 제 1 네트워크 인터페이스에서 수신하는 것을 포함하는 동작들을 수행하게 하는 명령들을 저장하는 컴퓨터 판독가능 저장 디바이스 (예를 들어, 메모리 (1732)) 를 포함할 수도 있다. 동작들은 프라이머리 코딩 또는 리던던트 코딩 중 적어도 하나의 코딩의 디코딩에 대응하는 시그널링 정보를 표시하는 하나 이상의 비트들을 포함하는 수정된 패킷을 생성하는 것, 및 회선 교환 네트워크를 통해 제 2 네트워크 인터페이스로부터의 수정된 패킷을 송신하는 것을 더 포함할 수도 있다.
설명된 양태들과 관련하여, 제 1 장치는 패킷 교환 네트워크를 통해 패킷을 수신하는 수단을 포함하고, 패킷은 제 1 오디오 프레임의 프라이머리 코딩, 제 2 오디오 프레임의 리던던트 코딩, 및 제 1 오디오 프레임 또는 제 2 오디오 프레임을 디코딩하는 것에 관련된 하나 이상의 비트들을 포함한다. 수신하는 수단은 도 1, 도 2, 도 5; 도 6, 도 8, 및 도 9 의 제 1 네트워크 인터페이스 (126); 도 16 의 제 1 안테나 (1642), 제 1 네트워크 인터페이스 (1640), 제 1 트랜시버 (1650); 도 17 의 제 1 트랜시버 (1752) 또는 제 2 트랜시버 (1754); 패킷 교환 네트워크를 통해 패킷을 수신하도록 구성된 하나 이상의 다른 구조들 또는 회로들; 또는 이들의 임의의 조합을 포함하거나 또는 그에 대응할 수도 있다.
제 1 장치는 시그널링 정보를 표시하는 하나 이상의 비트들을 포함하는 수정된 패킷을 생성하는 수단을 포함하고, 시그널링 정보는 프라이머리 코딩 또는 리던던트 코딩을 디코딩할지 여부를 표시한다. 생성하는 수단은 도 1, 도 2, 도 5, 도 6, 도 8, 및 도 9 의 프로세서 (122); 도 16 의 프로세서 (1606) 또는 프로세서 (1610); 수정된 패킷을 생성하도록 구성된 하나 이상의 다른 구조들 또는 회로들; 또는 이들의 임의의 조합을 포함하거나 또는 그에 대응할 수도 있다.
제 1 장치는 회선 교환 네트워크를 통해 수정된 패킷을 송신하는 수단을 더 포함한다. 송신하는 수단은 도 1, 도 2, 도 5, 도 6, 도 8, 및 도 9 의 제 2 네트워크 인터페이스 (128); 도 16 의 제 2 안테나 (1614), 제 2 네트워크 인터페이스 (1670), 및 제 2 트랜시버 (1612); 도 17 의 제 1 트랜시버 (1752) 또는 제 2 트랜시버 (1754); 회선 교환 네트워크를 통해 수정된 패킷을 송신하도록 구성된 하나 이상의 다른 구조들 또는 회로들, 또는 이들의 임의의 조합을 포함하거나 또는 그에 대응할 수도 있다.
제 1 장치는 리던던트 코딩의 재인코딩을 저장하는 수단을 더 포함한다. 저장하는 수단은 도 1, 도 2, 도 5, 도 8, 및 도 9 의 메모리 (124) 에 대응할 수도 있다. 더욱이, 제 1 장치는, 타임스탬프들 또는 시퀀스 번호들과 같은, 패킷들 내의 식별자들에 기초하여 패킷 교환 네트워크로부터 수신된 패킷들을 저장 및 재순서화하는 수단을 더 포함할 수도 있다. 패킷들을 저장 및 재순서화하는 수단은 도 1, 도 2, 도 5, 도 8, 및 도 16 의 디-지터 버퍼 (130); 회선 교환 네트워크를 통해 수정된 패킷을 송신하도록 구성된 하나 이상의 다른 구조들 또는 회로들; 또는 이들의 임의의 조합에 대응할 수도 있다.
설명된 양태들과 관련하여, 제 2 장치는 회선 교환 네트워크를 통해 패킷을 수신하는 수단을 포함하고, 패킷은 제 1 오디오 프레임의 프라이머리 코딩, 제 2 오디오 프레임의 리던던트 코딩, 및 프라이머리 코딩 또는 리던던트 코딩을 디코딩할지 여부를 표시하는 시그널링 정보를 포함하고, 시그널링 정보는 패킷의 하나 이상의 비트들에 포함된다. 수신하는 수단은 도 1, 도 4, 도 5, 도 7, 및 도 8 의 네트워크 인터페이스 (148), 도 16 의 제 1 안테나 (1642), 제 1 네트워크 인터페이스 (1640), 제 1 트랜시버 (1650), 회선 교환 네트워크를 통해 패킷을 수신하도록 구성된 하나 이상의 다른 구조들 또는 회로들; 또는 이들의 임의의 조합을 포함하거나 또는 그에 대응할 수도 있다. 특정 구현에서, 하나 이상의 비트들은 비트들의 시퀀스를 포함할 수도 있다.
제 2 장치는 시그널링 정보에 기초하여 패킷의 부분을 디코딩하는 수단을 더 포함한다. 디코딩하는 수단은 도 1, 도 4, 도 5, 도 7, 및 도 8 의 디코더 (146); 도 16 의 음성 및 음악 코덱 (1608) 또는 프로세서 (1610); 도 17 의 프로세서 (1706); 시그널링 정보에 기초하여 패킷의 부분을 디코딩하도록 구성된 하나 이상의 다른 구조들 또는 회로들; 또는 이들의 임의의 조합을 포함하거나 또는 그에 대응할 수도 있다.
제 2 장치는 리던던트 코딩이 디코딩되는 것에 응답하여 프라이머리 코딩을 저장하는 수단을 더 포함할 수도 있다. 프라이머리 코딩을 저장하는 수단은 도 1, 도 4, 도 5, 도 7, 도 8, 도 16, 및 도 17 의 프리-리던던시 버퍼 (150) 를 포함하거나 또는 그에 대응할 수도 있다. 대안적으로 또는 추가적으로, 제 2 장치는 프라이머리 코딩이 디코딩되는 것에 응답하여 리던던트 코딩을 저장하는 수단을 더 포함한다. 리던던트 코딩을 저장하는 수단은 도 1, 도 4, 도 5, 도 7, 도 8, 도 16, 및 도 17 의 프리-리던던시 버퍼 (150) 를 포함하거나 또는 그에 대응할 수도 있다.
설명된 양태들과 관련하여, 제 3 장치는 회선 교환 네트워크를 통해 패킷을 수신하는 수단을 포함하고, 패킷은 제 1 오디오 프레임의 프라이머리 코딩 및 제 2 오디오 프레임의 리던던트 코딩을 포함한다. 수신하는 수단은 도 1, 도 4, 도 5, 도 7, 및 도 8 의 네트워크 인터페이스 (148); 도 16 의 제 1 안테나 (1642), 제 1 네트워크 인터페이스 (1640), 및 제 1 트랜시버 (1650); 회선 교환 네트워크를 통해 패킷을 수신하도록 구성된 하나 이상의 다른 구조들 또는 회로들; 또는 이들의 임의의 조합을 포함하거나 또는 그에 대응할 수도 있다.
제 3 장치는 제 2 오디오 프레임의 리던던트 코딩을 디코딩하는 수단을 포함한다. 디코딩하는 수단은 도 1, 도 4, 도 5, 도 8, 및 도 16 의 디코더 (146); 도 16 의 음성 및 음악 코덱 (1608) 또는 프로세서 (1610); 리던던트 코딩을 디코딩하도록 구성된 하나 이상의 다른 구조들 또는 회로들; 또는 이들의 임의의 조합을 포함하거나 또는 그에 대응할 수도 있다.
제 3 장치는 제 2 오디오 프레임의 리던던트 코딩의 디코딩 후에 제 1 오디오 프레임의 프라이머리 코딩을 저장하는 수단을 더 포함한다. 저장하는 수단은 도 1, 도 4, 도 5, 도 7, 및 도 8 의 메모리 (144); 도 1, 도 4, 도 5, 도 7, 도 8, 및 도 16 의 프리-리던던시 버퍼 (150); 도 16 의 메모리 (1632); 프라이머리 코딩을 저장하도록 구성된 하나 이상의 다른 구조들 또는 회로들; 또는 이들의 임의의 조합을 포함하거나 또는 그에 대응할 수도 있다.
설명된 양태들과 관련하여, 제 4 장치는 패킷 교환 네트워크를 통해 패킷을 수신하는 수단을 포함하고, 패킷은 제 1 오디오 프레임의 프라이머리 코딩 및 제 2 오디오 프레임의 리던던트 코딩을 포함한다. 수신하는 수단은 도 1, 도 2, 도 5, 도 6, 도 8 및 도 9 의 제 1 네트워크 인터페이스 (126); 도 16 의 제 1 안테나 (1642), 제 1 네트워크 인터페이스 (1640), 및 제 1 트랜시버 (1650); 패킷 교환 네트워크를 통해 패킷을 수신하도록 구성된 하나 이상의 다른 구조들 또는 회로들; 또는 이들의 임의의 조합을 포함하거나 또는 그에 대응할 수도 있다.
제 4 장치는 제 2 오디오 프레임의 리던던트 코딩의 재인코딩을 포함하는 수정된 패킷을 생성하는 수단을 포함한다. 생성하는 수단은 도 1, 도 2, 도 5, 도 6, 도 8, 및 도 9 의 프로세서 (122); 도 16 의 프로세서 (1606) 또는 프로세서 (1610); 수정된 패킷을 생성하도록 구성된 하나 이상의 다른 구조들 또는 회로들; 또는 이들의 임의의 조합을 포함하거나 또는 그에 대응할 수도 있다.
제 4 장치는 회선 교환 네트워크를 통해 제 2 네트워크 인터페이스로부터의 수정된 패킷을 송신하는 수단을 더 포함한다. 송신하는 수단은 도 1, 도 5, 도 6, 도 8, 및 도 9 의 제 2 네트워크 인터페이스 (128); 도 16 의 제 2 안테나 (1614), 제 2 네트워크 인터페이스 (1670), 및 제 2 트랜시버 (1612); 회선 교환 네트워크를 통해 수정된 패킷을 송신하도록 구성된 하나 이상의 다른 구조들 또는 회로들; 또는 이들의 임의의 조합을 포함하거나 또는 그에 대응할 수도 있다.
설명된 양태들과 관련하여, 제 5 장치는 패킷 교환 네트워크를 통해 패킷을 수신하는 수단을 포함하고, 패킷은 제 1 오디오 프레임의 프라이머리 코딩 및 제 2 오디오 프레임의 리던던트 코딩을 포함한다. 수신하는 수단은 도 1, 도 2, 도 5, 도 6, 도 8, 및 도 9 의 제 1 네트워크 인터페이스 (126); 도 16 의 제 1 안테나 (1642), 제 1 네트워크 인터페이스 (1640), 및 제 1 트랜시버 (1650); 패킷 교환 네트워크를 통해 패킷을 수신하도록 구성된 하나 이상의 다른 구조들 또는 회로들; 또는 이들의 임의의 조합을 포함하거나 또는 그에 대응할 수도 있다.
제 5 장치는 프라이머리 코딩의 적어도 일부를 비트 시퀀스로 대체시키는 것에 의해 수정된 패킷을 생성하는 수단을 포함한다. 생성하는 수단은 도 1, 도 2, 도 5, 도 6, 도 8, 및 도 9 의 프로세서 (122); 도 16 의 프로세서 (1606) 또는 프로세서 (1610); 수정된 패킷을 생성하도록 구성된 하나 이상의 다른 구조들 또는 회로들; 또는 이들의 임의의 조합을 포함하거나 또는 그에 대응할 수도 있다.
제 5 장치는 회선 교환 네트워크를 통해 수정된 패킷을 송신하는 수단을 더 포함한다. 송신하는 수단은 도 1, 도 2, 도 5, 도 6, 도 8, 및 도 9 의 제 2 네트워크 인터페이스 (128); 도 16 의 제 2 안테나 (1614); 제 2 네트워크 인터페이스 (1670); 및 제 2 트랜시버 (1612); 회선 교환 네트워크를 통해 수정된 패킷을 송신하도록 구성된 하나 이상의 다른 구조들 또는 회로들; 또는 이들의 임의의 조합을 포함하거나 또는 그에 대응할 수도 있다.
설명된 양태들과 관련하여, 제 6 장치는 회선 교환 네트워크를 통해 패킷을 수신하는 수단을 포함하고, 패킷은 제 1 오디오 프레임의 프라이머리 코딩을 위해 할당된 비트들의 제 1 세트 및 제 2 오디오 프레임의 리던던트 코딩을 위해 할당된 비트들의 제 2 세트를 포함한다. 수신하는 수단은 도 1, 도 4, 도 5, 도 7, 및 도 8 의 네트워크 인터페이스 (148); 도 16 의 제 1 안테나 (1642), 제 1 네트워크 인터페이스 (1640), 및 제 1 트랜시버 (1650); 패킷 교환 네트워크를 통해 패킷을 수신하도록 구성된 하나 이상의 다른 구조들 또는 회로들; 또는 이들의 임의의 조합을 포함하거나 또는 그에 대응할 수도 있다.
제 6 장치는 비트들의 제 1 세트에서 비트 시퀀스를 검출하는 수단을 포함하고, 비트 시퀀스는 리던던트 코딩이 디코딩되어야 함을 표시한다. 검출하는 수단은 도 1, 도 4, 도 5, 도 7, 및 도 8 의 프로세서 (142); 도 16 의 프로세서 (1606) 또는 프로세서 (1610); 비트들의 제 1 세트에서 비트 시퀀스를 검출하도록 구성된 하나 이상의 다른 구조들 또는 회로들; 또는 이들의 임의의 조합을 포함하거나 또는 그에 대응할 수도 있다.
제 6 장치는 비트 시퀀스의 검출에 기초하여 리던던트 코딩을 디코딩하는 수단을 더 포함한다. 디코딩하는 수단은 도 1, 도 4, 도 5, 도 7, 도 8, 및 도 16 의 디코더 (146); 도 16 의 음성 및 음악 코덱 (1608), 프로세서 (1606), 또는 프로세서 (1610); 리던던트 코딩을 디코딩하도록 구성된 하나 이상의 다른 구조들 또는 회로들; 또는 이들의 임의의 조합을 포함하거나 또는 그에 대응할 수도 있다.
개시된 양태들 중 하나 이상은, 통신 디바이스, 고정 위치 데이터 유닛, 모바일 위치 데이터 유닛, 모바일 폰, 셀룰러 폰, 위성 폰, 컴퓨터, 태블릿, 휴대용 컴퓨터, 디스플레이 디바이스, 미디어 플레이어, 또는 데스크톱 컴퓨터를 포함할 수도 있는, 디바이스 (1600) 와 같은 시스템 또는 장치에서 구현될 수도 있다. 대안적으로 또는 추가적으로, 디바이스 (1600) 는 셋톱 박스, 엔터테인먼트 유닛, 내비게이션 디바이스, 개인 휴대 정보 단말기 (PDA), 모니터, 컴퓨터 모니터, 텔레비전, 튜너, 라디오, 위성 라디오, 음악 플레이어, 디지털 음악 플레이어, 휴대용 음악 플레이어, 비디오 플레이어, 디지털 비디오 플레이어, 디지털 비디오 디스크 (DVD) 플레이어, 휴대용 디지털 비디오 플레이어, 위성, 차량, 프로세서를 포함하거나 또는 데이터 또는 컴퓨터 명령들을 저장 또는 취출하는 임의의 다른 디바이스, 또는 이들의 조합을 포함할 수도 있다. 다른 예시적인 비제한적 예로서, 시스템 또는 장치는 원격 유닛들, 예컨대 핸드헬드 개인 통신 시스템 (PCS) 유닛들, 휴대용 데이터 유닛들 예컨대 글로벌 포지셔닝 시스템 (GPS) 가능 디바이스들, 미터 판독 장비, 또는 프로세서를 포함하거나 또는 데이터 또는 컴퓨터 명령들을 저장 또는 취출하는 임의의 다른 디바이스, 또는 이들의 임의의 조합을 포함할 수도 있다.
도 1 내지 도 17 중 하나 이상이 본 개시물의 교시에 따른 시스템들, 장치들, 및/또는 방법들을 예시할 수도 있지만, 본 개시물은 이들 예시된 시스템들, 장치들, 및/또는 방법들에 제한되지 않는다. 본 명세서에 예시된 또는 설명된 도 1 내지 도 17 중 임의의 것의 하나 이상의 기능들 또는 컴포넌트들은 도 1 내지 도 17 의 다른 것의 하나 이상의 다른 부분들과 조합될 수도 있다. 따라서, 본 명세서에 설명된 어떠한 단일 구현도 제한으로서 해석되어서는 안되고, 본 개시물의 구현들은 본 개시물의 교시로부터 벗어남이 없이 적합하게 조합될 수도 있다. 예로서, 도 10 내지 도 15 의 방법들 중 하나 이상은, 개별적으로 또는 조합하여, 도 1, 도 5, 및 도 8 의 프로세서들 (104, 122, 및 142), 도 16 의 프로세서들 (1606 또는 1610), 또는 도 17 의 프로세서 (1706) 에 의해 수행될 수도 있다. 예시하기 위해, 도 10 내지 도 15 의 방법들 중 하나의 방법의 부분은 도 10 내지 도 15 의 방법들 중 하나의 방법의 제 2 부분과 조합될 수도 있다. 추가적으로, 도 10 내지 도 15 를 참조하여 설명된 하나 이상의 동작들은 옵션적일 수도 있거나, 적어도 부분적으로 동시에 수행될 수도 있거나, 및/또는 도시된 또는 설명된 것과는 상이한 순서로 수행될 수도 있다.
당업자들은, 본 명세서에 개시된 구현들과 관련되어 설명된 다양한 예시적인 논리 블록들, 구성들, 모듈들, 회로들, 및 알고리즘 단계들이 전자 하드웨어, 프로세서에 의해 실행되는 컴퓨터 소프트웨어, 또는 이들 양쪽의 조합들로서 구현될 수도 있다는 것을 추가로 인식할 것이다. 다양한 예시적인 컴포넌트들, 블록들, 구성들, 모듈들, 회로들, 및 단계들은 이들의 기능성의 관점에서 일반적으로 상술되었다. 그러한 기능성이 하드웨어로서 또는 프로세서 실행가능 명령들로서 구현되는지 여부는 전체 시스템에 부과되는 설계 제약들 및 특정 애플리케이션에 의존한다. 당업자들은 각각의 특정 애플리케이션에 대한 다양한 방법들로 설명된 기능성을 구현할 수도 있지만, 이러한 구현 판정들은 본 개시물의 범위로부터의 벗어남을 야기시키는 것으로 해석되어서는 안된다.
본 명세서의 본 개시물과 관련되어 설명된 방법 또는 알고리즘의 단계들은 하드웨어로, 프로세서에 의해 실행되는 소프트웨어 모듈로, 또는 이들 둘의 조합으로 직접 구현될 수도 있다. 소프트웨어 모듈은 랜덤 액세스 메모리 (RAM), 플래시 메모리, 판독-전용 메모리 (ROM), 프로그램가능 판독-전용 메모리 (PROM), 소거가능 프로그램가능 판독-전용 메모리 (EPROM), 전기적 소거가능 프로그램가능 판독-전용 메모리 (EEPROM), 레지스터들, 하드 디스크, 착탈식 디스크, 콤팩트 디스크 판독-전용 메모리 (CD-ROM), 또는 당업계에 공지된 임의의 다른 형태의 비순시적 저장 매체에 상주할 수도 있다. 예시적인 저장 매체는, 프로세서가 저장 매체로부터 정보를 판독할 수 있고 정보를 저장 매체에 기입할 수 있도록 프로세서에 커플링된다. 대안적으로, 저장 매체는 프로세서와 일체적일 수도 있다. 프로세서 및 저장 매체는 주문형 집적 회로 (ASIC) 에 상주할 수도 있다. ASIC 는 컴퓨팅 디바이스 또는 사용자 단말기에 상주할 수도 있다. 대안적으로, 프로세서 및 저장 매체는 컴퓨팅 디바이스 또는 사용자 단말기에 이산 컴포넌트들로서 상주할 수도 있다.
이전 설명은 당업자가 개시된 구현들을 제조하거나 이용하는 것을 가능하게 하도록 제공된다. 이들 구현들에 대한 다양한 변경들은 당업자들에게 쉽게 명백할 것이며, 본 명세서에서 정의되는 원리들은 본 개시물의 범위로부터 벗어남이 없이 다른 구현들에 적용될 수도 있다. 따라서, 본 개시물은 본 명세서에 도시된 구현들로 제한되도록 의도된 것이 아니라, 다음의 청구항들에 의해 정의된 원리들 및 신규한 피처들과 일치하는 가능한 가장 넓은 범위를 따르도록 하기 위한 것이다.

Claims (30)

  1. 장치로서,
    회선 교환 네트워크 (circuit-switched network) 를 통해 그리고 제 1 시간 주기 동안, 제 1 오디오 프레임의 프라이머리 코딩 (primary coding), 제 2 오디오 프레임의 리던던트 코딩 (redundant coding), 및 시그널링 정보를 표시하는 하나 이상의 비트들을 포함하는 패킷을 수신하도록 구성된 네트워크 인터페이스로서, 상기 시그널링 정보는 상기 프라이머리 코딩 또는 상기 리던던트 코딩 중 어떤 것이 디코딩되어야 하는지를 표시하고, 상기 회선 교환 네트워크는 고정된 시간 간격들 동안 디바이스들로의 오디오 프레임들의 통신과 연관된, 상기 네트워크 인터페이스;
    상기 하나 이상의 비트들에 기초하여 상기 시그널링 정보를 결정하고 그리고 디코딩된 상기 프라이머리 코딩 또는 디코딩된 상기 리던던트 코딩에 기초하여 오디오 출력을 개시하도록 구성된 프로세서;
    상기 패킷의 부분을 저장하도록 구성된 프리-리던던시 버퍼 (pre-redundancy buffer); 및
    상기 시그널링 정보에 기초하여 상기 프라이머리 코딩 또는 상기 리던던트 코딩을 디코딩하도록 구성된 디코더를 포함하는, 장치.
  2. 제 1 항에 있어서,
    상기 프리-리던던시 버퍼는 메모리를 포함하고, 상기 메모리는 상기 프라이머리 코딩이 디코딩되는 것에 응답하여 상기 리던던트 코딩을 저장하도록 구성되는, 장치.
  3. 제 1 항에 있어서,
    상기 프리-리던던시 버퍼는 메모리를 포함하고, 상기 메모리는 상기 리던던트 코딩이 디코딩되는 것에 응답하여 상기 프라이머리 코딩을 저장하도록 구성되는, 장치.
  4. 제 3 항에 있어서,
    상기 디코더는 또한,
    상기 제 2 오디오 프레임과 연관된 타임 슬롯 동안, 상기 시그널링 정보에 기초하여 상기 제 2 오디오 프레임의 상기 리던던트 코딩을 디코딩하고; 그리고
    상기 제 1 오디오 프레임과 연관된 타임 슬롯 동안, 상기 프리-리던던시 버퍼로부터 상기 제 1 오디오 프레임의 상기 프라이머리 코딩을 취출하고 그리고 상기 제 1 오디오 프레임의 상기 프라이머리 코딩을 사용하여 상기 제 1 오디오 프레임을 디코딩하도록 구성되는, 장치.
  5. 제 1 항에 있어서,
    상기 하나 이상의 비트들은 단일 비트를 포함하고, 상기 단일 비트의 제 1 값은 상기 프라이머리 코딩이 디코딩되어야 하는 것을 표시하고, 상기 단일 비트의 제 2 값은 상기 리던던트 코딩이 디코딩되어야 하는 것을 표시하는, 장치.
  6. 제 1 항에 있어서,
    상기 하나 이상의 비트들은 상기 리던던트 코딩에 포함되는, 장치.
  7. 제 6 항에 있어서,
    상기 하나 이상의 비트들은 복수의 비트들을 포함하고, 상기 복수의 비트들 중 적어도 일부는 상기 제 1 오디오 프레임과 상기 제 2 오디오 프레임 사이의 오프셋을 나타내는, 장치.
  8. 제 1 항에 있어서,
    상기 프라이머리 코딩은 상기 시그널링 정보를 표시하는 상기 하나 이상의 비트들을 포함하는, 장치.
  9. 제 1 항에 있어서,
    상기 하나 이상의 비트들은 복수의 비트들을 포함하고, 상기 복수의 비트들의 워터마킹은 상기 시그널링 정보를 표시하는, 장치.
  10. 제 1 항에 있어서,
    안테나; 및
    상기 안테나에 그리고 상기 네트워크 인터페이스에 커플링된 트랜시버를 더 포함하고,
    상기 트랜시버는 상기 패킷을 수신하도록 구성된, 장치.
  11. 제 10 항에 있어서,
    상기 네트워크 인터페이스, 상기 디코더, 상기 안테나, 및 상기 트랜시버는 모바일 디바이스에 통합되는, 장치.
  12. 제 10 항에 있어서,
    상기 네트워크 인터페이스, 상기 디코더, 상기 안테나, 및 상기 트랜시버는 기지국에 통합되는, 장치.
  13. 제 1 항에 있어서,
    상기 프라이머리 코딩은 상기 제 1 오디오 프레임의 인코딩된 저대역 코어 및 상기 제 1 오디오 프레임의 고대역 파라미터들을 포함하고, 상기 리던던트 코딩은 상기 제 2 오디오 프레임의 저대역 리던던트 코딩 정보, 상기 제 2 오디오 프레임의 고대역 파라미터 리던던트 코딩, 또는 양쪽 모두를 포함하는, 장치.
  14. 제 13 항에 있어서,
    상기 리던던트 코딩은 상기 제 2 오디오 프레임의 부분적 카피 (partial copy) 를 포함하고, 상기 제 1 오디오 프레임의 상기 프라이머리 코딩의 사이즈는 상기 제 2 오디오 프레임의 상기 리던던트 코딩의 사이즈보다 더 큰, 장치.
  15. 무선 통신의 방법으로서,
    회선 교환 네트워크를 통해 그리고 제 1 시간 주기 동안, 네트워크 인터페이스에서 패킷을 수신하는 단계로서, 상기 패킷은 제 1 오디오 프레임의 프라이머리 코딩, 제 2 오디오 프레임의 리던던트 코딩, 및 시그널링 정보를 표시하는 하나 이상의 비트들을 포함하고, 상기 시그널링 정보는 상기 프라이머리 코딩 또는 상기 리던던트 코딩 중 어떤 것이 디코딩되어야 하는지를 표시하고, 상기 회선 교환 네트워크는 고정된 시간 간격들 동안 디바이스들로의 오디오 프레임들의 통신과 연관된, 상기 패킷을 수신하는 단계;
    상기 하나 이상의 비트들에 기초하여 상기 시그널링 정보를 결정하는 단계;
    상기 시그널링 정보에 기초하여 상기 프라이머리 코딩 또는 상기 리던던트 코딩을 디코딩하는 단계;
    디코딩된 상기 프라이머리 코딩 또는 디코딩된 상기 리던던트 코딩에 기초하여 오디오 출력을 개시하는 단계; 및
    프리-리던던시 버퍼에 상기 패킷의 부분을 저장하는 단계를 포함하는, 무선 통신의 방법.
  16. 제 15 항에 있어서,
    상기 하나 이상의 비트들은 단일 시그널링 비트를 포함하고, 상기 단일 시그널링 비트는 상기 리던던트 코딩에 포함되고 그리고 상기 프라이머리 코딩이 디코딩되어야 하는지 또는 상기 리던던트 코딩이 디코딩되어야 하는지를 표시하는, 무선 통신의 방법.
  17. 제 15 항에 있어서,
    상기 하나 이상의 비트들은 단일 시그널링 비트를 포함하고, 상기 단일 시그널링 비트는 상기 프라이머리 코딩에 포함되고 그리고 상기 프라이머리 코딩이 디코딩되어야 하는지 또는 상기 리던던트 코딩이 디코딩되어야 하는지를 표시하는, 무선 통신의 방법.
  18. 제 15 항에 있어서,
    상기 패킷의 부분을 저장하는 단계는 상기 프라이머리 코딩 또는 상기 리던던트 코딩을 디코딩하는 것에 응답하여 상기 프리-리던던시 버퍼에 상기 패킷의 미디코딩된 부분을 저장하는 단계를 포함하는, 무선 통신의 방법.
  19. 제 18 항에 있어서,
    제 2 패킷에 관련된 패킷 손실에 응답하여, 상기 프리-리던던시 버퍼로부터, 상기 패킷의 상기 미디코딩된 부분을 취출하는 단계를 더 포함하고, 상기 제 2 패킷은 상기 제 1 시간 주기에 후속하는 제 2 시간 주기에 대응하는, 무선 통신의 방법.
  20. 제 18 항에 있어서,
    상기 네트워크 인터페이스에서 제 2 패킷을 수신하는 단계로서, 상기 제 2 패킷은 상기 패킷이 수신된 타임 슬롯에 후속하는 제 2 타임 슬롯에서 수신된, 상기 제 2 패킷을 수신하는 단계;
    상기 제 2 패킷 내의 데이터가 손상되어 있다고 결정하는 단계; 및
    상기 데이터가 손상되어 있다고 결정하는 것에 기초하여, 상기 프리-리던던시 버퍼로부터, 상기 패킷의 상기 미디코딩된 부분을 취출하는 단계로서, 상기 미디코딩된 부분은 상기 데이터에 대응하는, 상기 패킷의 상기 미디코딩된 부분을 취출하는 단계를 더 포함하는, 무선 통신의 방법.
  21. 제 15 항에 있어서,
    상기 프라이머리 코딩은 상기 시그널링 정보에 기초하여 디코딩되는, 무선 통신의 방법.
  22. 제 15 항에 있어서,
    상기 리던던트 코딩은 상기 시그널링 정보에 기초하여 디코딩되는, 무선 통신의 방법.
  23. 제 15 항에 있어서,
    상기 패킷은 상기 회선 교환 네트워크의 제 2 디바이스로부터 상기 네트워크 인터페이스를 포함하는 제 1 디바이스에서 수신되고, 상기 프라이머리 코딩, 상기 리던던트 코딩, 또는 양쪽 모두는 패킷 교환 네트워크의 제 3 디바이스에서 비롯되고, 상기 패킷 교환 네트워크는 소스 디바이스와 목적지 디바이스 사이의 패킷들의 개별 라우팅과 연관되는, 무선 통신의 방법.
  24. 제 15 항에 있어서,
    상기 프라이머리 코딩 또는 상기 리던던트 코딩을 디코딩하는 것에 응답하여 프리-리던던시 버퍼에 상기 패킷의 미디코딩된 부분을 저장하는 단계;
    상기 제 1 시간 주기에 후속하는 제 2 시간 주기 동안 상기 네트워크 인터페이스에서 제 2 패킷을 수신하는 단계;
    상기 제 2 패킷이 손상되어 있다고 결정하는 것에 기초하여, 상기 프리-리던던시 버퍼로부터, 상기 패킷의 상기 미디코딩된 부분을 취출하는 단계; 및
    상기 미디코딩된 부분을 디코딩하는 단계를 더 포함하는, 무선 통신의 방법.
  25. 장치로서,
    회선 교환 네트워크를 통해, 제 1 오디오 프레임의 프라이머리 코딩, 제 2 오디오 프레임의 리던던트 코딩, 및 시그널링 정보를 표시하는 하나 이상의 비트들을 포함하는 패킷을 수신하는 수단으로서, 상기 시그널링 정보는 상기 프라이머리 코딩 또는 상기 리던던트 코딩 중 어떤 것이 디코딩되어야 하는지를 표시하고, 상기 회선 교환 네트워크는 고정된 시간 간격들 동안 디바이스들로의 오디오 프레임들의 통신과 연관된, 상기 패킷을 수신하는 수단;
    상기 하나 이상의 비트들에 기초하여 상기 시그널링 정보를 결정하고 디코딩된 상기 프라이머리 코딩 또는 디코딩된 상기 리던던트 코딩에 기초하여 오디오 출력을 개시하는 수단;
    상기 패킷의 부분을 저장하는 수단;
    상기 시그널링 정보에 기초하여 상기 프라이머리 코딩 또는 상기 리던던트 코딩을 디코딩하는 수단; 및
    디코딩된 상기 프라이머리 코딩 또는 디코딩된 상기 리던던트 코딩에 기초하여 오디오 출력을 개시하는 수단을 포함하는, 장치.
  26. 제 25 항에 있어서,
    상기 하나 이상의 비트들은 상기 프라이머리 코딩 또는 상기 리던던트 코딩 중 어떤 것이 디코딩되어야 하는지를 표시하는 비트들의 시퀀스를 포함하는, 장치.
  27. 명령들을 저장하는 컴퓨터 판독가능 저장 디바이스로서,
    상기 명령들은, 프로세서에 의해 실행될 때, 상기 프로세서로 하여금,
    네트워크 인터페이스에서 회선 교환 네트워크를 통해 패킷을 수신하는 것으로서, 상기 패킷은 제 1 오디오 프레임의 프라이머리 코딩, 제 2 오디오 프레임의 리던던트 코딩, 및 시그널링 정보를 표시하는 하나 이상의 비트들을 포함하고, 상기 시그널링 정보는 상기 프라이머리 코딩 또는 상기 리던던트 코딩 중 어떤 것이 디코딩되어야 하는지를 표시하고, 상기 회선 교환 네트워크는 고정된 시간 간격들 동안 디바이스들로의 오디오 프레임들의 통신과 연관된, 상기 패킷을 수신하는 것;
    상기 하나 이상의 비트들에 기초하여 상기 시그널링 정보를 결정하는 것;
    상기 시그널링 정보에 기초하여 상기 프라이머리 코딩 또는 상기 리던던트 코딩을 디코딩하는 것;
    디코딩된 상기 프라이머리 코딩 또는 디코딩된 상기 리던던트 코딩에 기초하여 오디오 출력을 개시하는 것; 및
    프리-리던던시 버퍼에 상기 패킷의 부분을 저장하는 것을 포함하는 동작들을 수행하게 하는, 컴퓨터 판독가능 저장 디바이스.
  28. 제 27 항에 있어서,
    상기 동작들은,
    상기 패킷의 미디코딩된 부분을 메모리에 저장하는 것;
    상기 네트워크 인터페이스에서 상기 회선 교환 네트워크를 통해 제 2 패킷을 수신하는 것;
    상기 제 2 패킷이 손상되어 있다고 결정하는 것; 및
    상기 제 2 패킷이 손상되어 있다고 결정하는 것에 응답하여, 상기 패킷의 상기 미디코딩된 부분을 취출하는 것을 더 포함하는, 컴퓨터 판독가능 저장 디바이스.
  29. 삭제
  30. 삭제
KR1020187011619A 2015-10-29 2016-09-14 패킷의 프라이머리 코딩을 디코딩할지 또는 리던던트 코딩을 디코딩할지를 표시하는 시그널링 정보를 베어링하는 패킷 KR101980058B1 (ko)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201562248265P 2015-10-29 2015-10-29
US201562248271P 2015-10-29 2015-10-29
US201562248275P 2015-10-29 2015-10-29
US62/248,265 2015-10-29
US62/248,271 2015-10-29
US62/248,275 2015-10-29
US15/263,905 2016-09-13
US15/263,905 US10049681B2 (en) 2015-10-29 2016-09-13 Packet bearing signaling information indicative of whether to decode a primary coding or a redundant coding of the packet
PCT/US2016/051767 WO2017074587A1 (en) 2015-10-29 2016-09-14 Packet bearing signaling information indicative of whether to decode a primary coding or a redundant coding of the packet

Publications (2)

Publication Number Publication Date
KR20180077167A KR20180077167A (ko) 2018-07-06
KR101980058B1 true KR101980058B1 (ko) 2019-08-28

Family

ID=57018183

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187011619A KR101980058B1 (ko) 2015-10-29 2016-09-14 패킷의 프라이머리 코딩을 디코딩할지 또는 리던던트 코딩을 디코딩할지를 표시하는 시그널링 정보를 베어링하는 패킷

Country Status (11)

Country Link
US (1) US10049681B2 (ko)
EP (1) EP3369197B1 (ko)
JP (1) JP6495544B2 (ko)
KR (1) KR101980058B1 (ko)
CN (1) CN108352927B (ko)
AU (1) AU2016343906B2 (ko)
BR (1) BR112018008779A2 (ko)
ES (1) ES2770926T3 (ko)
HU (1) HUE048690T2 (ko)
TW (1) TWI664840B (ko)
WO (1) WO2017074587A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10049682B2 (en) 2015-10-29 2018-08-14 Qualcomm Incorporated Packet bearing signaling information indicative of whether to decode a primary coding or a redundant coding of the packet
US9967306B1 (en) * 2016-09-08 2018-05-08 Sprint Spectrum L.P. Prioritized transmission of redundancy data for packetized voice communication
US10454811B2 (en) * 2017-04-07 2019-10-22 Qualcomm Incorporated Apparatus and method for de-jitter buffer delay adjustment
CN107241166A (zh) * 2017-06-12 2017-10-10 京信通信系统(中国)有限公司 一种长期演进上的语音Volte数据保障方法和设备
US11522816B2 (en) * 2019-09-25 2022-12-06 MIXHalo Corp. Multi-stride packet payload mapping for robust transmission of data
US11108898B1 (en) * 2019-12-05 2021-08-31 Amazon Technologies, Inc. Packets with header replicas for contention resolution in communications systems
US11711322B2 (en) * 2021-10-31 2023-07-25 Zoom Video Communications, Inc. Packet processing at a server

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020174434A1 (en) 2001-05-18 2002-11-21 Tsu-Chang Lee Virtual broadband communication through bundling of a group of circuit switching and packet switching channels
US20120210195A1 (en) 2010-01-30 2012-08-16 Jiying Dui Method, device, and system for forward error correction
US20150106106A1 (en) 2013-10-11 2015-04-16 Qualcomm Incorporated Systems and methods of communicating redundant frame information

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6731625B1 (en) * 1997-02-10 2004-05-04 Mci Communications Corporation System, method and article of manufacture for a call back architecture in a hybrid network with support for internet telephony
US6757654B1 (en) * 2000-05-11 2004-06-29 Telefonaktiebolaget Lm Ericsson Forward error correction in speech coding
CN1886946A (zh) * 2003-09-30 2006-12-27 日本电气株式会社 异种通信网间连接中的编码数据的处理方法以及网关装置
US7177804B2 (en) * 2005-05-31 2007-02-13 Microsoft Corporation Sub-band voice codec with multi-stage codebooks and redundant coding
JP2007288342A (ja) * 2006-04-13 2007-11-01 Nec Corp メディアストリーム中継装置および方法
US8346235B2 (en) 2010-01-25 2013-01-01 Research In Motion Limited DTMF signalling between mobile and server
US9047863B2 (en) * 2012-01-12 2015-06-02 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for criticality threshold control
US9275644B2 (en) * 2012-01-20 2016-03-01 Qualcomm Incorporated Devices for redundant frame coding and decoding
TWI646812B (zh) 2012-01-24 2019-01-01 內數位專利控股公司 無線傳輸/接收單元、在無線傳輸/接收單元中實施的方法以及網路節點
US10049682B2 (en) 2015-10-29 2018-08-14 Qualcomm Incorporated Packet bearing signaling information indicative of whether to decode a primary coding or a redundant coding of the packet

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020174434A1 (en) 2001-05-18 2002-11-21 Tsu-Chang Lee Virtual broadband communication through bundling of a group of circuit switching and packet switching channels
US20120210195A1 (en) 2010-01-30 2012-08-16 Jiying Dui Method, device, and system for forward error correction
US20150106106A1 (en) 2013-10-11 2015-04-16 Qualcomm Incorporated Systems and methods of communicating redundant frame information

Also Published As

Publication number Publication date
CN108352927A (zh) 2018-07-31
HUE048690T2 (hu) 2020-08-28
CN108352927B (zh) 2019-08-16
WO2017074587A1 (en) 2017-05-04
JP2019501404A (ja) 2019-01-17
EP3369197B1 (en) 2019-11-06
US10049681B2 (en) 2018-08-14
ES2770926T3 (es) 2020-07-03
BR112018008779A2 (pt) 2018-10-30
TW201717585A (zh) 2017-05-16
US20170125028A1 (en) 2017-05-04
AU2016343906B2 (en) 2019-06-27
EP3369197A1 (en) 2018-09-05
AU2016343906A1 (en) 2018-04-12
KR20180077167A (ko) 2018-07-06
JP6495544B2 (ja) 2019-04-03
TWI664840B (zh) 2019-07-01

Similar Documents

Publication Publication Date Title
US10049682B2 (en) Packet bearing signaling information indicative of whether to decode a primary coding or a redundant coding of the packet
KR101980058B1 (ko) 패킷의 프라이머리 코딩을 디코딩할지 또는 리던던트 코딩을 디코딩할지를 표시하는 시그널링 정보를 베어링하는 패킷
US20200194010A1 (en) Systems and methods of communicating redundant frame information
CN110770824B (zh) 多流音频译码
JP6786592B2 (ja) 帯域幅移行期間中の信号再使用
US20170187635A1 (en) System and method of jitter buffer management
KR20180096625A (ko) 프레임간 시간 시프트 변동들에 대한 채널 조정
NZ717780B2 (en) Systems and methods of communicating redundant frame information

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant