KR101307682B1 - method for error detection using the data hiding of motion vector based on the RDO for H.264/AVC baseline profile - Google Patents

method for error detection using the data hiding of motion vector based on the RDO for H.264/AVC baseline profile Download PDF

Info

Publication number
KR101307682B1
KR101307682B1 KR1020110134114A KR20110134114A KR101307682B1 KR 101307682 B1 KR101307682 B1 KR 101307682B1 KR 1020110134114 A KR1020110134114 A KR 1020110134114A KR 20110134114 A KR20110134114 A KR 20110134114A KR 101307682 B1 KR101307682 B1 KR 101307682B1
Authority
KR
South Korea
Prior art keywords
motion vector
mvd
information
error
difference information
Prior art date
Application number
KR1020110134114A
Other languages
Korean (ko)
Other versions
KR20130067508A (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 KR1020110134114A priority Critical patent/KR101307682B1/en
Publication of KR20130067508A publication Critical patent/KR20130067508A/en
Application granted granted Critical
Publication of KR101307682B1 publication Critical patent/KR101307682B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • H04N19/895Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder in combination with error concealment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/567Motion estimation based on rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Abstract

본 발명은 H.264/AVC 복호기에서 전송시 발생된 오류로 인한 에러를 보다 정확히 검출하기 위한 방법으로서, 매크로블록 내에서 발생되는 움직임 벡터의 정보에 약속된 숨김 정보를 삽입하는 것이다. 숨김 정보가 삽입되는 블록은 H.264/AVC에서 이용하는 율-왜곡 기법에 기반하여 결정한다. 복호기에서는 별다른 부가 정보 없이 추출한 숨김 정보의 변형 여부를 이용하여 전송된 비트열(Bit-streams)의 에러 발생 지점을 매크로블록 단위로 정확히 검출할 수 있다. 그리하여 에러 검출에 의한 오류 데이터들을 버리고 정상적 데이터들을 가능한 보존할 수 있게 된다. 버려진 정보의 매크로블록들은 H.264/AVC에서 기본적으로 제공되는 은닉 방법에 의해 보간 재구성되며, 정확한 에러 위치의 검출을 통해 영상내 에러 전파를 최소화할 수 있다.The present invention provides a method for more accurately detecting an error due to an error generated during transmission in an H.264 / AVC decoder, and inserts concealed hidden information into information of a motion vector generated in a macroblock. The block into which hidden information is inserted is determined based on the rate-distortion technique used in H.264 / AVC. In the decoder, an error occurrence point of the transmitted bitstreams can be accurately detected in macroblock units by using the modified hidden information extracted without any additional information. Thus, it is possible to discard error data by error detection and preserve normal data as much as possible. The macroblocks of discarded information are interpolated and reconstructed by the concealment method basically provided in H.264 / AVC, and the error propagation in the image can be minimized through accurate detection of the error position.

Description

H.264/AVC 베이스라인 프로파일에서의 RDO에 기반한 움직임 벡터 숨김 정보 삽입을 이용한 에러 검출 방법{method for error detection using the data hiding of motion vector based on the RDO for H.264/AVC baseline profile} Method for error detection using the data hiding of motion vector based on the RDO for H.264 / AVC baseline profile}

본 발명은 H.264/AVC 베이스라인 프로파일에서의 움직임 벡터 숨김 정보 삽입을 이용한 에러 검출 방법에 관한 것을, 특히 H.264/AVC 베이스라인 프로파일을 사용하여 부호화되어 보내어지는 매크로블록의 움직임 벡터 정보에 숨김 정보를 삽입하여 복호화기에서 쉽게 전송 오류를 찾아내게 함으로서 전송 채널에 의해 발생한 오류로 인한 에러 발생 지점을 최대한 정확하게 검출할 수 있는 H.264/AVC 베이스라인 프로파일에서의 움직임 벡터 숨김 정보 삽입을 이용한 에러 검출 방법에 관한 것이다. The present invention relates to an error detection method using motion vector hiding information insertion in an H.264 / AVC baseline profile, and more particularly, to a motion vector information of a macroblock that is encoded and sent using an H.264 / AVC baseline profile. By inserting the hidden information, the decoder can easily detect the transmission error, and use the motion vector hiding information insertion in the H.264 / AVC baseline profile to detect the point of error caused by the error caused by the transmission channel as accurately as possible. It relates to an error detection method.

H.264/AVC는 매우 높은 데이터 압축률을 가지는 디지털 비디오 코덱 표준으로 MPEG-4 파트 10 또는 MPEG-4/AVC(Advanced Video Coding)라 부르기도 한다. H.264/AVC는 압축 효율성을 높이기 위해 제안되었던 기술들 중 복잡도가 높아, 그 동안 실제 표준안에 쓰이지 않았던 것들을 채택하여 만들어졌다. 이를 통해 이전의 표준안들보다 동일 비트율에서 약 2배의 압축률 증가를 가져올 수 있었다. 하지만 복잡도가 높은 기술들을 모두 사용하게 되면 부/복호기 양측에서의 부담은 그만큼 높아지게 된다. H.264 / AVC is a digital video codec standard with a very high data compression ratio, also called MPEG-4 Part 10 or MPEG-4 / AVC (Advanced Video Coding). H.264 / AVC is a complex technique that has been proposed to increase compression efficiency, and has been made by adopting those that have not been used in the actual standard. This resulted in an increase of about twice the compression rate at the same bit rate than the previous standards. However, the use of both high-complexity techniques will increase the burden on both sides of the decoder.

이런 문제점을 해결하기 위하여, H.264/AVC는 응용 목적에 따라 적용되는 기술들을 모은 3개의 프로파일(profile)을 제공하고 있다. 스트리밍 미디어 서비스를 위한 확장프로파일(Extended-profile), TV방송이나 비디오 저장 매체를 위한 메인 프로파일(main-profile), 그리고 화상 전화나 회의를 위한 베이스라인 프로파일(baseline-profile)이 그것이다. 이 중, 베이스라인 프로파일은 그 응용 목적에 있어서 시간 지연을 최대한 허용하지 않는 분야이므로 복잡도가 상대적으로 적은 기술들만을 채택하였다. To solve this problem, H.264 / AVC provides three profiles of the technologies applied according to the application purpose. Extended-profile for streaming media services, main-profile for television broadcast or video storage media, and baseline-profile for video telephony or conferencing. Among them, the baseline profile is a field that does not allow the time delay as much as possible in the application purpose, and thus, only a relatively low complexity technique is adopted.

압축 효율이 좋아질수록 채널을 통한 데이터 전송시 발생되는 오류에 더욱 민감하게 되며, 전송 에러 전파에 따른 화질 열화 또한 커지게 되었다. H.264/AVC는 NAL이라고 불리는 패킷 형태로 데이터를 전송하게 되는데 기본적으로 패리티 검사를 통한 패킷 손상 여부를 판단한 후, 에러가 발생되었다고 결정을 내리게 되면 패킷 전체를 버리게 하고 있다. 이는 제대로 전송된 매크로블록들의 정보 또한 버리게 되는 것이 되므로 많은 화질 저하가 발생하게 된다. 화질 저하가 발생된 프레임은 동영상 압축의 시간적 상관성 때문에 계속적으로 에러가 전파되어진다. 이런 문제의 해결을 위해 이전의 표준안들부터 여러 가지 에러 강인 연구가 진행되어 왔다. The better the compression efficiency, the more sensitive it is to errors occurring during data transmission through the channel, and the worsened image quality due to transmission error propagation. H.264 / AVC transmits data in the form of a packet called NAL. Basically, H.264 / AVC decides whether a packet is damaged by parity check, and when it is determined that an error has occurred, H.264 / AVC discards the entire packet. This results in discarding the information of the macroblocks that have been properly transmitted, resulting in a lot of degradation. Due to the temporal correlation of moving picture compression, an error is continuously propagated to the frame in which the deterioration occurs. In order to solve this problem, several error robust studies have been conducted since the previous standards.

H.264/AVC에는 전송시 발생되는 에러에 대한 대책으로 중요한 데이터의 재전송, 슬라이스 단위를 사용한 프레임내 에러 전파 방지, 예비슬라이스를 사용한 부호화를 이용하여 주슬라이스가 에러에 의해 복호할 수 없을 경우 예비슬라이스로 들어오는 비트열을 통한 정상복호화, 영상의 중요 영역 설정을 통한 슬라이스 분리 부호화, 중요 데이터의 우선순위를 통한 전송수단 선택법등을 제시하고 있다. 이러한 방법들은 피드백이 없는 채널 상황에서도 에러 발생 프레임에 대한 대책이 되긴 하지만, 여러 슬라이스 단위로의 분할에 의해 전송되어지는 비트열의 길이가 최대 2배 이상까지 늘어나게 되어 복호기에서는 버퍼량의 관리와 복호시간이 증가되는 문제에 영향을 주게 된다.In H.264 / AVC, as a countermeasure against errors during transmission, retransmission of important data, prevention of intra-frame error propagation using slice units, and encoding using a preliminary slice are used to preliminary if the main slice cannot be decoded by an error. It proposes the normal decoding through the bit stream coming into the slice, the slice separation encoding by setting the critical region of the image, and the transmission method selection method through the priority of the important data. Although these methods provide countermeasures for error-prone frames even in the absence of feedback, the length of the bit stream transmitted by dividing into multiple slice units can be increased up to two times or more. This will affect the growing problem.

또한, 전송채널로 전송시 발생되는 에러에 대한 대책을 위해 선행되어야 할 것은 정확한 에러 위치의 검출이다. 전송채널로 전송시 발생되는 에러는 시간적 딜레이와 많은 비트를 추가하게 된다. 이를 해결하기 위해 비트열로 보내어지는 정보 안에 간단한 워터마킹을 이용한 숨김 데이터를 삽입하여 에러 발생 지점을 쉽게 찾아내어 오류를 검출하고자 하는 여러 가지 방법들이 연구되어 왔다. In addition, it is the detection of the exact error position that must be preceded for countermeasures for errors occurring during transmission on the transmission channel. Errors occurring during transmission on the transport channel add a temporal delay and many bits. In order to solve this problem, various methods have been studied to detect errors by inserting hidden data using simple watermarking into the information sent as bit strings.

기본적인 검출 방법으로는 syntax/semantic 검사에 기반을 둔 알고리즘이 있다. 이 방법은 부/복호기에서 syntax의 미리 정해진 매핑 규칙에 어긋나는 비트열을 일차적으로 체크하고, 동영상의 특징상 나타날 수 없는 여러 semantic 특성들을 검사하는 방법이다. 비트열 자체에서의 검출을 할 수 있어 패킷 단위가 아닌 매크로블록 단위의 정보로서 에러를 검출할 수 있게 한다는 장점이 있다. 하지만 전송된 비트열에 에러가 발생한 상황임에도 불구하고 현재 syntax및 semantic적으로 아무 이상이 없다고 판단되는 경우, 복호기는 비정상적인 다음 매크로블록들의 재구성을 계속적으로 수행하게 된다. 그래서 일반적으로 수개의 매크로블록 혹은 하나의 프레임이 복호될 때까지 전송 오류를 검출하지 못하는 검출 딜레이가 발생할 수 있다. 이는 현재 영상의 제대로 된 재구성을 하지 못하게 하고, 다음 영상으로 그 잘못된 에러가 계속적으로 전파되는 현상을 나타나게 한다.The basic detection method is an algorithm based on syntax / semantic checking. This method first checks the bit strings that violate the predetermined mapping rules of the syntax in the decoder / decoder, and examines various semantic characteristics that cannot appear due to the characteristics of the video. Since the bit string itself can be detected, an error can be detected as information in macroblock units rather than packet units. However, if it is determined that there is no error in the current syntax and semantic in spite of an error occurring in the transmitted bit string, the decoder continues to reconstruct abnormal macroblocks. Thus, in general, a detection delay may occur in which a transmission error is not detected until several macroblocks or one frame is decoded. This prevents proper reconstruction of the current image and results in the error being continuously propagated to the next image.

syntax/semantic 검사 방법에 의한 에러 검출의 지연 현상을 막고, 보다 정확한 에러 위치를 검출하기 위한 연구들이 있었다. 에러 검출률 향상 기법으로 많이 사용되는 워터마킹(watermarking)을 이용한 정보 숨김(Data Hiding)은 약간의 PSNR 감소나 비트량 증가와 같은 손해를 감수하면서 부호화시 영상 정보 내에 숨김 정보를 같이 보내는 것이다.  There have been studies to prevent the delay of error detection by syntax / semantic check method and to detect more accurate error location. Data Hiding using watermarking, which is widely used as an technique for improving error detection rate, is to send hidden information in the image information at the time of encoding while taking a loss such as a slight PSNR reduction or bit increase.

복호기에서는 이 숨겨진 정보의 유지 여부를 판단하여 검출 능력 향상을 도와 syntax 알고리즘보다 정확한 에러 발생 위치를 찾을 수 있게 된다. 영상 정보에서 숨김 정보를 넣는 위치는 대부분의 연구에서 매크로블록(Macroblock: MB) 단위에서 모션벡터(Motion Vector)와 잔여 데이터(Residual)필드의 2곳에 각각 혹은 혼합하여 넣는 방법을 이용하고 있다. 모션 벡터와 잔여 데이터를 제외한 그 외의 필드에 숨김 정보를 삽입하는 것은 복호기측에서 매크로블록의 재구성에 많은 영향을 미치게 되기 때문에 많은 연구가 없었다. 최근에는 H.264/AVC에서 채택한 여러 발생 모드 필드에도 삽입하고자 하는 연구가 있었지만, 이는 비트의 발생을 증가시키는 단점을 발생시켰다.The decoder can determine whether to keep this hidden information to improve the detection capability and find the exact location of the error than the syntax algorithm. Most of the researches use a method of inserting hidden information in the image information into two positions, namely, a motion vector and a residual data field, in a macroblock (MB) unit. Inserting hidden information into fields other than motion vector and residual data has not been studied much because it has a great effect on the reconstruction of macroblocks on the decoder side. Recently, there have been studies to insert into various generation mode fields adopted by H.264 / AVC, but this has a disadvantage of increasing bit generation.

본 발명은 이러한 문제점을 해결하기 위하여 발명된 것으로, 먼저, H.264/AVC 복호기에서 전송시 발생된 오류로 인한 에러를 보다 정확히 검출하기 위하여 매크로블록 내에서 발생되는 움직임 벡터의 정보에 약속된 숨김 정보를 삽입한다. 본 발명에서는 숨김 정보가 삽입되는 블록이 H.264/AVC에서 이용하는 율-왜곡 기법에 기반하여 결정되며, 복호기에서는 별다른 부가 정보 없이 추출한 숨김 정보의 변형 여부를 이용하여 전송된 비트열(Bit-streams)의 에러 발생 지점을 매크로블록 단위로 정확히 검출할 수 있게 하는 H.264/AVC 베이스라인 프로파일에서의 움직임 벡터 숨김 정보 삽입을 이용한 에러 검출 방법을 제공하는 데 그 목적이 있다. The present invention has been invented to solve such a problem. First, in order to more accurately detect an error due to an error generated during transmission in an H.264 / AVC decoder, the hidden promise of information of a motion vector generated in a macroblock is corrected. Insert information. In the present invention, the block into which the hidden information is inserted is determined based on the rate-distortion technique used in H.264 / AVC, and the decoder uses bit-streams transmitted by using whether or not the hidden information is extracted without any additional information. It is an object of the present invention to provide an error detection method using motion vector hiding information insertion in an H.264 / AVC baseline profile that enables the accurate detection of an error occurrence point in a macroblock unit.

이와 같은 목적을 수행하기 위한 본 발명은,The present invention for performing such an object,

매크로블록에서 결정된 예측된 움직임 벡터와 실제 움직임 벡터와의 차이값인 움직임 벡터 차분정보(MVD)를 수정하여 상기 매크로블록에서 발생된 움직임 벡터 차분정보(MVD)값의 총합이 짝수가 되도록 부호화하여 전송하는 부호화과정;By modifying the motion vector difference information (MVD), which is a difference between the predicted motion vector determined in the macroblock and the actual motion vector, encoding and transmitting so that the sum of the motion vector difference information (MVD) values generated in the macroblock is even. Encoding process;

부호화 과정에서 전송되는 패킷 단위의 비트스트림들에 대한 Syntax/Semantic 검출 알고리즘에 의한 전송 오류 에러를 검출 검출하는 1차 에러 검출 과정;A primary error detection step of detecting a transmission error error by a Syntax / Semantic detection algorithm for the packet streams transmitted in the encoding process;

1차 에러 검출이 종료된 후 상기 부호과정에서 부호화된 움직임 벡터 차분정보(MVD)값들을 상기 매크로블록의 움직임 벡터 필드의 복호의 종료시까지 누적시키고, 누적된 움직임 벡터 차분 정보(MVD)의 총합이 짝수인지의 여부를 판단하는 2차 에러 검출 과정; 및After the first error detection is completed, the motion vector difference information (MVD) values encoded in the encoding process are accumulated until the end of decoding of the motion vector field of the macroblock, and the sum of the accumulated motion vector difference information (MVD) is added. A second error detection process of determining whether or not an even number; And

1차 및 2차 에러 검출에서 전송 오류로 결정되면 에러발생 매크로블록(MB)으로부터 슬라이스 내 나머지 데이터들을 버림 처리하고, 상기 버림 처리된 매크로블록(MB)들을 H.264/AVC에서 제공되는 은닉 방법에 의해 보간 재구성하는 데이터 처리과정을 포함한다. If it is determined that the transmission error is detected in the primary and secondary error detection, the remaining data in the slice is discarded from the error-producing macroblock (MB), and the discarded macroblocks (MB) are concealed in H.264 / AVC. Interpolation reconstruction by means of data processing.

본 발명에 따른 움직임 벡터에 대한 숨김 정보를 이용한 에러 검출 방법은 전송되어지는 비트스트림의 복호 과정에서 각 매크로 블록당 전송되어진 움직임 벡터 차분정보(MVD)의 총합을 검사하면, 전송 과정에서 생긴 오류를 기본적인 에러 위치 검출방법인 syntax/semantic 알고리즘과 더불어 보다 정확한 에러 발생 위치를 검출할 수 있다. 정확한 에러 발생 위치의 검출은 이를 통한 에러 은닉의 적용에 효과적인 영향을 미친다. 즉, 에러가 지연된 위치에서 검출된 것보다 현재 프레임의 화질 저하를 최소화할 수 있으며, 에러 전파를 효과적으로 막을 수 있게 된다. In the error detection method using the hidden information of the motion vector according to the present invention, if the total of the motion vector difference information (MVD) transmitted for each macroblock is checked in the decoding process of the transmitted bitstream, an error generated in the transmission process is detected. In addition to the syntax / semantic algorithm, which is a basic error location detection method, more accurate error location can be detected. The detection of the exact location of the error has an effective effect on the application of error concealment through it. That is, deterioration of image quality of the current frame can be minimized than that detected at the position where the error is delayed, and error propagation can be effectively prevented.

도 1은 H.264/AVC의 화면간 예측에 쓰이는 모드별 블록 크기를 도시한 도면이다.
도 2는 도식화된 비트스트림의 Syntax 구조도이다.
도 3은 본 발명에 따른 매크로블록 레벨에서의 에러 검출 방법을 보여주는 흐름도이다.
도 4는 본 발명에 따른 복호기에서의 숨김 정보를 추출하는 과정을 보여주는 흐름도이다.
도 5는 본 발명에 따른 부호기에서의 움직임 벡터 데이터에 대한 숨김 정보 삽입 과정을 보여주는 흐름도이다.
FIG. 1 is a diagram illustrating a block size for each mode used for inter prediction of H.264 / AVC.
2 is a syntax diagram of a schematic bitstream.
3 is a flowchart illustrating an error detection method at a macroblock level according to the present invention.
4 is a flowchart illustrating a process of extracting hidden information in a decoder according to the present invention.
5 is a flowchart illustrating a process of inserting hidden information for motion vector data in an encoder according to the present invention.

본 발명의 움직임 벡터에 대한 숨김 정보를 이용한 에러 검출 방법은 매크로블록에서 결정된 최적 모드를 통해 발생되는 예측된 움직임 벡터(PMV)와 실제 움직임 벡터(MV)와의 움직임 벡터 차분정보(MVD)를 수정하여, 하나의 매크로블록에서 발생된 움직임 벡터 차분정보(MVD)값의 총합이 짝수가 되도록 약속된 정보를 복호기에 전송한다.The error detection method using the hidden information of the motion vector of the present invention is to modify the motion vector difference information (MVD) of the predicted motion vector (PMV) and the actual motion vector (MV) generated through the optimal mode determined in the macroblock The information is transmitted to the decoder so that the sum of the motion vector difference information (MVD) values generated in one macroblock is even.

그리고, 짝수합을 갖는 움직임 벡터 차분정보(MVD)를 결정할 때 H.264/AVC에서 이용하고 있는 율-왜곡 기법에 기반하여 숨김 정보가 들어가는 블록을 결정하는 것이다. In addition, when determining the motion vector difference information (MVD) having an even sum, a block containing hidden information is determined based on a rate-distortion technique used in H.264 / AVC.

본 발명에서는 H.264/AVC의 움직임 데이터 필드에 대한 정보 삽입을 하는 것이며, 효과적인 삽입을 위해 움직임 벡터의 부호화 방식에 착안하였다. H.264/AVC를 포함한 대부분의 동영상 부호화 방식에서는 영상프레임을 매크로블록 단위로 분할하여 이전에 부호화되어 재구성된 프레임으로부터 움직임을 추정하는 움직임 예측/보상(ME/MC)을 사용하고 있다.In the present invention, information is inserted into a motion data field of H.264 / AVC, and the present invention focuses on a coding method of a motion vector for effective insertion. Most video coding methods, including H.264 / AVC, use motion prediction / compensation (ME / MC), which splits an image frame into macroblock units and estimates motion from previously encoded and reconstructed frames.

H.264/AVC는 보다 효율적인 압축을 위하여 매크로블록(MB)당 화면내 예측(Intra-prediction)과 화면간 예측(Inter-prediction)과정에서 이전 압축 표준들과는 다른 블록 단위를 사용한다. 도 1 및 도 2에서 보는 바와 같이, 이전의 표준에서는 하나의 매크로블록 에서 8×8크기를 최소 기본 블록 단위가 되어 모든 부호화 과정이 수행되어졌지만, H.264/AVC는 화면간 예측에 있어서 16×16부터 4×4까지 다양한 가변적 크기의 블록 단위를 움직임 보상에 사용하였다. 이 과정에서 보다 정확한 예측을 위한 블록의 크기 선정과 발생되는 비트량과의 관계를 측정하여 최적의 것(Best mode)을 적용하는 방법이 도입되었다. H.264 / AVC uses different block units from previous compression standards in intra-prediction and inter-prediction per macroblock (MB) for more efficient compression. As shown in Fig. 1 and Fig. 2, in the previous standard, all encoding processes were performed by using a minimum basic block unit of 8 × 8 size in one macroblock, but H.264 / AVC has 16 Block units of variable sizes ranging from x16 to 4x4 were used for motion compensation. In this process, a method of applying the best mode by measuring the relationship between the block size selection and the amount of bits generated for more accurate prediction was introduced.

일반적으로 화면간 예측에서 어떤 블록의 움직임은 주변 블록들과 밀접한 상관 관계를 가지고 있다. 이런 블록간의 움직임 벡터의 상관성을 이용하여 부호화에 필요한 비트량을 줄일 수 있다. 현재 부호화하는 블록의 주변 블록으로부터 현재 블록의 움직임 정도를 예측하고, 예측된 움직임 벡터(PMV)를 이용하여 실제로 구해진 움직임 벡터(MV)와의 차분벡터(MVD: Motion Vector Difference)만을 부호화하게 된다. H.264/AVC는 주변 블록중 3개의 후보 움직임 벡터를 사용하여 수평성분과 수직성분 각각의 중앙값(Median predictor)을 사용하여 가변 블록 크기 움직임벡터를 처리하고 있다.In general, the movement of a block in inter prediction has a close correlation with neighboring blocks. By using the correlation of the motion vectors between the blocks, the amount of bits required for encoding can be reduced. The degree of motion of the current block is predicted from the neighboring blocks of the current encoding block, and only a difference vector (MVD) with the motion vector MV actually obtained using the predicted motion vector PMV is encoded. H.264 / AVC processes variable block size motion vectors using median predictors of horizontal and vertical components using three candidate motion vectors of neighboring blocks.

본 발명은 H.264/AVC의 이런 특징을 이용하여 영상 정보의 채널 전송시 생기는 에러의 위치를 최대한 정확하게 검출하기 위해, 부호화되어 보내어지는 매크로블록의 움직임 벡터 정보에 숨김 정보를 삽입하여 복호화기에서 쉽게 전송 오류를 찾아내게 하는 방법이다. 부호화기에서는 예측된 움직임 벡터(PMV)를 이용하여 실제로 구해진 움직임 벡터(MV)와의 차분 벡터값(MVD)를 전송하게 된다. 즉, 본 발명에서는 부호화기와 복호화기의 약속된 숨김 정보를 설정하는 데, 약속된 숨김 정보는 매크로 블록에서 발생되어 보내어지는 모든 움직임 벡터 차분정보(MVD)의 합이 짝수가 되도록 하는 것이다.The present invention utilizes this feature of H.264 / AVC to insert the hidden information into the motion vector information of the macroblock that is encoded and sent in order to accurately detect the position of an error occurring during channel transmission of the image information. This makes it easy to spot transmission errors. The encoder transmits the difference vector value MVD with the motion vector MV actually obtained using the predicted motion vector PMV. That is, according to the present invention, the promised hidden information of the encoder and the decoder is set. The promised hidden information is such that the sum of all motion vector difference information (MVD) generated and sent in the macroblock is even.

부호화기와 복호화기의 약속된 숨김 정보를 설정함에 있어서, 매크로 블록에서 발생되어 보내어지는 모든 움직임 벡터 차분정보(MVD)의 합이 짝수가 되도록 각 예측 모드에서의 마지막 블록의 MVD를 변경시키는 방법은 코딩 효율적인 면에서 잔여 데이터가 원래의 움직임 예측/보상(ME/MC)방법보다 많이 발생되어 부호화에 필요한 비트량을 많이 발생시키게 된다.  The method of changing the MVD of the last block in each prediction mode so that the sum of all motion vector difference information (MVD) generated and sent in the macroblock is even in setting the predetermined hidden information of the encoder and the decoder. In terms of efficiency, the residual data is generated more than the original motion prediction / compensation (ME / MC) method to generate a large amount of bits required for encoding.

H.264/AVC에서는 최적의 예측 모드를 결정하기 위해 율-왜곡 최적화(RDO: Rate-Distortion Optimization) 기법을 사용하고 있는 데, 본 발명에서는 율-왜곡 최적화(RDO)기법을 이용하여 비트량을 최대한 줄이면서 매크로 블록에서 발생되어 보내어지는 모든 움직임 벡터 차분정보(MVD)의 합이 짝수를 만족하도록 한다.In H.264 / AVC, a rate-distortion optimization (RDO) technique is used to determine an optimal prediction mode. In the present invention, bit rate is determined using a rate-distortion optimization (RDO) technique. While reducing as much as possible, the sum of all motion vector difference information (MVD) generated and sent in the macro block satisfies an even number.

도 1을 다시 참조하면, H.264/AVC에서는 화면간 예측을 위한 블록 크기와 모드는 16×16, 16×8, 8×16의 대블록 크기 외에 P8×8 예측 모드 블록 크기를 제공하고 있다. P8×8블록 모드는 하나의 8×8크기 블록을 8×8, 8×4, 4×8, 4×4 크기까지 더욱 세분화한다. 하나의 블록은 수평 성분의 차분 벡터값(MVD)과 수직 성분 차분 벡터값(MVD)하나씩을 발생시키게 된다. Referring back to FIG. 1, in H.264 / AVC, the block size and mode for inter prediction are provided with a P8 × 8 prediction mode block size in addition to the large block sizes of 16 × 16, 16 × 8, and 8 × 16. . The P8x8 block mode further subdivides one 8x8 block into 8x8, 8x4, 4x8 and 4x4 sizes. One block generates one differential vector value MVD and one vertical component difference vector value MVD of the horizontal component.

매크로 블록 크기가 16×16인 예측 경우에는 현재 부호화하는 매크로블록의 크기와 같으므로, 도 1의 1번 블록에서 한 쌍의 움직임 벡터 차분정보(MVD)값만이 발생할 수 있다. 이 수평, 수직 성분의 움직임 벡터 차분정보(MVD)의 합이 짝수가 되도록 움직임 예측(ME)과정을 수정하여 숨김 정보를 갖게 한다. 16×8, 8×16 블록의 예측에서는 매크로블록이 2개의 블록으로 쪼개져 2쌍의 움직임 벡터 차분정보(MVD)정보를 발생시킨다. In the case of the prediction in which the macroblock size is 16 × 16, it is the same as the size of the macroblock currently encoded, so that only a pair of motion vector difference information (MVD) values may occur in block 1 of FIG. 1. The motion prediction (ME) process is modified to have hidden information so that the sum of the motion vector difference information (MVD) of the horizontal and vertical components is even. In the prediction of 16x8 and 8x16 blocks, the macroblock is divided into two blocks to generate two pairs of motion vector difference information (MVD) information.

만약 움직임 벡터 차분정보(MVD)의 총합이 짝수가 된다면 그대로 복호기로 전송하도록 비트 부호화가 이루어진다. 하지만, 움직임 벡터 차분정보(MVD)의 총합이 홀수가 된다면 수학식 1과 같이 수정된 움직임 예측(ME)과정을 거치어 새로운 움직임 벡터(MV)위치를 찾게 된다. 새로운 움직임벡터(MV)는 숨김 정보의 약속인 짝수합을 전송하게 된다.If the sum of the motion vector difference information (MVD) becomes an even number, bit encoding is performed so that it is transmitted to the decoder as it is. However, if the sum of the motion vector difference information (MVD) becomes an odd number, the new motion vector (MV) position is found through the modified motion prediction (ME) process as shown in Equation (1). The new motion vector (MV) transmits an even sum which is an appointment of hidden information.

Figure 112011099152989-pat00001
Figure 112011099152989-pat00001

수학식1 에서는 숨김 정보가 들어갈 블록에서 행해지는 수정된 움직임 예측(ME)과정이 원래의 움직임 예측(ME)을 통해 결정된

Figure 112011099152989-pat00002
에 대하여 위, 아래, 좌, 우 4방향으로의 이동을 하게 되고, 각 이동된 자리에서 발생된 율-왜곡 비용을 비교하여 가장 작은 것을
Figure 112011099152989-pat00003
로 결정한다는 것을 의미한다. In Equation 1, a modified motion prediction (ME) process performed on a block to include hidden information is determined through original motion prediction (ME).
Figure 112011099152989-pat00002
It moves up, down, left, and right in four directions, and compares the rate-distortion cost incurred at each shifted position to
Figure 112011099152989-pat00003
Means to decide.

이 때 비트량을 최소화하기 위한 H.264/AVC에서의 최적 모드 결정을 위한 율-왜곡 기법인 수학식 2를 적용하여 수정되는 블록이 첫 번째 블록인지 두 번째 블록인지를 판단하게 된다. 즉, 수정된 움직임 예측(ME)과정이 16×8인 예측 모드에서는 도 1의 2번 블록 또는 3번 블록 각각에 대하여 행하여지고, 더 작은 율-왜곡 비용을 갖는 블록에 대하여 숨김 정보가 삽입된다. 8×16은 이와 마찬가지로 4번 블록 또는 5번 블록에 대하여 수행되고, 적은 율-왜곡 비용을 갖도록 숨김 정보가 삽입되는 블록이 정해진다.In this case, it is determined whether the modified block is the first block or the second block by applying Equation 2, which is a rate-distortion technique for determining an optimal mode in H.264 / AVC to minimize the amount of bits. That is, in the prediction mode in which the modified motion prediction (ME) process is 16 × 8, the block 2 or 3 of FIG. 1 is performed, and hidden information is inserted into blocks having a smaller rate-distortion cost. . 8 × 16 is likewise performed for block 4 or block 5, and a block into which hidden information is inserted is determined so as to have a low rate-distortion cost.

만약, 소블록 크기인 P8×8 블록 예측인 경우는 그 경우의 수가 복잡해진다. 하나의 매크로블록은 4개의 8×8블록으로 나누어져 각각이 작은 블록 크기로 분할된다. 이런 삽입 블록의 결정에서 많은 복잡도가 발생되는 것을 방지하기 위하여 삽입 과정을 위의 대블록 예측 모드의 경우와는 다르게 처리한다.In the case of P8 × 8 block prediction, which is a small block size, the number of cases becomes complicated. One macroblock is divided into four 8x8 blocks and each is divided into small block sizes. In order to prevent a lot of complexity in the determination of such an insertion block, the insertion process is processed differently from the case of the large block prediction mode.

즉, 율-왜곡 기법을 적용한 숨김 정보 삽입 예측 과정은 도 1에서의 9번 블록인 마지막 4번째 8×8블록의 경우만 적용하는 것을 제안한다. 이렇게 각각의 예측 모드에서 발생된 움직임 벡터 차분정보(MVD)의 총합이 짝수가 되도록 숨김 정보 삽입이 끝나게 되면, 최종적으로 각각의 모드에서 발생된 율-왜곡 비용을 비교하여 가장 적은 비용을 발생시키는 것이 최적 모드로 결정되고, 이 때의 숨김 정보가 들어간 움직임 벡터 차분정보(MVD)를 부호화하여 보내게 된다.That is, it is proposed that the hidden information insertion prediction process using the rate-distortion technique is applied only to the case of the last 4th 8x8 block, which is the 9th block in FIG. When the hidden information insertion is finished such that the sum of the motion vector difference information (MVD) generated in each prediction mode is even, it is final to compare the rate-distortion cost generated in each mode to generate the least cost. The optimal mode is determined, and motion vector difference information (MVD) containing hidden information at this time is encoded and sent.

Figure 112011099152989-pat00004
Figure 112011099152989-pat00004

여기서 수식의 첫 번째 항에 있는 s는 현재 부호화되는 매크로블록을, r(MV)는 MV에 의해 움직임 보상된 매크로블록을 뜻한다. SAD(Sum of Absolute Differenc)는 절대 차이값의 합을 말한다. 두 번째 항의 R은 rate로 MVD와 reference index에 의해 발생되는 비트를 뜻하며, λ는 라그랑지안 계수이다.Here, s in the first term of the equation refers to a macroblock currently encoded, and r (MV) refers to a macroblock that is motion compensated by MV. Sum of Absolute Differenc (SAD) is the sum of absolute differences. The second term, R, is the rate, the bit generated by the MVD and the reference index, and λ is the Lagrangian coefficient.

이와 같은 구성을 갖는 본 발명에 따른 움직임 벡터 숨김 정보 삽입을 이용한 에러 검출 방법을 도 3 내지 도 5를 이용하여 설명하면 다음과 같다. An error detection method using the motion vector hiding information insertion according to the present invention having such a configuration will be described below with reference to FIGS. 3 to 5.

H.264/AVC의 복호화기로 들어가는 비트스트림은 도 2에서 보는 것과 같은 구조로 이루어진다. 본 발명에 따른 H.264/AVC 베이스라인 프로파일에서의 움직임 벡터 숨김 정보 삽입을 이용한 에러 검출 방법은 도 3에서 보는 바와 같이, 먼저 전송되는 패킷 단위의 비트스트림들에 대한 Syntax/Semantic 검출 알고리즘에 의한 1차 에러 검출 방법을 수행(S100)한 후, 전송 오류 에러 검출 여부를 판단한다.(S200) The bitstream entering the decoder of H.264 / AVC has a structure as shown in FIG. The error detection method using motion vector hiding information insertion in the H.264 / AVC baseline profile according to the present invention is performed by using a Syntax / Semantic detection algorithm for the first transmitted bit streams as shown in FIG. After performing the primary error detection method (S100), it is determined whether a transmission error error is detected (S200).

Syntax/Semantic 검출 알고리즘에 의한 1차 에러 검출에서 전송 오류로 결정되면 에러발생 매크로블록(MB)로부터 슬라이스내 나머지 데이터들을 버림 처리하고(S600)정상적 데이터들을 가능한 보존하게 된다. 버림 처리된 매크로블록(MB)들은 H.264/AVC에서 기본적으로 제공되는 은닉 방법에 의해 보간 재구성된다.(S700) If it is determined that the transmission error is detected in the primary error detection by the Syntax / Semantic detection algorithm, the remaining data in the slice is discarded from the error-producing macroblock MB (S600) and the normal data is preserved as much as possible. The discarded macroblocks (MBs) are interpolated and reconstructed by a concealment method basically provided in H.264 / AVC (S700).

Syntax/Semantic 검출 알고리즘에 의한 1차 에러 검출이 종료된 후 본 발명에 따른 더 정확한 위치를 찾기 위하여 움직임 벡터 숨김 정보 삽입을 이용한 2차 에러 검출 방법이 수행된다.(S300) After the first error detection by the Syntax / Semantic detection algorithm is completed, a second error detection method using motion vector hiding information insertion is performed to find a more accurate position according to the present invention.

단계 S300은 도 4에서 보는 바와 같이, 부호화과정에서 매크로 블록에서 발생되어 보내어지는 모든 움직임 벡터 차분정보(MVD)의 합이 짝수가 되도록 부호화 하고(S201)복호기에서는 움직임 벡터 차분정보(MVD)값들을 하나의 매크로블록의 복호가 끝날 때까지 누적시킨다.(S202, S800) 움직임 벡터 필드의 복호가 끝나고, 매크로블록의 잔여 데이터 필드 복호가 시작되면, 지금까지 누적된 움직임 벡터 차분 정보(MVD)의 총합이 짝수인지의 여부를 판단하는 것이다.(S203~S204)In operation S300, as shown in FIG. 4, the motion vector difference information (MVD) values are encoded in the encoding process such that the sum of all motion vector difference information (MVD) generated and sent in the macroblock is even (S201). Accumulate until the end of decoding of one macroblock. (S202, S800) When the decoding of the motion vector field is finished and the decoding of the remaining data field of the macroblock starts, the sum of the motion vector difference information (MVD) accumulated so far is accumulated. It is to judge whether or not the number is even. (S203 to S204)

단계 S204이후에 지금까지 누적된 움직임 벡터 차분 정보(MVD)의 총합이 짝수가 아니라면 도 1의 과정과 동일하게 전송중 에러로 판단하여 에러발생 매크로블록(MB)로부터 슬라이스내 나머지 데이터들을 버림 처리하고(S600)정상적 데이터들을 가능한 보존하게 된다. 버림 처리된 매크로블록(MB)들은 H.264/AVC에서 기본적으로 제공되는 은닉 방법에 의해 보간 재구성된다.(S700)단계 S204이후에 지금까지 누적된 움직임 벡터 차분 정보(MVD)의 총합이 짝수라면 부호화된 후 전송과정에서 에러가 없다고 판단하고 정상적으로 전송된 매크로 블록의 영상을 재구성한다.(S500)If the sum of the motion vector difference information (MVD) accumulated up to now after step S204 is not an even number, the remaining data in the slice are discarded from the error-occurring macroblock MB in the same manner as in FIG. (S600) Normal data is preserved as much as possible. The discarded macroblocks (MBs) are interpolated and reconstructed by a concealment method basically provided in H.264 / AVC. (S700) If the sum of the motion vector difference information (MVD) accumulated up to now after step S204 is an even number, After encoding, it is determined that there is no error in the transmission process and reconstructs the image of the normally transmitted macro block.

또한, 본 발명에 따른 움직임 벡터 숨김 정보 삽입을 이용한 에러 검출 방법의 부호화 과정은 도 5에서 보는 바와 같이, H.264/AVC의 화면간 예측모드에서 16×16, 16×8, 8×16의 대블록 크기인지 P8×8 블록 크기인지를 판단한다.(단계 S211~S213)Also, as shown in FIG. 5, the encoding process of the error detection method using motion vector hiding information insertion according to the present invention is performed in 16 × 16, 16 × 8, and 8 × 16 in the H.264 / AVC inter prediction mode. It is determined whether it is a large block size or a P8 × 8 block size (steps S211 to S213).

매크로 블록 크기가 16×16, 16×8, 8×16의 대블록 크기라면, 움직임 예측(ME)과정을 거친 움직임 벡터 차분정보(MVD)의 총합을 구한다.(단계 S214) S214단계에서 움직임 벡터 차분정보(MVD)의 총합이 짝수가 된다면 숨김정보의 삽입이 없이 그대로 복호기로 전송하며, 움직임 벡터 차분정보(MVD)의 총합이 홀수가 된다면 수학식 1과 같이 수정된 새로운 움직임 벡터(MV)위치를 찾아 새로운 움직임벡터(MV)에 의하여 숨김 정보의 약속인 짝수합을 전송하게 된다.(단계 S217~S219)If the macroblock size is a large block size of 16 × 16, 16 × 8, and 8 × 16, the sum of the motion vector difference information (MVD) obtained through the motion prediction (ME) process is obtained. (Step S214) The motion vector in step S214. If the sum of the difference information (MVD) is even, it is transmitted to the decoder as it is without insertion of hidden information. If the sum of the motion vector difference information (MVD) is odd, the new motion vector (MV) position modified as shown in Equation 1 Find and transmit the even-numbered sum of promises of the hidden information by the new motion vector (MV) (steps S217 to S219).

만약, 단계 S213에서 소블록 크기인 P8×8 블록 예측인 경우는 하나의 매크로블록은 4개의 8×8블록으로 나누어져 작은 블록 크기로 분할되므로 숨김 정보 삽입 블록의 결정에서 많은 복잡도가 발생된다. 따라서, 숨김 정보 삽입 과정을 위의 3개의 대블록 경우와는 다르게 마지막 4번째 8×8블록의 경우만 적용한다.(단계 S213~S216)In the case of P8 × 8 block prediction, which is a small block size, in step S213, one macroblock is divided into four 8 × 8 blocks and is divided into a small block size. Therefore, a lot of complexity is generated in the determination of the hidden information insertion block. Therefore, unlike the above three large blocks, the hidden information insertion process is applied only to the case of the last 4th 8 × 8 block (steps S213 to S216).

마찬가지로 소블록 크기인 P8×8 블록 예측인 경우에도 매크로 블록 전체에서 발생된 움직임 벡터 차분정보(MVD)의 총합이 짝수가 된다면 그대로 복호기로 전송하며, 움직임 벡터 차분정보(MVD)의 총합이 홀수가 된다면 마지막 P8×8 블록에서만 수학식 1과 같이 수정된 새로운 움직임 벡터(MV)위치를 찾아 새로운 움직임벡터(MV)에 의하여 숨김 정보의 약속인 짝수합을 전송하게 된다.(단계 S217~S219)Similarly, even in the case of P8 × 8 block prediction having a small block size, if the sum of the motion vector difference information (MVD) generated in the entire macroblock becomes even, it is transmitted to the decoder as it is, and the sum of the motion vector difference information (MVD) is odd. If only the last P8x8 block finds the modified position of the new motion vector (MV) as shown in Equation 1, the even sum, which is the promise of the hidden information, is transmitted by the new motion vector (MV) (steps S217 to S219).

이렇게 각각의 예측 모드에서 발생된 움직임 벡터 차분정보(MVD)의 총합이 짝수가 되도록 숨김 정보 삽입이 끝나게 되면, 최종적으로 수학식 2와 같이 각각의 모드에서 발생된 율-왜곡 비용을 비교하여 가장 적은 비용을 발생시키는 것을 최적 모드로 결정하고,(단계 S220)이때 숨김 정보가 들어간 움직임 벡터 차분정보(MVD)를 부호화하여 보내게 된다. When the hidden information insertion is completed such that the sum of the motion vector difference information (MVD) generated in each prediction mode is even, the rate-distortion cost generated in each mode is finally compared to the lowest value, as shown in Equation (2). The cost generation is determined as an optimal mode (step S220), and the motion vector difference information MVD containing the hidden information is encoded and sent.

본 발명에 따른 움직임 벡터에 대한 숨김 정보를 이용한 에러 검출 방법은 전송 과정에서 생긴 오류를 검출할 때 H.264/AVC에서 기본적인 에러 위치 검출방법인 syntax/semantic 알고리즘과 병행하여 매크로블록당 전송되어진 움직임 벡터 차분정보(MVD)의 총합을 이용한 숨김 정보를 부호화하고 이를 복호하여 정확한 에러 발생 위치를 검출할 수 있다.The error detection method using the hidden information on the motion vector according to the present invention is a motion transmitted per macroblock in parallel with the syntax / semantic algorithm, which is a basic error location detection method in H.264 / AVC, when detecting an error generated in the transmission process. Hidden information using the sum of the vector difference information (MVD) is encoded and decoded to detect an accurate error occurrence position.

이상에서 본 발명의 바람직한 실시예를 상세히 설명하였으나, 본 발명은 이에 한정되는 것이 아니며 본 발명의 기술적 사상의 범위내에서 당업자에 의해 그 개량이나 변형이 가능하다.
Although the preferred embodiment of the present invention has been described in detail above, the present invention is not limited thereto and may be improved or modified by those skilled in the art within the scope of the technical idea of the present invention.

Claims (4)

매크로블록에서 결정된 예측된 움직임 벡터와 실제 움직임 벡터와의 차이값인 움직임 벡터 차분정보(MVD)를 수정하여 상기 매크로블록에서 발생된 움직임 벡터 차분정보(MVD)값의 총합이 짝수가 되도록 부호화하여 전송하는 부호화과정;
상기 부호화 과정에서 전송되는 패킷 단위의 비트스트림들에 대한 Syntax/Semantic 검출 알고리즘에 의한 전송 오류 에러를 검출 검출하는 1차 에러 검출 과정;
상기 1차 에러 검출이 종료된 후 상기 부호과정에서 부호화된 움직임 벡터 차분정보(MVD)값들을 상기 매크로블록의 움직임 벡터 필드의 복호의 종료시까지 누적시키고, 누적된 움직임 벡터 차분 정보(MVD)의 총합이 짝수인지의 여부를 판단하는 2차 에러 검출 과정; 및
상기 1차 및 2차 에러 검출에서 전송 오류로 결정되면 에러발생 매크로블록(MB)로부터 슬라이스내 나머지 데이터들을 버림 처리하고, 상기 버림 처리된 매크로블록(MB)들을 H.264/AVC에서 제공되는 은닉 방법에 의해 보간 재구성하는 데이터 처리과정을 포함하는 H.264/AVC 베이스라인 프로파일에서의 움직임 벡터 숨김 정보 삽입을 이용한 에러 검출 방법.
By modifying the motion vector difference information (MVD), which is a difference between the predicted motion vector determined in the macroblock and the actual motion vector, encoding and transmitting so that the sum of the motion vector difference information (MVD) values generated in the macroblock is even. Encoding process;
A primary error detection step of detecting and detecting a transmission error error by a Syntax / Semantic detection algorithm for the packet streams transmitted in the encoding process;
After the first error detection is completed, the motion vector difference information (MVD) values encoded in the encoding process are accumulated until the end of decoding of the motion vector field of the macroblock, and the sum of the accumulated motion vector difference information (MVD) is accumulated. A second error detection step of determining whether the number is even; And
If it is determined that the transmission error is detected in the primary and secondary error detection, the remaining data in the slice is discarded from the error-occurring macroblock (MB), and the discarded macroblocks (MB) are hidden in H.264 / AVC. An error detection method using motion vector hiding information insertion in an H.264 / AVC baseline profile including interpolation reconstruction by the method.
제 1 항에 있어서, 상기 부호화 과정은
ⅰ)화면간 예측모드에서 16×16, 16×8, 8×16의 대블록 모드인지 P8×8의 블록 모드인지를 판단하는 모드 판단 단계;
ⅱ)상기 모드 판단 단계에서 대블록 모드라면, 움직임 벡터 차분정보(MVD)의 총합을 산출하고, 산출된 움직임 벡터 차분정보(MVD)의 총합이 짝수라면 숨김정보 삽입없이 그대로 복호기로 전송하며, 산출된 움직임 벡터 차분정보(MVD)의 총합이 홀수라면 새로운 움직임벡터(MV)에 의하여 숨김 정보인 움직임 벡터 차분정보(MVD)의 짝수합을 전송하는 대블록 모드 전송단계;
ⅲ)상기 모드 판단 단계에서 P8×8의 블록 모드라면 마지막 8×8블록인지를 판단하여, 마지막 8×8블록에서만 움직임 벡터 차분정보(MVD)의 총합을 산출하고, 산출된 움직임 벡터 차분정보(MVD)의 총합이 짝수라면 숨김 정보 삽입이 없이 그대로 복호기로 전송하며, 산출된 움직임 벡터 차분정보(MVD)의 총합이 홀수라면 새로운 움직임벡터(MV)에 의하여 숨김 정보인 움직임 벡터 차분정보(MVD)의 짝수합을 전송하는 P8×8 블록 모드 전송단계; 및
ⅳ)상기 ⅱ단계와 ⅲ단계후에 각각의 모드에서 발생된 율-왜곡 비용을 비교하여 최소의 비용을 발생시키는 것을 최적 모드로 결정하고 결정된 숨김 정보가 들어간 움직임 벡터 차분정보(MVD)를 부호화하여 보내는 전송단계를 포함하는 것을 특징으로 하는 H.264/AVC 베이스라인 프로파일에서의 움직임 벡터 숨김 정보 삽입을 이용한 에러 검출 방법.
The method of claim 1, wherein the encoding process
I) a mode determination step of determining whether the 16x16, 16x8, 8x16 large block mode or the P8x8 block mode is used in the inter prediction mode;
Ii) In the mode determining step, in the large block mode, the total sum of the motion vector difference information MVD is calculated, and if the total sum of the calculated motion vector difference information MVD is even, it is transmitted to the decoder without insertion of hidden information. A large block mode transmission step of transmitting an even sum of motion vector difference information MVD which is hidden information by a new motion vector MV when the total sum of the motion vector difference information MVD is odd;
(Iii) In the mode determination step, if the block mode is P8x8, it is determined whether the block is the last 8x8 block, the total sum of the motion vector difference information (MVD) is calculated only in the last 8x8 block, and the calculated motion vector difference information ( If the sum of MVD is even, it is transmitted to the decoder without insertion of hidden information. If the sum of the calculated motion vector difference information is odd, the motion vector difference information (MVD), which is hidden information by the new motion vector (MV), is transmitted. A P8 × 8 block mode transmission step of transmitting an even sum of; And
Iv) comparing the rate-distortion cost generated in each mode after step ii and step iii to determine the optimal mode to generate the minimum cost, and to encode and send the motion vector difference information (MVD) containing the determined hidden information. An error detection method using motion vector hiding information insertion in an H.264 / AVC baseline profile comprising a transmitting step.
제 2항에 있어서,ⅱ단계와 ⅲ단계에서 상기 움직임 벡터 차분정보(MVD)의 총합이 홀수가 되면 하기식 1에 의하여 수정된 움직임 예측(ME)과정을 거치어 새로운 움직임 벡터(MV)위치를 찾는 것을 특징으로 하는 H.264/AVC 베이스라인 프로파일에서의 움직임 벡터 숨김 정보 삽입을 이용한 에러 검출 방법.
Figure 112013056528813-pat00005
식 1
상기 식 1에서, MVw는 숨김 정보가 들어간 MV이고, J(MVx, MVy)는 MVx, MVy의 위치에서의 율-왜곡 비용이고, min{ }는 { }안에서 발생된 율-왜곡 비용을 비교하여 가장 적은 값을 선택하는 것을 의미하고, MVx-1는 MVx의 위치에서 수평적으로 좌로 1화소(픽셀(pixel)) 이동된 위치이고,, MVx+1는 MVx의 위치에서 수평적으로 우로 1화소 이동된 위치이고, MVy-1는 MVy의 위치에서 수직적으로 위로 1화소 이동된 위치이고, MVy+1는 MVy의 위치에서 수직적으로 아래로 1화소 이동된 위치를 나타내고,
상기 식 1의 수정된 움직임 예측(ME)과정은 원래의 움직임 예측(ME)을 통해 결정된 MVx, MVy 에 대하여 상, 하, 좌, 우 4방향으로의 이동을 하게 되고, 각 이동된 자리에서 발생된 율-왜곡 비용을 비교하여 가장 작은 것을 MVw 로 결정한다는 것을 의미함.
According to claim 2, If the sum of the motion vector difference information (MVD) is odd in step ii and step ⅲ is a new motion vector (MV) position through the motion prediction (ME) process modified by the following equation 1 Error detection method using motion vector hiding information insertion in H.264 / AVC baseline profile.
Figure 112013056528813-pat00005
Equation 1
In Equation 1, MV w is MV containing hidden information, J (MV x , MV y ) is the rate-distortion cost at the position of MV x , MV y , min {} is the rate generated in {}- means for selecting the smallest value by comparing the distortion cost, MV x-1 is the horizontal moving left one pixel (a pixel (pixel)) located at the position of the MV x ,, x MV + MV x is 1, and the at a position lateral to the right one pixel movement position, MV y-1 is a vertically up one pixel moving position at the position of the MV y, MV y + 1 is one pixel down vertically in the position of the MV y Indicates the moved position,
In the modified motion prediction (ME) process of Equation 1, MV x and MV y determined through the original motion prediction (ME) are moved in four directions, up, down, left, and right, and each moved position By comparing the rate-distortion costs incurred at, we determine the smallest MV w .
제 2항에 있어서, 상기 ⅳ단계에서 각각의 모드에서 발생된 율-왜곡 비용을 비교하여 가장 적은 비용을 발생시키는 것이 최적 모드로 결정하는 것은 하기 식 2에 의하여 수행되는 것을 특징으로 하는 H.264/AVC 베이스라인 프로파일에서의 움직임 벡터 숨김 정보 삽입을 이용한 에러 검출 방법.
Figure 112011099152989-pat00006
식 2
상기 식2에서 s는 현재 부호화되는 매크로블록이며, r(MV)는 MV에 의해 움직임 보상된 매크로블록이고, SAD은 절대 차이값의 합이며, R은 rate로 MVD와 reference index(REF)에 의해 발생되는 비트이고, λ는 라그랑지안 계수임.
The method of claim 2, wherein the determining of the optimal mode to generate the least cost by comparing the rate-distortion cost generated in each mode in the step 되는 is performed by Equation 2 below. Error Detection Method Using Motion Vector Hidden Information Insertion in AVC / AVC Baseline Profile.
Figure 112011099152989-pat00006
Equation 2
In Equation 2, s is a macroblock currently encoded, r (MV) is a motion-compensated macroblock by MV, SAD is a sum of absolute difference values, and R is a rate by MVD and a reference index (REF). Is the generated bit, and λ is the Lagrangian coefficient.
KR1020110134114A 2011-12-14 2011-12-14 method for error detection using the data hiding of motion vector based on the RDO for H.264/AVC baseline profile KR101307682B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110134114A KR101307682B1 (en) 2011-12-14 2011-12-14 method for error detection using the data hiding of motion vector based on the RDO for H.264/AVC baseline profile

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110134114A KR101307682B1 (en) 2011-12-14 2011-12-14 method for error detection using the data hiding of motion vector based on the RDO for H.264/AVC baseline profile

Publications (2)

Publication Number Publication Date
KR20130067508A KR20130067508A (en) 2013-06-25
KR101307682B1 true KR101307682B1 (en) 2013-09-12

Family

ID=48863318

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110134114A KR101307682B1 (en) 2011-12-14 2011-12-14 method for error detection using the data hiding of motion vector based on the RDO for H.264/AVC baseline profile

Country Status (1)

Country Link
KR (1) KR101307682B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10129566B2 (en) 2015-03-16 2018-11-13 Microsoft Technology Licensing, Llc Standard-guided video decoding performance enhancements
US9979983B2 (en) 2015-03-16 2018-05-22 Microsoft Technology Licensing, Llc Application- or context-guided video decoding performance enhancements

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090000502A (en) * 2007-06-28 2009-01-07 삼성전자주식회사 Method and apparatus adaptive to characteristics of the adjacent blocks of lost block
JP2010278533A (en) * 2009-05-26 2010-12-09 Fujitsu Ltd Moving image decoder, moving image decoding method and computer program for decoding moving image
JP2011142670A (en) * 2011-03-15 2011-07-21 Toshiba Corp Digital image decoder and digital image encoding method
KR20110088927A (en) * 2010-01-29 2011-08-04 충북대학교 산학협력단 Error concealing device for h.264/avc decorder and method thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090000502A (en) * 2007-06-28 2009-01-07 삼성전자주식회사 Method and apparatus adaptive to characteristics of the adjacent blocks of lost block
JP2010278533A (en) * 2009-05-26 2010-12-09 Fujitsu Ltd Moving image decoder, moving image decoding method and computer program for decoding moving image
KR20110088927A (en) * 2010-01-29 2011-08-04 충북대학교 산학협력단 Error concealing device for h.264/avc decorder and method thereof
JP2011142670A (en) * 2011-03-15 2011-07-21 Toshiba Corp Digital image decoder and digital image encoding method

Also Published As

Publication number Publication date
KR20130067508A (en) 2013-06-25

Similar Documents

Publication Publication Date Title
TWI401972B (en) Method for temporal error concealment
MXPA06003925A (en) Direct mode derivation process for error concealment.
JP2009524364A (en) Method and apparatus for determining an encoding method based on distortion values associated with error concealment
El-Shafai Joint adaptive pre-processing resilience and post-processing concealment schemes for 3D video transmission
CN110493603B (en) Multi-view video transmission error control method based on rate distortion optimization of joint information source channel
Wu et al. A temporal error concealment method for H. 264/AVC using motion vector recovery
US9549183B2 (en) Method and device for estimating video quality on bitstream level
Liu et al. Error concealment for whole frame loss in HEVC
EP1929785A2 (en) Channel switch frame
KR101307682B1 (en) method for error detection using the data hiding of motion vector based on the RDO for H.264/AVC baseline profile
KR101082581B1 (en) Error Concealing Device for H.264/AVC Decorder and Method thereof
Pang et al. Relativity analysis-based error concealment algorithm for entire frame loss of stereo video
Xiang et al. A joint encoder–decoder error control framework for stereoscopic video coding
KR20070090494A (en) Inter frame error concealment method and apparatus using the average motion vector
Gennari et al. A robust H. 264 decoder with error concealment capabilities
Suzuki et al. An improved low delay inter frame coding using template matching averaging
Dong et al. Multiple description video coding based on adaptive data reuse
Zhang et al. End-to-end distortion estimation for H. 264 with unconstrained intra prediction
Shen et al. A new error concealment algorithm for H. 264/AVC
Midya et al. Scene transition based adaptive GOP selection for increasing coding efficiency & resiliency
Jian et al. Effective error concealment algorithm by boundary information for H. 264 Video Decoder
Wu et al. Block-based weighted pixel-value superposition algorithm for inter-frame error concealment
Chen et al. An Adaptive Error Concealment Scheme for H. 264/AVG Transmission over Packet-Loss networks
KR100620695B1 (en) Method of transmitting moving picture data as a video packet
Hui Spatial-Temporal Error Concealment Scheme for Intra-coded Frames

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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160902

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee