Special' : 'Special'; gam_hltext += 'PR'; if(gam_hlcheck && gam_noadflag == 'delivery' && gam_adpch.innerHTML == '') gam_adpch.innerHTML = gam_hltext; gam_adposition.classList.add(gam_noadflag); if(gam_wpsize && e.size){ if(e.size != '1,1'){ if(e.size[0] > 1) gam_adposition.style.width = e.size[0] + 'px'; if(e.size[1] > 1) gam_adposition.style.height = e.size[1] + 'px'; if(/(_left$)/.test(gam_slotid)) gam_adposition.style.left = '-' + (e.size[0] + 8) + 'px'; if(/(_right$)/.test(gam_slotid)) gam_adposition.style.right = '-' + (e.size[0] + 8) + 'px'; const mb = document.getElementById('masterBody'); if(mb) mb.classList.add('WpSet'); } else { gam_adposition.style.display = 'none'; } } if(gam_irposcheck && !gam_delivery && !gam_adpchcheck){ const gam_adnotation = document.createElement('div'); gam_adnotation.innerHTML = 'advertisement'; gam_adnotation.classList.add('adnotation'); gam_adposition.insertBefore(gam_adnotation,gam_slotdiv); } if(gam_hlcheck && gam_noadflag == 'noad') gam_adpch.innerHTML = ''; } }); }; // refresh const refreshGam = function(slot,dc){ googletag.cmd.push(function(){ let gframe = ''; // ���� if(slot == 'SideLink') gframe = [gam_sl1,gam_sl2,gam_sl3,gam_sl4,gam_sl5,gam_sl6,gam_sl7,gam_sl8,gam_sl9,gam_sl10,gam_sl11,gam_sl12,gam_sl13,gam_sl14,gam_sl15,gam_sl16,gam_sl17,gam_sl18,gam_sl19,gam_sl20]; if(slot == 'RankText') gframe = [gam_rkt]; if(slot == 'Rcol2ndRectangle') gframe = [gam_rct2]; if(slot == 'Rcol3rdRectangle') gframe = [gam_brc]; if(slot == 'RcolFeatures') gframe = [gam_rf1,gam_rf2,gam_rf3]; // article if(slot == 'SuperBanner') gframe = [gam_spb]; if(slot == 'RcolRectangle') gframe = [gam_rct1]; if(slot == 'ArticleText') gframe = [gam_ltx1,gam_ltx2]; if(slot == 'InRead') gframe = [gam_ban,gam_inl]; if(slot == 'InArtSpecialLink') gframe = [gam_ias]; if(slot == 'BelowArtLink') gframe = [gam_bl1,gam_bl2,gam_bl3,gam_bl4,gam_bl5,gam_bl6,gam_bl7,gam_bl8,gam_bl9,gam_bl10,gam_bl11,gam_bl12,gam_bl13,gam_bl14,gam_bl15,gam_bl16]; if(slot == 'BelowArtRectangle') gframe = [gam_abrl,gam_abrr]; if(slot == 'GeneralAD') gframe = [gam_ga1,gam_ga2,gam_ga3]; if(slot == 'LspaceRectangle') gframe = [gam_lsr]; if(gframe) googletag.pubads().refresh(gframe); if(dc) gamDeliveryCheck(); // �z�M�󋵎擾 }); } // refresh���� // ���� var gam_wpl,gam_wpr,gam_spb,gam_rct1,gam_ltx1,gam_ltx2,gam_sl1,gam_sl2,gam_sl3,gam_sl4,gam_sl5,gam_sl6,gam_sl7,gam_sl8,gam_sl9,gam_sl10,gam_sl11,gam_sl12,gam_sl13,gam_sl14,gam_sl15,gam_sl16,gam_sl17,gam_sl18,gam_sl19,gam_sl20,gam_rkt,gam_rct2,gam_brc,gam_rf1,gam_rf2,gam_rf3; // article var gam_ban,gam_inl,gam_ias,gam_bl1,gam_bl2,gam_bl3,gam_bl4,gam_bl5,gam_bl6,gam_bl7,gam_bl8,gam_bl9,gam_bl10,gam_bl11,gam_bl12,gam_bl13,gam_bl14,gam_bl15,gam_bl16,gam_abrl,gam_abrr,gam_ga1,gam_ga2,gam_ga3,gam_lsr; googletag.cmd.push(function(){ googletag.pubads().collapseEmptyDivs(); // ���j�b�g�ݒ� const sd = '/43042345/news/'; // ���� gam_sl1 = googletag.defineSlot(sd + 'PC_SideLink',[[300,76]],'PC_SideLink_1').setTargeting('slot_pos','1').setTargeting('media',gam_media).addService(googletag.pubads()); gam_sl2 = googletag.defineSlot(sd + 'PC_SideLink',[[300,76]],'PC_SideLink_2').setTargeting('slot_pos','2').setTargeting('media',gam_media).addService(googletag.pubads()); gam_sl3 = googletag.defineSlot(sd + 'PC_SideLink',[[300,76]],'PC_SideLink_3').setTargeting('slot_pos','3').setTargeting('media',gam_media).addService(googletag.pubads()); gam_sl4 = googletag.defineSlot(sd + 'PC_SideLink',[[300,76]],'PC_SideLink_4').setTargeting('slot_pos','4').setTargeting('media',gam_media).addService(googletag.pubads()); gam_sl5 = googletag.defineSlot(sd + 'PC_SideLink',[[300,76]],'PC_SideLink_5').setTargeting('slot_pos','5').setTargeting('media',gam_media).addService(googletag.pubads()); gam_sl6 = googletag.defineSlot(sd + 'PC_SideLink',[[300,76]],'PC_SideLink_6').setTargeting('slot_pos','6').setTargeting('media',gam_media).addService(googletag.pubads()); gam_sl7 = googletag.defineSlot(sd + 'PC_SideLink',[[300,76]],'PC_SideLink_7').setTargeting('slot_pos','7').setTargeting('media',gam_media).addService(googletag.pubads()); gam_sl8 = googletag.defineSlot(sd + 'PC_SideLink',[[300,76]],'PC_SideLink_8').setTargeting('slot_pos','8').setTargeting('media',gam_media).addService(googletag.pubads()); gam_sl9 = googletag.defineSlot(sd + 'PC_SideLink',[[300,76]],'PC_SideLink_9').setTargeting('slot_pos','9').setTargeting('media',gam_media).addService(googletag.pubads()); gam_sl10 = googletag.defineSlot(sd + 'PC_SideLink',[[300,76]],'PC_SideLink_10').setTargeting('slot_pos','10').setTargeting('media',gam_media).addService(googletag.pubads()); gam_sl11 = googletag.defineSlot(sd + 'PC_SideLink',[[300,76]],'PC_SideLink_11').setTargeting('slot_pos','11').setTargeting('media',gam_media).addService(googletag.pubads()); gam_sl12 = googletag.defineSlot(sd + 'PC_SideLink',[[300,76]],'PC_SideLink_12').setTargeting('slot_pos','12').setTargeting('media',gam_media).addService(googletag.pubads()); gam_sl13 = googletag.defineSlot(sd + 'PC_SideLink',[[300,76]],'PC_SideLink_13').setTargeting('slot_pos','13').setTargeting('media',gam_media).addService(googletag.pubads()); gam_sl14 = googletag.defineSlot(sd + 'PC_SideLink',[[300,76]],'PC_SideLink_14').setTargeting('slot_pos','14').setTargeting('media',gam_media).addService(googletag.pubads()); gam_sl15 = googletag.defineSlot(sd + 'PC_SideLink',[[300,76]],'PC_SideLink_15').setTargeting('slot_pos','15').setTargeting('media',gam_media).addService(googletag.pubads()); gam_sl16 = googletag.defineSlot(sd + 'PC_SideLink',[[300,76]],'PC_SideLink_16').setTargeting('slot_pos','16').setTargeting('media',gam_media).addService(googletag.pubads()); gam_sl17 = googletag.defineSlot(sd + 'PC_SideLink',[[300,76]],'PC_SideLink_17').setTargeting('slot_pos','17').setTargeting('media',gam_media).addService(googletag.pubads()); gam_sl18 = googletag.defineSlot(sd + 'PC_SideLink',[[300,76]],'PC_SideLink_18').setTargeting('slot_pos','18').setTargeting('media',gam_media).addService(googletag.pubads()); gam_sl19 = googletag.defineSlot(sd + 'PC_SideLink',[[300,76]],'PC_SideLink_19').setTargeting('slot_pos','19').setTargeting('media',gam_media).addService(googletag.pubads()); gam_sl20 = googletag.defineSlot(sd + 'PC_SideLink',[[300,76]],'PC_SideLink_20').setTargeting('slot_pos','20').setTargeting('media',gam_media).addService(googletag.pubads()); gam_rkt = googletag.defineSlot(sd + 'PC_article_RankText',['fluid'],'PC_RankText').setTargeting('media',gam_media).addService(googletag.pubads()); gam_rct2 = googletag.defineSlot(sd + 'PC_article_rcol-2ndRectangle',[[300,250],[300,300],[300,600]],'PC_rcol-2ndRectangle').addService(googletag.pubads()); gam_brc = googletag.defineSlot(sd + 'PC_article_rcol-3rdRectangle',[[300,250],[300,300],[300,600]],'PC_rcol-3rdRectangle').addService(googletag.pubads()); gam_rf1 = googletag.defineSlot(sd + 'PC_rcol-Features',[[300,76]],'PC_rcol-Features_1').setTargeting('slot_pos','1').setTargeting('media',gam_media).addService(googletag.pubads()); gam_rf2 = googletag.defineSlot(sd + 'PC_rcol-Features',[[300,76]],'PC_rcol-Features_2').setTargeting('slot_pos','2').setTargeting('media',gam_media).addService(googletag.pubads()); gam_rf3 = googletag.defineSlot(sd + 'PC_rcol-Features',[[300,76]],'PC_rcol-Features_3').setTargeting('slot_pos','3').setTargeting('media',gam_media).addService(googletag.pubads()); // article gam_ltx1 = googletag.defineSlot(sd + 'PC_article_lcol-Text',[[600,32]],'PC_lcol-Text_1').setTargeting('slot_pos','1').addService(googletag.pubads()); gam_ltx2 = googletag.defineSlot(sd + 'PC_article_lcol-Text',[[600,32]],'PC_lcol-Text_2').setTargeting('slot_pos','2').addService(googletag.pubads()); gam_spb = googletag.defineSlot(sd + 'PC_article_SuperBanner',[[728,90],[728,180],[970,90],[970,250],[970,400]],'PC_SuperBanner').addService(googletag.pubads()); gam_rct1 = googletag.defineSlot(sd + 'PC_article_rcol-Rectangle',[[300,250],[300,300],[300,600],[600,600],[600,500],[533,300]],'PC_rcol-Rectangle').addService(googletag.pubads()); gam_ban = googletag.defineSlot(sd + 'PC_below-art-Native',[[640,100]],'PC_below-art-Native').addService(googletag.pubads()); gam_inl = googletag.defineSlot(sd + 'PC_InRead',[[640,165],[640,300],[640,360],[300,250],[336,280],[1,1]],'PC_InRead').addService(googletag.pubads()); gam_ias = googletag.defineSlot(sd + 'PC_in-art-SpecialLink', [[1,1],'fluid'],'PC_in-art-SpecialLink').addService(googletag.pubads()); gam_bl1 = googletag.defineSlot(sd + 'PC_BelowArtLink',[[150,216]],'PC_BelowArtLink_1').setTargeting('slot_pos','1').setTargeting('media',gam_media).addService(googletag.pubads()); gam_bl2 = googletag.defineSlot(sd + 'PC_BelowArtLink',[[150,216]],'PC_BelowArtLink_2').setTargeting('slot_pos','2').setTargeting('media',gam_media).addService(googletag.pubads()); gam_bl3 = googletag.defineSlot(sd + 'PC_BelowArtLink',[[150,216]],'PC_BelowArtLink_3').setTargeting('slot_pos','3').setTargeting('media',gam_media).addService(googletag.pubads()); gam_bl4 = googletag.defineSlot(sd + 'PC_BelowArtLink',[[150,216]],'PC_BelowArtLink_4').setTargeting('slot_pos','4').setTargeting('media',gam_media).addService(googletag.pubads()); gam_bl5 = googletag.defineSlot(sd + 'PC_BelowArtLink',[[150,216]],'PC_BelowArtLink_5').setTargeting('slot_pos','5').setTargeting('media',gam_media).addService(googletag.pubads()); gam_bl6 = googletag.defineSlot(sd + 'PC_BelowArtLink',[[150,216]],'PC_BelowArtLink_6').setTargeting('slot_pos','6').setTargeting('media',gam_media).addService(googletag.pubads()); gam_bl7 = googletag.defineSlot(sd + 'PC_BelowArtLink',[[150,216]],'PC_BelowArtLink_7').setTargeting('slot_pos','7').setTargeting('media',gam_media).addService(googletag.pubads()); gam_bl8 = googletag.defineSlot(sd + 'PC_BelowArtLink',[[150,216]],'PC_BelowArtLink_8').setTargeting('slot_pos','8').setTargeting('media',gam_media).addService(googletag.pubads()); gam_bl9 = googletag.defineSlot(sd + 'PC_BelowArtLink',[[150,216]],'PC_BelowArtLink_9').setTargeting('slot_pos','9').setTargeting('media',gam_media).addService(googletag.pubads()); gam_bl10 = googletag.defineSlot(sd + 'PC_BelowArtLink',[[150,216]],'PC_BelowArtLink_10').setTargeting('slot_pos','10').setTargeting('media',gam_media).addService(googletag.pubads()); gam_bl11 = googletag.defineSlot(sd + 'PC_BelowArtLink',[[150,216]],'PC_BelowArtLink_11').setTargeting('slot_pos','11').setTargeting('media',gam_media).addService(googletag.pubads()); gam_bl12 = googletag.defineSlot(sd + 'PC_BelowArtLink',[[150,216]],'PC_BelowArtLink_12').setTargeting('slot_pos','12').setTargeting('media',gam_media).addService(googletag.pubads()); gam_bl13 = googletag.defineSlot(sd + 'PC_BelowArtLink',[[150,216]],'PC_BelowArtLink_13').setTargeting('slot_pos','13').setTargeting('media',gam_media).addService(googletag.pubads()); gam_bl14 = googletag.defineSlot(sd + 'PC_BelowArtLink',[[150,216]],'PC_BelowArtLink_14').setTargeting('slot_pos','14').setTargeting('media',gam_media).addService(googletag.pubads()); gam_bl15 = googletag.defineSlot(sd + 'PC_BelowArtLink',[[150,216]],'PC_BelowArtLink_15').setTargeting('slot_pos','15').setTargeting('media',gam_media).addService(googletag.pubads()); gam_bl16 = googletag.defineSlot(sd + 'PC_BelowArtLink',[[150,216]],'PC_BelowArtLink_16').setTargeting('slot_pos','16').setTargeting('media',gam_media).addService(googletag.pubads()); gam_abrl = googletag.defineSlot(sd + 'PC_BelowArtRectangle_left',[[300,250],[300,300]],'PC_BelowArtRectangle_left').addService(googletag.pubads()); gam_abrr = googletag.defineSlot(sd + 'PC_BelowArtRectangle_right',[[300,250],[300,300]],'PC_BelowArtRectangle_right').addService(googletag.pubads()); gam_lsr = googletag.defineSlot(sd + 'PC_LspaceRectangle',[[300,250],[300,300],[300,600]],'PC_LspaceRectangle').addService(googletag.pubads()); gam_keyValue(); // Key-Value�ݒ� googletag.pubads().enableSingleRequest(); googletag.pubads().disableInitialLoad(); googletag.enableServices(); });

ITmedia NEWS > STUDIO >

Google�AJPEG��35���������ł���G���R�[�_�[�uGuetzli�v���I�[�v���\�[�X�Ō��J

» 2017�N03��20�� 17��05�� ���J

�@��Google��3��16���i���n���ԁj�A�]�����JPEG�T�C�Y���35���������ł���V�G���R�[�_�[�uGuetzli�v�i�O�G�c���A�h�C�c��Łu�r�X�P�b�g�v�̂��Ɓj���I�[�v���\�[�X�Ō��J�����Ɣ��\�����BGitHub�Ō��J����Ă���B

�@Guetzli�ʼn摜��JPEG�ɂ��邱�ƂŁA�摜�𑽐��g��Web�T�C�g�̓ǂݍ��݂��������ł���Ƃ��Ă���B��@�I�ɂ͓��Ђ�2013�N�Ɍ��J�����ėp�f�[�^���k���C�u�����uZopfli�v�Ƌ߂��A�V�����摜�t�H�[�}�b�g��K�v�Ƃ��Ȃ��B�܂��A�uWebP�v��uRAISR�v�Ƃ͈قȂ�A���k�����߂邽�߂ɃN���C�A���g����ύX����K�v���Ȃ��B

�@Guetzli�͌����A���S���Y�������p���邱�ƂŁA�ڂɌ�����掿�ƃt�@�C���T�C�Y�̃o�����X�𗼗������Ă���Ƃ����B���̉摜�́A�‹���o�b�N�ɂ����d�b����16�~16�s�N�Z���̉摜�ŁA������A�����k�̃I���W�i���Alibjpeg�ɂ��JPEG�AGuetzli�ɂ��JPEG�̂��̂��BGuetzli�̕����ʏ��JPEG���‹󕔕��̃m�C�Y���Ȃ��̂�������B

 guetzli 1 ������A�I���W�i���Alibjpeg�ɂ��JPEG�AGuetzli�ɂ��JPEG

�@Guetzli�ň��k����JPEG�t�@�C���́A�掿���]���ɂ����Ƀt�@�C���T�C�Y���������ł��邱�Ƃ́A�l�Ԃɉ摜���r���Ă��炤�����ł��ؖ����ꂽ�Ƃ��Ă���Blibjpeg�Ɠ����A���邢�͂�菬�����t�@�C���T�C�Y�ł��A�l��Guetzli�̉摜�̕��������]�������Ƃ����B

 guetzli 2 �l�R�̖ڂ̊g��摜�i������A�I���W�i���Alibjpeg�AGuetzli�j

�@Guetzli�̃g���[�h�I�t�́A�����A���S���Y�����g�����Ƃʼn摜���k�ɏ]���������Ȃ莞�Ԃ������邱�Ƃ��B�܂��A�����������Ȃ�����Ƃ����BGitHub��Readme�ɂ��ƁA1M�s�N�Z��������300MB�̃��������K�v�ƂȂ��Ă���B���k�ł���I���W�i���t�@�C����PNG��JPEG�̂݁B�A���t�@�`�����l���̓T�|�[�g���Ȃ��B

Copyright © ITmedia, Inc. All Rights Reserved.

'; e_dlv.innerHTML = html; adRequest({position:dlv_pos,dom:true}); }else if(ad_type === 'gam'){ var html = '
'; e_dlv.innerHTML = html; refreshGam('InArtSpecialLink'); }else if(ad_type === 'logly'){ var html = '
'; e_dlv.innerHTML = html; loglySet(g_id); }else if(ad_type === 'google'){ var html = '
'; e_dlv.innerHTML = html; googletag.cmd.push(function(){ var slot8 = googletag.defineSlot('/43042345/nlab_artinsert_RT',[[336,280],[300,250],'fluid'],'div-gpt-ad-1551176482959-0').addService(googletag.pubads()); googletag.pubads().enableSingleRequest(); googletag.enableServices(); googletag.display('div-gpt-ad-1551176482959-0'); googletag.pubads().refresh([slot8]); }); } }; var insert_ok = function(_target,_str){ var clearfix = d.createElement('div'); clearfix.className = 'colBoxClear'; if(ad_float_fix){ e_body.insertBefore(e_dlv,_target); e_body.insertBefore(clearfix,_target.nextElementSibling); }else{ e_body.insertBefore(e_dlv,_target); } set_dlv(); }; var insert_ng = function(_str){ e_dlv.style.display = 'none'; }; var main = function(){ var e_nodes = e_body.childNodes; // BODY �����q�v�f var e_tags = []; // BODY �����^�O var p_num = []; // BODY ���� P �^�O�ʒu var p_target_num; // �g�}����ʒu var o_float = {}; // ��荞�ݗv�f var o_this = {}; // �A�N�e�B�u�^�O var o_next = {}; // �A�N�e�B�u�^�O�̎��̃^�O var flag_insert = 0; // �}���t���O // ��荞�ݗv�f�`�F�b�N var check_float = function(_e){ var e = 0; if(_e.id.match(/^col\d{3}(l|r)$/)){ e = _e; } return e; }; // �v�f�� Y ���W�ƍ����̍��v�l var get_element_y = function(_e){ var ey = 0; var eh = _e.offsetHeight; while(_e){ ey += _e.offsetTop; _e = _e.offsetParent; } return ey + eh; }; var check_ptag = function(_e){ var e = 0; if(_e.tagName && _e.tagName === 'P'){ e = _e; } return e; }; var try_insert = function(){ p_target_num = Math.floor(p_num.length / 2) - 1; if(p_target_num >= _maxrange) p_target_num = _maxrange; if(dis_con) p_target_num = 0; for(var i = p_num[p_target_num]; i < e_tags.length; i++){ o_this.e = check_ptag(e_tags[i]); if(o_this.e){ o_next.e = check_ptag(e_tags[i + 1]); if(o_next.e){ if(!o_float.e || check_float(e_tags[i - 1])){ o_float.e = check_float(e_tags[i - 1]); o_float.n = i - 1; } if(o_float.e && o_float.n < i + 1){ o_float.y = get_element_y(o_float.e); o_this.y = get_element_y(o_this.e); set_line(o_float.y,'red'); set_line(o_this.y,'blue'); if(o_float.y < o_this.y){ flag_insert = 1; insert_ok(o_next.e,_threshold + ' �p���ȏ��荞�݂���'); break; } }else{ flag_insert = 1; insert_ok(o_next.e,_threshold + ' �p���ȏ��荞�݂Ȃ�'); break; } } }else{ o_float = {}; } } if(!flag_insert){ insert_ng('�}���ʒu�Ȃ�'); } }; // �S�q�v�f����^�O�̂ݔz��ɓ���� for(var i = 0; i < e_nodes.length; i++){ if(e_nodes[i].tagName){ e_tags.push(e_nodes[i]); } } // �S�^�O���� P �^�O�ʒu��z��ɓ���� for(var i = 0; i < e_tags.length; i++){ if(e_tags[i].tagName === 'P') p_num.push(i); // �ŏ��̉�荞�ݗv�f���i�[ if(!o_float.e){ o_float.e = check_float(e_tags[i]); o_float.y = get_element_y(o_float.e); o_float.n = i; } } if(p_num.length >= _threshold){ try_insert(); }else{ insert_ng('P �^�O ' + _threshold + ' �ȉ�'); } }; if(e_body){ main(); }else{ insert_ng('�L���{���Ȃ�'); } })(document,4,5);
���Ȃ��ɂ������߂̋L��PR