KR20130067508A - H.264/avc 베이스라인 프로파일에서의 rdo에 기반한 움직임 벡터 숨김 정보 삽입을 이용한 에러 검출 방법 - Google Patents
H.264/avc 베이스라인 프로파일에서의 rdo에 기반한 움직임 벡터 숨김 정보 삽입을 이용한 에러 검출 방법 Download PDFInfo
- Publication number
- KR20130067508A KR20130067508A KR1020110134114A KR20110134114A KR20130067508A KR 20130067508 A KR20130067508 A KR 20130067508A KR 1020110134114 A KR1020110134114 A KR 1020110134114A KR 20110134114 A KR20110134114 A KR 20110134114A KR 20130067508 A KR20130067508 A KR 20130067508A
- Authority
- KR
- South Korea
- Prior art keywords
- motion vector
- error
- mvd
- information
- sum
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/89—Methods 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/895—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/567—Motion estimation based on rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
본 발명은 H.264/AVC 복호기에서 전송시 발생된 오류로 인한 에러를 보다 정확히 검출하기 위한 방법으로서, 매크로블록 내에서 발생되는 움직임 벡터의 정보에 약속된 숨김 정보를 삽입하는 것이다. 숨김 정보가 삽입되는 블록은 H.264/AVC에서 이용하는 율-왜곡 기법에 기반하여 결정한다. 복호기에서는 별다른 부가 정보 없이 추출한 숨김 정보의 변형 여부를 이용하여 전송된 비트열(Bit-streams)의 에러 발생 지점을 매크로블록 단위로 정확히 검출할 수 있다. 그리하여 에러 검출에 의한 오류 데이터들을 버리고 정상적 데이터들을 가능한 보존할 수 있게 된다. 버려진 정보의 매크로블록들은 H.264/AVC에서 기본적으로 제공되는 은닉 방법에 의해 보간 재구성되며, 정확한 에러 위치의 검출을 통해 영상내 에러 전파를 최소화할 수 있다.
Description
본 발명은 H.264/AVC 베이스라인 프로파일에서의 움직임 벡터 숨김 정보 삽입을 이용한 에러 검출 방법에 관한 것을, 특히 H.264/AVC 베이스라인 프로파일을 사용하여 부호화되어 보내어지는 매크로블록의 움직임 벡터 정보에 숨김 정보를 삽입하여 복호화기에서 쉽게 전송 오류를 찾아내게 함으로서 전송 채널에 의해 발생한 오류로 인한 에러 발생 지점을 최대한 정확하게 검출할 수 있는 H.264/AVC 베이스라인 프로파일에서의 움직임 벡터 숨김 정보 삽입을 이용한 에러 검출 방법에 관한 것이다.
H.264/AVC는 매우 높은 데이터 압축률을 가지는 디지털 비디오 코덱 표준으로 MPEG-4 파트 10 또는 MPEG-4/AVC(Advanced Video Coding)라 부르기도 한다. H.264/AVC는 압축 효율성을 높이기 위해 제안되었던 기술들 중 복잡도가 높아, 그 동안 실제 표준안에 쓰이지 않았던 것들을 채택하여 만들어졌다. 이를 통해 이전의 표준안들보다 동일 비트율에서 약 2배의 압축률 증가를 가져올 수 있었다. 하지만 복잡도가 높은 기술들을 모두 사용하게 되면 부/복호기 양측에서의 부담은 그만큼 높아지게 된다.
이런 문제점을 해결하기 위하여, H.264/AVC는 응용 목적에 따라 적용되는 기술들을 모은 3개의 프로파일(profile)을 제공하고 있다. 스트리밍 미디어 서비스를 위한 확장프로파일(Extended-profile), TV방송이나 비디오 저장 매체를 위한 메인 프로파일(main-profile), 그리고 화상 전화나 회의를 위한 베이스라인 프로파일(baseline-profile)이 그것이다. 이 중, 베이스라인 프로파일은 그 응용 목적에 있어서 시간 지연을 최대한 허용하지 않는 분야이므로 복잡도가 상대적으로 적은 기술들만을 채택하였다.
압축 효율이 좋아질수록 채널을 통한 데이터 전송시 발생되는 오류에 더욱 민감하게 되며, 전송 에러 전파에 따른 화질 열화 또한 커지게 되었다. H.264/AVC는 NAL이라고 불리는 패킷 형태로 데이터를 전송하게 되는데 기본적으로 패리티 검사를 통한 패킷 손상 여부를 판단한 후, 에러가 발생되었다고 결정을 내리게 되면 패킷 전체를 버리게 하고 있다. 이는 제대로 전송된 매크로블록들의 정보 또한 버리게 되는 것이 되므로 많은 화질 저하가 발생하게 된다. 화질 저하가 발생된 프레임은 동영상 압축의 시간적 상관성 때문에 계속적으로 에러가 전파되어진다. 이런 문제의 해결을 위해 이전의 표준안들부터 여러 가지 에러 강인 연구가 진행되어 왔다.
H.264/AVC에는 전송시 발생되는 에러에 대한 대책으로 중요한 데이터의 재전송, 슬라이스 단위를 사용한 프레임내 에러 전파 방지, 예비슬라이스를 사용한 부호화를 이용하여 주슬라이스가 에러에 의해 복호할 수 없을 경우 예비슬라이스로 들어오는 비트열을 통한 정상복호화, 영상의 중요 영역 설정을 통한 슬라이스 분리 부호화, 중요 데이터의 우선순위를 통한 전송수단 선택법등을 제시하고 있다. 이러한 방법들은 피드백이 없는 채널 상황에서도 에러 발생 프레임에 대한 대책이 되긴 하지만, 여러 슬라이스 단위로의 분할에 의해 전송되어지는 비트열의 길이가 최대 2배 이상까지 늘어나게 되어 복호기에서는 버퍼량의 관리와 복호시간이 증가되는 문제에 영향을 주게 된다.
또한, 전송채널로 전송시 발생되는 에러에 대한 대책을 위해 선행되어야 할 것은 정확한 에러 위치의 검출이다. 전송채널로 전송시 발생되는 에러는 시간적 딜레이와 많은 비트를 추가하게 된다. 이를 해결하기 위해 비트열로 보내어지는 정보 안에 간단한 워터마킹을 이용한 숨김 데이터를 삽입하여 에러 발생 지점을 쉽게 찾아내어 오류를 검출하고자 하는 여러 가지 방법들이 연구되어 왔다.
기본적인 검출 방법으로는 syntax/semantic 검사에 기반을 둔 알고리즘이 있다. 이 방법은 부/복호기에서 syntax의 미리 정해진 매핑 규칙에 어긋나는 비트열을 일차적으로 체크하고, 동영상의 특징상 나타날 수 없는 여러 semantic 특성들을 검사하는 방법이다. 비트열 자체에서의 검출을 할 수 있어 패킷 단위가 아닌 매크로블록 단위의 정보로서 에러를 검출할 수 있게 한다는 장점이 있다. 하지만 전송된 비트열에 에러가 발생한 상황임에도 불구하고 현재 syntax및 semantic적으로 아무 이상이 없다고 판단되는 경우, 복호기는 비정상적인 다음 매크로블록들의 재구성을 계속적으로 수행하게 된다. 그래서 일반적으로 수개의 매크로블록 혹은 하나의 프레임이 복호될 때까지 전송 오류를 검출하지 못하는 검출 딜레이가 발생할 수 있다. 이는 현재 영상의 제대로 된 재구성을 하지 못하게 하고, 다음 영상으로 그 잘못된 에러가 계속적으로 전파되는 현상을 나타나게 한다.
syntax/semantic 검사 방법에 의한 에러 검출의 지연 현상을 막고, 보다 정확한 에러 위치를 검출하기 위한 연구들이 있었다. 에러 검출률 향상 기법으로 많이 사용되는 워터마킹(watermarking)을 이용한 정보 숨김(Data Hiding)은 약간의 PSNR 감소나 비트량 증가와 같은 손해를 감수하면서 부호화시 영상 정보 내에 숨김 정보를 같이 보내는 것이다.
복호기에서는 이 숨겨진 정보의 유지 여부를 판단하여 검출 능력 향상을 도와 syntax 알고리즘보다 정확한 에러 발생 위치를 찾을 수 있게 된다. 영상 정보에서 숨김 정보를 넣는 위치는 대부분의 연구에서 매크로블록(Macroblock: MB) 단위에서 모션벡터(Motion Vector)와 잔여 데이터(Residual)필드의 2곳에 각각 혹은 혼합하여 넣는 방법을 이용하고 있다. 모션 벡터와 잔여 데이터를 제외한 그 외의 필드에 숨김 정보를 삽입하는 것은 복호기측에서 매크로블록의 재구성에 많은 영향을 미치게 되기 때문에 많은 연구가 없었다. 최근에는 H.264/AVC에서 채택한 여러 발생 모드 필드에도 삽입하고자 하는 연구가 있었지만, 이는 비트의 발생을 증가시키는 단점을 발생시켰다.
본 발명은 이러한 문제점을 해결하기 위하여 발명된 것으로, 먼저, H.264/AVC 복호기에서 전송시 발생된 오류로 인한 에러를 보다 정확히 검출하기 위하여 매크로블록 내에서 발생되는 움직임 벡터의 정보에 약속된 숨김 정보를 삽입한다. 본 발명에서는 숨김 정보가 삽입되는 블록이 H.264/AVC에서 이용하는 율-왜곡 기법에 기반하여 결정되며, 복호기에서는 별다른 부가 정보 없이 추출한 숨김 정보의 변형 여부를 이용하여 전송된 비트열(Bit-streams)의 에러 발생 지점을 매크로블록 단위로 정확히 검출할 수 있게 하는 H.264/AVC 베이스라인 프로파일에서의 움직임 벡터 숨김 정보 삽입을 이용한 에러 검출 방법을 제공하는 데 그 목적이 있다.
이와 같은 목적을 수행하기 위한 본 발명은,
매크로블록에서 결정된 예측된 움직임 벡터와 실제 움직임 벡터와의 차이값인 움직임 벡터 차분정보(MVD)를 수정하여 상기 매크로블록에서 발생된 차분 벡터(MVD)값의 총합이 짝수가 되도록 부호화하여 전송하는 부호화과정;
부호화 과정에서 전송되는 패킷 단위의 비트스트림들에 대한 Syntax/Semantic 검출 알고리즘에 의한 전송 오류 에러를 검출 검출하는 1차 에러 검출 과정;
1차 에러 검출이 종료된 후 상기 부호과정에서 부호화된 움직임 벡터 차분정보(MVD)값들을 상기 매크로블록의 움직임 벡터 필드의 복호의 종료시까지 누적시키고, 누적된 움직임 벡터 차분 정보(MVD)의 총합이 짝수인지의 여부를 판단하는 2차 에러 검출 과정; 및
1차 및 2차 에러 검출에서 전송 오류로 결정되면 에러발생 매크로블록(MB)으로부터 슬라이스 내 나머지 데이터들을 버림 처리하고, 상기 버림 처리된 매크로블록(MB)들을 H.264/AVC에서 제공되는 은닉 방법에 의해 보간 재구성하는 데이터 처리과정을 포함한다.
본 발명에 따른 움직임 벡터에 대한 숨김 정보를 이용한 에러 검출 방법은 전송되어지는 비트스트림의 복호 과정에서 각 매크로 블록당 전송되어진 움직임 벡터 차분정보(MVD)의 총합을 검사하면, 전송 과정에서 생긴 오류를 기본적인 에러 위치 검출방법인 syntax/semantic 알고리즘과 더불어 보다 정확한 에러 발생 위치를 검출할 수 있다. 정확한 에러 발생 위치의 검출은 이를 통한 에러 은닉의 적용에 효과적인 영향을 미친다. 즉, 에러가 지연된 위치에서 검출된 것보다 현재 프레임의 화질 저하를 최소화할 수 있으며, 에러 전파를 효과적으로 막을 수 있게 된다.
도 1은 H.264/AVC의 화면간 예측에 쓰이는 모드별 블록 크기를 도시한 도면이다.
도 2는 도식화된 비트스트림의 Syntax 구조도이다.
도 3은 본 발명에 따른 매크로블록 레벨에서의 에러 검출 방법을 보여주는 흐름도이다.
도 4는 본 발명에 따른 복호기에서의 숨김 정보를 추출하는 과정을 보여주는 흐름도이다.
도 5는 본 발명에 따른 부호기에서의 움직임 벡터 데이터에 대한 숨김 정보 삽입 과정을 보여주는 흐름도이다.
도 2는 도식화된 비트스트림의 Syntax 구조도이다.
도 3은 본 발명에 따른 매크로블록 레벨에서의 에러 검출 방법을 보여주는 흐름도이다.
도 4는 본 발명에 따른 복호기에서의 숨김 정보를 추출하는 과정을 보여주는 흐름도이다.
도 5는 본 발명에 따른 부호기에서의 움직임 벡터 데이터에 대한 숨김 정보 삽입 과정을 보여주는 흐름도이다.
본 발명의 움직임 벡터에 대한 숨김 정보를 이용한 에러 검출 방법은 매크로블록에서 결정된 최적 모드를 통해 발생되는 예측된 움직임 벡터(PMV)와 실제 움직임 벡터(MV)와의 움직임 벡터 차분정보(MVD)를 수정하여, 하나의 매크로블록에서 발생된 차분 벡터(MVD)값의 총합이 짝수가 되도록 약속된 정보를 복호기에 전송한다.
그리고, 짝수합을 갖는 움직임 벡터 차분정보(MVD)를 결정할 때 H.264/AVC에서 이용하고 있는 율-왜곡 기법에 기반하여 숨김 정보가 들어가는 블록을 결정하는 것이다.
본 발명에서는 H.264/AVC의 움직임 데이터 필드에 대한 정보 삽입을 하는 것이며, 효과적인 삽입을 위해 움직임 벡터의 부호화 방식에 착안하였다. H.264/AVC를 포함한 대부분의 동영상 부호화 방식에서는 영상프레임을 매크로블록 단위로 분할하여 이전에 부호화되어 재구성된 프레임으로부터 움직임을 추정하는 움직임 예측/보상(ME/MC)을 사용하고 있다.
H.264/AVC는 보다 효율적인 압축을 위하여 매크로블록(MB)당 화면내 예측(Intra-prediction)과 화면간 예측(Inter-prediction)과정에서 이전 압축 표준들과는 다른 블록 단위를 사용한다. 도 1 및 도 2에서 보는 바와 같이, 이전의 표준에서는 하나의 매크로블록 에서 8×8크기를 최소 기본 블록 단위가 되어 모든 부호화 과정이 수행되어졌지만, H.264/AVC는 화면간 예측에 있어서 16×16부터 4×4까지 다양한 가변적 크기의 블록 단위를 움직임 보상에 사용하였다. 이 과정에서 보다 정확한 예측을 위한 블록의 크기 선정과 발생되는 비트량과의 관계를 측정하여 최적의 것(Best mode)을 적용하는 방법이 도입되었다.
일반적으로 화면간 예측에서 어떤 블록의 움직임은 주변 블록들과 밀접한 상관 관계를 가지고 있다. 이런 블록간의 움직임 벡터의 상관성을 이용하여 부호화에 필요한 비트량을 줄일 수 있다. 현재 부호화하는 블록의 주변 블록으로부터 현재 블록의 움직임 정도를 예측하고, 예측된 움직임 벡터(PMV)를 이용하여 실제로 구해진 움직임 벡터(MV)와의 차분벡터(MVD: Motion Vector Difference)만을 부호화하게 된다. H.264/AVC는 주변 블록중 3개의 후보 움직임 벡터를 사용하여 수평성분과 수직성분 각각의 중앙값(Median predictor)을 사용하여 가변 블록 크기 움직임벡터를 처리하고 있다.
본 발명은 H.264/AVC의 이런 특징을 이용하여 영상 정보의 채널 전송시 생기는 에러의 위치를 최대한 정확하게 검출하기 위해, 부호화되어 보내어지는 매크로블록의 움직임 벡터 정보에 숨김 정보를 삽입하여 복호화기에서 쉽게 전송 오류를 찾아내게 하는 방법이다. 부호화기에서는 예측된 움직임 벡터(PMV)를 이용하여 실제로 구해진 움직임 벡터(MV)와의 차분 벡터값(MVD)를 전송하게 된다. 즉, 본 발명에서는 부호화기와 복호화기의 약속된 숨김 정보를 설정하는 데, 약속된 숨김 정보는 매크로 블록에서 발생되어 보내어지는 모든 움직임 벡터 차분정보(MVD)의 합이 짝수가 되도록 하는 것이다.
부호화기와 복호화기의 약속된 숨김 정보를 설정함에 있어서, 매크로 블록에서 발생되어 보내어지는 모든 움직임 벡터 차분정보(MVD)의 합이 짝수가 되도록 각 예측 모드에서의 마지막 블록의 MVD를 변경시키는 방법은 코딩 효율적인 면에서 잔여 데이터가 원래의 움직임 예측/보상(ME/MC)방법보다 많이 발생되어 부호화에 필요한 비트량을 많이 발생시키게 된다.
H.264/AVC에서는 최적의 예측 모드를 결정하기 위해 율-왜곡 최적화(RDO: Rate-Distortion Optimization) 기법을 사용하고 있는 데, 본 발명에서는 율-왜곡 최적화(RDO)기법을 이용하여 비트량을 최대한 줄이면서 매크로 블록에서 발생되어 보내어지는 모든 움직임 벡터 차분정보(MVD)의 합이 짝수를 만족하도록 한다.
도 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)하나씩을 발생시키게 된다.
매크로 블록 크기가 16×16인 예측 경우에는 현재 부호화하는 매크로블록의 크기와 같으므로, 도 1의 1번 블록에서 한 쌍의 움직임 벡터 차분정보(MVD)값만이 발생할 수 있다. 이 수평, 수직 성분의 움직임 벡터 차분정보(MVD)의 합이 짝수가 되도록 움직임 예측(ME)과정을 수정하여 숨김 정보를 갖게 한다. 16×8, 8×16 블록의 예측에서는 매크로블록이 2개의 블록으로 쪼개져 2쌍의 움직임 벡터 차분정보(MVD)정보를 발생시킨다.
만약 움직임 벡터 차분정보(MVD)의 총합이 짝수가 된다면 그대로 복호기로 전송하도록 비트 부호화가 이루어진다. 하지만, 움직임 벡터 차분정보(MVD)의 총합이 홀수가 된다면 수학식 1과 같이 수정된 움직임 예측(ME)과정을 거치어 새로운 움직임 벡터(MV)위치를 찾게 된다. 새로운 움직임벡터(MV)는 숨김 정보의 약속인 짝수합을 전송하게 된다.
수학식1 에서는 숨김 정보가 들어갈 블록에서 행해지는 수정된 움직임 예측(ME)과정이 원래의 움직임 예측(ME)을 통해 결정된 에 대하여 위, 아래, 좌, 우 4방향으로의 이동을 하게 되고, 각 이동된 자리에서 발생된 율-왜곡 비용을 비교하여 가장 작은 것을 로 결정한다는 것을 의미한다.
이 때 비트량을 최소화하기 위한 H.264/AVC에서의 최적 모드 결정을 위한 율-왜곡 기법인 수학식 2를 적용하여 수정되는 블록이 첫 번째 블록인지 두 번째 블록인지를 판단하게 된다. 즉, 수정된 움직임 예측(ME)과정이 16×8인 예측 모드에서는 도 1의 2번 블록 또는 3번 블록 각각에 대하여 행하여지고, 더 작은 율-왜곡 비용을 갖는 블록에 대하여 숨김 정보가 삽입된다. 8×16은 이와 마찬가지로 4번 블록 또는 5번 블록에 대하여 수행되고, 적은 율-왜곡 비용을 갖도록 숨김 정보가 삽입되는 블록이 정해진다.
만약, 소블록 크기인 P8×8 블록 예측인 경우는 그 경우의 수가 복잡해진다. 하나의 매크로블록은 4개의 8×8블록으로 나누어져 각각이 작은 블록 크기로 분할된다. 이런 삽입 블록의 결정에서 많은 복잡도가 발생되는 것을 방지하기 위하여 삽입 과정을 위의 대블록 예측 모드의 경우와는 다르게 처리한다.
즉, 율-왜곡 기법을 적용한 숨김 정보 삽입 예측 과정은 도 1에서의 9번 블록인 마지막 4번째 8×8블록의 경우만 적용하는 것을 제안한다. 이렇게 각각의 예측 모드에서 발생된 차분 벡터(MVD)의 총합이 짝수가 되도록 숨김 정보 삽입이 끝나게 되면, 최종적으로 각각의 모드에서 발생된 율-왜곡 비용을 비교하여 가장 적은 비용을 발생시키는 것이 최적 모드로 결정되고, 이 때의 숨김 정보가 들어간 움직임 벡터 차분정보(MVD)를 부호화하여 보내게 된다.
여기서 수식의 첫 번째 항에 있는 s는 현재 부호화되는 매크로블록을, r(MV)는 MV에 의해 움직임 보상된 매크로블록을 뜻한다. SAD(Sum of Absolute Differenc)는 절대 차이값의 합을 말한다. 두 번째 항의 R은 rate로 MVD와 reference index에 의해 발생되는 비트를 뜻하며, λ는 라그랑지안 계수이다.
이와 같은 구성을 갖는 본 발명에 따른 움직임 벡터 숨김 정보 삽입을 이용한 에러 검출 방법을 도 3 내지 도 5를 이용하여 설명하면 다음과 같다.
H.264/AVC의 복호화기로 들어가는 비트스트림은 도 2에서 보는 것과 같은 구조로 이루어진다. 본 발명에 따른 H.264/AVC 베이스라인 프로파일에서의 움직임 벡터 숨김 정보 삽입을 이용한 에러 검출 방법은 도 3에서 보는 바와 같이, 먼저 전송되는 패킷 단위의 비트스트림들에 대한 Syntax/Semantic 검출 알고리즘에 의한 1차 에러 검출 방법을 수행(S100)한 후, 전송 오류 에러 검출 여부를 판단한다.(S200)
Syntax/Semantic 검출 알고리즘에 의한 1차 에러 검출에서 전송 오류로 결정되면 에러발생 매크로블록(MB)로부터 슬라이스내 나머지 데이터들을 버림 처리하고(S600)정상적 데이터들을 가능한 보존하게 된다. 버림 처리된 매크로블록(MB)들은 H.264/AVC에서 기본적으로 제공되는 은닉 방법에 의해 보간 재구성된다.(S700)
Syntax/Semantic 검출 알고리즘에 의한 1차 에러 검출이 종료된 후 본 발명에 따른 더 정확한 위치를 찾기 위하여 움직임 벡터 숨김 정보 삽입을 이용한 2차 에러 검출 방법이 수행된다.(S300)
단계 S300은 도 4에서 보는 바와 같이, 부호화과정에서 매크로 블록에서 발생되어 보내어지는 모든 움직임 벡터 차분정보(MVD)의 합이 짝수가 되도록 부호화 하고(S201)복호기에서는 움직임 벡터 차분정보(MVD)값들을 하나의 매크로블록의 복호가 끝날 때까지 누적시킨다.(S202, S800) 움직임 벡터 필드의 복호가 끝나고, 매크로블록의 잔여 데이터 필드 복호가 시작되면, 지금까지 누적된 움직임 벡터 차분 정보(MVD)의 총합이 짝수인지의 여부를 판단하는 것이다.(S203~S204)
단계 S204이후에 지금까지 누적된 움직임 벡터 차분 정보(MVD)의 총합이 짝수가 아니라면 도 1의 과정과 동일하게 전송중 에러로 판단하여 에러발생 매크로블록(MB)로부터 슬라이스내 나머지 데이터들을 버림 처리하고(S600)정상적 데이터들을 가능한 보존하게 된다. 버림 처리된 매크로블록(MB)들은 H.264/AVC에서 기본적으로 제공되는 은닉 방법에 의해 보간 재구성된다.(S700)단계 S204이후에 지금까지 누적된 움직임 벡터 차분 정보(MVD)의 총합이 짝수라면 부호화된 후 전송과정에서 에러가 없다고 판단하고 정상적으로 전송된 매크로 블록의 영상을 재구성한다.(S500)
또한, 본 발명에 따른 움직임 벡터 숨김 정보 삽입을 이용한 에러 검출 방법의 부호화 과정은 도 5에서 보는 바와 같이, H.264/AVC의 화면간 예측모드에서 16×16, 16×8, 8×16의 대블록 크기인지 P8×8 블록 크기인지를 판단한다.(단계 S211~S213)
매크로 블록 크기가 16×16, 16×8, 8×16의 대블록 크기라면, 움직임 예측(ME)과정을 거친 움직임 벡터 차분정보(MVD)의 총합을 구한다.(단계 S214) S214단계에서 움직임 벡터 차분정보(MVD)의 총합이 짝수가 된다면 숨김정보의 삽입이 없이 그대로 복호기로 전송하며, 움직임 벡터 차분정보(MVD)의 총합이 홀수가 된다면 수학식 1과 같이 수정된 새로운 움직임 벡터(MV)위치를 찾아 새로운 움직임벡터(MV)에 의하여 숨김 정보의 약속인 짝수합을 전송하게 된다.(단계 S217~S219)
만약, 단계 S213에서 소블록 크기인 P8×8 블록 예측인 경우는 하나의 매크로블록은 4개의 8×8블록으로 나누어져 작은 블록 크기로 분할되므로 숨김 정보 삽입 블록의 결정에서 많은 복잡도가 발생된다. 따라서, 숨김 정보 삽입 과정을 위의 3개의 대블록 경우와는 다르게 마지막 4번째 8×8블록의 경우만 적용한다.(단계 S213~S216)
마찬가지로 소블록 크기인 P8×8 블록 예측인 경우에도 매크로 블록 전체에서 발생된 움직임 벡터 차분정보(MVD)의 총합이 짝수가 된다면 그대로 복호기로 전송하며, 움직임 벡터 차분정보(MVD)의 총합이 홀수가 된다면 마지막 P8×8 블록에서만 수학식 1과 같이 수정된 새로운 움직임 벡터(MV)위치를 찾아 새로운 움직임벡터(MV)에 의하여 숨김 정보의 약속인 짝수합을 전송하게 된다.(단계 S217~S219)
이렇게 각각의 예측 모드에서 발생된 차분 벡터(MVD)의 총합이 짝수가 되도록 숨김 정보 삽입이 끝나게 되면, 최종적으로 수학식 2와 같이 각각의 모드에서 발생된 율-왜곡 비용을 비교하여 가장 적은 비용을 발생시키는 것을 최적 모드로 결정하고,(단계 S220)이때 숨김 정보가 들어간 움직임 벡터 차분정보(MVD)를 부호화하여 보내게 된다.
본 발명에 따른 움직임 벡터에 대한 숨김 정보를 이용한 에러 검출 방법은 전송 과정에서 생긴 오류를 검출할 때 H.264/AVC에서 기본적인 에러 위치 검출방법인 syntax/semantic 알고리즘과 병행하여 매크로블록당 전송되어진 움직임 벡터 차분정보(MVD)의 총합을 이용한 숨김 정보를 부호화하고 이를 복호하여 정확한 에러 발생 위치를 검출할 수 있다.
이상에서 본 발명의 바람직한 실시예를 상세히 설명하였으나, 본 발명은 이에 한정되는 것이 아니며 본 발명의 기술적 사상의 범위내에서 당업자에 의해 그 개량이나 변형이 가능하다.
Claims (4)
- 매크로블록에서 결정된 예측된 움직임 벡터와 실제 움직임 벡터와의 차이값인 움직임 벡터 차분정보(MVD)를 수정하여 상기 매크로블록에서 발생된 차분 벡터(MVD)값의 총합이 짝수가 되도록 부호화하여 전송하는 부호화과정;
상기 부호화 과정에서 전송되는 패킷 단위의 비트스트림들에 대한 Syntax/Semantic 검출 알고리즘에 의한 전송 오류 에러를 검출 검출하는 1차 에러 검출 과정;
상기 1차 에러 검출이 종료된 후 상기 부호과정에서 부호화된 움직임 벡터 차분정보(MVD)값들을 상기 매크로블록의 움직임 벡터 필드의 복호의 종료시까지 누적시키고, 누적된 움직임 벡터 차분 정보(MVD)의 총합이 짝수인지의 여부를 판단하는 2차 에러 검출 과정; 및
상기 1차 및 2차 에러 검출에서 전송 오류로 결정되면 에러발생 매크로블록(MB)로부터 슬라이스내 나머지 데이터들을 버림 처리하고, 상기 버림 처리된 매크로블록(MB)들을 H.264/AVC에서 제공되는 은닉 방법에 의해 보간 재구성하는 데이터 처리과정을 포함하는 H.264/AVC 베이스라인 프로파일에서의 움직임 벡터 숨김 정보 삽입을 이용한 에러 검출 방법. - 제 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 베이스라인 프로파일에서의 움직임 벡터 숨김 정보 삽입을 이용한 에러 검출 방법. - 제 2항에 있어서,ⅱ단계와 ⅲ단계에서 상기 움직임 벡터 차분정보(MVD)의 총합이 홀수가 되면 하기식 1에 의하여 수정된 움직임 예측(ME)과정을 거치어 새로운 움직임 벡터(MV)위치를 찾는 것을 특징으로 하는 H.264/AVC 베이스라인 프로파일에서의 움직임 벡터 숨김 정보 삽입을 이용한 에러 검출 방법. 식 1
상기 식 1의 수정된 움직임 예측(ME)과정은 원래의 움직임 예측(ME)을 통해 결정된 MV x , MV y 에 대하여 상, 하, 좌, 우 4방향으로의 이동을 하게 되고, 각 이동된 자리에서 발생된 율-왜곡 비용을 비교하여 가장 작은 것을 MV w 로 결정한다는 것을 의미함. - 제 2항에 있어서, 상기 ⅳ단계에서 각각의 모드에서 발생된 율-왜곡 비용을 비교하여 가장 적은 비용을 발생시키는 것이 최적 모드로 결정하는 것은 하기 식 2에 의하여 수행되는 것을 특징으로 하는 H.264/AVC 베이스라인 프로파일에서의 움직임 벡터 숨김 정보 삽입을 이용한 에러 검출 방법.
식 2
상기 식2에서 s는 현재 부호화되는 매크로블록이며, r(MV)는 MV에 의해 움직임 보상된 매크로블록이고, SAD은 절대 차이값의 합이며, R은 rate로 MVD와 reference index(REF)에 의해 발생되는 비트이고, λ는 라그랑지안 계수임.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110134114A KR101307682B1 (ko) | 2011-12-14 | 2011-12-14 | H.264/avc 베이스라인 프로파일에서의 rdo에 기반한 움직임 벡터 숨김 정보 삽입을 이용한 에러 검출 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110134114A KR101307682B1 (ko) | 2011-12-14 | 2011-12-14 | H.264/avc 베이스라인 프로파일에서의 rdo에 기반한 움직임 벡터 숨김 정보 삽입을 이용한 에러 검출 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130067508A true KR20130067508A (ko) | 2013-06-25 |
KR101307682B1 KR101307682B1 (ko) | 2013-09-12 |
Family
ID=48863318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110134114A KR101307682B1 (ko) | 2011-12-14 | 2011-12-14 | H.264/avc 베이스라인 프로파일에서의 rdo에 기반한 움직임 벡터 숨김 정보 삽입을 이용한 에러 검출 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101307682B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9979983B2 (en) | 2015-03-16 | 2018-05-22 | Microsoft Technology Licensing, Llc | Application- or context-guided video decoding performance enhancements |
US10129566B2 (en) | 2015-03-16 | 2018-11-13 | Microsoft Technology Licensing, Llc | Standard-guided video decoding performance enhancements |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090000502A (ko) * | 2007-06-28 | 2009-01-07 | 삼성전자주식회사 | 손실된 블록의 주변 블록 특성에 적응적인 에러 은닉 방법및 장치 |
JP5115519B2 (ja) * | 2009-05-26 | 2013-01-09 | 富士通株式会社 | 動画像復号装置、動画像復号方法及び動画像復号用コンピュータプログラム |
KR101082581B1 (ko) * | 2010-01-29 | 2011-11-10 | 충북대학교 산학협력단 | H.264/avc 복호화기의 에러 은닉 장치 및 방법 |
JP2011142670A (ja) * | 2011-03-15 | 2011-07-21 | Toshiba Corp | ディジタル画像復号装置及びディジタル画像復号方法 |
-
2011
- 2011-12-14 KR KR1020110134114A patent/KR101307682B1/ko not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9979983B2 (en) | 2015-03-16 | 2018-05-22 | Microsoft Technology Licensing, Llc | Application- or context-guided video decoding performance enhancements |
US10129566B2 (en) | 2015-03-16 | 2018-11-13 | Microsoft Technology Licensing, Llc | Standard-guided video decoding performance enhancements |
Also Published As
Publication number | Publication date |
---|---|
KR101307682B1 (ko) | 2013-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100941123B1 (ko) | 에러 은닉을 위한 직접 모드 도출 프로세스 | |
JP4908522B2 (ja) | 誤り隠蔽に関連する歪み値に基づいてエンコード方法を決定する方法および装置 | |
TWI401972B (zh) | 時間性錯誤隱藏方法 | |
US20080240246A1 (en) | Video encoding and decoding method and apparatus | |
Tsai et al. | Joint temporal and spatial error concealment for multiple description video coding | |
CN110493603B (zh) | 一种基于联合信源信道的率失真优化的多视点视频传输差错控制方法 | |
Wu et al. | A temporal error concealment method for H. 264/AVC using motion vector recovery | |
US9210447B2 (en) | Method and apparatus for video error concealment using reference frame selection rules | |
KR20140022065A (ko) | 비트스트림 레벨로 비디오 품질을 추정하는 방법 및 장치 | |
Liu et al. | Error concealment for whole frame loss in HEVC | |
EP2293571A1 (en) | Channel switch frame | |
KR101307682B1 (ko) | H.264/avc 베이스라인 프로파일에서의 rdo에 기반한 움직임 벡터 숨김 정보 삽입을 이용한 에러 검출 방법 | |
KR101082581B1 (ko) | H.264/avc 복호화기의 에러 은닉 장치 및 방법 | |
Zhou et al. | Region-based error concealment of right-view frames for stereoscopic video transmission | |
Xiang et al. | A joint encoder–decoder error control framework for stereoscopic video coding | |
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 | |
Shen et al. | A new error concealment algorithm for H. 264/AVC | |
Zhang et al. | End-to-end distortion estimation for H. 264 with unconstrained intra prediction | |
Jian et al. | Effective error concealment algorithm by boundary information for H. 264 Video Decoder | |
Chen et al. | Robust temporal error concealment 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 | |
Hui | Spatial-Temporal Error Concealment Scheme for Intra-coded Frames | |
Gao et al. | A rate–distortion optimized error-resilient algorithm for multi-view video coding |
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 |