इंटर फ्रेम: Difference between revisions
No edit summary |
m (9 revisions imported from alpha:इंटर_फ्रेम) |
||
(7 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
'''इंटर फ्रेम''' '''(इंटर फ्रेम)''' [[वीडियो संपीड़न|वीडियो संपीड़न प्रवाह]] में फ्रेम है जिसे एक या अधिक समीप फ्रेम के संदर्भ में व्यक्त किया जाता है। शब्द का आंतरिक '''इंटर फ्रेम पूर्वानुमान''' भाग के उपयोग को संदर्भित करता है। इस प्रकार की पूर्व सुचना उच्च संपीड़न दर को सक्षम करने वाले समीप फ़्रेमों के बीच अस्थायी अतिरेक से लाभ उठाने की कोशिश करती है। | |||
''' | |||
== | ==इंटर फ्रेम पूर्वानुमान == | ||
अंतरा कोडेड फ्रेम को ब्लॉकों में विभाजित किया जाता है जिन्हें [[मैक्रोब्लॉक्स]] के रूप में जाना जाता है। उसके बाद, प्रत्येक ब्लॉक के लिए अनिर्मित पिक्सेल मानों को सीधे सांकेतिक करने के बदले, संकेतक उस ब्लॉक के समान एक ब्लॉक ढूंढने का प्रयास करेगा जिसे वह पहले सांकेतिक फ्रेम पर संकेतन कर रहा है, जिसे संदर्भ फ्रेम (वीडियो) कहा जाता है। यह प्रक्रिया [[ब्लॉक-मिलान एल्गोरिदम]] द्वारा की जाती है। यदि सांकेतिक अपनी खोज में सफल हो जाता है, तो ब्लॉक को सदिश द्वारा संकेतन किया जा सकता है, जिसे [[मोशन वेक्टर|गति सदिश]] के रूप में जाना जाता है, जो संदर्भ फ्रेम पर मिलान ब्लॉक की स्थिति को इंगित करता है। गति सदिश निर्धारण की प्रक्रिया को [[गति अनुमान]] कहा जाता है। | |||
अधिकतर कथनों में | अधिकतर कथनों में सांकेतिक सफल होगा, परन्तु पाया गया ब्लॉक संभवतः उस ब्लॉक से सटीक मेल नहीं खाता है जिसे वह संकेतन कर रहा है। यही कारण है कि सांकेतिक उनके बीच अंतर की गणना करता है। उन अवशिष्ट मूल्यों को समीप त्रुटि के रूप में जाना जाता है और उन्हें परिवर्तित करने और विसंकेतक को भेजने की आवश्यकता होती है। | ||
संक्षेप में, यदि | संक्षेप में, यदि सांकेतिक एक संदर्भ फ्रेम पर एक मिलान ब्लॉक ढूंढने में सफल होता है, तो यह मिलान किए गए ब्लॉक और समीप त्रुटि की ओर संकेत करते हुए गति सदिश प्राप्त करता है। दोनों तत्वों का उपयोग करके, विसंकेतक ब्लॉक के अनिर्मित पिक्सल को पुनर्प्राप्त करने में सक्षम होगा। निम्नलिखित छवि पूरी प्रक्रिया को ग्राफ़िक रूप से दिखाती है: | ||
[[File:Interframe prediction.png|thumb|600px|center|अंतर-फ़्रेम भविष्यवाणी प्रक्रिया. इस मामले में, संदर्भ फ़्रेम पर ब्लॉक और एन्कोड किए जा रहे ब्लॉक के बीच एक रोशनी परिवर्तन हुआ है: यह अंतर इस ब्लॉक के लिए भविष्यवाणी त्रुटि होगी।]]इस प्रकार की पूर्वानुमान के कुछ लाभ और हानि हैं: | [[File:Interframe prediction.png|thumb|600px|center|अंतर-फ़्रेम भविष्यवाणी प्रक्रिया. इस मामले में, संदर्भ फ़्रेम पर ब्लॉक और एन्कोड किए जा रहे ब्लॉक के बीच एक रोशनी परिवर्तन हुआ है: यह अंतर इस ब्लॉक के लिए भविष्यवाणी त्रुटि होगी।]]इस प्रकार की पूर्वानुमान के कुछ लाभ और हानि हैं: | ||
* यदि सबकुछ ठीक रहा, तो एल्गोरिदम थोड़ी पूर्वानुमान त्रुटि के साथ मिलान ब्लॉक ढूंढने में सक्षम होगा जिससे कि, एक बार परिवर्तित होने पर, गति | * यदि सबकुछ ठीक रहा, तो एल्गोरिदम थोड़ी पूर्वानुमान त्रुटि के साथ मिलान ब्लॉक ढूंढने में सक्षम होगा जिससे कि, एक बार परिवर्तित होने पर, गति सदिश और पूर्वानुमान त्रुटि का समग्र आकार अनिर्मित संकेतन के आकार से कम हो। | ||
* यदि ब्लॉक मिलान एल्गोरिदम उपयुक्त मिलान ढूंढने में विफल रहता है तो पूर्वानुमान त्रुटि बहुत होती है। इस प्रकार मोशन | * यदि ब्लॉक मिलान एल्गोरिदम उपयुक्त मिलान ढूंढने में विफल रहता है तो पूर्वानुमान त्रुटि बहुत होती है। इस प्रकार मोशन सदिश और पूर्वानुमान त्रुटि का समग्र आकार अनिर्मित संकेतन से अधिक होता है। इस कथन में संकेतन अपवाद बनाएगा और उस विशिष्ट ब्लॉक के लिए अनिर्मित संकेतन भेजता है। | ||
* यदि संदर्भ फ्रेम पर मिलान किए गए ब्लॉक को | * यदि संदर्भ फ्रेम पर मिलान किए गए ब्लॉक को इंटर फ्रेम पूर्वानुमान का उपयोग करके सांकेतिक किया गया है, तो इसके संकेतन के लिए की गई त्रुटियां अगले ब्लॉक में प्रसारित की जाएंगी। यदि प्रत्येक फ्रेम को इस तकनीक का उपयोग करके सांकेतिक किया गया था, तो विसंकेतक के लिए वीडियो प्रवाह को समक्रमिक करने का कोई तरीका नहीं होगा क्योंकि संदर्भ छवियों को प्राप्त करना असंभव होता है। | ||
इन कमियों के कारण, इस तकनीक को कुशल और उपयोगी बनाने के लिए विश्वसनीय और समय-समय पर संदर्भ फ्रेम का उपयोग किया जाना चाहिए। उस संदर्भ फ़्रेम को [[इंट्रा-फ्रेम| | इन कमियों के कारण, इस तकनीक को कुशल और उपयोगी बनाने के लिए विश्वसनीय और समय-समय पर संदर्भ फ्रेम का उपयोग किया जाना चाहिए। उस संदर्भ फ़्रेम को [[इंट्रा-फ्रेम|इंटर फ्रेम]] के रूप में जाना जाता है, जो सख्ती से अंतरा कोडित होता है, इसलिए इसे अतिरिक्त जानकारी के बिना सर्वदा विसंकेतन किया जा सकता है। | ||
अधिकांश डिज़ाइनों में, दो प्रकार के अंतरा फ़्रेम होते हैं: पी-फ़्रेम और बी- | अधिकांश डिज़ाइनों में, दो प्रकार के अंतरा फ़्रेम होते हैं: पी-फ़्रेम और बी-फ़्रेम है। ये दो प्रकार के फ़्रेम और आई-फ़्रेम (इंट्रा-कोडित चित्र) सामान्यतौर पर चित्रों के समूह ([[चित्रों का समूह]]) में सम्मिलित होते हैं। आई-फ़्रेम को विसंकेतन करने के लिए अतिरिक्त जानकारी की आवश्यकता नहीं है और इसे विश्वसनीय संदर्भ के रूप में उपयोग किया जा सकता है। यह संरचना आई-फ़्रेम आवधिकता प्राप्त करने की भी अनुमति देती है, जो विसंकेतन समक्रमिक के लिए आवश्यक है। | ||
==फ़्रेम प्रकार== | ==फ़्रेम प्रकार== | ||
Line 22: | Line 21: | ||
===पी-फ़्रेम=== | ===पी-फ़्रेम=== | ||
पी-फ़्रेम वह शब्द है जिसका उपयोग आगे की अनुमानित तस्वीरों को परिभाषित करने के लिए किया जाता है। | पी-फ़्रेम वह शब्द है जिसका उपयोग आगे की अनुमानित तस्वीरों को परिभाषित करने के लिए किया जाता है। पूर्वानुमान पहले की तस्वीर से की जाती है, मुख्य रूप से आई-फ़्रेम या पी-फ़्रेम, जिससे कि कम संकेतन डेटा की आवश्यकता है (आई-फ़्रेम आकार की तुलना में ≈50%)। | ||
इस | इस पूर्वानुमान को करने के लिए आवश्यक डेटा की मात्रा में गति वैक्टर और पूर्वानुमान सुधार का वर्णन करने वाले परिवर्तन गुणांक सम्मिलित हैं। इसमें गति क्षतिपूर्ति का उपयोग सम्मिलित है। | ||
===बी-फ्रेम=== | ===बी-फ्रेम=== | ||
बी-फ़्रेम द्विदिश रूप से अनुमानित चित्रों के लिए शब्द है। इस प्रकार की | बी-फ़्रेम द्विदिश रूप से अनुमानित चित्रों के लिए शब्द है। इस प्रकार की पूर्वानुमान विधि समान्यस्तर पर पी-फ्रेम की तुलना में कम संकेतन डेटा लगता है (आई-फ्रेम आकार की तुलना में ≈25%) क्योंकि पूर्वानुमान या तो पहले के फ्रेम या बाद के फ्रेम या दोनों से की जाती है। (बी-फ़्रेम कुछ कथनों में पी-फ़्रेम से कम कुशल भी हो सकते हैं,<ref>{{Cite web|url=https://forum.doom9.org/showpost.php?p=1228631&postcount=12|title = Doom9's Forum - View Single Post - x264 Lossless question}}</ref> उदाहरण: क्षतिरहित संकेतन) | ||
पी-फ़्रेम के समान, बी-फ़्रेम को गति वैक्टर और परिवर्तन गुणांक के रूप में व्यक्त किया जाता है। | पी-फ़्रेम के समान, बी-फ़्रेम को गति वैक्टर और परिवर्तन गुणांक के रूप में व्यक्त किया जाता है। | ||
बढ़ती प्रसार त्रुटि से बचने के लिए, अधिकांश | |||
बढ़ती प्रसार त्रुटि से बचने के लिए, अधिकांश संकेतन मानकों में आगे की पूर्वानुमान करने के लिए बी-फ्रेम का उपयोग संदर्भ के रूप में नहीं किया जाता है। चूँकि, नई पूर्वानुमान विधियों (जैसे H.264/MPEG-4 AVC और [[HEVC]]) में, बी-फ्रेम का उपयोग अस्थायी अतिरेक के अच्छे विभाजन के लिए संदर्भ के रूप में किया जा सकता है।<ref>{{Cite web|url=http://www.ramugedia.com/hierarchical-b-frames-or-b-pyramid|title = Hierarchical B-Frames or B-Pyramid - Video Compression}}</ref><ref>{{cite web |url=http://mewiki.project357.com/wiki/X264_Settings#b-pyramid |title=X264 Settings - MeWiki |website=mewiki.project357.com |access-date=12 January 2022 |archive-url=https://web.archive.org/web/20141118124738/http://mewiki.project357.com/wiki/X264_Settings#b-pyramid |archive-date=18 November 2014 |url-status=dead}}</ref> | |||
==चित्रों का विशिष्ट समूह (जीओपी) संरचना== | ==चित्रों का विशिष्ट समूह (जीओपी) संरचना== | ||
[[File:IBBPBB_inter_frame_group_of_pictures.svg|thumb|350px|चित्र समूह योजना IBBPBB की निर्भरता का चित्रण... समय बाएँ से दाएँ जाता है।]]चित्रों का विशिष्ट समूह (जीओपी) संरचना आईबीबीपीबीपी है... आई-फ्रेम का उपयोग पहले पी-फ्रेम की | [[File:IBBPBB_inter_frame_group_of_pictures.svg|thumb|350px|चित्र समूह योजना IBBPBB की निर्भरता का चित्रण... समय बाएँ से दाएँ जाता है।]]चित्रों का विशिष्ट समूह (जीओपी) संरचना आईबीबीपीबीपी है... आई-फ्रेम का उपयोग पहले पी-फ्रेम की पूर्वानुमान करने के लिए किया जाता है और इन दो फ्रेमों का उपयोग पहले और दूसरे बी-फ्रेम की पूर्वानुमान करने के लिए भी किया जाता है। दूसरे पी-फ़्रेम की पूर्वानुमान पहले आई-फ़्रेम का उपयोग करके भी की जाती है। दोनों पी-फ्रेम तीसरे और चौथे बी-फ्रेम की पूर्वानुमान करने के लिए जुड़ते हैं। योजना को अगली तस्वीर में दिखाया गया है: | ||
यह संरचना एक समस्या का सुझाव देती है क्योंकि दूसरे और तीसरे (बी-फ्रेम) की पूर्वानुमान भविष्यवाणी करने के लिए चौथे फ्रेम (एक पी-फ्रेम) की आवश्यकता होती है। इसलिए हमें बी-फ्रेम से पहले पी-फ्रेम को प्रसारित करने की आवश्यकता है और इससे संचरण में देरी होती है (पी-फ्रेम को रखना आवश्यक होगा)। | |||
इस संरचना में मजबूत बिंदु हैं: | इस संरचना में मजबूत बिंदु हैं: | ||
* यह संभावित खुले क्षेत्रों की समस्या को कम करता है। | * यह संभावित खुले क्षेत्रों की समस्या को कम करता है। | ||
* पी-फ्रेम और बी-फ्रेम को आई-फ्रेम की तुलना में कम डेटा की आवश्यकता होती है, इसलिए कम डेटा प्रसारित होता है। | * पी-फ्रेम और बी-फ्रेम को आई-फ्रेम की तुलना में कम डेटा की आवश्यकता होती है, इसलिए कम डेटा प्रसारित होता है। | ||
परन्तु इसके कमजोर बिंदु हैं: | |||
* यह | * यह विसंकेतक की जटिलता को बढ़ाता है, जिसका अर्थ है कि फ़्रेम को पुनर्व्यवस्थित करने के लिए अधिक मेमोरी की आवश्यकता होती है, और थोड़ी अधिक प्रसंस्करण शक्ति होती है। | ||
* बी-फ्रेम | * बी-फ्रेम विसंकेतन निर्भरता का परिचय दे सकते हैं जो अनिवार्य रूप से विसंकेतक विलंबता को बढ़ाता है। | ||
== | == एच.264 इंटर फ्रेम पूर्वानुमान सुधार == | ||
इससे पहले के मानकों (विशेषकर एमपीईजी-2) के संबंध में एच.264 तकनीक के सबसे महत्वपूर्ण सुधार हैं: | इससे पहले के मानकों (विशेषकर एमपीईजी-2) के संबंध में एच.264 तकनीक के सबसे महत्वपूर्ण सुधार हैं: | ||
*अधिक लचीला ब्लॉक विभाजन | *अधिक लचीला ब्लॉक विभाजन | ||
*¼ पिक्सेल | *¼ पिक्सेल गति संपूर्ति तक का समाधान | ||
*एकाधिक संदर्भ | *एकाधिक संदर्भ | ||
*उन्नत | *उन्नत प्रत्यक्ष/छोड़ना मैक्रोब्लॉक | ||
=== अधिक | === अधिक नम्य ब्लॉक विभाजन === | ||
16×16 (एमपीईजी-2), 16×8, 8×16, और 8×8 का | 16×16 (एमपीईजी-2), 16×8, 8×16, और 8×8 का दीप्ति ब्लॉक विभाजन होता है। अंतिम कथन ब्लॉक को 4×8, 8×4, या 4×4 के नए ब्लॉक में विभाजित करने की अनुमति देता है। | ||
[[File:H.264 block division.svg|400px]]कोड किए जाने वाले फ़्रेम को समान आकार के ब्लॉकों में विभाजित किया गया है जैसा कि ऊपर चित्र में दिखाया गया है। प्रत्येक ब्लॉक पूर्वानुमान संदर्भ चित्रों के समान आकार के ब्लॉक होंगे, जो | [[File:H.264 block division.svg|400px]]कोड किए जाने वाले फ़्रेम को समान आकार के ब्लॉकों में विभाजित किया गया है जैसा कि ऊपर चित्र में दिखाया गया है। प्रत्येक ब्लॉक पूर्वानुमान संदर्भ चित्रों के समान आकार के ब्लॉक होंगे, जो छोटे विस्थापन से अनुचित्राण होता है। | ||
=== ¼ पिक्सेल गति | === ¼ पिक्सेल गति संपूर्ति तक का समाधान === | ||
अर्ध-पिक्सेल स्थिति पर पिक्सेल लंबाई 6 का फ़िल्टर | अर्ध-पिक्सेल स्थिति पर पिक्सेल लंबाई 6 का फ़िल्टर क्रियान्वित करके प्राप्त किए जाते हैं। | ||
एच=[1 -5 20 20 -5 1], | एच=[1 -5 20 20 -5 1], अर्थात। | ||
अर्ध-पिक्सेल b =A - 5B + 20C + 20D - 5E + F | अर्ध-पिक्सेल b =A - 5B + 20C + 20D - 5E + F | ||
चतुर्थ-पिक्सेल स्थिति पर पिक्सेल [[द्विरेखीय प्रक्षेप]] द्वारा प्राप्त किए जाते हैं। | |||
जबकि | जबकि एमपिइजी-2 ½ पिक्सेल समाधान की अनुमति देता है, अंतरा फ़्रेम ¼ पिक्सेल समाधान तक की अनुमति देता है। इसका अर्थ यह है कि फ़्रेम में किसी ब्लॉक को अन्य संदर्भ फ़्रेमों में संकेत करना संभव है, या हम उन ब्लॉकों को ढूंढने के लिए अनुपस्थित पिक्सेल को प्रक्षेपित कर सकते हैं जो वर्तमान ब्लॉक के लिए और भी अच्छा अनुकूल हैं। यदि गति सदिश प्रारूपों की इकाइयों की पूर्णांक संख्या है, तो इसका अर्थ है कि संदर्भ चित्रों में गति में संपूर्ति वाले ब्लॉक को ढूंढना संभव है। यदि गति सदिश एक पूर्णांक नहीं है, तो अंतःसंक्षेप फ़िल्टर द्वारा क्षैतिज और ऊर्ध्वाधर दिशाओं में अंतःसंक्षेपित पिक्सेल से पूर्वानुमान प्राप्त किया जाता है। | ||
[[File:Subpel interpolation.jpg]] | [[File:Subpel interpolation.jpg]] | ||
=== एकाधिक संदर्भ === | === एकाधिक संदर्भ === | ||
गति अनुमान के एकाधिक संदर्भ 2 संभावित बफ़र्स में सर्वोत्तम संदर्भ ढूंढने की अनुमति देते हैं (सूची 0 से पिछली तस्वीरों के लिए, सूची 1 भविष्य की तस्वीरों के लिए) जिसमें कुल 16 फ्रेम तक होते हैं।<ref>{{Cite web|url=https://forum.doom9.org/showthread.php?t=129364|title = A rookie question regarding on B frame in AVC - Doom9's Forum}}</ref><ref>{{cite web|title=X264 Stats Output, the "ref B L1" part|url=http://mewiki.project357.com/wiki/X264_Stats_Output|archive-url=https://web.archive.org/web/20141122182446/http://mewiki.project357.com/wiki/X264_Stats_Output|archive-date=2014-11-22}}</ref> ब्लॉक | गति अनुमान के एकाधिक संदर्भ 2 संभावित बफ़र्स में सर्वोत्तम संदर्भ ढूंढने की अनुमति देते हैं (सूची 0 से पिछली तस्वीरों के लिए, सूची 1 भविष्य की तस्वीरों के लिए) जिसमें कुल 16 फ्रेम तक होते हैं।<ref>{{Cite web|url=https://forum.doom9.org/showthread.php?t=129364|title = A rookie question regarding on B frame in AVC - Doom9's Forum}}</ref><ref>{{cite web|title=X264 Stats Output, the "ref B L1" part|url=http://mewiki.project357.com/wiki/X264_Stats_Output|archive-url=https://web.archive.org/web/20141122182446/http://mewiki.project357.com/wiki/X264_Stats_Output|archive-date=2014-11-22}}</ref> ब्लॉक पूर्वानुमान संदर्भ चित्र से ब्लॉकों के भारित योग द्वारा की जाती है। यह उन दृश्यों में बहुत अच्छी तस्वीर गुणवत्ता की अनुमति देता है जहां समतल, आकार में परिवर्तन होता है, या जब नई वस्तुएं सामने आती हैं। | ||
[[File:Multiple references.jpg]] | [[File:Multiple references.jpg]] | ||
=== | === परिवर्धित प्रत्यक्ष/छोड़ना मैक्रोब्लॉक === | ||
छोड़ देना और प्रत्यक्ष मोड का उपयोग अधिकांशतः बी-फ्रेम के साथ किया जाता है। वे कोड किए जाने वाले बिट्स की संख्या को बहुत कम कर देते हैं। इन मोड्स को तब संदर्भित किया जाता है जब किसी ब्लॉक को अवशिष्ट त्रुटि या गति वैक्टर भेजे बिना कोड किया जाता है। संकेतक केवल यह रिकॉर्ड करेगा कि यह छोड़ने वाला मैक्रोब्लॉक है। विसंकेतक पहले से विसंकेतन किए गए अन्य ब्लॉक से प्रत्यक्ष/छोड़ना मोड कोडित ब्लॉक के गति सदिश का पता लगाता है। | |||
गति निकालने के दो तरीके हैं: | गति निकालने के दो तरीके हैं: | ||
[[File:Direct skip.jpg]]; टेम्पोरल: यह मोशन | [[File:Direct skip.jpg]]; टेम्पोरल: यह मोशन सदिश निकालने के लिए उसी स्थिति में स्थित सूची 1 फ्रेम से ब्लॉक गति सदिश का उपयोग करता है। सूची 1 ब्लॉक संदर्भ के रूप में सूची 0 ब्लॉक का उपयोग करता है। | ||
; स्थानिक: यह एक ही फ्रेम में | ; स्थानिक: यह एक ही फ्रेम में निकट मैक्रोब्लॉक से गति का पूर्वानुमान करता है। संभावित मानदंड निकट ब्लॉक से गति सदिश की प्रतिलिपि बनाना हो सकता है। इन मोड का उपयोग चित्र के एकसमान क्षेत्रों में किया जाता है जहाँ अधिक गति नहीं होती है। | ||
[[File:block partition.jpg]]उपरोक्त चित्र में, गुलाबी ब्लॉक डायरेक्ट/स्किप मोड कोडित ब्लॉक हैं। जैसा कि हम देख सकते हैं, इनका उपयोग बहुत बार किया जाता है, मुख्यतः बी-फ़्रेम | [[File:block partition.jpg]]उपरोक्त चित्र में, गुलाबी ब्लॉक डायरेक्ट/स्किप मोड कोडित ब्लॉक हैं। जैसा कि हम देख सकते हैं, इनका उपयोग बहुत बार किया जाता है, मुख्यतः बी-फ़्रेम में है। | ||
==अतिरिक्त जानकारी== | ==अतिरिक्त जानकारी== | ||
यद्यपि फ्रेम शब्द का उपयोग अनौपचारिक उपयोग | यद्यपि फ्रेम शब्द का उपयोग अनौपचारिक उपयोग मे सरल है, कई कथनों में (जैसे कि [[एमपीईजी]] और [[वीसीईजी]] द्वारा [[वीडियो]] कोडिंग के लिए अंतरराष्ट्रीय मानकों में) फ्रेम के बदले चित्र शब्द का उपयोग करके अधिक सामान्य अवधारणा क्रियान्वित की जाती है, जहां तस्वीर या तो हो सकती है पूर्ण फ़्रेम या एकल [[ interlaced |अंतर्ग्रथित क्षेत्र हो सकता है]] । | ||
एमपिइजी-2, एच.264 या [[Ogg|आग थेओरा]] जैसे वीडियो [[कोडेक्स]] एक या अधिक अंतरा फ़्रेम के साथ मुख्य फ़्रेम का अनुसरण करके प्रवाह में डेटा की मात्रा को कम करते हैं। इन फ़्रेमों को सामान्यतौर पर मुख्य फ़्रेमों के लिए आवश्यक [[बिट दर]] से कम बिट दर का उपयोग करके सांकेतिक किया जा सकता है क्योंकि छवि का अधिकांश भाग सामान्य रूप से समान होता है, इसलिए केवल बदलते भागों को कोड करने की आवश्यकता होती है। | |||
==यह भी देखें== | ==यह भी देखें== | ||
Line 101: | Line 103: | ||
[[Category: Machine Translated Page]] | [[Category: Machine Translated Page]] | ||
[[Category:Created On 07/12/2023]] | [[Category:Created On 07/12/2023]] | ||
[[Category:Vigyan Ready]] |
Latest revision as of 09:12, 12 December 2023
इंटर फ्रेम (इंटर फ्रेम) वीडियो संपीड़न प्रवाह में फ्रेम है जिसे एक या अधिक समीप फ्रेम के संदर्भ में व्यक्त किया जाता है। शब्द का आंतरिक इंटर फ्रेम पूर्वानुमान भाग के उपयोग को संदर्भित करता है। इस प्रकार की पूर्व सुचना उच्च संपीड़न दर को सक्षम करने वाले समीप फ़्रेमों के बीच अस्थायी अतिरेक से लाभ उठाने की कोशिश करती है।
इंटर फ्रेम पूर्वानुमान
अंतरा कोडेड फ्रेम को ब्लॉकों में विभाजित किया जाता है जिन्हें मैक्रोब्लॉक्स के रूप में जाना जाता है। उसके बाद, प्रत्येक ब्लॉक के लिए अनिर्मित पिक्सेल मानों को सीधे सांकेतिक करने के बदले, संकेतक उस ब्लॉक के समान एक ब्लॉक ढूंढने का प्रयास करेगा जिसे वह पहले सांकेतिक फ्रेम पर संकेतन कर रहा है, जिसे संदर्भ फ्रेम (वीडियो) कहा जाता है। यह प्रक्रिया ब्लॉक-मिलान एल्गोरिदम द्वारा की जाती है। यदि सांकेतिक अपनी खोज में सफल हो जाता है, तो ब्लॉक को सदिश द्वारा संकेतन किया जा सकता है, जिसे गति सदिश के रूप में जाना जाता है, जो संदर्भ फ्रेम पर मिलान ब्लॉक की स्थिति को इंगित करता है। गति सदिश निर्धारण की प्रक्रिया को गति अनुमान कहा जाता है।
अधिकतर कथनों में सांकेतिक सफल होगा, परन्तु पाया गया ब्लॉक संभवतः उस ब्लॉक से सटीक मेल नहीं खाता है जिसे वह संकेतन कर रहा है। यही कारण है कि सांकेतिक उनके बीच अंतर की गणना करता है। उन अवशिष्ट मूल्यों को समीप त्रुटि के रूप में जाना जाता है और उन्हें परिवर्तित करने और विसंकेतक को भेजने की आवश्यकता होती है।
संक्षेप में, यदि सांकेतिक एक संदर्भ फ्रेम पर एक मिलान ब्लॉक ढूंढने में सफल होता है, तो यह मिलान किए गए ब्लॉक और समीप त्रुटि की ओर संकेत करते हुए गति सदिश प्राप्त करता है। दोनों तत्वों का उपयोग करके, विसंकेतक ब्लॉक के अनिर्मित पिक्सल को पुनर्प्राप्त करने में सक्षम होगा। निम्नलिखित छवि पूरी प्रक्रिया को ग्राफ़िक रूप से दिखाती है:
इस प्रकार की पूर्वानुमान के कुछ लाभ और हानि हैं:
- यदि सबकुछ ठीक रहा, तो एल्गोरिदम थोड़ी पूर्वानुमान त्रुटि के साथ मिलान ब्लॉक ढूंढने में सक्षम होगा जिससे कि, एक बार परिवर्तित होने पर, गति सदिश और पूर्वानुमान त्रुटि का समग्र आकार अनिर्मित संकेतन के आकार से कम हो।
- यदि ब्लॉक मिलान एल्गोरिदम उपयुक्त मिलान ढूंढने में विफल रहता है तो पूर्वानुमान त्रुटि बहुत होती है। इस प्रकार मोशन सदिश और पूर्वानुमान त्रुटि का समग्र आकार अनिर्मित संकेतन से अधिक होता है। इस कथन में संकेतन अपवाद बनाएगा और उस विशिष्ट ब्लॉक के लिए अनिर्मित संकेतन भेजता है।
- यदि संदर्भ फ्रेम पर मिलान किए गए ब्लॉक को इंटर फ्रेम पूर्वानुमान का उपयोग करके सांकेतिक किया गया है, तो इसके संकेतन के लिए की गई त्रुटियां अगले ब्लॉक में प्रसारित की जाएंगी। यदि प्रत्येक फ्रेम को इस तकनीक का उपयोग करके सांकेतिक किया गया था, तो विसंकेतक के लिए वीडियो प्रवाह को समक्रमिक करने का कोई तरीका नहीं होगा क्योंकि संदर्भ छवियों को प्राप्त करना असंभव होता है।
इन कमियों के कारण, इस तकनीक को कुशल और उपयोगी बनाने के लिए विश्वसनीय और समय-समय पर संदर्भ फ्रेम का उपयोग किया जाना चाहिए। उस संदर्भ फ़्रेम को इंटर फ्रेम के रूप में जाना जाता है, जो सख्ती से अंतरा कोडित होता है, इसलिए इसे अतिरिक्त जानकारी के बिना सर्वदा विसंकेतन किया जा सकता है।
अधिकांश डिज़ाइनों में, दो प्रकार के अंतरा फ़्रेम होते हैं: पी-फ़्रेम और बी-फ़्रेम है। ये दो प्रकार के फ़्रेम और आई-फ़्रेम (इंट्रा-कोडित चित्र) सामान्यतौर पर चित्रों के समूह (चित्रों का समूह) में सम्मिलित होते हैं। आई-फ़्रेम को विसंकेतन करने के लिए अतिरिक्त जानकारी की आवश्यकता नहीं है और इसे विश्वसनीय संदर्भ के रूप में उपयोग किया जा सकता है। यह संरचना आई-फ़्रेम आवधिकता प्राप्त करने की भी अनुमति देती है, जो विसंकेतन समक्रमिक के लिए आवश्यक है।
फ़्रेम प्रकार
पी-फ़्रेम और बी-फ़्रेम के बीच का अंतर संदर्भ फ़्रेम है जिसका उन्हें उपयोग करने की अनुमति है।
पी-फ़्रेम
पी-फ़्रेम वह शब्द है जिसका उपयोग आगे की अनुमानित तस्वीरों को परिभाषित करने के लिए किया जाता है। पूर्वानुमान पहले की तस्वीर से की जाती है, मुख्य रूप से आई-फ़्रेम या पी-फ़्रेम, जिससे कि कम संकेतन डेटा की आवश्यकता है (आई-फ़्रेम आकार की तुलना में ≈50%)।
इस पूर्वानुमान को करने के लिए आवश्यक डेटा की मात्रा में गति वैक्टर और पूर्वानुमान सुधार का वर्णन करने वाले परिवर्तन गुणांक सम्मिलित हैं। इसमें गति क्षतिपूर्ति का उपयोग सम्मिलित है।
बी-फ्रेम
बी-फ़्रेम द्विदिश रूप से अनुमानित चित्रों के लिए शब्द है। इस प्रकार की पूर्वानुमान विधि समान्यस्तर पर पी-फ्रेम की तुलना में कम संकेतन डेटा लगता है (आई-फ्रेम आकार की तुलना में ≈25%) क्योंकि पूर्वानुमान या तो पहले के फ्रेम या बाद के फ्रेम या दोनों से की जाती है। (बी-फ़्रेम कुछ कथनों में पी-फ़्रेम से कम कुशल भी हो सकते हैं,[1] उदाहरण: क्षतिरहित संकेतन)
पी-फ़्रेम के समान, बी-फ़्रेम को गति वैक्टर और परिवर्तन गुणांक के रूप में व्यक्त किया जाता है।
बढ़ती प्रसार त्रुटि से बचने के लिए, अधिकांश संकेतन मानकों में आगे की पूर्वानुमान करने के लिए बी-फ्रेम का उपयोग संदर्भ के रूप में नहीं किया जाता है। चूँकि, नई पूर्वानुमान विधियों (जैसे H.264/MPEG-4 AVC और HEVC) में, बी-फ्रेम का उपयोग अस्थायी अतिरेक के अच्छे विभाजन के लिए संदर्भ के रूप में किया जा सकता है।[2][3]
चित्रों का विशिष्ट समूह (जीओपी) संरचना
चित्रों का विशिष्ट समूह (जीओपी) संरचना आईबीबीपीबीपी है... आई-फ्रेम का उपयोग पहले पी-फ्रेम की पूर्वानुमान करने के लिए किया जाता है और इन दो फ्रेमों का उपयोग पहले और दूसरे बी-फ्रेम की पूर्वानुमान करने के लिए भी किया जाता है। दूसरे पी-फ़्रेम की पूर्वानुमान पहले आई-फ़्रेम का उपयोग करके भी की जाती है। दोनों पी-फ्रेम तीसरे और चौथे बी-फ्रेम की पूर्वानुमान करने के लिए जुड़ते हैं। योजना को अगली तस्वीर में दिखाया गया है:
यह संरचना एक समस्या का सुझाव देती है क्योंकि दूसरे और तीसरे (बी-फ्रेम) की पूर्वानुमान भविष्यवाणी करने के लिए चौथे फ्रेम (एक पी-फ्रेम) की आवश्यकता होती है। इसलिए हमें बी-फ्रेम से पहले पी-फ्रेम को प्रसारित करने की आवश्यकता है और इससे संचरण में देरी होती है (पी-फ्रेम को रखना आवश्यक होगा)।
इस संरचना में मजबूत बिंदु हैं:
- यह संभावित खुले क्षेत्रों की समस्या को कम करता है।
- पी-फ्रेम और बी-फ्रेम को आई-फ्रेम की तुलना में कम डेटा की आवश्यकता होती है, इसलिए कम डेटा प्रसारित होता है।
परन्तु इसके कमजोर बिंदु हैं:
- यह विसंकेतक की जटिलता को बढ़ाता है, जिसका अर्थ है कि फ़्रेम को पुनर्व्यवस्थित करने के लिए अधिक मेमोरी की आवश्यकता होती है, और थोड़ी अधिक प्रसंस्करण शक्ति होती है।
- बी-फ्रेम विसंकेतन निर्भरता का परिचय दे सकते हैं जो अनिवार्य रूप से विसंकेतक विलंबता को बढ़ाता है।
एच.264 इंटर फ्रेम पूर्वानुमान सुधार
इससे पहले के मानकों (विशेषकर एमपीईजी-2) के संबंध में एच.264 तकनीक के सबसे महत्वपूर्ण सुधार हैं:
- अधिक लचीला ब्लॉक विभाजन
- ¼ पिक्सेल गति संपूर्ति तक का समाधान
- एकाधिक संदर्भ
- उन्नत प्रत्यक्ष/छोड़ना मैक्रोब्लॉक
अधिक नम्य ब्लॉक विभाजन
16×16 (एमपीईजी-2), 16×8, 8×16, और 8×8 का दीप्ति ब्लॉक विभाजन होता है। अंतिम कथन ब्लॉक को 4×8, 8×4, या 4×4 के नए ब्लॉक में विभाजित करने की अनुमति देता है।
कोड किए जाने वाले फ़्रेम को समान आकार के ब्लॉकों में विभाजित किया गया है जैसा कि ऊपर चित्र में दिखाया गया है। प्रत्येक ब्लॉक पूर्वानुमान संदर्भ चित्रों के समान आकार के ब्लॉक होंगे, जो छोटे विस्थापन से अनुचित्राण होता है।
¼ पिक्सेल गति संपूर्ति तक का समाधान
अर्ध-पिक्सेल स्थिति पर पिक्सेल लंबाई 6 का फ़िल्टर क्रियान्वित करके प्राप्त किए जाते हैं।
एच=[1 -5 20 20 -5 1], अर्थात। अर्ध-पिक्सेल b =A - 5B + 20C + 20D - 5E + F
चतुर्थ-पिक्सेल स्थिति पर पिक्सेल द्विरेखीय प्रक्षेप द्वारा प्राप्त किए जाते हैं।
जबकि एमपिइजी-2 ½ पिक्सेल समाधान की अनुमति देता है, अंतरा फ़्रेम ¼ पिक्सेल समाधान तक की अनुमति देता है। इसका अर्थ यह है कि फ़्रेम में किसी ब्लॉक को अन्य संदर्भ फ़्रेमों में संकेत करना संभव है, या हम उन ब्लॉकों को ढूंढने के लिए अनुपस्थित पिक्सेल को प्रक्षेपित कर सकते हैं जो वर्तमान ब्लॉक के लिए और भी अच्छा अनुकूल हैं। यदि गति सदिश प्रारूपों की इकाइयों की पूर्णांक संख्या है, तो इसका अर्थ है कि संदर्भ चित्रों में गति में संपूर्ति वाले ब्लॉक को ढूंढना संभव है। यदि गति सदिश एक पूर्णांक नहीं है, तो अंतःसंक्षेप फ़िल्टर द्वारा क्षैतिज और ऊर्ध्वाधर दिशाओं में अंतःसंक्षेपित पिक्सेल से पूर्वानुमान प्राप्त किया जाता है।
एकाधिक संदर्भ
गति अनुमान के एकाधिक संदर्भ 2 संभावित बफ़र्स में सर्वोत्तम संदर्भ ढूंढने की अनुमति देते हैं (सूची 0 से पिछली तस्वीरों के लिए, सूची 1 भविष्य की तस्वीरों के लिए) जिसमें कुल 16 फ्रेम तक होते हैं।[4][5] ब्लॉक पूर्वानुमान संदर्भ चित्र से ब्लॉकों के भारित योग द्वारा की जाती है। यह उन दृश्यों में बहुत अच्छी तस्वीर गुणवत्ता की अनुमति देता है जहां समतल, आकार में परिवर्तन होता है, या जब नई वस्तुएं सामने आती हैं।
परिवर्धित प्रत्यक्ष/छोड़ना मैक्रोब्लॉक
छोड़ देना और प्रत्यक्ष मोड का उपयोग अधिकांशतः बी-फ्रेम के साथ किया जाता है। वे कोड किए जाने वाले बिट्स की संख्या को बहुत कम कर देते हैं। इन मोड्स को तब संदर्भित किया जाता है जब किसी ब्लॉक को अवशिष्ट त्रुटि या गति वैक्टर भेजे बिना कोड किया जाता है। संकेतक केवल यह रिकॉर्ड करेगा कि यह छोड़ने वाला मैक्रोब्लॉक है। विसंकेतक पहले से विसंकेतन किए गए अन्य ब्लॉक से प्रत्यक्ष/छोड़ना मोड कोडित ब्लॉक के गति सदिश का पता लगाता है।
गति निकालने के दो तरीके हैं: ; टेम्पोरल: यह मोशन सदिश निकालने के लिए उसी स्थिति में स्थित सूची 1 फ्रेम से ब्लॉक गति सदिश का उपयोग करता है। सूची 1 ब्लॉक संदर्भ के रूप में सूची 0 ब्लॉक का उपयोग करता है।
- स्थानिक
- यह एक ही फ्रेम में निकट मैक्रोब्लॉक से गति का पूर्वानुमान करता है। संभावित मानदंड निकट ब्लॉक से गति सदिश की प्रतिलिपि बनाना हो सकता है। इन मोड का उपयोग चित्र के एकसमान क्षेत्रों में किया जाता है जहाँ अधिक गति नहीं होती है।
उपरोक्त चित्र में, गुलाबी ब्लॉक डायरेक्ट/स्किप मोड कोडित ब्लॉक हैं। जैसा कि हम देख सकते हैं, इनका उपयोग बहुत बार किया जाता है, मुख्यतः बी-फ़्रेम में है।
अतिरिक्त जानकारी
यद्यपि फ्रेम शब्द का उपयोग अनौपचारिक उपयोग मे सरल है, कई कथनों में (जैसे कि एमपीईजी और वीसीईजी द्वारा वीडियो कोडिंग के लिए अंतरराष्ट्रीय मानकों में) फ्रेम के बदले चित्र शब्द का उपयोग करके अधिक सामान्य अवधारणा क्रियान्वित की जाती है, जहां तस्वीर या तो हो सकती है पूर्ण फ़्रेम या एकल अंतर्ग्रथित क्षेत्र हो सकता है ।
एमपिइजी-2, एच.264 या आग थेओरा जैसे वीडियो कोडेक्स एक या अधिक अंतरा फ़्रेम के साथ मुख्य फ़्रेम का अनुसरण करके प्रवाह में डेटा की मात्रा को कम करते हैं। इन फ़्रेमों को सामान्यतौर पर मुख्य फ़्रेमों के लिए आवश्यक बिट दर से कम बिट दर का उपयोग करके सांकेतिक किया जा सकता है क्योंकि छवि का अधिकांश भाग सामान्य रूप से समान होता है, इसलिए केवल बदलते भागों को कोड करने की आवश्यकता होती है।
यह भी देखें
संदर्भ
- ↑ "Doom9's Forum - View Single Post - x264 Lossless question".
- ↑ "Hierarchical B-Frames or B-Pyramid - Video Compression".
- ↑ "X264 Settings - MeWiki". mewiki.project357.com. Archived from the original on 18 November 2014. Retrieved 12 January 2022.
- ↑ "A rookie question regarding on B frame in AVC - Doom9's Forum".
- ↑ "X264 Stats Output, the "ref B L1" part". Archived from the original on 2014-11-22.
- Software H.264: http://iphome.hhi.de/suehring/tml/download/
- T.Wiegand, G.J. Sullivan, G. Bjøntegaard, A.Luthra: Overview of the H.264/AVC Video Coding Standard. IEEE Transactions on Circuits and Systems for Video Technology, Vol. 13, No. 7, July 2003