Nothing Special   »   [go: up one dir, main page]

KR102602690B1 - 화질에 기반한 적응적 부호화 및 복호화를 위한 방법 및 장치 - Google Patents

화질에 기반한 적응적 부호화 및 복호화를 위한 방법 및 장치 Download PDF

Info

Publication number
KR102602690B1
KR102602690B1 KR1020160127739A KR20160127739A KR102602690B1 KR 102602690 B1 KR102602690 B1 KR 102602690B1 KR 1020160127739 A KR1020160127739 A KR 1020160127739A KR 20160127739 A KR20160127739 A KR 20160127739A KR 102602690 B1 KR102602690 B1 KR 102602690B1
Authority
KR
South Korea
Prior art keywords
video
frame
image quality
decoding
fps
Prior art date
Application number
KR1020160127739A
Other languages
English (en)
Other versions
KR20170042235A (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 한국전자통신연구원
Priority to US15/287,345 priority Critical patent/US10257528B2/en
Publication of KR20170042235A publication Critical patent/KR20170042235A/ko
Application granted granted Critical
Publication of KR102602690B1 publication Critical patent/KR102602690B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0125Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level one of the standards being a high definition standard
    • 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/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4345Extraction or processing of SI, e.g. extracting service information from an MPEG stream

Landscapes

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

Abstract

화질에 기반한 적응적 부호화 및 복호화를 위한 방법 및 장치가 제공된다. 부호화 장치는 비디오에 대해 최적의 초 당 프레임(Frame Per Second; FPS)를 결정할 수 있고, 결정된 FPS에 따라 비디오를 인코딩할 수 있다. 또한, 부호화 장치는 개선된 시간적 스케일러빌리티를 제공할 수 있다. 복호화 장치는 요구되는 최소 화질 만족도에 따라 비디오의 프레임들 중 재생될 프레임을 선택할 수 있다. 프레임의 선택을 통해, 복호화 장치는 개선된 시간적 스케일러빌리티를 제공할 수 있다.

Description

화질에 기반한 적응적 부호화 및 복호화를 위한 방법 및 장치 {METHOD AND APPARATUS FOR ADAPTIVE ENCODING AND DECODING BASED ON IMAGE QUALITY}
아래의 실시예들은 영상의 복호화 방법, 복호화 장치, 부호화 방법 및 부호화 장치에 관한 것으로서, 보다 상세하게는 영상의 화질에 기반하여 부호화 및 복호화를 적응적으로 수행하는 방법 및 장치에 관한 것이다.
정보 통신 산업의 지속적인 발달을 통해 HD(High Definition) 해상도를 가지는 방송 서비스가 세계적으로 확산되었다. 이러한 확산을 통해, 많은 사용자들이 고해상도이며 고화질인 영상(image) 및/또는 비디오(video)에 익숙해지게 되었다.
높은 화질에 대한 사용자들의 수요를 만족시키기 위하여, 많은 기관들이 차세대 영상 기기에 대한 개발에 박차를 가하고 있다. 에이치디티브이(High Definition TV; HDTV) 및 풀에이치디(Full HD; FHD) TV뿐만 아니라, FHD TV에 비해 4배 이상의 해상도를 갖는 울트라에이치디(Ultra High Definition; UHD) TV에 대한 사용자들의 관심이 증대하였고, 이러한 관심의 증대에 따라, 더 높은 해상도 및 화질을 갖는 영상에 대한 영상 부호화(encoding)/복호화(decoding) 기술이 요구된다.
UHD와 같은 신규한 비디오(video) 서비스에 있어서, 고 프레임 율(High Frame Rage; HFR)의 비디오에 대한 필요성이 높아지고 있다. 예를 들면, 고 프레임 율은 60 초 당 프레임(Frame Per Second; FPS) 이상의 프레임 재생 율일 수 있다.
그러나, 이러한 HFR의 비디오가 제공되기 위해서는 비디오의 데이터 량이 증가된다는 문제가 발생할 수 있다. 또한, 비디오의 데이터 량의 증가에 따라 비디오의 전송 및 저장에 있어서 비용의 문제 및 기술적인 문제가 발생할 수 있다.
다행히도, 인간의 시각의 특성 상, 모든 상황에서 HFR이 요구되지는 않는다, 일 예를 들면, 대부분의 사람들은 움직임이 거의 존재하지 않는 비디오에서는 30 FPS의 비디오 및 60 FPS의 비디오 간의 화질 차이 또는 화질 저하를 느끼지 못한다.
즉, 비디오의 내용에 따라, FPS가 특정한 기준 값(threshold value)의 이상이면, FPS가 더 높아지더라도, 인간의 인지적 특징에 따라, 대부분의 사람들은 화질 차이를 거의 느끼지 못할 수 있다.
일 실시예는 HFR의 비디오를 낮은 프레임 율의 비디오로 변환 할 때 발생하는 화질의 저하의 정도를 예측하는 방법 및 장치를 제공할 수 있다.
일 실시예는 화질의 저하의 정도의 예측을 통해 부호화에 요구되는 비트 율을 감소시키는 방법 및 장치를 제공할 수 있다.
일 실시예는 시간적 스케일러빌러티(Temporal Scalability; TS) 등을 통해 동영상의 프레임 율을 더 낮게 변환 할 때, 화질의 저하의 정도의 예측을 통해 생성된 정보를 사용하여 화질의 저하를 최소화하는 방법 및 장치를 제공할 수 있다.
일 실시예는 시간적 스케일러빌러티를 적용함에 있어서 화질의 저하에 관련된 정보도 함께 고려하여, 화질 저하를 최소로 하는 방법 및 장치를 제공할 수 있다.
일 측에 있어서, 프레임의 선택 정보에 기초하여 상기 프레임의 복호화 여부의 결정을 수행하는 단계; 및 상기 프레임의 복호화가 결정된 경우 상기 프레임의 복호화를 수행하는 단계를 포함하는 동영상 복호화 방법이 제공된다.
상기 결정은 복수의 프레임들의 각 프레임에 대하여 수행될 수 있다.
상기 복수의 프레임들은 픽쳐의 그룹(Group Of Picture; GOP)의 프레임들일 수 있다.
상기 선택 정보는 상기 프레임이 복호화에서 제외되도록 상기 프레임을 포함하는 동영상의 재생이 설정되더라도 동영상의 화질의 저하를 인지하지 못하는 사람의 비율과 관련될 수 있다.
상기 선택 정보는 상기 프레임이 복호화에서 제외되도록 상기 프레임을 포함하는 동영상의 재생의 초 당 프레임(Frames Per Second; FPS)가 결정되더라도 동영상의 화질의 저하를 인지하지 못하는 사람의 비율과 관련될 수 있다.
상기 프레임의 상기 복호화 여부는 상기 선택 정보의 값 및 재생 정보의 값 간의 비교에 기반하여 결정될 수 있다.
상기 재생 정보는 상기 프레임을 포함하는 동영상의 재생과 관련된 정보일 수 있다.
상기 재생 정보는 상기 프레임을 포함하는 동영상의 재생의 초 당 프레임(Frames Per Second; FPS)과 관련된 정보일 수 있다.
상기 선택 정보의 값이 재생 정보의 값보다 더 크면 상기 프레임에 대해서는 상기 복호화가 수행되지 않는 것이 결정될 수 있다.
상기 재생 정보는 상기 프레임을 포함하는 동영상의 재생과 관련된 정보일 수 있다.
상기 선택 정보는 상기 프레임에 대한 에스이아이(Supplemental Enhancement Information; SEI) 내에 포함될 수 있다.
상기 복호화 여부의 결정은 상기 프레임을 포함하는 복수의 프레임들 중 상기 프레임의 시간적 식별자와 동일한 시간적 식별자를 갖는 다른 프레임에게 공통적으로 적용될 수 있다.
다른 일 측에 있어서, 프레임의 선택 정보에 기반하여 상기 프레임의 복호화 여부의 결정을 수행하는 제어부; 및 상기 프레임의 복호화가 결정된 경우 상기 프레임의 복호화를 수행하는 복호화부를 포함하는 동영상 복호화 장치가 제공된다.
또 다른 일 측에 있어서, 동영상의 프레임에 대한 선택 정보를 생성하는 단계; 및 상기 선택 정보에 기반하여 상기 동영상의 부호화를 수행하는 단계를 포함하는 동영상 부호화 방법이 제공된다.
상기 동영상의 부호화를 수행하는 단계는, 상기 프레임에 대한 상기 선택 정보에 기반하여 상기 프레임의 부호화 여부의 결정을 수행하는 단계; 및 상기 프레임의 부호화가 결정된 경우 상기 프레임의 부호화를 수행하는 단계를 포함할 수 있다.
상기 부호화 여부의 결정은 상기 프레임을 포함하는 복수의 프레임들 중 상기 프레임의 시간적 식별자와 동일한 시간적 식별자를 갖는 다른 프레임에게 공통적으로 적용될 수 있다.
상기 선택 정보는 상기 프레임이 비디오의 부호화에서 제외되더라도 상기 동영상의 화질의 저하를 인지하지 못하는 사람의 비율과 관련될 수 있다.
상기 비율은 기계 학습에 의해 계산될 수 있다.
상기 비율은 프레임의 특징 벡터에 기반하여 결정될 수 있다.
상기 선택 정보는 복수일 수 있다.
상기 복수의 선택 정보는 동영상의 재생의 초 당 프레임(Frames Per Second; FPS) 별로 계산될 수 있다.
상기 동영상의 부호화에 의해 생성된 비트스트림은 상기 선택 정보를 포함할 수 있다.
상기 선택 정보는 상기 프레임을 포함하는 복수의 프레임들 중 상기 프레임의 시간적 식별자와 동일한 시간적 식별자를 갖는 다른 프레임에게 공통적으로 적용될 수 있다.
상기 선택 정보는 상기 프레임이 복호화에서 제외되도록 상기 동영상의 재생이 설정되더라도 재생되는 상기 동영상의 화질의 저하를 인지하지 못하는 사람의 비율과 관련될 수 있다.
HFR의 비디오의 단위 구간(unit interval) 별로, 단위 구간의 프레임 율을 낮출 경우 단위 구간이 화질이 얼마나 저하되는지를 예측하는 방법 및 장치가 제공된다.
HFR의 비디오를 단위 구간 별로, 사용자에 의해 입력된 화질 차이 범위 또는 기정의된 허용 가능한 화질 차이 범위의 이내로 인지 화질을 유지하면서, 단위 구간의 프레임 율을 감소시킴으로써 비디오의 데이터 율을 감소시키는 방법 및 장치가 제공된다. 예를 들면, 기정의된 허용 가능한 화질 차이 범위는 80%의 사람들이 화질 차이를 느끼지 못하는 범위일 수 있다.
TS의 적용에 있어서 화질이 얼마나 저하되는지를 예측하는 화질 저하 예측 정보를 고려하는 방법 및 장치가 제공된다.
화질 저하 예측 정보를 고려함으로써 사용자에 의해 입력된 화질 저하 범위 또는 기정의된 화질 저하 범위에 해당하는 단위 구간에 대해서만 TS를 적용하는 방법 및 장치가 제공된다.
도 1은 본 발명이 적용되는 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 2는 본 발명이 적용되는 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
도 3은 일 실시예에 따른 SURP의 동작을 설명한다.
도 4는 일 예에 따른 화질 평가 결과를 도시한다.
도 5는 일 실시예에 따른 특징 벡터(feature vector)의 추출의 절차를 셜명한다.
도 6은 일 예에 따른 공간적 임의의 측정을 위한 예측 모델을 나타낸다.
도 7은 일 예에 따른 SRM을 도시한다.
도 8은 일 예에 따른 SM을 도시한다.
도 9는 일 예에 따른 SCM을 도시한다.
도 10는 일 예에 따른 VSM을 도시한다.
도 11은 일 에에 따른 SIM을 도시한다.
도 12은 일 예에 따른 시간적 예측 모델의 생성에 사용되는 프레임 및 예측 대상 프레임 간의 관계를 도시한다.
도 13a는 일 예에 따른 연속된 3개의 프레임들 중 첫 번째의 프레임을 나타낸다.
도 13b는 일 예에 따른 연속된 3개의 프레임들 중 두 번째의 프레임을 나타낸다.
도 13c는 일 예에 따른 연속된 3개의 프레임들 중 세 번째 프레임을 나타낸다.
도 13d는 일 예에 따른 연속된 3개의 프레임들에 대한 시간적 임의 맵(Temporal Randomness Map; TRM)을 나타낸다.
도 13e는 일 예에 따른 연속된 3개의 프레임들에 대한 공간시간적 영향 맵(SpatioTemporal Influence Map; STIM)을 나타낸다.
도 13f는 일 예에 따른 연속된 3개의 프레임들에 대한 가중치가 부여된 공간시간적 영향 맵(Weighted SpatioTemporal Influence Map; WSTIM)을 나타낸다.
도 14는 일 예에 따른 FPS 별 화질 만족도를 나타낸다.
도 15는 일 예에 따른 GOP 별로 결정된 최적 프레임 율을 나타낸다.
도 16은 일 예에 따른 최적 프레임 율을 사용하는 GOP의 부호화 방법의 흐름도이다.
도 17은 일 예에 따른 최적 프레임 율의 결정 방법의 흐름도이다.
도 18은 일 예에 따른 시간적 식별자(temporal identifier)를 갖는 프레임들의 계층적인 구조를 나타낸다.
도 19는 일 예에 따른 화질 만족도를 포함하는 메시지를 나타낸다.
도 20은 일 예에 따른 화질 만족도 테이블의 인덱스를 포함하는 메시지를 나타낸다.
도 21은 일 예에 따른 화질 만족도들의 전체를 포함하는 메시지를 나타낸다.
도 22는 일 예에 따른 화질 만족도 정보의 생성 방법을 도시한다.
도 23a는 일 예에 따른 75% 이상의 화질 만족도를 유지하는 구성을 나타낸다.
도 23b는 일 예에 따른 75%의 화질 만족도를 기준으로 FPS의 변경의 여부를 결정하는 구성을 나타낸다.
도 24는 일 실시예에 따른 부호화 장치의 구조도이다.
도 25는 일 실시예에 따른 부호화 방법의 흐름도이다.
도 26은 일 예에 따른 동영상의 부호화를 수행하는 방법의 흐름도이다.
도 27은 일 실시예에 따른 복호화 장치의 구조도이다.
도 28은 일 실시예에 따른 복호화 방법의 흐름도이다.
후술하는 예시적 실시예들에 대한 상세한 설명은, 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 실시예를 실시할 수 있기에 충분하도록 상세히 설명된다. 다양한 실시예들은 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 실시예의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 예시적 실시예들의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다.
도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다. 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
어떤 구성요소(component)가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 상기의 2개의 구성요소들이 서로 간에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있으나, 상기의 2개의 구성요소들의 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 또한, 예시적 실시예들에서 특정 구성을 "포함"한다고 기술하는 내용은 상기의 특정 구성 이외의 구성을 배제하는 것이 아니며, 추가적인 구성이 예시적 실시예들의 실시 또는 예시적 실시예들의 기술적 사상의 범위에 포함될 수 있음을 의미한다.
제1 및 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기의 구성요소들은 상기의 용어들에 의해 한정되어서는 안 된다. 상기의 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하여 지칭하기 위해서 사용된다. 예를 들어, 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
또한 실시예들에 나타나는 구성요소들은 서로 다른 특징적인 기능들을 나타내기 위해 독립적으로 도시되는 것으로, 각 구성요소가 분리된 하드웨어나 하나의 소프트웨어 구성 단위로만 이루어짐을 의미하지 않는다. 즉, 각 구성요소는 설명의 편의상 각각의 구성요소로 나열된 것이다. 예를 들면, 구성요소들 중 적어도 두 개의 구성요소들이 하나의 구성요소로 합쳐질 수 있다. 또한, 하나의 구성요소가 복수의 구성요소들로 나뉠 수 있다. 이러한 각 구성요소의 통합된 실시예 및 분리된 실시예 또한 본질에서 벗어나지 않는 한 권리범위에 포함된다.
또한, 일부의 구성요소는 본질적인 기능을 수행하는 필수적인 구성요소는 아니고 단지 성능을 향상시키기 위한 선택적 구성요소일 수 있다. 실시예들은 실시예의 본질을 구현하는데 필수적인 구성부만을 포함하여 구현될 수 있고, 예를 들면, 단지 성능 향상을 위해 사용되는 구성요소와 같은, 선택적 구성요소가 제외된 구조 또한 권리 범위에 포함된다.
이하에서는, 기술분야에서 통상의 지식을 가진 자가 실시예들을 용이하게 실시할 수 있도록 하기 위하여, 첨부된 도면을 참조하여 실시예들을 상세히 설명하기로 한다. 실시예들을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
이하에서, 영상은 비디오(video)을 구성하는 하나의 픽쳐를 의미할 수 있으며, 비디오 자체를 나타낼 수도 있다. 예를 들면, "영상의 부호화 및/또는 복호화"는 "비디오의 부호화 및/또는 복호화"를 의미할 수 있으며, "비디오를 구성하는 영상들 중 하나의 영상의 부호화 및/또는 복호화"를 의미할 수도 있다.
이하에서, 실시예들에서 사용된 숫자는 일 예에 불과한 것으로, 실시예에서 명시된 값은 아닌 다른 값으로 대체될 수 있다.
실시예에서, 부호화에 적용되는 정보, 동작, 기능은 부호화에 대해 상응하는 방식으로 복호화에 대해서도 적용될 수 있다.
전술된 것과 같은 인간의 시각 특성을 이용하여, 프레임 율을 적응적으로 자동으로 조정할 수 있다면, 다수의 사람들을 대상으로 인지 화질(perceptual quality)의 측면에서는 화질의 열화 없이 비디오의 데이터 량이 감소될 수 있다. 인간의 시각 특성을 HFR 비디오에 적용하여 비디오를 구간 별로 최적의 화면 재생율로 변환할 수 있다면 비디오의 데이터 량의 증가가 최소화될 수 있다. 따라서, HFR 비디오의 전송 및 저장 과정에서 발생하는 비용적인 문제 및 기술적인 문제가 해결될 수 있다.
프레임 율의 적응적이고 자동적인 조정을 위해서는, 비디오를 HFR에서 저 프레임 율로 변경할 경우 나타나는 화질 차이가 어느 정도인가가 정확하게 예측될 수 있어야 한다. 이러한 예측의 기술은 비디오의 부호화 전처리(preprocessing) 과정, 부호화 과정, 전송 과정 및/또는 복호화 과정 중에서 유용하게 이용될 수 있다.
그러나, 종래의 기술에 의해서는, HFR의 비디오를 저 프레임 율의 비디오를 변환하였을 때 발생하는 화질 차이가 정확하게 예측될 수 없다.
또한, 화질의 조정과 관련된 종래의 기술로서 시간적 스케일러빌러티(Temporal Scalability; TS) 기술이 있다. TS 기술은 비디오에 TS를 적용하였을 때 비디오에 대한 화질이 어떻게 변화할 지를 고려하지 않고 일률적으로 비디오의 프레임 율을 조정한다. 따라서, 비디오에 TS가 적용될 경우, 비디오의 화질이 크게 저하될 수 있다는 문제가 발생한다.
아래의 실시예들에서는, 1) 화질 만족도를 예측하는 방법, 2) 화질 만족도의 예측을 통해 비디오를 최적의 저 프레임 율로 변경하는 방법 및 3) 화질 만족도의 예측에 의해 생성된 정보를 TS에 활용하는 방법이 설명된다.
1) 화질 만족도를 예측하는 방법: HFR을 낮은 프레임 율로 변경할 경우 발생하는 화질 차이의 정도를 예측하는 화질 만족도 예측기가 설명된다.
2) 화질 만족도의 예측을 통해 비디오를 최적의 저 프레임 율로 변경하는 방법: 화질 만족도 예측기를 이용하여 고정된 HFR의 비디오를 기본 결정 단위 별로 최적의 낮은 프레임 율로 변경하여 부호화하는 부호화기가 설명된다.
3) 화질 만족도의 예측에 의해 생성된 정보를 TS에 활용하는 방법: 비디오의 부호화에 의해 생성되는 비디오 부호화 스트림은 화질 만족도 예측기에 의해 생성된 화질 만족도 정보를 포함할 수 있다. 화질 정보를 비디오 부호화 스트림의 전송 과정 또는 복호화 과정 중 TS를 위해 사용될 수 있다. 화질 만족도 정보에 의해 종래에는 가능하지 않았던 개선된 TS가 제공될 수 있다. 화질 만족도 정보에 의해 TS가 적용될 경우 비디오의 화질이 어떻게 변화할 지가 고려될 수 있다. 이러한 고려를 통해 화질 저하를 최소화하는 개선된 TS가 제공될 수 있다.
우선, 실시예들에서 사용되는 용어를 설명한다.
유닛(unit): "유닛"은 영상의 부호화 및 복호화의 단위를 나타낼 수 있다. 유닛 및 블록(block)의 의미들은 동일할 수 있다. 또한, 용어 "유닛" 및 "블록"은 서로 교체되어 사용될 수 있다.
유닛(또는, 블록)은 샘플의 MxN 배열일 수 있다. M 및 N은 각각 양의 정수일 수 있다. 유닛은 흔히 2차원의 샘플의 배열을 의미할 수 있다. 샘플은 픽셀 또는 픽셀 값일 수 있다.
영상의 부호화 및 복호화에 있어서, 유닛은 하나의 영상의 분할에 의해 생성된 영역일 수 있다. 하나의 영상은 복수의 유닛들로 분할될 수 있다. 영상의 부호화 및 복호화에 있어서, 유닛의 종류에 따라서 유닛에 대한 기정의된 처리가 수행될 수 있다. 기능에 따라서, 유닛의 타입은 매크로 유닛(Macro Unit), 코딩 유닛(Coding Unit; CU), 예측 유닛(Prediction Unit; PU) 및 변환 유닛(transform Unit; TU) 등으로 분류될 수 있다. 하나의 유닛은 유닛에 비해 더 작은 크기를 갖는 하위 유닛으로 더 분할될 수 있다.
블록 분할 정보는 유닛의 깊이(depth)에 관한 정보를 포함할 수 있다. 깊이 정보는 유닛이 분할되는 회수 및/또는 정도를 나타낼 수 있다.
하나의 유닛은 트리 구조(tree structure)에 기반하여 깊이 정보(depth)를 가지면서 계층적으로 복수의 하위 유닛들로 분할될 수 있다. 말하자면, 유닛 및 상기의 유닛의 분할에 의해 생성된 하위 유닛은 노드 및 상기의 노드의 자식 노드에 각각 대응할 수 있다. 각각의 분할된 하위 유닛은 깊이 정보를 가질 수 있다. 유닛의 깊이 정보는 유닛이 분할된 회수 및/또는 정도를 나타내므로, 하위 유닛의 분할 정보는 하위 유닛의 크기에 관한 정보를 포함할 수도 있다.
트리 구조에서, 가장 상위 노드는 분할되지 않은 최초의 유닛에 대응할 수 있다. 가장 상위 노드는 루트 노드(root node)로 칭해질 수 있다. 또한, 가장 상위 노드는 최소의 깊이 값을 가질 수 있다. 이 때, 가장 상위 노드는 레벨 0의 깊이를 가질 수 있다.
레벨 1의 깊이를 갖는 노드는 최초의 유닛이 한 번 분할됨에 따라 생성된 유닛을 나타낼 수 있다. 레벨 2의 깊이를 갖는 노드는 최초의 유닛이 두 번 분할됨에 따라 생성된 유닛을 나타낼 수 있다.
레벨 n의 깊이를 갖는 노드는 최초의 유닛이 n번 분할됨에 따라 생성된 유닛을 나타낼 수 있다.
리프 노드는 가장 하위의 노드일 수 있으며, 더 분할될 수 없는 노드일 수 있다. 리프 노드의 깊이는 최대 레벨일 수 있다. 예를 들면, 최대 레벨의 기정의된 값은 3일 수 있다.
변환 유닛(Transform Unit): 변환 유닛은 변환, 역변환, 양자화, 역양자화, 변환 계수 부호화, 및 변환 계수 복호화 등과 같은 잔차 신호(residual signal) 부호화 및/또는 잔여 신호 복호화에 있어서의 기본 유닛일 수 있다. 하나의 변환 유닛은 더 작은 크기를 갖는 다수의 변환 유닛들 분할될 수 있다.
예측 유닛(Prediction Unit): 예측 유닛은 예측 또는 보상(compensation)의 수행에 있어서의 기본 단위일 수 있다. 예측 유닛은 분할에 의해 다수의 파티션(partition)들이 될 수 있다. 다수의 파티션들 또한 예측 또는 보상의 수행에 있어서의 기본 단위일 수 있다. 예측 유닛의 분할에 의해 생성된 파티션 또한 예측 유닛일 수 있다.
복원된 이웃 유닛(Reconstructed Neighbor Unit): 복원된 이웃 유닛은 부호화 대상 유닛 또는 복호화 대상 유닛의 주변에 이미 부호화 또는 복호화되어 복원된 유닛일 수 있다. 복원된 이웃 유닛은 대상 유닛에 대한 공간적(spatial) 인접 유닛 또는 시간적(temporal) 인접 유닛일 수 있다.
예측 유닛 파티션: 예측 유닛 파티션은 예측 유닛이 분할된 형태를 의미할 수 있다.
파라미터 세트(Parameter Set): 파라미터 세트는 비트스트림 내의 구조(structure) 중 헤더(header) 정보에 해당할 수 있다. 예를 들면, 파라미터 세트는 시퀀스 파라미터 세트(sequence parameter set), 픽쳐 파라미터 세트(picture parameter set) 및 적응 파라미터 세트(adaptation parameter set) 등을 포함할 수 있다.
율왜곡 최적화(ratedistortion optimization): 부호화 장치는 코딩 유닛의 크기, 예측 모드, 예측 유닛의 크기, 움직임 정보 및, 변환 유닛의 크기 등의 조합을 이용해서 높은 부호화 효율을 제공하기 위해 율왜곡 최적화를 사용할 수 있다.
율왜곡 최적화 방식은 상기의 조합들 중에서 최적의 조합을 선택하기 위해 각 조합의 율왜곡 비용(ratedistortion cost)을 계산할 수 있다. 율왜곡 비용은 아래의 수학식 1을 이용하여 계산될 수 있다. 일반적으로 상기 율왜곡 비용이 최소가 되는 조합이 율왜곡 최적화 방식에 있어서의 최적의 조합으로 선택될 수 있다.
D는 왜곡을 나타낼 수 있다. D는 변환 블록 내에서 원래의 변환 계수들 및 복원된 변환 계수들 간의 차이 값들의 제곱들의 평균(mean square error)일 수 있다.
R은 율을 나타낼 수 있다. R은 관련된 문맥 정보를 이용한 비트 율을 나타낼 수 있다.
λ는 라그랑지안 승수(Lagrangian multiplier)를 나타낼 수 있다. R은 예측 모드, 움직임 정보 및 부호화 블록 플래그(coded block flag) 등과 같은 부호화 파라미터 정보뿐만 아니라, 변환 계수의 부호화에 의해 발생하는 비트도 포함할 수 있다.
부호화 장치는 정확한 D 및 R을 계산하기 위해 인터 예측 및/또는 인트라 예측, 변환, 양자화, 엔트로피 부호화, 역양자화, 역변환 등의 과정을 수행하는데, 이러한 과정은 부호화 장치에서의 복잡도를 크게 증가시킬 수 있다.
참조 픽쳐(reference picture): 참조 픽쳐는 인터 예측 또는 움직임 보상에 사용되는 영상일 수 있다. 참조 픽쳐는 인터 예측 또는 움직임 보상을 위해 대상 유닛이 참조하는 참조 유닛을 포함하는 픽쳐일 수 있다. 픽쳐 및 영상의 의미들은 동일할 수 있다. 또한, 용어 "픽쳐" 및 "영상"은 서로 교체되어 사용될 수 있다.
참조 픽쳐 리스트(reference picture list): 참조 픽쳐 리스트는 인터 예측 또는 움직임 보상에 사용되는 참조 영상들을 포함하는 리스트일 수 있다. 참조 픽쳐 리스트의 종류는 리스트 조합(List Combined; LC), 리스트 0(List 0; L0) 및 리스트 1(List 1; L1) 등이 있을 수 있다.
움직임 벡터(Motion Vector; MV): 움직임 벡터는 인터 예측에서 사용되는 2차원의 벡터일 수 있다. 예를 들면, MV는 (mvx, mvy)와 같은 형태로 표현될 수 있다. mvx는 수평(horizontal) 성분을 나타낼 수 있고, mvy 는 수직(vertical) 성분을 나타낼 수 있다.
MV는 대상 픽쳐 및 참조 픽쳐 간의 오프셋(offset)을 나타낼 수 있다.
탐색 영역(search range): 탐색 영역은 인터 예측 중 MV에 대한 탐색이 이루어지는 2차원의 영역일 수 있다. 예를 들면, 탐색 영역의 크기는 MxN일 수 있다. M 및 N은 각각 양의 정수일 수 있다.
기본 결정 단위(basic decision unit): 기본 결정 단위는 실시예에서 처리의 대상이 되는 기본 단위를 나타낼 수 있다. 기본 결정 단위는 복수의 프레임들일 수 있으며, 픽처의 그룹(Group Of Picture; GOP)일 수 있다.
픽처의 그룹(Group Of Picture; GOP): 실시예에서의 GOP의 의미는 비디오의 부호화에 있어서 일반적으로 사용되는 GOP의 의미와 동일할 수 있다. 말하자면, GOP의 시작 프레임은 아이(I) 프레임일 수 있으며, GOP의 시작 프레임 외 다른 프레임들은 I 프레임을 직접적으로 참조하는 프레임이거나 I 프레임을 간접적으로 참조하는 프레임일 수 있다.
프레임 율(frame rate): 프레임 율은 비디오의 시간적인 해상도를 나타낼 수 있다. 프레임 율은 1 초 당 몇 장의 화면(들)이 재생(display)되는지를 의미할 수 있다.
초 당 프레임(Frape Per Second; FPS): FPS는 프레임 율을 나타내는 단위일 수 있다. 예를 들면, "30 FPS"는 1 초 당 30장의 프레임들이 재생됨을 나타낼 수 있다.
고 프레임 율(High Frame Rate; HFR): 소정의 기준 값 이상의 프레임 율을 나타낼 수 있다. 예를 들면, 한국 및 미국의 기준으로는 60 이상의 FPS를 갖는 비디오가 HFR 비디오일 수 있고, 유럽의 기준으로는 50 이상의 FPS를 갖는 비디오가 HFR 비디오일 수 있다. 실시예들에서는 60 FPS의 비디오가 HFR 비디오로 예시된다.
최적 프레임 율(Optimal Frame Rate): 최적 프레임 율은 비디오의 내용(content)에 따라 결정되는 프레임 율일 수 있다. 최적 프레임 율은 각 기본 결정 단위 별로 결정될 수 있다. 최적 프레임 율의 이상으로 비디오 또는 기본 결정 단위의 프레임 율이 증가되어도, 사람들은 프레임 율의 증가에 따른 화질 차이를 느끼지 못할 수 있다. 말하자면, 최적 프레임 율은 사람들이 HFR에 비해 비디오의 화질의 저하를 느끼지 못하게 하는 최소의 프레임 율일 수 있다. 또한, 최적 프리임 율은, HFR 비디오의 FPS를 단계적으로 감소시키면서 원래의 HFR 비디오 및 감소된 FPS의 비디오 간의 화질 차이를 측정할 때, 화질 저하가 발생하기 직전의 FPS 일 수 있다. 여기에서, 화질 저하의 발생은 사용자에 의해 설정된 비율 또는 기설정된 비율 이상의 사람들이 화질 차이를 인식하는 것을 의미할 수 있다.
호모지니어스 비디오(homogenous video): 호모지니어스 비디오는 비디오를 구성하는 모든 기본 결정 단위들이 동일하거나 유사한 특성을 갖는 비디오일 수 있다.
화질 저하 인지율: 화질 저하 인지율은 기본 결정 단위 별로 HFR 비디오의 프레임 율이 감소되는 경우에 화질 저하를 인지할 수 있는 사람의 비율을 나타낸다. 통상적으로, FPS는 1/2 배로 단계적으로 변경될 수 있다. 화질 저하 인지율의 단위는 %일 수 있다.
화질 저하 인지율 예측기: 화질 저하 인지율 예측기는 화질 저하 인지율을 예측하는 예측기일 수 있다.
화질 만족도(satisfied user ratio): 화질 만족도는 기본 결정 단위 별로 HFR 비디오의 FPS가 감소되는 경우에 HFR 비디오의 화질에 비해 감소된 프레임 율의 비디오의 화질에 만족하는 사람의 비율일 수 있다. 또는, 화질 만족도는 기본 결정 단위 별로 HFR 미디어의 FPS가 감소되는 경우에 HFR 비디오의 화질 및 감소된 FPS의 비디오의 화질 간의 차이를 인지하지 못하는 사람의 비율일 수 있다.
통상적으로, FPS는 1/2 배로 단계적으로 변경될 수 있다. 여기에서, 사람의 비율은 1a/b의 값을 백분율로 표현한 것일 수 있다. a는 주관적 화질 평가를 통해 HFR 비디오의 화질 및 감소된 FPS 의 비디오의 화질 간에 차이가 있다고 평가한 사람들의 수일 수 있다. b는 전체의 사람들의 수일 수 있다. 예를 들면, 60 FPS의 비디오 및 30 FPS의 비디오에 대해, 모두 5명의 사람들이 주관적 화질 평가를 하였고, 5명 중 3명이 60 FPS의 비디오 및 30 FPS의 비디오에게 동일한 화질 점수를 부여하였고, 남은 2명은 60 FPS의 비디오에 비해 30 FPS의 비디오에게 더 낮은 화질 점수를 부여하였으면, 화질 만족도는 12/5 = 60%일 수 있다. 이 때, 화질 저하 인지율은 40%일 수 있다. 즉, 화질 만족도 및 화질 저하 인지율의 합은 100%일 수 있다.
화질 만족도 예측기(Satisfied User Ratio Predictor; SURP): SURP는 화질 만족도를 예측하는 예측기일 수 있다. 화질 저하 인지율 예측기 및 SURP의 구성 및 동작은 서로 유사할 수 있으며, 양자는 단순히 출력 값에 있어서만 차이룰 가질 수 있다.
선택 정보: 실시예에서, 화질 정보는 화질 저하 인지율 또는 화질 만족도일 수 있다. 용어 "선택 정보"는 용어 "인지 화질 정보"와 동일한 의미로 사용될 수 있고, 양 용어들은 서로 교체하여 사용될 수 있다.
부호화 장치 및 복호화 장치의 기본적인 동작
도 1은 본 발명이 적용되는 부호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
부호화 장치(100)는 비디오 부호화 장치 또는 영상 부호화 장치일 수 있다. 비디오는 하나 이상의 영상들을 포함할 수 있다. 부호화 장치(100)는 비디오의 하나 이상의 영상들을 시간에 따라 순차적으로 부호화할 수 있다.
도 1을 참조하면, 부호화 장치(100)는 인터 예측부(110), 인트라 예측부(120), 스위치(115), 감산기(125), 변환부(130), 양자화부(140), 엔트로피 부호화부(150), 역양자화부(160), 역변환부(170), 가산기(175), 필터부(180) 및 참조 픽쳐 버퍼(190)를 포함할 수 있다.
부호화 장치(100)는 입력 영상에 대해 인트라 모드 및/또는 인터 모드로 부호화를 수행할 수 있다. 입력 영상은 현재 부호화의 대상인 현재 영상으로 칭해질 수 있다.
또한, 부호화 장치(100)는 입력 영상에 대한 부호화를 통해 부호화의 정보를 포함하는 비트스트림을 생성할 수 있고, 생성된 비트스트림을 출력할 수 있다.
인트라 모드가 사용되는 경우, 스위치(115)는 인트라로 전환될 수 있다. 인터 모드가 사용되는 경우, 스위치(115)는 인터로 전환될 수 있다.
부호화 장치(100)는 입력 영상의 입력 블록에 대한 예측 블록을 생성할 수 있다. 또한, 부호화 장치(100)는 예측 블록이 생성된 후, 입력 블록 및 예측 블록의 차분(residual)을 부호화할 수 있다. 입력 블록은 현재 부호화의 대상인 현재 블록으로 칭해질 수 있다.
예측 모드가 인트라 모드인 경우, 인트라 예측부(120)는 현재 블록의 주변에 있는, 이미 부호화된 블록의 픽셀 값을 참조 픽셀로서 이용할 수 있다. 인트라 예측부(120)는 참조 픽셀을 이용하여 현재 블록에 대한 공간적 예측을 수행할 수 있고, 공간적 예측을 통해 현재 블록에 대한 예측 샘플들을 생성할 수 있다.
인터 예측부(110)는 움직임 예측부 및 움직임 보상부를 포함할 수 있다.
예측 모드가 인터 모드인 경우, 움직임 예측부는, 움직임 예측 과정에서 참조 영상으로부터 현재 블록과 가장 매치가 잘 되는 영역을 검색할 수 있고, 현재 블록 및 검색된 영역에 대한 움직임 벡터를 도출할 수 있다. 참조 영상은 참조 픽쳐 버퍼(190)에 저장될 수 있으며, 참조 영상에 대한 부호화 및/또는 복호화가 처리될 때 참조 픽쳐 버퍼(190)에 저장될 수 있다.
움직임 보상부는 움직임 벡터를 이용하는 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다. 여기에서, 움직임 벡터는 인터 예측에 사용되는 2차원 벡터일 수 있다. 또한 움직임 벡터는 현재 영상 및 참조 영상 간의 오프셋(offset)을 나타낼 수 있다.
감산기(125)는 입력 블록 및 예측 블록의 차분인 잔차 블록(residual block)을 생성할 수 있다. 잔차 블록은 잔차 신호로 칭해질 수도 있다.
변환부(130)는 잔차 블록에 대해 변환(transform)을 수행하여 변환 계수를 생성할 수 있고, 생성된 변환 계수(transform coefficient)를 출력할 수 있다. 여기서, 변환 계수는 잔차 블록에 대한 변환을 수행함으로써 생성된 계수 값일 수 있다. 변환 생략(transform skip) 모드가 적용되는 경우, 변환부(130)는 잔차 블록에 대한 변환을 생략할 수도 있다.
변환 계수에 양자화를 적용함으로써 양자화된 변환 계수 레벨(transform coefficient level)이 생성될 수 있다. 이하, 실시예들에서는 양자화된 변환 계수 레벨도 변환 계수로 칭해질 수 있다.
양자화부(140)는 변환 계수를 양자화 파라미터에 맞춰 양자화함으로써 양자화된 변환 계수 레벨(quantized transform coefficient level)을 생성할 수 있다. 양자화부(140)는 생성된 양자화된 변환 계수 레벨을 출력할 수 있다. 이때, 양자화부(140)에서는 양자화 행렬을 사용하여 변환 계수를 양자화할 수 있다.
엔트로피 부호화부(150)는, 양자화부(140)에서 산출된 값들 및/또는 부호화 과정에서 산출된 부호화 파라미터 값들 등에 기초하여 확률 분포에 따른 엔트로피 부호화를 수행함으로써 비트스트림(bitstream)을 생성할 수 있다. 엔트로피 부호화부(150)는 생성된 비트스트림을 출력할 수 있다.
엔트로피 부호화부(150)는 영상의 픽셀의 정보 외에 영상의 복호화를 위한 정보에 대한 엔트로피 부호화를 수행할 수 있다. 예를 들면, 영상의 복호화를 위한 정보는 신택스 엘리먼트(syntax element) 등을 포함할 수 있다.
부호화 파라미터는 부호화 및/또는 복호화를 위해 요구되는 정보일 수 있다. 부호화 파라미터는 부호화 장치에서 부호화되어 복호화 장치로 전달되는 정보를 포함할 수 있고, 부호화 혹은 복호화 과정에서 유추될 수 있는 정보를 포함할 수 있다. 예를 들면, 복호화 장치로 전달되는 정보로서, 신택스 엘리먼트가 있다.
예를 들면, 부호화 파라미터는 예측 모드, 움직임 벡터, 참조 픽쳐 색인(index), 부호화 블록 패턴(pattern), 잔차 신호 유무, 변환 계수, 양자화된 변환 계수, 양자화 파라미터, 블록 크기, 블록 분할(partition) 정보 등의 값 또는 통계를 포함할 수 있다. 예측 모드는 인트라 예측 모드 또는 인터 예측 모드를 가리킬 수 있다.
잔차 신호는 원 신호 및 예측 신호 간의 차이(difference)를 의미할 수 있다. 또는, 잔차 신호는 원신호 및 예측 신호 간의 차이를 변환(transform)함으로써 생성된 신호일 수 있다. 또는, 잔차 신호는 원 신호 및 예측 신호 간의 차이를 변환 및 양자화함으로써 생성된 신호일 수 있다. 잔차 블록은 블록 단위의 잔차 신호일 수 있다.
엔트로피 부호화가 적용되는 경우, 높은 발생 확률을 갖는 심볼에 적은 수의 비트가 할당될 수 있고, 낮은 발생 확률을 갖는 심볼에 많은 수의 비트가 할당될 수 있다. 이러한 할당을 통해 심볼이 표현됨에 따라, 부호화의 대상인 심볼들에 대한 비트열(bitstring)의 크기가 감소될 수 있다. 따라서, 엔트로피 부호화를 통해서 영상 부호화의 압축 성능이 향상될 수 있다.
또한, 엔트로피 부호화를 위해 지수 골롬(exponential golomb), 문맥적응형 가변 길이 코딩(ContextAdaptive Variable Length Coding; CAVLC) 및 문맥적응형 이진 산술 코딩(ContextAdaptive Binary Arithmetic Coding; CABAC) 등과 같은 부호화 방법이 사용될 수 있다. 예를 들면, 엔트로피 부호화부(150)는 가변 길이 부호화(Variable Lenghth Coding/Code; VLC) 테이블을 이용하여 엔트로피 부호화를 수행할 수 있다. 예를 들면, 엔트로피 부호화부(150)는 대상 심볼에 대한 이진화(binarization) 방법을 도출할 수 있다. 또한, 엔트로프 부호화부(150)는 대상 심볼/빈(bin)의 확률 모델(probability model)을 도출할 수 있다. 엔트로피 부호화부(150)는 도출된 이진화 방법 또는 확률 모델을 사용하여 엔트로피 부호화를 수행할 수도 있다.
부호화 장치(100)에 의해 인터 예측을 통한 부호화를 수행되기 때문에, 부호화된 현재 영상은 이후에 처리되는 다른 영상(들)에 대하여 참조 영상으로서 사용될 수 있다. 따라서, 부호화 장치(100)는 부호화된 현재 영상을 다시 복호화할 수 있고, 복호화된 영상을 참조 영상으로서 저장할 수 있다. 복호화를 위해 부호화된 현재 영상에 대한 역양자화 및 역변환이 처리될 수 있다.
양자화된 계수는 역양자화부(160)에서 역양자화될(inversely quantized) 수 있고. 역변환부(170)에서 역변환될(inversely transformed) 수 있다. 역양자화 및 역변환된 계수는 가산기(175)를 통해 예측 블록과 합해질 수 있다, 역양자화 및 역변환된 계수 및 예측 블록을 합함으로써 복원(reconstructed) 블록이 생성될 수 있다.
복원 블록은 필터부(180)를 거칠 수 있다. 필터부(180)는 디블록킹 필터(deblocking filter), 에스에이오(Sample Adaptive Offset; SAO), 에이엘어프(Adaptive Loop Filter; ALF) 중 적어도 하나 이상을 복원 블록 또는 복원 픽쳐에 적용할 수 있다. 필터부(180)는 적응적(adaptive) 인루프(inloop) 필터로 칭해질 수도 있다.
디블록킹 필터는 블록들 간의 경계에서 발생한 블록 왜곡을 제거할 수 있다. SAO는 코딩 에러에 대한 보상을 위해 픽셀 값에 적정 오프셋(offset) 값을 더할 수 있다. ALF는 복원 영상 및 원래의 영상을 비교한 값에 기반하여 필터링을 수행할 수 있다. 필터부(180)를 거친 복원 블록은 참조 픽쳐 버퍼(190)에 저장될 수 있다.
도 2는 본 발명이 적용되는 복호화 장치의 일 실시예에 따른 구성을 나타내는 블록도이다.
복호화 장치(200)는 비디오 복호화 장치 또는 영상 복호화 장치일 수 있다.
도 2를 참조하면, 복호화 장치(200)는 엔트로피 복호화부(210), 역양자화부(220), 역변환부(230), 인트라 예측부(240), 인터 예측부(250), 가산기(255), 필터부(260) 및 참조 픽쳐 버퍼(270)를 포함할 수 있다.
복호화 장치(200)는 부호화 장치(100)에서 출력된 비트스트림을 수신할 수 있다. 복호화 장치(200)는 비트스트림에 대하여 인트라 모드 및/또는 인터 모드의 복호화를 수행할 수 있다. 또한, 복호화 장치(200)는 복호화를 통해 복원 영상을 생성할 수 있고, 생성된 복원 영상을 출력할 수 있다.
예를 들면, 복호화에 사용되는 예측 모드에 따른 인트라 모드 또는 인터 모드로의 전환은 스위치에 의해 이루어질 수 있다. 복호화에 사용되는 예측 모드가 인트라 모드인 경우 스위치가 인트라로 전환될 수 있다. 복호화에 사용되는 예측 모드가 인터 모드인 경우 스위치가 인터로 전환될 수 있다.
복호화 장치(200)는 입력된 비트스트림으로부터 복원된 잔차 블록(reconstructed residual block)을 획득할 수 있고, 예측 블록을 생성할 수 있다. 복원된 잔차 블록 및 예측 블록이 획득되면, 복호화 장치(200)는 복원된 잔차 블록과 및 예측 블록을 더함으로써 복원 블록을 생성할 수 있다.
엔트로피 복호화부(210)는 확률 분포에 기초하여 비트스트림에 대한 엔트로피 복호화를 수행함으로써 심볼들을 생성할 수 있다. 생성된 심볼들은 양자화된 계수(quantized coefficient) 형태의 심볼을 포함할 수 있다. 여기에서, 엔트로피 복호화 방법은 상술된 엔트로피 부호화 방법과 유사할 수 있다. 예를 들면, 엔트로피 복호화 방법은 상술된 엔트로피 부호화 방법의 역과정일 수 있다.
양자화된 계수는 역양자화부(220)에서 역양자화될 수 있다. 또한, 역양자화된 계수는 역변환부(230)에서 역변환될 수 있다. 양자화된 계수가 역양자화 및 역변환 된 결과로서, 복원된 잔차 블록이 생성될 수 있다. 이때, 역양자화부(220)는 양자화된 계수에 양자화 행렬을 적용할 수 있다.
인트라 모드가 사용되는 경우, 인트라 예측부(240)는 현재 블록 주변의 이미 부호화된 블록의 픽셀 값을 이용하는 공간적 예측을 수행함으로써 예측 블록을 생성할 수 있다.
인터 예측부(250)는 움직임 보상부를 포함할 수 있다. 인터 모드가 사용되는 경우, 움직임 보상부는 움직임 벡터 및 참조 영상을 이용하는 움직임 보상을 수행함으로써 예측 블록을 생성할 수 있다. 참조 영상은 참조 픽쳐 버퍼(270)에 저장될 수 있다.
복원된 잔차 블록 및 예측 블록은 가산기(255)를 통해 더해질 수 있다. 가산기(255)는 복원된 잔차 블록 및 예측 블록을 더함으로써 복원 블록을 생성할 수 있다.
복원 블록은 필터부(260)를 거칠 수 있다. 필터부(260)는 디블록킹 필터, SAO 및 ALF 중 적어도 하나 이상을 복원 블록 또는 복원 픽쳐에 적용할 수 있다. 필터부(260)는 복원 영상을 출력할 수 있다. 복원 영상은 참조 픽쳐 버퍼(270)에 저장되어 인터 예측에 사용될 수 있다.
화질 만족도 예측기(Satisfied User Ratio Predictor; SURP)
도 3은 일 실시예에 따른 SURP의 동작을 설명한다.
SURP(300)의 입력은 기본 결정 단위일 수 있다. 도 3에서 도시된 것과 같이, 기본 결정 단위는 GOP일 수 있다. SURP(300)의 출력은 변경된 FPS의 GOP에 대한 예측 화질 만족도일 수 있다.
예를 들면, 입력되는 GOP는 60 FPS의 8 개의 프레임들을 갖는 GOP일 수 있다.
예측 화질 만족도를 계산하기 위해, SURP(300)는 GOP의 FPS를 변경할 수 있다. 예를 들면, SURP(300)는 X FPS의 GOP를 Y FPS의 GOP로 변경할 수 있다. 예를 들면, Y는 aX이며, a는 1/2일 수 있다. 여기에서, "1/2"는 단지 예시적인 값으로, a는 1/4, 1/8 및 1/16 등과 같이 1/2n의 값을 가질 수 있다. n은 1 이상의 정수일 수 있다.
X는 변경 전의 GOP의 FPS를 나타낼 수 있다. Y는 변경 후의 GOP의 FPS를 나타낼 수 있다. X=2n일 때, Y는 X/2, X/22, ... X/2n 중의 하나의 값일 수 있다. 예를 들면, X의 값이 60일 때, Y의 값은 30일 수 있다. 즉, GOP는 60 FPS에서 30 FPS로 변환될 수 있다.
예측 화질 만족도는, GOP의 FPS가 60에서 30으로 변경되었다는 가정 하에, 변경 전의 GOP의 화질 및 변경 후의 GOP의 화질 간의 화질 차이를 인지하지 못하는 사람들의 비율에 대한 예측 값일 수 있다. 또는, 예측 화질 만족도는, GOP의 FPS가 60에서 30으로 변경되었다는 가정 하에, 변경 전의 GOP의 화질에 비해 변경 후의 GOP의 화질에도 만족하는 사람들의 비율에 대한 예측 값일 수 있다.
SURP(300)는 기계 학습을 통해 예측 화질 만족도를 생성할 수 있다.
이하에서, FPS의 변경 전의 GOP를 소스(source) GOP로 칭할 수 있다. 또한, FPS의 변경 후의 GOP를 타겟(target) GOP로 칭할 수 있다. 또한, FPS의 변경 전의 비디오를 소스(source) 비디오로 칭할 수 있다. 또한, FPS의 변경 후의 비디오를 타겟(target) 비디오로 칭할 수 있다.
기계 학습을 통한 예측 화질 만족도의 생성에 대한 고려 사항.
실시예에서, SURP(300)는 GOP 별로 FPS를 변경할 때, FPS의 변경에 의해 얼만큼의 화질 저하가 발생하는 가를 측정하기 위해 기계 학습(machine learning)을 사용할 수 있다.
기계 학습을 위해서는, 훈련 데이터(training data가 요구된다. 말하자면, 기계 학습을 위한 그라운드 트루스(ground truth)가 요구될 수 있다. 실시예에서는, 인간의 인지 화질을 유지하는 것이 목적 중의 하나이므로, 인간의 인지 화질에 대한 데이터를 획득하기 위해 주관적 화질 평가 실험을 통해서 데이터를 획득하는 방법이 이용될 수 있다.
여기에서, 주관적 화질 평가를 통해 인지 화질에 대한 데이터를 획득하는 것은 단지 일 실시예일 수 있다. 주관적 화질 평가를 통해 인지 화질을 직접 측정하는 대신, SURP(300)는 인지 화질을 모델링한 메져(measure)를 사용하여 인지 화질을 측정할 수 있다. 예를 들면, 메져는 구조적 유사도(Structural SIMilarity; SSIM) 또는 비디오 품질 메트릭(Video Quality Metric; VQM) 등일 수 있다.
통상적으로, 주관적 화질로서 최종적으로 획득되는 인지 화질의 값로서, 주로 평균 의견 점수(Mean Opinion Score; MOS) 값이 사용된다. MOS를 실시예의 주관적 화질 평가에 적용함에 있어서, 아래의 1) 내지 3)과 같은 문제가 발생할 수 있다.
1) 첫 번째로, 종래의 사용자가 점수를 부여하는 방식에서는, 사용자에 따라서 점수의 기준이 서로 간에 상이할 수 있다. 또한, 심지어, 점수를 부여하는 평가 과정에서, 동일한 비디오에 대해 동일인이 서로 다른 점수들을 부여하는 경우도 종종 발생할 수 있다.
2) 두 번째로, 비디오들의 MOS 값들은 서로 상이하기 때문에, 서로 상이한 MOS 값들이 기계 학습을 위해 직접적으로 이용되기 어렵다는 문제가 발생할 수 있다. 이러한 문제에 대한 해결을 위해, SURP(300)는, MOS 대신, 상대적인 인지 화질 정보를 사용할 수 있다. 예를 들면, 상대적인 인지 화질 정보로서 MOS 차이(Difference MOS; DMOS)가 있다. 만약, 소스 비디오의 MOS 값 및 타겟 비디오의 MOS 값 간의 차이가 주관적 화질 평가에 이용된다면, 이러한 주관적 화질 평가의 결과가 기계 학습에 활용될 수 있다. 이러한 주관적 화질 평가를 위해서는 자격 연속 품질 척도(DoubleStimulus Continuous QualityScale; DSCQS) 및 이중 자격 열화 척도(Double Stimulus Impairment Scale; DSIS) 등과 같은 모든 평가 항목에서 소스 비디오에 대한 화질 평가가 요구될 수 있다. 따라서, 이러한 화질 평가에 의해 화질 평가의 실험의 시간이 증가하는 문제가 발생할 수 있다.
3) 세 번째로, 종래의 화질 측정 방법은 각 비디오 시퀀스 별로 8초 이상의 측정이 이루어지도록 권고한다. 즉, 화질 측정의 결과는 시퀀스 레벨의 결과라고 볼 수 있다. 기본 결정 단위에 대한 판별을 위한 기계 학습이 이러한 결과를 이용하여 이루어진다면, 좋은 성능이 획득되지 못할 수 있다.
따라서, 일 실시예에서는, 기계 학습에 적합한 그라운드 트루스를 획득하기 위한 주관적 화질 평가 방볍 및 화질 평가에 사용되는 비디오 시퀀스의 조건이 제안된다.
기계 학습
SURP(300)는 기본 결정 단위 별로 최적의 FPS를 결정할 수 있다. 기본 결정 단위 별로 FPS가 결정되기 위해서는, 이러한 결정을 위한 그라운드 트루스의 데이터가 획득되어야 할 수 있다.
이하의 설명에서는, 편의상 GOP가 기본 결정 단위인 것으로 간주되었으며, GOP의 크기는 8인 것으로 간주되었다. 말하자면, 하나의 GOP는 8개의 프레임들을 포함할 수 있다. 이러한 기본 결정 단위 및 GOP의 크기에 대한 가정은 단지 예시적인 것이다.
그라운드 트루스의 획득 및 주관적 화질 평가 등에 관련된 아래의 설명은 다른 종류의 기본 결정 단위 및 다른 크기의 기본 결정 단위에도 동일 또는 유사한 방식으로 적용될 수 있다.
주관적 화질 평가는 시퀀스 레벨에서만 평가를 수행할 수 있다. 반면, 기계 학습을 위해서는 GOP의 단위에 대한 평가 결과가 요구된다. 이러한 차이를 극복하기 위해서, 비디오 시퀀스의 모든 GOP들이 동일하거나 유사한 내용적(content) 특성 만을 포함하도록 하기 위해 화질 평가에 사용되는 비디오 시퀀스의 길이가 조정될 수 있다. 말하자면, 비디오의 모든 GOP들의 특성들은 서로 유사할 수 있다. 실시예에서, 비디오의 모든 GOP들의 특성들이 서로 유사한 비디오를 호모지니어스 비디오라고 칭할 수 있다.
호모지니어스 비디오의 길이는 기정의된 값으로 제한될 수 있다. 예를 들면, 호모지니어스 비디오의 길이는 5초가 초과하지 않도록 조정될 수 있다.
이러한 유사한 특성들의 GOP들로 구성된 호모지니어스 비디오가 사용되기 때문에, 시퀀스 레벨에서 획득된 화질 평가 결과가 GOP의 단위의 화질 정보로 사용되는 것이 가능할 수 있다. 또한, SURP(300)는 이러한 화질 정보를 사용하는 기계 학습을 통해 SURP(300)의 성능을 향상시킬 수 있다.
도 4는 일 예에 따른 화질 평가 결과를 도시한다.
주관적 화질 평가의 일 예로, 소스 비디오는 60 FPS의 HFR 비디오일 수 있고, 에이치디(HD) 해상도의 비디오일 수 있다. 타겟 비디오는 30 FPS의 비디오일 수 있다.
SURP(300)는 소스 비디오의 시간적 해상도를 1/n로 낮춰서 타겟 비디오를 생성할 수 있다. n은 2일 수 있다. 또는, n은 2m일 수 있고, m은 1 이상의 정수일 수 있다.
SURP(300)는 소스 비디오에 프레임 드롭(frame drop)을 적용함으로써 타겟 비디오를 생성할 수 있다. 프레임 드롭된 소스 비디오에서 기정의된 프레임을 제거하는 것일 수 있다. 예를 들면, 프레임 드롭은 소스 비디오의 프레임들 중 짝수 번째의 프레임(들)을 제거하는 것일 수 있다.
주관적 화질 평가 방법으로서, 페어와이즈 비교(pairwise comparison) 방식이 사용될 수 있다.
페어와이즈 비교 방식은 각 평가 문항 별로, 2 개의 비디오들을 평가자에게 보여주고, 2 개의 비디오들 중 어떤 비디오의 화질이 더 좋은가를 질의하는 방법일 수 있다. 평가자는 각 평가 문항 별로 2개의 비디오들 중에 더 좋은 화질의 비디오를 선택할 수 있다. 또는, 페어와이즈 비교 방식은 각 평가 문항 별로, 2 개의 비디오들 중 제1 비디오의 화질이 더 좋은지, 제2 비디오의 화질이 더 좋은지, 아니면 2개의 비디오들의 화질들이 같은 지를 질의할 수도 있다. 말하자면, 평가자는 각 평가 문항 별로 3개의 항목들 중 하나를 선택할 수 있다. 실시예에서는, 3개의 항목들을 사용하는 방식이 예시되었다.
평가 문항 별로 3개의 항목들 중에서 하나가 선택되는 방식은, 1) 2개의 비디오들의 화질들이 유사하고, 2) 상대적으로 적은 평가자들이 실험에 참여한 경우에서, 보다 정확한 화질 평가 결과를 도출할 수 있다.
화질 평가에 있어서, 각 평가 문항 별로 고 FPS의 비디오 및 저 FPS의 비디오의 보여지는 순서는 랜덤(random)하게 조정될 수 있다. 이러한 랜덤한 조정은 평가자가 2개의 비디오들 중 어떤 것이 더 큰 FPS의 비디오인 가에 대한 선입견을 가지지 못하게 할 할 수 있다.
또한, 비디오 시퀀스의 길이가 소정의 기준 값 이하인 경우, 각 평가 문항 별로 2개의 비디오들이 2 회씩 또는 2 회 이상씩 평가자에게 보여질 수 있다. 예를 들면, 비디오 A 및 비디오 B는 A, B, A, B의 순서로 평가자에게 보여질 수 있다.
도 4에서, x 축 상의 바(bar)는 화질 평가의 대상인 비디오를 나타낸다. x 축 밑의 문자열은 비디오의 명칭을 나타낸다. y 축은 3개의 항목들의 평가자에게 선택된 비율들을 나타낸다. 3개의 항목들은 "고 화질(즉, 60 FPS)의 비디오의 화질이 더 좋다", "양 비디오들의 화질들이 같다" 및 "저 화질(즉, 30 FPS)의 비디오의 화질이 더 좋다"이다. 각 항목의 선택된 비율은, 전체 평가자들 중 각 항목을 선택한 평가자의 비율을 나타낼 수 있다. 비율의 단위는 퍼센트(%)일 수 있다.
항목들 중 "양 비디오들의 화질들이 같다" 및 "저 화질 비디오의 화질이 더 좋다"가 선택된 것은, 비디오의 변환 후에도 화질이 유지된 것으로 간주될 수 있다. 말하자면, 항목들 중 "양 비디오들의 화질들이 같다" 및 "저 화질 비디오의 화질이 더 좋다"가 선택된 것은, 변환된 비디오의 화질 또한 평가자를 만족시킨다는 것을 의미할 수 있다. 말하자면, 평가자들 중 "고 화질 비디오의 화질이 더 좋다"의 항목을 선택한 평가자만이 2개의 비디오들의 화질들 간의 차이를 느꼈다고 간주될 수 있다.
따라서, "양 비디오들의 화질들이 같다"가 선택된 비율 및 "저 화질 비디오의 화질이 더 좋다"가 선택된 비율의 합이 2개의 비디오들의 화질들 간의 차이를 인식하지 못하는 사람의 비율을 나타내는 "화질 만족도"로서 사용될 수 있다. "화질 만족도"의 단위는 퍼센트(%)일 수 있다.
도 4에서는, 17 개의 비디오 시퀀스들이 화질 차이를 인식하지 못하는 사람의 비율이 높은 순으로 정렬되었다. 도 4에 따르면, 7 개의 비디오 시퀀스에 대해서는 참가자의 75% 이상의 사람들이 고 화질 비디오 및 저 화질 비디오의 화질들 간의 차이를 느끼지 못한다.
전술된 것과 유사하게, HFR의 소스 비디오로부터 다양한 타겟 비디오들이 생성될 수 있다. 예를 들면, 타겟 비디오들의 FPS는 소스 비디오의 FPS의 1/4 및 1/8 등일 수 있다. 이러한 타겟 비디오들의 각각 및 소스 비디오에 대해서도 화질 만족도가 측정될 수 있다.
이러한 주관적 화질 평가의 결과는 기계 학습을 위한 그라운드 트루스로서 이용될 수 있다. 그라운드 트루스의 데이터의 품질은 평가자의 수가 증가할수록 향상될 수 있다. 또한, 그라운드 트루스의 데이터의 품질은 평가의 대상인 비디오 시퀀스의 개수가 증가할수록 향상될 수 있다.
페어와이즈 비교가 아닌 DSCQS가 주관적 화질 평가를 위해 사용된 경우, 1) DSCQS의 "고 화질 비디오의 오피니언 점수(opinion score)가 저 화질 비디오의 오피니언 점수보다 더 높은 경우"는 페어와이즈 비교의 "고 화질 비디오의 화질이 더 좋다"에 대응할 수 있다. 2) DSCQS의 "고 화질 비디오의 오피니언 점수(opinion score)가 저 화질 비디오의 오피니언 점수가 같은 경우"는 페어와이즈 비교의 "양 비디오들의 화질들이 같다"에 대응할 수 있다. 3) DSCQS의 "고 화질 비디오의 오피니언 점수(opinion score)가 저 화질 비디오의 오피니언 점수보다 더 낮은 경우"는 페어와이즈 비교의 "저 화질 비디오의 화질이 더 좋다"에 대응할 수 있다. 이러한 대응의 관계를 통해, DSCQS가 사용된 경우에도 전술된 페어와이즈 비교가 사용된 경우와 동일한 방식으로 화질 만족도가 측정될 수 있다.
특징 벡터
SURP(300)는 기계 학습을 이용하는 예측기일 수 있다. 기계 학습의 일 예로, SURP(300)는 서포트 벡터 머신(Support Vector Machine; SVM)을 이용할 수 있다.
비디오의 FPS가 변경되었을 때 비디오의 화질의 저하를 예측하기 위해서는 비디오의 화질에 영향을 미치는 특징이 특징 벡터로서 추출될 수 있어야 한다. 이하에서는 공간적 마스킹 효과(spatial masking effect), 시간적 마스킹 효과(temporal masking effect), 주목(salient) 영역 및 대비 민감도(constract sensitivity) 등의 인간의 시각 특성을 반영하는 다양한 특징 벡터 추출 방법이 설명된다.
SVM은, 입력 프레임의 전체 보다는, 예측을 위해 요구되는 입력 프레임의 정보를 보다 더 잘 표현하는 특징 벡터를 일반적으로 사용할 수 있다. 즉, SVM의 예측 성능은 어떤 정보를 특징 벡터로서 사용하는 가에 의해 좌우될 수 있다.
실시예에서, 특징 벡터가 인지 화질의 특성을 반영하기 위해, 특징 벡터는 비디오의 부분이 인지 화질에 적은 영향을 미치는지 아니면 인지 화질에 큰 영향을 미치는 지가 고려되도록 설계될 수 있다.
예를 들면, 비디오 중 인지 화질에 미치는 영향이 적은 부분은 공간적 마스킹 효과가 큰 부분 및 시간적 마스킹 효과가 큰 부분일 수 있다. 비디오 중 인지 화질에 미치는 영향이 큰 부분은 대비 민감도(Contrast Sensitivity; CS)가 높은 부분일 수 있다. 또한, 시각적 주목도(Visual Saliency; VS) 또한 인지 화질에 큰 영향을 미칠 수 있다. 따라서, 특징 벡터의 설계에 있어서 VS도 고려될 수 있다.
도 5는 일 실시예에 따른 특징 벡터(feature vector)의 추출의 절차를 설명한다.
단계(510)에서, SURP(300)는 각 프레임에 대해 공간적 임의 맵(Spatial Randomness Map; SRM)을 생성할 수 있다.
공간적 마스킹(spatial masking) 효과를 특징 벡터에 반영하기 위해 SRM이 사용될 수 있다. 시각적으로 잘 인지되지 않는 영역은 주로 임의(Randomness)가 높은 영역일 수 있다. 따라서, 공간적 임의(Spatial Randoness; SR)의 계산을 통해, 프레임 중 공간적 마스킹 영역이 결정될 수 있다.
SR의 영역의 특성은 주변의 다른 영역의 특성과 상이할 수 있다. 이러한 상이함은 주변의 영역의 정보로부터는 SR의 영역의 예측되기 어렵다는 것을 나타낼 수 있다. 따라서, SR을 측정하기 위해, 도 6과 같이 주변 영역 X으로부터 중앙 영역 Y가 예측될 수 있다.
도 6은 일 예에 따른 공간적 임의의 측정을 위한 예측 모델을 나타낸다.
도 6에서는 중앙의 Y 픽셀이 주변의 X 픽셀들로부터 예측되는 것이 도시되었다.
다시 도 5를 참조한다.
Y에 대한 최적 예측은 아래의 수학식 2와 같이 표현될 수 있다.
u는 공간적 위치를 나타낼 수 있다. H는 주변의 X 값들로부터 Y 값에 대한 최적의 예측을 제공하는 변환 행렬일 수 있다. 최소 평균 에러의 최적화 방법이 사용될 경우, H는 아래의 수학식 3과 같이 표현될 수 있다.
Rxy는 X 및 Y의 공분산(crosscorrelation) 행렬일 수 있다.
Rx는 X 자신에 대한 자기 상관(auto correlation) 행렬일 수 있다.
근사된 슈도인버스 행렬(approximated pseudoinverse matrix) 기법을 이용하여, Rx의 역행렬은 아래의 수학식 4에 따라 획득될 수 있다.
전술된 수학식 2, 수학식 3 및 수학식 4에 따라 아래의 수학식 5이 성립할 수 있다.
SURP(300)는 수학식 5에 기반하여 프레임의 각 픽셀 별로 SRM을 획득할 수 있다.
도 7은 일 예에 따른 SRM을 도시한다.
도 7에서, 밝은 픽셀은 주변의 픽셀로부터 예측이 잘 되지 않는 픽셀을 나타낼 수 있다. 말하자면, 밝은 픽셀은 공간적 임의가 높은 영역, 즉 공간적 마스킹 효과가 큰 영역을 나타낼 수 있다.
다시 도 5를 참조한다.
단계(515)에서, SURP(300)는 각 프레임에 대해 에지 맵(Edge Map: EM)을 생성할 수 있다.
SURP(300)는 각 프레임에 대해 소벨 에지(sobel edge) 연산을 사용하여 에지 맵을 생성할 수 있다.
단계(520)에서, SURP(300)는 각 프레임에 대해 평탄 맵(Smoothness Map; SM)을 생성할 수 있다.
SM은 프레임의 배경이 평탄한 영역인지 여부를 판별하기 위해 사용될 수 있다.
SURP(300)는 SRM의 블록들에 대해여 각 블록의 평탄 값을 계산할 수 있다. 각 블록의 평탄 값은 아래의 수학식 6에 의해 계산될 수 있다.
Nlc는 블록 내에서 기준 값보다 더 낮은 공간적 임의를 갖는 픽셀의 개수일 수 있다. 여기에서, 기준 값보다 더 낮은 공간적 임의는 낮은 복잡도(low complexity)를 의미할 수 있다.
Wb 2는 블록의 면적, 즉 블록 내의 픽셀들의 개수를 나타낼 수 있다. 예를 들면, Wb는 32일 수 있다. Wb의 값이 32인 것은, 32x32의 블록이 사용된다는 것을 나타낼 수 있다.
SURP(300)는 각 블록의 내부의 모든 픽셀들의 값을 상기의 블록의 평탄 값으로 설정함으로써 SM을 생성할 수 있다.
도 8은 일 예에 따른 SM을 도시한다.
SM에서 블록 별로 동일한 픽셀 값이 설정될 수 있다.
SM에서, 블록이 더 밝을수록, 배경은 더 평탄할 수 있다. 말하자면, 밝은 블록은 평탄한 배경을 나타낼 수 있다. 밝은 블록의 에지는 어두운 블록의 에지에 비해 더 잘 인지될 수 있다.
다시 도 5를 참조한다.
단계(525)에서, SURP(300)는 각 프레임에 대해 공간적 대비 맵(Spatial Contrast Map; SCM)을 생성할 수 있다.
자극 민감도(stimulus sensitivity)는 공간적 대비(Spatial Contrast)와 관련될 수 있다. 공간적 대비를 특징 벡터에 반영하기 위해 SCM이 사용될 수 있다.
SCM은 에지 및 평탄의 측정에 의해 획득될 수 있다. 평탄한(smooth) 배경 영역에서는 자극에 대해서 민감한 반응이 발생할 수 있다. 여기에서, 자극은 에지를 의미할 수 있다. 반면, 낮은 평탄을 갖는 배경 영역에서의 에지는 마스킹 효과로 인해 자극에 대한 낮은 민감도를 가질 수 있다. SCM은 이러한 특성을 반영하기 위한 맵일 수 있다.
SCM은 SM 및 EM의 서로 대응하는 픽셀들의 픽셀 값들의 곱들일 수 있다. SURP(300)는 SM 및 EM의 동일한 위치의 픽셀들의 픽셀 값의 곱을 SIM의 픽셀 값으로 설정할 수 있다.
SURP(300)는 아래의 수학식 7에 따라 SIM을 생성할 수 있다.
Y는 SCM, EM 및 SM의 각각에서의 동일한 위치의 픽셀일 수 있다.
도 9는 일 예에 따른 SCM을 도시한다.
도 9에서, 밝은 픽셀은 강한 에지이면서 평탄이 높은 배경을 나타낼 수 있다. 말하자면, 밝은 픽셀은 강한 에지를 나타내는 픽셀이거나, 평탄이 높은 배경을 나타내는 픽셀일 수 있다.
다시 도 5를 참조한다.
단계(530)에서, SURP(300)는 각 프레임에 대해 시각적 주목도 맵(Visual Saliency Map; VSM)을 생성할 수 있다.
인간의 시각 특성 상, 인간이 관심을 가지는 영역에 대한 자극은 인간이 관심을 가지지 않는 영역에 대한 자극보다 더 큰 영향을 미칠 수 있다. 이러한 시각 특징이 특징 벡터에 반영되도록, 시각적 주목도의 정보가 사용될 수 있다.
VSM의 일 예로, 하렐(Harel) 및 페로나(Perona)에 의해 제안된 그래픽 기반 시각적 주목도 방법(graphic based visual saliency method)이 사용될 수 있다.
도 10는 일 예에 따른 VSM을 도시한다.
도 10에서, 밝은 영역은 사람이 프레임의 영상을 볼 때 관심을 갖는 영역을 나타낼 수 있다. 말하자면, 밝은 영역은 주목도가 높은 영역일 수 있다. 어두운 영역은 사람이 프레임의 영상을 볼 때 관심을 가지지 않는 영역을 나타낼 수 있다. 말하자면, 어두운 영역은 주목도가 낮은 영역일 수 있다.
다시 도 5를 참조한다.
단계(535)에서, SURP(300)는 각 프레임에 대해 공간적 영향 맵(Spatial Influence Map; SIM)을 생성할 수 있다.
SIM은, 시각적인 자극인 예지의 주변 정보뿐만 아니라, 픽셀이 시각적인 주목도(visual saliency) 영역에 해당하는지 여부를 반영하는 맵일 수 있다.
SIM은 SCM 및 VSM의 서로 대응하는 픽셀들의 픽셀 값들의 곱들일 수 있다. SURP(300)는 SCM 및 VSM의 동일한 위치의 픽셀들의 픽셀 값의 곱을 SCM의 픽셀 값으로 설정할 수 있다.
SURP(300)는 아래의 수학식 8에 따라 SCM을 생성할 수 있다.
Y는 SIM, SCM 및 VSM의 각각에서의 동일한 위치의 픽셀일 수 있다.
도 11은 일 에에 따른 SIM을 도시한다.
다시 도 5를 참조한다.
SURP(300)는 기본 결정 단위의 프레임들의 공간적 특성 및 시간적 특성에 기반하여 특징 벡터를 획득할 수 있다. 전술된 단계들(510, 515, 520, 525, 530 및 535)에서는 프레임의 공간적 특성을 반영하여 특징 벡터를 획득하는 과정이 설명되었다. 아래의 단계들(540, 545, 550 및 555)에서는 프레임의 시간적 특성을 반영하여 특징 벡터를 획득하는 과정이 설명된다.
시간적 마스킹 효과가 높은 영역은 불규칙한 움직임을 갖는 영역 또는 갑작스러운 움직임을 갖는 영역일 수 있다. 즉, 임의가 높은 영역은 시간적 마스킹 효과가 높은 영역일 수 있으며, 프레임에서 임의가 높은 영역을 검출함으로써 시간적 마스킹 효과가 높은 영역이 결정될 수 있다.
시간적 특성에 기반하여 특징 벡터를 획득함으로써, SURP(300)는 불규칙한 움직임 또는 갑작스러운 움직임에 민감하게 반응하는 인간의 시각적 특성을 특징 벡터의 획득에 대하여 반영할 수 있다.
전술된 것과 같이, 공간적 임의는 주변 픽셀로부터 예측하는 모델에 의해 계산될 수 있다. 이러한 계산 방식과 유사하게, 시간적 임의는 이전의 프레임들로부터 현재의 프레임을 예측하는 모델을 통해 계산될 수 있다.
시간적 임의를 계산하기 위해, 우선 GOP의 프레임들의 입력 구간은 2 개의 구간들로 분할될 수 있다.
구간은 아래의 수학식 9와 같이 표현될 수 있다.
Y는 구간을 나타낼 수 있다. k는 구간의 시작 프레임을 나타낼 수 있다. l은 구간의 마지막 프레임으로 구성됨을 나타낼 수 있다. 말하자면, Yk l은 구간이 k 번째 프레임부터 l 번째 프레임으로 구성됨을 나타낼 수 있다.
수학식 9가 행렬로서 저장될 때, 행렬의 열들은 프레임들에 각각 대응할 수 있다. 말하자면, 구간을 행렬로서 저장하는 것은 아래의 1) 및 2)의 단계로 이루어질 수 있다.
1) 구간의 프레임들은 1 차원의 행 벡터의 형태로 배열될 수 있다. 예를 들면, 프레임의 두 번째 행은 프레임의 첫 번째 행에 연쇄(concatenate)될 수 있다. 프레임의 행들은 순차적으로 연쇄될 수 있다.
2) 행 벡터는 열 벡터의 형태로 전치(transpose)될 수 있다. 프레임들의 열 백터들로 구성된 행렬이 저장될 수 있다.
각 구간의 길이가 d일 때, 2 개의 구간들은 Yk+d l 및 Yk l d로 표현될 수 있다.
단계(540)에서, SURP(300)는 시간적 예측 모델(Temporal Prediction Model; TPM)을 생성할 수 있다.
아래의 도 12에서는, GOP의 크기가 8이면서, d의 값이 4인 경우가 예시된다.
도 12은 일 예에 따른 시간적 예측 모델의 생성에 사용되는 프레임 및 예측 대상 프레임 간의 관계를 도시한다.
도 12에서, "프레임 0"은 제1 프레임을 나타낼 수 있고, "프레임 1"은 제2 프레임을 나타낼 수 있다. 말하자면 "프레임 n"은 제n+1 프레임일 수 있다.
도 12에 따르면, "프레임 0"부터 "프레임 3"까지가 첫 번째 구간일 수 있고, "프레임 4"부터 "프레임 7"까지가 두 번째 구간일 수 있다.
첫 번째 구간의 프레임들은 TPM을 위해 사용될 수 있으며, TPM에 의해 두 번째 구간의 프레임들이 예측될 수 있다.
다시 도 5를 참조한다.
TPM은 GOP의 첫 번째 구간을 이용하여 생성될 수 있다. 예를 들면, 크기가 8인 GOP에 대해, TPM은 제1 프레임, 제2 프레임, 제3 프레임 및 제4 프레임을 이용하여 생성될 수 있다.
SURP(300)는 아래의 수학식 10에 기반하여 시간적 예측을 수행할 수 있다.
여기에서, A는 최적 예측을 제공하는 변환 행렬일 수 있다.
T는 예측 행렬일 수 있다.
A는 슈도 인버스(pseudo inverse)를 이용하여 아래의 수학식 11과 같이 계산될 수 있다.
그러나, 수학식 11의 각 행렬들은 매우 크기 때문에, 수학식 11의 적용은 실질적으로 불가능할 수 있다.
아래의 수학식 12의 상태 시퀀스(state sequence) 표현을 사용함에 따라 행렬 A가 보다 용이하게 계산될 수 있다.
여기에서, Y는 X의 상태 행렬(state matrix)일 수 있다.
C는 부호화(encoding) 행렬일 수 있다.
W는 바이어스 행렬일 수 있다.
아래의 수학식 13은 Y에 대한 특이 값 분해(singular value decomposition)를 나타낼 수 있다. 이 때, W는 영 행렬로 가정될 수 있다.
수학식 12 및 수학식 13을 비교하면, SURP(300)는 아래의 수학식 14에 따라 최적 상태 벡터(optimal state vector)를 도출할 수 있다.
SURP는 아래의 수학식 15에 따라 시간적 예측 에러인 시간적 임의를 획득할 수 있다.
도 13a 내지 13c는 연속된 일 예에 따른 3개의 프레임들을 나타낸다.
도 13a는 일 예에 따른 연속된 3개의 프레임들 중 첫 번째의 프레임을 나타낸다.
도 13b는 일 예에 따른 연속된 3개의 프레임들 중 두 번째의 프레임을 나타낸다.
도 13c는 일 예에 따른 연속된 3개의 프레임들 중 세 번째 프레임을 나타낸다.
다음으로, 3개의 프레임들에 대한 맵들이 도시된다.
도 13d는 일 예에 따른 연속된 3개의 프레임들에 대한 시간적 임의 맵(Temporal Randomness Map; TRM)을 나타낸다.
도 13e는 일 예에 따른 연속된 3개의 프레임들에 대한 공간시간적 영향 맵(SpatioTemporal Influence Map; STIM)을 나타낸다.
도 13f는 일 예에 따른 연속된 3개의 프레임들에 대한 가중치가 부여된 공간시간적 영향 맵(Weighted SpatioTemporal Influence Map; WSTIM)을 나타낸다.
TRM, STIM 및 WSTIM에 대해서 아래에서 상세하게 설명된다.
다시 도 5를 참조한다.
단계(545)에서, SURP(300)는 시간적 임의 맵(Temporal Randomness Map; TRM)을 생성할 수 있다.
TRM은 제4 프레임, 제5 프레임, 제6 프레임 및 제7 프레임에 대한 맵일 수 있다.
TRM에서, 밝은 픽셀은 시간적 임의가 큰 영역을 나타낼 수 있다. 시간적 임의가 큰 영역은 시각적인 인지 효과가 적은 영역일 수 있다.
단계(550)에서, SURP(300)는 공간시간적 영향 맵(SpatioTemporal Influence Map; STIM)을 생성할 수 있다.
STIM은 제4 프레임, 제5 프레임, 제6 프레임 및 제8 프레임에 대한 맵일 수 있다.
사람이 비디오를 볼 때, 사람의 시각적 특성에 따라 사람은 공간적 시각적 자극 및 시간적 시각적 자극을 함께 인지할 수 있다. 따라서, 특징 벡터에서도 공간적 특성 및 시간적 특성이 동시에 반영될 필요가 있다.
이러한 공간적 특성 및 시간적 특성의 반영을 위해, 아래의 수학식 16과 같이 STIM이 정의될 수 있다.
Y는 특정한 위치의 픽셀을 나타낼 수 있다.
STIM은 SIM 및 TRM의 서로 대응하는 픽셀들의 픽셀 값들의 곱들일 수 있다. SURP(300)는 SIM 및 TRM의 동일한 위치의 픽셀들의 픽셀 값의 곱을 STIM의 픽셀 값으로 설정할 수 있다.
단계(555)에서, SURP(300)는 가중치가 부여된 공간시간적 영향 맵(Weighted SpatioTemporal Influence Map; WSTIM)을 생성할 수 있다.
WSTIM은 제4 프레임, 제5 프레임, 제6 프레임 및 제8 프레임에 대한 맵일 수 있다.
WSTIM은 전체의 자극에서 상대적으로 큰 자극을 강조할 수 있다.
SURP(300)는 SIM의 픽셀의 값이 SIM의 픽셀들의 평균 값으로 나뉘어진 값을 WSTIM의 픽셀 값으로 설정할 수 있다.
WSTIM은 프레임들 내에 작은 물체의 빠른 움직임의 자극이 있는 경우에 효과적일 수 있다.
단계(560)에서, SURP(300)는 SURP(300)는 특성 표현자(feature representor)의 기능을 수행할 수 있다. SURP(300)는 TRIM, STIM 및 WSTIM 중 적어도 하나의 결과를 출력할 수 있다.
SURP(300)는 프레임의 기정의된 크기의 블록들의 각 블록 별로 TRIM, STIM 및 WSTIM 중 적어도 하나의 평균을 계산할 수 있다. SURP(300)는 블록들의 평균들을 내림차순으로 정렬된 순서로 출력할 수 있다. 예를 들면, 기정의된 크기는 64x64일 수 있다.
전술된 맵들은 영상과 같은 데이터를 나타내는 행렬의 형태로 표현될 수 있다. 전술된 맵들을 특징 벡터에 적합한 벡터의 형태로 표현하는 특성 표현자의 과정이 요구된다.
SURP(300)는 맵들의 각 맵을 기정의된 크기의 블록의 단위로 분할할 수 있다. 예를 들면, 비디오가 에이치디(HD) 비디오인 경우, 블록의 크기는 64x64일 수 있다. SURP(300)는 각 블록 별로, 각 블록의 픽셀들의 평균 값을 계산할 수 있다. 또한, SURP(300)는 위치에 대한 종속성을 갖지 않게 하기 위해, 맵의 블록들을 평균 값이 큰 블록부터 작은 블록으로의 순서로 정렬할 수 있다.
이러한 과정을 통해 각 맵은 히스토그램과 같은 1차원 배열의 형태로 표현될 수 있다.
비디오가 HD 비디오인 경우, 1차원 배열의 크기는 507일 수 있다.
1차원 배열은 블록의 평균 값의 순서로 정렬된 배열일 수 있다. 따라서, 일반적으로, 큰 값들은 1차원 배열의 앞 부분에 배치될 수 있고, 뒤로 갈수록 작은 값들이 배치될 수 있다. 따라서, 1차원 배열의 값들 중 앞의 일부 만이 특징 벡터로서 사용되더라도, 1차원 배열의 값들의 전부가 사용된 것에 비해 성능의 차이가 크지 않을 수 있다. 이러한 특징에 따라, SURP(300)는 1차원 배열의 값들의 전체를 특징 벡터로서 사용하는 대신, 큰 값들을 갖는 앞의 일부 만을 특징 벡터로서 사용할 수 있다. 여기에서, 일부분은 기정의된 길이 또는 기정의된 비율일 수 있다. 1차원 배열에서, 큰 값들은 배열의 앞 부분에 있을 수 있고, 있을 수 있다. 일 예로, SURP(300)는 1차원 배열의 값들 중 앞의 100개만을 사용할 수 있다.
모델의 학습
SURP(300)는 SVM을 이용할 수 있다. SURP(300)의 기계 학습은 아래의 1) 내지 3)의 작업들일 수 있다.
1) SURP(300)는 GOP로부터 특징 벡터를 추출할 수 있다.
2) SURP(300)는 추출된 특징 벡터를 SVM의 입력으로서 사용하여 출력 예측을 수행할 수 있다.
3) SURP(300)는 출력 예측에 의해 출력된 값이 그라운드 트루스에 최대한 가까운 값을 갖도록 SVM을 생성할 수 있다.
아래에서는, 60 FPS의 비디오가 30 FPS의 비디오로 변경될 때의 화질의 저하를 예측하기 위해 모델을 학습하는 일 예가 설명된다.
우선, 호모지니어스 비디오의 데이터 세트에 대한 주관적 화질 평가를 통해 그라운드 트루스가 이미 획득되었다.
다음으로, SURP(300)는 60 FPS의 비디오에 대해 TRM, STIM 및 WSTIM의 각각을 구할 수 있다, 또한, SURP(300)는 비디오의 FPS가 30이라는 내부적인 가정 하에 TRM, STIM 및 WSTIM의 각각을 구할 수 있다. 또한, SURP(300)는 60 FPS의 비디오의 TRM, STIM 및 WSTIM을 특징 표현자를 통해 1차원 배열로 변환할 수 있고, SURP(300)는 30 FPS의 비디오의 TRM, STIM 및 WSTIM을 특징 표현자를 통해 1차원 배열로 변환할 수 있다.
다음으로, SURP(300)는 통해 60 FPS의 비디오의 특징 벡터 및 30 FPS의 비디오의 특징 벡터가 그라운드 트루스에 상응하는 차이를 갖도록 SVM에 대한 트레이닝을 수행할 수 있다.
다음으로, 학습이 완료되면, SURP(300)는 SVM의 내부를 더 이상 변경하지 않고, 60 FPS의 GOP를 사용하여 60 FPS의 GOP의 특징 벡터 및 30 FPS의 GOP의 특징 벡터를 각각 추출할 수 있다.
SURP(300)는 60 FPS의 GOP의 특징 벡터 및 30 FPS의 GOP의 특징 벡터를 사용하여 60 FPS의 GOP의 화질 및 30 FPS의 GOP의 화질 간의 화질 차이의 정도를 예측할 수 있고, 예측된 화질 차이의 정도에 기반하여 최종적으로 화질 만족도를 생성 및 출력할 수 있다.
여기에서, 60 FPS 및 30 FPS는 단지 예시적인 것이다. SURP(300)는, 전술된 60 FPS 및 30 FPS에서의 화질 만족도의 생성과 유사하게, 다른 FPS들 간의 변환에 대해서도 화질 만족도를 생성 및 출력할 수 있다. 예를 들면, FPS는 60에서 15로 변경될 수 있다. 또는, FPS는 120에서 60으로 변경될 수 있다.
SVM의 특징 벡터를 생성하기 위해서는 전술된 SIM, TRM, STIM 및 WSTIM 중 하나의 맵만이 사용될 수 있고, 2개 이상의 맵들이 동시에 사용될 수도 있다.
또한, 여러 개의 SVM이 캐쉬케이드(cascade)로 결합될 수 있다. 예를 들면, 우선 TRM을 특징 벡터로 사용하는 SVM이 적용될 수 있고, 다음으로 STM 및 직전의 SVM의 결과를 특징 벡터로 사용하는 SVM이 적용될 수 있다. 또한, 마지막으로 WSTIM 및 직전의 SVM의 결과를 특징 벡터로 사용하는 SVM이 적용될 수 있다.
최적의 프레임 율의 결정
이하에서는 SURP(300)를 이용하여 기본 결정 단위 별로 최적 프레임 율을 결정하고, 결정된 최적 프레임 율을 사용하여 비디오에 대한 최적의 부호화를 수행하는 방법이 설명된다.
SURP(300)는 비디오의 기본 결정 단위에 대해서 주어진 최소의 화질 만족도 또는 기정의된 화질 만족도의 조건을 충족시키는 기본 결정 단위의 최소의 FPS를 예측할 수 있고, 최소의 화질 만족도로 변환된 기본 결정 단위를 제공할 수 있다. SURP(300)는 최소의 화질 만족도로 변환된 기본 결정 단위를 부호화할 수 있다.
도 14는 일 예에 따른 FPS 별 화질 만족도를 나타낸다.
전술된 것과 같이 SURP(300)는 특정한 FPS로 변환된 GOP의 화질 만족도를 예측할 수 있고, 예측된 화질 만족도를 출력할 수 있다. 전술된 기능을 응용하면, SURP(300)는 비디오의 GOP들의 각각에 대해, 복수의 FPS들의 복수의 화질 만족도들을 예측 및 출력할 수 있다.
GOP에 대해 복수의 FPS들의 복수의 화질 만족도들을 예측함에 따라, 복수의 예측된 화질 만족도들이 부호화에 사용될 수 있다.
도 14에서, 가로의 첫 줄은 비디오의 복수의 GOP들을 나타낸다. 세로의 첫 줄은 GOP의 변환된 FPS를 나타낸다. 또한, GOP 별로, 변환된 FPS에서의 화질 만족도가 %가 도시되었다.
도 14에서 소스 비디오는 60 FPS일 수 있다.
SURP(300)는 타겟 비디오의 복수의 FPS들에 대해 순차적으로 기계 학습을 수행할 수 있다. 먼저, 비디오의 FPS가 30으로 변환된 경우에 대해, SURP(300)는 기계 학습을 수행할 수 있다. 또한, 비디오의 FPS가 15로 변환된 경우에 대해, SURP(300)는 기계 학습을 수행할 수 있다. 또한, 비디오의 FPS가 7.5로 변환된 경우에 대해, SURP(300)는 기계 학습을 수행할 수 있다. 말하자면, SURP(300)는 타겟 비디오의 FPS들의 각각에 대해 기계 학습을 수행할 수 있다.
기계 학습이 된 상태에서, SURP(300)는 순차적으로 복수의 FPS들의 각 FPS에 대해서, 비디오의 GOP의 화질 만족도를 예측할 수 있다. 예를 들면, 타겟 비디오의 FPS가 30이 때, 타겟 비디오의 3 개의 GOP들의 화질 만족도는 80%, 90% 및 50%일 수 있다. 타겟 비디오의 FPS가 15일 때, 3 개의 GOP들의 화질 만족도는 70%, 60% 및 45%일 수 있다.
이러한 예측을 통해, SURP(300)는 복수의 FPS들에 대해서 GOP의 화질 만족도들을 계산할 수 있다.
또한, SURP(300)는 소스 비디오의 GOP의 화질 만족도는 100%인 것으로 간주할 수 있다.
도 14에서, 마지막의 행은 요구사항을 나타낼 수 있다. 요구사항은 요구 화질(required pixture quality) 또는 최소 화질 만족도를 나타낼 수 있다. 말하자면, 마지막의 행은 화질 만족도가 75%의 이상이 되어야 한다는 것을 나타낼 수 있다.
도 15는 일 예에 따른 GOP 별로 결정된 최적 프레임 율을 나타낸다.
SURP(300)는 각 GOP에 대하여, 요구사항을 충족시키는 최적의 FPS를 결정할 수 있다. 여기에서, 최적의 FPP는 요구사항의 값의 이상이면서, 가장 낮은 화질 만족도를 갖는 GOP의 FPS일 수 있다. 말하자면, 최적의 FPS는 요구사항을 충족시키는 최저의 FPS일 수 있다. 만약, 변환에 의해 생성된 타겟 비디오의 FPS들 중, 요구사항의 이상인 화질 만족도를 충족시키는 FPS가 존재하지 않을 경우, 최적의 FPS는 소스 비디오의 FPS일 수 있다.
도 15에서는 복수의 GOP들의 각각에 대해 결정된 최적 프레임 율이 도시되었다.
예를 들면, 도 14에 따르면, 제1 GOP의 복수의 FPS들에 대한 화질 만족도들은 80%, 70% 및 50%일 수 있다. 이 중, 요구사항의 이상이며 최저의 화질 만족도는 30 FPS에서의 80일 수 있다. 따라서, 제1 GOP의 최적 프레임 율은 30 FPS일 수 있다. 제2 GOP의 복수의 FPS들에 대한 화질 만족도들은 90%, 80% 및 50%일 수 있다. 이 중, 요구사항의 이상이며 최저의 화질 만족도는 15 FPS에서의 80일 수 있다. 따라서, 제2 GOP의 최적 프레임 율은 15 FPS일 수 있다. 제3 GOP의 복수의 FPS들에 대한 화질 만족도들은 50%, 45% 및 40%일 수 있다. 화질 만족도들 중 요구사항의 이상인 것이 존재하지 않으므로, 제3 GOP는 변환될 수 없다. 따라서, 제3 GOP의 최적 프레임 율은 소스 비디오의 FPS인 60 FPS일 수 있다.
복수의 GOP들의 각 GOP는 각 GOP의 최적 프레임 율로 변환될 수 있고, 비디오의 변환된 GOP들은 부호화될 수 있다.
도 16은 일 예에 따른 최적 프레임 율을 사용하는 GOP의 부호화 방법의 흐름도이다.
우선, 입력 비디오는 60 FPS인 것으로 예시된다. 입력 비디오의 GOP들이 순차적으로 단계들(1610, 1620, 1630, 1640, 1650 및 1660)에 의해 처리될 수 있다.
단계(1610)에서, SURP(300)는 60 FPS의 GOP를 30 FPS의 GOP로 변환할 수 있고, 30 FPS의 GOP의 화질 만족도를 계산할 수 있다.
단계(1620)에서, SURP(300)는 60 FPS의 GOP를 15 FPS의 GOP로 변환할 수 있고, 15 FPS의 GOP의 화질 만족도를 계산할 수 있다.
단계(1630)에서, SURP(300)는 60 FPS의 GOP를 7.5 FPS의 GOP로 변환할 수 있고, 7.5 FPS의 GOP의 화질 만족도를 계산할 수 있다.
단계(1640)에서, SURP(300)는 최적 프레임 율을 결정할 수 있다.
SURP(300)는 요구 화질을 수신할 수 있다. 요구 화질은 전술된 최소 화질 만족도를 나타낼 수 있다.
SURP(300)는 기정의된 FPS로 변경된 GOP들 중 최소 화질 만족도를 충족시키는 최적의 GOP를 선택할 수 있다. 여기에서, 최적의 GOP는 가장 낮은 FPS를 갖는 GOP일 수 있다.
또는, SURP(300)는 변경된 GOP들의 FPS들 중 최소 화질 만족도를 충족시키는 최적 프레임 율을 결정할 수 있다. SURP(300)는 변경된 GOP들의 화질 만족도들 중 최소 화질 만족도의 이상이면서, 가장 작은 화질 만족도를 갖는 GOP 또는 상기의 GOP의 FPS를 선택할 수 있다. 최적 프레임 율은 선택된 FPS 또는 선택된 GOP의 FPS일 수 있다.
단계(1650)에서, SURP(300)는 최적 프레임 율의 GOP의 FPS를 선택할 수 있다. SURP(300)는 GOP의 FPS를 최적 프레임 율로 변환할 수 있다. 또는, SURP(300)는 입력 비디오의 GOP 및 단계들(1610, 1620 및 1630)에 의해 변경된 GOP들 중 최적 프레임 율의 GOP를 선택할 수 있다.
단계(1660)에서, SURP(300)는 단계(1650)에서 선택된 GOP의 부호화를 수행할 수 있다.
도 17은 일 예에 따른 최적 프레임 율의 결정 방법의 흐름도이다.
도 16을 참조하여 전술된 단계(1640)는 아래의 단계들(1710, 1720 및 1730)을 포함할 수 있다.
SURP(300)는 변경된 GOP들에 대해, 높은 FPS의 GOP로부터 낮은 FPS의 GOP의 순서로, 순차적으로 GOP가 요구 화질을 충족시키는지 여부를 검사할 수 있다. SURP(300)는 요구 화질을 충족시키지 못하는 GOP의 바로 이전의 GOP를 선택할 수 있다.
변경된 GOP들 중 첫 번째의 GOP가 요구 화질을 충족시키지 못하는 경우 소스 비디오의 GOP가 선택될 수 있다. 말하자면, 변경된 GOP들 중 어떤 GOP도 요구 화질을 충족시키지 못하는 경우 소스 비디오의 GOP가 선택될 수 있다.
변경된 GOP들 중 마지막의 GOP가 요구 화질을 충족시키지 못하는 경우 마지막의 GOP가 선택될 수 있다. 말하자면, 변경된 GOP들 중 모든 GOP들이 요구 화질을 충족시키는 경우 가장 낮은 FPS의 GOP가 선택될 수 있다.
단계(1710)에서, SURP(300)는 30 FPS의 GOP가 요구 화질을 충족시키는지 여부를 검사할 수 있다. 30 FPS의 GOP가 요구 화질을 충족시키지 못하는 경우 SURP(300)는 60 FPS를 최적 프레임 율로 선택할 수 있고, 60 FPS의 GOP를 제공할 수 있다. 30 FPS의 GOP가 요구 화질을 충족시키는 경우 단계(1720)가 수행될 수 있다.
단계(1720)에서, SURP(300)는 15 FPS의 GOP가 요구 화질을 충족시키는지 여부를 검사할 수 있다. 15 FPS의 GOP가 요구 화질을 충족시키지 못하는 경우 SURP(300)는 30 FPS를 최적 프레임 율로 선택할 수 있고, 30 FPS의 GOP를 제공할 수 있다. 15 FPS의 GOP가 요구 화질을 충족시키는 경우 단계(1730)가 수행될 수 있다.
단계(1730)에서, SURP(300)는 7.5 FPS의 GOP가 요구 화질을 충족시키는지 여부를 검사할 수 있다. 7.5 FPS의 GOP가 요구 화질을 충족시키지 못하는 경우 SURP(300)는 15 FPS를 최적 프레임 율로 선택할 수 있고, 15 FPS의 GOP를 제공할 수 있다. 7.5 FPS의 GOP가 요구 화질을 충족시키는 경우 SURP(300)는 7.5 FPS를 최적 프레임 율로 선택할 수 있고, 7.5 FPS의 GOP를 제공할 수 있다.
도 18은 일 예에 따른 시간적 식별자(temporal identifier)를 갖는 프레임들의 계층적인 구조를 나타낸다.
도 18에서는, 9개의 프레임들이 도시되었다. 9개의 프레임들은 "프레임 0" 내지 "프레임 8"일 수 있다.
각 프레임들은 시간적 식별자(Temporal Identifier; TI)를 가질 수 있다. 또한, 각 프레임은 I 프레임, P 프레임 또는 B 프레임일 수 있다.
전술된 것과 같이, SURP(300)를 통해 복수의 FPS들로 GOP가 변환된 경우에, 복수의 변환된 GOP들의 화질 만족도가 예측될 수 있다. 비디오의 부호화에 의해 생성된 비트스트림이 화질 만족도와 관련된 화질 만족도 정보를 포함할 경우, 화질 만족도를 유지하면서, 선택적인 시간적 스케일러빌리티(Temporal Scalability; TS)가 지원되는 개선된 비트스트림이 제공될 수 있다.
에이치이브이씨(High Efficiency Video Coding; HEVC) 규격에서는, 각 프레임의 TI는 엔에이엘(Network Abstraction Layer; NAL) 헤더를 통해 전송될 수 있다. 예를 들면, NAL 헤더의 TI 정보 "nuh_temporal_id_plus1"은 프레임의 TI를 나타낼 수 있다.
NAL 헤더의 시간적 식별자 정보를 통해, 화질 만족도 정보를 제공하는 TS가 제공될 수 있다.
GOP의 크기가 8인 경우, 도 18의 계층적인 예측 구조가 사용될 때, TI의 값이 3인 홀수 번호의 프레임들이 GOP에서 제거될 경우, GOP의 FPS가 1/2이 될 수 있다. 즉, GOP의 FPS가 60에서 30으로 변경될 수 있다.
추가로, TI의 값이 2인 "프레임 2" 및 "프레임 6"이 제거될 경우, GOP의 FPS가 1/4이 될 수 있다. 즉, GOP의 FPS가 60에서 15로 변경될 수 있다.
TS의 제공에 있어서, TI만이 사용될 경우 비디오는 고정된 FPS를 가질 수 있다. 예를 들면, 60 FPS의 비디오의 재생에 있어서, TI가 3인 프레임이 재생에서 제외될 경우, 비디오 전체에 대해 고정된 30 FPS가 적용될 수 있다. 이렇게, TI 만을 고려하는 TS가 사용될 경우, 비디오의 중간에 빠른 움직임의 객체가 존재할 경우, 빠른 움직임의 객체에 대해 시청자가 인지할 수 있는 큰 화질 저하가 발생할 수 있다.
개선된 시간적 스케일러빌러티
이하에서는, SURP(300)에 의해 생성된 화질 만족도 정보를 사용하여 개선된 시간적 스케일러빌리트를 제공하는 부호화 방법 및 복호화 방법이 설명된다.
전술된 SURP(300)을 이용하면, GOP 별로 TS가 적용될 수 있다. 말하자면, 전술된 SURP(300)을 이용하면 복수의 FPS들의 각 FPS에 대해 GOP의 화질 만족도들이 예측될 수 있다. GOP의 화질 예측도들을 이용하면 화질을 유지하면서도 TS가 제공될 수 있다.
SURP(300)는 TI들의 각각에 대해, 각 TI에 대응하는 화질 만족도 정보를 결정할 수 있다. 화질 만족도 정보는 화질 만족도를 나타낼 수 있다. 여기에서, 특정한 TI에 대응하는 화질 만족도 정보는 특정한 TI의 이상의 TI(들)의 프레임들이 부호화, 복호화 또는 재생에서 제거되었을 경우의 화질에 대한 화질 만족도를 나타낼 수 있다.
예를 들면, "프레임 x"는 GOP가 어떤 FPS로 재생되는가에 따라 재생에 포함될 수도 있고, 재생에서 제외될 수도 있다. FPS에 따라서, "프레임 x"가 TS에 의해 복호화 또는 재생에서 제외될 수 있다. 이러한 경우, "프레임 x"가 재생에서 포함되지 않는 FPS들 중 최대의 FPS가 y이고, FPS가 y일 때의 화질 만족도가 z이고, "프레임 x"의 TI가 w이면, TI w에 대응하는 화질 만족도는 z일 수 있다.
또한, GOP에서, 동일한 TI를 갖는 프레임들은 동일한 화질 만족도 정보를 공통으로 가질 수 있다. 따라서, 요구되는 화질 만족도에 따라서, 후술될 복호화 장치(2700)는 특정한 TI를 갖는 프레임들의 재생 여부를 적응적으로 선택할 수 있다.
예를 들면, 요구되는 화질 만족도가 Z라는 것은, 대응하는 화질 만족도가 Z 이하인 TI의 프레임들이 재생에 포함되어야 한다는 것을 나타낼 수 있다. 또한, 이러한 결정은, 요구되는 화질 만족도가 Z일 때, Z보다 큰 화질 만족도에 대응하는 TI의 프레임들은 재생에서 제외될 수 있다는 것을 나타낼 수 있다.
TI에 대응하는 화질 만족도는 프레임의 접근 유닛(access unit)의 에스이아이(SEI) 메시지에 포함될 수 있으며, NAL 유닛 헤더에 포함될 수 있다. 이 때, SEI 메시지 또는 NAL 유닛 헤더는 화질 만족도 정보의 값을 직접 포함할 수 있다. 또는, SEI 메시지 또는 NAL 유닛 헤더는 화질 만족도 테이블의 인덱스의 값을 포함할 수 있다.
GOP에서, 동일한 TI를 갖는 프레임들은 동일한 화질 만족도 정보를 가질 수 있다. 따라서, GOP에서, 각 TI 별로, 각 TI의 첫 번째 프레임에서만 SEI를 통해 화질 만족도 정보가 부호화 장치(2400)로부터 복호화 장치(2700)로 전송될 수 있다. 또는, GOP의 첫 번째 프레임에서, 모든 TI들에 대한 화질 만족도 정보가 한 번에 전송될 수도 있다.
도 19는 일 예에 따른 화질 만족도를 포함하는 메시지를 나타낸다.
도 19에서, 프레임의 접근 유닛(access unit)의 에스이아이(SEI) 메시지는 화질 만족도 정보를 포함할 수 있다. 말하자면, 화질 만족도 정보는 프레임의 접근 유닛(access unit)의 에스이아이(Supplemental Enhancement Information; SEI) 메시지를 통해 제공될 수 있다.
도 19에서, "SEI_Temporal_ID_SURP"는 화질 만족도 정보를 제공하기 위해 사용되는 데이터를 나타낼 수 있다. "Surp_value"는 화질 만족도 정보를 나타낼 수 있다.
예를 들면, "Surp_value"의 값이 70인 것은, 화질 만족도가 "70%"라는 것을 나타낼 수 있다.
도 20은 일 예에 따른 화질 만족도 테이블의 인덱스를 포함하는 메시지를 나타낸다.
도 20에서, 프레임의 접근 유닛(access unit)의 에스이아이(SEI) 메시지는 화질 만족도 정보를 포함할 수 있다. 말하자면, 화질 만족도 정보는 프레임의 접근 유닛(access unit)의 에스이아이(Supplemental Enhancement Information; SEI) 메시지를 통해 제공될 수 있다.
도 20에서, "SEI_Temporal_ID_SURP"는 화질 만족도 정보를 제공하기 위해 사용되는 데이터를 나타낼 수 있다. "Surp_value_idx"는 화질 만족도 테이블의 인덱스일 수 있다.
비디오 또는 GOP에서 사용되는 화질 만족도의 값들은 화질 만족도 테이블에서 테이블로서 미리 정의되어 있을 수 있다. 예를 들면, 화질 만족도 테이블은 {90, 60, 30}의 값들을 가질 수 있다. 이러한 값들은 90, 60 및 30의 화질 만족도들이 사용된다는 것을 나타낼 수 있다. "Surp_value_idx"의 값이 0이면, 화질 만족도 테이블 중 인덱스 0의 값, 즉 90 또는 90%가 화질 만족도의 값임을 나타낼 수 있다. "Surp_value_idx"의 값이 1이면, 화질 만족도 테이블 중 인덱스 1의 값, 즉 60 또는 60%가 화질 만족도의 값임을 나타낼 수 있다.
도 21은 일 예에 따른 화질 만족도들의 전체를 포함하는 메시지를 나타낸다.
도 21에서, 하나의 SEI 메시지는 GOP의 모든 프레임들의 모든 TI들의 화질 만족도 정보를 포함할 수 있다.
도 21에서, "Max_Temporl_ID"는 TI들의 최대의 개수를 나타낼 수 있다. "Temoporal ID[i]"는 값이 i 또는 i1인 TI의 인덱스를 나타낼 수 있다. 또는, "Temoporal ID[i]"는 i 번째 TI의 화질 만족도 정보를 나타낼 수 있다.
화질 만족도 정보는 화질 만족도의 값 자체를 나타내거나, 화질 만족도 테이블의 인덱스를 나타낼 수 있다. 도 21에서는, "Temoporal ID[i]"가 화질 만족도 테이블의 인덱스를 나타내는 것으로 예시되었다.
도 22는 일 예에 따른 화질 만족도 정보의 생성 방법을 도시한다.
도 22는 일 예에 따른 화질 만족도 정보를 포함하는 GOP의 부호화 방법의 흐름도이다.
우선, 입력 비디오는 60 FPS인 것으로 예시된다. 입력 비디오의 GOP들이 순차적으로 단계들(2210, 2220, 2230, 2240 및 2250에 의해 처리될 수 있다.
단계(2210)에서, SURP(300)는 60 FPS의 GOP를 30 FPS의 GOP로 변환할 수 있고, 30 FPS의 GOP의 화질 만족도를 계산할 수 있다.
단계(2220)에서, SURP(300)는 60 FPS의 GOP를 15 FPS의 GOP로 변환할 수 있고, 15 FPS의 GOP의 화질 만족도를 계산할 수 있다.
단계(2230)에서, SURP(300)는 60 FPS의 GOP를 7.5 FPS의 GOP로 변환할 수 있고, 7.5 FPS의 GOP의 화질 만족도를 계산할 수 있다.
단계(2240)에서, SURP(300) GOP의 프레임들에 대한 화질 만족도 정보의 부호화를 수행할 수 있다.
단계(2250)에서, SURP(300)는 GOP의 부호화를 수행할 수 있다. SURP(300)의 GOP들의 복수의 프레임들의 부호화를 수행할 수 있다.
도 22의 실시예에서는, GOP들의 모든 프레임들이 부호화될 수 있다. 모든 프레임들 중 어떤 프레임을 재생할 것인가는 최소 화질 만족도에 따라 부호화의 단계에서 결정될 수 있다.
도 23a는 일 예에 따른 75% 이상의 화질 만족도를 유지하는 구성을 나타낸다.
도 23a에서, 사각형은 프레임을 나타낼 수 있다. 도 23a에서 제1 GOP는 "프레임 0" 내지 "프레임 7"을 포함할 수 있다. 제2 GOP는 "프레임 8" 내지 "프레임 15"를 포함할 수 있다. 사각형 내부의 "TI"는 프레임의 시간적 식별자의 값을 나타낼 수 있다. 사각형 내부의 "I", "P" 및 "B"는 프레임의 타입을 나타낼 수 있다. 사각형 위 또는 아래의 숫자는 프레임의 화질 만족도를 나타낼 수 있다.
SURP(300)는 비디오의 GOP들의 각 GOP를 최소 화질 만족도를 충족시키기 위한 최소의 FPS로 변환할 수 있고, 변환된 각 GOP를 인코딩할 수 있다. 이 경우, 최소 화질 만족도를 충족시키기 위해 요구되는 최소한의 비트 율로 부호화된 비디오가 전송될 수 있다. 이러한 방식은 전송의 측면에서 유리할 수 있다.
도 23a에서는, 최소한 75%의 화질 만족도가 보장되도록 TS가 적용된 경우가 예시되었다.
도 23a에서, 점선 내의 프레임들은 부호화 또는 전송되지 않는 프레임들을 나타낼 수 있다. 도 23a에서, 첫 번째 GOP에서는, 75%의 최소 화질 만족도가 충족되도록, 프레임들이 30 FPS로 전송될 수 있다. 또한, 두 번째 GOP에서는, 75%의 최소 화질 만족도가 충족되도록, 프레임들이 15 FPS로 전송될 수 있다.
SURP(300)는 TI들의 화질 만족도 정보를 비트스트림에 포함시킬 수 있다. 복호화 장치(2700)는 화질 만족도 정보를 참조하여 최소 화질 만족도를 충족시키기 위한 최소의 FPS를 결정할 수 있고, 결정된 FPS를 위해 요구되는 프레임들을 부호화 장치로부터 수신할 수 있다. 복호화기는 수신된 프레임들을 재생할 수 있다.
복호화 장치(2700)는 화질 만족도 정보를 참조하여 GOP에 대하여 최소 화질 만족도를 충족시키기 위한 최소의 FPS를 결정할 수 있다. 복호화 장치(2700)는 결정된 FPS를 위해 요구되는 프레임들의 복호화를 수행할 수 있다. 여기에서, 프레임들은 GOP의 프레임들일 수 있다. 결정된 FPS를 위해 요구되는 프레임들을 부호화 장치로부터 수신할 수 있다. 복호화기는 수신된 프레임들을 재생할 수 있다.
복호화 장치(2700)는 TS를 통해 비디오 또는 GOP의 프레임들 중 복호화를 수행하기로 결정된 프레임만을 선택적으로 부호화 장치(2400)로부터 획득할 수 있다.
복호화 장치(2700)는 GOP의 프레임들 중 최소 화질 만족도의 이하의 화질 만족도를 갖는 프레임을 선택적으로 디코딩할 수 있다. 최소 화질 만족도보다 더 큰 화질 만족도를 갖는 프레임을 디코딩에서 제외함으로써 복호화 장치(2700)는 시청자가 인식하는 화질을 저하시키지 않으면서도 효율적으로 비디오의 전송 및 재생을 수행할 수 있다.
도 23b는 일 예에 따른 75%의 화질 만족도를 기준으로 FPS의 변경의 여부를 결정하는 구성을 나타낸다.
도 23b에서, 사각형은 프레임을 나타낼 수 있다. 도 23b에서 제1 GOP는 "프레임 0" 내지 "프레임 7"을 포함할 수 있다. 제2 GOP는 "프레임 8" 내지 "프레임 15"를 포함할 수 있다. 사각형 내부의 "TI"는 프레임의 시간적 식별자의 값을 나타낼 수 있다. 사각형 내부의 "I", "P" 및 "B"는 프레임의 타입을 나타낼 수 있다. 사각형 위 또는 아래의 숫자는 프레임의 화질 만족도를 나타낼 수 있다.
SURP(300)는 기본적으로 GOP의 FPS를 30으로 변경하되, 화질 만족도가 75%보다 작을 경우 GOP의 FPS를 변경하지 않고 소스 비디오의 FPS를 그대로 유지할 수 있다. 말하자면, SURP(300)는 최소 화질 만족도에 기반하여 적응적으로 TS를 사용할 수 있다. 이러한 기능은 화질이 중요시되는 환경에서 특히 요구될 수 있다.
도 23b에서, 첫 번째의 GOP는 30 FPS로 변환되어 부호화 및 전송될 수 있고, 두 번째의 GOP는 60 FPS를 유지한 채 부호화 및 전송될 수 있다.
도 24는 일 실시예에 따른 부호화 장치의 구조도이다.
부호화 장치(2400)는 제어부(2410), 부호화부(2420) 및 통신부(2430)를 포함할 수 있다.
제어부(2410)는 전술된 SURP(300)에 대응할 수 있다. 예를 들면, 전술된 SURP(300)의 기능은 제어부(2410)에 의해 수행될 수 있다. 또는, 제어부(2410)는 SURP(300)를 수행할 수 있다.
제어부(2410)는 동영상의 프레임에 대한 선택 정보를 생성할 수 있다.
선택 정보는 전술된 화질 만족도 정보에 대응할 수 있다. 또는, 선택 정보는 화질 만족도 정보를 포함할 수 있다.
선택 정보는 프레임이 비디오의 부호화에서 제외되더라도 동영상의 화질의 저하를 인지하지 못하는 사람의 비율과 관련될 수 있다.
또는, 선택 정보는 프레임이 복호화에서 제외되도록 동영상의 재생이 설정되더라도 재생되는 동영상의 화질의 저하를 인지하지 못하는 사람의 비율과 관련될 수 있다.
선택 정보는 복수일 수 있다. 복수의 선택 정보는 동영상 또는 기본 결정 단위의 재생의 FPS 별로 계산될 수 있다. 제어부(2410)는 복수의 FPS들의 선택 정보를 계산할 수 있다.
동영상의 화질의 저하를 인지하지 못하는 사람의 비율은 제어부(2410)의 기계 학습에 의해 계산될 수 있다. 전술된 것과 같이 동영상의 화질의 저하를 인지하지 못하는 사람의 비율은 프레임 또는 프레임을 포함하는 기본 결정 단위의 특징 벡터에 기반하여 결정될 수 있다.
선택 정보는 프레임을 포함하는 복수의 프레임들 중, 프레임의 TI와 동일한 TI를 갖는 다른 프레임에게 공통적으로 적용될 수 있다. 복수의 프레임들은 기본 결정 단위의 프레임들일 수 있다. 또는, 복수의 프레임들은 GOP의 프레임들일 수 있다.
제어부(2410)는 생성된 선택 정보에 기반하여 동영상의 부호화를 수행할 수 있다.
예를 들면, 제어부(2410)는 선택 정보의 부호화를 수행할 수 있고, 부호화된 선택 정보를 부호화된 동영상의 비트스트림에 포함시킬 수 있다.
예를 들면, 제어부(2410)는 선택 정보에 기반하여 동영상의 프레임들 중 부호화할 프레임을 선택할 수 있다.
부호화부(2420)는 전술된 부호화 장치(100)에 대응할 수 있다. 예를 들면, 전술된 부호화 장치(100)의 기능은 부호화부(2420)에 의해 수행될 수 있다. 또는, 부호화부(2420)는 부호화 장치(100)를 포함할 수 있다.
부호화부(2420)는 동영상의 프레임의 부호화를 수행할 수 있다.
예를 들면, 부호화부(2420)은 동영상의 전체의 프레임들의 부호화를 수행할 수 있다.
예를 들면, 부호화부(2420)는 제어부(2410)에 의해 선택된 프레임의 부호화를 수행할 수 있다.
통신부(2430)는 생성된 비트스트림을 복호화 장치(2700)로 전송할 수 있다.
비트스트림은 부호화된 동영상의 정보를 포함할 수 있고, 부호화된 선택 정보를 포함할 수 있다.
제어부(2410), 부호화부(2420) 및 통신부(2430)의 기능 및 동작에 대해서 아래에서 상세하게 설명된다.
도 25는 일 실시예에 따른 부호화 방법의 흐름도이다.
단계(2510)에서, 제어부(2410)는 동영상의 프레임에 대한 선택 정보를 생성할 수 있다.
단계(2520)에서, 제어부(2410)는 선택 정보에 기반하여 동영상의 부호화를 수행할 수 있다.
부호화부(2420)는 동영상의 프레임의 부호화를 수행할 수 있다. 부호화부(2420)는 동영상의 프레임의 부호화를 수행함으로써 비트스트림을 생성할 수 있다. 동영상의 부호화에 의해 생성된 비트스트림은 선택 정보를 포함할 수 있다.
단계(2530)에서, 통신부(2430)는 부호화된 동영상의 정보를 포함하는 비트스트림을 복호화 장치(2700)로 전송할 수 있다.
도 26은 일 예에 따른 동영상의 부호화를 수행하는 방법의 흐름도이다.
도 25를 참조하여 전술된 단계(2520)은 아래의 단계들(2610 및 2620)을 포함할 수 있다.
단계(2610)에서, 제어부(2410)는 프레임에 대한 선택 정보에 기반하여 프레임의 부호화 여부의 결정을 수행할 수 있다.
단계(2620)에서, 프레임의 부호화가 결정된 경우, 부호화부(2420)는 프레임의 부호화를 수행할 수 있다.
프레임의 부호화가 결정된 경우, 제어부(2410)는 부호화부(2420)에게 프레임의 부호화를 요청할 수 있다.
프레임의 부호화 여부의 결정은 프레임을 포함하는 복수의 프레임들 중 프레임의 TI와 동일한 TI를 갖는 다른 프레임에게 공통적으로 적용될 수 있다. 여기에서, 복수의 프레임들은 기본 결정 단위의 프레임들일 수 있다. 또는, 복수의 프레임들은 GOP의 프레임들일 수 있다.
도 27은 일 실시예에 따른 복호화 장치의 구조도이다.
복호화 장치(2700)는 제어부(2710), 복호화부(2720) 및 통신부(2730)를 포함할 수 있다.
통신부(2730)는 부호화 장치(2400)로부터 비트스트림을 수신할 수 있다.
비트스트림은 부호화된 동영상의 정보를 포함할 수 있다. 부호화된 동영상의 정보는 부호화된 프레임의 정보를 포함할 수 있다. 비트스트림은 프레임의 선택 정보를 포함할 수 있다.
제어부(2710)는 프레임의 선택 정보에 기반하여 프레임의 복호화 여부의 결정을 수행할 수 있다.
제어부(2710)는 전술된 SURP(300)의 기능 중 복호화에 적용 가능한 기능을 수행할 수 있다. 또는, 제어부(2710)는 SURP(300)의 적어도 일부를 포함할 수 있다.
복호화부(2720)는 전술된 복호화 장치(200)에 대응할 수 있다. 예를 들면, 전술된 복호화 장치(200)의 기능은 복호화부(2720)에 의해 수행될 수 있다. 또는, 복호화부(2720)는 복호화 장치(200)를 포함할 수 있다.
프레임의 복호화가 결정된 경우, 복호화부(2720)는 프레임의 복호화를 수행할 수 있다.
예를 들면, 복호화부(2720)는 동영상의 전체의 프레임들의 복호화를 수행할 수 있다.
예를 들면, 복호화부(2720)는 제어부(2710)에 의해 선택된 프레임의 복호화를 수행할 수 있다.
제어부(2710), 복호화부(2720) 및 통신부(2730)의 기능 및 동작에 대해서 아래에서 상세하게 설명된다.
도 28은 일 실시예에 따른 복호화 방법의 흐름도이다.
단계(2810)에서, 통신부(2730)은 비트 스트림을 수신할 수 있다. 통신부(2730)는 부호화된 프레임의 정보를 수신할 수 있다.
단계(2820)에서, 제어부(2710)는 프레임의 선택 정보에 기초하여 프레임의 복호화 여부의 결정을 수행할 수 있다.
상기의 결정은 비디오의 복수의 프레임들의 각 프레임에 대하여 수행될 수 있다. 여기에서, 복수의 프레임들은 기본 결정 단위의 프레임들일 수 있다. 또는, 복수의 프레임들은 GOP의 프레임들일 수 있다.
선택 정보는 전술된 화질 만족도 정보에 대응할 수 있다. 또는, 선택 정보는 화질 만족도 정보를 포함할 수 있다.
복수의 프레임들화질 만족도 정보선택 정보는 프레임이 복호화에서 제외되도록 프레임을 포함하는 동영상의 재생이 결정되더라도 동영상의 화질의 저하를 인지하지 못하는 사람의 비율과 관련될 수 있다.
또는, 선택 정보는 프레임이 복호화에서 제외되도록 프레임을 포함하는 동영상의 재생의 FPS가 결정되더라도 동영상의 화질의 저하를 인지하지 못하는 사람의 비율과 관련될 수 있다.
선택 정보는 프레임에 대한 SEI 내에 포함될 수 있다.
프레임의 복호화 여부는 선택 정보의 값 및 재생 정보의 값 간의 비교에 기반하여 결정될 수 있다.
재생 정보는 프레임을 포함하는 동영상의 재생과 관련된 정보일 수 있다. 재생 정보는 최소 화질 만족도에 대응할 수 있다. 또는, 재생 정보는 최소 화질 만족도를 포함할 수 있다.
재생 정보는 프레임을 포함하는 동영상의 재생의 FPS와 관련된 정보일 수 있다.
예를 들면, 선택 정보의 값이 재생 정보의 값보다 더 크면, 제어부(2710)는 프레임에 대해 복호화를 수행하지 않는 것을 결정할 수 있다. 또는, 선택 정보의 값이 재생 정보의 이상이면 제어부(2710)는 프레임에 대해 복호화가 수행할 것을 결정할 수 있다.
결정은 프레임을 포함하는 복수의 프레임들 중 프레임의 TI와 동일한 TI를 갖는 다른 프레임에게 공통적으로 적용될 수 있다. 복수의 프레임들은 기본 예측 단위의 프레임들일 수 있다. 또는, 복수의 프레임들은 GOP의 프레임들일 수 있다.
복호화 장치(2700)복수의 프레임들임의복호화 장치(2700)는 비디오의 전체의 프레임들 중 복호화하기로 결정된 임의0
단계(2830)에서, 프레임의 복호화가 결정된 경우, 복호화부(2720)는 복호화가 결정된 프레임에 대하여 프레임의 복호화를 수행할 수 있다.
복호화 장치(2700)
상술한 실시예들에서, 방법들은 일련의 단계 또는 유닛으로서 순서도를 기초로 설명되고 있으나, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당해 기술 분야에서 통상의 지식을 가진 자라면 순서도에 나타난 단계들이 배타적이지 않고, 다른 단계가 포함되거나, 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.
이상 설명된 본 발명에 따른 실시예들은 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CDROM, DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기광 매체(magnetooptical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명이 상기 실시예들에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등하게 또는 등가적으로 변형된 모든 것들은 본 발명의 사상의 범주에 속한다고 할 것이다.

Claims (20)

  1. 프레임의 인지 화질에 대한 인지 화질 정보에 기초하여 상기 프레임의 복호화 여부의 결정을 수행하는 단계; 및
    상기 프레임의 복호화가 결정된 경우 상기 프레임의 복호화를 수행하는 단계
    를 포함하고,
    상기 인지 화질 정보는 상기 프레임이 복호화에서 제외되도록 상기 프레임을 포함하는 동영상의 재생이 설정되더라도 동영상의 화질의 저하를 인지하지 못하는 사람의 비율과 관련되고,
    상기 비율은 기계 학습에 기반하여 결정되는 동영상 복호화 방법.
  2. 제1항에 있어서,
    상기 결정은 복수의 프레임들의 각 프레임에 대하여 수행되고,
    상기 복수의 프레임들은 픽쳐의 그룹(Group Of Picture; GOP)의 프레임들이고,
    상기 기계 학습은 유사한 특성들의 GOP들로 구성된 호모지니어스 비디오가 사용된 주관적 화질 평가를 사용하는 동영상 복호화 방법.
  3. 프레임의 인지 화질에 대한 인지 화질 정보에 기초하여 상기 프레임의 복호화 여부의 결정을 수행하는 단계; 및
    상기 프레임의 복호화가 결정된 경우 상기 프레임의 복호화를 수행하는 단계
    를 포함하고,
    상기 인지 화질 정보는 상기 프레임이 복호화에서 제외되도록 상기 프레임을 포함하는 동영상의 재생이 설정되더라도 동영상의 화질의 저하를 인지하지 못하는 사람의 비율과 관련되고,
    상기 비율은 상기 프레임의 특징 벡터에 기반하여 결정되고,
    상기 특징 벡터는 인간의 시각 특성을 반영하는 특징 벡터 추출 방법에 의해 추출되는 동영상 복호화 방법.
  4. 제3항에 있어서,
    상기 인간의 시각 특성은 공간적 마스킹 효과, 시간적 마스킹 효과, 주목(salient) 영역 또는 대비 민감도인 동영상 복호화 방법.
  5. 제1항에 있어서,
    상기 인지 화질을 모델링한 메져를 사용하여 상기 인지 화질이 측정되는 동영상 복호화 방법.
  6. 제5항에 있어서,
    상기 메져는 구조적 유사도(Structural SIMilarity; SSIM) 또는 비디오 품질 메트릭(Video Quality Metric; VQM)인 동영상 복호화 방법.
  7. 제1항에 있어서,
    상기 인지 화질 정보의 값이 재생 정보의 값보다 더 크면 상기 프레임에 대해서는 상기 복호화가 수행되지 않는 것이 결정되고,
    상기 재생 정보는 상기 프레임을 포함하는 동영상의 재생과 관련된 정보인 동영상 복호화 방법.
  8. 제1항에 있어서,
    상기 인지 화질 정보는 상기 프레임이 복호화에서 제외되도록 상기 프레임을 포함하는 동영상의 재생의 초 당 프레임(Frames Per Second; FPS)가 결정되더라도 동영상의 화질의 저하를 인지하지 못하는 사람의 비율과 관련되고,
    상기 기계 학습은 상기 FPS의 변경에 의해 발생하는 화질 저하의 정도를 측정하기 위해 사용되는 동영상 복호화 방법.
  9. 제1항에 있어서,
    상기 복호화 여부의 결정은 상기 프레임을 포함하는 복수의 프레임들 중 상기 프레임의 시간적 식별자와 동일한 시간적 식별자를 갖는 다른 프레임에게 공통적으로 적용되는 동영상 복호화 방법.
  10. 프레임의 인지 화질에 대한 인지 화질 정보에 기반하여 상기 프레임의 복호화 여부의 결정을 수행하는 제어부; 및
    상기 프레임의 복호화가 결정된 경우 상기 프레임의 복호화를 수행하는 복호화부
    를 포함하고,
    상기 인지 화질 정보는 상기 프레임이 복호화에서 제외되도록 상기 프레임을 포함하는 동영상의 재생이 설정되더라도 동영상의 화질의 저하를 인지하지 못하는 사람의 비율과 관련되고,
    상기 비율은 기계 학습 또는 상기 프레임의 특징 벡터에 기반하여 결정되고,
    상기 인지 화질을 모델링한 메져를 사용하여 상기 인지 화질이 측정되고,
    상기 메져는 구조적 유사도(Structural SIMilarity; SSIM) 또는 비디오 품질 메트릭(Video Quality Metric; VQM)이고,
    상기 특징 벡터는 인간의 시각 특성을 반영하는 특징 벡터 추출 방법에 의해 추출되는 동영상 복호화 장치.
  11. 동영상의 프레임에 대한 인지 화질 정보를 생성하는 단계; 및
    상기 인지 화질 정보에 기반하여 상기 동영상의 부호화를 수행하는 단계
    를 포함하고,
    상기 인지 화질 정보는 상기 프레임이 복호화에서 제외되도록 상기 프레임을 포함하는 동영상의 재생이 설정되더라도 동영상의 화질의 저하를 인지하지 못하는 사람의 비율과 관련되고,
    상기 비율은 기계 학습에 기반하여 결정되는 동영상 부호화 방법
  12. 제11항에 있어서,
    상기 동영상의 부호화를 수행하는 단계는,
    상기 프레임에 대한 상기 인지 화질 정보에 기반하여 상기 프레임의 부호화 여부의 결정을 수행하는 단계; 및
    상기 프레임의 부호화가 결정된 경우 상기 프레임의 부호화를 수행하는 단계
    를 포함하는 동영상 부호화 방법.
  13. 제12항에 있어서,
    상기 부호화 여부의 결정은 상기 프레임을 포함하는 복수의 프레임들 중 상기 프레임의 시간적 식별자와 동일한 시간적 식별자를 갖는 다른 프레임에게 공통적으로 적용되는 동영상 부호화 방법.
  14. 제11항에 있어서,
    상기 인지 화질을 모델링한 메져를 사용하여 상기 인지 화질이 측정되는 동영상 부호화 방법.
  15. 제14항에 있어서,
    상기 메져는 구조적 유사도(Structural SIMilarity; SSIM) 또는 비디오 품질 메트릭(Video Quality Metric; VQM)인 동영상 부호화 방법.
  16. 동영상의 프레임에 대한 인지 화질 정보를 생성하는 단계; 및
    상기 인지 화질 정보에 기반하여 상기 동영상의 부호화를 수행하는 단계
    를 포함하고,
    상기 인지 화질 정보는 상기 프레임이 복호화에서 제외되도록 상기 프레임을 포함하는 동영상의 재생이 설정되더라도 동영상의 화질의 저하를 인지하지 못하는 사람의 비율과 관련되고,
    상기 비율은 프레임의 특징 벡터에 기반하여 결정되고,
    상기 특징 벡터는 인간의 시각 특성을 반영하는 특징 벡터 추출 방법에 의해 추출되는 동영상 부호화 방법.
  17. 제11항에 있어서,
    상기 인지 화질 정보는 복수이고,
    상기 복수의 인지 화질 정보는 동영상의 재생의 초 당 프레임(Frames Per Second; FPS) 별로 계산되는 동영상 부호화 방법.
  18. 제11항에 있어서,
    상기 동영상의 부호화에 의해 생성된 비트스트림은 상기 인지 화질 정보를 포함하는 동영상 부호화 방법.
  19. 제11항에 있어서,
    상기 인지 화질 정보는 상기 프레임을 포함하는 복수의 프레임들 중 상기 프레임의 시간적 식별자와 동일한 시간적 식별자를 갖는 다른 프레임에게 공통적으로 적용되는 동영상 부호화 방법.
  20. 제16항에 있어서,
    상기 인간의 시각 특성은 공간적 마스킹 효과, 시간적 마스킹 효과, 주목(salient) 영역 또는 대비 민감도인 동영상 부호화 방법.
KR1020160127739A 2015-10-08 2016-10-04 화질에 기반한 적응적 부호화 및 복호화를 위한 방법 및 장치 KR102602690B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/287,345 US10257528B2 (en) 2015-10-08 2016-10-06 Method and apparatus for adaptive encoding and decoding based on image quality

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150141880 2015-10-08
KR20150141880 2015-10-08

Publications (2)

Publication Number Publication Date
KR20170042235A KR20170042235A (ko) 2017-04-18
KR102602690B1 true KR102602690B1 (ko) 2023-11-16

Family

ID=58704113

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160127739A KR102602690B1 (ko) 2015-10-08 2016-10-04 화질에 기반한 적응적 부호화 및 복호화를 위한 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102602690B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102528365B1 (ko) * 2017-09-21 2023-05-03 에스케이텔레콤 주식회사 해상도 향상 기법을 이용한 영상의 부호화 및 복호화
KR20190056888A (ko) 2017-11-17 2019-05-27 삼성전자주식회사 비디오 부호화 장치 및 방법
KR102456690B1 (ko) * 2020-12-30 2022-10-18 이화여자대학교 산학협력단 강화학습에 기반한 gop 선택 방법 및 분석장치
CN113301332B (zh) * 2021-04-12 2024-06-21 阿里巴巴创新公司 视频解码方法、系统和介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080159403A1 (en) 2006-12-14 2008-07-03 Ted Emerson Dunning System for Use of Complexity of Audio, Image and Video as Perceived by a Human Observer
JP2010193143A (ja) 2009-02-18 2010-09-02 Sony Ericsson Mobile Communications Ab 動画出力方法および動画出力装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5248802B2 (ja) * 2006-06-16 2013-07-31 カシオ計算機株式会社 動画符号化装置および動画符号化方法と、動画復号化装置および動画復号化方法と、動画記録装置
US20100027663A1 (en) * 2008-07-29 2010-02-04 Qualcomm Incorporated Intellegent frame skipping in video coding based on similarity metric in compressed domain
KR20130116782A (ko) * 2012-04-16 2013-10-24 한국전자통신연구원 계층적 비디오 부호화에서의 계층정보 표현방식

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080159403A1 (en) 2006-12-14 2008-07-03 Ted Emerson Dunning System for Use of Complexity of Audio, Image and Video as Perceived by a Human Observer
JP2010193143A (ja) 2009-02-18 2010-09-02 Sony Ericsson Mobile Communications Ab 動画出力方法および動画出力装置

Also Published As

Publication number Publication date
KR20170042235A (ko) 2017-04-18

Similar Documents

Publication Publication Date Title
US10257528B2 (en) Method and apparatus for adaptive encoding and decoding based on image quality
US11265549B2 (en) Method for image coding using convolution neural network and apparatus thereof
Xu et al. Region-of-interest based conversational HEVC coding with hierarchical perception model of face
CN107197256B (zh) 用于对图像的序列进行编码和解码的方法和装置
CA2615299C (en) Image encoding device, image decoding device, image encoding method, and image decoding method
US20180077426A1 (en) Linear model chroma intra prediction for video coding
US20140321552A1 (en) Optimization of Deblocking Filter Parameters
US9838690B1 (en) Selective prediction signal filtering
KR102602690B1 (ko) 화질에 기반한 적응적 부호화 및 복호화를 위한 방법 및 장치
CN107231557B (zh) 用于在视频编码中的高级帧内预测的递归块分区中的智能重排的编、解码方法及装置
Meardi et al. MPEG-5 part 2: Low complexity enhancement video coding (LCEVC): Overview and performance evaluation
US10003819B2 (en) Depth map encoding method and apparatus thereof, and depth map decoding method and apparatus thereof
JP2018502480A (ja) デジタル画像のブロックのマスクベースの処理のためのシステムおよび方法
JP2018501696A (ja) デジタル画像のブロックを処理するためのシステムおよび方法
US11206401B2 (en) Video encoding method and device and video decoding method and device
US9609358B2 (en) Performing video encoding mode decisions based on down-scaled macroblock texture complexity
US10771820B2 (en) Image encoding method and apparatus using artifact reduction filter, and image decoding method and apparatus using artifact reduction filter
KR20190062284A (ko) 인지 특성에 기반한 영상 처리 방법 및 장치
EP3202147B1 (fr) Procédé de transcodage de données vidéo à fusion d'unités de codage, programme informatique, module de transcodage et équipement de télécommunications associés
CN116074528A (zh) 视频编码方法及装置、编码信息调度方法及装置
Dias et al. Perceptually optimised video compression
Akramullah et al. Video quality metrics
US20230131228A1 (en) Debanding Using A Novel Banding Metric
Jung Comparison of video quality assessment methods
US20200195952A1 (en) Method and apparatus for processing video signal through target area modification

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right