11 research outputs found

    A low power versatile video coding (VVC) fractional interpolation hardware

    Get PDF
    Fractional interpolation in Versatile Video Coding (VVC) standard has much higher computational complexity than fractional interpolation in previous video compression standards. In this paper, a low power VVC fractional interpolation hardware is designed and implemented using Verilog HDL. The proposed hardware is the first VVC fractional interpolation hardware in the literature. It interpolates necessary fractional pixels for 1/16 pixel accuracy for all prediction unit sizes. The proposed VVC fractional interpolation hardware, in the worst case, can process 40 full HD (1920x1080) frames per second. It has up to 17% less power consumption than original VVC fractional interpolation hardware

    Reconfigurable Adaptive Multiple Transform Hardware Solutions for Versatile Video Coding

    Get PDF
    Computer aided design is nowadays a must to quickly provide optimized circuits, to cope with stringent time to market constraints, and to be able to guarantee colliding constrained requirements. Design automation is exploited, whenever possible, to speed up the design process and relieve the developers from error prone customization, optimization and tuning phases. In this work we study the possibility of adopting automated algorithms for the optimization of reconfigurable multiple constant multiplication circuits. In particular, an exploration of novel reconfigurable Adaptive Multiple Transform circuital solutions adoptable in video coding applications has been conducted. These solutions have also been compared with the unique similar work at the state of the art, revealing to be beneficial under certain constraints. Moreover, the proposed approach has been generalized with some guidelines helpful to designers facing similar problems

    Low energy video processing and compression hardware designs

    Get PDF
    Digital video processing and compression algorithms are used in many commercial products such as mobile devices, unmanned aerial vehicles, and autonomous cars. Increasing resolution of videos used in these commercial products increased computational complexities of digital video processing and compression algorithms. Therefore, it is necessary to reduce computational complexities of digital video processing and compression algorithms, and energy consumptions of digital video processing and compression hardware without reducing visual quality. In this thesis, we propose a novel adaptive 2D digital image processing algorithm for 2D median filter, Gaussian blur and image sharpening. We designed low energy 2D median filter, Gaussian blur and image sharpening hardware using the proposed algorithm. We propose approximate HEVC intra prediction and HEVC fractional interpolation algorithms. We designed low energy approximate HEVC intra prediction and HEVC fractional interpolation hardware. We also propose several HEVC fractional interpolation hardware architectures. We propose novel computational complexity and energy reduction techniques for HEVC DCT and inverse DCT/DST. We designed high performance and low energy hardware for HEVC DCT and inverse DCT/DST including the proposed techniques. VII We quantified computation reductions achieved and video quality loss caused by the proposed algorithms and techniques. We implemented the proposed hardware architectures in Verilog HDL. We mapped the Verilog RTL codes to Xilinx Virtex 6 and Xilinx ZYNQ FPGAs, and estimated their power consumptions using Xilinx XPower Analyzer tool. The proposed algorithms and techniques significantly reduced the power and energy consumptions of these FPGA implementations in some cases with no PSNR loss and in some cases with very small PSNR loss

    FPGA implementations of HEVC sub-pixel interpolation using high-level synthesis

    Get PDF
    Sub-pixel interpolation is one of the most computationally intensive parts of High Efficiency Video Coding (HEVC) video encoder and decoder. High-level synthesis (HLS) tools are started to be successfully used for FPGA implementations of digital signal processing algorithms. Therefore, in this paper, the first FPGA implementation of HEVC sub-pixel (half-pixel and quarter-pixel) interpolation algorithm using a HLS tool in the literature is proposed. The proposed HEVC sub-pixel interpolation hardware is implemented on Xilinx FPGAs using Xilinx Vivado HLS tool. It, in the worst case, can process 45 quad full HD (3840ร—2160) video frames per second. Using HLS tool significantly reduced the FPGA development time. Therefore, HLS tools can be used for FPGA implementation of HEVC video encoder

    Reconfigurable Adaptive Multiple Transform Hardware Solutions for Versatile Video Coding

    Get PDF
    Computer aided design is nowadays a must to quickly provide optimized circuits, to cope with stringent time to market constraints, and to be able to guarantee colliding constrained requirements. Design automation is exploited, whenever possible, to speed up the design process and relieve the developers from error prone customization, optimization and tuning phases. In this work we study the possibility of adopting automated algorithms for the optimization of reconfigurable multiple constant multiplication circuits. In particular, an exploration of novel reconfigurable Adaptive Multiple Transform circuital solutions adoptable in video coding applications has been conducted. These solutions have also been compared with the unique similar work at the state of the art, revealing to be beneficial under certain constraints. Moreover, the proposed approach has been generalized with some guidelines helpful to designers facing similar problems

    FGPA implementations of motion estimation algorithms using Vivado high level synthesis

    Get PDF
    Joint collaborative team on video coding (JCT-VC) recently developed a new international video compression standard called High Efficiency Video Coding (HEVC). HEVC has 50% better compression efficiency than previous H.264 video compression standard. HEVC achieves this video compression efficiency by significantly increasing the computational complexity. Motion estimation is the most computationally complex part of video encoders. Integer motion estimation and fractional motion estimation account for 70% of the computational complexity of an HEVC video encoder. High-level synthesis (HLS) tools are started to be successfully used for FPGA implementations of digital signal processing algorithms. They significantly decrease design and verification time. Therefore, in this thesis, we proposed the first FPGA implementation of HEVC full search motion estimation using Vivado HLS. Then, we proposed the first FPGA implementations of two fast search (diamond search and TZ search) algorithms using Vivado HLS. Finally, we proposed the first FPGA implementations of HEVC fractional interpolation and motion estimation using Vivado HLS. We used several HLS optimization directives to increase performance and decrease area of these FPGA implementations

    High-Level Synthesis Based VLSI Architectures for Video Coding

    Get PDF
    High Efficiency Video Coding (HEVC) is state-of-the-art video coding standard. Emerging applications like free-viewpoint video, 360degree video, augmented reality, 3D movies etc. require standardized extensions of HEVC. The standardized extensions of HEVC include HEVC Scalable Video Coding (SHVC), HEVC Multiview Video Coding (MV-HEVC), MV-HEVC+ Depth (3D-HEVC) and HEVC Screen Content Coding. 3D-HEVC is used for applications like view synthesis generation, free-viewpoint video. Coding and transmission of depth maps in 3D-HEVC is used for the virtual view synthesis by the algorithms like Depth Image Based Rendering (DIBR). As first step, we performed the profiling of the 3D-HEVC standard. Computational intensive parts of the standard are identified for the efficient hardware implementation. One of the computational intensive part of the 3D-HEVC, HEVC and H.264/AVC is the Interpolation Filtering used for Fractional Motion Estimation (FME). The hardware implementation of the interpolation filtering is carried out using High-Level Synthesis (HLS) tools. Xilinx Vivado Design Suite is used for the HLS implementation of the interpolation filters of HEVC and H.264/AVC. The complexity of the digital systems is greatly increased. High-Level Synthesis is the methodology which offers great benefits such as late architectural or functional changes without time consuming in rewriting of RTL-code, algorithms can be tested and evaluated early in the design cycle and development of accurate models against which the final hardware can be verified

    Approximation Opportunities in Edge Computing Hardware : A Systematic Literature Review

    Get PDF
    With the increasing popularity of the Internet of Things and massive Machine Type Communication technologies, the number of connected devices is rising. However, while enabling valuable effects to our lives, bandwidth and latency constraints challenge Cloud processing of their associated data amounts. A promising solution to these challenges is the combination of Edge and approximate computing techniques that allows for data processing nearer to the user. This paper aims to survey the potential benefits of these paradigmsโ€™ intersection. We provide a state-of-the-art review of circuit-level and architecture-level hardware techniques and popular applications. We also outline essential future research directions.publishedVersionPeer reviewe

    Hardware based High Accuracy Integer Motion Estimation and Merge Mode Estimation

    Get PDF
    ํ•™์œ„๋…ผ๋ฌธ (๋ฐ•์‚ฌ)-- ์„œ์šธ๋Œ€ํ•™๊ต ๋Œ€ํ•™์› ๊ณต๊ณผ๋Œ€ํ•™ ์ „๊ธฐยท์ปดํ“จํ„ฐ๊ณตํ•™๋ถ€, 2017. 8. ์ดํ˜์žฌ.HEVC๋Š” H.264/AVC ๋Œ€๋น„ 2๋ฐฐ์˜ ๋›ฐ์–ด๋‚œ ์••์ถ• ํšจ์œจ์„ ๊ฐ€์ง€์ง€๋งŒ, ๋งŽ์€ ์••์ถ• ๊ธฐ์ˆ ์ด ์‚ฌ์šฉ๋จ์œผ๋กœ์จ, ์ธ์ฝ”๋” ์ธก์˜ ๊ณ„์‚ฐ ๋ณต์žก๋„๋ฅผ ํฌ๊ฒŒ ์ฆ๊ฐ€์‹œ์ผฐ๋‹ค. HEVC์˜ ๋†’์€ ๊ณ„์‚ฐ ๋ณต์žก๋„๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•œ ๋งŽ์€ ์—ฐ๊ตฌ๋“ค์ด ์ด๋ฃจ์–ด์กŒ์ง€๋งŒ, ๋Œ€๋ถ€๋ถ„์˜ ์—ฐ๊ตฌ๋“ค์€ H.264/AVC๋ฅผ ์œ„ํ•œ ๊ณ„์‚ฐ ๋ณต์žก๋„ ๊ฐ์†Œ ๋ฐฉ๋ฒ•์„ ํ™•์žฅ ์ ์šฉํ•˜๋Š” ๋ฐ์— ๊ทธ์ณ, ๋งŒ์กฑ์Šค๋Ÿฝ์ง€ ์•Š์€ ๊ณ„์‚ฐ ๋ณต์žก๋„ ๊ฐ์†Œ ์„ฑ๋Šฅ์„ ๋ณด์ด๊ฑฐ๋‚˜, ์ง€๋‚˜์น˜๊ฒŒ ํฐ ์••์ถ• ํšจ์œจ ์†์‹ค์„ ๋™๋ฐ˜ํ•˜์—ฌ HEVC์˜ ์ตœ๋Œ€ ์••์ถ• ์„ฑ๋Šฅ์„ ๋Œ์–ด๋‚ด์ง€ ๋ชปํ–ˆ๋‹ค. ํŠนํžˆ ์•ž์„œ ์—ฐ๊ตฌ๋œ ํ•˜๋“œ์›จ์–ด ๊ธฐ๋ฐ˜์˜ ์ธ์ฝ”๋”๋Š” ์‹ค์‹œ๊ฐ„ ์ธ์ฝ”๋”์˜ ์‹คํ˜„์ด ์šฐ์„ ๋˜์–ด ์••์ถ• ํšจ์œจ์˜ ํฌ์ƒ์ด ๋งค์šฐ ํฌ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ, ๋ณธ ์—ฐ๊ตฌ์—์„œ๋Š” ํ•˜๋“œ์›จ์–ด ๊ธฐ๋ฐ˜ Inter prediction์˜ ๊ณ ์†ํ™”๋ฅผ ์ด๋ฃธ๊ณผ ๋™์‹œ์— HEVC๊ฐ€ ๊ฐ€์ง„ ์••์ถ• ์„ฑ๋Šฅ์˜ ์†์‹ค์„ ์ตœ์†Œํ™”ํ•˜๊ณ , ์‹ค์‹œ๊ฐ„ ์ฝ”๋”ฉ์ด ๊ฐ€๋Šฅํ•œ ํ•˜๋“œ์›จ์–ด ๊ตฌ์กฐ๋ฅผ ์ œ์•ˆํ•˜์˜€๋‹ค. ๋ณธ ์—ฐ๊ตฌ์—์„œ ์ œ์•ˆํ•œ bottom-up MV ์˜ˆ์ธก ๋ฐฉ๋ฒ•์€ ๊ธฐ์กด์˜ ๊ณต๊ฐ„์ , ์‹œ๊ฐ„์ ์œผ๋กœ ์ธ์ ‘ํ•œ PU๋กœ๋ถ€ํ„ฐ MV๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์•„๋‹Œ, HEVC์˜ ๊ณ„์ธต์ ์œผ๋กœ ์ธ์ ‘ํ•œ PU๋กœ๋ถ€ํ„ฐ MV๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ œ์•ˆํ•˜์—ฌ MV ์˜ˆ์ธก์˜ ์ •ํ™•๋„๋ฅผ ํฐ ํญ์œผ๋กœ ํ–ฅ์ƒ์‹œ์ผฐ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ์••์ถ• ํšจ์œจ์˜ ๋ณ€ํ™” ์—†์ด IME์˜ ๊ณ„์‚ฐ ๋ณต์žก๋„๋ฅผ 67% ๊ฐ์†Œ์‹œํ‚ฌ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๋˜ํ•œ, ๋ณธ ์—ฐ๊ตฌ์—์„œ๋Š” ์ œ์•ˆ๋œ bottom-up IME ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ ์šฉํ•˜์—ฌ ์‹ค์‹œ๊ฐ„ ๋™์ž‘์ด ๊ฐ€๋Šฅํ•œ ํ•˜๋“œ์›จ์–ด ๊ธฐ๋ฐ˜์˜ IME๋ฅผ ์ œ์•ˆํ•˜์˜€๋‹ค. ๊ธฐ์กด์˜ ํ•˜๋“œ์›จ์–ด ๊ธฐ๋ฐ˜ IME๋Š” ๊ณ ์† IME ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๊ฐ–๋Š” ๋‹จ๊ณ„๋ณ„ ์˜์กด์„ฑ์œผ๋กœ ์ธํ•œ idle cycle์˜ ๋ฐœ์ƒ๊ณผ ์ฐธ์กฐ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๋ฌธ์ œ๋กœ ์ธํ•ด, ๊ณ ์† IME ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ๋˜๋Š” ํ•˜๋“œ์›จ์–ด์— ๋งž๊ฒŒ ๊ณ ์† IME ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ˆ˜์ •ํ•˜์˜€๊ธฐ ๋•Œ๋ฌธ์— ์••์ถ• ํšจ์œจ์˜ ์ €ํ•˜๊ฐ€ ์ˆ˜ ํผ์„ผํŠธ ์ด์ƒ์œผ๋กœ ๋งค์šฐ ์ปธ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ณธ ์—ฐ๊ตฌ์—์„œ๋Š” ๊ณ ์† IME ์•Œ๊ณ ๋ฆฌ์ฆ˜์ธ TZS ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ฑ„ํƒํ•˜์—ฌ TZS ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๊ณ„์‚ฐ ๋ณต์žก๋„ ๊ฐ์†Œ ์„ฑ๋Šฅ์„ ํ›ผ์†ํ•˜์ง€ ์•Š๋Š” ํ•˜๋“œ์›จ์–ด ๊ธฐ๋ฐ˜์˜ IME๋ฅผ ์ œ์•ˆํ•˜์˜€๋‹ค. ๊ณ ์† IME ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ•˜๋“œ์›จ์–ด์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ ๋‹ค์Œ ์„ธ ๊ฐ€์ง€ ์‚ฌํ•ญ์„ ์ œ์•ˆํ•˜๊ณ  ํ•˜๋“œ์›จ์–ด์— ์ ์šฉํ•˜์˜€๋‹ค. ์ฒซ ์งธ๋กœ, ๊ณ ์† IME ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๊ณ ์งˆ์  ๋ฌธ์ œ์ธ idle cycle ๋ฐœ์ƒ ๋ฌธ์ œ๋ฅผ ์„œ๋กœ ๋‹ค๋ฅธ ์ฐธ์กฐ ํ”ฝ์ณ์™€ ์„œ๋กœ ๋‹ค๋ฅธ depth์— ๋Œ€ํ•œ IME๋ฅผ ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์„ ํ†ตํ•ด ํ•ด๊ฒฐํ•˜์˜€๋‹ค. ๋‘˜ ์งธ๋กœ, ์ฐธ์กฐ ๋ฐ์ดํ„ฐ๋กœ์˜ ๋น ๋ฅด๊ณ  ์ž์œ ๋กœ์šด ์ ‘๊ทผ์„ ์œ„ํ•ด ์ฐธ์กฐ ๋ฐ์ดํ„ฐ์˜ locality ์ด์šฉํ•œ multi bank SRAM ๊ตฌ์กฐ๋ฅผ ์ œ์•ˆํ•˜์˜€๋‹ค. ์…‹ ์งธ๋กœ, ์ง€๋‚˜์น˜๊ฒŒ ์ž์œ ๋กœ์šด ์ฐธ์กฐ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ์ด ๋ฐœ์ƒ์‹œํ‚ค๋Š” ๋Œ€๋Ÿ‰์˜ ์Šค์œ„์นญ mux์˜ ์‚ฌ์šฉ์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ํƒ์ƒ‰ ์ค‘์‹ฌ์„ ๊ธฐ์ค€์œผ๋กœ ํ•˜๋Š” ์ œํ•œ๋œ ์ž์œ ๋„์˜ ์ฐธ์กฐ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ์„ ์ œ์•ˆํ•˜์˜€๋‹ค. ๊ฒฐ๊ณผ ์ œ์•ˆ๋œ IME ํ•˜๋“œ์›จ์–ด๋Š” HEVC์˜ ๋ชจ๋“  ๋ธ”๋ก ํฌ๊ธฐ๋ฅผ ์ง€์›ํ•˜๋ฉด์„œ, ์ฐธ์กฐ ํ”ฝ์ฒ˜ 4์žฅ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ, 4k UHD ์˜์ƒ์„ 60fps์˜ ์†๋„๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ด ๋•Œ ์••์ถ• ํšจ์œจ์˜ ์†์‹ค์€ 0.11%๋กœ ๊ฑฐ์˜ ๋‚˜ํƒ€๋‚˜์ง€ ์•Š๋Š”๋‹ค. ์ด ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ํ•˜๋“œ์›จ์–ด ๋ฆฌ์†Œ์Šค๋Š” 1.27M gates์ด๋‹ค. HEVC์— ์ƒˆ๋กœ์ด ์ฑ„ํƒ๋œ merge mode estimation์€ ์••์ถ• ํšจ์œจ ๊ฐœ์„  ํšจ๊ณผ๊ฐ€ ๋›ฐ์–ด๋‚œ ์ƒˆ๋กœ์šด ๊ธฐ์ˆ ์ด์ง€๋งŒ, ๋งค PU ๋งˆ๋‹ค ๊ณ„์‚ฐ ๋ณต์žก๋„์˜ ๋ณ€๋™ ํญ์ด ์ปค์„œ ํ•˜๋“œ์›จ์–ด๋กœ ๊ตฌํ˜„๋˜๋Š” ๊ฒฝ์šฐ ํ•˜๋“œ์›จ์–ด ๋ฆฌ์†Œ์Šค์˜ ๋‚ญ๋น„๊ฐ€ ๋งŽ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ๋ณธ ์—ฐ๊ตฌ์—์„œ๋Š” ํšจ์œจ์ ์ธ ํ•˜๋“œ์›จ์–ด ๊ธฐ๋ฐ˜ MME ๋ฐฉ๋ฒ•๊ณผ ํ•˜๋“œ์›จ์–ด ๊ตฌ์กฐ๋ฅผ ํ•จ๊ป˜ ์ œ์•ˆํ•˜์˜€๋‹ค. ๊ธฐ์กด MME ๋ฐฉ์‹์€ ์ด์›ƒ PU์— ์˜ํ•ด ๋ณด๊ฐ„ ํ•„ํ„ฐ ์ ์šฉ ์—ฌ๋ถ€๊ฐ€ ๊ฒฐ์ •๋˜๊ธฐ ๋•Œ๋ฌธ์—, ๋ณด๊ฐ„ ํ•„ํ„ฐ์˜ ์‚ฌ์šฉ๋ฅ ์€ 50% ์ดํ•˜๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ํ•˜๋“œ์›จ์–ด๋Š” ๋ณด๊ฐ„ ํ•„ํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์— ๋งž์ถ”์–ด ์„ค๊ณ„๋˜์–ด์™”๊ธฐ ๋•Œ๋ฌธ์— ํ•˜๋“œ์›จ์–ด ๋ฆฌ์†Œ์Šค์˜ ์‚ฌ์šฉ ํšจ์œจ์ด ๋‚ฎ์•˜๋‹ค. ๋ณธ ์—ฐ๊ตฌ์—์„œ๋Š” ๊ฐ€์žฅ ํ•˜๋“œ์›จ์–ด ๋ฆฌ์†Œ์Šค๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ์„ธ๋กœ ๋ฐฉํ–ฅ ๋ณด๊ฐ„ ํ•„ํ„ฐ๋ฅผ ์ ˆ๋ฐ˜ ํฌ๊ธฐ๋กœ ์ค„์ธ ๋‘ ๊ฐœ์˜ ๋ฐ์ดํ„ฐ ํŒจ์Šค๋ฅผ ๊ฐ–๋Š” MME ํ•˜๋“œ์›จ์–ด ๊ตฌ์กฐ๋ฅผ ์ œ์•ˆํ•˜์˜€๊ณ , ๋†’์€ ํ•˜๋“œ์›จ์–ด ์‚ฌ์šฉ๋ฅ ์„ ์œ ์ง€ํ•˜๋ฉด์„œ ์••์ถ• ํšจ์œจ ์†์‹ค์„ ์ตœ์†Œํ™” ํ•˜๋Š” merge ํ›„๋ณด ํ• ๋‹น ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ œ์•ˆํ•˜์˜€๋‹ค. ๊ฒฐ๊ณผ, ๊ธฐ์กด ํ•˜๋“œ์›จ์–ด ๊ธฐ๋ฐ˜ MME ๋ณด๋‹ค 24% ์ ์€ ํ•˜๋“œ์›จ์–ด ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด์„œ๋„ 7.4% ๋” ๋น ๋ฅธ ์ˆ˜ํ–‰ ์‹œ๊ฐ„์„ ๊ฐ–๋Š” ์ƒˆ๋กœ์šด ํ•˜๋“œ์›จ์–ด ๊ธฐ๋ฐ˜์˜ MME๋ฅผ ๋‹ฌ์„ฑํ•˜์˜€๋‹ค. ์ œ์•ˆ๋œ ํ•˜๋“œ์›จ์–ด ๊ธฐ๋ฐ˜์˜ MME๋Š” 460.8K gates์˜ ํ•˜๋“œ์›จ์–ด ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  4k UHD ์˜์ƒ์„ 30 fps์˜ ์†๋„๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.์ œ 1 ์žฅ ์„œ ๋ก  1 1.1 ์—ฐ๊ตฌ ๋ฐฐ๊ฒฝ 1 1.2 ์—ฐ๊ตฌ ๋‚ด์šฉ 3 1.3 ๊ณตํ†ต ์‹คํ—˜ ํ™˜๊ฒฝ 5 1.4 ๋…ผ๋ฌธ ๊ตฌ์„ฑ 6 ์ œ 2 ์žฅ ๊ด€๋ จ ์—ฐ๊ตฌ 7 2.1 HEVC ํ‘œ์ค€ 7 2.1.1 ์ฟผ๋“œ-ํŠธ๋ฆฌ ๊ธฐ๋ฐ˜์˜ ๊ณ„์ธต์  ๋ธ”๋ก ๊ตฌ์กฐ 7 2.1.2 HEVC ์˜ Inter Prediction 9 2.2 ํ™”๋ฉด ๊ฐ„ ์˜ˆ์ธก์˜ ์†๋„ ํ–ฅ์ƒ์„ ์œ„ํ•œ ์ด์ „ ์—ฐ๊ตฌ 17 2.2.1 ๊ณ ์† Integer Motion Estimation ์•Œ๊ณ ๋ฆฌ์ฆ˜ 17 2.2.2 ๊ณ ์† Merge Mode Estimation ์•Œ๊ณ ๋ฆฌ์ฆ˜ 20 2.3 ํ™”๋ฉด ๊ฐ„ ์˜ˆ์ธก ํ•˜๋“œ์›จ์–ด ๊ตฌ์กฐ์— ๋Œ€ํ•œ ์ด์ „ ์—ฐ๊ตฌ 21 2.3.1 ํ•˜๋“œ์›จ์–ด ๊ธฐ๋ฐ˜ Integer Motion Estimation ์—ฐ๊ตฌ 21 2.3.2 ํ•˜๋“œ์›จ์–ด ๊ธฐ๋ฐ˜ Merge Mode Estimation ์—ฐ๊ตฌ 25 ์ œ 3 ์žฅ Bottom-up Integer Motion Estimation 26 3.1 ์„œ๋กœ ๋‹ค๋ฅธ ๊ณ„์ธต ๊ฐ„์˜ Motion Vector ๊ด€๊ณ„ ๊ด€์ฐฐ 26 3.1.1 ์„œ๋กœ ๋‹ค๋ฅธ ๊ณ„์ธต ๊ฐ„์˜ Motion Vector ๊ด€๊ณ„ ๋ถ„์„ 26 3.1.2 Top-down ๋ฐ Bottom-up ๋ฐฉํ–ฅ์˜ Motion Vector ๊ด€๊ณ„ ๋ถ„์„ 30 3.2 Bottom-up Motion Vector Prediction 33 3.3 Bottom-up Integer Motion Estimation 37 3.3.1 Bottom-up Integer Motion Estimation - Single MVP 37 3.3.2 Bottom-up Integer Motion Estimation - Multiple MVP 38 3.4 ์‹คํ—˜ ๊ฒฐ๊ณผ 40 ์ œ 4 ์žฅ ํ•˜๋“œ์›จ์–ด ๊ธฐ๋ฐ˜ Integer Motion Estimation 46 4.1 Bottom-up Integer Motion Estimation์˜ ํ•˜๋“œ์›จ์–ด ์ ์šฉ 46 4.2 ํ•˜๋“œ์›จ์–ด๋ฅผ ์œ„ํ•œ ์ˆ˜์ •๋œ Test Zone Search 47 4.2.1 SAD-tree๋ฅผ ํ™œ์šฉํ•œ CU ๋‚ด PU์˜ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ 47 4.2.2 Grid ๊ธฐ๋ฐ˜์˜ Sampled Raster Search 53 4.2.3 ์„œ๋กœ ๋‹ค๋ฅธ PU ๊ฐ„์˜ ์ค‘๋ณต ์—ฐ์‚ฐ ์ œ๊ฑฐ 55 4.3 Idle cycle์ด ๊ฐ์†Œ๋œ 5-stage ํŒŒ์ดํ”„๋ผ์ธ ์Šค์ผ€์ค„ 56 4.3.1 ํŒŒ์ดํ”„๋ผ์ธ ์Šคํ…Œ์ด์ง€ ๋ณ„ ๋™์ž‘ 56 4.3.2 Test Zone Search์˜ ์˜์กด์„ฑ์œผ๋กœ ์ธํ•œ Idle cycle ๋„์ž… 58 4.3.3 ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์„ ํ†ตํ•œ Idle cycle ๊ฐ์†Œ 60 4.4 ๊ณ ์† ๋™์ž‘์„ ์œ„ํ•œ ์ฐธ์กฐ ๋ฐ์ดํ„ฐ ๊ณต๊ธ‰ ๋ฐฉ๋ฒ• 63 4.4.1 ์ฐธ์กฐ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ํŒจํ„ด ๋ฐ ์ ‘๊ทผ ์ง€์—ฐ ๋ฐœ์ƒ ์‹œ ๋ฌธ์ œ์  63 4.4.2 Search Points์˜ Locality๋ฅผ ํ™œ์šฉํ•œ ์ฐธ์กฐ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ 64 4.4.3 ๋‹จ์ผ cycle ์ฐธ์กฐ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ์„ ์œ„ํ•œ Multi Bank ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ 66 4.4.4 ์ฐธ์กฐ ๋ฐ์ดํ„ฐ ์ ‘๊ทผ์˜ ์ž์œ ๋„ ์ œ์–ด๋ฅผ ํ†ตํ•œ ์Šค์œ„์นญ ๋ณต์žก๋„ ์ €๊ฐ ๋ฐฉ๋ฒ• 68 4.5 ํ•˜๋“œ์›จ์–ด ๊ตฌ์กฐ 72 4.5.1 ์ „์ฒด ํ•˜๋“œ์›จ์–ด ๊ตฌ์กฐ 72 4.5.2 ํ•˜๋“œ์›จ์–ด ์„ธ๋ถ€ ์Šค์ผ€์ค„ 78 4.6 ํ•˜๋“œ์›จ์–ด ๊ตฌํ˜„ ๊ฒฐ๊ณผ ๋ฐ ์‹คํ—˜ ๊ฒฐ๊ณผ 82 4.6.1 ํ•˜๋“œ์›จ์–ด ๊ตฌํ˜„ ๊ฒฐ๊ณผ 82 4.6.2 ์ˆ˜ํ–‰ ์‹œ๊ฐ„ ๋ฐ ์••์ถ• ํšจ์œจ 84 4.6.3 ์ œ์•ˆ ๋ฐฉ๋ฒ• ์ ์šฉ ๋‹จ๊ณ„ ๋ณ„ ์„ฑ๋Šฅ ๋ณ€ํ™” 88 4.6.4 ์ด์ „ ์—ฐ๊ตฌ์™€์˜ ๋น„๊ต 91 ์ œ 5 ์žฅ ํ•˜๋“œ์›จ์–ด ๊ธฐ๋ฐ˜ Merge Mode Estimation 96 5.1 ๊ธฐ์กด Merge Mode Estimation์˜ ํ•˜๋“œ์›จ์–ด ๊ด€์ ์—์„œ์˜ ๊ณ ์ฐฐ 96 5.1.1 ๊ธฐ์กด Merge Mode Estimation 96 5.1.2 ๊ธฐ์กด Merge Mode Estimation ํ•˜๋“œ์›จ์–ด ๊ตฌ์กฐ ๋ฐ ๋ถ„์„ 98 5.1.3 ๊ธฐ์กด Merge Mode Estimation์˜ ํ•˜๋“œ์›จ์–ด ์‚ฌ์šฉ๋ฅ  ์ €ํ•˜ ๋ฌธ์ œ 100 5.2 ์—ฐ์‚ฐ๋Ÿ‰ ๋ณ€๋™ํญ์„ ๊ฐ์†Œ์‹œํ‚จ ์ƒˆ๋กœ์šด Merge Mode Estimation 103 5.3 ์ƒˆ๋กœ์šด Merge Mode Estimation์˜ ํ•˜๋“œ์›จ์–ด ๊ตฌํ˜„ 106 5.3.1 ํ›„๋ณด ํƒ€์ž… ๋ณ„ ๋…๋ฆฝ์  path๋ฅผ ๊ฐ–๋Š” ํ•˜๋“œ์›จ์–ด ๊ตฌ์กฐ 106 5.3.2 ํ•˜๋“œ์›จ์–ด ์‚ฌ์šฉ๋ฅ ์„ ๋†’์ด๊ธฐ ์œ„ํ•œ ์ ์‘์  ํ›„๋ณด ํ• ๋‹น ๋ฐฉ๋ฒ• 109 5.3.3 ์ ์‘์  ํ›„๋ณด ํ• ๋‹น ๋ฐฉ๋ฒ•์„ ์ ์šฉํ•œ ํ•˜๋“œ์›จ์–ด ์Šค์ผ€์ค„ 111 5.4 ์‹คํ—˜ ๊ฒฐ๊ณผ ๋ฐ ํ•˜๋“œ์›จ์–ด ๊ตฌํ˜„ ๊ฒฐ๊ณผ 114 5.4.1 ์ˆ˜ํ–‰ ์‹œ๊ฐ„ ๋ฐ ์••์ถ• ํšจ์œจ ๋ณ€ํ™” 114 5.4.2 ํ•˜๋“œ์›จ์–ด ๊ตฌํ˜„ ๊ฒฐ๊ณผ 116 ์ œ 6 ์žฅ Overall Inter Prediction 117 6.1 CTU ๋‹จ์œ„์˜ 3-stage ํŒŒ์ดํ”„๋ผ์ธ Inter Prediction 117 6.2 Two-way Encoding Order 119 6.2.1 Top-down ์ธ์ฝ”๋”ฉ ์ˆœ์„œ์™€ Bottom-up ์ธ์ฝ”๋”ฉ ์ˆœ์„œ 119 6.2.2 ๊ธฐ์กด ๊ณ ์† ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ํ˜ธํ™˜๋˜๋Š” Two-way Encoding Order 120 6.2.3 ๊ธฐ์กด ๊ณ ์† ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๊ฒฐํ•ฉ ๋ฐ ๋น„๊ต ์‹คํ—˜ ๊ฒฐ๊ณผ 123 ์ œ 7 ์žฅ Next Generation Video Coding์œผ๋กœ์˜ ํ™•์žฅ 127 7.1 Bottom-up Motion Vector Prediction์˜ ํ™•์žฅ 127 7.2 Bottom-up Integer Motion Estimation์˜ ํ™•์žฅ 130 ์ œ 8 ์žฅ ๊ฒฐ ๋ก  132Docto

    Image Processing Using FPGAs

    Get PDF
    This book presents a selection of papers representing current research on using field programmable gate arrays (FPGAs) for realising image processing algorithms. These papers are reprints of papers selected for a Special Issue of the Journal of Imaging on image processing using FPGAs. A diverse range of topics is covered, including parallel soft processors, memory management, image filters, segmentation, clustering, image analysis, and image compression. Applications include traffic sign recognition for autonomous driving, cell detection for histopathology, and video compression. Collectively, they represent the current state-of-the-art on image processing using FPGAs
    corecore