KR20180134799A - 동영상 압축방법, 장치 및 이에 대한 컴퓨터 프로그램 - Google Patents

동영상 압축방법, 장치 및 이에 대한 컴퓨터 프로그램 Download PDF

Info

Publication number
KR20180134799A
KR20180134799A KR1020180155382A KR20180155382A KR20180134799A KR 20180134799 A KR20180134799 A KR 20180134799A KR 1020180155382 A KR1020180155382 A KR 1020180155382A KR 20180155382 A KR20180155382 A KR 20180155382A KR 20180134799 A KR20180134799 A KR 20180134799A
Authority
KR
South Korea
Prior art keywords
frame
image
compression
compressed
complexity
Prior art date
Application number
KR1020180155382A
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 KR1020180155382A priority Critical patent/KR20180134799A/ko
Publication of KR20180134799A publication Critical patent/KR20180134799A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

본 발명은 동영상 압축방법, 장치 및 이에 대한 컴퓨터 프로그램에 대한 것으로서, 더욱 상세하게는 동영상의 코덱에 관계없이 원본 동영상에 대해 화질의 열화를 최소화하면서, 코덱을 그대로 유지하고, 압축률이 높은 압축된 동영상을 제공할 수 있는 동영상 압축방법, 장치 및 이에 대한 컴퓨터 프로그램에 관한 것이다.

Description

동영상 압축방법, 장치 및 이에 대한 컴퓨터 프로그램 {Video File Compression Method, Device and Computer Program Thereof}
본 발명은 동영상 압축방법, 장치 및 이에 대한 컴퓨터 프로그램에 대한 것으로서, 더욱 상세하게는 동영상의 코덱에 관계없이 원본 동영상에 대해 화질의 열화를 최소화하면서, 코덱을 그대로 유지하고, 압축률이 높은 압축된 동영상을 제공할 수 있는 동영상 압축방법, 장치 및 이에 대한 컴퓨터 프로그램에 관한 것이다.
현대는 컴퓨터와 컴퓨터 네트워크로 인해 컴퓨터와 컴퓨터 간에 그리고 컴퓨터와 저장장치 간에 엄청난 양의 정보가 전달되고 있다. 로컬 하드 드라이브나 로컬 플로피 드라이브와 같은 로컬 저장장치에 컴퓨터가 액세스되면, 엄청난 양의 데이터가 빠르게 액세스된다. 그러나, 광역통신망(WAN; Wide Area Network), 인터넷, 또는 무선 통신 채널(셀룰러 폰 네트워크 등)을 통한 원격 저장 위치로부터 데이터를 액세스할 때에는, 데이터 전달 속도는 현저하게 떨어진다. 그러므로, 용량이 큰 파일을 전달하는 것은 엄청난 시간이 걸린다. 게다가, 용량이 큰 파일을 저장한다는 것은 값비싸고 한정된 저장 공간을 필요로 한다. 일반적으로 동영상은 동영상을 구성하는 프레임의 이미지 내의 화소(pixel) 각각에 대한 정보를 필요로 하기 때문에, 용량이 큰 파일들로 간주된다.
따라서, 일반적인 동영상 파일은 수십MByte 이상의 저장 공간이 필요하고, 전송률이 낮은 통신망을 통할 경우 상당한 전송 시간을 필요로 한다. 따라서, 최근 몇 년간 동영상을 저장하기에 필요로 하는 저장 공간의 양의 줄이고 전송 시간을 주이기 위해서 이미지를 압축하는 많은 프로토콜(protocol)과 표준이 개발되어 왔다.
통상적으로, 이미지 압축 기법은 손실 압축 기법(lossy compression method)과 비손실 압축 기법(lossless compression method)로 나누어지며, 이러한 압축 기법은 공간적, 시간적, 확률적 중복성들을 제거함으로써 이미지를 압축한다. 특히, 손실 압축 기법(lossy compression method)은 어느 정도 원본 데이터가 손실되어 열화가 발생지만, 비손실 압축 방법(lossless compression method)은 원본 이미지를 디코딩 후 정확하게 재생할 수 있다.
대한민국 등록특허 제10-1517019호 '블록특성을 이용한 적응 이미지 압축방법 및 그 시스템'(2014.12.18 공개)
본 발명의 목적은 동영상의 코덱에 관계없이 원본 동영상에 대해 화질의 열화를 최소화하면서, 코덱을 그대로 유지하고, 압축률이 높은 압축된 동영상을 제공할 수 있는 동영상 압축방법, 장치 및 이에 대한 컴퓨터 프로그램을 제공하는 것이다.
상기와 같은 과제를 해결하기 위하여 본 발명은,
하나 이상의 프로세서 및 상기 프로세서에서 수행 가능한 명령들을 저장하는 메인 메모리를 포함하는 컴퓨팅 장치에서 수행되는 동영상 압축방법으로서, 동영상의 압축대상 프레임이 독립적으로 인코딩된 프레임인지 여부를 판별하는 프레임타입판별단계; 및 상기 압축대상 프레임이 독립적으로 인코딩된 프레임인 경우와 상기 압축대상 프레임이 독립적으로 인코딩된 프레임이 아닌 경우를 구분하여 압축프레임을 생성하는 프레임압축단계;를 포함하는, 동영상 압축방법을 제공한다.
본 발명에서는, 상기 프레임압축단계는, 상기 압축대상 프레임의 처리대상이미지영역을 설정하는 처리대상이미지영역설정단계; 및 상기 처리대상이미지영역의 일부 혹은 전체가 변환된 압축프레임을 생성하는 압축프레임생성단계;를 포함하고, 상기 처리대상이미지영역설정단계는 상기 압축대상 프레임이 독립적으로 인코딩된 프레임인 경우에는 상기 압축대상 프레임의 전체를 상기 처리대상이미지영역으로 설정하고, 상기 압축대상 프레임이 독립적으로 인코딩된 프레임이 아닌 경우에는 상기 압축대상 프레임의 일부를 상기 처리대상이미지영역으로 설정할 수 있다.
본 발명에서는, 상기 처리대상이미지영역설정단계는 기설정된 기준에 따라 상기 압축대상 프레임을 복수의 이미지블록으로 구분하고, 상기 압축대상 프레임이 독립적으로 인코딩된 프레임이 아닌 경우에는, 상기 압축대상 프레임의 상기 복수의 이미지블록 중 일부의 이미지블록을 상기 처리대상이미지영역으로 설정할 수 있다.
본 발명에서는, 상기 처리대상이미지영역설정단계는 상기 압축대상 프레임이 독립적으로 인코딩된 프레임이 아닌 경우에는, 상기 압축대상 프레임의 이전 프레임, 이후 프레임, 및 복수의 이전 프레임이 누적된 프레임 중 1 이상과 비교하여 상기 압축대상 프레임의 부분 중 변화가 있는 부분을 상기 처리대상이미지영역으로 설정할 수 있다.
본 발명에서는, 상기 압축프레임생성단계는 제1 압축프레임생성단계를 포함하고, 상기 제1 압축프레임생성단계는, 상기 처리대상이미지영역을 구성하는 복수의 세부영역에 대하여 이미지의 복잡도를 산출하는 이미지복잡도산출단계; 상기 세부영역의 상기 복잡도가 기설정된 기준 이하인지 여부를 판단하는 이미지복잡도판별단계; 및 상기 세부영역의 복잡도가 기설정된 기준 이하인 경우에 상기 세부영역에 대하여 제1 이미지처리를 수행하는 복잡도기준이미지처리단계;를 포함하고, 상기 복잡도기준이미지처리단계가 수행된 상기 처리대상이미지영역을 포함하는 프레임으로부터 상기 압축프레임을 생성할 수 있다.
본 발명에서는, 상기 제1 압축프레임생성단계는, 상기 복잡도기준이미지처리단계가 수행된 상기 처리대상이미지영역을 포함하는 프레임에 대해 손실압축을 수행한 프레임으로부터 상기 압축프레임을 생성할 수 있다.
본 발명에서는, 상기 제1 이미지처리는 Blur처리일 수 있다.
본 발명에서는, 상기 압축프레임생성단계는 제2 압축프레임생성단계를 포함하고, 상기 제2 압축프레임생성단계는, 상기 처리대상이미지영역에 대하여 제2 이미지처리를 수행하여 제1 예비프레임을 생성하는 전체이미지처리단계; 및 상기 제1 예비프레임에 대하여 상기 압축대상 프레임의 원본의 이미지 데이터 중 이미지의 Edge부분을 결합하여 제2 예비프레임을 생성하는 Edge결합처리단계;를 포함하고, 상기 제2 예비프레임으로부터 상기 압축프레임을 생성할 수 있다.
본 발명에서는, 상기 제2 예비프레임에 대해 손실압축이 수행된 프레임으로부터 상기 압축프레임을 생성할 수 있다.
본 발명에서는, 상기 제2 이미지처리는 Blur처리일 수 있다.
본 발명에서는, 상기 압축프레임생성단계는, 제1 압축프레임을 생성하는 제1 압축프레임생성단계; 상기 제1 압축프레임생성단계와는 상이한 방법으로 제2 압축프레임을 생성하는 제2 압축프레임생성단계; 및 상기 제1 압축프레임 및 상기 제2 압축프레임을 포함하는 후보프레임그룹 중 하나의 프레임을 상기 압축프레임으로 하는 압축프레임선택단계;를 포함할 수 있다.
본 발명에서는, 상기 제1 압축프레임생성단계는, 상기 처리대상이미지영역을 구성하는 복수의 세부영역에 대하여 이미지의 복잡도를 산출하는 이미지복잡도산출단계; 상기 세부영역의 상기 복잡도가 기설정된 기준 이하인지 여부를 판단하는 이미지복잡도판별단계; 및 상기 세부영역의 복잡도가 기설정된 기준 이하인 경우에 상기 세부영역에 대하여 제1 이미지처리를 수행하는 복잡도기준이미지처리단계;를 포함하고, 상기 복잡도기준이미지처리단계가 수행된 상기 처리대상이미지영역을 포함하는 프레임으로부터 상기 제1 압축프레임을 생성할 수 있다.
본 발명에서는, 상기 제2 압축프레임생성단계는, 상기 처리대상이미지영역에 대하여 제2 이미지처리를 수행하여 제1 예비프레임을 생성하는 전체이미지처리단계; 상기 제1 예비프레임에 대하여 상기 압축대상 프레임의 원본의 이미지 데이터 중 이미지의 Edge부분을 결합하여 제2 예비프레임을 생성하는 Edge결합처리단계;를 포함하고, 상기 제2 예비프레임으로부터 상기 제2 압축프레임을 생성할 수 있다.
본 발명에서는, 상기 제1 압축프레임생성단계는, 상기 처리대상이미지영역을 구성하는 복수의 세부영역에 대하여 이미지의 복잡도를 산출하는 이미지복잡도산출단계; 상기 세부영역의 상기 복잡도가 기설정된 기준 이하인지 여부를 판단하는 이미지복잡도판별단계; 및 상기 세부영역의 복잡도가 기설정된 기준 이하인 경우에 상기 세부영역에 대하여 제1 이미지처리를 수행하는 복잡도기준이미지처리단계;를 포함하고, 상기 복잡도기준이미지처리단계가 수행된 상기 처리대상이미지영역을 포함하는 프레임으로부터 상기 제1 압축프레임을 생성하고, 상기 제2 압축프레임생성단계는, 상기 처리대상이미지영역에 대하여 제2 이미지처리를 수행하여 제1 예비프레임을 생성하는 전체이미지처리단계; 상기 제1 예비프레임에 대하여 상기 압축대상 프레임의 원본의 이미지 데이터 중 이미지의 Edge부분을 결합하여 제2 예비프레임을 생성하는 Edge결합처리단계;를 포함하고, 상기 제2 예비프레임으로부터 상기 제2 압축프레임을 생성할 수 있다.
상기와 같은 과제를 해결하기 위하여, 본 발명은 하나 이상의 프로세서에 의해 실행되는 복수의 명령들을 포함하는, 컴퓨터-판독가능 매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은, 동영상의 압축대상 프레임이 독립적으로 인코딩된 프레임인지 여부를 판별하는 프레임타입판별명령; 및 상기 압축대상 프레임이 독립적으로 인코딩된 프레임인 경우와 상기 압축대상 프레임이 독립적으로 인코딩된 프레임이 아닌 경우를 구분하여 압축프레임을 생성하는 프레임압축명령;를 포함하는, 컴퓨터 프로그램을 제공한다.
본 발명에서는, 상기 프레임압축명령은, 상기 압축대상 프레임의 처리대상이미지영역을 설정하는 처리대상이미지영역설정 명령; 및 상기 처리대상이미지영역의 일부 혹은 전체가 변환된 압축프레임을 생성하는 압축프레임생성명령;을 포함하고, 상기 처리대상이미지영역설정 명령은 상기 압축대상 프레임이 독립적으로 인코딩된 프레임인 경우에는 상기 압축대상 프레임의 전체를 상기 처리대상이미지영역으로 설정하고, 상기 압축대상 프레임이 독립적으로 인코딩된 프레임이 아닌 경우에는 상기 압축대상 프레임의 일부를 상기 처리대상이미지영역으로 설정할 수 있다.
본 발명에서는, 상기 처리대상이미지영역설정명령은 기설정된 기준에 따라 상기 압축대상 프레임을 복수의 이미지블록으로 구분하고, 상기 압축대상 프레임이 독립적으로 인코딩된 프레임이 아닌 경우에는, 상기 압축대상 프레임의 상기 복수의 이미지블록 중 일부의 이미지블록을 상기 처리대상이미지영역으로 설정할 수 있다.
본 발명에서는, 상기 처리대상이미지영역설정명령은 상기 압축대상 프레임이 독립적으로 인코딩된 프레임이 아닌 경우에는, 상기 압축대상 프레임의 이전 프레임, 이후 프레임, 및 복수의 이전 프레임이 누적된 프레임 중 1 이상과 비교하여 상기 압축대상 프레임의 부분 중 변화가 있는 부분을 상기 처리대상이미지영역으로 설정할 수 있다.
본 발명에서는, 상기 압축프레임생성명령은 제1 압축프레임생성명령을 포함하고, 상기 제1 압축프레임생성단계는, 상기 처리대상이미지영역을 구성하는 복수의 세부영역에 대하여 이미지의 복잡도를 산출하는 이미지복잡도산출명령; 상기 세부영역의 상기 복잡도가 기설정된 기준 이하인지 여부를 판단하는 이미지복잡도판별명령; 및 상기 세부영역의 복잡도가 기설정된 기준 이하인 경우에 상기 세부영역에 대하여 제1 이미지처리를 수행하는 복잡도기준이미지처리명령;을 포함하고, 상기 복잡도기준이미지처리단계가 수행된 상기 처리대상이미지영역을 포함하는 프레임으로부터 상기 압축프레임을 생성할 수 있다.
본 발명에서는, 상기 압축프레임생성명령은 제2 압축프레임생성명령을 포함하고, 상기 제2 압축프레임생성명령은, 상기 처리대상이미지영역에 대하여 제2 이미지처리를 수행하여 제1 예비프레임을 생성하는 전체이미지처리명령; 및 상기 제1 예비프레임에 대하여 상기 압축대상 프레임의 원본의 이미지 데이터 중 이미지의 Edge부분을 결합하여 제2 예비프레임을 생성하는 Edge결합처리명령;을 포함하고, 상기 제2 예비프레임으로부터 상기 압축프레임을 생성할 수 있다.
본 발명에서는, 상기 압축프레임생성명령은, 제1 압축프레임을 생성하는 제1 압축프레임생성명령; 상기 제1 압축프레임생성명령과는 상이한 방법으로 제2 압축프레임을 생성하는 제2 압축프레임생성명령; 및 상기 제1 압축프레임 및 상기 제2 압축프레임을 포함하는 후보프레임그룹 중 하나의 프레임을 상기 압축프레임으로 하는 압축프레임선택명령;를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 원본 동영상의 해상도를 그대로 유지하면서 화질의 열화가 최소화된 동영상으로 압축할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 동영상의 코덱에 관계없이 원본 동영상에 대해 화질의 열화를 최소화하면서, 코덱을 그대로 유지하고, 압축률이 높은 압축된 동영상을 제공할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면 동영상에 대하여 전처리 과정을 거치기 때문에 기존의 인코더를 그대로 사용하면서 동영상 압축을 수행할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면 H.264의 DCT(Discrete Cosine Transform) 변환, 차세대 비디오 코덱으로 각광받고 있는 H.265에서 사용되는 Wavelet 변환 및 손실 비디오 코덱(Lossy Video Codec)에는 모두 동영상을 압축할 수 있는 효과를 발휘할 수 있다.
도 1은 본 발명의 일 실시예에 따른 동영상 압축장치의 내부 구조를 개략적으로 도시한 도면이다.
도 2는 동영상의 프레임들의 예들을 개략적으로 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 이미지블록의 예들을 개략적으로 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 변경블록판별부의 동작을 설명하기 위한 복수의 프레임의 예를 개략적으로 도시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 제1 프레임변환부의 내부 구조를 개략적으로 도시한 도면이다.
도 6는 본 발명의 일 실시예에 따른 복잡도판단부의 내부 구조를 개략적으로 도시한 도면이다.
도 7은 본 발명의 일 실시예에 따른 제1 프레임변환부에 따라 변환되는 변환프레임의 일예를 개략적으로 도시한 도면이다.
도 8은 본 발명의 일 실시예에 따른 제2 프레임변환부에 내부 구조를 개략적으로 도시한 도면이다.
도 9는 본 발명의 일 실시예에 따른 제2 프레임변환부에 따라 변환되는 변환프레임의 일예를 개략적으로 도시한 도면이다.
도 10은 본 발명의 일 실시예에 따른 동영상 압축방법의 세부단계를 개략적으로 도시한 도면이다.
도 11은 본 발명의 일 실시예에 따른 프레임압축단계의 세부단계를 개략적으로 도시한 도면이다.
도 12은 본 발명의 일 실시예에 따른 압축프레임생성단계의 실시예들을 개략적으로 도시한 도면이다.
도 13은 본 발명의 일 실시예에 따른 제1 압축프레임생성단계의 세부단계를 개략적으로 도시한 도면이다.
도 14는 본 발명의 일 실시예에 따른 제2 압축프레임생성단계의 세부단계를 개략적으로 도시한 도면이다.
도 15은 본 발명의 일 실시예에 따른 동영상 압축방법의 세부단계를 개략적으로 도시한 도면이다.
도 16은 본 발명의 일 실시예에 따른 처리대상이미지블록의 설정단계를 개략적으로 도시한 도면이다.
도 17은 본 발명의 일 실시예에 따른 제1 프레임변환방법의 세부단계를 개략적으로 도시한 도면이다.
도 18은 본 발명의 일 실시예에 따른 제2 프레임변환방법의 세부단계를 개략적으로 도시한 도면이다.
도 19는 본 발명의 실시예들이 구현될 수 있는 예시적인 컴퓨팅 환경에 대한 간략하고 일반적인 개략도를 도시한다.
다양한 실시예들이 이제 도면을 참조하여 설명되며, 전체 도면에서 걸쳐 유사한 도면번호는 유사한 구성요소를 나타내기 위해서 사용된다. 본 명세서에서, 다양한 설명들이 본 발명의 이해를 제공하기 위해서 제시된다. 그러나 이러한 실시예들은 이러한 구체적인 설명 없이도 실행될 수 있음이 명백하다. 다른 예들에서, 공지된 구조 및 장치들은 실시예들의 설명을 용이하게 하기 위해서 블록 다이어그램 형태로 제공된다.
본 명세서에서 사용되는 용어 "컴포넌트", "모듈", "시스템", “~부” 등은 컴퓨터-관련 엔티티, 하드웨어, 펌웨어, 소프트웨어, 소프트웨어 및 하드웨어의 조합, 또는 소프트웨어의 실행을 지칭한다. 예를 들어, 컴포넌트는 프로세서상에서 실행되는 처리과정, 프로세서, 객체, 실행 스레드, 프로그램, 및/또는 컴퓨터일 수 있지만, 이들로 제한되는 것은 아니다. 예를 들어, 컴퓨팅 장치에서 실행되는 애플리케이션 및 컴퓨팅 장치 모두 컴포넌트일 수 있다. 하나 이상의 컴포넌트는 프로세서 및/또는 실행 스레드 내에 상주할 수 있고, 일 컴포넌트는 하나의 컴퓨터
내에 로컬화될 수 있고, 또는 2개 이상의 컴퓨터들 사이에 분배될 수 있다. 또한, 이러한 컴포넌트들은 그 내부에 저장된 다양한 데이터 구조들을 갖는 다양한 컴퓨터 판독가능한 매체로부터 실행할 수 있다. 컴포넌트들은 예를 들어 하나 이상의 데이터 패킷들을 갖는 신호(예를 들면, 로컬 시스템, 분산 시스템에서 다른 컴포넌트와 상호작용하는 하나의 컴포넌트로부터 데이터 및/또는 신호를 통해 다른 시스템과 인터넷과 같은 네트워크를 통한 데이터)에 따라 로컬 및/또는 원격 처리들을 통해 통신할 수 있다.
본 명세서에서 사용되는 "실시예", "예", "양상", "예시" 등은 기술되는 임의의 양상 또는 설계가 다른 양상 또는 설계들보다 양호하다거나, 이점이 있는 것으로 해석되지 않을 수도 있다.
더불어, 용어 "또는"은 배타적 "또는"이 아니라 내포적 "또는"을 의미하는 것으로 의도된다. 즉, 달리 특정되지 않거나 문맥상 명확하지 않은 경우에, "X는 A 또는 B를 이용한다"는 자연적인 내포적 치환 중 하나를 의미하는 것으로 의도된다. 즉, X가 A를 이용하거나; X가 B를 이용하거나; 또는 X가 A 및 B 모두를 이용하는 경우, "X는A 또는 B를 이용한다"가 이들 경우들 어느 것으로도 적용될 수 있다. 또한, 본 명세서에 사용된 "및/또는"이라는 용어는 열거된 관련 아이템들 중 하나 이상의 아이템의 가능한 모든 조합을 지칭하고 포함하는 것으로 이해되어야 한다.
또한, "포함한다" 및/또는 "포함하는"이라는 용어는, 해당 특징 및/또는 구성요소가 존재함을 의미하지만, 하나이상의 다른 특징, 구성요소 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다.
또한, 본 명세서에서 명백하게 다른 내용을 지시하지 않는 “한”과, “상기”와 같은 단수 표현들은 복수 표현들을 포함한다는 것이 이해될 수 있을 것이다. 따라서, 일 예로, “컴포넌트 표면(component surface)”은 하나 혹은 그 이상의 컴포넌트 표면들을 포함한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
본 명세서 전체에 있어서 “이전”의 프레임이라는 것은 바로 전 프레임뿐만 아니라 해당 프레임 전에 존재하는 복수의 프레임 중 하나를 의미하고, “이후”의 프레임이라는 것은 바로 다음 프레임 뿐만 아니라 해당 프레임 다음에 존재하는 복수의 프레임 중 하나를 의미한다.
또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
제시된 실시예들에 대한 설명은 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 발명의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 발명의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 발명은 여기에 제시된 실시예들로 한정되는 것이 아니라, 여기에 제시된 원리 들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.
도 1은 본 발명의 일 실시예에 따른 동영상 압축장치(1000)의 내부 구조를 개략적으로 도시한 도면이다.
도 1에 도시된 동영상 압축장치(1000)는, 동영상의 압축대상 프레임이 독립적으로 인코딩된 프레임인지 여부를 판별하는 프레임타입판별부(100); 기설정된 기준에 따라 상기 압축대상 프레임을 복수의 이미지블록으로 구분하는 블록구분부(200); 상기 압축대상 프레임의 이전 프레임, 이후 프레임, 및 복수의 이전 프레임이 누적된 프레임 중 1 이상과 비교하여 상기 압축대상 프레임의 부분 중 변화가 있는 부분 혹은 이미지블록을 판별하는 변경블록판별부(300); 동영상 압축장치(1000)의 내부 컴포넌트들의 기능을 제어하는 제어부(400); 제1 방법에 따라 압축대상 프레임의 처리대상이미지영역의 일부 혹은 전체가 변환된 제1 변환프레임을 생성하는 제1 프레임변환부(500); 상기 제1 방법과 상이한 제2 방법에 따라 압축대상 프레임의 처리대상이미지영역의 일부 혹은 전체가 변환된 제2 변환프레임을 생성하는 제2 프레임변환부(600); 상기 제1 변환프레임 및 상기 제2 변환프레임 중 1 이상에 대하여 압축을 수행하는 프레임압축부(700); 및 상기 프레임압축부(700)에 의하여 압축된 2 이상의 압축프레임 혹은 상기 변환프레임에 대하여 비교를 수행하여 용량이 적은 프레임을 최종적인 압축프레임으로 설정하는 프레임비교부(800)를 포함한다.
상기 프레임타입판별부(100)는 동영상의 압축대상 프레임이 독립적으로 인코딩된 프레임인지 여부를 판별한다. 본 발명의 일 실시예에서는, 상기 압축대상 프레임이 독립적으로 인코딩된 프레임인 경우와 상기 압축대상 프레임이 독립적으로 인코딩된 프레임이 아닌 경우를 구분하여 압축프레임을 생성한다.
구체적으로 상기 프레임타입판별부(100)에 의하여 판별된 프레임의 타입에 따라 압축대상 프레임의 처리대상이미지영역이 상이하게 설정되고, 이와 같은 처리대상이미지영역에 대해 상기 제1 프레임변환부(500) 및 제2 프레임변환부(600)가 이미지 데이터에 대한 처리를 수행하여 압축대상 프레임의 전체 용량을 압축할 수 있다.
도 2는 동영상의 프레임들의 예들을 개략적으로 도시한 도면이다.
일반적인 동영상의 비디오 부분은 I 프레임(도 2에서 “I”로 도시한 프레임), P 프레임(도 2에서 “P”로 도시한 프레임), 및 B 프레임(도 2에서 “B”로 도시한 프레임)으로 구성된다.
I 프레임은 키 프레임으로써 전체 이미지를 모두 포함하고, 동영상 파일에 있어서 억세스 포인트로 기능할 수 있으며, 독립적으로 인코딩된 프레임에 해당하며 낮은 압축률을 가지고 있다.
한편, P 프레임의 경우, 이전의 I 프레임 혹은 P 프레임을 참조하여 순방향 예측에 의하여 만들어지는 프레임으로서 독립적으로 인코딩된 프레임에 해당하지 않는다. 이와 같은 P 프레임은 I 프레임에 비해 높은 압축률을 가지고 있다.
본 명세서 전체에 있어서 “이전”의 프레임이라는 것은 바로 전 프레임뿐만 아니라 해당 프레임 전에 존재하는 복수의 프레임 중 하나를 의미하고, “이후”의 프레임이라는 것은 바로 다음 프레임 뿐만 아니라 해당 프레임 다음에 존재하는 복수의 프레임 중 하나를 의미한다.
한편, B 프레임의 경우, 이전의 프레임 및 이후의 프레임을 참조하여 순방향 및 역방향 예측에 의하여 만들어지는 프레임으로서 독립적으로 인코딩된 프레임에 해당하지 않는다. 이와 같은 B 프레임은 I, P 프레임에 비해 높은 압축률을 가지고 있다. 따라서, 상기 독립적으로 인코딩된 프레임은 I 프레임에 해당하고, 비독립적으로 인코딩된 프레임은 나머지 B 프레임 혹은 P 프레임에 해당할 수 있다.
본 발명에 따른 동영상 압축장치(1000) 및 동영상 압축방법은 H.264의 DCT(Discrete Cosine Transform) 변환, 차세대 비디오 코덱으로 각광받고 있는 H.265에서 사용되는 Wavelet 변환 및 손실 비디오 코덱(Lossy Video Codec)에는 모두 적용 가능하다.
도 1의 (A)는 I 프레임, 및 P 프레임으로만 이루어진 동영상의 프레임들을 도시한다. 도 1의 (B)는 I 프레임, P 프레임, 및 B 프레임으로 이루어진 동영상의 프레임들을 도시한다. 도 1의 (C)는 I 프레임, P 프레임, 및 B 프레임이 규칙적으로 도시된 동영상의 프레임들을 도시한다. 본 발명의 동영상 압축장치(1000) 및 동영상 압축방법은 이와 같은 프레임들을 포함하는 동영상들에 대해 모두 적용될 수 있다.
다시 도 1을 참조하여, 상기 블록구분부(200)는 기설정된 기준에 따라 상기 압축대상 프레임을 복수의 이미지블록으로 구분한다.
본 발명의 일 실시예에서는 압축대상 프레임이 비독립적으로 인코딩된 프레임인 경우에는 프레임 전체에 대하여 이미지 처리를 수행하여 프레임을 압축하는 것이 아니라 프레임의 일부 영역에 대해서만 이미지 처리를 수행하여 프레임을 압축한다. 여기서 프레임의 일부 영역을 특정하기 위하여 상기 블록구분부(200)에 의하여 구분된 이미지블록을 이용할 수 있다.
더욱 상세하게는, 압축대상 프레임을 상기 블록구분부(200)에 의하여 복수의 이미지블록으로 구분하고, 압축대상 프레임이 비독립적으로 인코딩된 프레임인 경우에는 상기 이미지블록 중 일부 영역만을 처리대상이미지영역으로 설정할 수 있다.
바람직하게는 상기 블록구분부(200)는 상기 압축대상 프레임을 복수의 이미지블록으로 구분시킨 블록프레임을 생성할 수도 있다.
도 3은 본 발명의 일 실시예에 따른 이미지블록의 예들을 개략적으로 도시한 도면이다.
도 3의 (A)는 압축대상 프레임을 2 x 2 의 이미지블록으로 구분한 예를 도시하고, 도 3의 (B)는 압축대상 프레임을 4 x 4 의 이미지블록으로 구분한 예를 도시하고, 도 3의 (C)는 압축대상 프레임을 8 x 8 의 이미지블록으로 구분한 예를 도시한다.
본 발명의 이미지블록에 대한 구분방법은 상기 도 3에 한정되지 않고 다양한 형태로 설정이 될 수 있다. 또한, 상기 블록구분부(200)에 의하여 구분되는 압축대상 프레임의 이미지블록은 정형성을 가지지 않고 영역마다 상이한 기준으로 설정될 수도 있다.
다시 도 1을 참조하면, 상기 변경블록판별부(300)는 상기 압축대상 프레임의 이전 프레임, 이후 프레임, 및 복수의 이전 프레임이 누적된 프레임 중 1 이상과 비교하여 상기 압축대상 프레임의 부분 중 변화가 있는 부분 혹은 이미지블록을 판별한다.
바람직하게는, 상기 변경블록판별부(300)는 압축대상 프레임이 비독립적으로 인코딩된 프레임, 예를 들어 P 프레임 혹은 B 프레임인 경우에 상기 압축대상 프레임을 구성하는 복수의 이미지블록 중 변화가 발생하는 이미지블록을 판별한다.
바람직하게는, 상기 압축대상 프레임이 P 프레임인 경우에는, 이전의 최인접 I 프레임과 상기 최인접 I 프레임 다음의 프레임들 (P 프레임 혹은 B 프레임)을 누적한 이미지와 상기 압축대상 프레임을 비교하여, 변화가 있는 부분 혹은 변화가 있는 부분을 포함하는 이미지블록을 처리대상이미지영역으로 설정한다. 혹은 이전의 최인접 I 프레임과 비교하여 처리대상이미지영역을 설정할 수도 있다.
예를 들어, 프레임이 “IPPPPP”로 이루어져있고, 압축대상 프레임이 마지막 P 프레임인 경우에는 “IPPPP” 프레임을 누적한 이미지와 상기 압축대상 프레임인 마지막 P 프레임과의 비교를 수행하여 변화가 있는 부분 혹은 변화가 있는 부분을 포함하는 이미지블록을 처리대상이미지영역으로 설정한다.
바람직하게는, 상기 압축대상 프레임이 B 프레임인 경우에는, 이전의 최인접 I 프레임과 상기 최인접 I 프레임 다음의 프레임들 (P 프레임 혹은 B 프레임)을 누적한 이미지, 및 다음의 최인접 I 프레임과 상기 압축대상 프레임을 비교하여, 변화가 있는 부분 혹은 변화가 있는 부분을 포함하는 이미지블록을 처리대상이미지영역으로 설정한다.
혹은, 상기 압축대상 프레임이 B 프레임인 경우에는, 이전의 최인접 I 프레임 및 다음의 최인접 I 프레임과 상기 압축대상 프레임을 비교하여, 변화가 있는 부분 혹은 변화가 있는 부분을 포함하는 이미지블록을 처리대상이미지영역으로 설정한다.
예를 들어, 프레임이 “I1 P1 P2 P3 P4 P5 P6 P7 B P8 I2”로 이루어져있고, 압축대상 프레임이 마지막 B 프레임인 경우에는 “I2 P1 P2 P3 P4 P5 P6 P7” 프레임을 누적한 이미지, 및 I2 프레임과 상기 압축대상 프레임인 B 프레임과의 비교를 수행하여 변화가 있는 부분 혹은 변화가 있는 부분을 포함하는 이미지블록을 처리대상이미지영역으로 설정한다.
혹은 I1 프레임 및 I2 프레임과 상기 압축대상 프레임인 B 프레임과의 비교를 수행하여 변화가 있는 부분 혹은 변화가 있는 부분을 포함하는 이미지블록을 처리대상이미지영역으로 설정한다.
이상에서는 이미지블록을 사용하여 처리대상이미지영역을 설정하는 발명을 설명하였으나, 본 발명은 이에 한정되지 않고, 프레임의 일정영역을 특정하는 다양한 방법에 대항 양상을 포함한다.
도 4는 본 발명의 일 실시예에 따른 변경블록판별부(300)의 동작을 설명하기 위한 복수의 프레임의 예를 개략적으로 도시한 도면이다.
도 4는 동영상의 압축대상 프레임을 3 x 3의 이미지블록으로 구분하고, 9개의 블록 중 변경된 블록을 판별하는 예를 도시한다.
도 4의 (A)는 I 프레임에 해당하고, 도 4의 (B)는 P 프레임에 해당하고, 도 4의 (C)는 P 프레임에 해당한다.
본 발명의 일 실시예에 따르면, 도 4의 (A)의 경우 처리대상이미지영역은 9개의 이미지 블록 모두가 설정된다.
한편, 도 4의 (B)의 경우 처리대상이미지영역은 (2, 2) 이미지블록, (2, 3) 이미지블록이 설정된다.
한편, 도 4의 (C)의 경우 처리대상이미지영역은 (2, 2) 이미지블록, (2, 3) 이미지블록이 설정된다.
이와 같이, 본 발명에서는 압축대상 프레임의 프레임 타입에 따라서 처리대상이미지영역의 설정 방법이 상이하고, 압축대상 프레임이 비독립적으로 인코딩된 프레임인 경우에는, 해당 프레임의 타입에 따라 처리대상이미지영역을 설정한다. 한편, 상기 처리대상이미지영역은 상술한 이미지블록에 의하여 설정될 수도 있고, 혹은 프레임의 일정 영역만을 설정할 수도 있다.
도 5는 본 발명의 일 실시예에 따른 제1 프레임변환부(500)의 내부 구조를 개략적으로 도시한 도면이다.
상기 제1 프레임변환부(500)는 제1 방법에 따라 압축대상 프레임의 처리대상이미지영역의 일부 혹은 전체가 변환된 제1 변환프레임을 생성한다.
본 발명의 바람직한 실시예에서는 상기 제1 프레임변환부(500)에 의하여 변환된 프레임 및 후술하는 제2 프레임프레임변환부에 의하여 변환된 프레임에 대해 압축을 수행하고 이 중 용량이 작은 프레임을 최종 압축프레임으로 선정하지만, 본 발명은 이에 한정되지 않고 상기 제1 변환프레임 혹은 상기 제1 변환프레임에 대해 압축을 수행한 프레임이 최종적인 압축프레임이 될 수도 있다. 여기서 압축은 손실압축임이 바람직하다.
한편, 도 5에 도시된 바와 같이, 제1 프레임변환부(500)는 이미지블록 혹은 처리대상이미지영역을 구성하는 세부 영역들의 복잡도를 산출하고 상기 이미지블록 혹은 세부 영역의 복잡도가 기설정된 기준 이하 혹은 미만인지 여부를 판별하는 복잡도판단부(510); 상기 이미지블록 혹은 세부 영역의 복잡도가 기설정된 기준 이하인 경우에 해당 이미지블록 혹은 해당 세부 영역에 대하여 제1 이미지처리를 수행하는 제1 이미지처리부(520)를 포함한다.
여기서 상기 제1 이미지처리는 Blurring 처리에 해당하는 Blur처리임이 바람직하다. 블러링(blurring) 처리란 이미지를 부드럽게 보이도록 하기 위해 고주파 성분을 제거하는 방식을 이용한 화상 처리를 의미한다. 저주파는 화소값의 변화율이 작은 주파수이고, 고주파는 화소값의 변화율이 큰 주파수를 말한다. 이미지에서 고주파 성분을 제거하게 되면, 화소값의 변화율이 작아지므로 이웃하는 화소들에 대하여 극단적인 값들이 줄어들어 이미지가 부드럽게 처리된다. 따라서, 블러링 처리를 통해 이미지에서 나타나는 미세한 잡음이나 잡티 등의 두드러짐을 약화시켜 이미지를 수정할 수 있다.
제1 이미지처리부(520)는 복잡도가 낮은 이미지블록 혹은 세부 영역 각각에 대하여 화소들의 휘도값을 추출하고, 휘도값에 따라 가중치를 부여하여 블러링 처리를 수행할 수 있다. 본 발명에서 블러링 처리는 일반적으로 널리 사용하는 가우시안 블러링(gaussian blurring)을 적용할 수 있다.
도 6는 본 발명의 일 실시예에 따른 복잡도판단부(510)의 내부 구조를 개략적으로 도시한 도면이다.
복잡도판단부(510)는 상기 처리대상이미지영역의 구성하는 이미지블록 혹은 혹은 상기 처리대상이미지영역을 구성하는 세부 영역에 대하여 각각 이미지 복잡도를 산출한다. 본원에서 이미지의 복잡한 정도(이미지 복잡도)라는 것은 이미지가 변화하는 정도를 말하는 것으로, 이를 판단하는 방식은 후술하도록 한다.
이와 같은 복잡도판단부(510)는 화소값판단부(511), 색상수판단부(512), 및 양자화판단부(513) 중 1 이상을 포함함이 바람직하다. 한편 복잡도판단부(510)는 상기 화소값판단부(511), 색상수판단부(512), 및 양자화판단부(513) 중 하나를 이용해서 복잡도를 판단할 수도 있고, 2 이상의 판단결과에 따라서 복잡도를 판단할 수도 있다.
화소값판단부(511)는 상기 처리대상이미지영역의 구성하는 이미지블록 혹은 혹은 상기 처리대상이미지영역을 구성하는 세부 영역에 대하여 각각 대해 그레이 이미지(gray image)로 변환한 후, 화소값의 변화량을 측정하여 이미지 복잡도를 산출한다. 여기서, 상기 그레이 이미지는 명도 정보, 즉 밝고 어두운 정도에 관한 정보만으로 표현되는 이미지를 의미한다. 통상적으로 상기 그레이 이미지를 표현하는 그레이 레벨은 28(=256)개의 레벨을 가진다. 상기 그레이 레벨이 0에 근접할수록 어두우며, 255에 근접할수록 밝은 이미지가 된다.
화소값판단부(511)는 그레이 이미지로 변환된 상기 처리대상이미지영역의 구성하는 이미지블록 혹은 혹은 상기 처리대상이미지영역을 구성하는 세부 영역의 화소 별로 특정한 화소값과의 차이(디퍼렌셜 값)를 구한 후에, 화소값의 차이의 평균으로 계산되는 변화량을 산출하고, 이와 같은 변화량이 기설정된 값 이상인지 여부를 판단할 수 있다.
디퍼렌셜 값의 평균이 높다는 것은 그레이 이미지로 변환된 상기 처리대상이미지영역의 구성하는 이미지블록 혹은 혹은 상기 처리대상이미지영역을 구성하는 세부 영역에 상응하는 부분의 이미지 복잡도가 높음을 의미하게 된다. 이때, 상기 화소값판단부(511)는 그레이 이미지로 변환된 상기 처리대상이미지영역의 구성하는 이미지블록 혹은 혹은 상기 처리대상이미지영역을 구성하는 세부 영역에 대하여 상기 변화량이 기설정된 값 이상인 경우에는 이미지 복잡도가 높은 것으로, 반대로 기설정된 값 미만인 경우에는 이미지 복잡도가 낮은 것으로 판단하게 된다.
색상수판단부(512)는 상기 처리대상이미지영역의 구성하는 이미지블록 혹은 혹은 상기 처리대상이미지영역을 구성하는 세부 영역에 대하여 각각에 대해 색상수를 측정하여 이미지 복잡도를 산출한다. 특히, 색상수판단부(512)는 상기 처리대상이미지영역의 구성하는 이미지블록 혹은 혹은 상기 처리대상이미지영역을 구성하는 세부 영역에 대하여 각각의 색상수가 특정한 색상수 이상인지 여부를 판단하여 이미지 복잡도를 산출할 수 있다. 이때, 색상수판단부(512)는 상기 처리대상이미지영역의 구성하는 이미지블록 혹은 혹은 상기 처리대상이미지영역을 구성하는 세부 영역에 대하여 상기 색상수가 기설정된 기준 색상수(Nc_standard) 이상 혹은 초과인 경우에는 이미지 복잡도가 높은 것으로, 반대로 기설정된 기준 색상수(Nc_standard) 미만 혹은 이하인 경우에는 이미지 복잡도가 낮은 것으로 판단하게 된다.
양자화판단부(513)는 미리 결정된 양자화 레벨을 기반으로 상기 처리대상이미지영역의 구성하는 이미지블록 혹은 혹은 상기 처리대상이미지영역을 구성하는 세부 영역에 대하여 각각을 양자화한 후 이에 상응하는 히스토그램을 기반으로 양자화 레벨의 전체적인 분포를 측정하여 이미지 복잡도를 산출한다. 이를 위해, 먼저 양자화판단부(513)는 상기 처리대상이미지영역의 구성하는 이미지블록 혹은 혹은 상기 처리대상이미지영역을 구성하는 세부 영역에 대하여 각각에 대해 양자화를 수행하여 양자화된 이미지를 생성한다. 양자화 시에 정수 값 0, 1, 2, … , 2n-1로 구성된 2n개의 양자화 레벨로 상기 처리대상이미지영역의 구성하는 이미지블록 혹은 혹은 상기 처리대상이미지영역을 구성하는 세부 영역 각각을 구성하는 각 화소값이 구성된다.
양자화 구분 값은 히스토그램(histogram) 상의 중간 값(median)을 기준으로 한다. 예를 들어 4진 양자화의 경우, 히스토그램 값이 25%, 50%, 75%를 기준으로 이루어지는 것을 가정한다. 한편, 상기 히스토그램은 도수 분포를 나타내는 그래프로써, 관측한 데이터의 분포 특징이 한눈에 보이도록 기둥 모양으로 나타낸 것이다. 상기 히스토그램은 기둥 그래프 또는 그림 모양 그림 등으로 불리기도 한다. 이때 상기 히스토그램의 가로축에 각 양자화 레벨이 소정 간격을 가지고 나타나도록 표시하고, 세로축에 각 양자화 레벨에 분포하는 화소의 도수(이하, 화소의 갯수라 한다)가 소정 간격을 가지고 나타나도록 표시한다. 즉 상기 히스토그램은 각 양자화 레벨 간의 구간 별로 해당 구간에서의 화소의 갯수를 비례하는 높이의 기둥으로 표현된다.
양자화판단부(513)는 상기 처리대상이미지영역의 구성하는 이미지블록 혹은 혹은 상기 처리대상이미지영역을 구성하는 세부 영역에 대하여 각각 양자화를 수행한 결과를 나타내는 히스토그램를 분석하여 양자화 레벨의 평균값을 구한 후에, 양자화 레벨의 평균값이 속한 소정의 범위를 벗어나는(양자화 레벨의 평균값을 벗어나는) 화소의 개수가 기설정된 개수 이상인지 여부를 판단하여 이미지 복잡도를 산출할 수 있다.
예시적으로, 양자화판단부(513)는 상기 처리대상이미지영역의 구성하는 이미지블록 혹은 혹은 상기 처리대상이미지영역을 구성하는 세부 영역에 대하여 각각을 양자화를 수행한 결과를 나타내는 히스토그램에서 평균값을 벗어나는 화소의 개수가 50% 이상인 경우 이미지 복잡도가 높은 것으로 판단할 수 있다.
한편, 이미지복잡도가 낮은 이미지 블록에 해당하는지 여부는 앞서 설명한 화소값판단부(511), 색상수판단부(512), 및 양자화판단부(513) 중 어느 하나에서 판단한 이미지 복잡도에 따라 결정될 수 있고, 경우에 따라서는 2 이상에서 판단한 이미지 복잡도를 조합하여 결정될 수도 있다.
도 7은 본 발명의 일 실시예에 따른 제1 프레임변환부(500)에 따라 변환되는 변환프레임의 일예를 개략적으로 도시한 도면이다.
도 7의 (A)에 도시된 1 ~ 9 번까지의 이미지블록은 처리대상이미지영역을 구성한다. 한편, 상기 화소값판단부(511), 색상수판단부(512), 및 양자화판단부(513) 중 1 이상의 방법에 의하여 각각의 이미지블록에 대하여 복잡도판단부(510)에 의하여 복잡도를 판단한다.
이후, 복잡도판단부(510) 및 기설정된 기준에 의하여 복잡도가 낮다고 판단되는 이미지블록에 대해서는 상기 제1 이미지처리부(520)에 의항 제1 이미지처리를 수행한다. 바람직하게는 상기 제1 이미지처리는 Blur처리에 해당한다.
도 7의 (B)는 상기 복잡도판단부(510) 및 제1 이미지처리부(520)에 의하여 처리가 된 처리대상이미지영역을 도시한다. 이와 같은 처리가 된 처리대상이미지영역 혹은 상기 처리대상이미지영역을 포함하는 프레임이 제1 변환프레임이 된다.
상기 도 7의 (B)에 도시된 바와 같이, 2, 4, 9 번 이미지블록의 복잡도가 낮다고 판단되어, 이의 이미지블록에 대하여 Blur처리가 수행되었다.
도 8은 본 발명의 일 실시예에 따른 제2 프레임변환부(600)에 내부 구조를 개략적으로 도시한 도면이다.
상기 제2 프레임변환부(600)는 제2 방법에 따라 압축대상 프레임의 처리대상이미지영역의 일부 혹은 전체가 변환된 제1 변환프레임을 생성한다.
본 발명의 바람직한 실시예에서는 상기 제1 프레임변환부(500)에 의하여 변환된 프레임 및 상기 제2 프레임프레임변환부에 의하여 변환된 프레임에 대해 압축을 수행하고 이 중 용량이 작은 프레임을 최종 압축프레임으로 선정하지만, 본 발명은 이에 한정되지 않고 상기 제2 변환프레임 혹은 상기 제2 변환프레임에 대해 압축을 수행한 프레임이 최종적인 압축프레임이 될 수도 있다. 여기서 압축은 손실압축임이 바람직하다.
한편, 도 8에 도시된 바와 같이, 제2 프레임변환부(600)는 제2 이미지처리부(610), 에지이미지생성부(620), 이진화이미지생성부(630), 및 이미지합성부(640)를 포함한다.
제2 이미지처리부(610)는 처리대상이미지영역에 대해 제2 이미지처리를 수행한다. 바람직하게는 상기 제2 이미지처리는 Blur처리이다.
에지이미지생성부(620)는 처리대상이미지영역에 대해 고주파 영역에 해당하는 모서리 영역인 에지(edge)를 산출하여 에지 이미지를 생성한다. 이후 이진화이미지생성부(630)는 생성된 에지 이미지에 대해 이진화를 수행하여 이진화 이미지를 생성한다. 이때, 이진화이미지생성부(630)는 에지이미지생성부(620)에 의해 생성된 에지 이미지의 각 화소의 화소값을 0(검은색) 또는 1(흰색)로 바꾸는 이진화를 수행하여 이진화 이미지를 생성하게 된다.
이후, 이미지합성부(640)는 이진화이미지생성부(630)에 의해 생성된 에지 이미지에서 0의 값을 갖는 화소에 상응하는 처리대상이미지영역의 원본이미지를 상기 제2 이미지처리부(610)에 의해 생성된 제2 이미지처리가 된 처리대상이미지영역으로 복사하여 최종적으로 제2 변환이미지를 생성하게 된다.
도 9는 본 발명의 일 실시예에 따른 제2 프레임변환부(600)에 따라 변환되는 변환프레임의 일예를 개략적으로 도시한 도면이다.
도 9의 (A)에 도시된 1 ~ 9 번까지의 이미지블록은 처리대상이미지영역을 구성한다.
도 9의 (B)는 제2 이미지처리부(610)에 의하여 제2 이미지처리, 바람직하게는 Blur처리가 수행된 처리대상이미지영역을 도시한다.
도 9의 (C)는 에지이미지생성부(620)에 의하여 생성된, 도 9의 (A)에 도시된 처리대상이미지영역의 에지 이미지를 도시한다.
도 9의 (D)는 상기 도 9의 (C)의 에지 이미지의 정보를 기초로 추출된 에지 부분의 원본 이미지, 측 도 9의 (A)에서의 이미지를 도 9의 (B)에 도시된 제2 이미지처리가 수행된 처리대상이미지영역에 결합하여 생성된 제2 변환프레임을 도시한다.
다시 도 1을 참조하면, 상기 프레임압축부(700)는 상기와 같이 생성된 제1 변환프레임 및 제2 변환프레임에 대하여 압축을 수행한다. 바람직하게는 상기 압축은 공지된 방식의 손실압축 중 하나에 해당한다. 다만, 본 발명의 다른 실시예에서는 이와 같은 프레임압축부(700)는 생략될 수도 있다.
이후, 상기 프레임비교부(800)는 상기 프레임압축부(700)에 의하여 압축된 2 이상의 압축프레임 혹은 상기 변환프레임에 대하여 비교를 수행하여 용량이 적은 프레임을 최종적인 압축프레임으로 설정한다.
한편, 본 발명의 다른 실시예에 따른 동영상 압축장치(1000)는 상기 제1 프레임변환부(500) 및 선택적으로 상기 프레임압축부(700)만을 구비할 수 있다. 이 경우, 상기 제1 프레임변환부(500)에 의하여 변환된 프레임이 최종 압축프레임이 되거나 혹은 상기 제1 프레임변환부(500)에 의하여 변환된 프레임에 대해 공지된 방식의 손실압축 중 하나를 수행하여 최종 프레임이 될 수도 있다. 이 경우, 제2 프레임변환부(600) 및 상기 프레임비교부(800)는 상기 동영상 압축장치(1000)에 구비되지 않을 수도 있다.
한편, 본 발명의 다른 실시예에 따른 동영상 압축장치(1000)는 상기 제2 프레임변환부(600) 및 선택적으로 상기 프레임압축부(700)만을 구비할 수 있다. 이 경우, 상기 제2 프레임변환부(600)에 의하여 변환된 프레임이 최종 압축프레임이 되거나 혹은 상기 제2 프레임변환부(600)에 의하여 변환된 프레임에 대해 공지된 방식의 손실압축 중 하나를 수행하여 최종 프레임이 될 수도 있다. 이 경우, 제1 프레임변환부(500) 및 상기 프레임비교부(800)는 상기 동영상 압축장치(1000)에 구비되지 않을 수도 있다.
이하에서는 본 발명의 동영상 압축방법에 대해 설명하도록 한다. 본 발명의 동영상 압축방법은 전술한 도 1 내지 9 및 이에 대한 기재에서 설명한 동영상 압축장치에 포함되는 구성 중 일부 혹은 전체에 의하여 수행될 수 있다. 후술하는 본 발명의 동영상 압축방법은 전술한 동영상 압축장치의 내용을 참조하도록 한다.
도 10은 본 발명의 일 실시예에 따른 동영상 압축방법의 세부단계를 개략적으로 도시한 도면이다.
상기 동영상 압축방법은 하나 이상의 프로세서 및 상기 프로세서에서 수행 가능한 명령들을 저장하는 메인 메모리를 포함하는 컴퓨팅 장치에서 수행되는 동영상 압축방법이다.
도 10에 도시된 바와 같이, 상기 동영상 압축방법은 동영상의 압축대상 프레임이 독립적으로 인코딩된 프레임인지 여부를 판별하는 프레임타입판별단계(S10); 및
상기 압축대상 프레임이 독립적으로 인코딩된 프레임인 경우와 상기 압축대상 프레임이 독립적으로 인코딩된 프레임이 아닌 경우를 구분하여 압축프레임을 생성하는 프레임압축단계(S20);를 포함한다.
여기서, 상기 프레임타입판별단계(S10)는 동영상의 압축대상 프레임이 독립적으로 인코딩된 프레임인지 여부를 판별한다. 본 발명의 일 실시예에서는, 상기 압축대상 프레임이 독립적으로 인코딩된 프레임인 경우와 상기 압축대상 프레임이 독립적으로 인코딩된 프레임이 아닌 경우를 구분하여 상이한 방식으로 압축프레임을 생성한다.
구체적으로 상기 프레임타입판별단계(S10)에 의하여 판별된 프레임의 타입에 따라 압축대상 프레임의 처리대상이미지영역이 상이하게 설정되고, 이와 같은 처리대상이미지영역에 대해 데이터에 대한 처리를 수행하여 압축대상 프레임의 전체 용량을 압축할 수 있다.
구체적으로, 상기 프레임의 타입은 I 프레임, P 프레임, 및 B 프레임을 포함한다.
I 프레임은 키 프레임으로써 전체 이미지를 모두 포함하고, 동영상 파일에 있어서 억세스 포인트로 기능할 수 있으며, 독립적으로 인코딩된 프레임에 해당하며 낮은 압축률을 가지고 있다.
한편, P 프레임의 경우, 이전의 I 프레임 혹은 P 프레임을 참조하여 순방향 예측에 의하여 만들어지는 프레임으로서 독립적으로 인코딩된 프레임에 해당하지 않는다. 이와 같은 P 프레임은 I 프레임에 비해 높은 압축률을 가지고 있다.
본 명세서 전체에 있어서 “이전”의 프레임이라는 것은 바로 전 프레임뿐만 아니라 해당 프레임 전에 존재하는 복수의 프레임 중 하나를 의미하고, “이후”의 프레임이라는 것은 바로 다음 프레임 뿐만 아니라 해당 프레임 다음에 존재하는 복수의 프레임 중 하나를 의미한다.
한편, B 프레임의 경우, 이전의 프레임 및 이후의 프레임을 참조하여 순방향 및 역방향 예측에 의하여 만들어지는 프레임으로서 독립적으로 인코딩된 프레임에 해당하지 않는다. 이와 같은 B 프레임은 I, P 프레임에 비해 높은 압축률을 가지고 있다. 따라서, 상기 독립적으로 인코딩된 프레임은 I 프레임에 해당하고, 비독립적으로 인코딩된 프레임은 나머지 B 프레임 혹은 P 프레임에 해당할 수 있다
도 11은 본 발명의 일 실시예에 따른 프레임압축단계의 세부단계를 개략적으로 도시한 도면이다.
상기 프레임압축단계(S20)는, 상기 압축대상 프레임의 처리대상이미지영역을 설정하는 처리대상이미지영역설정단계(S21); 및
*상기 처리대상이미지영역의 일부 혹은 전체가 변환된 압축프레임을 생성하는 압축프레임생성단계(S22);를 포함하고,
상기 처리대상이미지영역설정단계는 상기 압축대상 프레임이 독립적으로 인코딩된 프레임인 경우에는 상기 압축대상 프레임의 전체를 상기 처리대상이미지영역으로 설정하고,
상기 압축대상 프레임이 독립적으로 인코딩된 프레임이 아닌 경우에는 상기 압축대상 프레임의 일부를 상기 처리대상이미지영역으로 설정한다.
한편, 상기 처리대상이미지영역은 이미지블록으로 구분하여 처리될 수 있다. 구체적으로는 상기 처리대상이미지영역설정단계는 기설정된 기준에 따라 상기 압축대상 프레임을 복수의 이미지블록으로 구분하고, 상기 압축대상 프레임이 독립적으로 인코딩된 프레임이 아닌 경우에는, 상기 압축대상 프레임의 상기 복수의 이미지블록 중 일부의 이미지블록을 상기 처리대상이미지영역으로 설정할 수 있다.
이하에서는, 상기 압축대상 프레임이 독립적으로 인코딩된 프레임이 아닌 겨우, 즉 I 프레임이 아니거나 혹은 B 프레임 혹은 P 프레임에 해당하는 경우에는 처리대상이미지영역을 설정하는 방법에 대해서 설명하도록 한다.
상기 처리대상이미지영역설정단계는 상기 압축대상 프레임이 독립적으로 인코딩된 프레임이 아닌 경우에는, 상기 압축대상 프레임의 이전 프레임, 이후 프레임, 및 복수의 이전 프레임이 누적된 프레임 중 1 이상과 비교하여 상기 압축대상 프레임의 부분 중 변화가 있는 부분을 상기 처리대상이미지영역으로 설정한다.
구체적으로, 처리대상이미지영역설정단계(S21)는 압축대상 프레임이 비독립적으로 인코딩된 프레임, 예를 들어 P 프레임 혹은 B 프레임인 경우에 상기 압축대상 프레임을 구성하는 복수의 이미지블록 중 변화가 발생하는 이미지블록을 판별한다.
바람직하게는, 처리대상이미지영역설정단계(S21)는 상기 압축대상 프레임이 P 프레임인 경우에는, 이전의 최인접 I 프레임과 상기 최인접 I 프레임 다음의 프레임들 (P 프레임 혹은 B 프레임)을 누적한 이미지와 상기 압축대상 프레임을 비교하여, 변화가 있는 부분 혹은 변화가 있는 부분을 포함하는 이미지블록을 처리대상이미지영역으로 설정한다. 혹은 이전의 최인접 I 프레임과 비교하여 처리대상이미지영역을 설정할 수도 있다.
예를 들어, 프레임이 “IPPPPP”로 이루어져있고, 압축대상 프레임이 마지막 P 프레임인 경우에는 “IPPPP” 프레임을 누적한 이미지와 상기 압축대상 프레임인 마지막 P 프레임과의 비교를 수행하여 변화가 있는 부분 혹은 변화가 있는 부분을 포함하는 이미지블록을 처리대상이미지영역으로 설정한다.
바람직하게는, 처리대상이미지영역설정단계(S21)는 상기 압축대상 프레임이 B 프레임인 경우에는, 이전의 최인접 I 프레임과 상기 최인접 I 프레임 다음의 프레임들 (P 프레임 혹은 B 프레임)을 누적한 이미지, 및 다음의 최인접 I 프레임과 상기 압축대상 프레임을 비교하여, 변화가 있는 부분 혹은 변화가 있는 부분을 포함하는 이미지블록을 처리대상이미지영역으로 설정한다.
혹은, 상기 압축대상 프레임이 B 프레임인 경우에는, 이전의 최인접 I 프레임 및 다음의 최인접 I 프레임과 상기 압축대상 프레임을 비교하여, 변화가 있는 부분 혹은 변화가 있는 부분을 포함하는 이미지블록을 처리대상이미지영역으로 설정한다.
예를 들어, 프레임이 “I1 P1 P2 P3 P4 P5 P6 P7 B P8 I2”로 이루어져있고, 압축대상 프레임이 마지막 B 프레임인 경우에는 “I2 P1 P2 P3 P4 P5 P6 P7” 프레임을 누적한 이미지, 및 I2 프레임과 상기 압축대상 프레임인 B 프레임과의 비교를 수행하여 변화가 있는 부분 혹은 변화가 있는 부분을 포함하는 이미지블록을 처리대상이미지영역으로 설정한다.
혹은 I1 프레임 및 I2 프레임과 상기 압축대상 프레임인 B 프레임과의 비교를 수행하여 변화가 있는 부분 혹은 변화가 있는 부분을 포함하는 이미지블록을 처리대상이미지영역으로 설정한다.
이상에서는 이미지블록을 사용하여 처리대상이미지영역을 설정하는 발명을 설명하였으나, 본 발명은 이에 한정되지 않고, 프레임의 일정영역을 특정하는 다양한 방법에 대항 양상을 포함한다.
도 12은 본 발명의 일 실시예에 따른 압축프레임생성단계의 실시예들을 개략적으로 도시한 도면이다. 다만, 이는 본 발명의 예시적인 실시예에 해당할 뿐 본 발명의 범위는 이에 대해 한정되지 않는다.
본 발명의 동영상 압축방법의 일 실시예에 따르면 후술하는 제1 압축프레임생성단계에 의하여 생성된 압축프레임을 최종적인 압축 프레임으로 한다 (도 12에서 실시예 1로 도시).
본 발명의 동영상 압축방법의 일 실시예에 따르면 후술하는 제2 압축프레임생성단계에 의하여 생성된 압축프레임을 최종적인 압축 프레임으로 한다 (도 12에서 실시예 2로 도시).
본 발명의 동영상 압축방법의 일 실시예에 따르면 후술하는 제1 압축프레임생성단계 및 제2 압축프레임생성단계에 의하여 생성된 제1 압축프레임 및 제2 압축프레임을 포함하는 후보프레임그룹에서 하나를 선택하여 이를 최종적인 압축 프레임으로 한다 (도 12에서 실시예 3로 도시).
이하에서는, 상기 실시예 1에 대해서 설명하도록 한다.
상기 압축프레임생성단계(S22)는 제1 압축프레임생성단계(S22A)를 포함하고, 상기 제1 압축프레임생성단계(S22A)는, 상기 처리대상이미지영역을 구성하는 복수의 세부영역에 대하여 이미지의 복잡도를 산출하는 이미지복잡도산출단계(S22A.1); 상기 세부영역의 상기 복잡도가 기설정된 기준 이하인지 여부를 판단하는 이미지복잡도판별단계(S22A.2); 및 상기 세부영역의 복잡도가 기설정된 기준 이하인 경우에 상기 세부영역에 대하여 제1 이미지처리를 수행하는 복잡도기준이미지처리단계(S22A.3);을 포함하고, 상기 복잡도기준이미지처리단계(S22A.3)가 수행된 상기 처리대상이미지영역을 포함하는 프레임으로부터 상기 압축프레임을 생성한다. 도 13은 본 발명의 일 실시예에 따른 제1 압축프레임생성단계의 세부단계를 개략적으로 도시한 도면이다.
여기서, 상기 복잡도기준이미지처리단계(S22A.3)가 수행된 상기 처리대상이미지영역을 포함하는 프레임으로부터 상기 압축프레임을 생성한다는 것은 상기 복잡도기준이미지처리단계(S22A.3)가 수행된 상기 처리대상이미지영역을 포함하는 프레임을 바로 압축프레임으로 하는 경우 및 상기 복잡도기준이미지처리단계(S22A.3)가 수행된 상기 처리대상이미지영역을 포함하는 프레임에 대해 손실압축 등의 후처리를 수행하여 압축프레임을 생성하는 경우를 모두 포함하는 최광의로 해석되어야 할 것이다. 즉, 상기 제1 압축프레임생성단계(S22)는, 상기 복잡도기준이미지처리단계(S22A.3)가 수행된 상기 처리대상이미지영역을 포함하는 프레임에 대해 손실압축을 수행한 프레임으로부터 상기 압축프레임을 생성하는 경우를 포함한다.
한편, 제1 압축프레임생성단계(S22A) 및 이의 세부과정은 전술한 도 5 내지 도 7 및 이와 관련된 발명의 상세한 설명에 기재된 내용에 상응하고, 이에 대한 설명은 생략하기로 한다.
바람직하게는 상기 제1 이미지처리는 Blur처리이다.
이하에서는, 상기 실시예 2에 대해서 설명하도록 한다.
상기 압축프레임생성단계(S22)는 제2 압축프레임생성단계(S22B)를 포함하고, 상기 제2 압축프레임생성단계(S22B)는, 상기 처리대상이미지영역에 대하여 제2 이미지처리를 수행하여 제1 예비프레임을 생성하는 전체이미지처리단계(S22B.1); 및 상기 제1 예비프레임에 대하여 상기 압축대상 프레임의 원본의 이미지 데이터 중 이미지의 Edge부분을 결합하여 제2 예비프레임을 생성하는 Edge결합처리단계(S22B.2);를 포함하고, 상기 제2 예비프레임으로부터 상기 압축프레임을 생성한다. 도 14는 본 발명의 일 실시예에 따른 제2 압축프레임생성단계의 세부단계를 개략적으로 도시한 도면이다.
여기서, 상기 제2 예비프레임으로부터 상기 압축프레임을 생성한다는 것은 상기 제2 예비프레임을 바로 압축프레임으로 하는 경우 및 상기 제2 예비프레임에 대해 손실압축 등의 후처리를 수행하여 압축프레임을 생성하는 경우를 모두 포함하는 최광의로 해석되어야 할 것이다.상기 제2 압축프레임생성단계(S22B)는, 상기 제2 예비프레임에 대해 손실압축이 수행된 프레임으로부터 상기 압축프레임을 생성하는 경우를 포함한다.
한편, 제2 압축프레임생성단계(S22B) 및 이의 세부과정은 전술한 도 8 내지 도 9 및 이와 관련된 발명의 상세한 설명에 기재된 내용에 상응하고, 이에 대한 설명은 생략하기로 한다.
바람직하게는 상기 제2 이미지처리는 Blur처리이다.
이하에서는, 상기 실시예 3에 대해서 설명하도록 한다.
상기 압축프레임생성단계(S22C)는, 제1 압축프레임을 생성하는 제1 압축프레임생성단계; 상기 제1 압축프레임생성단계와는 상이한 방법으로 제2 압축프레임을 생성하는 제2 압축프레임생성단계; 및 상기 제1 압축프레임 및 상기 제2 압축프레임을 포함하는 후보프레임그룹 중 하나의 프레임을 상기 압축프레임으로 하는 압축프레임선택단계;를 포함한다.
여기서, 상기 제1 압축프레임생성단계는 전술한 제1 압축프레임생성단계(S22A)와 유사하나, 제1 압축프레임생성단계로부터 생성된 프레임을 최종 압축프레임으로 하는 것이 아니라 이를 제1 압축프레임으로 임시적으로 저장한다.
구체적으로, 상기 제1 압축프레임생성단계는 상기 처리대상이미지영역을 구성하는 복수의 세부영역에 대하여 이미지의 복잡도를 산출하는 이미지복잡도산출단계; 상기 세부영역의 상기 복잡도가 기설정된 기준 이하인지 여부를 판단하는 이미지복잡도판별단계; 및 상기 세부영역의 복잡도가 기설정된 기준 이하인 경우에 상기 세부영역에 대하여 제1 이미지처리를 수행하는 복잡도기준이미지처리단계;를 포함하고, 상기 복잡도기준이미지처리단계가 수행된 상기 처리대상이미지영역을 포함하는 프레임으로부터 상기 제1 압축프레임을 생성한다.
여기서, 상기 복잡도기준이미지처리단계가 수행된 상기 처리대상이미지영역을 포함하는 프레임으로부터 상기 제1 압축프레임을 생성한다는 것은 상기 복잡도기준이미지처리단계가 수행된 상기 처리대상이미지영역을 포함하는 프레임을 바로 제1 압축프레임으로 하는 경우 및 상기 복잡도기준이미지처리단계가 수행된 상기 처리대상이미지영역을 포함하는 프레임에 대해 손실압축 등의 후처리를 수행하여 제1 압축프레임을 생성하는 경우를 모두 포함하는 최광의로 해석되어야 할 것이다. 즉, 상기 제1 압축프레임생성단계는, 상기 복잡도기준이미지처리단계가 수행된 상기 처리대상이미지영역을 포함하는 프레임에 대해 손실압축을 수행한 프레임으로부터 상기 압축프레임을 생성하는 경우를 포함한다.
한편, 제1 압축프레임생성단계 및 이의 세부과정은 전술한 도 5 내지 도 7 및 이와 관련된 발명의 상세한 설명에 기재된 내용에 상응하고, 이에 대한 설명은 생략하기로 한다.
바람직하게는 상기 제1 이미지처리는 Blur처리이다.
*한편, 상기 제2 압축프레임생성단계는 전술한 제2 압축프레임생성단계(S22B)와 유사하나, 제2 압축프레임생성단계로부터 생성된 프레임을 최종 압축프레임으로 하는 것이 아니라 이를 제2 압축프레임으로 임시적으로 저장한다.
구체적으로, 상기 제2 압축프레임생성단계는, 상기 처리대상이미지영역에 대하여 제2 이미지처리를 수행하여 제1 예비프레임을 생성하는 전체이미지처리단계; 상기 제1 예비프레임에 대하여 상기 압축대상 프레임의 원본의 이미지 데이터 중 이미지의 Edge부분을 결합하여 제2 예비프레임을 생성하는 Edge결합처리단계;를 포함하고, 상기 제2 예비프레임으로부터 상기 제2 압축프레임을 생성한다.
여기서, 상기 제2 예비프레임으로부터 상기 제2 압축프레임을 생성한다는 것은 상기 제2 예비프레임을 바로 제2 압축프레임으로 하는 경우 및 상기 제2 예비프레임에 대해 손실압축 등의 후처리를 수행하여 제2 압축프레임을 생성하는 경우를 모두 포함하는 최광의로 해석되어야 할 것이다.즉, 상기 제2 압축프레임생성단계는, 상기 제2 예비프레임에 대해 손실압축이 수행된 프레임으로부터 상기 제2 압축프레임을 생성하는 경우를 포함한다.
한편, 제2 압축프레임생성단계 및 이의 세부과정은 전술한 도 8 내지 도 9 및 이와 관련된 발명의 상세한 설명에 기재된 내용에 상응하고, 이에 대한 설명은 생략하기로 한다.
바람직하게는 상기 제2 이미지처리는 Blur처리이다.
본 발명의 제3 실시예에 따르면 상기 압축프레임생성단계는, 제1 압축프레임을 생성하는 제1 압축프레임생성단계; 상기 제1 압축프레임생성단계와는 상이한 방법으로 제2 압축프레임을 생성하는 제2 압축프레임생성단계; 및 상기 제1 압축프레임 및 상기 제2 압축프레임을 포함하는 후보프레임그룹 중 하나의 프레임을 상기 압축프레임으로 하는 압축프레임선택단계;를 포함한다.
여기서, 상기 후보프레임그룹 중 하나의 프레임을 선택함에 있어서 기준은 후보프레임그룹 중 용량이 가장 작은 프레임을 압축프레임으로 선택하는 것이 바람직하다.
도 15은 본 발명의 일 실시예에 따른 동영상 압축방법의 세부단계를 개략적으로 도시한 도면이다.
도 15에 도시된 동영상 압축방법은, 동영상의 압축대상 프레임이 I타입, P타입, 혹은 B타입에 해당하는 지 여부를 판별하는 프레임 판별단계(S100); 상기 프레임을 기설정된 기준에 따라 복수의 이미지 블록으로 구분하는 이미지블록구분단계(S200); 상기 프레임판별단계(S100)에 의하여 판별된 프레임 타입에 따라 상기 압축대상 프레임에서 처리대상이미지영역을 설정하는 처리대상이미지영역설정단계(S300); 상기 처리대상이미지영역에 대하여 이미지처리를 수행하여 제1 변환프레임 및 제2 변환프레임을 생성하는 변환프레임생성단계(S400); 상기 제1 변환프레임 및 제2 변환프레임에 대하여 압축을 수행하여 제1 압축프레임 및 제2 압축프레임을 생성하는 압축프레임생성단계(S500); 상기 제1 압축프레임 및 상기 제2 압축프레임에 대하여 데이터 크기를 비교하는 데이터크기비교단계(S600); 및 상기 제1 압축프레임 및 상기 제2 압축프레임 중 데이터 크기가 작은 프레임을 최종 압축프레임으로 선정하는 압축프레임선정단계(S700)을 포함한다.
도 16은 본 발명의 일 실시예에 따른 처리대상이미지블록의 설정단계를 개략적으로 도시한 도면이다.
상기 처리대상이미지영역설정단계(S300)는 압축대상 프레임이 독립적으로 인코딩된 프레임인지 여부, 즉, I 프레임인지 여부를 판단하고(S310), I 프레임에 해당하는 경우에는 프레임의 전체 이미지블록을 처리대사이미지블록으로 설정한다(S320). 혹은 비독립적으로 인코딩된 프레임인 경우, 즉, P 프레임 혹은 B 프레임에 해당하는 경우에는, 이전 프레임, 1 이상의 이전프레임이 누적된 프레임, 및 이후 프레임 중 1 이상과 비교하여 변화가 있는 이미지블록을 처리대상이미지 블록으로 설정한다(S330). 이와 같은 과정에 대한 설명은 전술한 도 1 내지 도 14에서의 동영상 압축장치 및 동영상 압축방법에서의 설명과 동일하다.
도 17은 본 발명의 일 실시예에 따른 제1 프레임변환방법의 세부단계를 개략적으로 도시한 도면이다.
변환프레임생성단계(S400)는 상기 처리대상이미지영역에 대하여 이미지처리를 수행하여 제1 변환프레임 및 제2 변환프레임을 생성한다. 도 17은 상기 제1 변환프레임을 생성하는 제1 프레임변환방법의 세부단계들을 도시한다.
도 17에 도시된 바와 같이, 상기 제1 변환프레임생성단계는 각각의 이미지블록의 복잡도를 산출하는 이미지복잡도산출단계(S410A); 산출된 각각의 이미지블록의 복잡도가 기설정된 기준을 초과하는 지 여부를 판별하는 복잡도판별단계(S420A); 및 복잡도가 기설정된 기준 이하인 이미지블록에 대하여 Blur 처리를 수행하는 Blur 처리단계(S430A)를 포함한다.
도 18은 본 발명의 일 실시예에 따른 제2 프레임변환방법의 세부단계를 개략적으로 도시한 도면이다.
변환프레임생성단계(S400)는 상기 처리대상이미지영역에 대하여 이미지처리를 수행하여 제1 변환프레임 및 제2 변환프레임을 생성한다. 도 18은 상기 제2 변환프레임을 생성하는 제2 프레임변환방법의 세부단계들을 도시한다.
도 17에 도시된 바와 같이, 상기 제2 변환프레임생성단계는 각각의 이미지블록에 대해 Edge 처리를 수행하여 Edge이미지블록을 생성하는 Edge이미지블록생성단계(S410B); 상기 각각의 이미지블록 원본에 대하여 Blur처리를 수행하여 Blur 이미지블록을 생성하는 Blur이미지블록생성단계(S420B); Edge이미지블록에 대하여 이진화처리를 수행하여 이진화이미지블록을 생성하는 이진화이미지블록생성단계(S430B); 및 Blur이미지블록에 이진화이미지블록을 참조하여 Edge에 해당하는 원본 이미지블록의 이미지를 결합하는 이미지결합단계(S440)를 포함한다.
이후, 본 발명의 일 실시예에 따른 동영상 압축방법은 상기 제1 변환프레임 및 제2 변환프레임에 대하여 압축을 수행하여 제1 압축프레임 및 제2 압축프레임을 생성하는 압축프레임생성단계(S500); 상기 제1 압축프레임 및 상기 제2 압축프레임에 대하여 데이터 크기를 비교하는 데이터크기비교단계(S600); 및 상기 제1 압축프레임 및 상기 제2 압축프레임 중 데이터 크기가 작은 프레임을 최종 압축프레임으로 선정하는 압축프레임선정단계(S700)을 포함한다.
본 발명의 일 실시예에 따르면, 원본 동영상의 해상도를 그대로 유지하면서 화질의 열화가 최소화된 동영상으로 압축할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면, 동영상의 코덱에 관계없이 원본 동영상에 대해 화질의 열화를 최소화하면서, 코덱을 그대로 유지하고, 압축률이 높은 압축된 동영상을 제공할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면 동영상에 대하여 전처리 과정을 거치기 때문에 기존의 인코더를 그대로 사용하면서 동영상 압축을 수행할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면 H.264의 DCT(Discrete Cosine Transform) 변환, 차세대 비디오 코덱으로 각광받고 있는 H.265에서 사용되는 Wavelet 변환 및 손실 비디오 코덱(Lossy Video Codec)에는 모두 동영상을 압축할 수 있는 효과를 발휘할 수 있다.
도 19는 본 발명의 실시예들이 구현될 수 있는 예시적인 컴퓨팅 환경에 대한 간략하고 일반적인 개략도를 도시한다.
본 발명이 일반적으로 하나 이상의 컴퓨터 상에서 실행될 수 있는 컴퓨터 실행가능 명령어와 관련하여 전술되었지만, 당업자라면 본 발명이 기타 프로그램 모듈들과 결합되어 및/또는 하드웨어와 소프트웨어의 조합으로서 구현될 수 있다는 것을 잘 알 것이다.
일반적으로, 프로그램 모듈은 특정의 태스크를 수행하거나 특정의 추상 데이터 유형을 구현하는 루틴, 프로그램, 컴포넌트, 데이터 구조, 기타 등등을 포함한다. 또한, 당업자라면 본 발명의 방법이 단일-프로세서또는 멀티프로세서 컴퓨터 시스템, 미니컴퓨터, 메인프레임 컴퓨터는 물론 퍼스널 컴퓨터, 핸드헬드 컴퓨팅 장치, 마이크로프로세서-기반 또는 프로그램가능 가전 제품, 기타 등등(이들 각각은 하나 이상의 연관된 장치와 연결되어 동작할 수 있음)을 비롯한 다른 컴퓨터 시스템 구성으로 실시될 수 있다는 것을 잘 알 것이다.
본 발명의 설명된 실시예들은 또한 어떤 태스크들이 통신 네트워크를 통해 연결되어 있는 원격 처리 장치들에 의해 수행되는 분산 컴퓨팅 환경에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치 둘다에 위치할 수 있다.
컴퓨터는 통상적으로 다양한 컴퓨터 판독가능 매체를 포함한다. 컴퓨터에 의해 액세스 가능한 매체는 그 어떤것이든지 컴퓨터 판독가능 매체가 될 수 있고, 이러한 컴퓨터 판독가능 매체는 휘발성 및 비휘발성 매체, 일시적(transitory) 및 비일시적(non-transitory) 매체, 이동식 및 비-이동식 매체를 포함한다. 제한이 아닌 예로서, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 저장하는 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성 매체, 일시적 및 비-일시적 매체, 이동식 및 비이동식 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital video disk) 또는 기타 광 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 컴퓨터에 의해 액세스될 수 있고 원하는 정보를 저장하는 데 사용될 수 있는 임의의 기타 매체를 포함하지만, 이에 한정되지 않는다.
통신 매체는 통상적으로 반송파(carrier wave) 또는 기타 전송 메커니즘(transport mechanism)과 같은 피변조 데이터 신호(modulated data signal)에 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터 등을 구현하고 모든 정보 전달 매체를 포함한다. 피변조 데이터 신호라는 용어는 신호 내에 정보를 인코딩하도록 그 신호의 특성들 중 하나 이상을 설정 또는 변경시킨 신호를 의미한다. 제한이 아닌 예로서, 통신 매체는 유선 네트워크 또는 직접 배선 접속(direct-wired connection)과 같은 유선 매체, 그리고 음향, RF, 적외선, 기타 무선 매체와 같은 무선 매체를 포함한다. 상술된 매체들 중 임의의 것의 조합도 역시 컴퓨터 판독가능 매체의 범위 안에 포함되는 것으로 한다.
컴퓨터(5102)를 포함하는 본 발명의 여러가지 측면들을 구현하는 예시적인 환경(5100)이 나타내어져 있으며, 컴퓨터(5102)는 처리 장치(5104), 시스템 메모리(5106) 및 시스템 버스(5108)를 포함한다. 시스템 버스(5108)는 시스템 메모리(5106)(이에 한정되지 않음)를 비롯한 시스템 컴포넌트들을 처리 장치(5104)에 연결시킨다. 처리장치(5104)는 다양한 상용 프로세서들 중 임의의 프로세서일 수 있다. 듀얼 프로세서 및 기타 멀티프로세서 아키텍처도 역시 처리 장치(5104)로서 이용될 수 있다.
시스템 버스(5108)는 메모리 버스, 주변장치 버스, 및 다양한 상용 버스 아키텍처 중 임의의 것을 사용하는 로컬 버스에 추가적으로 상호 연결될 수 있는 몇가지 유형의 버스 구조 중 임의의 것일 수 있다. 시스템 메모리(5106)는 판독 전용 메모리(ROM)(5110) 및 랜덤 액세스 메모리(RAM)(5112)를 포함한다. 기본 입/출력 시스템(BIOS)은 ROM, EPROM, EEPROM 등의 비휘발성 메모리(5110)에 저장되며, 이 BIOS는 시동 중과 같은 때에 컴퓨터(5102) 내의 구성요소들 간에 정보를 전송하는 일을 돕는 기본적인 루틴을 포함한다. RAM(5112)은 또한 데이터를 캐싱하기 위한 정적 RAM 등의 고속 RAM을 포함할 수 있다.
컴퓨터(5102)는 또한 내장형 하드 디스크 드라이브(HDD)(5114)(예를 들어, EIDE, SATA)―이 내장형 하드 디스크 드라이브(5114)는 또한 적당한 섀시(도시 생략) 내에서 외장형 용도로 구성될 수 있음―, 자기 플로피 디스크드라이브(FDD)(5116)(예를 들어, 이동식 디스켓(5118)으로부터 판독을 하거나 그에 기록을 하기 위한 것임), 및 광 디스크 드라이브(5120)(예를 들어, CD-ROM 디스크(5122)를 판독하거나 DVD 등의 기타 고용량 광 매체로부터 판독을 하거나 그에 기록을 하기 위한 것임)를 포함한다. 하드 디스크 드라이브(5114), 자기 디스크 드라이브(5116) 및 광 디스크 드라이브(5120)는 각각 하드 디스크 드라이브 인터페이스(5124), 자기 디스크 드라이브 인터페이스(5126) 및 광 드라이브 인터페이스(5128)에 의해 시스템 버스(5108)에 연결될 수 있다. 외장형 드라이브 구현을 위한 인터페이스(5124)는 USB(Universal Serial Bus) 및 IEEE 1394 인터페이스 기술 중 적어도 하나 또는 그 둘다를 포함한다.
이들 드라이브 및 그와 연관된 컴퓨터 판독가능 매체는 데이터, 데이터 구조, 컴퓨터 실행가능 명령어, 기타 등등의 비휘발성 저장을 제공한다. 컴퓨터(5102)의 경우, 드라이브 및 매체는 임의의 데이터를 적당한 디지털 형식으로 저장하는 것에 대응한다. 상기에서의 컴퓨터 판독가능 매체에 대한 설명이 HDD, 이동식 자기 디스크, 및 CD 또는 DVD 등의 이동식 광 매체를 언급하고 있지만, 당업자라면 집 드라이브(zip drive), 자기 카세트, 플래쉬 메모리 카드, 카트리지, 기타 등등의 컴퓨터에 의해 판독가능한 다른 유형의 매체도 역시 예시적인 운영 환경에서 사용될 수 있으며 또 임의의 이러한 매체가 본 발명의 방법들을 수행하기 위한 컴퓨터 실행가능 명령어를 포함할 수 있다는 것을 잘 알 것이다.
운영 체제(5130), 하나 이상의 애플리케이션 프로그램(5132), 기타 프로그램 모듈(5134) 및 프로그램 데이터 (5136)을 비롯한 다수의 프로그램 모듈이 드라이브 및 RAM(5112)에 저장될 수 있다. 운영 체제, 애플리케이션, 모듈 및/또는 데이터의 전부 또는 그 일부분이 또한 RAM(5112)에 캐싱될 수 있다. 본 발명이 여러가지 상업적으로 이용가능한 운영 체제 또는 운영 체제들의 조합에서 구현될 수 있다는 것을 잘 알 것이다.
사용자는 하나 이상의 유선/무선 입력 장치, 예를 들어, 키보드(5138) 및 마우스(5140) 등의 포인팅 장치를 통해 컴퓨터(5102)에 명령 및 정보를 입력할 수 있다. 기타 입력 장치(도시 생략)로는 마이크, IR 리모콘, 조이스틱, 게임 패드, 스타일러스 펜, 터치 스크린, 기타 등등이 있을 수 있다. 이들 및 기타 입력 장치가 종종 시스템 버스(5108)에 연결되어 있는 입력 장치 인터페이스(5142)를 통해 처리 장치(5104)에 연결되지만, 병렬 포트, IEEE 1394 직렬 포트, 게임 포트, USB 포트, IR 인터페이스, 기타 등등의 기타 인터페이스에 의해 연결될 수 있다.
모니터(5144) 또는 다른 유형의 디스플레이 장치도 역시 비디오 어댑터(5146) 등의 인터페이스를 통해 시스템 버스(5108)에 연결된다. 모니터(5144)에 부가하여, 컴퓨터는 일반적으로 스피커, 프린터, 기타 등등의 기타 주변 출력 장치(도시 생략)를 포함한다.
컴퓨터(5102)는 유선 및/또는 무선 통신을 통한 원격 컴퓨터(들)(5148) 등의 하나 이상의 원격 컴퓨터로의 논리적 연결을 사용하여 네트워크화된 환경에서 동작할 수 있다. 원격 컴퓨터(들)(5148)는 워크스테이션, 서버 컴퓨터, 라우터, 퍼스널 컴퓨터, 휴대용 컴퓨터, 마이크로프로세서-기반 오락 기기, 피어 장치 또는 기타 통상의 네트워크 노드일 수 있으며, 일반적으로 컴퓨터(5102)에 대해 기술된 구성요소들 중 다수 또는 그 전부를 포함하지만, 간략함을 위해, 메모리 저장 장치(5150)만이 도시되어 있다. 도시되어 있는 논리적 연결은 근거리 통신망(LAN)(5152) 및/또는 더 큰 네트워크, 예를 들어, 원거리 통신망(WAN)(5154)에의 유선/무선 연결을 포함한다.
이러한 LAN 및 WAN 네트워킹 환경은 사무실 및 회사에서 일반적인 것이며, 인트라넷 등의 전사적 컴퓨터 네트워크(enterprise-wide computer network)를 용이하게 해주며, 이들 모두는 전세계 컴퓨터 네트워크, 예를 들어, 인터넷에 연결될 수 있다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(5102)는 유선 및/또는 무선 통신 네트워크 인터페이스 또는 어댑터(5156)를 통해 로컬 네트워크(5152)에 연결된다. 어댑터(5156)는 LAN(5152)에의 유선 또는 무선 통신을 용이하게 해줄 수 있으며, 이 LAN(5152)은 또한 무선 어댑터(5156)와 통신하기 위해 그에 설치되어 있는 무선 액세스포인트를 포함하고 있다. WAN 네트워킹 환경에서 사용될 때, 컴퓨터(5102)는 모뎀(5158)을 포함할 수 있거나, WAN(5154) 상의 통신 서버에 연결되거나, 또는 인터넷을 통하는 등, WAN(5154)을 통해 통신을 설정하는 기타 수단을 갖는다. 내장형 또는 외장형 및 유선 또는 무선 장치일 수 있는 모뎀(5158)은 직렬 포트 인터페이스(5142)를 통해 시스템 버스(5108)에 연결된다. 네트워크화된 환경에서, 컴퓨터(5102)에 대해 설명된 프로그램 모듈들 또는 그의 일부분이 원격 메모리/저장 장치(5150)에 저장될 수 있다. 도시된 네트워크 연결이 예시적인 것이며 컴퓨터들 사이에 통신 링크를 설정하는 기타 수단이 사용될 수 있다는 것을 잘 알 것이다.
컴퓨터(5102)는 무선 통신으로 배치되어 동작하는 임의의 무선 장치 또는 개체, 예를 들어, 프린터, 스캐너, 데스크톱 및/또는 휴대용 컴퓨터, PDA(portable data assistant), 통신 위성, 무선 검출가능 태그와 연관된 임의 의 장비 또는 장소, 및 전화와 통신을 하는 동작을 한다. 이것은 적어도 Wi-Fi 및 블루투스 무선 기술을 포함한다. 따라서, 통신은 종래의 네트워크에서와 같이 미리 정의된 구조이거나 단순하게 적어도 2개의 장치 사이의 애드혹 통신(ad hoc communication)일 수 있다.
Wi-Fi(Wireless Fidelity)는 유선 없이도 인터넷 등으로의 연결을 가능하게 해준다. Wi-Fi는 이러한 장치, 예를 들어, 컴퓨터가 실내에서 및 실외에서, 즉 기지국의 통화권 내의 아무 곳에서나 데이터를 전송 및 수신할 수 있게 해주는 셀 전화와 같은 무선 기술이다. Wi-Fi 네트워크는 안전하고 신뢰성있으며 고속인 무선 연결을 제공하기 위해 IEEE 802.11(a,b,g, 기타)이라고 하는 무선 기술을 사용한다. 컴퓨터를 서로에, 인터넷에 및 유선 네트워크(IEEE 802.3 또는 이더넷을 사용함)에 연결시키기 위해 Wi-Fi가 사용될 수 있다. Wi-Fi 네트워크는 비인가2.4 및 5 GHz 무선 대역에서, 예를 들어, 11Mbps(802.11a) 또는 54 Mbps(802.11b) 데이터 레이트로 동작하거나, 양 대역(듀얼 대역)을 포함하는 제품에서 동작할 수 있다.
본 발명의 기술 분야에서 통상의 지식을 가진 자는 정보 및 신호들이 임의의 다양한 상이한 기술들 및 기법들을 이용하여 표현될 수 있다는 것을 이해할 것이다. 예를 들어, 위의 설명에서 참조될 수 있는 데이터, 지시들, 명령들, 정보, 신호들, 비트들, 심볼들 및 칩들은 전압들, 전류들, 전자기파들, 자기장들 또는 입자들, 광학장들또는 입자들, 또는 이들의 임의의 결합에 의해 표현될 수 있다.
본 발명의 기술 분야에서 통상의 지식을 가진 자는 여기에 개시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 프로세서들, 수단들, 회로들 및 알고리즘 단계들이 전자 하드웨어, (편의를 위해, 여기에 서 "소프트웨어"로 지칭되는) 다양한 형태들의 프로그램 또는 설계 코드 또는 이들 모두의 결합에 의해 구현될 수 있다는 것을 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 상호 호환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 이들의 기능과 관련하여 위에서 일반적으로 설명되었다. 이러한 기능이 하드웨어 또는 소프트웨어로서 구현되는지 여부는 특정한 애플리케이션 및 전체 시스템에 대하여 부과되는 설계 제약들에 따라 좌우된다. 본 발명의 기술 분야에서 통상의 지식을 가진 자는 각각의 특정한 애플리케이션에 대하여 다양한 방식들로 설명된 기능을 구현할 수 있으나, 이러한 구현 결정들은 본 발명의 범위를 벗어나는 것으로 해석되어서는 안 될 것이다.
여기서 제시된 다양한 실시예들은 방법, 장치, 또는 표준 프로그래밍 및/또는 엔지니어링 기술을 사용한 제조물품(article)으로 구현될 수 있다. 용어 "제조 물품"은 임의의 컴퓨터-판독가능 장치로부터 액세스 가능한 컴퓨터 프로그램, 캐리어, 또는 매체(media)를 포함한다. 예를 들어, 컴퓨터-판독가능 매체는 자기 저장 장치(예를 들면, 하드 디스크, 플로피 디스크, 자기 스트립, 등), 광학 디스크(예를 들면, CD, DVD, 등), 스마트 카드,및 플래쉬 메모리 장치(예를 들면, EEPROM, 카드, 스틱, 키 드라이브, 등)를 포함하지만, 이들로 제한되는 것은 아니다. 또한, 여기서 제시되는 다양한 저장 매체는 정보를 저장하기 위한 하나 이상의 장치 및/또는 다른 기계-판독가능한 매체를 포함한다. 용어 "기계-판독가능 매체"는 명령(들) 및/또는 데이터를 저장, 보유, 및/또는 전달할 수 있는 무선 채널 및 다양한 다른 매체를 포함하지만, 이들로 제한되는 것은 아니다.
제시된 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조는 예시적인 접근들의 일례임을 이해하도록 한다. 설계 우선순위들에 기반하여, 본 발명의 범위 내에서 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조가 재배열될 수 있다는 것을 이해하도록 한다. 첨부된 방법 청구항들은 샘플 순서로 다양한 단계들의 엘리먼트들을 제공하지만 제시된 특정한 순서 또는 계층 구조에 한정되는 것을 의미하지는 않는다.
제시된 실시예들에 대한 설명은 임의의 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 발명의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 발명의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 발명은 여기에 제시된 실시예들로 한정되는 것이 아니라, 여기에 제시 된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.

Claims (1)

  1. 하나 이상의 프로세서 및 상기 프로세서에서 수행 가능한 명령들을 저장하는 메인 메모리를 포함하는 컴퓨팅 장치에서 수행되는 동영상 압축방법으로서,
    동영상의 압축대상 프레임이 독립적으로 인코딩된 프레임인지 여부를 판별하는 프레임타입판별단계; 및
    상기 압축대상 프레임이 독립적으로 인코딩된 프레임인 경우와 상기 압축대상 프레임이 독립적으로 인코딩된 프레임이 아닌 경우를 구분하여 압축프레임을 생성하는 프레임압축단계;를 포함하는, 동영상 압축방법.
KR1020180155382A 2018-12-05 2018-12-05 동영상 압축방법, 장치 및 이에 대한 컴퓨터 프로그램 KR20180134799A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180155382A KR20180134799A (ko) 2018-12-05 2018-12-05 동영상 압축방법, 장치 및 이에 대한 컴퓨터 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180155382A KR20180134799A (ko) 2018-12-05 2018-12-05 동영상 압축방법, 장치 및 이에 대한 컴퓨터 프로그램

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020160074366A Division KR101930389B1 (ko) 2016-06-15 2016-06-15 동영상 압축방법, 장치 및 이에 대한 컴퓨터 프로그램

Publications (1)

Publication Number Publication Date
KR20180134799A true KR20180134799A (ko) 2018-12-19

Family

ID=65009177

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180155382A KR20180134799A (ko) 2018-12-05 2018-12-05 동영상 압축방법, 장치 및 이에 대한 컴퓨터 프로그램

Country Status (1)

Country Link
KR (1) KR20180134799A (ko)

Similar Documents

Publication Publication Date Title
CN113557745B (zh) 点云几何结构填充
JP4918099B2 (ja) 係数再整列を適用するエンコード方法および装置
JP5606591B2 (ja) ビデオ圧縮方法
US20070103484A1 (en) Video to animation conversion with file size constraint
JP2019524007A (ja) 動画圧縮方法及び装置、並びにこれに対するコンピュータプログラム
US20110150352A1 (en) Variable length coding for clustered transform coefficients in video compression
JPH05292462A (ja) 映像圧縮符号化及び復号化方法とその装置
JP2012239085A (ja) 画像処理装置、画像処理方法
JPH05227525A (ja) 画像符号化装置
KR101847459B1 (ko) 이미지 변환장치 및 방법
EP1113395A2 (en) Method and apparatus for hierarchical image coding
KR101930389B1 (ko) 동영상 압축방법, 장치 및 이에 대한 컴퓨터 프로그램
KR20230075426A (ko) 포인트 클라우드 인코딩 및 디코딩 방법과 시스템 및 포인트 클라우드 인코더와 포인트 클라우드 디코더
JP4776505B2 (ja) 画像符号化装置、画像復号装置及び画像処理プログラム
US10630991B2 (en) Image difference detection device, method for detecting image difference, and computer program
CN103517074B (zh) 图像编码设备及其控制方法
JP2004523178A (ja) 映像を符号化ビットストリームに処理する方法
KR20180134799A (ko) 동영상 압축방법, 장치 및 이에 대한 컴퓨터 프로그램
JP2018515853A (ja) 自己相似性アップサンプリングを実行するシステム及び方法
US10291911B2 (en) Classes of tables for use in image compression
US7627198B2 (en) Information signal processing device and processing method, codebook generating device and generating method, and program for executing the methods
US7269341B2 (en) Adaptive digital video recorder and method of controlling the same
KR102037951B1 (ko) 파일 형식에 기반한 이미지 처리 장치 및 방법
US20110103705A1 (en) Image encoding method and apparatus, and image decoding method and apparatus
CN113191210A (zh) 一种图像处理方法、装置及设备

Legal Events

Date Code Title Description
A107 Divisional application of patent