KR20230106577A - 영상의 부호화/복호화 방법 및 장치 - Google Patents

영상의 부호화/복호화 방법 및 장치 Download PDF

Info

Publication number
KR20230106577A
KR20230106577A KR1020230087802A KR20230087802A KR20230106577A KR 20230106577 A KR20230106577 A KR 20230106577A KR 1020230087802 A KR1020230087802 A KR 1020230087802A KR 20230087802 A KR20230087802 A KR 20230087802A KR 20230106577 A KR20230106577 A KR 20230106577A
Authority
KR
South Korea
Prior art keywords
motion vector
current block
resolution
motion
block
Prior art date
Application number
KR1020230087802A
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 돌비 레버러토리즈 라이쎈싱 코오포레이션
Priority to KR1020230087802A priority Critical patent/KR20230106577A/ko
Publication of KR20230106577A publication Critical patent/KR20230106577A/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/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/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/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/136Incoming video signal characteristics or properties
    • 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • 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
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • 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
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/27Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding involving both synthetic and natural picture components, e.g. synthetic natural hybrid coding [SNHC]
    • 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
    • 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/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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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
    • 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/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

Landscapes

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

Abstract

본 발명의 일실시예에 따른 영상 부호화 방법은 단위 영상에 대한 움직임 예측에 따라 결정된 각 블록별 움직임 벡터의 해상도 정보를 포함하는 헤더 정보를 생성하는 단계를 포함한다. 이때, 헤더 정보는 단위 영상에 포함된 전체 움직임 벡터의 해상도가 정수 화소 단위인지 여부를 나타내는 플래그 정보를 포함한다.
또한, 본 발명의 다른 실시예에 따른 영상 복호화 방법은 복호화 대상 비트스트림에 포함된 헤더 정보로부터 각 단위 영상에 대한 움직임 벡터의 해상도 정보를 추출하는 단계; 해상도 정보에 기초하여 해당 단위 영상을 복호화하는 단계를 포함한다. 이때, 헤더 정보는 단위 영상에 포함된 전체 움직임 벡터의 해상도가 정수 화소 단위인지 여부를 나타내는 플래그 정보를 포함한다.

Description

영상의 부호화/복호화 방법 및 장치 {METHOD AND APPARATUS FOR ENCODING/DECODING VIDEO}
본 발명은 영상의 부호화/복호화 방법 및 장치에 관한 것으로서, 보다 상세하게는 스크린 컨텐츠(screen contents)와 같이 인위적으로 생성된 영상을 보다 효율적으로 처리할 수 있는 영상의 부호화/복호화 방법 및 장치에 관한 것이다.
최근 들어, 무선 통신 대역폭의 확대와 모바일 장치의 성능 향상에 따라 다양한 형태의 멀티미디어 서비스가 제공되고 있다. 특히 영상 서비스의 종류가 증가하고 있으며, 카메라로부터 캡쳐된 영상을 기반으로 하는 영상 서비스뿐만 아니라, 컴퓨터 그래픽 소프트웨어 등을 통해 인위적으로 만들어진 영상 컨텐츠를 기반으로 하는 서비스의 비중도 증가하고 있다. 이때, 인위적으로 만들어진 영상 컨텐츠를 이하에서는 스크린 컨텐츠라고 정의한다. 스크린 컨텐츠는 일반적인 자연영상과 달리 색차 신호의 범위가 제한적이고, 잡음이 비교적 적으며, 채도가 높다는 자연영상과는 상이한 특성을 가진다. 한편, 본 발명에서 정의하는 스크린 컨텐츠는 영상 전체가 스크린 컨텐츠로 이루어진 경우 뿐만 아니라, 일반적인 자연 영상과 혼합된 형태도 의미한다.
이와 같은 스크린 컨텐츠로는 이러닝(e-Learning) 컨텐츠, 게임방송 컨텐츠 또는 홈쇼핑 컨텐츠등의 예를 들 수 있다. 이러닝 컨텐츠를 예로 들면, 교육 내용을 텍스트 형태로만 표시하는 사용자 인터페이스나, 사용자 인터페이스에 액자 형태로 자연 영상이 삽입되어 제공되는 형태를 고려할 수 있으며, 이러한 형태의 컨텐츠가 스크린 컨텐츠의 예가 될 수 있다.
이러한 스크린 컨텐츠는 자연 영상과 달리 물체의 경계를 나타내는 부분이 각 화소별로 명확하게 구분될 수 있다는 특징을 가지고 있다. 즉, 일반 자연 영상과는 상이하게 물체의 움직임이 부화소 단위로 발생할 가능성이 적은 상태이다.
따라서, 이러한 스크린 컨텐츠의 특성을 부호화/복호화 과정에 활용하면 부호화/복호화 효율을 더욱 향상시킬 수 있을 것으로 기대된다.
이와 관련하여, 대한민국 공개특허 제 10-2013-0078569 호(발명의 명칭: 관심영역 기반의 화질 향상을 위한 스크린 콘텐츠 비디오 부호화/복호화 방법 및 그 장치)는 입력되는 스크린 콘텐츠 비디오의 특성을 고려하여 주요 관심영역을 결정하고, 이를 비디오 부호화 과정에서 고려하여 주요 관심영역에 더 많은 정보를 할당함으로써 주관적 화질을 높이는 방법을 개시하고 있다.
한편, MPEG과 VCEG으로 구성된 JCT-VC는 최근 스크린 컨텐츠 부호화를 위한 HEVC 확장 표준(HEVC Extension)을 개발중에 있다. SCC(Screen Contents Coding) 표준은 HEVC기반으로 스크린 컨텐츠 영상의 효율적인 부호화를 목표로 다양한 방법들을 논의 중이다.
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 스크린 컨텐츠 영상 포함 여부에 따라 움직임 벡터의 해상도를 가변하여 설정하는 영상의 부호화/복호화 방법 및 장치를 제공하는 것을 목적으로 한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면에 따른 영상 부호화 방법은 단위 영상에 대한 움직임 예측에 따라 결정된 각 블록별 움직임 벡터의 해상도 정보를 포함하는 헤더 정보를 생성하는 단계를 포함한다. 이때, 헤더 정보는 단위 영상에 포함된 전체 움직임 벡터의 해상도가 정수 화소 단위인지 여부를 나타내는 플래그 정보를 포함한다.
또한, 본 발명의 제 2 측면에 따른 영상 복호화 방법은 복호화 대상 비트스트림에 포함된 헤더 정보로부터 각 단위 영상에 대한 움직임 벡터의 해상도 정보를 추출하는 단계; 해상도 정보에 기초하여 해당 단위 영상을 복호화하는 단계를 포함한다. 이때, 헤더 정보는 단위 영상에 포함된 전체 움직임 벡터의 해상도가 정수 화소 단위인지 여부를 나타내는 플래그 정보를 포함한다.
또한, 본 발명의 제 3 측면에 따른 영상 부호화 장치는 단위 영상에 대한 움직임 예측에 따라 결정된 각 블록별 움직임 벡터의 해상도 정보를 비트스트림의 헤더 정보에 포함시키는 비트스트림 생성부를 포함한다. 이때, 헤더 정보는 단위 영상에 포함된 전체 움직임 벡터의 해상도가 정수 화소 단위인지 여부를 나타내는 플래그 정보를 포함한다.
또한, 본 발명의 제 4 측면에 따른 영상 복호화 장치는 복호화 대상 비트스트림에 포함된 헤더 정보로부터 각 단위 영상에 대한 움직임 벡터의 해상도 정보를 추출하는 파싱부 및 해상도 정보에 기초하여 해당 단위 영상을 복호화하는 복호화부를 포함한다. 이때, 헤더 정보는 단위 영상에 포함된 전체 움직임 벡터의 해상도가 정수 화소 단위인지 여부를 나타내는 플래그 정보를 포함한다.
전술한 본 발명의 과제 해결 수단에 의하면, 스크린 컨텐츠를 포함하는 영상에 대하여 움직임 벡터의 해상도를 정수 화소 단위로 설정할 수 있기 때문에, 영상의 부호화 과정과 복호화 과정에서의 효율을 향상시킬 수 있다.
도 1은 본 발명에서 소개하는 스크린 컨텐츠의 특성을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 영상 부호화 장치의 구성을 도시한 블록도이다.
도 3은 본 발명의 일실시예에 적용되는 움직임 벡터 부호화를 설명하기 위한 도면이다.
도 4는 본 발명의 일실시예에 따른 영상 부호화 장치에서 사용하는 신택스 구조를 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 영상 부호화 장치에서 스크린 컨텐츠를 처리하는 방법을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 영상 부호화 장치에서 사용하는 신택스 구조를 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 움직임 벡터 부호화 과정에서의 현재 블록의 움직임 벡터와 주변 블록의 움직임 벡터를 이용한 움직임 벡터의 예측 과정을 설명하기 위한 도면이다.
도 8은 본 발명의 일실시예에 따른 영상 부호화 장치의 세부 구성을 도시한 도면이다.
도 9는 본 발명의 일 실시예에 따른 영상 복호화 장치의 구성을 도시한 블록도이다.
도 10은 본 발명의 일실시예에 따른 영상 복호화 장치의 세부 구성을 도시한 도면이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 발명의 실시예에 나타나는 구성부들은 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성부들이 분리된 하드웨어나 하나의 소프트웨어 구성단위로 이루어짐을 의미하지 않는다. 즉, 각 구성부는 설명의 편의상 각각의 구성부로 나열하여 기술되고, 각 구성부 중 적어도 두 개의 구성부가 합쳐져 하나의 구성부로 이루어지거나, 하나의 구성부가 복수 개의 구성부로 나뉘어져 기능을 수행할 수 있다. 이러한 각 구성부의 통합된 실시 예 및 분리된 실시 예도 본 발명의 본질에서 벗어나지 않는 한 본 발명의 권리 범위에 포함된다.
도 1은 본 발명에서 소개하는 스크린 컨텐츠의 특성을 설명하기 위한 도면이다.
앞서 설명한 바와 같이, 스크린 컨텐츠는 자연 영상과 달리 물체의 경계를 나타내는 부분이 각 화소별로 명확하게 구분될 수 있다는 특징을 가지고 있다. 즉, 도 1의 좌측에 도시된 스크린 컨텐츠 영상에서의 물체의 경계는 정수 화소 단위로 명확하게 구분되는데 반하여, 우측에 도시된 일반 자연 영상의 경우 물체의 움직임이 부화소 단위로 발생할 가능성이 높은 상태이다. 본 발명에서는 이러한 스크린 컨텐츠의 특성을 부호화/복호화 과정에 활용하도록 한다.
도 2는 본 발명의 일 실시예에 따른 영상 부호화 장치의 구성을 도시한 블록도이다.
영상 부호화 장치(100)는 움직임 예측을 수행하는 움직임 예측부(110), 움직임 벡터 부호화부(120) 및 각 블록별 움직임 벡터의 해상도 정보를 포함하는 비트스트림을 생성하는 비트스트림 생성부(130)를 포함한다.
움직임 예측부(110)는 화면간 예측 과정에서 참조 픽처들로부터 현재 인코딩 대상 블록과 가장 유사한 예측 블록을 탐색한다. 이때, 스크린 컨텐츠의 경우 그 영상의 특성에 따라 정수 화소 단위로 움직임 예측을 수행하게 된다. 이에 따라, 스크린 컨텐츠의 경우, 움직임 예측에 따라 선택된 예측 블록을 나타내는 움직임 벡터의 해상도 역시 정수 화소 단위로 결정된다. 통상적인 영상 압축 과정에서는 정수 화소 단위 뿐만 아니라 반화소 또는 1/4 화소와 같은 부화소 단위의 움직임 예측을 수행하게 되나, 스크린 컨텐츠의 경우에는 정수 화소 단위로 움직임 예측을 수행하게 되므로, 부호화 효율을 향상시킬 수 있다.
한편, 이와 같은 움직임 예측은 단위 영상에 대하여 수행되며, 이와 같은 단위 영상은 슬라이스 단위의 단위 영상, 픽처 단위의 단위 영상 또는 시퀀스 단위의 단위 영상 등일 수 있다.
움직임 벡터 부호화부(120)는 움직임 예측부(110)를 통해 결정된 각 블록의 움직임 벡터를 부호화한다. 이를 위해, 주변 블록들의 움직임 벡터 정보를 이용하여 부호화 대상 블록의 예측 움직임 벡터(PMV)를 생성하고, 예측 움직임 벡터와 현재 부호화 대상 블록의 움직임 벡터 사이의 차이값을 부호화한다. 이때, 정수 단위와 같이 낮은 단위의 해상도가 적용이 되는 경우에는 움직임 벡터의 부호화에 사용되는 비트량은 절약할 수 있으며, 반화소, 1/4 화소, 1/8 화소와 같이 부화소 단위의 해상도가 적용되는 경우에는 움직임 벡터를 부호화는데 더 많은 비트량을 사용하게 된다. 도면을 참조하여 더욱 상세히 설명하기로 한다.
도 3은 본 발명의 일실시예에 적용되는 움직임 벡터 부호화를 설명하기 위한 도면이다.
움직임 벡터 부호화부(120)는 차분 움직임 벡터를 부호화하기 위하여 1차 지수 골룸 코드와 같은 부호화 방식을 사용할 수 있다. 예를 들면, 도 3의 (a)에 도시된 도면은 1/4 화소 단위의 해상도가 적용되는 움직임 벡터를 부호화하기 위한 코드북의 예를 도시한 것이고, 도 3의 (b)에 도시된 도면은 정수 화소 단위의 해상도가 적용되는 움직임 벡터를 부호화하기 위한 코드북의 예를 도시한 것이다. 이를 통해, 해상도에 따라 부호화에 사용되는 코드워드의 길이가 상이함을 확인할 수 있다.
예를 들어, 1/4 화소 단위의 해상도가 적용되는 경우에 차분 움직임 벡터가 (3,2)라면, '3'이 부호화되기 위해서는 코드 번호(Code Number)가 '23'인 비트스트림 '000011000'이 사용되고 '2'가 부호화되기 위해서는 코드 번호가 '15'인 비트스트림 '000010000'이 사용된다. 반면에, 정수 화소 단위의 해상도가 적용되는 경우에 차분 움직임 벡터가 (3,2)라면, 코드 번호가 '5'인 비트스트림과 코드 번호가 '3'인 비트스트림이 사용되므로, 부호화 효율이 향상될 수 있다.
이와 같이, 작은 크기의 움직임 벡터를 부호화하기 위해 긴 코드워드들이 사용되는 것은 1/2 화소 단위의 해상도와 1/4 화소 단위의 해상도의 움직임 벡터를 부호화하기 위한 코드 워드와 정수 화소 단위의 해상도의 움직임 벡터를 부호화하기 위한 코드워드를 함께 사용하기 때문이다. 이러한 배경에 따라, 스크린 컨텐츠의 경우에는 정수 화소 단위로 움직임 벡터가 결정되므로, 부호화 효율을 향상시킬 수 있다.
비트스트림 생성부(130)는 화면간 예측, 화면내 예측, 주파수 변환, 양자화, 엔트로피 코딩의 과정을 통해 출력된 데이터를 동영상 압축 표준에 따라 설정된 신택스 구조에 기초하여 비트스트림 형태로 생성한다.
또한, 비트스트림 생성부(130)는 움직임 예측에 따라 결정된 각 블록별 움직임 벡터의 해상도 정보를 비트스트림의 헤더 정보에 포함시켜 비트스트림을 생성한다.
이때, 헤더 정보는 단위 영상에 포함된 전체 움직임 벡터의 해상도가 정수 화소 단위인지 여부를 나타내는 플래그 정보를 포함한다. 예를 들면, 단위 영상이 스크린 컨텐츠인 경우 해당 영상의 움직임 벡터는 모두 정수 화소 단위이므로, 이러한 상태임을 나타내는 플래그를 생성하도록 한다. 이러한 비트스트림을 수신하는 영상 복호화부는 해당 플래그에 따라 정수 화소 단위로 복호화를 수행하게 되므로, 복호화 효율을 향상시킬 수 있다.
또한, 비트스트림 생성부(130)는 움직임 벡터 부호화부(120)를 통해 부호화된 움직임 벡터 정보를 비트스트림에 포함시켜 비트스트림을 생성한다.
도 4는 본 발명의 일실시예에 따른 영상 부호화 장치에서 사용하는 신택스 구조를 설명하기 위한 도면이다.
도 4는 슬라이스 단위 영상에 대하여 움직임 예측을 수행하고, 슬라이스 헤더에 움직임 벡터의 해상도 정보를 기록하는 실시예를 도시하고 있는 것으로, 이는 설명의 편의를 위한 예시에 해당한다.
본 발명에서는 움직임 예측의 수행 결과, 단위 영상이 스크린 컨텐츠인 경우 움직임 벡터의 해상도가 정수 화소 단위인지 여부를 나타내는 플래그(Integer_MV_Resolution_flag)를 설정한다. 예를 들어, 해당 플래그가 1로 설정되면, 해당 단위 영상의 움직임 벡터의 해상도는 정수 화소 단위임을 나타내게 된다.
한편, 단위 영상의 움직임 벡터의 해상도가 변경될 수 있는 상태인지 여부를 나타내는 플래그(SCC_AMVR_Enable_flag)가 추가로 설정될 수 있다. 예를 들어, 해당 플래그가 1로 설정되면, 단위 영상의 움직임 벡터의 해상도가 변경될 수 있는 상태임을 나타내고, 해당 플래그가 0 으로 설정되면, 단위 영상의 움직임 벡터의 해상도가 변경될 수 없는 상태임을 나타낸다.
이때, 단위 영상 내부의 블록들의 움직임 벡터의 해상도 정보는 슬라이스 헤더, 시퀀스 헤더 또는 픽쳐 헤더에 포함될 수 있다.
한편, 본 발명에서는 단위 영상 내부의 모든 부호화 블록이 스크린 컨텐츠 영상일 경우, 모든 블록들의 움직임 벡터의 해상도에 관련된 정보를 부호화하고 이에 관한 정보를 전송하는 기술 뿐만 아니라, 추가적으로 단위 영상에 스크린 컨텐츠와 스크린 컨텐츠가 아닌 영역이 함께 포함된 경우 이에 대한 정보를 헤더 정보에 포함시켜 전송하는 방법 및 장치에 대해서도 제안한다.
도 5는 본 발명의 일 실시예에 따른 영상 부호화 장치에서 스크린 컨텐츠를 처리하는 방법을 설명하기 위한 도면이다.
도시된 바와 같이, 단위 영상은 스크린 컨텐츠로 이루어져 있고, 내부에 하나 이상의 스크린 컨텐츠가 아닌 영역(50, 52)을 포함하는 경우를 고려할 수 있다.
이와 같이, 스크린 컨텐츠가 아닌 영역, 즉 움직임 벡터의 해상도가 정수 화소 단위가 아닌 블록으로 이루어진 영역이 존재하는 경우, 비트스트림 생성부(130)는 해당 영역의 개수와 해당 영역의 위치 정보가 헤더 정보에 포함되도록 한다.
도 5의 경우를 예로 들면, 스크린 컨텐츠가 아닌 영역의 개수는 2개가 된다. 또한, 스크린 컨텐츠가 아닌 영역의 위치 정보는 CTU(Coding Tree Unit) 블록의 식별자(index)에 의하여 특정될 수 있다. 다만, CTU 블록은 설명의 편의를 위한 예시에 해당하며, 영상 압축 과정에서 사용될 수 있는 다양한 형태의 블록 식별자에 의하여 해당 영역이 특정될 수 있다. 또한, 블록 식별자외에도 실시예에 따라 시작 블록의 시작 픽셀의 좌표, 종료 블록의 종료 픽셀의 좌표에 의하여 해당 영역이 특정될 수 있다.
도 6은 본 발명의 일 실시예에 영상 부호화 장치에서 사용하는 신택스 구조를 설명하기 위한 도면이다.
도시된 바와 같이, 헤더 정보에는 스크린 컨텐츠가 아닌 영역의 개수(NumNonScreenContentsRegion)에 대한 정보가 포함될 수 있다.
또한, 스크린 컨텐츠가 아닌 영역의 시작 블록 식별자(start_nsc_idx[i])와 종료 블록 식별자(end_nsc_idx[i])에 대한 정보가 포함될 수 있다. 이때, 시작 블록 식별자에 기초하여 스크린 컨텐츠가 아닌 영역의 좌측 상단 꼭지점의 좌표값이 산출될 수 있고, 종료 블록 식별자에 기초하여 스크린 컨텐츠가 아닌 영역의 우측 하단 꼭지점의 좌표값이 산출될 수 있다.
보다 구체적으로 살펴보면, 아래 수학식 1에 의하여 좌측 상단 꼭지점의 가로 좌표값(start_nsc_point_x[i])과 세로 좌표값(start_nsc_point_y[i])을 각각 산출할 수 있다.
[수학식 1]
Figure pat00001
이때, PictWidthInCtbsY는 픽쳐의 가로 크기를 CTU한변의 크기로 나누어 올림한 값이다. 즉, 시작 블록 식별자를 PictWidthInCtbsY로 나눈뒤 그 나머지값에 대하여 쉬프트 연산을 수행한 값을 가로 좌표값(start_nsc_point_x[i])으로 설정하고, 시작 블록 식별자를 PictWidthInCtbsY로 나눈값에 대하여 쉬프트 연산을 수행한 값을 세로 좌표값(start_nsc_point_y[i])으로 설정한다.
또한, 아래 수학식 2에 의하여 우측 하단 꼭지점의 가로 좌표값(end_nsc_point_x[i])과 세로 좌표값(end_nsc_point_y[i])을 각각 산출할 수 있다.
[수학식 2]
Figure pat00002
이때, PictWidthInCtbsY는 픽쳐의 가로 크기를 CTU한변의 크기로 나누어 올림한 값이다. 즉, 종료 블록 식별자를 PictWidthInCtbsY로 나눈뒤 그 나머지값에 대하여 쉬프트 연산을 수행한 값에 CTU 한변의 크기 만큼의 값을 합산한 값을 가로 좌표값(end_nsc_point_x[i])으로 설정하고, 종료 블록 식별자를 PictWidthInCtbsY로 나눈값에 대하여 쉬프트 연산을 수행한 값에 CTU 한변의 길이 만큼의 값을 합산한 값을 세로 좌표값(end_nsc_point_y[i])으로 설정한다.
한편, 도 5와 도 6에서는 스크린 컨텐츠에 스크린 컨텐츠가 아닌 영역이 포함된 경우를 중심으로 발명을 설명하였으나, 그 역에 경우에도 본 발명이 충분히 적용될 수 있다. 즉, 스크린 켄텐츠가 아닌 영역에 하나 이상의 스크린 컨텐츠 영역이 포함된 경우를 고려할 수 있다.
이러한 경우, 비트스트림 생성부(130)는 스크린 컨텐츠 영역의 개수와 해당 영역의 위치 정보가 헤더 정보에 포함되도록 한다.
한편, 본 발명에서는 스크린 컨텐츠와 스크린 컨텐츠가 아닌 영역이 함께 포함된 경우 움직임 벡터를 부호화하는 과정에서 각 움직임 벡터의 해상도에 맞게 주변 블록으로부터 추출한 움직임 벡터의 예측 벡터를 스케일링하는 과정을 수행할 수 있다.
도 7은 본 발명의 일 실시예에 따른 움직임 벡터 부호화 과정에서의 움직임 벡터 스케일링 과정을 설명하기 위한 도면이다.
도 7의 (a)는 부호화 대상 블록이 스크린 컨텐츠가 아닌 경우이고, 부호화 대상 블록의 인접 블록이 스크린 컨텐츠인 경우를 도시한 것이다.
이러한 경우, 주변 블록의 움직임 벡터는 정수 화소 단위의 해상도를 가지므로, 이를 기반으로 한 예측 움직임 벡터 역시 정수 화소 단위의 해상도를 갖게 된다. 그러나, 부호화 대상 블록의 움직임 벡터는 부화소 단위의 해상도를 갖게 되므로, 차분 움직임 벡터를 구함에 있어서, 움직임 벡터의 해상도 단위를 일치시키는 스케일링을 수행할 필요가 있다.
이에, 본 발명에서는 부호화 대상 블록의 움직임 벡터의 해상도를 기준으로 주변 블록의 움직임 벡터를 스케일링 한다.
즉, 주변 블록의 움직임 벡터를 부화소 단위로 환산하고, 이를 기초로 차분 움직임 벡터를 산출한다. 예를 들면, 부호화 대상 블록의 움직임 벡터가 1/4 화소 단위인 경우, 주변 블록의 움직임 벡터를 4n/4 형태로 환산한다. 즉, 주변 블록의 움직임 벡터가 1이라면, 4/4로 환산하고, 주변 블록의 움직임 벡터가 2라면, 8/4로 환산하여 표시한다.
도 7의 (b)는 부호화 대상 블록이 스크린 컨텐츠인 경우이고, 부호화 대상 블록의 인접 블록이 스크린 컨텐츠가 아닌 경우를 도시한 것이다.
이러한 경우, 주변 블록의 움직임 벡터는 부화소 단위의 해상도를 가지므로, 이를 기반으로한 예측 움직임 벡터 역시 부화소 단위의 해상도를 갖게 된다. 그러나, 부호화 대상 블록의 움직임 벡터는 정수 화소 단위의 해상도를 갖게 되므로, 차분 움직임 벡터를 구함에 있어서, 움직임 벡터의 해상도 단위를 일치시키는 스케일링을 수행할 필요가 있다.
이에, 본 발명에서는 부호화 대상 블록의 움직임 벡터의 해상도를 기준으로 주변 블록의 움직임 벡터를 스케일링 한다.
즉, 부화소 단위로 표현된 주변 블록의 움직임 벡터를 그 값에 따라 정수 화소 단위의 값으로 맵핑한다. 예를 들어, 부화소 단위의 값의 몫에 해당하는 값으로 움직임 벡터를 매핑할 수 있다. 주변 블록의 움직임 벡터가 1/4 화소 단위이고, 그 값의 몫이 1보다 작은 경우 (0, 1/4, 2/4, 3/4)에는 해당 움직임 벡터를 0으로 맵핑하고, 그 값의 몫이 1인 경우 (4/4, 5/4, 6/4, 7/4)에는 해당 움직임 벡터를 1로 맵핑한다.
이와 같은 스케일링 과정을 통해, 스크린 컨텐츠 영역과 스크린 컨텐츠가 아닌 영역이 함께 포함된 경우에도 움직임 벡터 부호화를 수행할 수 있다.
도 8은 본 발명의 일실시예에 따른 영상 부호화 장치의 세부 구성을 도시한 도면이다.
도시된 바와 같이, 영상 부호화 장치(100)는 현재 프레임에 대하여 인트라 예측을 수행하는 인트라 예측부, 화면간 예측 과정에서 참조 프레임으로부터 현재 인코딩 대상 블록과 가장 유사한 예측 블록을 탐색하는 움직임 예측부, 움직임 예측에 의하여 탐색된 최적의 예측 블록에 대한 움직임 벡터를 기초로 움직임 보상을 수행하는 움직임 보상부 등을 더 포함할 수 있다. 또한, 인트라 예측부, 움직임 예측부, 움직임 보상부로부터 출력된 데이터는 변환부, 양자화부, 엔트로피 부호화부를 거쳐 비트스트림으로 출력된다. 또한, 주파수 변환과 양자화 단계를 거쳐 양자화된 변환 계수는 역양자화부, 역변환부을 통해 공간 영역의 데이터로 복원되고, 복원된 공간 영역의 데이터는 디블로킹부를 거치고, 오프셋 조정부를 거쳐 참조 프레임으로 출력된다. 이와 같은, 영상 부호화 알고리즘은 종래 기술에 해당하는 것으로 그 구체적인 내용에 대한 상세한 설명은 생략하도록 한다.
도 9는 본 발명의 일 실시예에 따른 영상 복호화 장치의 구성을 도시한 블록도이다.
영상 복호화 장치(200)는 비트스트림을 수신하여 파싱을 수행하는 파싱부(210), 파싱된 데이터에 기초하여 영상을 복원하는 복호화부(220)를 포함한다.
파싱부(210)는 복호화 대상 비트스트림에 포함된 헤더 정보로부터 각 단위 영상에 대한 움직임 벡터의 해상도 정보를 추출한다. 앞서 설명한 바와 같이, 영상 부호화 장치(100)에서 출력된 비트스트림은 단위 영상에 포함된 전체 움직임 벡터의 해상도가 정수 화소 단위인지 여부를 나타내는 플래그 정보를 포함한다. 또한, 비트스트림은 정수화소 단위가 아닌 움직임 벡터의 해상도를 갖는 블록으로 이루어진 영역이 있는 경우, 해당 영역의 개수와 해당 영역의 위치에 대한 정보를 포함할 수 있다. 또한, 비트스트림은 단위 영상에 포함된 코딩 블록들이 부화소 단위의 움직임 벡터를 가지고 있을 때, 해당 영상 내의 일부 코딩 블록들의 움직임 벡터의 해상도가 정수 화소 단위인 블록으로 이루어진 영역이 있는 경우, 해당 영역의 개수와 해당 영역의 위치에 대한 정보를 포함할 수 있다. 파싱부(210)은 비트스트림의 파싱을 통해 이와 같은 정보를 추출한다.
복호화부(220)는 비트스트림에 포함된 예측블록과 원본블록과의 차분신호와 움직임 벡터를 기초로 대상 블록을 복원할 수 있다. 즉, 움직임 벡터를 기초로 하는 움직임 보상 과정을 통해 예측 블록을 결정하고, 예측 블록과 차분 신호를 합산하여 원본 블록을 복원할 수 있다. 또한, 복호화부(220)는 비트스트림에 포함되어 있는 현재 블록의 움직임 벡터와 예측 움직임 벡터 사이의 차이 벡터를 복호화한다.
또한, 복호화부(220)는 파싱부(210)에 의하여 추출된 해상도 정보에 기초하여 단위 영상을 복호화한다. 예를 들어, 단위 영상에 포함된 전체 움직임 벡터의 해상도가 정수 화소 단위임을 나타내는 플래그 정보에 따라 해당 단위 영상에 대하여 정수 화소 단위로 복호화를 수행한다.
앞서 설명한 움직임 벡터의 부호화 과정에 따르면, 전체 움직임 벡터의 해상도가 정수 화소 단위임을 확인하게 된다면, 부화소 단위의 인덱스는 고려하지 않고, 정수 화소 단위의 인덱스만을 고려하여 코드 번호를 검색하면 되므로, 복호화 효율을 향상시킬 수 있다.
앞서, 도 4 와 도 5를 통해 설명한 바와 같이, 헤더 정보는 단위 영상에 스크린 컨텐츠가 아닌 영역이 하나 이상 포함된 경우, 해당 영역의 개수와 해당 영역의 위치에 대한 정보를 포함할 수 있다.
복호화부(220)는 이와 같은 헤더 정보에 기초하여, 스크린 컨텐츠 영역에 대해서는 정수 화소 단위로 복호화를 수행하고, 나머지 영역에 대해서는 부화소 단위 까지 고려하여 복호화를 수행한다.
한편, 이와 같은 헤더 정보에는 해상도가 정수 화소 단위가 아닌 블록들 중 시작 블록의 식별자와 종료 블록의 식별자 정보가 포함될 수 있다. 복호화부(220)는 시작 블록의 식별자와 종료 블록의 식별자 정보에 기초하여 시작 블록의 좌측 상단 꼭지점의 좌표값과 종료 블록의 우측 하단 꼭지점의 좌표값을 산출할 수 있다. 즉, 앞서 설명한 수학식 1 과 수학식 2를 이용하여 각 좌표값을 산출할 수 있다.
또한, 헤더 정보는 단위 영상스크린 컨텐츠 영역이 하나 이상 포함된 경우, 해당 영역의 개수와 해당 영역의 위치에 대한 정보를 포함할 수 있다. 또한, 이와 같은 헤더 정보에는 해상도가 정수 화소 단위인 영역들의 블록들 중 시작 블록의 식별자와 종료 블록의 식별자 정보가 포함될 수 있다. 또한, 블록 식별자 외에도 실시예에 따라 시작 블록의 시작 픽셀의 좌표, 종료 블록의 종료 픽셀의 좌표에 대한 정보가 헤더 정보에 포함될 수 있다.
또한, 복호화부(220)는, 스크린 컨텐츠와 스크린 컨텐츠가 아닌 영역이 함께 포함된 경우 각 움직임 벡터의 해상도에 맞게 주변 블록으로부터 추출한 움직임 벡터의 예측 벡터를 스케일링하는 과정을 수행할 수 있다. 즉, 앞서 도 7을 통해 설명한 바와 같이, 복호화 대상 블록과 주변 블록의 움직임 벡터의 해상도가 상이한 경우, 차분 움직임 벡터를 구함에 있어서, 해상도의 단위를 일치시키는 스케일링을 수행할 필요가 있다.
즉, 도 7의 (a)와 같이 복호화 대상 블록이 스크린 컨텐츠가 아닌 경우이고, 복호화 대상 블록의 인접 블록이 스크린 컨텐츠인 경우 복호화 대상 블록의 움직임 벡터의 해상도를 기준으로 주변 블록의 움직임 벡터를 스케일링 한다. 즉, 주변 블록의 움직임 벡터를 부화소 단위로 환산하고, 이를 기초로 차분 움직임 벡터를 산출한다. 예를 들면, 복호화 대상 블록의 움직임 벡터가 1/4 화소 단위인 경우, 주변 블록의 움직임 벡터를 4n/4 형태로 환산한다. 즉, 주변 블록의 움직임 벡터가 1이라면, 4/4로 환산하고, 주변 블록의 움직임 벡터가 2라면, 8/4로 환산하여 표시한다. 또한, 도 7의 (b)와 같이 복호화 대상 블록이 스크린 컨텐츠인 경우이고, 복호화 대상 블록의 인접 블록이 스크린 컨텐츠가 아닌 경우, 복호화 대상 블록의 움직임 벡터의 해상도를 기준으로 주변 블록의 움직임 벡터를 스케일링 한다. 즉, 부화소 단위로 표현된 주변 블록의 움직임 벡터를 그 값에 따라 정수 화소 단위의 값으로 맵핑한다. 예를 들어, 부화소 단위의 값의 몫에 해당하는 값으로 움직임 벡터를 매핑할 수 있다. 주변 블록의 움직임 벡터가 1/4 화소 단위이고, 그 값의 몫이 1보다 작은 경우 (0, 1/4, 2/4, 3/4)에는 해당 움직임 벡터를 0으로 맵핑하고, 그 값의 몫이 1인 경우 (4/4, 5/4, 6/4, 7/4)에는 해당 움직임 벡터를 1로 맵핑한다. 이와 같은 스케일링 과정을 통해, 스크린 컨텐츠 영역과 스크린 컨텐츠가 아닌 영역이 함께 포함된 경우에도 움직임 벡터 복호화를 수행할 수 있다.
도 10은 본 발명의 일실시예에 따른 영상 복호화 장치의 세부 구성을 도시한 도면이다.
도시된 바와 같이, 영상 복호화 장치(200)는 비트스트림을 수신하여 파싱을 수행하고, 부호화된 영상 데이터 및 복호화를 위해 필요한 각종 정보를 출력하는 파싱부를 포함한다. 또한, 부호화된 영상 데이터는 엔트로피 복호화부 및 역양자화부를 거쳐 역양자화된 데이터로 출력되고, 역변환부를 거쳐 공간 영역의 영상 데이터로 복원된다. 인트라 예측부는 공간 영역의 영상 데이터에 대해서 인트라 모드의 부호화 단위에 대해 인트라 예측을 수행하고, 움직임 보상부는 참조 프레임을 이용하여 인터 모드의 부호화 단위에 대해 움직임 보상을 수행한다. 인트라 예측부 및 움직임 보상부를 거친 공간 영역의 데이터는 디블로킹부 및 오프셋 조정부를 거쳐 후처리되어 복원 프레임으로서 출력된다. 또한, 디블로킹부 및 오프셋 조정부를 거쳐 후처리된 데이터는 참조 프레임으로서 출력될 수 있다. 이와 같은, 영상 부호화 알고리즘은 종래 기술에 해당하는 것으로 그 구체적인 내용에 대한 상세한 설명은 생략하도록 한다.
참고로, 본 발명의 실시예에 따른 도 2 또는 도 9에 도시된 구성 요소들은 소프트웨어 또는 FPGA(Field Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)와 같은 하드웨어 구성 요소를 의미하며, 소정의 역할들을 수행할 수 있다.
그렇지만 '구성 요소들'은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니며, 각 구성 요소는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다.
따라서, 일 예로서 구성 요소는 소프트웨어 구성 요소들, 객체지향 소프트웨어 구성 요소들, 클래스 구성 요소들 및 태스크 구성 요소들과 같은 구성 요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다.
구성 요소들과 해당 구성 요소들 안에서 제공되는 기능은 더 작은 수의 구성 요소들로 결합되거나 추가적인 구성 요소들로 더 분리될 수 있다.
본 발명의 일 실시예에 따른 영상 부호화 장치와 영상 복호화 장치는 개인용 컴퓨터(PC: Personal Computer), 노트북 컴퓨터, 개인 휴대 단말기(PDA: Personal Digital Assistant), 휴대형 멀티미디어 플레이어(PMP: Portable Multimedia Player), 플레이스테이션 포터블(PSP: PlayStation Portable), 이동통신 단말기(Mobile Communication Terminal), 스마트폰, 태블릿 PC 등일 수 있으며, 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신 장치, 영상을 부호화하거나 복호화기 위한 각종 프로그램과 데이터를 저장하기 위한 메모리, 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비하는 다양한 장치를 의미한다.
또한, 영상 부호화 장치에 의해 비트스트림으로 부호화된 영상은 실시간 또는 비실시간으로 인터넷, 근거리 무선 통신망, 무선랜망, 와이브로망, 이동통신망 등의 유무선 통신망 등을 통하거나 케이블, 범용 직렬 버스(USB: Universal Serial Bus) 등의 통신 인터페이스를 통해 영상 복호화 장치로 전송될 수 있어 영상으로 복원되고 재생될 수 있다.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 영상 부호화 장치
110: 움직임 예측부
120: 움직임 벡터 부호화부
130: 비트스트림 생성부
200: 영상 복호화 장치
210: 파싱부
220: 복호화부

Claims (3)

  1. 비트스트림의 슬라이스 헤더부터 해상도 정보를 추출하는 단계;
    상기 해상도 정보에 기초하여 현재 블록의 움직임 벡터의 해상도를 결정하는 단계;
    상기 움직임 벡터의 해상도에 기초하여, 주변 블록의 움직임 벡터 및 상기 현재 블록의 움직임 벡터 차이를 이용함으로써, 상기 현재 블록의 움직임 벡터를 도출하는 단계;
    상기 도출된 움직임 벡터에 기초하여 상기 현재 블록의 예측 블록을 생성하는 단계; 및
    상기 현재 블록의 예측 블록에 기초하여, 상기 현재 블록을 복원하는 단계를 포함하고,
    상기 움직임 벡터의 해상도가 정수 화소 단위인 경우, 상기 주변 블록의 움직임 벡터는 상기 움직임 벡터의 해상도에 기초하여 조정되고, 상기 현재 블록의 움직임 벡터는 조정된 주변 블록의 움직임 벡터와 상기 현재 블록의 움직임 벡터에 기초하여 유도되고,
    상기 슬라이스 헤더는 슬라이스에 사용되는 모든 움직임 벡터의 해상도가 정수 픽셀 단위인지 여부를 나타내는 플래그 정보를 포함하는 영상 복호화 방법.








  2. 현재 블록의 움직임 벡터의 해상도를 결정하는 단계;
    상기 현재 블록의 움직임 벡터의 해상도에 기초하여 해상도 정보를 부호화하는 단계;
    상기 현재 블록의 움직임 벡터와 주변 블록의 움직임 벡터를 이용하여 상기 현재 블록의 움직임 벡터 차이를 구하는 단계;
    상기 현재 블록의 움직임 벡터에 기초하여 상기 현재 블록의 예측 블록을 생성하고, 상기 현재 블록의 예측 블록에 기초하여, 상기 현재 블록을 부호화하는 단계;
    상기 현재 블록의 움직임 벡터 차이를 부호화하는 단계; 및및
    상기 부호화된 해상도 정보 및 상기 현재 블록의 부호화된 움직임 벡터 차이를 포함하는 비트스트림을 생성하는 단계를 포함하고,
    상기 움직임 벡터의 해상도가 정수 픽셀 단위인 경우, 상기 주변 블록의 움직임 벡터는 움직임 벡터의 해상도에 기초하여 조정되고, 상기 현재 블록의 움직임 벡터 차이는 주변 블록의 조정된 움직임 벡터와 현재 블록의 움직임 벡터에 기초하여 도출되고,
    슬라이스 헤더는 슬라이스에 포함된 모든 움직임 벡터의 해상도가 정수 픽셀 단위인지 여부를 나타내는 플래그 정보를 포함하는 영상 부호화 방법.
  3. 영상 부호화 방법에 의하여 생성된 비트스트림을 저장한 컴퓨터로 판독가능한 기록매체에 있어서, 상기 영상 부호화 방법은,
    현재 블록의 움직임 벡터의 해상도를 결정하는 단계;
    상기 현재 블록의 움직임 벡터의 해상도에 기초하여 해상도 정보를 부호화하는 단계;
    상기 현재 블록의 움직임 벡터와 주변 블록의 움직임 벡터를 이용하여 상기 현재 블록의 움직임 벡터 차이를 구하는 단계;
    상기 현재 블록의 움직임 벡터에 기초하여 상기 현재 블록의 예측 블록을 생성하고, 상기 현재 블록의 예측 블록에 기초하여, 상기 현재 블록을 부호화하는 단계;
    상기 현재 블록의 움직임 벡터 차이를 부호화하는 단계; 및및
    상기 부호화된 해상도 정보 및 상기 현재 블록의 부호화된 움직임 벡터 차이를 포함하는 비트스트림을 생성하는 단계를 포함하고,
    상기 움직임 벡터의 해상도가 정수 픽셀 단위인 경우, 상기 주변 블록의 움직임 벡터는 움직임 벡터의 해상도에 기초하여 조정되고, 상기 현재 블록의 움직임 벡터 차이는 주변 블록의 조정된 움직임 벡터와 현재 블록의 움직임 벡터에 기초하여 도출되고,
    슬라이스 헤더는 슬라이스에 포함된 모든 움직임 벡터의 해상도가 정수 픽셀 단위인지 여부를 나타내는 플래그 정보를 포함하는 기록매체.
KR1020230087802A 2015-01-13 2023-07-06 영상의 부호화/복호화 방법 및 장치 KR20230106577A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230087802A KR20230106577A (ko) 2015-01-13 2023-07-06 영상의 부호화/복호화 방법 및 장치

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020150006074A KR102349788B1 (ko) 2015-01-13 2015-01-13 영상의 부호화/복호화 방법 및 장치
KR1020220151581A KR102554364B1 (ko) 2015-01-13 2022-11-14 영상의 부호화/복호화 방법 및 장치
KR1020230087802A KR20230106577A (ko) 2015-01-13 2023-07-06 영상의 부호화/복호화 방법 및 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020220151581A Division KR102554364B1 (ko) 2015-01-13 2022-11-14 영상의 부호화/복호화 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20230106577A true KR20230106577A (ko) 2023-07-13

Family

ID=56406039

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020150006074A KR102349788B1 (ko) 2015-01-13 2015-01-13 영상의 부호화/복호화 방법 및 장치
KR1020220001978A KR102468243B1 (ko) 2015-01-13 2022-01-06 영상의 부호화/복호화 방법 및 장치
KR1020220151581A KR102554364B1 (ko) 2015-01-13 2022-11-14 영상의 부호화/복호화 방법 및 장치
KR1020230087802A KR20230106577A (ko) 2015-01-13 2023-07-06 영상의 부호화/복호화 방법 및 장치

Family Applications Before (3)

Application Number Title Priority Date Filing Date
KR1020150006074A KR102349788B1 (ko) 2015-01-13 2015-01-13 영상의 부호화/복호화 방법 및 장치
KR1020220001978A KR102468243B1 (ko) 2015-01-13 2022-01-06 영상의 부호화/복호화 방법 및 장치
KR1020220151581A KR102554364B1 (ko) 2015-01-13 2022-11-14 영상의 부호화/복호화 방법 및 장치

Country Status (4)

Country Link
US (2) US20180278952A1 (ko)
KR (4) KR102349788B1 (ko)
CN (5) CN113573053B (ko)
WO (1) WO2016114539A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
PL3122048T3 (pl) * 2012-09-26 2018-07-31 Velos Media International Limited Sposób kodowania obrazów oraz urządzenie kodujące obrazy
KR102450863B1 (ko) * 2017-03-22 2022-10-05 에스케이텔레콤 주식회사 움직임벡터를 부호화 또는 복호화하기 위한 장치 및 방법
MX2020006790A (es) * 2018-02-28 2020-09-09 Samsung Electronics Co Ltd Metodo y aparato de decodificacion de video y metodo y aparato de codificacion de video.
CN108848376B (zh) * 2018-06-20 2022-03-01 腾讯科技(深圳)有限公司 视频编码、解码方法、装置和计算机设备
CN111226439A (zh) * 2019-01-02 2020-06-02 北京大学 视频处理方法和装置
CN110677690B (zh) * 2019-09-27 2022-07-01 腾讯科技(深圳)有限公司 视频处理方法和装置、存储介质
US11778217B2 (en) * 2021-02-22 2023-10-03 Tencent America LLC High level syntax control for screen content coding

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2545109T3 (es) * 1997-06-09 2015-09-08 Hitachi, Ltd. Procedimiento de decodificación de imágenes
JP2004064518A (ja) * 2002-07-30 2004-02-26 Nec Corp 動画像符号化方法、動画像符号化装置、およびコンピュータプログラム
FR2880743A1 (fr) * 2005-01-12 2006-07-14 France Telecom Dispositif et procedes de codage et de decodage echelonnables de flux de donnees d'images, signal, programme d'ordinateur et module d'adaptation de qualite d'image correspondants
EP1897375B1 (en) * 2005-06-10 2018-08-15 Nxp B.V. Alternating up- and down-ward motion vector rounding
KR101369746B1 (ko) * 2007-01-22 2014-03-07 삼성전자주식회사 적응적 보간 필터를 이용한 영상 부호화, 복호화 방법 및장치
WO2008133455A1 (en) * 2007-04-25 2008-11-06 Lg Electronics Inc. A method and an apparatus for decoding/encoding a video signal
CN101340578A (zh) * 2007-07-03 2009-01-07 株式会社日立制作所 运动矢量估计装置、编码器及摄像机
JP2009153102A (ja) * 2007-11-28 2009-07-09 Oki Electric Ind Co Ltd 動きベクトル検出装置、フレーム間符号化装置、動画像符号化装置、動きベクトル検出プログラム、フレーム間符号化プログラム及び動画像符号化プログラム
US9049457B2 (en) * 2007-12-21 2015-06-02 Telefonaktiebolaget L M Ericsson (Publ) Pixel prediction for video coding
JP2009224854A (ja) * 2008-03-13 2009-10-01 Toshiba Corp 画像符号化装置及び方法
KR101359500B1 (ko) * 2008-07-28 2014-02-11 에스케이 텔레콤주식회사 양자화/역 양자화 장치 및 방법과 그를 이용한 영상부호화/복호화 장치
KR101527148B1 (ko) * 2008-08-08 2015-06-10 에스케이 텔레콤주식회사 인터 예측 장치 및 그를 이용한 영상 부호화/복호화 장치와방법
JP5213964B2 (ja) * 2008-11-07 2013-06-19 三菱電機株式会社 動画像符号化装置及び動画像復号装置
WO2010111261A1 (en) * 2009-03-23 2010-09-30 Azuki Systems, Inc. Method and system for efficient streaming video dynamic rate adaptation
KR101452859B1 (ko) * 2009-08-13 2014-10-23 삼성전자주식회사 움직임 벡터를 부호화 및 복호화하는 방법 및 장치
KR101356613B1 (ko) * 2009-08-21 2014-02-06 에스케이텔레콤 주식회사 적응적 움직임 벡터 해상도를 이용한 영상 부호화/복호화 방법 및 장치
KR101449696B1 (ko) * 2009-08-21 2014-10-20 에스케이텔레콤 주식회사 차분 움직임 벡터의 정밀도를 고려한 움직임 벡터 부호화/복호화 방법 및 장치, 및 그를 위한 영상처리 장치 및 방법
CN102026002B (zh) * 2009-09-14 2014-02-19 富士通株式会社 帧率下采样转码方法和装置以及矢量重建方法和装置
JP2011091498A (ja) * 2009-10-20 2011-05-06 Victor Co Of Japan Ltd 動画像符号化装置、動画像復号化装置、動画像符号化方法、及び動画像復号化方法
KR101449683B1 (ko) * 2009-10-30 2014-10-15 에스케이텔레콤 주식회사 움직임 벡터 해상도 제한을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
US9237355B2 (en) 2010-02-19 2016-01-12 Qualcomm Incorporated Adaptive motion resolution for video coding
CN101783957B (zh) * 2010-03-12 2012-04-18 清华大学 一种视频预测编码方法和装置
KR101444691B1 (ko) * 2010-05-17 2014-09-30 에스케이텔레콤 주식회사 참조영상 구성 및 인덱싱 장치 및 방법
KR101479130B1 (ko) * 2010-10-18 2015-01-07 에스케이 텔레콤주식회사 차분 움직임벡터 부호화/복호화 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법
CN102611887B (zh) * 2011-01-21 2015-08-05 华为技术有限公司 非整像素位置运动矢量的坐标值取整方法和装置
CN103444181B (zh) * 2011-04-12 2018-04-20 太阳专利托管公司 运动图像编码方法、运动图像编码装置、运动图像解码方法、运动图像解码装置及运动图像编码解码装置
KR101444675B1 (ko) * 2011-07-01 2014-10-01 에스케이 텔레콤주식회사 영상 부호화 및 복호화 방법과 장치
CN110868588B (zh) * 2012-01-18 2023-09-15 韩国电子通信研究院 视频解码装置、视频编码装置和计算机可读记录介质
JP5422681B2 (ja) * 2012-02-09 2014-02-19 株式会社日立製作所 画像復号化方法
KR20130098122A (ko) * 2012-02-27 2013-09-04 세종대학교산학협력단 영상 부호화/복호화 장치 및 영상을 부호화/복호화하는 방법
US20140119446A1 (en) * 2012-11-01 2014-05-01 Microsoft Corporation Preserving rounding errors in video coding
JP6031366B2 (ja) * 2013-01-28 2016-11-24 日本放送協会 撮像制振装置
KR101369174B1 (ko) * 2013-03-20 2014-03-10 에스케이텔레콤 주식회사 고해상도 동영상의 부호화/복호화 방법 및 장치
CN104065972B (zh) * 2013-03-21 2018-09-28 乐金电子(中国)研究开发中心有限公司 一种深度图像编码方法、装置及编码器
JP5690898B2 (ja) * 2013-09-24 2015-03-25 日立マクセル株式会社 画像復号化方法
KR101575634B1 (ko) * 2014-01-02 2015-12-09 에스케이텔레콤 주식회사 고해상도 동영상의 부호화/복호화 방법 및 장치
US9774881B2 (en) * 2014-01-08 2017-09-26 Microsoft Technology Licensing, Llc Representing motion vectors in an encoded bitstream
US10531116B2 (en) * 2014-01-09 2020-01-07 Qualcomm Incorporated Adaptive motion vector resolution signaling for video coding
CN109905714B (zh) * 2017-12-08 2022-12-27 华为技术有限公司 帧间预测方法、装置及终端设备

Also Published As

Publication number Publication date
US20180278952A1 (en) 2018-09-27
WO2016114539A1 (ko) 2016-07-21
CN113573054A (zh) 2021-10-29
CN107211123B (zh) 2021-07-23
KR20220155972A (ko) 2022-11-24
CN113573052B (zh) 2023-12-05
CN113573053A (zh) 2021-10-29
CN113573054B (zh) 2024-03-01
CN107211123A (zh) 2017-09-26
KR102349788B1 (ko) 2022-01-11
CN113573053B (zh) 2023-11-28
KR20220009473A (ko) 2022-01-24
CN113573052A (zh) 2021-10-29
US20240073444A1 (en) 2024-02-29
CN113573051B (zh) 2024-03-01
KR102468243B1 (ko) 2022-11-16
KR102554364B1 (ko) 2023-07-10
CN113573051A (zh) 2021-10-29
KR20160087208A (ko) 2016-07-21

Similar Documents

Publication Publication Date Title
KR102554364B1 (ko) 영상의 부호화/복호화 방법 및 장치
TWI688262B (zh) 用於視訊寫碼之重疊運動補償
US10142654B2 (en) Method for encoding/decoding video by oblong intra prediction
KR102512053B1 (ko) 스킵 모드를 이용한 영상 복호화 방법 및 이러한 방법을 사용하는 장치
CN113039798A (zh) 编码器、解码器以及使用ibc专用缓冲区和针对亮度分量和色度分量的默认值刷新的对应方法
KR20230132897A (ko) 히스토리 기반 움직임 정보를 이용한 영상 코딩 방법 및 그 장치
JP2017508346A (ja) ビデオコーディングのための適応的な動きベクトル分解シグナリング
WO2017129023A1 (zh) 解码方法、编码方法、解码设备和编码设备
KR101377528B1 (ko) 움직임 벡터 부호화/복호화 방법 및 장치
WO2020042630A1 (zh) 一种视频图像预测方法及装置
KR20210016634A (ko) 영상 부호화/복호화 방법 및 장치
KR101587927B1 (ko) 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치
CN113632483A (zh) 用于视频编解码的受约束的仿射运动继承
KR20180075464A (ko) 영상 변환 부호화/복호화 방법 및 장치
KR20170125154A (ko) 곡선 화면 내 예측을 사용하는 비디오 복호화 방법 및 장치
TW202133619A (zh) 用於合併估計區域的基於歷史的運動向量預測約束
KR20160014082A (ko) 인트라 예측을 이용한 비디오 부호화/복호화 방법 및 장치
KR20170133026A (ko) 정방형 또는 직방형 블록 분할을 사용하는 비디오 복호화 방법 및 장치
KR102646642B1 (ko) 확장된 Intra Block Copy 방법을 통한 비디오 복호화 방법 및 장치
KR20170113947A (ko) 글로벌 움직임 보상 방법 및 장치
KR20170126817A (ko) 고속 영상 부호화 방법 및 장치
US20160050441A1 (en) Video encoding apparatus, video decoding apparatus, video encoding method, video decoding method, and computer program

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal