KR20060010776A - 비디오 데이터 처리 방법 및 데이터 프레임의 제 1 블럭에대한 움직임 벡터 생성 방법 - Google Patents

비디오 데이터 처리 방법 및 데이터 프레임의 제 1 블럭에대한 움직임 벡터 생성 방법 Download PDF

Info

Publication number
KR20060010776A
KR20060010776A KR1020057020804A KR20057020804A KR20060010776A KR 20060010776 A KR20060010776 A KR 20060010776A KR 1020057020804 A KR1020057020804 A KR 1020057020804A KR 20057020804 A KR20057020804 A KR 20057020804A KR 20060010776 A KR20060010776 A KR 20060010776A
Authority
KR
South Korea
Prior art keywords
block
motion vector
blocks
estimated
video data
Prior art date
Application number
KR1020057020804A
Other languages
English (en)
Inventor
한 제라드 드
어윈 벨러스
Original Assignee
코닌클리즈케 필립스 일렉트로닉스 엔.브이.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=33435129&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR20060010776(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 코닌클리즈케 필립스 일렉트로닉스 엔.브이. filed Critical 코닌클리즈케 필립스 일렉트로닉스 엔.브이.
Publication of KR20060010776A publication Critical patent/KR20060010776A/ko

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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • 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
    • 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
    • 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/513Processing of motion vectors
    • 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/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Television Systems (AREA)

Abstract

비디오 프레임을 형성하는 데이터 블럭의 서브세트에 대해 움직임 벡터가 추정되고 나머지 프레임 블럭에 대해 움직임 벡터가 보간되는 비디오 처리 시스템에서, 본 발명의 방법은 움직임 벡터가 추정되지 않은 적어도 하나의 현재 프레임 블럭(204)에 대해 좌측의 블럭 혹은 우측의 블럭이 추정되는 제로 움직임 벡터를 가지는 지를 판정하는 단계와, 상기 적어도 하나의 블럭이 이전의 프레임에서 추정된 제로 움직임 벡터를 가졌는 지를 판정하는 단계(206)와, 상기 모든 판정이 긍정적이라면(208), 상기 적어도 하나의 블럭에 대해 사전결정된 움직임 벡터를 제공하는 단계를 포함한다. 그러한 사전결정된 움직임 벡터는 제로 움직임 벡터(208)일 수 있다.

Description

비디오 데이터 처리 방법 및 데이터 프레임의 제 1 블럭에 대한 움직임 벡터 생성 방법{BIASED MOTION VECTOR INTERPOLATION FOR REDUCED VIDEO ARTIFACTS}
본 발명은 일반적으로 이미지 처리에 관한 것으로, 특히 비디오 아티팩트를 감소시키기 위한 바이어스된 움직임 벡터 보간 방법에 관한 것이다.
반도체 제조, 디지털 시스템 아키텍처, 및 통신 기반구조에서의 진보에 의해 대용량의 비디오 컨텐츠를 생성하고 전달하는 수단이 마련되었다. 이러한 진보는 대용량의 비디오 컨텐츠의 생성 및 전달을 가능하게 하는 것 외에도, 고객의 전자 제품이 비디오 처리 회로 및 소프트웨어를 포함하는 것을 경제적으로 실행가능하게 하였다.
비디오 컨텐츠의 전달 및 재생과 그러한 경우의 비디오 컨텐츠의 생성이 고객 전자 제품 내에서 구현가능하다할 지라도 그 고객 전자 제품을 저렴한 방식으로 생성하는 것이 바람직하다. 유사하게, 전반적으로 이용가능한 통신 기반구조의 트래픽 용량에서 커다란 향상이 있다할 지라도, 통신을 위해 실제 제공된 데이터의 양을 줄이는 것이 바람직하다. 비디오 데이터와 함께 동작하는 저비용의 제품의 생성 목표는 일반적으로 그 장비에 의해 수행될 필요가 있는 작업의 계산상의 복잡도를 감소시키는 시도를 통해 해결된다. 통신 트래픽의 감소시키는 목표는 일반적으로 데이터가 덜 전송되도록 소스 재료(source material)를 압축함으로써 해결된다.
널리 알려진 다양한 체계, 기법, 및 표준이 비디오 데이터의 압축 및 압축해제와 더불어 다른 타입의 이미지 데이터의 압축 및 압축 해제를 위해 개발되고 있다. 비디오 압축을 위한 공통의 접근 방식은 하나의 프레임의 비디오와 시간적으로 다음 순서의 비디오 프레임 간에는 전형적으로 상당한 양의 공통성이 존재한다는 사실을 이용하고 있다. 그러한 접근 방식은 제 1 프레임을 인코딩하고 다음에 하나 이상의 다음 프레임들을 처리하여, 후속의 프레임들 대신에 송신될 "움직임 벡터"를 생성할 수 있다. 이러한 움직임 벡터는, 실질적으로 송신용으로 보다 적은 양의 데이터 트래픽이 생성되도록, 그들이 유도되었던 프레임들보다도 적은 양의 데이터를 포함한다. 이러한 움직임 벡터는 재생용 비디오 데이터를 재구성하는 데 사용될 수가 있다.
통신 네트워크를 통한 송신이 예정되어 있지 않은 경우에도, 가령 압축된 비디오가 CD, DVD, 자기 디스크, 비디오 테이프 또는 다른 매체 상에 저장될 때 다양한 비디오 압축 체계가 사용될 수 있다는 것이 이해될 것이다.
비디오 데이터 상에서 가끔 수행되며 "스캔 레이트 컨버젼"으로 지칭되는 처리에서, 일부의 움직임 벡터는 그의 상응하는 실제의 비디오 데이터로부터 유도되기보다는 다른 움직임 벡터로부터 보간될 수 있다. 그러한 처리는 발생한 움직임 의 추정치를 제공한다. 이러한 추정치는 전형적으로 두 블럭의 픽셀마다(블럭들은 전형적으로 8 픽셀 × 8 픽셀로 이루어짐) 움직임 벡터를 유도함으로써 수행된다. 결과적으로, 전체 픽처의 움직임 벡터의 절반은 실제로 실제의 비디오 데이터로부터 유도되기보다는 다른 움직임 벡터로부터 보간된다. 이러한 것은 계산량, 메모리, 버스 대역폭 등을 절감하기 위해 행해진다. 전형적으로, 누락된 움직임 벡터를 생성하는 데 평균화 또는 메디안 필터링 기법이 사용된다.
불행하게도, 모든 움직임 벡터를 유도하기보다는 다른 움직임 벡터로부터 움직임 벡터를 계산하는 접근 방식을 사용하는 시스템에서는 재생 동안 바람직하지 않은 비디오 아티팩트가 때때로 발생된다.
따라서 비디오 아티팩트가 감소되도록 움직임 벡터를 보간하는 방법이 요구된다.
간략히, 비디오 프레임을 형성하는 데이터 블럭의 서브세트에 대해 움직임 벡터가 추정되고 나머지 프레임 블럭에 대해 움직임 벡터가 보간되는 비디오 처리 시스템에서, 본 발명의 방법은 움직임 벡터가 추정되지 않은 적어도 하나의 현재 프레임 블럭에 대해 상기 적어도 하나의 블럭의 좌측의 블럭 혹은 상기 적어도 하나의 블럭의 우측의 블럭이 추정되는 제로 움직임 벡터를 가지는 지를 판정하는 단계와, 상기 적어도 하나의 블럭이 이전의 프레임에서 추정된 제로 움직임 벡터를 가졌는 지를 판정하는 단계와, 상기 모든 판정이 긍정적이라면, 상기 적어도 하나의 블럭에 대해 사전결정된 움직임 벡터를 제공하는 단계를 포함한다. 그러한 사전결정된 움직임 벡터는 제로 움직임 벡터일 수 있다.
도 1은 블럭으로 분할되는 비디오 데이터의 프레임을 도시한다.
도 2는 본 발명에 따른 움직임 벡터를 제공하는 처리를 설명하는 플로우차트를 도시한다.
전반적으로, 본 발명은 비디오 재료에서 움직임 벡터를 추정하기 위한 방법에 관한 것이다. 본 발명은 추정되지 않은 영역 혹은 블럭의 움직임 벡터를 보간하기 위한 기존의 보간 알고리즘에 관한 개선에 관한 것이다. 본 발명의 다양한 실시예는 임의로 선택된 보간 알고리즘으로 달성된 결과를 개선하는 데 사용될 수 있는 움직임 벡터 보간 방법을 제공한다. 스킵된 블럭(skipped block) 영역에서 비제로(non-zero) 움직임 벡터만이 획득되는 경우에, 상기 스킵된 블럭에는 비제로 움직임 벡터를 갖는 주변 블럭의 움직임 벡터로부터 보간된 움직임 벡터가 할당된다. 그러나, 만약 스킵된 블럭의 좌측 블럭 혹은 우측 블럭, 즉 스킵된 블럭 주변의 블럭과 관련한 움직임 벡터가 제로이고, 이전의 (추정된) (상기 스킵된 블럭에 대한) 움직임 벡터가 제로라면, 제로 움직임 벡터와 같은 사전결정된 움직임 벡터는 상기 스킵된 블럭의 현재 움직임 벡터로서 사용된다.
본 명세서에서 "일 실시예", "실시예" 또는 유사한 형태로 언급되는 것은 본 실시예와 관련하여 기재되는 특정의 특징, 구조, 동작 또는 특성이 본 발명의 적어도 일 실시예에 포함된다는 것을 의미한다. 따라서 본 명세서에 기재되는 특정의 구절 혹은 구성의 형태는 전적으로 동일한 실시예를 언급하는 것이 아니다. 또한, 다양한 특징, 구조, 동작, 또는 특성들이 하나 이상의 실시예들에서 임의의 적당한 방식으로 결합될 수 있다.
픽셀은 픽셀 요소를 지칭한다. 픽셀은 전적으로 디스플레이의 어드레싱가능한 최소의 단위이다. 픽셀을 표현하는 하나의 공통의 방식은 하나 이상의 비트의 디지털 데이터이다.
블럭은 하나의 프레임 혹은 픽처를 형성하는 픽셀들의 서브세트인 픽셀의 집합체를 지칭한다.
이웃은 임의의 특정 블럭의 사전결정된 범위 내의 하나 이상의 블럭들로 지칭한다. 일부 실시예에서, 이웃은 소정의 블럭에 대해 바로 인접하는 블럭들을 포함하지만 이에 국한되지는 않는다. 그러나, 본 발명은 소정의 블럭의 이웃 내에 어떠한 블럭이 존재하는 지를 규정하기 위한 임의의 특정 범위 혹은 룰 세트에 국한되지 않는다.
스킵된 블럭은 움직임 벡터가 추정되지 않는 블럭을 지칭한다. 본 발명에 의하면, 스킵된 블럭에 대해 사전결정된 움직임 벡터(가령, 제로 움직임 벡터) 혹은 보간된 움직임 벡터가 할당되거나 생성된다.
추정된 움직임 벡터는 픽셀 정보의 처리로부터 유도되거나 획득되는 움직임 벡터로 지칭된다.
보간된 움직임 벡터는 추정된 움직임 벡터의 처리로부터 유도되거나 획득되는 움직임 벡터로 지칭된다.
도 1을 참조하면, 비디오 데이터의 한 프레임의 파티션(partition) 혹은 서브 분할(sub-division)을 위한 레이아웃이 도시된다. 특히 한 프레임의 비디오 데이터는 2차원의 픽셀 어레이로서 표현될 수 있다. 일부 실시예에서, 각각의 픽셀은 하나 이상의 디지털 비트의 데이터에 의해 표현된다. 수많은 비디오 처리 알고리즘에 대해, 비디오 데이터 블럭을 동작시키는 것은 유용하다. 이러한 비디오 데이터 블럭은 한 프레임의 비디오 데이터의 서브세트 혹은 서브 어레이를 표현하는 2차원 픽셀 집합체이다. 이러한 블럭은 임의의 특정 사이즈일 수 있지만, 전형적인 블럭 사이즈는 8 픽셀 × 8 픽셀이다. 비디오 데이터의 블럭은 X, Y 좌표계로 표현될 수 있다. 이 좌표계에서, 각각의 블럭은 행 및 열로서 배열될 수 있다. 이러한 문맥에서, 행은 수평 방향의 일련의 블럭을 나타내며, 그 각각은 래스터 타입의 디스플레이에서 디스플레이 스크린을 가로질러 순차적으로 디스플레이될 수 있다. 유사하게, 열은 수직 방향의 블럭 세트를 나타낸다. 도 1에 도시한 바와 같이, N×M 어레이의 블럭이 도시되는데, 이는 서브 어레이의 집합체(즉, 블럭)로의 2차원 프레임 비디오 데이터의 분할을 도시하고 있다. 도 1의 예시적인 어드레싱 체계에서, 화살표는 X 및 Y 좌표계에 대한 상승 값의 방향을 나타낸다. 블럭으로 분할된 예시적인 프레임의 비디오 데이터는 이러한 타입의 데이터와 함께 작업하기에 편리한 장치인데, 그 이유는 비디오 데이터 프레임으로부터 생성되는 디스플레이의 공간적 레이아웃에 대응하기 때문이다. 그러나, 주목할 것은 본 발명에 따른 비디오 처리 시스템의 특정 구현예에서 비디오 데이터가 메모리 혹은 유사한 저장 시스템 내에서 임의의 편리하거나 적당한 패턴으로 저장될 수 있으며 그러한 메모리 시스템에서 그 데이터가 시각적 디스플레이 상에 디스플레이되는 동일한 순서로서 배포될 필요는 없다는 것이다.
특히 스캔 레이트 컨버젼용으로 현재 사용중인 움직임 추정기(motion estimators)에서, 두개의 픽셀 블럭마다 움직임 벡터가 생성(추정)되는데, 블럭은 전형적으로 8픽셀 × 8픽셀이다. 결과적으로, 실제의 비디오 데이터에 기반한 움직임 벡터는 픽처 데이터의 절반에 대해서만 생성된다. 블럭의 절반에 대한 실제의 비디오 데이터에 기반한 움직임 벡터터를 생성하기 위해 스킵하는 주요 이유는 계산 리소스에 대한 요건을 감소시키기 위한 것이다. 위에서 언급한 바와 같이, 픽셀 블럭에 대한 움직임 벡터를 결정하는 것은 계산상의 비용이 되며, 이러한 방식으로 실제의 계산량을 감소시키는 것은 전자 제품의 계산상의 리소스에 대한 요건을 감소시키는 것으로서 이를 통해 그 제품의 비용을 감소시킨다. 그러나, 움직임 벡터가 임의의 움직임 보상 처리에서 매 두개의 픽셀 블럭마다 요구되므로, 움직임 벡터 계산이 수행되지 않은 블럭에 대한 움직임 벡터는 픽셀 데이터로부터 직접 움직임 벡터를 유도하는 것보다 계산상 덜 복잡한 방식으로 생성될 필요가 있다.
"누락된" 움직임 벡터를 원하는 낮은 계산 비용을 갖는 방식으로 생성하기 위한 공통의 접근 방식은 스킵된 블럭에 대한 움직임 벡터를 생성하기 위한 평균화 혹은 메디안 필터링 기법(median filtering techniques)(혹은 이들의 조합)을 사용하는 것이다. 따라서, 일치(consistency)가 본질적으로 달성된다.
위에서 언급한 바와 같이, 소정의 환경하에서, 움직임 추정기는 픽처의 일부에 대해서, 즉 하나의 비디오 데이터 프레임을 형성하는 블럭의 서브세트에 대해서만 움직임을 추정할 수 있다. 추정되지 않는 영역 혹은 블럭에 속하는 움직임 벡터는 바로 이웃의 블럭의 추정된 움직임 벡터로부터 보간된다. 한가지 타입의 문제는 가령 제 1 문자가 실제의 비디오 데이터에 기반하여 움직임 벡터가 유도되지 않는 블럭에서 누락되는 것과 마찬가지로 서브 타이틀의 좌측에서 발생할 수 있으며, 따라서 그 블럭에 대한 움직임 벡터는 그 이웃으로부터 보간될 필요가 있다. 만약 서브 타이틀 주변의 비디오가 이동중이라면, 현재의 기술로 제 1 문자를 포함한 블럭은 비제로 움직임 벡터를 입수할 수 있으며 따라서 잠재적으로 움직임 보상 기법에 기인한 아티팩트를 야기할 수 있을 것이다.
본 발명의 여러 실시예는 비디오 재생시 개선된 시각적 디스플레이의 관점에서, 특히 감소된 비디오 아티팩트의 관점에서 바람직한 결과를 제공한다. 이는 종래의 시스템, 특히 서브 타이틀을 포함하는 픽처 영역에서 나타나는 아티팩트를 감소키는 데 유용한다. 이러한 본 발명의 실시예는 임의의 개수의 일반 보간 처리와 함께 사용될 수 있다. 이러한 관점에서, 본 발명의 실시예는 다양한 비디오 처리 시스템 및 처리에 용이하게 적용될 수 있다.
도시된 실시예에서, 일반 보간 처리는 비제로 움직임 벡터만을 포함하는 픽처 영역에서 움직임 벡터가 추정되지 않은 블럭(즉, 스킵된 블럭)에 대한 움직임 벡터를 생성 및 할당하는 데 사용된다. 그러나, 제로 움직임 벡터는, 만약 좌측 혹은 우측의 추정된 블럭이 제로 움직임 벡터를 가지며 이전 프레임 내의 현재 블럭에 대한 그 추정된 움직임 벡터가 제로 움직임 벡터를 가졌다면 스킵된 블럭으로 할당된다.
도 2를 참조하면, 본 발명에 따른 예의 방법이 도시된다. 도시된 예의 방법은 일련의 비디오 데이터의 프레임을 처리하는 문맥에서 수행되며, 그 비디오 데이터의 프레임은 전형적으로 8 픽셀 × 8 픽셀의 블럭으로 분할된다. 도 2에서, "MV"는 움직임 벡터를 나타내며, "X"는 x 차원(전형적으로 수평 방향)의 블럭 좌표를 나타내며, "Y"는 y 차원(전형적으로 수직 방향)의 블럭 좌표를 나타내며, "n"은 비디오 데이터의 현재 프레임을 나타낸다. 비디오 데이터의 현재 프레임과 관련하여, 움직임 벡터는 두개의 블럭마다, 즉 비디오 데이터의 현재 프레임의 절반의 블럭에 대해 추정된다(202). 움직임 벡터를 추정한다는 것은 움직임 벡터가 비디오 데이터에 대해 수행되는 동작으로부터 유도되는 것을 의미한다. 도 2의 실시예에서, 5개의 서브 샘플링 패턴이 사용된다. 움직임 벡터가 추정된 후에, 움직임 벡터가 추정되지 않은 비디오 데이터의 제 1 블럭이 선택된다(204). 제 1 선택 블럭의 좌표를 (X,Y,n)으로 지칭하자. 보다 일반적으로, 제 1 선택 블럭은 현재 블럭 (X,Y,n)으로 지칭될 수 있다. 제 1 선택 블럭(즉, (X,Y,n))의 좌측 블럭(즉, MV(X-1,Y,n))에 대한 움직임 벡터 혹은 우측 블럭(즉, MV(X+1,Y,n))에 대한 움직임 벡터가 제로 움직임 벡터를 갖는 지와, 그리고 이전 프레임(즉, MV(X,Y,n-1)) 내의 제 1 선택 블럭에 대한 움직임 벡터가 제로 움직임 벡터였는지에 관한 판 정이 행해진다(206). 만약 그 판정이 긍정적이라면, 제로 움직임 벡터가 현재 블럭에 할당된다(208)(즉, MV(X,Y,n)는 제로 움직임 벡터가 된다). 만약 206의 판정이 부정이라면, 움직임 벡터는 제 1 선택 블럭의 이웃으로부터 보간되며 그 블럭에 할당된다(210). 움직임 벡터가 제 1 선택 블럭에 할당된 이후(208 혹은 210), 할당되는 움직임 벡터를 필요로 하는 모든 블럭이 처리되었는지에 관한 판정이 행해진다(212). 만약 212의 판정이 긍정적이라면, 현재의 프레임은 완전하게 처리되며, 시스템은 다음 작업에 대한 준비를 행한다(216). 만약 212의 판정이 부정이라면, 비디오 데이터의 현재 프레임 내에서 움직임 벡터가 추정되지 않은 다른 블럭이 선택되며(214), 처리는 206에서 지속된다.
주목할 것은 블럭과 움직임 벡터 간의 관계와 관련하여, 다양한 비디오 압축/압축 해제 시스템은 최초 프레임으로부터의 비디오 재생과 움직임 벡터에 의해 표시되는 변화로부터의 비디오 재생을 재구성하는 데 움직임 벡터를 사용한다는 것이다. 즉, 다양한 데이터 블럭 내의 실제 비디오 정보를 송신하는 것보다는, 움직임 벡터를 송신하는 것이다. 이와 관련하여, 움직임 벡터는 블럭에 "할당되며", 블럭에 "제공되며", 또는 블럭과 "관련된다"고 한다. 이러한 용어들은 다소 상호 변경가능하게 사용되며, 비디오 데이터의 "최초" 프레임에 움직임 벡터를 인가하여 재구성될 블럭과 움직임 벡터간의 관계를 전달하는 것을 의미한다고 이해될 것이다.
본 발명의 전형적인 실시예에서, 비디오 데이터의 다수의 프레임은 도 2에 도시된 방법에 따라 수신 및 처리된다.
본 발명의 다양한 실시예는 처리된 비디오 데이터의 아티팩트를 감소시키는 방법 및 장치를 제공한다. 그러한 실시예는 움직임 추정기 및 보상기에서 사용하기에 적합할 것이다. 특히, 본 발명의 다양한 실시예는 추정되지 않은 영역 혹은 블럭에 대한 움직임 벡터를 보간하기 위해 사용되는 종래의 보간 처리와 관련한 개선을 제공한다.
본 발명의 일부 실시예의 장점은 임의의 추가의 블럭 혹은 픽셀 데이터를 처리할 필요없이, 비디오 데이터의 한 프레임의 블럭의 일부에 대해서만 추정된 움직임 벡터를 제공하는 비디오 처리 시스템에서 서브 타이틀과 관련한 비디오 아티팩트를 감소시킨다는 것이다.
주목할 것은 본 발명에 따른 대안의 실시예가 사용가능하다는 것이다. 그러한 대안의 일 실시예에서, 현재 선택된 블럭으로부터 공간 및 시간적으로 더 분리되는 블럭과 관련한 움직임 벡터는 현재 선택된 블럭에 제로 움직임 벡터를 할당할 것인지를 결정할 경우에 추정된다. 주목할 것은 그러한 실시예는 추가의 계산 리소스를 필요로 하며, 특히 현재의 블럭으로부터 시간적으로 더 분리되는 블럭을 사용하는 실시예는 일반적으로 이력을 유지하도록 추가의 메모리 리소스를 필요로 한다는 것이다. 다른 대안의 실시예는 제로 움직임 벡터 이외의 다른 움직임 벡터, 즉 사전결정된 비제로의 움직임 벡터를 할당하는 것을 포함할 수 있다.
또다른 실시예는 5개의 서브 샘플링 패턴 이외의 샘플링 구조를 포함할 수 있다. 원칙적으로, 임의의 필드 교번 샘플링 패턴이 본 발명의 실시예에 포함될 수도 있다. 5개의 서브 샘플링 패턴은 본 발명을 설명하기 위해 제공되었다.
본 발명은 단일 집적 회로 상의 이용가능한 구현예를 포함하는 회로 기반 솔루션으로서 구현될 수 있다. 당업자에게는 명백하듯이, 회로 요소의 다양한 기능이 소프트웨어 프로그램의 처리 동작으로서 구현될 수도 있다. 그러한 소프트웨어는 가령 디지털 신호 처리기, 마이크로 제어기, 혹은 범용 컴퓨터에서 사용될 수 있다.
본 발명은 상기 방법을 수행하기 위한 방법 및 장치의 형태로 구현될 수 있다. 본 발명은 또한 프로그램 코드가 컴퓨터와 같은 기계에 로딩되어 실행될 때 천공 카드, 자기 테이프, 플로피 디스크, 하드 디스크 드라이브, CD-ROM, 플래시 메모리 카드, 또는 임의의 기계 판독가능 저장 매체와 같은 매체에서 구현되는 프로그램 코드의 형태로 구현될 수도 있으며, 상기 기계는 본 발명을 수행하는 장치가 된다. 본 발명은 또한 프로그램 코드가 기계에 로딩되어 기계에 의해 실행될 때, 저장 매체에 저장되거나, 기계에 로딩되어 기계에 의해 실행되거나 전송 매체 혹은 캐리어를 통해, 가령 섬유 광학 장치 혹은 전자기 방사를 통한 전기 배선 혹은 케이블을 통해 송신되는 프로그램 코드의 형태로 구현될 수도 있으며, 그 기계는 본 발명을 실행하는 장치가 된다. 프로그램 코드 세그먼트가 범용 처리기 상에서 구현될 때 상기 처리기와 결합하여 특정의 로직 회로에 대해 유사하게 동작하는 고유의 장치를 제공하게 된다.
본 발명은 전술한 실시예에 국한되지 않으며 첨부된 특허청구범위의 영역 내의 모든 실시예를 포함하는 것으로 이해된다.

Claims (20)

  1. 비디오 데이터 처리 방법에 있어서,
    다수의 픽셀 블럭을 포함하는 비디오 데이터의 프레임을 제공하는 단계―상기 블럭은 2차원의 행 및 열의 어레이로 어드레싱됨―와,
    비디오 데이터의 프레임의 교번하는 블럭을 선택하여 그 선택된 블럭에 대한 움직임 벡터를 추정하는 단계와,
    움직임 벡터가 추정되지 않은 비디오 데이터의 플레임의 적어도 하나의 블럭을 선택하는 단계(204)와,
    상기 선택된 적어도 하나의 블럭의 좌측 블럭 혹은 우측 블럭이 추정된 제로 움직임 벡터를 갖는지를 판정하는 단계(206)와,
    상기 선택된 적어도 하나의 블럭이 이전의 프레임에서 추정된 제로 움직임 벡터를 가졌는지를 판정하는 단계(206)와,
    상기 판정이 긍정적이라면(208), 사전결정된 움직임 벡터를 상기 선택된 적어도 하나의 블럭에 제공하는 단계를 포함하는
    비디오 데이터 처리 방법.
  2. 제 1 항에 있어서,
    상기 좌측 블럭은 상기 선택된 적어도 하나의 블럭에 시간적으로 선행하는 블럭이며, 상기 우측의 블럭은 상기 선택된 적어도 하나의 블럭에 대해 시간적으로 후행하는 블럭이며, 상기 사전결정된 움직임 벡터는 제로 움직임 벡터인 비디오 데이터 처리 방법.
  3. 제 1 항에 있어서,
    상기 이전의 프레임은 바로 선행하는 비디오 데이터 프레임인 비디오 데이터 처리 방법.
  4. 제 1 항에 있어서,
    상기 교번하는 블럭을 선택하는 단계는 5개의 서브 샘플링 패턴을 사용하는 단계를 포함하는 비디오 데이터 처리 방법.
  5. 제 1 항에 있어서,
    상기 판정이 부정적이라면, 이웃의 추정된 블럭의 움직임 벡터로부터 움직임 벡터를 보간하는 단계와,
    상기 선택된 적어도 하나의 블럭에 대해 상기 보간된 움직임 벡터를 제공하는 단계를 더 포함하며,
    상기 사전결정된 움직임 벡터는 제로 움직임 벡터인 비디오 데이터 처리 방법.
  6. 제 1 항에 있어서,
    움직임 벡터가 추정되지 않은 비디오 데이터의 현재 프레임의 모든 블럭들에 움직임 벡터가 제공되었는지를 판정하는 단계를 더 포함하는 비디오 데이터 처리 방법.
  7. 제 6 항에 있어서,
    움직임 벡터가 추정되지 않은 비디오 데이터의 현재 프레임의 블럭에 제공된 움직임 벡터가 제로 움직임 벡터 및 상기 제로 움직임 벡터가 제공되는 블럭의 이웃으로부터 보간된 움직임 벡터로 구성되는 그룹으로부터 선택되는 비디오 데이터 처리 방법.
  8. 제 7 항에 있어서,
    비디오 데이터의 프레임의 추정된 움직임 벡터를 저장하는 단계를 더 포함하는 비디오 데이터 처리 방법.
  9. 데이터 프레임의 제 1 블럭에 대한 움직임 벡터를 생성하는 방법에 있어서,
    상기 제 1 블럭의 서브 세트인 제 2 블럭의 각각에 대해 움직임 벡터를 추정하는 단계와,
    상기 제 1 블럭의 서브 세트이며 상기 제 2 블럭(204)과 중첩하지 않는 제 3 블럭의 각각에 대해 상기 제 3 블럭의 각각의 좌측 블럭 혹은 우측 블럭이 추정된 움직임 벡터를 갖는지를 판정하고, 상기 제 3 블럭의 각각에 이전 프레임의 제로 움직임 벡터가 할당되었는지를 판정하는 단계(206)와,
    상기 판정이 긍정적인(208) 제 3 블럭의 각각에 대해 제로 움직임 벡터를 할당하는 단계와,
    상기 판정이 부정적인(210) 제 3 블럭의 각각에 대해, 상기 판정이 부정적인 제 3 블럭의 각각의 주위의 이웃 블럭의 추정된 움직임 벡터로부터 보간된 움직임 벡터를 할당하는 단계를 포함하는
    움직임 벡터 생성 방법.
  10. 제 9 항에 있어서,
    상기 제 2 블럭을 2차원 어레이의 교번 패턴으로서 선택하는 단계를 더 포함하는 움직임 벡터 생성 방법.
  11. 제 9 항에 있어서,
    5개의 서브 샘플링 패턴에 따라 상기 제 2 블럭을 선택하는 단계를 더 포함하는 움직임 벡터 생성 방법.
  12. 제 9 항에 있어서,
    상기 제 2 블럭은 상기 제 1 블럭의 절반을 포함하는 움직임 벡터 생성 방법.
  13. 제 12 항에 있어서,
    상기 데이터 프레임은 비디오 데이터를 포함하는 움직임 벡터 생성 방법.
  14. 제 13 항에 있어서,
    다수의 비디오 데이터 프레임을 수신하는 단계를 더 포함하는 움직임 벡터 생성 방법.
  15. 제 14 항에 있어서,
    상기 제 2 블럭의 각각에 대해 상기 추정된 움직임 벡터를 저장하는 단계를 더 포함하는 움직임 벡터 생성 방법.
  16. 제 15 항에 있어서,
    상기 제 3 블럭의 각각의 좌측 블럭은 상기 제 3 블럭의 각각에 바로 선행하여 제각기 디스플레이될 데이터를 나타내는 블럭을 포함하는 움직임 벡터 생성 방법.
  17. 제 16 항에 있어서,
    상기 제 3 블럭의 각각의 우측 블럭은 상기 제 3 블럭의 각각에 바로 후행하여 제각기 디스플레이될 데이터를 나타내는 블럭을 포함하는 움직임 벡터 생성 방법.
  18. 제 17 항에 있어서,
    상기 움직임 벡터를 추정하는 단계는 블럭 내의 픽셀 정보를 처리하는 단계 를 포함하는 움직임 벡터 생성 방법.
  19. 제 18 항에 있어서,
    상기 보간된 움직임 벡터를 저장하는 단계를 더 포함하는 움직임 벡터 생성 방법.
  20. 기계 인지가능 인스트럭션이 인코딩되는 매체를 포함하는 제조 물품에 있어서,
    상기 인스트럭션은 상기 기계에 의해 인지되고 실행될 때, 그 기계로 하여금 다음의 단계, 즉
    다수의 픽셀 블럭을 포함하는 비디오 데이터의 프레임을 제공하는 단계―상기 블럭은 2차원의 행 및 열의 어레이로 어드레싱됨―와,
    비디오 데이터의 프레임의 교번하는 블럭을 선택하여 그 선택된 블럭에 대한 움직임 벡터를 추정하는 단계와,
    움직임 벡터가 추정되지 않은 비디오 데이터의 플레임의 적어도 하나의 블럭을 선택하는 단계(204)와,
    상기 선택된 적어도 하나의 블럭의 좌측 블럭 혹은 우측 블럭이 추정된 제로 움직임 벡터를 갖는지를 판정하는 단계(206)와,
    상기 선택된 적어도 하나의 블럭이 이전의 프레임에서 추정된 제로 움직임 벡터를 가졌는지를 판정하는 단계(206)와,
    상기 판정이 긍정적이라면(208), 제로 움직임 벡터를 상기 선택된 적어도 하나의 블럭에 제공하는 단계를 수행하도록 하는 인스트럭션인
    제조 물품.
KR1020057020804A 2003-05-02 2004-05-03 비디오 데이터 처리 방법 및 데이터 프레임의 제 1 블럭에대한 움직임 벡터 생성 방법 KR20060010776A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US46781603P 2003-05-02 2003-05-02
US60/467,816 2003-05-02

Publications (1)

Publication Number Publication Date
KR20060010776A true KR20060010776A (ko) 2006-02-02

Family

ID=33435129

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057020804A KR20060010776A (ko) 2003-05-02 2004-05-03 비디오 데이터 처리 방법 및 데이터 프레임의 제 1 블럭에대한 움직임 벡터 생성 방법

Country Status (8)

Country Link
US (1) US8073055B2 (ko)
EP (1) EP1627533B1 (ko)
JP (1) JP4575370B2 (ko)
KR (1) KR20060010776A (ko)
CN (1) CN100521790C (ko)
AT (1) ATE349860T1 (ko)
DE (1) DE602004003934T2 (ko)
WO (1) WO2004100555A2 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4182442B2 (ja) * 2006-04-27 2008-11-19 ソニー株式会社 画像データの処理装置、画像データの処理方法、画像データの処理方法のプログラム及び画像データの処理方法のプログラムを記録した記録媒体
KR101337206B1 (ko) * 2007-10-12 2013-12-06 삼성전자주식회사 블록 샘플링을 이용한 영상의 움직임 추정 시스템 및 방법.
US8660175B2 (en) * 2007-12-10 2014-02-25 Qualcomm Incorporated Selective display of interpolated or extrapolated video units
CN101482967B (zh) * 2008-01-10 2011-05-11 晨星半导体股份有限公司 产生目标图像数据块的图像处理方法及其相关装置
FR2940736B1 (fr) * 2008-12-30 2011-04-08 Sagem Comm Systeme et procede de codage video
WO2011122659A1 (ja) * 2010-03-30 2011-10-06 シャープ株式会社 符号化装置および復号装置
JP6422011B2 (ja) 2012-05-11 2018-11-14 サン パテント トラスト 動画像符号化方法、動画像復号化方法、動画像符号化装置および動画像復号化装置
US9330171B1 (en) * 2013-10-17 2016-05-03 Google Inc. Video annotation using deep network architectures
KR102256855B1 (ko) 2016-02-09 2021-05-26 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 효율적인 감소성 또는 효율적인 랜덤 액세스를 허용하는 픽처/비디오 데이터 스트림들에 대한 개념
CN113207003B (zh) * 2021-04-15 2023-01-24 上海顺久电子科技有限公司 一种视频图像的运动估计方法及电子设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01265684A (ja) 1988-04-18 1989-10-23 Nec Corp 動き補償フレーム間予測符号化および復号化装置
JP2519113B2 (ja) * 1990-01-23 1996-07-31 日本ビクター株式会社 動きベクトル情報の伝送方法及びその送信機並びに受信機
DE69116036T2 (de) 1990-08-28 1996-08-01 Philips Electronics Nv Verfahren und Anordung zum Verringern der Bewegungsabschätzapparatur und der Anforderungen an die Datenübertragungskapazität in Video-Systemen
US5398068A (en) * 1993-09-02 1995-03-14 Trustees Of Princeton University Method and apparatus for determining motion vectors for image sequences
US5812199A (en) * 1996-07-11 1998-09-22 Apple Computer, Inc. System and method for estimating block motion in a video image sequence
WO2000011863A1 (en) * 1998-08-21 2000-03-02 Koninklijke Philips Electronics N.V. Problem area location in an image signal

Also Published As

Publication number Publication date
WO2004100555A2 (en) 2004-11-18
JP2006525766A (ja) 2006-11-09
EP1627533A2 (en) 2006-02-22
US20060239353A1 (en) 2006-10-26
DE602004003934T2 (de) 2007-10-18
JP4575370B2 (ja) 2010-11-04
ATE349860T1 (de) 2007-01-15
CN100521790C (zh) 2009-07-29
US8073055B2 (en) 2011-12-06
WO2004100555A3 (en) 2005-01-13
CN1781316A (zh) 2006-05-31
EP1627533B1 (en) 2006-12-27
DE602004003934D1 (de) 2007-02-08

Similar Documents

Publication Publication Date Title
US8837592B2 (en) Method for performing local motion vector derivation during video coding of a coding unit, and associated apparatus
US20060098737A1 (en) Segment-based motion estimation
US8130835B2 (en) Method and apparatus for generating motion vector in hierarchical motion estimation
JP3621152B2 (ja) 特徴点の特定装置及びその方法
US9503728B2 (en) Image processing device, decoding method, intra-frame decoder, method of decoding intra-frame and intra-frame encoder
US10341679B2 (en) Encoding system using motion estimation and encoding method using motion estimation
EP1430724A1 (en) Motion estimation and/or compensation
JP2001506472A (ja) 動作評価及び動作補償された補間
JPH11168703A (ja) ビデオ用動き予測兼補償フィールドレートアップ変換方法およびこの方法を作動させる装置
KR20060010776A (ko) 비디오 데이터 처리 방법 및 데이터 프레임의 제 1 블럭에대한 움직임 벡터 생성 방법
KR20040078690A (ko) 오클루전을 고려하여 일군의 화소들의 움직임 벡터를 추정
JP4140091B2 (ja) 画像情報変換装置および画像情報変換方法
JPH06237441A (ja) 映像信号多分岐回帰処理装置
JP4470324B2 (ja) 画像信号変換装置および方法
KR20010102216A (ko) 비디오 영상들의 움직임들의 추정
JP3826434B2 (ja) 信号変換装置および方法
JP2000083224A (ja) 画像情報変換装置
JP2000092454A (ja) 画像情報変換装置および画像情報変換方法
JPH11146401A (ja) 動画像信号の動きベクトル検出方法および動きベクトル検出回路
JPH07107486A (ja) 階層的動ベクトル検出方法
JPH0542197B2 (ko)
JPH10126783A (ja) 動きベクトル検出装置
JP2000324497A (ja) 画像情報変換装置および変換方法
Salgado et al. Region-based multivector motion estimation for efficient very low bitrate video coding
JP2000083223A (ja) 画像情報変換装置および画像情報変換方法

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application