KR20060134747A - 실시간 서비스의 디코딩 방법 - Google Patents

실시간 서비스의 디코딩 방법 Download PDF

Info

Publication number
KR20060134747A
KR20060134747A KR1020050054676A KR20050054676A KR20060134747A KR 20060134747 A KR20060134747 A KR 20060134747A KR 1020050054676 A KR1020050054676 A KR 1020050054676A KR 20050054676 A KR20050054676 A KR 20050054676A KR 20060134747 A KR20060134747 A KR 20060134747A
Authority
KR
South Korea
Prior art keywords
stream
error
frame
decoding
detected
Prior art date
Application number
KR1020050054676A
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 KR1020050054676A priority Critical patent/KR20060134747A/ko
Publication of KR20060134747A publication Critical patent/KR20060134747A/ko

Links

Images

Classifications

    • 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/4398Processing of audio elementary streams involving reformatting operations of audio signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은 실시간 서비스의 디코딩 방법에 관한 것으로, 종래에는 에러 검출 위치를 중심으로 이후 스트림에 대해서만 싱크를 찾고 싱크 검출된 프레임부터 디코딩하므로 2 프레임 이상 정상 디코딩 결과를 얻을 수 없고 프레임을 뛰어 넘으므로 재생 시간이 짧아지는 문제점이 있었다. 이러한 문제점을 감안한 본 발명은 단말기에서 스트림을 디코딩하고 싱크 위치를 업데이트하는 단계와; 상기 스트림에서 에러를 검출하면 상기 싱크 위치의 이전 스트림부터 싱크 위치를 찾아 검출된 싱크 위치부터 스트림을 디코딩하는 단계로 이루어져 에러 발생으로 인한 뛰어 넘는 프레임 수를 줄이고, 실제 재생 시간과 거의 동일한 시간동안 프레임을 재생하고, 정상 싱크 위치에서 프레임을 재생하는 효과가 있다.

Description

실시간 서비스의 디코딩 방법{DECODING METHOD FOR REAL TIME SERVICE}
도 1은 본 발명을 설명하기 위한 실시간 오디오 시스템의 구성을 보인 블록도.
도 2는 본 발명의 실시 예에 따른 실시간 서비스의 디코딩 방법을 보인 동작 흐름도.
도 3은 도 2의 디코딩 방법에 의한 프레임 싱크를 찾는 동작을 보인 예시도.
본 발명은 실시간 서비스의 디코딩 방법에 관한 것으로, 특히 스트림의 일부가 유실되어 디코딩 에러가 발생할 경우 뛰어넘는 프레임 수를 최소화하여 재생 시간의 변화를 최소화할 수 있게 한 실시간 서비스의 디코딩 방법에 관한 것이다.
종래 휴대폰은 VOD/AOD 파일을 다운로드하여 재생하는 것은 물론 컨텐츠 서버에 접속해서 실시간으로 데이터를 다운로드하여 스트리밍으로 동영상을 재생한다. 컨텐츠 사업자는 실시간 서비스에 알맞게 동영상 데이터를 프레임으로 구성된 스트림을 실시간으로 휴대폰에 전송하여 실시간 서비스를 제공한다. 또한, 디지털 방송은 고화질 비디오과 고품질 오디오를 실시간 전송하여 고품질의 멀티미디어 컨 텐츠를 제공하고 디지털 방송 서비스 중 하나인 DMB 서비스는 실시간으로 방송 기지국이나 위성에 의해 패킷 형태의 프레임을 전송하여 방송 프로그램을 제공한다.
휴대폰이나 디지털 방송 단말기는 무선 환경에서 스트림을 수신하므로 무선 환경의 특성상 에러 발생에 민감하지만 발생된 에러에 대응하여 에러를 복구하여 실시간으로 동영상이나 방송 프로그램을 제공해야 한다.
실시간 서비스에서 오디오 코덱 중 하나인 AAC(Advanced Audio Coding)는 파일 포맷으로 스트림 서비스용인 ADTS(Audio Data Transfer Streaming)를 제공한다. AAC의 디코딩은 ADTS 헤더를 가진 스트림을 각 프레임별로 디코딩할 때 에러가 발생하면 에러 검출 위치부터 다음 프레임의 싱크를 찾고 싱크 검출된 프레임부터 디코딩하여 에러에 대응한다.
그러나 프레임에서 패킷의 일부 또는 전체가 손실되는 경우 에러는 손실 현상이 발생된 프레임을 넘어서서 검출되는 일이 발생한다. 이때 종래 AAC의 디코딩은 에러 검출 위치를 중심으로 이후 스트림에 대해서만 싱크를 찾고 싱크 검출된 프레임부터 디코딩하므로 2 프레임 이상 정상 디코딩 결과를 얻을 수 없고 프레임을 뛰어 넘으므로 재생 시간이 짧아지는 문제점이 있다.
따라서 본 발명은 상기와 같은 문제점을 감안하여 창안한 것으로, 에러가 검출되면 이전 프레임의 싱크 위치로 돌아가서 프레임의 싱크를 찾아 프레임을 디코딩할 수 있도록 한 실시간 서비스의 디코딩 방법을 제공함에 그 목적이 있다.
상기와 같은 목적을 달성하기 위한 본 발명은, 단말기에서 스트림을 디코딩하고 싱크 위치를 업데이트하는 단계와; 상기 스트림에서 에러를 검출하면 상기 싱크 위치의 이전 스트림부터 싱크 위치를 찾아 검출된 싱크 위치부터 스트림을 디코딩하는 단계로 이루어진 것을 특징으로 한다.
이하, 본 발명에 따른 실시 예를 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다.
도 1은 본 발명을 설명하기 위한 실시간 오디오 시스템의 구성을 보인 블록도이다. 실시간 오디오 시스템은 AAC를 사용하여 오디오 스트림을 전송하고 수신된 오디오 스트림을 각 프레임 별로 디코딩하여 오디오를 재생한다.
오디오 서버(11)는 오디오 데이터를 인코딩하여 오디오 패킷을 작성하고 패킷의 크기를 고정된 데이터 크기로 정하고 패킷을 프레임으로 구성하고 일련의 프레임을 스트림으로 구성하여 오디오 단말기(12)로 전송한다. 오디오 단말기(12)는 오디오 스트림을 수신하고 헤더를 비롯한 일부 사이드 정보 값이 정의되지 않는 값으로 수신되거나 섹션 정보가 최대 스케일 팩터 값과 일치되지 않는 경우 에러 발생을 검출한다.
오디오 단말기(12)는 수신한 오디오 스트림을 프레임 단위로 디코딩하여 정상 디코딩인 경우 이후 오디오 스트림을 백업하고 싱크 위치를 가리키는 포인터를 설정한다. 오디오 단말기(12)는 에러를 검출한 경우 상기 싱크 위치를 참조하여 그 위치의 바로 뒤에서부터 프레임의 싱크를 찾아 프레임을 디코딩하고 정상 디코딩인 경우 이후 오디오 스트림을 백업하고 백업된 오디오 스트림의 싱크 위치를 계속 업 데이트한다.
도 2는 본 발명의 실시 예에 따른 실시간 서비스의 디코딩 방법을 보인 동작 흐름도로서, 이에 도시된 바와 같이 오디오 단말기에서 정상 디코딩한 이후의 오디오 스트림을 백업하고 싱크 위치를 업데이트하는 단계와; 에러를 검출하면 싱크 위치 바로 뒤부터 프레임의 싱크를 찾아 검출된 싱크 위치부터 프레임을 디코딩하는 단계로 이루어진다.
오디오 단말기는 오디오 스트림을 수신하고 프레임 단위로 디코딩하고 정상 디코딩인 경우 이후 오디오 스트림을 백업하고 백업된 오디오 스트림의 싱크 위치를 업데이트한다.
오디오 단말기는 헤더를 비롯한 일부 사이드 정보 값이 정의되지 않은 값으로 수신되거나 섹션 정보가 최대 스케일 팩터 값과 일치되지 않는 경우 에러 발생을 검출한다. 에러를 검출하면 오디오 단말기는 백업된 오디오 스트림의 싱크 위치 바로 뒤부터 프레임의 싱크를 찾아 검출된 싱크 위치부터 프레임을 디코딩하여 오디오 재생한다.
도 3은 도 2의 디코딩 방법에 의한 프레임 싱크를 찾는 동작을 보인 예시도이다.
무선 환경에서는 다양한 잡음 발생으로 인해 패킷 손실이 종종 발생한다. 패킷의 일부 또는 전체가 손실됨에 따라 단말기에서 패킷을 수신하여 실시간으로 디코딩할 때 각 해당 프레임에서는 에러가 발생한다. 만약, 패킷이 AAC의 프레임 단위로 묶여서 전송되는 경우는 에러가 발생하더라도 해당 패킷을 버리고 다시 다음 패킷을 획득하면 되므로 현재 프레임에서 발생하는 에러는 다음 프레임부터 디코딩을 다시 시작하는데 큰 영향을 주지 않는다. 그러나 패킷이 고정된 데이터 크기를 갖고 수신되는 경우이면 패킷이 AAC의 프레임 단위로 묶이는 것이 아니므로 이 경우 발생한 에러는 해당 프레임뿐 아니라 이후에 이어오는 프레임까지도 영향을 미치게 된다.
도 3의 a는 상기 예의 하나로 패킷의 일부가 수신되지 않은 경우이고, 그로 인해 프레임 N의 뒷부분이 손실된 형태로 AAC 디코더에 전달된다. 일반적으로 AAC 디코더는 헤더를 비롯한 일부 사이드 정보 값이 정의되지 않는 값으로 수신되거나 섹션 정보가 최대 스케일 팩터 값과 일치되지 않는 경우 등 일부 제한적인 경우에만 스트림 에러로 판단하므로 상기 경우가 발생하기 전까지는 디코딩을 계속 수행한다. 이로 인해 AAC 디코더는 에러 발생을 실제 에러가 발생한 프레임 N에서 검출하지 못하고 그 이후의 프레임 N+1에서 검출할 수 있다.
종래 AAC 디코더는 디코딩 도중 에러를 검출하면 에러 검출 위치부터 다음 프레임의 싱크를 찾고 새 프레임의 싱크 위치를 파악하면 그 싱크 위치부터 다시 디코딩을 수행한다. 그러나 실제 에러가 발생한 이후의 프레임에서 에러가 검출되면 AAC 디코더에서는 에러를 포함한 프레임은 물론 에러가 검출된 프레임도 뛰어넘는 문제가 발생한다.
따라서 본 발명의 실시 예에 따른 AAC 디코더는 에러 검출시 이전에 정상 디코딩된 프레임의 뒤에 바로 이어오는 싱크 위치 이후부터 프레임의 싱크를 찾기 시작한다. 이러한 동작으로 인해 비록 프레임 N+1에서 에러가 검출되었어도 프레임 N 의 싱크 위치 바로 뒤부터 프레임의 싱크를 찾기 시작하므로 AAC 디코더는 프레임 N+1의 싱크 위치를 찾을 수 있고, 여기서부터 다시 디코딩을 수행하여 종래 AAC 디코더에 비해 1 프레임 이상 더 정상적인 디코딩을 수행한다.
AAC 인코더에서 인코딩된 스트림이 전송될 때 에러를 예측 가능한 소정 비율로 추가하여 디코딩 테스트를 수행한 결과를 종래 AAC 디코더와 본 발명의 AAC 디코더의 결과를 표로 도시하면 다음과 같다.
스트림 분석 기준 본 발명 AAC 디코더 종래 AAC 디코더
전체 인지된 프레임 48677 48693 47342
에러 없이 디코딩된 프레임 45806 46061 44731
스트림 분석 대비 인지된 프레임(%) 100.00% 100.03% 97.26%
실험에서 스트림 중간 중간마다 소정 크기의 데이터를 의도적으로 유실시켜 전체 프레임 중 5.90%에 해당하는 프레임에서 에러를 가지도록 한다.
실제 에러가 발생하는 경우 프레임의 임의의 위치에서 에러가 발생하므로 에러 복원에 결정적으로 필요한 사이드 정보가 영향을 받는 경우가 다수 발생하여 스트림 분석을 통해 얻은 프레임 수와 디코더에 의해 복원된 프레임 수 사이에는 약간의 차이가 발생한다. 또한, 실제 스트림 상에서는 에러가 발생하였지만 AAC 디코더에서 에러로 체크되지 않고(AAC 스트림 에러는 일부 헤더 및 사이드 정보에 제한되어 체크되므로 이 부분의 비트 스트림이 우연하게 정상인 형태를 가지면 에러로 체크되지 않는다.) 정상으로 디코딩될 수 있으므로 에러 없이 디코딩된 프레임 수가 스트림 분석한 프레임 수보다 좀 더 많다.
본 발명의 AAC 디코딩은 에러로 인해 뛰어 넘는 프레임 수를 줄이므로 스트림 분석의 프레임 결과와 유사한 결과를 나타낸다. 스트림 분석 대비 인지된 프레임 비율은 실제 오디오 재생 시간과 연관된 값으로 실제 스트림의 프레임 수 대비 인지된 프레임 수를 나타낸다. 상기 값은 실시간으로 재생해야 하는 라이브 스트리밍이나 디지털 방송의 경우 실제 재생되어야 하는 시간과 동일한 재생시간을 갖는지를 판단하는 비교 기준이 된다.
종래 AAC 디코딩에서는 에러에 의해 뛰어넘는 프레임으로 인해 재생 시간이 짧아지고, 소정 시간 뒤에 재생되어야 할 데이터가 미리 당겨져서 재생되고, 재생 중간 중간 버퍼링 현상이 빈번하게 발생한다. 반면 본 발명 AAC 디코딩에서는 실제 재생 시간과 거의 동일한 시간을 가지므로 상기 종래 문제점의 발생을 감소시킨다.
이상에서 상세히 설명한 바와 같이, 본 발명은 에러가 검출되면 이전 프레임의 싱크 위치로 돌아가서 프레임의 싱크를 찾아 프레임을 디코딩함으로써 에러 발생으로 인한 뛰어 넘는 프레임 수를 줄이고, 실제 재생 시간과 거의 동일한 시간동안 프레임을 재생하고, 정상 싱크 위치에서 프레임을 재생하는 효과가 있다.

Claims (6)

  1. 단말기에서 스트림을 디코딩하고 싱크 위치를 업데이트하는 단계와;
    상기 스트림에서 에러를 검출하면 상기 싱크 위치의 이전 스트림부터 싱크 위치를 찾아 검출된 싱크 위치부터 스트림을 디코딩하는 단계로 이루어진 것을 특징으로 하는 실시간 서비스의 디코딩 방법.
  2. 제1항에 있어서, 상기 스트림은 AAC 오디오 코덱으로 인코딩되게 이루어진 것을 특징으로 하는 실시간 서비스의 디코딩 방법.
  3. 제1항에 있어서, 상기 스트림을 구성하는 패킷이 고정된 데이터 크기를 갖고 수신될 때 스트림에서 에러를 검출하게 이루어진 것을 특징으로 하는 실시간 서비스의 디코딩 방법.
  4. 제1항에 있어서, 상기 싱크 위치의 업데이트 단계는
    스트림의 디코딩이 정상이면 정상 디코딩한 이후의 스트림을 소정 프레임만큼 백업하는 단계와;
    백업 스트림의 시작점에 대한 싱크 위치를 업데이트하는 단계로 이루어진 것을 특징으로 하는 실시간 서비스의 디코딩 방법.
  5. 제4항에 있어서, 상기 싱크 위치의 검출은 백업 스트림의 시작점 바로 뒤부터 스트림의 싱크 위치를 검출하게 이루어진 것을 특징으로 하는 실시간 서비스의 디코딩 방법.
  6. 제5항에 있어서, 상기 스트림의 디코딩은 백업 스트림에서 검출된 싱크 위치부터 프레임을 디코딩하게 이루어진 것을 특징으로 하는 실시간 서비스의 디코딩 방법.
KR1020050054676A 2005-06-23 2005-06-23 실시간 서비스의 디코딩 방법 KR20060134747A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050054676A KR20060134747A (ko) 2005-06-23 2005-06-23 실시간 서비스의 디코딩 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050054676A KR20060134747A (ko) 2005-06-23 2005-06-23 실시간 서비스의 디코딩 방법

Publications (1)

Publication Number Publication Date
KR20060134747A true KR20060134747A (ko) 2006-12-28

Family

ID=37813079

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050054676A KR20060134747A (ko) 2005-06-23 2005-06-23 실시간 서비스의 디코딩 방법

Country Status (1)

Country Link
KR (1) KR20060134747A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112951209A (zh) * 2021-01-27 2021-06-11 科大讯飞股份有限公司 一种语音识别方法、装置、设备及计算机可读存储介质
US11843818B2 (en) 2021-08-05 2023-12-12 Samsung Electronics Co., Ltd. Electronic device and multimedia playback method thereof

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112951209A (zh) * 2021-01-27 2021-06-11 科大讯飞股份有限公司 一种语音识别方法、装置、设备及计算机可读存储介质
CN112951209B (zh) * 2021-01-27 2023-12-01 中国科学技术大学 一种语音识别方法、装置、设备及计算机可读存储介质
US11843818B2 (en) 2021-08-05 2023-12-12 Samsung Electronics Co., Ltd. Electronic device and multimedia playback method thereof

Similar Documents

Publication Publication Date Title
JP5296123B2 (ja) 帯域外ディレクトリ情報を使用するエラー耐性の改良
US6381282B1 (en) Video signal decoding arrangement and method for improved error concealment
JP4419023B2 (ja) 移動体通信端末、および、プログラム
CN101427579B (zh) 媒体流的时移表现
US20070067472A1 (en) Accurate and error resilient time stamping method and/or apparatus for the audio-video interleaved (AVI) format
US8081635B2 (en) Reconstruction of errored media streams in a communication system
KR102288815B1 (ko) Dash 표준 및 flute 프로토콜에 기초한 전송 시 패킷 손실을 처리하는 방법
JP2005229587A (ja) 多重化方式変換装置
CN1561633A (zh) 数字广播传输的可靠接收
JPH07322248A (ja) 動画像データの伝送方法および伝送装置
US8792734B2 (en) Apparatus and method for transmitting/receiving image data in mobile communication system
JP2005503738A (ja) ビデオ再生システム及び方法
US20040143675A1 (en) Resynchronizing drifted data streams with a minimum of noticeable artifacts
KR20060134747A (ko) 실시간 서비스의 디코딩 방법
US7894486B2 (en) Method for depacketization of multimedia packet data
US20110022399A1 (en) Auto Detection Method for Frame Header
US8068721B2 (en) Method of transmitting video data
KR100783267B1 (ko) Dmb 부가 서비스 제공 시스템 및 방법
JP2005020437A (ja) コンテンツ補正システムおよび受信機器
KR101073813B1 (ko) 비트스트림 오류 보완방법, 비트스트림 오류 보완전처리기, 및 그 전처리기를 포함하는 디코딩 장치
KR100670449B1 (ko) 오디오 스트림 탐색 방법
JP2001339368A (ja) 誤り補償回路及び誤り補償機能を備えた復号装置
JP2001309375A (ja) メディア分離方法と画像復号方法及び装置
JP4462833B2 (ja) 画像音声通信装置
KR100752846B1 (ko) 비디오 디코더의 에러 검출 장치 및 방법

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination