KR101553346B1 - 트랜스코딩 장치 및 방법 - Google Patents

트랜스코딩 장치 및 방법 Download PDF

Info

Publication number
KR101553346B1
KR101553346B1 KR1020140159930A KR20140159930A KR101553346B1 KR 101553346 B1 KR101553346 B1 KR 101553346B1 KR 1020140159930 A KR1020140159930 A KR 1020140159930A KR 20140159930 A KR20140159930 A KR 20140159930A KR 101553346 B1 KR101553346 B1 KR 101553346B1
Authority
KR
South Korea
Prior art keywords
depth
image
depth information
block
resolution
Prior art date
Application number
KR1020140159930A
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 KR1020140159930A priority Critical patent/KR101553346B1/ko
Application granted granted Critical
Publication of KR101553346B1 publication Critical patent/KR101553346B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding

Landscapes

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

Abstract

본 발명은 트랜스코딩 장치 및 방법에 관한 것이다. 본 발명의 일 실시예에 따른 트랜스코딩 장치는, 인코딩된 영상을 디코딩하여 상기 영상을 구성하는 블록들의 깊이 정보를 추출하는 디코딩부; 디코딩된 영상의 해상도를 스케일링 팩터에 따라 변경하는 해상도 변경부; 추출된 깊이 정보를 상기 스케일링 팩터에 따라 재구성하는 깊이 정보 재구성부; 및 재구성된 깊이 정보를 기초로 상기 해상도가 변경된 영상을 인코딩하는 인코딩부;를 포함할 수 있다.

Description

트랜스코딩 장치 및 방법{TRANSCODING APPARATUS AND METHOD}
본 발명은 트랜스코딩 장치 및 방법에 관한 것이다.
단일 환경을 목표로 제작된 영상을 다른 환경에서도 이용할 수 있도록 가공하는 트랜스코딩은 영상의 최초 제작 후 영상의 변환 및 수정 시 필수적으로 사용되는 기술이다. 특히, 최근 들어 다양한 성능을 가진 각종 스마트 기기들이 널리 보급되어 멀티미디어 컨텐츠 소비가 급증하고 있는 추세이다. 그로 인해, 영상을 기기의 성능 및 네트워크 환경에 따라 적절하게 가공하여 실시간으로 제공할 수 있는 트랜스코딩 기술이 요구되고 있다.
MPEG이나 H.264를 잇는 차세대 영상 압축 기술로 HEVC(High Efficiency Video Coding)가 주목받고 있다. HEVC는 기존의 영상 압축 알고리즘에 비해 같은 화질의 영상을 절반 정도의 용량으로 압축할 수 있어 압축률을 2 배 가까이 향상시킬 수 있다.
HEVC는 기존의 영상 압축 기술과 달리 매크로 블록을 사용하지 않고 코딩 트리 유닛(Coding Tree Unit, CTU) 및 그보다 작은 단위인 코딩 유닛(Coding Unit, CU)을 도입함으로써 다양한 처리 단위의 조합을 통해 보다 효과적인 압축을 가능하게 한다. 특히, HEVC는 4-레벨로 보다 다양화된 사이즈(64 × 64, 32 × 32, 16 × 16, 8 × 8)를 갖는 CU를 사용한다. 이로써, HEVC는 복잡한 영상은 작은 CU를 활용하여 보다 상세한 영상 정보를 보존하고, 단순한 영상은 큰 CU를 활용하여 보다 적은 비트로 영상을 압축함으로써 압축 효율을 높인다.
그러나, HEVC는 다양한 사이즈의 CU를 사용하여 압축 효율을 높이는 반면, 모든 사이즈의 CU에 대하여 율-왜곡 비용(rate-distortion cost)을 계산하고 비용이 가장 낮은 CU로 영상을 압축하므로 연산 복잡도가 크게 증가하는 단점을 갖는다. 트랜스코딩 역시 입력 영상을 디코딩하여 원(raw) 영상을 획득한 뒤, 원 영상을 가공하여 다시 인코딩함으로써 출력 영상을 생성하므로, HEVC와 같이 연산 복잡도가 높은 알고리즘으로 압축된 영상을 트랜스코딩하는 경우, 트랜스코딩에 소요되는 시간이 길어지는 문제가 있다.
본 발명의 실시예는 영상의 트랜스코딩 속도를 높일 수 있는 트랜스코딩 장치 및 방법을 제공하는 것을 목적으로 한다.
본 발명의 실시예는 HEVC와 같이 다중 깊이의 쿼드트리 구조를 활용하는 알고리즘으로 인코딩된 영상의 트랜스코딩 시, 불필요한 깊이에서의 연산을 제거하여 트랜스코딩에 요구되는 연산량을 줄일 수 있는 트랜스코딩 장치 및 방법을 제공하는 것을 목적으로 한다.
본 발명의 일 실시예에 따른 트랜스코딩 장치는, 인코딩된 영상을 디코딩하여 상기 영상을 구성하는 블록들의 깊이 정보를 추출하는 디코딩부; 디코딩된 영상의 해상도를 스케일링 팩터에 따라 변경하는 해상도 변경부; 추출된 깊이 정보를 상기 스케일링 팩터에 따라 재구성하는 깊이 정보 재구성부; 및 재구성된 깊이 정보를 기초로 상기 해상도가 변경된 영상을 인코딩하는 인코딩부;를 포함할 수 있다.
상기 디코딩부는 HEVC(High Efficiency Video Coding) 방식으로 인코딩된 영상을 디코딩하고, 상기 인코딩부는 상기 해상도가 변경된 영상을 상기 HEVC 방식으로 인코딩할 수 있다.
상기 해상도 변경부는: 상기 디코딩된 영상을 상기 스케일링 팩터만큼 다운스케일링할 수 있다.
상기 깊이 정보 재구성부는: 상기 스케일링 팩터에 따라 상기 영상에 검사 블록을 적용하여 상기 영상을 스캐닝하되, 상기 영상을 구성하는 블록들 중 상기 검사 블록 내에 위치한 블록의 깊이에 대한 단일성을 검사하고, 상기 단일성에 따라 상기 검사 블록의 사이즈를 결정하고, 상기 결정된 사이즈에 대응하는 깊이를 이용하여 상기 깊이 정보를 재구성할 수 있다.
상기 깊이 정보 재구성부는: 상기 영상의 인코딩 시 처리 가능한 최대 단위 블록을 상기 스케일링 팩터만큼 업스케일링한 상기 검사 블록을 상기 영상에 적용하고, 상기 영상을 구성하는 블록들 중 상기 검사 블록 내에 위치한 블록의 깊이가 동종인 경우, 해당 검사 블록의 사이즈에 대응하는 깊이를 획득하고, 상기 검사 블록 내에 위치한 블록의 깊이가 이종인 경우, 해당 검사 블록을 축소시켜 축소된 검사 블록 내에 위치한 블록의 깊이에 대한 단일성을 재검사할 수 있다.
상기 깊이 정보 재구성부는: 상기 검사 블록의 축소 및 단일성 재검사를, 상기 검사 블록 내 블록의 깊이가 동종이 되거나 상기 검사 블록이 기 설정된 최대 깊이에 대응하는 사이즈를 가질 때까지 반복하여, 해당 검사 블록의 사이즈에 대응하는 깊이를 획득할 수 있다.
상기 깊이 정보 재구성부는: 상기 영상 내 일 영역에 상기 검사 블록을 적용하여 해당 검사 블록의 사이즈에 대응하는 깊이를 획득한 뒤, 상기 영상 내 다른 영역에 상기 검사 블록을 적용하여 해당 검사 블록의 사이즈에 대응하는 깊이를 획득하는 과정을 반복함으로써 상기 깊이 정보를 재구성할 수 있다.
상기 깊이 정보 재구성부는: 상기 스케일링 팩터가 2n인 경우(여기서, n은 자연수), 상기 추출된 깊이 정보를 구성하는 각 블록의 깊이에 1을 더하는 과정을 n 번 수행할 수 있다.
상기 깊이 정보 재구성부는: 상기 스케일링 팩터가 2n인 경우(여기서, n은 자연수), 상기 추출된 깊이 정보에 포함된 깊이가 기 설정된 최대 깊이보다 작은 경우, 해당 깊이에 1을 더하는 과정, 및 상기 깊이가 상기 최대 깊이와 같은 경우, 해당 깊이를 유지하되 이어지는 세 개의 깊이들을 삭제하는 과정,을 n 번 수행할 수 있다.
상기 인코딩부는: 상기 재구성된 깊이 정보에 따라 상기 해상도가 변경된 영상의 블록들을 구성하여 인코딩할 수 있다.
상기 인코딩부는: 상기 재구성된 깊이 정보에 포함된 깊이를 기초로 제 1 코스트를 계산하고, 해당 깊이에서 1을 뺀 깊이를 기초로 제 2 코스트를 계산하고, 상기 제 1 코스트와 상기 제 2 코스트 중 낮은 코스트에 대응하는 깊이에 따라 상기 해상도가 변경된 영상을 인코딩할 수 있다.
본 발명의 일 실시예에 따른 트랜스코딩 방법은 트랜스코딩 장치가 영상을 트랜스코딩하는 방법으로서, 인코딩된 영상을 디코딩하여 상기 영상을 구성하는 블록들의 깊이 정보를 추출하는 단계; 디코딩된 영상의 해상도를 스케일링 팩터에 따라 변경하는 단계; 추출된 깊이 정보를 상기 스케일링 팩터에 따라 재구성하는 단계; 및 재구성된 깊이 정보를 기초로 상기 해상도가 변경된 영상을 인코딩하는 단계;를 포함할 수 있다.
상기 깊이 정보를 추출하는 단계는: HEVC 방식으로 인코딩된 영상을 디코딩하는 단계를 포함하고, 상기 해상도가 변경된 영상을 인코딩하는 단계는: 상기 해상도가 변경된 영상을 상기 HEVC 방식으로 인코딩하는 단계를 포함할 수 있다.
상기 디코딩된 영상의 해상도를 변경하는 단계는: 상기 디코딩된 영상을 상기 스케일링 팩터만큼 다운스케일링하는 단계를 포함할 수 있다.
상기 추출된 깊이 정보를 재구성하는 단계는: 상기 스케일링 팩터에 따라 상기 영상에 검사 블록을 적용하여 상기 영상을 스캐닝하되, 상기 영상을 구성하는 블록들 중 상기 검사 블록 내에 위치한 블록의 깊이에 대한 단일성을 검사하고, 상기 단일성에 따라 상기 검사 블록의 사이즈를 결정하고, 상기 결정된 사이즈에 대응하는 깊이를 이용하여 상기 깊이 정보를 재구성하는 단계를 포함할 수 있다.
상기 깊이 정보를 재구성하는 단계는: 상기 영상의 인코딩 시 처리 가능한 최대 단위 블록을 상기 스케일링 팩터만큼 업스케일링한 상기 검사 블록을 상기 영상에 적용하는 단계; 상기 영상을 구성하는 블록들 중 상기 검사 블록 내에 위치한 블록의 깊이가 동종인 경우, 해당 검사 블록의 사이즈에 대응하는 깊이를 획득하는 단계; 및 상기 검사 블록 내에 위치한 블록의 깊이가 이종인 경우, 해당 검사 블록을 축소시켜 축소된 검사 블록 내에 위치한 블록의 깊이에 대한 단일성을 재검사하는 단계;를 포함할 수 있다.
해당 검사 블록을 축소시켜 축소된 검사 블록 내에 위치한 블록의 깊이에 대한 단일성을 재검사하는 단계는: 상기 검사 블록의 축소 및 단일성 재검사를, 상기 검사 블록 내 블록의 깊이가 동종이 되거나 상기 검사 블록이 기 설정된 최대 깊이에 대응하는 사이즈를 가질 때까지 반복하여, 해당 검사 블록의 사이즈에 대응하는 깊이를 획득하는 단계를 포함할 수 있다.
상기 깊이 정보를 재구성하는 단계는: 상기 영상 내 일 영역에 상기 검사 블록을 적용하여 해당 검사 블록의 사이즈에 대응하는 깊이를 획득한 뒤, 상기 영상 내 다른 영역에 상기 검사 블록을 적용하여 해당 검사 블록의 사이즈에 대응하는 깊이를 획득하는 과정을 반복함으로써 상기 깊이 정보를 재구성하는 단계를 포함할 수 있다.
상기 추출된 깊이 정보를 재구성하는 단계는: 상기 스케일링 팩터가 2n인 경우(여기서, n은 자연수), 상기 추출된 깊이 정보를 구성하는 각 블록의 깊이에 1을 더하는 과정을 n 번 수행할 수 있다.
상기 추출된 깊이 정보를 재구성하는 단계는: 상기 스케일링 팩터가 2n인 경우(여기서, n은 자연수), 상기 추출된 깊이 정보에 포함된 깊이가 기 설정된 최대 깊이보다 작은 경우, 해당 깊이에 1을 더하는 단계; 및 상기 깊이가 상기 최대 깊이와 같은 경우, 해당 깊이를 유지하되 이어지는 세 개의 깊이들을 삭제하는 단계;를 n 번 수행할 수 있다.
상기 해상도가 변경된 영상을 인코딩하는 단계는: 상기 재구성된 깊이 정보에 따라 상기 해상도가 변경된 영상의 블록들을 구성하여 인코딩하는 단계를 포함할 수 있다.
상기 해상도가 변경된 영상을 인코딩하는 단계는: 상기 재구성된 깊이 정보에 포함된 깊이를 기초로 제 1 코스트를 계산하는 단계; 해당 깊이에서 1을 뺀 깊이를 기초로 제 2 코스트를 계산하는 단계; 및 상기 제 1 코스트와 상기 제 2 코스트 중 낮은 코스트에 대응하는 깊이에 따라 상기 해상도가 변경된 영상을 인코딩하는 단계;를 포함할 수 있다.
본 발명의 실시예에 따른 트랜스코딩 방법은 컴퓨터로 실행될 수 있는 프로그램으로 구현되어, 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다.
본 발명의 실시예에 따른 트랜스코딩 방법은 컴퓨터와 결합되어 실행하기 위하여 매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.
본 발명의 실시예에 따르면, 영상의 트랜스코딩 속도를 높일 수 있다.
본 발명의 실시예에 따르면, 다중 깊이의 쿼드트리 구조를 활용하여 인코딩된 영상의 트랜스코딩 시, 불필요한 깊이에서의 연산을 제거하여 트랜스코딩에 요구되는 연산량을 줄일 수 있다.
도 1은 본 발명의 일 실시예에 따른 트랜스코딩 장치의 예시적인 블록도이다.
도 2는 본 발명의 일 실시예에 따라 입력 영상을 구성하는 블록들의 깊이 정보를 예시적으로 나타내는 도면이다.
도 3은 본 발명의 일 실시예에 따라 디코딩된 영상의 해상도를 변경하는 과정을 설명하기 위한 예시적인 도면이다.
도 4 내지 도 9는 본 발명의 일 실시예에 따라 깊이 정보를 재구성하는 과정을 설명하기 위한 예시적인 도면이다.
도 10은 본 발명의 다른 실시예에 따라 재구성될 쿼드트리 구조 및 깊이 정보와, 재구성된 쿼드트리 구조 및 깊이 정보를 예시적으로 나타내는 도면이다.
도 11은 본 발명의 다른 실시예에 따라 깊이 정보를 재구성하는 과정을 설명하기 위한 예시적인 도면이다.
도 12는 본 발명의 다른 실시예에 따라 1차 재구성된 쿼드트리 구조 및 깊이 정보와, 2차 재구성된 쿼드트리 구조 및 깊이 정보를 예시적으로 나타내는 도면이다.
도 13은 본 발명의 다른 실시예에 따라 깊이 정보를 재구성하는 과정을 설명하기 위한 예시적인 도면이다.
도 14는 본 발명의 실시예에 따라 재구성된 쿼드트리 구조 및 깊이 정보와, 재구성된 깊이 정보를 기초로 해상도가 변경된 영상을 인코딩하는 과정을 설명하기 위한 예시적인 도면이다.
도 15는 본 발명의 일 실시예에 따라 재구성된 깊이의 블록, 상위 깊이의 블록, 및 최적 깊이의 블록 간의 관계를 나타내는 예시적인 도면이다.
도 16은 본 발명의 일 실시예에 따른 트랜스코딩 방법의 예시적인 흐름도이다.
도 17은 본 발명의 일 실시예에 따라 깊이 정보를 재구성하는 과정을 설명하기 위한 예시적인 흐름도이다.
도 18은 본 발명의 다른 실시예에 따라 깊이 정보를 재구성하는 과정을 설명하기 위한 예시적인 흐름도이다.
도 19는 본 발명의 일 실시예에 따라 재구성된 깊이 정보를 기초로 해상도가 변경된 영상을 인코딩하는 과정을 설명하기 위한 예시적인 흐름도이다.
본 발명의 다른 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술 되는 실시 예를 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예는 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
만일 정의되지 않더라도, 여기서 사용되는 모든 용어들(기술 혹은 과학 용어들을 포함)은 이 발명이 속한 종래 기술에서 보편적 기술에 의해 일반적으로 수용되는 것과 동일한 의미를 가진다. 일반적인 사전들에 의해 정의된 용어들은 관련된 기술 그리고/혹은 본 출원의 본문에 의미하는 것과 동일한 의미를 갖는 것으로 해석될 수 있고, 그리고 여기서 명확하게 정의된 표현이 아니더라도 개념화되거나 혹은 과도하게 형식적으로 해석되지 않을 것이다.
본 명세서에서 사용된 용어는 실시 예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 '포함한다' 및/또는 이 동사의 다양한 활용형들 예를 들어, '포함', '포함하는', '포함하고', '포함하며' 등은 언급된 조성, 성분, 구성요소, 단계, 동작 및/또는 소자는 하나 이상의 다른 조성, 성분, 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다. 본 명세서에서 '및/또는' 이라는 용어는 나열된 구성들 각각 또는 이들의 다양한 조합을 가리킨다.
한편, 본 명세서 전체에서 사용되는 '~부', '~기', '~블록', '~모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미할 수 있다. 예를 들어 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미할 수 있다. 그렇지만 '~부', '~기', '~블록', '~모듈' 등이 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부', '~기', '~블록', '~모듈'은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다.
따라서, 일 예로서 '~부', '~기', '~블록', '~모듈'은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 '~부', '~기', '~블록', '~모듈'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부', '~기', '~블록', '~모듈'들로 결합되거나 추가적인 구성요소들과 '~부', '~기', '~블록', '~모듈'들로 더 분리될 수 있다.
본 발명의 실시예에 따른 트랜스코딩은, 입력 영상의 디코딩 시 영상을 구성하는 블록들의 깊이 정보를 획득하여 재구성한 뒤, 재구성된 깊이 정보를 인코딩에 활용함으로써, 인코딩 시 불필요한 깊이에서의 연산을 제거하여 트랜스코딩의 속도를 향상시킬 수 있다.
이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시예들을 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 트랜스코딩 장치(100)의 예시적인 블록도이다.
도 1에 도시된 바와 같이, 상기 트랜스코딩 장치(100)는 디코딩부(110), 해상도 변경부(120), 깊이 정보 재구성부(130) 및 인코딩부(140)를 포함할 수 있다.
상기 디코딩부(110)는 인코딩된 영상을 디코딩하여 영상을 구성하는 블록들의 깊이 정보를 추출할 수 있다. 상기 해상도 변경부(120)는 디코딩된 영상의 해상도를 스케일링 팩터에 따라 변경할 수 있다. 상기 깊이 정보 재구성부(130)는 추출된 깊이 정보를 상기 스케일링 팩터에 따라 재구성할 수 있다. 상기 인코딩부(140)는 재구성된 깊이 정보를 기초로 상기 해상도가 변경된 영상을 인코딩할 수 있다.
본 발명의 일 실시예에 따르면, 상기 디코딩부(110)는 HEVC 방식으로 인코딩된 영상을 입력받아 디코딩할 수 있다. 그리고, 상기 인코딩부(140)는 상기 해상도가 변경된 영상을 다시 HEVC 방식으로 인코딩하여 출력할 수 있다. 다시 말해, 본 발명의 실시예에 따른 트랜스코딩은 입력 영상과 출력 영상에 적용된 압축 알고리즘이 동일한 동종(homogeneous) 트랜스코딩이다.
그러나, 본 발명의 실시예에 따라 입력 영상 및 출력 영상에 적용되는 압축 알고리즘은 HEVC로 제한되지 않고, 다중 깊이의 쿼드트리 구조를 채용하는 압축 알고리즘이라면 어떠한 알고리즘이라도 적용 가능하다.
상기 디코딩부(110)는 디코딩 시 입력 영상을 구성하는 블록들의 깊이 정보를 추출할 수 있다.
도 2는 본 발명의 일 실시예에 따라 입력 영상(20)을 구성하는 블록들의 깊이 정보를 예시적으로 나타내는 도면이다.
도 2를 참조하면, 영상(20)은 서로 다른 사이즈를 갖는 다수의 블록들로 구성되며, 인코딩 시 처리 가능한 최대 단위 블록(201)은 하나 또는 그 이상의 소블록으로 구성된다.
전술한 실시예와 같이, 상기 영상(20)이 HEVC 방식으로 인코딩된 경우, 상기 처리 가능한 최대 단위 블록(201)은 64 × 64의 사이즈를 갖는 LCU(Largest Coding Unit)에 해당하며, 상기 LCU는 4-레벨의 깊이를 갖는 쿼드트리 구조로 구성된다.
깊이가 0인 블록은 사이즈가 64 × 64이며, 깊이가 1인 블록은 사이즈가 32 × 32이며, 깊이가 2인 블록은 사이즈가 16 × 16이며, 깊이가 3인 블록은 사이즈가 8 × 8로서, 깊이가 증가할수록 블록은 작아진다. 따라서, 상기 처리 가능한 최대 단위 블록(201)은 적게는 깊이가 0인 블록 1 개만으로 구성될 수도 있으며, 많게는 깊이가 3인 블록 64 개로 구성될 수도 있다. 그러나, 상기 처리 가능한 최대 단위 블록(201)의 사이즈 및 깊이의 레벨 수는 영상(20)을 인코딩하기 위해 사용된 압축 알고리즘에 따라 달라질 수 있다.
상기 디코딩부(110)는 상기 영상(20)에 포함된 각 블록의 깊이로 구성된 깊이 정보를 추출하여 소정의 기억장치에 저장할 수 있다.
본 발명의 실시예에 따르면, 상기 해상도 변경부(120)는 상기 디코딩된 영상(20)을 스케일링 팩터만큼 다운스케일링할 수 있다. 즉, 상기 해상도 변경부(120)는 상기 디코딩부(110)가 디코딩하여 얻은 원 영상을 상기 스케일링 팩터만큼 축소시켜 해상도를 낮출 수 있다.
도 3은 본 발명의 일 실시예에 따라 디코딩된 영상(20)의 해상도를 변경하는 과정을 설명하기 위한 예시적인 도면이다.
도 3을 참조하면, 상기 스케일링 팩터가 2인 경우, 상기 해상도 변경부(120)는 상기 영상(20)의 가로 및 세로를 각각 절반씩 줄일 수 있다. 상기 스케일링 팩터가 1.5인 경우, 상기 해상도 변경부(120)는 상기 영상(20)의 가로 및 세로를 각각 1/1.5로 줄일 수 있다. 이와 같이, 상기 스케일링 팩터는 상기 영상(20)의 해상도를 결정하는 파라미터로서, 일 실시예에 따르면 트랜스코딩 장치(100)에 미리 설정되어 있거나 상기 트랜스코딩 장치(10)를 사용하는 사용자로부터 입력받을 수도 있다.
상기 깊이 정보 재구성부(130)는 상기 디코딩부(110)가 추출한 블록들의 깊이 정보를 상기 스케일링 팩터에 따라 재구성할 수 있다.
본 발명의 일 실시예에 따르면, 상기 깊이 정보 재구성부(130)는 상기 스케일링 팩터에 따라 상기 영상(20)에 검사 블록을 적용하여 상기 영상(20)을 스캐닝함으로써 상기 깊이 정보를 재구성할 수 있다.
도 4 내지 도 9는 본 발명의 일 실시예에 따라 깊이 정보를 재구성하는 과정을 설명하기 위한 예시적인 도면이다.
본 발명의 일 실시예에 따르면, 상기 깊이 정보 재구성부(130)는 상기 스케일링 팩터에 따라 상기 영상(20)에 검사 블록(300)을 적용하여 상기 영상(20)을 스캐닝하되, 상기 영상(20)을 구성하는 블록들 중 상기 검사 블록(300) 내에 위치한 블록의 깊이에 대한 단일성을 검사하고, 상기 단일성에 따라 상기 검사 블록(300)의 사이즈를 결정하고, 상기 결정된 사이즈에 대응하는 깊이를 이용하여 상기 깊이 정보를 재구성할 수 있다.
구체적으로, 도 4에 도시된 바와 같이, 상기 깊이 정보 재구성부(130)는 상기 영상(20)의 인코딩 시 처리 가능한 최대 단위 블록(201)(예컨대, HEVC로 인코딩된 영상의 경우 LCU)을 상기 스케일링 팩터 fscale 만큼 업스케일링한 검사 블록(300)을 상기 영상(20)에 적용할 수 있다. 즉, 이 실시예에 따르면, 상기 검사 블록(300)의 사이즈는 상기 영상(20)의 처리 가능한 최대 단위 블록(201)보다 크다. 이 때, 상기 검사 블록(300)의 사이즈는 깊이 0에 해당하는 가장 큰 블록이다.
그러고 나서, 상기 깊이 정보 재구성부(130)는 상기 영상(20)을 구성하는 블록들 중 상기 검사 블록(300) 내에 위치한 블록의 깊이에 대한 단일성을 검사할 수 있다.
구체적으로, 상기 깊이 정보 재구성부(130)는 상기 검사 블록(300) 내에 위치한 블록의 깊이가 동종(homogeneous)인 경우, 해당 검사 블록(300)의 사이즈에 대응하는 깊이를 획득할 수 있다. 그러나, 상기 깊이 정보 재구성부(130)는 상기 검사 블록(300) 내에 위치한 블록의 깊이가 이종(heterogeneous)인 경우, 해당 검사 블록(300)을 축소시켜 축소된 검사 블록 내에 위치한 블록의 깊이에 대한 단일성을 재검사할 수 있다.
예를 들어, 도 4를 참조하면, 상기 영상(20)을 구성하는 블록들 중 상기 검사 블록(300) 내에 위치한 블록들은 서로 다른 깊이를 갖는 이종의 블록들이다. 따라서, 상기 깊이 정보 재구성부(130)는 해당 검사 블록(300)을 도 5에 도시된 바와 같이 절반으로 축소시켜 축소된 검사 블록(301) 내에 위치한 블록의 깊이에 대한 단일성을 재검사한다. 이 때, 상기 축소된 검사 블록(301)의 사이즈는 깊이 1에 해당한다.
그러나, 도 5에 도시된 바와 같이, 상기 축소된 검사 블록(301) 내에 위치한 블록들도 서로 다른 깊이를 갖는 이종의 블록들이므로, 상기 깊이 정보 재구성부(130)는 해당 검사 블록(301)을 도 6에 도시된 바와 같이 절반으로 더 축소시켜 더 축소된 검사 블록(302) 내에 위치한 블록의 깊이에 대한 단일성을 재검사한다. 이 때, 상기 더 축소된 검사 블록(302)의 사이즈는 깊이 2에 해당한다.
상기 더 축소된 검사 블록(302) 내에 위치한 영상(20)의 블록은 깊이가 1인 하나의 블록, 즉 동종의 블록이므로, 상기 깊이 정보 재구성부(130)는 해당 검사 블록(302)의 사이즈에 대응하는 깊이, 즉 깊이 2를 획득할 수 있다.
상기 깊이 정보 재구성부(130)는 상기 검사 블록의 축소 및 단일성 재검사를, 도 6에 도시된 바와 같이 상기 검사 블록 내 블록의 깊이가 동종이 되거나, 상기 검사 블록이 기 설정된 최대 깊이(예컨대, HEVC의 경우 3)에 대응하는 사이즈를 가질 때까지 반복하여, 해당 검사 블록의 사이즈에 대응하는 깊이를 획득할 수 있다.
또한, 상기 깊이 정보 재구성부(130)는 상기 영상(20) 내 일 영역에 상기 검사 블록을 적용하여 해당 검사 블록의 사이즈에 대응하는 깊이를 획득한 뒤, 상기 영상(20) 내 다른 영역에 상기 검사 블록을 적용하여 해당 검사 블록의 사이즈에 대응하는 깊이를 획득할 수 있다. 이와 같은 검사 블록의 적용 및 블록 깊이의 단일성 검사를 통해 해당 검사 블록의 사이즈에 대응하는 깊이를 획득하는 과정을 상기 영상(20) 전체에 걸쳐 반복 수행함으로써 상기 깊이 정보 재구성부(130)는 상기 깊이 정보를 재구성할 수 있다.
예를 들어, 도 7에 도시된 바와 같이, 상기 깊이 정보 재구성부(130)는 상기 깊이가 2로 결정된 블록(302')에 인접하여 검사 블록(302)을 적용하고, 해당 검사 블록(302)의 사이즈에 대응하는 깊이를 획득하는 전술한 과정을 반복할 수 있다.
도 7을 참조하면, 상기 검사 블록(302) 내에 위치한 블록들은 깊이가 서로 다른 이종의 블록들이므로, 상기 깊이 정보 재구성부(130)는 해당 검사 블록(302)을 도 8에 도시된 바와 같이 절반으로 축소시켜 축소된 검사 블록(303) 내에 위치한 블록의 깊이에 대한 단일성을 재검사한다. 이 때, 상기 축소된 검사 블록(303)의 사이즈는 깊이 3에 해당한다.
도 8을 참조하면, 상기 축소된 검사 블록(303) 내에 위치한 블록들은 깊이가 서로 다른 이종의 블록들이나, 상기 축소된 검사 블록(303)은 상기 최대 깊이인 3에 대응하는 사이즈까지 축소된 상태이므로, 상기 깊이 정보 재구성부(130)는 해당 검사 블록(303)을 더 축소하지 않고 그 사이즈에 대응하는 깊이 3을 획득할 수 있다.
그러고 나서, 도 9를 참조하면, 상기 깊이 정보 재구성부(130)는 상기 깊이가 3으로 결정된 블록(303')에 인접하여 검사 블록(303)을 적용하고, 전술한 과정을 반복하여 깊이를 획득할 수 있다.
이와 같이, 상기 깊이 정보 재구성부(130)는 검사 블록을 적용하여 영상(20)을 스캐닝하는 과정을 상기 영상(20) 전체에 걸쳐 수행함으로써, 재구성된 깊이 정보를 얻을 수 있다.
반면, 본 발명의 다른 실시예에 따르면, 상기 깊이 정보 재구성부(130)는 상기 스케일링 팩터가 2n인 경우(여기서, n은 자연수)에는 전술한 바와 다른 방식으로 깊이 정보를 재구성할 수도 있다.
본 발명의 다른 실시예에 따르면, 상기 깊이 정보 재구성부(130)는 상기 디코딩부(110)에 의해 추출된 깊이 정보를 구성하는 각 블록의 깊이에 1을 더하는 과정을 n 번 수행함으로써 상기 깊이 정보를 재구성할 수 있다.
구체적으로, 본 발명의 다른 실시예에 따르면, 상기 깊이 정보 재구성부(130)는 상기 추출된 깊이 정보에 포함된 깊이가 기 설정된 최대 깊이보다 작은 경우, 해당 깊이에 1을 더할 수 있다. 그리고, 상기 깊이 정보 재구성부(130)는 상기 깊이 정보에 포함된 깊이가 상기 최대 깊이와 같은 경우, 해당 깊이를 유지하되, 이어지는 세 개의 깊이들을 삭제할 수 있다. 이와 같은 과정은 n 번 수행될 수 있다. 여기서, 상기 최대 깊이는 쿼드트리 구조에서 가장 작은 사이즈의 블록에 대응하며, 전술한 바와 같이 상기 영상(20)이 HEVC 방식으로 인코딩된 경우 상기 최대 깊이는 3이다.
도 10은 본 발명의 다른 실시예에 따라 재구성될 쿼드트리 구조 및 깊이 정보와, 재구성된 쿼드트리 구조 및 깊이 정보를 예시적으로 나타내는 도면이고, 도 11은 본 발명의 다른 실시예에 따라 깊이 정보를 재구성하는 과정을 설명하기 위한 예시적인 도면이다.
도 10에 도시된 바와 같이, 상기 영상(20) 내 기 설정된 사이즈의 영역 내에 도 10의 좌측에 도시된 바와 같은 쿼드트리 구조의 블록들이 포함되어 있는 경우, 상기 블록들의 깊이 정보는 '0001112333322'이다. 이하에서는 상기 스케일링 팩터가 2인 것, 즉 상기 영상(20)의 가로 및 세로가 각각 절반으로 축소된 것으로 가정하고 본 발명의 다른 실시예에 따라 깊이 정보를 재구성하는 과정을 설명하기로 한다.
본 발명의 다른 실시예에 따르면, 상기 깊이 정보 재구성부(130)는 상기 스케일링 팩터가 2n인 경우, 상기 깊이 정보에 포함된 깊이가 최대 깊이보다 작은 경우, 해당 깊이에 1을 더할 수 있다. 그리고, 상기 깊이 정보 재구성부(130)는 상기 깊이가 상기 최대 깊이와 같은 경우, 해당 깊이를 유지하되, 이어지는 세 개의 깊이들을 삭제할 수 있다.
예를 들어, 도 11을 참조하면, 재구성되기 전 깊이 정보 '0001112333322'에서 맨 왼쪽의 깊이 '0'은 최대 깊이 3보다 작으므로, 상기 깊이 정보 재구성부(130)는 상기 깊이에 1을 더하여 '1'을 출력한다. 마찬가지로, 상기 깊이 정보에서 왼쪽으로부터 7 번째에 위치한 깊이 '2'까지는 각 깊이가 상기 최대 깊이 3보다 작으므로, 상기 깊이 정보 재구성부(130)는 해당 깊이에 1을 더한다.
그리고, 상기 깊이 정보에서 왼쪽으로부터 8 번째에 위치한 깊이 '3'은 상기 최대 깊이와 같으므로, 상기 깊이 정보 재구성부(130)는 해당 깊이를 유지하되, 상기 깊이 정보 중 해당 깊이 뒤로 이어지는 세 개의 깊이들 '333'을 삭제한다.
그리고, 상기 깊이 정보에서 오른쪽으로부터 2 번째와 맨 오른쪽에 위치한 깊이 '2'는 상기 최대 깊이 3보다 작으므로, 상기 깊이 정보 재구성부(130)는 해당 깊이에 1을 더하여 '3'을 출력한다.
그 결과, 상기 깊이 정보 재구성부(130)에 의해 재구성된 깊이 정보는 '1112223333'이 되고, 이 깊이 정보에 대응하는 쿼드트리 구조는 도 10의 우측에 도시된 바와 같다. 도 10의 좌측에 도시된 재구성 전의 쿼드트리 구조와 우측에 도시된 재구성 후의 쿼드트리 구조는 크기는 다르나 내부 블록 구조는 서로 유사함을 알 수 있다.
만약, 상기 스케일링 팩터가 4, 즉 상기 영상(20)의 가로 및 세로가 각각 1/4로 축소된 경우, n은 2이므로 상기 깊이 정보 재구성부(130)는 전술한 깊이 정보 재구성 과정을 2 번 수행할 수 있다.
도 12는 본 발명의 다른 실시예에 따라 1차 재구성된 쿼드트리 구조 및 깊이 정보와, 2차 재구성된 쿼드트리 구조 및 깊이 정보를 예시적으로 나타내는 도면이고, 도 13은 본 발명의 일 실시예에 따라 깊이 정보를 재구성하는 과정을 설명하기 위한 예시적인 도면이다.
도 12에 도시된 바와 같이, 상기 스케일링 팩터가 22인 경우, 도 12의 좌측에 도시된 1차 재구성된 쿼드트리 구조(즉, 도 10의 우측에 도시된 쿼드트리 구조)의 깊이 정보 '1112223333'가 한 번 더 재구성된다.
예를 들어, 도 13을 참조하면, 1차 재구성된 깊이 정보 '1112223333'에서 맨 왼쪽에 위치한 깊이 '1'부터 왼쪽으로부터 6 번째에 위치한 깊이 '2'까지는 각 깊이가 최대 깊이 3보다 작으므로, 상기 깊이 정보 재구성부(130)는 해당 깊이에 1을 더하여 출력한다.
그리고, 상기 1차 재구성된 깊이 정보에서 왼쪽으로부터 7 번째에 위치한 깊이 '3'은 상기 최대 깊이와 같으므로, 상기 깊이 정보 재구성부(130)는 해당 깊이를 유지하되, 해당 깊이 뒤로 이어지는 세 개의 깊이들 '333'을 삭제한다.
그 결과, 상기 깊이 정보 재구성부(130)에 의해 2차 재구성된 깊이 정보는 '2223333'이 되고, 이 깊이 정보에 대응하는 쿼드트리 구조는 도 12의 우측에 도시된 바와 같다.
이와 같이, 상기 깊이 정보 재구성부(130)는 상기 스케일링 팩터가 2n인 경우 전술한 본 발명의 다른 실시예에 따라 깊이 정보를 재구성할 수 있다. 따라서, 상기 깊이 정보 재구성부(130)는 상기 스케일링 팩터가 2n이 아닌 경우에는 도 4 내지 도 9를 참조로 설명한 본 발명의 일 실시예에 따라 깊이 정보를 재구성하고, 상기 스케일링 팩터가 2n인 경우에는 도 10 내지 도 13을 참조로 설명한 본 발명의 다른 실시예에 따라 깊이 정보를 재구성할 수 있다.
그러나, 상기 깊이 정보를 재구성하는 과정은 이에 제한되지 않고, 상기 스케일링 팩터에 관계없이 도 4 내지 도 9를 참조로 설명한 일 실시예에 따라서만 상기 깊이 정보가 재구성될 수도 있다.
상기 인코딩부(140)는 상기 재구성된 깊이 정보를 기초로 상기 해상도가 변경된 영상(20')을 인코딩할 수 있다.
본 발명의 실시예에 따르면, 상기 인코딩부(140)는 상기 재구성된 깊이 정보에 따라 상기 해상도가 변경된 영상(20')의 블록들을 구성하여 인코딩할 수 있다. 바꾸어 말하자면, 상기 인코딩부(140)는 상기 해상도가 변경된 영상(20')의 인코딩 시, 모든 레벨의 깊이에 해당하는 블록들에 대하여 코스트를 계산하고 비교하여 가장 낮은 코스트를 갖는 최적의 블록 깊이를 결정할 필요 없이, 상기 재구성된 깊이 정보에 따른 쿼드트리 구조로 인코딩을 수행할 수 있다.
그 결과, 본 발명의 실시예에 따른 트랜스코딩은 상기 해상도가 변경된 영상(20')의 인코딩 시 최적의 블록 깊이를 결정하기 위한 코스트 계산 과정을 제거하여 연산량을 크게 줄일 수 있다.
도 14는 본 발명의 실시예에 따라 재구성된 쿼드트리 구조 및 깊이 정보와, 재구성된 깊이 정보를 기초로 상기 해상도가 변경된 영상(20')을 인코딩하는 과정을 설명하기 위한 예시적인 도면이다.
도 14에 도시된 바와 같이, 상기 깊이 정보 재구성부(130)에 의해 재구성된 깊이 정보가 '1112223333'인 경우, 상기 인코딩부(140)는 깊이 0부터 3에 이르기까지 모든 레벨의 깊이에 대하여 코스트를 계산하고 비교하여 최저의 코스트를 갖는 깊이를 결정하는 대신, 상기 재구성된 깊이 정보에 따라 빗금친 부분에 해당하는 깊이의 블록에 대해서만 연산을 수행하여 상기 해상도가 변경된 영상(20')을 인코딩할 수 있다. 따라서, 본 발명의 실시예에 따르면, 트랜스코딩에 요구되는 연산 복잡도가 크게 감소하게 되어 트랜스코딩 속도가 향상될 수 있다.
반면, 전술한 본 발명의 일 실시예에 따라 재구성된 깊이 정보를 인코딩에 활용하는 경우, 상기 인코딩부(140)는 상기 재구성된 깊이 정보에 포함된 깊이를 기초로 코스트를 계산하고, 해당 깊이의 상위 레벨에 대응하는 깊이를 기초로 코스트를 계산하여, 두 코스트들 중 더 낮은 코스트에 대응하는 깊이에 따라 상기 해상도가 변경된 영상(20')을 인코딩할 수도 있다.
도 15는 본 발명의 일 실시예에 따라 재구성된 깊이의 블록, 상위 깊이의 블록, 및 최적 깊이의 블록 간의 관계를 나타내는 예시적인 도면이다.
스케일링 팩터가 2n인 경우에는 재구성된 깊이가 최저 코스트를 갖는 최적의 깊이에 대응하는 것으로 볼 수 있으나, 상기 스케일링 팩터가 2n이 아닌 경우에는 재구성된 깊이가 최저 코스트를 갖는 최적의 깊이와 반드시 일치하지 않을 수도 있다.
구체적으로, 도 15를 참조하면, 상기 스케일링 팩터가 2n이 아닌 경우, 코스트가 가장 낮은 최적의 깊이에 해당하는 블록(파선의 블록)은, 상기 깊이 정보 재구성부(130)에 의해 재구성된 깊이를 갖는 블록(빗금친 블록)보다 크고, 그 바로 윗 레벨의 깊이를 갖는 블록(굵은 실선의 블록)보다 작을 수 있다. 즉, 상기 최적의 깊이는 정수에 해당하는 값이 아닐 수 있다.
따라서, 본 발명의 일 실시예에 따르면, 상기 인코딩부(140)는 상기 스케일링 팩터가 2n이 아닌 경우, 상기 재구성된 깊이 정보에 포함된 깊이를 기초로 제 1 코스트를 계산하고, 해당 깊이에서 1을 뺀 깊이(즉, 바로 윗 레벨의 깊이)를 기초로 제 2 코스트를 계산하고, 상기 제 1 코스트와 상기 제 2 코스트 중 낮은 코스트에 대응하는 깊이에 따라 상기 해상도가 변경된 영상(20')을 인코딩할 수 있다.
이와 같이, 상기 인코딩부(140)는 스케일링 팩터가 2n이 아닌 경우에는 두 레벨의 깊이에 대해 코스트를 계산하고 비교하여 상기 해상도가 변경된 영상(20')을 인코딩할 수 있으나, 이에 제한되지 않고 실시예에 따라 상기 스케일링 팩터가 2n이 아닌 경우에도 상기 재구성된 깊이의 블록에 대해서만 연산을 수행하여 인코딩할 수도 있다.
도 16은 본 발명의 일 실시예에 따른 트랜스코딩 방법(200)의 예시적인 흐름도이다.
상기 트랜스코딩 방법(200)은 전술한 본 발명의 실시예에 따른 트랜스코딩 장치(100)에 의해 수행될 수 있다. 상기 트랜스코딩 장치(100)는 상기 트랜스코딩 방법(200)을 수행하기 위한 프로그램을 실행할 수 있는 프로세서, 예컨대 CPU, GPU 등을 포함할 수 있다. 상기 트랜스코딩 방법(200)을 수행하기 위한 프로그램은 상기 트랜스코딩 장치(100)에 구비된 저장장치에 저장되어 있을 수 있으며, 상기 프로세서는 상기 저장장치로부터 프로그램을 불러와 실행시킬 수 있다.
도 16에 도시된 바와 같이, 상기 트랜스코딩 방법(200)은, 인코딩된 영상을 디코딩하여 상기 영상(20)을 구성하는 블록들의 깊이 정보를 추출하는 단계(S210), 디코딩된 영상의 해상도를 스케일링 팩터 fscale에 따라 변경하는 단계(S220), 추출된 깊이 정보를 상기 스케일링 팩터 fscale에 따라 재구성하는 단계(S230), 및 재구성된 깊이 정보를 기초로 상기 해상도가 변경된 영상(20')을 인코딩하는 단계(S240)를 포함할 수 있다.
일 실시예에 따르면, 상기 깊이 정보를 추출하는 단계(S210)는, HEVC 방식으로 인코딩된 영상(20)을 디코딩하는 단계를 포함할 수 있다. 그리고, 상기 해상도가 변경된 영상(20')을 인코딩하는 단계(S240)는, 상기 해상도가 변경된 영상(20')을 상기 HEVC 방식으로 인코딩하는 단계를 포함할 수 있다.
일 실시예에 따르면, 상기 디코딩된 영상(20)의 해상도를 변경하는 단계(S220)는, 상기 디코딩된 영상(20)을 상기 스케일링 팩터 fscale만큼 다운스케일링하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 추출된 깊이 정보를 재구성하는 단계(S230)는, 상기 스케일링 팩터에 따라 상기 영상(20)에 검사 블록(300)을 적용하여 상기 영상(20)을 스캐닝하되, 상기 영상(20)을 구성하는 블록들 중 상기 검사 블록(300) 내에 위치한 블록의 깊이에 대한 단일성을 검사하고, 상기 단일성에 따라 상기 검사 블록의 사이즈를 결정하고, 상기 결정된 사이즈에 대응하는 깊이를 이용하여 상기 깊이 정보를 재구성하는 단계를 포함할 수 있다.
도 17은 본 발명의 일 실시예에 따라 깊이 정보를 재구성하는 과정을 설명하기 위한 예시적인 흐름도이다.
도 17을 참조하면, 상기 깊이 정보를 재구성하는 단계는, 상기 영상(20)의 인코딩 시 처리 가능한 최대 단위 블록(201)을 상기 스케일링 팩터 fscale만큼 업스케일링한 검사 블록(300)을 상기 영상(20)에 적용하는 단계(S235), 상기 영상(20)을 구성하는 블록들 중 상기 검사 블록(300) 내에 위치한 블록의 깊이가 동종인 경우(S236에서 예), 해당 검사 블록(300)의 사이즈에 대응하는 깊이를 획득하는 단계(S237), 및 상기 검사 블록(300) 내에 위치한 블록의 깊이가 이종인 경우, 해당 검사 블록(300)을 축소시켜(S239) 축소된 검사 블록(301) 내에 위치한 블록의 깊이에 대한 단일성을 재검사하는 단계를 포함할 수 있다.
이 실시예에 따르면, 해당 검사 블록을 축소시켜 축소된 검사 블록(301) 내에 위치한 블록의 깊이에 대한 단일성을 재검사하는 단계는, 상기 검사 블록의 축소(S239) 및 단일성 재검사(S236)를 상기 검사 블록 내 블록의 깊이가 동종이 되거나(S236에서 예), 상기 검사 블록이 기 설정된 최대 깊이에 대응하는 사이즈를 가질 때까지(S238에서 예) 반복하여, 해당 검사 블록의 사이즈에 대응하는 깊이를 획득하는 단계(S237)를 포함할 수 있다.
또한, 상기 깊이 정보를 재구성하는 단계는, 상기 영상(20) 내 일 영역에 상기 검사 블록을 적용하여 해당 검사 블록의 사이즈에 대응하는 깊이를 획득한 뒤, 상기 영상(20) 내 다른 영역에 상기 검사 블록을 적용하여 해당 검사 블록의 사이즈에 대응하는 깊이를 획득하는 과정을 반복함으로써 상기 깊이 정보를 재구성하는 단계를 포함할 수 있다.
본 발명의 다른 실시예에 따르면, 상기 추출된 깊이 정보를 재구성하는 단계(S230)는, 상기 스케일링 팩터가 2n인 경우, 상기 추출된 깊이 정보를 구성하는 각 블록의 깊이에 1을 더하는 과정을 n 번 수행하는 단계를 포함할 수 있다.
도 18은 본 발명의 다른 실시예에 따라 깊이 정보를 재구성하는 과정(S230)을 설명하기 위한 예시적인 흐름도이다.
도 18을 참조하면, 상기 추출된 깊이 정보를 재구성하는 단계(S230)는, 상기 스케일링 팩터가 2n인 경우, 상기 추출된 깊이 정보에 포함된 깊이가 기 설정된 최대 깊이보다 작은 경우(S231에서 아니오), 해당 깊이에 1을 더하는 단계(S232), 및 상기 깊이가 상기 최대 깊이와 같은 경우(S231에서 예), 해당 깊이를 유지하되(S233) 이어지는 세 개의 깊이들을 삭제하는 단계(S234)를 포함할 수 있다. 그리고, 상기 단계들은 n 번 수행될 수 있다.
본 발명의 일 실시예에 따르면, 상기 해상도가 변경된 영상(20')을 인코딩하는 단계(S240)는, 상기 재구성된 깊이 정보에 따라 상기 해상도가 변경된 영상(20')의 블록들을 구성하여 인코딩하는 단계를 포함할 수 있다.
도 19는 본 발명의 일 실시예에 따라 재구성된 깊이 정보를 기초로 해상도가 변경된 영상(20')을 인코딩하는 과정(S240)을 설명하기 위한 예시적인 흐름도이다.
본 발명의 일 실시예에 따르면, 상기 해상도가 변경된 영상(20')을 인코딩하는 단계(S240)는, 상기 재구성된 깊이 정보에 포함된 깊이를 기초로 제 1 코스트를 계산하는 단계(S241), 해당 깊이에서 1을 뺀 깊이를 기초로 제 2 코스트를 계산하는 단계(S242), 및 상기 제 1 코스트와 상기 제 2 코스트 중 낮은 코스트에 대응하는 깊이에 따라 상기 해상도가 변경된 영상(20')을 인코딩하는 단계(S243)를 포함할 수 있다.
상기 트랜스코딩 방법(200)은 컴퓨터에서 실행되기 위한 프로그램으로 제작되어 컴퓨터가 읽을 수 있는 기록매체에 저장될 수 있다. 상기 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 저장장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있다. 또한, 상기 트랜스코딩 방법(200)은 컴퓨터와 결합되어 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.
이상에서 실시예를 통해 본 발명을 설명하였으나, 위 실시예는 단지 본 발명의 사상을 설명하기 위한 것으로 이에 한정되지 않는다. 통상의 기술자는 전술한 실시예에 다양한 변형이 가해질 수 있음을 이해할 것이다. 본 발명의 범위는 첨부된 특허청구범위의 해석을 통해서만 정해진다.
100: 트랜스코딩 장치
110: 디코딩부
120: 해상도 변경부
130: 깊이 정보 재구성부
140: 인코딩부
20: 영상
201: 처리 가능한 최대 단위 블록
20': 해상도가 변경된 영상
300, 301, 302, 303: 검사 블록

Claims (24)

  1. 인코딩된 영상을 디코딩하여 상기 영상을 구성하는 블록들의 깊이 정보를 추출하는 디코딩부;
    디코딩된 영상의 해상도를 스케일링 팩터에 따라 변경하는 해상도 변경부;
    상기 스케일링 팩터에 따라 상기 영상에 적용된 검사 블록 내 블록의 깊이에 대한 단일성을 기반으로 상기 검사 블록의 사이즈를 결정하고, 상기 결정된 사이즈에 대응하는 깊이를 이용하여 상기 추출된 깊이 정보를 상기 스케일링 팩터에 따라 재구성하는 깊이 정보 재구성부; 및
    재구성된 깊이 정보를 기초로 상기 해상도가 변경된 영상을 인코딩하는 인코딩부;
    를 포함하는 트랜스코딩 장치.
  2. 제 1 항에 있어서,
    상기 디코딩부는 HEVC(High Efficiency Video Coding) 방식으로 인코딩된 영상을 디코딩하고,
    상기 인코딩부는 상기 해상도가 변경된 영상을 상기 HEVC 방식으로 인코딩하는 트랜스코딩 장치.
  3. 제 1 항에 있어서,
    상기 해상도 변경부는:
    상기 디코딩된 영상을 상기 스케일링 팩터만큼 다운스케일링하는 트랜스코딩 장치.
  4. 인코딩된 영상을 디코딩하여 상기 영상을 구성하는 블록들의 깊이 정보를 추출하는 디코딩부;
    디코딩된 영상의 해상도를 스케일링 팩터에 따라 변경하는 해상도 변경부;
    추출된 깊이 정보를 상기 스케일링 팩터에 따라 재구성하는 깊이 정보 재구성부; 및
    재구성된 깊이 정보를 기초로 상기 해상도가 변경된 영상을 인코딩하는 인코딩부를 포함하며,
    상기 깊이 정보 재구성부는:
    상기 스케일링 팩터에 따라 상기 영상에 검사 블록을 적용하여 상기 영상을 스캐닝하되, 상기 영상을 구성하는 블록들 중 상기 검사 블록 내에 위치한 블록의 깊이에 대한 단일성을 검사하고, 상기 단일성에 따라 상기 검사 블록의 사이즈를 결정하고, 상기 결정된 사이즈에 대응하는 깊이를 이용하여 상기 깊이 정보를 재구성하는 트랜스코딩 장치.
  5. 제 1 항 또는 제 4 항에 있어서,
    상기 깊이 정보 재구성부는:
    상기 영상의 인코딩 시 처리 가능한 최대 단위 블록을 상기 스케일링 팩터만큼 업스케일링한 상기 검사 블록을 상기 영상에 적용하고,
    상기 영상을 구성하는 블록들 중 상기 검사 블록 내에 위치한 블록의 깊이가 동종인 경우, 해당 검사 블록의 사이즈에 대응하는 깊이를 획득하고,
    상기 검사 블록 내에 위치한 블록의 깊이가 이종인 경우, 해당 검사 블록을 축소시켜 축소된 검사 블록 내에 위치한 블록의 깊이에 대한 단일성을 재검사하는 트랜스코딩 장치.
  6. 제 5 항에 있어서,
    상기 깊이 정보 재구성부는:
    상기 검사 블록의 축소 및 단일성 재검사를, 상기 검사 블록 내 블록의 깊이가 동종이 되거나 상기 검사 블록이 기 설정된 최대 깊이에 대응하는 사이즈를 가질 때까지 반복하여, 해당 검사 블록의 사이즈에 대응하는 깊이를 획득하는 트랜스코딩 장치.
  7. 제 6 항에 있어서,
    상기 깊이 정보 재구성부는:
    상기 영상 내 일 영역에 상기 검사 블록을 적용하여 해당 검사 블록의 사이즈에 대응하는 깊이를 획득한 뒤, 상기 영상 내 다른 영역에 상기 검사 블록을 적용하여 해당 검사 블록의 사이즈에 대응하는 깊이를 획득하는 과정을 반복함으로써 상기 깊이 정보를 재구성하는 트랜스코딩 장치.
  8. 제 1 항 또는 제 4 항에 있어서,
    상기 깊이 정보 재구성부는:
    상기 스케일링 팩터가 2n인 경우(여기서, n은 자연수),
    상기 추출된 깊이 정보를 구성하는 각 블록의 깊이에 1을 더하는 과정을 n 번 수행하는 트랜스코딩 장치.
  9. 인코딩된 영상을 디코딩하여 상기 영상을 구성하는 블록들의 깊이 정보를 추출하는 디코딩부;
    디코딩된 영상의 해상도를 스케일링 팩터에 따라 변경하는 해상도 변경부;
    추출된 깊이 정보를 상기 스케일링 팩터에 따라 재구성하는 깊이 정보 재구성부; 및
    재구성된 깊이 정보를 기초로 상기 해상도가 변경된 영상을 인코딩하는 인코딩부를 포함하며,
    상기 깊이 정보 재구성부는:
    상기 스케일링 팩터가 2n인 경우(여기서, n은 자연수),
    상기 추출된 깊이 정보에 포함된 깊이가 기 설정된 최대 깊이보다 작은 경우, 해당 깊이에 1을 더하는 과정, 및
    상기 깊이가 상기 최대 깊이와 같은 경우, 해당 깊이를 유지하되 이어지는 세 개의 깊이들을 삭제하는 과정,
    을 n 번 수행하는 트랜스코딩 장치.
  10. 제 1 항 또는 제 4 항에 있어서,
    상기 인코딩부는:
    상기 재구성된 깊이 정보에 따라 상기 해상도가 변경된 영상의 블록들을 구성하여 인코딩하는 트랜스코딩 장치.
  11. 제 1 항 또는 제 4 항에 있어서,
    상기 인코딩부는:
    상기 재구성된 깊이 정보에 포함된 깊이를 기초로 제 1 코스트를 계산하고,
    해당 깊이에서 1을 뺀 깊이를 기초로 제 2 코스트를 계산하고,
    상기 제 1 코스트와 상기 제 2 코스트 중 낮은 코스트에 대응하는 깊이에 따라 상기 해상도가 변경된 영상을 인코딩하는 트랜스코딩 장치.
  12. 트랜스코딩 장치가 영상을 트랜스코딩하는 방법에 있어서,
    인코딩된 영상을 디코딩하여 상기 영상을 구성하는 블록들의 깊이 정보를 추출하는 단계;
    디코딩된 영상의 해상도를 스케일링 팩터에 따라 변경하는 단계;
    상기 스케일링 팩터에 따라 상기 영상에 적용된 검사 블록 내 블록의 깊이에 대한 단일성을 기반으로 상기 검사 블록의 사이즈를 결정하는 단계;
    상기 결정된 사이즈에 대응하는 깊이를 이용하여 상기 추출된 깊이 정보를 상기 스케일링 팩터에 따라 재구성하는 단계; 및
    재구성된 깊이 정보를 기초로 상기 해상도가 변경된 영상을 인코딩하는 단계;
    를 포함하는 트랜스코딩 방법.
  13. 제 12 항에 있어서,
    상기 깊이 정보를 추출하는 단계는:
    HEVC 방식으로 인코딩된 영상을 디코딩하는 단계를 포함하고,
    상기 해상도가 변경된 영상을 인코딩하는 단계는:
    상기 해상도가 변경된 영상을 상기 HEVC 방식으로 인코딩하는 단계를 포함하는 트랜스코딩 방법.
  14. 제 12 항에 있어서,
    상기 디코딩된 영상의 해상도를 변경하는 단계는:
    상기 디코딩된 영상을 상기 스케일링 팩터만큼 다운스케일링하는 단계를 포함하는 트랜스코딩 방법.
  15. 트랜스코딩 장치가 영상을 트랜스코딩하는 방법에 있어서,
    인코딩된 영상을 디코딩하여 상기 영상을 구성하는 블록들의 깊이 정보를 추출하는 단계;
    디코딩된 영상의 해상도를 스케일링 팩터에 따라 변경하는 단계;
    추출된 깊이 정보를 상기 스케일링 팩터에 따라 재구성하는 단계; 및
    재구성된 깊이 정보를 기초로 상기 해상도가 변경된 영상을 인코딩하는 단계를 포함하며,
    상기 추출된 깊이 정보를 재구성하는 단계는:
    상기 스케일링 팩터에 따라 상기 영상에 검사 블록을 적용하여 상기 영상을 스캐닝하되, 상기 영상을 구성하는 블록들 중 상기 검사 블록 내에 위치한 블록의 깊이에 대한 단일성을 검사하고, 상기 단일성에 따라 상기 검사 블록의 사이즈를 결정하고, 상기 결정된 사이즈에 대응하는 깊이를 이용하여 상기 깊이 정보를 재구성하는 단계를 포함하는 트랜스코딩 방법.
  16. 제 12 항 또는 제 15 항에 있어서,
    상기 추출된 깊이 정보를 재구성하는 단계는:
    상기 영상의 인코딩 시 처리 가능한 최대 단위 블록을 상기 스케일링 팩터만큼 업스케일링한 상기 검사 블록을 상기 영상에 적용하는 단계;
    상기 영상을 구성하는 블록들 중 상기 검사 블록 내에 위치한 블록의 깊이가 동종인 경우, 해당 검사 블록의 사이즈에 대응하는 깊이를 획득하는 단계; 및
    상기 검사 블록 내에 위치한 블록의 깊이가 이종인 경우, 해당 검사 블록을 축소시켜 축소된 검사 블록 내에 위치한 블록의 깊이에 대한 단일성을 재검사하는 단계;
    를 포함하는 트랜스코딩 방법.
  17. 제 16 항에 있어서,
    해당 검사 블록을 축소시켜 축소된 검사 블록 내에 위치한 블록의 깊이에 대한 단일성을 재검사하는 단계는:
    상기 검사 블록의 축소 및 단일성 재검사를, 상기 검사 블록 내 블록의 깊이가 동종이 되거나 상기 검사 블록이 기 설정된 최대 깊이에 대응하는 사이즈를 가질 때까지 반복하여, 해당 검사 블록의 사이즈에 대응하는 깊이를 획득하는 단계를 포함하는 트랜스코딩 방법.
  18. 제 17 항에 있어서,
    상기 추출된 깊이 정보를 재구성하는 단계는:
    상기 영상 내 일 영역에 상기 검사 블록을 적용하여 해당 검사 블록의 사이즈에 대응하는 깊이를 획득한 뒤, 상기 영상 내 다른 영역에 상기 검사 블록을 적용하여 해당 검사 블록의 사이즈에 대응하는 깊이를 획득하는 과정을 반복함으로써 상기 깊이 정보를 재구성하는 단계를 포함하는 트랜스코딩 방법.
  19. 제 12 항 또는 제 15 항에 있어서,
    상기 추출된 깊이 정보를 재구성하는 단계는:
    상기 스케일링 팩터가 2n인 경우(여기서, n은 자연수),
    상기 추출된 깊이 정보를 구성하는 각 블록의 깊이에 1을 더하는 과정을 n 번 수행하는 트랜스코딩 방법.
  20. 트랜스코딩 장치가 영상을 트랜스코딩하는 방법에 있어서,
    인코딩된 영상을 디코딩하여 상기 영상을 구성하는 블록들의 깊이 정보를 추출하는 단계;
    디코딩된 영상의 해상도를 스케일링 팩터에 따라 변경하는 단계;
    추출된 깊이 정보를 상기 스케일링 팩터에 따라 재구성하는 단계; 및
    재구성된 깊이 정보를 기초로 상기 해상도가 변경된 영상을 인코딩하는 단계를 포함하며,
    상기 추출된 깊이 정보를 재구성하는 단계는:
    상기 스케일링 팩터가 2n인 경우(여기서, n은 자연수),
    상기 추출된 깊이 정보에 포함된 깊이가 기 설정된 최대 깊이보다 작은 경우, 해당 깊이에 1을 더하는 단계; 및
    상기 깊이가 상기 최대 깊이와 같은 경우, 해당 깊이를 유지하되 이어지는 세 개의 깊이들을 삭제하는 단계;
    를 n 번 수행하는 트랜스코딩 방법.
  21. 제 12 항 또는 제 15 항에 있어서,
    상기 해상도가 변경된 영상을 인코딩하는 단계는:
    상기 재구성된 깊이 정보에 따라 상기 해상도가 변경된 영상의 블록들을 구성하여 인코딩하는 단계를 포함하는 트랜스코딩 방법.
  22. 제 12 항 또는 제 15 항에 있어서,
    상기 해상도가 변경된 영상을 인코딩하는 단계는:
    상기 재구성된 깊이 정보에 포함된 깊이를 기초로 제 1 코스트를 계산하는 단계;
    해당 깊이에서 1을 뺀 깊이를 기초로 제 2 코스트를 계산하는 단계; 및
    상기 제 1 코스트와 상기 제 2 코스트 중 낮은 코스트에 대응하는 깊이에 따라 상기 해상도가 변경된 영상을 인코딩하는 단계;
    를 포함하는 트랜스코딩 방법.
  23. 컴퓨터로 읽을 수 있는 기록 매체에 있어서,
    제 12 항, 제 15 항 및 제 20 항 중 어느 한 항에 따른 트랜스코딩 방법을 컴퓨터로 실행하기 위한 프로그램이 기록된 기록 매체.
  24. 컴퓨터와 결합되어 제 12 항, 제 15 항 및 제 20 항 중 어느 한 항에 따른 트랜스코딩 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.
KR1020140159930A 2014-11-17 2014-11-17 트랜스코딩 장치 및 방법 KR101553346B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140159930A KR101553346B1 (ko) 2014-11-17 2014-11-17 트랜스코딩 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140159930A KR101553346B1 (ko) 2014-11-17 2014-11-17 트랜스코딩 장치 및 방법

Publications (1)

Publication Number Publication Date
KR101553346B1 true KR101553346B1 (ko) 2015-09-17

Family

ID=54248361

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140159930A KR101553346B1 (ko) 2014-11-17 2014-11-17 트랜스코딩 장치 및 방법

Country Status (1)

Country Link
KR (1) KR101553346B1 (ko)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
N. Lamot. Efficient dyadic scaling of H.265/HEVC-encoded video streams. Master’s dissertation. Universiteit Gent. May. 2014, pp.i-xvii, 1-64*

Similar Documents

Publication Publication Date Title
US11200703B2 (en) Information processing device and method
US10523951B2 (en) Systems and methods for processing a digital image
CN108781281B (zh) 用于有损和无损图像压缩的基于形状自适应模型的编解码器
US20170347100A1 (en) Region-adaptive hierarchical transform and entropy coding for point cloud compression, and corresponding decompression
RU2567988C2 (ru) Кодер, способ кодирования данных, декодер, способ декодирования данных, система передачи данных, способ передачи данных и программный продукт
CN110383696B (zh) 用于对超像素边界进行编码和解码的方法和装置
KR20180080365A (ko) 영역-기반 이미지 압축
JP7233875B2 (ja) 作成方法、コンピュータ及びプログラム
WO2019191891A1 (zh) 用于视频处理的方法和设备
JP6431531B2 (ja) 符号器及び復号器、並びに動作方法
Huang et al. 3qnet: 3d point cloud geometry quantization compression network
KR20120085134A (ko) 3차원 메쉬 부호화 장치 및 방법, 그리고 3차원 메쉬 복호화 장치 및 방법
KR102113904B1 (ko) 보간을 이용한 연산 방법, 인코더, 및 디코더
JP5396559B1 (ja) 画像符号化装置、画像符号化方法、画像符号化プログラムおよび記録媒体
Reyes et al. Lossy compression of bilevel images based on Markov random fields
JP2015019364A (ja) 画像圧縮装置及び方法
KR101553346B1 (ko) 트랜스코딩 장치 및 방법
CN114868389A (zh) 一种帧内预测方法、编码器、解码器及存储介质
US20220094951A1 (en) Palette mode video encoding utilizing hierarchical palette table generation
CN109218729A (zh) 视频编码方法、视频解码方法、视频编码器及视频解码器
WO2023193709A1 (zh) 编码、解码方法、装置及设备
WO2023179705A1 (zh) 编码、解码方法、装置及设备
RU2778377C1 (ru) Способ и устройство для кодирования облака точек
WO2024148473A1 (zh) 编码方法及装置、编码器、码流、设备、存储介质
KR20230049574A (ko) 인공 신경망의 피쳐 맵을 사용하는 영상 부호화/복호화를 위한 방법, 장치 및 기록 매체

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee