KR100903863B1 - Interface method between overlapped transform and deblocking filter of wmv decoder - Google Patents

Interface method between overlapped transform and deblocking filter of wmv decoder Download PDF

Info

Publication number
KR100903863B1
KR100903863B1 KR1020070043931A KR20070043931A KR100903863B1 KR 100903863 B1 KR100903863 B1 KR 100903863B1 KR 1020070043931 A KR1020070043931 A KR 1020070043931A KR 20070043931 A KR20070043931 A KR 20070043931A KR 100903863 B1 KR100903863 B1 KR 100903863B1
Authority
KR
South Korea
Prior art keywords
deblocking filter
overlap
unit
decoder
converter
Prior art date
Application number
KR1020070043931A
Other languages
Korean (ko)
Other versions
KR20080070480A (en
Inventor
원종우
강해용
강성희
추진호
이진학
유혁
Original Assignee
주식회사 씬멀티미디어
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 씬멀티미디어 filed Critical 주식회사 씬멀티미디어
Publication of KR20080070480A publication Critical patent/KR20080070480A/en
Application granted granted Critical
Publication of KR100903863B1 publication Critical patent/KR100903863B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 메모리 대역폭의 많은 부분을 차지하는 오버랩 변환부와 디블록킹 필터 사이의 인터페이스 구조를 변경함으로써 메모리 대역폭이 감소된 WMV 디코더를 제공할 수 있는 WMV 디코더의 오버랩 변환부와 디블록킹 필터 사이의 인터페이스 방법에 관한 것으로, 오버랩 변환부와 디블록킹 필터의 활성화 여부를 판단하는 단계; 및 앞서 판단된 활성화 여부에 따라서 적응적인 파이프라인 구조를 적용하되, 상기 오버랩 변환부와 디블록킹 필터가 둘다 활성화된 경우에는 상기 외부 메모리에 저장되어 있는 YCbCr 포맷의 맵 데이터를 이용하여 디블록킹 필터링을 수행하는 단계를 포함하여 이루어진다.The present invention provides an interface method between an overlap converter and a deblocking filter of a WMV decoder, which can provide a WMV decoder having a reduced memory bandwidth by changing an interface structure between the overlap converter and a deblocking filter that occupies a large portion of the memory bandwidth. Regarding, The method comprising: determining whether the overlap converter and the deblocking filter is activated; And apply an adaptive pipeline structure according to the above-described activation. If both the overlap converter and the deblocking filter are activated, deblocking filtering is performed using map data of YCbCr format stored in the external memory. It comprises a step of performing.

윈도우 미디어 비디오, 오버랩 변환, 디블록킹 필터,하드웨어, 대역폭, WMV9, VC-1, Overlapped Transform, Deblocking filter, bandwidth Windows Media Video, Overlap Transform, Deblocking Filter, Hardware, Bandwidth, WMV9, VC-1, Overlapped Transform, Deblocking filter, bandwidth

Description

WMV 디코더의 오버랩 변환부와 디블록킹 필터 사이의 인터페이스 방법 {INTERFACE METHOD BETWEEN OVERLAPPED TRANSFORM AND DEBLOCKING FILTER OF WMV DECODER}Interface method between overlap converter and deblocking filter of FM decoder {INTERFACE METHOD BETWEEN OVERLAPPED TRANSFORM AND DEBLOCKING FILTER OF WMV DECODER}

도 1은 일반적인 WMV 디코더의 기능 블록도이다.1 is a functional block diagram of a typical WMV decoder.

도 2는 176 x 144(QCIF) 크기의 영상에서 오버랩 변환과 디블록킹 필터링 각각의 수행 시점을 도식화하고 있는 도면이다.FIG. 2 is a diagram illustrating an execution time point of overlap transform and deblocking filtering in a 176 × 144 (QCIF) sized image.

도 3 및 도 4는 파이프 라인 구조에 있어서 지연시간과 메모리 버퍼의 관계를 도식화하고 있는 도면이다.3 and 4 are diagrams illustrating the relationship between the delay time and the memory buffer in the pipeline structure.

도 5는 본 발명의 일실시예에 따른 WMV 디코더의 오버랩 변환부와 디블록킹 필터 사이의 인터페이스 방법을 설명하는 순서도이다.5 is a flowchart illustrating an interface method between an overlap converter and a deblocking filter of a WMV decoder according to an embodiment of the present invention.

도 6은 본 발명의 일실시예에 따른 외부 메모리 구조를 도시하는 도면이다.6 is a diagram illustrating an external memory structure according to an embodiment of the present invention.

도 7은 오버랩 변환부가 비활성화되고 디블록킹 필터가 활성화된 경우의 파이프라인 구조를 도시하는 도면이다.FIG. 7 is a diagram illustrating a pipeline structure when the overlap transform unit is deactivated and the deblocking filter is activated.

도 8은 오버랩 변환부와 디블록킹 필터가 모두 활성화되는 경우의 파이프라인 구조를 도시하는 도면이다.8 is a diagram illustrating a pipeline structure when both an overlap converter and a deblocking filter are activated.

도 9는 본 발명의 일실시예에 따른 매크로블록 단위 오버랩 변환 과정을 설 명하는 도면이다.9 is a diagram illustrating a macroblock unit overlap conversion process according to an embodiment of the present invention.

도 10은 본 발명의 일실시예에 따른 매크로블록 단위 디블록킹 필터링 과정을 설명하는 도면이다.10 is a diagram illustrating a macroblock-based deblocking filtering process according to an embodiment of the present invention.

도 11은 본 발명의 일실시예에 따른 오버랩 변환 과정에서의 외부 메모리 맵을 도시하는 도면이다.FIG. 11 is a diagram illustrating an external memory map in an overlap conversion process according to an embodiment of the present invention. FIG.

<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>

10: 가변 길이 복호화부 12 : 역변환/역양자화부10: variable length decoder 12: inverse transform / inverse quantization unit

14 : 예측 복호화부/움직임 보상부 16 : 오버랩 변환부14: predictive decoding unit / motion compensation unit 16: overlap conversion unit

18 : 디블록킹 필터 22 : 외부 메모리18: Deblocking filter 22: External memory

본 발명은 WMV(Windows Media Video) 디코더의 하드웨어 시스템 구성에 관한 것으로, 더욱 상세하게는 메모리 대역폭의 많은 부분을 차지하는 오버랩 변환부(Overlapped Transform)와 디블록킹 필터(Deblocking filter) 사이의 인터페이스 구조를 변경함으로써 메모리 대역폭이 감소된 WMV 디코더를 제공할 수 있는 WMV 디코더의 오버랩 변환부와 디블록킹 필터 사이의 인터페이스 방법에 관한 것이다.The present invention relates to a hardware system configuration of a Windows Media Video (WMV) decoder, and more particularly, to change an interface structure between an overlapped transform and a deblocking filter that occupy a large portion of a memory bandwidth. Accordingly, the present invention relates to an interface method between an overlap conversion unit and a deblocking filter of a WMV decoder capable of providing a WMV decoder having a reduced memory bandwidth.

비디오 디코더는 압축된 형태로 코딩된 영상을 복원하는 장치로, 국제 표준으로 사용되는 MPEG 계열 디코더와 시장 표준으로 널리 사용되는 WMV(VC-1) 계열의 디코더가 선호되고 있으며, 특히 고화질/양질의 멀티미디어 컨텐츠의 수요가 증가하면서 비디오 디코더의 하드웨어 구현의 중요도가 높아지고 있는 실정이다.The video decoder is a device for restoring a video coded in a compressed form, and the MPEG-based decoder used as an international standard and the WMV (VC-1) -based decoder widely used as a market standard are preferred. As demand for multimedia contents increases, the importance of hardware implementation of the video decoder is increasing.

일반적으로, 비디오 디코더를 하드웨어로 구현할 경우에, 가장 성능에 민감한 부분은 외부 버스와 연결된 DMA(Direct Memory Access) 호출에 의한 외부 메모리 접근 빈도와 회로의 크기로 볼 수 있다.In general, when implementing a video decoder in hardware, the most performance-sensitive part can be seen in terms of the frequency of external memory access and circuit size by direct memory access (DMA) calls connected to an external bus.

특히, WMV 계열의 디코더는 현재 널리 사용되는 H.264 코덱에 근접한 압축효율을 보이면서 MPEG-4 보다 높은 압축효율을 가지며, 복잡도 측면에서 H.264 비해 60% 수준으로 복잡도 대비 성능에 비교 우위가 있다고 평가된다.In particular, WMV series decoders have higher compression efficiency than MPEG-4 with compression efficiency close to the widely used H.264 codec, and have a comparative advantage in performance compared to H.264 in complexity. Is evaluated.

도 1은 일반적인 WMV 디코더의 기능 블록도로서, WMV 디코더의 하드웨어 구현을 위해서는 가변 길이 복호화부(VLD)(10), 역변환/역양자화부(IG/IDCT)(12), 예측 복호화부/움직임 보상부(MC)(14), 오버랩 변환부(16), 디블록킹 필터(18)를 매크로블록단위의 파이프라인(Pipeline) 방식으로 운영해야 한다.1 is a functional block diagram of a typical WMV decoder. For hardware implementation of the WMV decoder, a variable length decoder (VLD) 10, an inverse transform / inverse quantizer (IG / IDCT) 12, and a predictive decoder / motion compensation are shown. The MC (14), the overlap converter (16), and the deblocking filter (18) should be operated in a pipeline manner in macroblock units.

또한, 가변 길이 복호화부(10), 역변환/역양자화부(12), 예측 복호화부/움직임 보상부(14), 오버랩 변환부(16), 디블록킹 필터(18)와 같은 기능부들은 시스템 버스(20)를 이용하여 외부 메모리(22)에 액세스하도록 되어 있다.In addition, functional units such as the variable length decoder 10, the inverse transform / inverse quantizer 12, the predictive decoder / motion compensator 14, the overlap transform unit 16, and the deblocking filter 18 are provided in the system bus. The external memory 22 is accessed using the reference numeral 20.

외부 메모리(22)는 매크로블록단위 또는 블록단위로 정보를 저장한다. 따라서, 가변 길이 복호화부(10), 역변환/역양자화부(12), 예측 복호화부/움직임 보상부(14), 오버랩 변환부(16), 디블록킹 필터(18)는 공간상으로 인접한 매트로 블록 또는 블록 정보가 필요한 경우에, 시스템 버스(20)를 통해 각각 메모리(22)에 액세스한다.The external memory 22 stores information in macroblock units or block units. Accordingly, the variable length decoder 10, the inverse transform / inverse quantizer 12, the predictive decoder / motion compensation unit 14, the overlap transform unit 16, and the deblocking filter 18 are spaced adjacent to each other. If block or block information is needed, each memory 22 is accessed via a system bus 20.

일반적으로, 가변 길이 복호화부(10)(기능부1), 역변환/역양자화부(12)(기능부2), 예측 복호화부/움직임 보상부(14)(기능부3)들은 매크로블록 구현이 용이하나, 오버랩 변환부(16)(기능부4)와 디블록킹 필터(17)(기능부5)는 매크로블록 주변의 일정 데이터를 변환시켜야 하는 구조적인 특징으로 인하여 매크로블록 구현이 용이하지 못하다.In general, the variable length decoder 10 (function unit 1), the inverse transform / inverse quantizer 12 (function unit 2), and the predictive decoder / motion compensation unit 14 (function unit 3) are implemented in a macroblock implementation. However, the overlap transform unit 16 (function unit 4) and the deblocking filter 17 (function unit 5) are not easy to implement a macroblock due to a structural feature of converting certain data around the macroblock.

이에 구체적으로 설명하면, 기능부1 내지 기능부3은 N 번째 매크로블록을 처리함에 있어서 N-1 번의 매크로블록 데이터를 참조하되 N-1 번째 매크로블록 데이터를 변환시키지 않는다. 이와 반대로, 기능부4와 기능부5는 N 번째 매크로블록을 처리함에 있어서 N-1 번째 매크로블록의 값을 변환시킨다. 이는 실제 N-1 번 매크로블록 처리의 종료 시점은 가로 방향으로 1 매크로블록 처리 시간만큼 지연이 생기게 되고 세로 방향으로 1 매크로블록 라인(Macroblock line) 만큼의 지연이 생기게 된다.Specifically, the functional units 1 to 3 refer to the N-1 macroblock data in processing the Nth macroblock but do not convert the N-1th macroblock data. On the contrary, the function unit 4 and the function unit 5 convert the value of the N-th macroblock in processing the N-th macroblock. This is because the end point of the actual N-1 macroblock processing is delayed by 1 macroblock processing time in the horizontal direction and by 1 macroblock line in the vertical direction.

만약 기능부4와 기능부5 중에서 한가지의 기능부만이 수행된다면, 기능부1 내지 기능부3 까지의 수행이 완료된 데이터를 사용하고 기능부1 내지 기능부3은 기능부4와 기능부5의 데이터를 다시 받지는 않기 때문에 지연시간이 있어도 파이프라인의 구조적인 문제는 발생하지 않는다. 그러나, 기능부4,5가 모두 수행된다면 기능부5, 즉 디블록킹 필터(18)는 기능부4, 즉 오버랩 변환부(16)의 결과를 받아 처리하여야 한다. 따라서, 기능부4,5가 둘다 수행되어야 할 경우에는 그만큼 지연 시간이 길어지게 되며, 이때 기능부4의 처리가 세로로 1 매크로블록 라인, 가로로 1 매크로블록만큼의 지연이 생기기 때문에 파이프라인 구조에 문제가 발생한다.If only one of the functional units 4 and 5 is performed, the data for which the execution of the functional units 1 to 3 is completed is used, and the functional units 1 to 3 are used for the functional units 4 and 5. The delay does not cause any structural problems in the pipeline because the data is not received again. However, if all of the functions 4, 5 are performed, the function 5, i.e., the deblocking filter 18, should receive and process the result of the function 4, i. Therefore, when both the functions 4 and 5 are to be performed, the delay time becomes longer, and at this time, the processing of the function 4 causes a delay of 1 macroblock line vertically and 1 macroblock horizontally. Problem occurs.

도 2는 176 x 144(QCIF) 크기의 영상에서 오버랩 변환과 디블록킹 필터링 각각의 수행 시점을 도식화하고 있는 도면이다.FIG. 2 is a diagram illustrating an execution time point of overlap transform and deblocking filtering in a 176 × 144 (QCIF) sized image.

도 2를 참조하면, 오버랩 변환이 MB12을 수행할 때 디블록킹 필터링은 MB0을 수행할 수 있다. 즉, 오버랩 변환과 디블록킹 필터링 수행시 QCIF 기준으로 12 매크로블록의 지연이 발생하고 있다(1 매크로블록 라인 + 1 매크로블록). 이러한 지연은 영상크기가 증가함에 따라 커지게 되는데, 예를 들면 CIF(352*288) 영상에서는 23 매크로블록, HD(720*480) 영상에서는 46 매크로블록의 지연이 생긴다.Referring to FIG. 2, the deblocking filtering may perform MB0 when the overlap transform performs MB12. That is, a delay of 12 macroblocks occurs based on QCIF when performing overlap transform and deblocking filtering (1 macroblock line + 1 macroblock). This delay increases as the image size increases. For example, a delay of 23 macroblocks in a CIF (352 * 288) image and 46 macroblocks in an HD (720 * 480) image occurs.

도 3 및 도 4는 파이프 라인 구조에 있어서 지연시간과 메모리 버퍼의 관계를 도식화하고 있는 도면이다.3 and 4 are diagrams illustrating the relationship between the delay time and the memory buffer in the pipeline structure.

먼저, 도 3은 지연이 없는 파이프 라인 구조를 나타낸다.First, Figure 3 shows a pipeline structure without a delay.

도 3를 참고하면, 예를 들어 지연이 없는 프로세스 0, 1, 2가 있을 경우, 0번 프로세스가 처음에 수행하고 그 다음 수행 시간에 0번, 1번(이전의 0번 데이터를 받아서)을 수행하는 방법으로 진행된다. 따라서, 프로세스와 프로세스 사이에 버퍼가 2개가 존재해야 함을 알 수 있다. 현재 처리중에 있는 프로세스의 데이터를 저장하는 것과 바로 이전 시간에 처리된 데이터(다음 프로세서가 받을 데이터)를 저장할 버퍼가 필요하다.Referring to FIG. 3, for example, if there are processes 0, 1, and 2 that have no delay, process 0 executes first, and then executes 0, 1 (receiving previous 0 data) at the next execution time. Proceed to how to do. Thus, it can be seen that there must be two buffers between processes. You need a buffer to store the data of the process that is currently being processed and to store the data that was processed just before (the data the next processor will receive).

한편, 도 4는 지연이 있는 파이프 라인 구조를 나타낸다.On the other hand, Figure 4 shows a pipeline structure with a delay.

도 4를 참고하면, 프로세스 0, 1은 도 3에서와 동일하지만, 프로세스 1번과 2번 사이에서 2 프로세스 만큼의 지연이 발생하고 있다. 즉, 버퍼의 크기가 지연시간 만큼 늘어나야 하는 파이프라인 구조의 문제를 보여준다. 도 4의 하단 부분의 프로세스 1과 프로세스2의 사이에는 버퍼가 4개가 존재함을 알 수 있다.Referring to FIG. 4, processes 0 and 1 are the same as in FIG. 3, but delays of two processes occur between processes 1 and 2. In other words, it shows a pipeline structure problem in which the size of the buffer must be increased by the delay time. It can be seen that there are four buffers between process 1 and process 2 in the lower part of FIG. 4.

도 4의 경우와 같이 항상 2 만큼의 지연이 있다면, 내부 버퍼 2개의 추가로 해결할 수도 있겠지만, 영상과 같이 가변적이고 지연 시간이 매우 길게 된다면 내부 버퍼(레지스터나 내부메모리)를 사용할 수 없고 범용 외부 메모리를 이용할 수밖에 없다.If there is always 2 delays as in the case of FIG. 4, two additional buffers may be solved. However, if the variable and the delay time are very long, such as an image, the internal buffer (register or internal memory) cannot be used and the general external memory is used. There is no choice but to use.

이는 전체 시스템의 성능의 저하로 연결될 수 있으며, 따라서 그 성능 저하를 최소화하기 위하여 오버랩 변화부와 디블록킹 필터 사이의 인터페이스 구조를 개선할 필요성이 있는 것이다.This may lead to deterioration of the performance of the entire system, and therefore, there is a need to improve the interface structure between the overlap change unit and the deblocking filter in order to minimize the deterioration of the performance.

본 발명은 상기한 문제점들을 해결하기 위하여 안출된 것으로, 본 발명의 목적은 시장 표준으로 널리 사용되는 WMV 디코더의 하드웨어 구현시 외부 메모리의 접근 빈도가 높은 오버랩 변환부와 디블록킹 필터의 인터페이스 구조를 개선함으로써 메모리 대역폭을 최소화시킬 수 있는 WMV 디코더의 오버랩 변환부와 디블록킹 필터 사이의 인터페이스 방법을 제공하는 것이다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and an object of the present invention is to improve the interface structure of an overlapping block and a deblocking filter having high access frequency of an external memory in hardware implementation of a WMV decoder widely used as a market standard. Accordingly, the present invention provides an interface method between the overlap converter of the WMV decoder and the deblocking filter, which can minimize the memory bandwidth.

본 발명의 다른 목적은 오버랩 변환부와 디블록킹 필터 사이에 응용된 메모리 맵을 사용하고 오버랩 변환부와 디블록킹 필터의 수행조건에 따라 적응적으로 파이프라인 구조를 변경시킴으로써 WMV 디코더 시스템의 전체적인 메모리 대역폭을 감소시키는 WMV 디코더의 오버랩 변환부와 디블록킹 필터 사이의 인터페이스 방법을 제공하는 것이다.Another object of the present invention is to use the memory map applied between the overlap transform unit and the deblocking filter and to adaptively change the pipeline structure according to the execution condition of the overlap transform unit and the deblocking filter. It is to provide an interface method between the overlap conversion unit and the deblocking filter of the WMV decoder to reduce the P.

본 발명의 다른 목적 및 장점들은 하기에 설명될 것이며, 본 발명의 실시예에 의해 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 청구범위에 나타낸 수단 및 조합에 의해 실현될 수 있다.Other objects and advantages of the invention will be described below and will be appreciated by the embodiments of the invention. In addition, the objects and advantages of the invention may be realized by the means and combinations indicated in the claims.

상기한 목적을 달성하기 위한 본 발명에 따른 WMV 디코더의 오버랩 변환부와 디블록킹 필터 사이의 인터페이스 방법은, 파이프라인 구조의 가변 길이 복호화부(기능부1), 역변환/역양자화부(기능부2), 예측 복호화부/움직임 보상부(기능부3), 오버랩 변환부(기능부4), 디블록킹 필터(기능부5)로 구성되는 복수개의 기능부들을 포함하고 외부 메모리에 액세스할 수 있는 WMV 디코더에서, 오버랩 변환부와 디블록킹 필터 사이의 인터페이스 방법에 있어서, 상기 오버랩 변환부와 디블록킹 필터의 활성화 여부를 판단하는 제1 단계; 및 상기 제1 단계에서 판단된 활성화 여부에 따라서 적응적인 파이프라인 구조를 적용하되, 상기 오버랩 변환부와 디블록킹 필터가 둘다 활성화된 경우에는 상기 외부 메모리에 저장되어 있는 YCbCr 포맷의 맵 데이터를 이용하여 디블록킹 필터링을 수행하는 제2 단계를 포함하는 것을 특징으로 한다.In order to achieve the above object, an interface method between an overlap converter and a deblocking filter of a WMV decoder according to the present invention includes a variable length decoder (functional unit 1) and an inverse transform / inverse quantizer (functional unit 2) having a pipeline structure. ), A WMV including a plurality of functional units consisting of a predictive decoding unit / motion compensation unit (functional unit 3), an overlap transform unit (functional unit 4), and a deblocking filter (functional unit 5), and capable of accessing an external memory. An interface method between an overlap converter and a deblocking filter, the decoder comprising: a first step of determining whether the overlap converter and the deblocking filter are activated; And an adaptive pipeline structure according to the activation determined in the first step. When both the overlap converter and the deblocking filter are activated, the map data of YCbCr format stored in the external memory is used. And a second step of performing deblocking filtering.

이하 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다. 하기 설명 및 첨부 도면에서 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다. 일반적으로, 이미지 데이터는 크게 는 픽처 단위, 작게는 화소 단위로 입력되는데, 본 발명에서는 그 중간 크기인 매크로블록 단위를 기준 처리 단위로 하여 입력을 받아들이게 된다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description and the annexed drawings, detailed descriptions of well-known functions and configurations that may unnecessarily obscure the subject matter of the present invention will be omitted. In general, image data is input in a large picture unit and a small pixel unit. In the present invention, an input is accepted using a macroblock unit, which is a medium size, as a reference processing unit.

도 1을 참조하여 앞서 살펴본 바와 같이, WMV 디코더의 하드웨어 구현시 가변 길이 복호화부(10)(기능부1), 역변환/역양자화부(12)(기능부2), 예측 복호화부/움직임 보상부(14)(기능부3)들은 매크로블록 구현이 용이하나, 오버랩 변환부(16)(기능부4)와 디블록킹 필터(17)(기능부5)는 매크로블록 주변의 일정 데이터를 변환시켜야 하는 구조적인 특징으로 인하여 매크로블록 구현이 용이하지 못하다.As described above with reference to FIG. 1, in the hardware implementation of the WMV decoder, the variable length decoder 10 (function unit 1), the inverse transform / inverse quantizer 12 (function unit 2), and the predictive decoder / motion compensation unit (14) (Function 3) are easy to implement a macroblock, but overlap conversion section 16 (Function 4) and deblocking filter 17 (Function 5) is required to convert certain data around the macroblock. Due to structural features, macroblock implementation is not easy.

따라서, 본 발명에서는 오버랩 변환부와 디블록킹 필터에서 필요로 하는 외부 메모리 접근 빈도를 줄이기 위하여 매크로블록 단위의 YUV 데이터를 갖는 인터페이스 맵(변형된 Y, Cb, Cr 맵 구조)을 적용하고, 또한 프레임 헤더 부분에 정의되어 있는 오버랩 변환과 디블록킹 필터링 여부에 따라 적응적인 파이프라인 구조를 적용함으로써 WMV 디코더의 최적화된 성능을 제공한다.Therefore, in the present invention, in order to reduce the frequency of external memory access required by the overlap transform unit and the deblocking filter, an interface map (modified Y, Cb, Cr map structure) having YUV data in macroblock units is applied, and a frame is also applied. By applying the adaptive pipeline structure according to overlap transform and deblocking filtering defined in the header part, the WMV decoder provides optimized performance.

도 5는 본 발명의 일실시예에 따른 WMV 디코더의 오버랩 변환부와 디블록킹 필터 사이의 인터페이스 방법을 설명하는 순서도로서, 오버랩 변환부와 디블록킹 필터 사이의 인터페이싱은, 오버랩 변환부와 디블록킹 필터의 활성화 여부를 판단하며, 앞서 판단된 활성화 여부에 따라서 적응적인 파이프라인 구조를 적용하되, 오버랩 변환부와 디블록킹 필터가 둘다 활성화된 경우에는 외부 메모리에 저장되어 있는 YCbCr 포맷의 맵 데이터를 이용하여 디블록킹 필터링을 수행함으로써 이루어 진다. 이에 대해 구체적으로 살펴보면 다음과 같다.FIG. 5 is a flowchart illustrating an interface method between an overlap converter and a deblocking filter of a WMV decoder according to an embodiment of the present invention, and the interfacing between the overlap converter and the deblocking filter includes an overlap converter and a deblocking filter. Is determined, and an adaptive pipeline structure is applied according to the above-mentioned activation. If both the overlap converter and the deblocking filter are activated, the YCbCr format map data stored in the external memory is used. This is done by performing deblocking filtering. This will be described in detail below.

먼저, 오버랩 변환부와 디블록킹 필터의 활성화 여부를 판단한다(S10).First, it is determined whether the overlap converter and the deblocking filter are activated (S10).

일반적으로, 오버랩 변환과 디블록킹 필터링의 수행 여부는 프레임 정보를 가지고 있는 프레임 헤더 부분에 정의되어 있으므로 WMV 디코더의 프레임 헤더 디코딩을 통하여 알 수 있다. 구체적으로는 엔트리-포인트 헤더(Entry-point header)에서 구해진 오버랩 변환 플래그(Flag)와 루프 필터 플래그에 따라서 처리되며, 특히 2개의 플래그가 가 모두 온(On)이 되었을 경우에 외부 메모리에 액세스하여 디블록킹 필터링을 수행하게 된다.In general, whether overlapping conversion and deblocking filtering is performed is defined in a frame header portion having frame information, and thus can be known through frame header decoding of the WMV decoder. Specifically, it is processed according to the overlap conversion flag and loop filter flag obtained from the entry-point header. In particular, when both flags are turned on, the external memory is accessed. Deblocking filtering is performed.

오버랩 변환부와 디블록킹 필터의 활성화 여부는 하기와 같은 4가지의 경우로 판단된다.Whether the overlap converter and the deblocking filter are activated is determined in four cases as follows.

Case1:Case1:

오버랩 변환부가 활성화 상태인지 체크하는 과정(S12)과 디블록킹 필터가 활성화 상태인지 체크하는 과정(S14)에서, 오버랩 변환부와 디블록킹 필터가 모두 비활성화되는 경우로서, 기능부1 내지 기능부3을 포함하는 3단 파이프라인 구조를 적용하여 매크로블록 데이터를 처리한다.In the process of checking whether the overlap converter is activated (S12) and the process of checking whether the deblocking filter is activated (S14), the overlap converter and the deblocking filter are both deactivated. The macroblock data is processed by applying a three-stage pipeline structure.

Case2:Case2:

오버랩 변환부가 활성화 상태인지 체크하는 과정(S12)에서 오버랩 변환부가 활성화되고, 디블록킹 필터가 활성화 상태인지 체크하는 과정(S18)에서 디블록킹 필터가 비활성화되는 경우로서, 기능부1 내지 기능부4를 포함하는 4단 파이프라인 구조를 적용하여 오버랩변환을 수행한다(S16).When the overlap converter is activated in step S12 of checking whether the overlap converter is activated, the deblocking filter is deactivated in step S18 of checking whether the overlap converter is activated. The overlap conversion is performed by applying a four-stage pipeline structure (S16).

Case3:Case3:

오버랩 변환부가 활성화 상태인지 체크하는 과정(S12)에서 오버랩 변환부가 비활성화되고, 디블록킹 필터가 활성화 상태인지 체크하는 과정(S18)에서 디블록킹 필터가 활성화되는 경우로서, 기능부1 내지 기능부3, 및 기능부5를 포함하는 4단 파이프라인 구조를 적용하여 디블록킹 필터링을 수행한다(S20).When the overlap converter is deactivated in step S12 of checking whether the overlap converter is in an activated state, and the deblocking filter is activated in step S18 of checking whether the deblocking filter is in an activated state, the function units 1 to 3, And deblocking filtering by applying a four-stage pipeline structure including a functional unit 5 (S20).

Case4:Case4:

오버랩 변환부가 활성화 상태인지 체크하는 과정(S12)과 디블록킹 필터가 활성화 상태인지 체크하는 과정(S18)에서, 오버랩 변환부와 디블록킹 필터가 모두 활성화되는 경우로서, 기능부1 내지 기능부5를 포함하는 5단 파이프라인 구조를 적용하여 오버랩 변환(S16) 및 디블록킹 필터링(S20)을 수행한다. 이때, 외부 메모리에 액세스하여 외부 메모리에 저장되어 있는 YCbCr 포맷의 맵 데이터를 이용하여 디블록킹 필터링을 수행하게 된다.In the process of checking whether the overlap converter is activated (S12) and the process of checking whether the deblocking filter is activated (S18), the overlap converter and the deblocking filter are both activated. The overlap transform (S16) and the deblocking filtering (S20) are performed by applying a five-stage pipeline structure. At this time, the deblocking filtering is performed by accessing the external memory and using map data of the YCbCr format stored in the external memory.

도 6은 본 발명의 일실시예에 따른 외부 메모리 구조를 도시하는 도면으로서, 도 6a는 매크로블록 단위의 논리적 메모리 구조를 보여주고, 도 6b는 물리적 메모리 위치를 보여주고 있다.FIG. 6 is a diagram illustrating an external memory structure according to an embodiment of the present invention. FIG. 6A shows a logical memory structure in units of macroblocks, and FIG. 6B shows a physical memory location.

컬러 영상을 휘도 성분과 색차 성분으로 나누어 표현하는 포맷을 사용하여 데이터량을 줄일 수 있는데, 이 포맷을 YCbCr 포맷이라고 한다.The amount of data can be reduced by using a format in which a color image is divided into a luminance component and a chrominance component, and this format is called a YCbCr format.

본 발명에서는 휘도 성분인 Y 성분과, 색차 성분인 Cb, Cr로 표현되는 YUV 영상 데이터의 위치를 매크로블록 단위로 혹은 미리 결정된 처리 단위 크기로 구성함으로써, 즉 Y 성분, Cb, Cr 성분 데이터를 연속적으로 할당하여 순차적으로 읽을 수 있도록 함으로써 메모리 대역폭을 감소시키고 있다.In the present invention, the Y component as the luminance component and the position of the YUV image data represented by the chrominance components Cb and Cr are configured in macroblock units or in a predetermined processing unit size, that is, the Y component, Cb and Cr component data are continuously formed. The memory bandwidth is reduced by allocating to read sequentially.

이는 일반적으로 YUV 데이터를 처리하거나 표현할 때 Y, Cb, Cr 영역을 따로 두어 다른 외부 출력 장치와의 인터페이스의 호환을 고려하지만, 본 발명에서는 오버랩 변환과 디블록킹 필터링 간에 변형된 Y, Cb, Cr 맵 구조를 이용함으로써 시스템의 메모리 대역폭을 약 10% 이상 감소시킬 수 있었다.This generally takes into account the compatibility of the interface with other external output devices by keeping the Y, Cb, and Cr areas separate when processing or representing YUV data, but in the present invention, the modified Y, Cb, Cr maps between the overlap transform and the deblocking filtering are considered. By using the architecture, we were able to reduce the system's memory bandwidth by about 10% or more.

도 7은 오버랩 변환부가 비활성화되고 디블록킹 필터가 활성화된 경우의 파이프라인 구조를 도시하는 도면이다. 즉, Overlapped Transform Flag = 0, Loop Filter Flag = 1인 경우에 관한 지연이 없는 WMV 디코더의 파이프라인 구조이다.FIG. 7 is a diagram illustrating a pipeline structure when the overlap transform unit is deactivated and the deblocking filter is activated. That is, it is a pipeline structure of the WMV decoder with no delay associated with the case of the overlapped transform flag = 0 and the loop filter flag = 1.

물론, Overlapped Transform Flag = 1, Loop Filter Flag = 0 일 경우에도 도 5의 디블록킹 필터링이라는 프로세스 대신에 오버랩변환으로 하여 같은 구조로 구성된다.Of course, even when Overlapped Transform Flag = 1 and Loop Filter Flag = 0, the same structure is used as an overlap transform instead of the process of deblocking filtering of FIG. 5.

다만, Overlapped Transform Flag = 0, Loop Filter Flag = 0 일 경우에는 도 5의 디블록킹 필터링이라는 부분이 제외된다.However, when the overlapped transform flag = 0 and the loop filter flag = 0, the part called deblocking filtering of FIG. 5 is excluded.

도 8은 오버랩 변환부와 디블록킹 필터가 모두 활성화되는 경우의 파이프라인 구조를 도시하는 도면이다. 즉, Overlapped Transform Flag = 1, Loop Filter Flag = 1 일 경우에 관하여 지연이 있는 WMV 디코더의 파이프라인 구조이다.8 is a diagram illustrating a pipeline structure when both an overlap converter and a deblocking filter are activated. That is, the pipelined structure of the WMV decoder with a delay with respect to the case of the overlapped transform flag = 1 and the loop filter flag = 1.

이는 영상의 크기에 따라 달라지겠지만 도 2에서 설명한 바와 같이 1 매크로블록 라인 + 1 매크로블록 만큼의 지연시간(D)을 갖게 된다.This will vary depending on the size of the image, but as described above with reference to FIG. 2, a delay time D of one macroblock line + one macroblock is obtained.

도 8의 지연이 있는 파이프라인 구조에서 지연시간(D)에 해당하는 만큼의 버퍼가 요구되며, 이 버퍼는 크기가 영상에 따라 가변적이고 용량이 크기 때문에 외부 메모리가 이용된다. In the delayed pipeline structure of FIG. 8, a buffer corresponding to the delay time D is required. Since the size of the buffer is variable according to an image and its capacity is large, an external memory is used.

참고로, 외부 메모리와 내부 버퍼의 차이점은 접근 시간에서 차이를 보인다. 내부 버퍼로 사용하는 레지스터나 내부 메모리의 경우에는 일정 단위의 접근을 위해 대기시간(latency)이 없이 1 cycle(혹은 clock)에 데이터를 읽고/쓰고 할 수 있으나, 외부 메모리는 대기시간(latency)이 일정하지 않아 원하는 시점에 데이터를 불러오는 것이 매우 어렵다.For reference, the difference between the external memory and the internal buffer shows a difference in access time. In the case of registers or internal memory used as internal buffers, data can be read / written in one cycle (or clock) without waiting for a certain unit of access, but external memory has a latency. It is not constant, so it is very difficult to load data at the desired time.

예를 들면, 도 1에서, 기능부1 내지 기능부3 사이에는 내부메모리(미도시)와 인터페이스만 존재하고, 기능부4,5에는 메모리 컨트롤러(미도시)를 통한 외부 메모리(22)의 인터페이스가 존재한다. 외부 메모리(22)에 액세스하기 위해서는 메모리 컨트롤러의 제어하에 시스템 버스(20)를 통하여 데이터를 주고 받게 되는데, 이때 시스템 버스(20)가 사용가능한 상태인지 혹은 대기 상태인지를 시스템 입장에서 할당을 하기 때문에 메모리의 데이터를 요청(request) 후 실제 데이터를 받는 시점은 짧게는 몇 cycle 동안 길게는 몇 십 cycle 동안 대기하는 경우가 발생한다.For example, in FIG. 1, only an internal memory (not shown) and an interface exist between the functional units 1 to 3, and an interface of the external memory 22 through a memory controller (not shown) in the functional units 4 and 5. Is present. In order to access the external memory 22, data is transmitted and received through the system bus 20 under the control of the memory controller, since the system bus 20 assigns whether the system bus 20 is available or in a standby state. When a request for data in memory is received, actual data may be shortly waited for several cycles or tens of cycles.

따라서, 외부 메모리의 접근 빈도를 줄이는 것이 시스템의 전체 대역폭을 낮추는 효과를 제공한다. 여기서, 접근 빈도라는 것은 1D의 물리적인 메모리 위치에서 연속하지 않은 주소의 접근을 말한다. Thus, reducing the frequency of access of external memory provides the effect of lowering the overall bandwidth of the system. Here, the access frequency refers to access of non-contiguous addresses from 1D physical memory locations.

예를 들어, 외부 메모리에서 0번, 10번, 20번, 30번 주소에 있는 데이터를 요청하는 것과 0, 1, 2, 3번의 데이터를 요청하는 것은 큰 차이를 보인다.For example, requesting data at addresses 0, 10, 20, and 30 from external memory differs greatly from requesting data at 0, 1, 2, and 3.

전자의 경우는 대기시간(L0) + 데이터처리시간(0번) + 대기시간(L1) + 데이터처리시간(1번) + 대기시간(L2) + 데이터처리시간(2번) + 대기시간(L3) + 데이터처리시간(3번) = 대기시간*4 + 데이터처리시간*4 로 표현된다.In the former case, the waiting time (L0) + data processing time (No. 0) + waiting time (L1) + data processing time (No. 1) + waiting time (L2) + data processing time (No. 2) + waiting time (L3) ) + Data processing time (3 times) = Wait time * 4 + Data processing time * 4.

그러나, 후자의 경우, 대기시간(L0) + 데이터처리시간(0번) + 데이터처리시간(1번) + 데이터처리시간(2번) + 데이터처리시간(3번) = 대기시간 + 데이터처리시간*4 만큼이 필요로 하게 된다.However, in the latter case, waiting time (L0) + data processing time (No. 0) + data processing time (No. 1) + data processing time (No. 2) + data processing time (No. 3) = waiting time + data processing time * 4 is needed.

다시 말해서, 외부 메모리는 DMA 컨트롤러를 이용하여 외부 버스를 이용하기 때문에 시스템 상태에 따라 응답 시간의 지연이 발생되는 특징을 가진다. 또한 불연속한 데이터의 요청은 더욱 응답 시간의 지연을 야기시킨다. 이는 메모리 접근의 빈도가 높은 기능부의 처리속도를 떨어뜨리는 결과를 발생하게 되며, 곧 전체 하드웨어 성능 저하의 요인이 된다.In other words, since the external memory uses an external bus using a DMA controller, a delay in response time occurs according to a system state. Discontinuous data requests also cause delays in response time. This results in a slowdown in the processing of high frequency memory accesses, which is a factor in overall hardware performance degradation.

이러한 문제점을 보완하기 위해, 본 발명에서는 도 6에서와 같은 외부 메모리에 대한 맵을 제공하고 있으며, 외부 메모리 사용 권한을 DMA 컨트롤러에 요청하여 응답을 받았을 때, 최대한 많은 데이터를 가져오도록 함으로써 메모리 접근빈도 를 낮추고 있다. 즉, 휘도 성분(Y)의 데이터를 가져올 때 색차 성분(Cb,Cr)도 연속적으로 가져옴으로써 메모리 대역폭을 감소시키는 구조로 구현하고 있다.In order to solve this problem, the present invention provides a map of the external memory as shown in FIG. 6, and when the external memory use authority is requested to the DMA controller and receives a response, the memory access frequency is obtained by bringing as much data as possible. Is lowering. That is, when the data of the luminance component (Y) is imported, the color difference components (Cb, Cr) are also continuously imported to reduce the memory bandwidth.

한편, 도 9는 본 발명의 일실시예에 따른 매크로블록 단위 오버랩 변환 과정을 설명하는 도면으로서, N 시간에서 매크로블록(N)의 수직경계 오버랩 변환을 하고, N-1 시간에 수직경계 오버랩 변환 후 저장된 매크로블록(N-1)의 수평방향 오버랩 변환을 하는 방식으로 매 매크로블록 마다 오버랩 변환을 하도록 구성하였다.Meanwhile, FIG. 9 is a diagram illustrating a macroblock unit overlap conversion process according to an embodiment of the present invention. The vertical boundary overlap conversion of the macroblock N is performed at N time, and the vertical boundary overlap conversion is performed at N-1 time. Then, the overlap conversion is performed for every macroblock by the horizontal overlap conversion of the stored macroblock N-1.

도 10은 본 발명의 일실시예에 따른 매크로블록 단위 디블록킹 필터 과정을 설명하는 도면으로서, 좌로 8x8 블록, 위로 8x8 블록 만큼 지연시킴으로써 매크로 블록 처리를 가능하게 하며, 디블록킹 필터는 수평 필터링 결과에 다시 수직 필터링을 취하는 방식이기 때문에 필터링 우선 순위가 중요한데, 순서는 하기와 같다.FIG. 10 is a diagram illustrating a macroblock-based deblocking filter process according to an embodiment of the present invention, and enables macroblock processing by delaying 8x8 blocks to the left and 8x8 blocks to the left, and the deblocking filter is applied to the horizontal filtering result. Again, the filtering priority is important because it's a vertical filtering method.

(1) 8x8 수평 필터링 수행(1) Perform 8x8 horizontal filtering

(2) 상기 (1)의 결과에 4x4 수평 필터링 수행(2) Perform 4x4 horizontal filtering on the result of (1) above

(3) 상기 (1), (2)의 결과에 8x8 수직 필터링 수행(3) Perform 8x8 vertical filtering on the results of (1) and (2) above

(4) 상기 (1), (2), (3)의 결과에 4x4 수직 필터링 수행.(4) Perform 4x4 vertical filtering on the results of (1), (2) and (3) above.

상기한 필터링 우선순위에 의해 도 10에서와 같이 좌, 상으로 지연되는 모델이 구성된다.By the above-described filtering priority, as shown in FIG.

도 11은 본 발명의 일실시예에 따른 오버랩 변환 과정에서의 외부 메모리 맵을 도시하는 도면으로서, 오버랩 변환 출력이 본 발명에 따른 YCbCr 포맷의 맵 데이터 구조를 가진다. 이후에, 상기한 YCbCr 포맷의 맵 데이터를 이용하여 디블록킹 필터링을 수행하게 된다.FIG. 11 is a diagram illustrating an external memory map in an overlap conversion process according to an embodiment of the present invention, wherein the overlap conversion output has a map data structure in YCbCr format according to the present invention. Thereafter, deblocking filtering is performed using the map data of the YCbCr format.

이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 고안이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.While the above has been illustrated and described with respect to the preferred embodiments of the present invention, the present invention is not limited to the specific embodiments described above, it is usually in the art to which the subject innovation belongs without departing from the spirit of the invention claimed in the claims. Various modifications can be made by those skilled in the art, and these modifications should not be individually understood from the technical spirit or the prospect of the present invention.

이상에서와 같이, 본 발명에서는 WMV 디코더를 하드웨어로 구현시 성능에 문제가 되는 오버랩 변환부와 디블록킹 필터 사이의 메모리 대역폭을 줄일 수 있으므로 디코더 전체의 처리 속도 증가 및 전력 소모를 감소시키는 효과가 있다.As described above, in the present invention, since the memory bandwidth between the overlap converter and the deblocking filter, which is a performance problem when the WMV decoder is implemented in hardware, can be reduced, the processing speed and power consumption of the entire decoder can be reduced. .

또한, 본 발명에 따른 오버랩 변환과 디블록킹 필터링의 활성화 유무에 따른 적응적 파이프라인 구조는 비트스트림 구성에 따라 최적화된 성능을 제공하는 장점이 있다.In addition, the adaptive pipeline structure according to whether the overlap transform and the deblocking filtering is activated according to the present invention has an advantage of providing optimized performance according to the bitstream configuration.

Claims (8)

파이프라인 구조의 가변 길이 복호화부(기능부1), 역변환/역양자화부(기능부2), 예측 복호화부/움직임 보상부(기능부3), 오버랩 변환부(기능부4), 디블록킹 필터(기능부5)로 구성되는 복수개의 기능부들을 포함하고 외부 메모리에 액세스할 수 있는 WMV 디코더에서, 오버랩 변환부와 디블록킹 필터 사이의 인터페이스 방법에 있어서,Variable length decoder (function unit 1), inverse transform / dequantizer (function unit 2), predictive decoder / motion compensation unit (function unit 3), overlap transform unit (function unit 4), deblocking filter of the pipeline structure In the WMV decoder including a plurality of functional units constituted by (functional unit 5) and capable of accessing an external memory, the interface method between the overlap converter and the deblocking filter, 상기 오버랩 변환부와 디블록킹 필터의 활성화 여부를 판단하는 제1 단계; 및Determining whether the overlap converter and the deblocking filter are activated; And 상기 제1 단계에서 판단된 활성화 여부에 따라서 적응적인 파이프라인 구조를 적용하되, 상기 오버랩 변환부와 상기 디블록킹 필터가 모두 활성화되는 경우에는 상기 기능부1 내지 상기 기능부5를 포함하는 5단 파이프라인 구조를 적용하여 오버랩 변환 및 디블록킹 필터링을 수행하는 제2 단계를 포함하는 것을 특징으로 하는 WMV 디코더의 오버랩 변환부와 디블록킹 필터 사이의 인터페이스 방법.A five-stage pipe including the functional unit 1 to the functional unit 5 is applied to the adaptive pipeline structure depending on whether the activation is determined in the first step, and when the overlap converter and the deblocking filter are both activated. And a second step of performing overlap transform and deblocking filtering by applying a line structure. 파이프라인 구조의 가변 길이 복호화부(기능부1), 역변환/역양자화부(기능부2), 예측 복호화부/움직임 보상부(기능부3), 오버랩 변환부(기능부4), 디블록킹 필터(기능부5)로 구성되는 복수개의 기능부들을 포함하고 외부 메모리에 액세스할 수 있는 WMV 디코더에서, 오버랩 변환부와 디블록킹 필터 사이의 인터페이스 방법에 있어서,Variable length decoder (function unit 1), inverse transform / dequantizer (function unit 2), predictive decoder / motion compensation unit (function unit 3), overlap transform unit (function unit 4), deblocking filter of the pipeline structure In the WMV decoder including a plurality of functional units constituted by (functional unit 5) and capable of accessing an external memory, the interface method between the overlap converter and the deblocking filter, 상기 오버랩 변환부와 디블록킹 필터의 활성화 여부를 판단하는 제1 단계; 및Determining whether the overlap converter and the deblocking filter are activated; And 상기 제1 단계에서 판단된 활성화 여부에 따라서 적응적인 파이프라인 구조를 적용하되, 상기 오버랩 변환부와 상기 디블록킹 필터가 모두 비활성화되는 경우에는 상기 기능부1 내지 상기 기능부3을 포함하는 3단 파이프라인 구조를 적용하여 매크로블록 데이터를 처리하는 제2 단계를 포함하는 것을 특징으로 하는 WMV 디코더의 오버랩 변환부와 디블록킹 필터 사이의 인터페이스 방법.An adaptive pipeline structure is applied according to whether the activation is determined in the first step, and when the overlap converter and the deblocking filter are both deactivated, a three-stage pipe including the functional units 1 to 3 is provided. And a second step of processing macroblock data by applying a line structure to the overlapping block and the deblocking filter of the WMV decoder. 파이프라인 구조의 가변 길이 복호화부(기능부1), 역변환/역양자화부(기능부2), 예측 복호화부/움직임 보상부(기능부3), 오버랩 변환부(기능부4), 디블록킹 필터(기능부5)로 구성되는 복수개의 기능부들을 포함하고 외부 메모리에 액세스할 수 있는 WMV 디코더에서, 오버랩 변환부와 디블록킹 필터 사이의 인터페이스 방법에 있어서,Variable length decoder (function unit 1), inverse transform / dequantizer (function unit 2), predictive decoder / motion compensation unit (function unit 3), overlap transform unit (function unit 4), deblocking filter of the pipeline structure In the WMV decoder including a plurality of functional units constituted by (functional unit 5) and capable of accessing an external memory, the interface method between the overlap converter and the deblocking filter, 상기 오버랩 변환부와 디블록킹 필터의 활성화 여부를 판단하는 제1 단계; 및Determining whether the overlap converter and the deblocking filter are activated; And 상기 제1 단계에서 판단된 활성화 여부에 따라서 적응적인 파이프라인 구조를 적용하되, 상기 오버랩 변환부가 활성화되고 상기 디블록킹 필터가 비활성화되는 경우에는 상기 기능부1 내지 상기 기능부4를 포함하는 4단 파이프라인 구조를 적용하여 오버랩 변환을 수행하는 제2 단계를 포함하는 것을 특징으로 하는 WMV 디코더의 오버랩 변환부와 디블록킹 필터 사이의 인터페이스 방법.A four-stage pipe including the functional unit 1 to the functional unit 4 is applied if the adaptive pipeline structure is applied according to the activation determined in the first step, and the overlap converter is activated and the deblocking filter is deactivated. And a second step of performing an overlap transformation by applying a line structure. 2. The interface method between the overlap transform unit and the deblocking filter of the WMV decoder. 파이프라인 구조의 가변 길이 복호화부(기능부1), 역변환/역양자화부(기능부2), 예측 복호화부/움직임 보상부(기능부3), 오버랩 변환부(기능부4), 디블록킹 필터(기능부5)로 구성되는 복수개의 기능부들을 포함하고 외부 메모리에 액세스할 수 있는 WMV 디코더에서, 오버랩 변환부와 디블록킹 필터 사이의 인터페이스 방법에 있어서,Variable length decoder (function unit 1), inverse transform / dequantizer (function unit 2), predictive decoder / motion compensation unit (function unit 3), overlap transform unit (function unit 4), deblocking filter of the pipeline structure In the WMV decoder including a plurality of functional units constituted by (functional unit 5) and capable of accessing an external memory, the interface method between the overlap converter and the deblocking filter, 상기 오버랩 변환부와 디블록킹 필터의 활성화 여부를 판단하는 제1 단계; 및Determining whether the overlap converter and the deblocking filter are activated; And 상기 제1 단계에서 판단된 활성화 여부에 따라서 적응적인 파이프라인 구조를 적용하되, 상기 오버랩 변환부가 비활성화되고 상기 디블록킹 필터가 활성화되는 경우에는 상기 기능부1 내지 상기 기능부3, 및 상기 기능부5를 포함하는 4단 파이프라인 구조를 적용하여 디블록킹 필터링을 수행하는 제2 단계를 포함하는 것을 특징으로 하는 WMV 디코더의 오버랩 변환부와 디블록킹 필터 사이의 인터페이스 방법.An adaptive pipeline structure is applied according to whether the activation is determined in the first step, but when the overlap converter is deactivated and the deblocking filter is activated, the functional units 1 to 3, and the functional unit 5. And a second step of performing deblocking filtering by applying a four-stage pipeline structure including a second stage pipeline structure including an overlapping conversion unit and a deblocking filter of the WMV decoder. 제1항에 있어서,The method of claim 1, 상기 디블록킹 필터링은 상기 외부 메모리에 저장되어 있는 YCbCr 포맷의 맵 데이터를 이용하여 수행되는 것을 특징으로 하는 WMV 디코더의 오버랩 변환부와 디블록킹 필터 사이의 인터페이스 방법.The deblocking filtering is performed by using the map data of the YCbCr format stored in the external memory. The interface method between the overlap converter and the deblocking filter of the WMV decoder. 제5항에 있어서,The method of claim 5, 상기 YCbCr 포맷의 맵 데이터는 Y 성분, Cb, Cr 성분 데이터를 연속적으로 할당하여 순차적으로 읽을 수 있도록 하는 것을 특징으로 하는 WMV 디코더의 오버랩 변환부와 디블록킹 필터 사이의 인터페이스 방법.And the map data in the YCbCr format is sequentially allocated to read Y component, Cb and Cr component data so that the map data of the YCbCr format can be sequentially read. 제6항에 있어서,The method of claim 6, 상기 Y 성분, Cb, Cr 성분 데이터는 매크로블록 단위로 할당되는 것을 특징으로 하는 WMV 디코더의 오버랩 변환부와 디블록킹 필터 사이의 인터페이스 방법.And the Y component, Cb, and Cr component data are allocated on a macroblock basis. The interface method between the overlap converter and the deblocking filter of the WMV decoder. 제1항 내지 제7항 중 어느 한 항에 있어서,The method according to any one of claims 1 to 7, 상기 오버랩 변환부와 디블록킹 필터의 활성화 여부는 디코더의 프레임 헤더 디코딩을 수행함으로써 획득되는 것을 특징으로 하는 WMV 디코더의 오버랩 변환부와 디블록킹 필터 사이의 인터페이스 방법.Whether the overlap converter and the deblocking filter are activated is obtained by performing frame header decoding of the decoder. The interface method between the overlap converter and the deblocking filter of the WMV decoder.
KR1020070043931A 2007-01-25 2007-05-07 Interface method between overlapped transform and deblocking filter of wmv decoder KR100903863B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020070008065 2007-01-25
KR20070008065 2007-01-25

Publications (2)

Publication Number Publication Date
KR20080070480A KR20080070480A (en) 2008-07-30
KR100903863B1 true KR100903863B1 (en) 2009-06-24

Family

ID=39823219

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070043931A KR100903863B1 (en) 2007-01-25 2007-05-07 Interface method between overlapped transform and deblocking filter of wmv decoder

Country Status (1)

Country Link
KR (1) KR100903863B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050074011A (en) * 2004-01-13 2005-07-18 (주)씨앤에스 테크놀로지 Vedeo decoder system having reduced memory bandwidth
KR20050099256A (en) * 2004-04-09 2005-10-13 삼성전자주식회사 Apparatus and method for processing image data using deblocking
KR20060084960A (en) * 2005-01-21 2006-07-26 엘지전자 주식회사 Deblocking filter and filtering method in mobile-type broadcasting receiver
WO2006081097A1 (en) 2005-01-25 2006-08-03 Advanced Micro Devices, Inc. Piecewise processing of overlap smoothing and in-loop deblocking

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050074011A (en) * 2004-01-13 2005-07-18 (주)씨앤에스 테크놀로지 Vedeo decoder system having reduced memory bandwidth
KR20050099256A (en) * 2004-04-09 2005-10-13 삼성전자주식회사 Apparatus and method for processing image data using deblocking
KR20060084960A (en) * 2005-01-21 2006-07-26 엘지전자 주식회사 Deblocking filter and filtering method in mobile-type broadcasting receiver
WO2006081097A1 (en) 2005-01-25 2006-08-03 Advanced Micro Devices, Inc. Piecewise processing of overlap smoothing and in-loop deblocking

Also Published As

Publication number Publication date
KR20080070480A (en) 2008-07-30

Similar Documents

Publication Publication Date Title
US10200706B2 (en) Pipelined video decoder system
KR101227667B1 (en) Piecewise processing of overlap smoothing and in-loop deblocking
US8175157B2 (en) Apparatus and method for controlling data write/read in image processing system
US7852343B2 (en) Burst memory access method to rectangular area
US20160301423A1 (en) Encoders, decoders, codecs and systems and processes for their operation and manufacture
EP1779668B1 (en) Image data structure for direct memory access
KR20070111467A (en) Scratch pad for storing intermediate loop filter data
JP5969914B2 (en) Video compression / decompression device
US9530387B2 (en) Adjusting direct memory access transfers used in video decoding
JP5378344B2 (en) System for video processing
US20220279224A1 (en) Systems and methods for video processing
KR20050078706A (en) Memory access method and memory access device
Bonatto et al. Multichannel SDRAM controller design for H. 264/AVC video decoder
KR100903863B1 (en) Interface method between overlapped transform and deblocking filter of wmv decoder
KR101419378B1 (en) System for Video Processing
WO2008037113A1 (en) Apparatus and method for processing video data
KR100891116B1 (en) Apparatus and method for bandwidth aware motion compensation
US20030123555A1 (en) Video decoding system and memory interface apparatus
KR100636911B1 (en) Method and apparatus of video decoding based on interleaved chroma frame buffer
US20090201989A1 (en) Systems and Methods to Optimize Entropy Decoding
US10075722B1 (en) Multi-core video decoder system having at least one shared storage space accessed by different video decoder cores and related video decoding method
KR100556341B1 (en) Vedeo decoder system having reduced memory bandwidth
JP2006094191A (en) Signal processing method and device, and image system
Shen et al. Memory bandwidth reduction for video decoders based on data arrangements
Peng et al. Architecture of AVS hardware decoding system

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
LAPS Lapse due to unpaid annual fee