KR101930389B1 - Video File Compression Method, Device and Computer Program Thereof - Google Patents
Video File Compression Method, Device and Computer Program Thereof Download PDFInfo
- Publication number
- KR101930389B1 KR101930389B1 KR1020160074366A KR20160074366A KR101930389B1 KR 101930389 B1 KR101930389 B1 KR 101930389B1 KR 1020160074366 A KR1020160074366 A KR 1020160074366A KR 20160074366 A KR20160074366 A KR 20160074366A KR 101930389 B1 KR101930389 B1 KR 101930389B1
- Authority
- KR
- South Korea
- Prior art keywords
- frame
- image
- compressed
- compression
- complexity
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/174—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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
본 발명은 동영상 압축방법, 장치 및 이에 대한 컴퓨터 프로그램에 대한 것으로서, 더욱 상세하게는 동영상의 코덱에 관계없이 원본 동영상에 대해 화질의 열화를 최소화하면서, 코덱을 그대로 유지하고, 압축률이 높은 압축된 동영상을 제공할 수 있는 동영상 압축방법, 장치 및 이에 대한 컴퓨터 프로그램에 관한 것이다.The present invention relates to a moving image compression method, apparatus, and computer program for the same, and more particularly to a moving image compression method, apparatus, and computer program for the same which minimizes deterioration of image quality with respect to an original moving picture regardless of a codec of the moving image, And a computer program for the same.
Description
본 발명은 동영상 압축방법, 장치 및 이에 대한 컴퓨터 프로그램에 대한 것으로서, 더욱 상세하게는 동영상의 코덱에 관계없이 원본 동영상에 대해 화질의 열화를 최소화하면서, 코덱을 그대로 유지하고, 압축률이 높은 압축된 동영상을 제공할 수 있는 동영상 압축방법, 장치 및 이에 대한 컴퓨터 프로그램에 관한 것이다.The present invention relates to a moving image compression method, apparatus, and computer program for the same, and more particularly to a moving image compression method, apparatus, and computer program for the same which minimizes deterioration of image quality with respect to an original moving picture regardless of a codec of the moving image, And a computer program for the same.
현대는 컴퓨터와 컴퓨터 네트워크로 인해 컴퓨터와 컴퓨터 간에 그리고 컴퓨터와 저장장치 간에 엄청난 양의 정보가 전달되고 있다. 로컬 하드 드라이브나 로컬 플로피 드라이브와 같은 로컬 저장장치에 컴퓨터가 액세스되면, 엄청난 양의 데이터가 빠르게 액세스된다. 그러나, 광역통신망(WAN; Wide Area Network), 인터넷, 또는 무선 통신 채널(셀룰러 폰 네트워크 등)을 통한 원격 저장 위치로부터 데이터를 액세스할 때에는, 데이터 전달 속도는 현저하게 떨어진다. 그러므로, 용량이 큰 파일을 전달하는 것은 엄청난 시간이 걸린다. 게다가, 용량이 큰 파일을 저장한다는 것은 값비싸고 한정된 저장 공간을 필요로 한다. 일반적으로 동영상은 동영상을 구성하는 프레임의 이미지 내의 화소(pixel) 각각에 대한 정보를 필요로 하기 때문에, 용량이 큰 파일들로 간주된다. In modern times, computer and computer networks are bringing massive amounts of information between computers and computers, and between computers and storage devices. When a computer is accessed by a local storage device such as a local hard drive or a local floppy drive, a huge amount of data is accessed quickly. However, when accessing data from a remote storage location over a wide area network (WAN), the Internet, or a wireless communication channel (such as a cellular phone network), the data transfer rate is significantly reduced. Therefore, it takes a lot of time to deliver large files. In addition, storing large files requires expensive and limited storage space. Generally, a moving image is regarded as large-capacity files because it requires information about each pixel in an image of a frame constituting a moving image.
따라서, 일반적인 동영상 파일은 수십MByte 이상의 저장 공간이 필요하고, 전송률이 낮은 통신망을 통할 경우 상당한 전송 시간을 필요로 한다. 따라서, 최근 몇 년간 동영상을 저장하기에 필요로 하는 저장 공간의 양의 줄이고 전송 시간을 주이기 위해서 이미지를 압축하는 많은 프로토콜(protocol)과 표준이 개발되어 왔다.Therefore, a typical moving picture file requires storage space of several tens of MBytes or more, and a considerable transmission time is required through a communication network having a low data rate. Thus, in recent years, a number of protocols and standards have been developed that compress images to reduce the amount of storage space required to store the video and to give the transmission time.
통상적으로, 이미지 압축 기법은 손실 압축 기법(lossy compression method)과 비손실 압축 기법(lossless compression method)로 나누어지며, 이러한 압축 기법은 공간적, 시간적, 확률적 중복성들을 제거함으로써 이미지를 압축한다. 특히, 손실 압축 기법(lossy compression method)은 어느 정도 원본 데이터가 손실되어 열화가 발생지만, 비손실 압축 방법(lossless compression method)은 원본 이미지를 디코딩 후 정확하게 재생할 수 있다. Generally, an image compression technique is divided into a lossy compression method and a lossless compression method. This compression technique compresses an image by eliminating spatial, temporal, and stochastic redundancies. Particularly, although the lossy compression method causes deterioration due to loss of original data to some extent, the lossless compression method can accurately reproduce the original image after decoding.
본 발명의 목적은 동영상의 코덱에 관계없이 원본 동영상에 대해 화질의 열화를 최소화하면서, 코덱을 그대로 유지하고, 압축률이 높은 압축된 동영상을 제공할 수 있는 동영상 압축방법, 장치 및 이에 대한 컴퓨터 프로그램을 제공하는 것이다.It is an object of the present invention to provide a moving image compression method and apparatus capable of maintaining a codec as it is and providing a compressed moving image with a high compression ratio while minimizing image quality deterioration with respect to an original moving image regardless of a codec of the moving image, .
상기와 같은 과제를 해결하기 위하여 본 발명은,According to an aspect of the present invention,
하나 이상의 프로세서 및 상기 프로세서에서 수행 가능한 명령들을 저장하는 메인 메모리를 포함하는 컴퓨팅 장치에서 수행되는 동영상 압축방법으로서, 동영상의 압축대상 프레임이 독립적으로 인코딩된 프레임인지 여부를 판별하는 프레임타입판별단계; 및 상기 압축대상 프레임이 독립적으로 인코딩된 프레임인 경우와 상기 압축대상 프레임이 독립적으로 인코딩된 프레임이 아닌 경우를 구분하여 압축프레임을 생성하는 프레임압축단계;를 포함하는, 동영상 압축방법을 제공한다.1. A moving image compression method performed in a computing device including at least one processor and a main memory that stores instructions executable by the processor, the method comprising: a frame type determination step of determining whether a compression target frame of the moving image is an independently encoded frame; And a frame compression step of generating a compressed frame by distinguishing a case where the compression object frame is an independently encoded frame and a case where the compression object frame is not an independently encoded one.
본 발명에서는, 상기 프레임압축단계는, 상기 압축대상 프레임의 처리대상이미지영역을 설정하는 처리대상이미지영역설정단계; 및 상기 처리대상이미지영역의 일부 혹은 전체가 변환된 압축프레임을 생성하는 압축프레임생성단계;를 포함하고, 상기 처리대상이미지영역설정단계는 상기 압축대상 프레임이 독립적으로 인코딩된 프레임인 경우에는 상기 압축대상 프레임의 전체를 상기 처리대상이미지영역으로 설정하고, 상기 압축대상 프레임이 독립적으로 인코딩된 프레임이 아닌 경우에는 상기 압축대상 프레임의 일부를 상기 처리대상이미지영역으로 설정할 수 있다.In the present invention, the frame compressing step includes a process target image area setting step of setting a process target image area of the compression target frame; And a compressed frame generation step of generating a compressed frame in which a part or the whole of the image area to be processed is transformed, wherein, in the case where the compression object frame is an independently encoded frame, The entirety of the target frame is set as the process target image area, and if the compression target frame is not an independently encoded frame, a part of the compression target frame may be set as the process target image area.
본 발명에서는, 상기 처리대상이미지영역설정단계는 기설정된 기준에 따라 상기 압축대상 프레임을 복수의 이미지블록으로 구분하고, 상기 압축대상 프레임이 독립적으로 인코딩된 프레임이 아닌 경우에는, 상기 압축대상 프레임의 상기 복수의 이미지블록 중 일부의 이미지블록을 상기 처리대상이미지영역으로 설정할 수 있다.In the present invention, the processing target image region setting step may include dividing the compression target frame into a plurality of image blocks according to a predetermined criterion, and when the compression target frame is not an independently encoded frame, And may set an image block of a part of the plurality of image blocks as the image area to be processed.
본 발명에서는, 상기 처리대상이미지영역설정단계는 상기 압축대상 프레임이 독립적으로 인코딩된 프레임이 아닌 경우에는, 상기 압축대상 프레임의 이전 프레임, 이후 프레임, 및 복수의 이전 프레임이 누적된 프레임 중 1 이상과 비교하여 상기 압축대상 프레임의 부분 중 변화가 있는 부분을 상기 처리대상이미지영역으로 설정할 수 있다.In the present invention, in the case where the compression target frame is not an independently encoded frame, the process of setting the image area to be processed may include setting at least one of a previous frame, a subsequent frame, A portion having a change in the portion of the compression target frame can be set as the processing target image region.
본 발명에서는, 상기 압축프레임생성단계는 제1 압축프레임생성단계를 포함하고, 상기 제1 압축프레임생성단계는, 상기 처리대상이미지영역을 구성하는 복수의 세부영역에 대하여 이미지의 복잡도를 산출하는 이미지복잡도산출단계; 상기 세부영역의 상기 복잡도가 기설정된 기준 이하인지 여부를 판단하는 이미지복잡도판별단계; 및 상기 세부영역의 복잡도가 기설정된 기준 이하인 경우에 상기 세부영역에 대하여 제1 이미지처리를 수행하는 복잡도기준이미지처리단계;를 포함하고, 상기 복잡도기준이미지처리단계가 수행된 상기 처리대상이미지영역을 포함하는 프레임으로부터 상기 압축프레임을 생성할 수 있다.In the present invention, the compressed frame generation step includes a first compressed frame generation step, wherein the first compressed frame generation step includes a step of generating an image for calculating an image complexity with respect to a plurality of sub- Calculating a complexity; An image complexity determination step of determining whether the complexity of the detail area is less than a preset reference value; And a complexity-based image processing step of performing a first image processing on the detailed area when the complexity of the detailed area is less than a predetermined reference, wherein the step of processing the complexity- The compressed frame can be generated from the frame containing the compressed frame.
본 발명에서는, 상기 제1 압축프레임생성단계는, 상기 복잡도기준이미지처리단계가 수행된 상기 처리대상이미지영역을 포함하는 프레임에 대해 손실압축을 수행한 프레임으로부터 상기 압축프레임을 생성할 수 있다.In the present invention, the first compressed frame generation step may generate the compressed frame from a frame in which lossy compression is performed on a frame including the processing target image area in which the complexity-based image processing step has been performed.
본 발명에서는, 상기 제1 이미지처리는 Blur처리일 수 있다.In the present invention, the first image processing may be Blur processing.
본 발명에서는, 상기 압축프레임생성단계는 제2 압축프레임생성단계를 포함하고, 상기 제2 압축프레임생성단계는, 상기 처리대상이미지영역에 대하여 제2 이미지처리를 수행하여 제1 예비프레임을 생성하는 전체이미지처리단계; 및 상기 제1 예비프레임에 대하여 상기 압축대상 프레임의 원본의 이미지 데이터 중 이미지의 Edge부분을 결합하여 제2 예비프레임을 생성하는 Edge결합처리단계;를 포함하고, 상기 제2 예비프레임으로부터 상기 압축프레임을 생성할 수 있다.In the present invention, the compressed frame generation step includes a second compressed frame generation step, and the second compressed frame generation step generates a first spare frame by performing a second image processing on the image area to be processed A whole image processing step; And an Edge combining step of generating a second preliminary frame by combining an edge part of an image of the original image data of the compression target frame with respect to the first preliminary frame, Can be generated.
본 발명에서는, 상기 제2 예비프레임에 대해 손실압축이 수행된 프레임으로부터 상기 압축프레임을 생성할 수 있다.In the present invention, the compressed frame can be generated from a frame in which lossy compression is performed on the second spare frame.
본 발명에서는, 상기 제2 이미지처리는 Blur처리일 수 있다.In the present invention, the second image processing may be Blur processing.
본 발명에서는, 상기 압축프레임생성단계는, 제1 압축프레임을 생성하는 제1 압축프레임생성단계; 상기 제1 압축프레임생성단계와는 상이한 방법으로 제2 압축프레임을 생성하는 제2 압축프레임생성단계; 및 상기 제1 압축프레임 및 상기 제2 압축프레임을 포함하는 후보프레임그룹 중 하나의 프레임을 상기 압축프레임으로 하는 압축프레임선택단계;를 포함할 수 있다.In the present invention, the compressed frame generation step may include: a first compressed frame generation step of generating a first compressed frame; A second compressed frame generation step of generating a second compressed frame in a manner different from the first compressed frame generation step; And a compressed frame selecting step of selecting one of the first and second compressed frame groups as the compressed frame.
본 발명에서는, 상기 제1 압축프레임생성단계는, 상기 처리대상이미지영역을 구성하는 복수의 세부영역에 대하여 이미지의 복잡도를 산출하는 이미지복잡도산출단계; 상기 세부영역의 상기 복잡도가 기설정된 기준 이하인지 여부를 판단하는 이미지복잡도판별단계; 및 상기 세부영역의 복잡도가 기설정된 기준 이하인 경우에 상기 세부영역에 대하여 제1 이미지처리를 수행하는 복잡도기준이미지처리단계;를 포함하고, 상기 복잡도기준이미지처리단계가 수행된 상기 처리대상이미지영역을 포함하는 프레임으로부터 상기 제1 압축프레임을 생성할 수 있다.In the present invention, the first compressed frame generation step may include: an image complexity calculation step of calculating an image complexity with respect to a plurality of sub-areas constituting the image area to be processed; An image complexity determination step of determining whether the complexity of the detail area is less than a preset reference value; And a complexity-based image processing step of performing a first image processing on the detailed area when the complexity of the detailed area is less than a predetermined reference, wherein the step of processing the complexity- The first compressed frame may be generated from the frame containing the first compressed frame.
본 발명에서는, 상기 제2 압축프레임생성단계는, 상기 처리대상이미지영역에 대하여 제2 이미지처리를 수행하여 제1 예비프레임을 생성하는 전체이미지처리단계; 상기 제1 예비프레임에 대하여 상기 압축대상 프레임의 원본의 이미지 데이터 중 이미지의 Edge부분을 결합하여 제2 예비프레임을 생성하는 Edge결합처리단계;를 포함하고, 상기 제2 예비프레임으로부터 상기 제2 압축프레임을 생성할 수 있다.In the present invention, the second compressed frame generation step may include: a whole image processing step of performing a second image processing on the image area to be processed to generate a first spare frame; And an Edge combining step of generating a second preliminary frame by combining an edge part of an image of the original image data of the compression target frame with respect to the first preliminary frame, Frame can be generated.
본 발명에서는, 상기 제1 압축프레임생성단계는, 상기 처리대상이미지영역을 구성하는 복수의 세부영역에 대하여 이미지의 복잡도를 산출하는 이미지복잡도산출단계; 상기 세부영역의 상기 복잡도가 기설정된 기준 이하인지 여부를 판단하는 이미지복잡도판별단계; 및 상기 세부영역의 복잡도가 기설정된 기준 이하인 경우에 상기 세부영역에 대하여 제1 이미지처리를 수행하는 복잡도기준이미지처리단계;를 포함하고, 상기 복잡도기준이미지처리단계가 수행된 상기 처리대상이미지영역을 포함하는 프레임으로부터 상기 제1 압축프레임을 생성하고, 상기 제2 압축프레임생성단계는, 상기 처리대상이미지영역에 대하여 제2 이미지처리를 수행하여 제1 예비프레임을 생성하는 전체이미지처리단계; 상기 제1 예비프레임에 대하여 상기 압축대상 프레임의 원본의 이미지 데이터 중 이미지의 Edge부분을 결합하여 제2 예비프레임을 생성하는 Edge결합처리단계;를 포함하고, 상기 제2 예비프레임으로부터 상기 제2 압축프레임을 생성할 수 있다.In the present invention, the first compressed frame generation step may include: an image complexity calculation step of calculating an image complexity with respect to a plurality of sub-areas constituting the image area to be processed; An image complexity determination step of determining whether the complexity of the detail area is less than a preset reference value; And a complexity-based image processing step of performing a first image processing on the detailed area when the complexity of the detailed area is less than a predetermined reference, wherein the step of processing the complexity- Generating the first compressed frame from the frame including the first image frame, and the second compressed frame generating step includes: a whole image processing step of performing a second image processing on the image area to be processed to generate a first spare frame; And an Edge combining step of generating a second preliminary frame by combining an edge part of an image of the original image data of the compression target frame with respect to the first preliminary frame, Frame can be generated.
상기와 같은 과제를 해결하기 위하여, 본 발명은 하나 이상의 프로세서에 의해 실행되는 복수의 명령들을 포함하는, 컴퓨터-판독가능 매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은, 동영상의 압축대상 프레임이 독립적으로 인코딩된 프레임인지 여부를 판별하는 프레임타입판별명령; 및 상기 압축대상 프레임이 독립적으로 인코딩된 프레임인 경우와 상기 압축대상 프레임이 독립적으로 인코딩된 프레임이 아닌 경우를 구분하여 압축프레임을 생성하는 프레임압축명령;를 포함하는, 컴퓨터 프로그램을 제공한다.According to an aspect of the present invention, there is provided a computer program stored in a computer-readable medium including a plurality of instructions executed by one or more processors, the computer program comprising: A frame type determination command for determining whether the frame is an encoded frame; And a frame compression instruction to generate a compressed frame by distinguishing a case where the compression object frame is an independently encoded frame and a case where the compression object frame is not an independently encoded one.
본 발명에서는, 상기 프레임압축명령은, 상기 압축대상 프레임의 처리대상이미지영역을 설정하는 처리대상이미지영역설정 명령; 및 상기 처리대상이미지영역의 일부 혹은 전체가 변환된 압축프레임을 생성하는 압축프레임생성명령;을 포함하고, 상기 처리대상이미지영역설정 명령은 상기 압축대상 프레임이 독립적으로 인코딩된 프레임인 경우에는 상기 압축대상 프레임의 전체를 상기 처리대상이미지영역으로 설정하고, 상기 압축대상 프레임이 독립적으로 인코딩된 프레임이 아닌 경우에는 상기 압축대상 프레임의 일부를 상기 처리대상이미지영역으로 설정할 수 있다.In the present invention, the frame compression command may include: a processing target image area setting command for setting a processing target image area of the compression target frame; And a compressed frame generation command for generating a compressed frame in which a part or the whole of the image area to be processed is transformed, wherein the processing target image area setting command includes: The entirety of the target frame is set as the process target image area, and if the compression target frame is not an independently encoded frame, a part of the compression target frame may be set as the process target image area.
본 발명에서는, 상기 처리대상이미지영역설정명령은 기설정된 기준에 따라 상기 압축대상 프레임을 복수의 이미지블록으로 구분하고, 상기 압축대상 프레임이 독립적으로 인코딩된 프레임이 아닌 경우에는, 상기 압축대상 프레임의 상기 복수의 이미지블록 중 일부의 이미지블록을 상기 처리대상이미지영역으로 설정할 수 있다.In the present invention, the processing target image area setting command divides the compression target frame into a plurality of image blocks according to a preset reference, and when the compression target frame is not a frame that is independently encoded, And may set an image block of a part of the plurality of image blocks as the image area to be processed.
본 발명에서는, 상기 처리대상이미지영역설정명령은 상기 압축대상 프레임이 독립적으로 인코딩된 프레임이 아닌 경우에는, 상기 압축대상 프레임의 이전 프레임, 이후 프레임, 및 복수의 이전 프레임이 누적된 프레임 중 1 이상과 비교하여 상기 압축대상 프레임의 부분 중 변화가 있는 부분을 상기 처리대상이미지영역으로 설정할 수 있다.In the present invention, when the compression target frame is not a frame in which the compression target frame is not an independently encoded frame, the processing target image area setting command may include at least one of a previous frame, a subsequent frame, A portion having a change in the portion of the compression target frame can be set as the processing target image region.
본 발명에서는, 상기 압축프레임생성명령은 제1 압축프레임생성명령을 포함하고, 상기 제1 압축프레임생성단계는, 상기 처리대상이미지영역을 구성하는 복수의 세부영역에 대하여 이미지의 복잡도를 산출하는 이미지복잡도산출명령; 상기 세부영역의 상기 복잡도가 기설정된 기준 이하인지 여부를 판단하는 이미지복잡도판별명령; 및 상기 세부영역의 복잡도가 기설정된 기준 이하인 경우에 상기 세부영역에 대하여 제1 이미지처리를 수행하는 복잡도기준이미지처리명령;을 포함하고, 상기 복잡도기준이미지처리단계가 수행된 상기 처리대상이미지영역을 포함하는 프레임으로부터 상기 압축프레임을 생성할 수 있다.In the present invention, the compressed frame generation command includes a first compressed frame generation command, and the first compressed frame generation step includes a step of generating an image for calculating an image complexity with respect to a plurality of sub- Complexity calculation command; An image complexity determining command for determining whether the complexity of the detail area is less than a preset reference; And a complexity reference image processing instruction for performing a first image processing on the detail area when the complexity of the detail area is less than or equal to a preset reference, The compressed frame can be generated from the frame containing the compressed frame.
본 발명에서는, 상기 압축프레임생성명령은 제2 압축프레임생성명령을 포함하고, 상기 제2 압축프레임생성명령은, 상기 처리대상이미지영역에 대하여 제2 이미지처리를 수행하여 제1 예비프레임을 생성하는 전체이미지처리명령; 및 상기 제1 예비프레임에 대하여 상기 압축대상 프레임의 원본의 이미지 데이터 중 이미지의 Edge부분을 결합하여 제2 예비프레임을 생성하는 Edge결합처리명령;을 포함하고, 상기 제2 예비프레임으로부터 상기 압축프레임을 생성할 수 있다.In the present invention, the compressed frame generation command includes a second compressed frame generation command, and the second compressed frame generation command generates a first spare frame by performing a second image processing on the processing target image area Full image processing instruction; And an edge combination processing instruction for generating a second preliminary frame by combining an edge portion of an image of the original image data of the compression target frame with respect to the first preliminary frame, Can be generated.
본 발명에서는, 상기 압축프레임생성명령은, 제1 압축프레임을 생성하는 제1 압축프레임생성명령; 상기 제1 압축프레임생성명령과는 상이한 방법으로 제2 압축프레임을 생성하는 제2 압축프레임생성명령; 및 상기 제1 압축프레임 및 상기 제2 압축프레임을 포함하는 후보프레임그룹 중 하나의 프레임을 상기 압축프레임으로 하는 압축프레임선택명령;를 포함할 수 있다.In the present invention, the compressed frame generation command may include: a first compressed frame generation command for generating a first compressed frame; A second compressed frame generation command for generating a second compressed frame in a manner different from the first compressed frame generation command; And a compressed frame selection instruction for causing the compressed frame to be one of the first frame group and the second frame group including the first compressed frame and the second compressed frame.
본 발명의 일 실시예에 따르면, 원본 동영상의 해상도를 그대로 유지하면서 화질의 열화가 최소화된 동영상으로 압축할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, an effect of compressing a moving image with minimized deterioration of image quality while maintaining the resolution of the original moving image can be exhibited.
본 발명의 일 실시예에 따르면, 동영상의 코덱에 관계없이 원본 동영상에 대해 화질의 열화를 최소화하면서, 코덱을 그대로 유지하고, 압축률이 높은 압축된 동영상을 제공할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, it is possible to maintain the codec as it is while minimizing deterioration of picture quality with respect to the original moving picture, regardless of the codec of the moving picture, and to provide a compressed moving picture with a high compression rate.
본 발명의 일 실시예에 따르면 동영상에 대하여 전처리 과정을 거치기 때문에 기존의 인코더를 그대로 사용하면서 동영상 압축을 수행할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, a preprocessing process is performed on a moving image, so that it is possible to perform a moving image compression while using an existing encoder as it is.
본 발명의 일 실시예에 따르면 H.264의 DCT(Discrete Cosine Transform) 변환, 차세대 비디오 코덱으로 각광받고 있는 H.265에서 사용되는 Wavelet 변환 및 손실 비디오 코덱(Lossy Video Codec)에는 모두 동영상을 압축할 수 있는 효과를 발휘할 수 있다. According to an embodiment of the present invention, the Wavelet transform and the Lossy Video Codec used in H.265, which is a discrete cosine transform (H.264) transform and a next generation video codec, The effect can be achieved.
도 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는 본 발명의 실시예들이 구현될 수 있는 예시적인 컴퓨팅 환경에 대한 간략하고 일반적인 개략도를 도시한다.1 is a schematic view illustrating an internal structure of a moving picture compression apparatus according to an embodiment of the present invention.
Fig. 2 is a view schematically showing examples of frames of moving pictures.
3 is a diagram schematically illustrating examples of image blocks according to an embodiment of the present invention.
4 is a diagram schematically showing an example of a plurality of frames for explaining the operation of the change block determination unit according to an embodiment of the present invention.
FIG. 5 is a diagram schematically illustrating an internal structure of a first frame converter according to an embodiment of the present invention. Referring to FIG.
6 is a diagram schematically illustrating an internal structure of a complexity determination unit according to an embodiment of the present invention.
7 is a diagram schematically showing an example of a transform frame to be transformed according to the first frame transform unit according to an embodiment of the present invention.
8 is a diagram schematically illustrating an internal structure of a second frame conversion unit according to an embodiment of the present invention.
9 is a diagram schematically showing an example of a transform frame to be transformed according to a second frame transform unit according to an embodiment of the present invention.
FIG. 10 is a view schematically showing detailed steps of a moving image compression method according to an embodiment of the present invention.
11 is a view schematically showing detailed steps of a frame compression step according to an embodiment of the present invention.
12 is a diagram schematically illustrating embodiments of a compressed frame generation step according to an embodiment of the present invention.
13 is a diagram schematically illustrating a detailed step of a first compressed frame generation step according to an embodiment of the present invention.
FIG. 14 is a view schematically showing sub-steps of a second compressed frame generation step according to an embodiment of the present invention.
FIG. 15 is a view schematically showing detailed steps of a moving image compression method according to an embodiment of the present invention.
FIG. 16 is a view schematically showing a step of setting an image block to be processed according to an embodiment of the present invention.
17 is a diagram schematically showing detailed steps of a first frame conversion method according to an embodiment of the present invention.
18 is a view schematically showing the detailed steps of a second frame conversion method according to an embodiment of the present invention.
Figure 19 illustrates a brief, general schematic diagram of an exemplary computing environment in which embodiments of the invention may be implemented.
다양한 실시예들이 이제 도면을 참조하여 설명되며, 전체 도면에서 걸쳐 유사한 도면번호는 유사한 구성요소를 나타내기 위해서 사용된다. 본 명세서에서, 다양한 설명들이 본 발명의 이해를 제공하기 위해서 제시된다. 그러나 이러한 실시예들은 이러한 구체적인 설명 없이도 실행될 수 있음이 명백하다. 다른 예들에서, 공지된 구조 및 장치들은 실시예들의 설명을 용이하게 하기 위해서 블록 다이어그램 형태로 제공된다.Various embodiments are now described with reference to the drawings, wherein like reference numerals are used throughout the drawings to refer to like elements. In this specification, various explanations are given in order to provide an understanding of the present invention. It will be apparent, however, that such embodiments may be practiced without these specific details. In other instances, well-known structures and devices are provided in block diagram form in order to facilitate describing the embodiments.
본 명세서에서 사용되는 용어 "컴포넌트", "모듈", "시스템", “~부” 등은 컴퓨터-관련 엔티티, 하드웨어, 펌웨어, 소프트웨어, 소프트웨어 및 하드웨어의 조합, 또는 소프트웨어의 실행을 지칭한다. 예를 들어, 컴포넌트는 프로세서상에서 실행되는 처리과정, 프로세서, 객체, 실행 스레드, 프로그램, 및/또는 컴퓨터일 수 있지만, 이들로 제한되는 것은 아니다. 예를 들어, 컴퓨팅 장치에서 실행되는 애플리케이션 및 컴퓨팅 장치 모두 컴포넌트일 수 있다. 하나 이상의 컴포넌트는 프로세서 및/또는 실행 스레드 내에 상주할 수 있고, 일 컴포넌트는 하나의 컴퓨터The terms "component," " module, "" system, " " and the like, used herein, refer to a computer-related entity, hardware, firmware, software, combination of software and hardware, For example, a component may be, but is not limited to, a process executing on a processor, a processor, an object, an executing thread, a program, and / or a computer. For example, both an application running on a computing device and a computing device may be a component. One or more components may reside within a processor and / or thread of execution,
내에 로컬화될 수 있고, 또는 2개 이상의 컴퓨터들 사이에 분배될 수 있다. Or may be distributed among two or more computers.
본 명세서에서 사용되는 "실시예", "예", "양상", "예시" 등은 기술되는 임의의 양상 또는 설계가 다른 양상 또는 설계들보다 양호하다거나, 이점이 있는 것으로 해석되지 않을 수도 있다. As used herein, the terms "an embodiment," "an embodiment," " an embodiment, "" an embodiment ", etc. are intended to indicate that any aspect or design described is better or worse than other aspects or designs. .
더불어, 용어 "또는"은 배타적 "또는"이 아니라 내포적 "또는"을 의미하는 것으로 의도된다. 즉, 달리 특정되지 않거나 문맥상 명확하지 않은 경우에, "X는 A 또는 B를 이용한다"는 자연적인 내포적 치환 중 하나를 의미하는 것으로 의도된다. 즉, X가 A를 이용하거나; X가 B를 이용하거나; 또는 X가 A 및 B 모두를 이용하는 경우, "X는A 또는 B를 이용한다"가 이들 경우들 어느 것으로도 적용될 수 있다. 또한, 본 명세서에 사용된 "및/또는"이라는 용어는 열거된 관련 아이템들 중 하나 이상의 아이템의 가능한 모든 조합을 지칭하고 포함하는 것으로 이해되어야 한다. In addition, the term "or" is intended to mean " exclusive or " That is, it is intended to mean one of the natural inclusive substitutions "X uses A or B ", unless otherwise specified or unclear in context. That is, X uses A; X uses B; Or when X uses both A and B, "X uses A or B" can be applied to either of these cases. It should also be understood that the term "and / or" as used herein refers to and includes all possible combinations of one or more of the listed related items.
또한, "포함한다" 및/또는 "포함하는"이라는 용어는, 해당 특징 및/또는 구성요소가 존재함을 의미하지만, 하나이상의 다른 특징, 구성요소 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다.It is also to be understood that the term " comprises "and / or" comprising " means that the feature and / or component is present, but does not exclude the presence or addition of one or more other features, components and / It should be understood that it does not.
또한, 본 명세서에서 명백하게 다른 내용을 지시하지 않는 “한”과, “상기”와 같은 단수 표현들은 복수 표현들을 포함한다는 것이 이해될 수 있을 것이다. 따라서, 일 예로, “컴포넌트 표면(component surface)”은 하나 혹은 그 이상의 컴포넌트 표면들을 포함한다.It is also to be understood that the singular forms "a" and "an" above, which do not expressly state otherwise in this specification, include plural representations. Thus, in one example, a " component surface " includes one or more component surfaces.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Also, terms including ordinal numbers such as first, second, etc. may be used to describe various elements, but the elements are not limited to these terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.
본 명세서 전체에 있어서 “이전”의 프레임이라는 것은 바로 전 프레임뿐만 아니라 해당 프레임 전에 존재하는 복수의 프레임 중 하나를 의미하고, “이후”의 프레임이라는 것은 바로 다음 프레임 뿐만 아니라 해당 프레임 다음에 존재하는 복수의 프레임 중 하나를 의미한다.In the present specification, the " previous " frame means not only the previous frame but also one of a plurality of frames existing before the corresponding frame. The " after " frame means not only the next frame, ≪ / RTI >
또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Also, the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms "comprises" or "having" and the like refer to the presence of stated features, integers, steps, operations, elements, components, or combinations thereof, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.
제시된 실시예들에 대한 설명은 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 발명의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 발명의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 발명은 여기에 제시된 실시예들로 한정되는 것이 아니라, 여기에 제시된 원리 들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.The description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features presented herein.
도 1은 본 발명의 일 실시예에 따른 동영상 압축장치(1000)의 내부 구조를 개략적으로 도시한 도면이다.1 is a schematic view illustrating an internal structure of a moving
도 1에 도시된 동영상 압축장치(1000)는, 동영상의 압축대상 프레임이 독립적으로 인코딩된 프레임인지 여부를 판별하는 프레임타입판별부(100); 기설정된 기준에 따라 상기 압축대상 프레임을 복수의 이미지블록으로 구분하는 블록구분부(200); 상기 압축대상 프레임의 이전 프레임, 이후 프레임, 및 복수의 이전 프레임이 누적된 프레임 중 1 이상과 비교하여 상기 압축대상 프레임의 부분 중 변화가 있는 부분 혹은 이미지블록을 판별하는 변경블록판별부(300); 동영상 압축장치(1000)의 내부 컴포넌트들의 기능을 제어하는 제어부(400); 제1 방법에 따라 압축대상 프레임의 처리대상이미지영역의 일부 혹은 전체가 변환된 제1 변환프레임을 생성하는 제1 프레임변환부(500); 상기 제1 방법과 상이한 제2 방법에 따라 압축대상 프레임의 처리대상이미지영역의 일부 혹은 전체가 변환된 제2 변환프레임을 생성하는 제2 프레임변환부(600); 상기 제1 변환프레임 및 상기 제2 변환프레임 중 1 이상에 대하여 압축을 수행하는 프레임압축부(700); 및 상기 프레임압축부(700)에 의하여 압축된 2 이상의 압축프레임 혹은 상기 변환프레임에 대하여 비교를 수행하여 용량이 적은 프레임을 최종적인 압축프레임으로 설정하는 프레임비교부(800)를 포함한다.The moving picture compression apparatus 1000 shown in FIG. 1 includes a frame type determination unit 100 for determining whether a compression target frame of a moving picture is an independently encoded frame; A block division unit (200) for dividing the compression target frame into a plurality of image blocks according to a preset reference; A change block determination unit (300) that determines a portion or an image block in which a portion of the compression target frame has a change compared with at least one of a previous frame, a subsequent frame, and a plurality of previous frames of the compression target frame, ; A control unit 400 for controlling functions of internal components of the moving picture compression apparatus 1000; A first frame conversion unit (500) for generating a first conversion frame in which a part or all of the image area to be processed of the compression target frame is converted according to the first method; A second frame conversion unit 600 for generating a second conversion frame in which a part or the whole of the image area to be processed of the compression object frame is converted according to a second method different from the first method; A frame compression unit (700) for performing compression on at least one of the first conversion frame and the second conversion frame; And a frame comparing unit 800 for comparing two or more compressed frames or the converted frames compressed by the frame compressing unit 700 to set a frame having a small capacity as a final compressed frame.
상기 프레임타입판별부(100)는 동영상의 압축대상 프레임이 독립적으로 인코딩된 프레임인지 여부를 판별한다. 본 발명의 일 실시예에서는, 상기 압축대상 프레임이 독립적으로 인코딩된 프레임인 경우와 상기 압축대상 프레임이 독립적으로 인코딩된 프레임이 아닌 경우를 구분하여 압축프레임을 생성한다. The frame
구체적으로 상기 프레임타입판별부(100)에 의하여 판별된 프레임의 타입에 따라 압축대상 프레임의 처리대상이미지영역이 상이하게 설정되고, 이와 같은 처리대상이미지영역에 대해 상기 제1 프레임변환부(500) 및 제2 프레임변환부(600)가 이미지 데이터에 대한 처리를 수행하여 압축대상 프레임의 전체 용량을 압축할 수 있다.Specifically, the processing target image region of the compression target frame is set differently according to the type of the frame determined by the frame
도 2는 동영상의 프레임들의 예들을 개략적으로 도시한 도면이다. Fig. 2 is a view schematically showing examples of frames of moving pictures.
일반적인 동영상의 비디오 부분은 I 프레임(도 2에서 “I”로 도시한 프레임), P 프레임(도 2에서 “P”로 도시한 프레임), 및 B 프레임(도 2에서 “B”로 도시한 프레임)으로 구성된다.The video portion of a typical video is divided into an I frame (a frame shown as "I" in FIG. 2), a P frame (a frame shown as "P" in FIG. 2), and a B frame ).
I 프레임은 키 프레임으로써 전체 이미지를 모두 포함하고, 동영상 파일에 있어서 억세스 포인트로 기능할 수 있으며, 독립적으로 인코딩된 프레임에 해당하며 낮은 압축률을 가지고 있다. An I frame is a key frame that includes all of the entire image, can function as an access point in a moving picture file, corresponds to an independently encoded frame, and has a low compression ratio.
한편, P 프레임의 경우, 이전의 I 프레임 혹은 P 프레임을 참조하여 순방향 예측에 의하여 만들어지는 프레임으로서 독립적으로 인코딩된 프레임에 해당하지 않는다. 이와 같은 P 프레임은 I 프레임에 비해 높은 압축률을 가지고 있다.On the other hand, in the case of a P frame, a frame generated by forward prediction referring to a previous I frame or a P frame does not correspond to an independently encoded frame. Such a P frame has a higher compression ratio than an I frame.
본 명세서 전체에 있어서 “이전”의 프레임이라는 것은 바로 전 프레임뿐만 아니라 해당 프레임 전에 존재하는 복수의 프레임 중 하나를 의미하고, “이후”의 프레임이라는 것은 바로 다음 프레임 뿐만 아니라 해당 프레임 다음에 존재하는 복수의 프레임 중 하나를 의미한다.In the present specification, the " previous " frame means not only the previous frame but also one of a plurality of frames existing before the corresponding frame. The " after " frame means not only the next frame, ≪ / RTI >
한편, B 프레임의 경우, 이전의 프레임 및 이후의 프레임을 참조하여 순방향 및 역방향 예측에 의하여 만들어지는 프레임으로서 독립적으로 인코딩된 프레임에 해당하지 않는다. 이와 같은 B 프레임은 I, P 프레임에 비해 높은 압축률을 가지고 있다. 따라서, 상기 독립적으로 인코딩된 프레임은 I 프레임에 해당하고, 비독립적으로 인코딩된 프레임은 나머지 B 프레임 혹은 P 프레임에 해당할 수 있다.On the other hand, in the case of the B frame, a frame generated by forward and backward prediction referring to a previous frame and a subsequent frame does not correspond to an independently encoded frame. Such a B frame has a higher compression ratio than I and P frames. Therefore, the independently encoded frame corresponds to an I frame, and a frame that is independently encoded may correspond to the remaining B frame or P frame.
본 발명에 따른 동영상 압축장치(1000) 및 동영상 압축방법은 H.264의 DCT(Discrete Cosine Transform) 변환, 차세대 비디오 코덱으로 각광받고 있는 H.265에서 사용되는 Wavelet 변환 및 손실 비디오 코덱(Lossy Video Codec)에는 모두 적용 가능하다.The moving
도 1의 (A)는 I 프레임, 및 P 프레임으로만 이루어진 동영상의 프레임들을 도시한다. 도 1의 (B)는 I 프레임, P 프레임, 및 B 프레임으로 이루어진 동영상의 프레임들을 도시한다. 도 1의 (C)는 I 프레임, P 프레임, 및 B 프레임이 규칙적으로 도시된 동영상의 프레임들을 도시한다. 본 발명의 동영상 압축장치(1000) 및 동영상 압축방법은 이와 같은 프레임들을 포함하는 동영상들에 대해 모두 적용될 수 있다.Fig. 1 (A) shows moving picture frames composed of I frame and P frame only. FIG. 1B shows frames of moving pictures composed of an I frame, a P frame, and a B frame. 1 (C) shows frames of moving pictures in which I, P, and B frames are regularly shown. The moving
다시 도 1을 참조하여, 상기 블록구분부(200)는 기설정된 기준에 따라 상기 압축대상 프레임을 복수의 이미지블록으로 구분한다. Referring again to FIG. 1, the
본 발명의 일 실시예에서는 압축대상 프레임이 비독립적으로 인코딩된 프레임인 경우에는 프레임 전체에 대하여 이미지 처리를 수행하여 프레임을 압축하는 것이 아니라 프레임의 일부 영역에 대해서만 이미지 처리를 수행하여 프레임을 압축한다. 여기서 프레임의 일부 영역을 특정하기 위하여 상기 블록구분부(200)에 의하여 구분된 이미지블록을 이용할 수 있다.In an embodiment of the present invention, when the frame to be compressed is a frame that is encoded independently, the frame is compressed by performing image processing only on a part of the frame rather than compressing the frame by performing image processing on the entire frame . Here, an image block divided by the
더욱 상세하게는, 압축대상 프레임을 상기 블록구분부(200)에 의하여 복수의 이미지블록으로 구분하고, 압축대상 프레임이 비독립적으로 인코딩된 프레임인 경우에는 상기 이미지블록 중 일부 영역만을 처리대상이미지영역으로 설정할 수 있다.More specifically, the compression target frame is divided into a plurality of image blocks by the
바람직하게는 상기 블록구분부(200)는 상기 압축대상 프레임을 복수의 이미지블록으로 구분시킨 블록프레임을 생성할 수도 있다.The
도 3은 본 발명의 일 실시예에 따른 이미지블록의 예들을 개략적으로 도시한 도면이다. 3 is a diagram schematically illustrating examples of image blocks according to an embodiment of the present invention.
도 3의 (A)는 압축대상 프레임을 2 x 2 의 이미지블록으로 구분한 예를 도시하고, 도 3의 (B)는 압축대상 프레임을 4 x 4 의 이미지블록으로 구분한 예를 도시하고, 도 3의 (C)는 압축대상 프레임을 8 x 8 의 이미지블록으로 구분한 예를 도시한다. FIG. 3A shows an example of dividing a compression object frame into 2x2 image blocks, FIG. 3B shows an example of dividing a compression object frame into 4x4 image blocks, FIG. FIG. 3C shows an example in which a compression target frame is divided into 8 × 8 image blocks.
본 발명의 이미지블록에 대한 구분방법은 상기 도 3에 한정되지 않고 다양한 형태로 설정이 될 수 있다. 또한, 상기 블록구분부(200)에 의하여 구분되는 압축대상 프레임의 이미지블록은 정형성을 가지지 않고 영역마다 상이한 기준으로 설정될 수도 있다.The method of dividing the image block according to the present invention is not limited to the above-described FIG. 3, but may be variously configured. In addition, the image block of the compression object frame divided by the
다시 도 1을 참조하면, 상기 변경블록판별부(300)는 상기 압축대상 프레임의 이전 프레임, 이후 프레임, 및 복수의 이전 프레임이 누적된 프레임 중 1 이상과 비교하여 상기 압축대상 프레임의 부분 중 변화가 있는 부분 혹은 이미지블록을 판별한다.Referring back to FIG. 1, the
바람직하게는, 상기 변경블록판별부(300)는 압축대상 프레임이 비독립적으로 인코딩된 프레임, 예를 들어 P 프레임 혹은 B 프레임인 경우에 상기 압축대상 프레임을 구성하는 복수의 이미지블록 중 변화가 발생하는 이미지블록을 판별한다.Preferably, the change
바람직하게는, 상기 압축대상 프레임이 P 프레임인 경우에는, 이전의 최인접 I 프레임과 상기 최인접 I 프레임 다음의 프레임들 (P 프레임 혹은 B 프레임)을 누적한 이미지와 상기 압축대상 프레임을 비교하여, 변화가 있는 부분 혹은 변화가 있는 부분을 포함하는 이미지블록을 처리대상이미지영역으로 설정한다. 혹은 이전의 최인접 I 프레임과 비교하여 처리대상이미지영역을 설정할 수도 있다.Preferably, when the compression target frame is a P frame, an image obtained by accumulating the previous closest I frame and the frames following the nearest I frame (P frame or B frame) is compared with the compression target frame , An image block including a changed part or a changed part is set as a processing target image area. Alternatively, the processing target image area may be set in comparison with the previous nearest I frame.
예를 들어, 프레임이 “IPPPPP”로 이루어져있고, 압축대상 프레임이 마지막 P 프레임인 경우에는 “IPPPP” 프레임을 누적한 이미지와 상기 압축대상 프레임인 마지막 P 프레임과의 비교를 수행하여 변화가 있는 부분 혹은 변화가 있는 부분을 포함하는 이미지블록을 처리대상이미지영역으로 설정한다.For example, when the frame is composed of " IPPPPP " and the compression target frame is the last P frame, the image obtained by accumulating the " IPPPP " frame is compared with the last P frame, Or an image block including a part having a change is set as a processing object image area.
바람직하게는, 상기 압축대상 프레임이 B 프레임인 경우에는, 이전의 최인접 I 프레임과 상기 최인접 I 프레임 다음의 프레임들 (P 프레임 혹은 B 프레임)을 누적한 이미지, 및 다음의 최인접 I 프레임과 상기 압축대상 프레임을 비교하여, 변화가 있는 부분 혹은 변화가 있는 부분을 포함하는 이미지블록을 처리대상이미지영역으로 설정한다. Preferably, when the compression target frame is a B frame, an image obtained by accumulating the previous closest I frame and the frames following the nearest I frame (P frame or B frame), and the next most adjacent I frame And the compression target frame, and sets an image block including the changed portion or the changed portion as the processing target image region.
혹은, 상기 압축대상 프레임이 B 프레임인 경우에는, 이전의 최인접 I 프레임 및 다음의 최인접 I 프레임과 상기 압축대상 프레임을 비교하여, 변화가 있는 부분 혹은 변화가 있는 부분을 포함하는 이미지블록을 처리대상이미지영역으로 설정한다.Alternatively, when the compression target frame is a B frame, the previous nearest I frame and the next nearest I frame are compared with the compression target frame, and the image block including the changed portion or the changed portion And sets it as a processing target image area.
예를 들어, 프레임이 “I1 P1 P2 P3 P4 P5 P6 P7 B P8 I2”로 이루어져있고, 압축대상 프레임이 마지막 B 프레임인 경우에는 “I2 P1 P2 P3 P4 P5 P6 P7” 프레임을 누적한 이미지, 및 I2 프레임과 상기 압축대상 프레임인 B 프레임과의 비교를 수행하여 변화가 있는 부분 혹은 변화가 있는 부분을 포함하는 이미지블록을 처리대상이미지영역으로 설정한다. For example, if the frame is composed of " I1 P1 P2 P3 P4 P5 P6 P7 B P8 I2 ", and the frame to be compressed is the last B frame, an image obtained by accumulating " I2 P1 P2 P3 P4 P5 P6 P7 " I2 frame and the B frame as the compression target frame to set the image block including the changed portion or the changed portion as the processing target image region.
혹은 I1 프레임 및 I2 프레임과 상기 압축대상 프레임인 B 프레임과의 비교를 수행하여 변화가 있는 부분 혹은 변화가 있는 부분을 포함하는 이미지블록을 처리대상이미지영역으로 설정한다. Alternatively, the I1 frame and the I2 frame are compared with the B frame as the compression target frame to set the image block including the changed portion or the changed portion as the processing target image region.
이상에서는 이미지블록을 사용하여 처리대상이미지영역을 설정하는 발명을 설명하였으나, 본 발명은 이에 한정되지 않고, 프레임의 일정영역을 특정하는 다양한 방법에 대항 양상을 포함한다. In the above description, the image block is used to set the image area to be processed. However, the present invention is not limited to this, and includes various aspects of various methods for specifying a certain area of a frame.
도 4는 본 발명의 일 실시예에 따른 변경블록판별부(300)의 동작을 설명하기 위한 복수의 프레임의 예를 개략적으로 도시한 도면이다.4 is a diagram schematically showing an example of a plurality of frames for explaining the operation of the
도 4는 동영상의 압축대상 프레임을 3 x 3의 이미지블록으로 구분하고, 9개의 블록 중 변경된 블록을 판별하는 예를 도시한다.4 shows an example of dividing a compression target frame of a moving picture into 3x3 image blocks and discriminating changed blocks among 9 blocks.
도 4의 (A)는 I 프레임에 해당하고, 도 4의 (B)는 P 프레임에 해당하고, 도 4의 (C)는 P 프레임에 해당한다. FIG. 4A corresponds to an I frame, FIG. 4B corresponds to a P frame, and FIG. 4C corresponds to a P frame.
본 발명의 일 실시예에 따르면, 도 4의 (A)의 경우 처리대상이미지영역은 9개의 이미지 블록 모두가 설정된다. According to one embodiment of the present invention, in the case of (A) of Fig. 4, all of the nine image blocks are set as the image area to be processed.
한편, 도 4의 (B)의 경우 처리대상이미지영역은 (2, 2) 이미지블록, (2, 3) 이미지블록이 설정된다. On the other hand, in the case of FIG. 4B, the image area to be processed includes (2, 2) image blocks and (2, 3) image blocks.
한편, 도 4의 (C)의 경우 처리대상이미지영역은 (2, 2) 이미지블록, (2, 3) 이미지블록이 설정된다. On the other hand, in the case of FIG. 4C, the image area to be processed is set to (2, 2) image blocks and (2, 3) image blocks.
이와 같이, 본 발명에서는 압축대상 프레임의 프레임 타입에 따라서 처리대상이미지영역의 설정 방법이 상이하고, 압축대상 프레임이 비독립적으로 인코딩된 프레임인 경우에는, 해당 프레임의 타입에 따라 처리대상이미지영역을 설정한다. 한편, 상기 처리대상이미지영역은 상술한 이미지블록에 의하여 설정될 수도 있고, 혹은 프레임의 일정 영역만을 설정할 수도 있다.As described above, in the present invention, when the method of setting the image area to be processed differs according to the frame type of the compression target frame and the compression target frame is a frame that is encoded independently of each other, Setting. On the other hand, the image area to be processed may be set by the above-described image block, or only a certain area of the frame may be set.
도 5는 본 발명의 일 실시예에 따른 제1 프레임변환부(500)의 내부 구조를 개략적으로 도시한 도면이다.5 is a diagram schematically showing the internal structure of a first
상기 제1 프레임변환부(500)는 제1 방법에 따라 압축대상 프레임의 처리대상이미지영역의 일부 혹은 전체가 변환된 제1 변환프레임을 생성한다.The first
본 발명의 바람직한 실시예에서는 상기 제1 프레임변환부(500)에 의하여 변환된 프레임 및 후술하는 제2 프레임프레임변환부에 의하여 변환된 프레임에 대해 압축을 수행하고 이 중 용량이 작은 프레임을 최종 압축프레임으로 선정하지만, 본 발명은 이에 한정되지 않고 상기 제1 변환프레임 혹은 상기 제1 변환프레임에 대해 압축을 수행한 프레임이 최종적인 압축프레임이 될 수도 있다. 여기서 압축은 손실압축임이 바람직하다.In the preferred embodiment of the present invention, the frame transformed by the first
한편, 도 5에 도시된 바와 같이, 제1 프레임변환부(500)는 이미지블록 혹은 처리대상이미지영역을 구성하는 세부 영역들의 복잡도를 산출하고 상기 이미지블록 혹은 세부 영역의 복잡도가 기설정된 기준 이하 혹은 미만인지 여부를 판별하는 복잡도판단부(510); 상기 이미지블록 혹은 세부 영역의 복잡도가 기설정된 기준 이하인 경우에 해당 이미지블록 혹은 해당 세부 영역에 대하여 제1 이미지처리를 수행하는 제1 이미지처리부(520)를 포함한다.5, the
여기서 상기 제1 이미지처리는 Blurring 처리에 해당하는 Blur처리임이 바람직하다. 블러링(blurring) 처리란 이미지를 부드럽게 보이도록 하기 위해 고주파 성분을 제거하는 방식을 이용한 화상 처리를 의미한다. 저주파는 화소값의 변화율이 작은 주파수이고, 고주파는 화소값의 변화율이 큰 주파수를 말한다. 이미지에서 고주파 성분을 제거하게 되면, 화소값의 변화율이 작아지므로 이웃하는 화소들에 대하여 극단적인 값들이 줄어들어 이미지가 부드럽게 처리된다. 따라서, 블러링 처리를 통해 이미지에서 나타나는 미세한 잡음이나 잡티 등의 두드러짐을 약화시켜 이미지를 수정할 수 있다. Here, it is preferable that the first image processing is Blur processing corresponding to blurring processing. Blurring refers to image processing using a method of eliminating high frequency components to make the image look smooth. The low frequency refers to a frequency at which the rate of change of the pixel value is small, and the high frequency refers to a frequency at which the rate of change of the pixel value is large. Removing the high-frequency component from the image reduces the rate of change of the pixel value, so that the extreme values for the neighboring pixels are reduced and the image is smoothly processed. Therefore, it is possible to correct the image by weakening the noticeable noise such as fine noise or dullness appearing in the image through the blurring process.
제1 이미지처리부(520)는 복잡도가 낮은 이미지블록 혹은 세부 영역 각각에 대하여 화소들의 휘도값을 추출하고, 휘도값에 따라 가중치를 부여하여 블러링 처리를 수행할 수 있다. 본 발명에서 블러링 처리는 일반적으로 널리 사용하는 가우시안 블러링(gaussian blurring)을 적용할 수 있다.The first
도 6는 본 발명의 일 실시예에 따른 복잡도판단부(510)의 내부 구조를 개략적으로 도시한 도면이다.6 is a diagram schematically illustrating an internal structure of a
복잡도판단부(510)는 상기 처리대상이미지영역의 구성하는 이미지블록 혹은 혹은 상기 처리대상이미지영역을 구성하는 세부 영역에 대하여 각각 이미지 복잡도를 산출한다. 본원에서 이미지의 복잡한 정도(이미지 복잡도)라는 것은 이미지가 변화하는 정도를 말하는 것으로, 이를 판단하는 방식은 후술하도록 한다. The
이와 같은 복잡도판단부(510)는 화소값판단부(511), 색상수판단부(512), 및 양자화판단부(513) 중 1 이상을 포함함이 바람직하다. 한편 복잡도판단부(510)는 상기 화소값판단부(511), 색상수판단부(512), 및 양자화판단부(513) 중 하나를 이용해서 복잡도를 판단할 수도 있고, 2 이상의 판단결과에 따라서 복잡도를 판단할 수도 있다. The
화소값판단부(511)는 상기 처리대상이미지영역의 구성하는 이미지블록 혹은 혹은 상기 처리대상이미지영역을 구성하는 세부 영역에 대하여 각각 대해 그레이 이미지(gray image)로 변환한 후, 화소값의 변화량을 측정하여 이미지 복잡도를 산출한다. 여기서, 상기 그레이 이미지는 명도 정보, 즉 밝고 어두운 정도에 관한 정보만으로 표현되는 이미지를 의미한다. 통상적으로 상기 그레이 이미지를 표현하는 그레이 레벨은 28(=256)개의 레벨을 가진다. 상기 그레이 레벨이 0에 근접할수록 어두우며, 255에 근접할수록 밝은 이미지가 된다.The pixel
화소값판단부(511)는 그레이 이미지로 변환된 상기 처리대상이미지영역의 구성하는 이미지블록 혹은 혹은 상기 처리대상이미지영역을 구성하는 세부 영역의 화소 별로 특정한 화소값과의 차이(디퍼렌셜 값)를 구한 후에, 화소값의 차이의 평균으로 계산되는 변화량을 산출하고, 이와 같은 변화량이 기설정된 값 이상인지 여부를 판단할 수 있다. The pixel
디퍼렌셜 값의 평균이 높다는 것은 그레이 이미지로 변환된 상기 처리대상이미지영역의 구성하는 이미지블록 혹은 혹은 상기 처리대상이미지영역을 구성하는 세부 영역에 상응하는 부분의 이미지 복잡도가 높음을 의미하게 된다. 이때, 상기 화소값판단부(511)는 그레이 이미지로 변환된 상기 처리대상이미지영역의 구성하는 이미지블록 혹은 혹은 상기 처리대상이미지영역을 구성하는 세부 영역에 대하여 상기 변화량이 기설정된 값 이상인 경우에는 이미지 복잡도가 높은 것으로, 반대로 기설정된 값 미만인 경우에는 이미지 복잡도가 낮은 것으로 판단하게 된다.The high average value of the differential values means that the image complexity of a portion corresponding to the image block constituting the processing target image region converted to the gray image or the detail region constituting the processing target image region is high. If the change amount is greater than or equal to a predetermined value, the pixel
색상수판단부(512)는 상기 처리대상이미지영역의 구성하는 이미지블록 혹은 혹은 상기 처리대상이미지영역을 구성하는 세부 영역에 대하여 각각에 대해 색상수를 측정하여 이미지 복잡도를 산출한다. 특히, 색상수판단부(512)는 상기 처리대상이미지영역의 구성하는 이미지블록 혹은 혹은 상기 처리대상이미지영역을 구성하는 세부 영역에 대하여 각각의 색상수가 특정한 색상수 이상인지 여부를 판단하여 이미지 복잡도를 산출할 수 있다. 이때, 색상수판단부(512)는 상기 처리대상이미지영역의 구성하는 이미지블록 혹은 혹은 상기 처리대상이미지영역을 구성하는 세부 영역에 대하여 상기 색상수가 기설정된 기준 색상수(Nc_standard) 이상 혹은 초과인 경우에는 이미지 복잡도가 높은 것으로, 반대로 기설정된 기준 색상수(Nc_standard) 미만 혹은 이하인 경우에는 이미지 복잡도가 낮은 것으로 판단하게 된다.The color
양자화판단부(513)는 미리 결정된 양자화 레벨을 기반으로 상기 처리대상이미지영역의 구성하는 이미지블록 혹은 혹은 상기 처리대상이미지영역을 구성하는 세부 영역에 대하여 각각을 양자화한 후 이에 상응하는 히스토그램을 기반으로 양자화 레벨의 전체적인 분포를 측정하여 이미지 복잡도를 산출한다. 이를 위해, 먼저 양자화판단부(513)는 상기 처리대상이미지영역의 구성하는 이미지블록 혹은 혹은 상기 처리대상이미지영역을 구성하는 세부 영역에 대하여 각각에 대해 양자화를 수행하여 양자화된 이미지를 생성한다. 양자화 시에 정수 값 0, 1, 2, … , 2n-1로 구성된 2n개의 양자화 레벨로 상기 처리대상이미지영역의 구성하는 이미지블록 혹은 혹은 상기 처리대상이미지영역을 구성하는 세부 영역 각각을 구성하는 각 화소값이 구성된다. The
양자화 구분 값은 히스토그램(histogram) 상의 중간 값(median)을 기준으로 한다. 예를 들어 4진 양자화의 경우, 히스토그램 값이 25%, 50%, 75%를 기준으로 이루어지는 것을 가정한다. 한편, 상기 히스토그램은 도수 분포를 나타내는 그래프로써, 관측한 데이터의 분포 특징이 한눈에 보이도록 기둥 모양으로 나타낸 것이다. 상기 히스토그램은 기둥 그래프 또는 그림 모양 그림 등으로 불리기도 한다. 이때 상기 히스토그램의 가로축에 각 양자화 레벨이 소정 간격을 가지고 나타나도록 표시하고, 세로축에 각 양자화 레벨에 분포하는 화소의 도수(이하, 화소의 갯수라 한다)가 소정 간격을 가지고 나타나도록 표시한다. 즉 상기 히스토그램은 각 양자화 레벨 간의 구간 별로 해당 구간에서의 화소의 갯수를 비례하는 높이의 기둥으로 표현된다. The quantization classification value is based on the median on the histogram. For example, in the case of quaternary quantization, it is assumed that the histogram values are based on 25%, 50%, and 75%. On the other hand, the histogram is a graph showing the frequency distribution, and is a columnar shape in which the distribution characteristics of the observed data are seen at a glance. The histogram may also be referred to as a column graph or a picture shape picture. At this time, each quantization level is displayed on the horizontal axis of the histogram so as to appear at a predetermined interval, and the vertical axis shows the frequency of pixels (hereinafter referred to as the number of pixels) at each quantization level with a predetermined interval. That is, the histogram is represented by columns having a height proportional to the number of pixels in the corresponding interval in each interval between the quantization levels.
양자화판단부(513)는 상기 처리대상이미지영역의 구성하는 이미지블록 혹은 혹은 상기 처리대상이미지영역을 구성하는 세부 영역에 대하여 각각 양자화를 수행한 결과를 나타내는 히스토그램를 분석하여 양자화 레벨의 평균값을 구한 후에, 양자화 레벨의 평균값이 속한 소정의 범위를 벗어나는(양자화 레벨의 평균값을 벗어나는) 화소의 개수가 기설정된 개수 이상인지 여부를 판단하여 이미지 복잡도를 산출할 수 있다. The
예시적으로, 양자화판단부(513)는 상기 처리대상이미지영역의 구성하는 이미지블록 혹은 혹은 상기 처리대상이미지영역을 구성하는 세부 영역에 대하여 각각을 양자화를 수행한 결과를 나타내는 히스토그램에서 평균값을 벗어나는 화소의 개수가 50% 이상인 경우 이미지 복잡도가 높은 것으로 판단할 수 있다.Illustratively, the
한편, 이미지복잡도가 낮은 이미지 블록에 해당하는지 여부는 앞서 설명한 화소값판단부(511), 색상수판단부(512), 및 양자화판단부(513) 중 어느 하나에서 판단한 이미지 복잡도에 따라 결정될 수 있고, 경우에 따라서는 2 이상에서 판단한 이미지 복잡도를 조합하여 결정될 수도 있다. Whether or not the image complexity is low can be determined according to the image complexity determined by the pixel
도 7은 본 발명의 일 실시예에 따른 제1 프레임변환부(500)에 따라 변환되는 변환프레임의 일예를 개략적으로 도시한 도면이다.7 is a diagram schematically illustrating an example of a transform frame to be transformed according to the first
도 7의 (A)에 도시된 1 ~ 9 번까지의 이미지블록은 처리대상이미지영역을 구성한다. 한편, 상기 화소값판단부(511), 색상수판단부(512), 및 양자화판단부(513) 중 1 이상의 방법에 의하여 각각의 이미지블록에 대하여 복잡도판단부(510)에 의하여 복잡도를 판단한다.The image blocks 1 to 9 shown in FIG. 7 (A) constitute an image area to be processed. The
이후, 복잡도판단부(510) 및 기설정된 기준에 의하여 복잡도가 낮다고 판단되는 이미지블록에 대해서는 상기 제1 이미지처리부(520)에 의항 제1 이미지처리를 수행한다. 바람직하게는 상기 제1 이미지처리는 Blur처리에 해당한다. Then, the first
도 7의 (B)는 상기 복잡도판단부(510) 및 제1 이미지처리부(520)에 의하여 처리가 된 처리대상이미지영역을 도시한다. 이와 같은 처리가 된 처리대상이미지영역 혹은 상기 처리대상이미지영역을 포함하는 프레임이 제1 변환프레임이 된다.FIG. 7B shows a processing target image area processed by the
상기 도 7의 (B)에 도시된 바와 같이, 2, 4, 9 번 이미지블록의 복잡도가 낮다고 판단되어, 이의 이미지블록에 대하여 Blur처리가 수행되었다.As shown in FIG. 7B, it is determined that the complexity of the image blocks 2, 4, and 9 is low, and Blur processing has been performed on the image blocks.
도 8은 본 발명의 일 실시예에 따른 제2 프레임변환부(600)에 내부 구조를 개략적으로 도시한 도면이다.8 is a diagram schematically illustrating an internal structure of a
상기 제2 프레임변환부(600)는 제2 방법에 따라 압축대상 프레임의 처리대상이미지영역의 일부 혹은 전체가 변환된 제1 변환프레임을 생성한다.The
본 발명의 바람직한 실시예에서는 상기 제1 프레임변환부(500)에 의하여 변환된 프레임 및 상기 제2 프레임프레임변환부에 의하여 변환된 프레임에 대해 압축을 수행하고 이 중 용량이 작은 프레임을 최종 압축프레임으로 선정하지만, 본 발명은 이에 한정되지 않고 상기 제2 변환프레임 혹은 상기 제2 변환프레임에 대해 압축을 수행한 프레임이 최종적인 압축프레임이 될 수도 있다. 여기서 압축은 손실압축임이 바람직하다.In the preferred embodiment of the present invention, the frame transformed by the first
한편, 도 8에 도시된 바와 같이, 제2 프레임변환부(600)는 제2 이미지처리부(610), 에지이미지생성부(620), 이진화이미지생성부(630), 및 이미지합성부(640)를 포함한다.8, the
제2 이미지처리부(610)는 처리대상이미지영역에 대해 제2 이미지처리를 수행한다. 바람직하게는 상기 제2 이미지처리는 Blur처리이다. The second
에지이미지생성부(620)는 처리대상이미지영역에 대해 고주파 영역에 해당하는 모서리 영역인 에지(edge)를 산출하여 에지 이미지를 생성한다. 이후 이진화이미지생성부(630)는 생성된 에지 이미지에 대해 이진화를 수행하여 이진화 이미지를 생성한다. 이때, 이진화이미지생성부(630)는 에지이미지생성부(620)에 의해 생성된 에지 이미지의 각 화소의 화소값을 0(검은색) 또는 1(흰색)로 바꾸는 이진화를 수행하여 이진화 이미지를 생성하게 된다. The edge
이후, 이미지합성부(640)는 이진화이미지생성부(630)에 의해 생성된 에지 이미지에서 0의 값을 갖는 화소에 상응하는 처리대상이미지영역의 원본이미지를 상기 제2 이미지처리부(610)에 의해 생성된 제2 이미지처리가 된 처리대상이미지영역으로 복사하여 최종적으로 제2 변환이미지를 생성하게 된다.Thereafter, the
도 9는 본 발명의 일 실시예에 따른 제2 프레임변환부(600)에 따라 변환되는 변환프레임의 일예를 개략적으로 도시한 도면이다.9 is a diagram schematically illustrating an example of a transform frame to be transformed according to the second
도 9의 (A)에 도시된 1 ~ 9 번까지의 이미지블록은 처리대상이미지영역을 구성한다. The image blocks 1 to 9 shown in FIG. 9 (A) constitute an image area to be processed.
도 9의 (B)는 제2 이미지처리부(610)에 의하여 제2 이미지처리, 바람직하게는 Blur처리가 수행된 처리대상이미지영역을 도시한다. FIG. 9B shows a processing target image area in which a second image processing, preferably a blur processing, is performed by the second
도 9의 (C)는 에지이미지생성부(620)에 의하여 생성된, 도 9의 (A)에 도시된 처리대상이미지영역의 에지 이미지를 도시한다.FIG. 9C shows an edge image of the image area to be processed shown in FIG. 9A, which is generated by the
도 9의 (D)는 상기 도 9의 (C)의 에지 이미지의 정보를 기초로 추출된 에지 부분의 원본 이미지, 측 도 9의 (A)에서의 이미지를 도 9의 (B)에 도시된 제2 이미지처리가 수행된 처리대상이미지영역에 결합하여 생성된 제2 변환프레임을 도시한다.9 (D) shows the original image of the edge portion extracted based on the edge image information in Fig. 9 (C), and the image in Fig. 9 (A) And a second transform frame generated by combining with the image area to be processed in which the second image processing is performed.
다시 도 1을 참조하면, 상기 프레임압축부(700)는 상기와 같이 생성된 제1 변환프레임 및 제2 변환프레임에 대하여 압축을 수행한다. 바람직하게는 상기 압축은 공지된 방식의 손실압축 중 하나에 해당한다. 다만, 본 발명의 다른 실시예에서는 이와 같은 프레임압축부(700)는 생략될 수도 있다.Referring again to FIG. 1, the
이후, 상기 프레임비교부(800)는 상기 프레임압축부(700)에 의하여 압축된 2 이상의 압축프레임 혹은 상기 변환프레임에 대하여 비교를 수행하여 용량이 적은 프레임을 최종적인 압축프레임으로 설정한다.Thereafter, the
한편, 본 발명의 다른 실시예에 따른 동영상 압축장치(1000)는 상기 제1 프레임변환부(500) 및 선택적으로 상기 프레임압축부(700)만을 구비할 수 있다. 이 경우, 상기 제1 프레임변환부(500)에 의하여 변환된 프레임이 최종 압축프레임이 되거나 혹은 상기 제1 프레임변환부(500)에 의하여 변환된 프레임에 대해 공지된 방식의 손실압축 중 하나를 수행하여 최종 프레임이 될 수도 있다. 이 경우, 제2 프레임변환부(600) 및 상기 프레임비교부(800)는 상기 동영상 압축장치(1000)에 구비되지 않을 수도 있다.Meanwhile, the moving
한편, 본 발명의 다른 실시예에 따른 동영상 압축장치(1000)는 상기 제2 프레임변환부(600) 및 선택적으로 상기 프레임압축부(700)만을 구비할 수 있다. 이 경우, 상기 제2 프레임변환부(600)에 의하여 변환된 프레임이 최종 압축프레임이 되거나 혹은 상기 제2 프레임변환부(600)에 의하여 변환된 프레임에 대해 공지된 방식의 손실압축 중 하나를 수행하여 최종 프레임이 될 수도 있다. 이 경우, 제1 프레임변환부(500) 및 상기 프레임비교부(800)는 상기 동영상 압축장치(1000)에 구비되지 않을 수도 있다.Meanwhile, the moving
이하에서는 본 발명의 동영상 압축방법에 대해 설명하도록 한다. 본 발명의 동영상 압축방법은 전술한 도 1 내지 9 및 이에 대한 기재에서 설명한 동영상 압축장치에 포함되는 구성 중 일부 혹은 전체에 의하여 수행될 수 있다. 후술하는 본 발명의 동영상 압축방법은 전술한 동영상 압축장치의 내용을 참조하도록 한다.Hereinafter, a moving image compression method according to the present invention will be described. The moving picture compressing method of the present invention can be performed by some or all of the structures included in the moving picture compressing apparatus described with reference to Figs. 1 to 9 and the above description. The moving picture compressing method of the present invention to be described later refers to the contents of the moving picture compressing apparatus described above.
도 10은 본 발명의 일 실시예에 따른 동영상 압축방법의 세부단계를 개략적으로 도시한 도면이다.FIG. 10 is a view schematically showing detailed steps of a moving image compression method according to an embodiment of the present invention.
상기 동영상 압축방법은 하나 이상의 프로세서 및 상기 프로세서에서 수행 가능한 명령들을 저장하는 메인 메모리를 포함하는 컴퓨팅 장치에서 수행되는 동영상 압축방법이다.The moving picture compression method is a moving picture compression method performed in a computing device including at least one processor and a main memory storing instructions executable by the processor.
도 10에 도시된 바와 같이, 상기 동영상 압축방법은 동영상의 압축대상 프레임이 독립적으로 인코딩된 프레임인지 여부를 판별하는 프레임타입판별단계(S10); 및As shown in FIG. 10, the moving picture compression method includes a frame type determination step (S10) of determining whether a compression target frame of a moving picture is an independently encoded frame; And
상기 압축대상 프레임이 독립적으로 인코딩된 프레임인 경우와 상기 압축대상 프레임이 독립적으로 인코딩된 프레임이 아닌 경우를 구분하여 압축프레임을 생성하는 프레임압축단계(S20);를 포함한다.And a frame compression step (S20) of generating a compressed frame by separating the case where the compression object frame is an independently encoded frame and the case where the compression object frame is not an independently encoded one.
여기서, 상기 프레임타입판별단계(S10)는 동영상의 압축대상 프레임이 독립적으로 인코딩된 프레임인지 여부를 판별한다. 본 발명의 일 실시예에서는, 상기 압축대상 프레임이 독립적으로 인코딩된 프레임인 경우와 상기 압축대상 프레임이 독립적으로 인코딩된 프레임이 아닌 경우를 구분하여 상이한 방식으로 압축프레임을 생성한다. Here, the frame type determination step S10 determines whether the compression target frame of the moving image is an independently encoded frame. In one embodiment of the present invention, a compressed frame is generated by dividing a case where the compression object frame is an independently encoded frame and a case where the compression object frame is not an independently encoded case.
구체적으로 상기 프레임타입판별단계(S10)에 의하여 판별된 프레임의 타입에 따라 압축대상 프레임의 처리대상이미지영역이 상이하게 설정되고, 이와 같은 처리대상이미지영역에 대해 데이터에 대한 처리를 수행하여 압축대상 프레임의 전체 용량을 압축할 수 있다.Specifically, the image area to be processed of the compression target frame is set differently according to the type of the frame determined in the frame type determination step (S10), and processing is performed on the data for the image area to be processed, The entire capacity of the frame can be compressed.
구체적으로, 상기 프레임의 타입은 I 프레임, P 프레임, 및 B 프레임을 포함한다.Specifically, the type of the frame includes an I frame, a P frame, and a B frame.
I 프레임은 키 프레임으로써 전체 이미지를 모두 포함하고, 동영상 파일에 있어서 억세스 포인트로 기능할 수 있으며, 독립적으로 인코딩된 프레임에 해당하며 낮은 압축률을 가지고 있다. An I frame is a key frame that includes all of the entire image, can function as an access point in a moving picture file, corresponds to an independently encoded frame, and has a low compression ratio.
한편, P 프레임의 경우, 이전의 I 프레임 혹은 P 프레임을 참조하여 순방향 예측에 의하여 만들어지는 프레임으로서 독립적으로 인코딩된 프레임에 해당하지 않는다. 이와 같은 P 프레임은 I 프레임에 비해 높은 압축률을 가지고 있다.On the other hand, in the case of a P frame, a frame generated by forward prediction referring to a previous I frame or a P frame does not correspond to an independently encoded frame. Such a P frame has a higher compression ratio than an I frame.
본 명세서 전체에 있어서 “이전”의 프레임이라는 것은 바로 전 프레임뿐만 아니라 해당 프레임 전에 존재하는 복수의 프레임 중 하나를 의미하고, “이후”의 프레임이라는 것은 바로 다음 프레임 뿐만 아니라 해당 프레임 다음에 존재하는 복수의 프레임 중 하나를 의미한다.In the present specification, the " previous " frame means not only the previous frame but also one of a plurality of frames existing before the corresponding frame. The " after " frame means not only the next frame, ≪ / RTI >
한편, B 프레임의 경우, 이전의 프레임 및 이후의 프레임을 참조하여 순방향 및 역방향 예측에 의하여 만들어지는 프레임으로서 독립적으로 인코딩된 프레임에 해당하지 않는다. 이와 같은 B 프레임은 I, P 프레임에 비해 높은 압축률을 가지고 있다. 따라서, 상기 독립적으로 인코딩된 프레임은 I 프레임에 해당하고, 비독립적으로 인코딩된 프레임은 나머지 B 프레임 혹은 P 프레임에 해당할 수 있다On the other hand, in the case of the B frame, a frame generated by forward and backward prediction referring to a previous frame and a subsequent frame does not correspond to an independently encoded frame. Such a B frame has a higher compression ratio than I and P frames. Therefore, the independently encoded frame corresponds to an I frame, and a frame that is independently encoded may correspond to the remaining B frame or P frame
도 11은 본 발명의 일 실시예에 따른 프레임압축단계의 세부단계를 개략적으로 도시한 도면이다.11 is a view schematically showing detailed steps of a frame compression step according to an embodiment of the present invention.
상기 프레임압축단계(S20)는, 상기 압축대상 프레임의 처리대상이미지영역을 설정하는 처리대상이미지영역설정단계(S21); 및The frame compression step (S20) includes: a processing target image area setting step (S21) of setting a processing target image area of the compression target frame; And
상기 처리대상이미지영역의 일부 혹은 전체가 변환된 압축프레임을 생성하는 압축프레임생성단계(S22);를 포함하고,A compressed frame generation step (S22) of generating a compressed frame in which a part or the whole of the image area to be processed is transformed,
상기 처리대상이미지영역설정단계는 상기 압축대상 프레임이 독립적으로 인코딩된 프레임인 경우에는 상기 압축대상 프레임의 전체를 상기 처리대상이미지영역으로 설정하고,Wherein the processing target image area setting step sets the entire compression target frame as the processing target image area when the compression target frame is an independently encoded frame,
상기 압축대상 프레임이 독립적으로 인코딩된 프레임이 아닌 경우에는 상기 압축대상 프레임의 일부를 상기 처리대상이미지영역으로 설정한다.If the compression target frame is not an independently encoded frame, a part of the compression target frame is set as the processing target image area.
한편, 상기 처리대상이미지영역은 이미지블록으로 구분하여 처리될 수 있다. 구체적으로는 상기 처리대상이미지영역설정단계는 기설정된 기준에 따라 상기 압축대상 프레임을 복수의 이미지블록으로 구분하고, 상기 압축대상 프레임이 독립적으로 인코딩된 프레임이 아닌 경우에는, 상기 압축대상 프레임의 상기 복수의 이미지블록 중 일부의 이미지블록을 상기 처리대상이미지영역으로 설정할 수 있다.Meanwhile, the image area to be processed may be divided into image blocks and processed. Specifically, the processing target image region setting step divides the compression target frame into a plurality of image blocks according to a predetermined criterion, and when the compression target frame is not an independently encoded frame, It is possible to set the image block of some of the plurality of image blocks as the image area to be processed.
이하에서는, 상기 압축대상 프레임이 독립적으로 인코딩된 프레임이 아닌 겨우, 즉 I 프레임이 아니거나 혹은 B 프레임 혹은 P 프레임에 해당하는 경우에는 처리대상이미지영역을 설정하는 방법에 대해서 설명하도록 한다.Hereinafter, a method of setting an image area to be processed when the compression target frame is not an independently encoded frame, that is, an I frame, or a B frame or a P frame will be described.
상기 처리대상이미지영역설정단계는 상기 압축대상 프레임이 독립적으로 인코딩된 프레임이 아닌 경우에는, 상기 압축대상 프레임의 이전 프레임, 이후 프레임, 및 복수의 이전 프레임이 누적된 프레임 중 1 이상과 비교하여 상기 압축대상 프레임의 부분 중 변화가 있는 부분을 상기 처리대상이미지영역으로 설정한다.The image processing method according to
구체적으로, 처리대상이미지영역설정단계(S21)는 압축대상 프레임이 비독립적으로 인코딩된 프레임, 예를 들어 P 프레임 혹은 B 프레임인 경우에 상기 압축대상 프레임을 구성하는 복수의 이미지블록 중 변화가 발생하는 이미지블록을 판별한다.Specifically, in the process of setting the image area to be processed (S21), a change occurs among a plurality of image blocks constituting the compression target frame when the compression subject frame is a frame in which the compression subject frame is an independently encoded frame, for example, a P frame or a B frame And determines an image block to be processed.
바람직하게는, 처리대상이미지영역설정단계(S21)는 상기 압축대상 프레임이 P 프레임인 경우에는, 이전의 최인접 I 프레임과 상기 최인접 I 프레임 다음의 프레임들 (P 프레임 혹은 B 프레임)을 누적한 이미지와 상기 압축대상 프레임을 비교하여, 변화가 있는 부분 혹은 변화가 있는 부분을 포함하는 이미지블록을 처리대상이미지영역으로 설정한다. 혹은 이전의 최인접 I 프레임과 비교하여 처리대상이미지영역을 설정할 수도 있다.Preferably, when the compression target frame is a P frame, a process of setting an image area to be processed (step S21) includes accumulating the previous nearest I frame and the frames (P frame or B frame) next to the nearest I frame Compares one image with the compression target frame, and sets an image block including a changed portion or a changed portion as a processing target image region. Alternatively, the processing target image area may be set in comparison with the previous nearest I frame.
예를 들어, 프레임이 “IPPPPP”로 이루어져있고, 압축대상 프레임이 마지막 P 프레임인 경우에는 “IPPPP” 프레임을 누적한 이미지와 상기 압축대상 프레임인 마지막 P 프레임과의 비교를 수행하여 변화가 있는 부분 혹은 변화가 있는 부분을 포함하는 이미지블록을 처리대상이미지영역으로 설정한다.For example, when the frame is composed of " IPPPPP " and the compression target frame is the last P frame, the image obtained by accumulating the " IPPPP " frame is compared with the last P frame, Or an image block including a part having a change is set as a processing object image area.
바람직하게는, 처리대상이미지영역설정단계(S21)는 상기 압축대상 프레임이 B 프레임인 경우에는, 이전의 최인접 I 프레임과 상기 최인접 I 프레임 다음의 프레임들 (P 프레임 혹은 B 프레임)을 누적한 이미지, 및 다음의 최인접 I 프레임과 상기 압축대상 프레임을 비교하여, 변화가 있는 부분 혹은 변화가 있는 부분을 포함하는 이미지블록을 처리대상이미지영역으로 설정한다. Preferably, when the compression target frame is a B frame, the process of setting an image area to be processed (step S21) may include accumulating the previous closest I frame and the frames (P frame or B frame) An image, and the next nearest I frame with the compression target frame, and sets an image block including a changed portion or a changed portion as a processing target image region.
혹은, 상기 압축대상 프레임이 B 프레임인 경우에는, 이전의 최인접 I 프레임 및 다음의 최인접 I 프레임과 상기 압축대상 프레임을 비교하여, 변화가 있는 부분 혹은 변화가 있는 부분을 포함하는 이미지블록을 처리대상이미지영역으로 설정한다.Alternatively, when the compression target frame is a B frame, the previous nearest I frame and the next nearest I frame are compared with the compression target frame, and the image block including the changed portion or the changed portion And sets it as a processing target image area.
예를 들어, 프레임이 “I1 P1 P2 P3 P4 P5 P6 P7 B P8 I2”로 이루어져있고, 압축대상 프레임이 마지막 B 프레임인 경우에는 “I2 P1 P2 P3 P4 P5 P6 P7” 프레임을 누적한 이미지, 및 I2 프레임과 상기 압축대상 프레임인 B 프레임과의 비교를 수행하여 변화가 있는 부분 혹은 변화가 있는 부분을 포함하는 이미지블록을 처리대상이미지영역으로 설정한다. For example, if the frame is composed of " I1 P1 P2 P3 P4 P5 P6 P7 B P8 I2 ", and the frame to be compressed is the last B frame, an image obtained by accumulating " I2 P1 P2 P3 P4 P5 P6 P7 " I2 frame and the B frame as the compression target frame to set the image block including the changed portion or the changed portion as the processing target image region.
혹은 I1 프레임 및 I2 프레임과 상기 압축대상 프레임인 B 프레임과의 비교를 수행하여 변화가 있는 부분 혹은 변화가 있는 부분을 포함하는 이미지블록을 처리대상이미지영역으로 설정한다. Alternatively, the I1 frame and the I2 frame are compared with the B frame as the compression target frame to set the image block including the changed portion or the changed portion as the processing target image region.
이상에서는 이미지블록을 사용하여 처리대상이미지영역을 설정하는 발명을 설명하였으나, 본 발명은 이에 한정되지 않고, 프레임의 일정영역을 특정하는 다양한 방법에 대항 양상을 포함한다.In the above description, the image block is used to set the image area to be processed. However, the present invention is not limited to this, and includes various aspects of various methods for specifying a certain area of a frame.
도 12은 본 발명의 일 실시예에 따른 압축프레임생성단계의 실시예들을 개략적으로 도시한 도면이다. 다만, 이는 본 발명의 예시적인 실시예에 해당할 뿐 본 발명의 범위는 이에 대해 한정되지 않는다.12 is a diagram schematically illustrating embodiments of a compressed frame generation step according to an embodiment of the present invention. However, it should be understood that the present invention is not limited thereto.
본 발명의 동영상 압축방법의 일 실시예에 따르면 후술하는 제1 압축프레임생성단계에 의하여 생성된 압축프레임을 최종적인 압축 프레임으로 한다 (도 12에서 실시예 1로 도시).According to an embodiment of the moving picture compression method of the present invention, the compressed frame generated by the first compressed frame generation step described later is set as a final compressed frame (shown in
본 발명의 동영상 압축방법의 일 실시예에 따르면 후술하는 제2 압축프레임생성단계에 의하여 생성된 압축프레임을 최종적인 압축 프레임으로 한다 (도 12에서 실시예 2로 도시).According to an embodiment of the moving picture compression method of the present invention, the compressed frame generated by the second compressed frame generation step described later is set as a final compressed frame (shown in
본 발명의 동영상 압축방법의 일 실시예에 따르면 후술하는 제1 압축프레임생성단계 및 제2 압축프레임생성단계에 의하여 생성된 제1 압축프레임 및 제2 압축프레임을 포함하는 후보프레임그룹에서 하나를 선택하여 이를 최종적인 압축 프레임으로 한다 (도 12에서 실시예 3로 도시).According to one embodiment of the moving picture compression method of the present invention, one of the candidate frame groups including the first compressed frame and the second compressed frame generated by the first compressed frame generation step and the second compressed frame generation step And this is used as a final compressed frame (as shown in
이하에서는, 상기 실시예 1에 대해서 설명하도록 한다.Hereinafter, the first embodiment will be described.
상기 압축프레임생성단계(S22)는 제1 압축프레임생성단계(S22A)를 포함하고, 상기 제1 압축프레임생성단계(S22A)는, 상기 처리대상이미지영역을 구성하는 복수의 세부영역에 대하여 이미지의 복잡도를 산출하는 이미지복잡도산출단계(S22A.1); 상기 세부영역의 상기 복잡도가 기설정된 기준 이하인지 여부를 판단하는 이미지복잡도판별단계(S22A.2); 및 상기 세부영역의 복잡도가 기설정된 기준 이하인 경우에 상기 세부영역에 대하여 제1 이미지처리를 수행하는 복잡도기준이미지처리단계(S22A.3);을 포함하고, 상기 복잡도기준이미지처리단계(S22A.3)가 수행된 상기 처리대상이미지영역을 포함하는 프레임으로부터 상기 압축프레임을 생성한다. 도 13은 본 발명의 일 실시예에 따른 제1 압축프레임생성단계의 세부단계를 개략적으로 도시한 도면이다.The compression frame generation step S22 includes a first compression frame generation step S22A, and the first compression frame generation step S22A is a step of generating a first compressed frame S22A of a plurality of sub- An image complexity calculating step (S22A.1) for calculating a complexity; An image complexity determination step (S22A.2) of determining whether the complexity of the detail area is less than a preset reference; And a complexity reference image processing step (S22A.3) of performing a first image processing on the detail area when the complexity of the detail area is less than or equal to a predetermined reference, wherein the complexity reference image processing step (S22A.3 ) Is performed on the compressed image frame. 13 is a diagram schematically illustrating a detailed step of a first compressed frame generation step according to an embodiment of the present invention.
여기서, 상기 복잡도기준이미지처리단계(S22A.3)가 수행된 상기 처리대상이미지영역을 포함하는 프레임으로부터 상기 압축프레임을 생성한다는 것은 상기 복잡도기준이미지처리단계(S22A.3)가 수행된 상기 처리대상이미지영역을 포함하는 프레임을 바로 압축프레임으로 하는 경우 및 상기 복잡도기준이미지처리단계(S22A.3)가 수행된 상기 처리대상이미지영역을 포함하는 프레임에 대해 손실압축 등의 후처리를 수행하여 압축프레임을 생성하는 경우를 모두 포함하는 최광의로 해석되어야 할 것이다. 즉, 상기 제1 압축프레임생성단계(S22)는, 상기 복잡도기준이미지처리단계(S22A.3)가 수행된 상기 처리대상이미지영역을 포함하는 프레임에 대해 손실압축을 수행한 프레임으로부터 상기 압축프레임을 생성하는 경우를 포함한다.Here, the generation of the compressed frame from the frame including the processing target image area in which the complexity reference image processing step S22A.3 is performed may be performed in the same manner as the processing in step S22A2, A frame including the image area is immediately compressed frame, and a post-process such as lossy compression is performed on the frame including the processing target image area in which the complexity reference image processing step S22A.3 has been performed, The present invention is not limited thereto. That is, the first compressed frame generation step S22 may include a step of generating the first compressed frame from the frame in which the lossy compression is performed on the frame including the processing target image area in which the complexity reference image processing step S22A.3 has been performed And the like.
한편, 제1 압축프레임생성단계(S22A) 및 이의 세부과정은 전술한 도 5 내지 도 7 및 이와 관련된 발명의 상세한 설명에 기재된 내용에 상응하고, 이에 대한 설명은 생략하기로 한다.Meanwhile, the first compression frame generation step S22A and its detailed procedure correspond to the contents described in the above-described detailed description of Figs. 5 to 7 and the related description, and a description thereof will be omitted.
바람직하게는 상기 제1 이미지처리는 Blur처리이다.Preferably, the first image processing is Blur processing.
이하에서는, 상기 실시예 2에 대해서 설명하도록 한다.Hereinafter, the second embodiment will be described.
상기 압축프레임생성단계(S22)는 제2 압축프레임생성단계(S22B)를 포함하고, 상기 제2 압축프레임생성단계(S22B)는, 상기 처리대상이미지영역에 대하여 제2 이미지처리를 수행하여 제1 예비프레임을 생성하는 전체이미지처리단계(S22B.1); 및 상기 제1 예비프레임에 대하여 상기 압축대상 프레임의 원본의 이미지 데이터 중 이미지의 Edge부분을 결합하여 제2 예비프레임을 생성하는 Edge결합처리단계(S22B.2);를 포함하고, 상기 제2 예비프레임으로부터 상기 압축프레임을 생성한다. 도 14는 본 발명의 일 실시예에 따른 제2 압축프레임생성단계의 세부단계를 개략적으로 도시한 도면이다.Wherein the compressed frame generation step S22 includes a second compressed frame generation step S22B and the second compressed frame generation step S22B includes performing a second image processing on the image area to be processed, A whole image processing step (S22B.1) for generating a spare frame; And an edge combining processing step (S22B.2) of combining the edge portion of the image of the original image data of the compression target frame with the first spare frame to generate a second spare frame, wherein the second spare And generates the compressed frame from the frame. FIG. 14 is a view schematically showing sub-steps of a second compressed frame generation step according to an embodiment of the present invention.
여기서, 상기 제2 예비프레임으로부터 상기 압축프레임을 생성한다는 것은 상기 제2 예비프레임을 바로 압축프레임으로 하는 경우 및 상기 제2 예비프레임에 대해 손실압축 등의 후처리를 수행하여 압축프레임을 생성하는 경우를 모두 포함하는 최광의로 해석되어야 할 것이다.상기 제2 압축프레임생성단계(S22B)는, 상기 제2 예비프레임에 대해 손실압축이 수행된 프레임으로부터 상기 압축프레임을 생성하는 경우를 포함한다.Here, the generation of the compressed frame from the second preliminary frame means that the second preliminary frame is directly used as a compressed frame and the compressed frame is generated by performing post-processing such as lossy compression on the second preliminary frame The second compressed frame generation step S22B includes a case where the compressed frame is generated from a frame in which lossy compression is performed on the second spare frame.
한편, 제2 압축프레임생성단계(S22B) 및 이의 세부과정은 전술한 도 8 내지 도 9 및 이와 관련된 발명의 상세한 설명에 기재된 내용에 상응하고, 이에 대한 설명은 생략하기로 한다.Meanwhile, the second compressed frame generation step (S22B) and its detailed process correspond to the contents described in the above-described detailed description of FIGS. 8 to 9 and the related invention, and a description thereof will be omitted.
바람직하게는 상기 제2 이미지처리는 Blur처리이다.Preferably, the second image processing is Blur processing.
이하에서는, 상기 실시예 3에 대해서 설명하도록 한다.Hereinafter, the third embodiment will be described.
상기 압축프레임생성단계(S22C)는, 제1 압축프레임을 생성하는 제1 압축프레임생성단계; 상기 제1 압축프레임생성단계와는 상이한 방법으로 제2 압축프레임을 생성하는 제2 압축프레임생성단계; 및 상기 제1 압축프레임 및 상기 제2 압축프레임을 포함하는 후보프레임그룹 중 하나의 프레임을 상기 압축프레임으로 하는 압축프레임선택단계;를 포함한다.The compressed frame generation step (S22C) includes: a first compressed frame generation step of generating a first compressed frame; A second compressed frame generation step of generating a second compressed frame in a manner different from the first compressed frame generation step; And a compressed frame selecting step of selecting one of the candidate frame groups including the first compressed frame and the second compressed frame as the compressed frame.
여기서, 상기 제1 압축프레임생성단계는 전술한 제1 압축프레임생성단계(S22A)와 유사하나, 제1 압축프레임생성단계로부터 생성된 프레임을 최종 압축프레임으로 하는 것이 아니라 이를 제1 압축프레임으로 임시적으로 저장한다.Here, the first compressed frame generation step is similar to the first compressed frame generation step (S22A) described above. However, instead of using the frame generated from the first compressed frame generation step as a final compressed frame, .
구체적으로, 상기 제1 압축프레임생성단계는 상기 처리대상이미지영역을 구성하는 복수의 세부영역에 대하여 이미지의 복잡도를 산출하는 이미지복잡도산출단계; 상기 세부영역의 상기 복잡도가 기설정된 기준 이하인지 여부를 판단하는 이미지복잡도판별단계; 및 상기 세부영역의 복잡도가 기설정된 기준 이하인 경우에 상기 세부영역에 대하여 제1 이미지처리를 수행하는 복잡도기준이미지처리단계;를 포함하고, 상기 복잡도기준이미지처리단계가 수행된 상기 처리대상이미지영역을 포함하는 프레임으로부터 상기 제1 압축프레임을 생성한다.Specifically, the first compressed frame generation step may include: an image complexity calculation step of calculating an image complexity for a plurality of sub-areas constituting the image area to be processed; An image complexity determination step of determining whether the complexity of the detail area is less than a preset reference value; And a complexity-based image processing step of performing a first image processing on the detailed area when the complexity of the detailed area is less than a predetermined reference, wherein the step of processing the complexity- And generates the first compressed frame from the frame containing the first compressed frame.
여기서, 상기 복잡도기준이미지처리단계가 수행된 상기 처리대상이미지영역을 포함하는 프레임으로부터 상기 제1 압축프레임을 생성한다는 것은 상기 복잡도기준이미지처리단계가 수행된 상기 처리대상이미지영역을 포함하는 프레임을 바로 제1 압축프레임으로 하는 경우 및 상기 복잡도기준이미지처리단계가 수행된 상기 처리대상이미지영역을 포함하는 프레임에 대해 손실압축 등의 후처리를 수행하여 제1 압축프레임을 생성하는 경우를 모두 포함하는 최광의로 해석되어야 할 것이다. 즉, 상기 제1 압축프레임생성단계는, 상기 복잡도기준이미지처리단계가 수행된 상기 처리대상이미지영역을 포함하는 프레임에 대해 손실압축을 수행한 프레임으로부터 상기 압축프레임을 생성하는 경우를 포함한다.Here, the generation of the first compressed frame from the frame including the processing target image area in which the complexity-based image processing step has been performed may include a step of generating a frame including the processing target image area in which the complexity- And a case where a first compressed frame is generated by performing post-processing such as lossy compression on a frame including the processing target image area in which the complexity reference image processing step has been performed It should be interpreted as righteousness. That is, the first compressed frame generation step includes a case where the compressed frame is generated from a frame in which lossy compression has been performed on a frame including the processing target image area in which the complexity-based image processing step has been performed.
한편, 제1 압축프레임생성단계 및 이의 세부과정은 전술한 도 5 내지 도 7 및 이와 관련된 발명의 상세한 설명에 기재된 내용에 상응하고, 이에 대한 설명은 생략하기로 한다.Meanwhile, the first compressed frame generation step and its detailed process correspond to the contents described in the above-described detailed description of FIGS. 5 to 7 and the related description, and a description thereof will be omitted.
바람직하게는 상기 제1 이미지처리는 Blur처리이다.Preferably, the first image processing is Blur processing.
한편, 상기 제2 압축프레임생성단계는 전술한 제2 압축프레임생성단계(S22B)와 유사하나, 제2 압축프레임생성단계로부터 생성된 프레임을 최종 압축프레임으로 하는 것이 아니라 이를 제2 압축프레임으로 임시적으로 저장한다.Meanwhile, the second compressed frame generation step is similar to the second compressed frame generation step (S22B) described above. However, instead of using the frame generated from the second compressed frame generation step as a final compressed frame, .
구체적으로, 상기 제2 압축프레임생성단계는, 상기 처리대상이미지영역에 대하여 제2 이미지처리를 수행하여 제1 예비프레임을 생성하는 전체이미지처리단계; 상기 제1 예비프레임에 대하여 상기 압축대상 프레임의 원본의 이미지 데이터 중 이미지의 Edge부분을 결합하여 제2 예비프레임을 생성하는 Edge결합처리단계;를 포함하고, 상기 제2 예비프레임으로부터 상기 제2 압축프레임을 생성한다.Specifically, the second compressed frame generation step may include: a whole image processing step of performing a second image processing on the image area to be processed to generate a first spare frame; And an Edge combining step of generating a second preliminary frame by combining an edge part of an image of the original image data of the compression target frame with respect to the first preliminary frame, Frame.
여기서, 상기 제2 예비프레임으로부터 상기 제2 압축프레임을 생성한다는 것은 상기 제2 예비프레임을 바로 제2 압축프레임으로 하는 경우 및 상기 제2 예비프레임에 대해 손실압축 등의 후처리를 수행하여 제2 압축프레임을 생성하는 경우를 모두 포함하는 최광의로 해석되어야 할 것이다.즉, 상기 제2 압축프레임생성단계는, 상기 제2 예비프레임에 대해 손실압축이 수행된 프레임으로부터 상기 제2 압축프레임을 생성하는 경우를 포함한다.Here, the generation of the second compressed frame from the second preliminary frame means that the second preliminarily-encoded frame is directly used as the second compressed frame, and the second preliminary frame is subjected to post-processing such as lossy compression to generate the second compressed frame, The second compressed frame generation step generates the second compressed frame from the frame in which the lossy compression has been performed for the second spare frame, .
한편, 제2 압축프레임생성단계 및 이의 세부과정은 전술한 도 8 내지 도 9 및 이와 관련된 발명의 상세한 설명에 기재된 내용에 상응하고, 이에 대한 설명은 생략하기로 한다.Meanwhile, the second compressed frame generation step and the detailed process thereof correspond to the contents described in the above-described FIGS. 8 to 9 and the related detailed description of the present invention, and a description thereof will be omitted.
바람직하게는 상기 제2 이미지처리는 Blur처리이다.Preferably, the second image processing is Blur processing.
본 발명의 제3 실시예에 따르면 상기 압축프레임생성단계는, 제1 압축프레임을 생성하는 제1 압축프레임생성단계; 상기 제1 압축프레임생성단계와는 상이한 방법으로 제2 압축프레임을 생성하는 제2 압축프레임생성단계; 및 상기 제1 압축프레임 및 상기 제2 압축프레임을 포함하는 후보프레임그룹 중 하나의 프레임을 상기 압축프레임으로 하는 압축프레임선택단계;를 포함한다.According to a third embodiment of the present invention, the compressed frame generation step includes: a first compressed frame generation step of generating a first compressed frame; A second compressed frame generation step of generating a second compressed frame in a manner different from the first compressed frame generation step; And a compressed frame selecting step of selecting one of the candidate frame groups including the first compressed frame and the second compressed frame as the compressed frame.
여기서, 상기 후보프레임그룹 중 하나의 프레임을 선택함에 있어서 기준은 후보프레임그룹 중 용량이 가장 작은 프레임을 압축프레임으로 선택하는 것이 바람직하다.Here, in selecting one of the candidate frame groups, it is preferable that a frame having the smallest capacity among the candidate frame groups is selected as a compressed frame.
도 15은 본 발명의 일 실시예에 따른 동영상 압축방법의 세부단계를 개략적으로 도시한 도면이다.FIG. 15 is a view schematically showing detailed steps of a moving image compression method according to an embodiment of the present invention.
도 15에 도시된 동영상 압축방법은, 동영상의 압축대상 프레임이 I타입, P타입, 혹은 B타입에 해당하는 지 여부를 판별하는 프레임 판별단계(S100); 상기 프레임을 기설정된 기준에 따라 복수의 이미지 블록으로 구분하는 이미지블록구분단계(S200); 상기 프레임판별단계(S100)에 의하여 판별된 프레임 타입에 따라 상기 압축대상 프레임에서 처리대상이미지영역을 설정하는 처리대상이미지영역설정단계(S300); 상기 처리대상이미지영역에 대하여 이미지처리를 수행하여 제1 변환프레임 및 제2 변환프레임을 생성하는 변환프레임생성단계(S400); 상기 제1 변환프레임 및 제2 변환프레임에 대하여 압축을 수행하여 제1 압축프레임 및 제2 압축프레임을 생성하는 압축프레임생성단계(S500); 상기 제1 압축프레임 및 상기 제2 압축프레임에 대하여 데이터 크기를 비교하는 데이터크기비교단계(S600); 및 상기 제1 압축프레임 및 상기 제2 압축프레임 중 데이터 크기가 작은 프레임을 최종 압축프레임으로 선정하는 압축프레임선정단계(S700)을 포함한다.The moving picture compression method shown in FIG. 15 includes a frame determination step (S100) for determining whether a compression target frame of a moving picture corresponds to an I type, a P type, or a B type; An image block dividing step (S200) of dividing the frame into a plurality of image blocks according to a preset reference; A processing target image area setting step (S300) of setting a processing target image area in the compression target frame according to the frame type determined in the frame determination step (S100); A transform frame generation step (S400) of generating a first transform frame and a second transform frame by performing image processing on the image area to be processed; A compressed frame generation step (S500) of generating a first compressed frame and a second compressed frame by performing compression on the first converted frame and the second converted frame; A data size comparing step (S600) of comparing data sizes of the first compressed frame and the second compressed frame; And a compressed frame selecting step (S700) of selecting a frame having a small data size among the first compressed frame and the second compressed frame as a final compressed frame.
도 16은 본 발명의 일 실시예에 따른 처리대상이미지블록의 설정단계를 개략적으로 도시한 도면이다.FIG. 16 is a view schematically showing a step of setting an image block to be processed according to an embodiment of the present invention.
상기 처리대상이미지영역설정단계(S300)는 압축대상 프레임이 독립적으로 인코딩된 프레임인지 여부, 즉, I 프레임인지 여부를 판단하고(S310), I 프레임에 해당하는 경우에는 프레임의 전체 이미지블록을 처리대사이미지블록으로 설정한다(S320). 혹은 비독립적으로 인코딩된 프레임인 경우, 즉, P 프레임 혹은 B 프레임에 해당하는 경우에는, 이전 프레임, 1 이상의 이전프레임이 누적된 프레임, 및 이후 프레임 중 1 이상과 비교하여 변화가 있는 이미지블록을 처리대상이미지 블록으로 설정한다(S330). 이와 같은 과정에 대한 설명은 전술한 도 1 내지 도 14에서의 동영상 압축장치 및 동영상 압축방법에서의 설명과 동일하다.In step S300, the process determines whether the current frame to be compressed is an independently encoded frame, that is, whether it is an I frame (S310). If the current frame is an I frame, And sets it as a metabolic image block (S320). Or in the case of a non-independently encoded frame, that is, in the case of a P frame or a B frame, an image block having a change in comparison with at least one of the previous frame, the accumulated frame of one or more previous frames, As an image block to be processed (S330). The description of such a process is the same as that of the moving picture compressing apparatus and the moving picture compressing method in FIGS. 1 to 14 described above.
도 17은 본 발명의 일 실시예에 따른 제1 프레임변환방법의 세부단계를 개략적으로 도시한 도면이다.17 is a diagram schematically showing detailed steps of a first frame conversion method according to an embodiment of the present invention.
변환프레임생성단계(S400)는 상기 처리대상이미지영역에 대하여 이미지처리를 수행하여 제1 변환프레임 및 제2 변환프레임을 생성한다. 도 17은 상기 제1 변환프레임을 생성하는 제1 프레임변환방법의 세부단계들을 도시한다.The transform frame generation step (S400) performs image processing on the image area to be processed to generate a first transform frame and a second transform frame. FIG. 17 shows the detailed steps of the first frame conversion method for generating the first converted frame.
도 17에 도시된 바와 같이, 상기 제1 변환프레임생성단계는 각각의 이미지블록의 복잡도를 산출하는 이미지복잡도산출단계(S410A); 산출된 각각의 이미지블록의 복잡도가 기설정된 기준을 초과하는 지 여부를 판별하는 복잡도판별단계(S420A); 및 복잡도가 기설정된 기준 이하인 이미지블록에 대하여 Blur 처리를 수행하는 Blur 처리단계(S430A)를 포함한다.As shown in FIG. 17, the first transform frame generation step S410A includes an image complexity calculation step S410A for calculating the complexity of each image block; A complexity determination step (S420A) of determining whether the complexity of each of the calculated image blocks exceeds a predetermined criterion; And a Blur processing step (S430A) for performing blur processing on an image block whose complexity is equal to or less than a preset reference value.
도 18은 본 발명의 일 실시예에 따른 제2 프레임변환방법의 세부단계를 개략적으로 도시한 도면이다.18 is a view schematically showing the detailed steps of a second frame conversion method according to an embodiment of the present invention.
변환프레임생성단계(S400)는 상기 처리대상이미지영역에 대하여 이미지처리를 수행하여 제1 변환프레임 및 제2 변환프레임을 생성한다. 도 18은 상기 제2 변환프레임을 생성하는 제2 프레임변환방법의 세부단계들을 도시한다.The transform frame generation step (S400) performs image processing on the image area to be processed to generate a first transform frame and a second transform frame. 18 shows the detailed steps of the second frame conversion method for generating the second converted frame.
도 17에 도시된 바와 같이, 상기 제2 변환프레임생성단계는 각각의 이미지블록에 대해 Edge 처리를 수행하여 Edge이미지블록을 생성하는 Edge이미지블록생성단계(S410B); 상기 각각의 이미지블록 원본에 대하여 Blur처리를 수행하여 Blur 이미지블록을 생성하는 Blur이미지블록생성단계(S420B); Edge이미지블록에 대하여 이진화처리를 수행하여 이진화이미지블록을 생성하는 이진화이미지블록생성단계(S430B); 및 Blur이미지블록에 이진화이미지블록을 참조하여 Edge에 해당하는 원본 이미지블록의 이미지를 결합하는 이미지결합단계(S440)를 포함한다.As shown in FIG. 17, the second transform frame generation step includes an edge image block generation step (S410B) of generating an edge image block by performing edge processing on each image block; A Blur image block generation step (S420B) for generating a Blur image block by performing blur processing on the original image block; A step of generating a binarized image block by performing a binarization process on the edge image block (S430B); And an image combining step (S440) of combining the image of the original image block corresponding to the Edge with reference to the binarized image block in the Blur image block.
이후, 본 발명의 일 실시예에 따른 동영상 압축방법은 상기 제1 변환프레임 및 제2 변환프레임에 대하여 압축을 수행하여 제1 압축프레임 및 제2 압축프레임을 생성하는 압축프레임생성단계(S500); 상기 제1 압축프레임 및 상기 제2 압축프레임에 대하여 데이터 크기를 비교하는 데이터크기비교단계(S600); 및 상기 제1 압축프레임 및 상기 제2 압축프레임 중 데이터 크기가 작은 프레임을 최종 압축프레임으로 선정하는 압축프레임선정단계(S700)을 포함한다.Hereinafter, a moving image compression method according to an exemplary embodiment of the present invention may include a compressed frame generation step (S500) of generating a first compressed frame and a second compressed frame by performing compression on the first converted frame and the second converted frame; A data size comparing step (S600) of comparing data sizes of the first compressed frame and the second compressed frame; And a compressed frame selecting step (S700) of selecting a frame having a small data size among the first compressed frame and the second compressed frame as a final compressed frame.
본 발명의 일 실시예에 따르면, 원본 동영상의 해상도를 그대로 유지하면서 화질의 열화가 최소화된 동영상으로 압축할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, an effect of compressing a moving image with minimized deterioration of image quality while maintaining the resolution of the original moving image can be exhibited.
본 발명의 일 실시예에 따르면, 동영상의 코덱에 관계없이 원본 동영상에 대해 화질의 열화를 최소화하면서, 코덱을 그대로 유지하고, 압축률이 높은 압축된 동영상을 제공할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, it is possible to maintain the codec as it is while minimizing deterioration of picture quality with respect to the original moving picture, regardless of the codec of the moving picture, and to provide a compressed moving picture with a high compression rate.
본 발명의 일 실시예에 따르면 동영상에 대하여 전처리 과정을 거치기 때문에 기존의 인코더를 그대로 사용하면서 동영상 압축을 수행할 수 있는 효과를 발휘할 수 있다.According to an embodiment of the present invention, a preprocessing process is performed on a moving image, so that it is possible to perform a moving image compression while using an existing encoder as it is.
본 발명의 일 실시예에 따르면 H.264의 DCT(Discrete Cosine Transform) 변환, 차세대 비디오 코덱으로 각광받고 있는 H.265에서 사용되는 Wavelet 변환 및 손실 비디오 코덱(Lossy Video Codec)에는 모두 동영상을 압축할 수 있는 효과를 발휘할 수 있다. According to an embodiment of the present invention, the Wavelet transform and the Lossy Video Codec used in H.265, which is a discrete cosine transform (H.264) transform and a next generation video codec, The effect can be achieved.
도 19는 본 발명의 실시예들이 구현될 수 있는 예시적인 컴퓨팅 환경에 대한 간략하고 일반적인 개략도를 도시한다.Figure 19 illustrates a brief, general schematic diagram of an exemplary computing environment in which embodiments of the invention may be implemented.
본 발명이 일반적으로 하나 이상의 컴퓨터 상에서 실행될 수 있는 컴퓨터 실행가능 명령어와 관련하여 전술되었지만, 당업자라면 본 발명이 기타 프로그램 모듈들과 결합되어 및/또는 하드웨어와 소프트웨어의 조합으로서 구현될 수 있다는 것을 잘 알 것이다.Although the present invention has been described above generally in terms of computer-executable instructions that can be executed on one or more computers, those skilled in the art will appreciate that the present invention may be implemented in combination with other program modules and / will be.
일반적으로, 프로그램 모듈은 특정의 태스크를 수행하거나 특정의 추상 데이터 유형을 구현하는 루틴, 프로그램, 컴포넌트, 데이터 구조, 기타 등등을 포함한다. 또한, 당업자라면 본 발명의 방법이 단일-프로세서또는 멀티프로세서 컴퓨터 시스템, 미니컴퓨터, 메인프레임 컴퓨터는 물론 퍼스널 컴퓨터, 핸드헬드 컴퓨팅 장치, 마이크로프로세서-기반 또는 프로그램가능 가전 제품, 기타 등등(이들 각각은 하나 이상의 연관된 장치와 연결되어 동작할 수 있음)을 비롯한 다른 컴퓨터 시스템 구성으로 실시될 수 있다는 것을 잘 알 것이다.Generally, program modules include routines, programs, components, data structures, etc. that perform particular tasks or implement particular abstract data types. It will also be appreciated by those skilled in the art that the methods of the present invention may be practiced with other computer systems, such as single-processor or multiprocessor computer systems, minicomputers, mainframe computers, as well as personal computers, handheld computing devices, microprocessor-based or programmable consumer electronics, And may operate in conjunction with one or more associated devices).
본 발명의 설명된 실시예들은 또한 어떤 태스크들이 통신 네트워크를 통해 연결되어 있는 원격 처리 장치들에 의해 수행되는 분산 컴퓨팅 환경에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치 둘다에 위치할 수 있다.The described embodiments of the invention may also be practiced in distributed computing environments where certain tasks are performed by remote processing devices connected through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
컴퓨터는 통상적으로 다양한 컴퓨터 판독가능 매체를 포함한다. 컴퓨터에 의해 액세스 가능한 매체는 그 어떤것이든지 컴퓨터 판독가능 매체가 될 수 있고, 이러한 컴퓨터 판독가능 매체는 휘발성 및 비휘발성 매체, 일시적(transitory) 및 비일시적(non-transitory) 매체, 이동식 및 비-이동식 매체를 포함한다. 제한이 아닌 예로서, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 저장하는 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성 매체, 일시적 및 비-일시적 매체, 이동식 및 비이동식 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital video disk) 또는 기타 광 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 컴퓨터에 의해 액세스될 수 있고 원하는 정보를 저장하는 데 사용될 수 있는 임의의 기타 매체를 포함하지만, 이에 한정되지 않는다.Computers typically include a variety of computer readable media. Any medium accessible by a computer may be a computer-readable medium, which may include volatile and non-volatile media, transitory and non-transitory media, removable and non-removable media, Media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media includes volatile and nonvolatile media, both temporary and non-volatile media, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data, . Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital video disk (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, Or any other medium which can be accessed by a computer and used to store the desired information.
통신 매체는 통상적으로 반송파(carrier wave) 또는 기타 전송 메커니즘(transport mechanism)과 같은 피변조 데이터 신호(modulated data signal)에 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터 등을 구현하고 모든 정보 전달 매체를 포함한다. 피변조 데이터 신호라는 용어는 신호 내에 정보를 인코딩하도록 그 신호의 특성들 중 하나 이상을 설정 또는 변경시킨 신호를 의미한다. 제한이 아닌 예로서, 통신 매체는 유선 네트워크 또는 직접 배선 접속(direct-wired connection)과 같은 유선 매체, 그리고 음향, RF, 적외선, 기타 무선 매체와 같은 무선 매체를 포함한다. 상술된 매체들 중 임의의 것의 조합도 역시 컴퓨터 판독가능 매체의 범위 안에 포함되는 것으로 한다.Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal, such as a carrier wave or other transport mechanism, Media. The term modulated data signal refers to a signal that has one or more of its characteristics set or changed to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared, or other wireless media. Combinations of any of the above described media are also intended to be included within the scope of computer readable media.
컴퓨터(5102)를 포함하는 본 발명의 여러가지 측면들을 구현하는 예시적인 환경(5100)이 나타내어져 있으며, 컴퓨터(5102)는 처리 장치(5104), 시스템 메모리(5106) 및 시스템 버스(5108)를 포함한다. 시스템 버스(5108)는 시스템 메모리(5106)(이에 한정되지 않음)를 비롯한 시스템 컴포넌트들을 처리 장치(5104)에 연결시킨다. 처리장치(5104)는 다양한 상용 프로세서들 중 임의의 프로세서일 수 있다. 듀얼 프로세서 및 기타 멀티프로세서 아키텍처도 역시 처리 장치(5104)로서 이용될 수 있다.There is shown an exemplary environment 5100 that implements various aspects of the invention including a
시스템 버스(5108)는 메모리 버스, 주변장치 버스, 및 다양한 상용 버스 아키텍처 중 임의의 것을 사용하는 로컬 버스에 추가적으로 상호 연결될 수 있는 몇가지 유형의 버스 구조 중 임의의 것일 수 있다. 시스템 메모리(5106)는 판독 전용 메모리(ROM)(5110) 및 랜덤 액세스 메모리(RAM)(5112)를 포함한다. 기본 입/출력 시스템(BIOS)은 ROM, EPROM, EEPROM 등의 비휘발성 메모리(5110)에 저장되며, 이 BIOS는 시동 중과 같은 때에 컴퓨터(5102) 내의 구성요소들 간에 정보를 전송하는 일을 돕는 기본적인 루틴을 포함한다. RAM(5112)은 또한 데이터를 캐싱하기 위한 정적 RAM 등의 고속 RAM을 포함할 수 있다.The
컴퓨터(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 인터페이스 기술 중 적어도 하나 또는 그 둘다를 포함한다.The
이들 드라이브 및 그와 연관된 컴퓨터 판독가능 매체는 데이터, 데이터 구조, 컴퓨터 실행가능 명령어, 기타 등등의 비휘발성 저장을 제공한다. 컴퓨터(5102)의 경우, 드라이브 및 매체는 임의의 데이터를 적당한 디지털 형식으로 저장하는 것에 대응한다. 상기에서의 컴퓨터 판독가능 매체에 대한 설명이 HDD, 이동식 자기 디스크, 및 CD 또는 DVD 등의 이동식 광 매체를 언급하고 있지만, 당업자라면 집 드라이브(zip drive), 자기 카세트, 플래쉬 메모리 카드, 카트리지, 기타 등등의 컴퓨터에 의해 판독가능한 다른 유형의 매체도 역시 예시적인 운영 환경에서 사용될 수 있으며 또 임의의 이러한 매체가 본 발명의 방법들을 수행하기 위한 컴퓨터 실행가능 명령어를 포함할 수 있다는 것을 잘 알 것이다.These drives and their associated computer-readable media provide non-volatile storage of data, data structures, computer-executable instructions, and the like. In the case of the
운영 체제(5130), 하나 이상의 애플리케이션 프로그램(5132), 기타 프로그램 모듈(5134) 및 프로그램 데이터 (5136)을 비롯한 다수의 프로그램 모듈이 드라이브 및 RAM(5112)에 저장될 수 있다. 운영 체제, 애플리케이션, 모듈 및/또는 데이터의 전부 또는 그 일부분이 또한 RAM(5112)에 캐싱될 수 있다. 본 발명이 여러가지 상업적으로 이용가능한 운영 체제 또는 운영 체제들의 조합에서 구현될 수 있다는 것을 잘 알 것이다.A number of program modules, including an
사용자는 하나 이상의 유선/무선 입력 장치, 예를 들어, 키보드(5138) 및 마우스(5140) 등의 포인팅 장치를 통해 컴퓨터(5102)에 명령 및 정보를 입력할 수 있다. 기타 입력 장치(도시 생략)로는 마이크, IR 리모콘, 조이스틱, 게임 패드, 스타일러스 펜, 터치 스크린, 기타 등등이 있을 수 있다. 이들 및 기타 입력 장치가 종종 시스템 버스(5108)에 연결되어 있는 입력 장치 인터페이스(5142)를 통해 처리 장치(5104)에 연결되지만, 병렬 포트, IEEE 1394 직렬 포트, 게임 포트, USB 포트, IR 인터페이스, 기타 등등의 기타 인터페이스에 의해 연결될 수 있다.A user may enter commands and information into the
모니터(5144) 또는 다른 유형의 디스플레이 장치도 역시 비디오 어댑터(5146) 등의 인터페이스를 통해 시스템 버스(5108)에 연결된다. 모니터(5144)에 부가하여, 컴퓨터는 일반적으로 스피커, 프린터, 기타 등등의 기타 주변 출력 장치(도시 생략)를 포함한다.A
컴퓨터(5102)는 유선 및/또는 무선 통신을 통한 원격 컴퓨터(들)(5148) 등의 하나 이상의 원격 컴퓨터로의 논리적 연결을 사용하여 네트워크화된 환경에서 동작할 수 있다. 원격 컴퓨터(들)(5148)는 워크스테이션, 서버 컴퓨터, 라우터, 퍼스널 컴퓨터, 휴대용 컴퓨터, 마이크로프로세서-기반 오락 기기, 피어 장치 또는 기타 통상의 네트워크 노드일 수 있으며, 일반적으로 컴퓨터(5102)에 대해 기술된 구성요소들 중 다수 또는 그 전부를 포함하지만, 간략함을 위해, 메모리 저장 장치(5150)만이 도시되어 있다. 도시되어 있는 논리적 연결은 근거리 통신망(LAN)(5152) 및/또는 더 큰 네트워크, 예를 들어, 원거리 통신망(WAN)(5154)에의 유선/무선 연결을 포함한다.
이러한 LAN 및 WAN 네트워킹 환경은 사무실 및 회사에서 일반적인 것이며, 인트라넷 등의 전사적 컴퓨터 네트워크(enterprise-wide computer network)를 용이하게 해주며, 이들 모두는 전세계 컴퓨터 네트워크, 예를 들어, 인터넷에 연결될 수 있다.These LAN and WAN networking environments are commonplace in offices and corporations and facilitate enterprise-wide computer networks such as intranets, all of which can be connected to computer networks worldwide, for example the Internet.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(5102)는 유선 및/또는 무선 통신 네트워크 인터페이스 또는 어댑터(5156)를 통해 로컬 네트워크(5152)에 연결된다. 어댑터(5156)는 LAN(5152)에의 유선 또는 무선 통신을 용이하게 해줄 수 있으며, 이 LAN(5152)은 또한 무선 어댑터(5156)와 통신하기 위해 그에 설치되어 있는 무선 액세스포인트를 포함하고 있다. WAN 네트워킹 환경에서 사용될 때, 컴퓨터(5102)는 모뎀(5158)을 포함할 수 있거나, WAN(5154) 상의 통신 서버에 연결되거나, 또는 인터넷을 통하는 등, WAN(5154)을 통해 통신을 설정하는 기타 수단을 갖는다. 내장형 또는 외장형 및 유선 또는 무선 장치일 수 있는 모뎀(5158)은 직렬 포트 인터페이스(5142)를 통해 시스템 버스(5108)에 연결된다. 네트워크화된 환경에서, 컴퓨터(5102)에 대해 설명된 프로그램 모듈들 또는 그의 일부분이 원격 메모리/저장 장치(5150)에 저장될 수 있다. 도시된 네트워크 연결이 예시적인 것이며 컴퓨터들 사이에 통신 링크를 설정하는 기타 수단이 사용될 수 있다는 것을 잘 알 것이다.When used in a LAN networking environment, the
컴퓨터(5102)는 무선 통신으로 배치되어 동작하는 임의의 무선 장치 또는 개체, 예를 들어, 프린터, 스캐너, 데스크톱 및/또는 휴대용 컴퓨터, PDA(portable data assistant), 통신 위성, 무선 검출가능 태그와 연관된 임의 의 장비 또는 장소, 및 전화와 통신을 하는 동작을 한다. 이것은 적어도 Wi-Fi 및 블루투스 무선 기술을 포함한다. 따라서, 통신은 종래의 네트워크에서와 같이 미리 정의된 구조이거나 단순하게 적어도 2개의 장치 사이의 애드혹 통신(ad hoc communication)일 수 있다.The
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) 데이터 레이트로 동작하거나, 양 대역(듀얼 대역)을 포함하는 제품에서 동작할 수 있다.Wi-Fi (Wireless Fidelity) allows you to connect to the Internet without wires. Wi-Fi is a wireless technology such as a cell phone that allows such devices, e.g., computers, to transmit and receive data indoors and outdoors, i. E. Anywhere within the coverage area of a base station. Wi-Fi networks use a wireless technology called IEEE 802.11 (a, b, g, etc.) to provide a secure, reliable, and high-speed wireless connection. Wi-Fi can be used to connect computers to each other, the Internet, and a wired network (using IEEE 802.3 or Ethernet). The Wi-Fi network may operate in unlicensed 2.4 and 5 GHz wireless bands, for example, at 11 Mbps (802.11a) or 54 Mbps (802.11b) data rates, or in products containing both bands have.
본 발명의 기술 분야에서 통상의 지식을 가진 자는 정보 및 신호들이 임의의 다양한 상이한 기술들 및 기법들을 이용하여 표현될 수 있다는 것을 이해할 것이다. 예를 들어, 위의 설명에서 참조될 수 있는 데이터, 지시들, 명령들, 정보, 신호들, 비트들, 심볼들 및 칩들은 전압들, 전류들, 전자기파들, 자기장들 또는 입자들, 광학장들또는 입자들, 또는 이들의 임의의 결합에 의해 표현될 수 있다.Those of ordinary skill in the art will understand that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, commands, information, signals, bits, symbols, and chips that may be referenced in the above description may include voltages, currents, electromagnetic waves, magnetic fields or particles, Particles or particles, or any combination thereof.
본 발명의 기술 분야에서 통상의 지식을 가진 자는 여기에 개시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 프로세서들, 수단들, 회로들 및 알고리즘 단계들이 전자 하드웨어, (편의를 위해, 여기에 서 "소프트웨어"로 지칭되는) 다양한 형태들의 프로그램 또는 설계 코드 또는 이들 모두의 결합에 의해 구현될 수 있다는 것을 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 상호 호환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 이들의 기능과 관련하여 위에서 일반적으로 설명되었다. 이러한 기능이 하드웨어 또는 소프트웨어로서 구현되는지 여부는 특정한 애플리케이션 및 전체 시스템에 대하여 부과되는 설계 제약들에 따라 좌우된다. 본 발명의 기술 분야에서 통상의 지식을 가진 자는 각각의 특정한 애플리케이션에 대하여 다양한 방식들로 설명된 기능을 구현할 수 있으나, 이러한 구현 결정들은 본 발명의 범위를 벗어나는 것으로 해석되어서는 안 될 것이다.Those skilled in the art will appreciate that the various illustrative logical blocks, modules, processors, means, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be embodied directly in electronic hardware, (Which may be referred to herein as "software") or a combination of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends on the design constraints imposed on the particular application and the overall system. Those skilled in the art may implement the described functionality in various ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
여기서 제시된 다양한 실시예들은 방법, 장치, 또는 표준 프로그래밍 및/또는 엔지니어링 기술을 사용한 제조물품(article)으로 구현될 수 있다. 용어 "제조 물품"은 임의의 컴퓨터-판독가능 장치로부터 액세스 가능한 컴퓨터 프로그램, 캐리어, 또는 매체(media)를 포함한다. 예를 들어, 컴퓨터-판독가능 매체는 자기 저장 장치(예를 들면, 하드 디스크, 플로피 디스크, 자기 스트립, 등), 광학 디스크(예를 들면, CD, DVD, 등), 스마트 카드,및 플래쉬 메모리 장치(예를 들면, EEPROM, 카드, 스틱, 키 드라이브, 등)를 포함하지만, 이들로 제한되는 것은 아니다. 또한, 여기서 제시되는 다양한 저장 매체는 정보를 저장하기 위한 하나 이상의 장치 및/또는 다른 기계-판독가능한 매체를 포함한다. 용어 "기계-판독가능 매체"는 명령(들) 및/또는 데이터를 저장, 보유, 및/또는 전달할 수 있는 무선 채널 및 다양한 다른 매체를 포함하지만, 이들로 제한되는 것은 아니다. The various embodiments presented herein may be implemented as a method, apparatus, or article of manufacture using standard programming and / or engineering techniques. The term "article of manufacture" includes a computer program, carrier, or media accessible from any computer-readable device. For example, the computer-readable medium can be a magnetic storage device (e.g., a hard disk, a floppy disk, a magnetic strip, etc.), an optical disk (e.g., CD, DVD, etc.), a smart card, But are not limited to, devices (e. G., EEPROM, cards, sticks, key drives, etc.). The various storage media presented herein also include one or more devices and / or other machine-readable media for storing information. The term "machine-readable medium" includes, but is not limited to, a wireless channel and various other media capable of storing, holding, and / or transferring instruction (s) and / or data.
제시된 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조는 예시적인 접근들의 일례임을 이해하도록 한다. 설계 우선순위들에 기반하여, 본 발명의 범위 내에서 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조가 재배열될 수 있다는 것을 이해하도록 한다. 첨부된 방법 청구항들은 샘플 순서로 다양한 단계들의 엘리먼트들을 제공하지만 제시된 특정한 순서 또는 계층 구조에 한정되는 것을 의미하지는 않는다.It will be appreciated that the particular order or hierarchy of steps in the presented processes is an example of exemplary approaches. It will be appreciated that, based on design priorities, certain orders or hierarchies of steps in processes may be rearranged within the scope of the present invention. The appended method claims provide elements of the various steps in a sample order, but are not meant to be limited to the specific order or hierarchy presented.
제시된 실시예들에 대한 설명은 임의의 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 발명의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 발명의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 발명은 여기에 제시된 실시예들로 한정되는 것이 아니라, 여기에 제시 된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.The description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features presented herein.
Claims (22)
동영상의 압축대상 프레임이 독립적으로 인코딩된 프레임인지 여부를 판별하는 프레임타입판별단계; 및
상기 압축대상 프레임이 독립적으로 인코딩된 프레임인 경우와 상기 압축대상 프레임이 독립적으로 인코딩된 프레임이 아닌 경우를 구분하여 압축프레임을 생성하는 프레임압축단계;를 포함하고,
상기 프레임압축단계는,
상기 압축대상 프레임의 처리대상이미지영역을 설정하는 처리대상이미지영역설정단계; 및
상기 처리대상이미지영역의 일부 혹은 전체가 변환된 압축프레임을 생성하는 압축프레임생성단계;를 포함하고,
상기 처리대상이미지영역설정단계는 상기 압축대상 프레임이 독립적으로 인코딩된 프레임인 경우에는 상기 압축대상 프레임의 전체를 상기 처리대상이미지영역으로 설정하고,
상기 압축대상 프레임이 독립적으로 인코딩된 프레임이 아닌 경우에는 상기 압축대상 프레임의 일부를 상기 처리대상이미지영역으로 설정하는, 동영상 압축방법.
1. A moving image compression method performed in a computing device including at least one processor and a main memory storing instructions executable by the processor,
A frame type determination step of determining whether a compression target frame of the moving picture is an independently encoded frame; And
And a frame compression step of separating a case where the compression object frame is an independently encoded frame and a case where the compression object frame is not an independently encoded one,
Wherein the frame compression step comprises:
A processing target image area setting step of setting a processing target image area of the compression target frame; And
And a compressed frame generation step of generating a compressed frame in which a part or the whole of the image area to be processed is transformed,
Wherein the processing target image area setting step sets the entire compression target frame as the processing target image area when the compression target frame is an independently encoded frame,
And sets a part of the compression target frame as the processing target image area when the compression target frame is not an independently encoded frame.
상기 처리대상이미지영역설정단계는 기설정된 기준에 따라 상기 압축대상 프레임을 복수의 이미지블록으로 구분하고,
상기 압축대상 프레임이 독립적으로 인코딩된 프레임이 아닌 경우에는, 상기 압축대상 프레임의 상기 복수의 이미지블록 중 일부의 이미지블록을 상기 처리대상이미지영역으로 설정하는, 동영상 압축방법.
The method of claim 2,
Wherein the processing target image area setting step comprises: dividing the compression target frame into a plurality of image blocks according to a preset reference;
And sets a part of the plurality of image blocks of the compression target frame as the processing target image area if the compression target frame is not an independently encoded frame.
상기 처리대상이미지영역설정단계는 상기 압축대상 프레임이 독립적으로 인코딩된 프레임이 아닌 경우에는, 상기 압축대상 프레임의 이전 프레임, 이후 프레임, 및 복수의 이전 프레임이 누적된 프레임 중 1 이상과 비교하여 상기 압축대상 프레임의 부분 중 변화가 있는 부분을 상기 처리대상이미지영역으로 설정하는, 동영상 압축방법.
The method according to claim 2 or 3,
The image processing method according to claim 1, wherein, in the case where the compression target frame is not an independently encoded frame, the process of setting the processing target image area is performed by comparing at least one of a previous frame, a following frame, And sets a portion of the portion of the frame to be compressed as the processing target image region.
상기 압축프레임생성단계는 제1 압축프레임생성단계를 포함하고,
상기 제1 압축프레임생성단계는,
상기 처리대상이미지영역을 구성하는 복수의 세부영역에 대하여 이미지의 복잡도를 산출하는 이미지복잡도산출단계;
상기 세부영역의 상기 복잡도가 기설정된 기준 이하인지 여부를 판단하는 이미지복잡도판별단계; 및
상기 세부영역의 복잡도가 기설정된 기준 이하인 경우에 상기 세부영역에 대하여 제1 이미지처리를 수행하는 복잡도기준이미지처리단계;를 포함하고,
상기 복잡도기준이미지처리단계가 수행된 상기 처리대상이미지영역을 포함하는 프레임으로부터 상기 압축프레임을 생성하는, 동영상 압축방법.
The method of claim 2,
The compressed frame generation step includes a first compressed frame generation step,
Wherein the first compressed frame generation step comprises:
An image complexity calculating step of calculating an image complexity with respect to a plurality of detail areas constituting the image area to be processed;
An image complexity determination step of determining whether the complexity of the detail area is less than a preset reference value; And
And performing a first image processing on the detailed area when the complexity of the detailed area is less than or equal to a preset reference,
And the compressed frame is generated from a frame including the processed image area in which the complexity-based image processing step has been performed.
상기 제1 압축프레임생성단계는,
상기 복잡도기준이미지처리단계가 수행된 상기 처리대상이미지영역을 포함하는 프레임에 대해 손실압축을 수행한 프레임으로부터 상기 압축프레임을 생성하는, 동영상 압축방법.
The method of claim 5,
Wherein the first compressed frame generation step comprises:
And the compressed frame is generated from a frame in which lossy compression is performed on a frame including the processed image area in which the complexity-based image processing step has been performed.
상기 제1 이미지처리는 Blur처리인, 동영상 압축방법.
The method according to claim 5 or 6,
Wherein the first image processing is Blur processing.
상기 압축프레임생성단계는 제2 압축프레임생성단계를 포함하고,
상기 제2 압축프레임생성단계는,
상기 처리대상이미지영역에 대하여 제2 이미지처리를 수행하여 제1 예비프레임을 생성하는 전체이미지처리단계; 및
상기 제1 예비프레임에 대하여 상기 압축대상 프레임의 원본의 이미지 데이터 중 이미지의 Edge부분을 결합하여 제2 예비프레임을 생성하는 Edge결합처리단계;를 포함하고,
상기 제2 예비프레임으로부터 상기 압축프레임을 생성하는, 동영상 압축방법.
The method of claim 2,
The compressed frame generation step includes a second compressed frame generation step,
Wherein the second compressed frame generation step comprises:
A whole image processing step of performing a second image processing on the image area to be processed to generate a first spare frame; And
And an edge combining step of generating a second preliminary frame by combining an edge part of the image of the original image data of the compression target frame with respect to the first preliminary frame,
And generates the compressed frame from the second spare frame.
상기 제2 예비프레임에 대해 손실압축이 수행된 프레임으로부터 상기 압축프레임을 생성하는, 동영상 압축방법.
The method of claim 8,
And generates the compressed frame from a frame in which lossy compression has been performed for the second spare frame.
상기 제2 이미지처리는 Blur처리인, 동영상 압축방법.
The method according to claim 8 or 9,
And the second image processing is Blur processing.
상기 압축프레임생성단계는,
제1 압축프레임을 생성하는 제1 압축프레임생성단계;
상기 제1 압축프레임생성단계와는 상이한 방법으로 제2 압축프레임을 생성하는 제2 압축프레임생성단계; 및
상기 제1 압축프레임 및 상기 제2 압축프레임을 포함하는 후보프레임그룹 중 하나의 프레임을 상기 압축프레임으로 하는 압축프레임선택단계;를 포함하는, 동영상 압축방법.
The method of claim 2,
The compressed frame generation step includes:
A first compressed frame generation step of generating a first compressed frame;
A second compressed frame generation step of generating a second compressed frame in a manner different from the first compressed frame generation step; And
And selecting one of the candidate frame groups including the first compressed frame and the second compressed frame as the compressed frame.
상기 제1 압축프레임생성단계는,
상기 처리대상이미지영역을 구성하는 복수의 세부영역에 대하여 이미지의 복잡도를 산출하는 이미지복잡도산출단계;
상기 세부영역의 상기 복잡도가 기설정된 기준 이하인지 여부를 판단하는 이미지복잡도판별단계; 및
상기 세부영역의 복잡도가 기설정된 기준 이하인 경우에 상기 세부영역에 대하여 제1 이미지처리를 수행하는 복잡도기준이미지처리단계;를 포함하고,
상기 복잡도기준이미지처리단계가 수행된 상기 처리대상이미지영역을 포함하는 프레임으로부터 상기 제1 압축프레임을 생성하는, 동영상 압축방법.
The method of claim 11,
Wherein the first compressed frame generation step comprises:
An image complexity calculating step of calculating an image complexity with respect to a plurality of detail areas constituting the image area to be processed;
An image complexity determination step of determining whether the complexity of the detail area is less than a preset reference value; And
And performing a first image processing on the detailed area when the complexity of the detailed area is less than or equal to a preset reference,
And the first compressed frame is generated from a frame including the processed image area in which the complexity-based image processing step has been performed.
상기 제2 압축프레임생성단계는,
상기 처리대상이미지영역에 대하여 제2 이미지처리를 수행하여 제1 예비프레임을 생성하는 전체이미지처리단계;
상기 제1 예비프레임에 대하여 상기 압축대상 프레임의 원본의 이미지 데이터 중 이미지의 Edge부분을 결합하여 제2 예비프레임을 생성하는 Edge결합처리단계;를 포함하고,
상기 제2 예비프레임으로부터 상기 제2 압축프레임을 생성하는, 동영상 압축방법.
The method of claim 11,
Wherein the second compressed frame generation step comprises:
A whole image processing step of performing a second image processing on the image area to be processed to generate a first spare frame;
And an edge combining step of generating a second preliminary frame by combining an edge part of the image of the original image data of the compression target frame with respect to the first preliminary frame,
And generates the second compressed frame from the second spare frame.
상기 제1 압축프레임생성단계는,
상기 처리대상이미지영역을 구성하는 복수의 세부영역에 대하여 이미지의 복잡도를 산출하는 이미지복잡도산출단계;
상기 세부영역의 상기 복잡도가 기설정된 기준 이하인지 여부를 판단하는 이미지복잡도판별단계; 및
상기 세부영역의 복잡도가 기설정된 기준 이하인 경우에 상기 세부영역에 대하여 제1 이미지처리를 수행하는 복잡도기준이미지처리단계;를 포함하고,
상기 복잡도기준이미지처리단계가 수행된 상기 처리대상이미지영역을 포함하는 프레임으로부터 상기 제1 압축프레임을 생성하고,
상기 제2 압축프레임생성단계는,
상기 처리대상이미지영역에 대하여 제2 이미지처리를 수행하여 제1 예비프레임을 생성하는 전체이미지처리단계;
상기 제1 예비프레임에 대하여 상기 압축대상 프레임의 원본의 이미지 데이터 중 이미지의 Edge부분을 결합하여 제2 예비프레임을 생성하는 Edge결합처리단계;를 포함하고,
상기 제2 예비프레임으로부터 상기 제2 압축프레임을 생성하는, 동영상 압축방법.
The method of claim 11,
Wherein the first compressed frame generation step comprises:
An image complexity calculating step of calculating an image complexity with respect to a plurality of detail areas constituting the image area to be processed;
An image complexity determination step of determining whether the complexity of the detail area is less than a preset reference value; And
And performing a first image processing on the detailed area when the complexity of the detailed area is less than or equal to a preset reference,
Generating the first compressed frame from a frame including the processed image area in which the complexity-based image processing step has been performed,
Wherein the second compressed frame generation step comprises:
A whole image processing step of performing a second image processing on the image area to be processed to generate a first spare frame;
And an edge combining step of generating a second preliminary frame by combining an edge part of the image of the original image data of the compression target frame with respect to the first preliminary frame,
And generates the second compressed frame from the second spare frame.
상기 컴퓨터 프로그램은,
동영상의 압축대상 프레임이 독립적으로 인코딩된 프레임인지 여부를 판별하는 프레임타입판별명령; 및
상기 압축대상 프레임이 독립적으로 인코딩된 프레임인 경우와 상기 압축대상 프레임이 독립적으로 인코딩된 프레임이 아닌 경우를 구분하여 압축프레임을 생성하는 프레임압축명령;를 포함하고,
상기 프레임압축명령은,
상기 압축대상 프레임의 처리대상이미지영역을 설정하는 처리대상이미지영역설정 명령; 및
상기 처리대상이미지영역의 일부 혹은 전체가 변환된 압축프레임을 생성하는 압축프레임생성명령;을 포함하고,
상기 처리대상이미지영역설정 명령은 상기 압축대상 프레임이 독립적으로 인코딩된 프레임인 경우에는 상기 압축대상 프레임의 전체를 상기 처리대상이미지영역으로 설정하고,
상기 압축대상 프레임이 독립적으로 인코딩된 프레임이 아닌 경우에는 상기 압축대상 프레임의 일부를 상기 처리대상이미지영역으로 설정하는, 컴퓨터 프로그램.
21. A computer program stored in a computer-readable medium comprising a plurality of instructions executed by one or more processors,
The computer program comprising:
A frame type determination command for determining whether a compression target frame of the moving picture is an independently encoded frame; And
And a frame compression instruction for generating a compressed frame by separating the case where the compression object frame is an independently encoded frame and the case where the compression object frame is not an independently encoded frame,
Wherein the frame compression instruction comprises:
A processing target image area setting command for setting a processing target image area of the compression target frame; And
And a compressed frame generation command for generating a compressed frame in which part or all of the image area to be processed is converted,
Wherein the processing target image area setting command sets the entire compression target frame as the processing target image area when the compression target frame is an independently encoded frame,
And sets a part of the compression target frame as the processing target image area when the compression target frame is not an independently encoded frame.
상기 처리대상이미지영역설정명령은 기설정된 기준에 따라 상기 압축대상 프레임을 복수의 이미지블록으로 구분하고,
상기 압축대상 프레임이 독립적으로 인코딩된 프레임이 아닌 경우에는, 상기 압축대상 프레임의 상기 복수의 이미지블록 중 일부의 이미지블록을 상기 처리대상이미지영역으로 설정하는, 컴퓨터 프로그램.
18. The method of claim 16,
Wherein the processing target image area setting command divides the compression target frame into a plurality of image blocks according to a preset reference,
And sets a part of the plurality of image blocks of the compression target frame as the processing target image area when the compression target frame is not an independently encoded frame.
상기 처리대상이미지영역설정명령은 상기 압축대상 프레임이 독립적으로 인코딩된 프레임이 아닌 경우에는, 상기 압축대상 프레임의 이전 프레임, 이후 프레임, 및 복수의 이전 프레임이 누적된 프레임 중 1 이상과 비교하여 상기 압축대상 프레임의 부분 중 변화가 있는 부분을 상기 처리대상이미지영역으로 설정하는, 컴퓨터 프로그램.
The method according to claim 16 or 17,
Wherein the processing target image area setting command is configured to compare the previous frame, the subsequent frame, and the plurality of previous frames of the compression target frame with at least one of accumulated frames when the compression target frame is not an independently encoded frame, And sets a portion of the portion of the frame to be compressed as the processing target image region.
상기 압축프레임생성명령은 제1 압축프레임생성명령을 포함하고,
상기 제1 압축프레임생성명령은,
상기 처리대상이미지영역을 구성하는 복수의 세부영역에 대하여 이미지의 복잡도를 산출하는 이미지복잡도산출명령;
상기 세부영역의 상기 복잡도가 기설정된 기준 이하인지 여부를 판단하는 이미지복잡도판별명령; 및
상기 세부영역의 복잡도가 기설정된 기준 이하인 경우에 상기 세부영역에 대하여 제1 이미지처리를 수행하는 복잡도기준이미지처리명령;을 포함하고,
상기 복잡도기준이미지처리명령이 수행된 상기 처리대상이미지영역을 포함하는 프레임으로부터 상기 압축프레임을 생성하는, 컴퓨터 프로그램.
18. The method of claim 17,
Wherein the compressed frame generation command includes a first compressed frame generation command,
Wherein the first compressed frame generation command includes:
An image complexity calculating unit that calculates an image complexity with respect to a plurality of detail areas constituting the image area to be processed;
An image complexity determining command for determining whether the complexity of the detail area is less than a preset reference; And
And a complexity reference image processing instruction for performing a first image processing on the detailed area when the complexity of the detailed area is equal to or less than a predetermined reference,
And generates the compressed frame from a frame including the processed image area in which the complexity-based image processing command is performed.
상기 압축프레임생성명령은 제2 압축프레임생성명령을 포함하고,
상기 제2 압축프레임생성명령은,
상기 처리대상이미지영역에 대하여 제2 이미지처리를 수행하여 제1 예비프레임을 생성하는 전체이미지처리명령; 및
상기 제1 예비프레임에 대하여 상기 압축대상 프레임의 원본의 이미지 데이터 중 이미지의 Edge부분을 결합하여 제2 예비프레임을 생성하는 Edge결합처리명령;을 포함하고,
상기 제2 예비프레임으로부터 상기 압축프레임을 생성하는, 컴퓨터 프로그램.
18. The method of claim 17,
Wherein the compressed frame generation command includes a second compressed frame generation command,
Wherein the second compressed frame generation command includes:
A whole image processing instruction for performing a second image processing on the image area to be processed to generate a first spare frame; And
And an edge combining processing instruction for combining the edge portion of the image of the original image data of the compression target frame with the first spare frame to generate a second spare frame,
And generate the compressed frame from the second spare frame.
상기 압축프레임생성명령은,
제1 압축프레임을 생성하는 제1 압축프레임생성명령;
상기 제1 압축프레임생성명령과는 상이한 방법으로 제2 압축프레임을 생성하는 제2 압축프레임생성명령; 및
상기 제1 압축프레임 및 상기 제2 압축프레임을 포함하는 후보프레임그룹 중 하나의 프레임을 상기 압축프레임으로 하는 압축프레임선택명령;를 포함하는, 컴퓨터 프로그램.
18. The method of claim 17,
The compressed frame generation command includes:
A first compressed frame generation command for generating a first compressed frame;
A second compressed frame generation command for generating a second compressed frame in a manner different from the first compressed frame generation command; And
And a compressed frame selection instruction that causes one of the candidate frame groups including the first compressed frame and the second compressed frame to be the compressed frame.
동영상의 압축대상 프레임이 I타입, P타입, 혹은 B타입에 해당하는 지 여부를 판별하는 프레임 판별단계;
상기 프레임을 기설정된 기준에 따라 복수의 이미지 블록으로 구분하는 이미지블록구분단계;
상기 프레임판별단계에 의하여 판별된 프레임 타입에 따라 상기 압축대상 프레임에서 처리대상이미지영역을 설정하는 처리대상이미지영역설정단계;
상기 처리대상이미지영역에 대하여 이미지처리를 수행하여 제1 변환프레임 및 제2 변환프레임을 생성하는 변환프레임생성단계;
상기 제1 변환프레임 및 제2 변환프레임에 대하여 압축을 수행하여 제1 압축프레임 및 제2 압축프레임을 생성하는 압축프레임생성단계;
상기 제1 압축프레임 및 상기 제2 압축프레임에 대하여 데이터 크기를 비교하는 데이터크기비교단계; 및
상기 제1 압축프레임 및 상기 제2 압축프레임 중 데이터 크기가 작은 프레임을 최종 압축프레임으로 선정하는 압축프레임선정단계를 포함하는, 동영상 압축방법.A method of compressing a moving picture,
A frame discrimination step of discriminating whether a compression target frame of the moving picture corresponds to an I type, a P type or a B type;
An image block dividing step of dividing the frame into a plurality of image blocks according to a preset reference;
A processing target image area setting step of setting a processing target image area in the compression target frame according to a frame type determined by the frame determination step;
A transform frame generation step of generating a first transform frame and a second transform frame by performing image processing on the image area to be processed;
A compressed frame generation step of generating a first compressed frame and a second compressed frame by performing compression on the first transform frame and the second transform frame;
A data size comparing step of comparing data sizes of the first compressed frame and the second compressed frame; And
And a compressed frame selecting step of selecting a frame having a small data size among the first compressed frame and the second compressed frame as a final compressed frame.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160074366A KR101930389B1 (en) | 2016-06-15 | 2016-06-15 | Video File Compression Method, Device and Computer Program Thereof |
PCT/KR2017/004517 WO2017217656A1 (en) | 2016-06-15 | 2017-04-27 | Method and apparatus for video compression and computer program therefor |
JP2018560909A JP2019524007A (en) | 2016-06-15 | 2017-04-27 | Video compression method and apparatus, and computer program therefor |
US16/019,324 US20180324438A1 (en) | 2016-06-15 | 2018-06-26 | Method, device, and computer-readable medium for compressing image |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160074366A KR101930389B1 (en) | 2016-06-15 | 2016-06-15 | Video File Compression Method, Device and Computer Program Thereof |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180155382A Division KR20180134799A (en) | 2018-12-05 | 2018-12-05 | Video File Compression Method, Device and Computer Program Thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170141390A KR20170141390A (en) | 2017-12-26 |
KR101930389B1 true KR101930389B1 (en) | 2019-01-02 |
Family
ID=60936799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160074366A KR101930389B1 (en) | 2016-06-15 | 2016-06-15 | Video File Compression Method, Device and Computer Program Thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101930389B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102460123B1 (en) | 2018-02-02 | 2022-10-31 | 삼성전자주식회사 | Electronic device for compressing image using compression attributes generated in image acquisition process using image sensor and method for operating thefeof |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5418756B2 (en) * | 2007-01-22 | 2014-02-19 | 日本電気株式会社 | Image re-encoding device, image re-encoding method, and image re-encoding program |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4448866B2 (en) * | 2007-03-30 | 2010-04-14 | 日立ビアメカニクス株式会社 | Drawing device |
KR100968027B1 (en) * | 2007-06-27 | 2010-07-07 | 티유미디어 주식회사 | Variable block-based method and apparatus for filtering of deblocking type, and deblocking filter applied to the same |
EP2595382B1 (en) * | 2011-11-21 | 2019-01-09 | BlackBerry Limited | Methods and devices for encoding and decoding transform domain filters |
KR101538010B1 (en) * | 2012-08-31 | 2015-07-22 | 주식회사 에이투텍 | Apparatus and Method for Encoding Image, Apparatus and Method for Decoding Image |
-
2016
- 2016-06-15 KR KR1020160074366A patent/KR101930389B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5418756B2 (en) * | 2007-01-22 | 2014-02-19 | 日本電気株式会社 | Image re-encoding device, image re-encoding method, and image re-encoding program |
Also Published As
Publication number | Publication date |
---|---|
KR20170141390A (en) | 2017-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113557745B (en) | Point cloud geometry filling | |
JP4918099B2 (en) | Encoding method and apparatus for applying coefficient reordering | |
JP5606591B2 (en) | Video compression method | |
US20070103484A1 (en) | Video to animation conversion with file size constraint | |
JP2019524007A (en) | Video compression method and apparatus, and computer program therefor | |
JP6016332B2 (en) | Image processing apparatus and image processing method | |
US9467681B2 (en) | Representation and compression of depth data | |
Luo et al. | Convolutional neural networks-based stereo image reversible data hiding method | |
KR101847459B1 (en) | Apparatus and method for converting image | |
KR101930389B1 (en) | Video File Compression Method, Device and Computer Program Thereof | |
CN104581158A (en) | Quantization table and image compression processing methods and devices, terminal and image searching system | |
JP4776505B2 (en) | Image encoding device, image decoding device, and image processing program | |
US10630991B2 (en) | Image difference detection device, method for detecting image difference, and computer program | |
JP2004523178A (en) | How to process video into encoded bitstream | |
KR20180134799A (en) | Video File Compression Method, Device and Computer Program Thereof | |
JP2018515853A (en) | System and method for performing self-similarity upsampling | |
US7627198B2 (en) | Information signal processing device and processing method, codebook generating device and generating method, and program for executing the methods | |
US10291911B2 (en) | Classes of tables for use in image compression | |
US20040096198A1 (en) | Adaptive digital video recorder and method of controlling the same | |
CN115393761A (en) | Video key frame extraction method, device, equipment and storage medium | |
Furushita et al. | Double Compression Detection of HEIF Images Using Coding Ghosts | |
US20110103705A1 (en) | Image encoding method and apparatus, and image decoding method and apparatus | |
KR102037951B1 (en) | Apparatus and method for processing image based on file format | |
CN113191210A (en) | Image processing method, device and equipment | |
JP2004289284A (en) | Image processing method, image processing apparatus, and image processing program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |