KR20150034636A - 비디오 인코딩/디코딩 방법, 대응 컴퓨터 프로그램 및 비디오 인코딩/디코딩 장치 - Google Patents

비디오 인코딩/디코딩 방법, 대응 컴퓨터 프로그램 및 비디오 인코딩/디코딩 장치 Download PDF

Info

Publication number
KR20150034636A
KR20150034636A KR20140126918A KR20140126918A KR20150034636A KR 20150034636 A KR20150034636 A KR 20150034636A KR 20140126918 A KR20140126918 A KR 20140126918A KR 20140126918 A KR20140126918 A KR 20140126918A KR 20150034636 A KR20150034636 A KR 20150034636A
Authority
KR
South Korea
Prior art keywords
frame
field
video
sequence
mvd
Prior art date
Application number
KR20140126918A
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
Application filed by 톰슨 라이센싱 filed Critical 톰슨 라이센싱
Publication of KR20150034636A publication Critical patent/KR20150034636A/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/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/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
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/16Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter for a given display mode, e.g. for interlaced or progressive display mode

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

비디오 인코딩/디코딩 방법, 대응 컴퓨터 프로그램 및 비디오 인코딩/디코딩 장치
교차 TOP 및 BOT 필드들의 시퀀스를 포함하는 인터레이스드 비디오(V)를 인코딩하는 방법(300)은:
- 프레임들의 시퀀스를 생성하는 단계 - 각 프레임(F1)은 각 필드가 해당 프레임(F1)의 직사각 영역을 형성하는 적어도 2개의 연속 필드(T1, B2)로부터 판정됨 -,
- 상기 프레임들(F1)의 시퀀스의 인코딩된 비디오를 생성하기 위해 상기 시퀀스의 각 프레임(F1)을 인코딩하는 단계를 포함한다.

Description

비디오 인코딩/디코딩 방법, 대응 컴퓨터 프로그램 및 비디오 인코딩/디코딩 장치{VIDEO ENCODING/DECODING METHODS, CORRESPONDING COMPUTER PROGRAMS AND VIDEO ENCODING/DECODING DEVICES}
본 발명은 비디오 인코딩 및 비디오 디코딩에 관한 것이고, 특히는 프로그레시브 비디오 인코딩/디코딩 도구를 이용하는 인터레이스드 비디오(interlaced video)에 관한 것이다.
인터레이스드 비디오는 교차하는 TOP와 BOT 필드들의 시퀀스를 포함한다. 각 TOP 필드는 기수 라인들로 디스플레이되는 라인들을 포함하고, 각 BOT 필드는 우수 라인들로 디스플레이되는 라인들을 포함한다. 이 시퀀스의 각 필드는 이전의 필드 이후에 디스플레이되게 되어 있어, 기수 라인들과 우수 라인들이 교대로 디스플레이 장치에서 갱신된다.
대조적으로, 프로그레시브 비디오는 프레임들의 시퀀스를 포함하고, 각 프레임은 이전 프레임 대신에 디스플레이되게 되어 있다.
프레임 또는 필드는 각각이 하나 또는 수 개의 성분을 포함하는 화소들의 어레이이다. 컬러 비디오의 경우, 각 화소는 보통 하나의 루마 성분과 2 개의 크로마 성분을 포함한다. 일반적으로, 동일한 크로마 성분은, 예를 들어, 4:2:0 또는 4:2:2 포맷으로 수 개의 화소에 이용된다.
MPEG-4 파트 10 표준 - 또한 H.264 표준 또는 AVC 표준이라 불리기도 함 - 은 차례로 디스플레이되는 프레임들의 시퀀스를 포함하는 프로그레시브 비디오를 인코딩하기 위한 방법을 기술하고 있다.
MPEG-4 파트 10 표준은 또한 인터레이스드 비디오를 인코딩하기 위한 제1 모드를 기술하고 있다. 이 제1 모드는 MBAFF 모드라 불린다. 이 모드에서, 각 매크로블록 쌍은 2개의 필드가 2개의 매크로블록 내에 인터레이스되게 또는 2개의 매크로블록 간에 분리되게 인코딩된다. 선택은 각 매크로블록 쌍마다 행해진다.
MPEG-4 파트 10 표준은 인터레이스드 비디오를 인코딩하기 위한 제2 모드를 더 기술하고 있다. 이 제2 모드는 PAFF 모드라 불린다. 이 모드에서, 2개의 연속 필드들은 2개의 분리 프레임으로서 또는 단일 프레임으로 인터레이스되게 인코딩된다.
MBAFF 및 PAFF 모드의 경우, 인터레이스드 및 프로그레시브 코딩/디코딩 도구들이 필요한데, 이는 인코더 및 디코더의 복잡성과 코스트를 증가시킨다.
"필드 코딩"이라 알려져 있는 변형에서, 필드들은 코딩 전에 분리되고 단지 프로그레시브 도구를 이용해 인코딩된다. 이 해법은 덜 복잡하지만 특히 프레임들이 인코딩되어야만 하는 순서를 나타내는 GOP 구조의 적응을 필요로 한다. 구체적으로, 프로그레시브 비디오용의 GOP 구조는 인터레이스드 비디오용의 GOP 구조에 있어 수정될 필요가 있다. 이는 2012년 10월 10-19일에 상하이에 있었던 11차 JCTVC 미팅에서 C. Auyeung의 "GOP structures for Interlaced Video"란 논문, JCTVC-K0153에 사례를 들어 설명되어 있다.
그러므로 적어도 부분적으로 이전 결함들을 극복하는 새로운 인코딩/디코딩 도구들이 필요하다.
교차 TOP 및 BOT 필드들의 시퀀스를 포함하는 인터레이스드 비디오를 인코딩하기 위한 방법이 제안되며 이 방법은:
- 프레임들의 시퀀스 - 각 프레임은 각 필드가 해당 프레임의 직사각 영역을 형성하는 적어도 2개의 연속 필드로부터 판정됨 - 를 생성하는 단계,
- 상기 프레임들의 시퀀스의 인코딩된 비디오를 생성하기 위해 상기 시퀀스의 각 프레임을 인코딩하는 단계를 특징으로 한다.
선택적으로, 상기 시퀀스의 각 프레임을 인코딩하는 단계는 이 프레임의 적어도 한 파트에 대해서:
- 기준 프레임의 화소들로부터 예측 파트를 판정하는 단계,
- 상기 프레임 내의 파트의 위치와 상기 기준 프레임 내의 예측 파트의 위치 간의 화소들 내의 거리에 대응하는 모션 벡터의 재현을 판정하는 단계,
- 상기 모션 벡터 재현의 적어도 한 성분의 절대값에서 2개 화소보다 큰 화소 오프셋을 감산하는 단계,
- 상기 감산 값을 포함하는 예측 데이터를 판정하는 단계 - 상기 인코딩된 비디오는 상기 예측 데이터를 포함함 - 를 포함한다.
선택적으로, 상기 감산은 상기 예측 파트가 판정되는 화소들이 예측 필드라 불리며 그 파트의 필드와는 상이한 필드에 속하는 경우에 실행된다.
선택적으로, 상기 모션 벡터 재현은 모션 벡터 예측자와 상기 모션 벡터 간의 모션 벡터 차이다.
선택적으로, 수직 및 수평 성분 각각에 대한 추가 화소 오프셋은 예측 필드의 중심과 파트의 필드의 중심 간의 수직 및 수평 거리와 같다.
선택적으로, 각 프레임은 한 필드가 다른 필드의 상부에 수직으로 배열되게 2개의 필드를 묶음으로써 2개의 연속 필드로 생성되며, 모션 벡터 차의 수직 성분에 대한 화소 오프셋은 2개 필드 중 한 필드의 높이와 같다.
컴퓨터 시스템에 의해 실행될 때, 상기 컴퓨터 시스템이 본 발명에 따른 비디오 인코딩 방법을 실행할 수 있게 해주는 명령어를 포함하는 컴퓨터 프로그램이 더 제안된다.
교차 TOP 및 BOT 필드들의 시퀀스를 포함하는 인터레이스드 비디오를 인코딩하는 비디오 인코딩 장치가 더 제안되며, 이 장치는:
- 프레임들의 시퀀스 - 각 프레임은 각각이 이 프레임의 직사각 영역을 형성하는 적어도 2개의 연속 필드로부터 판정됨 - 를 생성하도록 구성된 필드 결합 유닛,
- 상기 프레임들의 시퀀스의 인코딩된 비디오를 생성하기 위해 상기 시퀀스의 각 프레임을 인코딩하는 프레임 인코더를 특징으로 한다.
프레임들의 시퀀스의 인코딩된 비디오를 디코딩하는 방법이 더 제안되고, 이 방법은:
- 상기 시퀀스의 각 프레임을 디코딩하는 단계,
- 각 프레임의 적어도 2개 직사각 영역을 추출하고 추출된 직사각 영역들을 인터레이스드 비디오의 연속 필드로서 정의함으로써 상기 프레임들의 시퀀스로부터 인터레이스드 비디오를 생성하는 단계를 특징으로 한다.
선택적으로, 상기 시퀀스의 각 프레임을 인코딩하는 단계는, 적어도 하나의 프레임의 적어도 하나의 파트에 대해서:
- 인코딩된 비디오로부터 모션 벡터 재현을 판정하는 단계 - 이 단계는, 인코딩된 비디오로부터 판정된 값에 2개 화소보다 큰 화소 오프셋을 가산함으로써 상기 모션 벡터 재현의 적어도 한 성분의 절대값을 판정하는 단계를 포함함 -,
- 상기 모션 벡터 재현으로부터 모션 벡터를 판정하는 단계,
- 기준 프레임의 화소들 - 이 화소들은 상기 모션 벡터로부터 판정됨 - 로부터 예측 파트를 판정하는 단계를 포함한다.
선택적으로, 상기 인터레이스드 비디오를 생성하는 단계는 상기 프레임을 제1 필드로서 정의된 상부 파트와 제2 필드로서 정의된 하부 파트로 수평으로 나누는 단계를 포함한다.
선택적으로, 상기 수직 성분에 대해서, 화소 오프셋은 2 플러스 추가 화소 오프셋과 같고, 상기 추가 화소 오프셋은 상기 2개 필드 중 하나의 높이와 같다.
컴퓨터 시스템에 의해 실행될 때, 상기 컴퓨터 시스템이 본 발명에 따른 비디오 인코딩 방법을 실행할 수 있게 해주는 명령어들을 포함하는 컴퓨터 프로그램이 더 제안된다.
다음을 포함하는 비디오 디코딩 장치가 더 제안된다:
- 프레임들의 시퀀스의 각 프레임을 디코딩하도록 구성된 프레임 디코더,
- 각 프레임의 적어도 2개 직사각 영역을 추출하고 추출된 직사각 영역들을 인터레이스드 비디오의 연속 필드로서 정의함으로써 상기 프레임들의 시퀀스로부터 상기 인터레이스드 비디오를 생성하도록 구성된 프레임 분할 유닛.
본 발명의 실시 예는 이제 단지 예로서 그리고 첨부된 도면들을 참조로 기술될 것이다.
도 1은 본 발명에 따른 비디오 인코딩 장치를 도시하고 있다.
도 2는 도 1의 비디오 인코딩 장치의 특정 구현을 도시하고 있다.
도 3(도 3a 및 도 3b)은 도 1의 비디오 인코딩 장치에 의해 실행되는 비디오 인코딩 방법을 도시하고 있다.
도 4는 인터레이스드 비디오와 이 비디오가 디스플레이되는 방법을 도시하고 있다.
도 5는 도 3의 비디오 인코딩 방법의 필드 결합 단계를 도시하고 있다.
도 6은 도 3의 비디오 인코딩 방법의 모션 벡터 차 판정 단계를 도시하고 있다.
도 7은 본 발명에 따른 비디오 디코딩 장치를 도시하고 있다.
도 8은 도 7의 디코딩 장치의 특정 구현을 도시하고 있다.
도 9(도 9a 및 도 9b)는 도 7의 비디오 디코딩 장치에 의해 실행되는 비디오 디코딩 방법을 도시하고 있다.
도 1을 참조하여, 이제 비디오 인코딩 장치(100)가 기술된다.
비디오 인코딩 장치(100)는 인터레이스드 비디오 V로부터 프레임 F의 시퀀스를 생성하는 필드 결합 유닛(102)을 포함한다.
비디오 인코딩 장치(100)는 각 프레임 F를 파트들로 파티셔닝하는 프레임 파티셔닝 유닛(104)을 더 포함한다. HEVC 표준이 이용되는 기술된 예에서, 파트들은 예측 유닛 PU이라 불린다. 좀더 자세히, 프레임 F는 코딩 트리 유닛 CTU들로 파티셔닝되고, 이들 각각은 하나 또는 수 개의 코딩 유닛 CU으로 파티셔닝되고, 이들 각각은 하나 또는 수 개의 예측 유닛 PU으로 파티셔닝된다. 이후에, 파트들은 기술된 예에 따라서 참조 "PU"를 수반한다. 각 파트 PU는 양호하게는 프레임 F의 직사각형 영역, 예를 들어, 사각형 영역이다.
비디오 인코딩 장치(100)는 비디오 인코딩에 관한 제너럴 데이터 GD를 생성하는 제너럴 제어 유닛(106)을 더 포함한다.
비디오 인코딩 장치(100)는 예측 파트 pred_PU를 판정하고 예측 데이터 PD를 생성하기 위해서 각 파트 PU를 예측하는 예측 유닛(108)을 더 포함한다. 예측은 인터-예측 또는 인크라-예측이다. 인터-예측의 경우, 예측은 기준 프레임 ref_F로부터 실행된다. 이는 예측 파트 pred_PU가 기준 프레임 ref_F의 화소들로부터 판정됨을 의미한다. 예를 들어, 예측 파트 pred_PU는 기준 프레임 ref_F의 파트 PU일 수 있다. 대안으로, 예측 파트 pred_PU는 기준 프레임 ref_F의 하나 또는 수 개의 파트 PU로부터 보간될 수 있다.
비디오 코딩 장치(100)는 나머지 파트 res_PU를 생성하기 위해서 각 파트 PU를 대응 예측 파트 pred_PU에 비교하는 비교 유닛(110)을 더 포함한다.
비디오 코딩 장치(100)는 변환 계수들을 계산하고 나머지 파트들 res_PUs에 대해 이들 변환 계수들을 양자화하여 이들 양자화된 계수들을 나타내는 변환 데이터 TD를 생성하는 변환 유닛(112)을 더 포함한다.
비디오 코딩 장치(100)는 양자화된 계수들로부터 근사 나머지 파트들 res_PUs*를 생성하는 역변환 유닛(114)을 더 포함한다.
비디오 코딩 장치(100)는 재구성 파트 rec_PU를 생성하기 위해서 각 예측 파트 pred_PU를 대응하는 근사 나머지 파트 res_PU*에 결합하는 재구성 유닛(116)을 더 포함한다. 더욱이, 재구성 파트들 rec_PUs이 전체 프레임 F에 대해서 판정되었을 때, 재구성 파트들 rec_PUs은 재구성 프레임 rec_F이라 불리는 프레임이 생성되도록 합쳐진다.
비디오 코딩 장치(100)는 선택적으로, 적용된 여과(들)를 나타내는 여과 데이터 FD를 생성하고, 차후 프레임들 F의 인터-예측에 이용될 수 있는 기준 프레임 ref_F이 되도록 버퍼링될 수 있는 여과된 프레임을 생성하기 위해서 재구성 프레임 rec_F을 여과하는 적어도 하나의 필터 유닛(118)을 더 포함한다. 재구성 프레임 rec_F에 여과가 적용되지 않을 때, 재구성 프레임 rec_F은 대신에 버퍼링되어 차후 프레임 F들의 인터-인코딩에 이용될 수 있는 기준 프레임 ref_F이 될 수 있다.
비디오 코딩 장치(100)는 변환 데이터 TD, 예측 데이터 PD, 제너럴 데이터 GD 및 선택적인 필터 데이터 FD로부터, 비트스트림 BS의 형태로, 프레임들의 시퀀스의 인코딩된 비디오를 생성하는 엔트로피 코딩 유닛(120)을 더 포함한다.
유닛들(104 내지 120)은 프레임 인코더를 형성한다.
도 2를 참조하여, 이제 비디오 인코딩 장치(100)의 특정 구현을 기술하기로 한다.
이 특정 구현에서, 비디오 인코딩 장치(100)는 메모리(204)와 처리 유닛(206)을 둘러싸고 있는 컴퓨터 케이스(202)를 포함하는 컴퓨터 시스템이다.
비디오 인코딩 장치(100)는 메모리(204)에 저장된 비디오 인코딩 프로그램(208)을 더 포함한다. 비디오 인코딩 프로그램(208)은 도 3을 참조로 좀더 상세히 기술되는 비디오 인코딩 방법을 실행하기 위해서 처리 유닛(206)에 의해 실행되는 명령어를 포함한다.
비디오 인코딩 시스템(100)은 예를 들어 디스플레이(214), 및 키보드(216) 및 포인팅 장치(218)와 같은 입력 장치들을 포함하는 휴먼 컴퓨터 인터페이스(212)를 더 포함한다.
도 3을 참조하여, 도 1 및 도 2에 기술된 비디오 인코딩 장치(100)에 의해 실행된 인터레이스드 비디오 V의 비디오 인코딩 방법(300)이 이제 기술될 것이다.
도 4를 참조하면, 인터레이스드 비디오 V는 T1, B2, T3, B4 등이라 칭해지는 교차 TOP 및 BOT 필드의 시퀀스를 포함한다. 기술된 예에서, TOP 및 BOT 필드들은 같은 높이 즉 같은 수의 화소 라인들을 갖고 있다. 각 필드의 라인들은 함께 그룹지어져 있지만 디스플레이를 위해 다른 필드의 라인들과 인터레이스된다는 점에 유의해야 한다. 시퀀스의 각 필드는 이전 필드 이후에 디스플레이되게 되어 있으므로, 기수 라인들과 우수 라인들은 디스플레이 장치에서 교대로 갱신된다. 예를 들어, 시간 t1에서, TOP 필드 T1은 기수 라인들로 디스플레이되고 BOT 필드 B2는 우수 라인들로 디스플레이된다. 이는 제1 이미지 D1으로 귀결된다. 나중 시간 t2에서, TOP 필드 T3는 기수 라인들로 디스플레이되지만 BOT 필드 B2는 제자리에 머문다. 이는 제2 이미지 D2로 귀결된다. 나중 시간 t3에서, BOT 필드 B4는 우수 라인들로 디스플레이되지만 TOP 필드 T3는 제자리에 머문다. 이는 제3 이미지 D3으로 귀결된다. 인터레이스드 비디오 V는 예를 들어 메모리(204)에 저장된다.
도 3으로 돌아가 보면, 단계 302에서, 필드 결합 유닛(102)은 프레임들 F의 시퀀스를 생성하고, 각 프레임 F은 적어도 2개의 연속 필드로부터 판정되고 각 필드는 필드의 라인들이 직사각형 영역의 라인들을 구성하도록 프레임의 직사각형 영역을 형성한다. 이는 직사각형 영역이 필드와 같은 사이즈를 갖는 결과로 나타난다. 기술된 예에서, 제1 프레임이 제1의 적어도 2개의 연속 필드로부터 생성되고, 각 후속 프레임이 필드들의 시퀀스에서 이전 프레임을 생성한 필드들에 뒤따르는 필드들로부터 생성되도록 각 필드는 단지 한 프레임에만 존재한다.
도 5를 참조하여, TOP 필드 T1 및 연속 BOT 필드 B2에 실행된 이전 단계 302의 A, B 및 C로 참조한 3개의 실시 예가 이제 기술될 것이다.
실시 예 A에서, 프레임 F1은 한 필드가 다른 필드의 상부에 수직으로 배열되게 2개의 필드를 묶어서, 예를 들어, TOP 필드 T1이 BOT 필드 B2의 상부에 놓이게 함으로써, 2개의 연속 필드 T1, B2로부터 생성된다.
실시 예 B에서, 프레임 F1은 2개의 필드를 서로 나란하게 수평으로 배열함으로써 2개의 연속 필드 T1, B2로부터 생성된다.
실시 예 C에서, 2개의 필드는 2개의 블랭크 파트 B와 타일(tile) 식으로 이어져 있다. 제1 필드 T1은 프레임 F1의 상부 좌측 코너에 배치되어 있고 제2 필드 B2는 프레임 F1의 하부 우측 코너에 배치되어 있다.
기술된 예에서, 실시 예 A는 실행된다.
도 3으로 돌아가 보면, HEVC 표준이 이용되는 기술된 예에서, 비디오 인코딩 방법(300)은 단계 304를 더 포함하고 이 단계 동안에 제너럴 제어 유닛(106)은 각 필드를 상이한 슬라이스 세트로 정의하고, 즉 필드에 의해 형성된 각 직사각형 영역은 슬라이스 세트로서 정의된다. 슬라이스 세트는 몇몇 하이 레벨 데이터(예를 들어, VPS(비디오 파라미터 세트), SPS(시퀀스 파라미터 세트), PPS(픽처 파라미터 세트) 및 슬라이스 세그먼트 헤더들)를 공유할 수 있는 하나 또는 수 개의 슬라이스의 모음이다. 양호하게는, 각 슬라이스 세트는 각 필드가 하나의 슬라이스로 정의되도록 단지 하나의 슬라이스를 포함한다. 한 슬라이스는 HEVC 표준에서 엔트로피 코딩, 신호 예측 및 나머지 신호 재구성의 관점에서, 동일 프레임의 다른 슬라이스들과는 독립적으로 디코딩될 수 있는 데이터 구조로서 정의되어 있다. 그러나, 슬라이스들에 관계없이, 여과(이는 이후에 좀더 자세히 기술될 것이다)가 전체 프레임에 실현된다.
단계 306에서, 제너럴 제어 유닛(106)은 제너럴 데이터 GD를 생성한다. 제너럴 데이터 GD는 특히 각 프레임의 필드 구성, 즉 필드들이 프레임들 내에 배치되어 있는 곳에 대한 표시를 포함한다. 제너럴 데이터 GD는 수평 추가 화소 오프셋 및/또는 수직 추가 화소 오프셋을 더 포함한다. 이들 화소 오프셋은 이후 좀더 자세히 기술될 것이다. 예를 들어, 이들 화소 오프셋은 2개의 변수: 수평 화소 오프셋에 대해서는 mvd_offset[0], 및 수직 화소 오프셋에 대해서는 mvd_offset[1]에 저장된다. 기술된 예에서, 이후 설명되듯이, 수평 화소 오프셋은 없으며, 그래서 제너럴 데이터 GD는 단지 수직 추가 화소 오프셋에 대한 변수 mvd_offset[1]를 포함한다. HEVC 표준이 이용되는 기술된 예에서, 각 프레임의 필드 구성은 픽처 타이밍 SEI 메시지의 pic_struct 인디케이터에 표시되어 있다. pic_struct 인디케이터는 다음의 표에 나타나 있는 수 개의 미리 정의된 값들을 취할 수 있다:
Figure pat00001
기술된 예에서, 제너럴 제어 유닛(106)은 13의 값으로 pic_struct 인디케이터를 생성한다.
타겟 프레임 F라 불리는, 시퀀스의 각 프레임 F에 대해서, 다음의 단계 308-348이 실행된다.
단계 308에서, 프레임 파티셔닝 유닛(104)은 타겟 프레임 F를 파트들 PU로 파티셔닝한다.
단계 310에서, 예측 유닛(108)은, 타겟 프레임 F의 각 파트 PU에 대해서, 그것이 인트라-예측 또는 인터-예측되어야만 하는지 여부를 판정한다. HEVC 표준이 이용되는 기술된 예에서, 인트라-예측과 인터-예측 간의 결정은 코딩 유닛 CU 레벨에서 실현된다.
파트 PU가 인트라-예측되어야만 한다면, 다음의 단계 312 및 314가 실행된다.
단계 312에서, 타겟 파트라 불리는 각 파트 PU에 대해서, 예측 유닛(108)은, 하나 또는 수 개의 이미 인코딩된 및 재구성된 파트들 rec_PUs로부터, 타겟 파트 PU를 닮은 예측 파트 pred_PU를 판정한다. 기술된 예에서, 인트라-인코딩은 각 필드 내에서 실행된다. 이는 특히 예측 파트 pred_PU를 판정하기 위해 이용된 재구성 파트(들) rec_PU(s)가 타겟 파트 PU가 배치되어 있는 필드 안에서 그리고 타겟 파트 PU의 가까운 이웃에서 찾아진다는 것을 의미한다. 일례로, 재구성된 파트 rec_PU는 SAD("Sum of Absolute Differences"의 두문자)가 임계치 아래 있다면 타겟 파트와 닮았다. 각 절대 차(absolute difference)는 타겟 파트 PU 내의 화소 값과 재구성 파트 rec_PU 내의 대응 화소 값 사이에서 계산된다. SAD 이외의 다른 메트릭들이 이용될 수 있다.
단계 314에서, 예측 유닛(108)은 예측 파트들 pred_PUs의 판정으로부터 예측 데이터 PD를 판정한다. 예측 데이터 PD는 특히 예측 파트 pred_PU를 판정하는데 어느 재구성된 파트(들) rec_PU(s)가 전체 또는 부분적으로 이용되는지 그리고 예측 파트 pred_PU를 판정하는데 재구성 파트(들) rec_PU(s)의 전체 또는 일부가 이용되는 방법을 나타낸다.
프레임 F의 파트 PU가 인터-예측되어야만 한다면, 다음의 단계 316 내지 336이 실행된다.
단계 316에서, 예측 유닛(108)은 기준 프레임 ref_F, 즉 이미 인코딩되고 재구성되고 버퍼링된 프레임의 픽셀들로부터 예측 파트 pred_PU를 판정한다. 예측 파트 pred_PU는 타겟 파트 PU와 사이즈가 같고 타겟 파트 PU와 닮아있는 기준 프레임 ref_F의 임의 파트 PU, 또는 하나 또는 수 개의 기준 프레임 ref_F의 하나 또는 수 개의 파트 PU로부터 판정되고 타겟 파트 PU와 닮아 있는 보간(interpolation)일 수 있다.
단계 318에서, 예측 유닛(108)은 타겟 프레임 F 내의 타겟 파트 PU의 위치와 기준 프레임 ref_F 내의 예측 파트 pred_PU의 위치 간의 화소들 내의 거리에 대응하는, 예측 파트 pred_PU와 타겟 파트 PU 간의 모션 벡터 MV를 판정한다.
단계 320에서, 예측 유닛(108)은 타겟 파트 PU에 대한 모션 벡터 예측자 MVP를 판정한다. 모션 벡터 예측자 MVP는 예를 들어 이웃의 이미 인코딩된 파트들 PU를 인코딩하는데 이용된 모션 벡터들 MVs로부터 유도된다.
단계 322에서, 예측 유닛(108)은 모션 벡터 MV와 모션 벡터 예측자 MVP 간의 차인 모션 벡터 차 MVD를 판정한다. 모션 벡터 차 MVD는 모션 벡터 MV의 재현이다. "재현"은 모션 벡터 차 MVD가 디코딩 장치가 이 재현으로부터 모션 벡터 MV를 유도할 수 있게 해준다는 것을 의미한다. 모션 벡터 차 MVD는 보통 모션 벡터 MV보다 작아서 인코딩되기에 필요한 비트가 더 적어진다는 이점이 있다. 모션 벡터 차 MVD는 수평 성분 MVD[0]와 수직 성분 MVD[1]을 포함한다. 다음에는, 이들 2개의 성분이 MVD[c]라 칭해질 것이고, 여기서 c는 수평 성분에 대해서는 0과 같고 수직 성분에 대해서는 1과 같다.
도 6을 참조해서, 단계 316 내지 322를 실행하는 예가 이제 기술될 것이다. 이전에 설명된 바와 같이, 각 프레임 F는 프레임 F의 상부 반을 형성하는 TOP 필드 T와 프레임 F의 하부 반을 형성하는 BOT 필드 B에 의해 형성된다. 타겟 파트 PU는 필드 T 내부에 배치되어 있다. 예측 파트 pred_PU가 기준 프레임 ref_F의 BOT 필드 B 내에서 판정된다. 참조 604는 프레임 F가 프레임 ref_F와 중첩될 때의 타겟 파트 PU의 위치를 보여주고 있다. 모션 벡터 MV는 예측 파트 pred_PU와 타겟 파트 PU 간의 벡터로서 판정된다. 모션 벡터 예측자 MVP가 판정되고, 모션 벡터 차 MVD는 모션 벡터 예측자 MVP와 모션 벡터 MV 간의 차에 해당한다. 더욱이, 2개의 필드 T, B의 중심들 간의 거리는 d라 칭한다. 기술된 예에서, 거리 d는 또한 각 필드 T, B의 높이를 나타낸다.
도 3으로 다시 가 보면, 다음의 단계 324 내지 334가 모션 벡터 차 MVD의 각 성분 MVD[c]에 대해서 실행된다.
단계 324에서, 예측 유닛(108)은 성분 MVD[c]의 부호를 판정한다. 기술된 예에서, 부호 판정의 결과는 HEVC 표준의 2개의 플래그에: 수평 성분 MVD[0]에 대해서는 mvd_sign_flag[0]에 수직 성분 MVD[1]에 대해서는 mvd_sign_flag[1]에 저장된다.
단계 326에서, 예측 유닛(108)은 성분 MVD[c]의 절대값이 0보다 큰지 여부를 판정하고, 이 판정 결과는 0보다 큰 값에 저장된다. 기술된 예에서, 0보다 큰 값은 HEVC 표준에 이용된 플래그: 수평 성분에 대한 abs_mvd_greater0_flag[0] 및 수직 성분에 대한 abs_mvd_greater0_flag[1]을 포함한다.
단계 328에서, 성분 MVD[c]의 절대값이 0보다 크다면, 예측 유닛(108)은 성분 MVD[c]의 절대값이 1보다 큰지 여부를 판정하고 이 판정 결과는 1보다 큰 값에 저장된다. 기술된 예에서, 1보다 큰 값은 HEVC 표준에 이용된 플래그: 수평 성분에 대한 abs_mvd_greater1_flag[0] 및 수직 성분에 대한 abs_mvd_greater1_flag[1]을 포함한다.
단계 330에서, 성분 MVD[c]의 절대값이 1보다 크면, 예측 유닛(108)은 예측 파트 pred_PU의 필드가 타겟 파트 PU의 필드와 다른지 여부를 판정하며, 이는 도 6에 도시된 경우이다(이는 도 6에서 예측 필드가 필드 B인 한편 타겟 파트 PU가 필드 T인 것에 해당할 것이다). 구체적으로, 예측 유닛(108)은 예측 파트 pred_PU의 필드와 타겟 파트 PU의 필드가 동일한 패리티/타입인지 여부를 판정한다.
단계 332에서, 예측 파트 pred_PU가 판정되는 화소들이 예측 필드라 불리고 타겟 파트 PU의 필드와 다른 필드에 속하는 경우, 예측 유닛(108)은 성분 MVD[c]의 절대값에서 화소 오프셋을 뺀다. 화소 오프셋은 2개의 화소 플러스, 적어도 한 성분에 대한, 추가 화소 오프셋과 같다. 기술된 예에서, 추가 화소 오프셋은 0보다 큰 화소(들)의 정수이다. 대안으로, 추가 화소 오프셋은 화소의 하나 또는 수 개의 미리 정해진 부분과 같다. 예를 들어, AVC 표준에서, 추가 화소 오프셋은 화소의 1 또는 수 쿼터(quarter)일 수 있을 것이다. 수평 성분에 대해서, 수평 추가 화소 오프셋은, 만약 있다면, 예측 필드의 중심과 타겟 파트 PU의 필드의 중심 간의 수평 거리와 같다. 수직 성분에 대해서, 수직 추가 화소 오프셋은, 만약 있다면, 예측 필드의 중심과 타겟 파트 PU의 필드의 중심 간의 수직 거리와 같다. 기술된 예에서, 감산의 결과는 HEVC 표준에 이용된 2개의 변수: 수평 성분에 대한 abs_mvd_minus2[0] 및 수직 성분에 대한 abs_mvd_minus2[1]에 저장된다. 이들 2개의 변수는 HEVC 표준에서 어떤 추가 화소 오프셋없이, 성분 MVD[c]의 절대값에서 2를 뺀 것을 저장하는데 이용된다는 것을 유념해야 한다.
예측 필드가 타겟 파트 PU의 필드와 같다면(이는 도 6에서 예측 필드가 필드T이고 타겟 파트 PU가 필드 T에 속하는 것에 해당하는 것이며, 즉 예측 필드와 타겟 파트 PU의 필드가 동일한 패리티임), 예측 유닛(108)은 성분 MVD[c]의 절대값에서 단지 2개의 화소를 감산한다. 기술된 예에서, 감산 값이라 불리는 이 감산 결과는 HEVC 표준에 이용된 2개의 변수: 수평 성분에 대한 abs_mvd_minus2[0] 및 수직 성분에 대한 abs_mvd_minus2[1]에 저장된다.
단계 334에서, 예측 유닛(108)은 추가 화소 오프셋이 감산되었는지 여부를 나타내는 추가 화소 오프셋 존재 인디케이터를 생성한다. 기술된 예에서, 추가 화소 오프셋 존재 인디케이터는 각 성분 MVD[c]에 대한 한 플래그: 수평 성분에 대한 mvd_offset_flag[0] 및 수직 성분에 대한 mvd_offset_flag[1]을 포함한다.
기술된 예에서, 도 6에 도시된 바와 같이, 수평 추가 화소 오프셋은 없으므로, mvd_offset_flag[0]은 0과 같다. 그러나, 수직 추가 화소 오프셋이 있으므로, mvd_offset_flag[0]은 1과 같다. 위에서 설명된 바와 같이, 수직 추가 화소 오프셋은 거리 d와 같다. 기술된 예에서, 거리 d는 또한 각 필드의 높이와 같고 그리고 프레임 높이의 1/2과 같다. 선행한 것으로부터, abs_mvd_minus2[0]은 수평 성분 MVD[0] 마이너스 2의 절대값을 저장하고, abs_mvd_minus2[1]은 수직 성분 MVD[1] 마이너스 2 및 마이너스 수직 추가 화소 오프셋의 절대값을 저장한다.
추가 화소 오프셋의 이용은 인코딩의 효율을 증가시킬 수 있다. 사실, 몇몇 비디오에서, 예측 파트는 종종 타겟 파트와 같은 필드 안에 배치되므로, 모션 벡터가 작다. 또한 모션 벡터 예측자가 종종 작다는 것은 당연하다. 그러므로, 예측 파트가 다른 필드에 있을 때, 모션 벡터는 길고 모션 벡터 예측자는 작을 수 있다. 이 상황은 긴 모션 벡터 차로 이끈다. 이는 도 6에 도시된 상황이다. 화소 오프셋의 이용은 모션 벡터 차의 길이를 줄여주며, 그러므로 인코딩되어야하는 데이터가 더 적어진다. 더욱이, 예측 파트가 타겟 파트가 아닌 다른 필드에 있을 때, 예측 파트와 타겟 파트는 종종 여전히 그들의 각자 필드의 동일 영역에 있다. 이는 추가 화소 오프셋을 2개의 필드의 중심 간의 거리로서 취하면 양호한 결과가 제공되기 때문이다.
단계 336에서, 예측 유닛(210)은 예측 데이터 PD를 생성하고 이 예측 데이터는 특히 각 타겟 파트 PU에 대한 그리고 타겟 파트 PU에 대한 모션 벡터 차 MVD의 각 성분 MVD[c]에 대한: 그의 부호(단계 324), 0보다 큰 값(단계 326), 1보다 큰 값(단계 328), 추가 화소 오프셋 존재 인디케이터(단계 334) 및 감산 값(단계 330 및 332)을 포함한다.
다음의 단계들 338 내지 350은 인트라 및 인터 인코딩된 프레임들에 대해 실행된다.
단계 338에서, 비교 유닛(110)은 나머지 파트 res_PU를 생성하기 위해서 파트 PU를 예측 파트 pred_PU에 비교한다.
단계 340에서, 변환 유닛(214)은 나머지 파트 res_PU의 변환의 계수들, 예를 들어 DCT("Discrete Cosine Transform"의 두문자)를 판정한다. 변환 유닛(214)은 변환 데이터 TD를 생성하기 위해서 계수들을 더 처리한다. 이 처리는 보통 양자화를 포함한다.
단계 342에서, 역변환 유닛(114)은 변환 데이터 TD로부터 근사 나머지 파트 res_PU*를 판정한다.
단계 344에서, 재구성 유닛(116)은 예측 파트 pred_PU 및 근사 나머지 파트 res_PU*로부터 재구성 파트 rec_PU를 판정한다.
프레임 F의 모든 재구성 파트들 rec_PUs이 판정되었을 때, 재구성 프레임 rec_F가 생성된다.
선택적 단계 346에서, 필터 유닛(118)은 재구성 프레임 rec_F을 여과하고 그 결과의 프레임을 버퍼(예를 들어, 메모리(204)의 일부)에 저장하며 이 버퍼에서 이 프레임은 기준 프레임 ref_F이 된다.
선택적 단계 348에서, 필터 유닛(118)은 적용된 필터(들)를 나타내는 필터 데이터 FD를 더 생성한다. 기술된 예에서, 적용된 필터(들)는 HEVC 표준에 규정되어 있듯이, 샘플 적응 오프셋 필터가 뒤따르는 디블록킹 필터를 포함한다.
단계 350에서, 엔트로피 코딩 유닛(120)은 프레임들의 시퀀스의 인코딩된 비디오를 비트스트림 BS의 형태로 생성한다. 인코딩된 비디오는 제너럴 데이터 GD, 예측 데이터 PD, 변환 데이터 TD 및 선택적으로 필터 데이터 FD를 포함한다. 기술된 예에서, 인코딩된 비디오는 예를 들어 엔트로피 코딩에 의해서 구해진다.
단계 306 내지 350가 매우 적은 수정으로 프로그레시브 비디오에 적용될 수 있다는 것에 유의해야 한다. 특히, 프로그레시브 비디오 코딩용의 GOP 구조는 이전 비디오 인코딩 방법(300)에 이용될 수 있다. 특히, 앞에서 보여준 바와 같이, 프로그레시브 비디오 인코딩을 정의하는 HEVC 표준은 적은 수정으로 이용될 수 있다.
도 7을 참조해서, 프레임들의 시퀀스의 인코딩된 비디오를 비트스트림 BS의 형태로 디코딩하는 비디오 디코딩 장치(700)가 이제 기술될 것이다.
비디오 디코딩 장치(700)는 인코딩된 비디오를 수신하고 인코딩된 비디오로부터 데이터를 판정하도록 구성된 제너럴 제어 유닛(702)을 포함한다.
비디오 디코딩 장치(700)는 디코딩될 각 파트 PU에 대해서, 변환 데이터 TD로부터 나머지 파트 res_PU를 판정하도록 구성된 변환 유닛(704)을 더 포함한다.
비디오 디코딩 장치(700)는 디코딩될 각 파트 PU에 대해서, 인트라-예측 방법 또는 인터-예측 방법에 따라 예측 데이터 PD로부터 예측 파트 pred_PU를 판정하도록 구성된 디코딩 유닛(706)을 더 포함한다.
비디오 디코딩 장치(700)는 디코딩될 각 파트 PU에 대해서, 재구성 파트를 생성하기 위해 나머지 파트 res_PU를 예측 파트 pred_PU에 결합하도록 구성된 결합 유닛(708)을 더 포함한다. 결합 유닛(708)은 또한 재구성 파트들로부터 재구성 프레임 rec_F을 생성하도록 구성되어 있다.
비디오 디코딩 장치(700)는 디코딩된 프레임 F을 생성하기 위해, 필터 데이터 FD에 따라 재구성 프레임 rec_F을 여과하도록 구성된 필터 유닛(710)을 선택적으로 더 포함한다.
유닛들(704 내지 710)은 프레임 디코더를 형성한다.
비디오 디코딩 장치(700)는 필드들의 시퀀스를 포함하는 인터레이스드 비디오 V를 생성하기 위해서, 각 프레임 F로부터 적어도 2개의 연속 필드를 생성하도록 구성된 프레임 분할 유닛(712)을 더 포함한다.
도 8을 참조하여 비디오 디코딩 장치(700)의 특정 구현이 이제 기술된다.
비디오 디코딩 장치(700)는 메모리(804)와 처리 유닛(806)을 둘러싸고 있는 컴퓨터 케이스(802)를 포함하는 컴퓨터 시스템이다. 컴퓨터 시스템은 도 2에 도시된 것과 동일할 수 있다.
비디오 디코딩 장치(700)는 메모리(804)에 저장된 비디오 디코딩 프로그램(808)을 더 포함한다. 비디오 디코딩 프로그램(808)은 도 9를 참조로 보다 자세히 기술될 비디오 디코딩 방법을 실행하기 위해서 처리 유닛(806)에 의해 실행되는 명령어들을 포함한다.
비디오 디코딩 장치(700)는 예를 들어 디스플레이(814)와 키보드(816) 및 포인팅 장치(818)와 같은 입력 장치들을 포함하는 휴먼 컴퓨터 인터페이스(812)를 더 포함한다.
도 9를 참조하여, 도 7 또는 도 8의 비디오 인코딩 장치(700)에 의해 실행된 프레임들의 시퀀스의 인코딩된 비디오를 비트스트림 BS, 예를 들어, 도 1의 비디오 코딩 장치(100)에 의해 생성된 비트스트림의 형태로 디코딩하기 위한 비디오 디코딩 방법(900)이 이제 기술될 것이다.
단계 902에서, 제너럴 제어 유닛(702)은 인코딩된 비디오로부터 제너럴 데이터 GD를 판정한다.
단계 904에서, 제너럴 제어 유닛(702)은 또한 제너럴 데이터 GD로부터 프레임들의 필드 구성을 판정한다. 기술된 예에서, 필드 구성은 pic_struct 변수를 포함한다.
단계 906에서, 제너럴 제어 유닛(702)은 제너럴 데이터 GD로부터 추가 화소 오프셋(들)을 판정한다. 기술된 예에서, 제너럴 제어 유닛(702)은 수직 추가 화소 오프셋을 저장하는 변수 mvd_offset[1]를 판정한다. 다른 변수 mvd_offset[0]의 부재시, 제너럴 제어 유닛(702)은 수평 추가 화소 오프셋이 0과 같다고 생각한다.
다음의 단계들 908 내지 930은 인코딩된 비디오에 인코딩된 현재 파트 PU라 불리는 각 파트 PU에 대해서 실행된다.
단계 908에서, 제너럴 제어 유닛(702)은 인코딩된 비디오로부터, 현재 파트 PU에 대응하는 변환 데이터 TD, 예측 데이터 PD 및 선택적으로 필터 데이터 FD를 판정한다.
단계 910에서, 변환 유닛(704)은 변환 데이터 TD로부터 나머지 파트 res_PU를 판정한다.
단계 912에서, 디코딩 유닛(706)은 인트라-예측 방법 또는 인터-예측 방법에 따라서, 인코딩된 비디오로부터, 좀더 정확하게는 예측 데이터 PD로부터 예측 파트 pred_PU를 판정한다.
인트라-예측의 경우에, 다음의 단계들 914 내지 928이 단계 912 동안 실행된다.
단계 914에서, 디코딩 유닛(706)은 예측 데이터로부터 모션 벡터 차 MVD를 판정한다. 모션 벡터 차 MVD의 판정은, 모션 벡터 차 MVD의 각 성분 MVD[c]에 대해서, 다음의 단계들 916 내지 922를 포함한다(기술된 예에 이용된 변수들 및 플래그들은 괄호 안에 표시되어 있다).
단계 916에서, 디코딩 유닛(706)은 예측 데이터 PD로부터 0보다 큰 값(즉, 신택스 요소 값 abs_mvd_greater0_flag[c])을 판정한다. 값이 거짓이면, 디코딩 유닛(706)은 성분 MVD[c]가 0과 같다고 생각한다.
단계 918에서, 성분 MVD[c]의 절대값이 0보다 크면, 디코딩 장치(706)는 예측 데이터 PD로부터 1보다 큰 값(즉, 신택스 요소 값 abs_mvd_greater1_flag[c])을 판정한다. 값이 거짓이면, 성분 MVD[c]는 1과 같다.
단계 920에서, 성분 MVD[c]의 절대값이 0보다 크면, 디코딩 유닛(706)은 예측 데이터 PD로부터 성분 MVD[c]의 부호(mvd_sign_flag[c]), 감산 값(abs_mvd_minus2[c]) 및 추가 화소 오프셋 인디케이터(mvd_offset_flag[c])를 판정한다.
단계 922에서, 디코딩 유닛(706)은 인코딩된 비디오로부터 판정된 데이터로부터 성분 MVD[c]을 판정한다. 특히, 디코딩 유닛(706)은 성분 MVD[c]의 절대값을 판정하기 위해서, 추가 화소 오프셋 인디케이터(mvd_offset_flag[c])가 단계 906에서 인코딩된 비디오로부터 판정된 추가 화소 오프셋의 존재를 나타내면, 2 플러스의 화소 오프셋을 감산 값(abs_mvd_minus2[c])에 가산한다. 단계 920에서 판정된 부호는 성분 MVD[c]을 판정하기 위해서 이 절대값에 적용된다.
HEVC 표준이 이용되는 기술된 예에서, 다음의 신택스가 이전 단계들 916 내지 922를 나타내는데 이용된다.
Figure pat00002
기술된 예에서, 성분 MVD[c]는 다음과 같이 계산된다:
MVD[c] =
abs_mvd_greater0_flag[c]*
(mvd_offset_flag[c]*mvd_offset[c]+abs_mvd_minus2[c]+2)*
(1-2*mvd_sign_flag[c])
단계 924에서, 디코딩 유닛(706)은 예측 데이터 PD로부터 모션 벡터 예측자 MVP를 판정한다.
단계 926에서, 디코딩 유닛(706)은 모션 벡터 차 MVD 및 모션 벡터 예측자 MVP로부터 모션 벡터 MV를 판정한다.
단계 928에서, 디코딩 유닛(706)은 기준 프레임 ref_F, 즉 이미 디코딩된 프레임의 화소들로부터 예측 파트 pred_PU를 판정하며, 이들 화소는 모션 벡터 MV로부터 판정된다.
단계 930에서, 결합 유닛(708)은 재구성 파트를 생성하기 위해서 나머지 파트 res_PU와 예측 파트 pred_PU를 결합한다.
단계 932에서, 한 프레임의 모든 파트가 재구성될 때, 즉 이 프레임의 모든 재구성 파트들이 생성되었을 때, 결합 유닛(708)은 재구성 파트들을 결합하여 재구성 프레임 rec_F라 불리는 프레임을 생성한다.
선택적 단계 934에서, 필터 유닛(710)은 디코딩된 프레임 F를 생성하기 위해서 필터 데이터 FD에 따라서 재구성 프레임 rec_F를 여과한다. 적어도 몇몇 디코딩된 프레임은 기준 프레임 ref_F로서 작용하도록 버퍼에 저장된다.
단계 936에서, 프레임 분할 유닛(712)은 각 프레임 F의 적어도 2개의 직사각형 영역을 추출하고 추출된 직사각형 영역들을 인터레이스드 비디오 V의 연속 필드들로 정의함으로써 프레임들 F의 시퀀스로부터 인터레이스드 비디오 V를 생성한다. 각 프레임이 제2 필드의 상부에 배치된 제1 필드를 포함하는 기술된 예에서, 분할 유닛(712)은 프레임 F를 상부 반과 하부 반 사이에서 수평으로 나누고, 프레임 F의 상부 반을 추출하여 이를 제1 필드(TOP 필드)로 정의하며 이 프레임의 하부 반을 추출하여 이를 다음 필드(BOT 필드)로서 정의한다. 이는 도 5에 도시된 경우 A의 역 동작이다.
이때, 생성된 인터레이스드 비디오는 도 8의 것과 같은 디스플레이 장치에 디스플레이될 수 있다.
본 발명은 앞에서 기술된 실시 예들에 한정되지 않지만 대신에 첨부된 청구항들에 의해 정의된다. 수정들이 앞에서 기술된 실시 예들에 적용될 수 있음을 사실 이 방면에 숙련된 자에게 자명하다.
예를 들어, 이들 장치의 유닛들은 동일한 기능을 수행하도록 되어 있는 하드웨어 회로에 의해 전부 또는 부분적으로 형성될 수 있다. 여기에 제시된 블록 도들이 본 발명의 원리들을 구현하는 예시적인 시스템 컴포넌트 및/또는 회로의 개념적인 뷰를 나타낸다는 것은 이 방면에 숙련된 자들이면 이해할 것이다. 유사하게, 흐름 차트, 흐름도, 상태 천이도, 의사코드, 등이 컴퓨터 판독가능 저장 매체에 실질적으로 표현될 수 있어 컴퓨터 또는 프로세서에 의해 실행될 수 있는 다양한 프로세서를 나타내고 있음을 이해할 것이다(그러한 컴퓨터 또는 프로세서가 명시적으로 도시되어 있든 아니든).
더욱이, 모션 백터 재현은 그 자체가 모션 벡터일 수 있을 것이다.
게다가, 첨부 청구항들에 이용된 용어들은 앞에서 기술된 실시 예들의 요소들에 한정되는 것으로 이해되지 않아야 하며, 대조적으로 이 방면에 숙련된 자가 그의 일반적인 지식을 이용해서 유도해낼 수 있는 모든 균등 요소들을 포함하는 것으로서 이해되어야 한다.

Claims (15)

  1. 교차 TOP 및 BOT 필드들의 시퀀스를 포함하는 인터레이스드 비디오(interlaced video)(V)를 인코딩하는 방법(300)으로서,
    - 프레임들의 시퀀스를 생성하는 단계(302) - 각 프레임은 각 필드가 해당 프레임의 한 영역을 형성하는 적어도 2개의 연속 필드로부터 판정됨 -,
    - 상기 프레임들의 시퀀스의 인코딩된 비디오를 생성하기 위해 상기 시퀀스의 각 프레임을 인코딩하는 단계(304...350)
    를 포함하는, 인터레이스드 비디오 인코딩 방법(300).
  2. 제1항에 있어서, 상기 시퀀스의 각 프레임을 인코딩하는 단계는 프레임(F)의 인터-예측 파트(inter-predicted part)(PU)에 대해서:
    - 기준 프레임(ref_F)의 화소들로부터 예측 파트(pred_PU)를 판정하는 단계(316),
    - 상기 프레임(F) 내의 파트(PU)의 위치와 상기 기준 프레임(ref_F) 내의 예측 파트(pred_PU)의 위치 간의 화소들 내의 거리에 대응하는 모션 벡터(MV)의 재현(representation)(MVD)을 판정하는 단계(322),
    - 상기 예측 파트(pred_PU)가 판정되는 화소들이 예측 필드라 불리며 그의 패리티가 상기 파트(PU)의 필드(T)의 패리티와는 상이한 필드(B)에 속하는 경우에, 상기 모션 벡터 재현(MVD)의 적어도 한 성분의 절대값에서 2개 화소보다 큰 화소 오프셋을 감산하는 단계(332),
    상기 감산 값과 화소 오프셋 존재 인디케이터를 포함하는 예측 데이터(PD)를 생성하는 단계(336)
    를 포함하고, 상기 인코딩된 비디오는 상기 예측 데이터(PD)를 포함하는, 인터레이스드 비디오 인코딩 방법(300).
  3. 제1항 또는 제2항에 있어서, 상기 프레임의 영역들은 직사각형 영역인, 인터레이스드 비디오 인코딩 방법(300).
  4. 제2항 또는 제3항에 있어서, 상기 모션 벡터 재현(MVD)은 모션 벡터 예측자(MVP)와 상기 모션 벡터(MV) 간의 모션 벡터 차(MVD)인, 인터레이스드 비디오 인코딩 방법(300).
  5. 제4항에 있어서, 수직 및 수평 성분 각각에 대한 추가 화소 오프셋은 예측 필드(B)의 중심과 파트(PU)의 필드(T)의 중심 간의 수직 및 수평 거리와 같은, 인터레이스드 비디오 인코딩 방법(300).
  6. 제5항에 있어서, 각 프레임은 한 필드가 다른 필드의 상부에 수직으로 배열되게 2개의 필드를 묶음으로써 2개의 연속 필드로 생성되며, 모션 벡터 차의 수직 성분에 대한 화소 오프셋은 2개 필드 중 한 필드의 높이와 같은, 인터레이스드 비디오 인코딩 방법(300).
  7. 컴퓨터 시스템에 의해 실행될 때, 상기 컴퓨터 시스템이 제1항 내지 제6항 중 어느 한 항에 따른 비디오 인코딩 방법을 실행할 수 있게 해주는 명령어를 포함하는 컴퓨터 프로그램(208).
  8. 교차 TOP 및 BOT 필드들의 시퀀스를 포함하는 인터레이스드 비디오(V)를 인코딩하는 비디오 인코딩 장치(100)로서,
    - 프레임들의 시퀀스를 생성하도록 구성된 필드 결합 유닛(102) - 각 프레임(F)은 각각이 해당 프레임(F)의 한 영역을 형성하는 적어도 2개의 연속 필드로부터 판정됨 -,
    - 상기 프레임들의 시퀀스의 인코딩된 비디오를 생성하기 위해 상기 시퀀스의 각 프레임을 인코딩하는 프레임 인코더(104...120)를 포함하는 비디오 인코딩 장치(100).
  9. 프레임들의 시퀀스의 인코딩된 비디오를 디코딩하는 방법(900)으로서,
    - 상기 시퀀스의 각 프레임을 디코딩하는 단계(902...934),
    - 각 프레임의 적어도 2개 영역을 추출하고 추출된 영역들을 인터레이스드 비디오(V)의 연속 필드로서 정의함으로써 상기 프레임들의 시퀀스로부터 상기 인터레이스드 비디오(V)를 생성하는 단계(936)
    를 포함하는, 인코딩된 비디오 디코딩 방법(900).
  10. 제9항에 있어서, 상기 시퀀스의 각 프레임을 디코딩하는 단계는, 프레임의 인터-예측 파트에 대해서:
    - 상기 인코딩된 비디오로부터 모션 벡터 재현(MVD)을 판정하는 단계(914) - 이 단계는, 예측 파트(pred_PU)가 판정되는 화소들이 예측 필드라 불리며 그의 패리티가 상기 파트(PU)의 필드(T)의 패리티와는 상이한 필드(B)에 속하는 경우에, 상기 인코딩된 비디오로부터 판정된 값에 2개 화소보다 큰 화소 오프셋을 가산함으로써 상기 모션 벡터 재현(MVD)의 적어도 한 성분의 절대값을 판정하는 단계(922)를 포함함 -,
    - 상기 모션 벡터 재현(MVD)으로부터 모션 벡터(MV)를 판정하는 단계(926),
    - 상기 모션 벡터(MV)로부터 판정된 기준 프레임(ref_F)의 화소들로부터 예측 파트(pred_PU)를 판정하는 단계(928)
    를 포함하는, 인코딩된 비디오 디코딩 방법(900).
  11. 제9항 또는 제10항에 있어서, 상기 프레임의 영역들은 직사각형 영역인, 인코딩된 비디오 디코딩 방법(900).
  12. 제9항 내지 제11항 중 어느 한 항에 있어서, 상기 인터레이스드 비디오(V)를
    생성하는 단계(936)는 상기 프레임을 제1 필드로서 정의된 상부 파트와 제2 필드로서 정의된 하부 파트로 수평으로 나누는 단계를 포함하는, 인코딩된 비디오 디코딩 방법(900).
  13. 제10항 내지 제12항 중 어느 한 항에 있어서, 상기 수직 성분에 대해서, 상기 화소 오프셋은 2 플러스 추가 화소 오프셋과 같고, 상기 추가 화소 오프셋은 상기 2개 필드 중 하나의 높이와 같은, 인코딩된 비디오 디코딩 방법(900).
  14. 컴퓨터 시스템에 의해 실행될 때, 상기 컴퓨터 시스템이 제9항 내지 제13항 중 어느 한 항에 따른 비디오 디코딩 방법을 실행할 수 있게 해주는 명령어들을 포함하는 컴퓨터 프로그램(808).
  15. 비디오 디코딩 장치(700)로서,
    - 프레임들의 시퀀스의 각 프레임을 디코딩하도록 구성된 프레임 디코더(704...710),
    - 각 프레임의 적어도 2개 영역을 추출하고 추출된 영역들을 인터레이스드 비디오(V)의 연속 필드로서 정의함으로써 상기 프레임들의 시퀀스로부터 상기 인터레이스드 비디오(V)를 생성하도록 구성된 프레임 분할 유닛(712)
    을 포함하는 비디오 디코딩 장치(700).
KR20140126918A 2013-09-26 2014-09-23 비디오 인코딩/디코딩 방법, 대응 컴퓨터 프로그램 및 비디오 인코딩/디코딩 장치 KR20150034636A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP13306318.0 2013-09-26
EP13306318.0A EP2854405A1 (en) 2013-09-26 2013-09-26 Method and apparatus for encoding and decoding a motion vector representation in interlaced video using progressive video coding tools

Publications (1)

Publication Number Publication Date
KR20150034636A true KR20150034636A (ko) 2015-04-03

Family

ID=49378203

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20140126918A KR20150034636A (ko) 2013-09-26 2014-09-23 비디오 인코딩/디코딩 방법, 대응 컴퓨터 프로그램 및 비디오 인코딩/디코딩 장치

Country Status (5)

Country Link
US (1) US9654793B2 (ko)
EP (2) EP2854405A1 (ko)
JP (1) JP2015070610A (ko)
KR (1) KR20150034636A (ko)
CN (1) CN104519363B (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10462462B2 (en) * 2016-09-29 2019-10-29 Qualcomm Incorporated Motion vector difference coding technique for video coding
CN108076347B (zh) * 2016-11-15 2021-11-26 阿里巴巴集团控股有限公司 一种编码起始点的获取方法以及装置
WO2018095313A1 (en) * 2016-11-22 2018-05-31 Mediatek Inc. Method and apparatus for motion vector sign prediction in video coding
CN111385575A (zh) * 2018-12-29 2020-07-07 华为技术有限公司 帧间预测方法、装置以及相应的编码器和解码器
CN112750094B (zh) * 2020-12-30 2022-12-09 合肥工业大学 一种视频处理方法及系统

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08265770A (ja) * 1995-03-20 1996-10-11 Sony Corp 高能率符号化方法、高能率符号化装置、記録再生装置及び情報伝送システム
US5991447A (en) * 1997-03-07 1999-11-23 General Instrument Corporation Prediction and coding of bi-directionally predicted video object planes for interlaced digital video
JPH1127662A (ja) 1997-07-03 1999-01-29 Matsushita Electric Ind Co Ltd 画像符号化装置
US6973126B1 (en) 1999-03-05 2005-12-06 Kdd Corporation Video coding apparatus according to a feature of a video picture
JP2000295609A (ja) * 1999-03-19 2000-10-20 Mitsubishi Electric Inf Technol Center Europ Bv インタレースビデオ信号の符号化方法、及び復号化方法、並びに符号化装置、及び復号化装置
EP1383339A1 (en) * 2002-07-15 2004-01-21 Matsushita Electric Industrial Co., Ltd. Memory management method for video sequence motion estimation and compensation
JP4931034B2 (ja) 2004-06-10 2012-05-16 株式会社ソニー・コンピュータエンタテインメント 復号装置および復号方法、並びに、プログラムおよびプログラム記録媒体
US20060098739A1 (en) * 2004-11-09 2006-05-11 Lsi Logic Corporation Video frame encoder driven by repeat decisions
EP1809042A1 (en) 2006-01-13 2007-07-18 THOMSON Licensing Method and apparatus for coding interlaced video data
US8018530B2 (en) * 2006-12-29 2011-09-13 Intel Corporation Adaptive video de-interlacing
FR2917262A1 (fr) 2007-06-05 2008-12-12 Thomson Licensing Sas Dispositif et procede de codage d'un contenu video sous la forme d'un flux scalable.
JP2011061273A (ja) * 2009-09-07 2011-03-24 Sony Corp 動きベクトル算出装置、動きベクトル算出方法およびプログラム
EP3309970B1 (en) * 2011-06-24 2023-06-07 Sun Patent Trust Image decoding method
JP2013168866A (ja) * 2012-02-16 2013-08-29 Canon Inc 画像処理装置、その制御方法およびプログラム
US20140079116A1 (en) * 2012-09-20 2014-03-20 Qualcomm Incorporated Indication of interlaced video data for video coding
US20140092962A1 (en) * 2012-10-01 2014-04-03 Sony Corporation Inter field predictions with hevc

Also Published As

Publication number Publication date
EP2854405A1 (en) 2015-04-01
US9654793B2 (en) 2017-05-16
EP2854406A1 (en) 2015-04-01
CN104519363A (zh) 2015-04-15
JP2015070610A (ja) 2015-04-13
US20150085934A1 (en) 2015-03-26
CN104519363B (zh) 2019-06-25

Similar Documents

Publication Publication Date Title
AU2015330676B2 (en) Intra block copy prediction restrictions for parallel processing
EP3308543B1 (en) Systems and methods of determining illumination compensation status for video coding
CN109644271B (zh) 用于二叉树分割块的确定候选集的方法及装置
JP6701270B2 (ja) 符号化装置、復号方法、符号化方法、復号方法、及びプログラム
EP3090546B1 (en) Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area
EP3371974B1 (en) Flexible reference picture management for video encoding
EP3554079B1 (en) Method for encoding video information, method of decoding video information and decoding apparatus for decoding video information
CN112740697B (zh) 图像编码/解码方法和装置及存储比特流的记录介质
US20210385467A1 (en) Methods and Apparatuses of Chroma Quantization Parameter Derivation in Video Processing System
EP4354856A2 (en) Unified intra block copy and inter prediction modes
CN110999295B (zh) 边界强制分区的改进
CN112956194A (zh) 图像信号编码/解码方法及其设备
US20150245049A1 (en) Image processing method and apparatus for predicting motion vector and disparity vector
KR20150018239A (ko) 병합 모드 결정 방법 및 장치
US9654793B2 (en) Video encoding/decoding methods, corresponding computer programs and video encoding/decoding devices
KR20140113854A (ko) 비디오의 부호화 방법 및 장치, 비디오의 복호화 방법 및 장치
US11985327B2 (en) Bidirectional prediction method and video decoding apparatus
EP3909241A1 (en) System and method for improving combined inter and intra prediction
TW201946465A (zh) 用於視訊編解碼中的獨立編碼樹的語法交錯方法和裝置
KR20180041576A (ko) 영상 부호화 방법/장치, 영상 복호화 방법/장치 및 비트스트림을 저장한 기록 매체
Dubhashi Complexity Reduction of Motion Estimation in HEVC
KR20200110138A (ko) 공유 후보 리스트를 이용한 움직임정보 유도 방법 및 영상 복호화 장치
WO2014028631A1 (en) Signaling of temporal motion vector predictor (mvp) enable flag

Legal Events

Date Code Title Description
A201 Request for examination
WITB Written withdrawal of application