KR20100005211A - 비디오 코딩 방법, 장치 및 컴퓨터 판독가능 매체 - Google Patents

비디오 코딩 방법, 장치 및 컴퓨터 판독가능 매체 Download PDF

Info

Publication number
KR20100005211A
KR20100005211A KR1020097023317A KR20097023317A KR20100005211A KR 20100005211 A KR20100005211 A KR 20100005211A KR 1020097023317 A KR1020097023317 A KR 1020097023317A KR 20097023317 A KR20097023317 A KR 20097023317A KR 20100005211 A KR20100005211 A KR 20100005211A
Authority
KR
South Korea
Prior art keywords
pixel
motion vector
sample
accuracy
syntax element
Prior art date
Application number
KR1020097023317A
Other languages
English (en)
Other versions
KR101129972B1 (ko
Inventor
케말 우구르
자니 레이네마
Original Assignee
노키아 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 노키아 코포레이션 filed Critical 노키아 코포레이션
Publication of KR20100005211A publication Critical patent/KR20100005211A/ko
Application granted granted Critical
Publication of KR101129972B1 publication Critical patent/KR101129972B1/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/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/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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/53Multi-resolution motion estimation; Hierarchical motion estimation
    • 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)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

¼ 픽셀 및 정밀한 정확도를 가진 프레임 예측 샘플에 2 단계 보간이 제공될 수 있다. ¼ 픽셀 및 정밀한 정확도의 모든 샘플은 고 정확도 움직임 벡터, 예컨대, ⅛ 픽셀 정확도 움직임 벡터의 사용을 고려하기 위해 이중 선형 보간에서 ½ 또는 완전/정수 픽셀을 사용할 수 있다. 움직임 벡터가 부 픽셀 그리드 상의 모든 가능한 부 픽셀 샘플을 가리키는 것이 허용되는 것이 아니라 그 부 픽셀 샘플의 서브세트를 가리키는 것이 허용되도록 하는 방식으로 움직임 벡터가 제한될 수 있다. 또한, ¼ 픽셀 샘플을 획득하는 데 사용될 수 있는 것과 동일한 완전/정수 및 ½ 픽셀 샘플이 그 ¼ 픽셀 샘플이 접속되는 ⅛ 픽셀 샘플을 획득하는 데에도 사용될 수 있다. 그러므로, 모든 ¼ 픽셀 샘플마다, 움직임 벡터는 ⅛ 픽셀 정확도를 가진 2 개의 추가적인 위치/장소를 가리킬 수 있는데, 여기서 2 개의 추가적인 위치/장소는 ¼ 픽셀 샘플을 획득하는 데 사용되었던 것과 동일한 ½ 또는 정수 픽셀 샘플을 사용하여 계산될 수 있다. 따라서, 추가적인 보간 단계를 수행하거나 움직임 벡터 데이터를 디코딩하도록 구성된 디코더의 복잡도를 증가시킬 필요 없이 임의의 움직임 벡터 정확도가 획득될 수 있다.

Description

낮은 인코더 및 디코더 복잡도를 가진 비디오 코딩을 위한 고 정확도 움직임 벡터{HIGH ACCURACY MOTION VECTORS FOR VIDEO CODING WITH LOW ENCODER AND DECODER COMPLEXITY}
본 발명은 일반적으로 비디오 코딩에 관한 것이다. 보다 구체적으로, 본 발명은 고 정확도 움직임 벡터를 이용하여 코딩 복잡도를 증가시키지 않으면서 움직임 보상 예측 비디오를 개선하는 것에 관한 것이다.
이 단락에서는 청구항에 기술된 본 발명에 대한 배경 또는 정황을 제공하고자 한다. 본 명세서에서 설명은 추구될 수 있었던 개념을 포함할 수도 있지만, 반드시 이전에 인식되거나 추구되어 온 것은 아니다. 그러므로, 본 명세서에서 다르게 표현하는 것을 제외하고는, 이 단락에서 기술되는 것은 본 출원의 상세한 설명과 청구항에 대한 종래 기술이 아니며, 이 단락에 포함됨으로써 종래 기술로 인정하는 것도 아니다.
움직임 보상 예측(MCP:Motion Compensated Prediction)은 비디오 압축 표준에 의해 인코딩된 비트스트림의 크기를 감소시키는 데 이용되는 기술이다. MCP에 서, 현재 프레임에 대한 예측은 이전에 코딩된 프레임(들)을 사용하여 형성되는데, 여기서 현재 및 예측된 프레임을 나타내는 원시 신호와 예측 신호의 차이만이 인코딩되고 디코더로 전송된다. 예측 프레임을 나타내는 예측 신호는 먼저 현재 프레임을 블록, 예컨대, 매크로블록으로 분할하고, 블록마다 기준 프레임 내의 최상의 정합을 검색함으로써 형성된다. 이런 방식으로, 기준 프레임에 대한 블록의 움직임이 결정되고 이 움직임 정보는 움직임 벡터로서 비트스트림으로 코딩된다. 디코더는 비트스트림으로 인코딩된 움직임 벡터 데이터를 디코딩함으로써 정확한 예측 프레임을 재구성할 수 있다.
움직임 벡터는 완전 픽셀 정확도(full-pixel accuracy)를 가지는 것으로 제한되지 않지만, 부분 픽셀 정확도(fractional-pixel accuracy)도 가질 수 있다. 즉, 움직임 벡터는 기준 프레임의 부분 픽셀 위치/장소를 가리킬 수 있는데, 여기서 부분 픽셀 위치는 예컨대, "중간" 이미지 픽셀을 지칭할 수 있다. 부분 픽셀 위치에서 샘플을 획득하기 위해, MCP 프로세스에서 보간 필터가 사용된다. 종래의 비디오 코딩 표준은 보간 필터를 정의함으로써 디코더가 부분 픽셀 정확도에서 샘플을 획득할 수 있는 방법을 설명한다. MPEG-2에서, 예컨대, 움직임 벡터는 최대 ½ 픽셀 정확도(half-pixel accuracy)를 가질 수 있는데, 여기서 ½ 픽셀 위치에서의 샘플은 완전 픽셀 위치에서의 인접 샘플의 간단한 평균화에 의해 획득된다. H.264/AVC 비디오 코딩 표준은 움직임 벡터를 ¼ 픽셀 정확도(quarter-pixel accuracy)까지 지원한다. 또한, H.264/AVC 비디오 코딩 표준에서, ½ 픽셀 샘플은 대칭 및 분리가능 6 탭 필터를 사용함으로써 획득되지만, ¼ 픽셀 샘플은 가장 가 까운 ½ 또는 완전 픽셀 샘플을 평균화함으로써 획득된다.
고 정확도 움직임 벡터를 사용함으로써 MCP 프로세스에서 더 나은 예측이 가능하다고 알려져 있다. 예컨대, ⅛ 픽셀 정확도(one-eighth accuracy)를 가진 움직임 벡터의 사용은 비디오 코딩 시스템의 코딩 효율을 증가시킬 수 있다. 그러나, (예컨대, 문헌 연구에서 그리고 H.264/AVC 비디오 코딩 표준의 개발 과정에서 고려된 바와 같이) 종래의 고 정확도 움직임 벡터의 사용은 일반적으로 인코딩과 디코딩 양자 모두의 복잡도를 증가시키는데, 여기서 복잡도의 증가는 2 가지 요인을 수반한다. 제 1 요인은 후보 ⅛ 픽셀 정확도 위치를 체크하기 위해 인코더가 추가 움직임 추정 단계를 수행해야 한다는 것이다. 제 2 요인은 ⅛ 픽셀 샘플을 획득하기 위해 인코더와 디코더 양자 모두가 추가적이고 일반적으로 복잡한 보간을 수행해야 할 필요가 있다는 것이다.
예컨대, ⅛ 픽셀 샘플 정확도에 대한 2 가지 상이한 보간 기술이 후속하는 참조 문헌에 설명되며, 그 참조 문헌은 T. Wedi "⅛-pel motion vector resolution for H.26L", ITU-T Q.15/SG16, doc. Q15-K21, Portland, Oregon USA, August 2000 및 T. Wedi "Complexity reduced motion compensated prediction with ⅛-pel displacement vector resolution", ITU-T Q.6/SG16, doc. VCEG-L20, Eibsee, Germany, January 2001이다. 도 1에 나타낸 바와 같이, 첫 번째 종래의 알고리즘은 프레임(106) 내에 적어도 ⅛ 픽셀 샘플을 획득하기 위해 3 단계 보간 프로세스를 사용한다. 적어도 ½ 픽셀 및 ¼ 픽셀 샘플은 각각의 프레임(102, 104)에 관하여 6 탭(또는 8 탭) 필터링을 사용하여 획득될 수 있고, ⅛ 픽셀 샘플은 이중 선 형(bi-linear) 필터링을 사용하여 획득될 수 있다. 특히, 6 탭 또는 8 탭 필터링의 2 가지 예, 예컨대, 필터(108) 및 필터(110)가 이용될 수 있는 한편, 이중 선형 필터링의 단일 예, 예컨대, 필터(102)가 이용될 수 있다. 이러한 종래의 방안을 사용하면, 예컨대, 완전 프레임(a full frame)(100)에 대하여 적용되는 적어도 2 개의 캐스캐이드형 6 탭 보간을 수행해야 하므로 ¼ 픽셀 샘플과 ⅛ 픽셀 샘플 양자의 보간 복잡도는 H.264/AVC 비디오 코딩 표준보다 현저히 크다. 게다가, 인코더는 효율적인 움직임 추정을 수행하기 위해 메모리 장치에 적어도 ¼ 픽셀 업샘플링(upsampled) 데이터를 저장해야할 필요가 있다.
두 번째 알고리즘은 디코딩 복잡도를 감소시키기 위해 ¼ 및 ⅛ 픽셀 샘플에 대해 직접 보간을 사용하는 것을 포함한다. 그러므로, 직접 보간은 정수 샘플만을 사용함으로써 획득되는 ¼ 및 ⅛ 픽셀 샘플을 지칭할 수 있다. 이러한 방식에서는, 긴 캐스캐이딩 필터를 사용하여 동작을 수행할 필요가 없다. 이 종래의 알고리즘은 H.264/AVC 비디오 코딩 표준과 유사한 디코딩 복잡도를 갖는다. 그러나, 이 알고리즘은 인코더 복잡도에 관하여 단점을 갖는다. 이것은 움직임 추정 단계에서 인코더가 각각의 후보 ¼ 및 ⅛ 픽셀 움직임 벡터마다 고 복잡도 보간을 수행해야 하기 때문이다. 이러한 고 복잡도 보간의 수행은 인코딩 프로세스의 복잡도를 상당히 많이 증가시킨다.
또 다른 대안은 프레임 인코딩 프로세스 이전에 ¼ 및 ⅛ 픽셀 샘플을 사전계산하고 이를 메모리에 저장하는 것이다. 그러나, 이 방안은 인코더에 필요한 메모리를 상당히 증가시킨다. 따라서, 인코딩 및/또는 디코딩 프로세스의 복잡도를 증가시키지 않고 시스템 및 방법의 코딩 효율을 증가시키는, 고 정확도 움직임 벡터를 이용하는 시스템 및 방법이 필요하다.
본 발명의 다양한 실시예는 ¼ 픽셀 및 정밀한 정확도를 가진 프레임 예측 샘플에 2 단계 보간을 제공한다. 즉, ¼ 픽셀 및 정밀한 정확도를 가진 모든 샘플은 고 정확도 움직임 벡터, 예컨대, ⅛ 픽셀 정확도 움직임 벡터의 사용을 고려하기 위해 이중 선형 보간에서 ½ 또는 완전/정수 픽셀을 사용할 수 있다. 움직임 벡터가 부 픽셀 그리드 상의 모든 가능한 부 픽셀 샘플을 가리키는 것이 허용되는 것이 아니라 그 부 픽셀 샘플의 서브세트를 가리키는 것이 허용되도록 하는 방식으로 움직임 벡터가 제한될 수 있다. 또한, ¼ 픽셀 샘플을 획득하는 데 사용될 수 있는 것과 동일한 완전/정수 및 ½ 픽셀 샘플이 그 ¼ 픽셀 샘플이 접속되는 ⅛ 픽셀 샘플을 획득하는 데에도 사용될 수 있다. 그러므로, 모든 ¼ 픽셀 샘플마다, 움직임 벡터는 ⅛ 픽셀 정확도를 가진 2 개의 추가적인 위치를 가리킬 수 있는데, 여기서 2 개의 추가적인 위치는 ¼ 픽셀 샘플을 획득하는 데 사용되었던 것과 동일한 ½ 또는 정수 픽셀 샘플을 사용하여 계산될 수 있다. 따라서, 추가적인 보간 단계를 수행하거나 움직임 벡터 데이터를 디코딩하도록 구성된 디코더의 복잡도를 증가시킬 필요 없이 임의의 움직임 벡터 정확도가 획득될 수 있다.
본 발명의 이러한 장점과 특징 및 다른 장점/특징들은 그 동작의 구성 및 방법과 함께 후속하는 상세한 설명을 첨부 도면과 관련지어 이해하면 자명해질 것이되, 후술되는 몇몇 도면 전체에서 동일한 구성요소는 동일한 번호를 갖는다.
도 1은 종래의 3 단계 보간 구조를 도시한다.
도 2는 본 발명과 함께 사용할 일반적인 멀티미디어 통신 시스템을 도시한다.
도 3은 본 발명의 구현에서 사용될 수 있는 이동 장치의 투영도이다.
도 4는 도 3의 이동 장치의 장치 회로의 개략도이다.
도 5는 일 실시예에 따른 허용 픽셀 위치 및 접속의 개략도이다.
도 6은 다른 실시예에 따른 허용 픽셀 위치 및 접속의 개략도이다.
도 7은 부분 보간 구조의 개략도이다.
도 8은 다양한 실시예에 따라 전 및 부 픽셀 위치를 나타내는 데 이용된 표기를 도시한다.
도 2는 본 발명과 함께 사용할 일반적인 멀티미디어 통신 시스템을 도시한다. 도 2에 도시된 바와 같이, 데이터 소스(200)는 아날로그, 비압축형 디지털 또는 압축형 디지털 포맷 또는 이들 포맷의 임의의 조합의 소스 신호를 제공한다. 인코더(210)는 소스 신호를 코딩된 미디어 비트스트림으로 인코딩할 수 있다. 인코더(210)는 2 개 이상의 미디어 유형, 예컨대, 오디오 및 비디오를 인코딩할 수 있고, 또는 상이한 미디어 유형의 소스 신호를 코딩하는 데 2 개 이상의 인코더(210)가 필요할 수 있다. 인코더(210)는 또한 합성하여 생성된 입력, 예컨대, 그래픽 및 텍스트를 획득할 수 있고, 또는 합성 미디어의 코딩된 비트스트림을 생성할 수 있다. 이하, 설명을 간단하게 하기 위해 하나의 미디어 유형의 하나의 코딩된 미디어 비트스트림의 처리만 고려된다. 그러나, 전형적인 실시간 브로드캐스트 서비스가 몇몇 스트림(전형적으로, 적어도 하나의 오디오, 비디오 및 텍스트 자막 스트림)을 포함함을 알아야 한다. 시스템이 다수의 인코더를 포함할 수 있지만, 일반성을 해하지 않고 설명을 간단하게 하기 위해 후속하는 단 하나의 인코더(210)만 고려된다는 것 또한 알아야 한다.
본문 및 그 안에 포함된 예는 인코딩 프로세스를 명확하게 설명할 수 있지만, 당업자는 동일한 개념 및 원리가 대응하는 디코딩 프로세스에도 적용됨을 용이하게 이해할 것이며, 반대의 경우 또한 같다.
코딩된 미디어 비트스트림은 저장부(220)로 전송된다. 저장부(220)는 코딩된 미디어 비트스트림을 저장하는 임의의 유형의 대용량 메모리를 포함할 수 있다. 저장부(220) 내의 코딩된 미디어 비트스트림의 포맷은 요소 독립식 비트스트림 포맷(elementary self-contained bitstream format)이거나, 하나 이상의 코딩된 미디어 비트스트림은 컨테이너 파일 내에 캡슐화될 수 있다. 몇몇 시스템은 "라이브(live)" 방식으로 동작하는데, 즉, 저장부를 생략하고 인코더(210)로부터 직접 송신기(230)로 코딩된 미디어 비트스트림을 전송할 수 있다. 이어서 코딩된 미디어 비트스트림은 필요에 따라 서버로도 지칭되는 송신기(230)로 전송된다. 전송에 사용된 포맷은 요소 독립식 비트스트림 포맷, 패킷 스트림 포맷일 수 있고, 또는 하나 이상의 코딩된 미디어 비트스트림은 컨테이너 파일 내에 캡슐화될 수 있다. 인코더(210), 저장부(220) 및 송신기(230)는 동일한 물리적 장치 내에 존재하거나 개별 장치에 포함될 수 있다. 인코더(210) 및 송신기(230)는 라이브 실시간 콘텐츠를 사용하여 동작할 수 있는데, 이 경우에 코딩된 미디어 비트스트림은 전형적으로 영구히 저장되지 않으며, 오히려 콘텐츠 인코더(210) 및/또는 송신기(230)에서 짧은 시간 동안 버퍼링되어 처리 지연, 전송 지연 및 코딩된 미디어 비트레이트의 변화를 원만하게 한다.
송신기(230)는 통신 프로토콜 스택을 사용하여 코딩된 미디어 비트스트림을 전송한다. 이 스택은 실시간 전송 프로토콜(RTP), 사용자 데이터그램 프로토콜(UDP) 및 인터넷 프로토콜(IP)을 포함할 수 있지만, 이것으로 제한되지 않는다. 통신 프로토콜 스택이 패킷 지향형이면, 송신기(230)는 코딩된 미디어 비트스트림을 패킷에 캡슐화할 수 있다. 예컨대, RTP가 사용되면, 송신기(230)는 RTP 페이로드 포맷에 따라 코딩된 미디어 비트스트림을 RTP 패킷에 캡슐화할 수 있다. 전형적으로, 각각의 미디어 유형은 전용 RTP 페이로드 포맷을 갖는다. 다시 한번, 시스템이 2 개 이상의 송신기(230)를 포함할 수 있지만, 간결성을 위해, 후속 설명은 하나의 송신기(230)만을 고려함을 알아야 한다.
송신기(230)는 통신 네트워크를 통해 게이트웨이(240)에 접속되거나 접속되지 않을 수 있다. 게이트웨이(240)는 예컨대, 하나의 통신 프로토콜 스택에 따른 패킷 스트림을 다른 통신 프로토콜 스택으로 변환하는 것, 데이터 스트림의 병합 및 분기, 및 다운링크 및/또는 수신기 능력에 따른 데이터 스트림의 조작, 예컨대, 우세한 다운링크 네트워크 상태에 따라 전송된 스트림의 비트 레이트를 제어하는 것과 같은 상이한 유형의 기능을 수행할 수 있다. 게이트웨이(240)의 예는 MCU(multipoint conference control unit), 회선 교환형 비디오 전화와 패킷 교환형 비디오 전화 사이의 게이트웨이, PoC(Push-to-talk over Cellular) 서버, DVB-H(digital video broadcasting-handheld) 시스템의 IP 캡슐화기(encapsulator), 또는 브로드캐스트 전송을 홈 무선 네트워크로 국부적으로 전달하는 셋톱 박스를 포함한다. RTP가 사용되면, 게이트웨이(240)는 RTP 혼합기로 불리고 RTP 접속의 종점으로서 동작한다.
시스템은 전형적으로 전송된 신호를 수신하고, 복조하며, 코딩된 미디어 비트스트림으로 디캡슐화할 수 있는 하나 이상의 수신기(250)를 포함한다. 코딩된 미디어 비트스트림은 전형적으로 디코더(260)에 의해 더 처리되는데, 그 출력은 하나 이상의 비압축 미디어 스트림이다. 마지막으로, 렌더러(renderer)(270)는 예컨대, 확성기 또는 디스플레이를 사용하여 비압축 미디어 스트림을 재생할 수 있다. 수신기(250), 디코더(260) 및 렌더러(270)는 동일한 물리적 장치에 존재하거나 개별 장치에 포함될 수 있다.
디코딩되는 비트스트림이 사실상 임의의 유형의 네트워크 내에 배치된 원격 장치로부터 수신될 수 있음을 알아야 한다. 부가적으로, 비트스트림은 로컬 하드웨어 또는 소프트웨어로부터 수신될 수 있다.
비트레이트, 디코딩 복잡도 및 화상 크기의 관점에서 범위성(scalability)은 이종 및 오류 빈번 환경에 대해 바람직한 특성이다. 이 특성은 수신 장치에서의 비트 레이트, 디스플레이 해상도, 네트워크 처리량 및 계산력에 대한 제약과 같은 제한에 맞서기 위해 바람직하다.
본 발명의 통신 장치는 CDMA(Code Division Multiple Access), GSM(Global System for Mobile communications), UMTS(Universal Mobile Telecommunications System), TDMA(Time Division Multiple Access), FDMA(Frequency Division Multiple Access), TCP/IP(Transmission Control Protocol/Internet Protocol), SMS(Short Messaging Service), MMS(Multimedia Messaging Service), 이메일, IMS(Instant Messaging Service), 블루투스, IEEE 802.11 등을 포함하는 다양한 전송 기술을 사용하여 통신할 수 있지만, 이것으로 제한되지 않는다. 통신 장치는 무선, 적외선, 레이저, 케이블 접속 등을 포함하는 다양한 매체를 사용하여 통신할 수 있지만, 이것으로 제한되지 않는다.
도 3 및 도 4는 본 발명이 구현될 수 있는 하나의 전형적인 이동 장치(12)를 도시한다. 그러나, 본 발명이 일 특정 유형의 이동 장치(12) 또는 다른 전자 장치로 제한되지 않도록 의도됨을 알아야 한다. 도 3 및 도 4에 도시된 특징부의 일부 또는 전부는 도 2에 나타낸 장치들 중 임의의 장치 또는 모든 장치에 통합될 수 있다.
도 3 및 도 4의 이동 장치(12)는 하우징(30), 액정 디스플레이 형태의 디스플레이(32), 키패드(34), 마이크로폰(36), 이어피스(ear-piece)(38), 배터리(40), 적외선 포트(42), 안테나(44), 본 발명의 일 실시예에 따른 UICC 형태의 스마트 카 드(46), 카드 판독기(48), 무선 인터페이스 회로(52), 코덱 회로(54), 제어기(56) 및 메모리(58)를 포함한다. 개별 회로 및 소자는 당해 기술, 예컨대, 노키아의 이동 전화기 범위 내에 잘 알려져 있는 모든 유형에 속한다.
다양한 실시예는 추가적인 보간 단계를 수행하거나 디코더의 복잡도를 증가시킬 필요없이 임의의 정확도를 획득하도록 종래의 2 단계 부 픽셀 보간 알고리즘, 예컨대, H.264/AVC 비디오 코딩 표준에서 사용된 알고리즘을 확장할 수 있다. 즉, 움직임 벡터는, ¼ 픽셀 샘플을 보간하는 데 사용될 수 있는 완전 픽셀 샘플과 ½ 픽셀 샘플 바로 중간에 위치하는 자신의 위치/장소를 가리키는 것만 허용되도록 제한될 수 있다. 따라서, 부 픽셀 샘플은 가장 가까운 ¼ 픽셀 샘플이 도출되는 동일한 완전 및 ½ 픽셀 샘플로부터 도출될 수 있지만, 부 픽셀 샘플은 가장 가까운 ¼ 픽셀 샘플보다 정밀한 정확도를 가질 수 있다. H.264/AVC 비디오 코딩 표준 외에 다른 비디오 코딩 표준에 의해 및/또는 이와 함께 다양한 실시예가 구현될 수 있음을 알아야 한다.
일 실시예는 ⅛ 샘플 정확도를 가진 움직임 벡터에 대해 사용될 수 있다. 이 예시적인 실시예에서, 다양한 실시예가 H.264/AVC 부분 보간 구조에 적용되는 경우에 움직임 벡터가 가리키도록 허용되는 ⅛ 픽셀 샘플이 도 5에 도시된다. 이와 유사하게, 다른 부분 보간 구조에서 움직임 벡터가 가리키도록 허용되는 ⅛ 픽셀 샘플이 도 6에 도시되는데, 여기서 구조, 특히 부 픽셀 이중 선형 보간 구조는 도 7에 도시된다. 도 5 및 도 6에서, ⅛ 픽셀 샘플은 음영이 있는 원(501 내지 524 및 601 내지 624)에 의해 각각 표시되고, 화살표를 따라 이웃하는 ¼ 픽셀 샘 플에 접속되는 것으로 도시된다. ¼ 픽셀 샘플은 도 5에서 삼각형(530 내지 541)으로 표시되고, 도 6에서 삼각형(630 내지 641)으로 표시된다. ½ 픽셀 샘플은 도 5 및 도 6에서 각각 음영이 없는 원(550 내지 554 및 650 내지 654)으로 표시된다. 완전/정수 픽셀 샘플은 도 5 및 도 6에서 각각 정사각형(560 내지 563 및 660 내지 663)으로 표시된다.
그러므로, 도 5 및 도 6은 ¼ 픽셀 샘플을 획득하는 데 사용될 수 있는 것과 동일한 완전 픽셀 및 ½ 픽셀 샘플이, ¼ 픽셀 샘플이 접속되는 ⅛ 픽셀 샘플을 획득하는 데에도 사용될 수 있는 방법을 도시한다. 종래의 2 단계 보간에서, 2 개의 가장 가까운 ½ 또는 정수 픽셀 샘플의 이중 선형 필터링(bi-linear filtering)을 사용하여 ¼ 픽셀이 계산될 수 있다. 다양한 실시예에 따르면, 이 기술은 ⅛ 픽셀 정확도에 적용하도록 확장될 수 있다. 즉, 모든 ¼ 픽셀 샘플의 경우에, 움직임 벡터는 ⅛ 픽셀 정확도를 가진 2 개의 추가적인 위치/장소를 가리킬 수 있는데, 2 개의 추가적인 위치는 ¼ 픽셀 샘플을 획득하는 데 사용되었던 것과 동일한 ½ 또는 완전/정수 픽셀 샘플을 사용하여 계산될 수 있다.
도 5 및 도 6은 각각의 ¼ 픽셀마다 이들 2 개의 추가적인 위치를 도시한다. 예컨대, 도 5에서 ⅛ 픽셀 샘플(501, 502)은 ¼ 픽셀 샘플(530)에 접속된다. 도 6도 예컨대, ⅛ 픽셀 샘플(608, 612)이 ¼ 픽셀 샘플(635)에 접속되는 것으로 도시한다. 2 개의 추가적인 위치 및 2 개의 추가적인 위치 세트가 접속되는 원시 ¼ 픽셀 위치의 각각은 일 실시예에서 one_eighth_pixel_offset 구문 요소를 사용하여 표시될 수 있음을 알아야 한다. 또한 one_eighth_pixel_offset 구문 요소는 예컨 대, 움직임 벡터가 완전 또는 ½ 픽셀 위치/장소를 가리키고 있지 않을 때에만 전송될 필요가 있음을 알아야 한다.
움직임 벡터는 움직임 벡터 코딩 기술이 이용될 수 있고 종래의 코딩 기술과 상이한 일 실시예에 따라 ⅛ 픽셀 해상도로 제한된다. 예컨대, 완전, ½ 및 ¼ 픽셀 움직임 벡터는 통상적으로 H.264/AVC 코딩 표준에 관하여 실행되는 것과 동일한 방식으로 코딩될 수 있다. 그러나, 초기에 전송된 움직임 벡터가 ¼ 픽셀 정확도를 가지면, (만일 존재한다면) 적어도 하나의 ⅛ 픽셀 오프셋을 나타내도록 추가적인 구문 요소가 전송될 수 있다. 그렇지 않으면, 움직임 벡터는 ⅛ 픽셀 정확도보다 큰 정확도를 가질 수 있는데, 이 경우에, 구문 요소는 큰 정확도 레벨에 적합한 오프셋을 나타낼 수 있다.
다양한 실시예에 따르면, 전술한 오프셋을 전송하는 비트를 보존할 수 있는 특정 방안이 존재한다. 일 방안은 이웃하는 매크로블록으로부터의 오프셋을 예측하여 이용되는 가변 길이 코드를 재배열하는 것을 포함할 수 있다. 다른 방안은 비트스트림으로 코딩된 움직임 벡터 차이에 기초하여 오프셋을 예측하는 것을 포함할 수 있다(예컨대, 만일 0 움직임 벡터 차이가 비트스트림에 표시되면, 블록에 대해 예측된 움직임 벡터를 생성하는 데 사용되었던 움직임 벡터로부터 도출된 오프셋이 사용될 수 있다). 또 다른 방안이 이용될 수 있는데, 여기서는 화상, 화상 그룹, 매크로블록, 매크로블록 그룹 또는 블록에 대한 움직임 정확도가 표시될 수 있다. 예컨대, 표시는 매크로블록 헤더에 설정될 수 있는데, 그 표시는 ¼ 픽셀 움직임 정확도만이 매크로블록에 적용된다고 시그널링할 수 있다. 이 경우에, 매 크로블록에서 움직임 벡터에 대해 전송되도록 요구되는 추가 구문은 없다. 이와 달리, 표시는 매크로블록의 모드에 따라 구성될 수 있다. 예컨대, 매크로블록이 하나의 움직임 벡터만을 가지는 시나리오에서(예컨대, 움직임 분할부 크기는 16 × 16임), 표시는 다수의 비트를 보존하지 않을 것이므로 방지될 수 있다.
⅛ 픽셀 정확도 움직임 벡터를 지원할 수 있는 비디오 코딩 시스템 및 방법의 다양한 실시예에 따라 인코더(들) 및 디코더(들)에 의해 및/또는 이와 함께 실행되는 예시적인 프로세스는 상세히 후술된다. 그러나, 다양한 실시예가 정밀한 정확도 ⅛ 픽셀 정확도를 사용하여 동작하도록 확장될 수 있음을 알아야 한다.
예시적인 디코딩 연산/알고리즘에 관하여, 하나 이상의 ⅛ 픽셀 위치가 획득될 수 있다. 예시적인 인코더 연산/알고리즘에 관하여, 하나 이상의 ⅛ 픽셀 정확도 움직임 벡터가 구해질 수 있다. 디코더/인코더 알고리즘에 대해 특정 가정이 이루어질 수 있음을 알아야 한다. 예컨대, 모든 ¼ 픽셀 움직임 벡터마다 적어도 하나의 ⅛ 픽셀 오프셋 구문 요소가, 매크로블록 헤더에 존재하는 다른 구문 요소에 대한 의존성 없이 전송된다고 가정할 수 있다. 만일 코딩 효율을 증가시키기 위한 의존성이 존재하면, 아래 표 1에 후술되는 알고리즘은 간단한 방식으로 확장될 수 있다. 또한, ⅛ 픽셀 오프셋이 이웃하는 매크로블록으로부터 예측되지 않는다고 가정할 수 있다. 그러나, 만일 이웃하는 매크로블록으로부터 ⅛ 픽셀을 예측하는 것이 바람직하면, 알고리즘에 대한 간단한 확장이 다시 한번 가능함을 알아야 한다.
예시적인 디코딩 연산에 따르면, 움직임 벡터가 디코딩된 후에, 디코딩된 움 직임 벡터가 ¼ 픽셀 정확도에 대응하면, 디코더, 예컨대, 디코더(260)는 ⅛ 픽셀 오프셋 구문 요소를 판독할 수 있다. ¼ 픽셀 움직임 벡터를 사용하면, 디코더(260)는 움직임 벡터가 가리키는 ¼ 픽셀 위치를 계산할 수 있다. 도 8은 아래 표 1에 설명된 알고리즘과 함께 이용될 수 있는 가능한 표기 구조를 도시한다. 바꾸어 말하면, ¼ 픽셀 위치 및 ⅛ 픽셀 오프셋을 사용하면, 디코더(260)는 표 1에 제공된 식을 사용하여 관련된 ⅛ 픽셀 정확도 샘플을 획득할 수 있다. 예컨대, 도 8에 도시된 표기 구조는 도 5에 도시된 다양한 픽셀 위치에 적용될 수 있다. 즉, 도 8의 ¼ 픽셀 위치 "a"는 도 5의 ¼ 픽셀 위치(530)를 나타낼 수 있는데, "-1" ⅛ 픽셀 오프셋은 ⅛ 픽셀 샘플(501)을 나타낼 수 있고, "1" ⅛ 픽셀 오프셋은 ⅛ 픽셀 샘플(502)을 나타낼 수 있다. 후술되는 식/알고리즘이 H.264/AVC 비디오 코딩 표준의 부분 보간 구조 및 도 7에 도시된 부 픽셀 이중 선형 보간 구조에 적용될 수 있음을 알아야 한다. 그러나, 식/알고리즘은 H.241/RCDO을 포함하는 부분 보간 구조와 함께 사용하기 위해 확장/적응될 수 있지만, 이것으로 한정되지 않는다.
Figure 112009068567870-PCT00001
⅛ 픽셀 움직임 벡터를 구하기 위해 예시적인 인코딩 연산에 따르면, 인코더 알고리즘이 낮은 복잡도에 대해 최적화될 수 있음을 알아야 한다. 그러나, 원한다면 높은 복잡도 인코딩 연산으로 더 나은 코딩 효율이 달성될 수 있다. 예시적인 인코딩 연산은 최상의 완전/정수 및 ½ 픽셀 정확도 움직임 벡터를 구하도록 구성된다. 그 후, 이웃하는 ¼ 픽셀 위치에 대해 검색이 수행된다. ¼ 픽셀 위치의 경우에, 비용 함수는 ⅛ 픽셀 오프셋의 표시를 0으로서 포함하도록 적절히 변경될 수 있다. 만일 최저 비용이 부과되는 움직임 벡터가 ¼ 픽셀 정확도를 가지면, 표 1에 설명된 식을 사용하여 2 개의 후보 ⅛ 픽셀 오프셋(즉, -1 및 1)에 대해 검색이 수행될 수 있다. 이 검색의 경우에, 비용 함수가 ⅛ 픽셀 오프셋의 표시를 1 또는 -1로서 포함하도록 적절히 변경될 수 있음을 알아야 한다.
그러므로, 다양한 실시예는 ¼ 픽셀 및 정밀한 정확도를 가진 모든 샘플에 2 단계 보간을 제공할 수 있다(즉, 모든 ¼ 픽셀 및 정밀한 정확도 샘플은 이중 선형 보간에서 ½ 및/또는 완전/정수 픽셀을 사용한다). 이것은, 전술한 바와 같이, 움직임 벡터가 부 픽셀 그리드 상의 모든 가능한 부 픽셀 샘플을 가리키는 것이 허용되는 것이 아니라 그 서브세트를 가리키는 것이 허용되도록 움직임 벡터를 제한함으로써 달성될 수 있다.
본 명세서에 설명된 다양한 실시예는 일 실시예에서 네트워킹 환경에서 컴퓨터에 의해 실행되는 컴퓨터 실행가능 인스트럭션, 예컨대, 프로그램 코드를 포함하며 컴퓨터 판독가능 매체에 구현되는 컴퓨터 프로그램 제품에 의해 구현될 수 있는 방법 단계 또는 프로세스의 일반적인 측면으로 설명된다. 컴퓨터 판독가능 매체는 ROM, RAM, CD, DVD 등을 포함하는 분리형 및 비분리형 저장 장치를 포함할 수 있다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 객체, 구성요소, 데이터 구조 등을 포함할 수 있다. 컴퓨터 실행가능 인스트럭션, 관련된 데이터 구조 및 프로그램 모듈은 본 명세서에 개시된 방법의 단계를 실행하는 프로그램 코드의 예를 나타낸다. 이러한 실행가능 인스트럭션 또는 관련된 데이터 구조의 특정 시퀀스는 그러한 단계 또는 프로세스에 설명된 기능을 구현하는 해당 동작의 예를 나타낸다.
본 발명의 실시예는 소프트웨어, 하드웨어, 애플리케이션 로직 또는 소프트웨어, 하드웨어 및 애플리케이션 로직의 조합으로 구현될 수 있다. 소프트웨어, 애플리케이션 로직 및/또는 하드웨어는 예컨대, 칩셋, 이동 장치, 데스크탑, 랩탑 또는 서버 상에 존재할 수 있다. 다양한 실시예의 소프트웨어 및 웹 구현은 다양한 데이터베이스 검색 단계 또는 프로세스, 상관 단계 또는 프로세스, 비교 단계 또는 프로세스 및 결정 단계 또는 프로세스를 완수하기 위해 룰 기반 로직 및 다른 로직을 가진 표준 프로그래밍 기술을 사용하여 달성될 수 있다. 다양한 실시예는 또한 네트워크 요소 또는 모듈 내에서 완전히 또는 부분적으로 구현될 수 있다. 본 명세서 및 후속하는 특허청구범위에서 사용된 단어 "구성요소" 및 "모듈"은 소프트웨어 코드의 하나 이상의 라인을 사용하는 구현 및/또는 하드웨어 구현 및/또는 수동 입력을 수신하는 장비를 포함하도록 의도된다.
전술한 예에 설명된 개별 및 특정 구조는 후속하는 특허청구범위에 설명된 특정 기능을 수행하는 수단의 전형적인 구조를 구성하는 것으로서 이해되어야 하지만, 본 명세서에서 용어 "수단"이 사용되지 않는 경우에 그 특허청구범위 내의 제한이 "수단 플러스 기능" 제한을 구성하는 것으로 해석되어서는 안 된다. 부가적으로, 전술한 설명에서 용어 "단계"의 사용은 특허청구범위에서 임의의 특정 제한을 "단계 플러스 기능" 제한을 구성하는 것으로 해석하도록 사용되어서는 안 된다. 발행된 특허, 특허 출원 및 비특허 공개를 포함하는 개별 참조가 본 명세서에서 설명되거나 언급되는 한, 이러한 참조는 후속하는 특허청구범위의 범주를 제한하는 것으로 의도되지 않으며 제한하는 것으로 해석되어서도 안 된다.
실시예의 전술한 설명은 예시 및 설명을 위해 제공되었다. 전술한 설명은 본 발명의 실시예를 개시된 바로 그 형태로 제한하거나 소모시키도록 의도되지 않으며, 이상의 교시의 측면에서 변경 및 수정이 가능하거나 다양한 실시예의 실시로부터 획득될 수 있다. 본 명세서에 개시된 실시예는 당업자가 다양한 실시예에서 그리고 고려된 특정 사용에 적합한 다양한 변경과 함께 본 발명을 이용할 수 있게 하기 위해 다양한 실시예 및 그 실제 응용의 원리 및 특성을 설명하도록 선택되고 기술되었다. 본 명세서에 설명된 실시예의 특징은 방법, 장치, 모듈, 시스템 및 컴퓨터 프로그램 제품의 모든 가능한 조합으로 조합될 수 있다.

Claims (37)

  1. 비트스트림(bitstream)으로 인코딩된 움직임 벡터 데이터(motion vector data)를 디코딩하는 방법에 있어서,
    픽셀 오프셋 구문 요소(pixel offset syntax element)가 상기 비트스트림으로 인코딩되고 움직임 벡터가 적어도 ¼ 픽셀 정확도(quarter-pixel accuracy)를 가진다고 결정하는 단계와,
    상기 픽셀 오프셋 구문 요소를 판독하는 단계와,
    상기 적어도 ¼ 픽셀 정확도를 가진 움직임 벡터를 이용하여 상기 움직임 벡터가 가리키는 상기 적어도 ¼ 픽셀 정확도를 가진 제 1 샘플의 위치를 계산하는 단계와,
    부분 보간 구조 알고리즘(fractional interpolation structure algorithm)을 이용하여, 상기 제 1 샘플보다 큰 픽셀 정확도를 가진 제 2 샘플을 획득하는 단계를 포함하는
    움직임 벡터 데이터의 디코딩 방법.
  2. 제 1 항에 있어서,
    상기 픽셀 오프셋 구문 요소는 ⅛ 픽셀 오프셋 구문 요소를 포함하고, 상기 제 2 샘플은 ⅛ 픽셀 정확도 샘플을 포함하는
    움직임 벡터 데이터의 디코딩 방법.
  3. 제 1 항에 있어서,
    상기 픽셀 오프셋 구문 요소 및 상기 제 2 샘플은 ⅛ 픽셀 정확도보다 큰 정확도를 가지는
    움직임 벡터 데이터의 디코딩 방법.
  4. 제 1 항에 있어서,
    상기 제 2 샘플은 상기 제 1 샘플과 관련된 적어도 2 개의 추가적인 샘플 위치 중 하나를 나타내고, 상기 적어도 2 개의 추가적인 샘플 위치는 각각 상기 적어도 ¼ 픽셀 정확도보다 큰 정확도를 가지는
    움직임 벡터 데이터의 디코딩 방법.
  5. 제 4 항에 있어서,
    상기 적어도 2 개의 추가적인 샘플 위치는 완전 픽셀(full-pixel) 샘플 위치와 ½ 픽셀 샘플 위치 중 적어도 하나를 사용하여 계산되고,
    상기 완전 픽셀 샘플 위치와 상기 ½ 픽셀 샘플 위치 중 적어도 하나는 상기 적어도 ¼ 픽셀 정확도를 가진 상기 제 1 샘플을 결정하는 데 이용된 것과 동일한 샘플 위치인
    움직임 벡터 데이터의 디코딩 방법.
  6. 제 1 항에 있어서,
    상기 픽셀 오프셋 구문 요소는 픽셀 오프셋을 나타내고, 상기 픽셀 오프셋은 상기 제 2 샘플의 위치를 나타내는
    움직임 벡터 데이터의 디코딩 방법.
  7. 제 6 항에 있어서,
    상기 픽셀 오프셋 구문 요소는 매크로블록 헤더에 존재하는 다른 픽셀 오프셋 구문 요소에 대한 의존성이 없고, 상기 픽셀 오프셋은 이웃하는 매크로블록 헤더로부터 예측되지 않는
    움직임 벡터 데이터의 디코딩 방법.
  8. 제 6 항에 있어서,
    상기 픽셀 오프셋은 이웃하는 매크로블록으로부터 예측되는
    움직임 벡터 데이터의 디코딩 방법.
  9. 제 6 항에 있어서,
    상기 픽셀 오프셋은 상기 비트스트림으로 코딩된 움직임 벡터 차이에 기초하여 예측되는
    움직임 벡터 데이터의 디코딩 방법.
  10. 제 6 항에 있어서,
    상기 픽셀 오프셋은 상기 픽셀 오프셋에 관하여 화상, 화상 그룹, 매크로블록, 매크로블록 그룹 및 블록 중 적어도 하나에 대한 움직임 정확도를 나타내는
    움직임 벡터 데이터의 디코딩 방법.
  11. 제 10 항에 있어서,
    상기 움직임 정확도는 적어도 상기 매크로블록의 모드에 의존하는
    움직임 벡터 데이터의 디코딩 방법.
  12. 제 6 항에 있어서,
    상기 오프셋 구문 요소가 다른 오프셋 구문 요소에 의존하면 확장형 부분 보간 구조 알고리즘을 이용하는 단계를 더 포함하는
    움직임 벡터 데이터의 디코딩 방법.
  13. 제 1 항에 있어서,
    상기 움직임 벡터는 적어도 상기 제 1 샘플 및 제 2 샘플을 포함하는 부 픽셀 그리드 상의 모든 가능한 부 픽셀 샘플을 가리키지 않는
    움직임 벡터 데이터의 디코딩 방법.
  14. 컴퓨터 판독가능 매체 상에 구현되어 제 1 항의 프로세스를 수행하도록 구성된 컴퓨터 코드를 포함하는
    컴퓨터 프로그램 제품.
  15. 프로세서와,
    상기 프로세서에 동작가능하게 접속되는 메모리 장치를 포함하되,
    상기 메모리 장치는,
    픽셀 오프셋 구문 요소가 비트스트림으로 인코딩되고 상기 비트스트림으로 인코딩된 움직임 벡터가 적어도 ¼ 픽셀 정확도를 가진다고 결정하도록 구성되는 컴퓨터 코드와,
    상기 픽셀 오프셋 구문 요소를 판독하도록 구성된 컴퓨터 코드와,
    상기 적어도 ¼ 픽셀 정확도를 가진 움직임 벡터를 이용하여 상기 움직임 벡터가 가리키는 상기 적어도 ¼ 픽셀 정확도를 가진 제 1 샘플의 위치를 계산하도록 구성된 컴퓨터 코드와,
    부분 보간 구조 알고리즘을 이용하여 상기 제 1 샘플보다 큰 픽셀 정확도를 가진 제 2 샘플을 획득하도록 구성된 컴퓨터 코드를 포함하는
    장치.
  16. 제 15 항에 있어서,
    상기 픽셀 오프셋 구문 요소는 ⅛ 픽셀 오프셋 구문 요소를 포함하고, 상기 제 2 샘플은 ⅛ 픽셀 정확도 샘플을 포함하는
    장치.
  17. 제 15 항에 있어서,
    상기 제 2 샘플은 상기 제 1 샘플과 관련된 적어도 2 개의 추가적인 샘플 위치 중 하나를 나타내고, 상기 적어도 2 개의 추가적인 샘플 위치는 각각 상기 적어도 ¼ 픽셀 정확도보다 큰 정확도를 가지는
    장치.
  18. 제 17 항에 있어서,
    상기 적어도 2 개의 추가적인 샘플 위치는 완전 픽셀 샘플 위치와 ½ 픽셀 샘플 위치 중 적어도 하나를 사용하여 계산되고,
    상기 완전 픽셀 샘플 위치와 상기 ½ 픽셀 샘플 위치 중 적어도 하나는 상기 적어도 ¼ 픽셀 정확도를 가진 상기 제 1 샘플을 결정하는 데 이용된 것과 동일한 샘플 위치인
    장치.
  19. 제 15 항에 있어서,
    상기 픽셀 오프셋 구문 요소는 픽셀 오프셋을 나타내고, 상기 픽셀 오프셋은 상기 제 2 샘플의 위치를 나타내는
    장치.
  20. 제 15 항에 있어서,
    상기 움직임 벡터는 적어도 상기 제 1 샘플 및 상기 제 2 샘플을 포함하는 부 픽셀 그리드 상의 모든 가능한 부 픽셀 샘플을 가리키는 것으로부터 제한되는
    장치.
  21. 움직임 벡터를 비트스트림으로 인코딩하는 방법에 있어서,
    최적의 완전 픽셀 정확도 움직임 벡터와 최적의 ½ 픽셀 정확도 움직임 벡터 중 적어도 하나를 결정하는 단계와,
    상기 최적의 완전 픽셀 정확도 움직임 벡터와 상기 최적의 ½ 픽셀 정확도 움직임 벡터 중 적어도 하나와 이웃하는 적어도 하나의 ¼ 픽셀 정확도 위치를 검색하는 단계와,
    최저 비용 움직임 벡터(lowest cost motion vector)가 ¼ 픽셀 정확도를 가지는지 여부를 판정하기 위해 비용 함수 분석(cost function analysis)을 적용하는 단계와,
    상기 최저 비용 움직임 벡터가 ¼ 픽셀 정확도를 갖는다고 판정되면, 적어도 2 개의 후보 픽셀 오프셋을 검색하는 단계 -상기 적어도 2 개의 후보 픽셀 오프셋의 각각은 상기 ¼ 픽셀 정확도보다 큰 정확도를 가진 샘플을 나타냄- 와,
    상기 최저 비용 움직임 벡터를 사용하여 상기 적어도 2 개의 후보 픽셀 오프 셋 중 적어도 하나를 나타내는 적어도 하나의 픽셀 오프셋 구문 요소를 상기 비트스트림으로 인코딩하는 단계를 포함하는
    움직임 벡터 데이터의 인코딩 방법.
  22. 제 21 항에 있어서,
    상기 픽셀 오프셋 구문 요소는 ⅛ 픽셀 오프셋 구문 요소를 포함하고, 상기 샘플은 ⅛ 픽셀 정확도 샘플을 포함하는
    움직임 벡터 데이터의 인코딩 방법.
  23. 제 21 항에 있어서,
    상기 픽셀 오프셋 구문 요소와 상기 샘플은 ⅛ 픽셀 정확도보다 큰 정확도를 가지는
    움직임 벡터 데이터의 인코딩 방법.
  24. 제 21 항에 있어서,
    상기 움직임 벡터가 완전 픽셀 위치와 ½ 픽셀 위치 중 하나를 가리키지 않으면, 상기 픽셀 오프셋 구문 요소를 전송하는 단계를 더 포함하는
    움직임 벡터 데이터의 인코딩 방법.
  25. 제 21 항에 있어서,
    상기 픽셀 오프셋 구문 요소는 매크로블록 헤더에 존재하는 다른 픽셀 오프셋 구문 요소에 대한 의존성을 가지지 않고, 상기 픽셀 오프셋은 이웃하는 매크로블록 헤더로부터 예측되지 않는
    움직임 벡터 데이터의 인코딩 방법.
  26. 제 21 항에 있어서,
    상기 적어도 2 개의 후보 픽셀 오프셋은 이웃하는 매크로블록으로부터 예측되는
    움직임 벡터 데이터의 인코딩 방법.
  27. 제 21 항에 있어서,
    상기 적어도 2 개의 후보 픽셀 오프셋은 상기 비트스트림으로 코딩된 움직임 벡터 차이에 기초하여 예측되는
    움직임 벡터 데이터의 인코딩 방법.
  28. 제 21 항에 있어서,
    상기 픽셀 오프셋에 관하여 화상, 화상 그룹, 매크로블록, 매크로블록 그룹 및 블록 중 적어도 하나에 대한 움직임 정확도를 나타내는 단계를 더 포함하는
    움직임 벡터 데이터의 인코딩 방법.
  29. 제 28 항에 있어서,
    상기 화상, 화상 그룹, 매크로블록, 매크로블록 그룹 및 블록 중 적어도 하나가 이에 적용되는 ¼ 픽셀 정확도를 가지는 경우에는 상기 픽셀 오프셋 구문 요소가 전송되지 않는
    움직임 벡터 데이터의 인코딩 방법.
  30. 제 28 항에 있어서,
    상기 움직임 정확도를 나타내는 단계는 적어도 상기 매크로블록의 모드에 따라 구성되는
    움직임 벡터 데이터의 인코딩 방법.
  31. 제 21 항에 있어서,
    상기 움직임 벡터는 적어도 상기 제 1 샘플 및 상기 제 2 샘플을 포함하는 부 픽셀 그리드 상의 모든 가능한 부 픽셀 샘플을 가리키는 것으로부터 제한되는
    움직임 벡터 데이터의 인코딩 방법.
  32. 컴퓨터 판독가능 매체 상에 구현되어 제 21 항의 프로세스를 수행하도록 구성된 컴퓨터 코드를 포함하는
    컴퓨터 프로그램 제품.
  33. 프로세서와,
    상기 프로세서에 동작가능하게 접속되는 메모리 장치를 포함하되,
    상기 메모리 장치는,
    최적의 완전 픽셀 정확도 움직임 벡터와 최적의 ½ 픽셀 정확도 움직임 벡터 중 적어도 하나를 결정하도록 구성된 컴퓨터 코드와,
    상기 최적의 완전 픽셀 정확도 움직임 벡터와 상기 최적의 ½ 픽셀 정확도 움직임 벡터 중 적어도 하나와 이웃하는 적어도 하나의 ¼ 픽셀 정확도 위치를 검색하도록 구성된 컴퓨터 코드와,
    최저 비용 움직임 벡터가 ¼ 픽셀 정확도를 가지는지 여부를 판정하기 위해 비용 함수 분석을 적용하도록 구성된 컴퓨터 코드와,
    상기 최저 비용 움직임 벡터가 ¼ 픽셀 정확도를 가진다고 판정되면, 적어도 2 개의 후보 픽셀 오프셋을 검색하도록 구성된 컴퓨터 코드 -상기 적어도 2 개의 후보 픽셀 오프셋의 각각은 상기 ¼ 픽셀 정확도보다 큰 정확도를 가진 샘플을 나타냄- 와,
    상기 최저 비용 움직임 벡터를 사용하여 상기 적어도 2 개의 후보 픽셀 오프셋 중 적어도 하나를 나타내는 적어도 하나의 픽셀 오프셋 구문 요소를 비트스트림으로 인코딩하도록 구성된 컴퓨터 코드를 포함하는
    장치.
  34. 제 33 항에 있어서,
    상기 픽셀 오프셋 구문 요소는 ⅛ 픽셀 오프셋 구문 요소를 포함하고, 상기 샘플은 ⅛ 픽셀 정확도 샘플을 포함하는
    장치.
  35. 제 33 항에 있어서,
    상기 픽셀 오프셋 구문 요소 및 상기 샘플은 ⅛ 픽셀 정확도보다 큰 정확도 를 가지는
    장치.
  36. 제 33 항에 있어서,
    상기 움직임 벡터가 완전 픽셀 위치와 ½ 픽셀 위치 중 하나를 가리키지 않으면 상기 픽셀 오프셋 구문 요소를 전송하는 것을 더 포함하는
    장치.
  37. 제 33 항에 있어서,
    상기 움직임 벡터는 적어도 상기 샘플을 포함하는 부 픽셀 그리드 상의 모든 가능한 부 픽셀 샘플을 가리키는 것으로부터 제한되는
    장치.
KR1020097023317A 2007-04-09 2008-04-08 비트스트림으로 인코딩된 움직임 벡터를 디코딩하는 방법과 장치, 움직임 벡터를 비트스트림으로 인코딩하는 방법과 장치 및 컴퓨터 판독가능 매체 KR101129972B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US91078307P 2007-04-09 2007-04-09
US60/910,783 2007-04-09
PCT/IB2008/051325 WO2008122956A2 (en) 2007-04-09 2008-04-08 High accuracy motion vectors for video coding with low encoder and decoder complexity

Publications (2)

Publication Number Publication Date
KR20100005211A true KR20100005211A (ko) 2010-01-14
KR101129972B1 KR101129972B1 (ko) 2012-03-26

Family

ID=39745237

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097023317A KR101129972B1 (ko) 2007-04-09 2008-04-08 비트스트림으로 인코딩된 움직임 벡터를 디코딩하는 방법과 장치, 움직임 벡터를 비트스트림으로 인코딩하는 방법과 장치 및 컴퓨터 판독가능 매체

Country Status (9)

Country Link
US (1) US8275041B2 (ko)
EP (1) EP2132941B1 (ko)
JP (1) JP2010524379A (ko)
KR (1) KR101129972B1 (ko)
CN (1) CN101658044B (ko)
BR (1) BRPI0809668B1 (ko)
CA (1) CA2681210C (ko)
MX (1) MX2009010527A (ko)
WO (1) WO2008122956A2 (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7082450B2 (en) 2001-08-30 2006-07-25 Nokia Corporation Implementation of a transform and of a subsequent quantization
US7983835B2 (en) 2004-11-03 2011-07-19 Lagassey Paul J Modular intelligent transportation system
US8804831B2 (en) * 2008-04-10 2014-08-12 Qualcomm Incorporated Offsets at sub-pixel resolution
US9967590B2 (en) 2008-04-10 2018-05-08 Qualcomm Incorporated Rate-distortion defined interpolation for video coding based on fixed filter or adaptive filter
US9078007B2 (en) * 2008-10-03 2015-07-07 Qualcomm Incorporated Digital video coding with interpolation filters and offsets
US8705615B1 (en) * 2009-05-12 2014-04-22 Accumulus Technologies Inc. System for generating controllable difference measurements in a video processor
KR20110017302A (ko) * 2009-08-13 2011-02-21 삼성전자주식회사 움직임 벡터의 정확도 조절을 이용한 영상 부호화, 복호화 방법 및 장치
KR101792041B1 (ko) * 2009-10-14 2017-11-02 톰슨 라이센싱 움직임 정보의 적응적 코딩 방법 및 장치
TWI566586B (zh) * 2009-10-20 2017-01-11 湯姆生特許公司 一序列形象的現時區塊之寫碼方法和重建方法
US20110194602A1 (en) * 2010-02-05 2011-08-11 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for sub-pixel interpolation
US9237355B2 (en) * 2010-02-19 2016-01-12 Qualcomm Incorporated Adaptive motion resolution for video coding
US10327008B2 (en) 2010-10-13 2019-06-18 Qualcomm Incorporated Adaptive motion vector resolution signaling for video coding
CN101990103B (zh) * 2010-11-10 2013-01-16 香港应用科技研究院有限公司 用于多视点视频编码的方法和装置
US9094689B2 (en) 2011-07-01 2015-07-28 Google Technology Holdings LLC Motion vector prediction design simplification
US9185428B2 (en) * 2011-11-04 2015-11-10 Google Technology Holdings LLC Motion vector scaling for non-uniform motion vector grid
CN104396244B (zh) 2012-04-16 2019-08-09 诺基亚技术有限公司 用于视频编码和解码的装置、方法和计算机可读存储介质
CN104620583A (zh) * 2012-05-14 2015-05-13 卢卡·罗萨托 基于支持信息的残差数据的编码和重构
US9172970B1 (en) 2012-05-29 2015-10-27 Google Inc. Inter frame candidate selection for a video encoder
US11317101B2 (en) 2012-06-12 2022-04-26 Google Inc. Inter frame candidate selection for a video encoder
US9485515B2 (en) 2013-08-23 2016-11-01 Google Inc. Video coding using reference motion vectors
US9503746B2 (en) 2012-10-08 2016-11-22 Google Inc. Determine reference motion vectors
US9774881B2 (en) * 2014-01-08 2017-09-26 Microsoft Technology Licensing, Llc Representing motion vectors in an encoded bitstream
US9749642B2 (en) * 2014-01-08 2017-08-29 Microsoft Technology Licensing, Llc Selection of motion vector precision
US10412387B2 (en) * 2014-08-22 2019-09-10 Qualcomm Incorporated Unified intra-block copy and inter-prediction
EP3264768A1 (en) * 2016-06-30 2018-01-03 Thomson Licensing Method and apparatus for video coding with adaptive motion information refinement

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5784631A (en) * 1992-06-30 1998-07-21 Discovision Associates Huffman decoder
ES2545066T3 (es) * 1997-06-09 2015-09-08 Hitachi, Ltd. Medio de grabación de información de imágenes
US6950469B2 (en) * 2001-09-17 2005-09-27 Nokia Corporation Method for sub-pixel value interpolation
JP3797209B2 (ja) * 2001-11-30 2006-07-12 ソニー株式会社 画像情報符号化方法及び装置、画像情報復号方法及び装置、並びにプログラム
JP2003274410A (ja) * 2002-03-13 2003-09-26 Hitachi Ltd 監視映像の符号化装置及び復号装置並びに符号化方法
US7620109B2 (en) * 2002-04-10 2009-11-17 Microsoft Corporation Sub-pixel interpolation in motion estimation and compensation
US20040252766A1 (en) * 2003-06-11 2004-12-16 Daeyang Foundation (Sejong University) Motion vector search method and apparatus
US8009739B2 (en) * 2003-09-07 2011-08-30 Microsoft Corporation Intensity estimation/compensation for interlaced forward-predicted fields
WO2006001585A1 (en) * 2004-03-31 2006-01-05 Samsung Electronics Co., Ltd. Method and apparatus for effectively compressing motion vectors in multi-layer structure
KR100587561B1 (ko) * 2004-04-08 2006-06-08 삼성전자주식회사 모션 스케일러빌리티를 구현하는 방법 및 장치
KR100586882B1 (ko) * 2004-04-13 2006-06-08 삼성전자주식회사 모션 스케일러빌리티를 지원하는 코딩 방법 및 장치
KR20060059769A (ko) * 2004-11-29 2006-06-02 엘지전자 주식회사 영상신호의 엔코딩시에 베이스 레이어 픽처의 벡터를이용하기 위한 미세정보를 코딩하는 방법과 그 미세정보를이용하는 디코딩 방법
US20060133507A1 (en) * 2004-12-06 2006-06-22 Matsushita Electric Industrial Co., Ltd. Picture information decoding method and picture information encoding method
KR100772390B1 (ko) * 2006-01-23 2007-11-01 삼성전자주식회사 방향 보간 방법 및 그 장치와, 그 보간 방법이 적용된부호화 및 복호화 방법과 그 장치 및 복호화 장치
US8208553B2 (en) * 2006-05-04 2012-06-26 Altera Corporation Methods and apparatus for quarter-pel refinement in a SIMD array processor

Also Published As

Publication number Publication date
CA2681210A1 (en) 2008-10-16
CA2681210C (en) 2021-03-02
EP2132941A2 (en) 2009-12-16
US20080253459A1 (en) 2008-10-16
US8275041B2 (en) 2012-09-25
WO2008122956A3 (en) 2008-12-24
EP2132941B1 (en) 2017-05-17
BRPI0809668A2 (pt) 2014-10-07
CN101658044B (zh) 2012-11-14
JP2010524379A (ja) 2010-07-15
KR101129972B1 (ko) 2012-03-26
BRPI0809668B1 (pt) 2020-07-28
CN101658044A (zh) 2010-02-24
MX2009010527A (es) 2009-10-26
WO2008122956A2 (en) 2008-10-16

Similar Documents

Publication Publication Date Title
KR101129972B1 (ko) 비트스트림으로 인코딩된 움직임 벡터를 디코딩하는 방법과 장치, 움직임 벡터를 비트스트림으로 인코딩하는 방법과 장치 및 컴퓨터 판독가능 매체
US11425408B2 (en) Combined motion vector and reference index prediction for video coding
US10477237B2 (en) Decoder side motion vector refinement in video coding
US9049456B2 (en) Inter-layer prediction for extended spatial scalability in video coding
CN108848380B (zh) 视频编码和解码方法、装置、计算机设备及存储介质
US9154807B2 (en) Inclusion of switched interpolation filter coefficients in a compressed bit-stream
CN108924553B (zh) 视频编码、解码方法、装置、计算机设备和存储介质
US20100246692A1 (en) Flexible interpolation filter structures for video coding
CN108833917B (zh) 视频编码、解码方法、装置、计算机设备和存储介质
US20100296587A1 (en) Video coding with pixel-aligned directional adaptive interpolation filters
US20130301742A1 (en) Unified fractional search and motion compensation architecture across multiple video standards
US20220321917A1 (en) Picture orientation and quality metrics supplemental enhancement information message for video coding
CN113395521A (zh) 图像编码和解码方法及装置
KR101165212B1 (ko) 비디오 코딩에서 확장된 공간 스케일러빌러티를 위한 개선된 계층 예측

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: 20150226

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160218

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170220

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180219

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20200218

Year of fee payment: 9