KR20020028200A - 오류 허용 모드를 위한 비디오 코딩 방법 및 그 장치 - Google Patents

오류 허용 모드를 위한 비디오 코딩 방법 및 그 장치 Download PDF

Info

Publication number
KR20020028200A
KR20020028200A KR1020020017412A KR20020017412A KR20020028200A KR 20020028200 A KR20020028200 A KR 20020028200A KR 1020020017412 A KR1020020017412 A KR 1020020017412A KR 20020017412 A KR20020017412 A KR 20020017412A KR 20020028200 A KR20020028200 A KR 20020028200A
Authority
KR
South Korea
Prior art keywords
data
coding
video
motion vector
header
Prior art date
Application number
KR1020020017412A
Other languages
English (en)
Other versions
KR100375345B1 (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
Priority claimed from KR1019980052333A external-priority patent/KR100359093B1/ko
Application filed by 윤종용, 삼성전자 주식회사, 린다 에스. 스티븐슨, 더 리전트 오브 더 유니버시티 오브 캘리포니아 filed Critical 윤종용
Priority to KR10-2002-0017412A priority Critical patent/KR100375345B1/ko
Publication of KR20020028200A publication Critical patent/KR20020028200A/ko
Application granted granted Critical
Publication of KR100375345B1 publication Critical patent/KR100375345B1/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • H04N19/69Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving reversible variable length codes [RVLC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

비디오 코딩 방법 및 코딩 장치가 개시된다. 본 비디오 코딩방법은 무선통신 채널과 같이 오류가 많이 발생하는 환경 하에서 오류에 보다 덜 민감한 통신이 가능하게 하기 위하여, 헤더데이터, 모션벡터데이터, 및 이산코사인변환(DCT) 데이터를 각각 포함하는 매크로블록들을 상기 헤더데이터가 그룹핑된 헤더데이터 영역(HDP: Header Data Part), 상기 모션벡터데이터가 그룹핑된 모션벡터데이터 영역(MVDP: Motion Vector Data Part), 및 상기 이산코사인변환데이터가 그룹핑된 이산코사인변환데이터 영역(DDP: DCT Data Part)으로 데이터 분할(Data Partitioning)한 다음, 분할된 영역들 중 소정의 우선 순위에 따라 선택된 영역들은 역가변장 코딩하고 나머지 영역들은 가변장 코딩한다.

Description

오류 허용 모드를 위한 비디오 코딩 방법 및 그 장치{Video coding method and apparatus thereof for error resilient mode}
본 발명은 비디오 코딩 방법 및 그 장치에 관한 것으로, 특히 오류 허용 모드를 위한 비디오 코딩방법 및 그 장치에 관한 것이다. 또한, 본 발명은 본원의 출원인에 의하여 출원된 "오류 허용 모드를 위한 비디오 코딩 방법(Video Codec Method in Error Resilient mode)"이라는 제목의 미국 특허 가출원 제60/067,013호를 기초로 한다. 오류 허용 모드란 전송된 비트스트림에 어느 정도 오류가 발생되었더라도 이를 복원할 수 있는 데이터 전송 모드를 의미한다. 이 때, 오류를 복원할 수 있는 정도가 크면 클수록 오류 허용도가 높다고 말할 수 있다.
비디오 코덱은 주로 채널 코딩보다는 소스 코딩에 관여하므로 일반적으로 오류가 발생할 가능성이 높은 채널을 통해 비트스트림을 전송할 때 오류에 대처하는 능력이 크지 않다. 왜냐하면 비디오 코덱에는 비트스트림에서 오류가 발생된 부분을 복원할 것인지 버려야 할 것인지를 결정하기 위한 판단 요소가 없기 때문이다. 즉, 오류가 발생한 경우 한 프레임의 일정 부분에만 비트 손실이 있는 것인지, 또는 프레임 전체에 오류가 있는 것인지 여부를 알아내기 어렵기 때문에 오류가 발생된 프레임 전체의 비트스트림을 버리고 다음 프레임에 대한 비트스트림의 시작점을 찾아야 하는 문제점이 있다. 이같은 문제점을 해결하기 위하여, 일 예로 종래 코방법에서는, 픽처시작코드(PSC: Picture Start Code)를 마련해두고, 픽처시작코드 뒤에서 오류가 수신된 경우에는 이하의 부분을 무시하고 다음 픽처시작코드(PSC)를 찾는 방법을 사용기도 한다. 또한, 블록군(GOB: Group Of Block)의 시작을 표시하는 블록군시작코드(GBSC: GOB Start Code)를 두고, 이 정보 뒤에서 오류가 수신된 경우에는 그 이하의 부분만 무시하고 다음 블록군을 찾음으로써 버려지는 부분을 줄이고 있다.
도 1에는 종래기술에 따른 오류 허용 모드를 위한 코딩 방법에 의해 생성된 비디오 데이터 패킷의 일 예를 나타내었다. 도 1에 도시한 바와 같이, 종래 오류 허용 모드를 위한 코딩 방법은 모션 데이터(motion data)와 텍스처 데이터(texture data)로 분리하여 코딩함을 알 수 있다. 보다 상세히, 모션 데이터는 코딩여부를 표시하는 매크로블록식별 영역(COD), 각 매크로블록의 색도 종류를 표시하는 매크로블록패턴색도 영역(MCBPC: MaCro Block Pattern Chrominance), 및 모션벡터 영역으로 이루어지고, 텍스처 데이터는 CBPY 영역(Coded Block Pattern luminance(Y)), DQUANT 영역(Data Quantization), DCT 영역(Discrete Cosine Transform)으로 이루어진다. 이러한 모션 데이터와 텍스처 데이터는 모션마커(MM: Motion Marker)로 분리된다. 여기서, 이산코사인변환데이터는 역가변장 코딩(Reversible Variable Length Coding: RVLC)된다. 또한 재동기 마커(RM: Resync Marker)를 삽입하는 과정에서 바이트 얼라인(Byte Alignment) 과정이 수행된다.
디코딩시, 비트스트림에서 재동기마커(RM)가 발견되면 다음 재동기 마커(RM)가 발견되기 이전까지의 구간은 하나의 패킷으로 간주된다. 한편, 모션벡터들로 이루어진 모션벡터데이터 영역(MVDP: Motion Vector Data Part)에는 이전 데이터를 기초로 예측된 모션벡터들만이 존재하기 때문에 모션벡터는 이전의 디코딩된 모션벡터가 있는 경우에만 사용이 가능하다. 따라서, 비트스트림 중에서 모션벡터데이터 영역(MVDP)에 오류가 발견되면 다음 패킷이 시작되는 재동기 마커(RM)를 발견할 때까지, 즉 해당 패킷 전체를 무시해야 하므로 정보의 손실이 많다는 문제점이 있다.
본 발명이 이루고자 하는 기술적 과제는 정보 손실이 적고 오류 허용도가 높은 비디오 코딩 방법을 제공하는 것이다.
본 발명이 이루고자 하는 다른 기술적 과제는 상기 비디오 코딩 방법을 실행하는 컴퓨터 독취가능 기록매체를 제공하는 것이다.
본 발명이 이루고자 하는 또 다른 기술적 과제는 상기 방법을 구현하는 비디오 코딩 장치를 제공하는 것이다.
도 1에는 종래기술의 비디오 코딩 장치에서 생성된 비디오 데이터 패킷의 일예를 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 비디오 코딩 방법의 주요 단계를 도시한 흐름도이다.
도 3은 본 발명의 실시예에 따른 비디오 코딩 장치를 도시한 블록도이다.
도 4는 본 발명의 실시예에 따른 비디오 코딩 방법에 의하여 생성된 비디오 데이터 패킷의 일예를 도시한 도면이다.
<도면의 주요 부분에 대한 부호의 설명>
20...분할단계,22...가변장 코딩 단계,
24...역가변장 코딩 단계,26...마커삽입단계.
상기 과제를 이루기 위하여 본 발명에 따른 비디오 코딩 방법은 헤더데이터, 모션벡터데이터, 및 이산코사인변환(DCT) 데이터를 각각 포함하는 매크로블록들을 상기 헤더데이터가 그룹핑된 헤더데이터 영역(HDP: Header Data Part), 상기 모션벡터데이터가 그룹핑된 모션벡터데이터 영역(MVDP: Motion Vector Data Part), 및 상기 이산코사인변환데이터가 그룹핑된 이산코사인변환데이터 영역(DDP: DCT Data Part)으로 데이터 분할(Data partitioning)하는 단계; 및 상기 분할된 영역들을 가변장 코딩하거나 역가변장 코딩하는 단계;를 포함하는 것을 특징으로 한다.
상기 다른 과제를 이루기 위해 본 발명에 따른 비디오 코딩 방법을 실행하는 컴퓨터 독취가능 기록매체는 헤더데이터, 모션벡터데이터, 및 이산코사인변환(DCT) 데이터를 각각 포함하는 매크로블록들을 상기 헤더데이터가 그룹핑된 헤더데이터 영역(HDP: Header Data Part), 상기 모션벡터데이터가 그룹핑된 모션벡터데이터 영역(MVDP: Motion Vector Data Part), 및 상기 이산코사인변환 데이터가 그룹핑된이산코사인변환데이터 영역(DDP: DCT Data Part)으로 데이터 분할(Data partitioning)하는 프로그램 코드; 및 상기 분할된 영역들 중 소정의 우선 순위에 따라 선택된 영역들은 역가변장 코딩하고 나머지 영역들은 가변장 코딩하는 프로그램 코드;를 저장하는 것을 특징으로 한다.
상기 또 다른 과제를 이루기 위해 본 발명에 따른 비디오 코딩 장치는 헤더데이터, 모션벡터데이터, 및 이산코사인변환(DCT) 데이터를 각각 포함하는 매크로블록들을 상기 헤더데이터가 그룹핑된 헤더데이터 영역(HDP: Header Data Part), 상기 모션벡터데이터가 그룹핑된 모션벡터데이터 영역(MVDP: Motion Vector Data Part), 및 상기 이산코사인변환데이터가 그룹핑된 이산코사인변환데이터 영역(DDP: DCT Data Part)으로 데이터 분할(Data partitioning)하는 수단; 및 상기 분할된 영역들을 가변장 코딩하거나 역가변장 코딩하는 수단;을 포함하는 것을 특징으로 한다.
이하 첨부된 도면들을 참조하여 본 발명에 따른 바람직한 실시예들을 상세히 기술하기로 한다.
도 2에는 본 발명의 실시예에 따른 비디오 코딩 방법의 주요단계를 나타내었다. 도 2를 참조하면, 본 발명에 따른 비디오 코딩 방법은 분할단계(20), 가변장 코딩 단계(22), 선택된 영역들에 대한 역가변장 코딩 단계(24), 및 마커 삽입 단계(26)를 포함하여 이루어진다.
분할단계(20)에서는 복수의 매크로블록에 대한 데이터 분할(Data Partitioning)이 수행된다. 데이터 분할은 매크로블록을 구성하는 데이터를 새로운 조합으로 재배열하는 것을 의미한다. 보다 구체적으로, 본 실시예에서는 각 매크로블록에 포함된 헤더데이터를 그룹핑하여 헤더데이터 영역(HDP: Header Data Part)을 구성하며, 각 매크로블록에 포함된 모션벡터데이터 및 이산코사인변환데이터를 각각 그룹핑하여 모션벡터데이터 영역(MVDP: Motion Vector Data Part), 및 이산코사인변환데이터 영역(DDP: DCT Data Part)을 구성한다.
헤더데이터는 현재 매크로블록의 코딩된 상태에 관한 정보를 포함한다. 즉, 헤더데이터는 현재 매크로블록이 현재 프레임의 내용을 그대로 코딩한 인트라(intra) 매크로블록인지, 이전 프레임과의 차(difference)를 코딩한 인터(inter) 매크로블록인지를 알려주므로 이에 오류가 발생되면 매우 심각한 정보 손실이 일어난다. 이처럼 헤더데이터는 그 중요도가 높기 때문에 복원시 우선적으로 복원하여야 한다. 따라서, 예를 들어 헤더데이터 중에서 코딩여부의 상태를 표시하는 매크로블록식별(COD)과 매크로블록 패턴색도(MCBPC)는 하나의 새로운 신택스(COD+MCBPC)로 결합하여 분할하는 것이 바람직하다. 이와 같이 결합하여 분할하는 것이 바람직한 이유는 다음과 같다. 현재의 H.263 표준에서는 헤더 데이터로서 COD에는 1 비트가 할당되고 MCBPC는 가변장 코딩된다. COD에는 1 비트가 할당되어 0과 1이 모두 존재할 수 있기 때문에 오류가 발생하였는지 여부를 식별하기가 어렵다. 또한, 가변장 코드를 사용하는 MCBPC에 오류가 발생한 경우, 그 오류가 발생된 비트열이 역가변장 코드 테이블보다는 가변장 코드 테이블에 존재할 가능성이 높기 때문에 오류 검출에 어려움이 있다. 따라서, 본 발명에 따른 비디오 코딩 방법의 일실시예에 따르면, 분할시에 COD와 MCBPC를 결합하고, 결합된 영역을 역가변장 코딩함으로써 오류가 발생되었는지 여부를 용이하게 식별할 수 있게 된다. 예를 들어 역가변장 코드워드 0110의 경우 0101 또는 1001과 같은 오류가 발생하더러도 오류로써 식별될 수 있기 때문에, 오류를 포함한 정보를 사용할 가능성을 줄여줄 수 있다. 더욱이, 역가변장 코딩으로 코딩되었기 때문에 역방향의 복원(recovery)도 가능하다. 하지만, 필요에 따라, 헤더데이터 영역(HDP)은 각 부분을 결합하여 코딩하는 방법을 사용하지 않고 각 부분을 각각 코딩하는 방법을 통해 구성될 수도 있다.
또한, 이러한 분할단계(20)는 매크로블록 단위로 수행되므로 각 비디오 데이터 패킷에 포함되는 첫 번째 매크로블록의 번호를 표시하는 최초매크로블록어드레스(MBA: first Macro Block Address)를 삽입하여 디코딩시에 참조할 수 있도록 한다. 또한, 이 분할단계(20)에서는 모션벡터데이터 영역(MVDP) 다음에 최종모션벡터값(LMVV: Last Motion Vector Value)을 삽입한다. 여기서 최종모션벡터값이란 이전의 모션벡터값에 기초하여 예측된 값이 아닌, 절대 모션벡터 정보를 의미한다. 나아가, 분할단계(20)에서는 각 비디오 데이터 패킷의 일련번호를 표시하는 패킷번호(PN: Packet Number)을 패킷 헤더정보로써 삽입한다.
가변장 코딩 단계(22)에서는 헤더데이터 영역(HDP), 모션벡터데이터 영역(MVDP), 및 이산코사인변환데이터 영역(DDP) 중 적어도 일부에 대하여 가변장 코딩이 수행된다. 이때, 패킷번호(PN) 및 최종모션벡터값(LMVV)도 가변장 코딩된다.
역가변장 코딩단계(24)에서는 복원에 필요한 소정의 우선순위에 따라 선택되어진 영역들에 대하여 역가변장 코딩을 수행한다. 즉, 디코딩시 손실되면 전체 비디오 데이터 패킷이나 매크로블록이 손실될 수 있는 중요한 정보에 대하여 역가변장 코딩을 수행하는 것이다. 우선 순위가 필요한 이유를 상세하게 설명하면 다음과 같다. 상술한 바와 같이 헤더데이터는 현재 매크로블록이 현재 프레임의 내용을 그대로 코딩한 인트라 매크로블록인지, 이전 프레임의 차를 코딩한 인터 매크로블록인지를 나타낸다. 인터 매크로블록의 헤더데이터에 오류가 발생하면 모션벡터데이터, 이산코사인변환데이터를 사용할 수 없고 모션벡터데이터에 오류가 발생하면 이산코사인변환데이터를 사용할 수 없다. 더욱이, 대부분의 매크로블록은 압축효율을 높이기 위하여 인터 매크로블록으로 구성된다. 따라서, 헤더데이터, 모션벡터데이터, 이산코사인변환데이터의 순서로 중요도가 높다. 이처럼 매크로블록 내에는 중요도에 따른 우선순위가 존재하므로 오류 또한 우선순위에 따라 복원되는 것이 바람직하다. 모든 데이터를 역가변장 코딩하지 않고 우선순위를 두어 선택적으로 역가변장 코딩하는 이유는 역가변장 코딩을 수행하면 가변장 코딩을 수행한 경우보다 비트수가 증가되므로 한정된 채널용량을 고려한 것이다. 도 2에 도시하지는 않았으나, 본 발명에 따른 비디오 코딩 방법은 채널의 전송용량, 오류 상황, 혼잡도와 같은 채널의 특성에 관한 정보를 백채널(back channel) 등을 통하여 수신함으로써 채널의 특성을 알아낸 다음, 채널 특성이 허용하는 경우에는 예를 들어 이산코사인변환데이터 영역(DDP: DCT Data Part)과 같이 우선순위가 낮은 영역까지 역가변장 코딩(RVLC)하고 채널 특성이 허용하지 않는 경우에는 우선순위가 낮은 영역의 순서로 가변장 코딩(VLC)한다. 이 때, 역가변장 코딩된 영역과 가변장 코딩된 영역을 안내하는 정보를 패킷 헤더정보로서 삽입할 수 있다. 이처럼, 본 실시예에 따르면 채널 특성에 맞게 오류 허용도를 최대한 증가시킬 수 있다. 대안적으로, 채널 특성이 허용하는 경우에는 예를 들어 이산코사인변환데이터 영역(DDP: DCT Data Part)과 같이 우선순위가 낮은 영역에는 부가정보를 삽입함으로써 디코딩시에 참조할 수 있도록 한다. 이하에서 이러한 부가정보의 사용에 대하여 예를 들어 설명한다. 첫째, 헤더데이터 영역의 정보를 한번 더 전송하는 것이 가능하다. 이는 중요도가 높은 헤더데이터 영역에서 오류가 발생하고 모션벡터데이터 영역과 이산코사인변환데이터 영역에서는 오류가 발생하지 않을 수 있는 경우를 위한 것이다. 이와 같이 헤더데이터 영역을 이산코사인변환데이터 영역의 바로 뒤에 위치시킴으로써 해당 비디오 데이터 패킷을 버리지 않고 복원할 수 있다. 둘째, 이산코사인변환데이터 영역 내에 CRC를 부가정보로 전송하는 것이 가능하다. 예를 들어, 이산코사인변환데이터는 DC 값에 8 비트의 고정장 코드(FLC)를 AC 값에 가변장 코드(VLC)를 사용한다. 8 비트의 고정장 코드는 오류를 검출하기가 상대적으로 어렵다. 오류의 검출을 돕기 위하여 이 8 비트의 고정장 코드에 CRC를 부가함으로써 복원성을 향상시킬 수 있다. 또한, 상기 8 비트의 고정장 코드와 함께, 고정장 코드를 사용하는 다른 정보, 예를 들어 양자화값을 표시하는 양자화 패리티(QP)를 CRC를 만드는데 사용할 수도 있다. 이와 같은 방법에 의하여 이산코사인변환데이터 영역에서 고정장 코드의 비트에 CRC를 부가하여 디코딩시 오류 복구성을 향상시킬 수 있다. 결국, 상술한 두 경우의 부가정보는 해당 비디오 데이터 패킷 내에서 오류가 발생한 부분을 복원할 수 있도록 하거나, 오류 검출이 어려운 부분에서 보다 용이하게 오류를 검출할 수 있도록 돕기 위한 것이다. 또한, 본 발명의 실시예에 따른 비디오 코딩 방법에서는 역가변장 코딩시, 채널 특성에 따라 서로 다른 역가변장 코딩 테이블을 사용함으로써 오류검출을 보다 효과적으로 수행한다.
마커 삽입 단계(26)에서는 각 비디오 데이터 패킷을 구분하기 위한 재동기마커(RM: Resync Marker), 헤더데이터 영역과 모션벡터데이터 영역을 구분하기 위한 헤더마커(HM: Header Marker)를 삽입한다. 또한, 모션벡터데이터 영역(MVDP)과 이산코사인변환데이터 영역(DDP)을 구분하기 위한 모션마커(MM: Motion Marker)를 삽입한다. 헤더마커(HM)는 헤더데이터 영역(HDP)의 코딩에는 사용되지 않는 코드워드를 사용하여 이루어짐으로써 디코딩시 식별이 용이하도록 한다.
도 3에는 상기 방법을 구현하기 위한 본 발명의 실시예에 따른 비디오 코딩 장치를 도시하였다. 도 3을 참조하면 본 발명에 따른 비디오 코딩 장치는 분할수단(30), 가변장코딩수단(32), 및 상기 가변장 코딩될 영역들 중에서 복원에 필요한 소정의 우선 순위에 따라 선택되어진 영역들을 역가변장 코딩하는 역가변장코딩수단(34)을 구비한다. 또한, 비디오 코딩 장치는 채널의 용량, 오류 상황, 혼잡도와 같은 채널의 특성에 관한 정보를 예를 들어 백채널(미도시)등을 통하여 수신함으로써 채널의 특성을 식별하는 채널식별수단(36)과, 가변장 코딩 또는 역가변장 코딩된 비트영역들에 마커를 삽입하는 마커삽입수단(38)을 구비한다.
분할수단(30)은 비디오 데이터를 입력받아 도 2를 참조하여 기술한 바와 같이 헤더데이터 영역(HDP), 모션벡터데이터 영역(MVDP), 및 이산코사인변환(DCT)데이터 영역(DDP)으로 데이터 분할(data partitioning)을 수행한다. 또한,분할수단(30)은 헤더데이터 영역(HDP)에 있어서 예를 들어 매크로블록식별(COD)과 매크로블록패턴색도(MCBPC)와 같이 복원에 있어 중요도가 높은 소정의 복수의 부분들을 결합하여 하나의 새로운 신택스(COD+MCBPC)로 구성할 수 있다.
가변장코딩수단(32)은 분할된 영역들을 가변장 코딩하고, 역가변장코딩수단(34)에서는 일 예로 디코딩시 손실되면 전체 비디오 데이터 패킷이나 매크로블록이 손실될 수 있는 가능성이 있는 부분과 같이 복원에 필요한 소정의 우선순위에 따라 선택되어진 영역들에 대하여 가변장 코딩에 비해 오류 복구성이 양호한 역가변장 코딩을 수행한다. 하지만, 역가변장 코딩을 수행하면 가변장 코딩을 수행한 경우보다 비트수가 증가되므로 한정된 채널용량을 고려하여 우선순위를 두어 선택된 비트영역들에 대하여만 상기 역가변장 코딩을 수행하는 것이 바람직하다.
이를 위하여 채널특성 식별수단(36)은 채널 특성이 허용한다고 결정된 경우에는 이산코사인변환데이터 영역(DDP: DCT Data Part)과 같이 우선순위가 낮은 영역까지 역가변장 코딩(RVLC)하고 채널 특성이 허용하지 않는다고 결정된 경우에는 우선순위가 낮은 영역은 가변장 코딩(VLC) 하도록 가변장 코딩수단(32)과 역가변장 코딩수단(34)을 제어한다. 대안적으로, 부가정보를 삽입하는 수단(미도시)을 더 구비하여 채널특성 식별 수단(36)에서 채널 특성이 허용하는 것으로 결정된 경우에 이산코사인변환데이터 영역(DDP: DCT Data Part)과 같이 우선순위가 낮은 영역에 부가정보를 삽입하는 것도 가능하다. 또한, 역가변장 코딩수단(34)은 상기 채널특성 식별 수단(36)에서 채널 특성이 허용한다고 결정한 경우에는 도 2를 참조하여기술한 효과를 이루기 위하여 각각 다른 코딩 테이블을 사용하여 역가변장 코딩을 수행하는 것이 바람직하다.
또한, 본 발명에 따른 비디오 코딩 장치는 도 2를 참조하여 기술한 바와 같은 효과를 이루기 위하여 각 비디오 데이터 패킷에서 첫 번째 매크로블록의 번호를 표시하는 최초매크로블록어드레스(MBA: first Macro Block Address)를 삽입하는 수단(미도시)을 더 포함하고, 역가변장 코딩수단(34)은 최종모션벡터값(LMVV)을 역가변장 코딩하는 것이 바람직하다. 또한, 상기 비디오 코장치는 재동기마커(RM) 다음에 패킷의 일련번호를 표시하는 패킷번호(PN: Packet Number)를 패킷 헤더정보로써 삽입하는 수단(미도시)과, 모션벡터데이터 영역(MVDP) 다음에 절대 모션벡터 정보를 포함하는 최종모션벡터값(LMVV)를 삽입하는 수단(미도시)을 더 포함하는 것이 바람직하다.
한편, 마커 삽입 수단(38)은 각 비디오 데이터 패킷을 구분하기 위한 재동기마커(RM: Resync Marker)와, 헤더데이터 영역(HDP)과 모션벡터데이터 영역(MVDP)을 구분하는 정보 비트로써 헤더데이터 영역의 코딩에는 사용되지 않는 코드워드를 사용하여 이루어진 헤더마커(HM: Header Marker), 및 모션벡터데이터 영역(MVDP)과 이산코사인변환데이터 영역(DDP)을 구분하기 위한 모션마커(MM: Motion Marker)를 삽입한다. 이 때, 헤더마커(HM)는 헤더데이터 영역(HDP)의 코딩에는 사용되지 않는 코드워드를 사용함으로써 디코딩시에 용이하게 식별되도록 하는 것이 바람직하다.
도 4에는 상기 방법에 의하여 생성된 비디오 데이터 패킷의 일 예를 나타내었다. 도 4를 참조하면, 상기 방법에 의하여 생성된 비디오 데이터 패킷은 재동기마커(RM: Resync Marker), 패킷번호(PN: Packet Number), 및 최초매크로블록어드레스(MBA: first Macro Block Address)를 포함한다. 또한 상기 비디오 데이터 패킷은 헤더데이터 영역(HDP: Header Data Part), 헤더마커(HM: Header Marker), 및 모션벡터데이터 영역(MVDP: Motion Vector Data Part)을 포함한다. 또한, 비디오 데이터 패킷은 최종모션벡터값(LMVV: Last Motion Vector Value), 모션마커(MM: Motion Marker), 및 이산코사인변환데이터 영역(DDP: DCT Data Part)을 포함한다. 이와 같이 이루어진 비디오 데이터 패킷에서 재동기마커(RM)는 비디오 데이터 패킷의 시작을 표시한다. 따라서, 디코딩시 종래기술 부분에서 기술한 것과 동일하게 비디오 데이터 패킷의 시작점을 찾을 수 있다. 패킷번호(PN)는 패킷 헤더정보로서 각 비디오 데이터 패킷의 일련번호를 표시한다. 최초매크로블록어드레스(MBA)는 각 비디오 데이터 패킷에서 첫 번째 매크로블록의 번호를 표시한다. 본 실시예에서 헤더데이터 영역(HDP: Header Data Part)은 매크로블록식별(COD)과 매크로블록패턴색도(MCBPC)가 결합되어 하나의 새로운 신택스(COD+MCBPC)를 형성하며, COD+MCBPC는 역가변장 코딩(RVLC)된다. 헤더마커(HM)는 헤더데이터 영역과 모션벡터데이터 영역을 구분하는 부분으로써 헤더데이터 영역(HDP)의 COD+MCBPC 코딩에는 사용되지 않는 코드워드(codeword)를 사용하여 이루어 진다. 모션벡터데이터 영역(MVDP)은 모션벡터 예측에 의하여 발생된 정보를 역가변장 코딩한 모션벡터데이터 부분이다. 이산코사인변환데이터 영역(DDP)은 이산코사인변환(DCT)과 관련된 정보를 포함하는 부분으로 CBPY, DQUANT, 및 DCT 계수가 코딩되어 있다. 또한,이산코사인변환데이터 영역(DDP)에는 해당 비디오 데이터 패킷에서 사용되었던 정보 중에서 수신 후 복호화할 때 오류 확인 및 복원에 필요한 정보들을 삽입하는 것이 바람직하다. 이러한 정보들의 삽입은 역시 채널의 특성에 의존하여 선택적으로 적용할 수 있다. 모션마커(MM: Motion Marker)는 모션벡터데이터 영역(MVDP)과 이산코사인변환데이터 영역(DDP)을 구분하기 위한 것이다.
상기와 같이 인코딩된 비디오 데이터 패킷이 디코딩되는 과정을 이하에서 설명하기로 한다. 먼저, 수신된 비트스트림에서 재동기마커(RM)를 발견하면 종래 기술부에서 설명한 바와 같이 다음의 재동기마커(RM)가 발견되기까지는 하나의 패킷으로 간주된다. 만일, 헤더데이터 영역(HDP)에서 오류가 발생한 경우, 헤더데이터 영역(HDP)은 역가변장 코딩되어 있기 때문에 순방향의 디코딩 뿐만 아니라 역방향의 디코딩도 가능하다. 예를 들어, 다음 패킷의 패킷번호(PN)와 최초매크로블록어드레스(MBA)를 사용하여 헤더데이터 영역(HDP)을 복원할 수도 있다. 즉, 다음 패킷의 최초매크로블록어드레스(MBA)에서 1을 뺀 값이 현재 패킷의 매크로블록어드레스이므로 역방향 디코딩을 사용하여 헤더데이터 영역(HDP) 중 오류가 발생되었던 부분까지 복원할 수 있게 된다. 또한, 모션벡터데이터 영역(MVDP)을 모션마커(MM)를 발견하기 전까지 디코딩한다. 이에 의해 모션벡터 예측에 의한 모션벡터가 디코딩된다. 이와 같은 디코딩 과정에서 오류가 발생하면, 모션벡터데이터 영역(MVDP) 또한 역가변장 코딩이 되어있기 때문에 역방향의 디코딩이 가능하게 된다. 종래 코딩 방법에 의하여 인코딩된 비디오 데이터 패킷을 디코딩하는 과정과 비교하여 설명하면, 종래에는 모션벡터데이터 영역(MVDP)에 모션예측에 의한 모션벡터데이터만이 존재하기 때문에 모션벡터데이터는 이전에 디코딩된 모션벡터데이터가 있는 경우에만 사용이 가능하다. 하지만, 본 발명에 의한 코방법에 따르면 모션벡터데이터 영역에 이어서 예측하지 않은 절대 모션벡터를 역가변장 코딩하여 전송하였기 때문에 최종모션벡터값(LMVV)를 이용하여 역방향으로 디코딩하는 경우에 이전의 모션벡터에 대하여 독립적으로 디코딩이 가능하게 된다. 또한, 이산코사인변환데이터 영역(DDP)은 오류가 발생되었을 때 가변장 코딩된 경우에는 상기 비디오 데이터 패킷을 무시할 수밖에 없지만 역가변장 코딩된 경우에는 역방향의 디코딩을 수행할 수 있으므로 비디오 데이터 패킷 전체를 버리지 않아도 된다. 즉, 오류 허용도가 더 높아지는 효과를 얻을 수 있다. 또한, 이산코사인변환데이터 영역에 복원에 필요한 부가 정보들이 인코딩되어 부가된 경우에는 이를 사용하여 디코딩에 사용할 수 있다.
상술한 바와 같이, 본 발명에 따른 코딩 방법은 오류 허용도를 더 높일 수 있기 때문에 무선통신 채널과 같이 오류가 많이 발생하는 환경 하에서 오류에 보다 덜 민감한 통신이 가능하다.
이상에서 본 발명에 따른 코딩 방법은 MPEG-4 비주얼(Visual)과 H.263을 일 예로 하여 재동기마커(RM), 패킷번호(PN), 최초매크로블록인덱스(FMBI), 헤더데이터 영역(HDP), 헤더마커(HM), 모션벡터데이터 영역(MVDP), 모션마커(MM), 및 이산코사인변환데이터 영역(DDP)와 같이 영역들에 대한 용어를 정의하여 기술하였으나, 당업자에 의하여 용이하게 이해될 수 있는 등가적인 다른 영역들로 구성되는 모든 비디오 코딩에 적용할 수 있다.
상술한 바와 같이 본 발명에 따르면 오류 허용도를 더 높일 수 있기 때문에 무선통신 채널과 같이 오류가 많이 발생하는 환경 하에서 오류에 보다 덜 민감한 통신이 가능하다.

Claims (3)

  1. 비디오 데이터를 코딩하여 데이터 패킷을 생성하는 비디오 코딩 방법에 있어서,
    상기 비디오 데이터를 코딩하는 단계를 포함하며,
    상기 비디오 데이터의 코딩은 역가변장 코딩 및 가변장 코딩 중 어느 하나에 의해 수행되며, 상기 수행된 비디오 데이터 코딩의 종류를 표시하는 정보를 포함하는 것을 특징으로 하는 비디오 코딩 방법.
  2. 비디오 데이터를 코딩하여 비디오 데이터 패킷을 생성하는 비디오 코딩 방법을 실행하는 컴퓨터 독취가능 기록매체에 있어서,
    상기 비디오 데이터를 구성하는 매크로블록 데이터를 재배열하여 데이터 분할(Data partitioning)하는 프로그램 코드; 및
    상기 분할된 영역들을 가변장 코딩하거나 역가변장 코딩하는 프로그램 코드를 포함하는 것을 특징으로 하는 컴퓨터 독취가능 기록매체.
  3. 제2항에 있어서,
    상기 데이터 분할하는 프로그램 코드는 상기 매크로블록들에 포함된 이산코사인변환(DCT) 데이터를 그룹핑하여 이산코사인변환데이터 영역을 생성하는 프로그램 코드를 포함하는 것을 특징으로 하는 컴퓨터 독취가능 기록매체.
KR10-2002-0017412A 1998-12-01 2002-03-29 오류 허용 모드를 위한 비디오 코딩 방법 및 그 장치 KR100375345B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0017412A KR100375345B1 (ko) 1998-12-01 2002-03-29 오류 허용 모드를 위한 비디오 코딩 방법 및 그 장치

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1019980052333A KR100359093B1 (ko) 1997-12-01 1998-12-01 오류허용모드비디오코덱방법및그장치
KR10-2002-0017412A KR100375345B1 (ko) 1998-12-01 2002-03-29 오류 허용 모드를 위한 비디오 코딩 방법 및 그 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1019980052333A Division KR100359093B1 (ko) 1997-12-01 1998-12-01 오류허용모드비디오코덱방법및그장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020020052483A Division KR100644604B1 (ko) 2002-09-02 2002-09-02 오류 허용 모드를 위한 비디오 코딩 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20020028200A true KR20020028200A (ko) 2002-04-16
KR100375345B1 KR100375345B1 (ko) 2003-03-10

Family

ID=19720115

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0017412A KR100375345B1 (ko) 1998-12-01 2002-03-29 오류 허용 모드를 위한 비디오 코딩 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR100375345B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7474697B2 (en) 2003-03-06 2009-01-06 Lg Electronics Inc. Apparatus and method for partitioning moving picture data
GB2505169A (en) * 2012-08-13 2014-02-26 Gurulogic Microsystems Oy Decoding data based on header information
US10412414B2 (en) 2012-08-13 2019-09-10 Gurulogic Microsystems Oy Decoder and method for decoding encoded input data containing a plurality of blocks or packets

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3474005B2 (ja) * 1994-10-13 2003-12-08 沖電気工業株式会社 動画像符号化方法及び動画像復号方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7474697B2 (en) 2003-03-06 2009-01-06 Lg Electronics Inc. Apparatus and method for partitioning moving picture data
GB2505169A (en) * 2012-08-13 2014-02-26 Gurulogic Microsystems Oy Decoding data based on header information
GB2505169B (en) * 2012-08-13 2016-03-16 Gurulogic Microsystems Oy decoder and method
US9538239B2 (en) 2012-08-13 2017-01-03 Gurulogic Microsystems Oy Decoder and method for decoding encoded input data containing a plurality of blocks or packets
US10412414B2 (en) 2012-08-13 2019-09-10 Gurulogic Microsystems Oy Decoder and method for decoding encoded input data containing a plurality of blocks or packets

Also Published As

Publication number Publication date
KR100375345B1 (ko) 2003-03-10

Similar Documents

Publication Publication Date Title
KR100359093B1 (ko) 오류허용모드비디오코덱방법및그장치
US6768775B1 (en) Video CODEC method in error resilient mode and apparatus therefor
KR100257988B1 (ko) 매크로블록-기준영상코덱의에러제어방법및은폐용디바이스
JP3474005B2 (ja) 動画像符号化方法及び動画像復号方法
CN101175213B (zh) 视频源编码的方法和设备以及视频源解码的方法和设备
Redmill et al. The EREC: An error-resilient technique for coding variable-length blocks of data
JP5007012B2 (ja) ビデオ符号化方法
JP3884172B2 (ja) 可変長復号化装置および復号化方法
WO2005125212A1 (en) Method for video encoding and decoding process
KR100909328B1 (ko) 비-부호화 매크로블록의 런-렝스 부호화 방법
KR100375345B1 (ko) 오류 허용 모드를 위한 비디오 코딩 방법 및 그 장치
JP3262761B2 (ja) エラー許容モードビデオコデック方法及びその装置
KR100644604B1 (ko) 오류 허용 모드를 위한 비디오 코딩 방법 및 그 장치
US20050123047A1 (en) Video processing
Jung et al. A hierarchical synchronization technique based on the EREC for robust transmission of H. 263 bit stream
JP3804796B2 (ja) 動画像符号化方法及び動画像復号方法
JP2001103475A (ja) 可逆可変長コードを使用するエラーに強いビデオコーディング
Theodorakopoulos et al. Partitioned quadrature amplitude modulation for mobile video transmission
JP3905938B2 (ja) 画像符号化装置および画像復号化装置
KR20020073962A (ko) 오류 회복 엔트로피 부호 기법에 기초한 계층 구조 설정및 부가 정보 전송 방법에 따른 부호화 및 복호화 방법
JP3612315B2 (ja) 可変長復号化方法及び装置
JP3612314B2 (ja) 可変長符号化方法及び装置
EP1349398A1 (en) Video processing
KR100370227B1 (ko) 비디오 코덱의 에러 방지 방법 및 장치
Ai et al. Predictive picture refresh based on scene-context reference picture for video transmission

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130130

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20140128

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20150129

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20160128

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20170125

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20180130

Year of fee payment: 16

EXPY Expiration of term