움직임 보정

Motion compensation
MPEG 블록 모션 보정의 시각화.한 프레임에서 다음 프레임으로 이동한 블록은 흰색 화살표로 표시되므로 다른 플랫폼과 문자의 움직임이 명확하게 나타납니다.

컴퓨팅에서의 움직임 보정은 비디오 내의 카메라 및/또는 객체의 움직임을 계산함으로써 이전 및/또는 미래의 프레임에 주어진 비디오 내의 프레임을 예측하기 위해 사용되는 알고리즘 기술이다.예를 들어 MPEG-2 파일 생성 등 비디오 압축을 위한 비디오 데이터 인코딩에 사용됩니다.움직임 보정은 참조 화상을 현재 화상으로 변환하는 관점에서 화상을 기술합니다.참조 사진은 과거일 수도 있고 미래일 수도 있습니다.이전에 전송/저장된 영상에서 영상을 정확하게 합성할 수 있으면 압축 효율을 향상시킬 수 있습니다.

움직임 보정은 이산 코사인 변환(DCT)과 함께 비디오 코딩 표준에서 사용되는 두 가지 주요 비디오 압축 기술 중 하나입니다.H.26x MPEG 형식 등 대부분의 비디오 코딩 표준에서는 일반적으로 Block Motion Compension(BMC; 블록모션 보상) 또는 Motion Compensed DCT(MC DCT; 모션 보상 DCT)로 알려진 모션 보상 DCT 하이브리드 [1][2]코딩이 사용됩니다.

기능

모션 보정은, 많은 무비의 프레임에 대해서, 한 프레임과 다른 프레임의 유일한 차이는, 카메라가 움직이거나 프레임의 물체가 움직이거나 하는 결과라는 사실을 이용합니다.비디오 파일에 관해서는, 1개의 프레임을 나타내는 정보의 대부분은, 다음의 프레임에서 사용되는 정보와 같습니다.

모션 보정을 사용하면 비디오 스트림에는 풀(기준) 프레임이 몇 개 포함되어 있습니다.그 사이 프레임에 저장되어 있는 정보는 이전 프레임을 다음 프레임으로 변환하는 데 필요한 정보뿐입니다.

예시

다음은 움직임 보정이 어떻게 작동하는지에 대한 간단한 설명입니다.영화 엘리펀츠 드림에서 두 개의 연속된 프레임이 포착되었다.이미지에서 알 수 있듯이, 두 프레임 간의 하단(모션 보정) 차이는 이전 이미지보다 세부 정보가 상당히 적기 때문에 나머지 이미지보다 훨씬 잘 압축됩니다.따라서 보정된 프레임을 인코딩하는 데 필요한 정보는 차분 프레임보다 훨씬 작습니다.이는 또한 (동작 추정, 움직임 보상과 함께) 동작 보정 부호화가 부호화 복잡성의 90% 이상을 차지하기 때문에, 압축 효율이 낮은 비용으로 차분 이미지를 사용하여 정보를 부호화할 수도 있다는 것을 의미한다..

유형 프레임 예시 묘사
원래의 Motion compensation example-original.jpg 화면에 표시된 대로 전체 원본 프레임입니다.
차이 Motion compensation example-difference.jpg 원래 프레임과 다음 프레임의 차이점.
움직임 보상 차이 Motion compensation example-compensated difference.jpg 원래 프레임과 다음 프레임의 차이는 2픽셀 오른쪽으로 이동했습니다.프레임을 이동하면 카메라의 패닝이 보정되므로 두 프레임 간의 오버랩이 커집니다.

MPEG

MPEG에서는 이전 프레임(P 프레임)에서 이미지를 예측하거나 이전 프레임과 미래 프레임(B 프레임)에서 양방향으로 이미지를 예측합니다.B 프레임은, [3]B 프레임을 생성하기 위해서, 화상 시퀀스를 송신해 순서대로 보존할 필요가 있기 때문에, 한층 더 복잡합니다.

움직임 보상을 사용해 프레임을 예측한 후, 코더는 잔차를 찾아 압축해 송신한다.

글로벌 모션 보상

전역 모션 보정에서 모션 모델은 기본적으로 다음과 같은 카메라 모션을 반영합니다.

  • 돌리 - 카메라를 앞 또는 뒤로 이동
  • 트랙 - 카메라를 왼쪽 또는 오른쪽으로 이동합니다.
  • 붐 - 카메라를 위 또는 아래로 움직입니다.
  • Y축을 중심으로 카메라 회전, 화면 왼쪽 또는 오른쪽으로 이동
  • 기울기 - X축을 중심으로 카메라를 회전시켜 보기를 위아래로 이동합니다.
  • 롤 - 뷰 축을 중심으로 카메라를 회전시킵니다.

물체를 이동하지 않고 정지된 장면에 가장 적합합니다.

전역 모션 보정에는 다음과 같은 몇 가지 이점이 있습니다.

  • 비디오 시퀀스에서 주로 볼 수 있는 우세한 움직임을 몇 가지 매개 변수만으로 모델링합니다.이들 파라미터의 비트레이트 점유율은 무시할 수 있습니다.
  • 프레임은 분할되지 않습니다.이렇게 하면 파티션 테두리의 아티팩트가 방지됩니다.
  • 프레임내의 공간 위치가 같은 픽셀의 직선(시간 방향)은, 리얼 씬내의 연속 이동점에 대응합니다.다른 MC 스킴에서는 시간 방향의 불연속성이 발생합니다.

MPEG-4 ASP는 3개의 참조 포인트를 가진 GMC를 지원하지만 일부 구현에서는 1개만 사용할 수 있습니다.단일 기준점에서는 변환 모션만 허용되며, 상대적으로 높은 성능 비용으로 인해 블록 기반 모션 보상에 비해 거의 이점이 없습니다.

프레임 내에서 움직이는 물체는 전역 움직임 보상으로 충분히 표현되지 않습니다.따라서 로컬 모션 추정도 필요합니다.

움직임 보상 DCT

블록 모션 보정

블록 모션 보상([2]BMC)은 움직임 보상 이산 코사인 변환(MC DCT)이라고도 하며 가장 널리 사용되는 움직임 보상 기법입니다.BMC에서는 프레임은 픽셀 블록(예를 들어 MPEG에서는 16×16 픽셀 매크로 블록)으로 분할됩니다.각 블록은 기준 프레임 내의 동일한 크기의 블록에서 예측된다.블럭은 예측된 블럭의 위치로 이동하는 것 외에 어떤 방식으로도 변환되지 않습니다.이 이동은 움직임 벡터로 나타납니다.

인접 블록 벡터 간의 용장성(예를 들어 여러 블록으로 덮인 단일 이동 객체의 경우)을 이용하려면 비트 스트림의 현재 움직임 벡터와 이전 움직임 벡터 간의 차이만 인코딩하는 것이 일반적입니다.이 미분 프로세스의 결과는 수학적으로 패닝이 가능한 전역 움직임 보정에 해당합니다.부호화 파이프라인 하부에 엔트로피 코더는 출력 크기를 줄이기 위해 제로 벡터 주위의 움직임 벡터의 통계적 분포를 이용한다.

블록을 정수 이외의 픽셀 수로 이동할 수 있으며, 이를 서브픽셀 정밀도라고 합니다.중간 픽셀은 인접 픽셀을 보간하여 생성됩니다.일반적으로 반화소 또는 1/4화소 정밀도(Qpel, H.264 및 MPEG-4/ASP에서 사용)가 사용됩니다.서브픽셀 정밀도의 계산비용은 보간에 필요한 추가 처리와 인코더 측에서는 평가해야 할 잠재적인 소스 블록의 수가 훨씬 더 많기 때문에 훨씬 더 높습니다.

블록 모션 보정의 주요 단점은 블록 경계에 불연속성(블록 아티팩트)이 발생한다는 것입니다.이러한 아티팩트는 인간의 눈에 쉽게 포착되는 날카로운 수평 및 수직 가장자리 형태로 나타나며 잔류 프레임[4] 변환 부호화에 사용되는 푸리에 관련 변환 계수의 양자화로 인해 거짓 에지 및 링 효과(고주파 서브밴드의 큰 계수)를 생성한다.

블록 모션 보상은 현재 프레임을 겹치지 않는 블록으로 분할하고 움직임 보상 벡터는 이러한 블록의 출처를 알려줍니다(일반적인 오해는 이전 프레임이 겹치지 않는 블록으로 분할되고 움직임 보상 벡터가 이러한 블록이 어디로 이동하는지 알 수 있습니다).일반적으로 소스 블록은 소스 프레임에서 겹칩니다.일부 비디오 압축 알고리즘은 이전에 전송된 여러 개의 서로 다른 프레임 조각으로 현재 프레임을 조립합니다.

프레임은, 장래의 프레임으로부터도 예측할 수 있습니다.이후 프레임은 예측된 프레임보다 먼저 부호화해야 하므로 부호화 순서가 실제 프레임 순서와 일치할 필요는 없습니다.이러한 프레임은 일반적으로 두 방향, 즉 예측된 프레임의 바로 앞 또는 뒤에 있는 I 또는 P 프레임에서 예측됩니다.이러한 쌍방향 예측 프레임을 B 프레임이라고 부릅니다.예를 들어 부호화 방식은 IBBBBPPBB일 수 있습니다.

또한 움직임 보정을 위해 삼각 타일을 사용하는 것도 제안되고 있다.이 방식 하에서 프레임은 삼각형으로 타일링되며,[5] 이들 삼각형에 아핀 변환을 수행하여 다음 프레임이 생성됩니다.아핀 변환만 기록/전송됩니다.줌, 회전, 번역 등에 대응합니다.

가변 블록 크기 움직임 보정

Variable Block-Size Motion Compension(VBSMC; 가변 블록 크기 모션 보상)은 인코더가 블록 크기를 동적으로 선택할 수 있는 기능과 함께 BMC를 사용하는 것입니다.비디오를 코딩할 때 큰 블록을 사용하면 움직임 벡터를 나타내는 데 필요한 비트 수를 줄일 수 있지만 작은 블록을 사용하면 인코딩할 예측 잔여 정보의 양이 줄어들 수 있습니다.다른 작업 영역에서는 블록 경계를 넘어 프레임 [6]간 벡터를 계산할 수 있는 가변 형상 특성 메트릭의 사용을 검토했습니다.H.261이나 MPEG-1 비디오등의 낡은 설계에서는, 통상은 고정 블록 사이즈를 사용하고 있습니다만, H.263, MPEG-4 Part 2, H.264/MPEG-4 AVC, 및 VC-1등새로운 설계에서는, 인코더로 모션을 나타내기 위해서 사용하는 블록 사이즈를 동적으로 선택할 수 있습니다.

중첩 블록 모션 보상

OBMC(중복 블록 모션 보상)는 예측 정확도를 높일 뿐만 아니라 블록 아티팩트를 방지하므로 이러한 문제에 대한 좋은 해결책입니다.OBMC를 사용하는 경우 블록은 일반적으로 각 치수의 2배 크기이며 8개의 인접 블록과 사분면에 걸쳐 겹칩니다.따라서 각 픽셀은 4개의 블록에 속합니다.이러한 스킴에서는, 각 화소에 대해서, 가중 평균까지 합계한 4개의 예측이 있다.이를 위해 블록은 4개의 겹치는 창의 합계가 어디에서나 1과 같다는 속성을 갖는 창 함수와 관련지어집니다.

OBMC의 복잡성을 줄이는 방법에 대한 연구는 대각선 인접 블록에서 창 기능에 대한 기여도가 가장 작다는 것을 보여주었다.이러한 기여에 대한 가중치를 0으로 줄이고 다른 가중치를 동일한 양만큼 증가시키면 품질에 큰 불이익 없이 복잡성이 상당히 감소한다.이러한 스킴에서 각 화소는 4가 아닌 3개의 블록에 속하며, 8개의 인접 블록을 사용하는 것이 아니라 보상되는 각 블록에 대해 4개만 사용된다.이러한 스킴은 H.263 Annex F Advanced Prediction 모드에서 찾을 수 있습니다.

1/4 픽셀(QPel) 및 하프 픽셀 모션 보정

움직임 보상에서 1/4 또는 절반 샘플은 실제로 부분 움직임 벡터에 의해 발생하는 보간 하위 샘플입니다.이들 벡터 및 풀샘플에 기초하여 2차 또는 2차선 2-D 필터링을 사용하여 서브샘플을 계산할 수 있다.H.264 표준의 하위 절 제8.4.2.2절 "부분 표본 보간 과정"을 참조한다.

3D 이미지 코딩 기술

움직임 보정은 입체 영상 부호화에 활용됩니다.

비디오에서 시간은 종종 3차원으로 간주됩니다.정지화면 부호화 기술은 추가 차원으로 확장할 수 있습니다.

JPEG 2000은 웨이브릿을 사용하며, 블록 사이에 간격이 없는 움직임을 적응적인 방식으로 인코딩하는 데도 사용할 수 있습니다.부분 픽셀 아핀 변환은 인접한 픽셀 간에 블리딩으로 이어집니다.더 높은 내부 해상도를 사용하지 않을 경우 델타 이미지는 대부분 이미지가 지워지는 것과 싸웁니다.델타 이미지는 적응형 블록의 테두리가 일치하도록 웨이브릿으로 인코딩할 수도 있습니다.

2D+Delta 인코딩 기술은 H.264MPEG-2 호환 코딩을 사용하며 움직임 보정을 사용하여 입체 영상 사이를 압축할 수 있습니다.

역사

움직임 보상 개념의 전조는 1929년으로 거슬러 올라가며, 영국의 R.D. 켈은 프레임에서 프레임으로 바뀌는 아날로그 비디오 장면의 일부만 전송하는 개념을 제안했습니다.1959년 NHK 연구자 Y에 의해 프레임간 움직임 보상의 개념이 제안되었다.타키, M. 하토리, S.시간적 차원에서 예측 프레임간 비디오 [7]코딩을 제안한 다나카 씨.

움직임 보상 DCT

실제적인 움직임 보상 비디오 압축은 블록 움직임 보상(BMC) 또는 DCT 움직임 보상이라고도 불리는 움직임 보상 DCT(MC DCT) [8]코딩의 개발과 함께 등장했습니다.는 두 가지 [7]주요 데이터 압축 기술인 이산 코사인 변환(DCT) 코딩과[8] 시간적 [7]차원의 예측 움직임 보상을 결합한 하이브리드 코딩 알고리즘입니다.DCT 코딩은 손실 블록 압축 변환 코딩 기술로,[9] 1972년 이미지 압축을 위해 처음 제안Nasir Ahmed에 의해 제안되었습니다.

1974년 서던 캘리포니아 대학의 알리 하비비는 예측 부호화와 변환 [7][12]부호화를 결합한 하이브리드 [10][11]부호화를 도입했습니다.그러나 그의 알고리즘은 처음에는 공간 차원의 프레임 내 코딩으로 제한되었다.1975년, 존 A.Roese와 Guner S. Robinson은 Habibi의 하이브리드 [7][13]코딩 알고리즘을 시간적 차원으로 확장하여 프레임 간 움직임 보상 하이브리드 코딩을 개발하였다.공간 변환 부호화를 위해, 그들은 DCT와 고속 푸리에 변환(FFT)을 실험하여 양쪽 모두를 위한 프레임 간 하이브리드 코더를 개발하였고, DCT가 영상 품질에 버금가는 영상 데이터픽셀당 0.25비트까지 압축할 수 있는 그것의 감소된 복잡성 때문에 가장 효율적이라는 것을 발견했다.픽셀당 [14][13]2비트가 필요합니다.

1977년 C.H. Smith 및 S.C.와 함께 고속 DCT 알고리즘을 개발했습니다.프랄릭.[15]1979년 아닐 K. 자인과 자스완트 R. 자인은 블록 모션 [7]보상이라고도 불리는 움직임 보상 DCT 비디오 압축을 [16][7]추가로 개발했습니다.이로 인해 Chen은 1981년에 [7]모션 보상 DCT 또는 적응 장면 부호화라고 불리는 실용적인 비디오 압축 알고리즘을 개발하게 되었습니다.모션 보상 DCT는 이후 1980년대 [17][2]후반부터 비디오 압축의 표준 부호화 기법이 되었습니다.

최초의 디지털 비디오 코딩 표준은 1984년 [18]CCITT(현 ITU-T)에 의해 개발된 H.120이었습니다.H.120은 비디오 코딩에 비효율적인 동작 보상 [17]DPCM [7]코딩을 사용하였고, H.120은 낮은 [18]성능으로 인해 실용적이지 못했습니다.H.261 표준은 동작 보상 DCT [17][2]압축을 기반으로 1988년에 개발되었으며 최초의 실용적인 비디오 코딩 [18]표준이었습니다.그 후, 동작 보정 DCT 압축은,[17][2] 그 후의 모든 주요한 비디오 부호화 표준(H.26x MPEG 형식 포함)에 채용되고 있습니다.

「 」를 참조해 주세요.

적용들

레퍼런스

  1. ^ Chen, Jie; Koc, Ut-Va; Liu, KJ Ray (2001). Design of Digital Video Coding Systems: A Complete Compressed Domain Approach. CRC Press. p. 71. ISBN 9780203904183.
  2. ^ a b c d e Li, Jian Ping (2006). Proceedings of the International Computer Conference 2006 on Wavelet Active Media Technology and Information Processing: Chongqing, China, 29-31 August 2006. World Scientific. p. 847. ISBN 9789812709998.
  3. ^ berkeley.edu - 왜 어떤 사람들은 B-Picture를 싫어할까요?
  4. ^ 쩡, 카이 등"압축된 비디오 스트림의 지각적 아티팩트를 특징짓습니다."IS&T/SPIE 전자 이미징국제광학회, 2014.
  5. ^ 아이자와, 키요하루, 토마스 S.Huang. "모델 기반 이미지 코딩, 매우 낮은 비트레이트 애플리케이션을 위한 고급 비디오 코딩 기술"IEEE 83.2(1995년): 259-271.
  6. ^ Garnham, Nigel W. (1995). Motion Compensated Video Coding - PhD Thesis (PDF). University of Nottingham. OCLC 59633188.
  7. ^ a b c d e f g h i "History of Video Compression". ITU-T. Joint Video Team (JVT) of ISO/IEC MPEG & ITU-T VCEG (ISO/IEC JTC1/SC29/WG11 and ITU-T SG16 Q.6). July 2002. pp. 11, 24–9, 33, 40–1, 53–6. Retrieved 3 November 2019.
  8. ^ a b Lea, William (1994). Video on demand: Research Paper 94/68. House of Commons Library. Archived from the original on 20 September 2019. Retrieved 20 September 2019.
  9. ^ Ahmed, Nasir (January 1991). "How I Came Up With the Discrete Cosine Transform". Digital Signal Processing. 1 (1): 4–5. doi:10.1016/1051-2004(91)90086-Z.
  10. ^ Habibi, Ali (1974). "Hybrid Coding of Pictorial Data". IEEE Transactions on Communications. 22 (5): 614–624. doi:10.1109/TCOM.1974.1092258.
  11. ^ Chen, Z.; He, T.; Jin, X.; Wu, F. (2020). "Learning for Video Compression". IEEE Transactions on Circuits and Systems for Video Technology. 30 (2): 566–576. arXiv:1804.09869. doi:10.1109/TCSVT.2019.2892608. S2CID 13743007.
  12. ^ Ohm, Jens-Rainer (2015). Multimedia Signal Coding and Transmission. Springer. p. 364. ISBN 9783662466919.
  13. ^ a b Roese, John A.; Robinson, Guner S. (30 October 1975). "Combined Spatial And Temporal Coding Of Digital Image Sequences". Efficient Transmission of Pictorial Information. International Society for Optics and Photonics. 0066: 172–181. Bibcode:1975SPIE...66..172R. doi:10.1117/12.965361. S2CID 62725808.
  14. ^ Huang, T. S. (1981). Image Sequence Analysis. Springer Science & Business Media. p. 29. ISBN 9783642870378.
  15. ^ Chen, Wen-Hsiung; Smith, C. H.; Fralick, S. C. (September 1977). "A Fast Computational Algorithm for the Discrete Cosine Transform". IEEE Transactions on Communications. 25 (9): 1004–1009. doi:10.1109/TCOM.1977.1093941.
  16. ^ Cianci, Philip J. (2014). High Definition Television: The Creation, Development and Implementation of HDTV Technology. McFarland. p. 63. ISBN 9780786487974.
  17. ^ a b c d Ghanbari, Mohammed (2003). Standard Codecs: Image Compression to Advanced Video Coding. Institution of Engineering and Technology. pp. 1–2. ISBN 9780852967102.
  18. ^ a b c "The History of Video File Formats Infographic". RealNetworks. 22 April 2012. Retrieved 5 August 2019.

외부 링크