KR100375345B1 - Video coding method and apparatus thereof for error resilient mode - Google Patents

Video coding method and apparatus thereof for error resilient mode Download PDF

Info

Publication number
KR100375345B1
KR100375345B1 KR10-2002-0017412A KR20020017412A KR100375345B1 KR 100375345 B1 KR100375345 B1 KR 100375345B1 KR 20020017412 A KR20020017412 A KR 20020017412A KR 100375345 B1 KR100375345 B1 KR 100375345B1
Authority
KR
South Korea
Prior art keywords
data
coding
motion vector
video
discrete cosine
Prior art date
Application number
KR10-2002-0017412A
Other languages
Korean (ko)
Other versions
KR20020028200A (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
Priority claimed from KR1019980052333A external-priority patent/KR100359093B1/en
Application filed by 삼성전자주식회사, 더 리전트 오브 더 유니버시티 오브 캘리포니아 filed Critical 삼성전자주식회사
Priority to KR10-2002-0017412A priority Critical patent/KR100375345B1/en
Publication of KR20020028200A publication Critical patent/KR20020028200A/en
Application granted granted Critical
Publication of KR100375345B1 publication Critical patent/KR100375345B1/en

Links

Classifications

    • 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]
    • 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

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)한 다음, 분할된 영역들 중 소정의 우선 순위에 따라 선택된 영역들은 역가변장 코딩하고 나머지 영역들은 가변장 코딩한다.A video coding method and coding apparatus are disclosed. This video coding method includes a macroblock including header data, motion vector data, and discrete cosine transform (DCT) data, respectively, in order to enable less sensitive communication in an error-prone environment such as a wireless communication channel. Discrete cosine transform in which the header data is grouped into a header data area (HDP), the motion vector data area (MVDP) in which the motion vector data is grouped, and the discrete cosine transform data are grouped. After data partitioning into a data region (DDP: DCT Data Part), regions selected according to a predetermined priority among the divided regions are inversely variable-coded and the remaining regions are variable-length coded.

Description

오류 허용 모드를 위한 비디오 코딩 방법 및 그 장치{Video coding method and apparatus thereof for error resilient mode}Video coding method and apparatus for error-tolerant mode TECHNICAL FIELD

본 발명은 비디오 코딩 방법 및 그 장치에 관한 것으로, 특히 오류 허용 모드를 위한 비디오 코딩방법 및 그 장치에 관한 것이다. 또한, 본 발명은 본원의 출원인에 의하여 출원된 "오류 허용 모드를 위한 비디오 코딩 방법(Video Codec Method in Error Resilient mode)"이라는 제목의 미국 특허 가출원 제60/067,013호를 기초로 한다. 오류 허용 모드란 전송된 비트스트림에 어느 정도 오류가 발생되었더라도 이를 복원할 수 있는 데이터 전송 모드를 의미한다. 이 때, 오류를 복원할 수 있는 정도가 크면 클수록 오류 허용도가 높다고 말할 수 있다.The present invention relates to a video coding method and an apparatus thereof, and more particularly, to a video coding method and an apparatus for an error-tolerant mode. The invention is also based on U.S. Provisional Application No. 60 / 067,013, entitled "Video Codec Method in Error Resilient mode," filed by the applicant of the present application. The error-tolerant mode refers to a data transmission mode that can recover even a certain amount of error in the transmitted bitstream. In this case, the greater the degree of error recovery, the higher the tolerance.

비디오 코덱은 주로 채널 코딩보다는 소스 코딩에 관여하므로 일반적으로 오류가 발생할 가능성이 높은 채널을 통해 비트스트림을 전송할 때 오류에 대처하는 능력이 크지 않다. 왜냐하면 비디오 코덱에는 비트스트림에서 오류가 발생된 부분을 복원할 것인지 버려야 할 것인지를 결정하기 위한 판단 요소가 없기 때문이다. 즉, 오류가 발생한 경우 한 프레임의 일정 부분에만 비트 손실이 있는 것인지, 또는 프레임 전체에 오류가 있는 것인지 여부를 알아내기 어렵기 때문에 오류가 발생된 프레임 전체의 비트스트림을 버리고 다음 프레임에 대한 비트스트림의 시작점을 찾아야 하는 문제점이 있다. 이같은 문제점을 해결하기 위하여, 일 예로 종래 코방법에서는, 픽처시작코드(PSC: Picture Start Code)를 마련해두고, 픽처시작코드 뒤에서 오류가 수신된 경우에는 이하의 부분을 무시하고 다음 픽처시작코드(PSC)를 찾는 방법을 사용기도 한다. 또한, 블록군(GOB: Group Of Block)의 시작을 표시하는 블록군시작코드(GBSC: GOB Start Code)를 두고, 이 정보 뒤에서 오류가 수신된 경우에는 그 이하의 부분만 무시하고 다음 블록군을 찾음으로써 버려지는 부분을 줄이고 있다.Because video codecs are primarily concerned with source coding rather than channel coding, they typically do not have the ability to cope with errors when transmitting bitstreams over channels that are prone to error. This is because the video codec has no judgment element for determining whether to restore or discard an errored portion of the bitstream. That is, when an error occurs, it is difficult to determine whether there is a bit loss in only one part of one frame or an error in the entire frame, so that the bitstream of the entire frame in which the error occurs is discarded and the bitstream for the next frame is lost. There is a problem to find the starting point of. In order to solve this problem, for example, in the conventional coding method, a picture start code (PSC) is provided, and if an error is received after the picture start code, the following part is ignored and the next picture start code ( PSC) can also be used to find them. In addition, a GOB Start Code (GBSC) indicating the start of a group of blocks (GOB) is set. If an error is received after this information, the next block group is ignored and only the part below it is ignored. Finding is reducing the area discarded.

도 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) 과정이 수행된다.1 shows an example of a video data packet generated by a coding method for an error-tolerant mode according to the prior art. As shown in FIG. 1, it can be seen that the coding method for the conventional error-tolerant mode separates coding into motion data and texture data. In more detail, the motion data includes a macroblock identification region (COD) indicating coding, a macroblock pattern chromaticity region (MCBPC) indicating a chromaticity type of each macroblock, and a motion vector region. The texture data includes a CBPY region (Coded Block Pattern luminance (Y)), a DQUANT region (Data Quantization), and a DCT region (Discrete Cosine Transform). Such motion data and texture data are separated by a motion marker (MM). Herein, the discrete cosine transform data is RVLC (Reversible Variable Length Coding). In addition, a byte alignment process is performed in the process of inserting a Resync Marker (RM).

디코딩시, 비트스트림에서 재동기마커(RM)가 발견되면 다음 재동기 마커(RM)가 발견되기 이전까지의 구간은 하나의 패킷으로 간주된다. 한편, 모션벡터들로 이루어진 모션벡터데이터 영역(MVDP: Motion Vector Data Part)에는 이전 데이터를 기초로 예측된 모션벡터들만이 존재하기 때문에 모션벡터는 이전의 디코딩된 모션벡터가 있는 경우에만 사용이 가능하다. 따라서, 비트스트림 중에서 모션벡터데이터 영역(MVDP)에 오류가 발견되면 다음 패킷이 시작되는 재동기 마커(RM)를 발견할 때까지, 즉 해당 패킷 전체를 무시해야 하므로 정보의 손실이 많다는 문제점이 있다.In decoding, if a resynchronization marker RM is found in the bitstream, the interval until the next resynchronization marker RM is found is considered as one packet. Meanwhile, since only motion vectors predicted based on previous data exist in the Motion Vector Data Part (MVDP) consisting of motion vectors, the motion vectors can be used only when there are previously decoded motion vectors. Do. Therefore, if an error is found in the motion vector data area (MVDP) in the bitstream, there is a problem that there is a lot of information loss until the resynchronization marker RM where the next packet starts is found, that is, the entire packet must be ignored. .

본 발명이 이루고자 하는 기술적 과제는 정보 손실이 적고 오류 허용도가 높은 비디오 코딩 방법을 제공하는 것이다.An object of the present invention is to provide a video coding method with low information loss and high error tolerance.

본 발명이 이루고자 하는 다른 기술적 과제는 상기 비디오 코딩 방법을 실행하는 컴퓨터 독취가능 기록매체를 제공하는 것이다.Another object of the present invention is to provide a computer readable recording medium for executing the video coding method.

본 발명이 이루고자 하는 또 다른 기술적 과제는 상기 방법을 구현하는 비디오 코딩 장치를 제공하는 것이다.Another object of the present invention is to provide a video coding apparatus for implementing the above method.

도 1에는 종래기술의 비디오 코딩 장치에서 생성된 비디오 데이터 패킷의 일예를 도시한 도면이다.1 is a diagram illustrating an example of a video data packet generated by a conventional video coding apparatus.

도 2는 본 발명의 일 실시예에 따른 비디오 코딩 방법의 주요 단계를 도시한 흐름도이다.2 is a flowchart illustrating main steps of a video coding method according to an embodiment of the present invention.

도 3은 본 발명의 실시예에 따른 비디오 코딩 장치를 도시한 블록도이다.3 is a block diagram illustrating a video coding apparatus according to an embodiment of the present invention.

도 4는 본 발명의 실시예에 따른 비디오 코딩 방법에 의하여 생성된 비디오 데이터 패킷의 일예를 도시한 도면이다.4 is a diagram illustrating an example of a video data packet generated by a video coding method according to an embodiment of the present invention.

<도면의 주요 부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>

20...분할단계, 22...가변장 코딩 단계,20 splitting step, 22 variable coding step,

24...역가변장 코딩 단계, 26...마커삽입단계.24 ... Potency variation coding step, 26 ... Marker insertion step.

상기 과제를 이루기 위하여 본 발명에 따른 비디오 코딩 방법은 헤더데이터, 모션벡터데이터, 및 이산코사인변환(DCT) 데이터를 각각 포함하는 매크로블록들을 상기 헤더데이터가 그룹핑된 헤더데이터 영역(HDP: Header Data Part), 상기 모션벡터데이터가 그룹핑된 모션벡터데이터 영역(MVDP: Motion Vector Data Part), 및 상기 이산코사인변환데이터가 그룹핑된 이산코사인변환데이터 영역(DDP: DCT Data Part)으로 데이터 분할(Data partitioning)하는 단계; 및 상기 분할된 영역들을 가변장 코딩하거나 역가변장 코딩하는 단계;를 포함하는 것을 특징으로 한다.In order to achieve the above object, a video coding method according to the present invention includes a header block (HDP) in which header data is grouped into macroblocks including header data, motion vector data, and discrete cosine transform (DCT) data. Data partitioning into a motion vector data region (MVDP) in which the motion vector data is grouped, and a discrete cosine transform data region (DDP: DCT Data Part) in which the discrete cosine transform data is grouped. Doing; And variable-length coding or inverse-variable coding the divided regions.

상기 다른 과제를 이루기 위해 본 발명에 따른 비디오 코딩 방법을 실행하는 컴퓨터 독취가능 기록매체는 헤더데이터, 모션벡터데이터, 및 이산코사인변환(DCT) 데이터를 각각 포함하는 매크로블록들을 상기 헤더데이터가 그룹핑된 헤더데이터 영역(HDP: Header Data Part), 상기 모션벡터데이터가 그룹핑된 모션벡터데이터 영역(MVDP: Motion Vector Data Part), 및 상기 이산코사인변환 데이터가 그룹핑된이산코사인변환데이터 영역(DDP: DCT Data Part)으로 데이터 분할(Data partitioning)하는 프로그램 코드; 및 상기 분할된 영역들 중 소정의 우선 순위에 따라 선택된 영역들은 역가변장 코딩하고 나머지 영역들은 가변장 코딩하는 프로그램 코드;를 저장하는 것을 특징으로 한다.To achieve the above object, a computer-readable recording medium for executing a video coding method according to the present invention includes macroblocks each including header data, motion vector data, and discrete cosine transform (DCT) data. A header data area (HDP: Header Data Part), a motion vector data area (MVDP) in which the motion vector data is grouped, and a discrete cosine transform data area (DDP: DCT Data) in which the discrete cosine transform data is grouped Program code for data partitioning into data partitions; And program code for inversely variable coding the regions selected according to a predetermined priority among the divided regions and variable length coding the remaining regions.

상기 또 다른 과제를 이루기 위해 본 발명에 따른 비디오 코딩 장치는 헤더데이터, 모션벡터데이터, 및 이산코사인변환(DCT) 데이터를 각각 포함하는 매크로블록들을 상기 헤더데이터가 그룹핑된 헤더데이터 영역(HDP: Header Data Part), 상기 모션벡터데이터가 그룹핑된 모션벡터데이터 영역(MVDP: Motion Vector Data Part), 및 상기 이산코사인변환데이터가 그룹핑된 이산코사인변환데이터 영역(DDP: DCT Data Part)으로 데이터 분할(Data partitioning)하는 수단; 및 상기 분할된 영역들을 가변장 코딩하거나 역가변장 코딩하는 수단;을 포함하는 것을 특징으로 한다.In accordance with another aspect of the present invention, a video coding apparatus according to the present invention includes a header block (HDP) in which headers are grouped into macroblocks including header data, motion vector data, and discrete cosine transform (DCT) data. Data Part), a motion vector data area (MVDP) in which the motion vector data is grouped, and a discrete cosine transform data area (DDP: DCT Data Part) in which the discrete cosine transform data is grouped (Data) means for partitioning; And means for variable-length coding or inverse-variable coding the divided regions.

이하 첨부된 도면들을 참조하여 본 발명에 따른 바람직한 실시예들을 상세히 기술하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 2에는 본 발명의 실시예에 따른 비디오 코딩 방법의 주요단계를 나타내었다. 도 2를 참조하면, 본 발명에 따른 비디오 코딩 방법은 분할단계(20), 가변장 코딩 단계(22), 선택된 영역들에 대한 역가변장 코딩 단계(24), 및 마커 삽입 단계(26)를 포함하여 이루어진다.2 shows main steps of a video coding method according to an embodiment of the present invention. Referring to FIG. 2, the video coding method according to the present invention includes a segmentation step 20, a variable length coding step 22, an inverse variance coding step 24 for selected regions, and a marker insertion step 26. It is done by

분할단계(20)에서는 복수의 매크로블록에 대한 데이터 분할(Data Partitioning)이 수행된다. 데이터 분할은 매크로블록을 구성하는 데이터를 새로운 조합으로 재배열하는 것을 의미한다. 보다 구체적으로, 본 실시예에서는 각 매크로블록에 포함된 헤더데이터를 그룹핑하여 헤더데이터 영역(HDP: Header Data Part)을 구성하며, 각 매크로블록에 포함된 모션벡터데이터 및 이산코사인변환데이터를 각각 그룹핑하여 모션벡터데이터 영역(MVDP: Motion Vector Data Part), 및 이산코사인변환데이터 영역(DDP: DCT Data Part)을 구성한다.In the partitioning step 20, data partitioning for a plurality of macroblocks is performed. Data partitioning means rearranging data constituting the macroblock into a new combination. More specifically, in the present embodiment, the header data area (HDP: Header Data Part) is configured by grouping header data included in each macroblock, and grouping motion vector data and discrete cosine transform data included in each macroblock, respectively. To form a motion vector data area (MVDP) and a discrete cosine transform data area (DDP).

헤더데이터는 현재 매크로블록의 코딩된 상태에 관한 정보를 포함한다. 즉, 헤더데이터는 현재 매크로블록이 현재 프레임의 내용을 그대로 코딩한 인트라(intra) 매크로블록인지, 이전 프레임과의 차(difference)를 코딩한 인터(inter) 매크로블록인지를 알려주므로 이에 오류가 발생되면 매우 심각한 정보 손실이 일어난다. 이처럼 헤더데이터는 그 중요도가 높기 때문에 복원시 우선적으로 복원하여야 한다. 따라서, 예를 들어 헤더데이터 중에서 코딩여부의 상태를 표시하는 매크로블록식별(COD)과 매크로블록 패턴색도(MCBPC)는 하나의 새로운 신택스(COD+MCBPC)로 결합하여 분할하는 것이 바람직하다. 이와 같이 결합하여 분할하는 것이 바람직한 이유는 다음과 같다. 현재의 H.263 표준에서는 헤더 데이터로서 COD에는 1 비트가 할당되고 MCBPC는 가변장 코딩된다. COD에는 1 비트가 할당되어 0과 1이 모두 존재할 수 있기 때문에 오류가 발생하였는지 여부를 식별하기가 어렵다. 또한, 가변장 코드를 사용하는 MCBPC에 오류가 발생한 경우, 그 오류가 발생된 비트열이 역가변장 코드 테이블보다는 가변장 코드 테이블에 존재할 가능성이 높기 때문에 오류 검출에 어려움이 있다. 따라서, 본 발명에 따른 비디오 코딩 방법의 일실시예에 따르면, 분할시에 COD와 MCBPC를 결합하고, 결합된 영역을 역가변장 코딩함으로써 오류가 발생되었는지 여부를 용이하게 식별할 수 있게 된다. 예를 들어 역가변장 코드워드 0110의 경우 0101 또는 1001과 같은 오류가 발생하더러도 오류로써 식별될 수 있기 때문에, 오류를 포함한 정보를 사용할 가능성을 줄여줄 수 있다. 더욱이, 역가변장 코딩으로 코딩되었기 때문에 역방향의 복원(recovery)도 가능하다. 하지만, 필요에 따라, 헤더데이터 영역(HDP)은 각 부분을 결합하여 코딩하는 방법을 사용하지 않고 각 부분을 각각 코딩하는 방법을 통해 구성될 수도 있다.The header data includes information about the coded state of the current macroblock. That is, the header data indicates whether the current macroblock is an intra macroblock in which the contents of the current frame are coded as it is or an inter macroblock in which the difference with the previous frame is coded. Very serious information loss occurs. As the header data is of such high importance, it is necessary to restore the header data first. Thus, for example, the macroblock identification (COD) and the macroblock pattern chromaticity (MCBPC) indicating the coding status in the header data may be combined and divided into one new syntax (COD + MCBPC). The reason why it is preferable to combine and divide in this way is as follows. In the current H.263 standard, one bit is allocated to COD as header data, and the MCBPC is variable-length coded. It is difficult to identify whether an error has occurred because a COD can be assigned one bit so that both 0 and 1 can exist. In addition, when an error occurs in the MCBPC using the variable length code, it is difficult to detect the error because the bit string in which the error occurs is more likely to exist in the variable length code table than the inverse variable code table. Therefore, according to an embodiment of the video coding method according to the present invention, it is possible to easily identify whether an error has occurred by combining the COD and the MCBPC at the time of splitting, and performing the reverse modulation coding of the combined region. For example, the reverse variation codeword 0110 can be identified as an error even if an error such as 0101 or 1001 occurs, thereby reducing the possibility of using information including the error. Moreover, backward recovery is also possible since it is coded with inverse variance coding. However, if necessary, the header data area HDP may be configured through a method of coding each part without using a method of combining and coding each part.

또한, 이러한 분할단계(20)는 매크로블록 단위로 수행되므로 각 비디오 데이터 패킷에 포함되는 첫 번째 매크로블록의 번호를 표시하는 최초매크로블록어드레스(MBA: first Macro Block Address)를 삽입하여 디코딩시에 참조할 수 있도록 한다. 또한, 이 분할단계(20)에서는 모션벡터데이터 영역(MVDP) 다음에 최종모션벡터값(LMVV: Last Motion Vector Value)을 삽입한다. 여기서 최종모션벡터값이란 이전의 모션벡터값에 기초하여 예측된 값이 아닌, 절대 모션벡터 정보를 의미한다. 나아가, 분할단계(20)에서는 각 비디오 데이터 패킷의 일련번호를 표시하는 패킷번호(PN: Packet Number)을 패킷 헤더정보로써 삽입한다.In addition, since the dividing step 20 is performed in units of macroblocks, the first macroblock address (MBA) indicating the number of the first macroblock included in each video data packet is inserted to be referred to during decoding. Do it. In the dividing step 20, the final motion vector value (LMVV) is inserted after the motion vector data area MVDP. Here, the final motion vector value means absolute motion vector information, not a value predicted based on the previous motion vector value. Further, in the dividing step 20, a packet number (PN) indicating a serial number of each video data packet is inserted as packet header information.

가변장 코딩 단계(22)에서는 헤더데이터 영역(HDP), 모션벡터데이터 영역(MVDP), 및 이산코사인변환데이터 영역(DDP) 중 적어도 일부에 대하여 가변장 코딩이 수행된다. 이때, 패킷번호(PN) 및 최종모션벡터값(LMVV)도 가변장 코딩된다.In the variable length coding step 22, variable length coding is performed on at least some of the header data area HDP, the motion vector data area MVDP, and the discrete cosine transform data area DDP. At this time, the packet number PN and the final motion vector value LMVV are also variable length coded.

역가변장 코딩단계(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를 부가하여 디코딩시 오류 복구성을 향상시킬 수 있다. 결국, 상술한 두 경우의 부가정보는 해당 비디오 데이터 패킷 내에서 오류가 발생한 부분을 복원할 수 있도록 하거나, 오류 검출이 어려운 부분에서 보다 용이하게 오류를 검출할 수 있도록 돕기 위한 것이다. 또한, 본 발명의 실시예에 따른 비디오 코딩 방법에서는 역가변장 코딩시, 채널 특성에 따라 서로 다른 역가변장 코딩 테이블을 사용함으로써 오류검출을 보다 효과적으로 수행한다.In the reverse variable coding step 24, the reverse variable coding is performed on regions selected according to a predetermined priority required for reconstruction. In other words, the reverse modulation coding is performed on important information that may be lost when decoding the entire video data packet or macroblock. The reason why priority is needed is described in detail as follows. As described above, the header data indicates whether the current macroblock is an intra macroblock in which the content of the current frame is coded as it is or an inter macroblock in which the difference of the previous frame is coded. If an error occurs in the header data of the inter macroblock, motion vector data or discrete cosine transform data cannot be used. If an error occurs in motion vector data, discrete cosine transform data cannot be used. Moreover, most macroblocks are composed of inter macroblocks to increase compression efficiency. Therefore, the importance is high in order of header data, motion vector data, and discrete cosine transform data. In this way, since there is a priority according to the importance in the macroblock, it is preferable that an error is also restored according to the priority. The reason for selectively inverting the data by giving priority to all data without performing the inverse modulation coding is to consider the limited channel capacity because the number of bits is increased when the variable length coding is performed. Although not shown in FIG. 2, the video coding method according to the present invention detects characteristics of a channel by receiving information on characteristics of a channel such as a transmission capacity of a channel, an error situation, and congestion through a back channel. Next, if the channel characteristic permits, reverse-varying coding (RVLC) down to a lower priority region, such as a discrete cosine transform data region (DDP: DCT Data Part), and the priority is not Variable length coding (VLC) is performed in order of low region. At this time, information guiding the inversely variable length coded region and the variable length coded region may be inserted as packet header information. As such, according to the present embodiment, the error tolerance may be increased as much as possible according to the channel characteristics. Alternatively, when the channel characteristic allows, additional information is inserted into a region having a lower priority such as a discrete cosine transform data region (DDP: DCT Data Part) so that it can be referred to when decoding. Hereinafter, the use of such additional information will be described by way of example. First, it is possible to transmit the information of the header data area once more. This is for the case where an error occurs in the header data area of high importance and an error may not occur in the motion vector data area and the discrete cosine transform data area. In this way, by placing the header data area immediately after the discrete cosine transformed data area, it is possible to restore the video data packet without discarding it. Second, it is possible to transmit the CRC as additional information in the discrete cosine transform data region. For example, the discrete cosine transform data uses a fixed length code (FLC) of 8 bits for a DC value and a variable length code (VLC) for an AC value. An 8 bit fixed length code is relatively difficult to detect errors. Resilience can be improved by adding a CRC to this 8-bit fixed length code to help detect errors. In addition to the 8 bits of the fixed length code, other information using the fixed length code, for example, a quantization parity (QP) indicating a quantization value may be used to generate the CRC. In this way, CRC is added to bits of the fixed-length code in the discrete cosine transform data region, thereby improving error recovery performance. As a result, the above-described additional information of the two cases is for restoring an errored portion in the corresponding video data packet or for helping to detect an error more easily in a portion where error detection is difficult. In addition, in the video coding method according to an embodiment of the present invention, error detection is more effectively performed by using different inverse modulation coding tables according to channel characteristics when inverse modulation coding.

마커 삽입 단계(26)에서는 각 비디오 데이터 패킷을 구분하기 위한 재동기마커(RM: Resync Marker), 헤더데이터 영역과 모션벡터데이터 영역을 구분하기 위한 헤더마커(HM: Header Marker)를 삽입한다. 또한, 모션벡터데이터 영역(MVDP)과 이산코사인변환데이터 영역(DDP)을 구분하기 위한 모션마커(MM: Motion Marker)를 삽입한다. 헤더마커(HM)는 헤더데이터 영역(HDP)의 코딩에는 사용되지 않는 코드워드를 사용하여 이루어짐으로써 디코딩시 식별이 용이하도록 한다.In the marker insertion step 26, a resync marker (RM) for distinguishing each video data packet and a header marker (HM) for distinguishing the header data region and the motion vector data region are inserted. In addition, a motion marker (MM) is inserted to distinguish the motion vector data area (MVDP) and the discrete cosine transform data area (DDP). The header marker HM is made using a codeword that is not used for coding the header data area HDP, so that the header marker HM can be easily identified during decoding.

도 3에는 상기 방법을 구현하기 위한 본 발명의 실시예에 따른 비디오 코딩 장치를 도시하였다. 도 3을 참조하면 본 발명에 따른 비디오 코딩 장치는 분할수단(30), 가변장코딩수단(32), 및 상기 가변장 코딩될 영역들 중에서 복원에 필요한 소정의 우선 순위에 따라 선택되어진 영역들을 역가변장 코딩하는 역가변장코딩수단(34)을 구비한다. 또한, 비디오 코딩 장치는 채널의 용량, 오류 상황, 혼잡도와 같은 채널의 특성에 관한 정보를 예를 들어 백채널(미도시)등을 통하여 수신함으로써 채널의 특성을 식별하는 채널식별수단(36)과, 가변장 코딩 또는 역가변장 코딩된 비트영역들에 마커를 삽입하는 마커삽입수단(38)을 구비한다.3 shows a video coding apparatus according to an embodiment of the present invention for implementing the method. Referring to FIG. 3, the video coding apparatus according to the present invention titers partitioning means 30, variable length coding means 32, and regions selected according to a predetermined priority required for reconstruction among the regions to be variable length coded. Inverse modulation coding means 34 for disguising coding are provided. In addition, the video coding apparatus includes channel identification means 36 for identifying characteristics of the channel by receiving information on characteristics of the channel, such as channel capacity, error conditions, and congestion, for example, through a back channel (not shown). And marker inserting means 38 for inserting a marker into variable length coding or inversely variable coding bit regions.

분할수단(30)은 비디오 데이터를 입력받아 도 2를 참조하여 기술한 바와 같이 헤더데이터 영역(HDP), 모션벡터데이터 영역(MVDP), 및 이산코사인변환(DCT)데이터 영역(DDP)으로 데이터 분할(data partitioning)을 수행한다. 또한,분할수단(30)은 헤더데이터 영역(HDP)에 있어서 예를 들어 매크로블록식별(COD)과 매크로블록패턴색도(MCBPC)와 같이 복원에 있어 중요도가 높은 소정의 복수의 부분들을 결합하여 하나의 새로운 신택스(COD+MCBPC)로 구성할 수 있다.The dividing means 30 receives video data and divides the data into a header data area HDP, a motion vector data area MVDP, and a discrete cosine transform (DCT) data area DDP as described with reference to FIG. Perform data partitioning. In addition, the dividing means 30 combines a plurality of predetermined portions having high importance in restoration such as, for example, macroblock identification (COD) and macroblock pattern chromaticity (MCBPC) in the header data area HDP. It can be configured with new syntax (COD + MCBPC).

가변장코딩수단(32)은 분할된 영역들을 가변장 코딩하고, 역가변장코딩수단(34)에서는 일 예로 디코딩시 손실되면 전체 비디오 데이터 패킷이나 매크로블록이 손실될 수 있는 가능성이 있는 부분과 같이 복원에 필요한 소정의 우선순위에 따라 선택되어진 영역들에 대하여 가변장 코딩에 비해 오류 복구성이 양호한 역가변장 코딩을 수행한다. 하지만, 역가변장 코딩을 수행하면 가변장 코딩을 수행한 경우보다 비트수가 증가되므로 한정된 채널용량을 고려하여 우선순위를 두어 선택된 비트영역들에 대하여만 상기 역가변장 코딩을 수행하는 것이 바람직하다.The variable length coding means 32 performs variable length coding on the divided regions, and the reverse length coding means 34 restores, for example, a portion in which the entire video data packet or a macroblock may be lost if it is lost during decoding. Inversely, variable-variable coding with better error resilience as compared to variable-length coding is performed on regions selected according to a predetermined priority required for the. However, since the number of bits is increased when the variable length coding is performed, it is preferable to perform the reverse length coding only on the bit regions selected with priority in consideration of the limited channel capacity.

이를 위하여 채널특성 식별수단(36)은 채널 특성이 허용한다고 결정된 경우에는 이산코사인변환데이터 영역(DDP: DCT Data Part)과 같이 우선순위가 낮은 영역까지 역가변장 코딩(RVLC)하고 채널 특성이 허용하지 않는다고 결정된 경우에는 우선순위가 낮은 영역은 가변장 코딩(VLC) 하도록 가변장 코딩수단(32)과 역가변장 코딩수단(34)을 제어한다. 대안적으로, 부가정보를 삽입하는 수단(미도시)을 더 구비하여 채널특성 식별 수단(36)에서 채널 특성이 허용하는 것으로 결정된 경우에 이산코사인변환데이터 영역(DDP: DCT Data Part)과 같이 우선순위가 낮은 영역에 부가정보를 삽입하는 것도 가능하다. 또한, 역가변장 코딩수단(34)은 상기 채널특성 식별 수단(36)에서 채널 특성이 허용한다고 결정한 경우에는 도 2를 참조하여기술한 효과를 이루기 위하여 각각 다른 코딩 테이블을 사용하여 역가변장 코딩을 수행하는 것이 바람직하다.To this end, if it is determined that the channel characteristic is allowed, the channel characteristic identification means 36 performs reverse variation coding (RVLC) to a region having a lower priority such as a discrete cosine transform data region (DDP: DCT Data Part) and does not allow the channel characteristic. If not, the low priority region controls the variable length coding means 32 and the inversely variable coding means 34 for variable length coding (VLC). Alternatively, a means (not shown) for inserting additional information is further provided, such that when the channel characteristic identification means 36 determines that the channel characteristic is allowed, such as a discrete cosine transform data area (DDP: DCT Data Part). It is also possible to insert additional information in an area of low ranking. In addition, in the case where the channel characteristic identification means 36 determines that the channel characteristic is allowed, the inversely variable coding means 34 performs inversely variable coding using different coding tables to achieve the effect described with reference to FIG. It is desirable to.

또한, 본 발명에 따른 비디오 코딩 장치는 도 2를 참조하여 기술한 바와 같은 효과를 이루기 위하여 각 비디오 데이터 패킷에서 첫 번째 매크로블록의 번호를 표시하는 최초매크로블록어드레스(MBA: first Macro Block Address)를 삽입하는 수단(미도시)을 더 포함하고, 역가변장 코딩수단(34)은 최종모션벡터값(LMVV)을 역가변장 코딩하는 것이 바람직하다. 또한, 상기 비디오 코장치는 재동기마커(RM) 다음에 패킷의 일련번호를 표시하는 패킷번호(PN: Packet Number)를 패킷 헤더정보로써 삽입하는 수단(미도시)과, 모션벡터데이터 영역(MVDP) 다음에 절대 모션벡터 정보를 포함하는 최종모션벡터값(LMVV)를 삽입하는 수단(미도시)을 더 포함하는 것이 바람직하다.In addition, the video coding apparatus according to the present invention uses a first macro block address (MBA) indicating the number of the first macroblock in each video data packet to achieve the effect as described with reference to FIG. The apparatus further includes means for inserting (not shown), and the inversely variable coding unit 34 preferably inverts the final motion vector value LMVV. In addition, the video coding apparatus includes means (not shown) for inserting a packet number (PN) indicating packet serial number after the resynchronization marker (RM) as packet header information, and a motion vector data area ( MVDP) preferably further includes means (not shown) for inserting the final motion vector value LMVV containing absolute motion vector information.

한편, 마커 삽입 수단(38)은 각 비디오 데이터 패킷을 구분하기 위한 재동기마커(RM: Resync Marker)와, 헤더데이터 영역(HDP)과 모션벡터데이터 영역(MVDP)을 구분하는 정보 비트로써 헤더데이터 영역의 코딩에는 사용되지 않는 코드워드를 사용하여 이루어진 헤더마커(HM: Header Marker), 및 모션벡터데이터 영역(MVDP)과 이산코사인변환데이터 영역(DDP)을 구분하기 위한 모션마커(MM: Motion Marker)를 삽입한다. 이 때, 헤더마커(HM)는 헤더데이터 영역(HDP)의 코딩에는 사용되지 않는 코드워드를 사용함으로써 디코딩시에 용이하게 식별되도록 하는 것이 바람직하다.On the other hand, the marker insertion means 38 is a header data as a resync marker (RM) for distinguishing each video data packet, and information bits for distinguishing the header data area (HDP) and the motion vector data area (MVDP). Header Marker (HM) made using codewords not used for coding of region, and Motion Marker (MM) to distinguish Motion Vector Data Region (MVDP) and Discrete Cosine Transformation Data Region (DDP). Insert). At this time, it is preferable that the header marker HM be easily identified at the time of decoding by using a codeword not used for coding of the header data area 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)을 구분하기 위한 것이다.4 shows an example of a video data packet generated by the method. Referring to FIG. 4, the video data packet generated by the method includes a resync marker (RM), a packet number (PN), and a first macro block address (MBA). do. The video data packet also includes a header data area (HDP), a header marker (HM), and a motion vector data area (MVDP). The video data packet also includes a last motion vector value (LMVV), a motion marker (MM), and a discrete cosine transform data area (DDP: DCT Data Part). In the video data packet thus made, the resynchronization marker RM marks the start of the video data packet. Thus, at the time of decoding, the starting point of the video data packet can be found in the same manner as described in the prior art. The packet number PN indicates the serial number of each video data packet as packet header information. The first macroblock address (MBA) indicates the number of the first macroblock in each video data packet. In the present embodiment, the header data area (HDP) combines macroblock identification (COD) and macroblock pattern chromaticity (MCBPC) to form a new syntax (COD + MCBPC), where COD + MCBPC is a titer. Disguise coding (RVLC). The header marker (HM) is a part that distinguishes the header data region from the motion vector data region and uses a codeword that is not used for COD + MCBPC coding of the header data region HDP. The motion vector data area (MVDP) is a motion vector data portion obtained by inversely distorting coding information generated by motion vector prediction. The discrete cosine transform data area (DDP) contains information related to the discrete cosine transform (DCT), and CBPY, DQUANT, and DCT coefficients are coded. In addition, it is preferable to insert information necessary for error checking and recovery when receiving and decoding from the information used in the corresponding video data packet in the discrete cosine transform data area DDP. Insertion of this information can also be selectively applied depending on the characteristics of the channel. The motion marker (MM) is used to distinguish the motion vector data area (MVDP) and the discrete cosine transform data area (DDP).

상기와 같이 인코딩된 비디오 데이터 패킷이 디코딩되는 과정을 이하에서 설명하기로 한다. 먼저, 수신된 비트스트림에서 재동기마커(RM)를 발견하면 종래 기술부에서 설명한 바와 같이 다음의 재동기마커(RM)가 발견되기까지는 하나의 패킷으로 간주된다. 만일, 헤더데이터 영역(HDP)에서 오류가 발생한 경우, 헤더데이터 영역(HDP)은 역가변장 코딩되어 있기 때문에 순방향의 디코딩 뿐만 아니라 역방향의 디코딩도 가능하다. 예를 들어, 다음 패킷의 패킷번호(PN)와 최초매크로블록어드레스(MBA)를 사용하여 헤더데이터 영역(HDP)을 복원할 수도 있다. 즉, 다음 패킷의 최초매크로블록어드레스(MBA)에서 1을 뺀 값이 현재 패킷의 매크로블록어드레스이므로 역방향 디코딩을 사용하여 헤더데이터 영역(HDP) 중 오류가 발생되었던 부분까지 복원할 수 있게 된다. 또한, 모션벡터데이터 영역(MVDP)을 모션마커(MM)를 발견하기 전까지 디코딩한다. 이에 의해 모션벡터 예측에 의한 모션벡터가 디코딩된다. 이와 같은 디코딩 과정에서 오류가 발생하면, 모션벡터데이터 영역(MVDP) 또한 역가변장 코딩이 되어있기 때문에 역방향의 디코딩이 가능하게 된다. 종래 코딩 방법에 의하여 인코딩된 비디오 데이터 패킷을 디코딩하는 과정과 비교하여 설명하면, 종래에는 모션벡터데이터 영역(MVDP)에 모션예측에 의한 모션벡터데이터만이 존재하기 때문에 모션벡터데이터는 이전에 디코딩된 모션벡터데이터가 있는 경우에만 사용이 가능하다. 하지만, 본 발명에 의한 코방법에 따르면 모션벡터데이터 영역에 이어서 예측하지 않은 절대 모션벡터를 역가변장 코딩하여 전송하였기 때문에 최종모션벡터값(LMVV)를 이용하여 역방향으로 디코딩하는 경우에 이전의 모션벡터에 대하여 독립적으로 디코딩이 가능하게 된다. 또한, 이산코사인변환데이터 영역(DDP)은 오류가 발생되었을 때 가변장 코딩된 경우에는 상기 비디오 데이터 패킷을 무시할 수밖에 없지만 역가변장 코딩된 경우에는 역방향의 디코딩을 수행할 수 있으므로 비디오 데이터 패킷 전체를 버리지 않아도 된다. 즉, 오류 허용도가 더 높아지는 효과를 얻을 수 있다. 또한, 이산코사인변환데이터 영역에 복원에 필요한 부가 정보들이 인코딩되어 부가된 경우에는 이를 사용하여 디코딩에 사용할 수 있다.A process of decoding the encoded video data packet will be described below. First, when resynchronization marker RM is found in the received bitstream, it is regarded as one packet until the next resynchronization marker RM is found as described in the related art. If an error occurs in the header data area HDP, since the header data area HDP is inversely decoded coded, not only the forward decoding but also the reverse decoding is possible. For example, the header data area HDP may be restored by using the packet number PN and the initial macroblock address MBA of the next packet. That is, since the value obtained by subtracting 1 from the first macroblock address (MBA) of the next packet is a macroblock address of the current packet, it is possible to recover up to a portion where an error occurs in the header data area (HDP) by using reverse decoding. Further, the motion vector data area MVDP is decoded until the motion marker MM is found. Thereby, the motion vector by motion vector prediction is decoded. If an error occurs during the decoding process, since the motion vector data region (MVDP) is also inversely decoded coded, backward decoding is possible. As compared with the process of decoding the video data packet encoded by the conventional coding method, conventionally, since only motion vector data by motion prediction exists in the motion vector data area (MVDP), the motion vector data is previously decoded. It can be used only when there is motion vector data. However, according to the coding method according to the present invention, since the absolute motion vector is unexpectedly transformed and transmitted after the motion vector data region, the previous motion is decoded backward using the final motion vector value (LMVV). Decoding can be performed independently for the vector. In addition, the discrete cosine transform data area (DDP) has no choice but to ignore the video data packet when the variable length is coded when an error occurs. You don't have to. That is, the effect of higher error tolerance can be obtained. In addition, when additional information necessary for reconstruction is encoded and added to the discrete cosine transform data region, it may be used for decoding by using this information.

상술한 바와 같이, 본 발명에 따른 코딩 방법은 오류 허용도를 더 높일 수 있기 때문에 무선통신 채널과 같이 오류가 많이 발생하는 환경 하에서 오류에 보다 덜 민감한 통신이 가능하다.As described above, since the coding method according to the present invention can further increase the error tolerance, communication is less sensitive to errors in an error-prone environment such as a wireless communication channel.

이상에서 본 발명에 따른 코딩 방법은 MPEG-4 비주얼(Visual)과 H.263을 일 예로 하여 재동기마커(RM), 패킷번호(PN), 최초매크로블록인덱스(FMBI), 헤더데이터 영역(HDP), 헤더마커(HM), 모션벡터데이터 영역(MVDP), 모션마커(MM), 및 이산코사인변환데이터 영역(DDP)와 같이 영역들에 대한 용어를 정의하여 기술하였으나, 당업자에 의하여 용이하게 이해될 수 있는 등가적인 다른 영역들로 구성되는 모든 비디오 코딩에 적용할 수 있다.In the above, the coding method according to the present invention uses the MPEG-4 visual and H.263 as an example, resynchronization marker (RM), packet number (PN), initial macroblock index (FMBI), and header data area (HDP). Terms, such as header marker (HM), motion vector data region (MVDP), motion marker (MM), and discrete cosine transform data region (DDP), have been defined and easily understood by those skilled in the art. It can be applied to any video coding that consists of other equivalent areas that may be.

상술한 바와 같이 본 발명에 따르면 오류 허용도를 더 높일 수 있기 때문에 무선통신 채널과 같이 오류가 많이 발생하는 환경 하에서 오류에 보다 덜 민감한 통신이 가능하다.As described above, according to the present invention, error tolerance can be further increased, so that communication is less sensitive to errors in an error-prone environment such as a wireless communication channel.

Claims (3)

비디오 데이터를 코딩하여 데이터 패킷을 생성하는 비디오 코딩 방법에 있어서,In the video coding method for generating a data packet by coding video data, 상기 비디오 데이터를 코딩하는 단계를 포함하며,Coding said video data, 상기 비디오 데이터의 코딩은 역가변장 코딩 및 가변장 코딩 중 어느 하나에 의해 수행되며, 상기 수행된 비디오 데이터 코딩의 종류를 표시하는 정보를 포함하는 것을 특징으로 하는 비디오 코딩 방법.The coding of the video data is performed by one of inverse variable coding and variable length coding, and the video coding method comprises information indicating a type of the performed video data coding. 비디오 데이터를 코딩하여 비디오 데이터 패킷을 생성하는 비디오 코딩 방법을 실행하는 컴퓨터 독취가능 기록매체에 있어서,A computer readable recording medium executing a video coding method of coding video data to generate a video data packet. 상기 비디오 데이터를 구성하는 매크로블록 데이터를 재배열하여 데이터 분할(Data partitioning)하는 프로그램 코드; 및Program code for rearranging and data partitioning macroblock data constituting the video data; And 상기 분할된 영역들을 가변장 코딩하거나 역가변장 코딩하는 프로그램 코드를 포함하는 것을 특징으로 하는 컴퓨터 독취가능 기록매체.And program code for variable length coding or reverse variable coding the divided regions. 제2항에 있어서,The method of claim 2, 상기 데이터 분할하는 프로그램 코드는 상기 매크로블록들에 포함된 이산코사인변환(DCT) 데이터를 그룹핑하여 이산코사인변환데이터 영역을 생성하는 프로그램 코드를 포함하는 것을 특징으로 하는 컴퓨터 독취가능 기록매체.The program code for dividing the data includes program code for generating a discrete cosine transform data region by grouping the discrete cosine transform (DCT) data included in the macroblocks.
KR10-2002-0017412A 1998-12-01 2002-03-29 Video coding method and apparatus thereof for error resilient mode KR100375345B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0017412A KR100375345B1 (en) 1998-12-01 2002-03-29 Video coding method and apparatus thereof for error resilient mode

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1019980052333A KR100359093B1 (en) 1997-12-01 1998-12-01 Video codec method in error resilient mode and apparatus therefor
KR10-2002-0017412A KR100375345B1 (en) 1998-12-01 2002-03-29 Video coding method and apparatus thereof for error resilient mode

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1019980052333A Division KR100359093B1 (en) 1997-12-01 1998-12-01 Video codec method in error resilient mode and apparatus therefor

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020020052483A Division KR100644604B1 (en) 2002-09-02 2002-09-02 Video coding method and apparatus thereof for error resilient mode

Publications (2)

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

Family

ID=19720115

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0017412A KR100375345B1 (en) 1998-12-01 2002-03-29 Video coding method and apparatus thereof for error resilient mode

Country Status (1)

Country Link
KR (1) KR100375345B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100533025B1 (en) 2003-03-06 2005-12-02 엘지전자 주식회사 Partitioning apparatus for moving picture data and method
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
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

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08111867A (en) * 1994-10-13 1996-04-30 Oki Electric Ind Co Ltd Coding method and decoding method for dynamic image

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08111867A (en) * 1994-10-13 1996-04-30 Oki Electric Ind Co Ltd Coding method and decoding method for dynamic image

Also Published As

Publication number Publication date
KR20020028200A (en) 2002-04-16

Similar Documents

Publication Publication Date Title
KR100359093B1 (en) Video codec method in error resilient mode and apparatus therefor
US6768775B1 (en) Video CODEC method in error resilient mode and apparatus therefor
KR100257988B1 (en) Method and device for error control of a macroblock-based video compression technique
JP3474005B2 (en) Video coding method and video decoding method
CN101175213B (en) Video source coding method and device, method and device for decoding video source
Redmill et al. The EREC: An error-resilient technique for coding variable-length blocks of data
JP3884172B2 (en) Variable length decoding apparatus and decoding method
JP5007012B2 (en) Video encoding method
US6552673B2 (en) Efficient table access for reversible variable length code decoding using a hash function
JPH10234040A (en) Method for packetizing video information
KR100909328B1 (en) Run-length Encoding of Non-Coded Macroblocks
KR100375345B1 (en) Video coding method and apparatus thereof for error resilient mode
JP3262761B2 (en) Error tolerant mode video codec method and apparatus
US20070150786A1 (en) Method for coding, method for decoding, device for coding and device for decoding video data
KR100644604B1 (en) Video coding method and apparatus thereof for error resilient mode
US20050123047A1 (en) Video processing
Jung et al. A hierarchical synchronization technique based on the EREC for robust transmission of H. 263 bit stream
JP2001103475A (en) Video coding using reversible variable length code immune to errors
KR20020073962A (en) encoding and decoding method according to a hierarchical structure and additional information transmission method based on an error resilient entropy coding
Theodorakopoulos et al. Partitioned quadrature amplitude modulation for mobile video transmission
JP3612315B2 (en) Variable length decoding method and apparatus
JP3612314B2 (en) Variable length coding method and apparatus
EP1349398A1 (en) Video processing
Ling Error-Resilient Coding Tools In MPEG-4
Hannuksela H. 263 picture header recovery in H. 324 videophone

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