KR100474916B1 - Apparatus and method for generating thumbnail image - Google Patents
Apparatus and method for generating thumbnail image Download PDFInfo
- Publication number
- KR100474916B1 KR100474916B1 KR10-2002-0050318A KR20020050318A KR100474916B1 KR 100474916 B1 KR100474916 B1 KR 100474916B1 KR 20020050318 A KR20020050318 A KR 20020050318A KR 100474916 B1 KR100474916 B1 KR 100474916B1
- Authority
- KR
- South Korea
- Prior art keywords
- slice
- thumbnail
- buffer
- image
- value
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 239000000872 buffer Substances 0.000 claims description 106
- 230000003139 buffering effect Effects 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 14
- 230000006870 function Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000012447 hatching Effects 0.000 description 4
- 238000012935 Averaging Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 3
- 238000012805 post-processing Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
- H04N21/440263—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the spatial resolution, e.g. for displaying on a connected PDA
-
- 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/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
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/414—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
- H04N21/4147—PVR [Personal Video Recorder]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
디지털 TV에 장착된 개인용 비디오 녹화기(PVR) 또는 기타 디지털 비디오 데이터 베이스 시스템 등에서 제공하는 기능 중 썸네일(Thumbnail) 영상 생성 장치 및 방법에 관한 것으로서, 특히 HD급 비디오의 경우에는 서브 블록당 하나의 썸네일 화소를 추출하고, SD급 비디오의 경우에는 보간을 통해 서브 블록당 네 개의 썸네일 화소를 생성함으로써, 스트림의 포맷의 차이에 의한 구조적인 썸네일 영상 크기의 불일치 문제를 해결하여 일관된 크기의 썸네일 영상을 생성하며, 더불어 썸네일 생성 과정에서의 과도한 해상도 손실을 방지하는 동시에 비교적 커다란 썸네일 영상을 생성할 수 있다. 또한, SD급 비디오에 대한 리사이징 연산을 수행할 때 요구되는 메모리의 크기를 감소하기 위해 전체 썸네일 영상에 리사이징 연산을 수행하지 않고 I 픽처의 DC 값을 일정 단위로 분할하여 각각의 단위에 대하여 독립적인 리사이징을 수행하며 이 과정에서 가로 및 세로 방향으로 동일한 스케일링 계수를 적용함으로써, 원 영상의 종횡비를 유지할 수 있다.The present invention relates to a thumbnail image generating apparatus and method among functions provided by a personal video recorder (PVR) or other digital video database system installed in a digital TV.In particular, in the case of HD video, one thumbnail pixel per sub block. In the case of SD video, four thumbnail pixels per sub-block are generated through interpolation to solve the problem of structural thumbnail image size mismatch caused by the format of the stream, and to generate thumbnail images of consistent size. In addition, a relatively large thumbnail image can be generated while preventing excessive resolution loss during thumbnail generation. In addition, in order to reduce the size of memory required when performing resizing operation for SD video, the DC value of the I picture is divided by a predetermined unit without performing a resizing operation on the entire thumbnail image, and is independent of each unit. By resizing and applying the same scaling factor in the horizontal and vertical directions in this process, it is possible to maintain the aspect ratio of the original image.
Description
본 발명은 디지털 TV에 장착된 개인용 비디오 녹화기(Personal Video Recorder ; PVR) 또는 기타 디지털 비디오 데이터 베이스 시스템 등에서 제공하는 기능 중 썸네일(Thumbnail) 영상 생성 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for generating a thumbnail image among functions provided by a personal video recorder (PVR) or other digital video database system mounted on a digital TV.
일반적으로 썸네일 영상은 브라우징(browsing) 혹은 탐색(searching) 등의 목적으로 동영상의 특정 프레임을 원래의 크기보다 작게 표현한 것이다. 이런 썸네일 영상은 주로 디지털 TV에 장착된 PVR 또는, 기타 디지털 비디오 데이터 베이스 시스템 등에서 제공하는 부가 기능 중 저장된 비디오의 내용 요약(content summary), 키 프레임(key frame) 생성, 스토리 보드(story board) 구성, 및 저장된 동영상 미디어에 대한 프로그램 가이드 등의 기능을 제공하는데 필요하다. 특히, 썸네일 영상은 PVR에서 스토리 보드 또는 프로그램 가이드 등과 같은 부가 기능에서 비디오의 내용 정보를 효과적으로 제공하기 위해 필요한 대표 영상으로 사용하는 등 그 활용 분야가 다양하다.In general, a thumbnail image represents a specific frame of a video smaller than its original size for the purpose of browsing or searching. These thumbnail images are mainly composed of content summary, key frame generation, and story board of stored video among additional functions provided by PVR or digital video database system installed in digital TV. , And program guides for stored video media. In particular, the thumbnail image is used in various fields, such as using a thumbnail image as a representative image required to effectively provide content information of a video in an additional function such as a storyboard or a program guide in the PVR.
썸네일 영상을 생성하는 종래의 방법은 MPEG으로 부호화된 비디오의 프레임 중 I 픽쳐(picture)의 DC 값을 이용하는 방법이 있다. 이 방법은 해당 비디오 프레임 전체를 재생하는데 필요한 가변 복호화기(variable length decoder ; VLD)를 필요로 하지 않으며 썸네일 영상의 생성을 위한 추가적인 축소에 필요한 스케일링 연산을 요구하지 않으므로 하드웨어적인 부담을 크게 줄이면서 가로 및 세로 방향으로 각각 1/8 만큼 축소된 영상을 생성할 수 있다. 즉, 비교적 간단한 방법으로 하드웨어적인 부담 없이 원 영상의 1/64의 크기에 해당하는 썸네일 영상을 생성할 수 있는 장점이 있다. A conventional method of generating a thumbnail image is a method using a DC value of an I picture among frames of video encoded by MPEG. This method does not require a variable length decoder (VLD) for playing the entire video frame, and does not require scaling operations for further reduction to generate thumbnail images, greatly reducing the hardware burden and reducing the horizontal. And an image reduced by 1/8 in the vertical direction, respectively. That is, a relatively simple method has the advantage of generating a thumbnail image corresponding to the size of 1/64 of the original image without burden on the hardware.
그러나 일반적으로 디지털 TV로 시청할 수 있는 MPEG 비디오 스트림은 크게 HD(High Definition)급 및 SD(Standard Definition)급의 다양한 포맷을 가지며 이러한 다양한 포맷에 따라 비디오의 각 프레임의 해상도 역시 차이가 있다. In general, however, MPEG video streams that can be viewed on a digital TV have various formats such as HD (High Definition) and SD (Standard Definition), and the resolution of each frame of the video also varies according to the various formats.
그런데, 기존의 DC 값을 이용한 썸네일 영상 생성 방법은 입력되는 비디오의 포맷에 관계없이 원 영상의 1/64의 크기에 해당하는 썸네일 영상을 생성한다. 예를 들어 1920x1080의 해상도를 갖는 HD급 비디오와 720x480의 해상도를 갖는 SD급 비디오의 썸네일 영상은 각각 240x136, 90x60의 해상도를 갖는다. However, the conventional method for generating a thumbnail image using a DC value generates a thumbnail image corresponding to 1/64 of the original image regardless of the format of the input video. For example, thumbnail images of HD video having a resolution of 1920x1080 and SD video having a resolution of 720x480 have a resolution of 240x136 and 90x60, respectively.
따라서, 비디오의 포맷에 따라 썸네일 영상의 크기가 6배 이상 차이가 날 수 있으며 이러한 차이는 실제 응용 분야에서 썸네일 영상의 배치가 비디오 포맷에 따라 다르게 정의되어야 하는 문제가 발생한다. 즉 여러 장의 썸네일 영상을 화면에 표시하기 위한 디스플레이 맵이 각 포맷마다 다르게 정의되어야 하며 썸네일을 저장하는 디바이스, 예를 들어 메모리에서의 저장 공간을 정의하는 메모리 맵 역시 이러한 크기의 불일치에 의해 각각의 동영상 포맷에 따라 다르게 정의해야 하는 문제점이 존재한다. 아울러 SD급의 경우에 썸네일 영상이 너무 작아 이를 디스플레이 할 때 사용자에게 명확한 정보 전달이 어려운 경우도 발생한다.Therefore, the size of the thumbnail image may vary by more than 6 times depending on the format of the video. This difference causes a problem in that the arrangement of the thumbnail image is defined differently according to the video format in an actual application field. In other words, the display map for displaying multiple thumbnail images on the screen should be defined differently for each format, and the device that stores the thumbnails, for example, the memory map that defines the storage space in memory, will also be used for each video due to this size mismatch. There is a problem that needs to be defined differently depending on the format. In addition, in the case of SD class, thumbnail images are too small to clearly convey information to the user when displaying them.
만일, 리사이징(resizing) 연산을 사용하여 서로 다른 크기를 갖는 썸네일 영상의 크기를 일치시키고자 한다면 원래 크기의 썸네일 영상 및 리사이징 된 썸네일 영상에 해당하는 분량의 메모리가 요구된다. 또한 정교한 썸네일 리사이징을 위한 수학적 연산 및 그래픽 함수 등이 요구되므로 이에 상응하는 복잡한 하드웨어가 요구되는 문제점이 존재한다. 이와 더불어 비디오 포맷에 따라 원 영상이 갖는 종횡비(aspect ratio)가 서로 다르기 때문에 리사이징을 사용하여 크기를 정확하게 일치시킬 경우 종횡비의 왜곡으로 인한 문제점이 발생할 수 있다. 예를 들어 SD급 비디오에서 추출된 90x60 크기를 갖는 썸네일 영상의 경우 이를 240x136의 크기에 정확하게 일치시킬 경우 가로 및 세로 방향의 스케일링의 크기의 차이로 인한 시각적인 왜곡 문제가 발생할 수 있다.If a size of thumbnail images having different sizes is to be matched by using a resizing operation, an amount of memory corresponding to a thumbnail image of the original size and a resized thumbnail image is required. In addition, since mathematical operations and graphic functions are required for sophisticated thumbnail resizing, corresponding hardware is required. In addition, since the aspect ratio of the original image is different according to the video format, a problem may occur due to distortion of the aspect ratio when the size is exactly matched using resizing. For example, in the case of a thumbnail image having a size of 90x60 extracted from an SD video, if it is exactly matched to the size of 240x136, there may be a visual distortion problem due to the difference in the size of the horizontal and vertical scaling.
이러한 문제를 해결하기 위해 종래의 방법에서는 SD급 비디오의 경우에 블록 당 한 개의 썸네일 영상 화소를 추출하고 HD급 비디오의 경우에는 블록 단위가 아닌 매크로블록 단위로 한 개의 썸네일 영상 화소를 추출하여 HD와 SD급 비디오의 썸네일 영상의 크기 차이를 해결하였다. 이 방법은 리사이징과 같은 후처리 연산 없이 비교적 간단한 하드웨어로 서로 다른 포맷을 갖는 비디오에서 생성된 썸네일의 크기를 일치시킨다는 장점이 존재한다. 그러나 이와 같은 방법은 썸네일 영상의 크기를 SD급을 기준으로 한 것으로 HD급의 경우 원 영상의 1/256의 크기(가로 및 세로 방향으로 각각 1/16의 크기)에 해당하는 썸네일 영상이 생성되므로 해상도 손실이 비교적 크며 복잡한 영상의 경우 내용 전달이 용이하지 못하고 썸네일이 시각적으로 부드럽지 못한 단점이 존재한다. In order to solve this problem, in the conventional method, one thumbnail image pixel is extracted per block in case of SD-level video, and one thumbnail image pixel is extracted in macroblock instead of block in case of HD-quality video. The size difference of thumbnail images of SD video is solved. This method has the advantage of matching the size of thumbnails generated in video with different formats with relatively simple hardware without post-processing operations such as resizing. However, in this method, the size of the thumbnail image is based on the SD class, and in the HD class, thumbnail images corresponding to the size of 1/256 of the original image (the size of 1/16 each in the horizontal and vertical directions) are generated. There are disadvantages in that the resolution loss is relatively large and complex images are not easily delivered and thumbnails are not visually smooth.
본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 본 발명의 목적은 사용자에게 비디오 스트림의 포맷에 관계없이 그 크기가 일관적이고 사용자로 하여금 내용의 인식이 용이하도록 하는 썸네일 영상 생성 장치 및 방법을 제공함에 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and an object of the present invention is to provide a thumbnail image generating apparatus and method for the user to recognize the contents in a consistent size regardless of the format of the video stream. Is in.
본 발명의 다른 목적은 썸네일 영상의 크기를 HD급에 기준을 두어 SD급 썸네일 영상 크기의 불일치를 슬라이스 단위로 보상하는 썸네일 영상 생성 장치 및 방법을 제공함에 있다.Another object of the present invention is to provide a thumbnail image generating apparatus and method for compensating for inconsistency in size of a thumbnail image of a SD class thumbnail based on a size of a thumbnail image based on a HD class.
상기와 같은 목적을 달성하기 위한 본 발명에 따른 썸네일 영상 생성 장치 및 방법은, I 픽처의 DC값을 사용하여 썸네일 영상을 생성하되 SD급 비디오 스트림에 대해서는 추가적으로 4배만큼 더 확대된 썸네일 영상을 생성하는 것을 특징으로 한다.An apparatus and method for generating a thumbnail image according to the present invention for achieving the above object generates a thumbnail image using a DC value of an I picture, but generates a thumbnail image enlarged by an additional 4 times for an SD video stream. Characterized in that.
상기의 다른 목적을 달성하기 위한 본 발명에 따른 썸네일 영상 생성 장치 및 방법은, SD급 비디오의 I 픽처에 대해서 리사이징 연산을 수행하는 과정을 각 슬라이스에 대하여 독립적으로 수행하는 것을 특징으로 한다. An apparatus and method for generating a thumbnail image according to the present invention for achieving the above object is characterized in that a process of performing a resizing operation on an I picture of SD video is performed independently for each slice.
이를 위해 본 발명에 따른 썸네일 영상 생성 장치는, 입력되는 비디오 스트림으로부터 I 픽쳐의 DC값만을 파싱(parsing)하는 DC 디코더와, 상기 DC 디코더에서 출력되는 DC 값을 슬라이스 단위로 저장하는 슬라이스 버퍼와, 상기 DC 디코더에서 출력되는 DC 값이 포함되는 영상이 HD급이면 상기 DC 값을 그대로 상기 슬라이스 버퍼에 저장하고, SD급이면 상기 영상의 각 매크로 블록에 포함되는 서브 블록들의 DC값을 보간을 통해 N2(N은 2이상의 자연수)배 확대하여 상기 슬라이스 버퍼에 저장하도록 제어하며, 상기 슬라이스 버퍼에 저장된 DC값을 썸네일 영상을 생성하기 위해 썸네일 전용 메모리로 출력하는 버퍼 제어기를 포함하여 구성되는 것을 특징으로 한다.To this end, a thumbnail image generating apparatus according to the present invention includes a DC decoder for parsing only a DC value of an I picture from an input video stream, a slice buffer for storing the DC value output from the DC decoder in units of slices, If the image including the DC value output from the DC decoder is HD, the DC value is stored in the slice buffer as it is. If the SD level, the DC value of sub-blocks included in each macro block of the image is interpolated by N. 2 (N is a natural number of 2 or more) enlarged to control to store in the slice buffer, and comprises a buffer controller for outputting a DC value stored in the slice buffer to a thumbnail dedicated memory to generate a thumbnail image do.
상기 버퍼 제어기는 입력되는 영상이 SD급이면 상기 영상의 각 매크로 블록에 포함되는 4개의 휘도 블록들에 대한 DC 값들은 선형 보간을 통해 가로 및 세로 방향으로 각각 2배 확대하고, Cb 및 Cr 블록에 대한 DC값들은 선형 보간을 통해 가로 방향으로 2배 확대한 후 상기 슬라이스 버퍼에 슬라이스 단위로 저장되도록 제어하는 것을 특징으로 한다.If the input image is SD, the DC values of the four luminance blocks included in each macro block of the image are enlarged twice in the horizontal and vertical directions through linear interpolation, and the Cb and Cr blocks are respectively expanded. The DC values for the control are enlarged in the horizontal direction by linear interpolation and then controlled to be stored in the slice buffer in the slice unit.
상기 버퍼 제어기는 상기 슬라이스 버퍼에 저장된 Cb 및 Cr 블록에 대한 DC값들을 썸네일 전용 메모리로 전송시 상기 슬라이스 버퍼의 리드 포인트 제어에 의해 상기 슬라이스 버퍼로부터 하나의 썸네일 영상 라인에 해당하는 Cb 및 Cr 블록에 대한 DC 값들을 중복시켜 전송하는 것을 특징으로 한다.The buffer controller transmits DC values for the Cb and Cr blocks stored in the slice buffer to a thumbnail dedicated memory, and controls the read points of the slice buffer to the Cb and Cr blocks corresponding to one thumbnail image line from the slice buffer. It is characterized in that for transmitting the overlapping DC values.
상기 버퍼 제어기는 현재 슬라이스의 DC 값만을 이용하여 보간된 값들이 저장된 휘도 영역의 값은 현재 슬라이스 종료시 상기 썸네일 전용 메모리로 전송하고, 현재 슬라이스와 다음 슬라이스의 DC 값을 이용하여 보간된 값들이 저장된 휘도 영역의 값은 다음 슬라이스 종료시 상기 썸네일 전용 메모리로 전송하는 것을 특징으로 한다.The buffer controller transmits the value of the luminance region in which the interpolated values are stored using only the DC value of the current slice to the thumbnail dedicated memory at the end of the current slice, and the luminance is stored in the interpolated values using the DC values of the current slice and the next slice. The value of the region is transmitted to the thumbnail dedicated memory at the end of the next slice.
상기 버퍼 제어기는 마지막 슬라이스의 경우에 마지막 휘도 영역의 값은 상기 슬라이스 버퍼에 저장하지 않으며, 썸네일 전용 메모리로 전송시 상기 슬라이스 버퍼의 리드 포인트 제어에 의해 바로 전 휘도 영역의 값을 중복시켜 전송하는 것을 특징으로 한다.The buffer controller does not store the value of the last luminance region in the slice buffer in the case of the last slice, and duplicates the value of the immediately previous luminance region by a read point control of the slice buffer when transferring to a thumbnail dedicated memory. It features.
본 발명에 따른 썸네일 영상 생성 방법은, 입력되는 비디오 스트림으로부터 I 픽쳐의 DC값만을 파싱하는 단계와, 상기 파싱 단계에서 입력되는 DC값이 포함된 영상이 HD급이면 상기 영상의 각 매크로 블록에 포함되는 모든 서브 블록들에 대한 DC 값을 슬라이스 단위로 상기 슬라이스 버퍼에 저장하는 단계와, 상기 파싱 단계에서 입력되는 DC값이 포함된 영상이 SD급이면 상기 영상의 각 매크로 블록에 포함되는 서브 블록들의 DC 값을 보간을 통해 가로 및 세로 방향으로 각각 N(N은 2이상의 자연수)배 확대하여 슬라이스 단위로 상기 슬라이스 버퍼에 저장하는 단계와, 상기 매크로 블록이 포함되는 슬라이스가 종료하면 상기 슬라이스 버퍼에 저장된 DC값들을 썸네일 전용 메모리로 전송하는 단계를 포함하여 이루어지는 것을 특징으로 한다.The thumbnail image generating method according to the present invention includes parsing only a DC value of an I picture from an input video stream, and if the image including the DC value input in the parsing step is HD, it is included in each macro block of the image. Storing DC values of all subblocks in slice units in the slice buffer; and if the image including the DC value input in the parsing step is SD, the subblocks included in each macroblock of the image N (N is a natural number of 2 or more) times enlarged in the horizontal and vertical directions through interpolation, and storing the DC value in the slice buffer in slice units, and when the slice including the macroblock ends, stored in the slice buffer. And transmitting the DC values to a thumbnail dedicated memory.
본 발명의 다른 목적, 특징 및 잇점들은 첨부한 도면을 참조한 실시예들의 상세한 설명을 통해 명백해질 것이다.Other objects, features and advantages of the present invention will become apparent from the following detailed description of embodiments taken in conjunction with the accompanying drawings.
이하, 첨부된 도면을 참조하여 본 발명의 실시예의 구성과 그 작용을 설명하며, 도면에 도시되고 또 이것에 의해서 설명되는 본 발명의 구성과 작용은 적어도 하나의 실시예로서 설명되는 것이며, 이것에 의해서 상기한 본 발명의 기술적 사상과 그 핵심 구성 및 작용이 제한되지는 않는다.Hereinafter, with reference to the accompanying drawings illustrating the configuration and operation of the embodiment of the present invention, the configuration and operation of the present invention shown in the drawings and described by it will be described as at least one embodiment, By the technical spirit of the present invention described above and its core configuration and operation is not limited.
본 발명은 I 픽처의 DC값을 사용하여 썸네일 영상을 생성하되 SD급 비디오 스트림에 대해서는 추가적으로 4배만큼 더 확대된 썸네일 영상을 생성하는데 특징이 있다. 이를 위해 HD급 비디오의 경우에는 블록 당 하나의 썸네일 화소를 추출하며, SD급 비디오의 경우에는 블록 당 네 개의 썸네일 화소를 생성한다. 즉, SD급 비디오의 경우 각각의 DC 값에 대하여 간단한 선형 보간법을 적용하여 결과적으로 가로 및 세로 방향으로 각각 2배의 리사이징 연산을 수행함으로써, 블록당 4개의 썸네일 화소를 생성한다.The present invention is characterized in generating a thumbnail image using the DC value of an I picture, but generating a thumbnail image enlarged by an additional 4 times for an SD video stream. For this purpose, one thumbnail pixel is extracted per block in case of HD video, and four thumbnail pixels are generated per block in case of SD video. That is, in the case of SD video, a simple linear interpolation method is applied to each DC value, and as a result, four thumbnail pixels are generated per block by performing twice the resizing operation in the horizontal and vertical directions, respectively.
또한, 본 발명에 의한 썸네일 영상 생성 장치는 SD급 비디오의 I 픽처에 대해서 리사이징 연산을 수행하는 과정을 각 슬라이스에 대하여 독립적으로 수행한다. 즉, 내부적으로 슬라이스에 해당하는 데이터를 저장할 수 있는 버퍼를 두어 슬라이스 단위로 DC 값을 입력받아 가로 및 세로 방향으로 각각 2배의 리사이징 연산을 수행한다. 결과적으로 한 슬라이스당 4줄에 해당하는 썸네일 데이터를 썸네일 전용 메모리에 전송하게 된다.In addition, the thumbnail image generating apparatus according to the present invention performs a process of performing a resizing operation on an I picture of SD video, independently for each slice. That is, internally, there is a buffer to store data corresponding to slices, and DC values are received in units of slices, and double resizing operations are performed in the horizontal and vertical directions, respectively. As a result, four lines of thumbnail data per slice are transferred to the thumbnail dedicated memory.
도 1은 본 발명에 따른 썸네일 영상 생성 장치의 일 실시예를 나타낸 구성 블록도로서, 비디오 입력으로부터 I 픽쳐의 DC 값만을 파싱하는 DC 디코더(101), 상기 파싱된 DC값을 저장하기 위한 슬라이스 버퍼(103), 및 상기 DC값을 슬라이스 버퍼(103)에 저장시키고 또한, 상기 슬라이스 버퍼(103)에 저장된 DC값을 썸네일 메모리 인터페이스(104)를 통해 썸네일 전용 메모리로 전송하며, 전체적인 흐름을 제어하는 버퍼 제어기(102)로 구성된다. 1 is a block diagram showing an embodiment of a thumbnail image generating apparatus according to the present invention, a DC decoder 101 for parsing only a DC value of an I picture from a video input, and a slice buffer for storing the parsed DC value. And a DC value stored in the slice buffer 103, and a DC value stored in the slice buffer 103 to a thumbnail dedicated memory through a thumbnail memory interface 104, and controls the overall flow. It consists of a buffer controller 102.
즉, 상기 버퍼 제어기(102)는 썸네일 메모리 인터페이스(104)를 통해 버퍼(102)에 저장된 데이터를 썸네일 전용 메모리의 특정 위치에 저장될 수 있도록 한다. 여기서, 상기 썸네일 전용 메모리는 별도로 구비할 수도 있으며, 또는 시스템 메모리를 공유할 수도 있다. 만일 시스템 메모리를 공유한다면 썸네일 메모리 인터페이스도 시스템 메모리 인터페이스를 그대로 이용할 수 있다.That is, the buffer controller 102 can store data stored in the buffer 102 through a thumbnail memory interface 104 in a specific location of the thumbnail dedicated memory. Here, the thumbnail dedicated memory may be provided separately or may share a system memory. If the system memory is shared, the thumbnail memory interface can also use the system memory interface.
상기 DC 디코더(101)는 일반적인 MPEG 비디오 디코더의 VLD에 비해 매우 간단한 구조로 I 픽쳐의 DC값만을 파싱할 수 있는 구조를 갖는다. 즉, 썸네일 영상을 생성하는 것이 목적이므로 P 픽쳐 및 B 픽쳐를 복호화 할 필요가 없으며, 기타 AC 값을 구하기 위해 필요한 가변 복호화 테이블 및 하드웨어 부분이 제거된 구조이다. The DC decoder 101 has a structure that can parse only the DC value of the I picture in a very simple structure compared to the VLD of a general MPEG video decoder. That is, since the purpose is to generate a thumbnail image, there is no need to decode the P picture and the B picture, and the structure of the variable decoding table and hardware required to obtain other AC values is removed.
즉, 본 발명은 버퍼 제어기(102)의 제어에 의해 DC 디코더(101)에서 I 픽처의 슬라이스 단위로 썸네일 데이터를 생성하여 이를 슬라이스 버퍼(103)에 저장한 다음 현재 슬라이스에 해당하는 데이터가 모두 입력될 경우 썸네일 전용 메모리로 전송하게 된다. 이때, 매크로블록 어드레스 MBA와 한 개의 슬라이스에 포함되는 매크로블록의 최대 개수를 MB_WIDTH라고 정의할 때, 각 매크로블록의 가로 위치 MBX는 MBA%MB_WIDTH가 된다. 따라서 MBX가 MB_WIDTH-1이 되는 시점이 슬라이스의 마지막 매크로블록이 입력되는 시점이므로 이때에 해당하는 매크로블록의 DC값이 모두 입력되면 슬라이스 버퍼(103)의 데이터를 썸네일 전용 메모리로 전송한다. That is, the present invention generates thumbnail data in the slice unit of an I picture in the DC decoder 101 under the control of the buffer controller 102, stores it in the slice buffer 103, and then inputs all data corresponding to the current slice. If so, it will be transferred to the thumbnail dedicated memory. At this time, when defining the macroblock address MBA and the maximum number of macroblocks included in one slice as MB_WIDTH, the horizontal position MBX of each macroblock is MBA% MB_WIDTH. Therefore, when the MBX becomes MB_WIDTH-1, the last macroblock of the slice is input. When all DC values of the macroblocks are input, the data of the slice buffer 103 is transferred to the thumbnail dedicated memory.
그리고, 상기 슬라이스 버퍼의 크기는 1800 바이트이며 그 근거는 이하에서 다른 도면을 이용하여 설명한다.The size of the slice buffer is 1800 bytes, and the basis thereof will be described below with reference to other drawings.
이때, 썸네일 영상의 생성 방법은 현재 입력되는 비디오 스트림이 HD급인지 또는 SD급인지 여부에 따라 다르게 구성된다.At this time, the generation method of the thumbnail image is configured differently depending on whether the current video stream is HD or SD.
도 2는 입력되는 비디오 스트림이 HD급인 경우의 썸네일 영상 생성 방법의 일 실시예를 보인 동작 흐름도로서, 블록 당 하나의 썸네일 화소를 추출한다.FIG. 2 is a flowchart illustrating an example of a method of generating a thumbnail image when an input video stream is HD-class, and extracts one thumbnail pixel per block.
여기서, 컬러 포맷을 4:2:0으로 가정하면 매크로 블록은 6개의 서브 블록 즉, 4개의 Y 성분 블록과 1개의 Cb 및 Cr 성분 블록으로 구성된다. Cb 및 Cr은 색차 성분으로서, Y 성분에 의해 화소가 형성될 때 화소의 색을 표현하므로, 실제 매크로 블록당 4개의 썸네일 화소가 생성된다.Here, assuming that the color format is 4: 2: 0, the macro block is composed of six sub blocks, that is, four Y component blocks and one Cb and Cr component blocks. Cb and Cr are chrominance components and represent the color of the pixel when the pixel is formed by the Y component, and thus four thumbnail pixels are generated per actual macroblock.
즉, 특정 슬라이스의 매크로 블록이 시작되면(단계 201), 상기 매크로 블록에 포함되는 모든 서브 블록(예를 들어 컬러 포맷이 4:2:0인 경우, 4개의 Y 성분 블록, 1개의 Cb 및 Cr 성분 블록)에 대한 DC 값을 파싱하여 슬라이스 버퍼(103)에 저장한다(단계 202).That is, when a macro block of a specific slice starts (step 201), all the sub blocks included in the macro block (for example, when the color format is 4: 2: 0, four Y component blocks, one Cb, and Cr) The DC value for the component block) is parsed and stored in slice buffer 103 (step 202).
그리고, 상기 슬라이스가 종료되었는지를 판별한다(단계 203). 상기 슬라이스의 종료는 전술한 바와 같이 각 매크로블록의 가로 위치 MBX가 MB_WIDTH-1이 되는 시점인지를 확인하면 알 수 있다. 만일 상기 MBX가 MB_WIDTH-1이 되는 시점이면 상기 슬라이스의 마지막 매크로블록이 입력되는 시점이므로, 버퍼 제어기(102)는 이때에 해당하는 매크로 블록의 DC값을 슬라이스 버퍼(103)에서 읽어내어 썸네일 메모리 인터페이스(104)를 통해 썸네일 전용 메모리로 전송한다(단계 204). Then, it is determined whether the slice is finished (step 203). As described above, the end of the slice can be known by checking whether the horizontal position MBX of each macroblock is at the time of MB_WIDTH-1. If the MBX becomes MB_WIDTH-1, the last macroblock of the slice is input. Therefore, the buffer controller 102 reads the DC value of the macroblock corresponding to the slice from the slice buffer 103 and provides a thumbnail memory interface. Via 104, transfer to the thumbnail dedicated memory (step 204).
한편, 상기 단계 203에서 슬라이스 종료 전으로 판별되면, 다음 매크로 블록을 입력받은 후 단계 202로 되돌아간다(단계 205).On the other hand, if it is determined before the end of the slice in step 203, the process returns to step 202 after receiving the next macro block (step 205).
즉, HD급 비디오의 썸네일 영상에 대해서는 리사이징을 수행하지 않으므로 상기 슬라이스 버퍼(103)에 입력되는 실제 DC 값의 개수와 상기 슬라이스 버퍼(103)에 저장되는 DC 값의 개수, 다시 말해 썸네일 전용 메모리로 전송되는 DC 값의 개수는 일치한다. 따라서, 컬러 포맷이 4:2:0이라고 가정할 때, 한 매크로 블록 당 4개의 Y 성분 블록과 1개의 Cb 및 Cr 성분 블록이 존재하므로 각 슬라이스는 6*MB_WIDTH 개의 DC 계수를 가지고 있다. That is, since the resizing is not performed on the thumbnail image of the HD video, the number of actual DC values input to the slice buffer 103 and the number of DC values stored in the slice buffer 103, that is, a thumbnail dedicated memory. The number of DC values transmitted matches. Therefore, assuming that the color format is 4: 2: 0, since there are four Y component blocks and one Cb and Cr component block per macroblock, each slice has 6 * MB_WIDTH DC coefficients.
1920x1080의 크기를 갖는 HD급 비디오의 경우를 예로 들면, 각 슬라이스는 120x6=720개의 DC 계수를 포함한다. 결과적으로 한 슬라이스를 저장하기 위해서는 720byte 크기의 슬라이스 버퍼가 필요하며 한 슬라이스를 전송하는 동안(즉, 버퍼 리드), 다음 슬라이스의 DC 계수를 버퍼에 저장해야 하므로(즉, 버퍼 라이트), 두 개의 버퍼(double buffering)가 필요하며 결과적으로 HD급 비디오의 처리를 위해서는 1440(=720*2)바이트 크기의 슬라이스 버퍼(103)를 필요로 하게 된다.For example, in the case of HD video having a size of 1920x1080, each slice includes 120x6 = 720 DC coefficients. As a result, a 720-byte slice buffer is required to store one slice and two buffers must be stored during transfer (ie buffer reads), and the DC coefficients of the next slice must be stored in the buffer (ie buffer writes). (double buffering) is required, and as a result, a slice buffer 103 having a size of 1440 (= 720 * 2) bytes is required for processing HD video.
도 3은 본 발명에 의한 썸네일 영상 생성 장치의 HD급 비디오에 대한 슬라이스 버퍼(103)의 구성에 대한 일 실시예를 나타낸 것으로서, 버퍼의 맵(map)은 Y 성분, Cb 성분, Cr 성분을 분리하여 구성되며 각 성분에 해당되는 데이터는 썸네일 전용 메모리에서도 분리된 영역에 저장될 수 있도록 한다. 3 is a view illustrating an embodiment of a configuration of a slice buffer 103 for HD-quality video of a thumbnail image generating apparatus according to the present invention, wherein a map of the buffer separates a Y component, a Cb component, and a Cr component. The data corresponding to each component can be stored in a separate area in the thumbnail dedicated memory.
도 3의 버퍼 맵에서 각 성분의 영역이 갖는 최대 크기인 240byte와 120 byte는 1920x1080 크기에 근거한 것이며 결과적으로 하나의 슬라이스에서 썸네일 영상의 Y 성분 2줄, Cb 및 Cr 성분의 1줄씩이 생성된다. 최종적으로 1920x1080의 크기를 갖는 HD급 비디오의 썸네일 영상의 크기는 240x136이 된다.In the buffer map of FIG. 3, 240 bytes and 120 bytes, which are the maximum size of each component region, are based on the size of 1920x1080. As a result, two lines of the Y component, one line of the Cb and Cr components of the thumbnail image are generated in one slice. Finally, the size of the thumbnail image of the HD video having a size of 1920x1080 is 240x136.
도 4는 입력되는 비디오 스트림이 SD급인 경우의 썸네일 영상 생성 방법의 일 실시예를 보인 동작 흐름도로서, 상기 슬라이스 버퍼(103)에 저장되어야 할 DC 값의 개수는 실제로 DC 디코더(101)로 입력되는 DC 값의 개수의 4배가 된다. FIG. 4 is a flowchart illustrating an example of a method of generating a thumbnail image when the input video stream is SD-class. The number of DC values to be stored in the slice buffer 103 is actually input to the DC decoder 101. 4 times the number of DC values.
즉, SD급 비디오의 경우, 입력되는 데이터에 대하여 가로 및 세로 방향으로 각각 2배만큼의 데이터를 생성하여 이를 슬라이스 버퍼(103)에 저장해야 한다. 예를 들어, 720x480의 크기를 갖는 SD급 비디오의 경우에 단순한 계산을 적용하면 한 개의 슬라이스에 해당하는 데이터에 대하여 리사이징을 수행한 결과를 저장하기 위해 Y 성분 180x4바이트와 Cb와 Cr 성분 각각 180(=45*4)바이트를 포함하여 총 1080바이트 크기의 슬라이스 버퍼(103)가 필요하다. That is, in the case of SD video, it is necessary to generate twice as much data in the horizontal and vertical directions with respect to the input data and store it in the slice buffer 103. For example, in the case of an SD video having a size of 720x480, if a simple calculation is applied, the Y component 180x4 bytes and the Cb and Cr components 180 (in order to store the result of resizing the data corresponding to one slice) A slice buffer 103 of a total size of 1080 bytes is needed, including = 45 * 4) bytes.
이때, 본 발명에서는 SD급 비디오의 썸네일 영상의 크기를 가로 및 세로 방향으로 2배 리사이징 하는 과정에서 Y 성분에 대해서는 가로 및 세로 방향으로 선형 보간법을 사용하여 2배 확대한다. 하지만, Cb/Cr 성분에 대해서는 가로 방향으로는 선형 보간법에 의한 2배 확대 연산을 수행하고, 세로 방향으로는 보간법이 아닌 반복(duplicate)에 의한 2배 확대 연산을 수행한다. 즉, Cb/Cr 성분의 경우 1줄을 반복하는 것이므로 이를 실제로 버퍼(103)에 저장할 필요 없이 썸네일 전용 메모리로 전송할 때 상기 슬라이스 버퍼(103)의 리드 포인터 제어에 의해 Cb/Cr 성분이 저장된 부분만 다시 한번 읽어 주면 된다. 따라서, Cb/Cr 성분의 경우 각각 90 바이트 크기의 버퍼만 필요하므로 한 슬라이스를 저장하기 위해서 상기 슬라이스 버퍼(103)는 1080바이트가 아닌 900바이트만큼의 사이즈가 필요하다. At this time, in the process of resizing the size of the thumbnail image of the SD-class video in the horizontal and vertical directions twice, the Y component is enlarged twice by using linear interpolation in the horizontal and vertical directions. However, the Cb / Cr component performs a 2x magnification operation by linear interpolation in the horizontal direction and a 2x magnification operation by duplicate rather than interpolation in the vertical direction. That is, in the case of the Cb / Cr component, since only one line is repeated, only the portion in which the Cb / Cr component is stored by the read pointer control of the slice buffer 103 when transferred to the thumbnail-only memory without actually storing the same in the buffer 103. You can read it again. Therefore, in the case of the Cb / Cr component, only a 90-byte buffer is required. Therefore, the slice buffer 103 needs to have a size of 900 bytes rather than 1080 bytes to store one slice.
즉, 도 4를 보면 특정 슬라이스의 매크로 블록이 시작되면(단계 401), 상기 매크로 블록의 Y성분 블록 예컨대, 서브 블록 0~3의 DC 값에 대해서는 선형 보간을 통해 가로 및 세로 방향으로 각각 2배 리사이징을 수행하여 슬라이스 버퍼(103)에 저장하고(단계 402), 상기 매크로 블록의 Cb 및 Cr 블록 예컨대, 서브 블록 4,5의 DC 값에 대해서는 선형 보간을 통해 가로 방향으로만 2배 리사이징을 수행하여 상기 슬라이스 버퍼(103)에 저장한다(단계 403).That is, referring to FIG. 4, when a macro block of a specific slice is started (step 401), the Y component blocks of the macro block, for example, the DC values of sub blocks 0 to 3, respectively, are doubled in the horizontal and vertical directions through linear interpolation. Resizing is performed and stored in the slice buffer 103 (step 402), and double resizing in the horizontal direction is performed only through linear interpolation for the DC values of the Cb and Cr blocks of the macro block, for example, the sub blocks 4 and 5. To store in the slice buffer 103 (step 403).
그리고 나서, 상기 슬라이스가 종료되었는지를 판별한다(단계 404). 상기 슬라이스의 종료는 전술한 바와 같이 각 매크로블록의 가로 위치 MBX가 MB_WIDTH-1이 되는 시점인지를 확인하면 알 수 있다. 상기 단계 404에서 슬라이스 종료로 판별되면 상기 버퍼 제어기(102)는 이때에 해당하는 매크로 블록의 DC값을 슬라이스 버퍼(103)에서 읽어내어 썸네일 메모리 인터페이스(104)를 통해 썸네일 전용 메모리로 전송한다(단계 405). 한편, 상기 단계 404에서 슬라이스 종료 전으로 판별되면, 다음 매크로 블록을 입력받은 후 단계 402로 되돌아간다(단계 406).Then, it is determined whether the slice is finished (step 404). As described above, the end of the slice can be known by checking whether the horizontal position MBX of each macroblock is at the time of MB_WIDTH-1. If it is determined in step 404 that the slice is finished, the buffer controller 102 reads the DC value of the macro block corresponding to the slice from the slice buffer 103 and transmits the DC value of the macro block to the thumbnail dedicated memory through the thumbnail memory interface 104. 405). On the other hand, if it is determined in step 404 before the end of the slice, the process returns to step 402 after receiving the next macro block (step 406).
도 5에서는 선형 보간법에 의한 영상의 2배 확대 과정의 일반적 개념도를 나타내고 있다. 도 5에서 격자 헤칭 모양(▩)으로 표시된 부분은 원 영상의 화소값을 그대로 사용하는 것이고, 사선 헤칭 모양(▧)으로 표시된 부분은 화살표에 해당하는 값(즉, 1/2 또는 1/4)만큼의 가중치를 원 영상의 화소값에 곱하여 얻어지는 보간된 값을 사용하는 것이다. 이때, 경계 부분의 화소값은 예외를 두어 사용 가능한 원 영상의 화소값을 사용하므로 경우에 따라 2개의 화소의 평균 또는 원 영상의 값을 그대로 중복(duplicate)하여 사용한다. 5 illustrates a general conceptual diagram of a 2x magnification process of an image by linear interpolation. In FIG. 5, the portion indicated by the grid hatching shape uses the pixel value of the original image as it is, and the portion indicated by the diagonal hatching shape corresponds to the arrow (that is, 1/2 or 1/4). The interpolated value obtained by multiplying the weight value by the pixel value of the original image is used. In this case, the pixel value of the boundary part uses the pixel value of the original image that can be used with an exception, and in some cases, the average of the two pixels or the original image value is duplicated as it is.
도 6은 보다 구체적인 실시예를 보인 것으로 본 발명에 의한 썸네일 영상 생성 장치의 SD급 비디오의 썸네일 데이터에 대한 리사이징 과정의 일 실시예를 나타내고 있다. 도 6에 표시된 부분은 전체 데이터의 일부를 나타낸 것으로 현재 K번째 슬라이스의 DC값을 입력받아 선형 보간을 통해 상기 DC 값을 가로 및 세로 방향으로 확대하고 이에 해당되는 썸네일 영상 데이터를 슬라이스 버퍼(103)에 저장한 후, K번째 슬라이스 종료시 상기 슬라이스 버퍼(103)에 저장된 썸네일 영상 데이터를 썸네일 전용 메모리로 전송하게 된다. FIG. 6 illustrates a more specific embodiment, and shows an embodiment of a resizing process for thumbnail data of SD video of a thumbnail image generating apparatus according to the present invention. The portion shown in FIG. 6 represents a part of the entire data. The DC value of the current K-th slice is input to expand the DC value in the horizontal and vertical directions through linear interpolation, and the thumbnail image data corresponding thereto is slice buffer 103. After storing in the K-th slice, the thumbnail image data stored in the slice buffer 103 is transferred to a thumbnail dedicated memory.
이때, 도 6에 표시된 5줄에 해당되는 데이터는 모두 슬라이스 버퍼(103)에 저장되며 이 중 점선으로 표시된 상자 내부의 데이터는 현재의 슬라이스(예, K번째 슬라이스) 종료시 썸네일 전용 메모리로 전송된다. 그러나 실선으로 표시된 상자 내부의 데이터(▤)는 현재의 슬라이스(예, K번째 슬라이스)와 다음 슬라이스(예, K+1번째 슬라이스)의 데이터를 이용하여 최종적으로 값이 결정되므로 다음 슬라이스가 종료될 때 전송된다. In this case, all data corresponding to five lines shown in FIG. 6 are stored in the slice buffer 103, and the data inside the box indicated by the dotted lines is transferred to the thumbnail dedicated memory at the end of the current slice (eg, the K-th slice). However, the data inside the box marked with a solid line is finally determined using the data of the current slice (eg, Kth slice) and the next slice (eg, K + 1th slice). When sent.
즉, 720x480의 크기를 갖는 SD급 영상의 경우 한 슬라이스에 45개의 매크로블록이 존재하므로 각 슬라이스에 대하여 180x4+180=900바이트 크기의 버퍼가 필요하다. 이는 Y 성분의 경우 가로 및 세로 방향으로 각각 2배 리사이징을 하므로 (45x4)x4=720바이트가 필요하고, Cb 및 Cr 성분의 경우 가로 방향으로만 2배 리사이징을 하므로 (45x2)x2=180바이트가 필요하기 때문이다.That is, in the case of an SD image having a size of 720x480, 45 macroblocks exist in one slice, and thus a buffer having a size of 180x4 + 180 = 900 bytes is required for each slice. This requires (45x4) x4 = 720 bytes because of the double resizing in the horizontal and vertical directions for the Y component, and (45x2) x2 = 180 bytes due to the double resizing in the horizontal direction for the Cb and Cr components. Because it is necessary.
이 중 현재 슬라이스 종료시 썸네일 전용 메모리로 전송되는 분량은 현재 슬라이스만을 사용하여 생성한 720바이트(즉, Y 540바이트 + Cb 90바이트 + Cr 90바이트)(즉, ▩,)와 이전 슬라이스(예, K-1번째 슬라이스)와 현재 슬라이스(예, K번째 슬라이스)의 Y 성분으로 보간하여 생성한 180바이트(즉, ▥)를 합쳐 총 900바이트이다. 그리고, 현재 슬라이스의 각 매크로블록의 2번과 3번 서브 블록으로 구성된 불완전한 데이터 180 바이트는 다음 슬라이스(예, K+1번째 슬라이스)가 전송되어야 비로소 선형 보간법을 적용하여 완전한 썸네일 데이터(즉, ▤)가 되며, 다음 슬라이스(예, K+1번째 슬라이스)가 종료될 때 비로소 썸네일 전용 메모리로 전송된다.Of these, the amount transferred to the thumbnail-only memory at the end of the current slice is 720 bytes (ie Y 540 bytes + Cb 90 bytes + Cr 90 bytes) generated using only the current slice (ie, ▩, ), Combined with the Y component of the previous slice (e.g., K-1th slice) and the current slice (e.g., Kth slice), is a total of 900 bytes. Then, 180 bytes of incomplete data consisting of subblocks 2 and 3 of each macroblock of the current slice must be transmitted after the next slice (eg, K + 1th slice) is applied to complete thumbnail data (ie, When the next slice (eg, K + 1th slice) ends, it is transferred to the thumbnail dedicated memory.
이때, SD급 비디오의 썸네일 영상을 생성하기 위해 더블 버퍼링을 고려하면, 900x2=1800바이트의 크기를 갖는 슬라이스 버퍼(103)가 필요하다. 이 값은 HD급 비디오의 썸네일 영상의 생성에 요구되는 1440바이트보다 크다. 따라서 본 발명에 의한 썸네일 영상 생성 장치에서는 1800바이트의 슬라이스 버퍼(103)가 필요하다. 이 때, 영상의 첫번째 슬라이스의 경우, 이전 슬라이스가 없으므로 전송되는 데이터는 720바이트이며, 마지막 슬라이스의 경우, 다음 슬라이스가 없으므로 썸네일의 마지막 라인에 해당되는 데이터는 이전 라인에 해당되는 데이터를 중복하여 생성하므로 이때 전송되는 데이터는 1080바이트가 된다.In this case, considering double buffering to generate a thumbnail image of the SD video, a slice buffer 103 having a size of 900x2 = 1800 bytes is required. This value is larger than 1440 bytes required for generating thumbnail images of HD video. Therefore, in the thumbnail image generating apparatus according to the present invention, a slice buffer 103 of 1800 bytes is required. In this case, since the first slice of the image does not have a previous slice, the transmitted data is 720 bytes. In the case of the last slice, since there is no next slice, the data corresponding to the last line of the thumbnail is generated by overlapping the data corresponding to the previous line. Therefore, the transmitted data is 1080 bytes.
도 7은 본 발명에 의한 썸네일 영상 생성 장치의 SD급 비디오에 대한 슬라이스 버퍼의 구성의 일 실시예를 나타낸 것으로서, 도 6, 도 7의 Y 영역1∼Y 영역4는 같은 의미이다.FIG. 7 illustrates an embodiment of a configuration of a slice buffer for SD video of a thumbnail image generating apparatus according to an embodiment of the present invention, in which Y regions 1 to Y regions 4 of FIGS. 6 and 7 have the same meaning.
도 7에 있어서, 각 매크로블록의 DC값이 입력될 때, 서브 블록 0~3번(즉, Y 성분의 블록)의 DC값에 대해서는 가로 및 세로 방향으로 선형 보간된 값을 추가로 계산하여 슬라이스 버퍼(103)에 저장하고, 서브 블록 4,5번(즉, Cb,Cr 성분의 블록)의 DC값에 대해서는 가로 방향으로만 선형 보간된 값을 추가로 계산하여 슬라이스 버퍼(103)에 저장한다. 즉, 720x480의 SD급 비디오에서 한 슬라이스마다 썸네일 영상 생성 장치로 입력되는 DC 데이터는 Y 45x4 + Cb 45 + Cr 45 = 270바이트이며 여기에 추가적으로 Y 540바이트 + Cb 45바이트 + Cr 45바이트 = 630바이트 분량의 데이터를 선형 보간법(예를 들면, 평균 보간 연산)에 의하여 생성하여 슬라이스 버퍼(103)에 저장한다. In FIG. 7, when DC values of respective macroblocks are input, the DC values of sub blocks 0 to 3 (that is, blocks of Y components) are further calculated by linearly interpolating values in the horizontal and vertical directions to slice the slices. In the buffer 103, the linearly interpolated values in the horizontal direction are further calculated and stored in the slice buffer 103 with respect to the DC values of sub blocks 4 and 5 (ie, blocks of Cb and Cr components). . That is, in the SD video of 720x480, DC data inputted to the thumbnail image generating device per slice is Y 45x4 + Cb 45 + Cr 45 = 270 bytes, and additionally Y 540 bytes + Cb 45 bytes + Cr 45 bytes = 630 bytes An amount of data is generated by linear interpolation (for example, average interpolation) and stored in the slice buffer 103.
도 7에서 사선 헤칭 모양(▨)으로 표시된 부분은 원(original) DC 값이고, INT로 표시된 부분은 평균 연산에 의하여 계산되는 보간 값이다. 즉, DC 디코더(101)로부터 DC 값이 전송되면 버퍼 제어기(102)는 상기 원 DC 값을 이용하여 평균 연산으로 보간을 수행함으로써, INT로 표시된 부분의 값을 결정한다. 결과적으로 DC 값이 입력될 때, 슬라이스 버퍼(103)의 사선 헤칭 모양(▨)으로 표시한 부분과 DUP로 표시한 부분에 각각 원 썸네일 영상 데이터와 중복 썸네일 영상 데이터가 기록되며, 다음 클록에서는 INT로 표시된 부분에 보간된 썸네일 영상 데이터가 기록되게 된다. 이때, 평균 연산은 2개의 DC 값을 사용할 경우에는 각 DC값의 상위 7 비트만을 읽어서 덧셈 연산을 수행하며, 4개의 DC 값을 사용할 경우에는 각 DC값의 상위 6비트만을 읽어서 덧셈 연산을 수행하는 방법을 사용할 수도 있다.In FIG. 7, a portion indicated by an oblique hatching shape is an original DC value, and an portion denoted by INT is an interpolation value calculated by averaging. That is, when the DC value is transmitted from the DC decoder 101, the buffer controller 102 determines the value of the portion denoted by INT by performing interpolation by an average operation using the original DC value. As a result, when the DC value is input, the original thumbnail image data and the duplicate thumbnail image data are respectively recorded in the portion indicated by the diagonal hatching and the portion indicated by the DUP of the slice buffer 103, and the next clock is INT. The interpolated thumbnail image data is recorded in the portion indicated by. In this case, when the two DC values are used, the addition operation is performed by reading only the upper 7 bits of each DC value. When the four DC values are used, the addition operation is performed by reading only the upper 6 bits of each DC value. You can also use the method.
아울러 다음 슬라이스의 DC 값을 이용하는 블록, 즉 Y 영역4로 표시된 부분 또는 INT로 표시된 부분 중 N으로 시작하는 DC 값을 사용하는 경우에는, 다음 슬라이스의 매크로 블록의 서브 블록 0 또는 1의 DC값이 입력되어야 하므로 여기에 해당되는 데이터는 다음 슬라이스 종료시 썸네일 전용 메모리로 전송된다. In addition, in the case of using a block using the DC value of the next slice, that is, the DC value starting with N of the part indicated by Y region 4 or the part indicated by INT, the DC value of sub-block 0 or 1 of the macro block of the next slice is Because it must be entered, the corresponding data is transferred to the thumbnail-only memory at the end of the next slice.
상기된 과정에 의해 슬라이스가 종료되면 슬라이스 버퍼(103)에 저장된 데이터를 순서대로 썸네일 전용 메모리로 전송한다. 썸네일 전용 메모리에 데이터가 저장되는 순서는 최종적으로 디스플레이 되는 영상과 일치해야 한다. 이때, Y 영역 1부터 3번까지는 현재 슬라이스 종료시 차례로 전송하되 Y 영역 4번에 해당되는 데이터는 다음 슬라이스 종료시 가장 먼저 전송해야 하며, Cb 영역 및 Cr 영역은 중복되는 데이터이므로 썸네일 전용 메모리로 전송시 반복하여 버퍼 리드를 수행해야 한다. When the slice is finished by the above-described process, the data stored in the slice buffer 103 are sequentially transferred to the thumbnail dedicated memory. The order in which data is stored in the thumbnail-only memory must match the image that is finally displayed. In this case, Y area 1 to 3 are transmitted in order at the end of the current slice, but data corresponding to Y area 4 should be transmitted first at the end of the next slice. Cb area and Cr area are overlapping data, so it is repeated when transferring to thumbnail memory. Must perform a buffer read.
즉, 썸네일 전용 메모리로 전송할 때 도 7의 버퍼 맵에 근거한 전송 데이터의 순서는 {Y 영역1 -> Y 영역2 -> Y 영역3 -> Cb 영역 -> Cb 영역 -> Cr 영역 -> Cr 영역}의 형태가 된다.That is, when transferring to the thumbnail dedicated memory, the order of the transmission data based on the buffer map of FIG. 7 is {Y area 1-> Y area 2-> Y area 3-> Cb area-> Cb area-> Cr area-> Cr area. }.
이때, 마지막 슬라이스의 경우에 Y 영역4는 Y 영역3의 값을 중복하여 사용하므로 실제로 슬라이스 버퍼에 저장하지 않고 썸네일 전용 메모리로 전송할 때, Y 영역3을 한번 더 전송하는 방식을 사용할 수 있다. 마지막 슬라이스의 판단은 MPEG 비디오 디코딩시 슬라이스 수직 위치(slice vertical position)의 값을 파싱하여 수행할 수 있다. 최종적으로 720x480 크기의 SD급 비디오에서 생성되는 썸네일 영상의 크기는 180x120이다.In this case, in the case of the last slice, the Y region 4 overlaps the values of the Y region 3 so that the Y region 3 can be transferred once more to the thumbnail dedicated memory without actually being stored in the slice buffer. Determination of the last slice may be performed by parsing the slice vertical position during MPEG video decoding. Finally, the size of a thumbnail image generated from a 720x480 SD video is 180x120.
따라서, SD급 비디오에 대한 썸네일 영상을 생성할 때, DC값이 입력되는 순간에 2개 또는 4개의 DC 값을 이용한 평균 연산에 의하여 바로 보간된 화소값을 계산하여 슬라이스 버퍼에 저장함으로써 별도의 후처리(post-processing) 등을 통한 전체 영상에 대한 리사이징 없이 가로 및 세로 방향으로 각각 2배 확대된 썸네일 영상을 생성할 수 있다.Therefore, when generating a thumbnail image for SD video, the interpolated pixel value is immediately calculated by averaging using two or four DC values at the moment when the DC value is input and stored in the slice buffer. It is possible to generate thumbnail images each enlarged 2 times in the horizontal and vertical directions without resizing the entire image through post-processing.
이와 같이 본 발명은 MPEG으로 부호화된 비디오 스트림의 I 픽처의 DC 값을 이용하여 썸네일 영상을 생성하되 그 크기를 HD급 비디오 스트림에 기준을 두어 HD급 비디오와 SD급 비디오의 경우에 대하여 각각 원 영상의 1/64 및 1/16의 크기를 갖는 썸네일 영상을 생성한다. As described above, the present invention generates a thumbnail image using the DC value of the I picture of the MPEG-encoded video stream, but based on the size of the HD-quality video stream, the original image for the HD and SD video, respectively. Create thumbnail images with sizes of 1/64 and 1/16.
본 발명은 디지털 TV의 개인용 비디오 녹화기 또는 비디오 검색 장치 등에서 비디오 스트림에 대한 프로그램 가이드, 스토리 보드, 내용 요약 및 비디오에 대한 함축적 정보 전달에 관련된 기타 응용 분야 등에 적용하여 사용자에게 비디오 스트림의 포맷에 관계없이 일관된 크기의 썸네일 영상을 제공할 수 있다.The present invention is applied to a program guide, storyboard, content summary, and other applications related to implicit information delivery of a video stream in a personal video recorder or a video retrieval device of a digital TV, regardless of the format of the video stream to the user. It is possible to provide a thumbnail image of a consistent size.
이상에서와 같이 본 발명에 따른 썸네일 영상 생성 장치 및 방법에 의하면, HD급 비디오의 경우에는 서브 블록당 하나의 썸네일 화소를 추출하고, SD급 비디오의 경우에는 보간을 통해 서브 블록당 네 개의 썸네일 화소를 생성함으로써, 스트림의 포맷의 차이에 의한 구조적인 썸네일 영상 크기의 불일치 문제를 해결하여 일관된 크기의 썸네일 영상을 생성하는 효과가 있다. 더불어, 썸네일 생성 과정에서의 과도한 해상도 손실을 방지하는 동시에 비교적 커다란 썸네일 영상을 생성할 수 있다.As described above, according to the apparatus and method for generating a thumbnail image according to the present invention, one thumbnail pixel is extracted for each subblock in the case of HD video, and four thumbnail pixels per subblock through interpolation in the case of SD video. By generating the, it is possible to solve the problem of structural thumbnail image size mismatch caused by the difference in the format of the stream to generate a thumbnail image of a consistent size. In addition, a relatively large thumbnail image may be generated while preventing excessive resolution loss in the thumbnail generation process.
또한, SD급 비디오의 경우에는 썸네일 영상 생성 후 후처리 과정 등에서 영상 전체에 대한 리사이징 없이 슬라이스 단위로 메모리 저장 과정에서 바로 평균 연산에 의하여 리사이징된 썸네일 데이터를 생성하여 SD급 동영상에 대한 썸네일 영상의 크기를 4배로 확대하는 효과가 있다. 그리고, 상기 리사이징 연산을 수행할 때 요구되는 메모리의 크기를 감소하기 위해 전체 썸네일 영상에 리사이징 연산을 수행하지 않고 I 픽처의 DC 값을 일정 단위로 분할하여 각각의 단위에 대하여 독립적인 리사이징을 수행하며 이 과정에서 가로 및 세로 방향으로 동일한 스케일링 계수를 적용함으로써, 원 영상의 종횡비를 유지할 수 있다.Also, in case of SD video, the size of thumbnail video for SD video is generated by generating resized thumbnail data by averaging operation in memory storage process in slice unit without resizing the entire video after generating thumbnail video. It is effective to enlarge 4 times. In order to reduce the size of the memory required when performing the resizing operation, the DC value of the I picture is divided into predetermined units without performing a resizing operation on the entire thumbnail image to perform independent resizing for each unit. In this process, the aspect ratio of the original image can be maintained by applying the same scaling factor in the horizontal and vertical directions.
이상 설명한 내용을 통해 당업자라면 본 발명의 기술 사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다.Those skilled in the art will appreciate that various changes and modifications can be made without departing from the spirit of the present invention.
따라서, 본 발명의 기술적 범위는 실시예에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의하여 정해져야 한다. Therefore, the technical scope of the present invention should not be limited to the contents described in the embodiments, but should be defined by the claims.
도 1은 본 발명에 의한 썸네일 영상 생성 장치의 일 실시예를 보인 구성 블록도1 is a block diagram showing an embodiment of a thumbnail image generating apparatus according to the present invention
도 2는 본 발명에 의한 썸네일 영상 생성 장치에서 HD급 비디오에 대한 썸네일 영상 생성의 일 실시예를 보인 흐름도2 is a flowchart showing an embodiment of generating a thumbnail image for HD-quality video in the thumbnail image generating apparatus according to the present invention;
도 3은 본 발명에 의한 썸네일 영상 생성 장치의 HD급 비디오에 대한 슬라이스 버퍼의 일 실시예를 보인 도면3 is a view showing an embodiment of a slice buffer for HD-quality video of the thumbnail image generating apparatus according to the present invention
도 4는 본 발명에 의한 썸네일 영상 생성 장치의 SD급 비디오에 대한 썸네일 영상 생성의 일 실시예를 보인 흐름도4 is a flowchart illustrating an embodiment of generating a thumbnail image for SD video of a thumbnail image generating apparatus according to the present invention;
도 5은 선형 보간법에 의한 영상의 2배 확대 과정의 일반적 개념도5 is a general conceptual diagram of a 2x magnification process of an image by linear interpolation;
도 6은 본 발명에 의한 썸네일 영상 생성 장치의 SD급 비디오의 썸네일 데이터에 대한 리사이징 과정의 일 실시예를 보인 도면FIG. 6 is a diagram illustrating an embodiment of a resizing process for thumbnail data of SD video of a thumbnail image generating apparatus according to the present invention; FIG.
도 7은 본 발명에 의한 썸네일 영상 생성 장치의 SD급 비디오에 대한 슬라이스 버퍼의 일 실시예를 보인 도면7 is a view showing an embodiment of a slice buffer for the SD video of the thumbnail image generating apparatus according to the present invention
도면의 주요부분에 대한 부호의 설명Explanation of symbols for main parts of the drawings
101 : DC 디코더 102 : 버퍼 제어기101: DC decoder 102: buffer controller
103 : 슬라이스 버퍼 104 : 썸네일 메모리 인터페이스103: slice buffer 104: thumbnail memory interface
Claims (13)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0050318A KR100474916B1 (en) | 2002-08-24 | 2002-08-24 | Apparatus and method for generating thumbnail image |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2002-0050318A KR100474916B1 (en) | 2002-08-24 | 2002-08-24 | Apparatus and method for generating thumbnail image |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20040018025A KR20040018025A (en) | 2004-03-02 |
KR100474916B1 true KR100474916B1 (en) | 2005-03-10 |
Family
ID=37323692
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2002-0050318A KR100474916B1 (en) | 2002-08-24 | 2002-08-24 | Apparatus and method for generating thumbnail image |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100474916B1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100727974B1 (en) * | 2005-09-10 | 2007-06-14 | 삼성전자주식회사 | Method and apparatus for making thumbnails out of digital image |
KR101655804B1 (en) * | 2010-01-15 | 2016-09-08 | 엘지전자 주식회사 | Image Display Device with 3D-Thumbnail and Operation Controlling Method for the Same |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5222097A (en) * | 1991-12-06 | 1993-06-22 | The Budd Company | Channel induction furnace bushing cap cooling device |
JP2001069418A (en) * | 1999-08-30 | 2001-03-16 | Matsushita Electric Ind Co Ltd | Character display processing unit |
US6262770B1 (en) * | 1993-01-13 | 2001-07-17 | Hitachi America, Ltd. | Methods and apparatus for decoding high and standard definition images and for decoding digital data representing images at less than the image's full resolution |
KR20020057525A (en) * | 2001-01-05 | 2002-07-11 | 엘지전자 주식회사 | Apparatus for transcoding video |
KR20030024804A (en) * | 2001-05-22 | 2003-03-26 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | Resolution downscaling of video images |
KR20030091134A (en) * | 2002-05-24 | 2003-12-03 | 엘지전자 주식회사 | Apparatus and method for generating thumbnail image |
-
2002
- 2002-08-24 KR KR10-2002-0050318A patent/KR100474916B1/en not_active IP Right Cessation
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5222097A (en) * | 1991-12-06 | 1993-06-22 | The Budd Company | Channel induction furnace bushing cap cooling device |
US6262770B1 (en) * | 1993-01-13 | 2001-07-17 | Hitachi America, Ltd. | Methods and apparatus for decoding high and standard definition images and for decoding digital data representing images at less than the image's full resolution |
JP2001069418A (en) * | 1999-08-30 | 2001-03-16 | Matsushita Electric Ind Co Ltd | Character display processing unit |
KR20020057525A (en) * | 2001-01-05 | 2002-07-11 | 엘지전자 주식회사 | Apparatus for transcoding video |
KR20030024804A (en) * | 2001-05-22 | 2003-03-26 | 코닌클리케 필립스 일렉트로닉스 엔.브이. | Resolution downscaling of video images |
KR20030091134A (en) * | 2002-05-24 | 2003-12-03 | 엘지전자 주식회사 | Apparatus and method for generating thumbnail image |
Also Published As
Publication number | Publication date |
---|---|
KR20040018025A (en) | 2004-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5859651A (en) | Method and apparatus for block data transfer to reduce on-chip storage for interpolative video resizing | |
JP4151684B2 (en) | Encoding apparatus, encoding method, encoding program, and imaging apparatus | |
JPH11243542A (en) | Multimedia information editing device | |
JP2006014341A (en) | Method and apparatus for storing image data using mcu buffer | |
CN101729840A (en) | Storage processing method utilizing video image characteristic sequence | |
US5977947A (en) | Method and apparatus for resizing block ordered video image frames with reduced on-chip cache | |
US20010012397A1 (en) | Image processing apparatus and method | |
TW525391B (en) | Method and apparatus for performing motion compensation in a texture mapping engine | |
JPH11284948A (en) | Thumbnail generating method and thumbnail display method | |
KR100474916B1 (en) | Apparatus and method for generating thumbnail image | |
JP4634410B2 (en) | Video playback device, video playback method, and caption superimposing device | |
KR100469258B1 (en) | Apparatus and method for generating thumbnail image | |
US7386178B2 (en) | Method and apparatus for transforming the dimensions of an image | |
JP2003189109A (en) | Image processor and image processing method, and computer program | |
US7787700B2 (en) | Signal processing method, signal processing apparatus, computer-readable medium and a data recording medium | |
JP3023215B2 (en) | Image processing device | |
JP4109151B2 (en) | Image processing device | |
JP2000151974A (en) | Signal compiling device and method therefor | |
JP2005045797A (en) | Method and apparatus for reducing bandwidth required to transmit image data | |
JP3559419B2 (en) | Method and apparatus for decompressing compressed image data | |
JPH0488749A (en) | Picture processor | |
JP4274187B2 (en) | Display data decompression method, display data compression / decompression method, display data decompression device, and display data compression / decompression device | |
JP3115013B2 (en) | Image display device | |
KR100487330B1 (en) | Apparatus for generating thumbnail image of digital video | |
JP3193285B2 (en) | Coding noise reduction filter circuit |
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 | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20091230 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |