KR20140067512A - 신호 처리 장치 및 그 신호 처리 방법 - Google Patents

신호 처리 장치 및 그 신호 처리 방법 Download PDF

Info

Publication number
KR20140067512A
KR20140067512A KR1020120134826A KR20120134826A KR20140067512A KR 20140067512 A KR20140067512 A KR 20140067512A KR 1020120134826 A KR1020120134826 A KR 1020120134826A KR 20120134826 A KR20120134826 A KR 20120134826A KR 20140067512 A KR20140067512 A KR 20140067512A
Authority
KR
South Korea
Prior art keywords
jitter
voice
state
voice frame
network
Prior art date
Application number
KR1020120134826A
Other languages
English (en)
Inventor
김민성
김형국
민형석
박재성
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020120134826A priority Critical patent/KR20140067512A/ko
Priority to US14/085,149 priority patent/US9461900B2/en
Publication of KR20140067512A publication Critical patent/KR20140067512A/ko

Links

Images

Classifications

    • 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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/087Jitter
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/31708Analysis of signal quality
    • G01R31/31709Jitter measurements; Jitter generators
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/12Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L43/106Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • H04L47/365Dynamic adaptation of the packet size
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/439Processing of audio elementary streams
    • H04N21/4392Processing of audio elementary streams involving audio buffer management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/439Processing of audio elementary streams
    • H04N21/4394Processing of audio elementary streams involving operations for analysing the audio stream, e.g. detecting features or characteristics in audio streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/439Processing of audio elementary streams
    • H04N21/4396Processing of audio elementary streams by muting the audio signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/439Processing of audio elementary streams
    • H04N21/4398Processing of audio elementary streams involving reformatting operations of audio signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Abstract

음성 패킷을 처리하는 신호 처리 장치가 개시된다. 신호 처리 장치는, 네트워크 상태에 따른 지터 분산의 가중치를 이용하여 네트워크 지터를 추정하는 네트워크 지터 추정부, 추정된 네트워크 지터에 기초하여 수신된 음성 패킷을 압축 또는 출력하는 압축 및 출력부 및 음성 패킷 손실이 있는 경우, 단구간 손실 은닉 및 장구간 손실 은닉으로 구분하여 상이한 방식으로 손실 은닉을 수행하는 손실 은닉부를 포함한다.

Description

신호 처리 장치 및 그 신호 처리 방법{ SIGNAL PROCESSING APPARATUS AND SIGNAL PROCESSING METHOD THEREOF }
본 발명은 모바일 VoIP 기반의 음성 패킷을 수신하여 처리하는 신호 처리 장치 및 그 신호 처리 방법에 관한 것이다.
VoIP 기반의 패킷 망을 통해 음성데이터를 전송할 경우에 각 패킷이 같은 경로가 아니라 서로 다른 경로를 통해 전송되기 때문에 각 패킷이 수신단에 도착하는 시간이 일정하지 않다. 즉, 네트워크 부하로 인해 패킷이 손실되거나, 정해진 시간 내에 패킷이 수신되지 않거나 또는 송신한 순서가 바뀌어 수신되는 경우가 발생되어 음질 저하가 발생한다.
종래에는 이런 음질저하의 원인이 되는 지터를 추정하기 위해 네트워크 경로 상에 시험 패킷을 전송하여 시험 패킷의 타임 스템프 및 시퀀스 정보를 이용하여 지터를 추정하는 방식과 수신단에 도착하는 패킷의 정보를 이용하여 지터의 평균과 분산을 구하고, 고정된 지터분산 가중치를 분산에 곱하여 지터의 평균과 더함으로써 네트워크 지터를 추정하는 방식 등이 사용되었다.
네트워크상에서 발생하는 지연 및 지터에 따른 통화 품질의 저하를 막기 위해 종래의 플레이아웃 방식은 일정 시간 간격 동안의 네트워크 트래픽을 측정하여 문턱값과 비교함으로써 수신단에 존재하는 패킷에 대해 신장/압축/정상출력 중의 하나의 신호처리 과정을 수행하여 버퍼링 지연을 줄이는 방식을 사용하였으며, 네트워크 지연이 갑자기 증가하여 지터 버퍼의 고갈이 예상되거나 네트워크 지연이 갑자기 감소하여 지터 버퍼의 패킷 수용범위를 넘는 언더플로우와 오버플로우 현상이 예상되면 이에 따라 신장 및 압축을 수행하는 방법을 사용하였다.
또한 네트워크 상에서 패킷이 손실되어 수신단에 도착하지 않는 패킷을 은닉하는 종래의 패킷손실은닉방법에서는 정상적으로 디코딩된 이전 패킷에서 손실된 패킷에 대한 음성 파라미터를 예측하고, 이러한 예측 파라미터를 통해 손실된 음성 패킷을 디코딩하여 사용하거나 손실된 음성프레임을 복원하기 위해 손실이 발생되기 바로 이전의 프레임 정보를 이용하여 이전 음성프레임의 피치를 하나씩 증가하면서 복원하는 방식을 사용하였다.
하지만 상술한 방법들에 따르면 역동적으로 변화하는 네트워크 상황이나 스파이크 같은 비정상적인 네트워크 상황에서 버퍼링 지연이 증가되고, 음질저하가 심하게 발생한다. 또한 압축, 신장, 손실은닉, 병합 등의 신호처리 과정에서도 음질이 훼손되어 음질 저하가 발생한다. 이러한 버퍼링 지연 증가와 음질저하 문제를 해결하기 위한 방법이 요구된다.
본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로, 본 발명의 목적은 적응적 플레이아웃 스케줄링과 패킷 손실 은닉 및 병합 등의 신호 처리 방식을 통해 수신단에서 음질을 향상시키는 신호 처리 장치 및 그 신호 처리 방법을 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 음성 패킷을 처리하는 신호 처리 장치는, 수신된 음성 패킷에 대한 정보 및 네트워크 지터 분산의 가중치를 이용하여네트워크 지터를 추정하는 네트워크 지터 추정부, 음성 패킷 손실이 있는 경우, 단구간 손실 은닉 및 장구간 손실 은닉으로 구분하여 상이한 방식으로 손실 은닉을 수행하여 손실 은닉 신호를 생성하는 손실 은닉부 및, 상기 추정된 네트워크 지터 및 상기 손실 은닉 신호에 기초하여 음성 프레임을 압축 또는 출력하는 압축 및 출력부를 포함한다.
또한, 상기 수신된 음성 패킷을 디코딩하여 음성 프레임을 생성하는 디코더;를 더 포함하며, 상기 손실 은닉부는, 상기 디코더와 분리되어, 디코더의 종류에 관계없이 손실 음성 패킷을 복원할 수 있다.
또한, 상기 네트워크 지터 추정부는, 상기 수신된 음성 패킷의 헤더 정보 및 지터 분산의 가중치를 이용하여 네트워크 지터가 급격히 변화하는 스파이크 상태를 검출하며, 상기 압축 및 출력부는, 상기 검출된 스파이크 상태를 이용하여 음성 프레임을 압축 또는 출력할 수 있다.
여기서, 상기 지터 분산의 가중치는, 이전에 추정된 네트워크 지터 및 현재 발생한 네트워크 지터의 차이를 최소화시키는 가중치가 될 수 있다.
또한, 상기 네트워크 지터 추정부는, 네트워크 상태를 스파이크 상태와 정상 상태로 구분하고, 각 네트워크의 상태에 따른 현재 네트워크 지터의 지터 평균과 지터 분산, 및 지터 분산의 가중치를 이용하여 지터 추정 에러를 최소화할 수 있다.
또한, 상기 네트워크 지터 추정부는, 정상 수신된 패킷 정보를 이용하여 정상 상태에서 스파이크 상태로의 변화를 검출하고, 스파이크 상태 검출 시 이전 정상 상태에서 네트워크 지터의 평균 및 분산을 임시 저장하고, 상기 스파이크 상태에서 정상 상태로 전환되는 경우 상기 임시 저장된 네트워크 지터의 평균과 분산을 사용하여 상기 정상 상태의 지터를 추정하며, 상기 정상 상태 및 스파이크 상태에서 각각 추정된 네트워크 지터와 실제 네트워크 지터와의 오차를 계산하여 지터 분산의 가중치를 산출할 수 있다.
또한, 상기 압축 및 출력부는, 압축 수행 시, 스파이크 상태에서 정상 상태로 전환되는 경우와 정상 상태가 유지되는 상황으로 구분하여 압축을 수행하며, 압축 수행 시, 비음성 구간 및 음성 구간으로 구분하고 음성 구간에서는 압축을 수행하지 않고 비음성 구간에 대해서만 압축을 수행할 수 있다.
또한, 상기 압축 및 출력부는, 압축 수행 시 스파이크 상태에서 정상 상태로 전환되는 경우, 출력음성프레임 버퍼와 지터 버퍼의 연속된 비음성구간을 검색하고, 연속된 비음성구간에 대해 압축을 수행하여 버퍼링 지연을 감소시킬 수 있다.
또한, 상기 손실 은닉부는, 상기 단구간 손실 은닉에 해당하는 경우, 손실된 음성프레임 이후의 음성프레임이 존재하지 않는 경우 손실 이전 음성프레임만을 이용하여 손실된 음성 프레임을 복원하고, 손실된 음성프레임 이후의 음성프레임이 존재하면 손실 이전 음성프레임과 손실 이후 음성 프레임을 이용하여 손실된 음성 프레임을 복원할 수 있다.
또한, 상기 손실 은닉부는, 손실 이후 음성프레임의 존재 확인 과정에서 음성프레임버퍼에 손실 이후 음성프레임이 존재하지 않을 경우, 지터 버퍼에 손실 이후 음성프레임을 검색하고 디코딩하여 손실 복원에 사용할 수 있다.
또한, 상기 손실 은닉부는, 상기 단구간 손실 은닉시 사용된 손실 이전 프레임이 무성음인 경우 기설정된 임계값 이상의 기울기로 감소하는 무성음 감소 스케일 함수를 적용하고, 유성음인 경우 감소 스케일 함수를 적용하지 않을 수 있다.
또한, 상기 손실 은닉부는, 상기 장구간 손실 은닉에 해당하는 경우, 음성 구간을 유성음 및 무성음 구간을 구별하고, 각 구간에 대응되는 소거스케일링 함수를 적용할 수 있다.
또한, 정상 수신된 음성 프레임에서 서브 프레임으로 추출하고, 상기 손실 은닉부에서 손실 은닉된 음성 프레임과 추출된 서브 프레임을 병합하여 병합된 음성 프레임을 생성하는 병합부를 더 포함할 수 있다.
이 경우, 상기 음성 패킷은, VoIP(Voice over Internet Protocol)에 따른 음성 통화 패킷이 될 수 있다.
한편, 본 발명의 일 실시 예에 따른 음성 패킷을 처리하는 신호 처리 방법은, 수신된 음성 패킷에 대한 정보 및 네트워크 지터 분산의 가중치를 이용하여 네트워크 지터를 추정하는 단계, 음성 패킷 손실이 있는 경우, 단구간 손실 은닉 및 장구간 손실 은닉으로 구분하여 상이한 방식으로 손실 은닉을 수행하여 손실 은닉 신호를 생성하는 단계 및 상기 추정된 네트워크 지터 및 상기 손실 은닉 신호에 기초하여 음성 프레임을 압축 또는 출력하는 단계를 포함한다.
또한, 상기 수신된 음성 패킷을 디코딩하여 음성 프레임을 생성하는 디코딩 단계를 더 포함하며, 상기 손실 은닉 신호를 생성하는 단계는, 상기 디코딩 단계와 별개로 수행되어, 디코더의 종류에 관계없이 손실 음성 패킷을 복원할 수 있다.
또한, 상기 네트워크 지터를 추정하는 단계는, 상기 수신된 음성 패킷의 헤더 정보 및 지터 분산의 가중치를 이용하여 네트워크 지터가 급격히 변화하는 스파이크 상태를 검출하며, 상기 압축 또는 출력하는 단계는, 상기 검출된 스파이크 상태를 이용하여 상기 수신된 음성 패킷을 압축 또는 출력할 수 있다.
이 경우, 상기 지터 분산의 가중치는, 이전에 추정된 네트워크 지터 및 현재 발생한 네트워크 지터의 차이를 최소화시키는 가중치가 될 수 있다.
또한, 상기 네트워크 지터를 추정하는 단계는, 네트워크 상태를 스파이크 상태와 정상 상태로 구분하고, 각 네트워크의 상태에 따른 현재 네트워크 지터의 지터 평균과 지터 분산, 및 지터 분산의 가중치를 이용하여 지터 추정 에러를 최소화할 수 있다.
또한, 상기 네트워크 지터를 추정하는 단계는, 정상 수신된 패킷 정보를 이용하여 정상 상태에서 스파이크 상태로의 변화를 검출하는 단계, 스파이크 상태 검출 시 이전 정상 상태에서 네트워크 지터의 평균 및 분산을 임시 저장하고, 상기 스파이크 상태에서 정상 상태로 전환되는 경우 상기 임시 저장된 네트워크 지터의 평균과 분산을 사용하여 상기 정상 상태의 지터를 추정하는 단계 및, 상기 정상 상태 및 스파이크 상태에서 각각 추정된 네트워크 지터와 실제 네트워크 지터와의 오차를 계산하여 지터 분산의 가중치를 산출하는 단계를 포함할 수 있다.
또한, 상기 압축 또는 출력하는 단계는, 압축 수행 시, 스파이크 상태에서 정상 상태로 전환되는 경우와 정상 상태가 유지되는 상황으로 구분하여 압축을 수행하며, 압축 수행 시, 비음성 구간 및 음성 구간으로 구분하고 음성 구간에서는 압축을 수행하지 않고 비음성 구간에 대해서만 압축을 수행할 수 있다.
이상 설명한 바와 같이 본 발명에 따르면, 본 발명은 VoIP(Voice over Internet Protocol)기반의 음성 및 영상통화시 IP 네트워크 망 변동으로 인해 발생하는 패킷 손실, 패킷 지연, 네트워크 지연편차인 지터 등의 통화음질 훼손 요인들에도 불구하고 적응적 플레이아웃 스케줄링과 패킷 손실 은닉 및 병합 등의 신호처리 방식을 통해 전적으로 수신단에서의 신호 처리 만으로 수신 음질을 향상시킬 수 있게 된다.
도 1은 본 발명의 일 실시 예에 따른 신호 처리 장치의 구성을 나타내는 블럭도이다.
도 2는 본 발명에 따른 신호처리 결정부(200)의 동작을 설명하기 위한 도면이다.
도 3은 본 발명에 따른 음성프레임 압축 및 정상 출력부(300)의 동작을 설명하기 위한 도면이다.
도 4는 본 발명에 따른 손실 은닉부(400)의 동작을 설명하기 위한 도면이다.
도 5는 본 발명에 따른 병합부(500)의 동작을 설명하기 위한 도면이다.
도 6 및 도 7은 손실 이전 정상 수신된 음성프레임과 손실 이후 정상 수신된 음성프레임을 이용한 손실 은닉 수행 방법을 설명하기 위한 도면이다.
도 8은 정상 수신된 음성프레임의 대체 신호를 이용한 병합 수행 동작을 설명하기 위한 도면이다.
도 9는 본 발명의 다른 실시 예에 따른 신호 처리 장치의 구성을 나타내는 블럭도이다.
도 10은 본 발명의 일 실시 예에 따른 신호 처리 방법을 설명하기 위한 흐름도이다.
이하에서는 도면을 참조하여 본 발명을 더욱 상세하게 설명한다.
본 발명은 적응적인 플레이아웃 스케줄링과 패킷 손실 은닉 및 병합을 적용한 모바일 VoIP 음질 향상 개선을 위한 수신단의 신호 처리 방식에 대한 것으로 다음과 같은 차별화 포인트가 있다.
< 본 발명의 차별화 포인트 >
첫 번째, 본 발명에 따르면, 패킷 손실 은닉부가 수신단의 오디오 디코더에 결합되어 있는 기존의 방식과는 달리, 디코더와 분리시킴으로써 다양한 오디오 코덱에 효과적으로 적용할 수 있게 된다.
두 번째, 본 발명에 따르면, 수신단에 도착하는 패킷 정보를 이용하여 측정된 네트워크 트래픽 측정값을 기반으로 송신단에 패킷 사이즈를 조절하여 수신단에 전송하는 기존의 방식과는 달리, 수신단에 도착한 패킷 정보만을 이용하여 전적으로 수신단에서 음질을 향상시키는 방식을 적용한다.
세 번째, 본 발명에 따르면, 네트워크 지터 분산과 평균에 고정적인 지터분산 가중치를 적용하여 지터를 추정하는 기존 방식과 달리 현재 네트워크 상태를 스파이크 및 정상 상태로 구분하고, 구분에 따른 지터 분산의 최적가중치를 계산하고 이를 기반으로 각 네트워크 상태에 따른 지터 분산의 최적 가중치 함수를 적용하여 네트워크 지터를 추정함으로써 기존의 스파이크나 역동적으로 변하는 네트워크 상황에서의 지터 추정 오류를 최소화시켜 지터 추정 정확도를 높인다.
네 번째, 본 발명에 따르면, 기존 방법으로 수신된 음성 프레임의 길이와 지연 정보를 고려하여 음성 프레임의 신장/압축/정상출력을 판단하는 것과 달리, 수신단에서 추정된 네트워크 지터와 현재 수신된 음성 프레임의 길이를 비교하고 이를 이용하여 음성 프레임의 압축/정상출력 여부를 판단하여 버퍼링 지연과 지연으로 인한 패킷 손실을 최소화한다.
다섯 번째, 기존에 사용한 신장/압축/정상출력의 방식과 달리 본 발명은 신장을 배제하고 압축/정상출력만을 결정한다. 즉, 기존의 방식에서는 네트워크 상태가 원활하지 못해 패킷 고갈로 인한 언더플로우를 방지하기 위해 신장을 수행하였지만, 본 발명에 따르면, 현재 패킷이 고갈되는 상황이 발생할 경우에 패킷이 손실된 것으로 판단하여 신장을 수행하지 않고 패킷손실은닉 과정을 수행함으로써 신장으로 불필요하게 늘어난 음성프레임의 길이에 대한 버퍼링 지연의 증가와 음질저하를 막는다.
여섯 번째, 본 발명에 따르면, 음성구간과 비음성구간의 구별 없이 압축을 수행하는 기존 방식과 달리 음성구간과 비음성구간을 구별하여 압축을 수행함으로써 음성구간의 압축을 막아 음성구간의의 압축으로 인한 음질저하를 막는 이점을 가진다.
일곱 번째, 본 발명에 따르면, 기존에 사용된 다수 패킷간의 압축방법과 달리 스파이크 이후 도착하는 다수의 패킷으로 인한 버퍼링 지연을 줄이기 위해 연속된 패킷 간 압축을 수행함으로써 스파이크 상태로 인해 늘어난 버퍼링 지연을 빠르게 줄일 수 있게 된다.
여덟 번째, 본 발명에 따르면, 장구간 연속된 손실구간에 대해 손실 이전의 패킷을 사용하여 손실구간을 은닉함으로써 발생하는 버즈사운드를 제거하기 위해 패킷손실 구간을 단구간 패킷손실 및 장구간 패킷손실로 구분하여 각각 패킷손실 은닉을 수행함으로써 음질을 향상시킨다.
아홉 번째, 본 발명에 따르면, 손실 은닉된 음성 프레임과 정상 수신된 음성프레임과의 직접적인 중첩-합으로 인해 정상 음성 패킷을 왜곡시키는 기존의 방식과는 달리 정상 수신된 음성프레임에서 서브프레임을 발췌하여 대체신호를 생성하고 이를 손실 은닉 패킷과 중첩-합을 수행하여 정상 수신된 음성프레임과 연결하는 방법으로 정상 수신된 음성 패킷의 변형 없이 병합을 수행하여 음질을 향상시킨다.
도 1은 본 발명의 일 실시 예에 따른 신호 처리 장치의 구성을 나타내는 블록도이다.
도 1을 참조하면, 본 발명에 따른 수신단 측 신호 처리 장치는 지터 버퍼(100), 네트워크지터 추정부(105), 디코더(110), 음성분류기(115), 출력 음성 프레임 저장부(120), 신호처리 결정부(200), 음성프레임 압축 및 정상 출력부(300), 손실은닉부(400), 병합부(500), 음성 프레임 백업부(130), 수신단측 출력장치(135)를 포함한다.
우선, 송신단에서 생성된 음성 패킷이 통신모듈(미도시)을 통해 수신되면, 수신된 음성 패킷은 지터 버퍼(100)에 저장된다. 여기서, 수신된 음성 패킷은 RTP 헤더의 경우 타임스템프(Timestamp), 시퀀스 번호(Sequence Number), 부호화된 음성 정보 등을 포함한다.
또한, 수신된 음성 패킷이 지터 버퍼(100)에 저장됨과 동시에, 수신된 음성 패킷 정보는 네트워크 지터 추정부(105)로 전송되고(101), 네트워크 지터 추정부(105)는 다음 수신될 음성 패킷의 네트워크 지터를 추정한다. 이 경우, 네트워크 지터 추정부(105)는 정확한 네트워크의 지터 추정을 위해 지터의 분산이 크게 변하지 않고 지터가 평균값을 기준으로 일정범위 내에서 변화하는 정상상태와 지터의 분산이 크게 변하여 지터가 평균값에서 일정 범위를 벗어나 변화하는 스파이크 상태로 구분하여 지터를 추정할 수 있다.
네트워크 지터 추정부(105)는 초기 정상 상태에서 수신단에 현재 도착한 패킷이 이전 패킷의 도착 후로부터 얼마나 늦게 도착했는지를 나타내는 네트워크 지연의 변화가 스파이크 감지 문턱값(임계값) 이상이 되면 스파이크가 발생했다고 판단하고, 반면에 스파이크 감지 문턱값보다 작으면 정상상태가 유지되고 있다고 판단할 수 있다.
네트워크 지터 추정부(105)는 스파이크가 발생하였다고 판단되면, 스파이크 검출 이전의 정상 상태에서 수신된 패킷의 시퀀스 중 가장 큰 시퀀스를 사용하여 네트워크 정상 상태의 끝(end)을 결정하고, 스파이크 이전의 정상 상태에서 산출된 지터의 평균과 분산을 저장한다. 이 경우, 저장된 지터의 평균과 분산은 스파이크 발생 이후에 정상 상태로 복원되었을 경우에 스파이크 검출을 위해 사용된다. 여기서, 스파이크 상태에서 정상 상태로 변화를 검출하기 위해 스파이크 검출 시 도착한 패킷의 시퀀스 번호를 스파이크 끝점이라 정의하고, 그 이전에 들어온 패킷 번호를 스파이크 시작점으로 정의한다. 이 경우, 스파이크 끝점을 기준으로 두 가지 경우로 구분하여 정상 상태로의 변화를 검출한다.
구체적으로, 네트워크 지터 추정부(105)는 스파이크 시작점과 끝점 사이의 패킷이 모두 들어온다면, 스파이크로 인해 들어오지 못한 패킷이 모두 들어왔다고 생각하고 스파이크가 끝나 정상상태로 복원 되었다고 판단한다.
또한, 네트워크 지터 추정부(105)는 스파이크 이후의 패킷이 들어온다면 스파이크 끝점을 다시 스파이크검출 이후 들어온 패킷의 시퀀스 번호로 정의하여 스파이크 구간이 아직 진행 중이라 판단하여 스파이크 구간을 늘린다. 이후 늘어난 스파이크 구간까지의 패킷이 모두 들어온다면 스파이크가 끝나 정상상태로 복원되었다고 판단한다.
또한, 네트워크 지터 추정부(105)는 만약 스파이크에서 패킷이 손실되어 스파이크 구간의 패킷이 모두 들어올 수 없는 경우의 오류를 방지하기 위해 스파이크 검출 시 지연의 변화를 이용하여 스파이크 구간 검출 문턱값을 정의하고 스파이크 시작 시 지연 변화의 범위를 이용해 스파이크 최대 지속시간을 예상한다. 스파이크 최대 지속시간이 넘어 정상상태로 복원이 되지 않는다면, 스파이크 최대 지속시간 이후는 정상 상태로 판단한다.
또한, 네트워크 지터 추정부(105)는 스파이크 상태에서 정상 상태로 전환되면 스파이크 검출시 임시 저장했던 스파이크 이전까지의 정상 상태 지터의 평균과 분산값을 다시 복원시켜 스파이크 상태에서 계산된 지터에 영향 없이 정상 상태의 지터 추정을 하도록 한다.
이 경우, 판단된 네트워크 상황에 따라 이후 지터 추정과정은 상이하다. 정상 상태에서의 지터 추정은 우선 다음 하기의 수학식 1과 같이 지터 평균에 지터 변화를 예측한 값인 현재 지터분산에 지터분산의 최적 가중치를 곱한 값을 합하여 다음 네트워크 지터를 추정한다.
Figure pat00001
여기서, 지터분산의 최적 가중치 함수는 지터 에러를 최소화시키는 핵심요소이다. 또한, 지터 분산의 최적 가중치는 이전에 추정된 지터와 실제 현재 발생한 지터의 값의 차이를 최소화시키는 가중치이다. 즉, 이전 지터 분산의 최적 가중치값이 이전에 계산된 지터 분산과 동일하다면 지터의 변화가 일어나지 않은 상황이다. 그렇기 때문에, 지터 분산의 최적 가중치값은 이전 최대 가중치로 설정한다. 만약 가중치값의 변화가 있다면, 수학식 2와 같이 현재 지터에서 이전 지터 평균값을 차감한 값에 대한 이전 지터 분산과의 비율을 지터 분산의 최적 가중치 값을 적용한다.
이전 지터 분산의 최적 가중치 값이 이전에 계산된 지터 분산과 동일하다면,지터 분산의 최적 가중치는 다음 수학식 2와 같다.
Figure pat00002
반면에 지터 분산의 최적 가중치가 이전에 계산된 지터 분산과 동일하지 않다면 최적 분산 가중치는 다음 수학식 3과 같다.
Figure pat00003
스파이크 상태에서는 패킷이 비정상적인 네트워크 상태로 인해 패킷이 수신되지 않고 순서가 바뀌어 수신되고 있는 상황이며, 패킷이 수신되지 않는 스파이크 상태에서의 지터의 평균 및 분산의 갱신, 그리고 지터 추정은 스파이크에서의 갑작스런 비정상적인 네트워크에 따른 값이다. 따라서, 스파이크 구간에서의 지터의 평균, 분산, 지터 분산의 최적 가중치의 갱신은 스파이크 이후 정상상태로 복원되었을 때, 정상상태의 네트워크 상황에 맞게 빠르게 적응하지 못하는 원인이 된다.
따라서, 스파이크 상태에서는 정상상태의 지터의 평균, 분산 그리고 최적의 지터 분산 가중치의 갱신을 하지 않고, 정상상태로 복원되었을 때 이전 정상상태의 지터의 평균 및 분산, 그리고 최적의 지터 분산 가중치를 사용하여 스파이크 구간이 끝나고 정상상태로 변화하였을 때 빠르게 네트워크 상황에 적응할 수 있다.
수신된 패킷을 출력장치에 전달하기 위해서는 디코더(110)에서 지터 버퍼(100)로 음성 패킷을 요청(111)한다. 디코더(110)로부터 음성 패킷을 요청받은 지터 버퍼(100)는 네트워크 지터 추정부(105)에서 추정된 네트워크 지터와 지터 버퍼(100)에 저장된 음성 패킷 정보를 참조하여, 음성 패킷 저장부(미도시)에 저장된 음성 패킷 중 디코더(110)로 전달할 음성 패킷을 지정한다. 지정된 음성 패킷은 디코더에 전달(102)된다.
음성 패킷을 전달받은 디코더(110)는 해당 음성 패킷을 디코딩하여 음성 프레임을 생성하고 음성분류기(115)에 전달(112)한다. 생성된 음성 프레임은 음성분류기(115)를 통해 묵음/무성음/유성음 중의 하나로 분류되고, 이후에 출력음성프레임 저장부(120)에 전달(116)된다.
출력음성프레임 저장부(120)는 저장된 음성 프레임에서 현재 출력 장치(135)로 전달해야 할 시퀀스 번호를 가지는 음성 프레임을 신호처리 결정부(200)에 전달(121)하여 수신된 음성프레임에 대해 압축 및 정상출력부(300)/손실은닉부(400)/병합부(500)의 수행을 결정(201)한다. 신호처리 결정부(200)의 구성 및 동작에 대해서는 도 2를 참조하여 후술하도록 한다.
네트워크 지터에 따른 음성 압축 및 정상 출력부(300)/패킷 손실에 따른 손실은닉부(400)/병합부(500) 중의 하나의 신호처리 과정이 수행된 음성 프레임은 수신단출력장치(135), 예를 들어, 스피커에 전달되어 사용자에게 음성을 전달하게 된다. 동시에 출력되는 음성프레임은 음성 프레임 백업부(130)에 백업(122)되어 저장된다.
도 2는 본 발명에 따른 신호처리 결정부(200)의 동작을 설명하기 위한 도면이다.
도 2를 참조하면, 현재 출력될 음성 프레임의 존재 여부(210)와 이전 음성 프레임의 손실 여부(220)에 따라 동작 과정이 상이하다.
출력음성프레임 저장부(120)에 음성 프레임이 존재하고(210:Y) 이전 음성 프레임이 손실은닉부(500)를 통해 손실은닉이 이루어지지 않았다면(220:N), 음성프레임 압축 및 정상 출력부(300)로 음성 프레임을 전달한다. 여기서, 음성프레임 압축 및 정상 출력부(300)의 구성 및 동작에 대해서는 도 3을 참조하여 후술하도록 한다.
출력음성프레임 저장부(120)에 출력될 음성 프레임이 존재하지 않는다면(210:N), 신호를 출력하기 위해 손실은닉부(400)에서 손실은닉신호를 생성한다. 여기서, 손실은닉부(400)의 구성 및 동작에 대해서는 도 4를 참조하여 후술하도록 한다.
출력음성프레임 저장부(120)에 음성프레임이 존재하고(210:Y) 이전 음성프레임이 손실은닉부(400)를 통해 손실 은닉이 이루어졌다면(220:Y), 손실은닉부(400)를 통해 손실은닉된 음성프레임과 불연속점을 제거하기 위해 병합부(500)에 음성프레임을 전달한다. 여기서, 병합부(500)의 구성 및 동작에 대해서는 도 5를 참조하여 후술하도록 한다.
도 3은 본 발명에 따른 음성프레임 압축 및 정상 출력부(300)의 동작을 설명하기 위한 도면이다.
도 3을 참조하면, 음성프레임 압축 및 정상 출력부(300)는 IP망 네트워크가 스파이크 상태에서 정상상태로 전환되는 경우와 정상상태가 유지되는 두가지 경우를 구분하여 동작할 수 있다.
음성프레임 압축 및 정상 출력부(300)는 스파이크 상태에서 정상상태로 전화되는 경우에는 스파이크 이후 갑자기 들어오는 음성 패킷으로 인해 버퍼링 지연의 증가가 발생하는 것을 막기 위해 지터 버퍼(100) 및 출력음성 프레임 저장부(120)에 저장되어 있는 연속된 비음성 구간을 찾고 이를 압축한다. 음성프레임 압축 및 정상 출력부(300)는 연속된 비음성 구간을 찾는 경우 출력음성 프레임 저장부(120)에 음성프레임이 존재하지 않고, 지터 버퍼(100)에 음성 패킷 형태로 존재한다면, 지터 버퍼(100)에 저장된 연속된 패킷에 한해서 디코딩을 요청(301)하고 음성프레임을 전환한 후에 음성분류기(115)를 통해 음성 및 비음성 구간임을 판단한다.
음성프레임 압축 및 정상 출력부(300)는 디코딩된 음성프레임이 비음성 구간이라고 판단되면, 연속된 비음성 구간을 압축하여 버퍼링 지연을 최적화(310)한다. 반면에, 현재 출력될 음성프레임이 비음성 구간이 아닌 음성구간이라면 압축을 수행하지 않고 정상출력(370)한다. 이는 음성구간에서의 압축을 통해 통화품질이 훼손되는 음성신호의 왜곡을 방지하기 위함이다.
한편, 음성프레임 압축 및 정상 출력부(300)는 현재 출력될 음성프레임이 비음성 구간인 경우에는, 지터 정보를 이용해 압축 및 정상출력을 판단하기 이전에 IP 네트워크 망이 스파이크 상태에서 정상 상태로의 전환점인지를 우선적으로 확인(330)한다. 전환점에서 추정된 지터 및 지터의 분산은 이전 정상상태의 지터 평균 및 분산정보를 사용하여 추정된 값으로 아직 현재 네트워크 상황을 충분히 반영하지 못하기 때문에, 전환점에서 추정된 지터를 반영하여 잘못된 압축 판단을 방지하기 위해 정상출력(370)을 수행한다.
또한, 음성프레임 압축 및 정상 출력부(300)는 전환점에서의 발생할 수 있는 지터 추정 오류를 제외한 후, 현재 추정된 지터와 지터의 분산을 오버플로우 문턱값과 비교(340)하여 현재 출력될 비음성구간에 대해 압축수행(360)할 것인지 정상출력(370)할 것인지를 판단한다. 즉, 현재 추정된 지터와 지터의 분산이 오버플로우 문턱값보다 작다면, 현재 네트워크 상황이 매우 원활하여 지터의 변동이 적은 상황이라 예측하고, 정상출력만으로도 오버플로우가 발생하지 않을 것이라 판단하여 정상출력(370)을 수행한다. 반면에, 현재 추정된 지터와 지터의 분산이 오버플로우 문턱값보다 크다면, 네트워크가 불안정하여 지터의 변화가 크다고 예측하고, 추정된 지터와 수신단에 존재하는 음성프레임의 길이의 비율을 비교하여 불안정한 네트워크 상황에 대한 압축 및 정상출력을 판단한다.
음성프레임 압축 및 정상 출력부(300)는 추정된 지터와 수신단에 존재하는 음성프레임의 길이의 비율이 정상출력문턱값보다 작다면(350), 다음 패킷이 수신단에 도착할 때까지 수신단에 정상출력을 할 수 있는 음성프레임이 존재하며, 또한 그 이상의 음성프레임이 존재하여 패킷이 쌓여 있다고 판단하고, 압축을 수행(360)한다. 반면 문턱값보다 크다면(350) 다음 음성 패킷이 도착할 때까지 정상출력을 할 수 있는 음성 프레임만이 존재한다고 판단하여 정상출력(370)을 수행한다.
상술한 바와 같이 음성프레임 압축 및 정상 출력부(300)는 다음 네트워크 상태를 정확하게 추정하는 지터 결과를 이용하여 수신단에 존재하는 음성프레임에 대한 압축 혹은 정상출력을 판단함으로써 버퍼링 지연과 음질향상의 균형을 최적화할 수 있다.
도 4는 본 발명에 따른 손실 은닉부(400)의 동작을 설명하기 위한 도면이다.
도 4를 참조하면, 손실 은닉부(400)는 연속된 손실 은닉 횟수에 따라 단구간 손실 은닉과 장구간 손실은닉으로 구별되어 수행(405)된다.
손실 은닉부(400) 연속된 손실 은닉 횟수가 음질훼손 문턱값 보다 작다면 단구간 손실은닉을 수행한다. 이 경우, 연속된 손실 은닉횟수에 대한 음질훼손 문턱값은 실험을 통해 획득될 수 있으며, 예를 들어, 음질훼손 문턱값은 20명의 청취자를 대상으로 하여 획득되었다.
단구간 손실 은닉 수행은 출력음성프레임 저장부(120)의 음성 프레임이 존재하는지(410)와 지터 버퍼(100)에 출력될 음성 패킷이 존재하는지(415)에 따라 동작 과정이 상이하다.
단구간 손실은닉이 수행되면, 출력될 음성 프레임 저장부(120)에 음성프레임이 존재하는지 확인(410)한다. 출력음성프레임 저장부(120)에 음성프레임이 존재하지 않고, 지터 버퍼(100)에 출력될 음성 패킷이 존재하지 않으면, 손실된 음성 프레임을 복원하기 위해 사용할 수 있는 음성프레임이 음성 프레임 백업부(130)에 있는 손실이전에 정상 수신된 음성 프레임 밖에 없기 때문에, 손실 이전 정상 수신된 음성프레임을 이용(401)하여 손실음성프레임의 대체신호를 생성(455)한다. 패킷은닉에 사용된 손실 이전 정상 수신된 음성프레임이 무성음이라면 급격히 감소하는 무성음소거스케일링함수를 적용(465)하고, 유성음이라면 감소스케일함수를 적용(470) 하지 않는다. 손실 은닉된 음성프레임을 수신단측 출력장치(135)를 통해 출력(475)한다.
출력음성프레임 저장부(120)에 음성 프레임이 존재하지 않고, 지터 버퍼(100)에 출력될 음성 패킷이 존재한다면, 디코더(110)에 음성 패킷을 요청(420)하여 지터버퍼(100)에 존재하는 패킷을 음성프레임으로 디코딩하여 음성프레임 저장부(120)에 저장한 후, 손실 이전 정상 수신된 음성프레임과 손실 이후 정상 수신된 음성프레임을 이용하여 은닉신호를 생성하여 수신단측 출력장치(135)를 통해 손실 은닉된 음성프레임을 출력(475)한다.
즉, 손실 이전 정상 수신된 음성 프레임을 이용하여 대체신호 F를 생성(430)하고, 손실 이후 음성프레임을 이용하여 대체신호 D를 생성(440)한다. 이어서, 대체신호 F에서 대체신호 D와의 유사구간을 검색하고, 검색된 유사구간으로부터 대체신호 F와 대체신호 D의 중첩-합을 수행(445)하여 손실은닉신호를 생성한다.
생성된 은닉신호는 수신단측 출력장치(135)를 통해 손실 은닉된 음성프레임을 출력(475)한다. 손실 은닉에 사용된 손실 이전 정상 수신된 음성프레임이 무성음이라면 무성음소거스케일 함수를 적용(465)한다. 즉, 급격히 감소하는 스케일링함수를 적용한다. 또한, 손실 은닉에 사용된 손실 이전 정상 수신된 음성프레임이 유성음이라면 유성음소거스케일 함수를 적용(470)한다. 즉, 급격히 감소하는 스케일함수를 적용하지 않는다. 이렇게 손실 은닉된 음성프레임을 수신단측 출력장치(135)를 통해 출력(475)한다.
한편, 장구간 패킷 손실이 발생하게 되면(405:N) 단구간에서처럼 손실 이전 정상 수신된 음성프레임만을 이용해 손실된 패킷구간을 반복적으로 대체하기 때문에 반복된 동일신호 혹은 유사신호로 인해 음질을 급격히 훼손시키는 버즈 사운드가 발생한다. 이러한 버즈 사운드를 제거하기 위해서 본 발명에서는 패킷은닉에 사용된 손실 이전 음성프레임이 무성음이라면 무성음소거스케일링함수를 0으로 적용(465)하고, 유성음이라면 장구간이라고 판별되는 장구간 시작패킷 이후에는 급격히 감소하는 유성음 감소스케일함수를 적용(470)한다. 버즈 사운드가 제거된 음성 프레임은 수신단측 출력장치(135)를 통해 출력(475)된다.
한편, 도면에는 생략되어 도시되었지만, 연속된 손실은닉 횟수가 문턱값보다 작은 경우(S405:N), 즉, 장구간 손실 은닉의 경우의 경우에도 단구간 손실 은닉의 경우와 동일하게 출력 음성 프레임 저장부에 음성 프레임이 존재하는지 여부를 판단하고(미도시), 존재하는 경우 음성 프레임의 백업부에 손실음성 프레임 이전 프레임을 요청하여(450), 손실음성프레임 이전 프레임의 대체신호를 생성할 수 있다(455).
단구간 및 장구간 패킷손실은닉에 사용된 무성음 및 유성음 감소스케일함수는 실험을 통해 획득될 수 있다. 본 발명의 일 실시 예에 따르면, 20명의 청취자를 대상으로 하여 청취효과를 측정함으로써 생성된 버즈 사운드 제거함수를 이용하였다.
도 5는 본 발명에 따른 병합부(500)의 동작을 설명하기 위한 도면이다.
도 5를 참조하면, 병합부(500)는 손실은닉된 음성프레임을 획득과 동시에 정상수신된 음성프레임를 출력음성프레임 저장부(120)에서 획득한다.
손실은닉된 음성프레임과 정상수신된 음성프레임과의 직접적인 중첩-합을 통해 불연속점이 제거되는 병합신호는 정상수신된 음성프레임을 변형시킴으로 음성프레임의 왜곡이 발생된다. 이러한 음질저하를 일으키는 음성프레임의 왜곡을 막기 위해 본 발명에서는 정상 수신된 음성프레임에서 서브프레임을 발췌하여 중첩-합을 위한 대체신호를 생성(510)한다. 생성된 대체신호를 이용하여 손실은닉된 음성신호에서 유사구간을 검색하고, 검색된 유사구간을 이용하여 손실은닉된 음성프레임과 대체신호의 중첩-합을 수행한다. 손실은닉된 음성 프레임과 대체신호의 중첩-합으로 불연속점을 제거한 음성프레임(540)에 정상 수신된 음성프레임을 연결하여 최종 병합신호를 생성(550)하고, 생성된 병합신호를 최종적으로 수신단측 출력장치(135)를 통해 출력(560)한다. 이는 대체신호의 생성(510)과 이를 통한 중첩-합 수행(540)으로 기존 손실 은닉된 음성 프레임과 정상 수신된 음성프레임과 직접적인 중첩-합 수행으로 인한 정상 수신된 음성프레임의 변형을 막아 음질을 향상시킨다.
도 6 및 도 7을 통해 손실 이전 정상 수신된 음성프레임과 손실 이후 정상 수신된 음성프레임을 이용한 손실 은닉을 수행의 동작을 보다 상세하게 설명한다.
도 6을 참조하면, 현재 패킷이 손실되어 손실구간이 발생하였으며, 음성 프레임 백업부(130)의 손실 이전 정상 수신된 음성 프레임을 획득(425)과 동시에 출력음성프레임 저장부(120)의 손실 이후 음성프레임을 획득(435)한다.
도 7을 참조하면, 획득한 손실이전 정상 수신된 음성 프레임을 이용하여 대체신호 F를 생성(430)하고, 손실 이후 음성프레임을 이용하여 대체신호 D를 생성(440)한다. 대체신호 F에서 대체신호 D와의 유사구간을 검색하고, 검색된 유사구간으로부터 대체신호 F와 대체신호 D의 중첩-합을 수행(445)하여 손실은닉신호를 생성한다.
도 8을 통해 정상 수신된 음성프레임의 대체신호를 이용한 병합 수행 동작을 보다 상세하게 설명한다.
도 8을 참조하면, 손실은닉된 음성프레임 A와 정상수신된 음성프레임 B를 획득한다. 음성프레임 B에서 서브프레임을 발췌하여 중첩-합을 위한 대체신호 B`를 생성(510)한다. 음성프레임 A에서 대체신호 B`와의 유사구간을 검색(530)하고 검색된 유사구간으로부터 대체신호 B`와 B`길이 만큼 중첩-합을 수행하여 손실 은닉된 음성프레임 A의 불연속점을 제거한 음성신호 C를 생성(540)한다. 음성신호 C와 정상 수신된 음성프레임 B와 연결하여 최종 병합신호를 생성(550)한다.
도 9는 본 발명의 다른 실시 예에 따른 신호 처리 장치의 구성을 나타내는 블럭도이다.
도 9에 따르면 신호 처리 장치는 네트워크 지터 추정부(910), 압축 및 출력부(920) 및 손실 은닉부(930)를 포함한다.
네트워크 지터 추정부(910)는 네트워크 지터 분산의 최적 가중치를 이용하여 네트워크 지터를 추정한다. 여기서, 네트워크 지터(jitter)는 패킷의 도착 간격시간의 분산으로써, 패킷 기반의 네트워크에서만 존재한다. VoIP를 이용한 음성 통화에서 지터가 발생하면, 수신자가 패킷을 재생할 때, 늦게 도착한 패킷은 재생을 하지 못하게 됨으로써 통화 품질의 저하가 일어날 수가 있다. 이런 지터 현상을 없애기 위해 지터 버퍼를 사용할 수 있으며, 지터 버퍼에는 정적(static)지터 버퍼와 동적(dynamic) 지터 버퍼가 있다.
여기서, 지터 분산의 최적 가중치는, 이전에 추정된 네트워크 지터 및 현재 발생한 네트워크 지터의 차이를 최소화시키는 가중치가 될 수 있다.
구체적으로, 네트워크 지터 추정부(910)는 수신된 음성 패킷의 헤더 정보 및 지터 분산의 최적 가중치를 이용하여 네트워크 지터가 급격히 변화하는 스파이크 상태를 검출할 수 있다.
네트워크 지터 추정부(910)는 네트워크 상태를 스파이크 상태와 정상 상태로 구분하고, 각 네트워크의 상태에 따른 현재 네트워크 지터의 지터 평균과 지터 분산, 및 지터 분산의 최적 가중치를 이용하여 지터 추정 에러를 최소화할 수 있다.
네트워크 지터 추정부(910)는 정상 수신된 패킷 정보를 이용하여 정상 상태에서 스파이크 상태로의 변화를 검출하고, 스파이크 상태 검출 시 이전 정상 상태에서 네트워크 지터의 평균 및 분산을 임시 저장하고, 상기 스파이크 상태에서 정상 상태로 전환되는 경우 상기 임시 저장된 네트워크 지터의 평균과 분산을 사용하여 정상 상태의 지터를 추정할 수 있다. 이 경우, 네트워크 지터 추정부(910)는 정상 상태 및 스파이크 상태에서 각각 추정된 네트워크 지터와 실제 네트워크 지터와의 오차를 계산하여 지터 분산의 최적 가중치를 산출할 수 있다.
손실 은닉부(920)는 음성 패킷 손실이 있는 경우, 단구간 손실 은닉 및 장구간 손실 은닉으로 구분하여 상이한 방식으로 손실 은닉을 수행할 수 있다. 이 경우, 손실 은닉부(920)는 수신된 음성 패킷을 디코딩하여 음성 프레임을 생성하는 디코더와 분리되는 형태로 구현되어, 디코더의 종류에 관계없이 손실 음성 패킷을 복원할 수 있다.
또한, 손실 은닉부(920)는 음성 패킷 손실이 단구간 손실 은닉에 해당하는 경우, 손실된 음성프레임 이후의 음성프레임이 존재하지 않는 경우 손실 이전 음성프레임만을 이용하여 손실된 음성 프레임을 복원하고, 손실된 음성프레임 이후의 음성프레임이 존재하면 손실 이전 음성프레임과 손실 이후 음성 프레임을 이용하여 손실된 음성 프레임을 복원할 수 있다. 또한, 손실 은닉부(630)는 손실 이후 음성프레임의 존재 확인 과정에서 음성프레임버퍼에 손실 이후 음성프레임이 존재하지 않을 경우, 지터 버퍼에 손실 이후 음성프레임을 검색하고 디코딩하여 손실 복원에 사용할 수 있다.
또한, 손실 은닉부(920)는 단구간 손실 은닉시 사용된 손실 이전 프레임이 무성음인 경우 기설정된 임계값 이상의 기울기로 감소하는 무성음 감소 스케일 함수를 적용하고, 유성음인 경우 감소 스케일 함수를 적용하지 않을 수 있다.
또한, 손실 은닉부(920)는 장구간 손실 은닉에 해당하는 경우, 음성 구간을 유성음 및 무성음 구간을 구별하고, 각 구간에 대응되는 소거스케일링 함수를 적용할 수 있다.
압축 및 출력부(930)는 네트워크 지터 추정부(910)에서 추정된 네트워크 지터 및 손실 은닉부(920)에서 생성된 손실 은닉 신호에 기초하여 음성 프레임을 압축 또는 출력한다.
특히, 압축 및 출력부(930)는 네트워크 지터 추정부(910)에서 검출된 스파이크 상태를 이용하여 음성 프레임을 압축 또는 출력할 수 있다.
구체적으로, 압축 및 출력부(930)는 압축 수행 시, 스파이크 상태에서 정상 상태로 전환되는 경우와 정상 상태가 유지되는 상황으로 구분하여 압축을 수행할 수 있다.
또한, 압축 및 출력부(930)는 압축 수행 시, 비음성 구간 및 음성 구간으로 구분하고 음성 구간에서는 압축을 수행하지 않고 비음성 구간에 대해서만 압축을 수행할 수 있다.
이 경우, 압축 및 출력부(930)는 압축 수행 시 스파이크 상태에서 정상 상태로 전환되는 경우, 출력음성프레임 버퍼와 지터 버퍼의 연속된 비음성구간을 찾고, 연속된 비음성구간에 대해 압축을 수행하여 버퍼링 지연을 감소시킬 수 있다.
한편, 도면에는 도시되지 않았지만, 정상 수신된 음성 프레임에서 서브 프레임으로 추출하고, 손실 은닉부에서 손실 은닉된 음성 프레임과 추출된 서브 프레임을 병합하여 병합된 음성 프레임을 생성하는 병합부(미도시)를 더 포함할 수 있다.
도 10은 본 발명의 일 실시 예에 따른 신호 처리 방법을 설명하기 위한 흐름도이다.
도 10에 도시된 신호 처리 방법에 따르면, 우선, 네트워크 상태에 따른 지터 분산의 가중치를 이용하여 네트워크 지터를 추정한다(S1010).
음성 패킷 손실이 있는 경우, 단구간 손실 은닉 및 장구간 손실 은닉으로 구분하여 상이한 방식으로 손실 은닉을 수행하여 손실 은닉 신호를 생성할 수 있다(S1020). 이 경우, 손실 은닉을 수행하는 손실 은닉부는 수신된 음성 패킷을 디코딩하여 음성 프레임을 생성하는 디코더와 분리되어 디코더의 종류에 관계없이 손실 음성 패킷을 복원할 수 있다. 여기서, 음성 패킷은, VoIP(Voice over Internet Protocol)에 따른 음성 통화 패킷이 될 수 있다.
이어서, 추정된 네트워크 지터 및 생성된 손실 은닉 신호에 기초하여 음성 프레임을 압축 또는 출력한다(S1030).
또한, 네트워크 지터를 추정하는 S910 단계에서는, 수신된 음성 패킷의 헤더 정보 및 지터 분산의 가중치를 이용하여 네트워크 지터가 급격히 변화하는 스파이크 상태를 검출할 수 있다. 이 경우, 압축 또는 출력을 수행하는 S920 단계에서는, 검출된 스파이크 상태를 이용하여 수신된 음성 패킷을 압축 또는 출력할 수 있다.
이 경우, 지터 분산의 가중치는 이전에 추정된 네트워크 지터 및 현재 발생한 네트워크 지터의 차이를 최소화시키는 가중치가 될 수 있다.
또한, 네트워크 지터를 추정하는 S910 단계에서는, 네트워크 상태를 스파이크 상태와 정상 상태로 구분하고, 각 네트워크의 상태에 따른 현재 네트워크 지터의 지터 평균과 지터 분산, 및 네트워크 상태에 따른 지터 분산의 가중치를 이용하여 지터 추정 에러를 최소화할 수 있다.
구체적으로, 네트워크 지터를 추정하는 S910 단계에서는, 정상 수신된 패킷 정보를 이용하여 정상 상태에서 스파이크 상태로의 변화를 검출하고, 스파이크 상태 검출 시 이전 정상 상태에서 네트워크 지터의 평균 및 분산을 임시 저장하고, 상기 스파이크 상태에서 정상 상태로 전환되는 경우 상기 임시 저장된 네트워크 지터의 평균과 분산을 사용하여 정상 상태의 지터를 추정할 수 있다. 또한, 정상 상태 및 스파이크 상태에서 각각 추정된 네트워크 지터와 실제 네트워크 지터와의 오차를 계산하여 지터 분산의 가중치를 산출할 수 있다.
또한, 손실 은닉을 수행하는 S920 단계에서는, 단구간 손실 은닉에 해당하는 경우, 손실된 음성프레임 이후의 음성프레임이 존재하지 않는 경우 손실 이전 음성프레임만을 이용하여 손실된 음성 프레임을 복원하고, 손실된 음성프레임 이후의 음성프레임이 존재하면 손실 이전 음성프레임과 손실 이후 음성 프레임을 이용하여 손실된 음성 프레임을 복원할 수 있다.
또한, 손실 은닉을 수행하는 S920 단계에서는, 손실 이후 음성프레임의 존재 확인 과정에서 음성프레임버퍼에 손실 이후 음성프레임이 존재하지 않을 경우, 지터 버퍼에 손실 이후 음성프레임을 검색하고 디코딩하여 손실 복원에 사용할 수 있다.
또한, 손실 은닉을 수행하는 S920 단계에서는, 단구간 손실 은닉시 사용된 손실 이전 프레임이 무성음인 경우 기설정된 임계값 이상의 기울기로 감소하는 무성음 감소 스케일 함수를 적용하고, 유성음인 경우 감소 스케일 함수를 적용하지 않을 수 있다.
또한, 손실 은닉을 수행하는 S920 단계에서는, 장구간 손실 은닉에 해당하는 경우, 음성 구간을 유성음 및 무성음 구간을 구별하고, 각 구간에 대응되는 소거스케일링 함수를 적용할 수 있다.
또한, 정상 수신된 음성 프레임에서 서브 프레임으로 추출하고, 상기 손실 은닉부에서 손실 은닉된 음성 프레임과 추출된 서브 프레임을 병합하여 병합된 음성 프레임을 생성할 수 있다.
또한, 압축 또는 출력을 수행하는 S930 단계에서는, 압축 수행 시, 스파이크 상태에서 정상 상태로 전환되는 경우와 정상 상태가 유지되는 상황으로 구분하여 압축을 수행할 수 있다. 또한, 압축 또는 출력을 수행하는 S930 단계에서는, 압축 수행 시, 비음성 구간 및 음성 구간으로 구분하고 음성 구간에서는 압축을 수행하지 않고 비음성 구간에 대해서만 압축을 수행할 수 있다.
또한, 압축 또는 출력을 수행하는 S930 단계에서는, 압축 수행 시 스파이크 상태에서 정상 상태로 전환되는 경우, 출력음성프레임 버퍼와 지터 버퍼의 연속된 비음성구간을 찾고, 연속된 비음성구간에 대해 압축을 수행하여 버퍼링 지연을 줄일 수 있다.
상술한 바와 같이 본 발명의 일 실시 예에 따른 적응적 플레이아웃 스케줄링과 패킷 손실 은닉을 통한 모바일 VoIP 음질 향상 개선 방법은, 전적으로 수신단에서 신호처리 과정만으로 음질을 향상시키는 개선된 네 가지 방식을 제공할 수 있다.
첫째, 수신단에 도착하는 패킷들의 정보와 역동적인 지터분산의 최적 가중치 함수를 이용하여 네트워크의 정상상태에서 스파이크 상태로의 전환과 네트워크의 스파이크 상태에서 정상상태로의 전환점을 신속히 검출함으로써 다음 네트워크 상태의 지터추정 에러를 감소시키고 버퍼링 지연과 음질 향상의 균형을 유지하게 된다.
둘째, 지터추정 정확도가 높은 지터추정 방식을 통해 수신단의 패킷을 신장하지 않고 압축 및 정상적으로 출력함으로써 버퍼링 지연을 줄이고 음질을 향상시킨다. 압축시에는 음성구간을 제외한 비음성 구간에서의 압축만을 수행하여 버퍼링 지연과 음질향상의 균형을 유지하게 된다.
셋째, 패킷 손실이 발생할 경우에 패킷 손실은닉을 위해 손실된 패킷을 단구간과 장구간으로 구분하여 각 패킷손실 은닉방식을 적용함으로써, 발생하는 버즈 사운드를 제거하여 음질을 향상시킨다.
넷째, 손실되어 복원된 이전의 패킷과 현재 정상적으로 수신된 병합시에, 정상적으로 수신된 패킷을 왜곡하지 않고 이전 복원 패킷과의 병합을 수행함으로써 음질을 향상시킨다.
이상 설명한 바와 같이 본 발명에 따르면, 지터분산의 최적 가중치를 구하여 지터 추정을 수행함으로써 지터추정오류를 최소화하며, 이를 이용한 플레이아웃스케줄링으로 버퍼링 지연과 패킷손실을 최소화할 수 있게 된다. 또한 신장을 제외한 압축 및 정상출력만의 수행으로 신장으로 인한 불필요한 버퍼링 지연의 증가와 음성프레임의 변형을 막고, 압축 시 음성구간과 비음성구간의 구별과 연속된 비음성구간에 대한 압축으로 버퍼링 지연을 효율적으로 줄이며, 음질 훼손을 방지할 수 있게 된다.
또한, 손실은닉 수행 시, 연속된 손실구간을 감지하여 단구간 및 장구간 손실은닉으로 구분하여 손실 시 은닉된 음성프레임에 대해 소거스케일링 함수를 적용함으로써 장구간 패킷은닉으로 인한 버즈사운드의 발생을 저지하여 음질훼손을 방지할 수 있게 된다.
또한, 손실 은닉 이후 병합과정에서 정상 수신된 음성프레임의 서브프레임을 사용한 병합 방법으로 기존 정상 수신된 음성프레임의 변형이 되는 것을 방지하여 음질을 향상시킬 수 있게 된다.
한편, 상술한 다양한 실시 예에 따른 신호 처리 방법은 프로그램으로 구현되어 수신 장치 또는 신호 처리 장치에 제공될 수 있다.
일 예로, 네트워크 지터 분산의 최적 가중치를 이용하여 네트워크 지터를 추정하는 단계, 추정된 네트워크 지터에 기초하여 수신된 음성 패킷을 압축 또는 출력하는 단계 및, 음성 패킷 손실이 있는 경우, 단구간 손실 은닉 및 장구간 손실 은닉으로 구분하여 상이한 방식으로 손실 은닉을 수행하는 단계를 수행하는 프로그램이 저장된 비일시적 판독 가능 매체(non-transitory computer readable medium)가 제공될 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
910: 네트워크 지터 추정부 920: 손실 은닉부
930: 압축 및 출력부

Claims (20)

  1. 음성 패킷을 처리하는 신호 처리 장치에 있어서,
    수신된 음성 패킷에 대한 정보 및 네트워크 지터 분산의 가중치를 이용하여네트워크 지터를 추정하는 네트워크 지터 추정부;
    음성 패킷 손실이 있는 경우, 단구간 손실 은닉 및 장구간 손실 은닉으로 구분하여 상이한 방식으로 손실 은닉을 수행하여 손실 은닉 신호를 생성하는 손실 은닉부; 및
    상기 추정된 네트워크 지터 및 상기 손실 은닉 신호에 기초하여 음성 프레임을 압축 또는 출력하는 압축 및 출력부;를 포함하는 신호 처리 장치.
  2. 제1항에 있어서,
    상기 수신된 음성 패킷을 디코딩하여 음성 프레임을 생성하는 디코더;를 더 포함하며,
    상기 손실 은닉부는,
    상기 디코더와 분리되어, 디코더의 종류에 관계없이 손실 음성 패킷을 복원하는 것을 특징으로 하는 신호 처리 장치.
  3. 제1항에 있어서,
    상기 네트워크 지터 추정부는,
    상기 수신된 음성 패킷의 헤더 정보 및 지터 분산의 가중치를 이용하여 네트워크 지터가 급격히 변화하는 스파이크 상태를 검출하며,
    상기 압축 및 출력부는,
    상기 검출된 스파이크 상태를 이용하여 음성 프레임을 압축 또는 출력하는 것을 특징으로 하는 신호 처리 장치.
  4. 제1항에 있어서,
    상기 지터 분산의 가중치는,
    이전에 추정된 네트워크 지터 및 현재 발생한 네트워크 지터의 차이를 최소화시키는 가중치인 것을 특징으로 하는 신호 처리 장치.
  5. 제1항에 있어서,
    상기 네트워크 지터 추정부는,
    네트워크 상태를 스파이크 상태와 정상 상태로 구분하고, 각 네트워크의 상태에 따른 현재 네트워크 지터의 지터 평균과 지터 분산, 및 지터 분산의 가중치를 이용하여 지터 추정 에러를 최소화하는 것을 특징으로 하는 신호 처리 장치.
  6. 제5항에 있어서,
    상기 네트워크 지터 추정부는,
    정상 수신된 패킷 정보를 이용하여 정상 상태에서 스파이크 상태로의 변화를 검출하고,
    스파이크 상태 검출 시 이전 정상 상태에서 네트워크 지터의 평균 및 분산을 임시 저장하고, 상기 스파이크 상태에서 정상 상태로 전환되는 경우 상기 임시 저장된 네트워크 지터의 평균과 분산을 사용하여 상기 정상 상태의 지터를 추정하며,
    상기 정상 상태 및 스파이크 상태에서 각각 추정된 네트워크 지터와 실제 네트워크 지터와의 오차를 계산하여 지터 분산의 가중치를 산출하는 것을 특징으로 하는 신호 처리 장치.
  7. 제1항에 있어서,
    상기 압축 및 출력부는,
    압축 수행 시, 스파이크 상태에서 정상 상태로 전환되는 경우와 정상 상태가 유지되는 상황으로 구분하여 압축을 수행하며,
    압축 수행 시, 비음성 구간 및 음성 구간으로 구분하고 음성 구간에서는 압축을 수행하지 않고 비음성 구간에 대해서만 압축을 수행하는 것을 특징으로 하는 신호 처리 방법.
  8. 제7항에 있어서,
    상기 압축 및 출력부는,
    압축 수행 시 스파이크 상태에서 정상 상태로 전환되는 경우, 출력음성프레임 버퍼와 지터 버퍼의 연속된 비음성구간을 검색하고, 연속된 비음성구간에 대해 압축을 수행하여 버퍼링 지연을 감소시키는 것을 특징으로 하는 신호 처리 장치.
  9. 제1항에 있어서,
    상기 손실 은닉부는,
    상기 단구간 손실 은닉에 해당하는 경우, 손실된 음성프레임 이후의 음성프레임이 존재하지 않는 경우 손실 이전 음성프레임만을 이용하여 손실된 음성 프레임을 복원하고, 손실된 음성프레임 이후의 음성프레임이 존재하면 손실 이전 음성프레임과 손실 이후 음성 프레임을 이용하여 손실된 음성 프레임을 복원하며,
    손실 이후 음성프레임의 존재 확인 과정에서 음성프레임버퍼에 손실 이후 음성프레임이 존재하지 않을 경우, 지터 버퍼에 손실 이후 음성프레임을 검색하고 디코딩하여 손실 복원에 사용하는 것을 특징으로 하는 신호 처리 장치.
  10. 제9항에 있어서,
    상기 손실 은닉부는,
    상기 단구간 손실 은닉시 사용된 손실 이전 프레임이 무성음인 경우 기설정된 임계값 이상의 기울기로 감소하는 무성음 감소 스케일 함수를 적용하고, 유성음인 경우 감소 스케일 함수를 적용하지 않는 것을 특징으로 하는 신호 처리 장치.
  11. 제9항에 있어서,
    상기 손실 은닉부는,
    상기 장구간 손실 은닉에 해당하는 경우,
    음성 구간을 유성음 및 무성음 구간을 구별하고, 각 구간에 대응되는 소거스케일링 함수를 적용하는 것을 특징으로 하는 신호 처리 장치.
  12. 제1항에 있어서,
    정상 수신된 음성 프레임에서 서브 프레임으로 추출하고, 상기 손실 은닉부에서 손실 은닉된 음성 프레임과 추출된 서브 프레임을 병합하여 병합된 음성 프레임을 생성하는 병합부;를 더 포함하는 것을 특징으로 하는 신호 처리 장치.
  13. 제1항에 있어서,
    상기 음성 패킷은,
    VoIP(Voice over Internet Protocol)에 따른 음성 통화 패킷인 것을 특징으로 하는 신호 처리 장치.
  14. 음성 패킷을 처리하는 신호 처리 방법에 있어서,
    수신된 음성 패킷에 대한 정보 및 네트워크 지터 분산의 가중치를 이용하여 네트워크 지터를 추정하는 단계;
    음성 패킷 손실이 있는 경우, 단구간 손실 은닉 및 장구간 손실 은닉으로 구분하여 상이한 방식으로 손실 은닉을 수행하여 손실 은닉 신호를 생성하는 단계;
    상기 추정된 네트워크 지터 및 상기 손실 은닉 신호에 기초하여 음성 프레임을 압축 또는 출력하는 단계;를 포함하는 신호 처리 방법.
  15. 제14항에 있어서,
    상기 수신된 음성 패킷을 디코딩하여 음성 프레임을 생성하는 디코딩 단계;를 더 포함하며,
    상기 손실 은닉 신호를 생성하는 단계는,
    상기 디코딩 단계와 별개로 수행되어, 디코더의 종류에 관계없이 손실 음성 패킷을 복원하는 것을 특징으로 하는 신호 처리 방법.
  16. 제14항에 있어서,
    상기 네트워크 지터를 추정하는 단계는,
    상기 수신된 음성 패킷의 헤더 정보 및 지터 분산의 가중치를 이용하여 네트워크 지터가 급격히 변화하는 스파이크 상태를 검출하며,
    상기 압축 또는 출력하는 단계는,
    상기 검출된 스파이크 상태를 이용하여 상기 수신된 음성 패킷을 압축 또는 출력하는 것을 특징으로 하는 신호 처리 방법.
  17. 제14항에 있어서,
    상기 지터 분산의 가중치는,
    이전에 추정된 네트워크 지터 및 현재 발생한 네트워크 지터의 차이를 최소화시키는 가중치인 것을 특징으로 하는 신호 처리 방법.
  18. 제14항에 있어서,
    상기 네트워크 지터를 추정하는 단계는,
    네트워크 상태를 스파이크 상태와 정상 상태로 구분하고, 각 네트워크의 상태에 따른 현재 네트워크 지터의 지터 평균과 지터 분산, 및 지터 분산의 가중치를 이용하여 지터 추정 에러를 최소화하는 것을 특징으로 하는 신호 처리 방법.
  19. 제18항에 있어서,
    상기 네트워크 지터를 추정하는 단계는,
    정상 수신된 패킷 정보를 이용하여 정상 상태에서 스파이크 상태로의 변화를 검출하는 단계;
    스파이크 상태 검출 시 이전 정상 상태에서 네트워크 지터의 평균 및 분산을 임시 저장하고, 상기 스파이크 상태에서 정상 상태로 전환되는 경우 상기 임시 저장된 네트워크 지터의 평균과 분산을 사용하여 상기 정상 상태의 지터를 추정하는 단계; 및
    상기 정상 상태 및 스파이크 상태에서 각각 추정된 네트워크 지터와 실제 네트워크 지터와의 오차를 계산하여 지터 분산의 가중치를 산출하는 단계;를 포함하는 것을 특징으로 하는 신호 처리 방법.
  20. 제13항에 있어서,
    상기 압축 또는 출력하는 단계는,
    압축 수행 시, 스파이크 상태에서 정상 상태로 전환되는 경우와 정상 상태가 유지되는 상황으로 구분하여 압축을 수행하며,
    압축 수행 시, 비음성 구간 및 음성 구간으로 구분하고 음성 구간에서는 압축을 수행하지 않고 비음성 구간에 대해서만 압축을 수행하는 것을 특징으로 하는 신호 처리 방법.
KR1020120134826A 2012-11-26 2012-11-26 신호 처리 장치 및 그 신호 처리 방법 KR20140067512A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020120134826A KR20140067512A (ko) 2012-11-26 2012-11-26 신호 처리 장치 및 그 신호 처리 방법
US14/085,149 US9461900B2 (en) 2012-11-26 2013-11-20 Signal processing apparatus and signal processing method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120134826A KR20140067512A (ko) 2012-11-26 2012-11-26 신호 처리 장치 및 그 신호 처리 방법

Publications (1)

Publication Number Publication Date
KR20140067512A true KR20140067512A (ko) 2014-06-05

Family

ID=50773215

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120134826A KR20140067512A (ko) 2012-11-26 2012-11-26 신호 처리 장치 및 그 신호 처리 방법

Country Status (2)

Country Link
US (1) US9461900B2 (ko)
KR (1) KR20140067512A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101693016B1 (ko) * 2016-07-26 2017-01-05 한국과학기술정보연구원 큐 관리 장치 및 방법

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105100508B (zh) * 2014-05-05 2018-03-09 华为技术有限公司 一种网络语音质量评估方法、装置和***
GB201614356D0 (en) 2016-08-23 2016-10-05 Microsoft Technology Licensing Llc Media buffering
US20180063011A1 (en) * 2016-08-24 2018-03-01 Microsoft Technology Licensing, Llc Media Buffering
US10728163B2 (en) * 2017-07-06 2020-07-28 Citrix Systems, Inc. Application and network aware adaptive compression for better QoE of latency sensitive applications
RU2747208C1 (ru) * 2017-11-17 2021-04-29 Гуандун Оппо Мобайл Телекоммьюникейшнс Корп., Лтд. Способ перехвата pdcch и терминальное устройство
KR20200101012A (ko) * 2019-02-19 2020-08-27 삼성전자주식회사 오디오 데이터 처리 방법 및 이를 위한 전자 장치
CN112217734B (zh) * 2019-07-10 2022-11-18 海能达通信股份有限公司 一种语音信息的同步方法和通信***
US11089183B1 (en) * 2019-08-20 2021-08-10 Amazon Technologies, Inc. Multiple device audio-video synchronization

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4748620A (en) * 1986-02-28 1988-05-31 American Telephone And Telegraph Company, At&T Bell Laboratories Time stamp and packet virtual sequence numbering for reconstructing information signals from packets
US5502713A (en) * 1993-12-07 1996-03-26 Telefonaktiebolaget Lm Ericsson Soft error concealment in a TDMA radio system
GB2312360B (en) * 1996-04-12 2001-01-24 Olympus Optical Co Voice signal coding apparatus
US6044341A (en) * 1997-07-16 2000-03-28 Olympus Optical Co., Ltd. Noise suppression apparatus and recording medium recording processing program for performing noise removal from voice
US6654432B1 (en) * 1998-06-08 2003-11-25 Wireless Facilities, Inc. Joint maximum likelihood frame and timing estimation for a digital receiver
US6744757B1 (en) * 1999-08-10 2004-06-01 Texas Instruments Incorporated Private branch exchange systems for packet communications
US7606164B2 (en) * 1999-12-14 2009-10-20 Texas Instruments Incorporated Process of increasing source rate on acceptable side of threshold
US6775649B1 (en) * 1999-09-01 2004-08-10 Texas Instruments Incorporated Concealment of frame erasures for speech transmission and storage system and method
US7106946B1 (en) * 1999-09-28 2006-09-12 Sony Corporation Transport stream processing device, and associated methodology of generating and aligning source data packets in a physical data structure
US7574351B2 (en) * 1999-12-14 2009-08-11 Texas Instruments Incorporated Arranging CELP information of one frame in a second packet
US20110214157A1 (en) * 2000-09-25 2011-09-01 Yevgeny Korsunsky Securing a network with data flow processing
US8023421B2 (en) * 2002-07-25 2011-09-20 Avaya Inc. Method and apparatus for the assessment and optimization of network traffic
US7720959B2 (en) * 2000-10-17 2010-05-18 Avaya Inc. Method and apparatus for characterizing the quality of a network path
US20040204935A1 (en) * 2001-02-21 2004-10-14 Krishnasamy Anandakumar Adaptive voice playout in VOP
ATE439666T1 (de) * 2001-02-27 2009-08-15 Texas Instruments Inc Verschleierungsverfahren bei verlust von sprachrahmen und dekoder dafer
WO2003017561A1 (en) * 2001-08-16 2003-02-27 Globespan Virata Incorporated Apparatus and method for concealing the loss of audio samples
US7289451B2 (en) * 2002-10-25 2007-10-30 Telefonaktiebolaget Lm Ericsson (Publ) Delay trading between communication links
US7302385B2 (en) * 2003-07-07 2007-11-27 Electronics And Telecommunications Research Institute Speech restoration system and method for concealing packet losses
US7596488B2 (en) * 2003-09-15 2009-09-29 Microsoft Corporation System and method for real-time jitter control and packet-loss concealment in an audio signal
US6988051B2 (en) * 2003-11-14 2006-01-17 The Boeing Company Window average statistics model for pointing stability jitter analysis
US7079986B2 (en) * 2003-12-31 2006-07-18 Sieracki Jeffrey M Greedy adaptive signature discrimination system and method
US7668712B2 (en) * 2004-03-31 2010-02-23 Microsoft Corporation Audio encoding and decoding with intra frames and adaptive forward error correction
JP4419748B2 (ja) * 2004-08-12 2010-02-24 沖電気工業株式会社 消失補償装置、消失補償方法、および消失補償プログラム
ES2405750T3 (es) * 2004-08-30 2013-06-03 Qualcomm Incorporated Procedimiento y aparato de memoria intermedia de supresión de fluctuación adaptativa
US7583707B2 (en) * 2005-03-25 2009-09-01 Cisco Technology, Inc. System, method and apparatus for controlling a network post-demultiplexing function
KR100789902B1 (ko) * 2005-12-09 2008-01-02 한국전자통신연구원 다중 프레임을 갖는 브이오아이피 패킷 처리 장치 및 그방법
JP4698418B2 (ja) * 2005-12-28 2011-06-08 株式会社エヌ・ティ・ティ・ドコモ 通信システム、通信装置、通信方法及びプログラム
US20070282601A1 (en) * 2006-06-02 2007-12-06 Texas Instruments Inc. Packet loss concealment for a conjugate structure algebraic code excited linear prediction decoder
JP4842075B2 (ja) * 2006-09-28 2011-12-21 京セラ株式会社 音声伝送装置
US7822849B2 (en) * 2006-11-16 2010-10-26 Path Solutions, Inc. Apparatus and method for measuring and using response to SNMP requests to provide real-time network parameter estimates in a network management zone
US8279884B1 (en) * 2006-11-21 2012-10-02 Pico Mobile Networks, Inc. Integrated adaptive jitter buffer
US8688437B2 (en) * 2006-12-26 2014-04-01 Huawei Technologies Co., Ltd. Packet loss concealment for speech coding
WO2008111158A1 (ja) * 2007-03-12 2008-09-18 Fujitsu Limited 音声波形補間装置および方法
US7853450B2 (en) * 2007-03-30 2010-12-14 Alcatel-Lucent Usa Inc. Digital voice enhancement
CN100550712C (zh) * 2007-11-05 2009-10-14 华为技术有限公司 一种信号处理方法和处理装置
US9191234B2 (en) * 2009-04-09 2015-11-17 Rpx Clearinghouse Llc Enhanced communication bridge
US8452606B2 (en) * 2009-09-29 2013-05-28 Skype Speech encoding using multiple bit rates
EP2506253A4 (en) * 2009-11-24 2014-01-01 Lg Electronics Inc METHOD AND DEVICE FOR PROCESSING AUDIO SIGNAL
WO2011076239A1 (en) * 2009-12-24 2011-06-30 Telecom Italia S.P.A. A method of scheduling transmission in a communication network, corresponding communication node and computer program product
US8321216B2 (en) * 2010-02-23 2012-11-27 Broadcom Corporation Time-warping of audio signals for packet loss concealment avoiding audible artifacts
EP3490322A1 (en) * 2010-06-04 2019-05-29 Board of Regents, The University of Texas System Wireless communication methods, systems, and computer program products
EP2538632B1 (en) * 2010-07-14 2014-04-02 Google Inc. Method and receiver for reliable detection of the status of an RTP packet stream
US9406307B2 (en) * 2012-08-19 2016-08-02 The Regents Of The University Of California Method and apparatus for polyphonic audio signal prediction in coding and networking systems

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101693016B1 (ko) * 2016-07-26 2017-01-05 한국과학기술정보연구원 큐 관리 장치 및 방법

Also Published As

Publication number Publication date
US20140146695A1 (en) 2014-05-29
US9461900B2 (en) 2016-10-04

Similar Documents

Publication Publication Date Title
KR20140067512A (ko) 신호 처리 장치 및 그 신호 처리 방법
US9990938B2 (en) Detector and method for voice activity detection
KR101953613B1 (ko) 지터 버퍼 제어부, 오디오 디코더, 방법 및 컴퓨터 프로그램
US7680655B2 (en) Method and apparatus for measuring the quality of speech transmissions that use speech compression
JP4560269B2 (ja) 無音検出
RU2768508C2 (ru) Способ и устройство для обнаружения голосовой активности
CN107534589B (zh) 去抖动缓冲器更新
JP5232151B2 (ja) パケットベースのエコー除去および抑制
KR101952192B1 (ko) 품질 제어를 이용하는 오디오 디코더, 방법 및 컴퓨터 프로그램
US8185384B2 (en) Signal pitch period estimation
WO2009039783A1 (fr) Procédé et dispositif de traitement pour caractère de temps de retard de réseau
EP3504861B1 (en) Audio transmission with compensation for speech detection period duration
US8996389B2 (en) Artifact reduction in time compression
WO1999040573A1 (fr) Procede de decodage d&#39;un signal audio avec correction des erreurs de transmission
CN108133712B (zh) 一种处理音频数据的方法和装置
US8886527B2 (en) Speech recognition system to evaluate speech signals, method thereof, and storage medium storing the program for speech recognition to evaluate speech signals
US10290303B2 (en) Audio compensation techniques for network outages
CN110444194B (zh) 一种语音检测方法和装置
JP5074749B2 (ja) 音声信号受信装置、それに使用される音声パケット消失補償方法、その方法を実施するプログラム、及びそのプログラムを記録した記録媒体
CN111105815B (zh) 一种基于语音活动检测的辅助检测方法、装置及存储介质
KR101261528B1 (ko) 복호화된 오디오 신호의 오류 은폐 방법 및 장치
JP2006279809A (ja) 音声再生装置および音声再生方法
KR102422794B1 (ko) 재생지연 조절 방법 및 장치와 시간축 변형방법 및 장치
JP2005107283A (ja) VoIP音声通信におけるパケット損失隠蔽方法、装置およびプログラム
Sun et al. Efficient three-stage pitch estimation for packet loss concealment.

Legal Events

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