KR20170047489A - 영상처리장치, 영상처리방법 및 컴퓨터 판독가능 기록매체 - Google Patents

영상처리장치, 영상처리방법 및 컴퓨터 판독가능 기록매체 Download PDF

Info

Publication number
KR20170047489A
KR20170047489A KR1020150147668A KR20150147668A KR20170047489A KR 20170047489 A KR20170047489 A KR 20170047489A KR 1020150147668 A KR1020150147668 A KR 1020150147668A KR 20150147668 A KR20150147668 A KR 20150147668A KR 20170047489 A KR20170047489 A KR 20170047489A
Authority
KR
South Korea
Prior art keywords
image
resolution
resolution image
block
unit frame
Prior art date
Application number
KR1020150147668A
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 KR1020150147668A priority Critical patent/KR20170047489A/ko
Publication of KR20170047489A publication Critical patent/KR20170047489A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution

Landscapes

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

Abstract

본 개시는 영상처리장치, 영상처리방법 및 컴퓨터 판독가능 기록매체에 관한 것으로서, 본 개시에 따른 영상처리방법은 고해상도 영상을 수신하는 단계, 고해상도 영상의 수신 중에 저해상도로 변경되면 저해상도의 영상을 이용하여 가상의 고해상도 영상을 생성하는 단계, 생성한 가상의 고해상도 영상을 복수의 블록으로 분할하는 단계, 및 분할한 제1 블록 영상을 기수신된 고해상도의 영상에서 움직여가며 추정한 추정 결과에 근거하여 가상의 고해상도 영상을 보상하는 단계를 포함할 수 있다.

Description

영상처리장치, 영상처리방법 및 컴퓨터 판독가능 기록매체{Apparatus for Processing Images, Method for Processing Images, and Computer Readable Recording Medium}
본 개시는 영상처리장치, 영상처리방법 및 컴퓨터 판독가능 기록매체에 관한 것으로서, 더 상세하게는 가령 적응적 비트율 스트림 환경에서 네트워크의 혼잡 상황과 같은 특정 조건에서도 화질 저하 없이 고화질의 영상 시청이 가능한 영상처리장치, 영상처리방법 및 컴퓨터 판독가능 기록매체에 관한 것이다.
저해상도 영상으로부터 고해상도 영상을 생성하는 기존 후처리 기술로는 보간(interpolation) 및 SR(super-resolution) 기법들이 있는데, 그 중 대표적인 방법으로는 LR 패치(low resolution patch)(혹은 LR 블록)와 HR(high resolution) 패치의 상관관계를 기반으로 HF(High Frequency) 성분을 예측하는 예제 기반(example-based) SR 기법이 있다. 하지만, 기존 예제 기반 SR 기법들은 복잡한 연산을 수행하더라도 충분한 화질의 고해상도 영상을 생성하기가 어렵다.
종래에는 저해상도 비디오 시퀀스뿐만 아니라 주기적으로, 간헐적으로 고해상도 영상이 존재하는 분산 코딩(distributed coding) 환경에서 화질을 향상시키는 SR 기법이 제안된 바 있다. 이 기법에서는 주기적으로 존재하는 고해상도 영상을 KF(key frame)으로 정의하고, 나머지 저해상도 영상들은 NKF(non-key frame)로 정의하였다. NKF의 해상도를 향상시키기 위해, NKF를 블록 단위로 나눈 후 각 블록에 대해 KF에서 최상의 매칭을 찾아 HF를 추출하여 더하는 방식을 제안하였다.
또한, 종래에는 위의 방법에서 움직임 추정 정확도가 떨어지는 영역의 화질을 향상시키기 위해, 움직임 추정 에러에 따라 움직임 보상(Motion compensated) 기반의 SR 기법과, 학습 기반(learning-based) SR 기법을 적응적으로 선택하는 하이브리드(hybrid) SR 기법이 제한된 바 있다.
그런데, 전자의 기술에서 저해상도 영상으로부터 고해상도 영상을 생성하는 일반적인 후처리 SR 기법은 참조 가능한 고해상도 영상 즉 입력 저해상도 영상과 동일한 장면이 존재하지 않기 때문에 성능 상의 한계가 존재한다.
이에 비해 후자의 기술은 분산 코딩 환경에서 주기적으로 존재하는 고해상도 영상 정보를 활용함으로써 성능을 크게 향상시킬 수 있다. 그러나, 본 개시에서 다루려는 적응적 비트율 스트림 환경은 청크(chunk) 단위로 고비트율 영상이 전송되다가 저비트율의 영상이 전송되는 환경으로서, 분산 코딩 환경과는 달리 전방(forward)으로만 고해상도 영상이 존재하기 때문에 기술 적용에 한계가 있다.
다시 말해, 후자의 기술을 적응적 비트율 스트림 환경에 적용하면, 고해상도 영상에서 멀리 떨어진 위치의 저해상도 영상의 경우 움직임 추정 정확도가 감소하여 이로 인해 움직임 보상 기반 SR 성능이 저하되는 문제가 발생한다.
또한, 고해상도 영상에 대응하는 저해상도 영상이 존재하지 않기 때문에 학습 기반 SR 기법을 적용하기도 어려운 문제가 있다.
본 개시에 의한 실시예는 가령 적응적 비트율 스트림 환경에서 네트워크의 혼잡 상황과 같은 특정 조건에서도 화질 저하 없이 고화질의 영상 시청이 가능한 영상처리장치, 영상처리방법 및 컴퓨터 판독가능 기록매체를 제공함에 그 목적이 있다.
본 개시에 따른 영상처리방법은 고해상도 영상을 수신하는 단계, 상기 고해상도 영상의 수신 중에 저해상도로 변경되면 상기 저해상도의 영상을 이용하여 가상의 고해상도 영상을 생성하는 단계, 상기 생성한 가상의 고해상도 영상을 복수의 블록으로 분할하는 단계, 및 상기 분할한 제1 블록 영상을 기수신된 상기 고해상도의 영상에서 움직여가며 추정한 추정 결과에 근거하여 상기 생성한 가상의 고해상도 영상을 보상하는 단계를 포함한다.
상기 가상의 고해상도 영상을 보상하는 단계는, 상기 추정 결과가 기설정된 임계치보다 작을 때, 상기 가상의 고해상도 영상을 움직임 기반으로 보상할 수 있다.
상기 고해상도 영상은 복수의 단위 프레임을 포함하며, 상기 제1 블록 영상의 움직임 추정은, 상기 복수의 단위 프레임 중 마지막에 위치하는 최종 단위 프레임의 기설정된 영역 내에서 이루어질 수 있다.
상기 영상처리방법은 상기 최종 단위 프레임을 분할한 제2 블록 영상을, 상기 최종 단위 프레임에 대응되는 가상의 저해상도 영상의 제3 블록 영상과 매칭시켜 저장하는 단계를 더 포함하며, 상기 가상의 고해상도 영상을 보상하는 단계는, 상기 추정 결과가 기설정된 임계치보다 클 때, 상기 저장한 제2 블록 영상을 상기 보상에 이용할 수 있다.
상기 영상처리방법은, 상기 최종 단위 프레임을 복수의 블록으로 분할하는 단계, 상기 가상의 고해상도 영상 전체에서 상기 분할한 제2 블록 영상을 움직여가며 추정한 추정 결과의 에러가 작은 제1 블록 영상을 선택하는 단계, 및 상기 선택한 제1 블록 영상들을 조합하여 상기 가상의 저해상도 영상을 생성하는 단계를 더 포함하며, 상기 가상의 고해상도 영상을 보상하는 단계는, 상기 제1 블록 영상에 대응하는 상기 제3 블록 영상과 매칭되는 상기 제2 블록 영상을 상기 보상에 이용할 수 있다.
상기 가상의 고해상도 영상을 보상하는 단계는, 상기 가상의 고해상도 영상의 첫 번째 단위 프레임은 상기 최종 단위 프레임을 참조하여 보상하는 단계, 및 상기 첫 번째 단위 프레임 이외의 영상은 상기 최종 단위 프레임 및 이전에 복원된 단위 프레임을 참조하여 보상하는 단계를 포함할 수 있다.
상기 제2 블록 영상을 저장하는 단계는, 지정된 시간 간격으로 상기 저장한 제2 블록 영상을 갱신하는 단계를 포함할 수 있다.
상기 저장한 제2 블록 영상을 갱신하는 단계는, 사용 빈도가 적은 제2 블록 영상을 제거하는 단계, 및 새로운 제2 블록 영상을 추가하는 단계를 포함할 수 있다.
상기 가상의 고해상도 영상을 생성하는 단계, 통신망 및 상기 고해상도 영상을 수신하는 영상처리장치의 상태 중 적어도 하나의 상태에 근거해 상기 고해상도 영상을 상기 저해상도로 수신할 수 있다.
또한, 본 개시에 따른 영상처리장치는 고해상도 영상을 수신하는 수신부, 및 상기 고해상도 영상의 수신 중에 저해상도로 변경되면 상기 저해상도의 영상을 이용하여 가상의 고해상도 영상을 생성하고, 상기 생성한 가상의 고해상도 영상을 복수의 블록으로 분할하며, 상기 분할한 제1 블록 영상을 기수신된 상기 고해상도의 영상에서 움직여가며 추정한 추정 결과에 근거하여 상기 생성한 가상의 고해상도 영상을 보상하는 프로세서를 포함한다.
상기 프로세서는, 상기 추정 결과가 기설정된 임계치보다 작을 때, 상기 가상의 고해상도 영상을 움직임 기반으로 보상할 수 있다.
상기 고해상도 영상은 복수의 단위 프레임을 포함하며, 상기 제1 블록 영상의 움직임 추정은, 상기 복수의 단위 프레임 중 마지막에 위치하는 최종 단위 프레임의 기설정된 영역 내에서 이루어질 수 있다.
상기 영상처리장치는, 상기 최종 단위 프레임을 분할한 제2 블록 영상을, 상기 최종 단위 프레임에 대응되는 가상의 저해상도 영상의 제3 블록 영상과 매칭시켜 저장하는 저장부를 더 포함하며, 상기 프로세서는, 상기 추정 결과가 기설정된 임계치보다 클 때, 상기 저장한 제2 블록 영상을 상기 보상에 이용할 수 있다.
상기 영상처리장치는, 상기 최종 단위 프레임을 복수의 블록으로 분할하고, 상기 가상의 고해상도 영상 전체에서 상기 분할한 제2 블록 영상을 움직여가며 추정한 움직임 추정 결과의 에러가 작은 제1 블록 영상을 선택하며, 상기 선택한 제1 블록 영상들을 조합하여 상기 가상의 저해상도 영상을 생성하는 학습 기반 SR부를 더 포함하며, 상기 프로세서는, 상기 제1 블록 영상에 대응하는 상기 제3 블록 영상과 매칭되는 상기 제2 블록 영상을 상기 보상에 이용할 수 있다.
상기 프로세서는, 상기 가상의 고해상도 영상의 첫 번째 단위 프레임은 상기 최종 단위 프레임을 참조하여 보상하고, 상기 첫 번째 단위 프레임 이외의 영상은 상기 최종 단위 프레임 및 이전에 복원된 단위 프레임을 참조하여 보상할 수 있다.
상기 프로세서는, 지정된 시간 간격으로 상기 저장한 제2 블록 영상을 갱신할 수 있다.
상기 프로세서는 상기 갱신을 위해 사용 빈도가 적은 제2 블록 영상을 제거하고, 새로운 제2 블록 영상을 추가할 수 있다.
상기 수신부는, 통신망 및 상기 영상처리장치의 상태 중 적어도 하나의 상태에 근거해 상기 고해상도 영상을 상기 저해상도로 수신할 수 있다.
한편, 본 개시에 따른 컴퓨터 판독가능 기록매체는, 영상처리방법을 실행하기 위한 프로그램을 포함하는 컴퓨터 판독가능 기록매체에 있어서, 상기 영상처리방법은, 고해상도 영상을 수신하는 단계, 상기 고해상도 영상의 수신 중에 저해상도로 변경되면 상기 저해상도의 영상을 이용하여 가상의 고해상도 영상을 생성하는 단계, 상기 생성한 가상의 고해상도 영상을 복수의 블록으로 분할하는 단계, 및 상기 분할한 제1 블록 영상을 기수신된 상기 고해상도의 영상에서 움직여가며 추정한 추정 결과에 근거하여 상기 생성한 가상의 고해상도 영상을 보상하는 단계를 실행한다.
도 1은 본 개시의 실시예에 따른 영상처리시스템을 나타내는 도면,
도 2는 도 1에 도시된 영상처리장치의 세부 구조를 예시하여 나타낸 블록다이어그램,
도 3은 도 1에 도시된 영상처리장치의 다른 세부 구조를 예시하여 나타낸 블록다이어그램,
도 4는 도 3의 제어부의 세부 구조를 예시하여 나타낸 도면,
도 5는 도 1에 도시된 영상처리장치의 또 다른 세부 구조를 예시하여 나타낸 블록다이어그램,
도 6은 도 2의 SR 기반 영상처리부의 세부 구조를 예시하여 나타낸 블록다이어그램,
도 7 내지 도 10은 도 6의 영상 처리 동작을 설명하기 위한 도면,
도 11은 시뮬레이션 영상을 예시하여 나타낸 도면, 그리고
도 12는 본 개시에 따른 영상처리과정을 나타내는 흐름도이다.
이하, 도면을 참조하여 본 개시에 의한 실시예에 대하여 상세히 설명한다.
도 1은 본 개시의 실시예에 따른 영상처리시스템을 나타내는 도면이다.
도 1에 도시된 바와 같이, 본 개시의 실시예에 따른 영상처리시스템(90)은 영상처리장치(100), 통신망(110), 서비스제공장치(120) 및 컨텐츠제공장치(130)의 일부 또는 전부를 포함한다.
여기서, 일부 또는 전부를 포함한다는 것은 통신망(110)과 같은 일부 구성요소가 생략되어 영상처리장치(100)가 서비스제공장치(120) 및/또는 컨텐츠제공장치(130)와 다이렉트 통신(ex. P2P)을 수행하거나, 서비스제공장치(120) 또는 컨텐츠제공장치(130)가 생략되어 시스템(90)이 구성될 수 있는 것 등을 의미하는 것으로서, 발명의 충분한 이해를 돕기 위하여 전부 포함하는 것으로 설명한다.
영상처리장치(100)는 TV, 랩탑 컴퓨터, 데스크탑 컴퓨터, 태블릿 PC, PDP, MP3, 스마트폰과 같은 영상표시장치를 포함하며, 셋탑박스(STB), 액세스포인트(AP)와 같은 영상중계장치를 더 포함할 수 있다. 이러한 영상처리장치(100)는 통신망(110)의 네트워크 상태나 자신의 상태(ex. CPU와 같은 자원 가용 상태)에 근거하여, 서비스제공장치(120)로부터 영상을 수신한다. 예를 들어, 영상처리장치(100)는 자신의 상태나 네트워크 상태에 대한 상태 정보를 서비스제공장치(120)로 전송하면, 서비스제공장치(120)는 해당 상태 정보에 매칭되는 영상 즉 영상 컨텐츠를 영상처리장치(100)로 제공한다. 여기서, "상태 정보에 매칭되는 영상"이란 하나의 영상 컨텐츠에 대하여 청크 단위로 고해상도와 저해상도로 구분하여 저장한 영상을 의미한다. 이때, 청크 단위는 초 단위가 될 수 있다. 또한, 영상은 복수의 단위 프레임(또는 단위 프레임 영상, 정지 영상)으로 구성될 수 있다.
다시 말해, 서비스제공장치(120)는 동일한 영상 컨텐츠(ex. 하나의 방송 프로그램)에 대하여 청크 단위로 저해상도의 영상과 고해상도의 영상으로 구분하여 저장해 두게 되는데, 영상처리장치(100)는 이와 같이 서비스제공장치(120)에 기저장된 영상을 네트워크 상태 등에 따라 적절한 영상을 요청하여 처리하게 된다. 여기서, 저해상도와 고해상도 영상은 가령 풀 HD(1920 × 1080) 영상에 대하여 비트율이 4 Mbps가 되도록 저장하거나, 2 Mbps가 되도록 저장해 둔 영상을 의미한다. 이때 청크의 길이는 30 프레임(frame)이 될 수 있다.
본 개시에 따른 영상처리장치(100)는 통신망(110)의 네트워크 상태나 자신의 상태가 혼잡하지 않을 때, 이러한 상태를 서비스제공장치(120)로 알리고, 이에 따라 서비스제공장치(120)로부터 고해상도의 영상을 수신하며, 이의 과정에서 통신 상태가 안 좋아지게 되면, 이를 다시 서비스제공장치(120)에 알려, 동일 영상 컨텐츠에 대하여 저해상도로 서비스제공장치(120)로부터 수신하게 된다. 본 개시에서는 이러한 통신 환경을 '적응적 비트율 스트림 환경'이라 명명하고 있다.
좀 더 살펴보면, '적응적 비트율 스트림 환경'이란 영상 즉 비디오 컨텐츠를 여러 개의 비트율로 인코딩한 후 일정한 길이의 청크로 나누어 서버, 가령 서비스제공장치(120)에 저장하고, 클라이언트 가령 영상처리장치(100)는 네트워크 상황(ex. 매 청크의 다운로드 속도)와 단말 상황(ex. 단말의 스크린 해상도, 비디오 버퍼 크기 등)을 고려하여 다음에 요청할 청크의 비트율 즉 비디오 품질을 결정하여 서버에 요청하는 방식이다. 따라서, 단말과 서버 간에 가용 대역폭에 따라 비트율을 변화시킴으로써 끊김 없는 시청이 가능한 방식이다.
이와 같은 적응적 비트율 스트림 환경에서 본 개시에 따른 영상처리장치(100)는 높은 비트율 즉 고화질 비디오의 청크가 전송되다가 네트워크 혼잡 상황에서 낮은 비트율 즉 저화질 비디오의 청크가 전송되었을 때 (사용자가 인지하는) 인지 화질은 저하될 수밖에 없는데, 본 개시는 이러한 상황에서도 일관된 화질을 유지할 수 있다.
이를 위하여, 영상처리장치(100)는 고해상도 영상, 더 정확하게는 청크 단위의 고해상도 단위 프레임 영상들 중에서 마지막 단위 프레임 영상(혹은 최종 단위 프레임)을 활용하여 저해상도 영상, 더 정확하게는 청크 단위의 저해상도 단위 프레임 영상들 중 첫 번째 단위 프레임 영상을 움직임 기반으로 보상한다. 이를 위하여, 영상처리장치(100)는 저해상도 영상 중 첫 번째 단위 프레임 영상에 대한 가상의 고해상도 단위 프레임을 먼저 생성하고, 이를 다시 복수의 블록으로 분할하며, 분할한 각 블록(혹은 제1 블록 영상)로 고해상도의 마지막 단위 프레임 영상의 기설정된 영역 내에서 움직임 추정을 수행한다. 즉, 각 블록을 고해상도의 마지막 단위 프레임 영상의 설정된 영역 내에서 가령 픽셀 단위로 움직여가며 움직임에 의한 결과를 확인하는 것이다. 이때 영상처리장치(100)는 움직임 추정 결과의 에러가 가장 적은 블록을 보상에 이용하게 되는 것이다. 여기서, "에러"는 가령 두 블록에 대한 픽셀들의 화소값을 평균화한 평균화 값의 차가 될 수 있지만, 이에 특별히 한정하지는 않을 것이다.
만약 움직임 추정을 수행한 결과, 움직임 에러가 모두 기설정된 임계치를 초과하는 경우 영상처리장치(100)는 학습 기반 보상을 수행한다. 이를 위하여 영상처리장치(100)는 분할한 각 블록에 매칭되는 고해상도의 마지막 단위 프레임 영역의 특정 블록 영상(혹은 제2 블록 영상)을 DB(또는 저장부, 메모리)에 저장해 둔다. 데이터 구축을 위한 동작을 수행하는 것이다. 다시 말해, 영상처리장치(100)는 학습 기반으로 보상을 수행해야 한다고 판단한 경우, 고해상도의 단위 프레임 영상에 대응하는 가상의 저해상도 단위 프레임을 영상을 생성하고, 생성한 가상의 저해상도 단위 프레임 영상의 각 블록(혹은 제3 블록 영상)에 매칭되는 고해상도의 마지막 단위 프레임의 각 블록 영상을 서로 매칭시켜 DB에 저장한다. 다시 말해, 가상의 저해상도 단위 프레임 영상의 1×1 블록 영상은 고해상도 단위 프레임 영상의 1×1 블록 영상과 매칭시키고, 1×2 블록 영상은 고해상도 단위 프레임 영상의 1×2 블록 영상과 매칭시켜 저장하는 방식이다. 이때, 고해상도의 단위 프레임 영상에 대한 가상의 저해상도 단위 프레임 영상은, 가상의 고해상도 단위 프레임 영상의 분할된 각 블록으로 고해상도 단위 프레임 영상 전체에 대하여 움직임 추정을 수행하여 그 중에서 움직임 에러가 가장 적은 블록을 선택하여 조합한 단위 프레임 영상에 해당된다. 혹은 그 반대에 의해 생성된 영상일 수 있다. 가령, 고해상도의 단위 프레임 영상을 분할한 각 블록을 가상의 고해상도 단위 프레임 영상에서 움직임 추정하여 추정 에러가 적은 블록들로 이루어진 영상이 될 수도 있다.
상기한 바와 같이, 수신된 저해상도의 첫 번째 단위 프레임 영상에 대하여 움직임 기반으로 보상을 시도하고, 움직임 에러가 기설정된 값보다 큰 경우에는 DB에 저장된 영상 블록을 검색하여 학습 기반으로 가상의 고해상도 단위 프레임 영상의 각 블록에 대한 보상을 수행하게 된다. 이와 같은 경우, 저해상도 영상의 첫 번째 단위 프레임 영상에 상응하는 가상의 고해상도 단위 프레임 영상은, 고해상도 영상의 마지막 단위 프레임 영상만이 움직임 추정을 위한 참조 영상이 될 수 있다. 그러나, 그 이후의 가상의 고해상도 단위 프레임 영상은, 고해상도 영상의 마지막 단위 프레임 영상과 이전에 복원된 가상의 고해상도 단위 프레임 영상들이 참조 영상이 된다. 후반부(또는 뒤쪽)로 갈수록 참조할 수 있는 영상은 단위 프레임 단위로 하나 하나씩 즉 점차적으로 증가한다고 볼 수 있다.
다만, 본 개시에 따라 후반부로 갈수록 영상의 왜곡이 점차 증가하는 문제가 발생할 수 있다. 이러한 점에서 영상처리장치(100)는 왜곡을 줄이기 위하여 고해상도 영상의 마지막 단위 프레임 영상을 고정적으로 참조해야 할 필요가 있다. 다시 말해, 본 개시에 따른 영상처리장치(100)는 움직임 에러를 줄이기 위하여 바로 이전에 복원된 즉 보상된 가상의 고해상도 단위 프레임 영상을 참조하는 것이 바람직하지만, 해상도 측면에서는 고해상도 영상의 마지막 단위 프레임 영상을 먼저 참조해야 하거나, 고해상도 영상의 마지막 단위 프레임 영상에 더 근접하는 복원 영상을 참조하는 것이 바람직하다. 이러한 참조와 관련되는 규칙은 시스템 설계자에 의해 얼마든지 변경 가능하므로 위의 내용에 특별히 한정하지는 않을 것이다.
또한, 영상처리장치(100)는 최초에 학습 기반으로 구축된 DB를 갱신할 수 있다. 다시 말해, 이미 저장된 블록들에 대하여는 에러가 적은 블록들로 교체하거나, 없는 블록들에 대하여는 새로이 추가할 수 있다. 예를 들어, 저해상도 영상의 첫 번째(이하, 제1) 단위 프레임 영상에 상응하는 제1 가상의 고해상도 단위 프레임 영상과 저해상도 영상의 두 번째(이하, 제2) 단위 프레임 영상에 상응하는 제2 가상의 고해상도 단위 프레임 영상에 차이가 있다면, 새로운 블록을 매칭시켜 저장할 수 있을 것이다. 다만, 모든 블록들에 대하여 계속해서 추가하는 경우 검색 효율이 저하될 수 있으므로, 예컨대 사용 빈도가 적은 블록은 삭제하고 빈도가 많은 블록 위주로 DB를 구축하는 것도 얼마든지 가능할 수 있을 것이다.
통신망(110)은 유무선 통신망을 모두 포함한다. 여기서 유선망은 케이블망이나 공중 전화망(PSTN)과 같은 인터넷망을 포함하는 것이고, 무선 통신망은 CDMA, WCDMA, GSM, EPC(Evolved Packet Core), LTE(Long Term Evolution), 와이브로 망 등을 포함하는 의미이다. 물론 본 개시의 실시예에 따른 통신망(110)은 이에 한정되는 것이 아니며, 향후 구현될 차세대 이동통신 시스템의 접속망으로서 가령 클라우드 컴퓨팅 환경하의 클라우드 컴퓨팅망 등에 사용될 수 있다. 가령, 통신망(110)이 유선 통신망인 경우 통신망(110) 내의 액세스포인트는 전화국의 교환국 등에 접속할 수 있지만, 무선 통신망인 경우에는 통신사에서 운용하는 SGSN 또는 GGSN(Gateway GPRS Support Node)에 접속하여 데이터를 처리하거나, BTS(Base Station Transmission), NodeB, e-NodeB 등의 다양한 중계기에 접속하여 데이터를 처리할 수 있다.
통신망(110)은 액세스포인트를 포함할 수 있다. 액세스포인트는 건물 내에 많이 설치되는 펨토(femto) 또는 피코(pico) 기지국과 같은 소형 기지국을 포함한다. 여기서, 펨토 또는 피코 기지국은 소형 기지국의 분류상 영상처리장치(100)가 또는 영상중계장치가 최대 몇 대까지 접속할 수 있느냐에 따라 구분된다. 물론 액세스포인트는 영상처리장치(100)와 지그비 및 와이파이(Wi-Fi) 등의 근거리 통신을 수행하기 위한 근거리 통신 모듈을 포함한다. 액세스포인트는 무선통신을 위하여 TCP/IP 혹은 RTSP(Real-Time Streaming Protocol)를 이용할 수 있다. 여기서, 근거리 통신은 와이파이 이외에 블루투스, 지그비, 적외선(IrDA), UHF(Ultra High Frequency) 및 VHF(Very High Frequency)와 같은 RF(Radio Frequency) 및 초광대역 통신(UWB) 등의 다양한 규격으로 수행될 수 있다. 이에 따라 액세스포인트는 데이터 패킷의 위치를 추출하고, 추출된 위치에 대한 최상의 통신 경로를 지정하며, 지정된 통신 경로를 따라 데이터 패킷을 다음 장치, 예컨대 영상처리장치(100)로 전달할 수 있다. 액세스포인트는 일반적인 네트워크 환경에서 여러 회선을 공유할 수 있으며, 예컨대 라우터(router), 리피터(repeater) 및 중계기 등이 포함될 수 있다.
서비스제공장치(120)는 가령 아*존 등에서 운용하는 OTT(over the top) 서버를 포함한다. 서비스제공장치(120)는 영상처리장치(100)에서 컨텐츠 요청이 있는 경우, VOD 서비스 등 다양한 서비스를 제공할 수 있다. 또한 서비스제공장치(120)는 자체적으로 DB(120a)를 구축함으로써 DB(120a)와 연동할 수 있다. 다시 말해, 서비스제공장치(120)는 하나의 컨텐츠 영상에 대하여 고해상도와 저해상도의 영상으로 각각 생성하여 DB(120a)에 저장한다. 이때, 본 개시에 따라 서비스제공장치(120)는 가령 청크 단위로 저장하는 것이 바람직하다. 이에 따라, 영상처리장치(100)에서 네트워크 상태 등의 정보와 함께 특정 컨텐츠 영상에 대한 부가 정보를 함께 전송하는 경우, 서비스제공장치(120)는 해당 정보에 매칭되는 해상도의 영상을 전송해주게 된다.
또한 서비스제공장치(120)는 컨텐츠제공장치(130)와 연동하여 주기적으로 컨텐츠를 갱신(updated)하고, 갱신된 컨텐츠를 위의 경우와 같이 각 해상도별로, 더 정확하게 각 해상도의 청크별로 저장해 둘 수 있다. 예를 들어, 컨텐츠제공장치(130)가 특정 방송사의 서버인 경우, 특정 방송 프로그램의 컨텐츠를 고해상도와 저해상도 등 다양한 비트율별로 생성하여 저장할 수 있다.
컨텐츠제공장치(130)는 가령 방송국의 방송국 서버나, 검색 포탈 전문업체의 운영 서버일 수 있다. 컨텐츠제공장치(130)는 컨텐츠가 갱신된 경우, 주기적으로 서비스제공장치(120)로 갱신된 컨텐츠를 제공하거나, 또는 링크 정보만 제공해 줄 수도 있을 것이다. 또한 서비스제공장치(120)에서 요청이 있는 경우에만 갱신된 컨텐츠를 제공할 수 있다. 서비스제공장치(120)와 연동하는 방법은 다양하므로 특정 방법에 특별히 한정하지는 않을 것이다.
도 2는 도 1에 도시된 영상처리장치의 세부 구조를 예시하여 나타낸 블록다이어그램이다.
도 2에 도시된 바와 같이, 본 개시의 제1 실시예에 따른 영상처리장치(100)는 영상 수신부(200) 및 SR 기반 영상처리부(210)의 일부 또는 전부를 포함한다.
여기서, 일부 또는 전부를 포함한다는 것은 영상 수신부(200)와 같은 일부 구성요소가 생략되어 구성될 수 있는 것 등을 의미하는 것으로서, 발명의 충분한 이해를 돕기 위하여 전부 포함하는 것으로 설명한다.
영상 수신부(200)는 통신 인터페이스의 기능을 수행할 수 있다. 이에 따라 영상 수신부(200)는 SR 기반 영상처리부(210)의 제어 하에 동작할 수 있다. 영상 수신부(200)는 영상처리장치(100)의 요청에 따라 수신되는 적응 영상을 SR 기반 영상처리부(210)로 제공하게 된다. 여기서, "적응 영상"은 네트워크 상태 등에 따라 서로 다른 비트율로 전송되는 영상을 의미한다. 이의 과정에서 영상 수신부(200)는 수신된 영상이 압축된 영상인 경우, 이를 복원하는 등 다양한 동작을 수행할 수 있다. 이와 관련해서는 이후에 좀 더 살펴보기로 한다.
SR 기반 영상처리부(210)는 수신된 영상이 고해상도 영상인지의 여부에 따라 저화질의 영상 즉 비디오를 고화질의 영상으로 생성하기 위한 동작을 수행한다. 이때, 고해상도의 기준은 사용자가 컨텐츠를 요청하여 최초에 수신된 영상에 기초할 수 있다. 또는 최초에 수신된 영상이 네트워크 등의 상태에 따라 저해상도의 영상인 경우, 참조할 고해상도의 영상이 없으므로, 이의 경우에는 사전에 미리 저장된 고해상도의 영상을 참조하여 화질 저하 문제를 개선할 수도 있을 것이다. 이는 어디까지나 시스템 설계자가 어떠한 방식으로 영상 처리를 수행할지 결정함으로써 이루어지므로, 특정 내용에 한정하지는 않을 것이다. 예컨대, 서비스제공장치(120)는 컨텐츠제공장치(130)로부터 컨텐츠를 갱신할 때, 갱신된 컨텐츠에 대한 해상도 정보, 더 정확하게는 고해상도 영상의 첫 단위 프레임 영상을 통신망(110)을 통해 영상처리장치(100)에 사전에 전송해 줄 수 있는데, 이를 이용하면 된다.
본 개시에서의 SR 기반 영상처리부(210)는 적응적인 비트 스트림 환경에서, 동일 컨텐츠 영상에 대하여 고해상도의 영상이 제공되다가 저해상도로 변경되는 경우, SR 기반 영상처리부(210)는 이를 판단하여 판단 결과에 따라 저해상도를 이용한 고해상도 수준의 영상을 생성하는 동작을 수행한다. 이와 관련해서는 앞서 도 1의 영상처리장치(100)를 다루면서 간략히 설명하였다. 기타 자세한 내용은 이후에 다시 다루기로 한다. 여기서, "고해상도 수준"이란 실제로 앞선 고해상도 영상과 정확히 일치하는 해상도의 영상을 생성하는 것이 불가능함을 염두에 둔 것이다.
위의 과정으로 처리된 고해상도 수준의 영상은, 영상표시장치의 경우 디스플레이부로 제공되어 컨텐츠 영상이 표시될 수 있다. 또는 영상처리장치(100)가 셋탑 박스와 같은 영상중계장치인 경우, HDMI 케이블 등을 통해 압축되지 않은 상태에서 TV로 전송될 수 있다. 이에 따라, TV 즉 영상표시장치는 하나의 컨텐츠에 대하여 일관된 해상도로 영상을 표시함으로써 사용자의 인지 화질을 개선시킬 수 있이다.
도 3은 도 1에 도시된 영상처리장치의 다른 세부 구조를 예시하여 나타낸 블록다이어그램이고, 도 4는 도 3의 제어부의 세부 구조를 예시하여 나타낸 도면이다.
도 3에 도시된 바와 같이, 본 개시의 제2 실시예에 따른 영상처리장치(100')는 영상 수신부(300), 제어부(310) 및 SR 기반 영상처리부(320)의 일부 또는 전부를 포함하며, 여기서 일부 또는 전부를 포함한다는 것은 앞서의 의미와 동일하다.
도 3의 영상처리장치(100')를 도 2의 영상처리장치(100)와 비교해 보면, 도 2의 SR 기반 영상처리부(210)는 제어 기능 및 SR 기반의 영상 처리를 소프트웨어적으로 처리하는 것이라면, 도 3의 영상처리장치(100')는 제어부(310)의 제어 기능과, SR 기반 영상처리부(320)의 영상 처리 기능이 이원화된 것을 나타낸다. 이에 따라 SR 기반 영상처리부(320)는 고해상도 영상이 변경되어 저해상도로 수신되면, SR 기반의 영상 처리, 즉 움직임 기반 및 학습 기반의 영상 처리를 수행하여 저해상도 영상에 대한 고해상도 영상을 생성하게 되는 것이다.
이러한 점을 제외하면, 도 3의 영상 수신부(300), 제어부(310) 및 SR 기반 영상처리부(320)는 도 2의 영상 수신부(200) 및 SR 기반 영상처리부(210)와 크게 다르지 않으므로 그 내용들로 대신하고자 한다.
이때, 도 3의 제어부(310)는 영상 수신부(300)로 수신된 저해상도의 영상을 SR 기반 영상처리부(320)로 제공하고, SR 기반 영상처리부(320)는 수신된 저해상도 영상을 고해상도로 생성하게 된다. 그리고, 생성된 고해상도 영상을 다시 제어부(310)로 제공할 수 있다. 다시 말해, 제어부(310)는 SR 기반의 영상 처리를 수행하기 위하여 SR 기반 영상처리부(320)를 실행시키며, 이의 과정에서 SR 기반 영상처리부(320)에 저장된 프로그램을 실행시킬 수 있다.
한편, 본 개시에 따른 제어부(310)는 도 4에 도시된 바와 같이, 프로세서(400)와 메모리(410)를 포함할 수 있다. 이의 경우에는, 프로세서(400)가 영상처리장치(100')의 전반적인 제어 기능을 담당하게 된다. 이의 과정에서, 영상처리장치(100')가 처음 기동하는 경우, 다시 말해 전원이 인가되면 영상처리장치(100')가 턴 온 동작하는 경우, 프로세서(400)는 도 3의 SR 기반 영상처리부(320)에 저장된 프로그램을 도 4의 메모리(410)에 로딩할 수 있다. 이와 같이 메모리(410)에 SR 기반 영상 처리를 위한 프로그램을 로딩한 후, 프로세서(400)는 로딩된 프로그램을 실행시켜 SR 기반의 영상 처리를 수행할 수도 있다. 그 결과, 위의 경우에 비해 데이터 처리 속도가 빨라져 영상처리장치(100')의 동작 속도가 증가하게 될 것이다.
도 5는 도 1에 도시된 영상처리장치의 또 다른 세부 구조를 예시하여 나타낸 블록다이어그램이다.
도 5에 도시된 바와 같이, 본 개시의 제3 실시예에 따른 영상처리장치(100'')는 영상 수신부(500), 영상 분리부(510), 비디오/오디오 디코딩부(520), 제어부(530), SR 기반 비디오/오디오 처리부(540) 및 GUI 생성부(550)의 일부 또는 전부를 포함한다.
영상 수신부(500)는 가령 네트워크 환경에 따라 적응적으로 변경된 영상을 수신한다. 이를 위하여, 영상 수신부(500)는 특정 방송 프로그램을 선택하기 위한 튜너와, 선택된 방송 프로그램을 복조하는 복조기 등을 포함할 수 있다.
영상 수신부(500)의 가령 복조기에 의해 복조된 방송 신호(또는 영상 신호)는 영상 분리부(510)로 입력된다. 여기서, 방송 신호는 비디오 신호, 오디오 신호 및 부가 정보를 포함할 수 있다. 또한, 위의 영상 신호는 TV의 방송 프로그램에 관련되지 않는 개념이다. 다시 말해, VCR에 의해 녹화된 영상이나 유*브 영상은 방송 프로그램은 아니므로 영상 신호는 방송 신호를 포함하는 개념이라 이해해도 좋다.
설명의 편의상 방송 신호로 가정하면, 영상 분리부(510)는 입력된 방송 신호를 비디오 신호, 오디오 신호 및 부가 정보로 분리한다. 이때 분리된 부가 정보는 제어부(530)로 제공되어 제어부(530) 내부의 메모리에 저장되거나, 제어부(530)의 제어 하에 별도의 저장부에 저장될 수 있다.
비디오/오디오 디코딩부(520)는 영상 분리부(510)에 의해 각각 분리된 비디오 신호 및 오디오 신호를 각각 디코딩한다. 즉 압축된 신호를 복원(또는 해제)한다. 이를 통해 최초에 촬영되어 전송된 영상이 생성된다. 예를 들어, 비디오 디코딩부(520)는 움직임 기반으로 영상을 복원하되, 인터(inter) 및/또는 인트라(intra) 방식을 독립적으로 수행하거나 병행하여 영상을 복원할 수 있다. 이러한 내용은 이미 잘 알려진 바 있으므로 더 이상의 설명은 생략하도록 한다.
SR 기반 비디오/오디오 처리부(540)는 SR 기반 비디오 처리부와 오디오 처리부로 구분될 수 있다. 여기서, SR 기반 비디오 처리부는 본 개시의 실시예에 따라 고해상도 영상이 저해상도로 수신될 때, 수신된 저해상도 영상을 앞선 고해상도 수준으로 생성하게 된다. 이때, 수신된 저해상도 영상과, 그에 상응하여 생성된 고해상도 영상은 단위 프레임 크기가 동일할 수 있지만, 다를 수도 있다. 예를 들어, 크기가 다른 경우라면, 본 개시에 따른 SR 기반 비디오처리부는 저해상도의 단위 프레임 영상에 대응되는 가상의 고해상도 단위 프레임 영상을 생성하기에 앞서, 가상의 큐빅(Cubic) 영상 또는 중간 영상을 더 생성할 수 있다. 여기서, 가상의 큐빅 영상은 가상의 고해상도 단위 프레임 영상과 크기는 같다. 하지만, 해상도만 다르다. 따라서, SR 기반 비디오처리부는 가상의 큐빅 영상의 해상도를 다시 상향하여 가상의 고해상도 단위 프레임 영상을 생성할 수 있다. 이는 어디까지나 하나의 실시예에 불과하므로 위의 내용에 특별히 한정하지는 않을 것이다.
이러한 점을 제외하면, SR 기반의 비디오처리부와 관련한 내용은 앞서 이미 간략히 살펴보았으므로, 더 이상의 설명은 생략하며, 이후에 좀 더 다루기로 한다.
제어부(530)는 비디오/오디오 디코딩부(520) 및 GUI 생성부(550)를 제어하며, 가령 사용자 메뉴 또는 전자프로그램가이드(EPG)와 같은 화면을 사용자에게 제공하기 위하여, 해당 화면을 SR 기반 비디오/오디오 처리부(540)에 제공하도록 제어할 수 있다. 이를 통해 SR 기반 비디오/오디오 처리부(540), 더 정확하게는 SR 기반 비디오처리부는 사용자가 요청한 GUI 화면이 합성된 영상을 출력할 수 있다.
GUI 생성부(550)는 위의 설명대로, 사용자 요청에 따른 메뉴 화면을 생성하거나, 기생성된 화면을 제어부(530)의 제어 하에 SR 기반 비디오/오디오 처리부(540)로 출력하고, EPG 화면 등을 사용자의 요청시 출력할 수 있을 것이다.
도 6은 도 2의 SR 기반 영상처리부의 세부 구조를 예시하여 나타낸 블록다이어그램이고, 도 7 내지 도 10은 도 6의 영상 처리 동작을 설명하기 위한 도면이다.
도 6에 도시된 바와 같이, 본 개시에 따른 SR 기반 영상처리부(210)는 MCSR(Motion compensated SR)부(600), LSR(Learning SR)부(610) 및 믹싱부(620)의 일부 또는 전부를 포함한다.
여기서, 일부 또는 전부를 포함한다는 것은 일부 구성요소가 다른 구성요소와 통합되어 구성될 수 있는 것 등을 의미하는 것으로서 발명의 충분한 이해를 돕기 위하여 전부 포함하는 것으로 설명한다.
도 6은 저비트율 청크 내 프레임의 화질이 이전에 전송된 고비트율 청크 내의 프레임 화질과 유사하게 되도록 하는 후처리 기반 시스템에 해당한다. 고해상도 프레임 복원을 위해 참조 영상으로 고비트율 청크 내의 마지막 프레임(이하, KF라 함)과 이전에 복원된 결과 프레임(On-1)을 사용하게 된다.
좀 더 구체적으로, MCSR부(600)는 도 7에서와 같이, KF(700)와 이전 복원된 결과 프레임(710) 각각에 대한 움직임 추정 및 보상을 수행하여 SR 영상을 생성한다. 다시 말해, 업 샘플링된(up-sampled) 입력 영상을 블록 단위로 나누고, 각 블록에 대해 KF(700) 및 이전 복원된 결과 영상(710)에서 움직임 벡터 추정을 수행한다. 이때, 움직임 벡터는 가령 서브 픽셀 단위로 추정될 수 있는데, 정확한 움직임 벡터 추정을 위해 피라미드 구조 및 최적화 기반의 방법을 적용할 수 있다. 추정된 움직임 벡터의 위치에서 KF(700) 및 이전 복원된 결과 영상(710)의 블록을 가져와 움직임이 보상된 고해상도 영상을 생성하게 된다. 움직임 보상 과정에서는 서브 픽셀 보간(interpolation)에 의한 디테일(detail) 손실이 발생할 수 있기 때문에 이에 대한 보상이 필요하다. 이를 위해, 정수 픽셀 위치에 해당하는 블록의 변화량(variance)과 서브 픽셀 위치에 해당하는 블록의 변화량 비를 계산하여 디테일 강화(detail enhancement) 기법의 입력 파라미터로 사용할 수 있다.
다시 정리해 보면, MCSR부(600)는 저해상도 영상이 수신될 때, 제1 단위 프레임 영상에 대한 가상의 고해상도 단위 프레임 영상을 생성한 후, 생성된 단위 프레임 영상을 블록 단위로 분할하고, 분할된 각 블록을 KF에서 움직임 추정하여 가상의 고해상도 단위 프레임 영상을 보상한다. 이때 저해상도 영상의 제1 단위 프레임 영상은 KF에 기반하여 움직임 추정이 이루어지지만, 그 이후의 가상의 고해상도 단위 프레임 영상은 KR와 이전에 복원된 가상의 고해상도 단위 프레임 영상을 참조하여 움직임 추정을 수행하여 해당 블록 또는 단위 프레임 영상을 보상하게 된다. 이러 관련된 전반적인 동작이 MCSR부(600)에서 이루어진다고 볼 수 있다.
또한, LSR부(610)는 KF와 복원된 결과 프레임을 사용하여 DB 구축 및 갱신을 수행하고, DB에 저장된 영상들을 이용하여 SR 영상을 생성한다. 좀 더 구체적으로 LSR부(610)은 저해상도와 고해상도인 LR-HR 패치쌍(또는 블록쌍)으로 구성된 DB를 구축하는 과정과 DB를 사용하여 입력 저해상도 영상에서 고해상도 영상을 합성하는 동작을 수행할 수 있다. DB 구축은 고해상도 KF와 이에 대응하는 저해상도 영상을 사용하는데 적응적 스트림 환경에서는 KF에 대응하는 저해상도 영상이 주어지지 않기 때문에 가상의 저해상도 영상을 생성하여 이용하게 된다.
예를 들어, 도 8에서와 같이, KF를 블록 단위로 나누고 각 블록을 업 샘플링된 입력 영상(810)에서 움직임 추정 및 보상을 수행하여 KF(800)의 저해상도 버전(820)을 생성한다. 여기서, 저해상도 버전(820)은 업 샘플링된 입력 영상(810)의 조합일 수 있다. 이때, 생성된 저해상도 영상(820)에서 움직임 보상 에러가 충분히 작고 구조(structure) 성분을 포함하는 위치에 대해서만 LR 패치와 HR 패치를 추출하여 DB를 구축한다(830).
반대로, 가령 움직임 추정을 수행하여 움직임 에러가 기설정된 임계치보다 큰 경우, 도 2의 SR 기반 영상처리부(210)는 학습 기반의 SR 보상을 수행하는데, 이를 위하여 저해상도의 단위 프레임 영상에 대하여 업 샘플링된 영상(810)을 블록 단위로 나누고, 분할된 각 블록을 KF(80) 전체에서 움직임 추정을 수행하여, 움직임 추정 에러가 가장 작은 블록들을 조합하여 KF(800)에 대한 저해상도 영상(820)을 생성할 수 있도 있을 것이다.
한편, LSR부(610)는 도 9에서와 같이, 매 프레임 처리가 끝나면 업 샘플링된 입력 영상(900)과, 생성된 결과 영상(910)(HR 영상으로 간주)으로부터 LR-HR 패치쌍을 추출하여 기존 DB의 일부를 대체하는 갱신 과정을 수행한다(920). 갱신 과정은 카메라 움직임이 큰 경우, 이전에 구축된 DB의 활용성이 줄어드는 것을 방지하기 위한 것으로, 카메라 움직임이 클수록 이전 복원된 결과로부터 추출된 LR-HR 패치가 많이 포함되도록 갱신 양을 조절할 수 있다. SR 합성과정은 도 10에서와 같이 업 샘플링된 입력 영상의 각 패치(ex. LR 패치로 간주)에 대해 DB 내의 가장 유사한 LR 패치를 찾은 후(1000), 이에 대응하는 HR 패치를 가져다 붙임으로써 수행된다(1010).
도 6에 도시된 믹싱부(620)는 도 10에서와 같이 SR 결과 영상으로부터 최종 결과 영상(1010)을 생성한다. 즉 믹싱부(620)에서는 MCSR 결과와 LSR 결과를 픽셀 단위로 융합하여 최종 결과를 생성한다. 하나의 예로 매칭 에러를 로컬 윈도우(local window)에 대해 누적한 후 이를 기반으로 매칭 에러가 작을 때 높은 가중치를 부여하는 방식을 사용할 수 있다.
도 11은 시뮬레이션 영상을 예시하여 나타낸 도면이다.
본 개시에 따라, 도 1의 영상처리장치(100)에서 처리되는 풀 HD(ex. 1920 × 1080) 영상의 비트율이 4 Mbps에서 2 Mbps로 변경되었을 때(청크의 길이는 30 frame)를 가정하여 시뮬레이션을 수행하였다.
그 결과, 도 11에 도시된 바와 같이, 비트율이 감소할 때((b) 참조) 고화질 청크의 프레임 및 이전 복원된 프레임 정보를 사용함으로써 인지 화질의 저하를 최소화할 수 있음을 확인할 수 있었다((c) 참조).
도 12는 본 개시에 따른 영상처리과정을 나타내는 흐름도이다.
도 12를 도 1과 함께 참조하면, 본 개시에 따른 도 1의 영상처리장치(100)는 고해상도 영상을 수신한다(S1200).
이의 과정에서 가령 네트워크 상태가 변경되면, 영상처리장치(100)는 수신한 고해상도 영상을 저해상도로 수신하며, 수신된 저해상도 영상을 이용하여 가상의 고해상도 영상을 생성한다(S1210). 이때, 가상의 고해상도 영상, 더 정확하게는 단위 프레임 영상은, 저해상도의 단위 프레임 영상에 대응하는 제1 단위 프레임 영상일 수 있고, 이를 제외한 그 이외의 단위 프레임 영상을 의미할 수 있다.
그리고, 영상처리장치(100)는 생성한 가상의 고해상도 영상을 복수의 블록으로 분할한다(S1220). 이때 블록 즉 제1 블록 영상은 8×8 블록일 수 있고, 16×16 블록 등 다양한 크기의 블록이 될 수 있다.
또한 영상처리장치(100)는 분할한 각 블록을 고해상도 영상에 대하여 움직임을 추정하고, 추정 결과에 근거하여 가상의 고해상 영상을 보상한다(S1230). 다시 말해, 움직임 추정은 KF에서 기설정된 영역 내에서 픽셀 단위로 변경하며 이루어질 수 있는데, 해당 영역 내에서 움직임 에러가 기설정된 임계치를 벗어나지 않는 블록을 이용해 가상의 고해상도 영상을 보상하게 된다.
이때, 영상처리장치(100)는 가상의 고해상도 단위 프레임 영상에서 해상도의 왜곡 문제가 발생하지 않도록, 우선적으로 KF라는 고해상도의 마지막 단위 프레임 영상을 참조할 수 있다. 그리고, KF에 근접하는 복원된 가상의 고해상도 단위 프레임을 순으로 참조하여 움직임 추정을 수행할 수 있을 것이다. 이러한 과정에서, 영상처리장치(100)는 움직임 에러가 적고, 해상도가 높은 블록을 보상에 이용하는 것이 바람직하다.
만약, 임계치를 벗어나는 경우, 영상처리장치(100)는 앞서 도 6 내지 도 10을 참조하여 충분히 설명한 바와 같이, 학습 기반의 보상을 수행할 수 있다. 이와 관련해서는 앞서 충분히 살펴보았으므로 더 이상의 설명은 생략하도록 한다.
한편, 본 개시의 실시 예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 설명되었다고 해서, 본 개시가 반드시 이러한 실시 예에 한정되는 것은 아니다. 즉, 본 개시의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 개시의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 비일시적 저장매체(non-transitory computer readable media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 개시의 실시 예를 구현할 수 있다.
여기서 비일시적 판독 가능 기록매체란, 레지스터, 캐시(cache), 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라, 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로, 상술한 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리 카드, ROM 등과 같은 비일시적 판독가능 기록매체에 저장되어 제공될 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에 청구하는 본 개시의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다.
100: 영상처리장치 110: 통신망
120: 서비스제공장치 130: 컨텐츠제공장치
200, 300, 500: 영상 수신부 210, 320: SR 기반 영상처리부
310, 530: 제어부 400: 프로세서
410: 메모리 510: 영상 분리부
520: 비디오/오디오 디코딩부 540: SR 기반 비디오/오디오 처리부
550: GUI 생성부 600: MCSR부
610: LSR부 620: 믹싱부

Claims (19)

  1. 고해상도 영상을 수신하는 단계;
    상기 고해상도 영상의 수신 중에 저해상도로 변경되면, 상기 저해상도의 영상을 이용하여 가상의 고해상도 영상을 생성하는 단계;
    상기 생성한 가상의 고해상도 영상을 복수의 블록으로 분할하는 단계; 및
    상기 분할한 제1 블록 영상을 기수신된 상기 고해상도 영상에서 움직여가며 추정한 추정 결과에 근거하여 상기 생성한 가상의 고해상도 영상을 보상하는 단계;를
    포함하는 영상처리방법.
  2. 제1항에 있어서,
    상기 가상의 고해상도 영상을 보상하는 단계는,
    상기 추정 결과가 기설정된 임계치보다 작을 때, 상기 가상의 고해상도 영상을 움직임 기반으로 보상하는 영상처리방법.
  3. 제2항에 있어서,
    상기 고해상도 영상은 복수의 단위 프레임을 포함하며,
    상기 제1 블록 영상의 움직임 추정은, 상기 복수의 단위 프레임 중 마지막에 위치하는 최종 단위 프레임의 기설정된 영역 내에서 이루어지는 영상처리방법.
  4. 제3항에 있어서,
    상기 최종 단위 프레임을 분할한 제2 블록 영상을, 상기 최종 단위 프레임에 대응되는 가상의 저해상도 영상의 제3 블록 영상과 매칭시켜 저장하는 단계;를 더 포함하며,
    상기 가상의 고해상도 영상을 보상하는 단계는,
    상기 추정 결과가 기설정된 임계치보다 클 때, 상기 저장한 제2 블록 영상을 상기 보상에 이용하는 영상처리방법.
  5. 제4항에 있어서,
    상기 최종 단위 프레임을 복수의 블록으로 분할하는 단계;
    상기 가상의 고해상도 영상 전체에서 상기 분할한 제2 블록 영상을 움직여가며 추정한 추정 결과의 에러가 작은 제1 블록 영상을 선택하는 단계; 및
    상기 선택한 제1 블록 영상들을 조합하여 상기 가상의 저해상도 영상을 생성하는 단계;를 더 포함하며,
    상기 가상의 고해상도 영상을 보상하는 단계는,
    상기 제1 블록 영상에 대응하는 상기 제3 블록 영상과 매칭되는 상기 제2 블록 영상을 상기 보상에 이용하는 영상처리방법.
  6. 제5항에 있어서,
    상기 가상의 고해상도 영상을 보상하는 단계는,
    상기 가상의 고해상도 영상의 첫 번째 단위 프레임은 상기 최종 단위 프레임을 참조하여 보상하는 단계; 및
    상기 첫 번째 단위 프레임 이외의 영상은 상기 최종 단위 프레임 및 이전에 복원된 단위 프레임을 참조하여 보상하는 단계;를
    포함하는 영상처리방법.
  7. 제5항에 있어서,
    상기 제2 블록 영상을 저장하는 단계는, 지정된 시간 간격으로 상기 저장한 제2 블록 영상을 갱신하는 단계;를 포함하는 영상처리방법.
  8. 제7항에 있어서,
    상기 저장한 제2 블록 영상을 갱신하는 단계는,
    사용 빈도가 적은 제2 블록 영상을 제거하는 단계; 및
    새로운 제2 블록 영상을 추가하는 단계;를
    포함하는 영상처리방법.
  9. 제1항에 있어서,
    상기 가상의 고해상도 영상을 생성하는 단계,
    통신망 및 상기 고해상도 영상을 수신하는 영상처리장치의 상태 중 적어도 하나의 상태에 근거해 상기 고해상도 영상을 상기 저해상도로 수신하는 영상처리방법.
  10. 고해상도 영상을 수신하는 수신부; 및
    상기 고해상도 영상의 수신 중에 저해상도로 변경되면, 상기 저해상도의 영상을 이용하여 가상의 고해상도 영상을 생성하고, 상기 생성한 가상의 고해상도 영상을 복수의 블록으로 분할하며, 상기 분할한 제1 블록 영상을 기수신된 상기 고해상도의 영상에서 움직여가며 추정한 추정 결과에 근거하여 상기 생성한 가상의 고해상도 영상을 보상하는 프로세서;를
    포함하는 영상처리장치.
  11. 제10항에 있어서,
    상기 프로세서는, 상기 추정 결과가 기설정된 임계치보다 작을 때, 상기 가상의 고해상도 영상을 움직임 기반으로 보상하는 영상처리장치.
  12. 제11항에 있어서,
    상기 고해상도 영상은 복수의 단위 프레임을 포함하며,
    상기 제1 블록 영상의 움직임 추정은, 상기 복수의 단위 프레임 중 마지막에 위치하는 최종 단위 프레임의 기설정된 영역 내에서 이루어지는 영상처리장치.
  13. 제12항에 있어서,
    상기 최종 단위 프레임을 분할한 제2 블록 영상을, 상기 최종 단위 프레임에 대응되는 가상의 저해상도 영상의 제3 블록 영상과 매칭시켜 저장하는 저장부;를 더 포함하며,
    상기 프로세서는, 상기 추정 결과가 기설정된 임계치보다 클 때, 상기 저장한 제2 블록 영상을 상기 보상에 이용하는 영상처리장치.
  14. 제13항에 있어서,
    상기 최종 단위 프레임을 복수의 블록으로 분할하고, 상기 가상의 고해상도 영상 전체에서 상기 분할한 제2 블록 영상을 움직여가며 추정한 움직임 추정 결과의 에러가 작은 제1 블록 영상을 선택하며, 상기 선택한 제1 블록 영상들을 조합하여 상기 가상의 저해상도 영상을 생성하는 학습 기반 SR부;를 더 포함하며,
    상기 프로세서는, 상기 제1 블록 영상에 대응하는 상기 제3 블록 영상과 매칭되는 상기 제2 블록 영상을 상기 보상에 이용하는 영상처리장치.
  15. 제14항에 있어서,
    상기 프로세서는, 상기 가상의 고해상도 영상의 첫 번째 단위 프레임은 상기 최종 단위 프레임을 참조하여 보상하고, 상기 첫 번째 단위 프레임 이외의 영상은 상기 최종 단위 프레임 및 이전에 복원된 단위 프레임을 참조하여 보상하는 영상처리장치.
  16. 제14항에 있어서,
    상기 프로세서는, 지정된 시간 간격으로 상기 저장한 제2 블록 영상을 갱신하는 영상처리장치.
  17. 제16항에 있어서,
    상기 프로세서는 상기 갱신을 위해 사용 빈도가 적은 제2 블록 영상을 제거하고, 새로운 제2 블록 영상을 추가하는 영상처리장치.
  18. 제10항에 있어서,
    상기 수신부는, 통신망 및 상기 영상처리장치의 상태 중 적어도 하나의 상태에 근거해 상기 고해상도 영상을 상기 저해상도로 수신하는 영상처리장치.
  19. 영상처리방법을 실행하기 위한 프로그램을 포함하는 컴퓨터 판독가능 기록매체에 있어서,
    상기 영상처리방법은,
    고해상도 영상을 수신하는 단계;
    상기 고해상도 영상의 수신 중에 저해상도로 변경되면, 상기 저해상도의 영상을 이용하여 가상의 고해상도 영상을 생성하는 단계;
    상기 생성한 가상의 고해상도 영상을 복수의 블록으로 분할하는 단계; 및
    상기 분할한 제1 블록 영상을 기수신된 상기 고해상도의 영상에서 움직여가며 추정한 추정 결과에 근거하여 상기 생성한 가상의 고해상도 영상을 보상하는 단계;를
    실행하는 컴퓨터 판독가능 기록매체
KR1020150147668A 2015-10-23 2015-10-23 영상처리장치, 영상처리방법 및 컴퓨터 판독가능 기록매체 KR20170047489A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150147668A KR20170047489A (ko) 2015-10-23 2015-10-23 영상처리장치, 영상처리방법 및 컴퓨터 판독가능 기록매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150147668A KR20170047489A (ko) 2015-10-23 2015-10-23 영상처리장치, 영상처리방법 및 컴퓨터 판독가능 기록매체

Publications (1)

Publication Number Publication Date
KR20170047489A true KR20170047489A (ko) 2017-05-08

Family

ID=60163738

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150147668A KR20170047489A (ko) 2015-10-23 2015-10-23 영상처리장치, 영상처리방법 및 컴퓨터 판독가능 기록매체

Country Status (1)

Country Link
KR (1) KR20170047489A (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101885855B1 (ko) 2017-03-30 2018-08-07 단국대학교 산학협력단 고해상도 추정 기법을 활용한 영상 신호 전송
WO2019143025A1 (ko) * 2018-01-16 2019-07-25 한국과학기술원 라인 입력 및 출력을 이용한 이미지 처리 방법 및 장치
WO2020017871A1 (ko) * 2018-07-16 2020-01-23 삼성전자 주식회사 영상 처리 장치 및 그 동작방법
KR20200067113A (ko) 2018-12-03 2020-06-11 단국대학교 산학협력단 이미지 송신 장치
KR20200067114A (ko) 2018-12-03 2020-06-11 주식회사 리메드 이미지 송신 장치
WO2020159304A1 (ko) * 2019-01-31 2020-08-06 주식회사 알파서클 가상현실을 표현하는 분할영상 사이의 전환시점을 제어하여 프레임 동기화를 구현하는 가상현실 영상전환방법 및 가상현실 영상재생장치

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101885855B1 (ko) 2017-03-30 2018-08-07 단국대학교 산학협력단 고해상도 추정 기법을 활용한 영상 신호 전송
WO2019143025A1 (ko) * 2018-01-16 2019-07-25 한국과학기술원 라인 입력 및 출력을 이용한 이미지 처리 방법 및 장치
WO2020017871A1 (ko) * 2018-07-16 2020-01-23 삼성전자 주식회사 영상 처리 장치 및 그 동작방법
US11871144B2 (en) 2018-07-16 2024-01-09 Samsung Electronics Co., Ltd. Image processing apparatus and operation method thereof
KR20200067113A (ko) 2018-12-03 2020-06-11 단국대학교 산학협력단 이미지 송신 장치
KR20200067114A (ko) 2018-12-03 2020-06-11 주식회사 리메드 이미지 송신 장치
WO2020159304A1 (ko) * 2019-01-31 2020-08-06 주식회사 알파서클 가상현실을 표현하는 분할영상 사이의 전환시점을 제어하여 프레임 동기화를 구현하는 가상현실 영상전환방법 및 가상현실 영상재생장치
US11412199B2 (en) 2019-01-31 2022-08-09 Alphacircle Co., Ltd. Method and device for implementing frame synchronization by controlling transit time

Similar Documents

Publication Publication Date Title
US11082709B2 (en) Chroma prediction method and device
KR20170047489A (ko) 영상처리장치, 영상처리방법 및 컴퓨터 판독가능 기록매체
US10944995B2 (en) Encoding apparatus, decoding apparatus, and control methods therefor
US8218638B2 (en) Method and system for optical flow based motion vector estimation for picture rate up-conversion
JP5937212B2 (ja) デプス符号化
US10951914B2 (en) Reliable large group of pictures (GOP) file streaming to wireless displays
CN107683605B (zh) 编码装置、解码装置和传输控制方法
EP3448021B1 (en) Video encoding and decoding method and device
US20170150165A1 (en) Decoding apparatus and decoding method thereof
KR20120013179A (ko) 무선 시스템에서의 비압축 영상 통신을 위한 점진적 레이트 조정 방법 및 시스템
EP3675490A1 (en) Image processing device and image processing method
US10284810B1 (en) Using low-resolution frames to increase frame rate of high-resolution frames
KR20170091323A (ko) 영상표시장치, 영상표시장치의 구동방법 및 컴퓨터 판독가능 기록매체
US11290724B2 (en) Inter prediction method and apparatus, and terminal device
US11109060B2 (en) Image prediction method and apparatus
KR20220112783A (ko) 블록 기반 압축 자동 인코더
WO2010113086A1 (en) System and format for encoding data and three-dimensional rendering
US9621841B1 (en) Frame rate conversion based on object tracking
US8817881B1 (en) Video processing apparatus and video processing method
EP2312859A2 (en) Method and system for communicating 3D video via a wireless communication link
EP3796657B1 (en) Motion vector acquisition method and device
KR102411911B1 (ko) 프레임 레이트 변환 장치 및 그 프레임 레이트 변환 방법
US11438631B1 (en) Slice based pipelined low latency codec system and method
JP4991884B2 (ja) 画像処理装置、および画像処理方法
US20240187640A1 (en) Temporal structure-based conditional convolutional neural networks for video compression